From 5a42219c9f91fd8fa77ddd8c8945d03168250b68 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 29 七月 2024 19:26:09 +0800
Subject: [PATCH] 代码提交

---
 server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java |    1 
 server/web/src/main/java/com/doumee/api/web/CustomerApi.java                               |   20 +++++++++
 server/service/src/main/java/com/doumee/core/utils/Constants.java                          |    6 ++
 server/service/src/main/java/com/doumee/dao/business/model/Users.java                      |    3 +
 server/service/src/main/java/com/doumee/service/business/impl/ShopServiceImpl.java         |    9 +++-
 server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java        |    6 +++
 server/service/src/main/java/com/doumee/service/business/MemberService.java                |    2 +
 server/service/src/main/java/com/doumee/service/business/impl/NewsServiceImpl.java         |    2 
 server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java       |   48 +++++++++++++++++++----
 9 files changed, 83 insertions(+), 14 deletions(-)

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 c58b046..61c079b 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
@@ -339,6 +339,7 @@
     public static final String SHARES_FILE = "SHARES_FILE";
     public static final String NEWS_FILE = "NEWS_FILE";
     public static final String USER_LABEL = "USER_LABEL";
+    public static final String USERS_MANAGE_CODE = "USERS_MANAGE_CODE";
     //鍙戦�佷細璁紑濮�  瀹氭椂鎻愬墠澶氬皯鍒嗛挓鍙戦��
 
     public static final String SYSTEM ="SYSTEM";
@@ -530,7 +531,10 @@
     }
 
     public static String desensitizationPhone(String phone)  {
-        return phone.replaceAll("(d{3})d{4}(d{4})", "$1****$2");
+        if (phone == null || phone.length() != 11) {
+            return phone;
+        }
+        return phone.substring(0, 3) + "****" + phone.substring(7);
     }
 
 
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/Users.java b/server/service/src/main/java/com/doumee/dao/business/model/Users.java
index 5725539..c59e902 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/Users.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/Users.java
@@ -203,6 +203,9 @@
     @ApiModelProperty(value = "闂ㄥ簵鍩庡競")
     @TableField(exist = false)
     private String shopCity;
+    @ApiModelProperty(value = "鏄惁鍙鐞嗛棬搴�")
+    @TableField(exist = false)
+    private Boolean manageShop;
 
     @ApiModelProperty(value = "C绔敤鎴锋墜鏈哄彿",notes = "鐢ㄤ簬鏌ヨ鐢ㄦ埛缁戝畾鐨勫璐�",hidden = true)
     @TableField(exist = false)
diff --git a/server/service/src/main/java/com/doumee/service/business/MemberService.java b/server/service/src/main/java/com/doumee/service/business/MemberService.java
index b04ac69..b7c357e 100644
--- a/server/service/src/main/java/com/doumee/service/business/MemberService.java
+++ b/server/service/src/main/java/com/doumee/service/business/MemberService.java
@@ -107,6 +107,8 @@
      */
     AccountResponse wxLogin(String code,String iamId);
 
+    AccountResponse testLogin(String openid);
+
     /**
      * 鑾峰彇鎵嬫満鍙�
      * @param wxPhoneRequest
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java
index d24c684..265ce73 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/CustomerUserServiceImpl.java
@@ -260,6 +260,7 @@
             model.setZtStatus(Constants.ONE);
             model.setZtInfo("crm鍚屾");
             model.setIamUserId(data.getUserId());
+            model.setMemberId(member==null?null:member.getId());
             model.setUserId(user== null?null:user.getId());
             model.setCreationDate(data.getCreationDate());
             addList.add(model);
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 0d0b8a6..494e1bf 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
@@ -277,8 +277,8 @@
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鑾峰彇openid澶辫触锛佽鑱旂郴绠$悊鍛�");
             }
 //            String openId = code;
-            Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId).isNotNull("phone"));
-            Users users = new Users();
+            Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId).last(" limit 1  "));
+            Users users =  null;
             if(StringUtils.isNotBlank(userId)){
                 users = usersMapper.selectById(userId);
             }
@@ -320,6 +320,41 @@
             e.printStackTrace();
         }
         throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"寰俊鐧诲綍寮傚父锛佽鑱旂郴绠$悊鍛�");
+    }
+
+
+    @Override
+    public AccountResponse testLogin(String openid){
+            String openId = openid;
+            Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("OPENID", openId).isNotNull("phone"));
+
+            if (member == null) {
+                member = new Member();
+                member.setNickname("寰俊鐢ㄦ埛"+ CodeVerifyUtils.createVerificationCode(4));
+                member.setCreateDate(new Date());
+                member.setIsdeleted(Constants.ZERO);
+                member.setOpenid(openId);
+                member.setType(Constants.ZERO);
+                //濡傛灉缁戝畾浜嗗璐� 鍒欑洿鎺ヤ娇鐢ㄥ凡缁戝畾瀵艰喘淇℃伅 璺宠繃鎵嬫満鍙风粦瀹氱殑鐘舵��
+                    member.setAuthStatus(Constants.ZERO);
+                ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
+                if(!Objects.isNull(ztUserGetTokenResponse)){
+                    member.setToken(ztUserGetTokenResponse.getToken());
+                }
+                memberMapper.insert(member);
+            }else{
+                ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(member);
+                if(!Objects.isNull(ztUserGetTokenResponse)){
+                    member.setToken(ztUserGetTokenResponse.getToken());
+                    memberMapper.updateById(member);
+                }
+                member = this.getMemberInfo(member.getId());
+            }
+            String token = JwtTokenUtil.generateTokenForZb(member.getId(),ZTConstants.CUSTOMER, JSONObject.toJSON(member).toString(),redisTemplate);
+            AccountResponse accountResponse = new AccountResponse();
+            accountResponse.setToken(token);
+            accountResponse.setMember(member);
+            return accountResponse;
     }
 
     public static void saveCustomerUser(ZbomZhongTaiService zbomZhongTaiService,CustomerUserMapper customerUserMapper,Users users,Long memberId,String openId){
@@ -383,12 +418,6 @@
         Member memberDto = new Member();
         BeanUtils.copyProperties(editMemberRequest,memberDto);
         memberDto.setOpenid(member.getOpenid());
-//        ZTUserGetTokenResponse ztUserGetTokenResponse = this.syncZhongTaiUser(memberDto);
-//        if(Objects.isNull(ztUserGetTokenResponse)){
-//            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓彴鏈嶅姟璋冭捣澶辫触!");
-//        }else{
-//            member.setToken(ztUserGetTokenResponse.getToken());
-//        }
         memberMapper.updateById(memberDto);
         return this.getMemberInfo(member.getId());
     }
@@ -455,7 +484,8 @@
         String prefix = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode() +
                 systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.MEMBER).getCode();
         member.setPrefix(prefix);
-        if( customerUserMapper.selectCount(new QueryWrapper<CustomerUser>().lambda().eq(CustomerUser::getIsdeleted,Constants.ZERO).eq(CustomerUser::getMemberId,member.getId()))>0){
+        if( customerUserMapper.selectCount(new QueryWrapper<CustomerUser>()
+                .lambda().eq(CustomerUser::getIsdeleted,Constants.ZERO).eq(CustomerUser::getMemberId,member.getId()))>0){
             member.setAuthStatus(Constants.TWO);
         }else{
             if(StringUtils.isBlank(member.getPhone())){
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 4bf3254..fd878ea 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
@@ -399,7 +399,7 @@
                 .eq(News::getType,Constants.ZERO)
                 .eq(News::getStatus,Constants.ZERO)
                 .eq(News::getFileType,Constants.ZERO)
-                .apply(" now() >= t.PUBLISH_DATE ")
+                .apply(" now() >= PUBLISH_DATE ")
                 .last( "limit 3"  )
                 .orderByDesc(News::getCreateDate)
         );
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 41cfa35..a2c4979 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
@@ -914,7 +914,7 @@
         }
         IPage<Shop> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<Shop> queryWrapper = new MPJLambdaWrapper<>();
-        queryWrapper.select("ID,NAME,ADDRESS,PROVINCE_NAME,CITY_NAME,AREA_NAME,TOWN,AREA_NAME,LEGAL_PHONE " +
+        queryWrapper.select("ID,NAME,LINK_PHONE,ADDRESS,PROVINCE_NAME,CITY_NAME,AREA_NAME,TOWN,AREA_NAME,LEGAL_PHONE " +
                 " ,  (6371 * ACOS(COS(RADIANS("+pageWrap.getModel().getLatitude()+")) * COS(RADIANS(latitude)) * COS(RADIANS(longitude) - RADIANS("+pageWrap.getModel().getLongitude()+")) + SIN(RADIANS("+pageWrap.getModel().getLatitude()+")) * SIN(RADIANS(latitude)) ) ) as distance  " )
                 .eq("isdeleted",Constants.ZERO)
                 .isNotNull("LATITUDE")
@@ -959,7 +959,7 @@
                 if(distanceM.compareTo(new BigDecimal(100))<0){
                     shop.setDistanceStr("<100绫�");
                 }else{
-                    shop.setDistanceStr(distanceM.divide(BigDecimal.valueOf(1)).setScale(2,BigDecimal.ROUND_HALF_UP) + "m");
+                    shop.setDistanceStr(distanceM.divide(BigDecimal.valueOf(1)).setScale(0,BigDecimal.ROUND_HALF_UP) + "m");
                 }
             }else{
                 shop.setDistanceStr(shop.getDistance().divide(BigDecimal.valueOf(1)).setScale(2,BigDecimal.ROUND_HALF_UP) + "km");
@@ -1042,11 +1042,16 @@
         if(Objects.isNull(userShop)){
             return new ArrayList<>();
         }
+        Boolean manageShop = true;
+        if(users.getRoleCodes().indexOf(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.ZBOM_CUSTOMIZED,Constants.USERS_MANAGE_CODE).getCode()))>=0){
+            users.setManageShop(false);
+        }
         List<Shop> shopList = shopMapper.selectList(new QueryWrapper<Shop>()
                 .lambda()
                 .eq(Shop::getScode,userShop.getScode())
                 .eq(Shop::getType,Constants.TWO)
                 .eq(Shop::getSecondType,Constants.THREE)
+                .apply(manageShop,"1=2")
         );
         //鏌ヨ缁忚惀鑼冨洿淇℃伅
         List<CategorySeg> categorySegAllList = categorySegMapper.selectList(new QueryWrapper<CategorySeg>().lambda()
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 fd91fd6..e400da7 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
@@ -839,6 +839,12 @@
         if(StringUtils.isBlank(users.getSlogans())){
             users.setSlogans(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.ZBOM_CUSTOMIZED,Constants.USER_LABEL).getCode()));
         }
+        users.setManageShop(false);
+        if(StringUtils.isNotBlank(users.getRoleCodes())){
+            if(users.getRoleCodes().indexOf(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.ZBOM_CUSTOMIZED,Constants.USERS_MANAGE_CODE).getCode()))>=0){
+                users.setManageShop(true);
+            }
+        }
         if(Objects.nonNull(users.getDepartmentId())){
             Shop shop = shopMapper.selectById(users.getDepartmentId());
             if(Objects.nonNull(shop)){
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 74fd760..01b398d 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
@@ -94,6 +94,15 @@
         return  ApiResponse.success(memberService.wxLogin(code,iamId));
     }
 
+    @ApiOperation(value = "test瀹㈡埛绔皬绋嬪簭鐧婚檰", notes = "瀹㈡埛绔皬绋嬪簭")
+    @GetMapping("/testWxLoginCustomer")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", dataType = "String", name = "openid", value = "寰俊code", required = true),
+    })
+    public ApiResponse<AccountResponse> testWxLoginCustomer(@RequestParam String openid) {
+        return  ApiResponse.success(memberService.testLogin(openid));
+    }
+
 
     @LoginRequired
     @ApiOperation(value = "鑾峰彇鎵嬫満鍙�", notes = "瀹㈡埛绔皬绋嬪簭")
@@ -223,7 +232,16 @@
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
     })
     public ApiResponse<PageData<Shop>> shopPage (@RequestBody PageWrap<Shop> pageWrap) {
-        return ApiResponse.success(shopService.queryShopByLL(pageWrap));
+        PageData<Shop> pageData = shopService.queryShopByLL(pageWrap);
+        if(Objects.nonNull(pageWrap.getModel().getLatitude())&&Objects.nonNull(pageWrap.getModel().getLongitude())){
+            //鏇存柊浜哄憳缁忕含搴︿俊鎭�
+            EditMemberRequest editMemberRequest = new EditMemberRequest();
+            editMemberRequest.setId(getMemberId());
+            editMemberRequest.setLatitude(pageWrap.getModel().getLatitude());
+            editMemberRequest.setLongitude(pageWrap.getModel().getLongitude());
+            memberService.updMemberDetail(editMemberRequest);
+        }
+        return ApiResponse.success(pageData);
     }
 
 

--
Gitblit v1.9.3