From c203ff63489126a94d1be5dbfe32cadb69a70594 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期四, 25 五月 2023 16:26:56 +0800
Subject: [PATCH] 完善数据库和框架

---
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java             |    2 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java              |    9 +
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/util/CodeFactoryUtil.java                      |    8 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java          |   18 ---
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java           |   20 +++
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/CodeFactoryUtil.java                          |    8 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/util/CodeFactoryUtil.java                        |    4 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java     |   10 -
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/HttpUtils.java                            |    3 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java             |   32 +++++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java             |   10 +
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java         |    2 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/CodeFactoryUtil.java                        |    4 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java             |    8 -
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java   |   10 +
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java                 |    2 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java     |    7 +
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java     |   54 ++++++++
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java |    2 
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java         |   27 +++-
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java        |   14 ++
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java                 |    7 +
 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java     |   12 +-
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/CodeFactoryUtil.java                      |    8 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberTotal.java            |    2 
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java       |   29 ++++
 26 files changed, 245 insertions(+), 67 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java
index fec6ea2..e9adbc2 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java
@@ -50,7 +50,7 @@
 
     String BEYOND_WITHDRAW = "超出可提现金额";
 
-    String BEYOND_WITHDRAW_time = "超出可提现金额";
+    String BEYOND_WITHDRAW_TIME = "超出可提现金额";
 
     String USER_NO_WITHDRAW = "用户没有提现权限";
 
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java
index b5cc560..5a4be89 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java
@@ -64,6 +64,16 @@
             public R updateMemberGoodsType(AppMemberGoodsTypeDto appMemberGoodsTypeDto) {
                 return R.fail("更新会员商品类型失败:" + throwable.getMessage());
             }
+
+            @Override
+            public R<Member> getMemberByMobile(String mobile) {
+                return R.fail("获取会员手机失败:" + throwable.getMessage());
+            }
+
+            @Override
+            public R createNewMember(Member member) {
+                return R.fail("订单创建用户失败:" + throwable.getMessage());
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java
index a89b6d5..bb40b7c 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java
@@ -1,6 +1,8 @@
 package com.ruoyi.system.api.factory;
 
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.system.api.model.QwH5LoginVo;
+import com.ruoyi.system.api.model.QwUserDetailDto;
 import com.ruoyi.system.api.service.RemoteShopService;
 import com.ruoyi.system.api.domain.poji.shop.Shop;
 import com.ruoyi.system.api.domain.vo.ShopRelUserVo;
@@ -34,6 +36,11 @@
             public R<ShopRelUserVo> getShopByUserId(Long userId) {
                 return R.fail("获取商户失败:" + throwable.getMessage());
             }
+
+            @Override
+            public R<QwH5LoginVo> qwH5Login(QwUserDetailDto qwUserDetail) {
+                return R.fail("获取商户员工失败:" + throwable.getMessage());
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java
index 217df68..fd443d4 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java
@@ -39,10 +39,6 @@
                 return R.fail("注册用户失败:" + throwable.getMessage());
             }
 
-            @Override
-            public R<QwH5LoginVo> qwH5Login(QwUserDetailDto qwUserDetail) {
-                return R.fail("用户登录:" + throwable.getMessage());
-            }
 
             @Override
             public R<SysUser> getSysUser(Long userId) {
@@ -51,7 +47,9 @@
 
             @Override
             public R<SysUser> getSysUserByMobile(String mobile) {
-                return null;
+                {
+                    return R.fail("获取用户失败:" + throwable.getMessage());
+                }
             }
 
             @Override
@@ -71,7 +69,7 @@
 
             @Override
             public R<SysTag> getSysTag(Long sysTagId) {
-                return null;
+                return R.fail("获取系统标签失败:" + throwable.getMessage());
             }
         };
     }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java
index 3cd05dc..d1f6a18 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java
@@ -55,7 +55,27 @@
     @PostMapping("/member/updateMemberBinding")
     public R updateMemberBinding(@RequestBody AppMemberBindingDto appMemberBindingDto);
 
+    /**
+     * 更新会员商品类型
+     * @param appMemberGoodsTypeDto
+     * @return
+     */
     @PostMapping("/member/updateMemberGoodsType")
     public R updateMemberGoodsType(@RequestBody AppMemberGoodsTypeDto appMemberGoodsTypeDto);
 
+    /**
+     * 通过手机号获取会员
+     * @param mobile
+     * @return
+     */
+    @PostMapping("/member/getMemberByMobile")
+    public R<Member> getMemberByMobile(@RequestBody String mobile);
+
+    /**
+     * 订单创建新用户
+     * @param member
+     * @return
+     */
+    @PostMapping("/member/createNewMember")
+    public R createNewMember(@RequestBody Member member);
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java
index 6ed877f..1316bfe 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java
@@ -7,6 +7,8 @@
 import com.ruoyi.system.api.domain.vo.ShopRelUserVo;
 import com.ruoyi.system.api.factory.RemoteShopFallbackFactory;
 import com.ruoyi.system.api.factory.RemoteUserFallbackFactory;
+import com.ruoyi.system.api.model.QwH5LoginVo;
+import com.ruoyi.system.api.model.QwUserDetailDto;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -20,4 +22,12 @@
 
     @PostMapping("/shop/getShopByUserId")
     public R<ShopRelUserVo> getShopByUserId(@RequestBody Long userId);
+
+    /**
+     * 企业微信H5登录
+     * @param qwUserDetail
+     * @return
+     */
+    @PostMapping("/shop/qwH5Login")
+    public R<QwH5LoginVo> qwH5Login(@RequestBody QwUserDetailDto qwUserDetail);
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java
index 217921d..a503218 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java
@@ -44,13 +44,7 @@
     public R<Boolean> registerUserInfo(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
 
-    /**
-     * 企业微信H5登录
-     * @param qwUserDetail
-     * @return
-     */
-    @PostMapping("/user/qwH5Login")
-    public R<QwH5LoginVo> qwH5Login(@RequestBody QwUserDetailDto qwUserDetail);
+
 
 
     /**
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java
index b7e86ae..2e8e379 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java
@@ -304,7 +304,7 @@
         String[] s1 = ipWildCard.split("\\.");
         String[] s2 = ip.split("\\.");
         boolean isMatchedSeg = true;
-        for (int i = 0; i < s1.length && !s1[i].equals("*"); i++)
+        for (int i = 0; i < s1.length && !"*".equals(s1[i]); i++)
         {
             if (!s1[i].equals(s2[i]))
             {
diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
index 3b17bbd..3c38eb0 100644
--- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
+++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
@@ -37,7 +37,7 @@
 
     protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND;
 
-    private final static long expireTime = CacheConstants.EXPIRATION;
+    private final static long EXPIRE_TIME = CacheConstants.EXPIRATION;
 
     private final static String ACCESS_TOKEN = CacheConstants.LOGIN_TOKEN_KEY;
 
@@ -66,7 +66,7 @@
         // 接口返回信息
         Map<String, Object> rspMap = new HashMap<String, Object>();
         rspMap.put("access_token", JwtUtils.createToken(claimsMap));
-        rspMap.put("expires_in", expireTime);
+        rspMap.put("expires_in", EXPIRE_TIME);
         return rspMap;
     }
 
@@ -96,7 +96,7 @@
             claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
             claimsMap.put(SecurityConstants.LOGIN_FROM, Constants.FROM_MINI_APP);
             rspMap.put("access_token", JwtUtils.createToken(claimsMap));
-            rspMap.put("expires_in", expireTime);
+            rspMap.put("expires_in", EXPIRE_TIME);
         }
         if(StringUtils.isNotBlank(appMiniLoginVo.getMobile())){
             rspMap.put("mobile",appMiniLoginVo.getMobile() );
@@ -132,7 +132,7 @@
         OauthUserVo oauthUserVo = new OauthUserVo();
         oauthUserVo.setShopId(qwH5LoginVo.getShopId());
         oauthUserVo.setToken(JwtUtils.createToken(claimsMap));
-        oauthUserVo.setExpiresIn(expireTime);
+        oauthUserVo.setExpiresIn(EXPIRE_TIME);
         oauthUserVo.setUserid(qwH5LoginVo.getUserid());
         oauthUserVo.setMobile(qwH5LoginVo.getMobile());
         return oauthUserVo;
@@ -229,10 +229,10 @@
     public void refreshToken(LoginUser loginUser)
     {
         loginUser.setLoginTime(System.currentTimeMillis());
-        loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE);
+        loginUser.setExpireTime(loginUser.getLoginTime() + EXPIRE_TIME * MILLIS_MINUTE);
         // 根据uuid将loginUser缓存
         String userKey = getTokenKey(loginUser.getToken());
-        redisService.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES);
+        redisService.setCacheObject(userKey, loginUser, EXPIRE_TIME, TimeUnit.MINUTES);
     }
 
     private String getTokenKey(String token)
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
index 919be37..d4652e2 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java
@@ -138,7 +138,7 @@
             appGoodsInfoVo.setSalesNum(activityGoods.getSalesNumber());
             appGoodsInfoVo.setActivityDeadline(activityGoods.getActivityDeadline());
             //售罄判断
-            if(activityGoods.getActivityNumber()==activityGoods.getSalesNumber()){
+            if(activityGoods.getActivityNumber().equals(activityGoods.getSalesNumber())){
                 appGoodsInfoVo.setSellOutFlag(1);
             }else{
                 appGoodsInfoVo.setSellOutFlag(0);
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/util/CodeFactoryUtil.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/util/CodeFactoryUtil.java
index b979a0a..e85398a 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/util/CodeFactoryUtil.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/util/CodeFactoryUtil.java
@@ -58,7 +58,7 @@
      * 用户id和随机数总长度
      */
 
-    private static final int maxLength = 4;
+    private static final int MAX_LENGTH = 4;
 
     /**
      * 更具id进行加密+加随机数组成固定长度编码
@@ -78,7 +78,7 @@
      */
     public static String getShopNo(Long shopId) {
         String prefix = SHOP_PREFIX;
-        return toFillZeroCode(prefix, maxLength, shopId);
+        return toFillZeroCode(prefix, MAX_LENGTH, shopId);
     }
 
     public static String getShopOrderNo() {
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
index bb5a959..e8a8451 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
@@ -95,10 +95,39 @@
         return R.ok();
     }
 
+    /**
+     * 更新会员商品类型
+     * @param appMemberGoodsTypeDto
+     * @return
+     */
     @PostMapping("/updateMemberGoodsType")
     public R updateMemberGoodsType(@RequestBody AppMemberGoodsTypeDto appMemberGoodsTypeDto)
     {
         memberService.updateMemberGoodsType(appMemberGoodsTypeDto);
         return R.ok();
     }
+
+    /**
+     * 通过手机号获取会员
+     * @param mobile
+     * @return
+     */
+    @PostMapping("/getMemberByMobile")
+    public R<Member> getMemberByMobile(@RequestBody String mobile)
+    {
+        Member member = memberService.getByMobile(mobile);
+        return R.ok(member);
+    }
+
+    /**
+     * 订单创建新用户
+     * @param member
+     * @return
+     */
+    @PostMapping("/createNewMember")
+    public R createNewMember(@RequestBody Member member)
+    {
+        memberService.createNewMember(member);
+        return R.ok();
+    }
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberTotal.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberTotal.java
index 3501a19..bdee645 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberTotal.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberTotal.java
@@ -102,7 +102,7 @@
      * 总活动次数
      */
     @TableField("total_activity_count")
-    private String totalActivityCount;
+    private Integer totalActivityCount;
     /**
      * 最后活动时间
      */
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..b5c088f 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,4 +1,5 @@
 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;
@@ -14,10 +15,12 @@
 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.HttpUtils;
 import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto;
 import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo;
@@ -46,6 +49,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 +96,9 @@
 
     @Resource
     private RedisService redisService;
+
+    @Resource
+    private MemberTotalService memberTotalService;
 
     /**
      * @description: TODO
@@ -180,7 +187,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");
@@ -215,10 +222,13 @@
             member.setUserId(sysUser.getUserId());
             member.setDelFlag(0);
             member.setNickName("鸿瑞堂用户");
+            member.setRealName("鸿瑞堂用户");
             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();
         }
@@ -493,6 +503,7 @@
             member.setCreateTime(new Date());
             log.info("member-----------------"+member.toString());
             this.saveOrUpdate(member);
+            initMemberTotal(memberId);
         }
 
 
@@ -570,4 +581,45 @@
             }
         }
     }
+
+
+    /**
+     * 订单创建新用户
+     * @param member
+     */
+    @Override
+    public void createNewMember(Member member){
+        member.setDelFlag(0);
+        member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
+        member.setBindingFlag(0);
+        member.setCreateTime(new Date());
+        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);
+    }
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
index af2881a..1c4091d 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
@@ -32,6 +32,7 @@
     * @version 1.0
     */
     Member getByUserId(Long userId);
+
     /**
      * 小程序登录
      * @param appMiniLoginDto
@@ -122,7 +123,7 @@
     void editMerMember(MerMemberEditDto merMemberEditDto);
 
     /**
-     *
+     * 通过手机号获取
      * @param mobile
      * @return
      */
@@ -133,4 +134,10 @@
      * @param appMemberGoodsTypeDto
      */
     void updateMemberGoodsType(AppMemberGoodsTypeDto appMemberGoodsTypeDto);
+
+    /**
+     * 订单创建新用户
+     * @param member
+     */
+    void createNewMember(Member member);
 }
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/CodeFactoryUtil.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/CodeFactoryUtil.java
index e844e40..aef93a6 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/CodeFactoryUtil.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/CodeFactoryUtil.java
@@ -41,7 +41,7 @@
      * 用户id和随机数总长度
      */
 
-    private static final int maxLength = 4;
+    private static final int MAX_LENGTH = 4;
 
     /**
      * 更具id进行加密+加随机数组成固定长度编码
@@ -61,7 +61,7 @@
      */
     public static String getShopNo(Long shopId) {
         String prefix = SHOP_PREFIX;
-        return toFillZeroCode(prefix, maxLength, shopId);
+        return toFillZeroCode(prefix, MAX_LENGTH, shopId);
     }
 
     /**
@@ -71,7 +71,7 @@
      */
     public static String getMemberNo(Long userId) {
         String prefix = APP_USER_PREFIX;
-        return toFillZeroCode(prefix, maxLength, userId);
+        return toFillZeroCode(prefix, MAX_LENGTH, userId);
     }
 
     /**
@@ -84,7 +84,7 @@
 
         String prefix = DateUtils.parseDateToStr( "yyyyMMddHHmmss",new Date());
         prefix = ORDER_PREFIX + prefix;
-        return toFillZeroCode(prefix, maxLength, userId);
+        return toFillZeroCode(prefix, MAX_LENGTH, userId);
     }
 
 
diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/HttpUtils.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/HttpUtils.java
index 4ad5625..84144c1 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/HttpUtils.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/util/HttpUtils.java
@@ -312,12 +312,15 @@
         try {
             SSLContext ctx = SSLContext.getInstance("TLS");
             X509TrustManager tm = new X509TrustManager() {
+                @Override
                 public X509Certificate[] getAcceptedIssuers() {
                     return null;
                 }
+                @Override
                 public void checkClientTrusted(X509Certificate[] xcs, String str) {
 
                 }
+                @Override
                 public void checkServerTrusted(X509Certificate[] xcs, String str) {
 
                 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
index b9de969..003aa9c 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/ConsumerGoodsServiceImpl.java
@@ -112,7 +112,7 @@
                 }
                 consumerGoods.setUsedNum(usedNum+useNum);
                 consumerGoods.setUseTime(new Date());
-                if(consumerGoods.getUsedNum()==serviceNum){
+                if(consumerGoods.getUsedNum().equals(serviceNum)){
                     consumerGoods.setServiceStatus(2);
                     consumerGoods.setCompleteTime(new Date());
                 }
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index 8dba62e..da81acf 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -8,6 +8,7 @@
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
+import com.ruoyi.common.core.utils.uuid.UUID;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.order.domain.dto.*;
 import com.ruoyi.order.domain.pojo.order.ConsumerGoods;
@@ -652,28 +653,38 @@
     @Override
     public void createNewOrder(MerNewOrderDto merNewOrderDto){
         Long userId = merNewOrderDto.getBuyUserId();
+        //如果非指定用户判断是否需要通过手机号创建新用户
         if(userId==null){
             String name = merNewOrderDto.getName();
             String mobile = merNewOrderDto.getMobile();
-            SysUser sysUser = remoteUserService.getSysUserByMobile(mobile).getData();
-            if(sysUser==null){
+            Member member = remoteMemberService.getMemberByMobile(mobile).getData();
+            SysUser sysUser;
+            if(member!=null){
+                sysUser = remoteUserService.getSysUser(member.getUserId()).getData();
+            }else{
                 //创建新用户
                 String memberId = IdUtils.simpleUUID();
                 sysUser = new SysUser();
-                sysUser.setUserName(mobile);
+                sysUser.setUserName(memberId);
                 sysUser.setUserType("03");
                 sysUser.setNickName(name);
+                sysUser.setPhonenumber(mobile);
                 sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
                 String password = "hongruitang";
                 sysUser.setPassword(SecurityUtils.encryptPassword(password));
                 log.debug("sysUser"+sysUser.toString());
                 sysUser = remoteUserService.registerUser(sysUser).getData();
-                userId = sysUser.getUserId();
-            }else{
-                userId = sysUser.getUserId();
+                member = new Member();
+                member.setMemberId(memberId);
+                member.setUserId(sysUser.getUserId());
+                member.setMobile(mobile);
+                member.setRealName(name);
+                member.setNickName(name);
+                remoteMemberService.createNewMember(member);
             }
+            userId = sysUser.getUserId();
         }
-        //创建订单
+        //创建订单计算
         List<AppBuyGoodsDto> appBuyGoodsDtoList = merNewOrderDto.getAppBuyGoodsDtoList();
         String goodsId;
         Integer buyNum;
@@ -724,6 +735,7 @@
             buyNumBig = BigDecimal.valueOf(buyNum);
             goodsTotalPrice = goodsPrice.multiply(buyNumBig);
             goodsRealPrice = goodsTotalPrice;
+            //优惠券计算
             if(memberCouponId!=null){
                 appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId);
                 if(null != appMemberCouponVo && (StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId))){
@@ -773,6 +785,7 @@
             orderGoods.setGoodsType(goods.getGoodsType());
             orderGoodsService.save(orderGoods);
         }
+        //创建订单
         Order order = new Order();
         order.setOrderId(orderId);
         order.setDelFlag(0);
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/CodeFactoryUtil.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/CodeFactoryUtil.java
index 5d64ef4..0b1f251 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/CodeFactoryUtil.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/util/CodeFactoryUtil.java
@@ -58,7 +58,7 @@
      * 用户id和随机数总长度
      */
 
-    private static final int maxLength = 4;
+    private static final int MAX_LENGTH = 4;
 
     /**
      * 更具id进行加密+加随机数组成固定长度编码
@@ -78,7 +78,7 @@
      */
     public static String getShopNo(Long shopId) {
         String prefix = SHOP_PREFIX;
-        return toFillZeroCode(prefix, maxLength, shopId);
+        return toFillZeroCode(prefix, MAX_LENGTH, shopId);
     }
 
     public static String getShopOrderNo() {
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
index b266dd7..b49b87f 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
@@ -4,11 +4,17 @@
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.security.annotation.InnerAuth;
 import com.ruoyi.shop.domain.pojo.shop.ShopRelUser;
+import com.ruoyi.shop.domain.pojo.shop.ShopStaff;
 import com.ruoyi.shop.service.shop.ShopRelUserService;
 import com.ruoyi.shop.service.shop.ShopService;
+import com.ruoyi.shop.service.shop.ShopStaffService;
 import com.ruoyi.system.api.domain.poji.activity.ActivityGoods;
 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.ShopRelUserVo;
+import com.ruoyi.system.api.model.QwH5LoginVo;
+import com.ruoyi.system.api.model.QwUserDetailDto;
+import com.ruoyi.system.api.service.RemoteUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -32,6 +38,32 @@
     @Resource
     private ShopRelUserService shopRelUserService;
 
+    @Resource
+    private ShopStaffService shopStaffService;
+
+    @Resource
+    private RemoteUserService remoteUserService;
+
+    /**
+     * 企业微信H5登录
+     * @param qwUserDetail
+     * @return
+     */
+    @PostMapping("/qwH5Login")
+    public R<QwH5LoginVo> qwH5Login(@RequestBody QwUserDetailDto qwUserDetail)
+    {
+        String mobile = qwUserDetail.getMobile();
+        ShopStaff shopStaff = shopStaffService.getByMobile(mobile);
+        Long userId = shopStaff.getUserId();
+        SysUser sysUser = remoteUserService.getSysUser(userId).getData();
+        Optional.ofNullable(sysUser).orElseThrow(() -> new ServiceException("登录失败,未查询到用户"));
+        // 构造登录返回信息
+        QwH5LoginVo qwH5LoginVo = new QwH5LoginVo();
+        qwH5LoginVo.setUserid(qwUserDetail.getUserid());
+        qwH5LoginVo.setMobile(qwUserDetail.getMobile());
+        qwH5LoginVo.setSysUser(sysUser);
+        return R.ok(qwH5LoginVo);
+    }
 
     @PostMapping("/getShop")
     public R<Shop> getShop(@RequestBody Long shopId)
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java
index 9a791ff..373be58 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java
@@ -47,6 +47,18 @@
         return this.getOne(queryWrapper,false);
     }
 
+    /**
+     * 通过手机号获取商户员工
+     * @param mobile
+     * @return
+     */
+    @Override
+    public ShopStaff getByMobile(String mobile){
+        LambdaQueryWrapper<ShopStaff> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(ShopStaff::getDelFlag, 0).eq(ShopStaff::getStaffMobile, mobile);
+        return this.getOne(queryWrapper,false);
+    }
+
 
     /**
      * 获取商户员工信息
@@ -91,6 +103,8 @@
             case 4:
                 shopStaff.setStaffBirthday(merEditUserDto.getEditValue());
                 break;
+            default:
+                break;
         }
         this.saveOrUpdate(shopStaff);
     }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java
index 1e79027..85dfd7a 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java
@@ -23,6 +23,13 @@
     ShopStaff getByUserId(Long userId);
 
     /**
+     * 通过手机号获取商户员工
+     * @param mobile
+     * @return
+     */
+    ShopStaff getByMobile(String mobile);
+
+    /**
      * 获取商户员工信息
      * @param userId
      * @return
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/CodeFactoryUtil.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/CodeFactoryUtil.java
index a08fa6d..5250452 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/CodeFactoryUtil.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/util/CodeFactoryUtil.java
@@ -41,7 +41,7 @@
      * 用户id和随机数总长度
      */
 
-    private static final int maxLength = 4;
+    private static final int MAX_LENGTH = 4;
 
     /**
      * 更具id进行加密+加随机数组成固定长度编码
@@ -61,7 +61,7 @@
      */
     public static String getShopNo(Long shopId) {
         String prefix = SHOP_PREFIX;
-        return toFillZeroCode(prefix, maxLength, shopId);
+        return toFillZeroCode(prefix, MAX_LENGTH, shopId);
     }
 
     /**
@@ -71,7 +71,7 @@
      */
     public static String getMemberNo(Long userId) {
         String prefix = APP_USER_PREFIX;
-        return toFillZeroCode(prefix, maxLength, userId);
+        return toFillZeroCode(prefix, MAX_LENGTH, userId);
     }
 
     /**
@@ -84,7 +84,7 @@
 
         String prefix = DateUtils.parseDateToStr( "yyyyMMddHHmmss",new Date());
         prefix = ORDER_PREFIX + prefix;
-        return toFillZeroCode(prefix, maxLength, userId);
+        return toFillZeroCode(prefix, MAX_LENGTH, userId);
     }
 
 
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
index 5e93462..dd8f3a1 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
@@ -147,25 +147,7 @@
         return R.ok(userService.registerUser(sysUser)!=null);
     }
 
-    /**
-     * 企业微信H5登录
-     * @param qwUserDetail
-     * @return
-     */
-    @PostMapping("/qwH5Login")
-    public R<QwH5LoginVo> qwH5Login(@RequestBody QwUserDetailDto qwUserDetail)
-    {
-        String mobile = qwUserDetail.getMobile();
-        SysUser sysUser = userService.selectUserByPhoneNumber(mobile,"01");
-        Optional.ofNullable(sysUser).orElseThrow(() -> new ServiceException("登录失败,未查询到用户"));
 
-        // 构造登录返回信息
-        QwH5LoginVo qwH5LoginVo = new QwH5LoginVo();
-        qwH5LoginVo.setUserid(qwUserDetail.getUserid());
-        qwH5LoginVo.setMobile(qwUserDetail.getMobile());
-        qwH5LoginVo.setSysUser(sysUser);
-        return R.ok(qwH5LoginVo);
-    }
 
 
     /**
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/util/CodeFactoryUtil.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/util/CodeFactoryUtil.java
index a8fd244..196a2ef 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/util/CodeFactoryUtil.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/util/CodeFactoryUtil.java
@@ -41,7 +41,7 @@
      * 用户id和随机数总长度
      */
 
-    private static final int maxLength = 4;
+    private static final int MAX_LENGTH = 4;
 
     /**
      * 更具id进行加密+加随机数组成固定长度编码
@@ -61,7 +61,7 @@
      */
     public static String getShopNo(Long shopId) {
         String prefix = SHOP_PREFIX;
-        return toFillZeroCode(prefix, maxLength, shopId);
+        return toFillZeroCode(prefix, MAX_LENGTH, shopId);
     }
 
     /**
@@ -71,7 +71,7 @@
      */
     public static String getMemberNo(Long userId) {
         String prefix = APP_USER_PREFIX;
-        return toFillZeroCode(prefix, maxLength, userId);
+        return toFillZeroCode(prefix, MAX_LENGTH, userId);
     }
 
     /**
@@ -84,7 +84,7 @@
 
         String prefix = DateUtils.parseDateToStr( "yyyyMMddHHmmss",new Date());
         prefix = ORDER_PREFIX + prefix;
-        return toFillZeroCode(prefix, maxLength, userId);
+        return toFillZeroCode(prefix, MAX_LENGTH, userId);
     }
 
 

--
Gitblit v1.7.1