From 9d8acf51348b474de7174393e88c435f754cbd93 Mon Sep 17 00:00:00 2001 From: "yqyg16603827325@126.com" Date: Wed, 27 Oct 2021 12:14:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=9B=9E=E8=B0=83=E5=9B=9E?= =?UTF-8?q?=E6=BB=9A=E9=80=BB=E8=BE=91=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/hchbox/api/RequestCore.java | 2 +- .../impl/AccountRechargeServiceImpl.java | 40 ++++++++++--------- .../controller/PayTemplateController.java | 4 +- .../repository/master/PayOrderRepository.java | 4 +- .../hchbox/service/PayTemplateService.java | 3 +- .../service/impl/PayTemplateServiceImpl.java | 4 +- .../constant/DefaultNumberConstants.java | 5 +++ .../com/hchbox/model/entity/BasePayOrder.java | 6 ++- 8 files changed, 41 insertions(+), 27 deletions(-) diff --git a/service/trade-service-others/trade-service-others-account/src/main/java/com/hchbox/api/RequestCore.java b/service/trade-service-others/trade-service-others-account/src/main/java/com/hchbox/api/RequestCore.java index c245a43..c9fbaf1 100644 --- a/service/trade-service-others/trade-service-others-account/src/main/java/com/hchbox/api/RequestCore.java +++ b/service/trade-service-others/trade-service-others-account/src/main/java/com/hchbox/api/RequestCore.java @@ -142,7 +142,7 @@ public class RequestCore { * @return */ public JSONObject updatePayOrder(PayOrder payOrder) { - String reqUrl = url + API_PREFIX + "/pay/updateNotify" + "?" + "orderNumber=" + payOrder.getOrderNumber(); + String reqUrl = url + API_PREFIX + "/pay/updateNotify" + "?" + "orderNumber=" + payOrder.getOrderNumber() + "&orderStatus=" + payOrder.getOrderStatus(); String getResult = HttpUtil .createGet(reqUrl) .execute() diff --git a/service/trade-service-others/trade-service-others-account/src/main/java/com/hchbox/module/service/impl/AccountRechargeServiceImpl.java b/service/trade-service-others/trade-service-others-account/src/main/java/com/hchbox/module/service/impl/AccountRechargeServiceImpl.java index cb89743..635287b 100644 --- a/service/trade-service-others/trade-service-others-account/src/main/java/com/hchbox/module/service/impl/AccountRechargeServiceImpl.java +++ b/service/trade-service-others/trade-service-others-account/src/main/java/com/hchbox/module/service/impl/AccountRechargeServiceImpl.java @@ -140,46 +140,50 @@ public class AccountRechargeServiceImpl implements AccountRechargeService { order.setPayTime(DateUtil.date()); order.setStatus(DefaultNumberConstants.ONE_NUMBER); payOrderRepository.save(order); - PayOrder updatePayOrder = new PayOrder(); - updatePayOrder.setId(order.getId()); - updatePayOrder.setStatus(2); + i++; //同步数据 JSONObject jsonObject = requestCore.savePayOrder(order); - if (jsonObject.get("code").equals("200")) { + if (DefaultNumberConstants.TWO_HUNDRED == (Integer)jsonObject.get("code")) { i++; //子账号授权 JSONObject jsonObject1 = requestCore.authorizeChildrenAccount(order.getMasterUserId(), order.getNickName(), order.getTemplateId()); - if (jsonObject1.get("code").equals("200")) { + if (DefaultNumberConstants.TWO_HUNDRED == (Integer)jsonObject1.get("code")) { i++; // 修改账户信息 开通服务 JSONObject jsonObject2 = requestCore.updateSellerAccount(order); - if (!jsonObject2.get("code").equals("200")){ - requestCore.rollbackChildrenAccount(order.getMasterUserId(), order.getNickName(), order.getTemplateId()); - requestCore.updatePayOrder(order); - payOrderRepository.save(updatePayOrder); + if (DefaultNumberConstants.TWO_HUNDRED != (Integer)jsonObject2.get("code")){ + updateRollBack(order,DefaultNumberConstants.THREE_NUMBER); } } else { - requestCore.updatePayOrder(order); - payOrderRepository.save(updatePayOrder); + updateRollBack(order,DefaultNumberConstants.TWO_NUMBER); } }else { - payOrderRepository.save(updatePayOrder); + updateRollBack(order,DefaultNumberConstants.ONE_NUMBER); } } } } catch (Exception e) { - if (i == 1){ - requestCore.updatePayOrder(order); - }else if (i == 2){ - requestCore.rollbackChildrenAccount(order.getMasterUserId(), order.getNickName(), order.getTemplateId()); - requestCore.updatePayOrder(order); - } + updateRollBack(order,i); log.error("the pc response error time {}", LocalTime.now()); throw new TaoMiCommException(ResponseCode.CALLBACK_FAILED.getDesc()); } return CommonResult.successfulOperation(); } + private void updateRollBack(PayOrder payOrder,int i){ + PayOrder updatePayOrder = new PayOrder(); + updatePayOrder.setId(payOrder.getId()); + if (DefaultNumberConstants.ONE_NUMBER == i){ + updatePayOrder.setOrderStatus(DefaultNumberConstants.ONE_NUMBER); + payOrderRepository.save(updatePayOrder); + }else{ + updatePayOrder.setOrderStatus(i); + updatePayOrder.setOrderNumber(payOrder.getOrderNumber()); + requestCore.updatePayOrder(updatePayOrder); + payOrderRepository.save(updatePayOrder); + } + } + private void checkParam(HttpServletRequest request, Map params) { Map requestParams = request.getParameterMap(); if (CollectionUtils.isNotEmpty(requestParams.keySet())) { diff --git a/service/trade-service-source/trade-service-source-core/src/main/java/com/hchbox/controller/PayTemplateController.java b/service/trade-service-source/trade-service-source-core/src/main/java/com/hchbox/controller/PayTemplateController.java index e98d417..00ed0d1 100644 --- a/service/trade-service-source/trade-service-source-core/src/main/java/com/hchbox/controller/PayTemplateController.java +++ b/service/trade-service-source/trade-service-source-core/src/main/java/com/hchbox/controller/PayTemplateController.java @@ -49,8 +49,8 @@ public class PayTemplateController { @ApiOperation(value = "支付回调回滚同步数据") @GetMapping(value = "/updateNotify") - public void delPayOrder(@RequestParam("orderNumber") String orderNumber) { - payTemplateService.updatePayOrder(orderNumber); + public void delPayOrder(@RequestParam("orderNumber") String orderNumber , @RequestParam("orderStatus") Integer orderStatus) { + payTemplateService.updatePayOrder(orderNumber,orderStatus); } } diff --git a/service/trade-service-source/trade-service-source-dao/src/main/java/com/hchbox/repository/master/PayOrderRepository.java b/service/trade-service-source/trade-service-source-dao/src/main/java/com/hchbox/repository/master/PayOrderRepository.java index f8f546c..2082497 100644 --- a/service/trade-service-source/trade-service-source-dao/src/main/java/com/hchbox/repository/master/PayOrderRepository.java +++ b/service/trade-service-source/trade-service-source-dao/src/main/java/com/hchbox/repository/master/PayOrderRepository.java @@ -11,6 +11,6 @@ import org.springframework.stereotype.Repository; public interface PayOrderRepository extends JpaRepository, JpaSpecificationExecutor { @Modifying - @Query(value = "update PayOrder set status = 2 where orderNumber = ?1") - void updatePayOrder(String orderNumber); + @Query(value = "update PayOrder set orderStatus = ?2 where orderNumber = ?1") + void updatePayOrder(String orderNumber,Integer orderStatus); } diff --git a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/PayTemplateService.java b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/PayTemplateService.java index 74fb901..db97218 100644 --- a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/PayTemplateService.java +++ b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/PayTemplateService.java @@ -3,6 +3,7 @@ package com.hchbox.service; import com.hchbox.entity.master.PayOrder; import com.hchbox.entity.master.PayTemplate; import com.hchbox.model.param.CommonResult; +import org.springframework.web.bind.annotation.RequestParam; import java.util.Map; @@ -40,5 +41,5 @@ public interface PayTemplateService { * @param orderNumber * @return */ - void updatePayOrder(String orderNumber); + void updatePayOrder(String orderNumber , Integer orderStatus); } diff --git a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/PayTemplateServiceImpl.java b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/PayTemplateServiceImpl.java index c92847c..b16144a 100644 --- a/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/PayTemplateServiceImpl.java +++ b/service/trade-service-source/trade-service-source-taobao/src/main/java/com/hchbox/service/impl/PayTemplateServiceImpl.java @@ -37,7 +37,7 @@ public class PayTemplateServiceImpl implements PayTemplateService { } @Override - public void updatePayOrder(String orderNumber) { - payOrderRepository.updatePayOrder(orderNumber); + public void updatePayOrder(String orderNumber , Integer orderStatus) { + payOrderRepository.updatePayOrder(orderNumber,orderStatus); } } diff --git a/trade-common/src/main/java/com/hchbox/constant/DefaultNumberConstants.java b/trade-common/src/main/java/com/hchbox/constant/DefaultNumberConstants.java index b27ed22..dd7fd0d 100644 --- a/trade-common/src/main/java/com/hchbox/constant/DefaultNumberConstants.java +++ b/trade-common/src/main/java/com/hchbox/constant/DefaultNumberConstants.java @@ -86,6 +86,11 @@ public class DefaultNumberConstants { */ public static final int ONE_THOUSAND = 1000; + /** + * 1000 + */ + public static final int TWO_HUNDRED = 200; + /** * @ */ diff --git a/trade-common/src/main/java/com/hchbox/model/entity/BasePayOrder.java b/trade-common/src/main/java/com/hchbox/model/entity/BasePayOrder.java index bb2e205..3edd2ef 100644 --- a/trade-common/src/main/java/com/hchbox/model/entity/BasePayOrder.java +++ b/trade-common/src/main/java/com/hchbox/model/entity/BasePayOrder.java @@ -34,7 +34,7 @@ public class BasePayOrder implements Serializable { private String orderNumber; @Column(name = "status") - @ApiModelProperty(value = "订单状态") + @ApiModelProperty(value = "支付状态") private Integer status; @Column(name = "purchaser") @@ -67,4 +67,8 @@ public class BasePayOrder implements Serializable { @Column(name = "master_user_id") @ApiModelProperty(value = "主账号用户id") private Long masterUserId; + + @Column(name = "order_status") + @ApiModelProperty(value = "订单状态") + private Integer orderStatus; }