From 1bb89a854ecc02e123800515fe08614c13d9cb30 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Sun, 22 Feb 2026 17:37:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9B=B4=E6=96=B0=E4=B8=8A?= =?UTF-8?q?=E6=9E=B6=EF=BC=8C=E6=8E=92=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/device/DeviceProductSpuController.java | 9 +++++++++ .../module/product/dal/mysql/spu/ProductSpuMapper.java | 9 ++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/device/DeviceProductSpuController.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/device/DeviceProductSpuController.java index ff91c89..eaa4f98 100644 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/device/DeviceProductSpuController.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/device/DeviceProductSpuController.java @@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.product.controller.admin.device.vo.DeviceProductS import cn.iocoder.yudao.module.product.controller.admin.device.vo.DeviceProductSpuPageReqVO; import cn.iocoder.yudao.module.product.controller.admin.device.vo.DeviceProductSpuRespVO; import cn.iocoder.yudao.module.product.controller.admin.device.vo.DeviceProductSpuSaveReqVO; +import cn.iocoder.yudao.module.product.controller.admin.spu.vo.ProductSpuUpdateStatusReqVO; import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuCreatorDO; import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO; @@ -71,6 +72,14 @@ public class DeviceProductSpuController { return success(true); } + @PutMapping("/update-status") + @Operation(summary = "更新售货机商品 SPU 状态(上架/下架)") + @PreAuthorize("@ss.hasPermission('product:spu:update')") + public CommonResult updateDeviceProductSpuStatus(@Valid @RequestBody ProductSpuUpdateStatusReqVO updateReqVO) { + productSpuService.updateSpuStatus(updateReqVO); + return success(true); + } + @DeleteMapping("/delete") @Operation(summary = "删除售货机商品 SPU") @Parameter(name = "id", description = "编号", required = true, example = "1024") diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/ProductSpuMapper.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/ProductSpuMapper.java index 3b655e7..df0eeef 100644 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/ProductSpuMapper.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/mysql/spu/ProductSpuMapper.java @@ -109,7 +109,14 @@ public interface ProductSpuMapper extends BaseMapperX { query.orderBy(true, pageReqVO.getSortAsc(), ProductSpuDO::getCreateTime) .orderByDesc(ProductSpuDO::getSort).orderByDesc(ProductSpuDO::getId); } else { - query.orderByDesc(ProductSpuDO::getSort).orderByDesc(ProductSpuDO::getId); + // App 端售货机商品(传 deviceId)默认按最低价优先展示 + if (pageReqVO.getDeviceId() != null && !pageReqVO.getDeviceId().isEmpty()) { + query.orderByAsc(ProductSpuDO::getPrice) + .orderByDesc(ProductSpuDO::getSort) + .orderByDesc(ProductSpuDO::getId); + } else { + query.orderByDesc(ProductSpuDO::getSort).orderByDesc(ProductSpuDO::getId); + } } return selectPage(pageReqVO, query); }