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