ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFlowManagementController.java
@@ -1,6 +1,16 @@ package com.ruoyi.web.controller.api; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.model.TFlowManagement; import com.ruoyi.system.query.TFlowManagementQuery; import com.ruoyi.system.service.TFlowManagementService; 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.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -16,6 +26,18 @@ @RestController @RequestMapping("/t-flow-management") public class TFlowManagementController { @Autowired private TFlowManagementService flowService; /** * 获取流水列表 */ @PreAuthorize("@ss.hasPermi('system:flow:list')") @ApiOperation(value = "获取流水列表") @PostMapping("/list") public R<PageInfo<TFlowManagement>> list(@RequestBody TFlowManagementQuery query) { PageInfo<TFlowManagement> list = flowService.pageList(query); return R.ok(flowService.pageList(query)); } } ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java
@@ -1,9 +1,17 @@ package com.ruoyi.web.controller.api; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.system.model.TInvoice; import com.ruoyi.system.query.TInvoiceQuery; 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> @@ -16,6 +24,22 @@ @RestController @RequestMapping("/t-invoice") public class TInvoiceController { @Autowired private TInvoiceService invoiceService; @PreAuthorize("@ss.hasPermi('system:invoice:list')") @ApiOperation(value = "获取开票列表") @PostMapping("/list") public R<PageInfo<TInvoice>> list(@RequestBody TInvoiceQuery query) { return R.ok(invoiceService.pageList(query)); } @PreAuthorize("@ss.hasPermi('system:invoice:delete')") @Log(title = "开票信息-删除开票", businessType = BusinessType.DELETE) @ApiOperation(value = "删除开票") @DeleteMapping(value = "/deleteById") public R<Boolean> deleteById(@RequestParam String id) { return R.ok(invoiceService.removeById(id)); } } ruoyi-admin/src/main/resources/application-test.yml
@@ -21,7 +21,7 @@ port: 8081 servlet: # 应用的访问路径 context-path: / context-path: /admin tomcat: # tomcat的URI编码 uri-encoding: UTF-8 ruoyi-system/src/main/java/com/ruoyi/system/query/TFlowManagementQuery.java
New file @@ -0,0 +1,65 @@ package com.ruoyi.system.query; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; /** * <p> * 流水管理 * </p> * * @author xiaochen * @since 2025-01-20 */ @Data @ApiModel(value="流水列表query") public class TFlowManagementQuery extends BasePage { @ApiModelProperty(value = "系统流水号") private String sysSerialNumber; @ApiModelProperty(value = "银行流水号") private String bankSerialNumber; @ApiModelProperty(value = "流水金额") private BigDecimal flowMoney; @ApiModelProperty(value = "抵扣金额") private BigDecimal deductionMoney; @ApiModelProperty(value = "剩余金额") private BigDecimal remainingMoney; @ApiModelProperty(value = "支付时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime payTime; @ApiModelProperty(value = "付款人") private String payer; @ApiModelProperty(value = "流水状态 1=正常 2=异常") private Integer flowStatus; @ApiModelProperty(value = "流水类型 1=系统 2=银行") private Integer flowType; @ApiModelProperty(value = "支付方式 1=微信支付 2=支付宝支付 3=线下支付") private Integer payType; @ApiModelProperty(value = "缴费账单id") private String paymentBillId; @ApiModelProperty(value = "支付开始时间") private String payStartTime; @ApiModelProperty(value = "支付结束时间") private String payEndTime; } ruoyi-system/src/main/java/com/ruoyi/system/query/TInvoiceQuery.java
New file @@ -0,0 +1,55 @@ package com.ruoyi.system.query; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.domain.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; @Data @ApiModel(value="开票查询列表Query") public class TInvoiceQuery extends BasePage { @ApiModelProperty(value = "申请编号") private String invoiceNumber; @ApiModelProperty(value = "金额") private Double invoiceMoney; @ApiModelProperty(value = "申请人") private String applyName; @ApiModelProperty(value = "抬头类型 1=企业 2=个人") private Integer titleType; @ApiModelProperty(value = "抬头名称") private String titleName; @ApiModelProperty(value = "税号/身份证号") private String serialNumber; @ApiModelProperty(value = "开票状态 1=待开票 2=已开票") private Integer status; @ApiModelProperty(value = "开票日期") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime invoiceTime; @ApiModelProperty(value = "开票凭证") private String invoiceVoucher; @ApiModelProperty(value = "邮箱") private String email; @ApiModelProperty(value = "开票合同编号逗号分割") private String contractNumber; @ApiModelProperty(value = "开票开始日期") private String invoiceStartTime; @ApiModelProperty(value = "开票结束日期") private String invoiceEndTime; } ruoyi-system/src/main/java/com/ruoyi/system/service/TFlowManagementService.java
@@ -1,7 +1,11 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TFlowManagement; import com.ruoyi.system.query.TFlowManagementQuery; import java.util.List; /** * <p> @@ -12,5 +16,7 @@ * @since 2025-01-17 */ public interface TFlowManagementService extends IService<TFlowManagement> { PageInfo<TFlowManagement> pageList(TFlowManagementQuery query); List<TFlowManagement> makeQuery(TFlowManagementQuery query); } ruoyi-system/src/main/java/com/ruoyi/system/service/TInvoiceService.java
@@ -1,7 +1,11 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TInvoice; import com.ruoyi.system.query.TInvoiceQuery; import java.util.List; /** * <p> @@ -12,5 +16,6 @@ * @since 2025-01-17 */ public interface TInvoiceService extends IService<TInvoice> { PageInfo<TInvoice> pageList(TInvoiceQuery query); List<TInvoice> makeQuery(TInvoiceQuery query); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFlowManagementServiceImpl.java
@@ -1,10 +1,16 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.mapper.TFlowManagementMapper; import com.ruoyi.system.model.TFlowManagement; import com.ruoyi.system.query.TFlowManagementQuery; import com.ruoyi.system.service.TFlowManagementService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.util.List; /** * <p> @@ -17,4 +23,26 @@ @Service public class TFlowManagementServiceImpl extends ServiceImpl<TFlowManagementMapper, TFlowManagement> implements TFlowManagementService { @Override public PageInfo<TFlowManagement> pageList(TFlowManagementQuery query) { PageInfo<TFlowManagement> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TFlowManagement> list = makeQuery(query); pageInfo.setRecords(list); pageInfo.setTotal(list.size()); return pageInfo; } @Override public List<TFlowManagement> makeQuery(TFlowManagementQuery query){ LambdaQueryWrapper<TFlowManagement> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(StringUtils.isNotEmpty(query.getSysSerialNumber()),TFlowManagement::getSysSerialNumber,query.getSysSerialNumber()) .eq(StringUtils.isNotEmpty(query.getBankSerialNumber()),TFlowManagement::getBankSerialNumber,query.getBankSerialNumber()) .like(StringUtils.isNotEmpty(query.getPayer()),TFlowManagement::getPayer,query.getPayer()) .ge(StringUtils.isNotEmpty(query.getPayStartTime()),TFlowManagement::getPayTime,query.getPayStartTime()) .lt(StringUtils.isNotEmpty(query.getPayEndTime()),TFlowManagement::getPayTime,query.getPayEndTime()) .eq(null != query.getFlowStatus(),TFlowManagement::getFlowStatus,query.getFlowStatus()) .eq(null != query.getFlowType(),TFlowManagement::getFlowType, query.getFlowType()) .orderByDesc(TFlowManagement::getCreateTime) ; return this.baseMapper.selectList(queryWrapper); } } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInvoiceServiceImpl.java
@@ -1,10 +1,16 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.mapper.TInvoiceMapper; import com.ruoyi.system.model.TInvoice; import com.ruoyi.system.query.TInvoiceQuery; import com.ruoyi.system.service.TInvoiceService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.util.List; /** * <p> @@ -17,4 +23,24 @@ @Service public class TInvoiceServiceImpl extends ServiceImpl<TInvoiceMapper, TInvoice> implements TInvoiceService { @Override public PageInfo<TInvoice> pageList(TInvoiceQuery query) { PageInfo<TInvoice> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TInvoice> list = makeQuery(query); pageInfo.setRecords(list); pageInfo.setTotal(list.size()); return pageInfo; } @Override public List<TInvoice> makeQuery(TInvoiceQuery query) { LambdaQueryWrapper<TInvoice> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(null != query.getTitleType(),TInvoice::getTitleType,query.getTitleType()) .like(StringUtils.isNotEmpty(query.getTitleName()),TInvoice::getTitleName,query.getTitleName()) .eq(null != query.getStatus(),TInvoice::getStatus,query.getStatus()) .ge(StringUtils.isNotEmpty(query.getInvoiceStartTime()),TInvoice::getInvoiceTime,query.getInvoiceStartTime()) .le(StringUtils.isNotEmpty(query.getInvoiceEndTime()),TInvoice::getInvoiceTime,query.getInvoiceEndTime()) .orderByDesc(TInvoice::getCreateTime); return this.baseMapper.selectList(queryWrapper); } }