From f9691d544e62d6c04dbfe45d05a6c7bc5e004291 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 29 十二月 2023 11:52:29 +0800
Subject: [PATCH] 服务商

---
 server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |  110 ++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 93 insertions(+), 17 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 20b977d..e6471a7 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;
@@ -12,6 +13,7 @@
 import com.doumee.core.constants.Constants;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
@@ -24,8 +26,10 @@
 import com.doumee.dao.business.web.response.HomeResponse;
 import com.doumee.dao.business.web.response.UserResponse;
 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;
 import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -44,6 +48,7 @@
  * @date 2023/09/27 18:06
  */
 @Service
+@Slf4j
 public class MemberServiceImpl implements MemberService {
 
     @Autowired
@@ -54,6 +59,37 @@
     public String create(Member member) {
         memberMapper.insert(member);
         return member.getId();
+    }
+
+
+    @Override
+    public String createManageMember(Member member) {
+        LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+
+        QueryWrapper<Member> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(Member::getIsdeleted,Constants.ZERO)
+                .eq(Member::getType,Constants.ONE)
+                .eq(Member::getCardNo,member.getCardNo());
+        Integer integer = memberMapper.selectCount(wrapper);
+
+        if (integer > 0){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍗″彿瀛樺湪閲嶅");
+        }
+        Member insert = new Member();
+        insert.setCreateDate(new Date());
+        insert.setCreator(principal.getId());
+        insert.setEditDate(new Date());
+        insert.setEditor(principal.getId());
+        insert.setIsdeleted(Constants.ZERO);
+        insert.setName(member.getName());
+        insert.setNickname(member.getNickname());
+        insert.setStatus(member.getStatus());
+        insert.setRegisterDate(new Date());
+        insert.setCardNo(member.getCardNo());
+        insert.setType(Constants.ONE);
+        memberMapper.insert(insert);
+        return insert.getId();
     }
 
     @Override
@@ -81,6 +117,29 @@
     }
 
     @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());
+        update.setName(member.getName());
+        update.setStatus(member.getStatus());
+        update.setEditDate(new Date());
+        update.setEditor(principal.getId());
+        memberMapper.updateById(member);
+
+    }
+
+    @Override
     public void updateByIdInBatch(List<Member> members) {
         if (CollectionUtils.isEmpty(members)) {
             return;
@@ -98,7 +157,7 @@
     @Override
     public Member findOne(Member member) {
         QueryWrapper<Member> wrapper = new QueryWrapper<>(member);
-        return memberMapper.selectOne(wrapper);
+        return memberMapper.selectOne(wrapper.last(" limit 1"));
     }
 
     @Override
@@ -106,7 +165,7 @@
         QueryWrapper<Member> wrapper = new QueryWrapper<>(member);
         return memberMapper.selectList(wrapper);
     }
-  
+
     @Override
     public PageData<Member> findPage(PageWrap<Member> pageWrap) {
         IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
@@ -136,7 +195,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());
@@ -174,7 +233,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());
@@ -192,6 +251,23 @@
                 queryWrapper.orderByAsc(sortData.getProperty());
             }
         }
+        return PageData.from(memberMapper.selectPage(page, queryWrapper));
+    }
+
+
+    @Override
+    public PageData<Member> findManagerMemberPage(PageWrap<Member> pageWrap) {
+
+        IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<Member> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        if (pageWrap.getModel().getName() != null) {
+            queryWrapper.lambda().like(Member::getName, pageWrap.getModel().getName());
+        }
+        if (pageWrap.getModel().getCardNo() != null) {
+            queryWrapper.lambda().like(Member::getCardNo, pageWrap.getModel().getCardNo());
+        }
+        queryWrapper.lambda().eq(Member::getType, Constants.ONE);
         return PageData.from(memberMapper.selectPage(page, queryWrapper));
     }
 
@@ -243,9 +319,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)) {
@@ -256,31 +334,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(), "寰俊鐧诲綍寮傚父锛佽鑱旂郴绠$悊鍛�");
         }
-
     }
 
 
@@ -323,7 +400,6 @@
         userResponse.setMobile(member.getPhone());
         return userResponse;
     }
-
 
 
 }

--
Gitblit v1.9.3