2023年8月18日18:05:23

master
litao 2 years ago
parent 955d91ea86
commit 3cbe44237b
  1. 20
      src/main/java/org/springblade/modules/weixin/controller/AppEbLoginController.java
  2. 6
      src/main/java/org/springblade/modules/weixin/controller/WeChatUserController.java
  3. 2
      src/main/java/org/springblade/modules/weixin/utils/WxPayUtils.java

@ -1,5 +1,7 @@
package org.springblade.modules.weixin.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import io.swagger.annotations.Api;
@ -16,7 +18,11 @@ import org.springblade.modules.weixin.entity.WeChatUser;
import org.springblade.modules.weixin.service.IWeChatUserService;
import org.springblade.modules.weixin.utils.WeChatUtil;
import org.springblade.modules.weixin.utils.WxPayUtils;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import java.util.HashMap;
import java.util.Map;
@ -90,7 +96,19 @@ public class AppEbLoginController {
@PostMapping("/createOrder")
public R createOrder(String openId) {
return R.data(WxPayUtils.createOrderJSApiV3(openId));
RestTemplate restTemplate = new RestTemplate();
String url = "https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi";
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8"));
String content = JSON.toJSONString(WxPayUtils.buildWxJsApiV3PayJson(openId, 0));
HttpEntity<String> httpEntity = new HttpEntity<>(content, headers);
// 发送post请求,并输出结果
String s = restTemplate.postForObject(url, httpEntity, String.class);
return R.data(s);
// return R.data(WxPayUtils.createOrderJSApiV3(openId));
}
}

@ -3,6 +3,7 @@ package org.springblade.modules.weixin.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
@ -33,7 +34,10 @@ public class WeChatUserController {
@PostMapping("/save")
public R save(@RequestBody WeChatUser weChatUser) {
weChatUserService.save(weChatUser);
long count = weChatUserService.count(Wrappers.<WeChatUser>lambdaQuery().eq(WeChatUser::getOpenId, weChatUser.getOpenId()));
if (count == 0L) {
weChatUserService.save(weChatUser);
}
return R.data(weChatUser);
}

@ -98,7 +98,7 @@ public class WxPayUtils {
* https://pay.weixin.qq.com/wiki/doc/apiv3_partner/open/pay/chapter2_1.shtml
*/
public static String createOrderJSApiV3(String openId) {
// payLoading();
payLoading();
//请求URL
HttpPost httpPost = new HttpPost(JSApiPayUrl);
// 请求body参数

Loading…
Cancel
Save