kaiyu
2021-07-29 db070ecf27c6df1e9f7db15678d4eccab25ef39a
screen-api
字典类型以及字典数据添加日志功能
5 files modified
69 ■■■■■ changed files
screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java 4 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java 2 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java 41 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java 13 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/util/LogUtils.java 9 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -127,7 +127,7 @@
        //操作日志记录
        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
        StringBuilder content = new StringBuilder();
        content.append("添加了设备:").append(device.getName()).append(";").append("mac:").append(mac);
        content.append("添加了设备:").append(device.getName()).append(":").append("mac:").append(mac);
        logUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE);
    }
@@ -203,7 +203,7 @@
                Object o1 = method.invoke(oldDevice);
                Object o2 = method.invoke(device);
                if (o2 != null) {
                    content.append(fieldName).append(":").append(o1).append("-->").append(o2).append(";");
                    content.append(fieldName).append(":").append(o1).append("-->").append(o2).append(":");
                }
            } catch (Exception e) {
screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java
@@ -77,8 +77,6 @@
     * @Author: 陈凯裕
     * @Date: 2021/3/22
     */
    @Override
    @Transactional
    public OrganizationDTO insertOrganization(OrganizationInsertForm organizationInsertForm) {
screen-manage/src/main/java/com/moral/api/service/impl/SysDictDataServiceImpl.java
@@ -13,6 +13,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.service.SysDictTypeService;
import com.moral.api.util.CacheUtils;
import com.moral.api.util.LogUtils;
import com.moral.constant.Constants;
import com.moral.constant.RedisConstants;
import com.moral.constant.ResponseCodeEnum;
@@ -43,6 +44,8 @@
    SysDictDataMapper sysDictDataMapper;
    @Autowired
    RedisTemplate redisTemplate;
    @Autowired
    LogUtils logUtils;
    @Override
    @Transactional
@@ -51,16 +54,23 @@
        SysDictDataDTO dto = new SysDictDataDTO();
        //取参
        Integer id = form.getId();
        //查询要删除的数据,用于插入日志
        //查询要删除的数据和类型,用于插入日志
        QueryWrapper existWrapper = new QueryWrapper();
        existWrapper.eq("is_delete", Constants.NOT_DELETE);
        existWrapper.eq("id", id);
        SysDictData existData = sysDictDataMapper.selectOne(existWrapper);
        SysDictType type = sysDictTypeService.getDictTypeById(existData.getDictTypeId());
        //执行删除
        UpdateWrapper deleteWrapper = new UpdateWrapper();
        deleteWrapper.set("is_delete", Constants.DELETE);
        deleteWrapper.eq("id", id);
        sysDictDataMapper.update(null, deleteWrapper);
        //插入日志
        StringBuilder content = new StringBuilder("删除了字典数据;");
        content.append("类型:"+type.getName()+"("+type.getDesc()+")"+";");
        content.append("key:"+existData.getDataKey()+";");
        content.append("value:"+existData.getDataValue()+";");
        logUtils.saveOperationForManage(content.toString(),Constants.DELETE_OPERATE_TYPE);
        //刷新缓存
        refreshCache();
        //封装返回对象
@@ -79,6 +89,7 @@
        existWrapper.eq("is_delete", Constants.NOT_DELETE);
        existWrapper.eq("id", sysDictData.getId());
        SysDictData existData = sysDictDataMapper.selectOne(existWrapper);
        SysDictType type = sysDictTypeService.getDictTypeById(existData.getDictTypeId());
        //判断key是否重复
        String key = sysDictData.getDataKey();
        if (!ObjectUtils.isEmpty(key)) {
@@ -95,6 +106,12 @@
        }
        //执行更新
        sysDictDataMapper.updateById(sysDictData);
        //插入日志
        StringBuilder content = new StringBuilder("修改了字典数据;");
        content.append("类型:"+type.getName()+"("+type.getDesc()+")"+";");
        content.append("key:"+existData.getDataKey()+";");
        content.append("value:"+existData.getDataValue()+"->"+sysDictData.getDataValue()+";");
        logUtils.saveOperationForManage(content.toString(),Constants.UPDATE_OPERATE_TYPE);
        //刷新缓存
        refreshCache();
        //封装返回结果
@@ -103,13 +120,7 @@
        return dto;
    }
    /**
     * @Description: 根据字典类型id插入字典类型数据
     * @Param: [form]
     * @return: com.moral.api.pojo.dto.sysDictData.SysDictDataDTO
     * @Author: 陈凯裕
     * @Date: 2021/4/16
     */
    @Override
    public SysDictDataDTO insertData(SysDictDataInsertForm form) {
        SysDictDataDTO dto = new SysDictDataDTO();
@@ -136,6 +147,12 @@
        }
        //执行插入
        sysDictDataMapper.insert(sysDictData);
        //插入日志
        StringBuilder content = new StringBuilder("添加了字典数据;");
        content.append("类型:"+type.getName()+"("+type.getDesc()+")"+";");
        content.append("key:"+sysDictData.getDataKey()+";");
        content.append("value:"+sysDictData.getDataValue()+";");
        logUtils.saveOperationForManage(content.toString(),Constants.INSERT_OPERATE_TYPE);
        //刷新缓存
        refreshCache();
        //封装返回结果
@@ -144,13 +161,6 @@
        return dto;
    }
    /**
     * @Description: 根据类型名字查询对应字典的数据
     * @Param: [typeName]
     * @return: java.util.Map<java.lang.String                               ,                               java.lang.Object>
     * @Author: 陈凯裕
     * @Date: 2021/4/16
     */
    @Override
    public Map<String, Object> queryDataByTypeName(String typeName) {
        Map<String, List<SysDictData>> datas = getAllDictData();
@@ -216,3 +226,4 @@
        return result;
    }
}
screen-manage/src/main/java/com/moral/api/service/impl/SysDictTypeServiceImpl.java
@@ -14,6 +14,7 @@
import com.moral.api.service.SysDictTypeService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.util.CacheUtils;
import com.moral.api.util.LogUtils;
import com.moral.constant.Constants;
import com.moral.constant.RedisConstants;
import com.moral.constant.ResponseCodeEnum;
@@ -22,7 +23,10 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -44,6 +48,8 @@
    SysDictDataService sysDictDataService;
    @Autowired
    RedisTemplate redisTemplate;
    @Autowired
    LogUtils logUtils;
    @Override
    @Transactional
@@ -72,6 +78,9 @@
        deleteDataWrapper.eq("dict_type_id",typeId);
        deleteDataWrapper.set("is_delete",Constants.DELETE);
        sysDictDataService.update(null,deleteDataWrapper);
        //插入日志
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        logUtils.saveOperationForManage(request,"删除字典类型:"+type.getName(),Constants.DELETE_OPERATE_TYPE);
        //刷新缓存数据
        refreshCache();
        //封装返回数据
@@ -79,7 +88,6 @@
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
        return dto;
    }
    @Override
    @Transactional
@@ -129,6 +137,9 @@
        }
        //插入类型
        sysDictTypeMapper.insert(sysDictType);
        //插入日志
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        logUtils.saveOperationForManage(request,"添加字典类型:"+sysDictType.getName(),Constants.INSERT_OPERATE_TYPE);
        //刷新缓存
        refreshCache();
        //封装返回对象
screen-manage/src/main/java/com/moral/api/util/LogUtils.java
@@ -10,6 +10,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
@@ -24,7 +26,12 @@
public class LogUtils {
    @Autowired
    public ManageLogMapper manageLogMapper;
    private ManageLogMapper manageLogMapper;
    public void saveOperationForManage(String content,String type){
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        saveOperationForManage(request,content,type);
    }
    /**
    * @Description: 通用插入日志