From 55642c818f14bf8cf52c98e6858014bd8dc3d3a7 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期四, 16 四月 2026 20:10:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 365 +++++++++++++++++++++++++++++++++++++--------------
1 files changed, 265 insertions(+), 100 deletions(-)
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 16cb9e2..5c4f12d 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -12,15 +12,22 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.IdentityInfoMapper;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.OrdersMapper;
-import com.doumee.dao.business.model.IdentityInfo;
+import com.doumee.dao.business.ShopInfoMapper;
+import com.doumee.dao.business.SmsrecordMapper;
import com.doumee.dao.business.model.Member;
-import com.doumee.dao.business.model.MemberRevenue;
import com.doumee.dao.business.model.Orders;
+import com.doumee.dao.business.model.ShopInfo;
+import com.doumee.dao.business.model.MemberRevenue;
+import com.doumee.dao.business.model.Smsrecord;
+import com.doumee.dao.dto.MemberListQueryDTO;
+import com.doumee.dao.dto.UpdMobileRequest;
import com.doumee.dao.dto.WxPhoneRequest;
import com.doumee.dao.vo.AccountResponse;
+import com.doumee.dao.vo.MemberDetailVO;
+import com.doumee.dao.vo.MemberListVO;
+import com.doumee.dao.vo.PlatformAboutVO;
import com.doumee.dao.vo.UserCenterVO;
import com.doumee.service.business.MemberService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -39,6 +46,7 @@
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -58,16 +66,23 @@
private MemberMapper memberMapper;
@Autowired
- private IdentityInfoMapper identityInfoMapper;
-
- @Autowired
- private OrdersMapper ordersMapper;
+ private SmsrecordMapper smsrecordMapper;
@Autowired
private JwtTokenUtil jwtTokenUtil;
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+
+ @Autowired
+ private RedisTemplate<String,Object> redisTemplate;
+
+ @Autowired
+ private ShopInfoMapper shopInfoMapper;
+
+ @Autowired
+ private OrdersMapper ordersMapper;
+
@Override
public Integer create(Member member) {
@@ -116,8 +131,8 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
if(StringUtils.isNotBlank(member.getCoverImage())){
- String path = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode()
- +systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MEMBER_FILES).getCode();
+ String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
+ +systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILES).getCode();
member.setFullCoverImage(path + member.getCoverImage());
}
return member;
@@ -179,15 +194,6 @@
if (pageWrap.getModel().getName() != null) {
queryWrapper.lambda().like(Member::getName, pageWrap.getModel().getName());
}
- if (pageWrap.getModel().getWorkerIdentity() != null) {
- queryWrapper.lambda().eq(Member::getWorkerIdentity, pageWrap.getModel().getWorkerIdentity());
- }
- if (pageWrap.getModel().getDriverIdentity() != null) {
- queryWrapper.lambda().eq(Member::getDriverIdentity, pageWrap.getModel().getDriverIdentity());
- }
- if (pageWrap.getModel().getChefIdentity() != null) {
- queryWrapper.lambda().eq(Member::getChefIdentity, pageWrap.getModel().getChefIdentity());
- }
if (pageWrap.getModel().getAmount() != null) {
queryWrapper.lambda().eq(Member::getAmount, pageWrap.getModel().getAmount());
}
@@ -225,12 +231,6 @@
if (pageWrap.getModel().getArea() != null) {
queryWrapper.lambda().eq(Member::getArea, pageWrap.getModel().getArea());
}
- //濡傛灉鏌ヨ鎺ュ崟鏂�
- queryWrapper.lambda().and(Constants.equalsInteger(pageWrap.getModel().getType(),Constants.ONE ),w1->{
- w1.eq(Member::getWorkerIdentity,Constants.TWO )
- .or().eq(Member::getChefIdentity,Constants.TWO )
- .or().eq(Member::getDriverIdentity,Constants.TWO );
- });
queryWrapper.lambda().ge(pageWrap.getModel().getStartTime()!=null, Member::getCreateTime,pageWrap.getModel().getStartTime());
queryWrapper.lambda().le(pageWrap.getModel().getEndTime()!=null,Member::getCreateTime,pageWrap.getModel().getEndTime());
@@ -271,21 +271,28 @@
if (StringUtils.isBlank(openId)) {
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鑾峰彇openid澶辫触锛佽鑱旂郴绠$悊鍛�");
}
- Member member = memberMapper.selectOne(new QueryWrapper<Member>().eq("openid", openId).eq("DELETED", Constants.ZERO).last("limit 1"));
+ Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getOpenid, openId)
+ .ne(Member::getUserType,Constants.ONE)
+ .eq(Member::getDeleted, Constants.ZERO)
+ .ne(Member::getStatus, Constants.TWO).last("limit 1"));
AccountResponse accountResponse = new AccountResponse();
accountResponse.setOpenid(openId);
if(Objects.isNull(member)){
return accountResponse;
}
- accountResponse.setToken(jwtTokenUtil.generateToken(member));
+ if(!Constants.equalsInteger(member.getStatus(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝璐﹀彿宸茬鐢紝璇疯仈绯荤鐞嗗憳!");
+ }
+ String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate);
+ accountResponse.setToken(token);
accountResponse.setMember(member);
+ // 闂ㄥ簵鐢ㄦ埛韬唤鏃讹紝杩斿洖鐢宠鐨勯棬搴楃姸鎬�
+ fillShopInfo(accountResponse, member);
return accountResponse;
} catch (WxErrorException e) {
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "寰俊鐧诲綍寮傚父锛佽鑱旂郴绠$悊鍛�");
}
}
-
-
@Override
@@ -301,8 +308,14 @@
if(Objects.isNull(mobile)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈幏鍙栧埌鎵嬫満鍙�");
}
- Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getTelephone,mobile).last("limit 1"));
+ Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
+ .eq(Member::getTelephone,mobile)
+ .ne(Member::getUserType,Constants.ONE)
+ .ne(Member::getStatus, Constants.TWO).last("limit 1"));
if(Objects.nonNull(member)){
+ if(!Constants.equalsInteger(member.getStatus(),Constants.ZERO)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝璐﹀彿宸茬鐢紝璇疯仈绯荤鐞嗗憳!");
+ }
memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getTelephone,mobile)
.set(Member::getOpenid,wxPhoneRequest.getOpenid()).set(Member::getUpdateTime,new Date()).eq(Member::getId,member.getId()));
}else{
@@ -312,11 +325,7 @@
member.setDeleted(Constants.ZERO);
member.setOpenid(wxPhoneRequest.getOpenid());
member.setTelephone(mobile);
- member.setNickName(mobile);
-// member.setCoverImage("1.png");
- member.setWorkerIdentity(Constants.ZERO);
- member.setDriverIdentity(Constants.ZERO);
- member.setChefIdentity(Constants.ZERO);
+ member.setNickName(mobile.substring(0, 3) + "****" + mobile.substring(7));
member.setAmount(Constants.ZERO.longValue());
member.setTotalAmount(Constants.ZERO.longValue());
member.setStatus(Constants.ZERO);
@@ -328,9 +337,12 @@
member.setUseIdentity(Constants.ZERO);
memberMapper.insert(member);
}
+ String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate);
AccountResponse accountResponse = new AccountResponse();
- accountResponse.setToken(jwtTokenUtil.generateToken(member));
+ accountResponse.setToken(token);
accountResponse.setMember(member);
+ // 闂ㄥ簵鐢ㄦ埛韬唤鏃讹紝杩斿洖鐢宠鐨勯棬搴楃姸鎬�
+ fillShopInfo(accountResponse, member);
return accountResponse;
} catch (Exception e) {
e.printStackTrace();
@@ -338,6 +350,21 @@
}
}
+ /**
+ * 闂ㄥ簵鐢ㄦ埛韬唤鏃讹紝濉厖闂ㄥ簵瀹℃牳鐘舵��
+ */
+ private void fillShopInfo(AccountResponse response, Member member) {
+ if (Constants.TWO.equals(member.getUserType())) {
+ ShopInfo shopInfo = shopInfoMapper.selectOne(new QueryWrapper<ShopInfo>().lambda()
+ .eq(ShopInfo::getRegionMemberId, member.getId())
+ .eq(ShopInfo::getDeleted, Constants.ZERO)
+ .last("limit 1"));
+ if (shopInfo != null) {
+ response.setShopId(shopInfo.getId());
+ response.setShopAuditStatus(shopInfo.getAuditStatus());
+ }
+ }
+ }
@Override
@@ -360,84 +387,222 @@
@Override
- public void editUseIdentity(Member member){
- if(Objects.isNull(member)
- || Objects.isNull(member.getUseIdentity())){
- throw new BusinessException(ResponseStatus.BAD_REQUEST);
- }
- if(Constants.equalsInteger(member.getUseIdentity(),Constants.ZERO)){
- member.setUseIdentity(Constants.ZERO);
- memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getUseIdentity,Constants.ZERO).eq(Member::getId,member.getId()));
- }else{
- if(identityInfoMapper.selectCount(new QueryWrapper<IdentityInfo>().lambda().eq(IdentityInfo::getDeleted,Constants.ZERO)
- .eq(IdentityInfo::getMemberId,member.getId())
- .eq(IdentityInfo::getAuditStatus,Constants.TWO))>Constants.ZERO){
- memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getUseIdentity,Constants.ONE).eq(Member::getId,member.getId()));
- }else{
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鏃犲彲鐢ㄦ帴鍗曡韩浠�!");
- }
- }
- }
-
-
- @Override
- public Member getMemberInfo(Integer memberId){
- Member member = this.findById(memberId);
+ public UserCenterVO getMemberInfo(Integer memberId){
+ Member member = memberMapper.selectById(memberId);
if(Objects.isNull(member)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
+ // 鐢ㄦ埛涓績鏁版嵁
+ UserCenterVO userCenterVO = new UserCenterVO();
+ userCenterVO.setNickName(member.getNickName());
+ userCenterVO.setName(member.getName());
+ userCenterVO.setTelephone(member.getTelephone());
+ userCenterVO.setCoverImage(member.getCoverImage());
if(StringUtils.isNotBlank(member.getCoverImage())){
- String path = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode()
- +systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.MEMBER_FILES).getCode();
- member.setFullCoverImage(path + member.getCoverImage());
+ String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
+ +systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILES).getCode();
+ userCenterVO.setFullCoverImage(path + member.getCoverImage());
}
- UserCenterVO userCenterVO = new UserCenterVO();
- userCenterVO.setReleaseTaskTotal(Constants.ZERO);
- userCenterVO.setWaitReceiveTotal(Constants.ZERO);
- userCenterVO.setDoingTotal(Constants.ZERO);
- userCenterVO.setWaitCommentTotal(Constants.ZERO);
- userCenterVO.setTaskingTotal(Constants.ZERO);
- userCenterVO.setDoneTotal(Constants.ZERO);
- userCenterVO.setReceiveTotal(Constants.ZERO);
- List<Orders> releaseOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda().eq(Orders::getDeleted,Constants.ZERO)
- .eq(Orders::getReleaseMemberId,member.getId()));
- if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(releaseOrders)){
- userCenterVO.setReleaseTaskTotal(releaseOrders.size());
- userCenterVO.setWaitCommentTotal(releaseOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.done.getKey())&&Constants.equalsInteger(i.getCommentStatus(),Constants.ZERO)).collect(Collectors.toList()).size());
- userCenterVO.setDoingTotal(releaseOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.doing.getKey())).collect(Collectors.toList()).size());
- userCenterVO.setWaitReceiveTotal(releaseOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.wait.getKey())).collect(Collectors.toList()).size());
- }
- List<Orders> acceptOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda().eq(Orders::getDeleted,Constants.ZERO).eq(Orders::getAcceptMemberId,member.getId()));
- if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(acceptOrders)){
- userCenterVO.setReceiveTotal(acceptOrders.size());
- userCenterVO.setTaskingTotal(acceptOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.doing.getKey())).collect(Collectors.toList()).size());
- userCenterVO.setDoneTotal(acceptOrders.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ordersStatus.done.getKey())).collect(Collectors.toList()).size());
- }
- member.setUserCenterVO(userCenterVO);
- return member;
- }
-
-
-
-
- @Override
- public UserCenterVO getPlatformAboutUs(){
- UserCenterVO userCenterVO = new UserCenterVO();
- userCenterVO.setAboutUs(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ABOUT_US).getCode()));
- userCenterVO.setFeeStandards(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FEE_STANDARDS).getCode()));
- userCenterVO.setServerIntroduce(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SERVER_INTRODUCE).getCode()));
- userCenterVO.setServerPhone(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SERVER_PHONE).getCode()));
- userCenterVO.setUserAgreement(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.USER_AGREEMENT).getCode()));
- userCenterVO.setPrivacyAgreement(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PRIVACY_AGREEMENT).getCode()));
+ userCenterVO.setHasMessage(false);
+ // 寰呮敮浠樿鍗曟暟閲�
+ Long waitPayCount = ordersMapper.selectCount(new QueryWrapper<Orders>().lambda()
+ .eq(Orders::getMemberId, memberId)
+ .eq(Orders::getDeleted, Constants.ZERO)
+ .eq(Orders::getStatus, Constants.OrderStatus.waitPay.getStatus()));
+ userCenterVO.setWaitPayCount(waitPayCount.intValue());
+ // 寰呮敹璐ц鍗曟暟閲�
+ int[] waitReceiveStatuses = Constants.OrderCombinedStatus.waitReceive.getStatuses();
+ Long waitReceiveCount = ordersMapper.selectCount(new QueryWrapper<Orders>().lambda()
+ .eq(Orders::getMemberId, memberId)
+ .eq(Orders::getDeleted, Constants.ZERO)
+ .in(Orders::getStatus, Arrays.stream(waitReceiveStatuses).boxed().collect(Collectors.toList())));
+ userCenterVO.setWaitReceiveCount(waitReceiveCount.intValue());
return userCenterVO;
}
+
+
+
@Override
- public void logOff(String token,Integer memberId){
+ public PlatformAboutVO getPlatformAboutUs(){
+ PlatformAboutVO vo = new PlatformAboutVO();
+ vo.setAboutUs(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ABOUT_US).getCode()));
+ vo.setUserAgreement(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.USER_AGREEMENT).getCode()));
+ vo.setPrivacyAgreement(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PRIVACY_AGREEMENT).getCode()));
+ vo.setServerIntroduce(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SERVER_INTRODUCE).getCode()));
+ return vo;
+ }
+
+ @Override
+ public void logOut(String token,Integer memberId){
memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" openid = null ").eq(Member::getId,memberId));
jwtTokenUtil.logoutForH5(token);
}
+ @Override
+ public void logOff(String token,Integer memberId){
+ Member member = memberMapper.selectById(memberId);
+ if(Objects.nonNull(member)){
+ memberMapper.update(new UpdateWrapper<Member>().lambda()
+// .set(Member::getOpenId,null)
+ .set(Member::getStatus,Constants.TWO)
+ .eq(Member::getId,member.getId())
+ );
+ }
+ redisTemplate.delete(token);
+ }
+
+
+ /***************绠$悊绔細鍛樺垪琛ㄦ帴鍙�*************/
+
+ @Override
+ public PageData<MemberListVO> findMemberListPage(PageWrap<MemberListQueryDTO> pageWrap) {
+ IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ MemberListQueryDTO query = pageWrap.getModel();
+ QueryWrapper<Member> queryWrapper = new QueryWrapper<>();
+ queryWrapper.lambda().eq(Member::getDeleted, Constants.ZERO);
+ queryWrapper.lambda().eq(Member::getUserType, Constants.ZERO);
+ if (query != null) {
+ if (StringUtils.isNotBlank(query.getKeyword())) {
+ queryWrapper.lambda().and(w -> w
+ .like(Member::getName, query.getKeyword())
+ .or().like(Member::getTelephone, query.getKeyword()));
+ }
+ if (query.getStatus() != null) {
+ queryWrapper.lambda().eq(Member::getStatus, query.getStatus());
+ }
+ if (query.getStartTime() != null) {
+ queryWrapper.lambda().ge(Member::getCreateTime, query.getStartTime());
+ }
+ if (query.getEndTime() != null) {
+ queryWrapper.lambda().le(Member::getCreateTime, Utils.Date.getEnd(query.getEndTime()));
+ }
+ }
+ for (PageWrap.SortData sortData : pageWrap.getSorts()) {
+ if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+ queryWrapper.orderByDesc(sortData.getProperty());
+ } else {
+ queryWrapper.orderByAsc(sortData.getProperty());
+ }
+ }
+ IPage<Member> memberPage = memberMapper.selectPage(page, queryWrapper);
+ IPage<MemberListVO> voPage = memberPage.convert(this::toListVO);
+ return PageData.from(voPage);
+ }
+
+ @Override
+ public MemberDetailVO findMemberDetail(Integer id) {
+ Member member = memberMapper.selectById(id);
+ if (Objects.isNull(member) || Constants.equalsInteger(member.getDeleted(), Constants.ONE)) {
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ MemberDetailVO detail = new MemberDetailVO();
+ detail.setId(member.getId());
+ detail.setNickName(member.getNickName());
+ detail.setName(member.getName());
+ detail.setTelephone(member.getTelephone());
+ detail.setAmount(member.getAmount());
+ detail.setTotalAmount(member.getTotalAmount());
+ detail.setStatus(member.getStatus());
+ detail.setUseIdentity(member.getUseIdentity());
+ detail.setOpenid(member.getOpenid());
+ detail.setUserType(member.getUserType());
+ detail.setBusinessStatus(member.getBusinessStatus());
+ detail.setScore(member.getScore());
+ detail.setReceiveNum(member.getReceiveNum());
+ detail.setPublishNum(member.getPublishNum());
+ detail.setCreateTime(member.getCreateTime());
+ detail.setLoginTime(member.getLoginTime());
+ detail.setLoginTimes(member.getLoginTimes());
+ detail.setProvince(member.getProvince());
+ detail.setCity(member.getCity());
+ detail.setArea(member.getArea());
+ detail.setAutoReceiveStatus(member.getAutoReceiveStatus());
+ if (StringUtils.isNotBlank(member.getCoverImage())) {
+ String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
+ + systemDictDataBiz.queryByCode(Constants.OSS, Constants.MEMBER_FILES).getCode();
+ detail.setFullCoverImage(path + member.getCoverImage());
+ }
+ return detail;
+ }
+
+ private MemberListVO toListVO(Member member) {
+ MemberListVO vo = new MemberListVO();
+ vo.setId(member.getId());
+ vo.setNickName(member.getNickName());
+ vo.setName(member.getName());
+ vo.setTelephone(member.getTelephone());
+ vo.setCreateTime(member.getCreateTime());
+ vo.setStatus(member.getStatus());
+ return vo;
+ }
+
+
+
+
+ @Override
+ public void verifyUserPhone(UpdMobileRequest request){
+ if(Objects.isNull(request)
+ || Objects.isNull(request.getMemberId())
+ || StringUtils.isBlank(request.getPhone())
+ || StringUtils.isBlank(request.getCode())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ Member member = memberMapper.selectById(request.getMemberId());
+ if(StringUtils.isNotBlank(member.getTelephone())&&!member.getTelephone().equals(request.getPhone())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎵嬫満鍙烽敊璇�");
+ }
+ this.verifyPhoneCode(request.getCode(),request.getPhone());
+ }
+
+ public void verifyPhoneCode(String code,String phone){
+ //楠岃瘉鐮�
+ Smsrecord smsrecord = smsrecordMapper.selectOne(new QueryWrapper<Smsrecord>().lambda()
+ .eq(Smsrecord::getDeleted,Constants.ZERO)
+ .eq(Smsrecord::getCode,code)
+ .eq(Smsrecord::getPhone,phone)
+ .last(" limit 1")
+ );
+ if(Objects.isNull(smsrecord)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"楠岃瘉鐮侀敊璇紒");
+ }
+ if(!Constants.equalsInteger(smsrecord.getStatus(),Constants.ZERO)){
+ if(Constants.equalsInteger(smsrecord.getStatus(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"楠岃瘉鐮佸凡浣跨敤");
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"楠岃瘉鐮佸凡杩囨湡");
+ }
+ }
+ smsrecordMapper.update(new UpdateWrapper<Smsrecord>().lambda()
+ .set(Smsrecord::getStatus,Constants.ONE)
+ .eq(Smsrecord::getId,smsrecord.getId())
+ );
+ }
+
+ @Override
+ public void updateUserPhone(UpdMobileRequest request){
+ if(Objects.isNull(request)
+ || Objects.isNull(request.getMemberId())
+ || StringUtils.isBlank(request.getPhone())
+ || StringUtils.isBlank(request.getCode())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ //鍒ゆ柇鏂版墜鏈哄彿鏄惁宸茶浣跨敤
+ if(memberMapper.selectCount(new QueryWrapper<Member>().lambda().eq(Member::getTelephone,request.getPhone()))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧�,鏂版墜鏈哄彿宸茶缁戝畾,鏃犳硶杩涜鎹㈢粦锛�");
+ }
+ Member member = memberMapper.selectById(request.getMemberId());
+ if(StringUtils.isNotBlank(member.getTelephone())&&member.getTelephone().equals(request.getPhone())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犳硶鏇存崲鐩稿悓鎵嬫満鍙�");
+ }
+ this.verifyPhoneCode(request.getCode(),request.getPhone());
+ memberMapper.update(new UpdateWrapper<Member>().lambda()
+ .set(Member::getTelephone,request.getPhone())
+ .eq(Member::getId,request.getMemberId())
+ );
+ }
}
--
Gitblit v1.9.3