From 193945d70b561bc96bb608b47b9b2e4dba3b45b2 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 07 三月 2025 11:40:39 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/IndexController.java | 185 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 174 insertions(+), 11 deletions(-) diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/IndexController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/IndexController.java index 76b035f..8f58ec4 100644 --- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/IndexController.java +++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/IndexController.java @@ -3,20 +3,21 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.constant.DictConstants; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.domain.model.LoginUserApplet; +import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DictUtils; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.TBillDto; import com.ruoyi.system.dto.TInvoiceDTO; import com.ruoyi.system.model.*; -import com.ruoyi.system.query.TBannerQuery; -import com.ruoyi.system.query.TBillQuery; -import com.ruoyi.system.query.TCheckAcceptRecordAppletQuery; -import com.ruoyi.system.query.TCheckAcceptRecordQuery; +import com.ruoyi.system.query.*; import com.ruoyi.system.service.*; import com.ruoyi.system.vo.*; import io.swagger.annotations.Api; @@ -29,10 +30,13 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -58,10 +62,16 @@ private TBillService billService; @Autowired private THouseService houseService; - + @Autowired + private TFaultRepairMessageService tFaultRepairMessageService; @Autowired private TCheckAcceptRecordService checkAcceptRecordService; - + @Autowired + private TTenantService tenantService; + @Autowired + private ISysUserService sysUserService; + @Autowired + private TContractRentTypeService contractRentTypeService; /** * 获取轮播图管理列表 */ @@ -99,6 +109,8 @@ return R.ok(myToDoVO); } + + @ApiOperation(value = "租户-当前在租房源") @PostMapping(value = "/tenant/myHouse") public R<List<MyHouseVO>> myHouse() { @@ -122,7 +134,7 @@ myToDoVO.setHouseAddress(tHouse.getHouseAddress()); myToDoVO.setMonthRent(contract.getMonthRent()); myToDoVO.setPayType(DictUtils.getDictLabel(DictConstants.DICT_TYPE_CONTRACT_PAY_TYPE, contract.getPayType())); - myToDoVO.setMonth(bill.getPayFeesTime() == null ? bill.getPayableFeesTime().getMonth() + "月" : bill.getPayFeesTime().getMonth() + "月"); + myToDoVO.setMonth(bill.getPayFeesTime() == null ? bill.getPayableFeesTime().getMonth().getValue() + "月" : bill.getPayFeesTime().getMonth().getValue() + "月"); myToDoVO.setHouseArea(tHouse.getHouseArea()); myToDoVO.setHouseType(tHouse.getHouseType()); myToDoVO.setEndTime(DateUtils.localDateTimeToStringYear(contract.getEndTime())); @@ -170,7 +182,7 @@ myToDoVO.setHouseAddress(tHouse.getHouseAddress()); myToDoVO.setMonthRent(contract.getMonthRent()); myToDoVO.setPayType(DictUtils.getDictLabel(DictConstants.DICT_TYPE_CONTRACT_PAY_TYPE, contract.getPayType())); - myToDoVO.setMonth(bill.getPayFeesTime() == null ? bill.getPayableFeesTime().getMonth() + "月" : bill.getPayFeesTime().getMonth() + "月"); + myToDoVO.setMonth(bill.getPayFeesTime() == null ? bill.getPayableFeesTime().getMonth().getValue() + "月" : bill.getPayFeesTime().getMonth().getValue() + "月"); myToDoVO.setHouseArea(tHouse.getHouseArea()); myToDoVO.setHouseType(tHouse.getHouseType()); myToDoVO.setEndTime(DateUtils.localDateTimeToStringYear(contract.getEndTime())); @@ -180,6 +192,9 @@ List<TBill> billList = bills.stream().filter(e -> e.getContractId().equals(contract.getId())).collect(Collectors.toList()); List<PayListVO> payList = new ArrayList<>(); for (TBill tBill : billList) { + if (tBill.getPayFeesTime()==null){ + continue; + } PayListVO payListVO = new PayListVO(); payListVO.setPayFeesTime(DateUtils.localDateTimeToStringYear(tBill.getPayFeesTime())); payListVO.setPayFeesMoney("-" + tBill.getPayFeesMoney() + "元"); @@ -245,8 +260,8 @@ } @ApiOperation(value = "管理员-新增验收") - @GetMapping(value = "/addRecord") - public R<TCheckAcceptRecordVO> getDetailById(@Validated @RequestBody TCheckAcceptRecord dto) { + @PostMapping(value = "/addRecord") + public R<TCheckAcceptRecordVO> addRecord(@Validated @RequestBody TCheckAcceptRecord dto) { dto.setAcceptanceTime(LocalDateTime.now()); dto.setCheckTime(LocalDateTime.now()); LocalDate now = LocalDate.now(); @@ -254,10 +269,158 @@ int size = checkAcceptRecordService.list(new LambdaQueryWrapper<TCheckAcceptRecord>() .likeRight(TCheckAcceptRecord::getAcceptanceTime, LocalDate.now())).size(); dto.setCode(replace.substring(2)+String.format("%03d", size+1)); + dto.setStatus(true); // 添加验收记录 - checkAcceptRecordService.save(dto); + checkAcceptRecordService.updateById(dto); return R.ok(); } + /** + * 获取报修管理列表 + */ + @ApiOperation(value = "管理员-房屋维修分页列表") + @PostMapping(value = "/housePageList") + public R<PageInfo<TFaultRepairMessageVO>> pageList(@RequestBody TFaultRepairMessageAppletQuery query) { + return R.ok(tFaultRepairMessageService.pageListApplet(query)); + } + /** + * 查看报修详情 + */ + @ApiOperation(value = "管理员-房屋维修查看详情") + @GetMapping(value = "/getDetailByIdRepair") + public R<TFaultRepairMessageVO> getDetailByIdRepair(@RequestParam String id) { + TFaultRepairMessageVO faultRepairMessageVO = tFaultRepairMessageService.getDetailById(id); + return R.ok(faultRepairMessageVO); + } + + /** + * 处理维修 + */ + @Log(title = "报修信息-处理维修", businessType = BusinessType.UPDATE) + @ApiOperation(value = "管理员-维修处理") + @PostMapping(value = "/handle") + public R<Boolean> handle(@Validated @RequestBody TFaultRepairMessage faultRepairMessage) { + faultRepairMessage.setStatus(2); + return R.ok(tFaultRepairMessageService.updateById(faultRepairMessage)); + } + + /** + * 获取租户管理列表 + */ + @ApiOperation(value = "获取租户分页列表") + @PostMapping(value = "/pageList") + public R<PageInfo<TenantVO>> pageList(@RequestBody TTenantAppletQuery query) { + return R.ok(tenantService.pageListApplet(query)); + } + /** + * 获取租户管理列表 + */ + @ApiOperation(value = "获取租户详情") + @GetMapping(value = "/getTenantDetailById") + public R<TTenant> getTenantDetailById(@RequestParam String id) { + return R.ok(tenantService.getById(id)); + } + /** + * 租户详情-租房信息 + */ + @ApiOperation(value = "租户详情-租房信息列表") + @GetMapping(value = "/listHouse") + public R<List<THouse>> listHouse(@RequestParam String id) { + List<THouse> res = tenantService.listHouse(id); + return R.ok(res); + } + /** + * 租户详情-租房信息 + */ + @ApiOperation(value = "租户详情-合同列表") + @GetMapping(value = "/listContract") + public R<List<TContract>> listContract(@RequestParam String id) { + List<TContract> res = tenantService.listContract(id); + return R.ok(res); + } + @ApiOperation(value = "租户详情-缴费账单列表") + @PostMapping("/listBill") + public R<PageInfo<TBillVO>> listBill(@RequestBody TBillAppletQuery query){ + PageInfo<TBillVO> pageInfo = tenantService.listBill(query); + return R.ok(pageInfo); + } + @ApiOperation(value = "租户详情-缴费账单-账单详情") + @PostMapping("/billDetail") + public R<TBillVO> billDetail(String id){ + TBillVO res = new TBillVO(); + TBill bill = billService.getById(id); + BeanUtils.copyProperties(bill, res); + TContract contract = contractService.getById(bill.getContractId()); + THouse tHouse = houseService.getById(contract.getHouseId()); + res.setHouse(tHouse); + res.setConcatStartTime(contract.getStartTime()); + res.setConcatEndTime(contract.getEndTime()); + res.setPartyOnePhone(contract.getPartyOnePhone()); + res.setPartyOnePerson(contract.getPartyTwoPerson()); + res.setMonthRent(bill.getPayableFeesMoney()); + res.setPayType(contract.getPayType()); + return R.ok(res); + } + @ApiOperation(value = "管理员-我的审批分页列表") + @PostMapping("/listExamine") + public R<PageInfo<ExamineVO>> examineList(@RequestBody TExamineAppletQuery dto){ + LoginUser loginUser = tokenService.getLoginUser(); + if (loginUser==null){ + return R.fail(401,"登录失效"); + } + SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId()); + dto.setUserName(sysUser.getUserName()); + PageInfo<ExamineVO> pageInfo = tenantService.examineList(dto); + return R.ok(pageInfo); + } + @ApiOperation(value = "管理员-审批详情") + @GetMapping("/examineDetail") + public R<TContractVO> examineDetail(@RequestParam String id){ + TContractVO res = new TContractVO(); + TContract contract = contractService.getById(id); + BeanUtils.copyProperties(contract,res); + res.setPayType(DictUtils.getDictLabel(DictConstants.DICT_TYPE_CONTRACT_PAY_TYPE,res.getPayType())); + res.setStatus(DictUtils.getDictLabel(DictConstants.DICT_TYPE_CONTRACT_STATUS,res.getStatus())); + TContractRentType contractRentType = contractRentTypeService.lambdaQuery().eq(TContractRentType::getContractId, id).one(); + if (contractRentType!=null){ + BeanUtils.copyProperties(contractRentType,res); + } + TContract oldContract = contractService.getOne(new LambdaQueryWrapper<TContract>() + .eq(TContract::getHouseId,contract.getHouseId()) + .eq(TContract::getStatus, 4) + .le(TContract::getStartTime, LocalDateTime.now()) + .ge(TContract::getEndTime, LocalDateTime.now())); + THouse house = houseService.getById(contract.getHouseId()); + if (oldContract!=null){ + house.setTenantType(oldContract.getPayType()); + } + res.setHouse(house); + List<TBill> list = billService.lambdaQuery() + .eq(TBill::getContractId, id) + .in(TBill::getPayFeesStatus, Arrays.asList("1,4")) + .list(); + BigDecimal payMoney = new BigDecimal("0"); + for (TBill tBill : list) { + payMoney = payMoney.add(tBill.getPayFeesMoney()).add(tBill.getPayableFeesPenalty()); + } + TCheckAcceptRecord tCheckAcceptRecord = checkAcceptRecordService.lambdaQuery().eq(TCheckAcceptRecord::getContractId, id).one(); + res.setCheckResult(Objects.nonNull(tCheckAcceptRecord)?tCheckAcceptRecord.getCheckResult():false); + res.setPayMoney(payMoney); + + return R.ok(res); + } + @ApiOperation(value = "管理员-我的审批-撤销") + @GetMapping("/cancel") + public R cancel(@RequestParam String id){ + return R.ok(); + } + @ApiOperation(value = "管理员-我的审批-审批") + @GetMapping("/examine") + public R examine(@RequestParam String id){ + return R.ok(); + } + + + } -- Gitblit v1.7.1