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; } }