فهرست منبع

二手 增加买家删除商品记录

qinxuyang 8 ساعت پیش
والد
کامیت
c3766ebb06

+ 15 - 0
alien-second/src/main/java/shop/alien/second/controller/SecondTradeRecordController.java

@@ -218,4 +218,19 @@ public class SecondTradeRecordController {
         log.info("SecondTradeRecordController.locationShareHas?otherUserId={}", otherUserId);
         return R.data(secondTradeRecordService.locationShareHas(otherUserId));
     }
+
+    @ApiOperation("买家逻辑删除交易记录")
+    @ApiOperationSupport(order = 16)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "userId", value = "当前用户id(对应 buyer_id)", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "tradeId", value = "交易记录主键id(second_trade_record.id)", dataType = "Integer", paramType = "query", required = true)
+    })
+    @GetMapping("/logicDeleteByBuyer")
+    public R<Boolean> logicDeleteByBuyer(@RequestParam Integer userId, @RequestParam Integer tradeId) {
+        log.info("SecondTradeRecordController.logicDeleteByBuyer?userId={}, tradeId={}", userId, tradeId);
+        if (secondTradeRecordService.logicDeleteByBuyerAndTradeId(userId, tradeId)) {
+            return R.success("删除成功");
+        }
+        return R.fail("记录不存在、已删除,或参数无效");
+    }
 }

+ 5 - 0
alien-second/src/main/java/shop/alien/second/service/SecondTradeRecordService.java

@@ -58,4 +58,9 @@ public interface SecondTradeRecordService extends IService<SecondTradeRecord> {
     void locationShareDel(Integer otherUserId) throws Exception;
 
     boolean locationShareHas(Integer otherUserId) throws Exception;
+
+    /**
+     * 买家按用户ID与主键 id 逻辑删除 second_trade_record(匹配 buyer_id、id)
+     */
+    boolean logicDeleteByBuyerAndTradeId(Integer userId, Integer tradeId);
 }

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

@@ -1192,6 +1192,17 @@ public class SecondTradeRecordServiceImpl extends ServiceImpl<SecondTradeRecordM
         return false;
     }
 
+    @Override
+    public boolean logicDeleteByBuyerAndTradeId(Integer userId, Integer tradeId) {
+        if (userId == null || tradeId == null) {
+            return false;
+        }
+        LambdaQueryWrapper<SecondTradeRecord> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SecondTradeRecord::getBuyerId, userId);
+        wrapper.eq(SecondTradeRecord::getId, tradeId);
+        return remove(wrapper);
+    }
+
     private String getKey(Integer userId, Integer otherUserId) {
         // 组合userId和otherUserId作为Redis的key
         // 使用排序方式确保key的一致性(较小的ID在前)