jinpengyong
2023-08-03 57f903e0eb21bd66c88ebc00ccc9d30b49d36f3e
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();
    }