微信统一下单

This commit is contained in:
kino 2021-01-16 12:29:27 +08:00
parent 33854eb36e
commit ebbdb4ac44
3 changed files with 18 additions and 10 deletions

View File

@ -1,9 +1,11 @@
package com.ruoyi.winery.controller.winery;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
@ -14,6 +16,7 @@ import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.winery.domain.winery.WineryOrders;
@ -120,25 +123,29 @@ public class WineryOrdersController extends BaseController {
// 统一下单
WxPayUnifiedOrderRequest request = new WxPayUnifiedOrderRequest();
String userName = getLoginUser().getUser().getUserName();
String openId = "";
if (userName.contains("mini-")) {
openId = userName.split("-")[1];
}
request.setOpenid(openId);
request.setTotalFee(wineryOrders.getGoodsPrice().multiply(new BigDecimal(100)).intValue());
request.setBody(wineryOrders.getGoodsName());
String outTradeNo = UUID.randomUUID().toString().replace("-", "");
request.setOutTradeNo(outTradeNo);
request.setNotifyUrl("");
request.setSpbillCreateIp(req.getRemoteAddr());
request.setTradeType("JSAPI");
String userName = getLoginUser().getUser().getUserName();
String openId = "";
if (userName.contains("mini-")) {
openId = userName.split(",")[1];
}
request.setOpenid(openId);
Map<String, Object> map = new HashMap<>();
try {
map.put("orderId", wineryOrders.getId());
Objects payMsg = wxPayService.createOrder(request);
WxPayMpOrderResult payMsg = wxPayService.createOrder(request);
map.put("payMsg", payMsg);
wineryOrders.setPayMsg(payMsg.toString());
wineryOrders.setPayMsg(((JSONObject) JSONObject.toJSON(payMsg)).toJSONString());
wineryOrders.setOutTradeNo(outTradeNo);
wineryOrders.setOrderStatus(0);
iWineryOrdersService.save(wineryOrders);
return success("success", map);
} catch (WxPayException e) {
@ -188,6 +195,7 @@ public class WineryOrdersController extends BaseController {
WxPayRefundResult refund = null;
try {
refund = wxPayService.refund(request);
order.setRefundTime(DateUtils.getNowDate());
return AjaxResult.success(refund);
} catch (WxPayException e) {
e.printStackTrace();

View File

@ -50,7 +50,7 @@ public class WineryOrders implements Serializable {
* 商品ID
*/
@Excel(name = "商品ID")
private Long goodsId;
private String goodsId;
/**
* 商品简称

View File

@ -63,7 +63,7 @@ public class SecurityUtils {
public static boolean matchesPassword(String rawPassword, String encodedPassword) {
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
return passwordEncoder.matches(rawPassword, encodedPassword);
}o
}
/**
* 是否为管理员