package com.jpsoft.smart.modules.base.controller; import com.github.pagehelper.Page; import com.jpsoft.smart.modules.common.utils.PojoUtils; import com.jpsoft.smart.modules.common.dto.Sort; import com.jpsoft.smart.modules.common.dto.MessageResult; import com.jpsoft.smart.modules.base.entity.PersonDeviceRelation; import com.jpsoft.smart.modules.base.service.PersonDeviceRelationService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.*; @RestController @RequestMapping("/personDeviceRelation") @Api(description = "设备和人员绑定") public class PersonDeviceRelationController { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private PersonDeviceRelationService personDeviceRelationService; @ApiOperation(value="添加设备和人员绑定") @PostMapping("add") public MessageResult add(@RequestBody PersonDeviceRelation personDeviceRelation,@RequestAttribute String subject){ MessageResult msgResult = new MessageResult<>(); try { personDeviceRelation.setId(UUID.randomUUID().toString()); personDeviceRelation.setDelFlag(false); personDeviceRelation.setCreateBy(subject); personDeviceRelation.setCreateTime(new Date()); int affectCount = personDeviceRelationService.insert(personDeviceRelation); if (affectCount > 0) { msgResult.setResult(true); msgResult.setData(personDeviceRelation); } else { msgResult.setResult(false); msgResult.setMessage("数据库添加失败"); } } catch(Exception ex){ logger.error(ex.getMessage(),ex); msgResult.setResult(false); msgResult.setMessage(ex.getMessage()); } return msgResult; } @ApiOperation(value="获取人员和设备绑定信息") @GetMapping("edit/{id}") public MessageResult edit(@PathVariable("id") String id){ MessageResult msgResult = new MessageResult<>(); try { PersonDeviceRelation personDeviceRelation = personDeviceRelationService.get(id); if (personDeviceRelation != null) { msgResult.setResult(true); msgResult.setData(personDeviceRelation); } else { msgResult.setResult(false); msgResult.setMessage("数据库不存在该记录!"); } } catch(Exception ex){ logger.error(ex.getMessage(),ex); msgResult.setResult(false); msgResult.setMessage(ex.getMessage()); } return msgResult; } @ApiOperation(value="更新设备和人员绑定") @PostMapping("update") public MessageResult update(@RequestBody PersonDeviceRelation personDeviceRelation,@RequestAttribute String subject){ MessageResult msgResult = new MessageResult<>(); try { personDeviceRelation.setUpdateBy(subject); personDeviceRelation.setUpdateTime(new Date()); int affectCount = personDeviceRelationService.update(personDeviceRelation); if (affectCount > 0) { msgResult.setResult(true); msgResult.setData(personDeviceRelation); } else { msgResult.setResult(false); msgResult.setMessage("数据库更新失败"); } } catch(Exception ex){ logger.error(ex.getMessage(),ex); msgResult.setResult(false); msgResult.setMessage(ex.getMessage()); } return msgResult; } @ApiOperation(value="删除设备和人员绑定") @PostMapping("delete/{id}") public MessageResult delete(@PathVariable("id") String id,@RequestAttribute String subject){ MessageResult msgResult = new MessageResult<>(); try { PersonDeviceRelation personDeviceRelation = personDeviceRelationService.get(id); personDeviceRelation.setDelFlag(true); personDeviceRelation.setUpdateBy(subject); personDeviceRelation.setUpdateTime(new Date()); int affectCount = personDeviceRelationService.update(personDeviceRelation); if (affectCount > 0) { msgResult.setResult(true); msgResult.setData(affectCount); } else { msgResult.setResult(false); msgResult.setMessage("删除失败"); } } catch(Exception ex){ logger.error(ex.getMessage(),ex); msgResult.setResult(false); msgResult.setMessage(ex.getMessage()); } return msgResult; } @ApiOperation(value="批量删除") @PostMapping("batchDelete") public MessageResult batchDelete(@RequestBody List idList,@RequestAttribute String subject){ MessageResult msgResult = new MessageResult<>(); try { int affectCount = 0; for (String id : idList) { PersonDeviceRelation personDeviceRelation = personDeviceRelationService.get(id); personDeviceRelation.setDelFlag(true); personDeviceRelation.setUpdateBy(subject); personDeviceRelation.setUpdateTime(new Date()); affectCount += personDeviceRelationService.update(personDeviceRelation); } if (affectCount > 0) { msgResult.setResult(true); msgResult.setData(affectCount); } else { msgResult.setResult(false); msgResult.setMessage("删除失败"); } } catch(Exception ex){ logger.error(ex.getMessage(),ex); msgResult.setResult(false); msgResult.setMessage(ex.getMessage()); } return msgResult; } @ApiOperation(value="列表") @RequestMapping(value = "pageList",method = RequestMethod.POST) @ApiImplicitParams({ @ApiImplicitParam(name = "deviceId",value = "设备ID", paramType = "query"), @ApiImplicitParam(name = "personId",value = "人员ID", paramType = "query") }) public MessageResult pageList( String deviceId,String personId, @RequestParam(value="pageIndex",defaultValue="1") int pageIndex, @RequestParam(value="pageSize",defaultValue="20") int pageSize, @RequestAttribute String subject){ //当前用户ID System.out.println(subject); MessageResult msgResult = new MessageResult<>(); Map searchParams = new HashMap<>(); List sortList = new ArrayList<>(); sortList.add(new Sort("create_time","desc")); if (StringUtils.isNotEmpty(deviceId)) { searchParams.put("deviceId",deviceId); } if (StringUtils.isNotEmpty(personId)) { searchParams.put("personId",personId); } Page page = personDeviceRelationService.pageSearch(searchParams,pageIndex,pageSize,true,sortList); msgResult.setResult(true); msgResult.setData(PojoUtils.pageWrapper(page)); return msgResult; } }