From c10c783af0fad280d0a93f38af9c2950cb11f0a7 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期四, 04 五月 2023 18:13:03 +0800
Subject: [PATCH] 商户端

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java |  125 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 109 insertions(+), 16 deletions(-)

diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
index 587c7f7..690ec1a 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -3,18 +3,28 @@
 import cn.binarywang.wx.miniapp.api.WxMaService;
 import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
 import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.exception.ServiceException;
+import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.member.domain.dto.AppUserAuthorizeDto;
+import com.ruoyi.member.domain.dto.MerMemberPageDto;
 import com.ruoyi.member.domain.vo.AppUserAuthorizeVo;
+import com.ruoyi.member.domain.vo.AppUserInfoVo;
+import com.ruoyi.member.domain.vo.MerMemberPageVo;
 import com.ruoyi.member.mapper.member.MemberMapper;
 import com.ruoyi.member.service.member.MemberService;
+import com.ruoyi.system.api.RemoteOrderService;
+import com.ruoyi.system.api.RemoteShopService;
 import com.ruoyi.system.api.RemoteUserService;
 import com.ruoyi.system.api.constant.AppErrorConstant;
 import com.ruoyi.system.api.constant.SecurityConstant;
+import com.ruoyi.system.api.domain.dto.AppEditUserDto;
 import com.ruoyi.system.api.domain.poji.member.Member;
+import com.ruoyi.system.api.domain.poji.shop.Shop;
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
+import com.ruoyi.system.api.domain.vo.AppOrderTotalVo;
 import com.ruoyi.system.api.model.AppMiniLoginDto;
 import com.ruoyi.system.api.model.AppMiniLoginVo;
 import org.apache.commons.lang3.StringUtils;
@@ -23,6 +33,7 @@
 
 import javax.annotation.Resource;
 import java.util.Date;
+import java.util.List;
 import java.util.UUID;
 
 /**
@@ -47,6 +58,12 @@
 
     @Resource
     private StringRedisTemplate stringRedisTemplate;
+
+    @Resource
+    private RemoteShopService shopService;
+
+    @Resource
+    private RemoteOrderService orderService;
 
     /**
      * @description: TODO
@@ -75,23 +92,25 @@
         String sessionKey = null;
         //获取session
         try {
-            session = wxMaService.getUserService().getSessionInfo(appMiniLoginDto.getCode());
+            //session = wxMaService.getUserService().getSessionInfo(appMiniLoginDto.getCode());
         } catch (Exception e) {
             e.printStackTrace();
             return null;
         }
-        if(session!=null&& StringUtils.isNotBlank(session.getOpenid())){
-            unionid = session.getUnionid();
-            openid = session.getOpenid();
-            sessionKey = session.getSessionKey();
+        //if(session!=null&& StringUtils.isNotBlank(session.getOpenid())){
+            //unionid = session.getUnionid();
+            //openid = session.getOpenid();
+            //sessionKey = session.getSessionKey();
             //获取用户
-            Member member = memberMapper.getOneByMiniOpenid(openid);
-            SysUser sysUser;
+            //Member member = memberMapper.getOneByMiniOpenid(openid);
+                Member member = this.getByUserId(1L);
+                SysUser sysUser;
             if(member==null){
                 //创建新用户
-                String memberId = UUID.randomUUID().toString();
+                String memberId = IdUtils.simpleUUID();
                 sysUser = new SysUser();
                 sysUser.setUserName(memberId);
+                sysUser.setUserType("03");
                 sysUser.setNickName("微信用户");
                 String password = "hongruitang";
                 sysUser.setPassword(SecurityUtils.encryptPassword(password));
@@ -100,22 +119,22 @@
                 member.setUserId(sysUser.getUserId());
                 member.setDelFlag(0);
                 member.setMemberId(memberId);
-                member.setWxUnionid(unionid);
-                member.setMiniOpenid(openid);
+                //member.setWxUnionid(unionid);
+                //member.setMiniOpenid(openid);
                 member.setCreateTime(new Date());
                 this.save(member);
             }else{
                 sysUser = sysUserService.getSysUser(member.getUserId()).getData();
             }
-            appMiniLoginVo.setMiniOpenid(openid);
-            appMiniLoginVo.setWxUnionid(unionid);
+            //appMiniLoginVo.setMiniOpenid(openid);
+            //appMiniLoginVo.setWxUnionid(unionid);
             appMiniLoginVo.setSysUser(sysUser);
-            appMiniLoginVo.setSessionKey(sessionKey);
+            //appMiniLoginVo.setSessionKey(sessionKey);
             //sessionKey
-            stringRedisTemplate.opsForValue().set(SecurityConstant.SESSION_KEY+openid,sessionKey);
-        }else{
+            //stringRedisTemplate.opsForValue().set(SecurityConstant.SESSION_KEY+openid,sessionKey);
+        /*}else{
             return null;
-        }
+        }*/
         return appMiniLoginVo;
     }
 
@@ -155,6 +174,7 @@
         sysUser.setPhonenumber(mobile);
         sysUserService.updateUserMobile(sysUser);
         member.setMobile(mobile);
+        member.setRealName(sysUser.getNickName());
         this.saveOrUpdate(member);
         appUserAuthorizeVo.setMobile(mobile);
         appUserAuthorizeVo.setNickName(sysUser.getNickName());
@@ -163,5 +183,78 @@
         return appUserAuthorizeVo;
     }
 
+    /**
+     * 获取用户信息
+     * @param userId
+     * @return
+     */
+    @Override
+    public AppUserInfoVo getAppUserInfo(Long userId){
+        AppUserInfoVo appUserInfoVo = new AppUserInfoVo();
+        SysUser sysUser = sysUserService.getSysUser(userId).getData();
+        Member member = this.getByUserId(userId);
+        appUserInfoVo.setUserId(userId);
+        appUserInfoVo.setMemberNo(member.getMemberNo());
+        appUserInfoVo.setNickName(sysUser.getNickName());
+        appUserInfoVo.setPhonenumber(sysUser.getPhonenumber());
+        if(member.getRelationShopId()!=null){
+            Shop shop = shopService.getShop(member.getRelationShopId()).getData();
+            appUserInfoVo.setShopName(shop.getShopName());
+        }
+        appUserInfoVo.setBirthday(member.getBirthday());
+        appUserInfoVo.setGender(member.getGender());
+        appUserInfoVo.setAvatar(sysUser.getAvatar());
+        AppOrderTotalVo appOrderTotalVo = orderService.getAppOrderTotal(userId).getData();
+        appUserInfoVo.setNoPayCount(appOrderTotalVo.getNoPayCount());
+        appUserInfoVo.setNoUseCount(appOrderTotalVo.getNoUseCount());
+        return appUserInfoVo;
+    }
 
+    /**
+     * 修改用户信息
+     * @param appEditUserDto
+     */
+    @Override
+    public void editAppUserInfo(AppEditUserDto appEditUserDto){
+        //修改类型1.昵称2.头像3.性别4.生日
+        Integer editType = appEditUserDto.getEditType();
+        String editValue = appEditUserDto.getEditValue();
+        Member member = this.getByUserId(appEditUserDto.getUserId());
+        switch (editType){
+            case 1:
+                member.setRealName(editValue);
+                member.setUpdateTime(new Date());
+                member.setUpdateUserId(appEditUserDto.getUserId());
+                this.saveOrUpdate(member);
+                break;
+            case 2:
+                break;
+            case 3:
+                member.setGender(Integer.valueOf(editValue));
+                member.setUpdateTime(new Date());
+                member.setUpdateUserId(appEditUserDto.getUserId());
+                this.saveOrUpdate(member);
+                break;
+            case 4:
+                member.setBirthday(editValue);
+                member.setUpdateTime(new Date());
+                member.setUpdateUserId(appEditUserDto.getUserId());
+                this.saveOrUpdate(member);
+                break;
+            default:
+                break;
+        }
+        sysUserService.editUserInfo(appEditUserDto);
+    }
+
+    /**
+     * 分页获取会员信息
+     * @param merMemberPageDto
+     * @return
+     */
+    @Override
+    public List<MerMemberPageVo> pageMerMember(Page page, MerMemberPageDto merMemberPageDto){
+        List<MerMemberPageVo> merMemberPageVoList = memberMapper.pageMerMember(page,merMemberPageDto);
+        return merMemberPageVoList;
+    }
 }

--
Gitblit v1.7.1