TRX hace 1 año
padre
commit
019ce1c300

+ 51 - 2
FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/ExpenseFlowModel.java

@@ -1,7 +1,10 @@
 package com.zhongshu.card.client.model.payment;
 
 import cn.hutool.json.JSONObject;
+import com.github.microservice.models.type.PaymentDeviceType;
 import com.zhongshu.card.client.model.base.SuperModel;
+import com.zhongshu.card.client.model.school.CardInfoModel;
+import com.zhongshu.card.client.utils.type.RefundState;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -17,9 +20,22 @@ import java.math.BigDecimal;
 @AllArgsConstructor
 @NoArgsConstructor
 public class ExpenseFlowModel extends SuperModel {
+    //-----------------------------订单信息 start---------------------
     @Schema(description = "用户userId")
     private String userId;
 
+    @Schema(description = "用户名称")
+    private String userName;
+
+    @Schema(description = "消费机设备ID")
+    private String deviceId;
+
+    @Schema(description = "卡片的编号,也是终端刷卡的 卡号")
+    private String cardNo;
+
+    @Schema(description = "卡片信息")
+    private CardInfoModel cardInfo;
+
     @Schema(description = "消费类型,如:餐饮消费")
     private String payType;
 
@@ -35,7 +51,7 @@ public class ExpenseFlowModel extends SuperModel {
     @Schema(description = "支付订单号")
     private String paymentNo;
 
-    @Schema(description = "消费时间")
+    @Schema(description = "消费创建时间")
     private String paymentTime;
 
     @Schema(description = "支付方式")
@@ -45,8 +61,41 @@ public class ExpenseFlowModel extends SuperModel {
     private BigDecimal payAmount;
 
     @Schema(description = "关联信息")
-    private JSONObject goodsInfo;
+    private Object param;
+
+    @Schema(description = "订单是否创建成功")
+    private Boolean isCreateSuccess = Boolean.TRUE;
+
+    @Schema(description = "编辑支付设备和方式")
+    PaymentDeviceType paymentDeviceType;
+
+    @Schema(description = "消费地点")
+    private String placeName;
+
+    //------------------支付结果 start-------------------------
 
     @Schema(description = "支付订单状态")
     private String paymentStatus;
+
+    @Schema(description = "支付是否成功")
+    private Boolean isPaySuccess;
+
+    @Schema(description = "支付结果备注")
+    private String payRemark;
+
+    //-----------------------退款 start--------------------------
+    @Schema(description = "是否退款")
+    private Boolean isRefund;
+
+    @Schema(description = "退款状态")
+    private RefundState refundState;
+
+    @Schema(description = "申请退款时间")
+    private Long refundTime;
+
+    @Schema(description = "申请退款备注")
+    private String refundRemark;
+
+    @Schema(description = "退款处理备注")
+    private String refuseRemark;
 }

+ 3 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/ExpenseFlowSearch.java

@@ -61,4 +61,7 @@ public class ExpenseFlowSearch extends SuperSearch {
 
     @Schema(description = "支付订单状态")
     private String paymentStatus;
+
+    @Schema(description = "是否消费成功")
+    private Boolean isPaySuccess;
 }

+ 10 - 2
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/payment/ExpenseFlowController.java

@@ -1,6 +1,7 @@
 package com.zhongshu.card.server.core.controller.payment;
 
 import com.github.microservice.auth.security.annotations.ResourceAuth;
+import com.github.microservice.auth.security.helper.AuthHelper;
 import com.github.microservice.auth.security.type.AuthType;
 import com.zhongshu.card.client.model.base.IDParam;
 import com.zhongshu.card.client.model.payment.ExpenseFlowCount;
@@ -41,6 +42,9 @@ public class ExpenseFlowController {
     @Autowired
     ExpenseFlowService expenseFlowService;
 
+    @Autowired
+    AuthHelper authHelper;
+
     @ResourceAuth(value = "user", type = AuthType.User)
     @Operation(summary = "消费详情", description = "消费详情")
     @RequestMapping(value = "getDetail", method = {RequestMethod.POST})
@@ -49,18 +53,22 @@ public class ExpenseFlowController {
     }
 
     @ResourceAuth(value = "user", type = AuthType.User)
-    @Operation(summary = "消费列表-分页查询", description = "消费列表-分页查询")
+    @Operation(summary = "消费列表-分页查询(当前用户)", description = "消费列表-分页查询")
     @RequestMapping(value = {"page"}, method = {RequestMethod.POST})
     public ResultContent<Page<ExpenseFlowModel>> page(
             @Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable,
             @Parameter(required = false) ExpenseFlowSearch param) {
+        param.setIsPaySuccess(Boolean.TRUE);
+        param.setUserId(authHelper.getCurrentUser().getUserId());
         return expenseFlowService.page(param, pageable);
     }
 
     @ResourceAuth(value = "user", type = AuthType.User)
-    @Operation(summary = "统计消费总数", description = "统计消费总数")
+    @Operation(summary = "统计消费总数(当前用户)", description = "统计消费总数")
     @RequestMapping(value = {"countPayment"}, method = {RequestMethod.POST})
     public ResultContent<ExpenseFlowCount> countPayment(ExpenseFlowSearch param) {
+        param.setIsPaySuccess(Boolean.TRUE);
+        param.setUserId(authHelper.getCurrentUser().getUserId());
         return expenseFlowService.countPayment(param);
     }
 

+ 8 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/payment/impl/ExpenseFlowDaoImpl.java

@@ -59,6 +59,10 @@ public class ExpenseFlowDaoImpl extends BaseImpl implements ExpenseFlowDaoExtend
             criteria.and("month").is(param.getMonth());
         }
 
+        if (param.getIsPaySuccess() != null) {
+            criteria.and("isPaySuccess").is(param.getIsPaySuccess());
+        }
+
         if (!CommonUtil.longIsEmpty(param.getStartTime()) && !CommonUtil.longIsEmpty(param.getEndTime())) {
             criteria.and("createTime").gte(param.getStartTime()).and("createTime").lte(param.getEndTime());
         }
@@ -107,6 +111,10 @@ public class ExpenseFlowDaoImpl extends BaseImpl implements ExpenseFlowDaoExtend
             criteria.and("month").is(param.getMonth());
         }
 
+        if (param.getIsPaySuccess() != null) {
+            criteria.and("isPaySuccess").is(param.getIsPaySuccess());
+        }
+
         if (!CommonUtil.longIsEmpty(param.getStartTime()) && !CommonUtil.longIsEmpty(param.getEndTime())) {
             criteria.and("createTime").gte(param.getStartTime()).and("createTime").lte(param.getEndTime());
         }

+ 3 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/payment/WalletRecharge.java

@@ -43,6 +43,9 @@ public class WalletRecharge extends SuperMain {
     @Schema(description = "用户电话号码")
     private String phone;
 
+    @Schema(description = "支付订单号")
+    private String paymentNo;
+
     @Schema(description = "充值类型:")
     private RechargeType rechargeType;
 

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

@@ -220,6 +220,7 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
             BigDecimal afterAmount = preAmount.subtract(amount);
             wallet.setAmount(afterAmount);
 
+            walletRecharge.setPaymentNo(entity.getPaymentNo());
             walletRecharge.setPreAmount(preAmount);
             walletRecharge.setAmount(amount);
             walletRecharge.setRechargeType(RechargeType.Expend);
@@ -278,7 +279,7 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
      */
     @Override
     public ResultContent<Page<ExpenseFlowModel>> page(ExpenseFlowSearch param, Pageable pageable) {
-        initOidSearchParam(param);
+        initOidSearchParamNoCheckOid(param);
         Page<ExpenseFlow> page = expenseFlowDao.page(pageable, param);
         return ResultContent.buildSuccess(PageEntityUtil.concurrent2PageModel(page, this::toModel));
     }
@@ -291,7 +292,6 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
      */
     @Override
     public ResultContent<ExpenseFlowCount> countPayment(ExpenseFlowSearch param) {
-        param.setUserId(getCurrentUserId());
         return ResultContent.buildSuccess(expenseFlowDao.countPayment(param));
     }