소스 검색

bugfix:取消收藏失败修复
消息头像和名称

lyx 3 달 전
부모
커밋
b3f152d761

+ 1 - 2
alien-entity/src/main/java/shop/alien/mapper/LifeMessageMapper.java

@@ -2,7 +2,6 @@ package shop.alien.mapper;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -24,7 +23,7 @@ public interface LifeMessageMapper extends BaseMapper<LifeMessage> {
             "from life_user " +
             "where delete_flag = 0 and user_phone != '' and user_phone in (${userPhones})  " +
             "union " +
-            "select info.id, info.store_name userName, img.img_url userImage, concat('store_', user.phone) phoneId " +
+            "select info.id, user.nick_name userName, user.head_img userImage, concat('store_', user.phone) phoneId " +
             "from store_user user " +
             "join store_info info on info.id = user.store_id " +
             "left join store_img img on img.store_id = info.id and img.img_type = '10' and img.delete_flag = 0 " +

+ 5 - 1
alien-store/src/main/java/shop/alien/store/controller/LifeCollectController.java

@@ -257,7 +257,11 @@ public class LifeCollectController {
             wrapper.eq(LifeCollect::getBusinessId, businessId);
             wrapper.eq(LifeCollect::getBusinessType, businessType);
         } else {
-            wrapper.eq(LifeCollect::getStoreId, storeId);
+            if(null == storeId){
+                wrapper.isNull(LifeCollect::getStoreId);
+            } else {
+                wrapper.eq(LifeCollect::getStoreId, storeId);
+            }
         }
         wrapper.set(LifeCollect::getDeleteFlag, 1);
         int num = lifeCollectMapper.update(null, wrapper);

+ 12 - 8
alien-store/src/main/java/shop/alien/store/service/impl/LifeNoticeServiceImpl.java

@@ -17,9 +17,7 @@ import shop.alien.mapper.LifeMessageMapper;
 import shop.alien.mapper.LifeNoticeMapper;
 import shop.alien.store.service.LifeNoticeService;
 
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -42,17 +40,23 @@ public class LifeNoticeServiceImpl extends ServiceImpl<LifeNoticeMapper, LifeNot
 //        IPage<LifeNotice> lifeNoticeList = lifeNoticeMapper.selectPage(ipage, queryWrapper);
 
         List<String> senderIdList = new ArrayList<>();
+        Map<String, List<String>> collect = new HashMap<>();
         if (CollectionUtil.isNotEmpty(lifeNoticeList)) {
-            senderIdList = lifeNoticeList.stream()
+            collect = lifeNoticeList.stream()
                     .map(LifeNotice::getSenderId)
                     .filter(item -> item != null && !"system".equals(item) && item.contains("_"))
-                    .map(item -> item.split("_")[1])
-                    .collect(Collectors.toList());
+                    .collect(Collectors.groupingBy(
+                            item -> item.split("_")[0],  // 按原始senderId的第一部分分组
+                            Collectors.mapping(
+                                    item -> item.split("_")[1],  // 提取每个分组中的第二部分
+                                    Collectors.toList()
+                            )));
         }
 
 
-        String senderIds = "'" + String.join("','", senderIdList) + "'";
-        List<LifeMessageVo> userList = lifeMessageMapper.getLifeUserAndStoreUserByPhone(senderIds, "''");
+        String storePhones = collect.containsKey("store")?"'" + String.join("','", collect.get("store")) + "'":"''";
+        String userPhones = collect.containsKey("user")?"'" + String.join("','", collect.get("user")) + "'":"''";
+        List<LifeMessageVo> userList = lifeMessageMapper.getLifeUserAndStoreUserByPhone(storePhones, userPhones);
 
         List<LifeNoticeVo> noticeVoList = new ArrayList<>();
         if (CollectionUtil.isNotEmpty(lifeNoticeList)) {