From e8e2e8e3151d4d637eb61611be483bdf82ccd88b Mon Sep 17 00:00:00 2001 From: chc <1501738723@qq.com> Date: Fri, 21 Oct 2022 11:27:28 +0800 Subject: [PATCH] v4.2.5 --- .../passport/MemberBuyerController.java | 29 +---- .../modules/member/service/MemberService.java | 5 +- .../member/serviceimpl/MemberServiceImpl.java | 104 +++++++++++------- .../passport/StorePassportController.java | 2 +- 4 files changed, 72 insertions(+), 68 deletions(-) diff --git a/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java index 52203625b..5a9e86b50 100644 --- a/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/passport/MemberBuyerController.java @@ -1,12 +1,8 @@ package cn.lili.controller.passport; -import cn.lili.cache.Cache; -import cn.lili.cache.CachePrefix; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; -import cn.lili.common.security.AuthUser; -import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.entity.dos.Member; @@ -52,18 +48,6 @@ public class MemberBuyerController { private SmsUtil smsUtil; @Autowired private VerificationService verificationService; - @Autowired - private Cache cache; - - - @ApiOperation(value = "手机号登录") - @ApiImplicitParams({ - @ApiImplicitParam(name = "mobile", value = "手机号", required = true, paramType = "query") - }) - @PostMapping("/phoneLogin") - public ResultMessage phoneLogin(@NotNull(message = "手机号为空") @RequestParam String mobile) { - return ResultUtil.data(memberService.mobilePhoneLogin(mobile)); - } @ApiOperation(value = "web-获取登录二维码") @@ -210,13 +194,8 @@ public class MemberBuyerController { //校验短信验证码是否正确 if (smsUtil.verifyCode(mobile, VerificationEnums.FIND_USER, uuid, code)) { //校验是否通过手机号可获取会员,存在则将会员信息存入缓存,有效时间3分钟 - Member member = memberService.findByMobile(mobile); - if (member == null) { - throw new ServiceException(ResultCode.USER_NOT_PHONE); - } - cache.put(CachePrefix.FIND_MOBILE + uuid, mobile, 300L); + memberService.findByMobile(uuid, mobile); return ResultUtil.success(); - } else { throw new ServiceException(ResultCode.VERIFICATION_SMS_CHECKED_ERROR); } @@ -247,11 +226,7 @@ public class MemberBuyerController { @PutMapping("/modifyPass") public ResultMessage modifyPass(@NotNull(message = "旧密码不能为空") @RequestParam String password, @NotNull(message = "新密码不能为空") @RequestParam String newPassword) { - AuthUser tokenUser = UserContext.getCurrentUser(); - if (tokenUser == null) { - throw new ServiceException(ResultCode.USER_NOT_LOGIN); - } - return ResultUtil.data(memberService.modifyPass(tokenUser.getId(), password, newPassword)); + return ResultUtil.data(memberService.modifyPass(password, newPassword)); } @ApiOperation(value = "初始设置密码") diff --git a/framework/src/main/java/cn/lili/modules/member/service/MemberService.java b/framework/src/main/java/cn/lili/modules/member/service/MemberService.java index ce8befeff..025c16bc6 100644 --- a/framework/src/main/java/cn/lili/modules/member/service/MemberService.java +++ b/framework/src/main/java/cn/lili/modules/member/service/MemberService.java @@ -46,6 +46,8 @@ public interface MemberService extends IService { */ Member findByMobile(String mobile); + boolean findByMobile(String uuid, String mobile); + /** * 通过用户名获取用户 * @@ -91,12 +93,11 @@ public interface MemberService extends IService { /** * 修改用户密码 * - * @param memberId 会员id * @param oldPassword 旧密码 * @param newPassword 新密码 * @return 操作结果 */ - Member modifyPass(String memberId, String oldPassword, String newPassword); + Member modifyPass(String oldPassword, String newPassword); /** * 注册会员 diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java index 6849abbc3..a21b89add 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.text.CharSequenceUtil; import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; +import cn.lili.common.aop.annotation.DemoSite; import cn.lili.common.context.ThreadContextHolder; import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.SwitchEnum; @@ -16,11 +17,7 @@ import cn.lili.common.security.context.UserContext; import cn.lili.common.security.enums.UserEnums; import cn.lili.common.security.token.Token; import cn.lili.common.sensitive.SensitiveWordsFilter; -import cn.lili.common.utils.BeanUtil; -import cn.lili.common.utils.CookieUtil; -import cn.lili.common.utils.StringUtils; -import cn.lili.common.utils.SnowFlake; -import cn.lili.common.utils.UuidUtils; +import cn.lili.common.utils.*; import cn.lili.common.vo.PageVO; import cn.lili.modules.connect.config.ConnectAuthEnum; import cn.lili.modules.connect.entity.Connect; @@ -43,7 +40,6 @@ import cn.lili.modules.store.entity.dos.Store; import cn.lili.modules.store.entity.enums.StoreStatusEnum; import cn.lili.modules.store.service.StoreService; import cn.lili.mybatis.util.PageUtil; -import cn.lili.rocketmq.RocketmqSendCallbackBuilder; import cn.lili.rocketmq.tags.MemberTagsEnum; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -51,7 +47,6 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; @@ -124,6 +119,13 @@ public class MemberServiceImpl extends ServiceImpl impleme throw new ServiceException(ResultCode.USER_NOT_LOGIN); } + @Override + public Member findByMobile(String mobile) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("mobile", mobile); + return this.baseMapper.selectOne(queryWrapper); + } + @Override public boolean findByMobile(String uuid, String mobile) { QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -152,6 +154,32 @@ public class MemberServiceImpl extends ServiceImpl impleme return memberTokenGenerate.createToken(member, false); } + + @Override + public void resetPassword(List ids) { + String password = new BCryptPasswordEncoder().encode(StringUtils.md5("123456")); + LambdaUpdateWrapper lambdaUpdateWrapper = Wrappers.lambdaUpdate(); + lambdaUpdateWrapper.in(Member::getId, ids); + lambdaUpdateWrapper.set(Member::getPassword, password); + this.update(lambdaUpdateWrapper); + } + + @Override + public void updateHaveShop(Boolean haveStore, String storeId, List memberIds) { + List members = this.baseMapper.selectBatchIds(memberIds); + if (members.size() > 0) { + members.forEach(member -> { + member.setHaveStore(haveStore); + if (haveStore) { + member.setStoreId(storeId); + } else { + member.setStoreId(null); + } + }); + this.updateBatchById(members); + } + } + @Override public Token usernameStoreLogin(String username, String password) { @@ -262,6 +290,37 @@ public class MemberServiceImpl extends ServiceImpl impleme // 发送会员注册信息 applicationEventPublisher.publishEvent(new TransactionCommitSendMQEvent("new member register", rocketmqCustomProperties.getMemberTopic(), MemberTagsEnum.MEMBER_REGISTER.name(), member)); } + + @Override + public Member editOwn(MemberEditDTO memberEditDTO) { + //查询会员信息 + Member member = this.findByUsername(Objects.requireNonNull(UserContext.getCurrentUser()).getUsername()); + //传递修改会员信息 + BeanUtil.copyProperties(memberEditDTO, member); + //修改会员 + this.updateById(member); + return member; + } + + @DemoSite + public Member modifyPass(String oldPassword, String newPassword) { + AuthUser tokenUser = UserContext.getCurrentUser(); + if (tokenUser == null) { + throw new ServiceException(ResultCode.USER_NOT_LOGIN); + } + Member member = this.getById(tokenUser.getId()); + //判断旧密码输入是否正确 + if (!new BCryptPasswordEncoder().matches(oldPassword, member.getPassword())) { + throw new ServiceException(ResultCode.USER_OLD_PASSWORD_ERROR); + } + //修改会员密码 + LambdaUpdateWrapper lambdaUpdateWrapper = Wrappers.lambdaUpdate(); + lambdaUpdateWrapper.eq(Member::getId, member.getId()); + lambdaUpdateWrapper.set(Member::getPassword, new BCryptPasswordEncoder().encode(newPassword)); + this.update(lambdaUpdateWrapper); + return member; + } + @Override public boolean canInitPass() { AuthUser tokenUser = UserContext.getCurrentUser(); @@ -380,11 +439,6 @@ public class MemberServiceImpl extends ServiceImpl impleme @Override public Member updateMember(ManagerMemberEditDTO managerMemberEditDTO) { - //判断是否用户登录并且会员ID为当前登录会员ID - AuthUser tokenUser = UserContext.getCurrentUser(); - if (tokenUser == null) { - throw new ServiceException(ResultCode.USER_NOT_LOGIN); - } //过滤会员昵称敏感词 if (CharSequenceUtil.isNotBlank(managerMemberEditDTO.getNickName())) { managerMemberEditDTO.setNickName(SensitiveWordsFilter.filter(managerMemberEditDTO.getNickName())); @@ -624,31 +678,6 @@ public class MemberServiceImpl extends ServiceImpl impleme } } - @Override - public void updateHaveShop(Boolean haveStore, String storeId, List memberIds) { - List members = this.baseMapper.selectBatchIds(memberIds); - if (members.size() > 0) { - members.forEach(member -> { - member.setHaveStore(haveStore); - if (haveStore) { - member.setStoreId(storeId); - } else { - member.setStoreId(null); - } - }); - this.updateBatchById(members); - } - } - - @Override - public void resetPassword(List ids) { - String password = new BCryptPasswordEncoder().encode(StringUtils.md5("123456")); - LambdaUpdateWrapper lambdaUpdateWrapper = Wrappers.lambdaUpdate(); - lambdaUpdateWrapper.in(Member::getId, ids); - lambdaUpdateWrapper.set(Member::getPassword, password); - this.update(lambdaUpdateWrapper); - } - /** * 获取所有会员的手机号 * @@ -765,5 +794,4 @@ public class MemberServiceImpl extends ServiceImpl impleme throw new ServiceException(ResultCode.USER_EXIST); } } - } \ No newline at end of file diff --git a/seller-api/src/main/java/cn/lili/controller/passport/StorePassportController.java b/seller-api/src/main/java/cn/lili/controller/passport/StorePassportController.java index 8ca5f490d..864cd1b87 100644 --- a/seller-api/src/main/java/cn/lili/controller/passport/StorePassportController.java +++ b/seller-api/src/main/java/cn/lili/controller/passport/StorePassportController.java @@ -78,7 +78,7 @@ public class StorePassportController { if (tokenUser == null) { throw new ServiceException(ResultCode.USER_NOT_LOGIN); } - return ResultUtil.data(memberService.modifyPass(tokenUser.getId(), password, newPassword)); + return ResultUtil.data(memberService.modifyPass(password, newPassword)); } @ApiOperation(value = "刷新token")