From 33caf2bb79bb3c561916c91ae386ec772411e2e8 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 11 五月 2026 18:21:50 +0800
Subject: [PATCH] 代码生成

---
 server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |  149 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 123 insertions(+), 26 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 5c4f12d..d7fe3f3 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -25,6 +25,7 @@
 import com.doumee.dao.dto.UpdMobileRequest;
 import com.doumee.dao.dto.WxPhoneRequest;
 import com.doumee.dao.vo.AccountResponse;
+import com.doumee.dao.vo.MemberContactVO;
 import com.doumee.dao.vo.MemberDetailVO;
 import com.doumee.dao.vo.MemberListVO;
 import com.doumee.dao.vo.PlatformAboutVO;
@@ -46,9 +47,12 @@
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 import java.util.Random;
 import java.util.concurrent.TimeUnit;
@@ -286,8 +290,6 @@
             String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate);
             accountResponse.setToken(token);
             accountResponse.setMember(member);
-            // 闂ㄥ簵鐢ㄦ埛韬唤鏃讹紝杩斿洖鐢宠鐨勯棬搴楃姸鎬�
-            fillShopInfo(accountResponse, member);
             return accountResponse;
         } catch (WxErrorException e) {
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "寰俊鐧诲綍寮傚父锛佽鑱旂郴绠$悊鍛�");
@@ -334,15 +336,13 @@
                 member.setReceiveNum(Constants.ZERO.longValue());
                 member.setPublishNum(Constants.ZERO.longValue());
                 member.setAutoReceiveStatus(Constants.ONE);
-                member.setUseIdentity(Constants.ZERO);
+                member.setUserType(Constants.ZERO);
                 memberMapper.insert(member);
             }
             String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate);
             AccountResponse accountResponse = new AccountResponse();
             accountResponse.setToken(token);
             accountResponse.setMember(member);
-            // 闂ㄥ簵鐢ㄦ埛韬唤鏃讹紝杩斿洖鐢宠鐨勯棬搴楃姸鎬�
-            fillShopInfo(accountResponse, member);
             return accountResponse;
         } catch (Exception e) {
             e.printStackTrace();
@@ -353,15 +353,50 @@
     /**
      * 闂ㄥ簵鐢ㄦ埛韬唤鏃讹紝濉厖闂ㄥ簵瀹℃牳鐘舵��
      */
-    private void fillShopInfo(AccountResponse response, Member member) {
-        if (Constants.TWO.equals(member.getUserType())) {
-            ShopInfo shopInfo = shopInfoMapper.selectOne(new QueryWrapper<ShopInfo>().lambda()
-                    .eq(ShopInfo::getRegionMemberId, member.getId())
+    private void fillShopInfo(UserCenterVO userCenterVO, Member member) {
+        // 鏌ヨ姝e紡鐗堟湰闂ㄥ簵
+        ShopInfo official = shopInfoMapper.selectOne(new QueryWrapper<ShopInfo>().lambda()
+                .eq(ShopInfo::getRegionMemberId, member.getId())
+                .eq(ShopInfo::getVersionType, Constants.ZERO)
+                .eq(ShopInfo::getDeleted, Constants.ZERO)
+                .last("limit 1"));
+        if (official != null) {
+            userCenterVO.setShopId(official.getId());
+            if (Constants.equalsInteger(official.getAuditStatus(), Constants.THREE)) {
+                // 姝e紡鐗堟湰宸叉敮浠樻娂閲戯紝鏌ヨ鏈�鏂板彉鏇寸増鏈姸鎬�
+                ShopInfo changeVersion = shopInfoMapper.selectOne(new QueryWrapper<ShopInfo>().lambda()
+                        .eq(ShopInfo::getRelationShopId, official.getId())
+                        .eq(ShopInfo::getVersionType, Constants.ONE)
+                        .eq(ShopInfo::getDeleted, Constants.ZERO)
+                        .orderByDesc(ShopInfo::getCreateTime)
+                        .last("limit 1"));
+                if (changeVersion != null) {
+                    if (Constants.equalsInteger(changeVersion.getAuditStatus(), Constants.THREE)) {
+                        userCenterVO.setShopAuditStatus(Constants.THREE);
+                    } else if (Constants.equalsInteger(changeVersion.getAuditStatus(), Constants.ZERO)) {
+                        userCenterVO.setShopAuditStatus(4); // 鍙樻洿涓�
+                    } else if (Constants.equalsInteger(changeVersion.getAuditStatus(), Constants.TWO)) {
+                        userCenterVO.setShopAuditStatus(5); // 鍙樻洿鏈�氳繃
+                    } else {
+                        userCenterVO.setShopAuditStatus(Constants.THREE);
+                    }
+                } else {
+                    // 鏃犲彉鏇寸増鏈紝淇濇寔姝e紡鐗堟湰鐘舵��
+                    userCenterVO.setShopAuditStatus(Constants.THREE);
+                }
+            } else {
+                // 姝e紡鐗堟湰鏈敮浠樻娂閲戯紝鐩存帴杩斿洖褰撳墠鐘舵��
+                userCenterVO.setShopAuditStatus(official.getAuditStatus());
+            }
+        }
+        // 鏍规嵁openid鏌ヨ褰撳墠缁戝畾鐨勯棬搴�
+        if (StringUtils.isNotBlank(member.getOpenid())) {
+            ShopInfo bindShop = shopInfoMapper.selectOne(new QueryWrapper<ShopInfo>().lambda()
+                    .eq(ShopInfo::getOpenid, member.getOpenid())
                     .eq(ShopInfo::getDeleted, Constants.ZERO)
                     .last("limit 1"));
-            if (shopInfo != null) {
-                response.setShopId(shopInfo.getId());
-                response.setShopAuditStatus(shopInfo.getAuditStatus());
+            if (bindShop != null) {
+                userCenterVO.setBindShopId(String.valueOf(bindShop.getId()));
             }
         }
     }
@@ -398,6 +433,7 @@
         userCenterVO.setName(member.getName());
         userCenterVO.setTelephone(member.getTelephone());
         userCenterVO.setCoverImage(member.getCoverImage());
+        userCenterVO.setOpenid(member.getOpenid());
         if(StringUtils.isNotBlank(member.getCoverImage())){
             String path  = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
                     +systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILES).getCode();
@@ -417,6 +453,14 @@
                 .eq(Orders::getDeleted, Constants.ZERO)
                 .in(Orders::getStatus, Arrays.stream(waitReceiveStatuses).boxed().collect(Collectors.toList())));
         userCenterVO.setWaitReceiveCount(waitReceiveCount.intValue());
+        // 閫�娆句腑璁㈠崟鏁伴噺
+        Long refundingCount = ordersMapper.selectCount(new QueryWrapper<Orders>().lambda()
+                .eq(Orders::getMemberId, memberId)
+                .eq(Orders::getDeleted, Constants.ZERO)
+                .eq(Orders::getStatus, 98));
+        userCenterVO.setRefundingCount(refundingCount.intValue());
+        // 闂ㄥ簵鐢ㄦ埛韬唤鏃讹紝杩斿洖鐢宠鐨勯棬搴楃姸鎬�
+        fillShopInfo(userCenterVO, member);
         return userCenterVO;
     }
 
@@ -427,16 +471,47 @@
     public PlatformAboutVO getPlatformAboutUs(){
         PlatformAboutVO vo = new PlatformAboutVO();
         vo.setAboutUs(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ABOUT_US).getCode()));
-        vo.setUserAgreement(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.USER_AGREEMENT).getCode()));
-        vo.setPrivacyAgreement(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PRIVACY_AGREEMENT).getCode()));
-        vo.setServerIntroduce(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SERVER_INTRODUCE).getCode()));
+        vo.setStoreRiskCommitment(getDictValue(Constants.STORE_RISK_COMMITMENT));
+        vo.setStoreCooperationAgreement(getDictValue(Constants.STORE_COOPERATION_AGREEMENT));
+        vo.setStoreLuggageStorageNotice(getDictValue(Constants.STORE_LUGGAGE_STORAGE_NOTICE));
+        vo.setStorePrivacyPolicy(getDictValue(Constants.STORE_PRIVACY_POLICY));
+        vo.setOwnerLuggageStorageNotice(getDictValue(Constants.OWNER_LUGGAGE_STORAGE_NOTICE));
+        vo.setOwnerServiceAgreement(getDictValue(Constants.OWNER_SERVICE_AGREEMENT));
+        vo.setOwnerRiskCommitment(getDictValue(Constants.OWNER_RISK_COMMITMENT));
+        vo.setErrandRiskCommitment(getDictValue(Constants.ERRAND_RISK_COMMITMENT));
+        vo.setErrandServiceAgreement(getDictValue(Constants.ERRAND_SERVICE_AGREEMENT));
+        vo.setErrandLuggageStorageNotice(getDictValue(Constants.ERRAND_LUGGAGE_STORAGE_NOTICE));
+        vo.setUserServiceAgreement(getDictValue(Constants.USER_SERVICE_AGREEMENT));
+        vo.setUserPrivacyPolicy(getDictValue(Constants.USER_PRIVACY_POLICY));
+        vo.setDriverPrivacyPolicy(getDictValue(Constants.DRIVER_PRIVACY_POLICY));
+        vo.setPriceDescription(getDictValue(Constants.PRICE_DESCRIPTION));
+        vo.setProhibitedItems(getDictValue(Constants.PROHIBITED_ITEMS));
+        vo.setServerPhone(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.SERVER_PHONE).getCode()));
         return vo;
     }
 
+    private String getDictValue(String key) {
+        try {
+            return StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM, key).getCode());
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
     @Override
-    public void logOut(String token,Integer memberId){
-        memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" openid = null ").eq(Member::getId,memberId));
-        jwtTokenUtil.logoutForH5(token);
+    public void logOut(String token,Integer userId,Integer userType){
+        if(Constants.equalsInteger(userType,Constants.ZERO)){
+            memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" openid = null ").eq(Member::getId,userId));
+        }else if (Constants.equalsInteger(userType,Constants.TWO)){
+            try {
+                Integer lastIndex = token.lastIndexOf("_")+1;
+                Integer tokenId = Integer.valueOf(token.substring(lastIndex));
+                memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" LOGIN_SHOP_ID = null ").eq(Member::getId,tokenId));
+            }catch (Exception e){
+
+            }
+        }
+        jwtTokenUtil.logout(token);
     }
 
 
@@ -451,6 +526,31 @@
             );
         }
         redisTemplate.delete(token);
+    }
+
+    @Override
+    public MemberContactVO getContactInfo(Integer memberId) {
+        MemberContactVO vo = new MemberContactVO();
+        // 浼樺厛浠庡巻鍙茶鍗曞彇鏀朵欢浜轰俊鎭�
+        Orders lastOrder = ordersMapper.selectOne(new QueryWrapper<Orders>().lambda()
+                .eq(Orders::getMemberId, memberId)
+                .eq(Orders::getDeleted, Constants.ZERO)
+                .isNotNull(Orders::getTakeUser)
+                .ne(Orders::getTakeUser, "")
+                .orderByDesc(Orders::getId)
+                .last("limit 1"));
+        if (lastOrder != null && StringUtils.isNotBlank(lastOrder.getTakeUser())) {
+            vo.setName(lastOrder.getTakeUser());
+            vo.setPhone(lastOrder.getTakePhone());
+            return vo;
+        }
+        // 鍙栫敤鎴蜂俊鎭�
+        Member member = memberMapper.selectById(memberId);
+        if (member != null) {
+            vo.setName(member.getName() != null ? member.getName() : "");
+            vo.setPhone(member.getTelephone() != null ? member.getTelephone() : "");
+        }
+        return vo;
     }
 
 
@@ -479,13 +579,7 @@
                 queryWrapper.lambda().le(Member::getCreateTime, Utils.Date.getEnd(query.getEndTime()));
             }
         }
-        for (PageWrap.SortData sortData : pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
+        queryWrapper.lambda().orderByDesc(Member::getId);
         IPage<Member> memberPage = memberMapper.selectPage(page, queryWrapper);
         IPage<MemberListVO> voPage = memberPage.convert(this::toListVO);
         return PageData.from(voPage);
@@ -591,7 +685,10 @@
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
         //鍒ゆ柇鏂版墜鏈哄彿鏄惁宸茶浣跨敤
-        if(memberMapper.selectCount(new QueryWrapper<Member>().lambda().eq(Member::getTelephone,request.getPhone()))>Constants.ZERO){
+        if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
+                        .eq(Member::getDeleted,Constants.ZERO)
+                        .eq(Member::getUserType,Constants.ZERO)
+                .eq(Member::getTelephone,request.getPhone()))>Constants.ZERO){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧�,鏂版墜鏈哄彿宸茶缁戝畾,鏃犳硶杩涜鎹㈢粦锛�");
         }
         Member member = memberMapper.selectById(request.getMemberId());

--
Gitblit v1.9.3