• 新建商品开多规格开关(specType=true)但不传规格列表时,validateSkuList
    收集到的 propertyIds 为空集合,getPropertyList 走 selectByIds 生成
    IN() 非法 SQL 直接 500(A33)。
    
    补空集合短路:propertyIds 为空时抛新增业务错误 SKU_PROPERTIES_EMPTY
    (1_008_006_005) 明确拒绝,不再崩到 SQL 层。
    dadiyang authored
     
    Browse Dir »
  • 商品/SKU 允许填负价格并保存成功(A19):ProductSkuSaveReqVO 的
    price/marketPrice/costPrice/firstBrokeragePrice/secondBrokeragePrice
    均无下限校验,管理端前端 el-input-number min=0 恰好掩盖后端缺口,
    绕过前端(直接接口/H5/第三方)即可写入负价。
    
    给五个价格字段补 @Min(0),后端校验层统一拒绝非正价格(SPU 创建/
    更新经 skus 的 @Valid 级联一并生效)。
    dadiyang authored
     
    Browse Dir »
  • 更新类目时把 parentId 设成分类自身的 id 可保存成功(一级类目自身
    通过'父分类不能是二级分类'校验后放行),形成循环层级(A53);
    创建路径父级必须是已存在分类,天然挡死。
    
    updateCategory 补环检测:parentId==id 时抛新增业务错误
    CATEGORY_PARENT_IS_SELF (1_008_001_006)。
    dadiyang authored
     
    Browse Dir »
  • GET /app-api/product/spu/page 只带 sortField、缺 sortAsc(合法但参数
    不完整)时,getSortAsc()(Boolean)在 orderBy/三目拆箱处 null 直接
    NPE 500(A52),旧版 App/第三方/爬虫都会踩空。
    
    排序逻辑处统一取空安全默认(缺省按升序),三个排序分支共用,
    缺参/显式 null 均不再崩。
    dadiyang authored
     
    Browse Dir »





  • DeliveryPickUpStoreRespVO 加 areaName 字段;DeliveryPickUpStoreConvert 加 convert01(@Mapping areaId→areaName,复用 convertAreaIdToAreaName/AreaUtils.format);/get 改用 convert01 返回 areaName。convertPage/convertList 间接复用 convert01,故 /page、/list 也会带出 areaName
    YunaiV authored
     
    Browse Dir »

  • - 后端售后申请接口启用请求体参数校验
    - 前端申请售后提交前校验售后类型
    - 修正售后类型 radio 选中态绑定字段
    YunaiV authored
     
    Browse Dir »
  • - 调整 MyBatisUtils.findInSet 使用 MyBatis-Plus 参数绑定
    - 增加 columnName 白名单校验,避免列名被注入
    - 补充 H2 兼容实现,恢复相关单测覆盖
    - 替换各模块动态 FIND_IN_SET 字符串拼接写法
    - 补充单参数、多参数绑定场景单测
    YunaiV authored
     
    Browse Dir »



  • 升级内容:
    - spring-boot 3.5.9 → 3.5.14
    - springdoc 2.8.14 → 2.8.17
    - druid 1.2.27 → 1.2.28
    - mybatis-plus 3.5.15 → 3.5.16
    - mybatis-plus-join 1.5.5 → 1.5.7
    - netty 4.2.9.Final → 4.2.12.Final
    - lombok 1.18.42 → 1.18.46
    - hutool 5.8.42 → 5.8.44
    - guava 33.5.0-jre → 33.6.0-jre
    - jsoup 1.21.2 → 1.22.2
    - jsch 2.27.7 → 2.28.2
    - commons-net 3.12.0 → 3.13.0
    - tika-core 3.2.3 → 3.3.0
    - skywalking 9.5.0 → 9.6.0
    - spring-boot-admin 3.5.6 → 3.5.8
    - vertx 4.5.22 → 4.5.26
    - californium 3.12.0 → 3.14.0
    - j2mod 3.2.1 → 3.3.0
    - taos 3.7.9 → 3.8.3
    - awssdk 2.40.15 → 2.44.0
    - alipay-sdk-java 4.40.607.ALL → 4.40.771.ALL
    - opengauss-jdbc 5.1.0 → 7.0.0-RC3-og
    - kingbase8 8.6.0 → 9.0.1.jre7
    - jimureport 2.1.3 → 2.3.2(artifactId 从 jimureport-spring-boot3-starter-fastjson2 改为 jimureport-spring-boot3-starter)
    - jimubi 2.3.0 → 2.3.2
    YunaiV authored
     
    Browse Dir »

  • 1. 运费模板「包邮件数 / 包邮金额」判断方向反向,统一改为 >= 并对齐 DO / BO 注释
    2. 砍价活动促销明细 id 错用 seckillActivityId,改为 bargainActivity.getActivityId()
    3. TradePriceCalculatorHelper.buildCalculateResp 对 spu.giveIntegral 兜底 0,防止拆箱 NPE
    4. 恢复 / 重写 Delivery、Coupon、Discount、PointUse、Reward、PriceService 单测,新增 BargainActivity 单测,共 30 用例
    YunaiV authored
     
    Browse Dir »