From 28d40a97ffa0acfda8e3766b0edd08e24c8dd21f Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 04 四月 2025 00:55:09 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java | 85 ++++++++++++++++++++++++++++++++++-------- 1 files changed, 69 insertions(+), 16 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java index 18e6005..de6f98f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java @@ -3,22 +3,37 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.exception.ServiceException; -import com.ruoyi.system.dto.*; -import com.ruoyi.system.model.TBill; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.dto.BillStatisticsDto; +import com.ruoyi.system.dto.CachPayDto; +import com.ruoyi.system.dto.OfflinePayCheckDto; +import com.ruoyi.system.dto.SmsByBillDto; +import com.ruoyi.system.dto.TBillDto; +import com.ruoyi.system.dto.TbillSaveDto; +import com.ruoyi.system.model.TBillConfirm; import com.ruoyi.system.model.TBillDetail; +import com.ruoyi.system.model.TContract; import com.ruoyi.system.query.TBillQuery; +import com.ruoyi.system.query.TContractQuery; +import com.ruoyi.system.service.TBillConfirmService; import com.ruoyi.system.service.TBillDetailService; import com.ruoyi.system.service.TBillService; +import com.ruoyi.system.service.TContractService; 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.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +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.RequestParam; +import org.springframework.web.bind.annotation.RestController; -import javax.validation.constraints.NotEmpty; import java.util.List; +import java.util.Objects; /** * <p> @@ -39,26 +54,51 @@ @Autowired TBillDetailService tBillDetailService; + @Autowired + TBillConfirmService tBillConfirmService; - @PreAuthorize("@ss.hasPermi('system:bill:list')") + @Autowired + TContractService contractService; + + @PreAuthorize("@ss.hasPermi('bill:list')") @PostMapping("list") @ApiOperation("分页查询账单列表") public R<PageInfo<TBillDto>> list(@RequestBody TBillQuery query){ + query.setBusinessDeptId(SecurityUtils.getBusinessDeptId()); PageInfo<TBillDto> pageInfo = tBillService.queryPage(query); return R.ok(pageInfo); } - @PreAuthorize("@ss.hasPermi('system:bill:add')") + + @ApiOperation(value = "获取合同分页列表") + @PostMapping(value = "/contractList") + public R<PageInfo<TContract>> contractList(@RequestBody TContractQuery query) { + query.setBusinessDeptId(SecurityUtils.getBusinessDeptId()); + return R.ok(contractService.queryPage(query)); + } + + @PreAuthorize("@ss.hasPermi('bill:list:addRent')") @PostMapping("add") @ApiOperation("新增账单") public R<PageInfo<TBillDto>> add(@Validated @RequestBody TbillSaveDto bill){ + String businessDeptId = SecurityUtils.getBusinessDeptId(); + if (SecurityUtils.getBusinessDeptId().equals("0")) { + TContract contract = contractService.getById(bill.getContractId()); + if (Objects.nonNull(contract)) { + businessDeptId = contract.getBusinessDeptId(); + } + } + bill.setBusinessDeptId(businessDeptId); tBillService.saveBill(bill); return R.ok(); } @ApiOperation("通过ID查找详情") @GetMapping("getDetailById") - public R<TBillDto> getDetailById(@Validated @NotEmpty String id){ + public R<TBillDto> getDetailById(@RequestParam String id){ + if (StringUtils.isEmpty(id)){ + return R.fail(); + } TBillDto dto = tBillService.getDetailByBillId(id); if (dto.getBillType().equals("3")){ List<TBillDetail> details = tBillDetailService.getByBillId(id); @@ -67,11 +107,15 @@ else dto.setElect(detail); //电费 } } + if (StringUtils.isNotEmpty(dto.getConfirmId())){ + TBillConfirm confirm = tBillConfirmService.getById(dto.getConfirmId()); + dto.setConfirm(confirm); + } return R.ok(dto); } - @PreAuthorize("@ss.hasPermi('system:bill:checkOfflinePay')") + @PreAuthorize("@ss.hasPermi('bill:list:paid')") @ApiOperation("确认线下缴费") @PostMapping("checkOfflinePay") public R checkOfflinePay(@Validated @RequestBody OfflinePayCheckDto dto){ @@ -79,7 +123,7 @@ return R.ok(); } - @PreAuthorize("@ss.hasPermi('system:bill:sendSmsByBillIds')") + @PreAuthorize("@ss.hasPermi('bill:list:sendMsg')") @ApiOperation("账单批量发送短信通知") @PostMapping("sendSmsByBillIds") public R sendSmsByBillIds(@Validated @RequestBody SmsByBillDto dto){ @@ -88,23 +132,32 @@ } - @PreAuthorize("@ss.hasPermi('system:bill:sendMailBatchByBillIds')") - @ApiOperation("账单批量发送邮件通知") + @PreAuthorize("@ss.hasPermi('bill:list:sendMail')") + @ApiOperation("账单批量发送邮箱通知") @PostMapping("sendMailBatchByBillIds") public R sendMailBatchByBillIds(@Validated @RequestBody SmsByBillDto dto){ Integer failNum = tBillService.sendMailBatchByBillIds(dto); return R.ok(failNum); } - @PreAuthorize("@ss.hasPermi('system:bill:cashPay')") + + + + @PreAuthorize("@ss.hasPermi('bill:list:receipt')") @ApiOperation("收款") @PostMapping("cashPay") - public R cashPay(@RequestBody OfflinePayDto offlinePayDto){ - - return null; + public R cashPay(@RequestBody CachPayDto cachPayDto){ + tBillService.cashPay(cachPayDto); + return R.ok(); } + @ApiOperation("统计") + @GetMapping("statistics") + public R<BillStatisticsDto> statistics(){ + BillStatisticsDto dto = tBillService.statistics(SecurityUtils.getBusinessDeptId()); + return R.ok(dto); + } -- Gitblit v1.7.1