TRX 1 год назад
Родитель
Сommit
decb11c845

+ 17 - 7
FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/ExpenseFlowModel.java

@@ -1,9 +1,10 @@
 package com.zhongshu.card.client.model.payment;
 
+import com.github.microservice.types.OrderState;
 import com.github.microservice.types.payment.PaymentDeviceType;
+import com.github.microservice.types.payment.PaymentType;
 import com.zhongshu.card.client.model.base.SuperModel;
 import com.zhongshu.card.client.model.school.CardInfoModel;
-import com.github.microservice.types.OrderState;
 import com.zhongshu.card.client.type.RefundState;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
@@ -23,13 +24,25 @@ public class ExpenseFlowModel extends SuperModel {
     //-----------------------------订单信息 start---------------------
 
     @Schema(description = "订单的总体状态")
-    private OrderState orderType;
+    private OrderState orderState;
 
     private String orderTypeStr;
 
     public String getOrderTypeStr() {
-        if (orderType != null) {
-            return orderType.getRemark();
+        if (orderState != null) {
+            return orderState.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "支付方式")
+    private PaymentType paymentType;
+
+    private String paymentTypeStr;
+
+    public String getPaymentTypeStr() {
+        if (paymentType != null) {
+            return paymentType.getRemark();
         }
         return "";
     }
@@ -76,9 +89,6 @@ public class ExpenseFlowModel extends SuperModel {
     @Schema(description = "消费创建时间")
     private String paymentTime;
 
-    @Schema(description = "支付方式")
-    private String paymentWay;
-
     @Schema(description = "消费金额(单位:分)")
     private BigDecimal payAmount;
 

+ 28 - 29
FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/payment/ExpenseFlow.java

@@ -3,17 +3,17 @@ package com.zhongshu.card.server.core.domain.payment;
 import cn.hutool.json.JSONObject;
 import com.github.microservice.models.type.OrderFromType;
 import com.github.microservice.pay.client.model.ledger.TransactionLogModel;
-import com.github.microservice.types.payment.PaymentDeviceType;
-import com.github.microservice.types.payment.PaymentType;
 import com.github.microservice.types.OrderModeType;
 import com.github.microservice.types.OrderState;
+import com.github.microservice.types.payment.PaymentDeviceType;
+import com.github.microservice.types.payment.PaymentType;
 import com.zhongshu.card.client.model.school.AreaSimpleModel;
 import com.zhongshu.card.client.type.RefundState;
 import com.zhongshu.card.client.type.payment.SettlementState;
+import com.zhongshu.card.client.utils.DateUtils;
 import com.zhongshu.card.server.core.domain.base.SuperMain;
 import com.zhongshu.card.server.core.domain.org.UserAccount;
 import com.zhongshu.card.server.core.domain.school.CardInfo;
-import com.zhongshu.card.client.utils.DateUtils;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -28,7 +28,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 /**
- * 消费流水
+ * 消费流水 / 消费订单
  *
  * @author TRX
  * @date 2024/6/17
@@ -47,20 +47,21 @@ public class ExpenseFlow extends SuperMain {
 
     private String token;
 
+    @Indexed
     @Schema(description = "订单的总体状态")
-    private OrderState orderType;
+    private OrderState orderState;
 
-    @Schema(description = "订单类型")
+    @Schema(description = "订单创建类型, 是消费还是查询余额")
     private OrderModeType orderModeType = OrderModeType.Consume;
 
-    @Schema(description = "支付方式显示")
-    @Indexed
-    private String paymentWay;
+    @Schema(description = "消费类型,如:餐饮消费、水费、电费 等等")
+    private String payType;
 
     @Indexed
     @Schema(description = "支付方式")
     private PaymentType paymentType;
 
+    //----------------------------消费关联的用户信息 start ----------------------
     @Schema(description = "消费的用户userId")
     private String userId;
 
@@ -71,6 +72,7 @@ public class ExpenseFlow extends SuperMain {
     @DBRef(lazy = true)
     private UserAccount userAccount;
 
+    //-----------------------修复关联的设备信息 start--------------------
     @Schema(description = "消费机设备ID")
     private String deviceId;
 
@@ -83,8 +85,13 @@ public class ExpenseFlow extends SuperMain {
     @Schema(description = "订单所属的商户")
     private String shopOid;
 
-    @Schema(description = "订单所属的学校")
-    private String schoolOid;
+    //------------------------------消费关联的卡片信息 ---------------------
+
+    @Schema(description = "支付设备和方式")
+    private PaymentDeviceType paymentDeviceType;
+
+    @Schema(description = "支付来源:刷卡 二维码 刷脸")
+    private OrderFromType orderFromType;
 
     @Schema(description = "卡片的编号,也是终端刷卡的 卡号")
     private String cardNo = "";
@@ -92,21 +99,18 @@ public class ExpenseFlow extends SuperMain {
     @Schema(description = "卡片信息")
     private CardInfo cardInfo;
 
-    @Schema(description = "消费类型,如:餐饮消费")
-    private String payType;
-
     @Schema(description = "年份,如:2024")
     private Integer year;
 
     @Schema(description = "月份,如:6")
     private Integer month;
 
-    @Schema(description = "今年第几周,如:32")
-    private Integer week;
-
     @Schema(description = "当前月的第几天")
     private Integer dayOfMonth;
 
+    @Schema(description = "今年第几周,如:32")
+    private Integer week;
+
     @Schema(description = "当前年的第几天")
     private Integer dayOfYear;
 
@@ -118,11 +122,12 @@ public class ExpenseFlow extends SuperMain {
 
     public void setTimes() {
         this.year = DateUtils.getCurrentYear();
-        this.dayOfYear = DateUtils.getCurrentDayInYear();
         this.month = DateUtils.getCurrentMonthInYear();
-        this.week = DateUtils.getCurrentWeekInYear();
         this.dayOfMonth = DateUtils.getCurrentDayInMonth();
         this.hourOfDay = DateUtils.getCurrentHourOfDay();
+
+        this.dayOfYear = DateUtils.getCurrentDayInYear();
+        this.week = DateUtils.getCurrentWeekInYear();
         this.paymentTime = DateUtils.paresTime(System.currentTimeMillis(), DateUtils.patternyyyySSS);
     }
 
@@ -133,9 +138,6 @@ public class ExpenseFlow extends SuperMain {
     @Schema(description = "支付订单号")
     private String paymentNo;
 
-    @Schema(description = "支付来源:刷卡 二维码")
-    private OrderFromType orderFromType;
-
     @Schema(description = "付款码内容")
     private String qr;
 
@@ -150,12 +152,11 @@ public class ExpenseFlow extends SuperMain {
     // 交易模式(0:刷卡扣费 1:现金充值2:余额查询 3:钱包转账 4:现金退款)
     private Integer mode = 0;
 
+    //-----------------------订单创建-支付信息 start----------------------
+
     @Schema(description = "订单是否创建成功")
     private Boolean isCreateSuccess = Boolean.TRUE;
 
-    @Schema(description = "支付设备和方式")
-    private PaymentDeviceType paymentDeviceType;
-
     @Schema(description = "验证参数是否符合要求,可以发起支付")
     private Boolean verifyParamIsSuccess = Boolean.TRUE;
 
@@ -170,11 +171,9 @@ public class ExpenseFlow extends SuperMain {
     public void setVerifyError(String error) {
         verifyParamIsSuccess = Boolean.FALSE;
         verifyParamMsg = error;
-        orderType = OrderState.PARAM_ERROR;
+        orderState = OrderState.PARAM_ERROR;
     }
 
-    //------------------订单类型 start-------------------------
-
     @Schema(description = "是否必须支付,当是离线的时候,是先在边缘计算,再后面付款,则这个订单用户必须支付")
     private Boolean isMustPay = Boolean.FALSE;
 
@@ -263,7 +262,7 @@ public class ExpenseFlow extends SuperMain {
         this.paymentStatus = "支付失败";
         this.isPaySuccess = Boolean.FALSE;
         this.payRemark = msg;
-        this.orderType = OrderState.PAID_ERROR;
+        this.orderState = OrderState.PAID_ERROR;
         this.isPaid = Boolean.TRUE;
     }
 }

+ 2 - 2
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/openAPI/ExpenseFlowOpenApiService.java

@@ -90,14 +90,14 @@ public class ExpenseFlowOpenApiService extends SuperService {
         if (ObjectUtils.isEmpty(expenseFlow)) {
             return ResultContent.buildFail("订单不存在");
         }
-        OrderState orderType = expenseFlow.getOrderType();
+        OrderState orderType = expenseFlow.getOrderState();
         if (orderType == OrderState.CLOSED) {
             return ResultContent.buildFail("订单已关闭");
         }
         if (expenseFlow.getIsPaySuccess() != null && expenseFlow.getIsPaySuccess()) {
             return ResultContent.buildFail("订单已支付成功,不能关闭");
         }
-        expenseFlow.setOrderType(OrderState.CLOSED);
+        expenseFlow.setOrderState(OrderState.CLOSED);
         expenseFlowDao.save(expenseFlow);
         return ResultContent.buildSuccess();
     }

+ 5 - 8
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/payment/ExpenseFlowServiceImpl.java

@@ -146,7 +146,7 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
         // 支付来源设备产品类型
         expenseFlow.setPaymentDeviceType(PaymentDeviceType.HxzConsumTransactions);
 
-        expenseFlow.setOrderType(OrderState.WAIT_PAYMENT);
+        expenseFlow.setOrderState(OrderState.WAIT_PAYMENT);
         // 默认未结算状态
         expenseFlow.setSettlementState(SettlementState.Unsettled);
 
@@ -184,7 +184,7 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
                 entity.setOrderModeType(OrderModeType.BalanceInquiry);
                 entity.setPaymentStatus("查询余额");
                 entity.setPayRemark("查询余额");
-                entity.setOrderType(OrderState.PAID_ERROR);
+                entity.setOrderState(OrderState.PAID_ERROR);
                 entity.setIsPaySuccess(Boolean.TRUE);
                 expenseFlowDao.save(entity);
             }
@@ -230,9 +230,6 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
         // 判断 是 微信、支付宝的付款码
         PaymentType paymentType = PaymentUtil.getPaymentTypeByQr(QR);
         expenseFlow.setQr(QR);
-        if (paymentType != null) {
-            expenseFlow.setPaymentWay(paymentType.getRemark());
-        }
         expenseFlow.setPaymentType(paymentType);
         expenseFlow.setParam(iotParam);
         expenseFlow.setPaymentDeviceType(PaymentDeviceType.HxzConsumTransactions);
@@ -415,7 +412,7 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
         ConsumTransactionsResult result = new ConsumTransactionsResult();
         ExpenseFlow expenseFlow = expenseFlowDao.findTopByOrderNoOrderByCreateTimeDesc(orderNo);
         if (ObjectUtils.isNotEmpty(expenseFlow)) {
-            if (expenseFlow.getOrderType() == OrderState.PAY_IN_PROGRESS) {
+            if (expenseFlow.getOrderState() == OrderState.PAY_IN_PROGRESS) {
                 // 支付中
                 result.setStatus(-1);
                 result.setMsg("支付中");
@@ -739,10 +736,10 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
         if (ObjectUtils.isEmpty(expenseFlow)) {
             return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, param.getId()));
         }
-        if (expenseFlow.getOrderType() == OrderState.REFUNDED) {
+        if (expenseFlow.getOrderState() == OrderState.REFUNDED) {
             return ResultContent.buildFail("已退款,不能重复操作");
         }
-        if (expenseFlow.getOrderType() != OrderState.HAVE_PAID) {
+        if (expenseFlow.getOrderState() != OrderState.HAVE_PAID) {
             return ResultContent.buildFail(String.format("未支付成功,不能退款"));
         }
         if (expenseFlow.getSettlementState() == SettlementState.AlreadySettled) {

+ 11 - 12
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/payment/PayCallService.java

@@ -96,7 +96,7 @@ public class PayCallService extends SuperService {
      * @return
      */
     public ResultContent payOrder(ExpenseFlow entity) {
-        OrderState orderType = entity.getOrderType();
+        OrderState orderType = entity.getOrderState();
         if (orderType != OrderState.WAIT_PAYMENT) {
             return ResultContent.buildFail(String.format("订单不能支付:%s", orderType.getRemark()));
         }
@@ -133,7 +133,6 @@ public class PayCallService extends SuperService {
         for (PaymentType paymentType : paymentTypes) {
             entity = expenseFlowDao.findTopById(entity.getId());
             entity.setPaymentType(paymentType);
-            entity.setPaymentWay(paymentType.getRemark());
             if (paymentType == PaymentType.UserWallet) {
                 // 钱包支付
                 stopWatch.start("钱包支付");
@@ -175,7 +174,7 @@ public class PayCallService extends SuperService {
             entity.setPaymentStatus("支付失败");
             entity.setIsPaySuccess(Boolean.FALSE);
             entity.setPayRemark(payError);
-            entity.setOrderType(OrderState.PAID_ERROR);
+            entity.setOrderState(OrderState.PAID_ERROR);
             entity.setIsPaid(Boolean.TRUE);
             expenseFlowDao.save(entity);
         }
@@ -213,7 +212,7 @@ public class PayCallService extends SuperService {
             entity.setPaymentStatus(msg);
             entity.setIsPaySuccess(Boolean.TRUE);
             entity.setPayRemark(msg);
-            entity.setOrderType(OrderState.HAVE_PAID);
+            entity.setOrderState(OrderState.HAVE_PAID);
 
             // 日志
             logsAddParam.setMessageType(MessageType.Info);
@@ -254,7 +253,7 @@ public class PayCallService extends SuperService {
             entity.setPaymentStatus(msg);
             entity.setIsPaySuccess(Boolean.FALSE);
             entity.setPayRemark(msg);
-            entity.setOrderType(OrderState.PAID_ERROR);
+            entity.setOrderState(OrderState.PAID_ERROR);
 
             // 支付记录流程
             paymentProcess.setIsPaySuccess(Boolean.FALSE);
@@ -312,7 +311,7 @@ public class PayCallService extends SuperService {
             String msg = "支付中";
             entity.setPaymentStatus(msg);
             entity.setPayRemark(msg);
-            entity.setOrderType(OrderState.PAY_IN_PROGRESS);
+            entity.setOrderState(OrderState.PAY_IN_PROGRESS);
 
             // 日志
             logsAddParam.setMessageType(MessageType.Info);
@@ -334,7 +333,7 @@ public class PayCallService extends SuperService {
             entity.setPaymentStatus(msg);
             entity.setIsPaySuccess(Boolean.FALSE);
             entity.setPayRemark(msg);
-            entity.setOrderType(OrderState.PAID_ERROR);
+            entity.setOrderState(OrderState.PAID_ERROR);
 
             // 日志
             logsAddParam.setMessageType(MessageType.Warn);
@@ -384,7 +383,7 @@ public class PayCallService extends SuperService {
         PaymentProcess paymentProcess = paymentProcessDao.findTopByPaymentNoAndPaymentTypeOrderByCreateTimeDesc(paymentNo, PaymentType.UnionFrictionlessPay);
         if (ObjectUtils.isNotEmpty(entity)) {
             if (state.equals("TRADE_SUCCESS")) {
-                entity.setOrderType(OrderState.HAVE_PAID);
+                entity.setOrderState(OrderState.HAVE_PAID);
                 entity.setIsPaySuccess(Boolean.TRUE);
                 entity.setPayRemark("支付成功");
                 entity.setPaymentStatus("支付成功");
@@ -401,7 +400,7 @@ public class PayCallService extends SuperService {
                     entity.setTransactionIds(list);
                 }
             } else {
-                entity.setOrderType(OrderState.PAID_ERROR);
+                entity.setOrderState(OrderState.PAID_ERROR);
                 entity.setIsPaySuccess(Boolean.FALSE);
                 entity.setPayRemark("支付失败");
                 entity.setPaymentStatus("支付失败");
@@ -515,7 +514,7 @@ public class PayCallService extends SuperService {
             // 退款金额
             entity.setRefundAMount(entity.getPayAmount());
             // 订单状态
-            entity.setOrderType(OrderState.REFUNDED);
+            entity.setOrderState(OrderState.REFUNDED);
             // 退款状态
             entity.setRefundState(RefundState.Refunded);
             entity.setRefuseRemark("退款成功");
@@ -583,7 +582,7 @@ public class PayCallService extends SuperService {
                 entity.setIsRefund(Boolean.TRUE);
                 entity.setRefundState(RefundState.Refunded);
                 entity.setRefuseRemark("退款成功");
-                entity.setOrderType(OrderState.REFUNDED);
+                entity.setOrderState(OrderState.REFUNDED);
                 if (model.getTransactionLogModelList() != null) {
                     entity.setRefundTransactionIds(model.getTransactionLogModelList().getContent());
                     refundRecord.setRefundTransactionIds(model.getTransactionLogModelList().getContent());
@@ -665,7 +664,7 @@ public class PayCallService extends SuperService {
                 expenseFlow.setIsRefund(Boolean.TRUE);
                 expenseFlow.setRefundState(RefundState.Refunded);
                 expenseFlow.setRefuseRemark("退款成功");
-                expenseFlow.setOrderType(OrderState.REFUNDED);
+                expenseFlow.setOrderState(OrderState.REFUNDED);
 
                 if (resultContent.getState() == ResultState.Success) {
                     expenseFlow.setRefundTransactionIds(resultContent.getContent());