Bladeren bron

修改交易信息功能

qrs 4 weken geleden
bovenliggende
commit
381a8b756f

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

@@ -575,6 +575,7 @@ public class SecondTradeRecordServiceImpl extends ServiceImpl<SecondTradeRecordM
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean modifyTradeRecord(int type, Integer tradeId, String transactionTime, String transactionLatitudeLongitude, String transactionLatitudeLongitudeAddress, String transactionLocation, String messageId) throws Exception {
         try {
             if (type == 1) {
@@ -591,11 +592,34 @@ public class SecondTradeRecordServiceImpl extends ServiceImpl<SecondTradeRecordM
 
             JSONObject lastMessageContent = JSONObject.parseObject(lastMessage.getContent());
             lastMessageContent.put("messageId", lastMessage.getId());
-            lastMessageContent.put("modifyStatus", type);
+            lastMessageContent.put("modifyStatus", type == 1 ? 3 : 2);
             LifeMessage message = new LifeMessage();
             message.setId(lastMessage.getId());
             message.setContent(lastMessageContent.toJSONString());
             lifeMessageMapper.updateById(message);
+
+            SecondTradeRecord trade = secondTradeRecordMapper.selectById(tradeId);
+
+            // 发起交易人信息
+            Integer userId = Objects.requireNonNull(JwtUtil.getCurrentUserInfo()).getInteger("userId");
+            String phoneId = JwtUtil.getCurrentUserInfo().getString("userType") + "_" + JwtUtil.getCurrentUserInfo().getString("phone");
+
+            // 获取交易对方信息
+            LifeUser lifeUser = lifeUserMapper.selectById(Objects.equals(userId, trade.getBuyerId()) ? trade.getSellerId() : trade.getBuyerId());
+            String receiverId = "user_" + lifeUser.getUserPhone();
+
+            // 给买家与卖家发送交易消息
+            WebSocketVo webSocketVo = new WebSocketVo();
+            webSocketVo.setSenderId(phoneId);
+            webSocketVo.setReceiverId(receiverId);
+            webSocketVo.setCategory("message");
+            webSocketVo.setType("9");
+            webSocketVo.setIsRead(0);
+            webSocketVo.setText(lastMessageContent.toJSONString());
+            webSocketVo.setMessageId(lastMessage.getId());
+
+            alienStoreFeign.sendMsgToClientByPhoneId(phoneId, JSONObject.from(webSocketVo).toJSONString());
+            alienStoreFeign.sendMsgToClientByPhoneId(receiverId, JSONObject.from(webSocketVo).toJSONString());
             return true;
         } catch (Exception e) {
             log.error("SecondTradeRecordServiceImpl.modifyTradeRecord(): Error Msg={}", e.getMessage());