From 8444084e6aa11efa23287e7f82474ac22378a5c4 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 01 四月 2025 16:03:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberSuggestServiceImpl.java |   45 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 38 insertions(+), 7 deletions(-)

diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberSuggestServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberSuggestServiceImpl.java
index 460d6f1..88e9684 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberSuggestServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberSuggestServiceImpl.java
@@ -14,22 +14,26 @@
 import com.ruoyi.member.domain.vo.MgtMemberSuggestPageVo;
 import com.ruoyi.member.domain.vo.MgtMemberSuggestTagVo;
 import com.ruoyi.member.mapper.member.MemberSuggestMapper;
+import com.ruoyi.member.service.member.MemberService;
 import com.ruoyi.member.service.member.MemberSuggestService;
 import com.ruoyi.system.api.domain.dto.AppSuggestPageDto;
 import com.ruoyi.system.api.domain.dto.AppUserSuggestDto;
+import com.ruoyi.system.api.domain.dto.MgtBaseBathDto;
 import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
 import com.ruoyi.system.api.domain.poji.config.SysTag;
+import com.ruoyi.system.api.domain.poji.member.Member;
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
 import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo;
+import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
 import com.ruoyi.system.api.service.RemoteConfigService;
 import com.ruoyi.system.api.service.RemoteShopService;
 import com.ruoyi.system.api.service.RemoteUserService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -55,6 +59,9 @@
     @Resource
     private RemoteConfigService remoteConfigService;
 
+    @Resource
+    private MemberService memberService;
+
     /**
      *
      * @param page
@@ -78,6 +85,10 @@
         memberSuggest.setSuggestContent(appUserSuggestDto.getSuggestContent());
         memberSuggest.setCreateTime(new Date());
         memberSuggest.setSuggestType(appUserSuggestDto.getSuggestType());
+        if(appUserSuggestDto.getSuggestType()==2){
+            Member member = memberService.getByUserId(appUserSuggestDto.getUserId());
+            memberSuggest.setShopId(member.getRelationShopId());
+        }
         memberSuggest.setReplayFlag(0);
         this.saveOrUpdate(memberSuggest);
     }
@@ -104,6 +115,7 @@
     @Override
     public List<MgtMemberSuggestPageVo> pageMgtMemberSuggest(Page page,MgtMemberSuggestPageDto memberSuggestPageDto){
         //如果区域代码不为null获取对应的商户id
+        List<MgtMemberSuggestPageVo> mgtMemberSuggestPageVoList = new ArrayList<>();
         if(StringUtils.isNotBlank(memberSuggestPageDto.getKeyword())||StringUtils.isNotBlank(memberSuggestPageDto.getShopProvinceCode())||StringUtils.isNotBlank(memberSuggestPageDto.getShopCityCode())||StringUtils.isNotBlank(memberSuggestPageDto.getShopAreaCode())){
             MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto();
             mgtShopIdByCodeDto.setShopName(memberSuggestPageDto.getKeyword());
@@ -111,9 +123,7 @@
             mgtShopIdByCodeDto.setShopCityCode(memberSuggestPageDto.getShopCityCode());
             mgtShopIdByCodeDto.setShopAreaCode(memberSuggestPageDto.getShopAreaCode());
             MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData();
-            if(StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())){
-                memberSuggestPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds());
-            }
+            memberSuggestPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds());
         }
         //处理标签为正则方便sql判断
         if(StringUtils.isNotBlank(memberSuggestPageDto.getTags())){
@@ -123,7 +133,26 @@
             memberSuggestPageDto.setSuggestStatus(0);
         }
         //获取返回结果
-        List<MgtMemberSuggestPageVo> mgtMemberSuggestPageVoList = memberSuggestMapper.pageMgtMemberSuggest(page, memberSuggestPageDto);
+        mgtMemberSuggestPageVoList = memberSuggestMapper.pageMgtMemberSuggest(page, memberSuggestPageDto);
+        if(mgtMemberSuggestPageVoList!=null&&!mgtMemberSuggestPageVoList.isEmpty()){
+            HashSet<Long> shopIdSet = new HashSet<>();
+            for(MgtMemberSuggestPageVo mgtMemberSuggestPageVo : mgtMemberSuggestPageVoList){
+                if(mgtMemberSuggestPageVo.getShopId()!=null){
+                    shopIdSet.add(mgtMemberSuggestPageVo.getShopId());
+                }
+            }
+            String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList()));
+            MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
+            mgtBaseBathDto.setIds(shopJoinedString);
+            List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData();
+            Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream()
+                    .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity()));
+            for(MgtMemberSuggestPageVo mgtMemberSuggestPageVo : mgtMemberSuggestPageVoList){
+                if(mgtMemberSuggestPageVo.getShopId()!=null){
+                    mgtMemberSuggestPageVo.setShopName(shopMap.get(mgtMemberSuggestPageVo.getShopId()).getShopName());
+                }
+            }
+        }
         return mgtMemberSuggestPageVoList;
     }
 
@@ -146,6 +175,8 @@
         memberSuggest.setReplayFlag(1);
         String responseTime = DateUtils.formatDuration(memberSuggest.getCreateTime(), memberSuggest.getReplayTime());
         memberSuggest.setResponseTime(responseTime);
+        long responseTimestamp = DateUtils.diffTime(memberSuggest.getCreateTime(), memberSuggest.getReplayTime());
+        memberSuggest.setResponseTimestamp(responseTimestamp);
         this.saveOrUpdate(memberSuggest);
     }
 

--
Gitblit v1.7.1