From 9b774a0d10e522323a51053ae9b79e02af3accae Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期二, 10 十二月 2024 13:29:13 +0800
Subject: [PATCH] add: 供应商子账号3

---
 src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java |   57 +++++++++++++++++++++++++---
 src/main/java/com/mzl/flower/web/supplier/SupplierSubController.java  |   27 ++++++++-----
 src/main/java/com/mzl/flower/entity/supplier/SupplierSub.java         |   10 ++++
 src/main/java/com/mzl/flower/service/system/UserService.java          |    4 +-
 4 files changed, 78 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/mzl/flower/entity/supplier/SupplierSub.java b/src/main/java/com/mzl/flower/entity/supplier/SupplierSub.java
index 4902cc8..0619d21 100644
--- a/src/main/java/com/mzl/flower/entity/supplier/SupplierSub.java
+++ b/src/main/java/com/mzl/flower/entity/supplier/SupplierSub.java
@@ -1,12 +1,12 @@
 package com.mzl.flower.entity.supplier;
 
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.mzl.flower.base.BaseAutoEntity;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.time.LocalDateTime;
 
 @Data
 @TableName("t_supplier_sub_info")
@@ -32,4 +32,12 @@
     @ApiModelProperty("启用/禁用")
     private Boolean isEnabled;
 
+    @TableField(exist = false)
+    private Boolean isSub;
+
+    @TableField(exist = false)
+    private Integer type;
+
+
+
 }
diff --git a/src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java b/src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java
index b73a886..7a61aef 100644
--- a/src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java
+++ b/src/main/java/com/mzl/flower/service/supplier/SupplierSubService.java
@@ -36,6 +36,7 @@
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.ObjectUtils;
 import org.springframework.util.StringUtils;
 
@@ -248,20 +249,36 @@
     }
 
     public List<SupplierSub> getSubSupplier() {
+        List<SupplierSub> supplierSubs = new ArrayList<>();
         SupplierDTO supplierDTO = supplierMapper.getCurrentSupplier(SecurityUtils.getUserId());
-        if(ObjectUtils.isEmpty(supplierDTO)){
+        if (ObjectUtils.isEmpty(supplierDTO)) {
             throw new ValidationException("供应商信息不存在");
         }
-        return supplierSubMapper.getSubSupplier(String.valueOf(supplierDTO.getId()));
+
+        List<SupplierSub> subSupplier = supplierSubMapper.getSubSupplier(String.valueOf(supplierDTO.getId()));
+        if (!CollectionUtils.isEmpty(subSupplier)) {
+            subSupplier.forEach(s -> {
+                s.setIsSub(true);
+                s.setType(0);
+            });
+            supplierSubs.addAll(subSupplier);
+        }
+        return supplierSubs;
     }
 
     public SupplierSub getById(Long id) {
         return supplierSubMapper.selectById(id);
     }
 
-    public CurrentUserDTO getSwitchById(Long id) {
-        SupplierSub supplierSub = supplierSubMapper.selectById(id);
-        String userId = supplierSub.getUserId();
+    public CurrentUserDTO getSwitchById(Long id, int type) {
+        String userId = "";
+        if (type == 1) {
+            userId = SecurityUtils.getUserId();
+        }else {
+            SupplierSub supplierSub = supplierSubMapper.selectById(id);
+            supplierSub.setType(0);
+            userId = supplierSub.getUserId();
+        }
 
         CurrentUserDTO result = new CurrentUserDTO();
 
@@ -319,8 +336,9 @@
             }
         }else if(Constants.USER_TYPE.supplier.name().equals(user.getType())){
             result.setSupplierDTO(supplierService.getCurrentSupplier());
-            SupplierSub sub = supplierSubMapper.getCurrentSupplier(SecurityUtils.getUserId());
+            SupplierSub sub = supplierSubMapper.getCurrentSupplier(userId);
             if (!ObjectUtils.isEmpty(sub)) {
+                sub.setType(0);
                 result.setIsSubSupplier(true);
                 result.setSupplierSub(sub);
                 result.setSwitchFlag(true);
@@ -344,4 +362,31 @@
     public User getUserById(String id){
         return userMapper.selectById(id);
     }
+
+    public List<SupplierSub> getAllSupplier() {
+        List<SupplierSub> supplierSubs = new ArrayList<>();
+        SupplierDTO supplierDTO = supplierMapper.getCurrentSupplier(SecurityUtils.getUserId());
+        if (!ObjectUtils.isEmpty(supplierDTO)) {
+            SupplierSub subParent = new SupplierSub();
+            subParent.setId((long) -1);
+            subParent.setUserId(supplierDTO.getUserId());
+            subParent.setSupplierId(supplierDTO.getId());
+            subParent.setName(supplierDTO.getName());
+            subParent.setContact(supplierDTO.getContactName());
+            subParent.setPhone(supplierDTO.getContactTel());
+            subParent.setIsEnabled(supplierDTO.getIsEnabled());
+            subParent.setIsSub(false);
+            subParent.setType(1);
+            supplierSubs.add(subParent);
+        }
+        List<SupplierSub> subSupplier = supplierSubMapper.getSubSupplier(String.valueOf(supplierDTO.getId()));
+        if (!CollectionUtils.isEmpty(subSupplier)) {
+            subSupplier.forEach(s->{
+                s.setIsSub(true);
+                s.setType(0);
+            });
+            supplierSubs.addAll(subSupplier);
+        }
+        return supplierSubs;
+    }
 }
diff --git a/src/main/java/com/mzl/flower/service/system/UserService.java b/src/main/java/com/mzl/flower/service/system/UserService.java
index 5b704fe..b2f93d0 100644
--- a/src/main/java/com/mzl/flower/service/system/UserService.java
+++ b/src/main/java/com/mzl/flower/service/system/UserService.java
@@ -220,12 +220,12 @@
                 result.setIsSubSupplier(true);
                 result.setSupplierSub(sub);
                 //可切换
-                result.setSwitchFlag(true);
+                result.setSwitchFlag(false);
             } else {
                 result.setIsSubSupplier(false);
                 result.setSupplierSub(null);
                 //不可切换
-                result.setSwitchFlag(false);
+                result.setSwitchFlag(true);
             }
         }else if(Constants.USER_TYPE.partner.name().equals(user.getType())){
             result.setPartnerDTO(partnerService.getCurrentPartner());
diff --git a/src/main/java/com/mzl/flower/web/supplier/SupplierSubController.java b/src/main/java/com/mzl/flower/web/supplier/SupplierSubController.java
index ee11286..0307f5d 100644
--- a/src/main/java/com/mzl/flower/web/supplier/SupplierSubController.java
+++ b/src/main/java/com/mzl/flower/web/supplier/SupplierSubController.java
@@ -6,7 +6,6 @@
 import com.mzl.flower.base.ReturnDataDTO;
 import com.mzl.flower.dto.request.supplier.*;
 import com.mzl.flower.dto.response.current.CurrentUserDTO;
-import com.mzl.flower.dto.response.payment.DeliveryOrderItemListDTO;
 import com.mzl.flower.dto.response.supplier.SupplierSubVO;
 import com.mzl.flower.entity.supplier.SupplierSub;
 import com.mzl.flower.service.supplier.SupplierSubService;
@@ -21,7 +20,7 @@
 import java.util.List;
 
 @RestController
-@RequestMapping("/api/supplierSub")
+@RequestMapping("/api")
 @Api(value = "供应商子账号管理", tags = "供应商子账号管理")
 @Validated
 @Slf4j
@@ -34,7 +33,7 @@
     }
 
 
-    @PostMapping("/addOrUpdate")
+    @PostMapping("/supplierSub/addOrUpdate")
     @ApiOperation(value = "供应商子账号信息登记、修改", notes = "供应商信息子账号登记、修改")
     public ResponseEntity<ReturnDataDTO> addOrUpdateSupplier(@Validated @RequestBody SupplierSubDTO dto) {
         supplierSubService.addOrUpdateSupplier(dto);
@@ -42,44 +41,50 @@
     }
 
 
-    @GetMapping("/page")
+    @GetMapping("/supplierSub/page")
     @ApiOperation(value = "运营端-供应商子账号分页查询", notes = "运营端-供应商子账号分页查询")
     public ResponseEntity<ReturnDataDTO<Page<SupplierSubVO>>> querySupplier(QuerySupplierSubDTO dto, Page page) {
         return returnData(R.SUCCESS.getCode(), supplierSubService.querySupplier(dto, page));
     }
 
 
-    @GetMapping("/page/isEnable")
+    @GetMapping("/supplierSub/page/isEnable")
     @ApiOperation(value = "子账号启用/禁用", notes = "子账号启用/禁用")
     public ResponseEntity<ReturnDataDTO<String>> isEnable(@NotNull(message = "id不能为空") Long id) {
         supplierSubService.isEnable(id);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
-    @PostMapping("/delete/{id}")
+    @PostMapping("/supplierSub/delete/{id}")
     @ApiOperation(value = "子账号删除", notes = "子账号删除")
     public ResponseEntity<ReturnDataDTO> delete(@PathVariable("id") Long id) {
         supplierSubService.delete(id);
         return returnData(R.SUCCESS.getCode(), null);
     }
 
-    @GetMapping("/sub/all")
+    @GetMapping("/supplierSub/sub/all")
     @ApiOperation(value = "获取当前用户下子账号信息", notes = "获取当前用户下子账号信息")
     public ResponseEntity<ReturnDataDTO<List<SupplierSub>>> getSubSupplier() {
         return returnData(R.SUCCESS.getCode(), supplierSubService.getSubSupplier());
     }
 
-    @GetMapping("/getById")
+    @GetMapping("/supplierSub/getById")
     @ApiOperation(value = "通过ID查询子账号", notes = "通过ID查询子账号")
     public ResponseEntity<ReturnDataDTO<SupplierSub>> getById(@NotNull(message = "id不能为空") Long id) {
         SupplierSub supplierSub = supplierSubService.getById(id);
         return returnData(R.SUCCESS.getCode(), supplierSub);
     }
 
-    @GetMapping("/getSwitchById")
+    @GetMapping("/supplierSub/getSwitchById")
     @ApiOperation(value = "子账号切换", notes = "子账号切换")
-    public ResponseEntity<ReturnDataDTO<CurrentUserDTO>> getSwitchById(@NotNull(message = "id不能为空") Long id) {
-        CurrentUserDTO currentUserDTO = supplierSubService.getSwitchById(id);
+    public ResponseEntity<ReturnDataDTO<CurrentUserDTO>> getSwitchById(@NotNull(message = "id不能为空") Long id,  Integer type) {
+        CurrentUserDTO currentUserDTO = supplierSubService.getSwitchById(id, type);
         return returnData(R.SUCCESS.getCode(), currentUserDTO);
     }
+
+    @GetMapping("/supplierAccount/all")
+    @ApiOperation(value = "获取当前用户下所有账号信息", notes = "获取当前用户下所有账号信息")
+    public ResponseEntity<ReturnDataDTO<List<SupplierSub>>> getSupplierAccount() {
+        return returnData(R.SUCCESS.getCode(), supplierSubService.getAllSupplier());
+    }
 }

--
Gitblit v1.9.3