package com.huimv.center.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.huimv.center.mapper.BizDeviceRegisterMapper; import com.huimv.center.pojo.BizDeviceRegister; import com.huimv.center.service.BizDeviceRegisterService; //import com.huimv.center.utils.DateUtil; import com.huimv.center.utils.IDUtil; import com.huimv.eartag2.common.utils.DateUtil; import com.huimv.eartag2.common.utils.Result; import com.huimv.eartag2.common.utils.ResultCode; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.ParseException; import java.util.HashMap; import java.util.List; import java.util.Map; /** *

* 服务实现类 *

* * @author zn * @since 2022-06-21 */ @Service public class BizDeviceRegisterServiceImpl extends ServiceImpl implements BizDeviceRegisterService { @Autowired private BizDeviceRegisterMapper bizDeviceRegisterMapper; @Autowired private com.huimv.center.utils.ResultUtil ResultUtil; // @Autowired // private DateUtil dateUtil; @Autowired private IDUtil idUtil; @Autowired private com.huimv.center.utils.DateUtil dateUtil; /** * @Method : add * @Description : * @Params : [chipId, deviceCode, serverIp, serverPort, remark] * @Return : com.huimv.eartag2.common.utils.Result * * @Author : ZhuoNing * @Date : 2022/6/23 * @Time : 20:47 */ @Override public Result add(String farmName,String farmCode,String chipId, String deviceCode, String serverIp, String serverPort, String remark) throws ParseException { DateUtil dateUtil = new DateUtil(); BizDeviceRegister deviceRegister = new BizDeviceRegister(); deviceRegister.setChipId(chipId); deviceRegister.setDeviceCode(deviceCode); deviceRegister.setRegisterDate(dateUtil.getTodayDatetime()); deviceRegister.setServerIp(serverIp); deviceRegister.setServerPort(serverPort); deviceRegister.setRemark(remark); deviceRegister.setAskTimes(0); deviceRegister.setAnswerTimes(0); deviceRegister.setFarmCode(farmCode); deviceRegister.setFarmName(farmName); return ResultUtil.result(bizDeviceRegisterMapper.insert(deviceRegister)); } /** * @Method : edit * @Description : * @Params : [id, chipId, deviceCode, serverIp, serverPort, remark] * @Return : com.huimv.eartag2.common.utils.Result * * @Author : ZhuoNing * @Date : 2022/6/23 * @Time : 21:00 */ @Override public Result edit(Integer id, String chipId, String deviceCode, String serverIp, String serverPort, String remark) throws ParseException { DateUtil dateUtil = new DateUtil(); BizDeviceRegister deviceRegister = bizDeviceRegisterMapper.selectById(id); deviceRegister.setChipId(chipId); deviceRegister.setDeviceCode(deviceCode); deviceRegister.setRegisterDate(dateUtil.getTodayDatetime()); deviceRegister.setServerIp(serverIp); deviceRegister.setServerPort(serverPort); deviceRegister.setRemark(remark); int rows = bizDeviceRegisterMapper.updateById(deviceRegister); return ResultUtil.result(rows); } /** * @Method : remove * @Description : * @Params : [ids] * @Return : com.huimv.eartag2.common.utils.Result * * @Author : ZhuoNing * @Date : 2022/6/26 * @Time : 15:12 */ @Override public Result remove(String ids){ return ResultUtil.result(bizDeviceRegisterMapper.deleteBatchIds(idUtil.convert(ids))); } /** * @Method : listAll * @Description : * @Params : [pageNo, pageSize, farmCode, chipId, deviceCode, startDate, endDate] * @Return : com.huimv.eartag2.common.utils.Result * * @Author : ZhuoNing * @Date : 2022/6/26 * @Time : 14:50 */ @Override public Result listAll(Integer pageNo, Integer pageSize, String farmName, String farmCode, String chipId, String deviceCode, String startDate, String endDate){ if(pageNo == 0){ pageNo = 1; } startDate = dateUtil.buildStartDate(startDate); endDate = dateUtil.buildEndDate(endDate); Page page = new Page<>(pageNo, pageSize); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(farmName),"farm_name", farmName); queryWrapper.like(StringUtils.isNotBlank(chipId),"chip_id", chipId); queryWrapper.like(StringUtils.isNotBlank(deviceCode),"device_code", deviceCode); queryWrapper.like(StringUtils.isNotBlank(farmCode),"farm_code", farmCode); queryWrapper.ge(StringUtils.isNotBlank(startDate),"last_time", startDate); queryWrapper.le(StringUtils.isNotBlank(endDate),"last_time", endDate); //创建时间降序 queryWrapper.orderByDesc("id"); Page pageBizDeviceRegister = bizDeviceRegisterMapper.selectPage(page, queryWrapper); return new Result(ResultCode.SUCCESS,pageBizDeviceRegister); } /** * @Method : getServerAndIpByChipId * @Description : * @Params : [idCode] * @Return : java.util.Map * * @Author : ZhuoNing * @Date : 2022/6/23 * @Time : 20:45 */ @Override public Map getServerAndIpByChipId(String idCode) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("chip_id", idCode); queryWrapper.orderByDesc("id"); queryWrapper.last("LIMIT 1"); // 查询注册设备 List deviceRegisterList = bizDeviceRegisterMapper.selectList(queryWrapper); Map resultMap = new HashMap(); if(deviceRegisterList.size() > 0){ BizDeviceRegister deviceRegister = deviceRegisterList.get(0); resultMap.put("ip",deviceRegister.getServerIp()); resultMap.put("port",deviceRegister.getServerPort()); resultMap.put("deviceCode",deviceRegister.getDeviceCode()); resultMap.put("farmCode",deviceRegister.getFarmCode()); resultMap.put("farmName",deviceRegister.getFarmName()); } return resultMap; } /** * @Method : updateDeviceRegisterTimes * @Description : * @Params : [chipId] * @Return : com.huimv.eartag2.common.utils.Result * * @Author : ZhuoNing * @Date : 2022/6/23 * @Time : 20:45 */ @Override public Result updateDeviceRegisterTimes(String chipId) throws ParseException { DateUtil dateUtil = new DateUtil(); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("chip_id", chipId); // 查询注册设备 BizDeviceRegister deviceRegister = bizDeviceRegisterMapper.selectOne(queryWrapper); if(deviceRegister.getFirstTime() == null){ deviceRegister.setFirstTime(dateUtil.getTodayDatetime()); } deviceRegister.setLastTime(dateUtil.getTodayDatetime()); Integer times = deviceRegister.getAskTimes(); if(times == null){ times = 0; } deviceRegister.setAskTimes(++times); int rows = bizDeviceRegisterMapper.updateById(deviceRegister); return ResultUtil.result(rows); } /** * @Method : updateDeviceAnswerTimes * @Description : 修改应答次数 * @Params : [chipId] * @Return : com.huimv.eartag2.common.utils.Result * * @Author : ZhuoNing * @Date : 2022/6/24 * @Time : 14:00 */ @Override public Result updateDeviceAnswerTimes(String chipId) throws ParseException { DateUtil dateUtil = new DateUtil(); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("chip_id", chipId); // 查询注册设备 BizDeviceRegister deviceRegister = bizDeviceRegisterMapper.selectOne(queryWrapper); if(deviceRegister.getFirstTimeAnswer()== null){ deviceRegister.setFirstTimeAnswer(dateUtil.getTodayDatetime()); } deviceRegister.setLastTimeAnswer(dateUtil.getTodayDatetime()); Integer times = deviceRegister.getAnswerTimes(); if(times == null){ times = 0; } deviceRegister.setAnswerTimes(++times); int rows = bizDeviceRegisterMapper.updateById(deviceRegister); return ResultUtil.result(rows); } }