package com.moral.api.service.impl; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.moral.api.entity.Device; import com.moral.api.entity.DeviceAdjustValue; import com.moral.api.entity.Sensor; import com.moral.api.mapper.DeviceAdjustValueMapper; import com.moral.api.mapper.DeviceMapper; import com.moral.api.mapper.SensorMapper; import com.moral.api.service.DeviceAdjustValueService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.api.util.LogUtils; import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; import java.sql.Time; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** *

* 服务实现类 *

* * @author moral * @since 2021-06-07 */ @Service public class DeviceAdjustValueServiceImpl extends ServiceImpl implements DeviceAdjustValueService { @Autowired(required = false) private DeviceAdjustValueMapper deviceAdjustValueMapper; @Autowired(required = false) private DeviceMapper deviceMapper; @Autowired(required = false) private SensorMapper sensorMapper; @Autowired LogUtils logUtils; @Override @Transactional public Map insertOne(DeviceAdjustValue deviceAdjustValue) { Map resultMap = new HashMap<>(); if (ObjectUtils.isEmpty(deviceAdjustValue.getMac())){ resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); return resultMap; } if (ObjectUtils.isEmpty(deviceAdjustValue.getValue())||deviceAdjustValue.getValue().equals("")){ resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); return resultMap; } QueryWrapper wrapper_device = new QueryWrapper<>(); wrapper_device.eq("is_delete",Constants.NOT_DELETE); wrapper_device.eq("mac",deviceAdjustValue.getMac()); if (deviceMapper.selectCount(wrapper_device)==0){ resultMap.put("code",ResponseCodeEnum.DEVICE_IS_NULL.getCode()); resultMap.put("msg",ResponseCodeEnum.DEVICE_IS_NULL.getMsg()); return resultMap; } QueryWrapper wrapper_sensor = new QueryWrapper<>(); wrapper_sensor.eq("is_delete",Constants.NOT_DELETE); wrapper_sensor.eq("code",deviceAdjustValue.getSensorCode()); if (sensorMapper.selectCount(wrapper_sensor)==0){ resultMap.put("code",ResponseCodeEnum.SENSOR_IS_NOT_EXIST.getCode()); resultMap.put("msg",ResponseCodeEnum.SENSOR_IS_NOT_EXIST.getMsg()); return resultMap; } deviceAdjustValueMapper.insert(deviceAdjustValue); //操作插入日志 HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String content = "添加校准值:"+deviceAdjustValue+";"; logUtils.saveOperationForManage(request,content,Constants.INSERT_OPERATE_TYPE); resultMap.put("code", ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg", ResponseCodeEnum.SUCCESS.getMsg()); return resultMap; } @Override public Map getDataByCondition(Map map) { Map resultMap = new HashMap<>(); int current = Integer.parseInt(map.get("current").toString()); int size = Integer.parseInt(map.get("size").toString()); Page page = new Page<>(current,size); QueryWrapper wrapper_Condition = new QueryWrapper<>(); wrapper_Condition.eq("is_delete",Constants.NOT_DELETE); if (!ObjectUtils.isEmpty(map.get("mac"))){ wrapper_Condition.eq("mac",map.get("mac")); } if (!ObjectUtils.isEmpty(map.get("sensor_code"))){ wrapper_Condition.eq("sensor_code",map.get("sensor_code")); } if (!ObjectUtils.isEmpty(map.get("orderType"))){ String orderType = map.get("orderType").toString(); if (orderType.equals(Constants.ORDER_ASC)){ wrapper_Condition.orderByAsc("start_time"); }else { wrapper_Condition.orderByDesc("start_time"); } } Page resultPage = deviceAdjustValueMapper.selectPage(page,wrapper_Condition); List deviceAdjustValues = resultPage.getRecords(); List> deviceAdjustValueList = new ArrayList<>(); for (DeviceAdjustValue deviceAdjustValue:deviceAdjustValues) { Map deviceAdjustValueMap = JSON.parseObject(JSON.toJSONString(deviceAdjustValue),Map.class); Time startTime = new Time(Long.valueOf(Long.parseLong(deviceAdjustValueMap.get("startTime").toString()))); deviceAdjustValueMap.put("startTime",new Time(startTime.getTime())); Time endTime = new Time(Long.valueOf(Long.parseLong(deviceAdjustValueMap.get("endTime").toString()))); deviceAdjustValueMap.put("endTime",new Time(endTime.getTime())); deviceAdjustValueList.add(deviceAdjustValueMap); } resultMap.put("deviceAdjustValues",deviceAdjustValueList); int totalNumber = deviceAdjustValueMapper.selectCount(wrapper_Condition); resultMap.put("totalNumber",totalNumber); resultMap.put("current",current); resultMap.put("size",size); int totalPageNumber = totalNumber/size; if(totalNumber%size != 0){ totalPageNumber += 1; } resultMap.put("totalPageNumber",totalPageNumber); return resultMap; } @Override public Map updateOne(Map map) { Map resultMap = new HashMap<>(); if (ObjectUtils.isEmpty(map.get("id"))||map.get("id").equals("")){ resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); return resultMap; } DeviceAdjustValue deviceAdjustValueOld = deviceAdjustValueMapper.selectById(Integer.parseInt(map.get("id").toString())); deviceAdjustValueMapper.updateDeviceAdjustValue(map); //操作插入日志 HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String content = "修改了"+deviceAdjustValueOld.getMac()+"设备"+deviceAdjustValueOld.getSensorCode()+"传感器的校准信息:"+";"; for (Object key:map.keySet()) { if (key.toString().equals("start_time")&&map.get(key)!=null){ content = content+"开始时间:"+deviceAdjustValueOld.getStartTime()+"->"+map.get(key)+";"; } if (key.toString().equals("end_time")&&map.get(key)!=null){ content = content+"结束时间:"+deviceAdjustValueOld.getEndTime()+"->"+map.get(key)+";"; } if (key.toString().equals("value")&&map.get(key)!=null){ content = content+"校准公式:"+deviceAdjustValueOld.getValue()+"->"+map.get(key)+";"; } } logUtils.saveOperationForManage(request,content,Constants.UPDATE_OPERATE_TYPE); resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg()); return resultMap; } @Override public Map deleteOne(Map map) { Map resultMap = new HashMap<>(); if (ObjectUtils.isEmpty(map.get("id"))||map.get("id").equals("")){ resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode()); resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); return resultMap; } QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("is_delete",Constants.NOT_DELETE); wrapper.eq("id",map.get("id")); DeviceAdjustValue deviceAdjustValue = deviceAdjustValueMapper.selectOne(wrapper); if (ObjectUtils.isEmpty(deviceAdjustValue)){ resultMap.put("code",ResponseCodeEnum.TARGET_IS_NULL.getCode()); resultMap.put("msg",ResponseCodeEnum.TARGET_IS_NULL.getMsg()); return resultMap; } Map deleteMap = new HashMap<>(); deleteMap.put("id",map.get("id")); deleteMap.put("is_delete",Constants.DELETE); deviceAdjustValueMapper.updateDeviceAdjustValue(deleteMap); //操作插入日志 HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String content = "删除了"+deviceAdjustValue.getMac()+"设备"+deviceAdjustValue.getSensorCode()+"传感器"+deviceAdjustValue.getStartTime()+"到"+deviceAdjustValue.getEndTime()+"的校准信息:"+";"; logUtils.saveOperationForManage(request,content,Constants.DELETE_OPERATE_TYPE); resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode()); resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg()); return resultMap; } }