From d92f097bf2ad1cbab44f620831e10b2dbe8324b3 Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Tue, 17 Aug 2021 08:50:27 +0800 Subject: [PATCH] 特殊设备更新接口 --- screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java | 63 ++++++++++++++++++++++++------- 1 files changed, 48 insertions(+), 15 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java index 5075715..0e40019 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java @@ -1,5 +1,6 @@ package com.moral.api.service.impl; +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.extension.plugins.pagination.Page; @@ -17,9 +18,11 @@ import com.moral.api.service.UnitConversionService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.constant.Constants; +import com.moral.constant.RedisConstants; import com.moral.constant.ResponseCodeEnum; import com.moral.util.ConvertUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; @@ -43,27 +46,42 @@ UnitConversionMapper unitConversionMapper; @Autowired SysDictDataService sysDictDataService; + @Autowired + RedisTemplate redisTemplate; @Override @Transactional public UnitConversionDTO insertUnitConversion(UnitConversionInsertForm form) { //������������������ - UnitConversionDTO dto = new UnitConversionDTO(); + UnitConversionDTO dto = new UnitConversionDTO(); //������ UnitConversion unitConversion = form.formConvertEntity(); //������������������������������������������������������������������������ - QueryWrapper existWrapper = new QueryWrapper(); - existWrapper.eq("original_unit_key",unitConversion.getOriginalUnitKey()); - existWrapper.eq("target_unit_key",unitConversion.getTargetUnitKey()); - existWrapper.eq("is_delete",Constants.NOT_DELETE); - UnitConversion existConversion = unitConversionMapper.selectOne(existWrapper); - if(!ObjectUtils.isEmpty(existConversion)){ - dto.setCode(ResponseCodeEnum.UNIT_CONVERSION_EXIST.getCode()); - dto.setMsg(ResponseCodeEnum.UNIT_CONVERSION_EXIST.getMsg()); - return dto; + QueryWrapper<UnitConversion> existWrapper = new QueryWrapper(); + existWrapper.eq("original_unit_key", unitConversion.getOriginalUnitKey()); + existWrapper.eq("target_unit_key", unitConversion.getTargetUnitKey()); + existWrapper.eq("is_delete", Constants.NOT_DELETE); + List<UnitConversion> unitConversions = unitConversionMapper.selectList(existWrapper); + if (ObjectUtils.isEmpty(unitConversion.getSensorCode())) { + if (!ObjectUtils.isEmpty(unitConversions)) { + dto.setCode(ResponseCodeEnum.UNIT_CONVERSION_EXIST.getCode()); + dto.setMsg(ResponseCodeEnum.UNIT_CONVERSION_EXIST.getMsg()); + return dto; + } + } + if (!ObjectUtils.isEmpty(unitConversion.getSensorCode())) { + for (UnitConversion conversion : unitConversions) { + if (ObjectUtils.isEmpty(conversion.getSensorCode())||conversion.getSensorCode().equals(unitConversion.getSensorCode())) { + dto.setCode(ResponseCodeEnum.UNIT_CONVERSION_EXIST.getCode()); + dto.setMsg(ResponseCodeEnum.UNIT_CONVERSION_EXIST.getMsg()); + return dto; + } + } } //������������ unitConversionMapper.insert(unitConversion); + //������������ + refreshCache(); //������������������ dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); @@ -85,8 +103,8 @@ //������������������ Page<UnitConversion> queryPage = new Page<>(page, size); NullFilterWrapper<UnitConversion> wrapper = new NullFilterWrapper<>(); - wrapper.eq("original_unit_key",originalUnitKey); - wrapper.eq("target_unit_key",targetUnitKey); + wrapper.eq("original_unit_key", originalUnitKey); + wrapper.eq("target_unit_key", targetUnitKey); //������������������������ if (!ObjectUtils.isEmpty(order) && !ObjectUtils.isEmpty(orderType)) { if (orderType.equals(Constants.ORDER_ASC)) @@ -141,6 +159,8 @@ oldUnitConversion = unitConversionMapper.selectOne(oldWrapper); //������ unitConversionMapper.updateById(unitConversion); + //������������ + refreshCache(); //������������������ dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); @@ -162,12 +182,25 @@ oldUnitConversion = unitConversionMapper.selectOne(oldWrapper); //������������������ UpdateWrapper deleteWrapper = new UpdateWrapper(); - deleteWrapper.set("is_delete",Constants.DELETE); - deleteWrapper.eq("id",id); - unitConversionMapper.update(null,deleteWrapper); + deleteWrapper.set("is_delete", Constants.DELETE); + deleteWrapper.eq("id", id); + unitConversionMapper.update(null, deleteWrapper); + //������������ + refreshCache(); //������������������ dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); return dto; } + + /*������������*/ + @Override + public void refreshCache(){ + redisTemplate.delete((RedisConstants.UNIT_CONVERSION)); + QueryWrapper<UnitConversion> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_delete",Constants.NOT_DELETE); + List<UnitConversion> unitConversions = unitConversionMapper.selectList(queryWrapper); + if(!ObjectUtils.isEmpty(unitConversions)) + redisTemplate.opsForList().leftPushAll(RedisConstants.UNIT_CONVERSION,unitConversions); + } } -- Gitblit v1.8.0