From c417ccf6b15ffeb1edf3dc2e63b7bfcb00f30628 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 27 九月 2024 19:03:35 +0800
Subject: [PATCH] aa

---
 server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerInfoRequest.java     |    3 +
 server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomCRMServiceImpl.java              |    9 ++++
 server/web/src/main/java/com/doumee/api/web/CatalogApi.java                                |   12 +-----
 server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerUsernameRequest.java |   17 ++++++++
 server/service/src/main/java/com/doumee/dao/business/model/CustomerLog.java                |    5 ++
 server/service/src/main/java/com/doumee/dao/web/reqeust/FreeCustomizationDTO.java          |    2 +
 server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java     |   33 ++++++++++++++--
 7 files changed, 67 insertions(+), 14 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomCRMServiceImpl.java b/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomCRMServiceImpl.java
index 60da93d..2262a23 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomCRMServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomCRMServiceImpl.java
@@ -64,6 +64,15 @@
         entity.setAreaname(customerLog.getAreaName());
         entity.setAreacode(customerLog.getAreaCode());
         entity.setOpenid(customerLog.getOpenid());
+        entity.setUserData(new ArrayList<>());
+        if(StringUtils.isNotBlank(customerLog.getUsernames())){
+            String[] names = customerLog.getUsernames().split(",");
+            for(String str:names){
+                CrmCustomerUsernameRequest usernameRequest = new CrmCustomerUsernameRequest();
+                usernameRequest.setUserName(str);
+                entity.getUserData().add(usernameRequest);//瀵艰喘鐧婚檰璐﹀彿闆嗗悎
+            }
+        }
 //        鎻愪氦绫诲瀷 0-娴嬭瘯瑁呬慨椋庢牸锛�1-0鍏冨畾鍒讹紱2瑁呬慨璁$畻鍣�
         if(Constants.equalsInteger(customerLog.getType(),Constants.ONE)){
             entity.setSource(CRMConstants.CRM_SOURCE.SOURCE_MP01);
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerInfoRequest.java b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerInfoRequest.java
index 0de506d..4e5126d 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerInfoRequest.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerInfoRequest.java
@@ -5,6 +5,7 @@
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.List;
 
 @Data
 @ApiModel("蹇楅偊CRM瀹㈡埛鐣欒祫鎻愪氦鍙傛暟")
@@ -39,4 +40,6 @@
     private String openid;
     @ApiModelProperty(value = "缁堢淇℃伅")
     private String terminal;
+    @ApiModelProperty(value = "瀵艰喘淇℃伅鍒楄〃")
+    private List<CrmCustomerUsernameRequest> userData;
 }
\ No newline at end of file
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerUsernameRequest.java b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerUsernameRequest.java
new file mode 100644
index 0000000..ab6d3c1
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/crm/CrmCustomerUsernameRequest.java
@@ -0,0 +1,17 @@
+package com.doumee.biz.zbom.model.crm;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@ApiModel("瀵艰喘鐧诲綍璐﹀彿鎻愪氦鍙傛暟")
+public   class CrmCustomerUsernameRequest extends CRMBaseRequst implements Serializable {
+
+    @ApiModelProperty(value = "瀵艰喘鐧诲綍璐﹀彿")
+    private String userName;
+
+}
\ No newline at end of file
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/CustomerLog.java b/server/service/src/main/java/com/doumee/dao/business/model/CustomerLog.java
index 5d94445..6df7440 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/CustomerLog.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/CustomerLog.java
@@ -13,6 +13,7 @@
 import org.apache.xpath.operations.Bool;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * 瀹㈡埛鐣欒祫璁板綍淇℃伅琛�
@@ -140,6 +141,9 @@
     @ApiModelProperty(value = "crm鎻愪氦澶囨敞")
     @ExcelColumn(name="crm鎻愪氦澶囨敞")
     private String crmInfo;
+    @ApiModelProperty(value = "瀵艰喘鐧诲綍鍚嶉泦鍚堬紝鑻辨枃閫楀彿闅斿紑")
+    @ExcelColumn(name="瀵艰喘鐧诲綍鍚嶉泦鍚堬紝鑻辨枃閫楀彿闅斿紑")
+    private String usernames;
 
     @ApiModelProperty(value = "鍖哄煙")
     @ExcelColumn(name="鍖哄煙")
@@ -169,4 +173,5 @@
     @TableField(exist = false)
     private Integer isHiddenPhone;
 
+
 }
diff --git a/server/service/src/main/java/com/doumee/dao/web/reqeust/FreeCustomizationDTO.java b/server/service/src/main/java/com/doumee/dao/web/reqeust/FreeCustomizationDTO.java
index b337e14..1d16b0d 100644
--- a/server/service/src/main/java/com/doumee/dao/web/reqeust/FreeCustomizationDTO.java
+++ b/server/service/src/main/java/com/doumee/dao/web/reqeust/FreeCustomizationDTO.java
@@ -44,5 +44,7 @@
 
     @ApiModelProperty(value = "鍖哄煙缂栫爜")
     private String areaCode;
+    @ApiModelProperty(value = "瀵艰喘鐧诲綍鍚�")
+    private String username;
 
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java
index 5fdc7af..d75b23e 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java
@@ -9,10 +9,9 @@
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.CustomerLogMapper;
 import com.doumee.dao.business.CustomerMapper;
+import com.doumee.dao.business.CustomerUserMapper;
 import com.doumee.dao.business.MemberMapper;
-import com.doumee.dao.business.model.Customer;
-import com.doumee.dao.business.model.CustomerLog;
-import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.*;
 import com.doumee.dao.web.reqeust.FreeCustomizationDTO;
 import com.doumee.dao.web.reqeust.RenovationCalculatorDTO;
 import com.doumee.dao.web.reqeust.TestTrimStyleDTO;
@@ -22,6 +21,8 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.business.CustomerUserService;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.checkerframework.checker.units.qual.A;
 import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -47,6 +48,8 @@
 
     @Autowired
     private CustomerLogMapper customerLogMapper;
+    @Autowired
+    private CustomerUserMapper customerUserMapper;
 
     @Autowired
     private MemberMapper memberMapper;
@@ -288,7 +291,6 @@
         customer.setOpenid(member.getOpenid());
         customer.setMemberId(member.getId());
         customer.setName(freeCustomizationDTO.getName());
-
         customer.setProName(freeCustomizationDTO.getProvinceName());
         customer.setCityName(freeCustomizationDTO.getCityName());
         customer.setAreaName(freeCustomizationDTO.getAreaName());
@@ -314,6 +316,29 @@
         customerLog.setAreaCode(freeCustomizationDTO.getAreaCode());
         customerLog.setName(freeCustomizationDTO.getName());
         customerLog.setPhone(freeCustomizationDTO.getPhone());
+        customerLog.setUsernames(freeCustomizationDTO.getUsername());
+        if(org.apache.commons.lang3.StringUtils.isBlank(freeCustomizationDTO.getUsername())){
+            //濡傛灉瀵艰喘淇℃伅涓虹┖锛屾煡璇㈣瀹㈡埛宸茬粦瀹氱殑瀵艰喘淇℃伅锛屼紶閫掔粰CRM浣跨敤
+            List<CustomerUser> userList = customerUserMapper.selectJoinList(CustomerUser.class,
+                    new MPJLambdaWrapper<CustomerUser>()
+                    .selectAs(Users::getIamUsername,CustomerUser::getUsername)
+                    .leftJoin(Users.class, Users::getId,CustomerUser::getUserId)
+                    .eq(CustomerUser::getIsdeleted,Constants.ZERO)
+                    .eq(CustomerUser::getCustomerPhone,customerLog.getPhone())
+                    .groupBy(Users::getIamUsername));
+            if(userList!=null && userList.size()>0){
+                String names = "";
+                for(CustomerUser cu : userList){
+                    if(!names.equals("")){
+                        names += ",";
+                    }
+                    names += cu.getUsername();
+                }
+                if(!names.equals("")){
+                   customerLog.setUsernames(names);
+                }
+            }
+        }
         customerLogMapper.insert(customerLog);
         customerLog.setOpenid(member.getOpenid());
         return  customerLog;
diff --git a/server/web/src/main/java/com/doumee/api/web/CatalogApi.java b/server/web/src/main/java/com/doumee/api/web/CatalogApi.java
index 5273bf6..282a6a4 100644
--- a/server/web/src/main/java/com/doumee/api/web/CatalogApi.java
+++ b/server/web/src/main/java/com/doumee/api/web/CatalogApi.java
@@ -1,21 +1,13 @@
 package com.doumee.api.web;
 
 import com.doumee.biz.zbom.ZbomZhongTaiService;
-import com.doumee.config.annotation.UserLoginRequired;
 import com.doumee.core.annotation.trace.Trace;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.dao.business.model.SmsEmail;
-import com.doumee.dao.web.response.AccountResponse;
-import com.doumee.dao.web.response.ZSZXCatalogResponse;
 import com.doumee.service.business.SmsEmailService;
-import com.doumee.service.business.UsersService;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * Created by IntelliJ IDEA.

--
Gitblit v1.9.3