ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/IndexController.java
@@ -3,20 +3,19 @@ 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.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; @@ -58,10 +57,12 @@ private TBillService billService; @Autowired private THouseService houseService; @Autowired private TFaultRepairMessageService tFaultRepairMessageService; @Autowired private TCheckAcceptRecordService checkAcceptRecordService; @Autowired private TTenantService tenantService; /** * 获取轮播图管理列表 */ @@ -246,7 +247,7 @@ @ApiOperation(value = "管理员-新增验收") @GetMapping(value = "/addRecord") public R<TCheckAcceptRecordVO> getDetailById(@Validated @RequestBody TCheckAcceptRecord dto) { public R<TCheckAcceptRecordVO> addRecord(@Validated @RequestBody TCheckAcceptRecord dto) { dto.setAcceptanceTime(LocalDateTime.now()); dto.setCheckTime(LocalDateTime.now()); LocalDate now = LocalDate.now(); @@ -258,6 +259,78 @@ checkAcceptRecordService.save(dto); return R.ok(); } /** * 获取报修管理列表 */ @ApiOperation(value = "管理员-房屋维修分页列表") @PostMapping(value = "/pageList") 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 = "/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); return R.ok(res); } } ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TFaultRepairMessageController.java
@@ -1,6 +1,7 @@ package com.ruoyi.web.controller.api; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.core.domain.R; import com.ruoyi.framework.web.service.TokenService; @@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RestController; import java.time.LocalDate; import java.util.List; import java.util.stream.Collectors; @@ -116,6 +118,11 @@ @PostMapping(value = "/addFault") public R<String> addFault(@RequestBody TFaultRepairMessageDTO dto) { dto.setTenantId(tokenService.getLoginUserApplet().getUserId()); LocalDate now = LocalDate.now(); String replace = (now + "").replace("-", ""); int size = tFaultRepairMessageService.list(new LambdaQueryWrapper<TFaultRepairMessage>() .likeRight(TFaultRepairMessage::getCreateTime, LocalDate.now())).size(); dto.setCode(replace.substring(2)+String.format("%03d", size+1)); tFaultRepairMessageService.save(dto); return R.ok(); } ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFaultRepairMessageMapper.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TFaultRepairMessage; import com.ruoyi.system.query.TFaultRepairMessageAppletQuery; import com.ruoyi.system.query.TFaultRepairMessageQuery; import com.ruoyi.system.vo.TFaultRepairMessageVO; import org.apache.ibatis.annotations.Param; @@ -33,5 +34,6 @@ * @return */ List<TFaultRepairMessageVO> pageList(@Param("query") TFaultRepairMessageQuery query, @Param("pageInfo")PageInfo<TFaultRepairMessageVO> pageInfo); List<TFaultRepairMessageVO> pageListApplet(@Param("query") TFaultRepairMessageAppletQuery query, @Param("pageInfo")PageInfo<TFaultRepairMessageVO> pageInfo); } ruoyi-system/src/main/java/com/ruoyi/system/mapper/TTenantMapper.java
@@ -3,7 +3,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TTenant; import com.ruoyi.system.query.TBillAppletQuery; import com.ruoyi.system.query.TTenantAppletQuery; import com.ruoyi.system.query.TTenantQuery; import com.ruoyi.system.vo.TBillVO; import com.ruoyi.system.vo.TenantVO; import org.apache.ibatis.annotations.Param; @@ -26,6 +29,9 @@ * @return */ List<TenantVO> pageList(@Param("query") TTenantQuery query, @Param("pageInfo")PageInfo<TenantVO> pageInfo); List<TenantVO> pageListApplet(@Param("query") TTenantAppletQuery query, @Param("pageInfo")PageInfo<TenantVO> pageInfo); List<TBillVO> listBill(@Param("query") TBillAppletQuery query,@Param("pageInfo") PageInfo<TBillVO> pageInfo); } ruoyi-system/src/main/java/com/ruoyi/system/model/TFaultRepairMessage.java
@@ -109,6 +109,9 @@ @ApiModelProperty(value = "附件名称 逗号分割") @TableField("attachment_name") private String attachmentName; @ApiModelProperty(value = "维修单号") @TableField("code") private String code; @ApiModelProperty(value = "状态 1=待处理 2=已处理") @TableField("status") ruoyi-system/src/main/java/com/ruoyi/system/query/TBillAppletQuery.java
New file @@ -0,0 +1,30 @@ package com.ruoyi.system.query; import com.ruoyi.common.core.domain.BasePage; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data public class TBillAppletQuery extends BasePage { /** * 缴费状态 1=未缴费 2=待确认 3=已缴费 4=已逾期 */ @ApiModelProperty("缴费状态 全部不传 1=未缴费 2=待确认 3=已缴费 4=已逾期") private Integer payFeesStatus; /** * 租户ID */ @ApiModelProperty("租户ID") private String id; /** * 合同ids */ @ApiModelProperty("合同ids 前端忽略") private List<String> contractIds; } ruoyi-system/src/main/java/com/ruoyi/system/query/TFaultRepairMessageAppletQuery.java
New file @@ -0,0 +1,14 @@ package com.ruoyi.system.query; import com.ruoyi.common.core.domain.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "小程序房屋维修受理列表query") public class TFaultRepairMessageAppletQuery extends BasePage { @ApiModelProperty(value = "房屋地址") private String houseAddress; } ruoyi-system/src/main/java/com/ruoyi/system/query/TTenantAppletQuery.java
New file @@ -0,0 +1,18 @@ package com.ruoyi.system.query; import com.ruoyi.common.core.domain.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "租户查询Query") public class TTenantAppletQuery extends BasePage { @ApiModelProperty(value = "租户姓名或电话") private String residentNameOrPhone; } ruoyi-system/src/main/java/com/ruoyi/system/service/TFaultRepairMessageService.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.model.TFaultRepairMessage; import com.ruoyi.system.query.TFaultRepairMessageAppletQuery; import com.ruoyi.system.query.TFaultRepairMessageQuery; import com.ruoyi.system.vo.TFaultRepairMessageVO; @@ -29,4 +30,5 @@ * @return */ PageInfo<TFaultRepairMessageVO> pageList(TFaultRepairMessageQuery query); PageInfo<TFaultRepairMessageVO> pageListApplet(TFaultRepairMessageAppletQuery query); } ruoyi-system/src/main/java/com/ruoyi/system/service/TTenantService.java
@@ -2,11 +2,18 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.dto.TBillDto; import com.ruoyi.system.model.TContract; import com.ruoyi.system.model.THouse; import com.ruoyi.system.query.TBillAppletQuery; import com.ruoyi.system.query.TTenantAppletQuery; import com.ruoyi.system.utils.wx.pojo.AppletUserDecodeData; import com.ruoyi.system.model.TTenant; import com.ruoyi.system.query.TTenantQuery; import com.ruoyi.system.vo.TBillVO; import com.ruoyi.system.vo.TenantVO; import java.util.List; import java.util.Map; /** @@ -25,6 +32,12 @@ * @return */ PageInfo<TenantVO> pageList(TTenantQuery query); PageInfo<TenantVO> pageListApplet(TTenantAppletQuery query); List<THouse> listHouse(String id); List<TContract> listContract(String id); PageInfo<TBillVO> listBill(TBillAppletQuery query); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFaultRepairMessageServiceImpl.java
@@ -3,6 +3,7 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.mapper.TFaultRepairMessageMapper; import com.ruoyi.system.model.TFaultRepairMessage; import com.ruoyi.system.query.TFaultRepairMessageAppletQuery; import com.ruoyi.system.query.TFaultRepairMessageQuery; import com.ruoyi.system.service.TFaultRepairMessageService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -35,4 +36,12 @@ pageInfo.setRecords(list); return pageInfo; } @Override public PageInfo<TFaultRepairMessageVO> pageListApplet(TFaultRepairMessageAppletQuery query) { PageInfo<TFaultRepairMessageVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TFaultRepairMessageVO> list = this.baseMapper.pageListApplet(query,pageInfo); pageInfo.setRecords(list); return pageInfo; } } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java
@@ -1,20 +1,31 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.constant.DictConstants; import com.ruoyi.common.utils.DictUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.mapper.TContractMapper; import com.ruoyi.system.mapper.THouseMapper; import com.ruoyi.system.mapper.TTenantMapper; import com.ruoyi.system.model.TContract; import com.ruoyi.system.model.THouse; import com.ruoyi.system.model.TTenant; import com.ruoyi.system.query.TBillAppletQuery; import com.ruoyi.system.query.TTenantAppletQuery; import com.ruoyi.system.query.TTenantQuery; import com.ruoyi.system.service.TTenantService; import com.ruoyi.system.utils.wx.pojo.AppletUserDecodeData; import com.ruoyi.system.vo.TBillVO; import com.ruoyi.system.vo.TenantVO; import com.sun.corba.se.spi.ior.IdentifiableFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * <p> @@ -27,6 +38,10 @@ @Service public class TTenantServiceImpl extends ServiceImpl<TTenantMapper, TTenant> implements TTenantService { @Autowired private THouseMapper houseMapper; @Autowired private TContractMapper contractMapper; @Override public PageInfo<TenantVO> pageList(TTenantQuery query) { PageInfo<TenantVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); @@ -39,4 +54,48 @@ return pageInfo; } @Override public PageInfo<TenantVO> pageListApplet(TTenantAppletQuery query) { PageInfo<TenantVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TenantVO> list = this.baseMapper.pageListApplet(query,pageInfo); for (TenantVO tenantVO : list) { tenantVO.setTenantAttributesName(StringUtils.isNotBlank(tenantVO.getTenantAttributes())?DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_ATTRIBUTE,tenantVO.getTenantAttributes()):""); tenantVO.setTenantTypeName(StringUtils.isNotBlank(tenantVO.getTenantType())?DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_TYPE,tenantVO.getTenantType()):""); } pageInfo.setRecords(list); return pageInfo; } @Override public List<THouse> listHouse(String id) { List<TContract> tContracts = contractMapper.selectList(new LambdaQueryWrapper<TContract>() .eq(TContract::getTenantId,id) .eq(TContract::getStatus, 4)); List<String> houseIds = tContracts.stream().map(TContract::getHouseId).collect(Collectors.toList()); if (houseIds.isEmpty())houseIds.add("-1"); return houseMapper.selectList(new LambdaQueryWrapper<THouse>() .in(THouse::getId, houseIds)); } @Override public List<TContract> listContract(String id) { return contractMapper.selectList(new LambdaQueryWrapper<TContract>() .eq(TContract::getTenantId,id) .eq(TContract::getStatus, 4)); } @Override public PageInfo<TBillVO> listBill(TBillAppletQuery query) { List<String> contractIds = contractMapper.selectList(new LambdaQueryWrapper<TContract>() .eq(TContract::getTenantId, query.getId())).stream().map(TContract::getId) .collect(Collectors.toList()); if (contractIds.isEmpty())contractIds.add("0"); PageInfo<TBillVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TBillVO> list = this.baseMapper.listBill(query,pageInfo); for (TBillVO tBillVO : list) { tBillVO.setPayFeesStatus(DictUtils.getDictLabel(DictConstants.DICT_TYPE_LEASE_STATUS,tBillVO.getPayFeesStatus())); } pageInfo.setRecords(list); return pageInfo; } } ruoyi-system/src/main/resources/mapper/system/TFaultRepairMessageMapper.xml
@@ -130,5 +130,48 @@ </where> ORDER BY t.create_time DESC </select> <select id="pageListApplet" resultType="com.ruoyi.system.vo.TFaultRepairMessageVO"> SELECT t.id, t.tenant_id, t.item_id, t.item_type_id, t.contract_id, t.fault_area_name, t.describe_name, t.describe_detail, t.fault_pictures, t.service_address, t.repair_type, t.visit_time, t.contact_number, t.leave_message, t.handle_person, t.handle_time, t.result_describe, t.repair_picture, t.attachment, t.attachment_name, t.status, t.create_time, t.update_time, t.create_by, t.update_by, t.disabled, i.item_name AS itemName, it.type_name AS itemTypeName, tnt.resident_name AS residentName from t_fault_repair_message t LEFT JOIN t_item i ON t.item_id = i.id LEFT JOIN t_item_type it ON t.item_type_id = it.id LEFT JOIN t_tenant tnt ON t.tenant_id = tnt.id <where> <if test="query.houseAddress != null and query.houseAddress != ''"> AND tnt.service_address LIKE CONCAT('%', #{query.houseAddress}, '%') </if> AND t.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY t.create_time DESC </select> </mapper> ruoyi-system/src/main/resources/mapper/system/TTenantMapper.xml
@@ -43,5 +43,32 @@ </where> ORDER BY create_time DESC </select> <select id="pageListApplet" resultType="com.ruoyi.system.vo.TenantVO"> SELECT id, resident_name, checkIn_time, tenant_attributes, tenant_type, phone, id_card, email, bank_number, mail_address, create_time, disabled,account FROM t_tenant <where> <if test="query.residentNameOrPhone != null and query.residentNameOrPhone != ''"> AND (resident_name LIKE concat('%',#{query.residentNameOrPhone},'%')or phone LIKE concat('%',#{query.residentNameOrPhone},'%')) </if> AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY create_time DESC </select> <select id="listBill" resultType="com.ruoyi.system.vo.TBillVO"> select t1.* from t_bill t1 where 1=1 <if test="query.payFeesStatus != null and query.payFeesStatus != ''"> AND t1.pay_fees_status = #{query.payFeesStatus} </if> <if test="null != query.contractIds and query.contractIds.size() > 0"> and t1.contract_id in <foreach collection="query.contractIds" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> </if> AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()} </select> </mapper>