| package com.moral.api.controller; | 
|   | 
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
| import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; | 
| import com.moral.api.entity.Organization; | 
| import com.moral.api.entity.SpecialDevice; | 
| import com.moral.api.entity.SysDictData; | 
| import com.moral.api.entity.Version; | 
| import com.moral.api.mapper.SysDictDataMapper; | 
| import com.moral.api.service.OrganizationService; | 
| import com.moral.api.service.SpecialDeviceService; | 
| import com.moral.api.service.VersionService; | 
| import com.moral.constant.Constants; | 
| import com.moral.constant.ResponseCodeEnum; | 
| import com.moral.constant.ResultMessage; | 
| import com.moral.util.WebUtils; | 
| import io.swagger.annotations.Api; | 
| import lombok.extern.slf4j.Slf4j; | 
| import org.springframework.web.bind.annotation.*; | 
|   | 
| import javax.annotation.Resource; | 
| import javax.servlet.http.HttpServletRequest; | 
| import java.util.Map; | 
|   | 
| @Slf4j | 
| @Api(tags = {"特殊设备"}) | 
| @RestController | 
| @RequestMapping("/specialDevice") | 
| public class SpecialDeviceController { | 
|   | 
|     @Resource | 
|     private SpecialDeviceService specialDeviceService; | 
|   | 
|     @Resource | 
|     private OrganizationService organizationService; | 
|   | 
|     @Resource | 
|     private VersionService versionService; | 
|   | 
|     @Resource | 
|     private SysDictDataMapper sysDictDataMapper; | 
|   | 
|     @RequestMapping(value = "getSpecialDeviceByCondition", method = RequestMethod.GET) | 
|     @ResponseBody | 
|     public ResultMessage getSpecialDeviceByCondition(HttpServletRequest request) { | 
|         Map<String,Object> parameters = WebUtils.getParametersStartingWith(request,null); | 
|         Map<String,Object> resultMap = specialDeviceService.getDataByCondition(parameters); | 
|         if (!resultMap.containsKey("code")){ | 
|             return ResultMessage.ok(resultMap); | 
|         } | 
|         return ResultMessage.fail(Integer.parseInt(resultMap.get("code").toString()),resultMap.get("msg").toString()); | 
|     } | 
|   | 
|     @RequestMapping(value = "insert", method = RequestMethod.POST) | 
|     @ResponseBody | 
|     public ResultMessage insert(@RequestBody SpecialDevice specialDevice){ | 
|         Map<String,Object> resultMap = specialDeviceService.insert(specialDevice); | 
|         String msg = resultMap.get("msg").toString(); | 
|         int code = Integer.parseInt(resultMap.get("code").toString()); | 
|         if (code == 0){ | 
|             return ResultMessage.ok(msg); | 
|         } | 
|         return ResultMessage.fail(Integer.parseInt(resultMap.get("code").toString()),resultMap.get("msg").toString()); | 
|     } | 
|   | 
|     @RequestMapping(value = "update", method = RequestMethod.POST) | 
|     @ResponseBody | 
|     public ResultMessage update (@RequestBody SpecialDevice specialDevice){ | 
|         if (specialDevice.getId() == null) { | 
|             return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), | 
|                     ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); | 
|         } | 
|         if (specialDevice.getMac() != null) { | 
|             //判断mac是否已存在 | 
|             QueryWrapper<SpecialDevice> queryWrapper = new QueryWrapper<>(); | 
|             queryWrapper.eq("mac", specialDevice.getMac()); | 
|             queryWrapper.eq("is_delete",Constants.NOT_DELETE); | 
|             if (specialDeviceService.getOne(queryWrapper) != null) { | 
|                 return ResultMessage.fail(ResponseCodeEnum.MAC_IS_EXIST.getCode(), ResponseCodeEnum.MAC_IS_EXIST.getMsg()); | 
|             } | 
|         } | 
|         if (specialDevice.getOrganizationId() != null) { | 
|             //判断组织是否已存在 | 
|             QueryWrapper<Organization> queryWrapper = new QueryWrapper<>(); | 
|             queryWrapper.eq("id", specialDevice.getOrganizationId()); | 
|             queryWrapper.eq("is_delete",Constants.NOT_DELETE); | 
|             if (ObjectUtils.isEmpty(organizationService.getOne(queryWrapper))) { | 
|                 return ResultMessage.fail(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode(), ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg()); | 
|             } | 
|         } | 
|         if (specialDevice.getDeviceVersionId() != null) { | 
|             //判断型号是否已存在 | 
|             QueryWrapper<Version> queryWrapper = new QueryWrapper<>(); | 
|             queryWrapper.eq("id", specialDevice.getDeviceVersionId()); | 
|             queryWrapper.eq("is_delete",Constants.NOT_DELETE); | 
|             if (ObjectUtils.isEmpty(versionService.getOne(queryWrapper))) { | 
|                 return ResultMessage.fail(ResponseCodeEnum.VERSION_NOT_EXIST.getCode(), ResponseCodeEnum.VERSION_NOT_EXIST.getMsg()); | 
|             } | 
|         } | 
|         if (specialDevice.getSpecialType() != null) { | 
|             //判断组织是否已存在 | 
|             QueryWrapper<SysDictData> queryWrapper = new QueryWrapper<>(); | 
|             queryWrapper.eq("dict_type_id", 27); | 
|             queryWrapper.eq("dataKey", specialDevice.getSpecialType()); | 
|             queryWrapper.eq("is_delete",Constants.NOT_DELETE); | 
|             if (ObjectUtils.isEmpty(sysDictDataMapper.selectOne(queryWrapper))) { | 
|                 return ResultMessage.fail(ResponseCodeEnum.DICTDATA_KEY_NOT_EXIST.getCode(), ResponseCodeEnum.DICTDATA_KEY_NOT_EXIST.getMsg()); | 
|             } | 
|         } | 
|         specialDeviceService.update(specialDevice); | 
|         return ResultMessage.ok(); | 
|     } | 
|   | 
|     @RequestMapping(value = "delete", method = RequestMethod.POST) | 
|     @ResponseBody | 
|     public ResultMessage delete(@RequestBody Map map){ | 
|         if (map.get("id") == null){ | 
|             return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), | 
|                     ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); | 
|         } | 
|         specialDeviceService.delete(Integer.parseInt(map.get("id").toString())); | 
|         return ResultMessage.ok(); | 
|     } | 
| } |