|
|
@@ -807,6 +807,7 @@ public class UnionFrictionlessPayMainService extends SuperPayService {
|
|
|
drawRecord.setResponse(requestAPI);
|
|
|
if (requestAPI.isFailed()) {
|
|
|
drawRecord.setWithDrawState(WithDrawState.Fail);
|
|
|
+ drawRecord.setStatus("-1");
|
|
|
drawRecord.setDesc(String.format("提现失败,%s", requestAPI.getMsg()));
|
|
|
shopWithDrawRecordDao.save(drawRecord);
|
|
|
return ResultContent.buildFail(requestAPI.getMsg());
|
|
|
@@ -820,14 +821,14 @@ public class UnionFrictionlessPayMainService extends SuperPayService {
|
|
|
/**
|
|
|
* 提现状态查询
|
|
|
*
|
|
|
- * @param param
|
|
|
+ * @param drawRecord
|
|
|
* @return
|
|
|
*/
|
|
|
- public ResultContent<QueryOrderStatusResponse> queryOrderStatus(WithQueryParam param) {
|
|
|
- ShopWithDrawRecord drawRecord = shopWithDrawRecordDao.findTopBySysOrderId(param.getSysOrderId());
|
|
|
+ public ResultContent<QueryOrderStatusResponse> queryOrderStatus(ShopWithDrawRecord drawRecord) {
|
|
|
if (ObjectUtils.isEmpty(drawRecord)) {
|
|
|
- return ResultContent.buildFail(String.format("订单号不存在:%s", param.getSysOrderId()));
|
|
|
+ return ResultContent.buildFail(String.format("订单不存在"));
|
|
|
}
|
|
|
+
|
|
|
QueryOrderStatusParam requestParam = new QueryOrderStatusParam();
|
|
|
requestParam.setMchntNo(drawRecord.getMchntNo());
|
|
|
requestParam.setSysOrderId(drawRecord.getSysOrderId());
|
|
|
@@ -840,7 +841,6 @@ public class UnionFrictionlessPayMainService extends SuperPayService {
|
|
|
return ResultContent.buildFail(requestAPI.getMsg());
|
|
|
}
|
|
|
QueryOrderStatusResponse response = (QueryOrderStatusResponse) requestAPI;
|
|
|
-
|
|
|
return ResultContent.buildSuccess(response);
|
|
|
}
|
|
|
|
|
|
@@ -944,6 +944,8 @@ public class UnionFrictionlessPayMainService extends SuperPayService {
|
|
|
*/
|
|
|
public ResultContent<OpenWithdrawResponse> openWithdraw(WithDrawOpenParam param) {
|
|
|
OpenWithdrawParam requestParam = new OpenWithdrawParam();
|
|
|
+ requestParam.setSysId(withdrawConfig.getSysid());
|
|
|
+ requestParam.setMchntNo(getMchntNo(param.getShopOid()));
|
|
|
String url = payApiConfig.getUrl(UnionFrictionlessPayApiConfig.openWithdraw);
|
|
|
SuperCooperatorResponseModel requestAPI = unionRequestService.requestCooperatorAPI
|
|
|
(url, requestParam, OpenWithdrawResponse.class);
|
|
|
@@ -951,7 +953,7 @@ public class UnionFrictionlessPayMainService extends SuperPayService {
|
|
|
return ResultContent.buildFail(requestAPI.getMsg());
|
|
|
}
|
|
|
OpenWithdrawResponse response = (OpenWithdrawResponse) requestAPI;
|
|
|
- return ResultContent.buildSuccess();
|
|
|
+ return ResultContent.buildSuccess(response);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -1006,10 +1008,55 @@ public class UnionFrictionlessPayMainService extends SuperPayService {
|
|
|
});
|
|
|
JSONObject jsonObject = new JSONObject(paramMap);
|
|
|
QueryOrderStatusResponse orderStatusResponse = JSONUtil.toBean(jsonObject, QueryOrderStatusResponse.class);
|
|
|
-
|
|
|
+ ShopWithDrawRecord record = shopWithDrawRecordDao.findTopBySysOrderId(orderStatusResponse.getSysOrderId());
|
|
|
+ updateWithDrawResult(orderStatusResponse, record);
|
|
|
return ResultContent.buildSuccess();
|
|
|
}
|
|
|
|
|
|
+ public ResultContent<ShopWithDrawRecord> updateState(ShopWithDrawRecord record) {
|
|
|
+ // 查询收钱吧 提现状态
|
|
|
+ ResultContent<QueryOrderStatusResponse> resultContent = queryOrderStatus(record);
|
|
|
+ if (resultContent.isSuccess()) {
|
|
|
+ // 更加收钱吧状态更新本地记录的状态
|
|
|
+ ResultContent<ShopWithDrawRecord> resultContent1 = updateWithDrawResult(resultContent.getContent(), record);
|
|
|
+ if (resultContent1.isSuccess()) {
|
|
|
+ record = resultContent1.getContent();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ResultContent.buildSuccess(record);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 提现结果
|
|
|
+ *
|
|
|
+ * @param orderStatusResponse
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private ResultContent<ShopWithDrawRecord> updateWithDrawResult(
|
|
|
+ QueryOrderStatusResponse orderStatusResponse,
|
|
|
+ ShopWithDrawRecord record) {
|
|
|
+ log.info("提现结果 updateWithDrawResult: {}", orderStatusResponse);
|
|
|
+ if (orderStatusResponse != null && record != null) {
|
|
|
+ String status = orderStatusResponse.getStatus();
|
|
|
+ record.setStatus(status);
|
|
|
+ record.setWithResponse(orderStatusResponse);
|
|
|
+ record.setDesc(orderStatusResponse.getDesc());
|
|
|
+
|
|
|
+ WithDrawState withDrawState = WithDrawState.WithDrawing;
|
|
|
+ // 提现结果 -1:数据问题 0:处理中 1:已记账未支付;2:已支付,状态未知;3:处理成功;
|
|
|
+ // 4:支付失败;5:支付失败,余额已退回 6:已手工重新发起支付
|
|
|
+ if ("0".equals(status) || "4".equals(status) || "5".equals(status)) {
|
|
|
+ withDrawState = WithDrawState.Fail;
|
|
|
+ } else if ("3".equals(status)) {
|
|
|
+ withDrawState = WithDrawState.Success;
|
|
|
+ }
|
|
|
+ record.setWithDrawState(withDrawState);
|
|
|
+ shopWithDrawRecordDao.save(record);
|
|
|
+ }
|
|
|
+ return ResultContent.buildSuccess(record);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
//------------------------提现 end-- ------------------------
|
|
|
|
|
|
|