Browse Source

getOpenid

wujiefeng 1 năm trước cách đây
mục cha
commit
f9e191d6c1

+ 7 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/pay/balance/RechargeController.java

@@ -5,6 +5,7 @@ import com.zhongshu.card.client.model.pay.QueryRechargeParam;
 import com.zhongshu.card.client.model.pay.RechargeParam;
 import com.zhongshu.card.server.core.service.pay.BalancePayService;
 import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -46,4 +47,10 @@ public class RechargeController {
     public Object close(@RequestParam("orderNo") String orderNo){
         return balancePayService.close(orderNo);
     }
+
+    @Operation(summary = "获取openid")
+    @GetMapping(value = "getOpenid")
+    public Object getOpenid(@Parameter(name = "jscode") @RequestParam(name = "jscode") String jscode) {
+        return balancePayService.getOpenid(jscode);
+    }
 }

+ 23 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/pay/BalancePayService.java

@@ -1,7 +1,11 @@
 package com.zhongshu.card.server.core.service.pay;
 
+import cn.hutool.json.JSONUtil;
 import com.github.microservice.core.util.JsonUtil;
 import com.github.microservice.core.util.bean.BeanUtil;
+import com.github.microservice.core.util.net.apache.HttpClientUtil;
+import com.github.microservice.core.util.net.apache.HttpModel;
+import com.github.microservice.core.util.net.apache.ResponseModel;
 import com.github.microservice.pay.client.model.PayProductParameter;
 import com.github.microservice.pay.client.model.ledger.GeneralLedgerModel;
 import com.github.microservice.pay.client.model.ledger.GeneralLedgerQueryModel;
@@ -23,6 +27,7 @@ import com.zhongshu.card.client.model.pay.PayAccountParam;
 import com.zhongshu.card.client.model.pay.QueryRechargeParam;
 import com.zhongshu.card.client.model.pay.RechargeOrderModel;
 import com.zhongshu.card.client.model.pay.RechargeParam;
+import com.zhongshu.card.client.model.wechat.MiniAppUserInfoVo;
 import com.zhongshu.card.client.type.payAccount.PayAccountLevel;
 import com.zhongshu.card.client.type.payAccount.RechargeOrderStatus;
 import com.zhongshu.card.client.utils.DateUtils;
@@ -36,6 +41,9 @@ import com.zhongshu.card.server.core.service.paySetting.OrgPayAccountService;
 import com.zhongshu.card.server.core.service.paySetting.ProjectPaySettingServiceImpl;
 import com.zhongshu.card.server.core.util.BeanUtils;
 import com.zhongshu.card.server.core.util.CommonUtil;
+import com.zhongshu.card.server.core.util.wx.WechatCUtil;
+import io.netty.util.internal.StringUtil;
+import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -46,6 +54,7 @@ import java.math.BigDecimal;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 @Service
@@ -76,6 +85,9 @@ public class BalancePayService extends SuperService {
     @Autowired
     MqttServiceImpl mqttService;
 
+    @Autowired
+    WechatCUtil wechatCUtil;
+
 
     /**
      * 下单并生成调用支付参数
@@ -337,6 +349,17 @@ public class BalancePayService extends SuperService {
         return null;
     }
 
+    @SneakyThrows
+    public Object getOpenid(String jscode) {
+        MiniAppUserInfoVo miniAppUserInfo = wechatCUtil.getMiniAppUserInfo(jscode);
+        if (miniAppUserInfo == null || StringUtil.isNullOrEmpty(miniAppUserInfo.getOpenid())) {
+            log.info("无法获取用户信息");
+            return com.github.microservice.net.ResultContent.buildFail("无法获取用户信息");
+        }
+        log.info("用户openid:{}", miniAppUserInfo.getOpenid());
+        return com.github.microservice.net.ResultContent.buildContent(miniAppUserInfo);
+    }
+
     private RechargeOrderModel toModel(BalanceRechargeOrder balanceRechargeOrder) {
         RechargeOrderModel rechargeOrderModel = new RechargeOrderModel();
         if (balanceRechargeOrder != null) {