Browse Source

会员:积分配置改为会员配置

owen 1 year ago
parent
commit
ab35fcbe9b
23 changed files with 251 additions and 225 deletions
  1. 11 12
      sql/mysql/ruoyi-vue-pro.sql
  2. 5 5
      yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradePointGiveCalculator.java
  3. 6 6
      yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradePointUsePriceCalculator.java
  4. 18 0
      yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApi.java
  5. 2 2
      yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/dto/MemberConfigRespDTO.java
  6. 0 9
      yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApi.java
  7. 28 0
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApiImpl.java
  8. 0 10
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApiImpl.java
  9. 45 0
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/config/MemberConfigController.java
  10. 3 3
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/config/vo/MemberConfigBaseVO.java
  11. 3 3
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/config/vo/MemberConfigRespVO.java
  12. 13 0
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/config/vo/MemberConfigSaveReqVO.java
  13. 0 45
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/MemberPointConfigController.java
  14. 0 13
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/config/MemberPointConfigSaveReqVO.java
  15. 25 0
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/config/MemberConfigConvert.java
  16. 0 25
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/point/MemberPointConfigConvert.java
  17. 5 5
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/config/MemberConfigDO.java
  18. 14 0
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/config/MemberConfigMapper.java
  19. 0 14
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/point/MemberPointConfigMapper.java
  20. 29 0
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/config/MemberConfigService.java
  21. 44 0
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/config/MemberConfigServiceImpl.java
  22. 0 29
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/point/MemberPointConfigService.java
  23. 0 44
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/point/MemberPointConfigServiceImpl.java

+ 11 - 12
sql/mysql/ruoyi-vue-pro.sql

@@ -810,10 +810,10 @@ BEGIN;
 COMMIT;
 
 -- ----------------------------
--- Table structure for member_point_config
+-- Table structure for member_config
 -- ----------------------------
-DROP TABLE IF EXISTS `member_point_config`;
-CREATE TABLE `member_point_config`  (
+DROP TABLE IF EXISTS `member_config`;
+CREATE TABLE `member_config`  (
   `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
   `trade_deduct_enable` bit(1) NOT NULL COMMENT '是否开启积分抵扣',
   `trade_deduct_unit_price` int NOT NULL COMMENT '积分抵扣(单位:分)',
@@ -826,13 +826,13 @@ CREATE TABLE `member_point_config`  (
   `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
   `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '会员积分配置表';
+) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '会员配置表';
 
 -- ----------------------------
--- Records of member_point_config
+-- Records of member_config
 -- ----------------------------
 BEGIN;
-INSERT INTO `member_point_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);
+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);
 COMMIT;
 
 -- ----------------------------
@@ -1957,20 +1957,19 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i
 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2184, '自提门店导出', 'trade:delivery:pick-up-store:export', 3, 5, 2179, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-05-25 10:53:29', '', '2023-05-25 10:53:29', b'0');
 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2209, '秒杀活动', '', 2, 3, 2030, 'seckill', 'ep:place', '', '', 0, b'1', b'1', b'1', '1', '2023-06-24 17:39:13', '1', '2023-06-24 18:55:15', b'0');
 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2262, '会员中心', '', 1, 55, 0, '/member', 'ep:bicycle', NULL, NULL, 0, b'1', b'1', b'1', '1', '2023-06-10 00:42:03', '1', '2023-08-20 09:23:56', b'0');
-INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2275, '积分配置', '', 2, 0, 2299, 'config', 'fa:archive', 'member/point/config/index', 'PointConfig', 0, b'1', b'1', b'1', '', '2023-06-10 02:07:44', '1', '2023-08-20 12:01:20', b'0');
-INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2276, '积分设置查询', 'point:config:query', 3, 1, 2275, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-06-10 02:07:44', '', '2023-06-10 02:07:44', b'0');
-INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2277, '积分设置创建', 'point:config:save', 3, 2, 2275, '', '', '', '', 0, b'1', b'1', b'1', '', '2023-06-10 02:07:44', '1', '2023-06-27 20:32:31', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2275, '会员配置', '', 2, 0, 2262, 'config', 'fa:archive', 'member/config/index', 'MemberConfig', 0, b'1', b'1', b'1', '', '2023-06-10 02:07:44', '1', '2023-08-20 12:01:20', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2276, '会员配置查询', 'member:config:query', 3, 1, 2275, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-06-10 02:07:44', '', '2023-06-10 02:07:44', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2277, '会员配置创建', 'member:config:save', 3, 2, 2275, '', '', '', '', 0, b'1', b'1', b'1', '', '2023-06-10 02:07:44', '1', '2023-06-27 20:32:31', b'0');
 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2281, '签到配置', '', 2, 2, 2300, 'config', 'ep:calendar', 'member/signin/config/index', 'SignInConfig', 0, b'1', b'1', b'1', '', '2023-06-10 03:26:12', '1', '2023-08-20 19:25:51', b'0');
 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2282, '积分签到规则查询', 'point:sign-in-config:query', 3, 1, 2281, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-06-10 03:26:12', '', '2023-06-10 03:26:12', b'0');
 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2283, '积分签到规则创建', 'point:sign-in-config:create', 3, 2, 2281, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-06-10 03:26:12', '', '2023-06-10 03:26:12', b'0');
 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2284, '积分签到规则更新', 'point:sign-in-config:update', 3, 3, 2281, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-06-10 03:26:12', '', '2023-06-10 03:26:12', b'0');
 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2285, '积分签到规则删除', 'point:sign-in-config:delete', 3, 4, 2281, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-06-10 03:26:12', '', '2023-06-10 03:26:12', b'0');
-INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2287, '积分记录', '', 2, 1, 2299, 'record', 'fa:asterisk', 'member/point/record/index', 'PointRecord', 0, b'1', b'1', b'1', '', '2023-06-10 04:18:50', '1', '2023-08-20 12:01:42', b'0');
-INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2288, '用户积分记录查询', 'point:record:query', 3, 1, 2287, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-06-10 04:18:50', '', '2023-06-10 04:18:50', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2287, '会员积分', '', 2, 1, 2262, 'point', 'ep:pointer', 'member/point/record/index', 'PointRecord', 0, b'1', b'1', b'1', '', '2023-06-10 04:18:50', '1', '2023-08-20 12:01:42', b'0');
+INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2288, '会员积分记录查询', 'point:record:query', 3, 1, 2287, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-06-10 04:18:50', '', '2023-06-10 04:18:50', b'0');
 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2293, '签到记录', '', 2, 3, 2300, 'record', 'ep:chicken', 'member/signin/record/index', 'SignInRecord', 0, b'1', b'1', b'1', '', '2023-06-10 04:48:22', '1', '2023-08-20 19:26:02', b'0');
 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2294, '用户签到积分查询', 'point:sign-in-record:query', 3, 1, 2293, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-06-10 04:48:22', '', '2023-06-10 04:48:22', b'0');
 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2297, '用户签到积分删除', 'point:sign-in-record:delete', 3, 4, 2293, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-06-10 04:48:22', '', '2023-06-10 04:48:22', b'0');
-INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2299, '会员积分', '', 1, 10, 2262, 'point', 'ep:pointer', '', '', 0, b'1', b'1', b'1', '1', '2023-06-27 22:48:51', '1', '2023-08-20 09:23:35', b'0');
 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2300, '会员签到', '', 1, 11, 2262, 'signin', 'ep:alarm-clock', '', '', 0, b'1', b'1', b'1', '1', '2023-06-27 22:49:53', '1', '2023-08-20 09:23:48', b'0');
 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2301, '回调通知', '', 2, 4, 1117, 'notify', 'example', 'pay/notify/index', 'PayNotify', 0, b'1', b'1', b'1', '', '2023-07-20 04:41:32', '1', '2023-07-20 13:45:08', b'0');
 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2302, '支付通知查询', 'pay:notify:query', 3, 1, 2301, '', '', '', NULL, 0, b'1', b'1', b'1', '', '2023-07-20 04:41:32', '', '2023-07-20 04:41:32', b'0');

+ 5 - 5
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradePointGiveCalculator.java

@@ -2,8 +2,8 @@ package cn.iocoder.yudao.module.trade.service.price.calculator;
 
 import cn.hutool.core.util.BooleanUtil;
 import cn.iocoder.yudao.framework.common.util.number.MoneyUtils;
-import cn.iocoder.yudao.module.member.api.point.MemberPointApi;
-import cn.iocoder.yudao.module.member.api.point.dto.MemberPointConfigRespDTO;
+import cn.iocoder.yudao.module.member.api.config.MemberConfigApi;
+import cn.iocoder.yudao.module.member.api.config.dto.MemberConfigRespDTO;
 import cn.iocoder.yudao.module.trade.service.price.bo.TradePriceCalculateReqBO;
 import cn.iocoder.yudao.module.trade.service.price.bo.TradePriceCalculateRespBO;
 import lombok.extern.slf4j.Slf4j;
@@ -28,14 +28,14 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.
 public class TradePointGiveCalculator implements TradePriceCalculator {
 
     @Resource
-    private MemberPointApi memberPointApi;
+    private MemberConfigApi memberConfigApi;
 
     @Override
     public void calculate(TradePriceCalculateReqBO param, TradePriceCalculateRespBO result) {
         // 1.1 校验积分功能是否开启
-        int givePointPerYuan = Optional.ofNullable(memberPointApi.getConfig())
+        int givePointPerYuan = Optional.ofNullable(memberConfigApi.getConfig())
                 .filter(config -> BooleanUtil.isTrue(config.getTradeDeductEnable()))
-                .map(MemberPointConfigRespDTO::getTradeGivePoint)
+                .map(MemberConfigRespDTO::getTradeGivePoint)
                 .orElse(0);
         if (givePointPerYuan <= 0) {
             return;

+ 6 - 6
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradePointUsePriceCalculator.java

@@ -2,8 +2,8 @@ package cn.iocoder.yudao.module.trade.service.price.calculator;
 
 import cn.hutool.core.util.BooleanUtil;
 import cn.hutool.core.util.StrUtil;
-import cn.iocoder.yudao.module.member.api.point.MemberPointApi;
-import cn.iocoder.yudao.module.member.api.point.dto.MemberPointConfigRespDTO;
+import cn.iocoder.yudao.module.member.api.config.MemberConfigApi;
+import cn.iocoder.yudao.module.member.api.config.dto.MemberConfigRespDTO;
 import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
 import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
 import cn.iocoder.yudao.module.promotion.enums.common.PromotionTypeEnum;
@@ -32,7 +32,7 @@ import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.PRICE_CALCU
 public class TradePointUsePriceCalculator implements TradePriceCalculator {
 
     @Resource
-    private MemberPointApi memberPointApi;
+    private MemberConfigApi memberConfigApi;
     @Resource
     private MemberUserApi memberUserApi;
 
@@ -44,7 +44,7 @@ public class TradePointUsePriceCalculator implements TradePriceCalculator {
             return;
         }
         // 1.2 校验积分抵扣是否开启
-        MemberPointConfigRespDTO config = memberPointApi.getConfig();
+        MemberConfigRespDTO config = memberConfigApi.getConfig();
         if (!isDeductPointEnable(config)) {
             return;
         }
@@ -76,13 +76,13 @@ public class TradePointUsePriceCalculator implements TradePriceCalculator {
         TradePriceCalculatorHelper.recountAllPrice(result);
     }
 
-    private boolean isDeductPointEnable(MemberPointConfigRespDTO config) {
+    private boolean isDeductPointEnable(MemberConfigRespDTO config) {
         return config != null &&
                 !BooleanUtil.isTrue(config.getTradeDeductEnable()) &&  // 积分功能是否启用
                 config.getTradeDeductUnitPrice() != null && config.getTradeDeductUnitPrice() > 0; // 有没有配置:1 积分抵扣多少分
     }
 
-    private Integer calculatePointPrice(MemberPointConfigRespDTO config, Integer usePoint, TradePriceCalculateRespBO result) {
+    private Integer calculatePointPrice(MemberConfigRespDTO config, Integer usePoint, TradePriceCalculateRespBO result) {
         // 每个订单最多可以使用的积分数量
         if (config.getTradeDeductMaxPrice() != null && config.getTradeDeductMaxPrice() > 0) {
             usePoint = Math.min(usePoint, config.getTradeDeductMaxPrice());

+ 18 - 0
yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApi.java

@@ -0,0 +1,18 @@
+package cn.iocoder.yudao.module.member.api.config;
+
+import cn.iocoder.yudao.module.member.api.config.dto.MemberConfigRespDTO;
+
+/**
+ * 用户配置 API 接口
+ *
+ * @author owen
+ */
+public interface MemberConfigApi {
+
+    /**
+     * 获得积分配置
+     *
+     * @return 积分配置
+     */
+    MemberConfigRespDTO getConfig();
+}

+ 2 - 2
yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/point/dto/MemberPointConfigRespDTO.java → yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/config/dto/MemberConfigRespDTO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.member.api.point.dto;
+package cn.iocoder.yudao.module.member.api.config.dto;
 
 import lombok.Data;
 
@@ -8,7 +8,7 @@ import lombok.Data;
  * @author 芋道源码
  */
 @Data
-public class MemberPointConfigRespDTO {
+public class MemberConfigRespDTO {
 
     /**
      * 积分抵扣开关

+ 0 - 9
yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApi.java

@@ -1,6 +1,5 @@
 package cn.iocoder.yudao.module.member.api.point;
 
-import cn.iocoder.yudao.module.member.api.point.dto.MemberPointConfigRespDTO;
 import cn.iocoder.yudao.module.member.enums.point.MemberPointBizTypeEnum;
 
 import javax.validation.constraints.Min;
@@ -12,14 +11,6 @@ import javax.validation.constraints.Min;
  */
 public interface MemberPointApi {
 
-    // TODO @疯狂:这个我们要不要搞成通用的会员配置?MemberConfig?
-    /**
-     * 获得积分配置
-     *
-     * @return 积分配置
-     */
-    MemberPointConfigRespDTO getConfig();
-
     /**
      * 增加用户积分
      *

+ 28 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/config/MemberConfigApiImpl.java

@@ -0,0 +1,28 @@
+package cn.iocoder.yudao.module.member.api.config;
+
+import cn.iocoder.yudao.module.member.api.config.dto.MemberConfigRespDTO;
+import cn.iocoder.yudao.module.member.convert.config.MemberConfigConvert;
+import cn.iocoder.yudao.module.member.service.config.MemberConfigService;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import javax.annotation.Resource;
+
+/**
+ * 用户配置 API 实现类
+ *
+ * @author owen
+ */
+@Service
+@Validated
+public class MemberConfigApiImpl implements MemberConfigApi {
+
+    @Resource
+    private MemberConfigService memberConfigService;
+
+    @Override
+    public MemberConfigRespDTO getConfig() {
+        return MemberConfigConvert.INSTANCE.convert01(memberConfigService.getConfig());
+    }
+
+}

+ 0 - 10
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/point/MemberPointApiImpl.java

@@ -1,10 +1,7 @@
 package cn.iocoder.yudao.module.member.api.point;
 
 import cn.hutool.core.lang.Assert;
-import cn.iocoder.yudao.module.member.api.point.dto.MemberPointConfigRespDTO;
-import cn.iocoder.yudao.module.member.convert.point.MemberPointConfigConvert;
 import cn.iocoder.yudao.module.member.enums.point.MemberPointBizTypeEnum;
-import cn.iocoder.yudao.module.member.service.point.MemberPointConfigService;
 import cn.iocoder.yudao.module.member.service.point.MemberPointRecordService;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
@@ -25,13 +22,6 @@ public class MemberPointApiImpl implements MemberPointApi {
 
     @Resource
     private MemberPointRecordService memberPointRecordService;
-    @Resource
-    private MemberPointConfigService memberPointConfigService;
-
-    @Override
-    public MemberPointConfigRespDTO getConfig() {
-        return MemberPointConfigConvert.INSTANCE.convert01(memberPointConfigService.getPointConfig());
-    }
 
     @Override
     public void addPoint(Long userId, Integer point, Integer bizType, String bizId) {

+ 45 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/config/MemberConfigController.java

@@ -0,0 +1,45 @@
+package cn.iocoder.yudao.module.member.controller.admin.config;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.module.member.controller.admin.config.vo.MemberConfigRespVO;
+import cn.iocoder.yudao.module.member.controller.admin.config.vo.MemberConfigSaveReqVO;
+import cn.iocoder.yudao.module.member.convert.config.MemberConfigConvert;
+import cn.iocoder.yudao.module.member.dal.dataobject.config.MemberConfigDO;
+import cn.iocoder.yudao.module.member.service.config.MemberConfigService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "管理后台 - 会员设置")
+@RestController
+@RequestMapping("/member/config")
+@Validated
+public class MemberConfigController {
+
+    @Resource
+    private MemberConfigService memberConfigService;
+
+    @PutMapping("/save")
+    @Operation(summary = "保存会员配置")
+    @PreAuthorize("@ss.hasPermission('member:config:save')")
+    public CommonResult<Boolean> saveConfig(@Valid @RequestBody MemberConfigSaveReqVO saveReqVO) {
+        memberConfigService.saveConfig(saveReqVO);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得会员配置")
+    @PreAuthorize("@ss.hasPermission('member:config:query')")
+    public CommonResult<MemberConfigRespVO> getConfig() {
+        MemberConfigDO config = memberConfigService.getConfig();
+        return success(MemberConfigConvert.INSTANCE.convert(config));
+    }
+
+}

+ 3 - 3
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/config/MemberPointConfigBaseVO.java → yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/config/vo/MemberConfigBaseVO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.member.controller.admin.point.vo.config;
+package cn.iocoder.yudao.module.member.controller.admin.config.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -6,11 +6,11 @@ import lombok.Data;
 import javax.validation.constraints.NotNull;
 
 /**
- * 会员积分配置 Base VO,提供给添加、修改、详细的子 VO 使用
+ * 会员配置 Base VO,提供给添加、修改、详细的子 VO 使用
  * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
  */
 @Data
-public class MemberPointConfigBaseVO {
+public class MemberConfigBaseVO {
 
     @Schema(description = "积分抵扣开关", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "积分抵扣开发不能为空")

+ 3 - 3
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/config/MemberPointConfigRespVO.java → yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/config/vo/MemberConfigRespVO.java

@@ -1,15 +1,15 @@
-package cn.iocoder.yudao.module.member.controller.admin.point.vo.config;
+package cn.iocoder.yudao.module.member.controller.admin.config.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
 
-@Schema(description = "管理后台 - 会员积分配置 Response VO")
+@Schema(description = "管理后台 - 会员配置 Response VO")
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
-public class MemberPointConfigRespVO extends MemberPointConfigBaseVO {
+public class MemberConfigRespVO extends MemberConfigBaseVO {
 
     @Schema(description = "自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;

+ 13 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/config/vo/MemberConfigSaveReqVO.java

@@ -0,0 +1,13 @@
+package cn.iocoder.yudao.module.member.controller.admin.config.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+
+@Schema(description = "管理后台 - 会员配置保存 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class MemberConfigSaveReqVO extends MemberConfigBaseVO {
+}

+ 0 - 45
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/MemberPointConfigController.java

@@ -1,45 +0,0 @@
-package cn.iocoder.yudao.module.member.controller.admin.point;
-
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigRespVO;
-import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO;
-import cn.iocoder.yudao.module.member.convert.point.MemberPointConfigConvert;
-import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
-import cn.iocoder.yudao.module.member.service.point.MemberPointConfigService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-
-@Tag(name = "管理后台 - 会员积分设置")
-@RestController
-@RequestMapping("/member/point/config")
-@Validated
-public class MemberPointConfigController {
-
-    @Resource
-    private MemberPointConfigService memberPointConfigService;
-
-    @PutMapping("/save")
-    @Operation(summary = "保存会员积分配置")
-    @PreAuthorize("@ss.hasPermission('point:config:save')")
-    public CommonResult<Boolean> savePointConfig(@Valid @RequestBody MemberPointConfigSaveReqVO saveReqVO) {
-        memberPointConfigService.savePointConfig(saveReqVO);
-        return success(true);
-    }
-
-    @GetMapping("/get")
-    @Operation(summary = "获得会员积分配置")
-    @PreAuthorize("@ss.hasPermission('point:config:query')")
-    public CommonResult<MemberPointConfigRespVO> getPointConfig() {
-        MemberPointConfigDO config = memberPointConfigService.getPointConfig();
-        return success(MemberPointConfigConvert.INSTANCE.convert(config));
-    }
-
-}

+ 0 - 13
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/vo/config/MemberPointConfigSaveReqVO.java

@@ -1,13 +0,0 @@
-package cn.iocoder.yudao.module.member.controller.admin.point.vo.config;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-@Schema(description = "管理后台 - 会员积分配置保存 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class MemberPointConfigSaveReqVO extends MemberPointConfigBaseVO {
-}

+ 25 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/config/MemberConfigConvert.java

@@ -0,0 +1,25 @@
+package cn.iocoder.yudao.module.member.convert.config;
+
+import cn.iocoder.yudao.module.member.api.config.dto.MemberConfigRespDTO;
+import cn.iocoder.yudao.module.member.controller.admin.config.vo.MemberConfigRespVO;
+import cn.iocoder.yudao.module.member.controller.admin.config.vo.MemberConfigSaveReqVO;
+import cn.iocoder.yudao.module.member.dal.dataobject.config.MemberConfigDO;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+/**
+ * 会员配置 Convert
+ *
+ * @author QingX
+ */
+@Mapper
+public interface MemberConfigConvert {
+
+    MemberConfigConvert INSTANCE = Mappers.getMapper(MemberConfigConvert.class);
+
+    MemberConfigRespVO convert(MemberConfigDO bean);
+
+    MemberConfigDO convert(MemberConfigSaveReqVO bean);
+
+    MemberConfigRespDTO convert01(MemberConfigDO config);
+}

+ 0 - 25
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/convert/point/MemberPointConfigConvert.java

@@ -1,25 +0,0 @@
-package cn.iocoder.yudao.module.member.convert.point;
-
-import cn.iocoder.yudao.module.member.api.point.dto.MemberPointConfigRespDTO;
-import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigRespVO;
-import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO;
-import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
-import org.mapstruct.Mapper;
-import org.mapstruct.factory.Mappers;
-
-/**
- * 会员积分配置 Convert
- *
- * @author QingX
- */
-@Mapper
-public interface MemberPointConfigConvert {
-
-    MemberPointConfigConvert INSTANCE = Mappers.getMapper(MemberPointConfigConvert.class);
-
-    MemberPointConfigRespVO convert(MemberPointConfigDO bean);
-
-    MemberPointConfigDO convert(MemberPointConfigSaveReqVO bean);
-
-    MemberPointConfigRespDTO convert01(MemberPointConfigDO pointConfig);
-}

+ 5 - 5
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/point/MemberPointConfigDO.java → yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/config/MemberConfigDO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.member.dal.dataobject.point;
+package cn.iocoder.yudao.module.member.dal.dataobject.config;
 
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import com.baomidou.mybatisplus.annotation.KeySequence;
@@ -7,19 +7,19 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.*;
 
 /**
- * 会员积分配置 DO
+ * 会员配置 DO
  *
  * @author QingX
  */
-@TableName(value = "member_point_config", autoResultMap = true)
-@KeySequence("member_point_config_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@TableName(value = "member_config", autoResultMap = true)
+@KeySequence("member_config_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-public class MemberPointConfigDO extends BaseDO {
+public class MemberConfigDO extends BaseDO {
 
     /**
      * 自增主键

+ 14 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/config/MemberConfigMapper.java

@@ -0,0 +1,14 @@
+package cn.iocoder.yudao.module.member.dal.mysql.config;
+
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.module.member.dal.dataobject.config.MemberConfigDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 积分设置 Mapper
+ *
+ * @author QingX
+ */
+@Mapper
+public interface MemberConfigMapper extends BaseMapperX<MemberConfigDO> {
+}

+ 0 - 14
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/point/MemberPointConfigMapper.java

@@ -1,14 +0,0 @@
-package cn.iocoder.yudao.module.member.dal.mysql.point;
-
-import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * 积分设置 Mapper
- *
- * @author QingX
- */
-@Mapper
-public interface MemberPointConfigMapper extends BaseMapperX<MemberPointConfigDO> {
-}

+ 29 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/config/MemberConfigService.java

@@ -0,0 +1,29 @@
+package cn.iocoder.yudao.module.member.service.config;
+
+import cn.iocoder.yudao.module.member.controller.admin.config.vo.MemberConfigSaveReqVO;
+import cn.iocoder.yudao.module.member.dal.dataobject.config.MemberConfigDO;
+
+import javax.validation.Valid;
+
+/**
+ * 会员配置 Service 接口
+ *
+ * @author QingX
+ */
+public interface MemberConfigService {
+
+    /**
+     * 保存会员配置
+     *
+     * @param saveReqVO 更新信息
+     */
+    void saveConfig(@Valid MemberConfigSaveReqVO saveReqVO);
+
+    /**
+     * 获得会员配置
+     *
+     * @return 积分配置
+     */
+    MemberConfigDO getConfig();
+
+}

+ 44 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/config/MemberConfigServiceImpl.java

@@ -0,0 +1,44 @@
+package cn.iocoder.yudao.module.member.service.config;
+
+import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
+import cn.iocoder.yudao.module.member.controller.admin.config.vo.MemberConfigSaveReqVO;
+import cn.iocoder.yudao.module.member.convert.config.MemberConfigConvert;
+import cn.iocoder.yudao.module.member.dal.dataobject.config.MemberConfigDO;
+import cn.iocoder.yudao.module.member.dal.mysql.config.MemberConfigMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 会员配置 Service 实现类
+ *
+ * @author QingX
+ */
+@Service
+@Validated
+public class MemberConfigServiceImpl implements MemberConfigService {
+
+    @Resource
+    private MemberConfigMapper memberConfigMapper;
+
+    @Override
+    public void saveConfig(MemberConfigSaveReqVO saveReqVO) {
+        // 存在,则进行更新
+        MemberConfigDO dbConfig = getConfig();
+        if (dbConfig != null) {
+            memberConfigMapper.updateById(MemberConfigConvert.INSTANCE.convert(saveReqVO).setId(dbConfig.getId()));
+            return;
+        }
+        // 不存在,则进行插入
+        memberConfigMapper.insert(MemberConfigConvert.INSTANCE.convert(saveReqVO));
+    }
+
+    @Override
+    public MemberConfigDO getConfig() {
+        List<MemberConfigDO> list = memberConfigMapper.selectList();
+        return CollectionUtils.getFirst(list);
+    }
+
+}

+ 0 - 29
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/point/MemberPointConfigService.java

@@ -1,29 +0,0 @@
-package cn.iocoder.yudao.module.member.service.point;
-
-import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO;
-import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
-
-import javax.validation.Valid;
-
-/**
- * 会员积分配置 Service 接口
- *
- * @author QingX
- */
-public interface MemberPointConfigService {
-
-    /**
-     * 保存会员积分配置
-     *
-     * @param saveReqVO 更新信息
-     */
-    void savePointConfig(@Valid MemberPointConfigSaveReqVO saveReqVO);
-
-    /**
-     * 获得会员积分配置
-     *
-     * @return 积分配置
-     */
-    MemberPointConfigDO getPointConfig();
-
-}

+ 0 - 44
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/point/MemberPointConfigServiceImpl.java

@@ -1,44 +0,0 @@
-package cn.iocoder.yudao.module.member.service.point;
-
-import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
-import cn.iocoder.yudao.module.member.controller.admin.point.vo.config.MemberPointConfigSaveReqVO;
-import cn.iocoder.yudao.module.member.convert.point.MemberPointConfigConvert;
-import cn.iocoder.yudao.module.member.dal.dataobject.point.MemberPointConfigDO;
-import cn.iocoder.yudao.module.member.dal.mysql.point.MemberPointConfigMapper;
-import org.springframework.stereotype.Service;
-import org.springframework.validation.annotation.Validated;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-/**
- * 会员积分配置 Service 实现类
- *
- * @author QingX
- */
-@Service
-@Validated
-public class MemberPointConfigServiceImpl implements MemberPointConfigService {
-
-    @Resource
-    private MemberPointConfigMapper memberPointConfigMapper;
-
-    @Override
-    public void savePointConfig(MemberPointConfigSaveReqVO saveReqVO) {
-        // 存在,则进行更新
-        MemberPointConfigDO dbConfig = getPointConfig();
-        if (dbConfig != null) {
-            memberPointConfigMapper.updateById(MemberPointConfigConvert.INSTANCE.convert(saveReqVO).setId(dbConfig.getId()));
-            return;
-        }
-        // 不存在,则进行插入
-        memberPointConfigMapper.insert(MemberPointConfigConvert.INSTANCE.convert(saveReqVO));
-    }
-
-    @Override
-    public MemberPointConfigDO getPointConfig() {
-        List<MemberPointConfigDO> list = memberPointConfigMapper.selectList();
-        return CollectionUtils.getFirst(list);
-    }
-
-}