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