Commit 9aee08ee0e8bdccfeca29c5711082608d9374362
1 parent
2895ae3d
会员:修改Review的代码
Showing
7 changed files
with
66 additions
and
29 deletions
yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/MemberExperienceBizTypeEnum.java
| 1 | 1 | package cn.iocoder.yudao.module.member.enums; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.util.EnumUtil; | |
| 3 | 4 | import lombok.AllArgsConstructor; |
| 4 | 5 | import lombok.Getter; |
| 5 | 6 | |
| 7 | +import java.util.Objects; | |
| 8 | + | |
| 6 | 9 | /** |
| 7 | 10 | * 会员经验 - 业务类型 |
| 8 | 11 | * |
| ... | ... | @@ -15,16 +18,20 @@ public enum MemberExperienceBizTypeEnum { |
| 15 | 18 | /** |
| 16 | 19 | * 管理员调整、邀请新用户、下单、退单、签到、抽奖 |
| 17 | 20 | */ |
| 18 | - ADMIN(0, "管理员调整","管理员调整获得 {} 经验"), | |
| 19 | - INVITE_REGISTER(1, "邀新奖励","邀请好友获得 {} 经验"), | |
| 21 | + ADMIN(0, "管理员调整", "管理员调整获得 {} 经验"), | |
| 22 | + INVITE_REGISTER(1, "邀新奖励", "邀请好友获得 {} 经验"), | |
| 20 | 23 | ORDER(2, "下单奖励", "下单获得 {} 经验"), |
| 21 | - REFUND(3, "退单扣除","退单获得 {} 经验"), | |
| 22 | - SIGN_IN(4, "签到奖励","签到获得 {} 经验"), | |
| 23 | - LOTTERY(5, "抽奖奖励","抽奖获得 {} 经验"), | |
| 24 | + REFUND(3, "退单扣除", "退单获得 {} 经验"), | |
| 25 | + SIGN_IN(4, "签到奖励", "签到获得 {} 经验"), | |
| 26 | + LOTTERY(5, "抽奖奖励", "抽奖获得 {} 经验"), | |
| 24 | 27 | ; |
| 25 | 28 | |
| 26 | 29 | private final int type; |
| 27 | 30 | private final String title; |
| 28 | 31 | private final String description; |
| 29 | 32 | |
| 33 | + public static MemberExperienceBizTypeEnum getByType(Integer type) { | |
| 34 | + return EnumUtil.getBy(MemberExperienceBizTypeEnum.class, | |
| 35 | + e -> Objects.equals(type, e.getType())); | |
| 36 | + } | |
| 30 | 37 | } | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/api/level/MemberLevelApiImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.member.api.level; |
| 2 | 2 | |
| 3 | -import cn.hutool.core.util.EnumUtil; | |
| 4 | 3 | import cn.iocoder.yudao.module.member.enums.MemberExperienceBizTypeEnum; |
| 5 | 4 | import cn.iocoder.yudao.module.member.service.level.MemberLevelService; |
| 6 | 5 | import org.springframework.stereotype.Service; |
| 7 | 6 | import org.springframework.validation.annotation.Validated; |
| 8 | 7 | |
| 9 | 8 | import javax.annotation.Resource; |
| 10 | -import java.util.Objects; | |
| 11 | 9 | |
| 12 | 10 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 13 | 11 | import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.EXPERIENCE_BIZ_NOT_SUPPORT; |
| ... | ... | @@ -26,9 +24,7 @@ public class MemberLevelApiImpl implements MemberLevelApi { |
| 26 | 24 | |
| 27 | 25 | @Override |
| 28 | 26 | public void addExperience(Long userId, Integer experience, Integer bizType, String bizId) { |
| 29 | - // TODO @疯狂:可以在 MemberExperienceBizTypeEnum 增加一个方法,获得哈。 | |
| 30 | - MemberExperienceBizTypeEnum bizTypeEnum = EnumUtil.getBy(MemberExperienceBizTypeEnum.class, | |
| 31 | - e -> Objects.equals(bizType, e.getType())); | |
| 27 | + MemberExperienceBizTypeEnum bizTypeEnum = MemberExperienceBizTypeEnum.getByType(bizType); | |
| 32 | 28 | if (bizTypeEnum == null) { |
| 33 | 29 | throw exception(EXPERIENCE_BIZ_NOT_SUPPORT); |
| 34 | 30 | } | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/group/MemberGroupServiceImpl.java
| ... | ... | @@ -9,7 +9,7 @@ import cn.iocoder.yudao.module.member.controller.admin.group.vo.MemberGroupUpdat |
| 9 | 9 | import cn.iocoder.yudao.module.member.convert.group.MemberGroupConvert; |
| 10 | 10 | import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO; |
| 11 | 11 | import cn.iocoder.yudao.module.member.dal.mysql.group.MemberGroupMapper; |
| 12 | -import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; | |
| 12 | +import cn.iocoder.yudao.module.member.service.user.MemberUserService; | |
| 13 | 13 | import org.springframework.stereotype.Service; |
| 14 | 14 | import org.springframework.validation.annotation.Validated; |
| 15 | 15 | |
| ... | ... | @@ -33,7 +33,7 @@ public class MemberGroupServiceImpl implements MemberGroupService { |
| 33 | 33 | @Resource |
| 34 | 34 | private MemberGroupMapper groupMapper; |
| 35 | 35 | @Resource |
| 36 | - private MemberUserMapper memberUserMapper; | |
| 36 | + private MemberUserService memberUserService; | |
| 37 | 37 | |
| 38 | 38 | @Override |
| 39 | 39 | public Long createGroup(MemberGroupCreateReqVO createReqVO) { |
| ... | ... | @@ -69,9 +69,8 @@ public class MemberGroupServiceImpl implements MemberGroupService { |
| 69 | 69 | } |
| 70 | 70 | } |
| 71 | 71 | |
| 72 | - // TODO @疯狂:不要直接调用 memberUserMapper,需要对方 service 提供方法 | |
| 73 | 72 | void validateGroupHasUser(Long id) { |
| 74 | - Long count = memberUserMapper.selectCountByGroupId(id); | |
| 73 | + Long count = memberUserService.getUserCountByGroupId(id); | |
| 75 | 74 | if (count > 0) { |
| 76 | 75 | throw exception(GROUP_HAS_USER); |
| 77 | 76 | } | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/level/MemberLevelServiceImpl.java
| ... | ... | @@ -14,7 +14,6 @@ import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO; |
| 14 | 14 | import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelRecordDO; |
| 15 | 15 | import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; |
| 16 | 16 | import cn.iocoder.yudao.module.member.dal.mysql.level.MemberLevelMapper; |
| 17 | -import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; | |
| 18 | 17 | import cn.iocoder.yudao.module.member.enums.MemberExperienceBizTypeEnum; |
| 19 | 18 | import cn.iocoder.yudao.module.member.service.user.MemberUserService; |
| 20 | 19 | import com.google.common.annotations.VisibleForTesting; |
| ... | ... | @@ -49,8 +48,6 @@ public class MemberLevelServiceImpl implements MemberLevelService { |
| 49 | 48 | @Resource |
| 50 | 49 | private MemberExperienceRecordService memberExperienceRecordService; |
| 51 | 50 | @Resource |
| 52 | - private MemberUserMapper memberUserMapper; | |
| 53 | - @Resource | |
| 54 | 51 | private MemberUserService memberUserService; |
| 55 | 52 | |
| 56 | 53 | @Override |
| ... | ... | @@ -157,7 +154,7 @@ public class MemberLevelServiceImpl implements MemberLevelService { |
| 157 | 154 | // TODO 有 Service 提供接口哈,不直接调用对方的 memberUserMapper |
| 158 | 155 | @VisibleForTesting |
| 159 | 156 | void validateLevelHasUser(Long id) { |
| 160 | - Long count = memberUserMapper.selectCountByLevelId(id); | |
| 157 | + Long count = memberUserService.getUserCountByLevelId(id); | |
| 161 | 158 | if (count > 0) { |
| 162 | 159 | throw exception(LEVEL_HAS_USER); |
| 163 | 160 | } |
| ... | ... | @@ -239,7 +236,7 @@ public class MemberLevelServiceImpl implements MemberLevelService { |
| 239 | 236 | return; |
| 240 | 237 | } |
| 241 | 238 | |
| 242 | - MemberUserDO user = memberUserMapper.selectById(userId); | |
| 239 | + MemberUserDO user = memberUserService.getUser(userId); | |
| 243 | 240 | |
| 244 | 241 | int userExperience = NumberUtil.max(user.getExperience() + experience, 0); |
| 245 | 242 | MemberLevelRecordDO levelRecord = new MemberLevelRecordDO() | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/tag/MemberTagServiceImpl.java
| ... | ... | @@ -10,7 +10,7 @@ import cn.iocoder.yudao.module.member.controller.admin.tag.vo.MemberTagUpdateReq |
| 10 | 10 | import cn.iocoder.yudao.module.member.convert.tag.MemberTagConvert; |
| 11 | 11 | import cn.iocoder.yudao.module.member.dal.dataobject.tag.MemberTagDO; |
| 12 | 12 | import cn.iocoder.yudao.module.member.dal.mysql.tag.MemberTagMapper; |
| 13 | -import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; | |
| 13 | +import cn.iocoder.yudao.module.member.service.user.MemberUserService; | |
| 14 | 14 | import org.springframework.stereotype.Service; |
| 15 | 15 | import org.springframework.validation.annotation.Validated; |
| 16 | 16 | |
| ... | ... | @@ -33,7 +33,7 @@ public class MemberTagServiceImpl implements MemberTagService { |
| 33 | 33 | @Resource |
| 34 | 34 | private MemberTagMapper tagMapper; |
| 35 | 35 | @Resource |
| 36 | - private MemberUserMapper memberUserMapper; | |
| 36 | + private MemberUserService memberUserService; | |
| 37 | 37 | |
| 38 | 38 | @Override |
| 39 | 39 | public Long createTag(MemberTagCreateReqVO createReqVO) { |
| ... | ... | @@ -92,7 +92,7 @@ public class MemberTagServiceImpl implements MemberTagService { |
| 92 | 92 | } |
| 93 | 93 | |
| 94 | 94 | void validateTagHasUser(Long id) { |
| 95 | - Long count = memberUserMapper.selectCountByTagId(id); | |
| 95 | + Long count = memberUserService.getUserCountByTagId(id); | |
| 96 | 96 | if (count > 0) { |
| 97 | 97 | throw exception(TAG_HAS_USER); |
| 98 | 98 | } | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserService.java
| ... | ... | @@ -5,9 +5,9 @@ import cn.iocoder.yudao.framework.common.validation.Mobile; |
| 5 | 5 | import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserPageReqVO; |
| 6 | 6 | import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateReqVO; |
| 7 | 7 | import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserResetPasswordReqVO; |
| 8 | +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateMobileReqVO; | |
| 8 | 9 | import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdatePasswordReqVO; |
| 9 | 10 | import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateReqVO; |
| 10 | -import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateMobileReqVO; | |
| 11 | 11 | import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; |
| 12 | 12 | |
| 13 | 13 | import javax.validation.Valid; |
| ... | ... | @@ -41,7 +41,7 @@ public interface MemberUserService { |
| 41 | 41 | * 基于手机号创建用户。 |
| 42 | 42 | * 如果用户已经存在,则直接进行返回 |
| 43 | 43 | * |
| 44 | - * @param mobile 手机号 | |
| 44 | + * @param mobile 手机号 | |
| 45 | 45 | * @param registerIp 注册 IP |
| 46 | 46 | * @return 用户对象 |
| 47 | 47 | */ |
| ... | ... | @@ -50,7 +50,7 @@ public interface MemberUserService { |
| 50 | 50 | /** |
| 51 | 51 | * 更新用户的最后登陆信息 |
| 52 | 52 | * |
| 53 | - * @param id 用户编号 | |
| 53 | + * @param id 用户编号 | |
| 54 | 54 | * @param loginIp 登陆 IP |
| 55 | 55 | */ |
| 56 | 56 | void updateUserLogin(Long id, String loginIp); |
| ... | ... | @@ -75,7 +75,7 @@ public interface MemberUserService { |
| 75 | 75 | * 【会员】修改基本信息 |
| 76 | 76 | * |
| 77 | 77 | * @param userId 用户编号 |
| 78 | - * @param reqVO 基本信息 | |
| 78 | + * @param reqVO 基本信息 | |
| 79 | 79 | */ |
| 80 | 80 | void updateUser(Long userId, AppMemberUserUpdateReqVO reqVO); |
| 81 | 81 | |
| ... | ... | @@ -83,7 +83,7 @@ public interface MemberUserService { |
| 83 | 83 | * 【会员】修改手机 |
| 84 | 84 | * |
| 85 | 85 | * @param userId 用户编号 |
| 86 | - * @param reqVO 请求信息 | |
| 86 | + * @param reqVO 请求信息 | |
| 87 | 87 | */ |
| 88 | 88 | void updateUserMobile(Long userId, AppMemberUserUpdateMobileReqVO reqVO); |
| 89 | 89 | |
| ... | ... | @@ -91,7 +91,7 @@ public interface MemberUserService { |
| 91 | 91 | * 【会员】修改密码 |
| 92 | 92 | * |
| 93 | 93 | * @param userId 用户编号 |
| 94 | - * @param reqVO 请求信息 | |
| 94 | + * @param reqVO 请求信息 | |
| 95 | 95 | */ |
| 96 | 96 | void updateUserPassword(Long userId, AppMemberUserUpdatePasswordReqVO reqVO); |
| 97 | 97 | |
| ... | ... | @@ -105,7 +105,7 @@ public interface MemberUserService { |
| 105 | 105 | /** |
| 106 | 106 | * 判断密码是否匹配 |
| 107 | 107 | * |
| 108 | - * @param rawPassword 未加密的密码 | |
| 108 | + * @param rawPassword 未加密的密码 | |
| 109 | 109 | * @param encodedPassword 加密后的密码 |
| 110 | 110 | * @return 是否匹配 |
| 111 | 111 | */ |
| ... | ... | @@ -135,4 +135,27 @@ public interface MemberUserService { |
| 135 | 135 | */ |
| 136 | 136 | void updateUserLevel(Long id, Long levelId, Integer experience); |
| 137 | 137 | |
| 138 | + /** | |
| 139 | + * 获得指定用户分组下的用户数量 | |
| 140 | + * | |
| 141 | + * @param groupId 用户分组编号 | |
| 142 | + * @return 用户数量 | |
| 143 | + */ | |
| 144 | + Long getUserCountByGroupId(Long groupId); | |
| 145 | + | |
| 146 | + /** | |
| 147 | + * 获得指定用户等级下的用户数量 | |
| 148 | + * | |
| 149 | + * @param levelId 用户等级编号 | |
| 150 | + * @return 用户数量 | |
| 151 | + */ | |
| 152 | + Long getUserCountByLevelId(Long levelId); | |
| 153 | + | |
| 154 | + /** | |
| 155 | + * 获得指定会员标签下的用户数量 | |
| 156 | + * | |
| 157 | + * @param tagId 用户标签编号 | |
| 158 | + * @return 用户数量 | |
| 159 | + */ | |
| 160 | + Long getUserCountByTagId(Long tagId); | |
| 138 | 161 | } | ... | ... |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java
| ... | ... | @@ -239,4 +239,19 @@ public class MemberUserServiceImpl implements MemberUserService { |
| 239 | 239 | ); |
| 240 | 240 | } |
| 241 | 241 | |
| 242 | + @Override | |
| 243 | + public Long getUserCountByGroupId(Long groupId) { | |
| 244 | + return memberUserMapper.selectCountByGroupId(groupId); | |
| 245 | + } | |
| 246 | + | |
| 247 | + @Override | |
| 248 | + public Long getUserCountByLevelId(Long levelId) { | |
| 249 | + return memberUserMapper.selectCountByLevelId(levelId); | |
| 250 | + } | |
| 251 | + | |
| 252 | + @Override | |
| 253 | + public Long getUserCountByTagId(Long tagId) { | |
| 254 | + return memberUserMapper.selectCountByTagId(tagId); | |
| 255 | + } | |
| 256 | + | |
| 242 | 257 | } | ... | ... |