Browse Source

证据套餐获取接口

wangPH 1 year ago
parent
commit
1c6a795217

+ 9 - 1
background-user/src/main/java/cn/kdan/compdf/controller/v1/BackgroundUserBalanceController.java

@@ -9,6 +9,7 @@ import cn.kdan.compdf.service.BackgroundUserBalanceService;
 import cn.kdan.compdf.utils.TokenUtil;
 import cn.kdan.compdf.vo.BackgroundUserBalanceVO;
 import cn.kdan.compdf.vo.BackgroundUserPackageBalanceVO;
+import cn.kdan.compdf.vo.BillVO;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
@@ -88,6 +89,13 @@ public class BackgroundUserBalanceController {
     }
 
 
-
+    /**
+     * 获取套餐
+     * @return BillVO
+     */
+    @GetMapping("/getBill")
+    public R<List<BillVO>> getBill() {
+        return R.ok(backgroundUserBalanceService.getBill(TokenUtil.getRequestHeader().getId()));
+    }
 
 }

+ 9 - 1
background-user/src/main/java/cn/kdan/compdf/service/BackgroundUserBalanceService.java

@@ -5,8 +5,9 @@ import cn.kdan.compdf.dto.PlanStatisticsDTO;
 import cn.kdan.compdf.entity.BackgroundUserBalance;
 import cn.kdan.compdf.vo.BackgroundUserBalanceVO;
 import cn.kdan.compdf.vo.BackgroundUserPackageBalanceVO;
-import com.baomidou.mybatisplus.extension.service.IService;
+import cn.kdan.compdf.vo.BillVO;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
@@ -63,4 +64,11 @@ public interface BackgroundUserBalanceService extends IService<BackgroundUserBal
      * @param tenantId tenantId
      */
     void initUserBalance(Long userId, Long tenantId);
+
+
+    /**
+     * 获取套餐
+     * @return BillVO
+     */
+    List<BillVO> getBill(Long userId);
 }

+ 39 - 4
background-user/src/main/java/cn/kdan/compdf/service/impl/BackgroundUserBalanceServiceImpl.java

@@ -2,12 +2,12 @@ package cn.kdan.compdf.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.kdan.compdf.config.ExcelWidthStyleStrategy;
 import cn.kdan.compdf.constant.UserBalanceConstant;
 import cn.kdan.compdf.dto.AddFreePlanDTO;
 import cn.kdan.compdf.dto.Asset;
-import cn.hutool.core.date.DateUtil;
-import cn.kdan.compdf.config.ExcelWidthStyleStrategy;
 import cn.kdan.compdf.dto.PlanStatisticsDTO;
 import cn.kdan.compdf.entity.BackgroundUserBalance;
 import cn.kdan.compdf.entity.BackgroundUserRemain;
@@ -19,6 +19,7 @@ import cn.kdan.compdf.service.BackgroundUserService;
 import cn.kdan.compdf.utils.MyLocalDateUtil;
 import cn.kdan.compdf.vo.BackgroundUserBalanceVO;
 import cn.kdan.compdf.vo.BackgroundUserPackageBalanceVO;
+import cn.kdan.compdf.vo.BillVO;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.util.MapUtils;
 import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
@@ -34,11 +35,17 @@ import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletResponse;
-import java.io.*;
+import java.io.IOException;
 import java.net.URLEncoder;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
-import java.util.*;
+import java.time.temporal.TemporalAdjusters;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
 import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
 
 /**
  * @author ComPDFKit-WPH 2022-10-14
@@ -287,6 +294,27 @@ public class BackgroundUserBalanceServiceImpl extends ServiceImpl<BackgroundUser
         this.baseMapper.insert(userBalance);
     }
 
+    @Override
+    public List<BillVO> getBill(Long userId) {
+        List<BackgroundUserRemain> userRemains = backgroundUserRemainService.getUserRemainByUserId(userId);
+        return userRemains.stream().map(userRemain -> {
+            BillVO billVO = new BillVO();
+            billVO.setAssetType(userRemain.getAssetType());
+            billVO.setTotalFiles(userRemain.getTotalFiles());
+            switch (userRemain.getAssetType()) {
+                case 3:
+                    billVO.setStartDate(this.getFirstDayOfMonth());
+                    billVO.setEndDate(this.getLastDayOfMonth());
+                    break;
+                case 1:
+                    billVO.setStartDate(null);
+                    billVO.setEndDate(null);
+                    break;
+                case 2: break;
+            }
+            return billVO;
+        }).collect(Collectors.toList());
+    }
 
 
     /**
@@ -303,4 +331,11 @@ public class BackgroundUserBalanceServiceImpl extends ServiceImpl<BackgroundUser
         return newestPlanRemainingFiles;
     }
 
+    private LocalDate getFirstDayOfMonth() {
+        return LocalDate.now().with(TemporalAdjusters.firstDayOfMonth());
+    }
+
+    private LocalDate getLastDayOfMonth() {
+        return LocalDate.now().with(TemporalAdjusters.lastDayOfMonth());
+    }
 }

+ 32 - 0
background-user/src/main/java/cn/kdan/compdf/vo/BillVO.java

@@ -0,0 +1,32 @@
+package cn.kdan.compdf.vo;
+
+import lombok.Data;
+import lombok.ToString;
+
+import java.time.LocalDate;
+
+/**
+ * @author ComPDFKit-WPH 2023/6/25
+ * <p>
+ * 账单
+ */
+@Data
+@ToString
+public class BillVO {
+
+    /**
+     * 1 订阅,2 package,3 free
+     */
+    private Integer assetType;
+    /**
+     * 总数
+     */
+    private Integer totalFiles;
+
+    private LocalDate startDate;
+
+    private LocalDate endDate;
+
+
+
+}