From 1d0fc6126fb664e81a1a3737d8eaf4a618e7cb0f Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期二, 07 一月 2025 10:34:34 +0800
Subject: [PATCH] add:配置

---
 src/main/java/com/mzl/flower/service/system/UserService.java |   66 +++++++++++++++++++++++++++++++++
 1 files changed, 66 insertions(+), 0 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 fca2da7..6721d3c 100644
--- a/src/main/java/com/mzl/flower/service/system/UserService.java
+++ b/src/main/java/com/mzl/flower/service/system/UserService.java
@@ -3,21 +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;
@@ -28,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;
@@ -73,6 +83,21 @@
 
     @Autowired
     private EmployeeMapper employeeMapper;
+
+    @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
             , String imgUrl, String nickname,String userType){
@@ -132,6 +157,7 @@
     }
 
     public CurrentUserDTO getCurrentUser() {
+
         String userId = SecurityUtils.getUserId();
 
         CurrentUserDTO result = new CurrentUserDTO();
@@ -188,10 +214,50 @@
 
         if(Constants.USER_TYPE.customer.name().equals(user.getType())){
             result.setCustomerDTO(customerService.getCurrentCustomer());
+            //查询积分
+            CustomerPoint customerPoint = customerPointMapper.selectOne(new LambdaQueryWrapper<CustomerPoint>()
+                    .eq(CustomerPoint::getUserId, userId));
+            if(customerPoint == null){
+                result.setCurrentPoint(0);
+            }else{
+                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());
+//            if (!ObjectUtils.isEmpty(dto)) {
+//                globalSupplierVariables.removeSupplier(String.valueOf(dto.getId()));
+//            }
+            String tempUserId = "";
+            if (!ObjectUtils.isEmpty(sub)) {
+                tempUserId = globalSupplierVariables.getSupplier(String.valueOf(sub.getId()));
+            } else {
+                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