소스 검색

充值流程接口

wujiefeng 1 년 전
부모
커밋
195ab6d823

+ 4 - 2
PaymentServer/src/main/java/com/zhongshu/payment/server/core/controller/RechargeController.java

@@ -52,8 +52,10 @@ public class RechargeController {
     }
 
     /** 查询充值订单列表 */
-    public Object queryListByWallet(String walletId){
-        return null;
+    @Operation(summary = "查询充值订单列表", description = "查询充值订单列表")
+    @PostMapping(value = "queryListByWallet")
+    public Object queryListByWallet(@RequestParam("walletId") String walletId, @RequestParam("year") Integer year, @RequestParam("month") Integer month){
+        return rechargeService.queryListByWallet(walletId, year, month);
     }
 
     /** 查询充值订单详情 */

+ 2 - 2
PaymentServer/src/main/java/com/zhongshu/payment/server/core/dao/extend/RechargeRecordDaoExtend.java

@@ -1,8 +1,8 @@
 package com.zhongshu.payment.server.core.dao.extend;
 
 import com.zhongshu.payment.server.core.domain.wallet.RechargeRecord;
+import com.zhongshu.payment.server.core.domain.wallet.Wallet;
 
-import java.awt.print.Pageable;
 import java.util.List;
 
 /**
@@ -11,5 +11,5 @@ import java.util.List;
  */
 public interface RechargeRecordDaoExtend {
 
-    List<RechargeRecord> queryListByWallet(Pageable pageable);
+    List<RechargeRecord> ListByWallet(Wallet wallet, Long startTime, Long endTime);
 }

+ 31 - 3
PaymentServer/src/main/java/com/zhongshu/payment/server/core/dao/impl/RechargeRecordDaoImpl.java

@@ -1,9 +1,16 @@
 package com.zhongshu.payment.server.core.dao.impl;
 
+import com.github.microservice.components.data.mongo.mongo.helper.DBHelper;
 import com.zhongshu.payment.server.core.dao.extend.RechargeRecordDaoExtend;
 import com.zhongshu.payment.server.core.domain.wallet.RechargeRecord;
+import com.zhongshu.payment.server.core.domain.wallet.Wallet;
+import com.zhongshu.payment.server.core.utils.CommonUtil;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
 
-import java.awt.print.Pageable;
 import java.util.List;
 
 /**
@@ -11,8 +18,29 @@ import java.util.List;
  * @date 2024/7/26
  */
 public class RechargeRecordDaoImpl implements RechargeRecordDaoExtend {
+
+    @Autowired
+    DBHelper dbHelper;
+
+    @Autowired
+    MongoTemplate mongoTemplate;
+
     @Override
-    public List<RechargeRecord> queryListByWallet(Pageable pageable) {
-        return null;
+    public List<RechargeRecord> ListByWallet(Wallet wallet, Long startTime, Long endTime) {
+        Criteria criteria = new Criteria();
+
+        if (ObjectUtils.isNotEmpty(wallet)){
+            criteria.and("wallet").is(wallet);
+        }
+
+        if (!CommonUtil.longIsEmpty(startTime)){
+            criteria.and("createTime").gte(startTime);
+        }
+
+        if (CommonUtil.longIsEmpty(endTime)){
+            criteria.and("createTime").lte(endTime);
+        }
+
+        return mongoTemplate.find(Query.query(criteria), RechargeRecord.class);
     }
 }

+ 3 - 0
PaymentServer/src/main/java/com/zhongshu/payment/server/core/domain/wallet/RechargeRecord.java

@@ -25,6 +25,9 @@ public class RechargeRecord extends SuperEntity {
     @Schema(name = "userId", description = "用户id")
     private String userId;
 
+    @Schema(name = "钱包信息", description = "钱包信息")
+    private Wallet wallet;
+
     @Schema(name = "paymentType", description = "支付方式")
     private PaymentType paymentType;
 

+ 12 - 3
PaymentServer/src/main/java/com/zhongshu/payment/server/core/service/RechargeService.java

@@ -35,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * 充值服务
@@ -85,6 +86,7 @@ public class RechargeService {
         rechargeRecord.setTotal(BigDecimal.valueOf(param.getTotal()));
 
         rechargeRecord.setRechargeState(RechargeState.NOTPAY);
+        rechargeRecord.setWallet(userWallet);
         RechargeRecord record = rechargeRecordDao.save(rechargeRecord);
         RechargeRecordModel model = toModel(record);
         return ResultContent.buildSuccess(model);
@@ -206,11 +208,18 @@ public class RechargeService {
 
 
     /** 查询充值订单列表 */
-    public Object queryListByWallet(String walletId){
-
+    public Object queryListByWallet(String walletId, Integer year, Integer month){
 
+        Wallet wallet = walletDao.findTop1ById(walletId);
+        //判断钱包是否初始化
+        if (wallet==null){
+            return ResultContent.buildFail("用户钱包未开通");
+        }
 
-        return null;
+        Long monthStartTime = DateUtils.getMonthStartTime(year, month);
+        Long monthEndTime = DateUtils.getMonthEndTime(year, month);
+        List<RechargeRecord> list = rechargeRecordDao.ListByWallet(wallet, monthStartTime, monthEndTime);
+        return ResultContent.buildSuccess(list.stream().map(this::toModel).toList());
     }
 
     /** 查询充值订单详情 */

+ 3 - 2
PaymentServer/src/main/java/com/zhongshu/payment/server/core/utils/DateUtils.java

@@ -717,11 +717,12 @@ public class DateUtils {
         return calendar;
     }
 
+
+
     public static void main(String[] args) {
         log.info("失效时间:{}",paresTime(System.currentTimeMillis() + 15*60*1000, DateUtils.patternWx));
         log.info("本年开始时间:{},结束时间:{}", paresTime(getYearStartTime(2023), FORMAT_LONG), paresTime(getYearEndTime(2023), FORMAT_LONG));
-        log.info("本月开始时间:{},结束时间:{}", paresTime(getMonthStartTime(2023, 9), FORMAT_LONG), paresTime(getMonthEndTime(2023, 9), FORMAT_LONG));
-
+        log.info("本月开始时间:{},结束时间:{}", paresTime(getMonthStartTime(2024, 7), FORMAT_LONG), paresTime(getMonthEndTime(2024, 7), FORMAT_LONG));
         Integer weekNumber = getWeekOfYear(System.currentTimeMillis());
         log.info("本年一共{}周,本周是第{}周,本周时间区间:{}-{}", getYearWeekCount(2023), weekNumber, paresTime(getWeekStartTime(2023, weekNumber), FORMAT_LONG), paresTime(getWeekEndTime(2023, weekNumber), FORMAT_LONG));
     }