From c751933819729c429a16353dced879bdb8615395 Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期一, 21 三月 2022 15:06:33 +0800
Subject: [PATCH] LED熙讯---任务详情图片路径

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java |   69 ++++++++++++++++++++++++----------
 1 files changed, 48 insertions(+), 21 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
index e6bd78d..a21ae7f 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
@@ -2,12 +2,16 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.sandu.common.enums.RoleLevelStatus;
 import com.sandu.common.execption.BusinessException;
 import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.service.impl.BaseServiceImpl;
-import com.sandu.ximon.admin.param.ClientPrarm;
+import com.sandu.ximon.admin.param.AddClientPrarm;
+import com.sandu.ximon.admin.param.UpdateClientPrarm;
 import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.dao.domain.Client;
+import com.sandu.ximon.dao.domain.ClientRoleRelation;
+import com.sandu.ximon.dao.domain.Role;
 import com.sandu.ximon.dao.mapper.ClientMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.security.crypto.password.PasswordEncoder;
@@ -21,35 +25,58 @@
 
     private final ClientMapper clientMapper;
     private final PasswordEncoder passwordEncoder;
+    private final ClientRoleRelationService clientRoleRelationService;
+    private final RoleService roleService;
 
 
-    public boolean addClient(ClientPrarm clientPrarm) {
+    public boolean addClient(AddClientPrarm addClientPrarm) {
 
-        if (getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getClientName, clientPrarm.getClientName().trim())) != null) {
+        if (getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getClientName, addClientPrarm.getClientName().trim())) != null) {
             throw new BusinessException("璇ョ敤鎴峰悕宸插瓨鍦紒");
         }
 
         Client client = new Client();
-        if (clientPrarm.getClientSuperior() != null && !"".equals(clientPrarm.getClientSuperior())) {
-            Client one = getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getClientName, clientPrarm.getClientSuperior()));
+        if (addClientPrarm.getClientSuperior() != null && !"".equals(addClientPrarm.getClientSuperior())) {
+            Client one = getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getClientName, addClientPrarm.getClientSuperior()));
             if (one != null) {
-                client.setSuperiorId(one.getId());
+                if(one.getSuperiorId() == null){
+                    client.setSuperiorId(one.getId());
+                }else{
+                    throw new BusinessException("涓婄骇瀹㈡埛涓嶈兘涓轰簩绾х敤鎴�");
+                }
             } else {
                 throw new BusinessException("涓婄骇瀹㈡埛涓嶅瓨鍦�");
             }
         }
-        client.setClientName(clientPrarm.getClientName());
-        client.setLinkMan(clientPrarm.getLinkMan());
-        client.setMobile(clientPrarm.getMobile());
-        client.setClientSuperior(clientPrarm.getClientSuperior());
-        client.setPassword(passwordEncoder.encode(clientPrarm.getPassword()));
+
+        Role role = roleService.getById(addClientPrarm.getRoleId());
+        if (role == null) {
+            throw new BusinessException("瑙掕壊涓嶅瓨鍦�");
+        }
+        if (!RoleLevelStatus.NORMAL.getCode().equals(role.getLevel())) {
+            throw new BusinessException("鏃犳硶娣诲姞瓒呯骇绠$悊鍛樻垨鐢ㄦ埛绠$悊鍛�");
+        }
 
 
-        return save(client);
+        client.setClientName(addClientPrarm.getClientName());
+        client.setLinkMan(addClientPrarm.getLinkMan());
+        client.setMobile(addClientPrarm.getMobile());
+        client.setClientSuperior(addClientPrarm.getClientSuperior());
+        client.setPassword(passwordEncoder.encode(addClientPrarm.getPassword()));
+        boolean flag = save(client);
+
+        ClientRoleRelation clientRoleRelation = new ClientRoleRelation();
+        clientRoleRelation.setClientId(client.getId());
+        clientRoleRelation.setRoleId(addClientPrarm.getRoleId());
+        if (!clientRoleRelationService.save(clientRoleRelation)) {
+            throw new BusinessException("娣诲姞绠$悊鍛樿鑹插け璐�");
+        }
+
+        return flag;
     }
 
 
-    public boolean updateClient(Long id, ClientPrarm clientPrarm) {
+    public boolean updateClient(Long id, UpdateClientPrarm updateClientPrarm) {
         //鍒ゆ柇鐢ㄦ埛鏄惁瀛樺湪
         Client one = getById(id);
         if (one == null) {
@@ -57,29 +84,29 @@
         }
 
         //鍒ゆ柇鐢ㄦ埛鍚嶆槸鍚﹂噸澶�
-        if (getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getClientName, clientPrarm.getClientName().trim())) != null) {
+        Client client1 = getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getClientName, updateClientPrarm.getClientName().trim()));
+        if (client1 != null && !client1.getId().equals(one.getId())) {
             throw new BusinessException("璇ョ敤鎴峰悕宸插瓨鍦紒");
         }
         //鍒ゆ柇涓婄骇鐢ㄦ埛鏄惁瀛樺湪
         Client client = new Client();
-        if (clientPrarm.getClientSuperior() != null) {
-            Client superior = getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getClientName, clientPrarm.getClientSuperior()));
+        if (updateClientPrarm.getClientSuperior() != null && updateClientPrarm.getClientSuperior().trim().length() != 0) {
+            Client superior = getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getClientName, updateClientPrarm.getClientSuperior()));
             if (superior != null) {
                 if (superior.getId().equals(one.getId())) {
                     throw new BusinessException("涓婄骇瀹㈡埛涓烘湰璐︽埛锛�");
                 } else {
                     client.setSuperiorId(superior.getId());
+                    client.setClientSuperior(updateClientPrarm.getClientSuperior());
                 }
             } else {
                 throw new BusinessException("涓婄骇瀹㈡埛涓嶅瓨鍦�");
             }
         }
         client.setId(id);
-        client.setClientName(clientPrarm.getClientName());
-        client.setLinkMan(clientPrarm.getLinkMan());
-        client.setMobile(clientPrarm.getMobile());
-        client.setClientSuperior(clientPrarm.getClientSuperior());
-        client.setPassword(passwordEncoder.encode(clientPrarm.getPassword()));
+        client.setClientName(updateClientPrarm.getClientName());
+        client.setLinkMan(updateClientPrarm.getLinkMan());
+        client.setMobile(updateClientPrarm.getMobile());
 
         // update(client);
         return updateById(client);

--
Gitblit v1.9.3