!121 2022-1-27 Carl

Merge pull request !121 from Admin/sit-Carl-V3
This commit is contained in:
Admin 2022-01-27 08:55:13 +00:00 committed by Gitee
commit c8cfdcb1c9
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
4 changed files with 43 additions and 6 deletions

View File

@ -5,7 +5,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import net.lab1024.smartadmin.common.anno.OperateLog;
import net.lab1024.smartadmin.common.constant.ResponseCodeConst;
import net.lab1024.smartadmin.common.domain.ResponseDTO;
import net.lab1024.smartadmin.common.heartbeat.StringUtil;
import net.lab1024.smartadmin.constant.SwaggerTagConst;

View File

@ -3,6 +3,7 @@ package net.lab1024.smartadmin.module.system.royalcanin.good;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.internal.util.AlipaySignature;
import com.beust.jcommander.Parameter;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import net.lab1024.smartadmin.common.anno.OperateLog;
@ -23,18 +24,22 @@ import net.lab1024.smartadmin.module.system.royalcanin.good.service.CartService;
import net.lab1024.smartadmin.module.system.royalcanin.good.service.OrderService;
import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.OrderDatilListEntity;
import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.QueryEntity;
import net.lab1024.smartadmin.module.system.wxpay.MyConfig;
import net.lab1024.smartadmin.module.system.wxpay.WxpayService;
import net.lab1024.smartadmin.module.system.wxpay.wxPayModel.WxPayEntity;
import net.lab1024.smartadmin.util.GenerateSequenceUtil;
import net.lab1024.smartadmin.util.MapRemoveNullUtil;
import net.lab1024.smartadmin.util.SmartHttpUtil;
import net.sf.json.JSONArray;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URLEncodedUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.*;
@Api(tags = {SwaggerTagConst.Admin.MANAGER_MALL_API})
@ -129,7 +134,8 @@ public class OrderController {
Map<String, String> returnMap = new HashMap<>();
returnMap.put("orderNumber",ordersEntity.getOrderNo());
returnMap.put("orderAmount",ordersEntity.getOrderAmount());
return ResponseDTO.succData(returnMap,wxpayService.generateQRCode(wxPayEntity));
// return ResponseDTO.succData(returnMap,wxpayService.generateQRCode(wxPayEntity));
return ResponseDTO.succData(returnMap,wxpayService.testGenerateQRCode(wxPayEntity));
}
return ResponseDTO.wrap(OrderResponseCodeConst.GENERATE_ORDER_FAIL);
}
@ -198,7 +204,7 @@ public class OrderController {
ordersEntity.setOrderNo(GenerateSequenceUtil.generateSequenceNo());
ordersEntity.setOrderStatus("0");
ordersEntity.setBasePoint(basePoint);
ordersEntity.setPayType("3");
if(orderService.generateOrder(ordersEntity,orderDatilListJson) == 1){
wxPayEntity.setProduct_id(ordersEntity.getProductCode());
@ -236,6 +242,15 @@ public class OrderController {
return ResponseDTO.wrap(OrderResponseCodeConst.WITHOUT_ORDER);
}
}
@ApiOperation(value = "重定向", notes = "重定向")
@PostMapping("royalcanin/redirectUrlWXH5")
public void redirectUrl(HttpServletRequest request, HttpServletResponse response,@RequestBody String url) throws IOException {
response.addHeader("referer", MyConfig.NOTIFY_URL_H5);
JSONObject jonUrl = JSONObject.parseObject(url);
response.sendRedirect(jonUrl.getString("url"));
}
@ApiOperation(value = "重新支付H5", notes = "重新支付H5")
@PostMapping("royalcanin/repayOrderWXH5")

View File

@ -13,4 +13,8 @@ public class QueryEntity {
private String phoneNumber;
private String page;
private String rows;
}

View File

@ -1,7 +1,6 @@
package net.lab1024.smartadmin.module.system.wxpay;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.oss.internal.SignUtils;
import net.lab1024.smartadmin.common.heartbeat.StringUtil;
import net.lab1024.smartadmin.module.system.royalcanin.MemberAccountService;
import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderEntity;
@ -10,7 +9,6 @@ import net.lab1024.smartadmin.module.system.royalcanin.good.service.OrderService
import net.lab1024.smartadmin.module.system.royalcanin.memberAccount.MemberAccountChangeEntity;
import net.lab1024.smartadmin.module.system.royalcanin.notify.model.NotifyEntity;
import net.lab1024.smartadmin.module.system.royalcanin.notify.service.NotifyService;
import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.QueryEntity;
import net.lab1024.smartadmin.module.system.wxpay.sdk.WXPay;
import net.lab1024.smartadmin.module.system.wxpay.sdk.WXPayUtil;
import net.lab1024.smartadmin.module.system.wxpay.wxPayModel.WxPayEntity;
@ -50,6 +48,27 @@ public class WxpayService {
String url = "https://miniapp-test.royalcanin.com.cn/rcmini/h5/";
private String urlNative = "https://api.mch.weixin.qq.com/v3/pay/transactions/native";
public String testGenerateQRCode(WxPayEntity wxPayEntity)throws Exception{
String Authorization = "WECHATPAY2-SHA256-RSA2048";
long timestamp = System.currentTimeMillis();
SortedMap<String,String> data = new TreeMap<>();
SortedMap<String, Integer> amount = new TreeMap<>();
amount.put("total",Integer.parseInt(getMoney(wxPayEntity.getTotal_fee())));
data.put("out_trade_no",wxPayEntity.getOut_trade_no());
data.put("notify_url",config.notify_url);
data.put("description","皇家宠物食品官方商城");
data.put("appid",config.getAppID());
data.put("mchid",config.getMchID());
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(data);
jsonObject.put("amount",amount);
SortedMap<String ,String>hearder = new TreeMap<>();
hearder.put("Accept","application/json");
hearder.put("Authorization",Authorization +" mchid="+config.getMchID() +",nonce_str=" + WXPayUtil.generateNonceStr() + ",timestamp=" + timestamp + ",signature=" + WXPayUtil.generateSignature(data, config.getKey()) + ",serial_no=" + config.getKey());
String sb = SmartHttpUtil.httpPostRaw(urlNative,jsonObject.toString(),hearder,"utf-8");
return sb;
}
@ -191,7 +210,7 @@ public class WxpayService {
if (returnCode.equals("SUCCESS")) {
returnMap.put("ok", "200");
//拼接返回跳转地址
String url= URLEncoder.encode(config.NOTIFY_URL_H5+"/myorder/usertion?orderNumber="+wxPayEntity.getOut_trade_no() + "&tradeType=MWEB","utf-8");
String url= config.NOTIFY_URL_H5+"/myorder/usertion?orderNumber="+wxPayEntity.getOut_trade_no() + "&tradeType=MWEB";
returnMap.put("url", response.get("mweb_url")+"&redirect_url="+url);
return response.get("mweb_url") == null ? response.get("err_code_des"):returnMap.get("url");
} else {