kaiyu
2021-08-26 19b72fbd2e6b30a23a06dd284619784a096bc896
screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.moral.api.config.mybatis.wrapper.NullFilterWrapper;
import com.moral.api.entity.Sensor;
import com.moral.api.entity.SysDictData;
import com.moral.api.entity.UnitConversion;
import com.moral.api.mapper.UnitConversionMapper;
@@ -14,9 +15,11 @@
import com.moral.api.pojo.form.unitConversion.UnitConversionInsertForm;
import com.moral.api.pojo.form.unitConversion.UnitConversionQueryForm;
import com.moral.api.pojo.form.unitConversion.UnitConversionUpdateForm;
import com.moral.api.service.SensorService;
import com.moral.api.service.SysDictDataService;
import com.moral.api.service.UnitConversionService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.util.LogUtils;
import com.moral.constant.Constants;
import com.moral.constant.RedisConstants;
import com.moral.constant.ResponseCodeEnum;
@@ -48,6 +51,11 @@
    SysDictDataService sysDictDataService;
    @Autowired
    RedisTemplate redisTemplate;
    @Autowired
    LogUtils logUtils;
    @Autowired
    SensorService sensorService;
    @Override
    @Transactional
@@ -82,6 +90,8 @@
        unitConversionMapper.insert(unitConversion);
        //刷新缓存
        refreshCache();
        //插入日志
        insertLog(unitConversion);
        //封装返回数据
        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -168,6 +178,7 @@
    }
    @Override
    @Transactional
    public UnitConversionDTO deleteUnitConversion(UnitConversionDeleteForm form) {
        //创建返回对象
        UnitConversionDTO dto = new UnitConversionDTO();
@@ -203,4 +214,37 @@
        if(!ObjectUtils.isEmpty(unitConversions))
            redisTemplate.opsForList().leftPushAll(RedisConstants.UNIT_CONVERSION,unitConversions);
    }
    /**
    * @Description: 插入操作插入日志
            * @Param: [unitConversion]
            * @return: void
            * @Author: 陈凯裕
            * @Date: 2021/8/26
            */
    private void insertLog(UnitConversion unitConversion){
        //获取单位字典数据
        Map<String, SysDictData> units = sysDictDataService.getDictDatasByType("unit");
        String originalUnitKey = unitConversion.getOriginalUnitKey();
        String targetUnitKey = unitConversion.getTargetUnitKey();
        SysDictData originalData = units.get(originalUnitKey);
        SysDictData targetData = units.get(targetUnitKey);
        String formula = unitConversion.getFormula();
        //公式转换格式
        formula = formula.replace(Constants.FORMULA_PLACEHOLDER, "源单位");
        formula = "目标单位"+" = "+formula;
        String sensorCode = unitConversion.getSensorCode();
        StringBuilder content = new StringBuilder();
        content.append("添加了单位转换数据;");
        content.append("源单位:"+originalData.getDataValue()+";");
        content.append("目标单位:"+targetData.getDataValue()+";");
        content.append("转换公式:"+formula+";");
        if(sensorCode!=null){
            Sensor sensor = sensorService.getSensorByCode(sensorCode);
            if(sensor!=null)
                content.append("针对因子:"+sensor.getName()+";");
        }
        logUtils.saveOperationForManage(content.toString(),Constants.INSERT_OPERATE_TYPE);
    }
}