From 4e48dd4711cab4528fba7f2ee01a6191c08b34aa Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Thu, 03 Aug 2023 11:38:10 +0800 Subject: [PATCH] chore:批量修改校准值 --- screen-manage/src/main/java/com/moral/api/pojo/dto/adjust/AdjustDTO.java | 13 +++ screen-manage/src/main/java/com/moral/api/mapper/DeviceAdjustValueMapper.java | 6 + screen-manage/src/main/resources/mapper/DeviceAdjustValueMapper.xml | 13 +++ screen-manage/src/main/java/com/moral/api/controller/DeviceAdjustValueController.java | 51 ++++++++++++ screen-manage/src/main/java/com/moral/api/pojo/form/adjust/AdjustForm.java | 30 +++++++ screen-manage/src/main/java/com/moral/api/service/DeviceAdjustValueService.java | 23 +++++ screen-manage/src/main/java/com/moral/api/service/impl/DeviceAdjustValueServiceImpl.java | 93 +++++++++++++++++++++++ 7 files changed, 229 insertions(+), 0 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/controller/DeviceAdjustValueController.java b/screen-manage/src/main/java/com/moral/api/controller/DeviceAdjustValueController.java index 2662973..1b5cc85 100644 --- a/screen-manage/src/main/java/com/moral/api/controller/DeviceAdjustValueController.java +++ b/screen-manage/src/main/java/com/moral/api/controller/DeviceAdjustValueController.java @@ -2,15 +2,25 @@ import com.alibaba.fastjson.JSON; import com.moral.api.entity.DeviceAdjustValue; +import com.moral.api.pojo.dto.adjust.AdjustDTO; +import com.moral.api.pojo.form.adjust.AdjustForm; import com.moral.api.service.DeviceAdjustValueService; +import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.util.WebUtils; +import com.sun.org.apache.regexp.internal.RE; + import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; +import org.springframework.util.ObjectUtils; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; + +import java.util.HashMap; +import java.util.List; import java.util.Map; @Slf4j @@ -93,4 +103,45 @@ return ResultMessage.fail(Integer.parseInt(resultMap.get("code").toString()),resultMap.get("msg").toString()); } + /** + * ��������������������� + * @param parameters + * @return + */ + @PostMapping("getAllAdjust") + public ResultMessage getAllAdjust(@RequestBody Map<String, Object> parameters){ + if (!parameters.containsKey("id")|| !parameters.containsKey("code")){ + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), + ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + List<Map<String, Object>> allAdjust = deviceAdjustValueService.getAllAdjust(parameters); + if (ObjectUtils.isEmpty(allAdjust)){ + return ResultMessage.fail(ResponseCodeEnum.TARGET_IS_NULL.getCode(), + ResponseCodeEnum.TARGET_IS_NULL.getMsg()); + } + return ResultMessage.ok(allAdjust); + } + + /** + * ��������������������� + * @return + */ + @PostMapping("updateAllAdjust") + public ResultMessage updateAllAdjust( @RequestBody Map<String, List<AdjustForm>> parameters){ + List<AdjustForm> o = parameters.get("AdjustForm"); + if (ObjectUtils.isEmpty(o)){ + return ResultMessage.fail(ResponseCodeEnum.TARGET_IS_NULL.getCode(), + ResponseCodeEnum.TARGET_IS_NULL.getMsg()); + } + Map<String, Object> map = deviceAdjustValueService.updateAllAdjust(o); + int code = Integer.parseInt(map.get("code").toString()); + if (code != 0){ + return ResultMessage.fail(ResponseCodeEnum.FAIL.getCode(),ResponseCodeEnum.FAIL.getMsg()); + } + return ResultMessage.fail(ResponseCodeEnum.SUCCESS.getCode(),ResponseCodeEnum.SUCCESS.getMsg()); + +// return ResultMessage.ok(map); + } + + } diff --git a/screen-manage/src/main/java/com/moral/api/mapper/DeviceAdjustValueMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/DeviceAdjustValueMapper.java index ed6f207..aea6061 100644 --- a/screen-manage/src/main/java/com/moral/api/mapper/DeviceAdjustValueMapper.java +++ b/screen-manage/src/main/java/com/moral/api/mapper/DeviceAdjustValueMapper.java @@ -2,7 +2,10 @@ import com.moral.api.entity.DeviceAdjustValue; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.moral.api.pojo.dto.adjust.AdjustDTO; + +import java.util.List; import java.util.Map; /** @@ -17,4 +20,7 @@ void updateDeviceAdjustValue(Map map); + + List<AdjustDTO> selectAllAdjust(Map map); + } diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/adjust/AdjustDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/adjust/AdjustDTO.java new file mode 100644 index 0000000..6c5dcce --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/adjust/AdjustDTO.java @@ -0,0 +1,13 @@ +package com.moral.api.pojo.dto.adjust; + + +import lombok.Data; + +@Data +public class AdjustDTO { + + private Integer id; + private String mac; + private String name; + private String value; +} diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/adjust/AdjustForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/adjust/AdjustForm.java new file mode 100644 index 0000000..8090a85 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/pojo/form/adjust/AdjustForm.java @@ -0,0 +1,30 @@ +package com.moral.api.pojo.form.adjust; + + +import lombok.Data; + +@Data +public class AdjustForm { + + + private Integer id; + + private String mac; + + private String value; + + private String name; + + private String agehou; + + private String aqi; + + private String cel; + + private String code; + + + + + +} diff --git a/screen-manage/src/main/java/com/moral/api/service/DeviceAdjustValueService.java b/screen-manage/src/main/java/com/moral/api/service/DeviceAdjustValueService.java index 81ac2c1..b527cf7 100644 --- a/screen-manage/src/main/java/com/moral/api/service/DeviceAdjustValueService.java +++ b/screen-manage/src/main/java/com/moral/api/service/DeviceAdjustValueService.java @@ -2,8 +2,12 @@ import com.moral.api.entity.DeviceAdjustValue; import com.baomidou.mybatisplus.extension.service.IService; +import com.moral.api.pojo.dto.adjust.AdjustDTO; +import com.moral.api.pojo.form.adjust.AdjustForm; + import org.springframework.transaction.annotation.Transactional; +import java.util.List; import java.util.Map; /** @@ -74,4 +78,23 @@ */ Map<String,Object> refreshRedis(); + + /** + * ��������������������� + * @param parameters + * @return + */ + List<Map<String, Object>> getAllAdjust(Map<String, Object> parameters); + + /** + * ��������������������� + * @param paras + * @return + */ + Map<String, Object> updateAllAdjust(List<AdjustForm> paras); + + + + + } diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceAdjustValueServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceAdjustValueServiceImpl.java index e4350df..f287939 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceAdjustValueServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceAdjustValueServiceImpl.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.moral.api.entity.Device; @@ -12,6 +13,8 @@ import com.moral.api.mapper.DeviceMapper; import com.moral.api.mapper.SensorMapper; import com.moral.api.mapper.SpecialDeviceMapper; +import com.moral.api.pojo.dto.adjust.AdjustDTO; +import com.moral.api.pojo.form.adjust.AdjustForm; import com.moral.api.service.DeviceAdjustValueService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.api.util.LogUtils; @@ -19,6 +22,7 @@ import com.moral.constant.ResponseCodeEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.jdbc.object.UpdatableSqlQuery; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.context.request.RequestContextHolder; @@ -27,6 +31,7 @@ import javax.servlet.http.HttpServletRequest; import java.sql.Time; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -262,6 +267,94 @@ return resultMap; } + + + /** + * ��������������������� + * + * @param parameters + * @return + */ + @Override + public List<Map<String, Object>> getAllAdjust(Map<String, Object> parameters) { + ArrayList<Map<String, Object>> rsList = new ArrayList<>(); + String code = parameters.get("code").toString(); + List<AdjustDTO> adjustDTOS = deviceAdjustValueMapper.selectAllAdjust(parameters); + for (AdjustDTO adjustDTO : adjustDTOS) { + HashMap<String, Object> map = new HashMap<>(); + String value = adjustDTO.getValue(); + if (ObjectUtils.isEmpty(value)){ + if (code.equals("a99054")){ + value ="cel*1"; + map.put("cel",1); + }else { + value ="aqi*0+cel*1"; + map.put("aqi",0); + map.put("cel",1); + } + }else { + if (code.equals("a99054")){ + String[] split = value.split("\\*"); + map.put("cel",Double.parseDouble(split[1])); + }else { + String[] split = value.split("\\+"); + String[] split1 = split[0].toString().split("\\*"); + map.put("aqi",Double.parseDouble(split1[1])); + String[] split2 = split[1].toString().split("\\*"); + map.put("cel",Double.parseDouble(split2[1])); + } + } + map.put("value",value); + map.put("name",adjustDTO.getName()); + map.put("id",adjustDTO.getId()); + map.put("mac",adjustDTO.getMac()); + map.put("code",code); + rsList.add(map); + } + return rsList; + } + + /** + * ��������������������� + * + * @param paras + * @return + */ + @Override + @Transactional + public Map<String, Object> updateAllAdjust(List<AdjustForm> paras) { + Map<String,Object> resultMap = new HashMap<>(); + for (AdjustForm adjustForm : paras) { + DeviceAdjustValue deviceAdjustValue = new DeviceAdjustValue(); + QueryWrapper<DeviceAdjustValue> wrapper1 = new QueryWrapper<>(); + wrapper1.eq("mac",adjustForm.getMac()); + wrapper1.eq ("sensor_code",adjustForm.getCode()); + Integer integer = deviceAdjustValueMapper.selectCount(wrapper1); + if (integer==0){ + deviceAdjustValue.setValue(adjustForm.getAgehou()); + deviceAdjustValue.setCreateTime(new Date()); + deviceAdjustValue.setIsDelete("0"); + deviceAdjustValue.setUpdateTime(new Date()); + deviceAdjustValue.setSensorCode(adjustForm.getCode()); + deviceAdjustValue.setMac(adjustForm.getMac()); + deviceAdjustValue.setEndTime(Time.valueOf("23:59:00")); + deviceAdjustValue.setStartTime(Time.valueOf("00:00:00")); + deviceAdjustValueMapper.insert(deviceAdjustValue); + }else { + deviceAdjustValue.setValue(adjustForm.getAgehou()); + deviceAdjustValue.setUpdateTime(new Date()); + deviceAdjustValue.setId(adjustForm.getId()); + deviceAdjustValueMapper.updateById(deviceAdjustValue); + } + //������������ + refreshCache(adjustForm.getMac()); + } + + resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode()); + resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg()); + return resultMap; + } + public void refreshRedisAll(){ refreshRedis(); } diff --git a/screen-manage/src/main/resources/mapper/DeviceAdjustValueMapper.xml b/screen-manage/src/main/resources/mapper/DeviceAdjustValueMapper.xml index 9db7b99..255ce4d 100644 --- a/screen-manage/src/main/resources/mapper/DeviceAdjustValueMapper.xml +++ b/screen-manage/src/main/resources/mapper/DeviceAdjustValueMapper.xml @@ -41,4 +41,17 @@ where id = #{id} </update> + <select id="selectAllAdjust" resultType="com.moral.api.pojo.dto.adjust.AdjustDTO"> + SELECT de.`name` , + ds.id, + de.mac, + ds.`value` + FROM + device AS de + LEFT JOIN device_adjust_value AS ds ON ds.mac = de.mac AND ds.sensor_code = #{code} AND ds.is_delete =0 + WHERE + de.monitor_point_id = #{id} + AND de.is_delete = 0 + </select> + </mapper> \ No newline at end of file -- Gitblit v1.8.0