This commit is contained in:
kuang.yifei@iwhalecloud.com 2022-07-21 14:11:57 +08:00
commit 952839640f
4 changed files with 9 additions and 5 deletions

View File

@ -36,7 +36,6 @@ import com.ghy.worker.domain.WorkerCertification;
import com.ghy.worker.service.IWorkerCertificationService; import com.ghy.worker.service.IWorkerCertificationService;
import com.ghy.worker.service.WorkerService; import com.ghy.worker.service.WorkerService;
import com.huifu.adapay.core.exception.BaseAdaPayException; import com.huifu.adapay.core.exception.BaseAdaPayException;
import lombok.RequiredArgsConstructor;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -55,7 +54,6 @@ import java.util.List;
*/ */
@Controller @Controller
@RequestMapping("/order/master") @RequestMapping("/order/master")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class OrderMasterController extends BaseController { public class OrderMasterController extends BaseController {
private final String prefix = "order/master"; private final String prefix = "order/master";

View File

@ -3,6 +3,7 @@ package com.ghy.common.enums;
public enum AdapayOrderType { public enum AdapayOrderType {
PAY("PAY", "支付"), PAY("PAY", "支付"),
REFUND("REFUND", "退款"),
DRAW_CASH("DRAW_CASH", "提现"), DRAW_CASH("DRAW_CASH", "提现"),
PAYMENT_CONFIRM("PAYMENT_CONFIRM", "确认支付"); PAYMENT_CONFIRM("PAYMENT_CONFIRM", "确认支付");

View File

@ -78,6 +78,7 @@ public class OrderMasterServiceImpl implements OrderMasterService {
@Override @Override
public int updateOrderMaster(OrderMaster orderMaster) throws BaseAdaPayException { public int updateOrderMaster(OrderMaster orderMaster) throws BaseAdaPayException {
if (orderMaster.getOrderStatus().equals(OrderStatus.FINISH.code())) { if (orderMaster.getOrderStatus().equals(OrderStatus.FINISH.code())) {
logger.info("订单[ID={}]完成,进入确认分账", orderMaster.getId());
confirm(orderMaster.getId()); confirm(orderMaster.getId());
} }
return orderMasterMapper.updateOrderMaster(orderMaster); return orderMasterMapper.updateOrderMaster(orderMaster);
@ -137,6 +138,7 @@ public class OrderMasterServiceImpl implements OrderMasterService {
Assert.notNull(payment, "找不到支付记录"); Assert.notNull(payment, "找不到支付记录");
if (BigDecimal.ZERO.compareTo(financialMaster.getPayMoney()) < 0) { if (BigDecimal.ZERO.compareTo(financialMaster.getPayMoney()) < 0) {
logger.info("订单[code={}]支付金额<=0不需要分账", orderMaster.getCode());
// 支付金额<=0的话 不需要走下面的流程了 // 支付金额<=0的话 不需要走下面的流程了
return; return;
} }
@ -192,11 +194,13 @@ public class OrderMasterServiceImpl implements OrderMasterService {
JSONObject response = adapayService.paymentConfirm(orderMaster.getDeptId(), payment.getId(), payment.getOrderNo(), JSONObject response = adapayService.paymentConfirm(orderMaster.getDeptId(), payment.getId(), payment.getOrderNo(),
AdapayUtils.bigDecimalToString(confirmAmt), divMembers, null, null); AdapayUtils.bigDecimalToString(confirmAmt), divMembers, null, null);
logger.info("订单[code={}]分账结果: {}", orderMaster.getCode(), response.toJSONString());
boolean status = AdapayStatusEnum.succeeded.code.equals(response.getString("status")); boolean status = AdapayStatusEnum.succeeded.code.equals(response.getString("status"));
// 如果确认支付失败 这里抛出异常 // 如果确认支付失败 这里抛出异常
Assert.isTrue(status, response.getString("error_msg")); Assert.isTrue(status, response.getString("error_msg"));
// 走到这里确认支付和分账都成功了 异步进入自动提现流程 // 走到这里确认支付和分账都成功了 异步进入自动提现流程
logger.info("订单[code={}]开始自动提现", orderMaster.getCode());
autoDrawCashMembers.forEach(member -> executor.execute(() -> { autoDrawCashMembers.forEach(member -> executor.execute(() -> {
String memberId = member.getMemberId(); String memberId = member.getMemberId();
String amount = member.getAmount(); String amount = member.getAmount();

View File

@ -69,13 +69,14 @@ public class PayCallbackService implements CallBackService {
public void onResponse(JSONObject response) { public void onResponse(JSONObject response) {
// 保存一条支付记录 // 保存一条支付记录
PaymentDTO payment = response.toJavaObject(PaymentDTO.class); PaymentDTO payment = response.toJavaObject(PaymentDTO.class);
String status = payment.getStatus();
payment.setStatus("pending"); payment.setStatus("pending");
financialMasterService.insertPayment(payment); financialMasterService.insertPayment(payment);
if (AdapayStatusEnum.succeeded.code.equals(response.getString("status"))) { if (AdapayStatusEnum.succeeded.code.equals(status)) {
FinancialMaster update = new FinancialMaster(); FinancialMaster update = new FinancialMaster();
update.setOrderMasterCode(response.getString("order_no")); update.setOrderMasterCode(payment.getOrderNo());
update.setPaymentId(response.getString("id")); update.setPaymentId(payment.getId());
financialMasterService.updateFinancialMaster(update); financialMasterService.updateFinancialMaster(update);
} else { } else {
logger.warn("请求支付失败 : {}", response.toJSONString()); logger.warn("请求支付失败 : {}", response.toJSONString());