浏览代码

消息、通知、交易

qrs 2 小时之前
父节点
当前提交
8ea5351b97

+ 17 - 0
alien-entity/src/main/java/shop/alien/mapper/LifeMessageMapper.java

@@ -79,4 +79,21 @@ public interface LifeMessageMapper extends BaseMapper<LifeMessage> {
             "    or (lm.sender_id = #{senderId} and lm.receiver_id = #{receiverId})) )" +
             "    order by lm.created_time asc")
     List<LifeMessageVo> selectUserImageLists(@Param("receiverId") String receiverId, @Param("senderId") String senderId);
+
+    @Select("select user.id, user.user_name name, user.user_image image, concat('user_', user.user_phone) phoneId, user.jianjie blurb " +
+            "from life_user user " +
+            "where user_phone in ( " +
+            "    select substring_index(sender_id, '_', -1) phone from life_message " +
+            "    where sender_id in " +
+            "          (select receiver_id from life_message " +
+            "            where sender_id = #{senderId} and receiver_id != #{senderId} and delete_flag = 0 " +
+            "            and left(receiver_id, 5) = 'user_' and receiver_id not in ( " +
+            "                    select blocked_phone_id from life_blacklist " +
+            "                    where blocker_phone_id = #{senderId} and delete_flag = 0 " +
+            "                ) " +
+            "            group by receiver_id) " +
+            "    and receiver_id = #{senderId} and delete_flag = 0 " +
+            "    group by sender_id) " +
+            "and delete_flag = 0 ")
+    List<LifeFansVo> getTalkedUserList(@Param("senderId") String senderId);
 }

+ 1 - 1
alien-second/src/main/java/shop/alien/second/service/impl/SecondTradeRecordServiceImpl.java

@@ -406,7 +406,7 @@ public class SecondTradeRecordServiceImpl extends ServiceImpl<SecondTradeRecordM
             int userId = Objects.requireNonNull(JwtUtil.getCurrentUserInfo()).getInteger("userId");
             QueryWrapper<SecondTradeRecord> wrapper = new QueryWrapper<>();
             wrapper.eq("trade.delete_flag", 0);
-            wrapper.apply("(trade.buyer_id = '" + sideId + "' and trade.seller_id = '" + userId + "') || (trade.buyer_id = '" + userId + "' and trade.seller_id = '" + sideId + "')");
+            wrapper.apply("((trade.buyer_id = '" + sideId + "' and trade.seller_id = '" + userId + "') || (trade.buyer_id = '" + userId + "' and trade.seller_id = '" + sideId + "'))");
             wrapper.orderByDesc("trade.created_time");
             return secondTradeRecordMapper.getTradeRecord(wrapper);
         } catch (Exception e) {

+ 9 - 0
alien-store/src/main/java/shop/alien/store/controller/LifeMessageController.java

@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 import shop.alien.entity.result.R;
+import shop.alien.entity.store.vo.LifeFansVo;
 import shop.alien.entity.store.vo.LifeMessageVo;
 import shop.alien.store.service.LifeMessageService;
 import shop.alien.store.task.ScheduledTask;
@@ -120,4 +121,12 @@ public class LifeMessageController {
         log.info("LifeMessageController.noReadCount?receiverId={}", receiverId);
         return R.data(lifeMessageService.noReadCount(receiverId));
     }
+
+    @ApiOperation("聊过天的用户信息")
+    @ApiOperationSupport(order = 10)
+    @GetMapping("/getTalkedUserList")
+    public R<List<LifeFansVo>> getTalkedUserList() throws Exception {
+        log.info("LifeMessageController.getTalkedUserList");
+        return R.data(lifeMessageService.getTalkedUserList());
+    }
 }

+ 2 - 0
alien-store/src/main/java/shop/alien/store/service/LifeMessageService.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import shop.alien.entity.store.LifeMessage;
+import shop.alien.entity.store.vo.LifeFansVo;
 import shop.alien.entity.store.vo.LifeMessageVo;
 
 import java.util.List;
@@ -28,4 +29,5 @@ public interface LifeMessageService extends IService<LifeMessage> {
 
     int getAllNoReadCount(String receiverId) throws Exception;
 
+    List<LifeFansVo> getTalkedUserList() throws Exception;
 }

+ 11 - 0
alien-store/src/main/java/shop/alien/store/service/impl/LifeMessageServiceImpl.java

@@ -494,4 +494,15 @@ public class LifeMessageServiceImpl extends ServiceImpl<LifeMessageMapper, LifeM
         }
     }
 
+    @Override
+    public List<LifeFansVo> getTalkedUserList() throws Exception {
+        try {
+            String phoneId = Objects.requireNonNull(JwtUtil.getCurrentUserInfo()).getString("userType") + "_" + JwtUtil.getCurrentUserInfo().getString("phone");
+            return lifeMessageMapper.getTalkedUserList(phoneId);
+        } catch (Exception e) {
+            log.error("LifeMessageServiceImpl.getTalkedUserList Error Mgs={}", e.getMessage());
+            throw new Exception(e);
+        }
+    }
+
 }