Commit 2168145c3e6c2f46a9ab9f9c46bb7784cbe1a3ab
1 parent
ab35fcbe
会员:会员配置的积分相关字段加上point前缀
Showing
6 changed files
with
25 additions
and
25 deletions
sql/mysql/ruoyi-vue-pro.sql
| ... | ... | @@ -815,10 +815,10 @@ COMMIT; |
| 815 | 815 | DROP TABLE IF EXISTS `member_config`; |
| 816 | 816 | CREATE TABLE `member_config` ( |
| 817 | 817 | `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键', |
| 818 | - `trade_deduct_enable` bit(1) NOT NULL COMMENT '是否开启积分抵扣', | |
| 819 | - `trade_deduct_unit_price` int NOT NULL COMMENT '积分抵扣(单位:分)', | |
| 820 | - `trade_deduct_max_price` int NULL DEFAULT NULL COMMENT '积分抵扣最大值', | |
| 821 | - `trade_give_point` bigint NULL DEFAULT NULL COMMENT '1 元赠送多少分', | |
| 818 | + `point_trade_deduct_enable` bit(1) NOT NULL COMMENT '是否开启积分抵扣', | |
| 819 | + `point_trade_deduct_unit_price` int NOT NULL COMMENT '积分抵扣(单位:分)', | |
| 820 | + `point_trade_deduct_max_price` int NULL DEFAULT NULL COMMENT '积分抵扣最大值', | |
| 821 | + `point_trade_give_point` bigint NULL DEFAULT NULL COMMENT '1 元赠送多少分', | |
| 822 | 822 | `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', |
| 823 | 823 | `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', |
| 824 | 824 | `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', |
| ... | ... | @@ -832,7 +832,7 @@ CREATE TABLE `member_config` ( |
| 832 | 832 | -- Records of member_config |
| 833 | 833 | -- ---------------------------- |
| 834 | 834 | BEGIN; |
| 835 | -INSERT INTO `member_config` (`id`, `trade_deduct_enable`, `trade_deduct_unit_price`, `trade_deduct_max_price`, `trade_give_point`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (5, b'1', 100, 2, 3, '1', '2023-08-20 09:54:42', '1', '2023-08-20 09:54:42', b'0', 1); | |
| 835 | +INSERT INTO `member_config` (`id`, `point_trade_deduct_enable`, `point_trade_deduct_unit_price`, `point_trade_deduct_max_price`, `point_trade_give_point`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (5, b'1', 100, 2, 3, '1', '2023-08-20 09:54:42', '1', '2023-08-20 09:54:42', b'0', 1); | |
| 836 | 836 | COMMIT; |
| 837 | 837 | |
| 838 | 838 | -- ---------------------------- | ... | ... |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradePointGiveCalculator.java
| ... | ... | @@ -34,8 +34,8 @@ public class TradePointGiveCalculator implements TradePriceCalculator { |
| 34 | 34 | public void calculate(TradePriceCalculateReqBO param, TradePriceCalculateRespBO result) { |
| 35 | 35 | // 1.1 校验积分功能是否开启 |
| 36 | 36 | int givePointPerYuan = Optional.ofNullable(memberConfigApi.getConfig()) |
| 37 | - .filter(config -> BooleanUtil.isTrue(config.getTradeDeductEnable())) | |
| 38 | - .map(MemberConfigRespDTO::getTradeGivePoint) | |
| 37 | + .filter(config -> BooleanUtil.isTrue(config.getPointTradeDeductEnable())) | |
| 38 | + .map(MemberConfigRespDTO::getPointTradeGivePoint) | |
| 39 | 39 | .orElse(0); |
| 40 | 40 | if (givePointPerYuan <= 0) { |
| 41 | 41 | return; | ... | ... |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradePointUsePriceCalculator.java
| ... | ... | @@ -78,18 +78,18 @@ public class TradePointUsePriceCalculator implements TradePriceCalculator { |
| 78 | 78 | |
| 79 | 79 | private boolean isDeductPointEnable(MemberConfigRespDTO config) { |
| 80 | 80 | return config != null && |
| 81 | - !BooleanUtil.isTrue(config.getTradeDeductEnable()) && // 积分功能是否启用 | |
| 82 | - config.getTradeDeductUnitPrice() != null && config.getTradeDeductUnitPrice() > 0; // 有没有配置:1 积分抵扣多少分 | |
| 81 | + !BooleanUtil.isTrue(config.getPointTradeDeductEnable()) && // 积分功能是否启用 | |
| 82 | + config.getPointTradeDeductUnitPrice() != null && config.getPointTradeDeductUnitPrice() > 0; // 有没有配置:1 积分抵扣多少分 | |
| 83 | 83 | } |
| 84 | 84 | |
| 85 | 85 | private Integer calculatePointPrice(MemberConfigRespDTO config, Integer usePoint, TradePriceCalculateRespBO result) { |
| 86 | 86 | // 每个订单最多可以使用的积分数量 |
| 87 | - if (config.getTradeDeductMaxPrice() != null && config.getTradeDeductMaxPrice() > 0) { | |
| 88 | - usePoint = Math.min(usePoint, config.getTradeDeductMaxPrice()); | |
| 87 | + if (config.getPointTradeDeductMaxPrice() != null && config.getPointTradeDeductMaxPrice() > 0) { | |
| 88 | + usePoint = Math.min(usePoint, config.getPointTradeDeductMaxPrice()); | |
| 89 | 89 | } |
| 90 | 90 | // TODO @疯狂:这里应该是,抵扣到只剩下 0.01; |
| 91 | 91 | // 积分优惠金额(分) |
| 92 | - int pointPrice = usePoint * config.getTradeDeductUnitPrice(); | |
| 92 | + int pointPrice = usePoint * config.getPointTradeDeductUnitPrice(); | |
| 93 | 93 | if (result.getPrice().getPayPrice() <= pointPrice) { |
| 94 | 94 | // 禁止 0 元购 |
| 95 | 95 | throw exception(PRICE_CALCULATE_PAY_PRICE_ILLEGAL); |
| ... | ... | @@ -99,7 +99,7 @@ public class TradePointUsePriceCalculator implements TradePriceCalculator { |
| 99 | 99 | // pointPrice = result.getPrice().getPayPrice(); |
| 100 | 100 | // // 反推需要扣除的积分 |
| 101 | 101 | // usePoint = NumberUtil.toBigDecimal(pointPrice) |
| 102 | -// .divide(NumberUtil.toBigDecimal(config.getTradeDeductUnitPrice()), 0, RoundingMode.HALF_UP) | |
| 102 | +// .divide(NumberUtil.toBigDecimal(config.getPointTradeDeductUnitPrice()), 0, RoundingMode.HALF_UP) | |
| 103 | 103 | // .intValue(); |
| 104 | 104 | // } |
| 105 | 105 | // 记录使用的积分 | ... | ... |
yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/dto/MemberConfigRespDTO.java
| ... | ... | @@ -13,20 +13,20 @@ public class MemberConfigRespDTO { |
| 13 | 13 | /** |
| 14 | 14 | * 积分抵扣开关 |
| 15 | 15 | */ |
| 16 | - private Boolean tradeDeductEnable; | |
| 16 | + private Boolean pointTradeDeductEnable; | |
| 17 | 17 | /** |
| 18 | 18 | * 积分抵扣,单位:分 |
| 19 | 19 | * <p> |
| 20 | 20 | * 1 积分抵扣多少分 |
| 21 | 21 | */ |
| 22 | - private Integer tradeDeductUnitPrice; | |
| 22 | + private Integer pointTradeDeductUnitPrice; | |
| 23 | 23 | /** |
| 24 | 24 | * 积分抵扣最大值 |
| 25 | 25 | */ |
| 26 | - private Integer tradeDeductMaxPrice; | |
| 26 | + private Integer pointTradeDeductMaxPrice; | |
| 27 | 27 | /** |
| 28 | 28 | * 1 元赠送多少分 |
| 29 | 29 | */ |
| 30 | - private Integer tradeGivePoint; | |
| 30 | + private Integer pointTradeGivePoint; | |
| 31 | 31 | |
| 32 | 32 | } | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/config/vo/MemberConfigBaseVO.java
| ... | ... | @@ -14,18 +14,18 @@ public class MemberConfigBaseVO { |
| 14 | 14 | |
| 15 | 15 | @Schema(description = "积分抵扣开关", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") |
| 16 | 16 | @NotNull(message = "积分抵扣开发不能为空") |
| 17 | - private Boolean tradeDeductEnable; | |
| 17 | + private Boolean pointTradeDeductEnable; | |
| 18 | 18 | |
| 19 | 19 | @Schema(description = "积分抵扣,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "13506") |
| 20 | 20 | @NotNull(message = "积分抵扣不能为空") |
| 21 | - private Integer tradeDeductUnitPrice; | |
| 21 | + private Integer pointTradeDeductUnitPrice; | |
| 22 | 22 | |
| 23 | 23 | @Schema(description = "积分抵扣最大值", requiredMode = Schema.RequiredMode.REQUIRED, example = "32428") |
| 24 | 24 | @NotNull(message = "积分抵扣最大值不能为空") |
| 25 | - private Integer tradeDeductMaxPrice; | |
| 25 | + private Integer pointTradeDeductMaxPrice; | |
| 26 | 26 | |
| 27 | 27 | @Schema(description = "1 元赠送多少分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") |
| 28 | 28 | @NotNull(message = "1 元赠送积分不能为空") |
| 29 | - private Integer tradeGivePoint; | |
| 29 | + private Integer pointTradeGivePoint; | |
| 30 | 30 | |
| 31 | 31 | } | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/config/MemberConfigDO.java
| ... | ... | @@ -29,20 +29,20 @@ public class MemberConfigDO extends BaseDO { |
| 29 | 29 | /** |
| 30 | 30 | * 积分抵扣开关 |
| 31 | 31 | */ |
| 32 | - private Boolean tradeDeductEnable; | |
| 32 | + private Boolean pointTradeDeductEnable; | |
| 33 | 33 | /** |
| 34 | 34 | * 积分抵扣,单位:分 |
| 35 | 35 | * |
| 36 | 36 | * 1 积分抵扣多少分 |
| 37 | 37 | */ |
| 38 | - private Integer tradeDeductUnitPrice; | |
| 38 | + private Integer pointTradeDeductUnitPrice; | |
| 39 | 39 | /** |
| 40 | 40 | * 积分抵扣最大值 |
| 41 | 41 | */ |
| 42 | - private Integer tradeDeductMaxPrice; | |
| 42 | + private Integer pointTradeDeductMaxPrice; | |
| 43 | 43 | /** |
| 44 | 44 | * 1 元赠送多少分 |
| 45 | 45 | */ |
| 46 | - private Integer tradeGivePoint; | |
| 46 | + private Integer pointTradeGivePoint; | |
| 47 | 47 | |
| 48 | 48 | } | ... | ... |