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/dto/response/partner/PartnerDTO.java          |    4 ++
 src/main/java/com/mzl/flower/service/partner/PartnerService.java           |   73 +++++++++++++++++++++++++++++++++++-
 src/main/java/com/mzl/flower/dto/request/partner/UpdatePartnerBaseDTO.java |   27 +++++++++++++
 src/main/java/com/mzl/flower/entity/partner/Partner.java                   |    4 ++
 src/main/java/com/mzl/flower/web/partner/PartnerController.java            |    8 ++++
 5 files changed, 113 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/mzl/flower/dto/request/partner/UpdatePartnerBaseDTO.java b/src/main/java/com/mzl/flower/dto/request/partner/UpdatePartnerBaseDTO.java
new file mode 100644
index 0000000..8b115fd
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/request/partner/UpdatePartnerBaseDTO.java
@@ -0,0 +1,27 @@
+package com.mzl.flower.dto.request.partner;
+
+import com.mzl.flower.dto.AttachmentDTO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class UpdatePartnerBaseDTO {
+
+    private Long id;
+
+    @ApiModelProperty("用户id")
+    private String userId;
+
+    @ApiModelProperty("名称")
+    private String name;
+
+    @ApiModelProperty("联系方式")
+    private String contactTel;
+
+    @ApiModelProperty("头像")
+    private String cover;
+
+
+}
diff --git a/src/main/java/com/mzl/flower/dto/response/partner/PartnerDTO.java b/src/main/java/com/mzl/flower/dto/response/partner/PartnerDTO.java
index f57ed7c..b71392a 100644
--- a/src/main/java/com/mzl/flower/dto/response/partner/PartnerDTO.java
+++ b/src/main/java/com/mzl/flower/dto/response/partner/PartnerDTO.java
@@ -67,4 +67,8 @@
 
     @ApiModelProperty("启用/禁用")
     private Boolean isEnabled;
+
+    @ApiModelProperty("头像")
+    private String cover;
+
 }
diff --git a/src/main/java/com/mzl/flower/entity/partner/Partner.java b/src/main/java/com/mzl/flower/entity/partner/Partner.java
index 805f960..7857853 100644
--- a/src/main/java/com/mzl/flower/entity/partner/Partner.java
+++ b/src/main/java/com/mzl/flower/entity/partner/Partner.java
@@ -55,4 +55,8 @@
 
     @ApiModelProperty("启用/禁用")
     private Boolean isEnabled;
+
+    @ApiModelProperty("头像")
+    private String cover;
+
 }
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);
+    }
+
 }
diff --git a/src/main/java/com/mzl/flower/web/partner/PartnerController.java b/src/main/java/com/mzl/flower/web/partner/PartnerController.java
index 3a3a2c8..5e0fce5 100644
--- a/src/main/java/com/mzl/flower/web/partner/PartnerController.java
+++ b/src/main/java/com/mzl/flower/web/partner/PartnerController.java
@@ -30,6 +30,14 @@
     }
 
 
+    @PostMapping("/base/update")
+    @ApiOperation(value = "合伙人基本信息修改", notes = "合伙人基本信息修改")
+    public ResponseEntity<ReturnDataDTO> baseUpdate(@Validated @RequestBody UpdatePartnerBaseDTO dto) {
+        partnerService.baseUpdate(dto);
+        return returnData(R.SUCCESS.getCode(),null);
+    }
+
+
     @PostMapping("/addOrUpdate")
     @ApiOperation(value = "合伙人信息登记、修改", notes = "合伙人信息登记、修改")
     public ResponseEntity<ReturnDataDTO> addOrUpdatePartner(@Validated @RequestBody UpdatePartnerDTO dto) {

--
Gitblit v1.9.3