From aed4e4c7d76de4d0fbfe8c0b26fcdeecbd5c5b24 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期五, 26 五月 2023 18:04:47 +0800
Subject: [PATCH] 管理台用户管理

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java |   99 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 94 insertions(+), 5 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 6c734a0..4b092e9 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
@@ -1,9 +1,12 @@
 package com.ruoyi.member.service.impl.member;
+import java.util.Date;
 
 import cn.binarywang.wx.miniapp.api.WxMaService;
 import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -14,10 +17,13 @@
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.member.domain.dto.*;
 import com.ruoyi.member.domain.pojo.member.MemberNurse;
+import com.ruoyi.member.domain.pojo.member.MemberTotal;
 import com.ruoyi.member.domain.vo.*;
 import com.ruoyi.member.mapper.member.MemberMapper;
 import com.ruoyi.member.service.member.MemberNurseService;
 import com.ruoyi.member.service.member.MemberService;
+import com.ruoyi.member.service.member.MemberTotalService;
+import com.ruoyi.member.util.CodeFactoryUtil;
 import com.ruoyi.member.util.HttpUtils;
 import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto;
 import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo;
@@ -46,6 +52,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
@@ -92,6 +99,9 @@
 
     @Resource
     private RedisService redisService;
+
+    @Resource
+    private MemberTotalService memberTotalService;
 
     /**
      * @description: TODO
@@ -180,7 +190,7 @@
             JSONObject jsonUserPhoneNumber = JSONObject.parseObject(responseUserPhoneNumber);
             String errcode = jsonUserPhoneNumber.getString("errcode");
             String errmsg = jsonUserPhoneNumber.getString("errmsg");
-            if (!errcode.equals("0")) {
+            if (!"0".equals(errcode)) {
                 throw new ServiceException(errmsg);
             }
             String phoneInfo = jsonUserPhoneNumber.getString("phone_info");
@@ -202,8 +212,9 @@
         //获取用户为空则新建
         if(member == null){
             //创建新用户
+            String memberId = IdUtils.simpleUUID();
             sysUser = new SysUser();
-            sysUser.setUserName(mobile+"-3");
+            sysUser.setUserName(memberId);
             sysUser.setUserType("03");
             sysUser.setNickName("鸿瑞堂用户");
             sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
@@ -211,14 +222,19 @@
             sysUser.setPassword(SecurityUtils.encryptPassword(password));
             sysUser = sysUserService.registerUser(sysUser).getData();
             member = new Member();
-            String memberId = IdUtils.simpleUUID();
+            String memberNo = createMemberNo();
+            member.setMemberNo(memberNo);
             member.setUserId(sysUser.getUserId());
             member.setDelFlag(0);
             member.setNickName("鸿瑞堂用户");
+            member.setRealName("鸿瑞堂用户");
+            member.setCustomerSource("小程序");
             member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
             member.setMemberId(memberId);
             member.setBindingFlag(0);
             member.setCreateTime(new Date());
+            member.setMobile(mobile);
+            initMemberTotal(memberId);
         }else{
             sysUser = sysUserService.getSysUser(member.getUserId()).getData();
         }
@@ -377,6 +393,7 @@
         Member member = this.getByUserId(appMemberBindingDto.getUserId());
         member.setBindingFlag(appMemberBindingDto.getBindingFlag());
         member.setRelationShopId(appMemberBindingDto.getShopId());
+        member.setRelationShopName(appMemberBindingDto.getShopName());
         this.saveOrUpdate(member);
     }
 
@@ -464,8 +481,9 @@
         }
         SysUser sysUser = sysUserService.getSysUserByMobile(phonenumber).getData();
         if(sysUser==null){
+            String memberId = IdUtils.simpleUUID();
             sysUser = new SysUser();
-            sysUser.setUserName(phonenumber+"-3");
+            sysUser.setUserName(memberId);
             sysUser.setUserType("03");
             sysUser.setNickName(merMemberAddDto.getNickName());
             sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
@@ -473,8 +491,9 @@
             sysUser.setPassword(SecurityUtils.encryptPassword(password));
             log.debug("sysUser"+sysUser.toString());
             sysUser = sysUserService.registerUser(sysUser).getData();
-            String memberId = IdUtils.simpleUUID();
             Member member = new Member();
+            String memberNo = createMemberNo();
+            member.setMemberNo(memberNo);
             member.setMemberId(memberId);
             member.setUserId(sysUser.getUserId());
             member.setDelFlag(0);
@@ -490,9 +509,11 @@
             member.setMiniOpenid(null);
             member.setBindingFlag(1);
             member.setRelationShopId(merMemberAddDto.getShopId());
+            member.setCustomerSource("商户添加");
             member.setCreateTime(new Date());
             log.info("member-----------------"+member.toString());
             this.saveOrUpdate(member);
+            initMemberTotal(memberId);
         }
 
 
@@ -570,4 +591,72 @@
             }
         }
     }
+
+
+    /**
+     * 订单创建新用户
+     * @param member
+     */
+    @Override
+    public void createNewMember(Member member){
+        String memberNo = createMemberNo();
+        member.setMemberNo(memberNo);
+        member.setDelFlag(0);
+        member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
+        member.setBindingFlag(0);
+        member.setCreateTime(new Date());
+        member.setCustomerSource("商户订单添加");
+        this.saveOrUpdate(member);
+        initMemberTotal(member.getMemberId());
+    }
+
+    /**
+     * 生成会员统计
+     * @param memberId
+     * @return
+     */
+    private void initMemberTotal(String memberId){
+        MemberTotal memberTotal = new MemberTotal();
+        memberTotal.setMemberId(memberId);
+        memberTotal.setDelFlag(0);
+        memberTotal.setTotalIntegral(0);
+        memberTotal.setUsedIntegral(0);
+        memberTotal.setUseableIntegral(0);
+        memberTotal.setTotalPayMoney(new BigDecimal("0.00"));
+        memberTotal.setTotalPayCount(0);
+        memberTotal.setLastPayMoney(new BigDecimal("0.00"));
+        memberTotal.setTotalServiceCount(0);
+        memberTotal.setUsedServiceCount(0);
+        memberTotal.setUseableServiceCount(0);
+        memberTotal.setTotalActivityCount(0);
+        memberTotal.setTotalCycleOrder(0);
+        memberTotal.setToltaExperienceOrder(0);
+        memberTotal.setTotalServiceOrder(0);
+        memberTotal.setTotalGoodsOrder(0);
+        memberTotalService.saveOrUpdate(memberTotal);
+    }
+
+    /**
+     * 生成会员编号
+     * @return
+     */
+    private String createMemberNo(){
+        int memberTotal = memberMapper.selectCount(new LambdaQueryWrapper<Member>().eq(Member::getDelFlag, 0));
+        String memberNo = CodeFactoryUtil.getMemberNo(Long.valueOf(memberTotal+1));
+        return memberNo;
+    }
+
+
+    /**
+     * 平台分页获取会员列表
+     * @param page
+     * @param merMemberPageDto
+     * @return
+     */
+    @Override
+    public List<MgtMemberPageVo> pageMgtMember(Page page,MgtMemberPageDto merMemberPageDto){
+        List<MgtMemberPageVo> memberPageVoList = memberMapper.pageMgtMember(page, merMemberPageDto);
+
+        return memberPageVoList;
+    }
 }

--
Gitblit v1.7.1