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