From 4fabfe4dbd2eb28d07a4350597d314958cc1c281 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 09 十月 2025 11:16:43 +0800
Subject: [PATCH] 优化

---
 server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |   62 +++++++++++++++++++++++--------
 1 files changed, 46 insertions(+), 16 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 cfbb756..9154af3 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
@@ -2,6 +2,7 @@
 
 import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
 import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -24,7 +25,10 @@
 import com.doumee.dao.business.web.response.AccountResponse;
 import com.doumee.dao.business.web.response.HomeResponse;
 import com.doumee.dao.business.web.response.UserResponse;
+import com.doumee.dao.system.SystemUserMapper;
+import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.MemberService;
+import lombok.extern.slf4j.Slf4j;
 import me.chanjar.weixin.common.error.WxErrorException;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
@@ -46,10 +50,13 @@
  * @date 2023/09/27 18:06
  */
 @Service
+@Slf4j
 public class MemberServiceImpl implements MemberService {
 
     @Autowired
     private MemberMapper memberMapper;
+    @Autowired
+    private SystemUserMapper systemUserMapper;
 
 
     @Override
@@ -57,6 +64,7 @@
         memberMapper.insert(member);
         return member.getId();
     }
+
 
     @Override
     public String createManageMember(Member member) {
@@ -67,7 +75,7 @@
                 .eq(Member::getIsdeleted,Constants.ZERO)
                 .eq(Member::getType,Constants.ONE)
                 .eq(Member::getCardNo,member.getCardNo());
-        Integer integer = memberMapper.selectCount(wrapper);
+        long integer = memberMapper.selectCount(wrapper);
 
         if (integer > 0){
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍗″彿瀛樺湪閲嶅");
@@ -114,6 +122,16 @@
 
     @Override
     public void update(Member member) {
+
+        QueryWrapper<Member> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(Member::getIsdeleted,Constants.ZERO)
+                .eq(Member::getType,Constants.ONE)
+                .eq(Member::getCardNo,member.getCardNo());
+        Member member1 = memberMapper.selectOne(wrapper);
+        if (Objects.nonNull(member1) && !member1.getId().equals(member.getId())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍗″彿瀛樺湪閲嶅");
+        }
         LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         Member update = new Member();
         update.setId(member.getId());
@@ -181,7 +199,7 @@
             queryWrapper.lambda().eq(Member::getInfo, pageWrap.getModel().getInfo());
         }
         if (pageWrap.getModel().getName() != null) {
-            queryWrapper.lambda().eq(Member::getName, pageWrap.getModel().getName());
+            queryWrapper.lambda().like(Member::getName, pageWrap.getModel().getName());
         }
         if (pageWrap.getModel().getNickname() != null) {
             queryWrapper.lambda().eq(Member::getNickname, pageWrap.getModel().getNickname());
@@ -219,7 +237,7 @@
             queryWrapper.lambda().eq(Member::getPassword, pageWrap.getModel().getPassword());
         }
         if (pageWrap.getModel().getCardNo() != null) {
-            queryWrapper.lambda().eq(Member::getCardNo, pageWrap.getModel().getCardNo());
+            queryWrapper.lambda().like(Member::getCardNo, pageWrap.getModel().getCardNo());
         }
         if (pageWrap.getModel().getCardSign() != null) {
             queryWrapper.lambda().eq(Member::getCardSign, pageWrap.getModel().getCardSign());
@@ -305,9 +323,11 @@
      */
     @Override
     public AccountResponse wxLogin(String code) {
+        log.error("================================"+code+ JSONObject.toJSONString( WxMiniConfig.wxMaService.getWxMaConfig()));
         try {
             //鑾峰彇寰俊鏁忔劅鏁版嵁
             WxMaJscode2SessionResult session = WxMiniConfig.wxMaService.getUserService().getSessionInfo(code);
+            log.error("================================"+ JSONObject.toJSONString(session));
             String openId = session.getOpenid();
             String unionId = session.getUnionid();
             if (StringUtils.isBlank(openId)) {
@@ -318,31 +338,30 @@
             if(Objects.isNull(member)){
                 //鏂板鐢ㄦ埛 闇�瑕佽繘琛岀敤鎴风粦瀹氭墜鏈哄彿
                 member = new Member();
+                member.setId(Constants.getUUID());
                 member.setCreateDate(new Date());
                 member.setIsdeleted(Constants.ZERO);
                 member.setOpenid(openId);
                 member.setUnionid(unionId);
                 member.setType(Constants.ZERO);
+                member.setRegisterDate(new Date());
                 member.setOrigin(Constants.ZERO.toString());
                 member.setStatus(Constants.ZERO);
                 memberMapper.insert(member);
-                accountResponse.setStatus(Constants.ONE);
-            }else{
-                UserResponse userResponse = getUserInfo(member.getId());
-                if(StringUtils.isBlank(member.getPhone())){
-                    accountResponse.setStatus(Constants.ONE);
-                }else{
-                    JwtPayLoad payLoad = new JwtPayLoad(userResponse.getId());
-                    accountResponse.setToken(JwtTokenUtil.generateToken(payLoad));
-                }
-                accountResponse.setUserResponse(userResponse);
             }
-
+            UserResponse userResponse = getUserInfo(member.getId());
+            if(StringUtils.isBlank(member.getPhone())){
+                accountResponse.setStatus(Constants.ONE);
+            }
+            JwtPayLoad payLoad = new JwtPayLoad(member.getId());
+            accountResponse.setToken(JwtTokenUtil.generateToken(payLoad));
+            accountResponse.setSessionKey(session.getSessionKey());
+            accountResponse.setUserResponse(userResponse);
             return accountResponse;
         } catch (WxErrorException e) {
+            log.error(e.getMessage());
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "寰俊鐧诲綍寮傚父锛佽鑱旂郴绠$悊鍛�");
         }
-
     }
 
 
@@ -383,9 +402,20 @@
         UserResponse userResponse = new UserResponse();
         BeanUtils.copyProperties(member,userResponse);
         userResponse.setMobile(member.getPhone());
+        if(member.getSysuserId()!=null){
+            SystemUser user= systemUserMapper.selectById(member.getSysuserId());
+            if(user !=null && !Constants.equalsInteger(user.getDeleted(),Constants.ONE)
+                    &&  !Constants.equalsInteger(user.getStatus(),Constants.ONE)){
+                SystemUser u = new SystemUser();
+                u.setId(user.getId());
+                u.setUsername(user.getUsername());
+                u.setNickname(user.getNickname());
+                u.setRealname(user.getRealname());
+                userResponse.setSysuser(u);
+            }
+        }
         return userResponse;
     }
-
 
 
 }

--
Gitblit v1.9.3