Commit 2168145c3e6c2f46a9ab9f9c46bb7784cbe1a3ab

Authored by owen
1 parent ab35fcbe

会员:会员配置的积分相关字段加上point前缀

sql/mysql/ruoyi-vue-pro.sql
@@ -815,10 +815,10 @@ COMMIT; @@ -815,10 +815,10 @@ COMMIT;
815 DROP TABLE IF EXISTS `member_config`; 815 DROP TABLE IF EXISTS `member_config`;
816 CREATE TABLE `member_config` ( 816 CREATE TABLE `member_config` (
817 `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键', 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 `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', 822 `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
823 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 823 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
824 `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', 824 `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
@@ -832,7 +832,7 @@ CREATE TABLE `member_config` ( @@ -832,7 +832,7 @@ CREATE TABLE `member_config` (
832 -- Records of member_config 832 -- Records of member_config
833 -- ---------------------------- 833 -- ----------------------------
834 BEGIN; 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 COMMIT; 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,8 +34,8 @@ public class TradePointGiveCalculator implements TradePriceCalculator {
34 public void calculate(TradePriceCalculateReqBO param, TradePriceCalculateRespBO result) { 34 public void calculate(TradePriceCalculateReqBO param, TradePriceCalculateRespBO result) {
35 // 1.1 校验积分功能是否开启 35 // 1.1 校验积分功能是否开启
36 int givePointPerYuan = Optional.ofNullable(memberConfigApi.getConfig()) 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 .orElse(0); 39 .orElse(0);
40 if (givePointPerYuan <= 0) { 40 if (givePointPerYuan <= 0) {
41 return; 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,18 +78,18 @@ public class TradePointUsePriceCalculator implements TradePriceCalculator {
78 78
79 private boolean isDeductPointEnable(MemberConfigRespDTO config) { 79 private boolean isDeductPointEnable(MemberConfigRespDTO config) {
80 return config != null && 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 private Integer calculatePointPrice(MemberConfigRespDTO config, Integer usePoint, TradePriceCalculateRespBO result) { 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 // TODO @疯狂:这里应该是,抵扣到只剩下 0.01; 90 // TODO @疯狂:这里应该是,抵扣到只剩下 0.01;
91 // 积分优惠金额(分) 91 // 积分优惠金额(分)
92 - int pointPrice = usePoint * config.getTradeDeductUnitPrice(); 92 + int pointPrice = usePoint * config.getPointTradeDeductUnitPrice();
93 if (result.getPrice().getPayPrice() <= pointPrice) { 93 if (result.getPrice().getPayPrice() <= pointPrice) {
94 // 禁止 0 元购 94 // 禁止 0 元购
95 throw exception(PRICE_CALCULATE_PAY_PRICE_ILLEGAL); 95 throw exception(PRICE_CALCULATE_PAY_PRICE_ILLEGAL);
@@ -99,7 +99,7 @@ public class TradePointUsePriceCalculator implements TradePriceCalculator { @@ -99,7 +99,7 @@ public class TradePointUsePriceCalculator implements TradePriceCalculator {
99 // pointPrice = result.getPrice().getPayPrice(); 99 // pointPrice = result.getPrice().getPayPrice();
100 // // 反推需要扣除的积分 100 // // 反推需要扣除的积分
101 // usePoint = NumberUtil.toBigDecimal(pointPrice) 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 // .intValue(); 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,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 * <p> 19 * <p>
20 * 1 积分抵扣多少分 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 * 1 元赠送多少分 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,18 +14,18 @@ public class MemberConfigBaseVO {
14 14
15 @Schema(description = "积分抵扣开关", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") 15 @Schema(description = "积分抵扣开关", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
16 @NotNull(message = "积分抵扣开发不能为空") 16 @NotNull(message = "积分抵扣开发不能为空")
17 - private Boolean tradeDeductEnable; 17 + private Boolean pointTradeDeductEnable;
18 18
19 @Schema(description = "积分抵扣,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "13506") 19 @Schema(description = "积分抵扣,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "13506")
20 @NotNull(message = "积分抵扣不能为空") 20 @NotNull(message = "积分抵扣不能为空")
21 - private Integer tradeDeductUnitPrice; 21 + private Integer pointTradeDeductUnitPrice;
22 22
23 @Schema(description = "积分抵扣最大值", requiredMode = Schema.RequiredMode.REQUIRED, example = "32428") 23 @Schema(description = "积分抵扣最大值", requiredMode = Schema.RequiredMode.REQUIRED, example = "32428")
24 @NotNull(message = "积分抵扣最大值不能为空") 24 @NotNull(message = "积分抵扣最大值不能为空")
25 - private Integer tradeDeductMaxPrice; 25 + private Integer pointTradeDeductMaxPrice;
26 26
27 @Schema(description = "1 元赠送多少分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100") 27 @Schema(description = "1 元赠送多少分", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
28 @NotNull(message = "1 元赠送积分不能为空") 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,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 * 1 积分抵扣多少分 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 * 1 元赠送多少分 44 * 1 元赠送多少分
45 */ 45 */
46 - private Integer tradeGivePoint; 46 + private Integer pointTradeGivePoint;
47 47
48 } 48 }