微信统一下单
This commit is contained in:
parent
33854eb36e
commit
ebbdb4ac44
@ -1,9 +1,11 @@
|
|||||||
package com.ruoyi.winery.controller.winery;
|
package com.ruoyi.winery.controller.winery;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
|
import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
|
||||||
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
|
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.WxPayRefundRequest;
|
||||||
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
|
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
|
||||||
import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
|
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.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
import com.ruoyi.winery.domain.winery.WineryOrders;
|
import com.ruoyi.winery.domain.winery.WineryOrders;
|
||||||
@ -120,25 +123,29 @@ public class WineryOrdersController extends BaseController {
|
|||||||
|
|
||||||
// 统一下单
|
// 统一下单
|
||||||
WxPayUnifiedOrderRequest request = new WxPayUnifiedOrderRequest();
|
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.setTotalFee(wineryOrders.getGoodsPrice().multiply(new BigDecimal(100)).intValue());
|
||||||
request.setBody(wineryOrders.getGoodsName());
|
request.setBody(wineryOrders.getGoodsName());
|
||||||
String outTradeNo = UUID.randomUUID().toString().replace("-", "");
|
String outTradeNo = UUID.randomUUID().toString().replace("-", "");
|
||||||
request.setOutTradeNo(outTradeNo);
|
request.setOutTradeNo(outTradeNo);
|
||||||
request.setNotifyUrl("");
|
request.setNotifyUrl("");
|
||||||
|
request.setSpbillCreateIp(req.getRemoteAddr());
|
||||||
request.setTradeType("JSAPI");
|
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<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
try {
|
try {
|
||||||
map.put("orderId", wineryOrders.getId());
|
map.put("orderId", wineryOrders.getId());
|
||||||
Objects payMsg = wxPayService.createOrder(request);
|
WxPayMpOrderResult payMsg = wxPayService.createOrder(request);
|
||||||
map.put("payMsg", payMsg);
|
map.put("payMsg", payMsg);
|
||||||
wineryOrders.setPayMsg(payMsg.toString());
|
wineryOrders.setPayMsg(((JSONObject) JSONObject.toJSON(payMsg)).toJSONString());
|
||||||
|
wineryOrders.setOutTradeNo(outTradeNo);
|
||||||
|
wineryOrders.setOrderStatus(0);
|
||||||
iWineryOrdersService.save(wineryOrders);
|
iWineryOrdersService.save(wineryOrders);
|
||||||
return success("success", map);
|
return success("success", map);
|
||||||
} catch (WxPayException e) {
|
} catch (WxPayException e) {
|
||||||
@ -188,6 +195,7 @@ public class WineryOrdersController extends BaseController {
|
|||||||
WxPayRefundResult refund = null;
|
WxPayRefundResult refund = null;
|
||||||
try {
|
try {
|
||||||
refund = wxPayService.refund(request);
|
refund = wxPayService.refund(request);
|
||||||
|
order.setRefundTime(DateUtils.getNowDate());
|
||||||
return AjaxResult.success(refund);
|
return AjaxResult.success(refund);
|
||||||
} catch (WxPayException e) {
|
} catch (WxPayException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
@ -50,7 +50,7 @@ public class WineryOrders implements Serializable {
|
|||||||
* 商品ID
|
* 商品ID
|
||||||
*/
|
*/
|
||||||
@Excel(name = "商品ID")
|
@Excel(name = "商品ID")
|
||||||
private Long goodsId;
|
private String goodsId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品简称
|
* 商品简称
|
||||||
|
@ -63,7 +63,7 @@ public class SecurityUtils {
|
|||||||
public static boolean matchesPassword(String rawPassword, String encodedPassword) {
|
public static boolean matchesPassword(String rawPassword, String encodedPassword) {
|
||||||
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
|
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
|
||||||
return passwordEncoder.matches(rawPassword, encodedPassword);
|
return passwordEncoder.matches(rawPassword, encodedPassword);
|
||||||
}o
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否为管理员
|
* 是否为管理员
|
||||||
|
Loading…
x
Reference in New Issue
Block a user