|
@@ -6,7 +6,6 @@ import com.zanxiang.common.domain.MiPayConfig;
|
|
|
import com.zanxiang.common.domain.ResultMap;
|
|
|
import com.zanxiang.common.enums.HttpStatusEnum;
|
|
|
import com.zanxiang.common.enums.StatusEnum;
|
|
|
-import com.zanxiang.common.exception.BaseException;
|
|
|
import com.zanxiang.common.exception.CustomException;
|
|
|
import com.zanxiang.common.utils.StringUtils;
|
|
|
import com.zanxiang.common.utils.URIUtil;
|
|
@@ -17,9 +16,9 @@ import com.zanxiang.sdk.domain.bo.ProductPayParamBO;
|
|
|
import com.zanxiang.sdk.domain.dto.PlatformOrderDTO;
|
|
|
import com.zanxiang.sdk.service.GamePayWayService;
|
|
|
import com.zanxiang.sdk.service.OrderService;
|
|
|
+import com.zanxiang.sdk.service.api.WxApiService;
|
|
|
import com.zanxiang.sdk.util.WxPayUtil;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.apache.logging.log4j.util.Strings;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -41,6 +40,9 @@ import java.util.Objects;
|
|
|
@Service
|
|
|
public class MiPayService extends PayBaseService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private WxApiService wxApiService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private OrderService orderService;
|
|
|
|
|
@@ -81,7 +83,8 @@ public class MiPayService extends PayBaseService {
|
|
|
}
|
|
|
//米大师支付配置
|
|
|
MiPayConfig miPayConfig = JSONObject.parseObject(one.getPayConfig(), MiPayConfig.class);
|
|
|
- String openId = this.getOpenId(code, miPayConfig.getWxAppId());
|
|
|
+ //获取用户openId
|
|
|
+ String openId = wxApiService.getAppletOpenId(code, miPayConfig.getWxAppId(), "a8df1c1146f89f06d07d1e494f845ede");
|
|
|
//获取米大师钱包余额
|
|
|
Long balance = this.midasGetBalance(openId, miPayConfig);
|
|
|
//返回参数
|
|
@@ -228,25 +231,6 @@ public class MiPayService extends PayBaseService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private String getOpenId(String code, String appId) {
|
|
|
- // 请求微信服务器,使用code获取openid
|
|
|
- Map<String, String> paramMap = new HashMap<>(4);
|
|
|
- paramMap.put("appid", appId);
|
|
|
- paramMap.put("secret", "a8df1c1146f89f06d07d1e494f845ede");
|
|
|
- paramMap.put("js_code", code);
|
|
|
- paramMap.put("grant_type", "authorization_code");
|
|
|
- // 发送请求
|
|
|
- String url = URIUtil.fillUrlParams("https://api.weixin.qq.com/sns/jscode2session", paramMap, Boolean.FALSE);
|
|
|
- String sr = restTemplate.getForObject(url, String.class);
|
|
|
- // 解析相应内容(转换成json对象)
|
|
|
- Map<String, String> userMap = JsonUtil.toMap(sr, Map.class, String.class);
|
|
|
- if (userMap == null || Strings.isBlank(userMap.get("openid"))) {
|
|
|
- throw new BaseException("小程序支付获取用户openId为空");
|
|
|
- }
|
|
|
- return userMap.get("openid");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
@Override
|
|
|
public String notify(HttpServletRequest request, HttpServletResponse response) {
|
|
|
return null;
|