BizDeviceRegisterServiceImpl.java 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. package com.huimv.center.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  5. import com.huimv.center.mapper.BizDeviceRegisterMapper;
  6. import com.huimv.center.pojo.BizDeviceRegister;
  7. import com.huimv.center.service.BizDeviceRegisterService;
  8. //import com.huimv.center.utils.DateUtil;
  9. import com.huimv.center.utils.IDUtil;
  10. import com.huimv.eartag2.common.utils.DateUtil;
  11. import com.huimv.eartag2.common.utils.Result;
  12. import com.huimv.eartag2.common.utils.ResultCode;
  13. import org.apache.commons.lang3.StringUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import java.text.ParseException;
  17. import java.util.HashMap;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. * <p>
  22. * 服务实现类
  23. * </p>
  24. *
  25. * @author zn
  26. * @since 2022-06-21
  27. */
  28. @Service
  29. public class BizDeviceRegisterServiceImpl extends ServiceImpl<BizDeviceRegisterMapper, BizDeviceRegister> implements BizDeviceRegisterService {
  30. @Autowired
  31. private BizDeviceRegisterMapper bizDeviceRegisterMapper;
  32. @Autowired
  33. private com.huimv.center.utils.ResultUtil ResultUtil;
  34. // @Autowired
  35. // private DateUtil dateUtil;
  36. @Autowired
  37. private IDUtil idUtil;
  38. @Autowired
  39. private com.huimv.center.utils.DateUtil dateUtil;
  40. /**
  41. * @Method : add
  42. * @Description :
  43. * @Params : [chipId, deviceCode, serverIp, serverPort, remark]
  44. * @Return : com.huimv.eartag2.common.utils.Result
  45. *
  46. * @Author : ZhuoNing
  47. * @Date : 2022/6/23
  48. * @Time : 20:47
  49. */
  50. @Override
  51. public Result add(String farmName,String farmCode,String chipId, String deviceCode, String serverIp, String serverPort, String remark) throws ParseException {
  52. DateUtil dateUtil = new DateUtil();
  53. BizDeviceRegister deviceRegister = new BizDeviceRegister();
  54. deviceRegister.setChipId(chipId);
  55. deviceRegister.setDeviceCode(deviceCode);
  56. deviceRegister.setRegisterDate(dateUtil.getTodayDatetime());
  57. deviceRegister.setServerIp(serverIp);
  58. deviceRegister.setServerPort(serverPort);
  59. deviceRegister.setRemark(remark);
  60. deviceRegister.setAskTimes(0);
  61. deviceRegister.setAnswerTimes(0);
  62. deviceRegister.setFarmCode(farmCode);
  63. deviceRegister.setFarmName(farmName);
  64. return ResultUtil.result(bizDeviceRegisterMapper.insert(deviceRegister));
  65. }
  66. /**
  67. * @Method : edit
  68. * @Description :
  69. * @Params : [id, chipId, deviceCode, serverIp, serverPort, remark]
  70. * @Return : com.huimv.eartag2.common.utils.Result
  71. *
  72. * @Author : ZhuoNing
  73. * @Date : 2022/6/23
  74. * @Time : 21:00
  75. */
  76. @Override
  77. public Result edit(Integer id, String chipId, String deviceCode, String serverIp, String serverPort, String remark) throws ParseException {
  78. DateUtil dateUtil = new DateUtil();
  79. BizDeviceRegister deviceRegister = bizDeviceRegisterMapper.selectById(id);
  80. deviceRegister.setChipId(chipId);
  81. deviceRegister.setDeviceCode(deviceCode);
  82. deviceRegister.setRegisterDate(dateUtil.getTodayDatetime());
  83. deviceRegister.setServerIp(serverIp);
  84. deviceRegister.setServerPort(serverPort);
  85. deviceRegister.setRemark(remark);
  86. int rows = bizDeviceRegisterMapper.updateById(deviceRegister);
  87. return ResultUtil.result(rows);
  88. }
  89. /**
  90. * @Method : remove
  91. * @Description :
  92. * @Params : [ids]
  93. * @Return : com.huimv.eartag2.common.utils.Result
  94. *
  95. * @Author : ZhuoNing
  96. * @Date : 2022/6/26
  97. * @Time : 15:12
  98. */
  99. @Override
  100. public Result remove(String ids){
  101. return ResultUtil.result(bizDeviceRegisterMapper.deleteBatchIds(idUtil.convert(ids)));
  102. }
  103. /**
  104. * @Method : listAll
  105. * @Description :
  106. * @Params : [pageNo, pageSize, farmCode, chipId, deviceCode, startDate, endDate]
  107. * @Return : com.huimv.eartag2.common.utils.Result
  108. *
  109. * @Author : ZhuoNing
  110. * @Date : 2022/6/26
  111. * @Time : 14:50
  112. */
  113. @Override
  114. public Result listAll(Integer pageNo, Integer pageSize, String farmName, String farmCode, String chipId, String deviceCode, String startDate, String endDate){
  115. if(pageNo == 0){
  116. pageNo = 1;
  117. }
  118. startDate = dateUtil.buildStartDate(startDate);
  119. endDate = dateUtil.buildEndDate(endDate);
  120. Page<BizDeviceRegister> page = new Page<>(pageNo, pageSize);
  121. QueryWrapper<BizDeviceRegister> queryWrapper = new QueryWrapper<>();
  122. queryWrapper.like(StringUtils.isNotBlank(farmName),"farm_name", farmName);
  123. queryWrapper.like(StringUtils.isNotBlank(chipId),"chip_id", chipId);
  124. queryWrapper.like(StringUtils.isNotBlank(deviceCode),"device_code", deviceCode);
  125. queryWrapper.like(StringUtils.isNotBlank(farmCode),"farm_code", farmCode);
  126. queryWrapper.ge(StringUtils.isNotBlank(startDate),"last_time", startDate);
  127. queryWrapper.le(StringUtils.isNotBlank(endDate),"last_time", endDate);
  128. //创建时间降序
  129. queryWrapper.orderByDesc("id");
  130. Page<BizDeviceRegister> pageBizDeviceRegister = bizDeviceRegisterMapper.selectPage(page, queryWrapper);
  131. return new Result(ResultCode.SUCCESS,pageBizDeviceRegister);
  132. }
  133. /**
  134. * @Method : getServerAndIpByChipId
  135. * @Description :
  136. * @Params : [idCode]
  137. * @Return : java.util.Map
  138. *
  139. * @Author : ZhuoNing
  140. * @Date : 2022/6/23
  141. * @Time : 20:45
  142. */
  143. @Override
  144. public Map getServerAndIpByChipId(String idCode) {
  145. QueryWrapper<BizDeviceRegister> queryWrapper = new QueryWrapper<>();
  146. queryWrapper.eq("chip_id", idCode);
  147. queryWrapper.orderByDesc("id");
  148. queryWrapper.last("LIMIT 1");
  149. // 查询注册设备
  150. List<BizDeviceRegister> deviceRegisterList = bizDeviceRegisterMapper.selectList(queryWrapper);
  151. Map resultMap = new HashMap();
  152. if(deviceRegisterList.size() > 0){
  153. BizDeviceRegister deviceRegister = deviceRegisterList.get(0);
  154. resultMap.put("ip",deviceRegister.getServerIp());
  155. resultMap.put("port",deviceRegister.getServerPort());
  156. resultMap.put("deviceCode",deviceRegister.getDeviceCode());
  157. resultMap.put("farmCode",deviceRegister.getFarmCode());
  158. resultMap.put("farmName",deviceRegister.getFarmName());
  159. }
  160. return resultMap;
  161. }
  162. /**
  163. * @Method : updateDeviceRegisterTimes
  164. * @Description :
  165. * @Params : [chipId]
  166. * @Return : com.huimv.eartag2.common.utils.Result
  167. *
  168. * @Author : ZhuoNing
  169. * @Date : 2022/6/23
  170. * @Time : 20:45
  171. */
  172. @Override
  173. public Result updateDeviceRegisterTimes(String chipId) throws ParseException {
  174. DateUtil dateUtil = new DateUtil();
  175. QueryWrapper<BizDeviceRegister> queryWrapper = new QueryWrapper<>();
  176. queryWrapper.eq("chip_id", chipId);
  177. // 查询注册设备
  178. BizDeviceRegister deviceRegister = bizDeviceRegisterMapper.selectOne(queryWrapper);
  179. if(deviceRegister.getFirstTime() == null){
  180. deviceRegister.setFirstTime(dateUtil.getTodayDatetime());
  181. }
  182. deviceRegister.setLastTime(dateUtil.getTodayDatetime());
  183. Integer times = deviceRegister.getAskTimes();
  184. if(times == null){
  185. times = 0;
  186. }
  187. deviceRegister.setAskTimes(++times);
  188. int rows = bizDeviceRegisterMapper.updateById(deviceRegister);
  189. return ResultUtil.result(rows);
  190. }
  191. /**
  192. * @Method : updateDeviceAnswerTimes
  193. * @Description : 修改应答次数
  194. * @Params : [chipId]
  195. * @Return : com.huimv.eartag2.common.utils.Result
  196. *
  197. * @Author : ZhuoNing
  198. * @Date : 2022/6/24
  199. * @Time : 14:00
  200. */
  201. @Override
  202. public Result updateDeviceAnswerTimes(String chipId) throws ParseException {
  203. DateUtil dateUtil = new DateUtil();
  204. QueryWrapper<BizDeviceRegister> queryWrapper = new QueryWrapper<>();
  205. queryWrapper.eq("chip_id", chipId);
  206. // 查询注册设备
  207. BizDeviceRegister deviceRegister = bizDeviceRegisterMapper.selectOne(queryWrapper);
  208. if(deviceRegister.getFirstTimeAnswer()== null){
  209. deviceRegister.setFirstTimeAnswer(dateUtil.getTodayDatetime());
  210. }
  211. deviceRegister.setLastTimeAnswer(dateUtil.getTodayDatetime());
  212. Integer times = deviceRegister.getAnswerTimes();
  213. if(times == null){
  214. times = 0;
  215. }
  216. deviceRegister.setAnswerTimes(++times);
  217. int rows = bizDeviceRegisterMapper.updateById(deviceRegister);
  218. return ResultUtil.result(rows);
  219. }
  220. }