瀏覽代碼

no message

FengChaoYu 1 月之前
父節點
當前提交
17318a0902

+ 3 - 1
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/controller/user/UserCompanyCreditController.java

@@ -2,6 +2,7 @@ package com.gree.mall.miniapp.controller.user;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.gree.mall.miniapp.enums.TransactionTypeEnum;
+import com.gree.mall.miniapp.enums.UserCreditBillStatusEnum;
 import com.gree.mall.miniapp.helper.ResponseHelper;
 import com.gree.mall.miniapp.logic.user.UserCompanyCreditLogic;
 import com.gree.mall.miniapp.plus.entity.UserCompanyCredit;
@@ -40,10 +41,11 @@ public class UserCompanyCreditController {
     public ResponseHelper<List<UserCompanyCreditBill>> billList(
             @ApiParam(required = true, value = "商户id") @RequestParam String companyWechatId,
             @ApiParam(value = "年度(不传查当前年度)") @RequestParam(required = false) Integer year,
+            @ApiParam(value = "状态 UNPAID=未还款 REPAYMENT=部分还款 REPAID=已还款") @RequestParam(required = false) UserCreditBillStatusEnum status,
             @ApiParam(required = true, value = "pageNum") @RequestParam Integer pageNum,
             @ApiParam(required = true, value = "pageSize") @RequestParam Integer pageSize
     ) {
-        IPage<UserCompanyCreditBill> list = userCompanyCreditLogic.billList(companyWechatId, year, pageNum, pageSize);
+        IPage<UserCompanyCreditBill> list = userCompanyCreditLogic.billList(companyWechatId, year, status, pageNum, pageSize);
         return ResponseHelper.success(list);
     }
 

+ 16 - 5
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/user/UserCompanyCreditLogic.java

@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.miniapp.bean.user.CurrentCompanyWechat;
 import com.gree.mall.miniapp.commonmapper.LockQueryMapper;
@@ -137,18 +138,24 @@ public class UserCompanyCreditLogic {
     }
 
 
-    public IPage<UserCompanyCreditBill> billList(String companyWechatId, Integer year, Integer pageNum, Integer pageSize) {
+    public IPage<UserCompanyCreditBill> billList(String companyWechatId, Integer year, UserCreditBillStatusEnum statusEnum, Integer pageNum, Integer pageSize) {
         CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
 
         if (Objects.isNull(year)) {
             year = DateUtil.year(DateUtil.date());
         }
 
+        String status = "";
+        if (Objects.nonNull(statusEnum)) {
+            status = statusEnum.getKey();
+        }
+
         DateTime start = DateUtil.beginOfYear(DateUtil.parse(year + "-01-01"));
         DateTime end = DateUtil.endOfYear(DateUtil.parse(year + "-01-01"));
         IPage<UserCompanyCreditBill> page = userCompanyCreditBillService.lambdaQuery()
                 .eq(UserCompanyCreditBill::getUserId, currentCompanyWechat.getUserId())
                 .eq(UserCompanyCreditBill::getCompanyWechatId, companyWechatId)
+                .eq(StringUtils.isNotBlank(status), UserCompanyCreditBill::getStatus, status)
                 .between(UserCompanyCreditBill::getCreateTime, start, end)
                 .orderByDesc(UserCompanyCreditBill::getBillId)
                 .page(new Page<>(pageNum, pageSize));
@@ -159,13 +166,17 @@ public class UserCompanyCreditLogic {
     public IPage<UserCompanyCreditBillItem> accList(String companyWechatId, String billId, TransactionTypeEnum type, Integer pageNum, Integer pageSize) {
         CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
 
-        IPage<UserCompanyCreditBillItem> page = userCompanyCreditBillItemService.lambdaQuery()
+        final LambdaQueryChainWrapper<UserCompanyCreditBillItem> queryChainWrapper = userCompanyCreditBillItemService.lambdaQuery()
                 .eq(UserCompanyCreditBillItem::getUserId, currentCompanyWechat.getUserId())
                 .eq(UserCompanyCreditBillItem::getCompanyWechatId, companyWechatId)
                 .eq(StringUtils.isNotBlank(billId), UserCompanyCreditBillItem::getUserCompanyCreditBillId, billId)
-                .isNull(StringUtils.isBlank(billId), UserCompanyCreditBillItem::getUserCompanyCreditBillId)
-                .eq(Objects.nonNull(type), UserCompanyCreditBillItem::getTransactionType, type.getKey())
-                .orderByDesc(UserCompanyCreditBillItem::getCreateTime)
+                .isNull(StringUtils.isBlank(billId), UserCompanyCreditBillItem::getUserCompanyCreditBillId);
+
+        if (Objects.nonNull(type)) {
+            queryChainWrapper.eq(UserCompanyCreditBillItem::getTransactionType, type.getKey());
+        }
+
+        IPage<UserCompanyCreditBillItem> page = queryChainWrapper.orderByDesc(UserCompanyCreditBillItem::getCreateTime)
                 .page(new Page<>(pageNum, pageSize));
 
         return page;