From 00ae986ab67e60a09464683e5985794e47aa19e0 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 06 十二月 2024 10:33:27 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/qijisheng

---
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/model/Order.java                          |    6 +++++-
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java |    5 +++++
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/weChat/WeChatUtil.java           |   24 ++++++++++++++++++++++--
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java  |   13 +++++++++++++
 4 files changed, 45 insertions(+), 3 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/model/Order.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/model/Order.java
index bdbdcba..33c9844 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/model/Order.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/model/Order.java
@@ -113,7 +113,7 @@
     @TableField("point")
     private Integer point;
 
-    @ApiModelProperty(value = "1wx2积分")
+    @ApiModelProperty(value = "1微信,2账户余额,3积分")
     @TableField("pay_method")
     private Integer payMethod;
 
@@ -128,6 +128,10 @@
     @ApiModelProperty(value = "运费")
     @TableField("express_amount")
     private BigDecimal expressAmount;
+    
+    @ApiModelProperty(value = "1微信,2账户余额")
+    @TableField("express_pay_method")
+    private Integer expressPayMethod;
 
     @ApiModelProperty(value = "第三方快递信息")
     @TableField("express_json")
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
index 1a219fb..d6e9283 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
@@ -1,5 +1,7 @@
 package com.ruoyi.account.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.account.api.model.AppUserShop;
@@ -7,9 +9,11 @@
 import com.ruoyi.account.api.model.AppUser;
 import com.ruoyi.account.service.AppUserService;
 import com.ruoyi.account.service.AppUserShopService;
+import com.ruoyi.account.util.weChat.WXCore;
 import com.ruoyi.account.util.weChat.WeChatUtil;
 import com.ruoyi.account.vo.*;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.other.api.domain.Shop;
@@ -73,11 +77,19 @@
 			return R.fail(map.get("msg").toString());
 		}
 		String openid = map.get("openid").toString();
+		String sessionKey = map.get("sessionKey").toString();
 		//查询用户是否注册,没有注册则跳转到注册页面
 		AppUser appUser = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getWxOpenid, openid).ne(AppUser::getStatus, 3).eq(AppUser::getDelFlag, 0));
 		if(null == appUser){
+			String decrypt = WXCore.decrypt(appletLogin.getEncryptedData_phone(), sessionKey, appletLogin.getIv_phone());
+			if (StringUtils.isEmpty(decrypt)) {
+				return R.fail("获取手机信息失败");
+			}
+			JSONObject phone = JSON.parseObject(decrypt);
+			String purePhoneNumber = phone.getString("purePhoneNumber");
 			LoginVo loginVo = new LoginVo();
 			loginVo.setSkipPage(2);
+			loginVo.setPhone(purePhoneNumber);
 			return R.ok(loginVo);
 		}
 		//账户被冻结,给出提示
@@ -117,6 +129,7 @@
 		if(null == appUser){
 			LoginVo loginVo = new LoginVo();
 			loginVo.setSkipPage(2);
+			loginVo.setPhone(mobileLogin.getPhone());
 			return R.ok(loginVo);
 		}
 		//账户被冻结,给出提示
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/weChat/WeChatUtil.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/weChat/WeChatUtil.java
index 31b295c..34adfb8 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/weChat/WeChatUtil.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/weChat/WeChatUtil.java
@@ -5,11 +5,15 @@
 import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.redis.service.RedisService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.concurrent.TimeUnit;
 
 /**
  * 微信工具类
@@ -29,6 +33,11 @@
 
 //    @Value("${wx.appSecret}")
     private String webAppSecret;
+    
+    @Resource
+    private RedisService redisService;
+    
+    
 
 
     /**
@@ -69,13 +78,24 @@
         }
         return null;
     }
-
+    
+    
+    public String getWxAppletsAccessToken(){
+        Object wxAppletsAccessToken = redisService.getCacheObject("wxAppletsAccessToken");
+        if(null != wxAppletsAccessToken){
+            return wxAppletsAccessToken.toString();
+        }
+        String appletsAccessToken = getAppletsAccessToken();
+        redisService.setCacheObject("wxAppletsAccessToken", appletsAccessToken, 7200L, TimeUnit.SECONDS);
+        return appletsAccessToken;
+    }
+    
 
     /**
      * 获取微信小程序token
      * @return
      */
-    public String getWxAppletsAccessToken() throws Exception{
+    public String getAppletsAccessToken() {
         String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + wxAppletsAppid + "&secret=" + wxAppletsAppSecret;
         HttpRequest get = HttpUtil.createGet(url);
         HttpResponse response = get.execute();
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
index b5cf7dd..e32ad44 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
@@ -20,6 +20,7 @@
 import com.ruoyi.order.model.Order;
 import com.ruoyi.order.model.OrderGood;
 import com.ruoyi.order.model.ShoppingCart;
+import com.ruoyi.order.service.CommissionService;
 import com.ruoyi.order.service.OrderGoodService;
 import com.ruoyi.order.service.OrderService;
 import com.ruoyi.order.service.ShoppingCartService;
@@ -97,6 +98,9 @@
 	
 	@Resource
 	private BalanceChangeRecordClient balanceChangeRecordClient;
+	
+	@Resource
+	private CommissionService commissionService;
 	
 	
 	
@@ -816,6 +820,7 @@
 		order.setShopId(shoppingCartPayment.getShopId());
 		order.setDelFlag(0);
 		order.setCreateTime(LocalDateTime.now());
+		order.setExpressPayMethod(shoppingCartPayment.getFreightPaymentType());
 		
 		if(2 == shoppingCartPayment.getPaymentType()){
 			BigDecimal balance = appUser.getBalance();

--
Gitblit v1.7.1