From fb8b419852d63782681a7ce4681f72c6fd47a96b Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期一, 23 九月 2024 15:32:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master-v2' into master-v2

---
 src/main/java/com/mzl/flower/service/partner/PartnerService.java |   73 +++++++++++++++++++++++++++++++++++-
 1 files changed, 70 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/partner/PartnerService.java b/src/main/java/com/mzl/flower/service/partner/PartnerService.java
index efe2f5d..69a2141 100644
--- a/src/main/java/com/mzl/flower/service/partner/PartnerService.java
+++ b/src/main/java/com/mzl/flower/service/partner/PartnerService.java
@@ -10,10 +10,12 @@
 import com.mzl.flower.dto.request.partner.*;
 import com.mzl.flower.dto.response.partner.PartnerDTO;
 import com.mzl.flower.entity.partner.Partner;
-import com.mzl.flower.entity.supplier.Supplier;
+import com.mzl.flower.entity.system.User;
 import com.mzl.flower.mapper.partner.PartnerMapper;
+import com.mzl.flower.mapper.system.UserMapper;
 import com.mzl.flower.service.BaseService;
 import com.mzl.flower.service.UploadService;
+import com.mzl.flower.service.system.UserService;
 import com.mzl.flower.utils.DateUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -39,6 +41,8 @@
 
     private final PartnerMapper partnerMapper;
 
+    private final UserMapper userMapper;
+
 
     private final WxMaService maService;
 
@@ -48,8 +52,9 @@
     @Resource
     private BaseService baseService;
 
-    public PartnerService(PartnerMapper partnerMapper, WxMaService maService, UploadService uploadService) {
+    public PartnerService(PartnerMapper partnerMapper, UserMapper userMapper, WxMaService maService, UploadService uploadService) {
         this.partnerMapper = partnerMapper;
+        this.userMapper = userMapper;
         this.maService = maService;
         this.uploadService = uploadService;
     }
@@ -59,6 +64,22 @@
         if(dto.getId()==null){ //注册
             if(checkExist(dto.getUserId())){
                 throw new ValidationException("合伙人信息已登记");
+            }
+            if(StringUtils.isNotBlank(dto.getContactTel()) && StringUtils.isNotBlank(dto.getUserId())){
+                //验证手机号
+                User user = userMapper.selectById(dto.getUserId());
+                if(user==null){
+                    throw new ValidationException("合伙人账号信息不存在");
+                }
+                if(userMapper.selectCount(new LambdaQueryWrapper<User>().eq(User::getTel, dto.getContactTel())
+                        .eq(User::getType, Constants.USER_TYPE.partner.name())
+                        .ne(User::getId, dto.getUserId())
+                        .eq(User::getDeleted, 0)
+                )>0){
+                    throw new ValidationException("手机号已被注册使用");
+                }
+                user.setTel(dto.getContactTel());
+                userMapper.updateById(user);
             }
             partner = new Partner();
             BeanUtils.copyProperties(dto, partner,"id");
@@ -71,6 +92,23 @@
             partner = partnerMapper.selectById(dto.getId());
             if(partner==null){
                 throw new ValidationException("合伙人信息未登记");
+            }
+            if(StringUtils.isNotBlank(dto.getContactTel()) && !partner.getContactTel().equals(dto.getContactTel())){
+                //验证手机号
+                User user = userMapper.selectById(partner.getUserId());
+                if(user==null){
+                    throw new ValidationException("合伙人账号信息不存在");
+                }
+                if(userMapper.selectCount(new LambdaQueryWrapper<User>().eq(User::getTel, dto.getContactTel())
+                        .eq(User::getType, Constants.USER_TYPE.partner.name())
+                        .ne(User::getId, partner.getUserId())
+                        .eq(User::getDeleted, 0)
+                )>0){
+                    throw new ValidationException("手机号已被注册使用");
+                }
+                user.setTel(dto.getContactTel());
+                partner.setContactTel(dto.getContactTel());
+                userMapper.updateById(user);
             }
             BeanUtils.copyProperties(dto, partner,"id");
             partner.setIdCards(JSON.toJSONString(dto.getIdCards()));
@@ -138,11 +176,29 @@
         if(StringUtils.isNotBlank(dto.getName())){
             partner.setName(dto.getName());
         }
-        if(StringUtils.isNotBlank(dto.getContactTel())){
+        if(StringUtils.isNotBlank(dto.getContactTel()) && !partner.getContactTel().equals(dto.getContactTel())){
+            //验证手机号
+            User user = userMapper.selectById(partner.getUserId());
+            if(user==null){
+                throw new ValidationException("合伙人账号信息不存在");
+            }
+            if(userMapper.selectCount(new LambdaQueryWrapper<User>().eq(User::getTel, dto.getContactTel())
+                    .eq(User::getType, Constants.USER_TYPE.partner.name())
+                    .ne(User::getId, partner.getUserId())
+                    .eq(User::getDeleted, 0)
+            )>0){
+                throw new ValidationException("手机号已被注册使用");
+            }
+            user.setTel(dto.getContactTel());
             partner.setContactTel(dto.getContactTel());
+            userMapper.updateById(user);
         }
         partner.update(SecurityUtils.getUserId());
         partnerMapper.updateById(partner);
+
+
+
+
     }
     public String generateCodeDTO(GenerateCodeDTO dto) {
         try {
@@ -190,4 +246,15 @@
         partner.update(SecurityUtils.getUserId());
         partnerMapper.updateById(partner);
     }
+
+    public void baseUpdate(UpdatePartnerBaseDTO dto) {
+        Partner partner = partnerMapper.selectById(dto.getId());
+        if(partner==null){
+            throw new ValidationException("合伙人信息未登记");
+        }
+        BeanUtils.copyProperties(dto, partner,"id");
+        partner.update(SecurityUtils.getUserId());
+        partnerMapper.updateById(partner);
+    }
+
 }

--
Gitblit v1.9.3