From 6ee2a947a786edad9eb19a5401de7fcc456b90a6 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期二, 10 十二月 2024 18:23:11 +0800
Subject: [PATCH] add: 供应商子账号4

---
 src/main/java/com/mzl/flower/service/system/UserService.java |   42 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 41 insertions(+), 1 deletions(-)

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 855ec56..92bf94e 100644
--- a/src/main/java/com/mzl/flower/service/system/UserService.java
+++ b/src/main/java/com/mzl/flower/service/system/UserService.java
@@ -3,24 +3,30 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.config.GlobalSupplierVariables;
 import com.mzl.flower.config.exception.ValidationException;
 import com.mzl.flower.config.security.SecurityUtils;
 import com.mzl.flower.constant.Constants;
 import com.mzl.flower.dto.request.BindWechatDTO;
 import com.mzl.flower.dto.request.system.*;
 import com.mzl.flower.dto.response.current.CurrentUserDTO;
+import com.mzl.flower.dto.response.supplier.SupplierDTO;
 import com.mzl.flower.dto.response.system.EmployeeDTO;
 import com.mzl.flower.dto.response.system.MenuTreeDTO;
 import com.mzl.flower.dto.response.system.UserDetailsDTO;
 import com.mzl.flower.dto.response.system.UserListDTO;
 import com.mzl.flower.entity.point.CustomerPoint;
+import com.mzl.flower.entity.supplier.SupplierSub;
 import com.mzl.flower.entity.system.*;
 import com.mzl.flower.enums.TrueOrFalseEnum;
 import com.mzl.flower.mapper.point.CustomerPointMapper;
+import com.mzl.flower.mapper.supplier.SupplierMapper;
+import com.mzl.flower.mapper.supplier.SupplierSubMapper;
 import com.mzl.flower.mapper.system.*;
 import com.mzl.flower.service.customer.CustomerService;
 import com.mzl.flower.service.partner.PartnerService;
 import com.mzl.flower.service.point.CustomerPointService;
+import com.mzl.flower.service.supplier.StationService;
 import com.mzl.flower.service.supplier.SupplierService;
 import com.mzl.flower.utils.TreeBuilderUtil;
 import com.mzl.flower.utils.UUIDGenerator;
@@ -31,6 +37,7 @@
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
 
 import javax.validation.constraints.NotBlank;
 import java.util.ArrayList;
@@ -79,6 +86,17 @@
 
     @Autowired
     private CustomerPointMapper customerPointMapper;
+    @Autowired
+    private StationService stationService;
+
+    @Autowired
+    private SupplierSubMapper supplierSubMapper;
+
+    @Autowired
+    private SupplierMapper supplierMapper;
+
+    @Autowired
+    private  GlobalSupplierVariables globalSupplierVariables;
 
 
     public User findUserByOpenId(String openId, String sessionKey, String unionId
@@ -139,6 +157,7 @@
     }
 
     public CurrentUserDTO getCurrentUser() {
+
         String userId = SecurityUtils.getUserId();
 
         CurrentUserDTO result = new CurrentUserDTO();
@@ -201,13 +220,34 @@
             if(customerPoint == null){
                 result.setCurrentPoint(0);
             }else{
-                Integer currentPoint =customerPoint.getTotalPoint()-customerPoint.getUsedPoint()-customerPoint.getExpiredPoint();
+                Integer currentPoint =customerPoint.getTotalPoint()-customerPoint.getUsedPoint()-customerPoint.getExpiredPoint()-customerPoint.getDeductionPoint();
                 result.setCurrentPoint(currentPoint>=0?currentPoint:0);
             }
         }else if(Constants.USER_TYPE.supplier.name().equals(user.getType())){
             result.setSupplierDTO(supplierService.getCurrentSupplier());
+            SupplierSub sub = supplierSubMapper.getCurrentSupplier(SecurityUtils.getUserId());
+            SupplierDTO dto = supplierMapper.getCurrentSupplier(SecurityUtils.getUserId());
+            String tempUserId = globalSupplierVariables.getSupplier(String.valueOf(dto.getId()));
+            if (!ObjectUtils.isEmpty(sub)) {
+                result.setIsSubSupplier(true);
+                result.setSupplierSub(sub);
+                result.setSwitchFlag(false);
+            } else {
+                if (!StringUtils.isBlank(tempUserId)) {
+                    SupplierSub temSub = supplierSubMapper.getCurrentSupplier(tempUserId);
+                    result.setIsSubSupplier(true);
+                    result.setSupplierSub(temSub);
+                    result.setSwitchFlag(true);
+                } else {
+                    result.setIsSubSupplier(false);
+                    result.setSupplierSub(null);
+                    result.setSwitchFlag(true);
+                }
+            }
         }else if(Constants.USER_TYPE.partner.name().equals(user.getType())){
             result.setPartnerDTO(partnerService.getCurrentPartner());
+        }else if (Constants.USER_TYPE.admin.name().equals(user.getType())){
+            result.setMainWarehouse(stationService.getMainWarehouse(user.getId()));
         }
         result.setBindWechat(wechatMapper.selectCount(new LambdaQueryWrapper<UserWechat>()
                 .eq(UserWechat::getUserId, userId)) > 0);

--
Gitblit v1.9.3