|
|
@@ -8,6 +8,7 @@ import com.github.microservice.models.hxz.*;
|
|
|
import com.github.microservice.models.type.OrderFromType;
|
|
|
import com.github.microservice.models.type.PaymentDeviceType;
|
|
|
import com.github.microservice.models.type.PaymentType;
|
|
|
+import com.github.microservice.types.OrderModeType;
|
|
|
import com.github.microservice.types.OrderState;
|
|
|
import com.zhongshu.card.client.model.operLogs.OperationLogsAddParam;
|
|
|
import com.zhongshu.card.client.model.payment.*;
|
|
|
@@ -174,53 +175,65 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
|
|
|
expenseFlowDao.save(entity);
|
|
|
return ResultContent.buildSuccess(entity);
|
|
|
}
|
|
|
-
|
|
|
- PaymentType paymentType = entity.getPaymentType();
|
|
|
- // 调用支付中心
|
|
|
- CreateOrderParam param = new CreateOrderParam();
|
|
|
- param.setProjectOid(entity.getProjectOid());
|
|
|
- param.setUserId(entity.getUserId());
|
|
|
- param.setShopId(entity.getShopOid());
|
|
|
- param.setSchoolId(entity.getSchoolOid());
|
|
|
- param.setTotal(entity.getPayAmount());
|
|
|
- param.setOutTradeNo(entity.getPaymentNo());
|
|
|
- param.setPaymentType(paymentType);
|
|
|
- String desc = "消费";
|
|
|
- param.setDescription(desc);
|
|
|
-
|
|
|
- OperationLogsAddParam logsAddParam = initLog(entity.getUserId());
|
|
|
- logsAddParam.setTitle(desc);
|
|
|
- logsAddParam.setDataId(entity.getPaymentNo());
|
|
|
- entity.setPayStartTime(System.currentTimeMillis());
|
|
|
- ResultContent content = orderPayFeignService.createAndPay(param);
|
|
|
- if (content.isSuccess()) {
|
|
|
- // 关联参数
|
|
|
- String msg = "支付成功";
|
|
|
- entity.setPaymentStatus(msg);
|
|
|
- entity.setIsPaySuccess(Boolean.TRUE);
|
|
|
- entity.setPayRemark(msg);
|
|
|
- entity.setOrderType(OrderState.HAVE_PAID);
|
|
|
- logsAddParam.setMessageType(MessageType.Info);
|
|
|
- logsAddParam.setLevel(LogsLevel.Low);
|
|
|
- logsAddParam.setContent(msg);
|
|
|
- } else {
|
|
|
- String msg = content.getMsg();
|
|
|
- if (StringUtils.isNotEmpty(msg) && msg.contains("Connection reset")) {
|
|
|
- msg = "调用支付中心失败";
|
|
|
+ if (entity.getMode() != null) {
|
|
|
+ if (entity.getMode() == 0) {
|
|
|
+ entity.setOrderModeType(OrderModeType.Consume);
|
|
|
+ // 消费模式
|
|
|
+ PaymentType paymentType = entity.getPaymentType();
|
|
|
+ // 调用支付中心
|
|
|
+ CreateOrderParam param = new CreateOrderParam();
|
|
|
+ param.setProjectOid(entity.getProjectOid());
|
|
|
+ param.setUserId(entity.getUserId());
|
|
|
+ param.setShopId(entity.getShopOid());
|
|
|
+ param.setSchoolId(entity.getSchoolOid());
|
|
|
+ param.setTotal(entity.getPayAmount());
|
|
|
+ param.setOutTradeNo(entity.getPaymentNo());
|
|
|
+ param.setPaymentType(paymentType);
|
|
|
+ String desc = "消费";
|
|
|
+ param.setDescription(desc);
|
|
|
+
|
|
|
+ OperationLogsAddParam logsAddParam = initLog(entity.getUserId());
|
|
|
+ logsAddParam.setTitle(desc);
|
|
|
+ logsAddParam.setDataId(entity.getPaymentNo());
|
|
|
+ entity.setPayStartTime(System.currentTimeMillis());
|
|
|
+ ResultContent content = orderPayFeignService.createAndPay(param);
|
|
|
+ if (content.isSuccess()) {
|
|
|
+ // 关联参数
|
|
|
+ String msg = "支付成功";
|
|
|
+ entity.setPaymentStatus(msg);
|
|
|
+ entity.setIsPaySuccess(Boolean.TRUE);
|
|
|
+ entity.setPayRemark(msg);
|
|
|
+ entity.setOrderType(OrderState.HAVE_PAID);
|
|
|
+ logsAddParam.setMessageType(MessageType.Info);
|
|
|
+ logsAddParam.setLevel(LogsLevel.Low);
|
|
|
+ logsAddParam.setContent(msg);
|
|
|
+ } else {
|
|
|
+ String msg = content.getMsg();
|
|
|
+ if (StringUtils.isNotEmpty(msg) && msg.contains("Connection reset")) {
|
|
|
+ msg = "调用支付中心失败";
|
|
|
+ }
|
|
|
+ entity.setPaymentStatus(msg);
|
|
|
+ entity.setIsPaySuccess(Boolean.FALSE);
|
|
|
+ entity.setPayRemark(msg);
|
|
|
+ entity.setOrderType(OrderState.PAID_ERROR);
|
|
|
+ logsAddParam.setMessageType(MessageType.Warn);
|
|
|
+ logsAddParam.setLevel(LogsLevel.Low);
|
|
|
+ logsAddParam.setContent(msg);
|
|
|
+ }
|
|
|
+ operationLogsService.addLog(logsAddParam);
|
|
|
+ entity.setPayEndTime(System.currentTimeMillis());
|
|
|
+ entity.setPayMillis(entity.getPayEndTime() - entity.getPayStartTime());
|
|
|
+ expenseFlowDao.save(entity);
|
|
|
+ } else if (entity.getMode() == 2) {
|
|
|
+ // 查询余额模式
|
|
|
+ entity.setOrderModeType(OrderModeType.BalanceInquiry);
|
|
|
+ entity.setPaymentStatus("查询余额");
|
|
|
+ entity.setPayRemark("查询余额");
|
|
|
+ entity.setOrderType(OrderState.PAID_ERROR);
|
|
|
+ entity.setIsPaySuccess(Boolean.TRUE);
|
|
|
+ expenseFlowDao.save(entity);
|
|
|
}
|
|
|
- entity.setPaymentStatus(msg);
|
|
|
- entity.setIsPaySuccess(Boolean.FALSE);
|
|
|
- entity.setPayRemark(msg);
|
|
|
- entity.setOrderType(OrderState.PAID_ERROR);
|
|
|
- logsAddParam.setMessageType(MessageType.Warn);
|
|
|
- logsAddParam.setLevel(LogsLevel.Low);
|
|
|
- logsAddParam.setContent(msg);
|
|
|
- }
|
|
|
- operationLogsService.addLog(logsAddParam);
|
|
|
- entity.setPayEndTime(System.currentTimeMillis());
|
|
|
- entity.setPayMillis(entity.getPayEndTime() - entity.getPayStartTime());
|
|
|
- expenseFlowDao.save(entity);
|
|
|
-
|
|
|
+ }
|
|
|
return ResultContent.buildSuccess();
|
|
|
}
|
|
|
|
|
|
@@ -361,10 +374,11 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
|
|
|
}
|
|
|
|
|
|
ConsumTransactionsModel iotParam = (ConsumTransactionsModel) entity.getParam();
|
|
|
- if (iotParam.getMode() != 0 && iotParam.getPayType() != 0) {
|
|
|
+ if ((iotParam.getMode() != 0 || iotParam.getMode() != 2) && iotParam.getPayType() != 0) {
|
|
|
entity.setVerifyError("消费模式不支持");
|
|
|
return;
|
|
|
}
|
|
|
+ entity.setMode(iotParam.getMode());
|
|
|
}
|
|
|
|
|
|
// 验证用户信息
|
|
|
@@ -399,7 +413,7 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
|
|
|
|
|
|
// 金额判断
|
|
|
BigDecimal payAmount = entity.getPayAmount();
|
|
|
- if (CommonUtil.bigDecimalIsEmpty(payAmount)) {
|
|
|
+ if (entity.getMode() == 0 && CommonUtil.bigDecimalIsEmpty(payAmount)) {
|
|
|
entity.setVerifyError("消费金额不能为0");
|
|
|
return;
|
|
|
}
|