From f3637227614f3f7efa372d827f4dafb7cc8a85bf Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期四, 28 十二月 2023 11:24:12 +0800
Subject: [PATCH] 第二阶段

---
 user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java |   49 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 47 insertions(+), 2 deletions(-)

diff --git a/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java b/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java
index 307ae3e..1017636 100644
--- a/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java
+++ b/user-server/src/main/java/com/yuanchu/mom/service/imp/RoleServiceImp.java
@@ -2,10 +2,16 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.yuanchu.mom.common.GetLook;
 import com.yuanchu.mom.common.PrintChina;
+import com.yuanchu.mom.dto.RolePowerDto;
 import com.yuanchu.mom.dto.UserPageDto;
+import com.yuanchu.mom.mapper.PowerMapper;
 import com.yuanchu.mom.mapper.RoleMapper;
 import com.yuanchu.mom.mapper.UserMapper;
+import com.yuanchu.mom.pojo.Menu;
+import com.yuanchu.mom.pojo.Power;
 import com.yuanchu.mom.pojo.Role;
 import com.yuanchu.mom.pojo.User;
 import com.yuanchu.mom.service.RoleService;
@@ -14,6 +20,7 @@
 import com.yuanchu.mom.utils.QueryWrappers;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.DigestUtils;
 
 import java.util.HashMap;
@@ -26,6 +33,10 @@
 
     private RoleMapper roleMapper;
 
+    private PowerMapper powerMapper;
+
+    private GetLook getLook;
+
     @Override
     public List<Role> selectList() {
         return roleMapper.selectList(null);
@@ -35,6 +46,8 @@
     public Map<String, Object> selectUserList(IPage<Role> page, Role role) {
         Map<String, Object> map = new HashMap<>();
         map.put("head", PrintChina.printChina(Role.class));
+        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectDataReportingList");
+        if(map1.get("look")==1) role.setCreateUser(map1.get("userId"));
         map.put("body", roleMapper.selectPage(page, QueryWrappers.queryWrappers(role)));
         return map;
     }
@@ -45,7 +58,39 @@
     }
 
     @Override
-    public int addRole(Role role) {
-        return roleMapper.insert(role);
+    @Transactional(rollbackFor = Exception.class)
+    public int addRole(RolePowerDto rolePowerDto) {
+        Role role = new Role();
+        role.setName(rolePowerDto.getRoleName());
+        int insert = roleMapper.insert(role);
+        if (insert == 1){
+            rolePowerDto.getPowers().forEach(a->{
+                a.setRoleId(role.getId());
+                powerMapper.insert(a);
+            });
+        }
+        return 1;
+    }
+
+    @Override
+    public List<Menu> selectMenuList() {
+        return roleMapper.selectMenuList();
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int upRole(RolePowerDto rolePowerDto) {
+        Role role = new Role();
+        role.setName(rolePowerDto.getRoleName());
+        role.setId(rolePowerDto.getRoleId2());
+        int up = roleMapper.updateById(role);
+        if (up == 1){
+            powerMapper.delete(Wrappers.<Power>lambdaUpdate().eq(Power::getRoleId, role.getId()));
+            rolePowerDto.getPowers().forEach(a->{
+                a.setRoleId(role.getId());
+                powerMapper.insert(a);
+            });
+        }
+        return 1;
     }
 }

--
Gitblit v1.9.3