Forráskód Böngészése

feat(second): 二手商品管理后台详情页面增加交易流程展示

- 在 AdminSecondGoodsController 中更新 getAdminGoodsDetail 方法,添加交易记录详情
- 在 PlatformSecondTradeService 接口中新增 getOperationJsonList 方法
- 在 PlatformSecondTradeServiceImpl 中实现 getOperationJsonList 方法- 更新 SecondGoodsDetailVo 中的 tradeRecords 类型,从 List<SecondTradeRecord> 改为 List<SecondTradeRecordVo>
- 在 SecondGoodsService 接口中更新 getAdminGoodsDetail 方法,添加异常抛出
- 在 SecondGoodsServiceImpl 中实现 getAdminGoodsDetail 方法,集成交易记录详情功能
wxd 3 hónapja
szülő
commit
d5ac13ef06

+ 1 - 1
alien-entity/src/main/java/shop/alien/entity/second/vo/SecondGoodsDetailVo.java

@@ -27,7 +27,7 @@ public class SecondGoodsDetailVo {
     private List<SecondGoodsRecord> operationRecords;
 
     @ApiModelProperty(value = "商品交易记录集合")
-    private List<SecondTradeRecord> tradeRecords;
+    private List<SecondTradeRecordVo> tradeRecords;
 
     @ApiModelProperty(value = "商品举报集合")
     private List<SecondReportingVo> reports;

+ 1 - 1
alien-second/src/main/java/shop/alien/second/controller/AdminSecondGoodsController.java

@@ -49,7 +49,7 @@ public class AdminSecondGoodsController {
     
     @GetMapping("/detail")
     @ApiOperation("管理后台商品详情")
-    public R<SecondGoodsDetailVo> getAdminGoodsDetail(@ApiParam("商品ID") @RequestParam Integer goodsId) {
+    public R<SecondGoodsDetailVo> getAdminGoodsDetail(@ApiParam("商品ID") @RequestParam Integer goodsId) throws Exception {
         log.info("AdminSecondGoodsController.getAdminGoodsDetail?goodsId={}", goodsId);
         
         SecondGoodsDetailVo result = secondGoodsService.getAdminGoodsDetail(goodsId);

+ 4 - 1
alien-second/src/main/java/shop/alien/second/service/PlatformSecondTradeService.java

@@ -1,14 +1,17 @@
 package shop.alien.second.service;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import shop.alien.entity.second.SecondTradeRecord;
 import shop.alien.entity.second.vo.SecondTradeRecordVo;
 
+import java.util.List;
+
 public interface PlatformSecondTradeService extends IService<SecondTradeRecord> {
 
     IPage<SecondTradeRecordVo> getTradeRecordPage(SecondTradeRecordVo vo) throws Exception;
 
     SecondTradeRecordVo getTradeRecordById(Integer id) throws Exception;
-
+    List<JSONObject> getOperationJsonList(Integer tradeId) throws Exception;
 }

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

@@ -180,7 +180,7 @@ public interface SecondGoodsService extends IService<SecondGoods> {
      * @param goodsId 商品ID
      * @return 商品详情信息
      */
-    SecondGoodsDetailVo getAdminGoodsDetail(Integer goodsId);
+    SecondGoodsDetailVo getAdminGoodsDetail(Integer goodsId) throws Exception;
 
     /**
      * 获取管理后台商品操作记录详情

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

@@ -68,7 +68,7 @@ public class PlatformSecondTradeServiceImpl extends ServiceImpl<SecondTradeRecor
             throw new Exception(e);
         }
     }
-
+    @Override
     public List<JSONObject> getOperationJsonList(Integer tradeId) throws Exception {
         try {
             List<JSONObject> operationJsonList = new ArrayList<>();

+ 19 - 5
alien-second/src/main/java/shop/alien/second/service/impl/SecondGoodsServiceImpl.java

@@ -34,6 +34,7 @@ import shop.alien.mapper.second.SecondGoodsMapper;
 import shop.alien.mapper.second.SecondGoodsRecordMapper;
 import shop.alien.mapper.second.SecondTradeRecordMapper;
 import shop.alien.second.feign.AlienStoreFeign;
+import shop.alien.second.service.PlatformSecondTradeService;
 import shop.alien.second.service.SecondGoodsService;
 import shop.alien.second.service.VideoModerationService;
 import shop.alien.util.common.Constants;
@@ -146,6 +147,11 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
      */
     private final StoreDictionaryMapper storeDictionaryMapper;
 
+    /**
+     * 交易记录服务
+     */
+    private final PlatformSecondTradeService platformSecondTradeService;
+
     @Override
     public SecondGoodsRecordDetailVo getAdminGoodsRecordDetail(Integer recordId) {
         // 1. 获取商品操作记录基本信息
@@ -178,7 +184,7 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
     }
 
     @Override
-    public SecondGoodsDetailVo getAdminGoodsDetail(Integer goodsId) {
+    public SecondGoodsDetailVo getAdminGoodsDetail(Integer goodsId) throws Exception {
         SecondGoodsDetailVo detailVo = new SecondGoodsDetailVo();
         QueryWrapper<SecondGoodsVo> goodsVoQueryWrapper = new QueryWrapper<>();
         goodsVoQueryWrapper
@@ -210,10 +216,18 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
         tradeQueryWrapper.eq("goods_id", goodsId)
                 .orderByDesc("transaction_time");
         List<SecondTradeRecord> tradeRecords = secondTradeRecordMapper.selectList(tradeQueryWrapper);
-
-        // TODO 处理交易步骤
-
-        detailVo.setTradeRecords(tradeRecords);
+        // 处理交易步骤 调取 PlatformSecondTradeServiceImpl.getOperationJsonList
+        List<SecondTradeRecordVo> secondTradeRecordVos = Lists.newArrayList();
+        if (CollectionUtil.isNotEmpty(tradeRecords)){
+            for (SecondTradeRecord tradeRecord : tradeRecords) {
+                SecondTradeRecordVo secondTradeRecordVo = new SecondTradeRecordVo();
+                BeanUtils.copyProperties(tradeRecord, secondTradeRecordVo);
+                secondTradeRecordVos.add(secondTradeRecordVo);
+                // 交易节点
+                secondTradeRecordVo.setOperationJsonList(platformSecondTradeService.getOperationJsonList(tradeRecord.getId()));
+            }
+        }
+        detailVo.setTradeRecords(secondTradeRecordVos);
         
         // 5. 获取商品举报集合
         QueryWrapper<LifeUserViolation> reportQueryWrapper = new QueryWrapper<>();