Переглянути джерело

feat(second): 添加二手商品状态查询接口

- 新增 SecondGoodsStatusVo 状态查询对象
- 新增 getGoodsStatusById 接口用于查询商品状态
- 集成 SecondGoodsStatusEnum 枚举转换状态名称
- 添加接口参数校验和商品存在性检查
- 实现状态码到状态名称的映射功能
- 添加审核失败原因字段返回
fcw 1 день тому
батько
коміт
763d80868e

+ 25 - 0
alien-entity/src/main/java/shop/alien/entity/second/vo/SecondGoodsStatusVo.java

@@ -0,0 +1,25 @@
+package shop.alien.entity.second.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 二手商品状态查询(精简)
+ */
+@Data
+@ApiModel("二手商品状态")
+public class SecondGoodsStatusVo {
+
+    @ApiModelProperty("商品ID")
+    private Integer id;
+
+    @ApiModelProperty("商品状态 0草稿 1审核中 2审核失败 3已上架 4已下架 5已售出")
+    private Integer goodsStatus;
+
+    @ApiModelProperty("状态名称")
+    private String goodsStatusName;
+
+    @ApiModelProperty("审核失败原因(仅审核失败时有值)")
+    private String failedReason;
+}

+ 25 - 0
alien-second/src/main/java/shop/alien/second/controller/SecondGoodsController.java

@@ -10,6 +10,8 @@ import org.springframework.web.bind.annotation.*;
 import shop.alien.entity.SecondVideoTask;
 import shop.alien.entity.result.R;
 import shop.alien.entity.second.SecondGoods;
+import shop.alien.entity.second.enums.SecondGoodsStatusEnum;
+import shop.alien.entity.second.vo.SecondGoodsStatusVo;
 import shop.alien.entity.second.vo.SecondGoodsVo;
 import shop.alien.mapper.second.SecondGoodsAuditMapper;
 import shop.alien.second.service.SecondGoodsAuditService;
@@ -71,6 +73,29 @@ public class SecondGoodsController {
     }
 
     /**
+     * 根据商品ID查询商品状态
+     */
+    @GetMapping("/getGoodsStatusById")
+    @ApiOperation("根据商品ID查询商品状态(0草稿 1审核中 2审核失败 3已上架 4已下架 5已售出)")
+    public R<SecondGoodsStatusVo> getGoodsStatusById(@ApiParam("商品ID") @RequestParam Integer id) {
+        log.info("SecondGoodsController.getGoodsStatusById?id={}", id);
+        if (id == null) {
+            return R.fail("商品ID不能为空");
+        }
+        SecondGoods goods = secondGoodsService.getById(id);
+        if (goods == null) {
+            return R.fail("商品不存在");
+        }
+        SecondGoodsStatusVo vo = new SecondGoodsStatusVo();
+        vo.setId(goods.getId());
+        vo.setGoodsStatus(goods.getGoodsStatus());
+        SecondGoodsStatusEnum statusEnum = SecondGoodsStatusEnum.fromCode(goods.getGoodsStatus());
+        vo.setGoodsStatusName(statusEnum != null ? statusEnum.getDescription() : null);
+        vo.setFailedReason(goods.getFailedReason());
+        return R.data(vo, "查询成功");
+    }
+
+    /**
      * 添加二手商品
      */
     @PostMapping("/save")