From 0d4ff0b2396e202a028a6f952b088d19b5545550 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 25 七月 2024 17:13:47 +0800
Subject: [PATCH] 代码提交

---
 server/service/src/main/java/com/doumee/dao/business/model/News.java                              |    4 
 server/web/src/main/java/com/doumee/api/web/CustomerApi.java                                      |   25 ++--
 server/service/src/main/java/com/doumee/dao/web/reqeust/GenerateQRCodeRequest.java                |   32 +++++
 server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTContentListRequest.java         |    2 
 server/service/src/main/java/com/doumee/service/business/GetZhongTaiDataService.java              |    8 
 server/service/src/main/java/com/doumee/service/business/impl/GetCrmDataServiceImpl.java          |    6 
 server/service/src/main/java/com/doumee/service/business/UsersService.java                        |    4 
 server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java     |   99 +++++++++++++---
 server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java              |   15 +-
 server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTImageListResponse.java |    3 
 server/service/src/main/java/com/doumee/core/utils/Constants.java                                 |    2 
 server/web/src/main/java/com/doumee/api/web/PersonnelApi.java                                     |   16 ++
 server/service/src/main/java/com/doumee/dao/web/reqeust/EditShopDTO.java                          |    3 
 server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java                |   10 +
 server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java               |   53 ++++++++
 server/web/src/main/java/com/doumee/api/web/CustomerManageApi.java                                |   28 ++++
 server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java                |   20 +++
 17 files changed, 275 insertions(+), 55 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTContentListRequest.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTContentListRequest.java
index eee4daf..497b92d 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTContentListRequest.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/ZTContentListRequest.java
@@ -29,7 +29,7 @@
 //    @ApiModelProperty(value = "鏍囩")
 //    private String tagCodes;
 
-    @ApiModelProperty(value = "鎺掑簭鏂瑰紡 NORMAL - 榛樿锛汬OT - 鏈�鐑紱LATEST - 鏈�鏂帮紱")
+    @ApiModelProperty(value = "鎺掑簭 榛樿涓嶄紶锛涙渶鐑璯reet锛涙渶鏂皌ime")
     private String sortType;
 
     @ApiModelProperty(value = "澶氫釜鏍囩鍞竴缂栫爜鐨勫垪琛紝澶氫釜鏍囩鍞竴缂栫爜鐨勫垪琛�")
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTImageListResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTImageListResponse.java
index 55dd5ac..182dfee 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTImageListResponse.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTImageListResponse.java
@@ -1,6 +1,7 @@
 package com.doumee.biz.zbom.model.zhongtai.response;
 
 import com.doumee.biz.zbom.model.zhongtai.APISpaceCaseVo;
+import com.doumee.dao.business.model.Users;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -15,4 +16,6 @@
 
     private List<String> imageurlList;
 
+    private Users users;
+
 }
diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java
index 18ba136..7620899 100644
--- a/server/service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -680,7 +680,7 @@
         // 姝e紡鐗堜负 "release"锛屼綋楠岀増涓� "trial"锛屽紑鍙戠増涓� "develop"銆傞粯璁ゆ槸姝e紡鐗堛��
         String env_version = "trial";
         body.put("env_version", env_version);
-        if(env_version.equals("release")){
+        if(env_version.equals("release")&&StringUtils.isNotBlank(page)){
             body.put("page", page);
         }
         // 閫忔槑锛屾牴鎹綘鐨勫満鏅嚜琛岃缃産ody鍙傛暟
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/News.java b/server/service/src/main/java/com/doumee/dao/business/model/News.java
index 04c6aef..87a285a 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/News.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/News.java
@@ -112,6 +112,10 @@
     @TableField(exist = false)
     private List<Multifile> fileList;
 
+    @ApiModelProperty(value = "鏄惁鏌ヨ鍙戝竷锛�0=鍚︼紱1=鏄�")
+    @TableField(exist = false)
+    private Integer isPublish;
+
     @ApiModelProperty(value = "绱犳潗绫诲瀷 0鎺ㄥ箍璧勮 1瀹氬埗鏈嶅姟", example = "1")
     @ExcelColumn(name="绱犳潗绫诲瀷 0鎺ㄥ箍璧勮 1瀹氬埗鏈嶅姟")
     private Integer type;
diff --git a/server/service/src/main/java/com/doumee/dao/web/reqeust/EditShopDTO.java b/server/service/src/main/java/com/doumee/dao/web/reqeust/EditShopDTO.java
index 7bf9b07..baa727d 100644
--- a/server/service/src/main/java/com/doumee/dao/web/reqeust/EditShopDTO.java
+++ b/server/service/src/main/java/com/doumee/dao/web/reqeust/EditShopDTO.java
@@ -39,4 +39,7 @@
 
     @ApiModelProperty(value = "绾害", example = "1")
     private BigDecimal latitude;
+
+    @ApiModelProperty(value = "鎿嶄綔浜�", hidden = true)
+    private Long userId;
 }
diff --git a/server/service/src/main/java/com/doumee/dao/web/reqeust/GenerateQRCodeRequest.java b/server/service/src/main/java/com/doumee/dao/web/reqeust/GenerateQRCodeRequest.java
new file mode 100644
index 0000000..7af17b4
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/web/reqeust/GenerateQRCodeRequest.java
@@ -0,0 +1,32 @@
+package com.doumee.dao.web.reqeust;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/7/25 10:35
+ */
+@Data
+public class GenerateQRCodeRequest {
+
+    @ApiModelProperty(value = "涓氬姟绫诲瀷锛�0:浜у搧;1:妗堜緥;2:瀹炴櫙")
+    private Integer businessType;
+
+    @ApiModelProperty(value = "涓氬姟涓婚敭")
+    private String businessId;
+
+    @ApiModelProperty(value = "iam缂栫爜")
+    private String iamId;
+
+    @ApiModelProperty(value = "璺宠浆鍦板潃",hidden = true)
+    private String path;
+
+
+
+
+
+
+}
diff --git a/server/service/src/main/java/com/doumee/service/business/GetZhongTaiDataService.java b/server/service/src/main/java/com/doumee/service/business/GetZhongTaiDataService.java
index e208654..1b156d0 100644
--- a/server/service/src/main/java/com/doumee/service/business/GetZhongTaiDataService.java
+++ b/server/service/src/main/java/com/doumee/service/business/GetZhongTaiDataService.java
@@ -122,7 +122,7 @@
      * @param userId
      * @return
      */
-    ZTProductInfoResponse getProductInfo(String id,String userType,Long userId);
+    ZTProductInfoResponse getProductInfo(String id,String userType,Long userId,String salesId);
 
     /**
      * 涓彴 - 鍏ㄥ眿璧勮璇︽儏
@@ -131,7 +131,7 @@
      * @param userId
      * @return
      */
-    ZTCaseInfoResponse getWholecaseInfo(String id,String userType,Long userId);
+    ZTCaseInfoResponse getWholecaseInfo(String id,String userType,Long userId,String salesId);
 
     /**
      * 涓彴 - 浜у搧璧勮璇︽儏
@@ -140,7 +140,7 @@
      * @param userId
      * @return
      */
-    ZTProductNewsInfoResponse getProductNewsInfo(String id,String userType,Long userId);
+    ZTProductNewsInfoResponse getProductNewsInfo(String id,String userType,Long userId,String salesId);
 
     /**
      * 涓彴 - 瀹炴櫙妗堜緥
@@ -149,7 +149,7 @@
      * @param userId
      * @return
      */
-    ZTRealcaseInfoResponse getRealcaseInfo(String id,String userType,Long userId);
+    ZTRealcaseInfoResponse getRealcaseInfo(String id,String userType,Long userId,String salesId);
 
     /**
      * 涓彴 - 鎴戠殑鏀惰棌/鍠滄鍒楄〃
diff --git a/server/service/src/main/java/com/doumee/service/business/UsersService.java b/server/service/src/main/java/com/doumee/service/business/UsersService.java
index d7fbd06..62aae8d 100644
--- a/server/service/src/main/java/com/doumee/service/business/UsersService.java
+++ b/server/service/src/main/java/com/doumee/service/business/UsersService.java
@@ -7,10 +7,12 @@
 import com.doumee.dao.business.model.Users;
 import com.doumee.dao.web.reqeust.ContentShareImgDto;
 import com.doumee.dao.web.reqeust.EditUsersRequest;
+import com.doumee.dao.web.reqeust.GenerateQRCodeRequest;
 import com.doumee.dao.web.reqeust.WxPhoneRequest;
 import com.doumee.dao.web.response.AccountResponse;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.InputStream;
 import java.util.List;
 
 /**
@@ -124,4 +126,6 @@
     ZTBaseRequst logOff(Long userId,String token);
 
     AccountResponse getWxMiniPhoneLogin(WxPhoneRequest wxPhoneRequest);
+
+    InputStream getQrCode(GenerateQRCodeRequest generateQRCodeRequest);
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/GetCrmDataServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/GetCrmDataServiceImpl.java
index 08026cc..fe47fd6 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/GetCrmDataServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/GetCrmDataServiceImpl.java
@@ -56,8 +56,10 @@
         ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
-        Users users = usersMapper.selectById(crmCustomerListRequest.getUserId());
-        crmCustomerListRequest.setUserName(users.getIamUsername());
+        if(StringUtils.isBlank(crmCustomerListRequest.getUserName())){
+            Users users = usersMapper.selectById(crmCustomerListRequest.getUserId());
+            crmCustomerListRequest.setUserName(users.getIamUsername());
+        }
         CRMBaseResponse<List<CRMCustomerListResponse>> crmBaseResponse = zbomCRMService.getCustomerList(crmCustomerListRequest);
         if(Objects.isNull(crmBaseResponse)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"CRM鎺ュ彛璇锋眰澶辫触!");
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
index 8c91401..10cdaf7 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/GetZhongTaiDataServiceImpl.java
@@ -10,10 +10,12 @@
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
+import com.doumee.dao.business.CustomerUserMapper;
 import com.doumee.dao.business.IamInterfaceLogMapper;
 import com.doumee.dao.business.MemberMapper;
 import com.doumee.dao.business.UsersMapper;
 import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.Users;
 import com.doumee.dao.web.response.ZSZXCatalogResponse;
 import com.doumee.dao.web.response.ZTBaseInfoResponse;
 import com.doumee.service.business.GetZhongTaiDataService;
@@ -48,6 +50,9 @@
 
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
+
+    @Autowired
+    private CustomerUserMapper customerUserMapper;
 
     @Autowired
     private RedisTemplate<String, Object> redisTemplate;
@@ -272,7 +277,7 @@
 
 
     @Override
-    public ZTProductInfoResponse getProductInfo(String id,String userType,Long userId){
+    public ZTProductInfoResponse getProductInfo(String id,String userType,Long userId,String salesId){
         //鏌ヨ 涓彴 TOKEN
         ZTBaseInfoResponse ztBaseInfoResponse  = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
         ZTContentInfoRequest ztContentListRequest = new ZTContentInfoRequest();
@@ -281,6 +286,19 @@
         ztContentListRequest.setId(id);
         ZTProductInfoResponse response = zbomZhongTaiService.getProductInfo(ztContentListRequest);
         if(Objects.nonNull(response)){
+            //鏌ヨ瀵艰喘淇℃伅 杩涜淇℃伅缁戝畾涓庤繑鍥�
+            if(StringUtils.isNotBlank(salesId)){
+                Users users = usersMapper.selectById(salesId);
+                if(Objects.nonNull(users)){
+                    MemberServiceImpl.saveCustomerUser(customerUserMapper,users,userId);
+                    String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
+                            StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
+                    if(StringUtils.isNotBlank(users.getImgurl())){
+                        users.setImgurlFull(prefix + users.getImgurl());
+                    }
+                    response.setUsers(users);
+                }
+            }
             List<String> stringList = new ArrayList<String>();
             if (StringUtils.isNotBlank(response.getCoverImage())) {
                 stringList.add(response.getCoverImage());
@@ -311,7 +329,7 @@
     }
 
     @Override
-    public ZTCaseInfoResponse getWholecaseInfo(String id,String userType,Long userId){
+    public ZTCaseInfoResponse getWholecaseInfo(String id,String userType,Long userId,String salesId){
         //鏌ヨ 涓彴 TOKEN
         ZTBaseInfoResponse ztBaseInfoResponse  = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
         ZTContentInfoRequest ztContentListRequest = new ZTContentInfoRequest();
@@ -319,30 +337,45 @@
         ztContentListRequest.setUserType(ztBaseInfoResponse.getUserType());
         ztContentListRequest.setId(id);
         ZTCaseInfoResponse response = zbomZhongTaiService.getWholecaseInfo(ztContentListRequest);
-        List<String> stringList = new ArrayList<String>();
-        if (StringUtils.isNotBlank(response.getCoverImage())) {
-            stringList.add(response.getCoverImage());
-        }
-        if(Objects.nonNull(response.getLayoutUlr())){
-            stringList.add(response.getLayoutUlr());
-        }
-        APISpaceCaseVo[]  apiSpaceCaseVoList = response.getApiSpaceCaseVos();
-        if(Objects.nonNull(apiSpaceCaseVoList)){
-            for (APISpaceCaseVo apiSpaceCaseVo:apiSpaceCaseVoList) {
-                if(StringUtils.isNotBlank(apiSpaceCaseVo.getCoverImage())){
-                    stringList.add(apiSpaceCaseVo.getCoverImage());
-                }
-                if(Objects.nonNull(apiSpaceCaseVo.getImgList())){
-                    stringList.addAll(Arrays.asList(apiSpaceCaseVo.getImgList()));
+        if(Objects.nonNull(response)){
+            //鏌ヨ瀵艰喘淇℃伅 杩涜淇℃伅缁戝畾涓庤繑鍥�
+            if(StringUtils.isNotBlank(salesId)){
+                Users users = usersMapper.selectById(salesId);
+                if(Objects.nonNull(users)){
+                    MemberServiceImpl.saveCustomerUser(customerUserMapper,users,userId);
+                    String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
+                            StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
+                    if(StringUtils.isNotBlank(users.getImgurl())){
+                        users.setImgurlFull(prefix + users.getImgurl());
+                    }
+                    response.setUsers(users);
                 }
             }
+            List<String> stringList = new ArrayList<String>();
+            if (StringUtils.isNotBlank(response.getCoverImage())) {
+                stringList.add(response.getCoverImage());
+            }
+            if(Objects.nonNull(response.getLayoutUlr())){
+                stringList.add(response.getLayoutUlr());
+            }
+            APISpaceCaseVo[]  apiSpaceCaseVoList = response.getApiSpaceCaseVos();
+            if(Objects.nonNull(apiSpaceCaseVoList)){
+                for (APISpaceCaseVo apiSpaceCaseVo:apiSpaceCaseVoList) {
+                    if(StringUtils.isNotBlank(apiSpaceCaseVo.getCoverImage())){
+                        stringList.add(apiSpaceCaseVo.getCoverImage());
+                    }
+                    if(Objects.nonNull(apiSpaceCaseVo.getImgList())){
+                        stringList.addAll(Arrays.asList(apiSpaceCaseVo.getImgList()));
+                    }
+                }
+            }
+            response.setImageurlList(stringList);
         }
-        response.setImageurlList(stringList);
         return response;
     }
 
     @Override
-    public ZTProductNewsInfoResponse getProductNewsInfo(String id,String userType,Long userId){
+    public ZTProductNewsInfoResponse getProductNewsInfo(String id,String userType,Long userId,String salesId){
         //鏌ヨ 涓彴 TOKEN
         ZTBaseInfoResponse ztBaseInfoResponse  = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
         ZTContentInfoRequest ztContentListRequest = new ZTContentInfoRequest();
@@ -351,6 +384,19 @@
         ztContentListRequest.setId(id);
         ZTProductNewsInfoResponse response = zbomZhongTaiService.getProductNewsInfo(ztContentListRequest);
         if(Objects.nonNull(response)){
+            //鏌ヨ瀵艰喘淇℃伅 杩涜淇℃伅缁戝畾涓庤繑鍥�
+            if(StringUtils.isNotBlank(salesId)){
+                Users users = usersMapper.selectById(salesId);
+                if(Objects.nonNull(users)){
+                    MemberServiceImpl.saveCustomerUser(customerUserMapper,users,userId);
+                    String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
+                            StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
+                    if(StringUtils.isNotBlank(users.getImgurl())){
+                        users.setImgurlFull(prefix + users.getImgurl());
+                    }
+                    response.setUsers(users);
+                }
+            }
             List<String> stringList = new ArrayList<String>();
             if (StringUtils.isNotBlank(response.getCoverImage())) {
                 stringList.add(response.getCoverImage());
@@ -380,7 +426,7 @@
     }
 
     @Override
-    public ZTRealcaseInfoResponse getRealcaseInfo(String id,String userType,Long userId){
+    public ZTRealcaseInfoResponse getRealcaseInfo(String id,String userType,Long userId,String salesId){
         //鏌ヨ 涓彴 TOKEN
         ZTBaseInfoResponse ztBaseInfoResponse  = MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,userId,userType);
         ZTContentInfoRequest ztContentListRequest = new ZTContentInfoRequest();
@@ -389,6 +435,19 @@
         ztContentListRequest.setId(id);
         ZTRealcaseInfoResponse response = zbomZhongTaiService.getRealcaseInfo(ztContentListRequest);
         if(Objects.nonNull(response)){
+            //鏌ヨ瀵艰喘淇℃伅 杩涜淇℃伅缁戝畾涓庤繑鍥�
+            if(StringUtils.isNotBlank(salesId)){
+                Users users = usersMapper.selectById(salesId);
+                if(Objects.nonNull(users)){
+                    MemberServiceImpl.saveCustomerUser(customerUserMapper,users,userId);
+                    String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
+                            StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
+                    if(StringUtils.isNotBlank(users.getImgurl())){
+                        users.setImgurlFull(prefix + users.getImgurl());
+                    }
+                    response.setUsers(users);
+                }
+            }
             List<String> stringList = new ArrayList<String>();
             if (StringUtils.isNotBlank(response.getCoverImage())) {
                 stringList.add(response.getCoverImage());
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index ea5a395..c6c0fa3 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -267,7 +267,7 @@
 
 
     @Override
-    public AccountResponse wxLogin(String code,String iamId){
+    public AccountResponse wxLogin(String code,String userId){
         try {
 //            鑾峰彇寰俊鏁忔劅鏁版嵁
             WxMaJscode2SessionResult session = WxMiniConfig.wxCustomerService.getUserService().getSessionInfo(code);
@@ -278,11 +278,8 @@
 //            String openId = code;
             Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId).isNotNull("phone"));
             Users users = new Users();
-            if(StringUtils.isNotBlank(iamId)){
-                users = usersMapper.selectOne(new QueryWrapper<Users>().lambda()
-                        .eq(Users::getIamId,iamId)
-                        .last("limit 1")
-                );
+            if(StringUtils.isNotBlank(userId)){
+                users = usersMapper.selectById(userId);
             }
             if (member == null) {
                 member = new Member();
@@ -302,14 +299,14 @@
                     member.setToken(ztUserGetTokenResponse.getToken());
                 }
                 memberMapper.insert(member);
-                this.saveCustomerUser(users,member.getId());
+                MemberServiceImpl.saveCustomerUser(customerUserMapper,users,member.getId());
             }else{
                 ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
                 if(!Objects.isNull(ztUserGetTokenResponse)){
                     member.setToken(ztUserGetTokenResponse.getToken());
                     memberMapper.updateById(member);
                 }
-                this.saveCustomerUser(users,member.getId());
+                MemberServiceImpl.saveCustomerUser(customerUserMapper,users,member.getId());
                 member = this.getMemberInfo(member.getId());
             }
             String token = JwtTokenUtil.generateTokenForZb(member.getId(),ZTConstants.CUSTOMER, JSONObject.toJSON(member).toString(),redisTemplate);
@@ -324,7 +321,7 @@
         throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"寰俊鐧诲綍寮傚父锛佽鑱旂郴绠$悊鍛�");
     }
 
-    public void saveCustomerUser(Users users,Long memberId){
+    public static void saveCustomerUser(CustomerUserMapper customerUserMapper,Users users,Long memberId){
         if(Objects.nonNull(users)&&Objects.nonNull(memberId)) {
             if (customerUserMapper.selectCount(new QueryWrapper<CustomerUser>().lambda()
                     .eq(CustomerUser::getIsdeleted, Constants.ZERO)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java
index 22a4e05..5e8210c 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java
@@ -200,6 +200,9 @@
         if (pageWrap.getModel().getId() != null) {
             queryWrapper.eq(News::getId, pageWrap.getModel().getId());
         }
+        if(pageWrap.getModel().getIsPublish()!=null && Constants.equalsInteger(pageWrap.getModel().getIsPublish(),Constants.ONE)){
+            queryWrapper.apply(" now() >= t.PUBLISH_DATE ");
+        }
         if (pageWrap.getModel().getCreator() != null) {
             queryWrapper.eq(News::getCreator, pageWrap.getModel().getCreator());
         }
@@ -391,9 +394,22 @@
         dailyUpdatesResponse.setShareNum(
                 actionsMapper.selectCount(new QueryWrapper<Actions>())
         );
-        dailyUpdatesResponse.setNewsList(
-                this.getCustomizedNewsList(Constants.ZERO,Constants.THREE,Constants.ZERO)
+        List<News> list = newsMapper.selectList(new QueryWrapper<News>().lambda()
+                .eq(News::getIsdeleted,Constants.ZERO)
+                .eq(News::getType,Constants.ZERO)
+                .eq(News::getStatus,Constants.ZERO)
+                .eq(News::getFileType,Constants.ZERO)
+                .last( "limit 3"  )
+                .orderByDesc(News::getCreateDate)
         );
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){
+            List<Long> idList =  list.stream().map(i->i.getId()).collect(Collectors.toList());
+            List<Multifile> files = dealMultifileList(idList);
+            for(News model : list){
+                setFilelistById(model,files);
+            }
+        }
+        dailyUpdatesResponse.setNewsList(list);
         return dailyUpdatesResponse;
     }
 
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
index a556d35..0c185d7 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java
@@ -100,6 +100,11 @@
     @Override
     public void updateById(Shop shop) {
         shopMapper.updateById(shop);
+        usersMapper.update(new UpdateWrapper<Users>().lambda()
+                .set(Users::getCardImg,null)
+                .isNotNull(Users::getCardImg)
+                .eq(Users::getDepartmentId,shop.getId())
+        );
     }
 
     @Override
@@ -1016,6 +1021,11 @@
         Shop updShop = new Shop();
         BeanUtils.copyProperties(editShopDTO,updShop);
         shopMapper.updateById(updShop);
+        usersMapper.update(new UpdateWrapper<Users>().lambda()
+                .set(Users::getCardImg,null)
+                .isNotNull(Users::getCardImg)
+                .eq(Users::getDepartmentId,shop.getId())
+        );
     }
 
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
index 0c991ed..40bc7c6 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
@@ -35,6 +35,7 @@
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.dao.web.reqeust.EditUsersRequest;
 import com.doumee.dao.web.reqeust.ContentShareImgDto;
+import com.doumee.dao.web.reqeust.GenerateQRCodeRequest;
 import com.doumee.dao.web.reqeust.WxPhoneRequest;
 import com.doumee.dao.web.response.AccountResponse;
 import com.doumee.service.business.UsersService;
@@ -44,6 +45,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.interfaces.MPJBaseJoin;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import okhttp3.Response;
 import org.apache.catalina.User;
 import org.apache.commons.lang3.StringUtils;
 import me.chanjar.weixin.common.error.WxErrorException;
@@ -58,7 +60,10 @@
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.imageio.ImageIO;
 import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
 import java.util.*;
 import java.util.concurrent.Callable;
@@ -671,6 +676,8 @@
 
     @Override
     public  String getContentShareImg(Users users, ContentShareImgDto param){
+        users = usersMapper.selectById(users.getId());
+        this.getUsersDetail(users);
         if(StringUtils.isBlank(param.getImgurl())){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST);
         }
@@ -700,7 +707,7 @@
         //鍐呭鍒嗕韩娴锋姤鍥剧墖
         InputStream mpCode =  Constants.generateWxMiniImgStream(systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG, Constants.WX_TOKEN_CUSTOMER).getCode(),
                 //"userId="+users.getId()+"&articleId="+param.getArticleId(),
-                 param.getArticleId()+"&"+users.getId(),
+                 param.getArticleId()+"_"+users.getId(),
                 param.getPageUrl());//灏忕▼搴�
 
         InputStream inputStream = GeneratePicUtil.generateShareWithUserImg(
@@ -724,7 +731,7 @@
        String url =null;
         //鍐呭鍒嗕韩娴锋姤鍥剧墖
         InputStream mpCode =  Constants.generateWxMiniImgStream(systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG, Constants.WX_TOKEN_CUSTOMER).getCode(),
-                "userId="+users.getId()+"&articleId="+param.getArticleId(),
+                param.getArticleId()+"_"+users.getId(),
                 param.getPageUrl());//灏忕▼搴�
 
         String title = systemDictDataBiz.queryByCode(Constants.WEIXIN_DEFAULT_IMGS, Constants.SHARE_HAIBAO_HEADER_TITLE).getCode();
@@ -745,6 +752,8 @@
 
     @Override
     public     String getUserCard(Users users){
+        users = usersMapper.selectById(users.getId());
+        this.getUsersDetail(users);
         String path = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode();
         String folder = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.USERS_FILE).getCode();
         if(StringUtils.isNotBlank(users.getCardImg()) && !StringUtils.equals(users.getCardImg(),"-")){
@@ -829,7 +838,9 @@
             Shop shop = shopMapper.selectById(users.getDepartmentId());
             if(Objects.nonNull(shop)){
                 users.setShopName(shop.getName());
-                users.setShopCity(shop.getProvinceName()+shop.getCityName()+shop.getAreaName());
+                if(!(StringUtils.isBlank(shop.getProvinceName())||StringUtils.isBlank(shop.getCityName())||StringUtils.isBlank(shop.getAreaName()))){
+                    users.setShopCity(shop.getProvinceName()+shop.getCityName()+shop.getAreaName());
+                }
                 if(StringUtils.isNotBlank(shop.getAddress())){
                     users.setShopAddress(shop.getAddress());
                 }else{
@@ -890,5 +901,41 @@
         return ztBaseRequst;
     }
 
+
+
+    @Override
+    public InputStream getQrCode(GenerateQRCodeRequest generateQRCodeRequest){
+        if(Objects.isNull(generateQRCodeRequest)
+            ||StringUtils.isBlank(generateQRCodeRequest.getIamId())
+            || StringUtils.isBlank(generateQRCodeRequest.getBusinessId())
+            || Objects.isNull(generateQRCodeRequest.getBusinessType())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        if(generateQRCodeRequest.getBusinessType()<Constants.ZERO || generateQRCodeRequest.getBusinessType() > Constants.THREE){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓氬姟绫诲瀷閿欒");
+        }
+        Users users = usersMapper.selectOne(new QueryWrapper<Users>().lambda().eq(Users::getIamId,
+                generateQRCodeRequest.getIamId()).last("limit 1"));
+        if(Objects.isNull(users)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍛樺伐淇℃伅");
+        }
+        InputStream inputStream =  Constants.generateWxMiniImgStream(
+                systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG, Constants.WX_TOKEN_CUSTOMER).getCode(),
+                generateQRCodeRequest.getBusinessId()+"_"+generateQRCodeRequest.getBusinessType()+"_"+users.getId(),
+                null);//灏忕▼搴�
+        return inputStream;
+//        try {
+//               ByteArrayOutputStream baos = new ByteArrayOutputStream();
+//                    byte[] buffer = new byte[1024];
+//                    int len = -1;
+//                    while ((len = inputStream.read(buffer)) != -1) {
+//                        baos.write(buffer, 0, len);
+//                    }
+//                    return "data:mediatype;base64," + Base64.getEncoder().encodeToString(baos.toByteArray());
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//        throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"浜岀淮鐮佺敓鎴愬け璐�");
+    }
 }
 
diff --git a/server/web/src/main/java/com/doumee/api/web/CustomerApi.java b/server/web/src/main/java/com/doumee/api/web/CustomerApi.java
index a6a7e32..74fd760 100644
--- a/server/web/src/main/java/com/doumee/api/web/CustomerApi.java
+++ b/server/web/src/main/java/com/doumee/api/web/CustomerApi.java
@@ -84,8 +84,6 @@
     private ActionsService actionsService;
 
 
-
-
     @ApiOperation(value = "瀹㈡埛绔皬绋嬪簭鐧婚檰", notes = "瀹㈡埛绔皬绋嬪簭")
     @GetMapping("/wxLoginCustomer")
     @ApiImplicitParams({
@@ -528,9 +526,10 @@
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
             @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "鍐呭涓婚敭", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "salesId", value = "瀵艰喘涓婚敭锛堜簩缁寸爜鍒嗕韩锛�", required = false),
     })
-    public ApiResponse<ZTCaseInfoResponse> getWholecaseInfo(@RequestParam String id) {
-        ZTCaseInfoResponse ztCaseInfoResponse= getZhongTaiDataService.getWholecaseInfo(id,getUserType(),getMemberId());
+    public ApiResponse<ZTCaseInfoResponse> getWholecaseInfo(@RequestParam String id,String salesId) {
+        ZTCaseInfoResponse ztCaseInfoResponse= getZhongTaiDataService.getWholecaseInfo(id,getUserType(),getMemberId(),salesId);
         return ApiResponse.success("鏌ヨ鎴愬姛",ztCaseInfoResponse);
     }
 
@@ -543,9 +542,10 @@
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
             @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "鍐呭涓婚敭", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "salesId", value = "瀵艰喘涓婚敭锛堜簩缁寸爜鍒嗕韩锛�", required = false),
     })
-    public ApiResponse<ZTProductNewsInfoResponse> getProductNewsInfo(@RequestParam String id) {
-        ZTProductNewsInfoResponse ztProductNewsInfoResponse= getZhongTaiDataService.getProductNewsInfo(id,getUserType(),getMemberId());
+    public ApiResponse<ZTProductNewsInfoResponse> getProductNewsInfo(@RequestParam String id,String salesId) {
+        ZTProductNewsInfoResponse ztProductNewsInfoResponse= getZhongTaiDataService.getProductNewsInfo(id,getUserType(),getMemberId(),salesId);
         return ApiResponse.success("鏌ヨ鎴愬姛",ztProductNewsInfoResponse);
     }
 
@@ -559,14 +559,12 @@
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
             @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "鍐呭涓婚敭", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "salesId", value = "瀵艰喘涓婚敭锛堜簩缁寸爜鍒嗕韩锛�", required = false),
     })
-    public ApiResponse<ZTRealcaseInfoResponse> getRealcaseInfo(@RequestParam String id) {
-        ZTRealcaseInfoResponse ztRealcaseInfoResponse= getZhongTaiDataService.getRealcaseInfo(id,getUserType(),getMemberId());
+    public ApiResponse<ZTRealcaseInfoResponse> getRealcaseInfo(@RequestParam String id,String salesId) {
+        ZTRealcaseInfoResponse ztRealcaseInfoResponse= getZhongTaiDataService.getRealcaseInfo(id,getUserType(),getMemberId(),salesId);
         return ApiResponse.success("鏌ヨ鎴愬姛",ztRealcaseInfoResponse);
     }
-
-
-
 
     @UserLoginRequired
     @LoginRequired
@@ -575,9 +573,10 @@
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
             @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "鍐呭涓婚敭", required = true),
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "salesId", value = "瀵艰喘涓婚敭锛堜簩缁寸爜鍒嗕韩锛�", required = false),
     })
-    public ApiResponse<ZTProductInfoResponse> getProductInfo(@RequestParam String id) {
-        ZTProductInfoResponse ztProductInfoResponse= getZhongTaiDataService.getProductInfo(id,getUserType(),getMemberId());
+    public ApiResponse<ZTProductInfoResponse> getProductInfo(@RequestParam String id,String salesId) {
+        ZTProductInfoResponse ztProductInfoResponse= getZhongTaiDataService.getProductInfo(id,getUserType(),getMemberId(),salesId);
         return ApiResponse.success("鏌ヨ鎴愬姛",ztProductInfoResponse);
     }
 
diff --git a/server/web/src/main/java/com/doumee/api/web/CustomerManageApi.java b/server/web/src/main/java/com/doumee/api/web/CustomerManageApi.java
index 3ca5386..822d8c6 100644
--- a/server/web/src/main/java/com/doumee/api/web/CustomerManageApi.java
+++ b/server/web/src/main/java/com/doumee/api/web/CustomerManageApi.java
@@ -8,12 +8,15 @@
 import com.doumee.core.model.ApiResponse;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.dao.business.model.News;
+import com.doumee.dao.web.reqeust.GenerateQRCodeRequest;
 import com.doumee.dao.web.response.DailyUpdatesResponse;
 import com.doumee.dao.web.response.ZSZXCatalogResponse;
 import com.doumee.service.business.GetZhongTaiDataService;
 import com.doumee.service.business.NewsService;
 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;
@@ -22,6 +25,10 @@
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+
+import javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
 
 /**
  * Created by IntelliJ IDEA.
@@ -51,6 +58,9 @@
     @Autowired
     public GetZhongTaiDataService getZhongTaiDataService;
 
+    @Autowired
+    public UsersService usersService;
+
 
     @UserLoginRequired
     @LoginRequired
@@ -62,6 +72,9 @@
     public ApiResponse<ZSZXCatalogResponse> getZSZXCatalogs() {
         return  ApiResponse.success(getZhongTaiDataService.getZSZXCatalogs(getMemberId(),getUserType()));
     }
+
+
+
 
 
 
@@ -83,6 +96,7 @@
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
     })
     public ApiResponse<PageData<News>> newsPage (@RequestBody PageWrap<News> pageWrap) {
+        pageWrap.getModel().setIsPublish(Constants.ONE);
         return ApiResponse.success(newsService.findPage(pageWrap));
     }
 
@@ -98,4 +112,18 @@
     public ApiResponse<String> getCrmAuthUrl(@RequestParam Integer type) {
         return  ApiResponse.success(zbomCRMService.getCrmGoUrl(this.getLoginUserInfo().getIamUsername(),type));
     }
+
+    @ApiOperation(value = "鐢熸垚灏忕▼搴忕爜", notes = "PAD绔�")
+    @PostMapping("/getQrCode")
+    public void getQrCode(@RequestBody GenerateQRCodeRequest generateQRCodeRequest, HttpServletResponse response) {
+        try{
+            response.setHeader("Cache-Control", "no-store, no-cache");
+            response.setContentType("image/jpeg");
+            InputStream inputStream = usersService.getQrCode(generateQRCodeRequest);
+            ImageIO.write(ImageIO.read(inputStream),"png",response.getOutputStream());
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
 }
diff --git a/server/web/src/main/java/com/doumee/api/web/PersonnelApi.java b/server/web/src/main/java/com/doumee/api/web/PersonnelApi.java
index a1d80da..bbe8434 100644
--- a/server/web/src/main/java/com/doumee/api/web/PersonnelApi.java
+++ b/server/web/src/main/java/com/doumee/api/web/PersonnelApi.java
@@ -17,9 +17,11 @@
 import com.doumee.dao.business.model.Shop;
 import com.doumee.dao.business.model.SmsEmail;
 import com.doumee.dao.business.model.Users;
+import com.doumee.dao.system.model.SystemDictData;
 import com.doumee.dao.web.reqeust.*;
 import com.doumee.dao.web.response.AccountResponse;
 import com.doumee.service.business.*;
+import com.doumee.service.system.SystemDictDataService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -181,8 +183,22 @@
     }
 
 
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
 
 
+    @UserLoginRequired
+    @LoginRequired
+    @ApiOperation(value = "鏇存柊token", notes = "鍛樺伐绔皬绋嬪簭")
+    @GetMapping("/updateToken")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public ApiResponse updateToken () {
+        systemDictDataBiz.updWxMiniToken();
+        return ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
+
 
     @UserLoginRequired
     @ApiOperation(value = "鑾峰彇鍐呭鍒嗕韩娴锋姤", notes = "鑾峰彇鍐呭鍒嗕韩娴锋姤锛屽姞灏忕▼搴忕爜")

--
Gitblit v1.9.3