From fc9240bd6b246ad71c4050510880a49ce07138a3 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 13 二月 2026 09:51:13 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dingyuannongji
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 89 ++++++++++++++++++++++++++++++--------------
1 files changed, 60 insertions(+), 29 deletions(-)
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 9e01ef6..fce1c9a 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -57,6 +57,7 @@
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -120,6 +121,9 @@
@Autowired
private IntegralService integralService;
+
+ @Autowired
+ private RedisTemplate<String,Object> redisTemplate;
@Override
public Integer create(Member member) {
@@ -316,9 +320,11 @@
member.setImgFullUrl(systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()+member.getImgurl());
//鍒涘缓token
- JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+member.getId());
- String token = JwtTokenUtil.generateToken(payLoad);
+// JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+member.getId());
+// String token = JwtTokenUtil.generateToken(payLoad);
+ String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate);
accountResponse.setToken(token);
+ accountResponse.setOpenid(openId);
accountResponse.setMember(member);
}else{
accountResponse.setOpenid(openId);
@@ -331,15 +337,16 @@
}
- @Override
- public AccountResponse wxLoginTest( Integer memberId){
- //鍒涘缓token
- JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+memberId);
- String token = JwtTokenUtil.generateToken(payLoad);
- AccountResponse accountResponse = new AccountResponse();
- accountResponse.setToken(token);
- return accountResponse;
- }
+// @Override
+// public AccountResponse wxLoginTest( Integer memberId){
+// //鍒涘缓token
+//// JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+memberId);
+//// String token = JwtTokenUtil.generateToken(payLoad);
+// String token = JwtTokenUtil.generateTokenForRedis(memberId, Constants.ZERO, JSONObject.toJSONString(null), redisTemplate);
+// AccountResponse accountResponse = new AccountResponse();
+// accountResponse.setToken(token);
+// return accountResponse;
+// }
@Override
public AccountResponse wxPhone(WxPhoneRequest wxPhoneRequest){
@@ -385,8 +392,9 @@
}
memberMapper.updateById(member);
}
- JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+member.getId());
- String token = JwtTokenUtil.generateToken(payLoad);
+// JwtPayLoad payLoad = new JwtPayLoad(Constants.MEMBER_PREFIX+member.getId());
+// String token = JwtTokenUtil.generateToken(payLoad);
+ String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate);
AccountResponse accountResponse = new AccountResponse();
accountResponse.setToken(token);
accountResponse.setMember(member);
@@ -526,23 +534,20 @@
@Override
- public Member updateMember(UpdateMemberRequest updateMemberRequest){
+ public void updateMember(UpdateMemberRequest updateMemberRequest){
if(StringUtils.isBlank(updateMemberRequest.getImgurl())
&& StringUtils.isBlank(updateMemberRequest.getNickname())
&& StringUtils.isBlank(updateMemberRequest.getName())
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
- Member member = new Member();
- BeanUtils.copyProperties(updateMemberRequest,member);
- member.setId(updateMemberRequest.getMemberId());
- member.setEditor(updateMemberRequest.getMemberId());
- member.setEditDate(new Date());
- memberMapper.updateById(member);
- Member dbMember = memberMapper.selectById(updateMemberRequest.getMemberId());
- dbMember.setImgFullUrl(systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
- systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()+dbMember.getImgurl());
- return dbMember;
+ memberMapper.update(new UpdateWrapper<Member>().lambda()
+ .set(StringUtils.isNotBlank(updateMemberRequest.getImgurl()),Member::getImgurl,updateMemberRequest.getImgurl())
+ .set(StringUtils.isNotBlank(updateMemberRequest.getNickname()),Member::getNickname,updateMemberRequest.getNickname())
+ .set(StringUtils.isNotBlank(updateMemberRequest.getName()),Member::getName,updateMemberRequest.getName())
+ .set(Member::getEditDate,DateUtil.getCurrDateTime())
+ .eq(Member::getId,updateMemberRequest.getMemberId())
+ );
}
@@ -626,15 +631,15 @@
if(StringUtils.isNotBlank(member.getPhone())&&!member.getPhone().equals(request.getPhone())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎵嬫満鍙烽敊璇�");
}
- this.verifyPhoneCode(request.getCode(),request.getMemberId());
+ this.verifyPhoneCode(request.getCode(),request.getPhone());
}
- public void verifyPhoneCode(String code,Integer memberId){
+ public void verifyPhoneCode(String code,String phone){
//楠岃瘉鐮�
Smsrecord smsrecord = smsrecordMapper.selectOne(new QueryWrapper<Smsrecord>().lambda()
.eq(Smsrecord::getIsdeleted,Constants.ZERO)
.eq(Smsrecord::getCode,code)
- .eq(Smsrecord::getMemberId,memberId)
+ .eq(Smsrecord::getPhone,phone)
.last(" limit 1")
);
if(Objects.isNull(smsrecord)){
@@ -662,11 +667,15 @@
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
+ //鍒ゆ柇鏂版墜鏈哄彿鏄惁宸茶浣跨敤
+ if(memberMapper.selectCount(new QueryWrapper<Member>().lambda().eq(Member::getPhone,request.getPhone()))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧�,鏂版墜鏈哄彿宸茶缁戝畾,鏃犳硶杩涜鎹㈢粦锛�");
+ }
Member member = memberMapper.selectById(request.getMemberId());
if(StringUtils.isNotBlank(member.getPhone())&&member.getPhone().equals(request.getPhone())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犳硶鏇存崲鐩稿悓鎵嬫満鍙�");
}
- this.verifyPhoneCode(request.getCode(),request.getMemberId());
+ this.verifyPhoneCode(request.getCode(),request.getPhone());
memberMapper.update(new UpdateWrapper<Member>().lambda()
.eq(Member::getPhone,request.getPhone())
.eq(Member::getId,request.getMemberId())
@@ -766,9 +775,31 @@
}
+ @Override
+ public void logOut(String token,Integer memberId){
+ Member member = memberMapper.selectById(memberId);
+ if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenId())){
+ memberMapper.update(new UpdateWrapper<Member>().lambda()
+ .set(Member::getOpenId,null)
+ .eq(Member::getId,member.getId())
+ );
+ }
+ redisTemplate.delete(token);
+ }
-
+ @Override
+ public void logOff(String token,Integer memberId){
+ Member member = memberMapper.selectById(memberId);
+ if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenId())){
+ memberMapper.update(new UpdateWrapper<Member>().lambda()
+ .set(Member::getOpenId,null)
+ .set(Member::getPhone,null)
+ .eq(Member::getId,member.getId())
+ );
+ }
+ redisTemplate.delete(token);
+ }
--
Gitblit v1.9.3