v4.2.5
This commit is contained in:
		
							parent
							
								
									5a1c6b9e7f
								
							
						
					
					
						commit
						e8e2e8e315
					
				@ -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<Object> 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<Member> 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 = "初始设置密码")
 | 
			
		||||
 | 
			
		||||
@ -46,6 +46,8 @@ public interface MemberService extends IService<Member> {
 | 
			
		||||
     */
 | 
			
		||||
    Member findByMobile(String mobile);
 | 
			
		||||
 | 
			
		||||
    boolean findByMobile(String uuid, String mobile);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 通过用户名获取用户
 | 
			
		||||
     *
 | 
			
		||||
@ -91,12 +93,11 @@ public interface MemberService extends IService<Member> {
 | 
			
		||||
    /**
 | 
			
		||||
     * 修改用户密码
 | 
			
		||||
     *
 | 
			
		||||
     * @param memberId    会员id
 | 
			
		||||
     * @param oldPassword 旧密码
 | 
			
		||||
     * @param newPassword 新密码
 | 
			
		||||
     * @return 操作结果
 | 
			
		||||
     */
 | 
			
		||||
    Member modifyPass(String memberId, String oldPassword, String newPassword);
 | 
			
		||||
    Member modifyPass(String oldPassword, String newPassword);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 注册会员
 | 
			
		||||
 | 
			
		||||
@ -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<MemberMapper, Member> impleme
 | 
			
		||||
        throw new ServiceException(ResultCode.USER_NOT_LOGIN);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Member findByMobile(String mobile) {
 | 
			
		||||
        QueryWrapper<Member> queryWrapper = new QueryWrapper<>();
 | 
			
		||||
        queryWrapper.eq("mobile", mobile);
 | 
			
		||||
        return this.baseMapper.selectOne(queryWrapper);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public boolean findByMobile(String uuid, String mobile) {
 | 
			
		||||
        QueryWrapper<Member> queryWrapper = new QueryWrapper<>();
 | 
			
		||||
@ -152,6 +154,32 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> impleme
 | 
			
		||||
        return memberTokenGenerate.createToken(member, false);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void resetPassword(List<String> ids) {
 | 
			
		||||
        String password = new BCryptPasswordEncoder().encode(StringUtils.md5("123456"));
 | 
			
		||||
        LambdaUpdateWrapper<Member> 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<String> memberIds) {
 | 
			
		||||
        List<Member> 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<MemberMapper, Member> 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<Member> 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<MemberMapper, Member> 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<MemberMapper, Member> impleme
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void updateHaveShop(Boolean haveStore, String storeId, List<String> memberIds) {
 | 
			
		||||
        List<Member> 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<String> ids) {
 | 
			
		||||
        String password = new BCryptPasswordEncoder().encode(StringUtils.md5("123456"));
 | 
			
		||||
        LambdaUpdateWrapper<Member> 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<MemberMapper, Member> impleme
 | 
			
		||||
            throw new ServiceException(ResultCode.USER_EXIST);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -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")
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user