From 657182c7989dc77b69bb3f9adaf6c75b6466ff95 Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Wed, 09 Jun 2021 10:31:35 +0800 Subject: [PATCH] screen-manage 编辑账号接口删除分配角色功能,分配角色功能变为单独接口 --- screen-manage/src/main/java/com/moral/api/pojo/dto/accountRole/AccountRoleDTO.java | 19 ++++ screen-manage/src/main/java/com/moral/api/pojo/form/accountRole/AccountRoleUpdateForm.java | 24 ++++++ screen-manage/src/main/java/com/moral/api/service/ManageAccountRoleService.java | 11 ++ screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountRoleServiceImpl.java | 37 +++++++++ screen-manage/src/main/java/com/moral/api/pojo/form/account/AccountUpdateForm.java | 4 screen-manage/src/main/java/com/moral/api/controller/AccountController.java | 24 +++++- screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java | 69 ---------------- 7 files changed, 115 insertions(+), 73 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/controller/AccountController.java b/screen-manage/src/main/java/com/moral/api/controller/AccountController.java index e361433..3d6d8af 100644 --- a/screen-manage/src/main/java/com/moral/api/controller/AccountController.java +++ b/screen-manage/src/main/java/com/moral/api/controller/AccountController.java @@ -1,11 +1,11 @@ package com.moral.api.controller; import com.moral.api.pojo.dto.account.*; -import com.moral.api.pojo.form.account.AccountDeleteForm; -import com.moral.api.pojo.form.account.AccountInsertForm; -import com.moral.api.pojo.form.account.AccountQueryForm; -import com.moral.api.pojo.form.account.AccountUpdateForm; +import com.moral.api.pojo.dto.accountRole.AccountRoleDTO; +import com.moral.api.pojo.form.account.*; +import com.moral.api.pojo.form.accountRole.AccountRoleUpdateForm; import com.moral.api.pojo.vo.account.AccountQueryVO; +import com.moral.api.service.ManageAccountRoleService; import com.moral.api.service.ManageAccountService; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; @@ -23,6 +23,8 @@ public class AccountController { @Autowired ManageAccountService accountService; + @Autowired + ManageAccountRoleService manageAccountRoleService; @PostMapping("insert") public ResultMessage insert(@RequestBody AccountInsertForm form) { @@ -92,4 +94,18 @@ return new ResultMessage(accountQueryDTO.getCode(), accountQueryDTO.getMsg(), accountQueryVO); } + @PostMapping("updateRole") + public ResultMessage updateRole(@RequestBody AccountRoleUpdateForm form){ + + //������������������������ + if (!form.valid()) + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), + ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + + //������������������ + AccountRoleDTO dto = manageAccountRoleService.updateAccountRole(form); + + return new ResultMessage(dto.getCode(), dto.getMsg(), null); + } + } diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/accountRole/AccountRoleDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/accountRole/AccountRoleDTO.java new file mode 100644 index 0000000..95a84b0 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/accountRole/AccountRoleDTO.java @@ -0,0 +1,19 @@ +package com.moral.api.pojo.dto.accountRole; + +import lombok.Data; + +/** + * @ClassName AccountRoleDTO + * @Description TODO + * @Author ��������� + * @Date 2021/6/9 8:56 + * @Version TODO + **/ +@Data +public class AccountRoleDTO { + + private Integer code; + + private String msg; + +} diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/account/AccountUpdateForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/account/AccountUpdateForm.java index ae3cfe8..238e94d 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/form/account/AccountUpdateForm.java +++ b/screen-manage/src/main/java/com/moral/api/pojo/form/account/AccountUpdateForm.java @@ -33,7 +33,6 @@ private String wechat; - private List<Integer> roleIds; public boolean valid() { if (ObjectUtils.isEmpty(accountId)) @@ -43,8 +42,7 @@ ObjectUtils.isEmpty(password) && ObjectUtils.isEmpty(email) && ObjectUtils.isEmpty(mobile) && - ObjectUtils.isEmpty(wechat) && - null == roleIds + ObjectUtils.isEmpty(wechat) ) return false; return true; diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/accountRole/AccountRoleUpdateForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/accountRole/AccountRoleUpdateForm.java new file mode 100644 index 0000000..038a4b3 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/pojo/form/accountRole/AccountRoleUpdateForm.java @@ -0,0 +1,24 @@ +package com.moral.api.pojo.form.accountRole; + +import lombok.Data; + +/** + * @ClassName AccountUpdateRoleForm + * @Description TODO + * @Author ��������� + * @Date 2021/6/9 8:51 + * @Version TODO + **/ +@Data +public class AccountRoleUpdateForm { + + private Integer accountId; + + private Integer roleId; + + public boolean valid(){ + if(accountId==null) + return false; + return true; + } +} diff --git a/screen-manage/src/main/java/com/moral/api/service/ManageAccountRoleService.java b/screen-manage/src/main/java/com/moral/api/service/ManageAccountRoleService.java index 3abe688..8cd5a9c 100644 --- a/screen-manage/src/main/java/com/moral/api/service/ManageAccountRoleService.java +++ b/screen-manage/src/main/java/com/moral/api/service/ManageAccountRoleService.java @@ -2,6 +2,8 @@ import com.moral.api.entity.ManageAccountRole; import com.baomidou.mybatisplus.extension.service.IService; +import com.moral.api.pojo.dto.accountRole.AccountRoleDTO; +import com.moral.api.pojo.form.accountRole.AccountRoleUpdateForm; /** * <p> @@ -13,4 +15,13 @@ */ public interface ManageAccountRoleService extends IService<ManageAccountRole> { + /** + * @Description: ������������������ + * @Param: [form] + * @return: com.moral.api.pojo.dto.accountRole.AccountRoleDTO + * @Author: ��������� + * @Date: 2021/6/9 + */ + AccountRoleDTO updateAccountRole(AccountRoleUpdateForm form); + } 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..cceb0f7 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,19 @@ 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.ManageAccountRole; import com.moral.api.mapper.ManageAccountRoleMapper; +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.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; /** * <p> @@ -17,4 +26,32 @@ @Service public class ManageAccountRoleServiceImpl extends ServiceImpl<ManageAccountRoleMapper, ManageAccountRole> implements ManageAccountRoleService { + @Autowired + ManageAccountRoleMapper manageAccountRoleMapper; + + @Override + @Transactional + public AccountRoleDTO updateAccountRole(AccountRoleUpdateForm form) { + //������������������ + AccountRoleDTO dto = new AccountRoleDTO(); + //������ + Integer accountId = form.getAccountId(); + Integer roleId = form.getRoleId(); + //������������������������������������ + 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); + } + //������������������ + dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); + dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); + return dto; + } + } diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java index 35f5d05..947fae4 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java @@ -372,7 +372,6 @@ AccountDTO accountDTO = new AccountDTO(); //������ ManageAccount manageAccount = accountUpdateForm.formConvertEntity(); - List<Integer> roleIds = accountUpdateForm.getRoleIds(); //������������������������������������������ QueryWrapper<ManageAccount> oldAccountWrapper = new QueryWrapper<>(); @@ -388,35 +387,10 @@ } //������ManageAccount��� - Map manageAccountMap = JSONObject.parseObject(JSON.toJSONString(manageAccount), Map.class);//���������Map��������������������������� - if (manageAccountMap.size() > 1) {//������������������������id��������������������������������� - manageAccountMapper.updateById(manageAccount); - } + manageAccountMapper.updateById(manageAccount); - //������������������������������ - List<ManageRole> oldRoles = manageRoleMapper.getManageRoleByAccountId(manageAccount.getId()); - - //���������������������������������ManageAccountRole��� - /* - * ������roleIds���null������������������������������������������ - * ������roleIds��������������������������������������������������� - * ������roleIds��������������������������������������������� - * */ - if (roleIds != null) { - //������������������ - UpdateWrapper<ManageAccountRole> deleteWrapper = new UpdateWrapper<>(); - deleteWrapper.eq("account_id", manageAccount.getId()).set("is_delete", Constants.DELETE); - manageAccountRoleMapper.update(null, deleteWrapper); - /*������������������*/ - for (Integer roleId : roleIds) { - ManageAccountRole manageAccountRole = new ManageAccountRole(); - manageAccountRole.setAccountId(manageAccount.getId()); - manageAccountRole.setRoleId(roleId); - manageAccountRoleMapper.insert(manageAccountRole); - } - } //������������������ - insertUpdateLog(accountUpdateForm, oldManageAccount, oldRoles); + insertUpdateLog(accountUpdateForm, oldManageAccount); //������token TokenUtils.destoryToken(manageAccount.getId()); //������������������ @@ -432,7 +406,7 @@ * @Author: ��������� * @Date: 2021/4/8 */ - private void insertUpdateLog(AccountUpdateForm updateForm, ManageAccount oldAccount, List<ManageRole> oldRoles) { + private void insertUpdateLog(AccountUpdateForm updateForm, ManageAccount oldAccount) { //������������������ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); StringBuilder content = new StringBuilder(); @@ -448,43 +422,6 @@ if ("password".equals(key)) {//������������������������������������������ if (!ObjectUtils.isEmpty(updateForm.getPassword())) {//��������������������������������� content.append("���������������;"); - } - } else if ("roleIds".equals(key)) {//������������������������Id��������������������� - List<Integer> newRoleIds = updateForm.getRoleIds(); - - if (newRoleIds != null && 0 == newRoleIds.size()) {//��������������������������������������������������������������� - content.append("������������������������������;"); - } - if ((newRoleIds != null) && (newRoleIds.size() != 0)) {//���������������������������������������������null��������������������������� - StringBuilder oldRolesName = new StringBuilder("���"); - StringBuilder newRolesName = new StringBuilder("���"); - - List<ManageRole> newRoles = null; - if (!ObjectUtils.isEmpty(updateForm.getRoleIds())) { - newRoles = manageRoleMapper.selectBatchIds(updateForm.getRoleIds()); - } - - if (!ObjectUtils.isEmpty(oldRoles)) { - oldRolesName.deleteCharAt(oldRolesName.length() - 1);//������ "���" - oldRolesName.append("["); - for (ManageRole role : oldRoles) { - oldRolesName.append(role.getName() + ","); - } - oldRolesName.deleteCharAt(oldRolesName.length() - 1);//������������������������ - oldRolesName.append("]"); - } - - if (!ObjectUtils.isEmpty(newRoles)) { - newRolesName.deleteCharAt(newRolesName.length() - 1);//������ "���" - newRolesName.append("["); - for (ManageRole role : newRoles) { - newRolesName.append(role.getName() + ","); - } - newRolesName.deleteCharAt(newRolesName.length() - 1);//������������������������ - newRolesName.append("]"); - } - //������������content - content.append(value + ":" + oldRolesName + "->" + newRolesName + ";"); } } else {//������������������ if (newParameters.get(key) != null) { -- Gitblit v1.8.0