瀏覽代碼

fix(product): 解决商品审核服务中的空指针异常和分类查询参数问题

- 在商品编号比较逻辑中增加了非空验证,避免空指针异常
- 使用NumberGeneratorUtil.generateNumber()方法处理商品编号生成
- 将商品基本信息VO的商品编号设置逻辑统一化
- 修改产品分类控制器中的平台参数为非必需参数,提高接口灵活性
- 优化商品审核服务中的条件判断逻辑,提升代码可读性
肖路 4 天之前
父節點
當前提交
c882aba98d

+ 1 - 1
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/controller/ProductCategoryController.java

@@ -136,7 +136,7 @@ public class ProductCategoryController extends BaseController {
     * 查询产品分类树(排除节点)
     * */
     @GetMapping("/tree/exclude/{excludeIds}")
-    public R<List<Tree<Long>>> listExclude(@PathVariable("excludeIds") String excludeIds,@RequestParam Long platform) {
+    public R<List<Tree<Long>>> listExclude(@PathVariable("excludeIds") String excludeIds,@RequestParam(required = false) Long platform) {
         return R.ok(productCategoryService.queryPageListExclude(excludeIds, platform));
     }
 }

+ 13 - 5
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/service/impl/ProductBaseAuditServiceImpl.java

@@ -225,17 +225,25 @@ public class ProductBaseAuditServiceImpl extends ServiceImpl<ProductBaseAuditMap
             //比较商品编号大小
             String productNo = "";
             if(ObjectUtil.isNotEmpty(base) && ObjectUtil.isNotEmpty(baseAudit)){
-                if(base.getProductNo().compareTo(baseAudit.getProductNo())>0){
-                    productNo = base.getProductNo();
-                }else{
-                    productNo = baseAudit.getProductNo();
+                String baseProductNo = base.getProductNo();
+                String auditProductNo = baseAudit.getProductNo();
+                if(ObjectUtil.isNotEmpty(baseProductNo) && ObjectUtil.isNotEmpty(auditProductNo)){
+                    if(baseProductNo.compareTo(auditProductNo)>0){
+                        productNo = baseProductNo;
+                    }else{
+                        productNo = auditProductNo;
+                    }
+                }else if(ObjectUtil.isNotEmpty(baseProductNo)){
+                    productNo = baseProductNo;
+                }else if(ObjectUtil.isNotEmpty(auditProductNo)){
+                    productNo = auditProductNo;
                 }
             }else if(ObjectUtil.isNotEmpty(base)){
                 productNo = base.getProductNo();
             }else if(ObjectUtil.isNotEmpty(baseAudit)){
                 productNo = baseAudit.getProductNo();
             }
-            productBaseVo.setProductNo(productNo);
+            productBaseVo.setProductNo(NumberGeneratorUtil.generateNumber(productNo));
             add.setProductNo(NumberGeneratorUtil.generateNumber(productNo));
             add.setProductData(JSONObject.toJSONString(productBaseVo));
         }else {