From fa1c1ea203559ef7cbb93dc9097fc703c6a52d2e Mon Sep 17 00:00:00 2001 From: yupeng <roc__yu@163.com> Date: 星期二, 11 二月 2025 11:31:03 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' into xizang-changyun --- ruoyi-system/src/main/java/com/ruoyi/system/vo/TBillVO.java | 8 ++ ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java | 2 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java | 63 +++++++++++++++++++- ruoyi-common/src/main/java/com/ruoyi/common/constant/DictConstants.java | 4 + ruoyi-system/src/main/java/com/ruoyi/system/dto/TInvoiceDTO.java | 17 +++++ ruoyi-system/src/main/java/com/ruoyi/system/model/TBillDetail.java | 4 + ruoyi-system/src/main/resources/mapper/system/TBillDetailMapper.xml | 3 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TInformationController.java | 27 +++++++++ 8 files changed, 122 insertions(+), 6 deletions(-) diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java index b005e24..41dbec5 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java +++ b/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(); + } diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TInformationController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TInformationController.java index 1917c1a..dd18571 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TInformationController.java +++ b/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)); + } + } diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java index fa44b77..3aeaac9 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java +++ b/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); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/DictConstants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/DictConstants.java index 068e4f0..19a3caf 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/DictConstants.java +++ b/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"; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/TInvoiceDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TInvoiceDTO.java new file mode 100644 index 0000000..471288d --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/TInvoiceDTO.java @@ -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; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TBillDetail.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TBillDetail.java index 80e8157..ee01b72 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TBillDetail.java +++ b/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; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TBillVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TBillVO.java index cee3da4..60ad80c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TBillVO.java +++ b/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; + } diff --git a/ruoyi-system/src/main/resources/mapper/system/TBillDetailMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TBillDetailMapper.xml index fd790b1..a2009d7 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TBillDetailMapper.xml +++ b/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> -- Gitblit v1.7.1