ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java
@@ -1,18 +1,30 @@ package com.ruoyi.web.controller.api; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.constant.DictConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.DictUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.dto.TBillDto; import com.ruoyi.system.dto.TInvoiceDTO; import com.ruoyi.system.model.*; import com.ruoyi.system.query.TBillQuery; import com.ruoyi.system.service.TBillDetailService; import com.ruoyi.system.service.TBillService; import com.ruoyi.system.service.TInvoiceService; import com.ruoyi.system.service.TInvoiceToBillService; import com.ruoyi.system.vo.TBillVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; 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; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; /** * <p> @@ -22,13 +34,21 @@ * @author xiaochen * @since 2025-01-17 */ @Api(tags = "缴费账单") @RestController @RequestMapping("/t-bill") public class TBillController { @Autowired TBillService tBillService; @Autowired TBillDetailService billDetailService; @Autowired TInvoiceService invoiceService; @Autowired TInvoiceToBillService invoiceToBillService; @ApiOperation(value = "缴费账单查询分页列表") @PostMapping("list") public R<PageInfo<TBillDto>> list(@RequestBody TBillQuery query){ if (StringUtils.isEmpty(query.getUserId())){ @@ -38,6 +58,41 @@ return R.ok(pageInfo); } @ApiOperation(value = "查看缴费账单详情") @GetMapping(value = "/getDetailById") public R<TBillVO> getDetailById(@RequestParam String id) { TBill bill = tBillService.getById(id); TBillVO billVO = new TBillVO(); BeanUtils.copyProperties(bill, billVO); // 查询水电费列表 if("3".equals(bill.getBillType())){ List<TBillDetail> list = billDetailService.list(Wrappers.lambdaQuery(TBillDetail.class) .eq(TBillDetail::getBillId, id)); billVO.setBillDetailList(list); } billVO.setBillType(DictUtils.getDictLabel(DictConstants.DICT_TYPE_BILL_TYPE,billVO.getBillType())); billVO.setPayFeesStatus(DictUtils.getDictLabel(DictConstants.DICT_TYPE_PAY_FEES_STATUS,billVO.getPayFeesStatus())); return R.ok(billVO); } @ApiOperation(value = "缴费账单开票") @PostMapping(value = "/invoice") public R<String> invoice(@RequestBody TInvoiceDTO dto) { // 添加开票信息 invoiceService.save(dto); // 添加开票信息中间表信息 List<String> billIds = dto.getBillIds(); List<TInvoiceToBill> sysInvoiceToBills = new ArrayList<>(); for (String billId : billIds) { TInvoiceToBill tInvoiceToBill = new TInvoiceToBill(); tInvoiceToBill.setInvoiceId(dto.getId()); tInvoiceToBill.setBillId(billId); sysInvoiceToBills.add(tInvoiceToBill); } invoiceToBillService.saveBatch(sysInvoiceToBills); return R.ok(); } } ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TInformationController.java
@@ -1,6 +1,17 @@ package com.ruoyi.web.controller.api; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.model.TInformation; import com.ruoyi.system.query.TInformationQuery; import com.ruoyi.system.service.TInformationService; import io.swagger.annotations.Api; 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; @@ -13,9 +24,25 @@ * @author xiaochen * @since 2025-01-17 */ @Api(tags = "资讯管理") @RestController @RequestMapping("/t-information") public class TInformationController { private final TInformationService informationService; @Autowired public TInformationController(TInformationService informationService) { this.informationService = informationService; } /** * 获取资讯管理管理列表 */ @ApiOperation(value = "获取资讯管理分页列表") @PostMapping(value = "/pageList") public R<PageInfo<TInformation>> pageList(@RequestBody TInformationQuery query) { return R.ok(informationService.pageList(query)); } } ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
@@ -66,7 +66,7 @@ @PostMapping("/list") public AjaxResult list(@RequestBody SysRoleQuery query) { PageInfo<SysRole> list = roleService.selectList(query); PageInfo<SysRole> list = roleService.selectPageList(query); return AjaxResult.success(list); } ruoyi-common/src/main/java/com/ruoyi/common/constant/DictConstants.java
@@ -39,4 +39,8 @@ * 缴费状态 1=未缴费 2=待确认 3=已缴费 4=已逾期 5=已失效 */ public static final String DICT_TYPE_PAY_FEES_STATUS = "t_pay_fees_status"; /** * 账单类型 1=租金 2=押金 3=生活费用 */ public static final String DICT_TYPE_BILL_TYPE = "t_bill_type"; } ruoyi-system/src/main/java/com/ruoyi/system/dto/TInvoiceDTO.java
New file @@ -0,0 +1,17 @@ package com.ruoyi.system.dto; import com.ruoyi.system.model.TInvoice; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel(value = "开票DTO") public class TInvoiceDTO extends TInvoice { @ApiModelProperty(value = "账单id集合") private List<String> billIds; } ruoyi-system/src/main/java/com/ruoyi/system/model/TBillDetail.java
@@ -57,4 +57,8 @@ @TableField("total_amount") private BigDecimal totalAmount; @ApiModelProperty(value = "费用类型 1=水费 2=电费") @TableField("live_type") private Integer liveType; } ruoyi-system/src/main/java/com/ruoyi/system/vo/TBillVO.java
@@ -1,10 +1,18 @@ package com.ruoyi.system.vo; import com.ruoyi.system.model.TBill; import com.ruoyi.system.model.TBillDetail; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data @ApiModel(value = "缴费账单VO") public class TBillVO extends TBill { @ApiModelProperty(value = "水电费明细") private List<TBillDetail> billDetailList; } ruoyi-system/src/main/resources/mapper/system/TBillDetailMapper.xml
@@ -11,6 +11,7 @@ <result column="usage_measure" property="usageMeasure" /> <result column="unit_price" property="unitPrice" /> <result column="total_amount" property="totalAmount" /> <result column="live_type" property="liveType" /> <result column="create_time" property="createTime" /> <result column="update_time" property="updateTime" /> <result column="create_by" property="createBy" /> @@ -20,7 +21,7 @@ <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, bill_id, start_reading, end_reading, usage_measure, unit_price, total_amount, create_time, update_time, create_by, update_by, disabled id, bill_id, start_reading, end_reading, usage_measure, unit_price, total_amount,live_type, create_time, update_time, create_by, update_by, disabled </sql> </mapper>