|
@@ -5,9 +5,11 @@ import com.chelvc.cloud.user.client.dto.UserDTO;
|
|
|
import com.chelvc.cloud.vehicle.client.constant.TradeConstant;
|
|
|
import com.chelvc.cloud.vehicle.client.param.OmsOrderModifyParam;
|
|
|
import com.chelvc.cloud.vehicle.client.param.OrderReturnApplyModifyParam;
|
|
|
+import com.chelvc.cloud.vehicle.server.entity.MerchantRelation;
|
|
|
import com.chelvc.cloud.vehicle.server.entity.OmsOrder;
|
|
|
import com.chelvc.cloud.vehicle.server.entity.OmsOrderItem;
|
|
|
import com.chelvc.cloud.vehicle.server.service.AssetService;
|
|
|
+import com.chelvc.cloud.vehicle.server.service.MerchantRelationService;
|
|
|
import com.chelvc.cloud.vehicle.server.service.OmsOrderRefundService;
|
|
|
import com.chelvc.cloud.vehicle.server.service.OnlinePayService;
|
|
|
import com.chelvc.framework.base.context.SessionContextHolder;
|
|
@@ -49,6 +51,7 @@ public class OnlinePayServiceImpl implements OnlinePayService {
|
|
|
private final UserClient userService;
|
|
|
private final OmsOrderRefundService omsOrderRefundService;
|
|
|
private final AssetService assetService;
|
|
|
+ private final MerchantRelationService merchantRelationService;
|
|
|
|
|
|
@Override
|
|
|
public WechatUnifiedOrder order(OmsOrder omsOrder, List<OmsOrderItem> orderItemList, OmsOrderModifyParam orderParam){
|
|
@@ -184,7 +187,6 @@ public class OnlinePayServiceImpl implements OnlinePayService {
|
|
|
QueryBuilder builder = new QueryBuilder(omsOrder.getMerchantId().toString());
|
|
|
builder.setRequestId(omsOrder.getId().toString());
|
|
|
builder.setPartnerId(TradeConstant.PARTNER_ID);
|
|
|
-
|
|
|
OnlinePayOrderExecuter executer = new OnlinePayOrderExecuter();
|
|
|
try {
|
|
|
executer.bothQuery(builder, new ResultListenerAdpater() {
|
|
@@ -226,10 +228,11 @@ public class OnlinePayServiceImpl implements OnlinePayService {
|
|
|
}
|
|
|
@Override
|
|
|
public void refund(OmsOrder omsOrder, Long refundId){
|
|
|
+ //查询首信易商户号
|
|
|
RefundBuilder builder = new RefundBuilder(TradeConstant.PARTNER_ID);
|
|
|
builder.setRequestId(String.valueOf(refundId))
|
|
|
- .setAmount(String.valueOf(omsOrder.getPayAmount()))
|
|
|
- .setOrderId(String.valueOf(omsOrder.getId()))
|
|
|
+ .setAmount(String.valueOf(omsOrder.getPayAmount().multiply(new BigDecimal("100")).longValue()))
|
|
|
+ .setOrderId(omsOrder.getOutOrderId())
|
|
|
.setNotifyUrl(TradeConstant.ORDER_REFUND_URL);
|
|
|
OnlinePayOrderExecuter executer = new OnlinePayOrderExecuter();
|
|
|
String cause = "";
|
|
@@ -239,13 +242,15 @@ public class OnlinePayServiceImpl implements OnlinePayService {
|
|
|
public void success(JSONObject jsonObject) {
|
|
|
//冻结平台金额
|
|
|
BigDecimal payAmount = omsOrder.getPayAmount();
|
|
|
- BigDecimal feeAmount = omsOrder.getFeeAmount();
|
|
|
- BigDecimal realAmount = payAmount.subtract(feeAmount);
|
|
|
- int i = assetService.frozenAmount(realAmount, 0L, 0);
|
|
|
- if(i != 1){
|
|
|
- omsOrderRefundService.updateStatus(refundId, 3, "冻结金额失败");
|
|
|
- throw new ResourceUnavailableException("退款申请失败");
|
|
|
+ //BigDecimal feeAmount = omsOrder.getFeeAmount();
|
|
|
+ //BigDecimal realAmount = payAmount.subtract(feeAmount);
|
|
|
+ int i = assetService.frozenAmount(payAmount, 0L, 0);
|
|
|
+ if(i == 1){
|
|
|
+ omsOrderRefundService.updateStatus(refundId, 1, "");
|
|
|
+ return;
|
|
|
}
|
|
|
+ omsOrderRefundService.updateStatus(refundId, 3, "冻结金额失败");
|
|
|
+ throw new ResourceUnavailableException("退款申请失败");
|
|
|
}
|
|
|
});
|
|
|
return;
|