From f342a0d88b2a7168f794d0cf545d16a3138acb6d Mon Sep 17 00:00:00 2001 From: wuqiping <wuqiping@qq.com> Date: Wed, 09 Jun 2021 15:55:33 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountRoleServiceImpl.java | 91 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 91 insertions(+), 0 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountRoleServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountRoleServiceImpl.java index f3b2d19..f521ccb 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountRoleServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountRoleServiceImpl.java @@ -1,10 +1,31 @@ package com.moral.api.service.impl; +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> @@ -17,4 +38,74 @@ @Service public class ManageAccountRoleServiceImpl extends ServiceImpl<ManageAccountRoleMapper, ManageAccountRole> implements ManageAccountRoleService { + @Autowired + ManageAccountRoleMapper manageAccountRoleMapper; + @Autowired + ManageRoleMapper manageRoleMapper; + @Autowired + ManageRoleService manageRoleService; + @Autowired + ManageAccountMapper manageAccountMapper; + @Autowired + LogUtils logUtils; + + @Override + @Transactional + public AccountRoleDTO updateAccountRole(AccountRoleUpdateForm form) { + //������������������ + AccountRoleDTO dto = new AccountRoleDTO(); + //������ + 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)) { + 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); + } + } -- Gitblit v1.8.0