diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/qywx/user/db/QyUserEntity.java b/agileboot-domain/src/main/java/com/agileboot/domain/qywx/user/db/QyUserEntity.java index 0359600..86faff6 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/qywx/user/db/QyUserEntity.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/qywx/user/db/QyUserEntity.java @@ -148,6 +148,10 @@ public class QyUserEntity extends BaseEntity { @TableField("balance") private BigDecimal balance; + @ApiModelProperty("已使用用户余额") + @TableField("use_balance") + private BigDecimal useBalance; + @ApiModelProperty("系统角色id") @TableField("sys_role_id") private Long sysRoleId; diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/qywx/user/dto/QyUserDTO.java b/agileboot-domain/src/main/java/com/agileboot/domain/qywx/user/dto/QyUserDTO.java index 47ccbac..0205105 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/qywx/user/dto/QyUserDTO.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/qywx/user/dto/QyUserDTO.java @@ -106,6 +106,9 @@ public class QyUserDTO { @ExcelColumn(name = "用户余额") private BigDecimal balance; + @ExcelColumn(name = "已使用用户余额") + private BigDecimal useBalance; + @ExcelColumn(name = "系统角色ID") private Long sysRoleId; diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/ReturnApprovalApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/ReturnApprovalApplicationService.java index a309323..fb18a1d 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/ReturnApprovalApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/approval/ReturnApprovalApplicationService.java @@ -192,6 +192,7 @@ public class ReturnApprovalApplicationService { QyUserEntity qyUser = userService.getUserByUserId(userid, WeixinConstants.corpid); if (null != qyUser) { qyUser.setBalance(qyUser.getBalance().add(command.getReturnAmount())); + qyUser.setUseBalance(qyUser.getUseBalance().subtract(command.getReturnAmount())); } userService.updateById(qyUser); } catch (Exception e) { diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java index bd03787..ab32871 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java @@ -192,6 +192,7 @@ public class OrderApplicationService { throw new ApiException(ErrorCode.Client.COMMON_REQUEST_PARAMETERS_INVALID, "余额不足"); } else { qyUser.setBalance(qyUser.getBalance().subtract(orderModel.getTotalAmount())); + qyUser.setUseBalance(qyUser.getUseBalance().add(orderModel.getTotalAmount())); userService.updateById(qyUser); } // 金额转换(元转分)并四舍五入 diff --git a/sql/20250520_goods.sql b/sql/20250520_goods.sql index fe75a20..378c0c7 100644 --- a/sql/20250520_goods.sql +++ b/sql/20250520_goods.sql @@ -4,4 +4,8 @@ AFTER `goods_detail`; ALTER TABLE `qy_user` ADD COLUMN `sys_role_id` BIGINT DEFAULT NULL COMMENT '系统角色id' +AFTER `balance`; + +ALTER TABLE `qy_user` +ADD COLUMN `use_balance` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '已使用用户余额' AFTER `balance`; \ No newline at end of file