From 9cc755f83c85a6234e60664f39bfb27a37e8f87a Mon Sep 17 00:00:00 2001 From: dzq Date: Fri, 13 Jun 2025 09:00:18 +0800 Subject: [PATCH] =?UTF-8?q?feat(approval):=20=E6=B7=BB=E5=8A=A0=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E7=A0=81=E5=AD=97=E6=AE=B5=E5=8F=8A=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在return_approval表中添加code字段用于存储审批码 - 在审批相关DTO、Entity、Query中添加code字段支持 - 修改商品详情查询SQL,添加店铺名称字段 - 移除资产申请时的库存校验逻辑 --- .../admin/controller/shop/ShopGoodsController.java | 2 +- .../com/agileboot/domain/asset/AssetApplicationService.java | 4 ++-- .../domain/asset/command/PostAssetApprovalCommand.java | 3 +++ .../domain/shop/approval/db/ReturnApprovalEntity.java | 4 ++++ .../domain/shop/approval/dto/ReturnApprovalDTO.java | 3 +++ .../shop/approval/query/SearchApiReturnApprovalQuery.java | 2 ++ .../shop/approval/query/SearchReturnApprovalQuery.java | 2 ++ .../com/agileboot/domain/shop/goods/db/SearchGoodsDO.java | 2 ++ .../com/agileboot/domain/shop/goods/db/ShopGoodsMapper.java | 4 +++- .../com/agileboot/domain/shop/goods/dto/ShopGoodsDTO.java | 3 +++ sql/20250611.sql | 6 +++++- 11 files changed, 30 insertions(+), 5 deletions(-) diff --git a/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopGoodsController.java b/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopGoodsController.java index 6904b44..10bef6a 100644 --- a/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopGoodsController.java +++ b/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopGoodsController.java @@ -80,7 +80,7 @@ public class ShopGoodsController extends BaseController { /** * 获取单个商品信息 */ - @Operation(summary = "商品列表") + @Operation(summary = "商品详情") // @PreAuthorize("@permission.has('shop:goods:list')") @GetMapping("/getGoodsInfo") public ResponseDTO getGoodsInfo(@RequestParam Long goodsId) { diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/asset/AssetApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/asset/AssetApplicationService.java index e3cf44c..ad9ae6a 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/asset/AssetApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/asset/AssetApplicationService.java @@ -148,14 +148,14 @@ public class AssetApplicationService { throw new IllegalArgumentException("Insufficient stock"); } - List cabinetCellEntities = cabinetCellService.selectByGoodsId(shopGoodsEntity.getGoodsId()); + /*List cabinetCellEntities = cabinetCellService.selectByGoodsId(shopGoodsEntity.getGoodsId()); if (cabinetCellEntities == null || cabinetCellEntities.isEmpty()) { throw new IllegalArgumentException("No cabinet cells found for the goods"); } Integer totalStock = cabinetCellEntities.stream().map(CabinetCellEntity::getStock).reduce(0, Integer::sum); if (totalStock < command.getApplyQuantity()) { throw new IllegalArgumentException("Insufficient stock in cabinet cells"); - } + }*/ AddApprovalGoodsCommand approvalGoodsCommand = new AddApprovalGoodsCommand(); approvalGoodsCommand.initBaseEntity(); diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/asset/command/PostAssetApprovalCommand.java b/agileboot-domain/src/main/java/com/agileboot/domain/asset/command/PostAssetApprovalCommand.java index 37ae3ee..e78e2c6 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/asset/command/PostAssetApprovalCommand.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/asset/command/PostAssetApprovalCommand.java @@ -22,6 +22,9 @@ public class PostAssetApprovalCommand { @ApiModelProperty("申请说明") private String applyRemark; + @ApiModelProperty("核销码") + private String code; + @ApiModelProperty("手机号码") private String mobile; diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/db/ReturnApprovalEntity.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/db/ReturnApprovalEntity.java index 3789c01..5555221 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/db/ReturnApprovalEntity.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/db/ReturnApprovalEntity.java @@ -54,6 +54,10 @@ public class ReturnApprovalEntity extends BaseEntity { @TableField("external_approval_id") private Long externalApprovalId; + @ApiModelProperty("审批码") + @TableField("code") + private String code; + @ApiModelProperty("企业微信id") @TableField("corpid") private String corpid; diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/dto/ReturnApprovalDTO.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/dto/ReturnApprovalDTO.java index 18b1937..ebfb762 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/dto/ReturnApprovalDTO.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/dto/ReturnApprovalDTO.java @@ -50,6 +50,9 @@ public class ReturnApprovalDTO { @ExcelColumn(name = "外部归属类型的审批ID") private Long externalApprovalId; + @ExcelColumn(name = "审批码") + private String code; + @ExcelColumn(name = "企业微信id") private String corpid; diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/query/SearchApiReturnApprovalQuery.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/query/SearchApiReturnApprovalQuery.java index 159528c..f650b4a 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/query/SearchApiReturnApprovalQuery.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/query/SearchApiReturnApprovalQuery.java @@ -18,6 +18,7 @@ public class SearchApiReturnApprovalQuery extends AbstractPageQuery { private Integer status; private Long externalGoodsId; private Long externalApprovalId; + private String code; private String corpid; private String applyUserid; private String auditUserid; @@ -40,6 +41,7 @@ public class SearchApiReturnApprovalQuery extends AbstractPageQuery { .eq(status != null, "ra.status", status) .eq(externalGoodsId != null, "ra.external_goods_id", externalGoodsId) .eq(externalApprovalId != null, "ra.external_approval_id", externalApprovalId) + .eq(StrUtil.isNotEmpty(code), "ra.code", code) .eq(approvalType != null, "ra.approval_type", approvalType) .eq(StrUtil.isNotEmpty(corpid), "ra.corpid", corpid) .eq(StrUtil.isNotEmpty(applyUserid), "ra.apply_userid", applyUserid) diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/query/SearchReturnApprovalQuery.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/query/SearchReturnApprovalQuery.java index 1056878..fc664c1 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/query/SearchReturnApprovalQuery.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/query/SearchReturnApprovalQuery.java @@ -18,6 +18,7 @@ public class SearchReturnApprovalQuery extends AbstractPageQuery { private Integer status; private Long externalGoodsId; private Long externalApprovalId; + private String code; private String corpid; private String applyUserid; private String auditUserid; @@ -42,6 +43,7 @@ public class SearchReturnApprovalQuery extends AbstractPageQuery { .eq(status != null, "ra.status", status) .eq(externalGoodsId != null, "ra.external_goods_id", externalGoodsId) .eq(externalApprovalId != null, "ra.external_approval_id", externalApprovalId) + .eq(StrUtil.isNotEmpty(code), "ra.code", code) .eq(approvalType != null, "ra.approval_type", approvalType) .eq(StrUtil.isNotEmpty(corpid), "ra.corpid", corpid) .eq(StrUtil.isNotEmpty(applyUserid), "ra.apply_userid", applyUserid) diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/goods/db/SearchGoodsDO.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/goods/db/SearchGoodsDO.java index 57cf0d1..f6c73c3 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/goods/db/SearchGoodsDO.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/goods/db/SearchGoodsDO.java @@ -16,6 +16,8 @@ public class SearchGoodsDO extends ShopGoodsEntity { private Long cabinetId; @TableField("cabinet_name") private String cabinetName; + @TableField("shop_name_str") + private String shopNameStr; @TableField("cell_no") private Integer cellNo; @TableField("cell_no_str") diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/goods/db/ShopGoodsMapper.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/goods/db/ShopGoodsMapper.java index 20ef4b0..6a9912e 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/goods/db/ShopGoodsMapper.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/goods/db/ShopGoodsMapper.java @@ -87,10 +87,12 @@ public interface ShopGoodsMapper extends BaseMapper { @Select("SELECT g.*, " + "SUM(cc.stock) AS total_stock, " + "GROUP_CONCAT(DISTINCT cc.cell_no) AS cell_no_str, " + - "GROUP_CONCAT(DISTINCT sc.cabinet_name) AS cabinet_name " + + "GROUP_CONCAT(DISTINCT sc.cabinet_name) AS cabinet_name, " + + "GROUP_CONCAT(DISTINCT s.shop_name) AS shop_name_str " + "FROM shop_goods g " + "LEFT JOIN cabinet_cell cc ON g.goods_id = cc.goods_id AND cc.deleted = 0 " + "LEFT JOIN smart_cabinet sc ON cc.cabinet_id = sc.cabinet_id AND sc.deleted = 0 " + + "LEFT JOIN shop s ON s.shop_id = sc.shop_id AND s.deleted = 0 " + "WHERE g.goods_id = #{goodsId} ") SearchGoodsDO getGoodsInfo(@Param("goodsId") Long goodsId); diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/goods/dto/ShopGoodsDTO.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/goods/dto/ShopGoodsDTO.java index 0ea1dc2..e289239 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/goods/dto/ShopGoodsDTO.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/goods/dto/ShopGoodsDTO.java @@ -98,6 +98,9 @@ public class ShopGoodsDTO { private String cellNoStr; @ExcelColumn(name = "已分配库存") private Integer totalStock; + + @ExcelColumn(name = "地址名称") + private String shopNameStr; @ExcelColumn(name = "商品使用说明") private String usageInstruction; diff --git a/sql/20250611.sql b/sql/20250611.sql index 3859171..50cc1e8 100644 --- a/sql/20250611.sql +++ b/sql/20250611.sql @@ -20,4 +20,8 @@ AFTER `mode`; ALTER TABLE `shop` ADD COLUMN `cover_img` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '封面图URL' -AFTER `balance_enable`; \ No newline at end of file +AFTER `balance_enable`; + +ALTER TABLE `return_approval` +ADD COLUMN `code` varchar(32) DEFAULT NULL COMMENT '审批码' +AFTER `external_approval_id`;