feat(用户模块): 添加用户余额额度字段及相关逻辑
在用户表中新增balance_limit字段用于记录用户余额额度,并同步更新DTO、Entity及相关查询逻辑 修改用户更新逻辑,当只更新额度时自动计算剩余余额 更新统计查询SQL以包含额度字段的汇总
This commit is contained in:
parent
12fa1dce42
commit
1be43a1251
|
@ -75,6 +75,9 @@ public class QyUserApplicationService {
|
|||
|
||||
public void updateUser(UpdateQyUserCommand command) {
|
||||
UserModel model = qyUserModelFactory.loadById(command.getId());
|
||||
if (command.getBalanceLimit() != null && command.getBalance() == null) {
|
||||
command.setBalance(command.getBalanceLimit().subtract(model.getUseBalance()));
|
||||
}
|
||||
model.loadUpdateCommand(command);
|
||||
model.updateById();
|
||||
|
||||
|
|
|
@ -152,6 +152,10 @@ public class QyUserEntity extends BaseEntity<QyUserEntity> {
|
|||
@TableField("use_balance")
|
||||
private BigDecimal useBalance;
|
||||
|
||||
@ApiModelProperty("用户余额额度")
|
||||
@TableField("balance_limit")
|
||||
private BigDecimal balanceLimit;
|
||||
|
||||
@ApiModelProperty("系统角色id")
|
||||
@TableField("sys_role_id")
|
||||
private Long sysRoleId;
|
||||
|
|
|
@ -45,12 +45,12 @@ public interface QyUserMapper extends BaseMapper<QyUserEntity> {
|
|||
"AND sr.role_key = 'admin'")
|
||||
List<String> selectAdminUserIds();
|
||||
|
||||
@Select("SELECT SUM(balance) AS balance, SUM(use_balance) AS useBalance " +
|
||||
@Select("SELECT SUM(balance) AS balance, SUM(use_balance) AS useBalance, SUM(balance_limit) AS balanceLimit " +
|
||||
"FROM qy_user " +
|
||||
"WHERE deleted = 0")
|
||||
QyUserStatsDTO selectTotalBalance();
|
||||
|
||||
@Select("SELECT SUM(balance) AS balance, SUM(use_balance) AS useBalance " +
|
||||
@Select("SELECT SUM(balance) AS balance, SUM(use_balance) AS useBalance, SUM(balance_limit) AS balanceLimit " +
|
||||
"FROM qy_user " +
|
||||
"WHERE deleted = 0 AND corpid = #{corpid}")
|
||||
QyUserStatsDTO selectTotalBalanceByCorpid(@Param("corpid") String corpid);
|
||||
|
|
|
@ -109,6 +109,9 @@ public class QyUserDTO {
|
|||
@ExcelColumn(name = "已使用用户余额")
|
||||
private BigDecimal useBalance;
|
||||
|
||||
@ExcelColumn(name = "用户余额额度")
|
||||
private BigDecimal balanceLimit;
|
||||
|
||||
@ExcelColumn(name = "系统角色ID")
|
||||
private Long sysRoleId;
|
||||
|
||||
|
|
|
@ -9,9 +9,12 @@ import java.math.BigDecimal;
|
|||
@Setter
|
||||
public class QyUserStatsDTO {
|
||||
|
||||
// 用户余额
|
||||
// 用户剩余余额
|
||||
private BigDecimal balance;
|
||||
|
||||
// 已使用余额
|
||||
private BigDecimal useBalance;
|
||||
|
||||
// 余额额度
|
||||
private BigDecimal balanceLimit;
|
||||
}
|
||||
|
|
|
@ -8,4 +8,8 @@ AFTER `balance`;
|
|||
|
||||
ALTER TABLE `qy_user`
|
||||
ADD COLUMN `use_balance` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '已使用用户余额'
|
||||
AFTER `balance`;
|
||||
AFTER `balance`;
|
||||
|
||||
ALTER TABLE `qy_user`
|
||||
ADD COLUMN `balance_limit` DECIMAL(15,2) NOT NULL DEFAULT '0.00' COMMENT '余额额度'
|
||||
AFTER `use_balance`;
|
Loading…
Reference in New Issue