|
@@ -62,6 +62,8 @@ import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
|
|
|
import static com.template.common.utils.StrUtils.getUUIDBits;
|
|
import static com.template.common.utils.StrUtils.getUUIDBits;
|
|
|
|
|
+import static com.wechat.pay.java.service.payments.model.Transaction.TradeStateEnum.NOTPAY;
|
|
|
|
|
+import static com.wechat.pay.java.service.payments.model.Transaction.TradeStateEnum.SUCCESS;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* <p>
|
|
* <p>
|
|
@@ -1679,10 +1681,13 @@ public class HouseOrderController implements HouseOrderAPI {
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
|
public CommonResult queryOrderById(String outTradeNo) throws Exception{
|
|
public CommonResult queryOrderById(String outTradeNo) throws Exception{
|
|
|
|
|
+ Transaction transaction= null;
|
|
|
HouseOrder one = houseOrderService.getOne(new QueryWrapper<HouseOrder>().eq("order_number",outTradeNo));
|
|
HouseOrder one = houseOrderService.getOne(new QueryWrapper<HouseOrder>().eq("order_number",outTradeNo));
|
|
|
PayRecord payRecord=payRecordService.getOne(new QueryWrapper<PayRecord>().eq("house_order_id",one.getId()));
|
|
PayRecord payRecord=payRecordService.getOne(new QueryWrapper<PayRecord>().eq("house_order_id",one.getId()));
|
|
|
if(payRecord==null||payRecord.getPayNo()==null){
|
|
if(payRecord==null||payRecord.getPayNo()==null){
|
|
|
- return CommonResult.ok("该订单尚未支付");
|
|
|
|
|
|
|
+ transaction.setTradeState(NOTPAY);
|
|
|
|
|
+ transaction.setTradeStateDesc("该订单尚未支付");
|
|
|
|
|
+ return CommonResult.ok(transaction);
|
|
|
}
|
|
}
|
|
|
QueryOrderByOutTradeNoRequest queryOrderByIdRequest = new QueryOrderByOutTradeNoRequest();
|
|
QueryOrderByOutTradeNoRequest queryOrderByIdRequest = new QueryOrderByOutTradeNoRequest();
|
|
|
// 调用request.setXxx(val)设置所需参数,具体参数可见Request定义
|
|
// 调用request.setXxx(val)设置所需参数,具体参数可见Request定义
|
|
@@ -1702,9 +1707,25 @@ public class HouseOrderController implements HouseOrderAPI {
|
|
|
.config(config)
|
|
.config(config)
|
|
|
.signType("RSA") // 不填默认为RSA
|
|
.signType("RSA") // 不填默认为RSA
|
|
|
.build();
|
|
.build();
|
|
|
- Transaction transaction= null;
|
|
|
|
|
|
|
+
|
|
|
try {
|
|
try {
|
|
|
transaction = service.queryOrderByOutTradeNo(queryOrderByIdRequest);
|
|
transaction = service.queryOrderByOutTradeNo(queryOrderByIdRequest);
|
|
|
|
|
+ switch (transaction.getTradeState()){
|
|
|
|
|
+ case SUCCESS:
|
|
|
|
|
+ payRecord.setIsSuccess(2);
|
|
|
|
|
+ payRecord.setRemark(transaction.getTradeStateDesc());
|
|
|
|
|
+ one.setOrderStatus("2");
|
|
|
|
|
+ break;
|
|
|
|
|
+ case PAYERROR:
|
|
|
|
|
+ payRecord.setRemark(transaction.getTradeStateDesc());
|
|
|
|
|
+ payRecord.setIsSuccess(3);
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ boolean a=houseOrderService.updateById(one);
|
|
|
|
|
+ boolean b=payRecordService.updateById(payRecord);
|
|
|
|
|
+ if (!a||!b){
|
|
|
|
|
+ throw new Exception("更新支付状态失败");
|
|
|
|
|
+ }
|
|
|
log.info("微信支付查询订单出参:"+transaction.toString());
|
|
log.info("微信支付查询订单出参:"+transaction.toString());
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
@@ -1791,6 +1812,27 @@ public class HouseOrderController implements HouseOrderAPI {
|
|
|
try {
|
|
try {
|
|
|
// 以支付通知回调为例,验签、解密并转换成 Transaction
|
|
// 以支付通知回调为例,验签、解密并转换成 Transaction
|
|
|
Transaction transaction = parser.parse(requestParam, Transaction.class);
|
|
Transaction transaction = parser.parse(requestParam, Transaction.class);
|
|
|
|
|
+ PayRecord payRecord=payRecordService.getOne(new QueryWrapper<PayRecord>().eq("pay_no",transaction.getOutTradeNo()));
|
|
|
|
|
+ HouseOrder one = houseOrderService.getById(payRecord.getHouseOrderId());
|
|
|
|
|
+ switch (transaction.getTradeState()){
|
|
|
|
|
+ case SUCCESS:
|
|
|
|
|
+ payRecord.setIsSuccess(2);
|
|
|
|
|
+ payRecord.setRemark(transaction.getTradeStateDesc());
|
|
|
|
|
+ one.setOrderStatus("2");
|
|
|
|
|
+ break;
|
|
|
|
|
+ case PAYERROR:
|
|
|
|
|
+ payRecord.setRemark(transaction.getTradeStateDesc());
|
|
|
|
|
+ payRecord.setIsSuccess(3);
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ payRecord.setRemark(transaction.getTradeStateDesc());
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ boolean a=houseOrderService.updateById(one);
|
|
|
|
|
+ boolean b=payRecordService.updateById(payRecord);
|
|
|
|
|
+ if (!a||!b){
|
|
|
|
|
+ throw new Exception("更新支付状态失败");
|
|
|
|
|
+ }
|
|
|
log.info("支付回调请求返回"+transaction.toString());
|
|
log.info("支付回调请求返回"+transaction.toString());
|
|
|
//回调成功业务没写
|
|
//回调成功业务没写
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
@@ -2128,7 +2170,7 @@ public class HouseOrderController implements HouseOrderAPI {
|
|
|
String refund_no = UUID.randomUUID().toString();
|
|
String refund_no = UUID.randomUUID().toString();
|
|
|
refund_no = "R" + refund_no.replace("-", "");
|
|
refund_no = "R" + refund_no.replace("-", "");
|
|
|
|
|
|
|
|
- //查看该订单是否支付过
|
|
|
|
|
|
|
+ //查看该订单是否退款过
|
|
|
LambdaQueryWrapper<RefundRecord> wrapperRr = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<RefundRecord> wrapperRr = new LambdaQueryWrapper<>();
|
|
|
wrapperRr.eq(RefundRecord::getHouseOrderId, houseOrder.getId());
|
|
wrapperRr.eq(RefundRecord::getHouseOrderId, houseOrder.getId());
|
|
|
RefundRecord refundRecord = refundRecordService.getOne(wrapperRr);
|
|
RefundRecord refundRecord = refundRecordService.getOne(wrapperRr);
|
|
@@ -2214,7 +2256,7 @@ public class HouseOrderController implements HouseOrderAPI {
|
|
|
return CommonResult.ok(h5Refund);
|
|
return CommonResult.ok(h5Refund);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ houseOrder.setOrderStatus("9");
|
|
|
houseOrderService.updateById(houseOrder);
|
|
houseOrderService.updateById(houseOrder);
|
|
|
houseNumberStateService.updateById(houseNumberState);
|
|
houseNumberStateService.updateById(houseNumberState);
|
|
|
return CommonResult.ok();
|
|
return CommonResult.ok();
|