From 5f0cb7bfdfbbca6ff22f02ce27c43a4b41ca6bfb Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期三, 12 三月 2025 13:53:26 +0800 Subject: [PATCH] bug修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultDescribeDicController.java | 4 + ruoyi-system/src/main/java/com/ruoyi/system/query/TBillQuery.java | 5 ++ ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TBillController.java | 14 +++++++ ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java | 22 +++++----- ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java | 20 --------- ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TFaultRepairMessageController.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java | 2 + ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java | 5 ++ ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml | 24 ++++++++++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java | 2 + ruoyi-system/src/main/java/com/ruoyi/system/dto/BatchBillDTO.java | 18 +++++++++ 12 files changed, 87 insertions(+), 33 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultDescribeDicController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultDescribeDicController.java index ddd4270..d3530a7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultDescribeDicController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFaultDescribeDicController.java @@ -16,6 +16,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.time.LocalDateTime; import java.util.List; /** @@ -67,6 +68,7 @@ @ApiOperation(value = "修改故障描述") @PostMapping(value = "/update") public R<Boolean> update(@Validated @RequestBody TFaultDescribeDic dto) { + dto.setUpdateTime(LocalDateTime.now()); return R.ok(faultDescribeDicService.updateById(dto)); } @@ -101,6 +103,6 @@ public R<Boolean> deleteByIds(@RequestBody List<String> ids) { return R.ok(faultDescribeDicService.removeByIds(ids)); } - + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index e4755e8..b44867f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -156,7 +156,7 @@ @PostMapping("/add") public AjaxResult add(@Validated @RequestBody SysUser user) { - user.setUserName(user.getPhonenumber()); + user.setUserName(user.getUserName()); if (!userService.checkUserNameUnique(user)) { return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java index 1b8b4e9..2fc75ee 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java @@ -2,6 +2,7 @@ // // //import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +//import com.ruoyi.common.utils.SmsUtil; //import com.ruoyi.system.mapper.TBillMapper; //import com.ruoyi.system.model.TBill; //import com.ruoyi.system.model.TContract; @@ -40,7 +41,6 @@ // // 用于更新违约金账单 // // 每分钟执行一次的定时任务 // -//// @Scheduled(cron = "0 0 0 * * ?") // @Scheduled(cron = "0 * * * * ?") // public void dayOfProportionBill() { // try { @@ -79,23 +79,5 @@ // } // } // -// public static void main(String[] args) { -// -//// LocalDateTime now = LocalDateTime.now().minusMonths(1).withDayOfMonth(31); -//// System.err.println(now); -//// LocalDateTime now2 = now.plusMonths(1); -//// System.err.println(now2); -//// -//// LocalDateTime now1 = LocalDateTime.now(); -//// long days = ChronoUnit.DAYS.between(now, now1); -//// long days2 = ChronoUnit.DAYS.between(now.plusDays(1), now1); -//// -//// System.err.println(days); -//// System.err.println(days2); -//// LocalDateTime endTime = now.with(TemporalAdjusters.lastDayOfMonth()).withSecond(59).withHour(23).withMinute(59); -//// -//// System.err.println(endTime); -// -// } // //} 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 b275980..2ab98bb 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,6 +1,7 @@ package com.ruoyi.web.controller.api; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.constant.DictConstants; @@ -10,6 +11,7 @@ import com.ruoyi.common.utils.DictUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.dto.BatchBillDTO; import com.ruoyi.system.dto.TBillDto; import com.ruoyi.system.dto.TInvoiceDTO; import com.ruoyi.system.model.*; @@ -82,6 +84,18 @@ return R.ok(billIds); } + @ApiOperation(value = "跳转批量缴费") + @PostMapping("/batchBill") + public R<String> batchBill(@RequestBody BatchBillDTO dto){ + String userId = tokenService.getLoginUserApplet().getUserId(); + List<String> billIds = dto.getBillIds(); + Integer count = tBillService.batchBillCount(userId, billIds); + if(count>0){ + return R.fail("请优先缴纳水电费"); + } + return R.ok(); + } + @ApiOperation(value = "查看缴费账单详情") @GetMapping(value = "/getDetailById") public R<TBillVO> getDetailById(@RequestParam String id) { diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TFaultRepairMessageController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TFaultRepairMessageController.java index e6cbbd3..d53226b 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TFaultRepairMessageController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TFaultRepairMessageController.java @@ -134,7 +134,7 @@ for (SysUser sysUser : sysUsers) { if (StringUtils.hasLength(sysUser.getPhonenumber())){ System.err.println("发送短信"); - smsUtil.sendSms(sysUser.getPhonenumber(),"2375194",new String[]{""}); + smsUtil.sendSms(sysUser.getPhonenumber(),"2375194",new String[]{}); } } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/BatchBillDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/BatchBillDTO.java new file mode 100644 index 0000000..4910ba6 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/BatchBillDTO.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +@ApiModel(value = "批量缴费校验") +public class BatchBillDTO implements Serializable { + + @ApiModelProperty(value = "账单id集合") + private List<String> billIds; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java index 2ad934f..357d516 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java @@ -44,4 +44,6 @@ BigDecimal statisticsPayed(); BigDecimal statisticsOverdue(); + + Integer batchBillCount(@Param("userId")String userId, @Param("billIds")List<String> billIds); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TBillQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TBillQuery.java index e5a60cd..1d66290 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/query/TBillQuery.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TBillQuery.java @@ -22,6 +22,11 @@ */ @ApiModelProperty("租户ID") private String userId; + /** + * 账单类型 + */ + @ApiModelProperty("账单类型 1=租金 2=押金 3=生活费用 4=房屋验收") + private Integer billType; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java index 19b7f69..0015ee5 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java @@ -85,4 +85,6 @@ Boolean cashPay(CachPayDto offlinePayDto); BillStatisticsDto statistics(); + + Integer batchBillCount(String userId, List<String> billIds); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java index 40774f4..7c136f2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/FlowListenerService.java @@ -31,14 +31,8 @@ import com.ruoyi.common.enums.SubmitStatusEnum; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.system.mapper.TCheckAcceptRecordMapper; -import com.ruoyi.system.model.TBill; -import com.ruoyi.system.model.TCheckAcceptRecord; -import com.ruoyi.system.model.TContract; -import com.ruoyi.system.model.TContractRentType; -import com.ruoyi.system.service.ISysRoleService; -import com.ruoyi.system.service.TBillService; -import com.ruoyi.system.service.TContractRentTypeService; -import com.ruoyi.system.service.TContractService; +import com.ruoyi.system.model.*; +import com.ruoyi.system.service.*; import com.ruoyi.system.task.base.QuartzManager; import com.ruoyi.system.task.base.TimeJobType; import com.ruoyi.system.task.jobs.StateProcessJob; @@ -84,6 +78,7 @@ private final TContractRentTypeService contractRentTypeService; private final TBillService billService; private final TCheckAcceptRecordMapper checkAcceptRecordMapper; + private final THouseService houseService; public static void main(String[] args) { // LocalDate localDate1 = LocalDate.now().withYear(2025).withMonth(4).withDayOfMonth(1); @@ -278,6 +273,12 @@ int submitStatus = status == 0 ? 3 : (status == 1 ? 4 : 5); contractService.updateContractAuditStatus(processParameter.getString("projectId"), submitStatus); TContract contract = contractService.getById(processParameter.getString("projectId")); + // 修改房屋状态 + THouse house = houseService.getById(contract.getHouseId()); + if(Objects.nonNull(house)){ + house.setLeaseStatus("2"); + houseService.updateById(house); + } List<TContractRentType> contractRentTypes = contractRentTypeService.list(); TContractRentType tContractRentType = contractRentTypes.stream().filter(e -> e.getContractId().equals(contract.getId())).findFirst().orElse(null); @@ -387,9 +388,8 @@ if (beforeBill.getEndTime().plusMonths(contract.getPayType().equals("1") ? 1 : contract.getPayType().equals("2") ? 3 : 12).getDayOfMonth() <= 15) { tBill.setPayableFeesTime(contract.getEndTime().toLocalDate()); } else { - tBill.setPayableFeesTime((contract.getPayType().equals("1") ? - beforeBill.getEndTime().plusMonths(1).withDayOfMonth(15).toLocalDate() : contract.getPayType().equals("2") ? - beforeBill.getEndTime().plusMonths(3).withDayOfMonth(15).toLocalDate() : beforeBill.getEndTime().withDayOfMonth(15).plusMonths(12).toLocalDate())); + tBill.setPayableFeesTime((contract.getPayType().equals("1") || contract.getPayType().equals("2")? + beforeBill.getEndTime().plusMonths(1).withDayOfMonth(15).toLocalDate() : beforeBill.getEndTime().withDayOfMonth(15).plusMonths(12).toLocalDate())); } tBill.setContractId(contract.getId()); if (contract.getIsIncreasing()) { diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java index 1dd6cad..6fab5c1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java @@ -513,5 +513,10 @@ return dto; } + @Override + public Integer batchBillCount(String userId, List<String> billIds) { + return this.baseMapper.batchBillCount(userId,billIds); + } + } diff --git a/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml index 5415d26..81d281c 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml @@ -93,6 +93,9 @@ <if test="query.userId != null and query.userId !=''"> and t.id = #{query.userId} </if> + <if test="query.billType != null"> + and b.bill_type = #{query.billType} + </if> and b.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> order by b.bill_type,b.payable_fees_time @@ -162,4 +165,25 @@ <select id="statisticsOverdue" resultType="java.math.BigDecimal"> SELECT ifnull(sum(outstanding_money),0) as amount FROM t_bill where pay_fees_status=4 </select> + <select id="batchBillCount" resultType="java.lang.Integer"> + SELECT + count(b.id) + FROM + t_bill b + LEFT JOIN t_contract c ON c.contract_number = b.contract_number and c.disabled=0 + LEFT JOIN t_house h ON h.id = c.house_id and h.disabled=0 + LEFT JOIN t_tenant t ON t.id = c.tenant_id and t.disabled=0 + <where> + <if test="userId != null and userId !=''"> + AND t.id = #{userId} + </if> + <if test="billIds != null and billIds.size() > 0"> + AND b.id NOT IN + <foreach collection="billIds" item="item" index="index" open="(" separator="," close=")"> + #{item} + </foreach> + </if> + AND b.bill_type = 3 + </where> + </select> </mapper> -- Gitblit v1.7.1