feat(商品管理): 添加商品归还审批表及优化商品查询排序

在SearchGoodsDO中添加cabinetId字段,以便在商品查询中支持按柜子ID排序。同时,在ShopGoodsMapper中更新SQL查询语句,添加cabinet_id字段。此外,创建了新的SQL脚本`20250328_return_approval.sql`,用于创建商品归还审批表,支持商品归还流程的审批管理。
This commit is contained in:
dzq 2025-04-03 17:19:07 +08:00
parent cf07d1dd52
commit 8a908fc26a
4 changed files with 36 additions and 3 deletions

View File

@ -11,7 +11,9 @@ public class SearchGoodsDO extends ShopGoodsEntity {
@TableField("category_name") @TableField("category_name")
private String categoryName; private String categoryName;
@TableField("cabinet_id")
private Long cabinetId;
@TableField("cabinet_name") @TableField("cabinet_name")
private String cabinetName; private String cabinetName;
@TableField("cell_no") @TableField("cell_no")

View File

@ -25,7 +25,7 @@ public interface ShopGoodsMapper extends BaseMapper<ShopGoodsEntity> {
*/ */
@Select("SELECT g.goods_id, g.goods_name, g.category_id, g.price, " + @Select("SELECT g.goods_id, g.goods_name, g.category_id, g.price, " +
"g.stock, g.status, g.cover_img, c.category_name, " + "g.stock, g.status, g.cover_img, c.category_name, " +
"sc.cabinet_name, cc.cell_no " + "sc.cabinet_id, sc.cabinet_name, cc.cell_no " +
"FROM shop_goods g " + "FROM shop_goods g " +
"LEFT JOIN shop_category c ON g.category_id = c.category_id " + "LEFT JOIN shop_category c ON g.category_id = c.category_id " +
"LEFT JOIN cabinet_cell cc ON g.goods_id = cc.goods_id " + "LEFT JOIN cabinet_cell cc ON g.goods_id = cc.goods_id " +

View File

@ -1,6 +1,7 @@
package com.agileboot.domain.shop.goods.db; package com.agileboot.domain.shop.goods.db;
import com.agileboot.common.core.page.AbstractPageQuery; import com.agileboot.common.core.page.AbstractPageQuery;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -18,7 +19,10 @@ import java.util.List;
public class ShopGoodsServiceImpl extends ServiceImpl<ShopGoodsMapper, ShopGoodsEntity> implements ShopGoodsService { public class ShopGoodsServiceImpl extends ServiceImpl<ShopGoodsMapper, ShopGoodsEntity> implements ShopGoodsService {
@Override @Override
public Page<SearchGoodsDO> getGoodsList(AbstractPageQuery<SearchGoodsDO> query) { public Page<SearchGoodsDO> getGoodsList(AbstractPageQuery<SearchGoodsDO> query) {
return baseMapper.getGoodsList(query.toPage(), query.toQueryWrapper()); QueryWrapper<SearchGoodsDO> wrapper = query.toQueryWrapper();
wrapper.orderByAsc("sc.cabinet_id IS NULL", "sc.cabinet_id", "cc.cell_no");
return baseMapper.getGoodsList(query.toPage(), wrapper);
} }
@Override @Override

View File

@ -0,0 +1,27 @@
DROP TABLE IF EXISTS `return_approval`;
CREATE TABLE `return_approval` (
`approval_id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '审批编号',
`order_id` BIGINT NOT NULL COMMENT '关联订单ID',
`goods_id` BIGINT NOT NULL COMMENT '关联商品ID',
`return_quantity` INT NULL COMMENT '归还数量',
`goods_price` DECIMAL(15,2) NOT NULL COMMENT '商品单价',
`return_amount` DECIMAL(15,2) NULL COMMENT '退还金额',
`return_images` VARCHAR(512) NOT NULL COMMENT '归还图片路径数组',
`audit_images` VARCHAR(512) NULL COMMENT '审核图片路径数组',
`return_remark` VARCHAR(512) NULL COMMENT '归还说明',
`audit_remark` VARCHAR(512) NULL COMMENT '审核说明',
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '审批状态(1待审核 2已通过 3已驳回)',
`creator_id` BIGINT NOT NULL DEFAULT 0 COMMENT '创建者ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater_id` BIGINT NOT NULL DEFAULT 0 COMMENT '更新者ID',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '删除标志0存在 1删除',
PRIMARY KEY (`approval_id`),
KEY `idx_order` (`order_id`),
KEY `idx_goods` (`goods_id`),
KEY `idx_status` (`status`),
CONSTRAINT `fk_return_order` FOREIGN KEY (`order_id`) REFERENCES `shop_order` (`order_id`),
CONSTRAINT `fk_return_goods` FOREIGN KEY (`goods_id`) REFERENCES `shop_goods` (`goods_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='商品归还审批表';