From 2cfceadff437135a255990ab9698788a48adb636 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 16 十二月 2025 09:54:00 +0800
Subject: [PATCH] 小程序 用户端接口开发

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |   77 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 77 insertions(+), 0 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 afb5b60..1dfd46f 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
@@ -20,16 +20,19 @@
 import com.doumee.core.utils.Utils;
 import com.doumee.core.wx.WxMiniConfig;
 import com.doumee.dao.business.MemberMapper;
+import com.doumee.dao.business.SmsrecordMapper;
 import com.doumee.dao.business.join.MemberJoinMapper;
 import com.doumee.dao.business.model.Areas;
 import com.doumee.dao.business.model.Goodsorder;
 import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.Smsrecord;
 import com.doumee.dao.system.SystemUserMapper;
 import com.doumee.dao.system.dto.MemberRechargeDTO;
 import com.doumee.dao.web.dto.MemberOwnDTO;
 import com.doumee.dao.web.dto.shop.Position;
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.dao.web.request.DealIntegralRequest;
+import com.doumee.dao.web.request.UpdMobileRequest;
 import com.doumee.dao.web.request.UpdateMemberRequest;
 import com.doumee.dao.web.request.WxPhoneRequest;
 import com.doumee.dao.web.response.AccountResponse;
@@ -74,6 +77,9 @@
 
     @Autowired
     private MemberMapper memberMapper;
+
+    @Autowired
+    private SmsrecordMapper smsrecordMapper;
 
 
     @Autowired
@@ -328,6 +334,12 @@
 
     @Override
     public Member 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());
@@ -339,6 +351,9 @@
                 systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()+dbMember.getImgurl());
         return dbMember;
     }
+
+
+
 
     @Override
     public MemberOwnDTO getMemberOwnDTO(Integer memberId) {
@@ -405,6 +420,68 @@
         memberMapper.updateById(member);
     }
 
+    @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.getPhone())&&!member.getPhone().equals(request.getPhone())){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎵嬫満鍙烽敊璇�");
+        }
+        this.verifyPhoneCode(request.getCode(),request.getMemberId());
+    }
+
+    public void verifyPhoneCode(String code,Integer memberId){
+        //楠岃瘉鐮�
+        Smsrecord smsrecord = smsrecordMapper.selectOne(new QueryWrapper<Smsrecord>().lambda()
+                .eq(Smsrecord::getIsdeleted,Constants.ZERO)
+                .eq(Smsrecord::getCode,code)
+                .eq(Smsrecord::getMemberId,memberId)
+                .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);
+        }
+        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());
+        memberMapper.update(new UpdateWrapper<Member>().lambda()
+                .eq(Member::getPhone,request.getPhone())
+                .eq(Member::getId,request.getMemberId())
+        );
+    }
+
+
+
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     @Override
     public Integer importMemberRechargeBatch(MultipartFile file) {

--
Gitblit v1.9.3