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