diff --git a/sql/mysql/member.sql b/sql/mysql/member.sql deleted file mode 100644 index 5231dbde7..000000000 --- a/sql/mysql/member.sql +++ /dev/null @@ -1,11 +0,0 @@ --- 查询上级菜单、排序 -SELECT parent_id, sort -INTO @parentId, @sort -FROM system_menu -WHERE name = '用户等级修改' -LIMIT 1; --- 新增 按钮权限 -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status) -VALUES ('用户积分修改', 'member:user:update-point', 3, @sort + 1, @parentId, '', '', '', 0); -INSERT INTO system_menu(name, permission, type, sort, parent_id, path, icon, component, status) -VALUES ('用户余额修改', 'member:user:update-balance', 3, @sort + 2, @parentId, '', '', '', 0); diff --git a/sql/mysql/trade_order.sql b/sql/mysql/trade_order.sql deleted file mode 100644 index 066416079..000000000 --- a/sql/mysql/trade_order.sql +++ /dev/null @@ -1,3 +0,0 @@ --- 增加字段 -ALTER TABLE trade_order - ADD COLUMN brokerage_user_id bigint NULL COMMENT '推广人编号' AFTER comment_status; diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/date/LocalDateTimeUtils.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/date/LocalDateTimeUtils.java index 2ab1cc1ff..3ce2a95d3 100644 --- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/date/LocalDateTimeUtils.java +++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/date/LocalDateTimeUtils.java @@ -146,9 +146,7 @@ public class LocalDateTimeUtils { * @return 月份的开始时间 */ public static LocalDateTime beginOfMonth(LocalDateTime date) { - return date - .with(TemporalAdjusters.firstDayOfMonth()) - .with(LocalTime.MIN); + return date.with(TemporalAdjusters.firstDayOfMonth()).with(LocalTime.MIN); } /** @@ -159,8 +157,7 @@ public class LocalDateTimeUtils { * @return 月份的结束时间 */ public static LocalDateTime endOfMonth(LocalDateTime date) { - return date - .with(TemporalAdjusters.lastDayOfMonth()) - .with(LocalTime.MAX); + return date.with(TemporalAdjusters.lastDayOfMonth()).with(LocalTime.MAX); } + } diff --git a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/spu/ProductSpuApi.java b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/spu/ProductSpuApi.java index fcb7b97af..233d129fa 100644 --- a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/spu/ProductSpuApi.java +++ b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/api/spu/ProductSpuApi.java @@ -22,12 +22,16 @@ public interface ProductSpuApi { List getSpuList(Collection ids); /** - * 批量查询 SPU 数组,并且校验是否 SPU 是否有效 + * 批量查询 SPU 数组,并且校验是否 SPU 是否有效。 + * + * 如下情况,视为无效: + * 1. 商品编号不存在 + * 2. 商品被禁用 * * @param ids SPU 编号列表 * @return SPU 数组 */ - List getSpuListAndValidate(Collection ids); + List validateSpuList(Collection ids); /** * 获得 SPU @@ -36,12 +40,4 @@ public interface ProductSpuApi { */ ProductSpuRespDTO getSpu(Long id); - /** - * 校验商品是否有效。如下情况,视为无效: - * 1. 商品编号不存在 - * 2. 商品被禁用 - * - * @param ids 商品编号数组 - */ - void validateSpuList(Collection ids); } diff --git a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/ErrorCodeConstants.java b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/ErrorCodeConstants.java index a7debcddf..102f858fc 100644 --- a/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/ErrorCodeConstants.java +++ b/yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/ErrorCodeConstants.java @@ -34,7 +34,7 @@ public interface ErrorCodeConstants { // ========== 商品 SPU 1-008-005-000 ========== ErrorCode SPU_NOT_EXISTS = new ErrorCode(1_008_005_000, "商品 SPU 不存在"); ErrorCode SPU_SAVE_FAIL_CATEGORY_LEVEL_ERROR = new ErrorCode(1_008_005_001, "商品分类不正确,原因:必须使用第二级的商品分类及以下"); - ErrorCode SPU_NOT_ENABLE = new ErrorCode(1_008_005_002, "商品 SPU【[]】不处于上架状态"); + ErrorCode SPU_NOT_ENABLE = new ErrorCode(1_008_005_002, "商品 SPU【{}】不处于上架状态"); ErrorCode SPU_NOT_RECYCLE = new ErrorCode(1_008_005_003, "商品 SPU 不处于回收站状态"); // ========== 商品 SKU 1-008-006-000 ========== diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/api/spu/ProductSpuApiImpl.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/api/spu/ProductSpuApiImpl.java index 88be2bca5..559075898 100644 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/api/spu/ProductSpuApiImpl.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/api/spu/ProductSpuApiImpl.java @@ -34,7 +34,7 @@ public class ProductSpuApiImpl implements ProductSpuApi { } @Override - public List getSpuListAndValidate(Collection ids) { + public List validateSpuList(Collection ids) { return ProductSpuConvert.INSTANCE.convertList2(spuService.validateSpuList(ids)); } @@ -43,9 +43,4 @@ public class ProductSpuApiImpl implements ProductSpuApi { return ProductSpuConvert.INSTANCE.convert02(spuService.getSpu(id)); } - @Override - public void validateSpuList(Collection ids) { - spuService.validateSpuList(ids); - } - } diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/category/ProductCategoryServiceImpl.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/category/ProductCategoryServiceImpl.java index f490ea17e..60c0ffbfa 100644 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/category/ProductCategoryServiceImpl.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/category/ProductCategoryServiceImpl.java @@ -109,8 +109,8 @@ public class ProductCategoryServiceImpl implements ProductCategoryService { return; } // 获得商品分类信息 - List categoryList = productCategoryMapper.selectBatchIds(ids); - Map categoryMap = CollectionUtils.convertMap(categoryList, ProductCategoryDO::getId); + List list = productCategoryMapper.selectBatchIds(ids); + Map categoryMap = CollectionUtils.convertMap(list, ProductCategoryDO::getId); // 校验 ids.forEach(id -> { ProductCategoryDO category = categoryMap.get(id); diff --git a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java index 725472e9d..4c3f238dc 100755 --- a/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java +++ b/yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java @@ -146,8 +146,8 @@ public class ProductSpuServiceImpl implements ProductSpuService { return Collections.emptyList(); } // 获得商品信息 - List spuList = productSpuMapper.selectBatchIds(ids); - Map spuMap = CollectionUtils.convertMap(spuList, ProductSpuDO::getId); + List list = productSpuMapper.selectBatchIds(ids); + Map spuMap = CollectionUtils.convertMap(list, ProductSpuDO::getId); // 校验 ids.forEach(id -> { ProductSpuDO spu = spuMap.get(id); @@ -158,8 +158,7 @@ public class ProductSpuServiceImpl implements ProductSpuService { throw exception(SPU_NOT_ENABLE, spu.getName()); } }); - - return spuList; + return list; } @Override diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java index 8be928476..8d65fab7e 100644 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java @@ -178,8 +178,9 @@ public class CouponServiceImpl implements CouponService { } @Override + // TODO @疯狂:搞个事务; public void takeCouponByRegister(Long userId) { - List templates = couponTemplateService.getCouponTemplateByTakeType(CouponTakeTypeEnum.REGISTER); + List templates = couponTemplateService.getCouponTemplateListByTakeType(CouponTakeTypeEnum.REGISTER); for (CouponTemplateDO template : templates) { takeCoupon(template.getId(), CollUtil.newHashSet(userId), CouponTakeTypeEnum.REGISTER); } @@ -226,16 +227,15 @@ public class CouponServiceImpl implements CouponService { @Override public Map getUserCanCanTakeMap(Long userId, List templates) { + // 1. 未登录时,都显示可以领取 Map userCanTakeMap = convertMap(templates, CouponTemplateDO::getId, templateId -> true); - // 未登录时,都显示可以领取 if (userId == null) { return userCanTakeMap; } - // 过滤领取数量无限制的 + // 2.1 过滤领取数量无限制的 Set templateIds = convertSet(templates, CouponTemplateDO::getId, template -> template.getTakeLimitCount() != -1); - - // 检查用户领取的数量是否超过限制 + // 2.2 检查用户领取的数量是否超过限制 if (CollUtil.isNotEmpty(templateIds)) { Map couponTakeCountMap = this.getTakeCountMapByTemplateIds(templateIds, userId); for (CouponTemplateDO template : templates) { @@ -243,7 +243,6 @@ public class CouponServiceImpl implements CouponService { userCanTakeMap.put(template.getId(), takeCount == null || takeCount < template.getTakeLimitCount()); } } - return userCanTakeMap; } diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateService.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateService.java index cd16e3e54..db0fa6cb4 100755 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateService.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateService.java @@ -77,7 +77,7 @@ public interface CouponTemplateService { * @param takeType 领取方式 * @return 优惠券模板列表 */ - List getCouponTemplateByTakeType(CouponTakeTypeEnum takeType); + List getCouponTemplateListByTakeType(CouponTakeTypeEnum takeType); /** * 获得优惠券模板列表 diff --git a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateServiceImpl.java b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateServiceImpl.java index 3f4c8ba76..2228df71a 100755 --- a/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateServiceImpl.java +++ b/yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateServiceImpl.java @@ -116,7 +116,7 @@ public class CouponTemplateServiceImpl implements CouponTemplateService { } @Override - public List getCouponTemplateByTakeType(CouponTakeTypeEnum takeType) { + public List getCouponTemplateListByTakeType(CouponTakeTypeEnum takeType) { return couponTemplateMapper.selectListByTakeType(takeType.getValue()); } diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java index df23ded1a..2909eb432 100644 --- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java +++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java @@ -109,8 +109,8 @@ public class TradeOrderDO extends BaseDO { /** * 推广人编号 - * {@link BrokerageUserDO#getId()} - * {@link MemberUserRespDTO#getId()} + * + * 关联 {@link BrokerageUserDO#getId()} 字段,即 {@link MemberUserRespDTO#getId()} 字段 */ private Long brokerageUserId; diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageUserServiceImpl.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageUserServiceImpl.java index b24a5579b..71922615c 100644 --- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageUserServiceImpl.java +++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/brokerage/BrokerageUserServiceImpl.java @@ -229,6 +229,10 @@ public class BrokerageUserServiceImpl implements BrokerageUserService { // 生成推广员编号列表 List bindUserIds = buildBindUserIdsByLevel(userId, pageReqVO.getLevel()); + // TODO @疯狂:情况一和情况二,可以合并哈; + // 如果有 nickname 的时候,相当于提前查询 users,然后 nickname 过滤掉 bindUserIds; + // 之后,继续使用 selectSummaryPageByUserId 里面 in bindUserIds 查询; + // 情况一:没有昵称过滤条件时,直接使用数据库的分页查询 if (StrUtil.isBlank(pageReqVO.getNickname())) { // 1.1 分页查询 diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java index 9db396aeb..e4bb9369c 100644 --- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java +++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java @@ -236,6 +236,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { order.setReceiverName(createReqVO.getReceiverName()).setReceiverMobile(createReqVO.getReceiverMobile()); order.setPickUpVerifyCode(RandomUtil.randomNumbers(8)); // 随机一个核销码,长度为 8 位 } + // TODO @疯狂:是不是可以在这里设置下推广人哈; tradeOrderMapper.insert(order); return order; } diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/TradePriceServiceImpl.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/TradePriceServiceImpl.java index 79041a530..c070af1b0 100644 --- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/TradePriceServiceImpl.java +++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/price/TradePriceServiceImpl.java @@ -82,7 +82,7 @@ public class TradePriceServiceImpl implements TradePriceService { private List checkSpuList(List skuList) { // 获得商品 SPU 数组 - return productSpuApi.getSpuListAndValidate(convertSet(skuList, ProductSkuRespDTO::getSpuId)); + return productSpuApi.validateSpuList(convertSet(skuList, ProductSkuRespDTO::getSpuId)); } } diff --git a/yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradePointGiveCalculatorTest.java b/yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradePointGiveCalculatorTest.java index c0c21c36e..910639ec1 100644 --- a/yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradePointGiveCalculatorTest.java +++ b/yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradePointGiveCalculatorTest.java @@ -17,6 +17,7 @@ import static java.util.Arrays.asList; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.when; +// TODO 芋艿:晚点 review /** * {@link TradePointGiveCalculator} 的单元测试类 * @@ -95,4 +96,4 @@ public class TradePointGiveCalculatorTest extends BaseMockitoUnitTest { assertEquals(orderItem04.getPrice(), 60); assertEquals(orderItem04.getGivePoint(), 100); // 全局积分 + SKU 积分,但是未选中 } -} \ No newline at end of file +} diff --git a/yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradePointUsePriceCalculatorTest.java b/yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradePointUsePriceCalculatorTest.java index 5d59c781c..fe679b408 100644 --- a/yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradePointUsePriceCalculatorTest.java +++ b/yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/price/calculator/TradePointUsePriceCalculatorTest.java @@ -21,6 +21,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.when; +// TODO 芋艿:晚点 review /** * {@link TradePointUsePriceCalculator } 的单元测试类 * @@ -329,4 +330,4 @@ public class TradePointUsePriceCalculatorTest extends BaseMockitoUnitTest { // 断言:Promotion 部分 assertEquals(result.getPromotions().size(), 0); } -} \ No newline at end of file +} diff --git a/yudao-module-member/yudao-module-member-api/pom.xml b/yudao-module-member/yudao-module-member-api/pom.xml index 308208123..e79dde21c 100644 --- a/yudao-module-member/yudao-module-member-api/pom.xml +++ b/yudao-module-member/yudao-module-member-api/pom.xml @@ -22,11 +22,13 @@ yudao-common + cn.iocoder.boot yudao-spring-boot-starter-mq compile + org.springframework.boot diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java index ba5554bc4..928f76dc8 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java @@ -38,6 +38,7 @@ public interface ErrorCodeConstants { //========== 签到配置 1-004-009-000 ========== ErrorCode SIGN_IN_CONFIG_NOT_EXISTS = new ErrorCode(1_004_009_000, "签到天数规则不存在"); ErrorCode SIGN_IN_CONFIG_EXISTS = new ErrorCode(1_004_009_001, "签到天数规则已存在"); + // TODO @疯狂:这个可以用 validator 去做;通过在 BaseVO 里,增加一个 @AssertTrue 注解的方式 ErrorCode SIGN_IN_CONFIG_AWARD_EMPTY = new ErrorCode(1_004_009_002, "签到奖励积分和经验不能同时为空"); //========== 签到配置 1-004-010-000 ========== diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/vo/MemberUserUpdateLevelReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/vo/MemberUserUpdateLevelReqVO.java index 8e2eb6551..dba48f670 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/vo/MemberUserUpdateLevelReqVO.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/vo/MemberUserUpdateLevelReqVO.java @@ -7,7 +7,7 @@ import lombok.ToString; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; -@Schema(description = "管理后台 - 会员用户 修改等级 Request VO") +@Schema(description = "管理后台 - 用户修改等级 Request VO") @Data @ToString(callSuper = true) public class MemberUserUpdateLevelReqVO { diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/vo/MemberUserUpdatePointReqVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/vo/MemberUserUpdatePointReqVO.java index 4a09772e3..a072c0726 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/vo/MemberUserUpdatePointReqVO.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/vo/MemberUserUpdatePointReqVO.java @@ -6,7 +6,7 @@ import lombok.ToString; import javax.validation.constraints.NotNull; -@Schema(description = "管理后台 - 会员用户 修改积分 Request VO") +@Schema(description = "管理后台 - 用户修改积分 Request VO") @Data @ToString(callSuper = true) public class MemberUserUpdatePointReqVO { diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/mq/producer/user/RegisterCouponProducer.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/mq/producer/user/RegisterCouponProducer.java index fc7f0d3b9..25b495b73 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/mq/producer/user/RegisterCouponProducer.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/mq/producer/user/RegisterCouponProducer.java @@ -7,6 +7,7 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; +// TODO @疯狂:发 UserCreateMessage;解耦,然后优惠劵监听到,去发卷; /** * 新人券发放 Producer * diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java index 6921fff8c..1c7d30abc 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java @@ -95,6 +95,7 @@ public class MemberUserServiceImpl implements MemberUserService { memberUserMapper.insert(user); // 发送 MQ 消息,发放新人券 + // TODO @疯狂:事务结束后,在发送 MQ 消息;避免出现消息已经发了,事务没提交,或者回滚了 registerCouponProducer.sendMailSendMessage(user.getId()); return user; } diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/PayWalletController.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/PayWalletController.java index 5cffab255..7474cae35 100644 --- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/PayWalletController.java +++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/PayWalletController.java @@ -29,11 +29,12 @@ public class PayWalletController { @Resource private PayWalletService payWalletService; - @GetMapping("/user-wallet") + @GetMapping("/get") @PreAuthorize("@ss.hasPermission('pay:wallet:query')") @Operation(summary = "获得用户钱包明细") - public CommonResult getByUser(PayWalletUserReqVO reqVO) { - PayWalletDO wallet = payWalletService.getWalletByUserIdAndType(reqVO.getUserId(), reqVO.getUserType()); + public CommonResult getWallet(PayWalletUserReqVO reqVO) { + PayWalletDO wallet = payWalletService.getOrCreateWallet(reqVO.getUserId(), reqVO.getUserType()); return success(PayWalletConvert.INSTANCE.convert02(wallet)); } + } diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/PayWalletUserReqVO.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/PayWalletUserReqVO.java index 7a9c9a7a1..cace4f859 100644 --- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/PayWalletUserReqVO.java +++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/vo/PayWalletUserReqVO.java @@ -19,4 +19,5 @@ public class PayWalletUserReqVO { @NotNull(message = "用户类型不能为空") @InEnum(value = UserTypeEnum.class, message = "用户类型必须是 {value}") private Integer userType; + } diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletService.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletService.java index 0a7476e11..508822551 100644 --- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletService.java +++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletService.java @@ -87,12 +87,4 @@ public interface PayWalletService { */ void unFreezePrice(Long id, Integer price); - /** - * 获得用户的钱包明细 - * - * @param userId 用户编号 - * @param userType 用户类型 - * @return 用户的钱包明细 - */ - PayWalletDO getWalletByUserIdAndType(Long userId, Integer userType); } diff --git a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletServiceImpl.java b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletServiceImpl.java index 10e7ba3a2..c14d20cfa 100644 --- a/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletServiceImpl.java +++ b/yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletServiceImpl.java @@ -195,9 +195,4 @@ public class PayWalletServiceImpl implements PayWalletService { } } - @Override - public PayWalletDO getWalletByUserIdAndType(Long userId, Integer userType) { - return walletMapper.selectByUserIdAndType(userId, userType); - } - }