ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java
@@ -5,13 +5,16 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.system.model.TBill; import com.ruoyi.system.model.TInvoice; import com.ruoyi.system.query.TInvoiceQuery; import com.ruoyi.system.service.TBillService; import com.ruoyi.system.service.TInvoiceService; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; /** * <p> @@ -26,6 +29,8 @@ public class TInvoiceController { @Autowired private TInvoiceService invoiceService; @Autowired TBillService tBillService; @PreAuthorize("@ss.hasPermi('system:invoice:list')") @ApiOperation(value = "获取开票列表") @PostMapping("/list") @@ -41,5 +46,22 @@ return R.ok(invoiceService.removeById(id)); } @ApiOperation(value = "关联账单信息") @GetMapping(value = "/getBillByInvoiceId") public R<PageInfo<TBill>> getBillByInvoiceId(String invoiceId){ return R.ok(tBillService.getBillByInvoiceId(invoiceId)); } @ApiOperation(value = "上传开票凭证") @PostMapping("/uploadVoucher") public R<Boolean> uploadVoucher(@RequestBody TInvoiceQuery query) { TInvoice tInvoice = new TInvoice(); tInvoice.setId(query.getId()); tInvoice.setInvoiceVoucher(query.getInvoiceVoucher()); tInvoice.setInvoiceTime(query.getInvoiceTime()); tInvoice.setStatus(2); return R.ok(invoiceService.updateById(tInvoice)); } } ruoyi-admin/src/main/java/com/ruoyi/web/task/TbillTask.java
@@ -26,78 +26,7 @@ @Autowired TContractService tContractService; /** * 判断账单是否到期 */ public void checkBillOverdue(){ try { int index = 1; int rows = 20; long pages = 0; TBillQuery query = new TBillQuery(); query.setPageSize(rows); //查询未缴费的 query.setPayFeesStatus(1); Calendar c = Calendar.getInstance(); Date time = c.getTime(); do { query.setPageNum(index); PageInfo<TBillDto> pageinfo = tBillService.queryPage(query); if (pages==0){ pages = pageinfo.getPages(); } if (pageinfo.getRecords()!=null && pageinfo.getRecords().size()>0){ pageinfo.getRecords().forEach(tBill -> { //todo 生成账单 }); } index++; }while (index<=pages); }catch (Exception e){ log.error(""); } } /** * 计算违约金 */ public void caculatePenaltyFee(){ try { int index = 1; int rows = 20; long pages = 0; TBillQuery query = new TBillQuery(); query.setPageSize(rows); //查询已逾期的 query.setPayFeesStatus(4); Calendar c = Calendar.getInstance(); Date time = c.getTime(); do { query.setPageNum(index); PageInfo<TBillDto> pageinfo = tBillService.queryPage(query); if (pages==0){ pages = pageinfo.getPages(); } if (pageinfo.getRecords()!=null && pageinfo.getRecords().size()>0){ pageinfo.getRecords().forEach(tContract -> { //todo 生成账单 }); } index++; }while (index<=pages); }catch (Exception e){ log.error(""); } } ruoyi-system/src/main/java/com/ruoyi/system/query/TInvoiceQuery.java
@@ -12,6 +12,8 @@ @Data @ApiModel(value="开票查询列表Query") public class TInvoiceQuery extends BasePage { @ApiModelProperty(value = "id") private String id; @ApiModelProperty(value = "申请编号") private String invoiceNumber; ruoyi-system/src/main/java/com/ruoyi/system/query/TInvoiceToBillQuery.java
New file @@ -0,0 +1,19 @@ package com.ruoyi.system.query; import com.ruoyi.common.core.domain.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value="开票查询列表Query") public class TInvoiceToBillQuery extends BasePage { @ApiModelProperty(value = "开票申请id") private String invoiceId; @ApiModelProperty(value = "账单id") private String billId; } ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java
@@ -69,4 +69,11 @@ * @return */ PageInfo<TBillDto> invoiceList(TBillQuery query); /** * 根据发票编号查询账单列表 * @param invoiceId * @return */ PageInfo<TBill> getBillByInvoiceId(String invoiceId); } ruoyi-system/src/main/java/com/ruoyi/system/service/TInvoiceService.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TBill; import com.ruoyi.system.model.TInvoice; import com.ruoyi.system.query.TInvoiceQuery; ruoyi-system/src/main/java/com/ruoyi/system/service/TInvoiceToBillService.java
@@ -2,6 +2,14 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.system.model.TInvoiceToBill; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TInvoice; import com.ruoyi.system.model.TInvoiceToBill; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.system.query.TInvoiceQuery; import com.ruoyi.system.query.TInvoiceToBillQuery; import java.util.List; /** * <p> @@ -13,4 +21,6 @@ */ public interface TInvoiceToBillService extends IService<TInvoiceToBill> { List<TInvoiceToBill> makeQuery(TInvoiceToBillQuery query); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java
@@ -1,10 +1,7 @@ package com.ruoyi.system.service.impl; import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.constant.AmountConstant; import com.ruoyi.common.constant.CacheConstants; import com.ruoyi.common.core.redis.RedisCache; @@ -18,6 +15,7 @@ import com.ruoyi.system.mapper.TBillMapper; import com.ruoyi.system.model.*; import com.ruoyi.system.query.TBillQuery; import com.ruoyi.system.query.TInvoiceToBillQuery; import com.ruoyi.system.service.*; import com.taxi591.bankapi.dto.ChargeBillRequest; import lombok.extern.slf4j.Slf4j; @@ -27,18 +25,12 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.List; import java.util.*; import java.util.stream.Collectors; import java.math.BigDecimal; import java.text.ParseException; import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.List; import java.util.function.Consumer; import java.util.stream.Collectors; import java.util.stream.Stream; /** * <p> @@ -75,6 +67,9 @@ @Autowired TOrderBillService orderBillService; @Autowired TInvoiceToBillService tInvoiceToBillService; public PageInfo<TBillDto> queryPage(TBillQuery query){ PageInfo<TBill> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); @@ -328,5 +323,26 @@ } /** * 根据发票编号查询账单列表 * @param invoiceId * @return */ @Override public PageInfo<TBill> getBillByInvoiceId(String invoiceId){ invoiceId = "1889552849671061505"; PageInfo<TBill> pageInfo = new PageInfo<>(); ArrayList<TBill> bills = new ArrayList<>(); TInvoiceToBillQuery query = new TInvoiceToBillQuery(); query.setInvoiceId(invoiceId); List<TInvoiceToBill> tInvoiceToBills = tInvoiceToBillService.makeQuery(query); for (TInvoiceToBill tInvoiceToBill : tInvoiceToBills) { TBill byId = getById(tInvoiceToBill.getBillId()); bills.add(byId); } pageInfo.setRecords(bills); return pageInfo; } } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInvoiceServiceImpl.java
@@ -4,12 +4,20 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.mapper.TInvoiceMapper; import com.ruoyi.system.model.TBill; import com.ruoyi.system.model.TInvoice; import com.ruoyi.system.model.TInvoiceToBill; import com.ruoyi.system.query.TInvoiceQuery; import com.ruoyi.system.query.TInvoiceToBillQuery; import com.ruoyi.system.service.TBillService; import com.ruoyi.system.service.TInvoiceService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sun.org.apache.regexp.internal.RE; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestParam; import java.util.ArrayList; import java.util.List; /** @@ -22,6 +30,10 @@ */ @Service public class TInvoiceServiceImpl extends ServiceImpl<TInvoiceMapper, TInvoice> implements TInvoiceService { @Autowired TInvoiceToBillServiceImpl tInvoiceToBillService; @Autowired TBillService tBillService; @Override public PageInfo<TInvoice> pageList(TInvoiceQuery query) { ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInvoiceToBillServiceImpl.java
@@ -1,5 +1,17 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.model.TInvoice; import com.ruoyi.system.model.TInvoiceToBill; import com.ruoyi.system.mapper.TInvoiceToBillMapper; import com.ruoyi.system.query.TInvoiceToBillQuery; import com.ruoyi.system.service.TInvoiceToBillService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.util.List; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.system.mapper.TInvoiceToBillMapper; import com.ruoyi.system.model.TInvoiceToBill; @@ -17,4 +29,11 @@ @Service public class TInvoiceToBillServiceImpl extends ServiceImpl<TInvoiceToBillMapper, TInvoiceToBill> implements TInvoiceToBillService { @Override public List<TInvoiceToBill> makeQuery(TInvoiceToBillQuery query) { LambdaQueryWrapper<TInvoiceToBill> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(null != query.getInvoiceId(),TInvoiceToBill::getInvoiceId,query.getInvoiceId()) .eq(null != query.getBillId(),TInvoiceToBill::getBillId,query.getBillId()); return this.baseMapper.selectList(queryWrapper); } } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPayOrderServiceImpl.java
@@ -72,7 +72,7 @@ //计算欠费金额:租金+违约金-实收金额 long rent = caculateRentFee(bill); if (rent==0){ throw new ServiceException("该订单已缴费"); throw new ServiceException("该账单已缴费"); } if (rent>dto.getAmount()){ throw new ServiceException("支付金额超过了账单欠费金额");