| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.moral.api.entity.ManageAccount; |
| | | import com.moral.api.entity.ManageAccountRole; |
| | | import com.moral.api.entity.ManageRole; |
| | | import com.moral.api.mapper.ManageAccountMapper; |
| | | import com.moral.api.mapper.ManageAccountRoleMapper; |
| | | import com.moral.api.mapper.ManageRoleMapper; |
| | | import com.moral.api.pojo.dto.accountRole.AccountRoleDTO; |
| | | import com.moral.api.pojo.form.accountRole.AccountRoleUpdateForm; |
| | | import com.moral.api.service.ManageAccountRoleService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.moral.api.service.ManageAccountService; |
| | | import com.moral.api.service.ManageRoleService; |
| | | import com.moral.api.util.LogUtils; |
| | | import com.moral.constant.Constants; |
| | | import com.moral.constant.ResponseCodeEnum; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | 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.management.relation.Role; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | |
| | | @Autowired |
| | | ManageAccountRoleMapper manageAccountRoleMapper; |
| | | @Autowired |
| | | ManageRoleMapper manageRoleMapper; |
| | | @Autowired |
| | | ManageRoleService manageRoleService; |
| | | @Autowired |
| | | ManageAccountMapper manageAccountMapper; |
| | | @Autowired |
| | | LogUtils logUtils; |
| | | |
| | | @Override |
| | | @Transactional |
| | |
| | | //取参 |
| | | Integer accountId = form.getAccountId(); |
| | | Integer roleId = form.getRoleId(); |
| | | //查询要更新的账号用于日志插入 |
| | | ManageAccount account = manageAccountMapper.selectById(accountId); |
| | | //查询要更新的角色用于日志插入 |
| | | ManageRole updateRole = null; |
| | | if (!ObjectUtils.isEmpty(roleId)) { |
| | | QueryWrapper<ManageRole> queryWrapper = new QueryWrapper(); |
| | | queryWrapper.eq("is_delete", Constants.NOT_DELETE); |
| | | queryWrapper.eq("id", roleId); |
| | | updateRole = manageRoleMapper.selectOne(queryWrapper); |
| | | } |
| | | //查询原有角色用于插入日志 |
| | | ManageRole oldRole = manageRoleService.getRoleByAccountId(accountId); |
| | | //先删除原有角色再进行分配 |
| | | UpdateWrapper updateWrapper = new UpdateWrapper(); |
| | | updateWrapper.set("is_delete", Constants.DELETE); |
| | | updateWrapper.eq("account_id", accountId); |
| | | manageAccountRoleMapper.update(null, updateWrapper); |
| | | if(!ObjectUtils.isEmpty(roleId)){ |
| | | if (!ObjectUtils.isEmpty(roleId)) { |
| | | ManageAccountRole role = new ManageAccountRole(); |
| | | role.setAccountId(accountId); |
| | | role.setRoleId(roleId); |
| | | manageAccountRoleMapper.insert(role); |
| | | } |
| | | //插入日志 |
| | | insertUpdateLog(oldRole,updateRole,account); |
| | | //封装返回参数 |
| | | dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); |
| | | dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); |
| | | return dto; |
| | | } |
| | | |
| | | private void insertUpdateLog(ManageRole oldRole, ManageRole updateRole, ManageAccount account) { |
| | | HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); |
| | | StringBuilder content = new StringBuilder(); |
| | | content.append("修改了用户:").append(account.getUserName() + ";") |
| | | .append("账号:" + account.getAccount() + ";") |
| | | .append("角色:"); |
| | | |
| | | if(ObjectUtils.isEmpty(oldRole)) |
| | | content.append("空->"); |
| | | else |
| | | content.append(oldRole.getName()+"->"); |
| | | |
| | | if(ObjectUtils.isEmpty(updateRole)) |
| | | content.append("空;"); |
| | | else |
| | | content.append(updateRole.getName()+";"); |
| | | |
| | | logUtils.saveOperationForManage(request, content.toString(), Constants.UPDATE_OPERATE_TYPE); |
| | | } |
| | | |
| | | } |