kaiyu
2021-08-25 41622b7aa1d948040b0f8ea024aece42d5a518a2
screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
@@ -18,9 +18,13 @@
import com.moral.api.pojo.form.user.UserUpdateForm;
import com.moral.api.service.UserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.util.CompareFieldUtils;
import com.moral.api.util.LogUtils;
import com.moral.constant.Constants;
import com.moral.constant.ResponseCodeEnum;
import com.moral.pojo.CompareFieldResult;
import com.moral.util.ConvertUtils;
import com.moral.util.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -29,6 +33,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.logging.SimpleFormatter;
/**
 * <p>
@@ -51,6 +56,8 @@
    UserGroupMapper userGroupMapper;
    @Autowired
    GroupMenuMapper groupMenuMapper;
    @Autowired
    LogUtils logUtils;
    @Override
    public UserQueryDTO queryUsers(UserQueryForm form) {
@@ -150,6 +157,12 @@
        //更新
        userMapper.updateById(user);
        //获取更新后的用户
        user = userMapper.selectById(user.getId());
        //插入日志
        updatelog(oldUser,user);
        //封装返回结果
        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -208,6 +221,8 @@
        organization.setAdminUserId(user.getId());
        organization.setId(organizationId);
        organizationMapper.updateById(organization);
        //操作插入日志
        insertLog(user,organizationId);
        //封装返回结果
        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
@@ -246,4 +261,49 @@
        return dto;
    }
    /**
    * @Description: 插入操作插入日志
            * @Param: [user, organizationId]
            * @return: void
            * @Author: 陈凯裕
            * @Date: 2021/8/24
            */
    private void insertLog(User user,Integer organizationId) {
        StringBuilder content = new StringBuilder("添加了前台用户;");
        content.append("角色:admin;");
        //查询添加admin用户的组织
        Organization organization = organizationMapper.selectById(organizationId);
        content.append("组织:"+organization.getName()+";");
        content.append("账号:"+user.getAccount()+";");
        content.append("用户名称:"+user.getUserName()+";");
        content.append("过期时间:"+ DateUtils.dateToDateString(user.getExpireTime(),"yyyy-MM-dd")+";");
        if(user.getEmail()!=null)
            content.append("邮箱:"+user.getEmail()+";");
        if(user.getMobile()!=null)
            content.append("手机:"+user.getMobile()+";");
        if(user.getWechat()!=null)
            content.append("微信:"+user.getWechat()+";");
        logUtils.saveOperationForManage(content.toString(), Constants.INSERT_OPERATE_TYPE);
    }
    /**
    * @Description: 更新操作插入日志
            * @Param: [oldUser, newUser]
            * @return: void
            * @Author: 陈凯裕
            * @Date: 2021/8/24
            */
    private void updatelog(User oldUser,User newUser){
        List<CompareFieldResult> results = CompareFieldUtils.compare(User.class, oldUser, newUser);
        StringBuilder content = new StringBuilder("修改了前台用户;");
        content.append("所属组织:"+organizationMapper.selectById(oldUser.getOrganizationId()).getName()+";");
        //密码特殊处理
        if(newUser.getPassword()!=null)
            content.append("修改了密码;");
        String resultContent = CompareFieldUtils.resultsConvertContent(results,content.toString());
        logUtils.saveOperationForManage(resultContent, Constants.UPDATE_OPERATE_TYPE);
    }
}