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 parameters = WebUtils.getParametersStartingWith(request,null); Map 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 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 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 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 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 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(); } }