lizijie
2021-08-31 b888331b6ba56caeeab12a4543fe81bac8854794
screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java
@@ -171,6 +171,8 @@
        unitConversionMapper.updateById(unitConversion);
        //刷新缓存
        refreshCache();
        //操作插入日志
        updateLog(oldUnitConversion,form.getFormula());
        //封装返回结果
        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -198,6 +200,8 @@
        unitConversionMapper.update(null, deleteWrapper);
        //刷新缓存
        refreshCache();
        //操作插入日志
        deleteLog(oldUnitConversion);
        //封装返回对象
        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -247,4 +251,73 @@
        logUtils.saveOperationForManage(content.toString(),Constants.INSERT_OPERATE_TYPE);
    }
    /**
    * @Description: 删除操作插入日志
            * @Param: [unitConversion]
            * @return: void
            * @Author: 陈凯裕
            * @Date: 2021/8/26
            */
    private void deleteLog(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;
        StringBuilder content = new StringBuilder("删除了转换公式;");
        content.append("源单位:"+originalData.getDataValue()+";");
        content.append("目标单位:"+targetData.getDataValue()+";");
        content.append("转换公式:"+formula+";");
        //如果有针对因子则获取针对因子名称
        String sensorCode = unitConversion.getSensorCode();
        if(sensorCode!=null){
            Sensor sensor = sensorService.getSensorByCode(sensorCode);
            if(sensor!=null)
                content.append("针对因子:"+sensor.getName()+";");
        }
        logUtils.saveOperationForManage(content.toString(),Constants.DELETE_OPERATE_TYPE);
    }
    /**
    * @Description: 更新操作插入日志
            * @Param: [unitConversion]
            * @return: void
            * @Author: 陈凯裕
            * @Date: 2021/8/26
            */
    private void updateLog(UnitConversion oldUnitConversion,String newFormular){
        StringBuilder content = new StringBuilder("修改了单位转换公式;");
        //获取单位字典数据 源单位 目标单位名称
        Map<String, SysDictData> units = sysDictDataService.getDictDatasByType("unit");
        String originalUnitKey = oldUnitConversion.getOriginalUnitKey();
        String targetUnitKey = oldUnitConversion.getTargetUnitKey();
        SysDictData originalData = units.get(originalUnitKey);
        SysDictData targetData = units.get(targetUnitKey);
        //新公式转换格式
        newFormular = newFormular.replace(Constants.FORMULA_PLACEHOLDER, "源单位");
        newFormular = "目标单位"+" = "+newFormular;
        //旧公式转换
        String oldFormula = oldUnitConversion.getFormula();
        oldFormula = oldFormula.replace(Constants.FORMULA_PLACEHOLDER, "源单位");
        oldFormula = "目标单位"+" = "+oldFormula;
        content.append("源单位:"+originalData.getDataValue()+";");
        content.append("目标单位:"+targetData.getDataValue()+";");
        content.append("转换公式:"+oldFormula+"->"+newFormular+";");
        //如果有针对因子则获取针对因子名称
        String sensorCode = oldUnitConversion.getSensorCode();
        if(sensorCode!=null){
            Sensor sensor = sensorService.getSensorByCode(sensorCode);
            if(sensor!=null)
                content.append("针对因子:"+sensor.getName()+";");
        }
        logUtils.saveOperationForManage(content.toString(),Constants.UPDATE_OPERATE_TYPE);
    }
}