package com.java110.community.api; import com.alibaba.fastjson.JSONObject; import com.java110.community.bmo.roomRenovation.IDeleteRoomRenovationBMO; import com.java110.community.bmo.roomRenovation.IGetRoomRenovationBMO; import com.java110.community.bmo.roomRenovation.ISaveRoomRenovationBMO; import com.java110.community.bmo.roomRenovation.IUpdateRoomRenovationBMO; import com.java110.community.bmo.roomRenovationDetail.IDeleteRoomRenovationDetailBMO; import com.java110.community.bmo.roomRenovationDetail.IGetRoomRenovationDetailBMO; import com.java110.community.bmo.roomRenovationDetail.ISaveRoomRenovationDetailBMO; import com.java110.community.bmo.roomRenovationRecord.IDeleteRoomRenovationRecordBMO; import com.java110.community.bmo.roomRenovationRecord.IGetRoomRenovationRecordBMO; import com.java110.community.bmo.roomRenovationRecord.ISaveRoomRenovationRecordBMO; import com.java110.core.annotation.Java110Transactional; import com.java110.core.factory.GenerateCodeFactory; import com.java110.core.smo.IPhotoSMO; import com.java110.dto.room.RoomDto; import com.java110.dto.community.CommunitySettingDto; import com.java110.dto.fee.FeeAttrDto; import com.java110.dto.fee.FeeConfigDto; import com.java110.dto.fee.FeeDto; import com.java110.dto.file.FileRelDto; import com.java110.dto.owner.OwnerRoomRelDto; import com.java110.dto.room.RoomRenovationDto; import com.java110.dto.room.RoomRenovationDetailDto; import com.java110.dto.user.UserDto; import com.java110.intf.common.IFileRelInnerServiceSMO; import com.java110.intf.community.ICommunitySettingInnerServiceSMO; import com.java110.intf.community.IRoomRenovationInnerServiceSMO; import com.java110.intf.fee.IFeeAttrInnerServiceSMO; import com.java110.intf.fee.IFeeConfigInnerServiceSMO; import com.java110.intf.fee.IFeeInnerServiceSMO; import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO; import com.java110.intf.user.IUserInnerServiceSMO; import com.java110.po.fee.FeeAttrPo; import com.java110.po.fee.PayFeePo; import com.java110.po.file.FileRelPo; import com.java110.po.room.RoomRenovationPo; import com.java110.po.room.RoomRenovationDetailPo; import com.java110.po.room.RoomRenovationRecordPo; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import com.java110.utils.util.StringUtil; import com.java110.vo.ResultVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; @RestController @RequestMapping(value = "/roomRenovation") public class RoomRenovationApi { @Autowired private ISaveRoomRenovationBMO saveRoomRenovationBMOImpl; @Autowired private IUpdateRoomRenovationBMO updateRoomRenovationBMOImpl; @Autowired private IDeleteRoomRenovationBMO deleteRoomRenovationBMOImpl; @Autowired private IGetRoomRenovationBMO getRoomRenovationBMOImpl; @Autowired private ISaveRoomRenovationDetailBMO saveRoomRenovationDetailBMOImpl; @Autowired private IDeleteRoomRenovationDetailBMO deleteRoomRenovationDetailBMOImpl; @Autowired private IGetRoomRenovationDetailBMO getRoomRenovationDetailBMOImpl; @Autowired private IRoomRenovationInnerServiceSMO roomRenovationInnerServiceSMOImpl; @Autowired private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl; @Autowired private IUserInnerServiceSMO userInnerServiceSMOImpl; @Autowired private ISaveRoomRenovationRecordBMO saveRoomRenovationRecordBMO; @Autowired private IGetRoomRenovationRecordBMO getRoomRenovationRecordBMOImpl; @Autowired private IDeleteRoomRenovationRecordBMO deleteRoomRenovationRecordBMOImpl; @Autowired private ICommunitySettingInnerServiceSMO communitySettingInnerServiceSMOImpl; @Autowired private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl; @Autowired private IFeeInnerServiceSMO feeInnerServiceSMOImpl; @Autowired private IFeeAttrInnerServiceSMO feeAttrInnerServiceSMOImpl; @Autowired private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl; @Autowired private IPhotoSMO photoSMOImpl; /** * 微信保存消息模板 * * @param reqJson * @return * @serviceCode /roomRenovation/saveRoomRenovation * @path /app/roomRenovation/saveRoomRenovation */ @RequestMapping(value = "/saveRoomRenovation", method = RequestMethod.POST) public ResponseEntity saveRoomRenovation(@RequestBody JSONObject reqJson, @RequestHeader(value = "store-id") String storeId, @RequestHeader(value = "user-id") String userId) throws ParseException { Assert.hasKeyAndValue(reqJson, "roomId", "请求报文中未包含roomId"); Assert.hasKeyAndValue(reqJson, "roomName", "请求报文中未包含roomName"); Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId"); Assert.hasKeyAndValue(reqJson, "startTime", "请求报文中未包含startTime"); Assert.hasKeyAndValue(reqJson, "endTime", "请求报文中未包含endTime"); Assert.hasKeyAndValue(reqJson, "personName", "请求报文中未包含personName"); Assert.hasKeyAndValue(reqJson, "personTel", "请求报文中未包含personTel"); //Assert.hasKeyAndValue(reqJson, "isViolation", "请求报文中未包含isViolation"); //获取开始时间 String startTime = reqJson.getString("startTime") + " 00:00:00"; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date timeOne = format.parse(startTime); Calendar now = Calendar.getInstance(); String newTime = now.get(Calendar.YEAR) + "-" + (now.get(Calendar.MONTH) + 1) + "-" + now.get(Calendar.DAY_OF_MONTH) + " 00:00:00"; Date timeTwo = format.parse(newTime); if (timeOne.getTime() < timeTwo.getTime()) { return ResultVo.error("装修时间不能小于当前时间!"); } RoomRenovationPo roomRenovationPo = BeanConvertUtil.covertBean(reqJson, RoomRenovationPo.class); //判断是否已经存在该房屋的装修记录了 RoomRenovationDto roomRenovationDto = new RoomRenovationDto(); roomRenovationDto.setRoomId(roomRenovationPo.getRoomId()); List roomRenovationDtos = roomRenovationInnerServiceSMOImpl.queryRoomRenovations(roomRenovationDto); if (roomRenovationDtos.size() > 0) { for (RoomRenovationDto renovationDto : roomRenovationDtos) { if (renovationDto.getState().equals("1000") || renovationDto.getState().equals("3000") || renovationDto.getState().equals("4000")) { throw new IllegalArgumentException("该房屋正在装修中,请仔细核对房屋信息!"); } } } //待审核状态 roomRenovationPo.setState("1000"); //不违规 roomRenovationPo.setIsViolation("N"); roomRenovationPo.setStartTime(reqJson.getString("startTime") + " 00:00:00"); roomRenovationPo.setEndTime(reqJson.getString("endTime") + " 23:59:59"); //生成装修费用 CommunitySettingDto communitySettingDto = new CommunitySettingDto(); communitySettingDto.setSettingKey("REPAIR_CONFIG_FEE"); communitySettingDto.setCommunityId(reqJson.getString("communityId")); //查询小区配置 List communitySettingDtos = communitySettingInnerServiceSMOImpl.queryCommunitySettings(communitySettingDto); String settingValue = null; if (communitySettingDtos != null && communitySettingDtos.size() > 0) { //获取小区设置值 settingValue = communitySettingDtos.get(0).getSettingValue(); } //获取房屋id String roomId = reqJson.getString("roomId"); OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto(); ownerRoomRelDto.setRoomId(roomId); //查询业主房屋关系表 List ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto); Assert.listOnlyOne(ownerRoomRelDtos, "查询业主房屋关系表错误!"); //获取业主id String ownerId = ownerRoomRelDtos.get(0).getOwnerId(); if (!StringUtil.isEmpty(settingValue)) { String[] settingValues = settingValue.split(","); List payFeePos = new ArrayList<>(); List feeAttrOwnerIdPos = new ArrayList<>(); List feeAttrOwnerNamePos = new ArrayList<>(); List feeAttrOwnerLinkPos = new ArrayList<>(); List feeAttrOwnerTimePos = new ArrayList<>(); for (int i = 0; i < settingValues.length; i++) { String configId = settingValues[i]; FeeConfigDto feeConfigDto = new FeeConfigDto(); feeConfigDto.setConfigId(configId); //查询费用项 List feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto); Assert.listOnlyOne(feeConfigDtos, "查询费用项错误!"); PayFeePo payFeePo = new PayFeePo(); payFeePo.setAmount(feeConfigDtos.get(0).getAdditionalAmount()); if (!StringUtil.isEmpty(storeId)) { payFeePo.setIncomeObjId(storeId); } else { payFeePo.setIncomeObjId(reqJson.getString("storeId")); } payFeePo.setFeeTypeCd(feeConfigDtos.get(0).getFeeTypeCd()); payFeePo.setStartTime(newTime); payFeePo.setEndTime(format.format(System.currentTimeMillis())); payFeePo.setCommunityId(reqJson.getString("communityId")); payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId)); payFeePo.setUserId(userId); payFeePo.setPayerObjId(reqJson.getString("roomId")); payFeePo.setFeeFlag(feeConfigDtos.get(0).getFeeFlag()); payFeePo.setState(FeeDto.STATE_DOING); payFeePo.setConfigId(configId); payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM); payFeePo.setBatchId("-1"); payFeePos.add(payFeePo); FeeAttrPo feeAttrPo1 = new FeeAttrPo(); feeAttrPo1.setFeeId(payFeePo.getFeeId()); feeAttrPo1.setCommunityId(reqJson.getString("communityId")); feeAttrPo1.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); feeAttrPo1.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID); //业主id feeAttrPo1.setValue(ownerId); feeAttrOwnerIdPos.add(feeAttrPo1); FeeAttrPo feeAttrPo2 = new FeeAttrPo(); feeAttrPo2.setFeeId(payFeePo.getFeeId()); feeAttrPo2.setCommunityId(reqJson.getString("communityId")); feeAttrPo2.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); feeAttrPo2.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME); //业主名称 feeAttrPo2.setValue(reqJson.getString("personName")); feeAttrOwnerNamePos.add(feeAttrPo2); FeeAttrPo feeAttrPo3 = new FeeAttrPo(); feeAttrPo3.setFeeId(payFeePo.getFeeId()); feeAttrPo3.setCommunityId(reqJson.getString("communityId")); feeAttrPo3.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); feeAttrPo3.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK); //联系方式 feeAttrPo3.setValue(reqJson.getString("personTel")); feeAttrOwnerLinkPos.add(feeAttrPo3); if (!FeeDto.FEE_FLAG_CYCLE.equals(feeConfigDtos.get(0).getFeeFlag())) {//一次性费用 FeeAttrPo feeAttrPo4 = new FeeAttrPo(); feeAttrPo4.setFeeId(payFeePo.getFeeId()); feeAttrPo4.setCommunityId(reqJson.getString("communityId")); feeAttrPo4.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); feeAttrPo4.setSpecCd(FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME); //结束时间 feeAttrPo4.setValue(reqJson.getString("startTime")); feeAttrOwnerTimePos.add(feeAttrPo4); } } //生成费用 feeInnerServiceSMOImpl.saveFee(payFeePos); //插入费用属性(业主id) feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrOwnerIdPos); //插入费用属性(业主姓名) feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrOwnerNamePos); //插入费用属性(业主联系方式) feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrOwnerLinkPos); //插入费用属性(费用截止时间) feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrOwnerTimePos); } return saveRoomRenovationBMOImpl.save(roomRenovationPo); } /** * 微信修改消息模板 * * @param reqJson * @return * @serviceCode /roomRenovation/updateRoomRenovation * @path /app/roomRenovation/updateRoomRenovation */ @RequestMapping(value = "/updateRoomRenovation", method = RequestMethod.POST) public ResponseEntity updateRoomRenovation(@RequestBody JSONObject reqJson) { Assert.hasKeyAndValue(reqJson, "roomId", "请求报文中未包含roomId"); Assert.hasKeyAndValue(reqJson, "roomName", "请求报文中未包含roomName"); Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId"); Assert.hasKeyAndValue(reqJson, "startTime", "请求报文中未包含startTime"); Assert.hasKeyAndValue(reqJson, "endTime", "请求报文中未包含endTime"); Assert.hasKeyAndValue(reqJson, "personName", "请求报文中未包含personName"); Assert.hasKeyAndValue(reqJson, "personTel", "请求报文中未包含personTel"); Assert.hasKeyAndValue(reqJson, "isViolation", "请求报文中未包含isViolation"); Assert.hasKeyAndValue(reqJson, "rId", "rId不能为空"); RoomRenovationPo roomRenovationPo = BeanConvertUtil.covertBean(reqJson, RoomRenovationPo.class); roomRenovationPo.setStartTime(roomRenovationPo.getStartTime() + " 00:00:00"); roomRenovationPo.setEndTime(roomRenovationPo.getEndTime() + " 23:59:59"); if (!StringUtil.isEmpty(roomRenovationPo.getIsPostpone()) && roomRenovationPo.getIsPostpone().equals("N")) { //是否延期 Y延期 N正常 roomRenovationPo.setPostponeTime(null); //延期时间 } if (!StringUtil.isEmpty(roomRenovationPo.getIsViolation()) && roomRenovationPo.getIsViolation().equals("N")) { //是否违规 Y违规 N正常 roomRenovationPo.setViolationDesc(null); //违规说明 } //如果状态为装修中、待验收,则房屋状态改为装修中;如果状态为验收成功,则房屋状态改为已装修;如果为待审核、审核失败、验收失败,则房屋状态改为已交房 if (roomRenovationPo.getState().equals("3000") || roomRenovationPo.getState().equals("4000")) { RoomDto roomDto = new RoomDto(); roomDto.setRoomId(roomRenovationPo.getRoomId()); //房屋状态变为装修中 roomDto.setState("2009"); updateRoomRenovationBMOImpl.update(roomRenovationPo); return updateRoomRenovationBMOImpl.updateRoom(roomDto); } else if (roomRenovationPo.getState().equals("1000") || roomRenovationPo.getState().equals("2000") || roomRenovationPo.getState().equals("5000")) { RoomDto roomDto = new RoomDto(); roomDto.setRoomId(roomRenovationPo.getRoomId()); //房屋状态变为已交房 roomDto.setState("2003"); updateRoomRenovationBMOImpl.update(roomRenovationPo); return updateRoomRenovationBMOImpl.updateRoom(roomDto); } else if (roomRenovationPo.getState().equals("6000")) { RoomDto roomDto = new RoomDto(); roomDto.setRoomId(roomRenovationPo.getRoomId()); //房屋状态变为已装修 roomDto.setState("2005"); updateRoomRenovationBMOImpl.update(roomRenovationPo); return updateRoomRenovationBMOImpl.updateRoom(roomDto); } else { return updateRoomRenovationBMOImpl.update(roomRenovationPo); } } /** * 装修完成 * * @param reqJson * @return * @serviceCode /roomRenovation/updateRoomRenovationState * @path /app/roomRenovation/updateRoomRenovationState */ @RequestMapping(value = "/updateRoomRenovationState", method = RequestMethod.POST) public ResponseEntity updateRoomRenovationState(@RequestBody JSONObject reqJson) { RoomRenovationPo roomRenovationPo = BeanConvertUtil.covertBean(reqJson, RoomRenovationPo.class); //装修完成,状态变为待验收 roomRenovationPo.setState("4000"); return updateRoomRenovationBMOImpl.update(roomRenovationPo); } /** * 查询装修记录 * * @param * @return * @serviceCode /roomRenovation/queryRoomRenovationRecord * @path /app/roomRenovation/queryRoomRenovationRecord */ @RequestMapping(value = "/queryRoomRenovationRecord", method = RequestMethod.GET) public ResponseEntity queryRoomRenovationRecord(@RequestParam(value = "rId", required = false) String rId, @RequestParam(value = "page", required = false) int page, @RequestParam(value = "row", required = false) int row) { RoomRenovationRecordPo roomRenovationRecord = new RoomRenovationRecordPo(); roomRenovationRecord.setrId(rId); roomRenovationRecord.setPage(page); roomRenovationRecord.setRow(row); return getRoomRenovationRecordBMOImpl.getRoomRenovationRecord(roomRenovationRecord); } /** * 查询装修详情 * * @param recordId * @param page * @param row * @return * @serviceCode /roomRenovation/queryRoomRenovationRecordDetail * @path /app/roomRenovation/queryRoomRenovationRecordDetail */ @RequestMapping(value = "/queryRoomRenovationRecordDetail", method = RequestMethod.GET) public ResponseEntity queryRoomRenovationRecordDetail(@RequestParam(value = "recordId", required = false) String recordId, @RequestParam(value = "page", required = false) int page, @RequestParam(value = "row", required = false) int row) { RoomRenovationRecordPo roomRenovationRecord = new RoomRenovationRecordPo(); roomRenovationRecord.setRecordId(recordId); roomRenovationRecord.setPage(page); roomRenovationRecord.setRow(row); return getRoomRenovationRecordBMOImpl.get(roomRenovationRecord); } /** * 删除装修记录 * * @param reqJson * @return * @serviceCode /roomRenovation/deleteRoomRenovationRecord * @path /app/roomRenovation/deleteRoomRenovationRecord */ @RequestMapping(value = "/deleteRoomRenovationRecord", method = RequestMethod.POST) public ResponseEntity deleteRoomRenovationRecord(@RequestBody JSONObject reqJson) { Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空"); Assert.hasKeyAndValue(reqJson, "recordId", "recordId不能为空"); RoomRenovationRecordPo roomRenovationRecordPo = BeanConvertUtil.covertBean(reqJson, RoomRenovationRecordPo.class); //获取装修记录id String recordId = reqJson.getString("recordId"); FileRelPo fileRelpo = new FileRelPo(); fileRelpo.setObjId(recordId); FileRelDto fileRelDto = new FileRelDto(); fileRelDto.setObjId(recordId); List fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto); if (fileRelDtos != null && fileRelDtos.size() > 0) { //删除文件表图片和视频 fileRelInnerServiceSMOImpl.deleteFileRel(fileRelpo); } return deleteRoomRenovationRecordBMOImpl.delete(roomRenovationRecordPo); } /** * 装修记录 * * @param reqJson * @return * @serviceCode /roomRenovation/updateRoomDecorationRecord * @path /app/roomRenovation/updateRoomDecorationRecord */ @RequestMapping(value = "/updateRoomDecorationRecord", method = RequestMethod.POST) public ResponseEntity updateRoomDecorationRecord(@RequestBody JSONObject reqJson, @RequestHeader(value = "user-id") String userId) { RoomRenovationPo roomRenovationPo = BeanConvertUtil.covertBean(reqJson, RoomRenovationPo.class); //图片 List photos = roomRenovationPo.getPhotos(); //视频 String videoName = roomRenovationPo.getVideoName(); //备注 String remark = roomRenovationPo.getRemark(); //装修id String rId = roomRenovationPo.getrId(); //状态 String state = roomRenovationPo.getState(); //是否违规 String isTrue = roomRenovationPo.getIsTrue(); //查询当前用户信息 UserDto userDto = new UserDto(); userDto.setUserId(userId); userDto.setStatusCd("0"); List users = userInnerServiceSMOImpl.getUsers(userDto); Assert.listOnlyOne(users, "查询用户信息错误!"); RoomRenovationRecordPo roomRenovationRecordPo = new RoomRenovationRecordPo(); roomRenovationRecordPo.setrId(rId); roomRenovationRecordPo.setRemark(remark); roomRenovationRecordPo.setState(state); roomRenovationRecordPo.setStatusCd(roomRenovationPo.getStatusCd()); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); roomRenovationRecordPo.setCreateTime(format.format(new Date())); roomRenovationRecordPo.setStaffId(userId); roomRenovationRecordPo.setStaffName(users.get(0).getName()); roomRenovationRecordPo.setIsTrue(isTrue); saveRoomRenovationRecordBMO.saveRecord(roomRenovationRecordPo); for (String photo : photos) { photoSMOImpl.savePhoto(photo, roomRenovationRecordPo.getRecordId(), roomRenovationPo.getCommunityId(), "19000"); } FileRelPo fileRelPo = new FileRelPo(); fileRelPo.setObjId(roomRenovationRecordPo.getRecordId()); //table表示表存储 ftp表示ftp文件存储 fileRelPo.setSaveWay("ftp"); fileRelPo.setCreateTime(new Date()); // //图片上传 // if (photos != null && photos.size() > 0) { // //19000表示装修图片 // fileRelPo.setRelTypeCd("19000"); // for (String photo : photos) { // fileRelPo.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId)); // fileRelPo.setFileRealName(photo); // fileRelPo.setFileSaveName(photo); // fileRelInnerServiceSMOImpl.saveFileRel(fileRelPo); // } // } //视频上传 if (!StringUtil.isEmpty(videoName)) { //21000表示装修视频 fileRelPo.setRelTypeCd("21000"); fileRelPo.setFileRealName(videoName); fileRelPo.setFileSaveName(videoName); fileRelInnerServiceSMOImpl.saveFileRel(fileRelPo); } RoomRenovationRecordPo roomRenovationRecord = new RoomRenovationRecordPo(); roomRenovationRecord.setRecordId(roomRenovationRecordPo.getRecordId()); return getRoomRenovationRecordBMOImpl.get(roomRenovationRecord); } /** * 装修审核 * * @param reqJson * @return * @serviceCode /roomRenovation/updateRoomToExamine * @path /app/roomRenovation/updateRoomToExamine */ @RequestMapping(value = "/updateRoomToExamine", method = RequestMethod.POST) public ResponseEntity updateRoomToExamine(@RequestBody JSONObject reqJson) { RoomRenovationPo roomRenovationPo = BeanConvertUtil.covertBean(reqJson, RoomRenovationPo.class); //审核通过房屋状态变为装修中 if (roomRenovationPo.getState().equals("3000")) { RoomDto roomDto = new RoomDto(); roomDto.setRoomId(roomRenovationPo.getRoomId()); //房屋状态变为装修中 roomDto.setState("2009"); //更新装修信息 updateRoomRenovationBMOImpl.update(roomRenovationPo); return updateRoomRenovationBMOImpl.updateRoom(roomDto); } else if (roomRenovationPo.getState().equals("2000")) { RoomDto roomDto = new RoomDto(); roomDto.setRoomId(roomRenovationPo.getRoomId()); //房屋状态变为已交房 roomDto.setState("2003"); //更新装修信息 updateRoomRenovationBMOImpl.update(roomRenovationPo); return updateRoomRenovationBMOImpl.updateRoom(roomDto); } else { return updateRoomRenovationBMOImpl.update(roomRenovationPo); } } /** * 微信删除消息模板 * * @param reqJson * @return * @serviceCode /roomRenovation/deleteRoomRenovation * @path /app/roomRenovation/deleteRoomRenovation */ @RequestMapping(value = "/deleteRoomRenovation", method = RequestMethod.POST) public ResponseEntity deleteRoomRenovation(@RequestBody JSONObject reqJson) { Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空"); Assert.hasKeyAndValue(reqJson, "rId", "rId不能为空"); RoomRenovationPo roomRenovationPo = BeanConvertUtil.covertBean(reqJson, RoomRenovationPo.class); return deleteRoomRenovationBMOImpl.delete(roomRenovationPo); } /** * 查询房屋装修 * * @param communityId 小区ID * @return * @serviceCode /roomRenovation/queryRoomRenovation * @path /app/roomRenovation/queryRoomRenovation */ @RequestMapping(value = "/queryRoomRenovation", method = RequestMethod.GET) public ResponseEntity queryRoomRenovation(@RequestParam(value = "communityId", required = false) String communityId, @RequestParam(value = "roomId", required = false) String roomId, @RequestParam(value = "roomName", required = false) String roomName, @RequestParam(value = "personName", required = false) String personName, @RequestParam(value = "personTel", required = false) String personTel, @RequestParam(value = "state", required = false) String state, @RequestParam(value = "isPostpone", required = false) String isPostpone, @RequestParam(value = "renovationTime", required = false) String renovationTime, @RequestParam(value = "renovationStartTime", required = false) String renovationStartTime, @RequestParam(value = "renovationEndTime", required = false) String renovationEndTime, @RequestHeader(value = "user-id") String userId, @RequestParam(value = "page", required = false) int page, @RequestParam(value = "row", required = false) int row) { RoomRenovationDto roomRenovationDto = new RoomRenovationDto(); roomRenovationDto.setPage(page); roomRenovationDto.setRow(row); roomRenovationDto.setCommunityId(communityId); roomRenovationDto.setRoomId(roomId); roomRenovationDto.setRoomName(roomName); roomRenovationDto.setPersonName(personName); roomRenovationDto.setPersonTel(personTel); roomRenovationDto.setState(state); roomRenovationDto.setUserId(userId); roomRenovationDto.setIsPostpone(isPostpone); roomRenovationDto.setRenovationTime(renovationTime); roomRenovationDto.setRenovationStartTime(renovationStartTime); roomRenovationDto.setRenovationEndTime(renovationEndTime); return getRoomRenovationBMOImpl.get(roomRenovationDto); } /** * 微信保存消息模板 * * @param reqJson * @return * @serviceCode /roomRenovation/saveRoomRenovationDetail * @path /app/roomRenovation/saveRoomRenovationDetail */ @RequestMapping(value = "/saveRoomRenovationDetail", method = RequestMethod.POST) @Java110Transactional public ResponseEntity saveRoomRenovationDetail(@RequestHeader(value = "user-id") String userId, @RequestBody JSONObject reqJson) { Assert.hasKeyAndValue(reqJson, "rId", "请求报文中未包含rId"); Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId"); Assert.hasKeyAndValue(reqJson, "detailType", "请求报文中未包含detailType"); Assert.hasKeyAndValue(reqJson, "state", "请求报文中未包含state"); UserDto userDto = new UserDto(); userDto.setUserId(userId); userDto.setPage(1); userDto.setRow(1); List userDtos = userInnerServiceSMOImpl.getUsers(userDto); Assert.listOnlyOne(userDtos, "用户不存在"); RoomRenovationDetailPo roomRenovationDetailPo = BeanConvertUtil.covertBean(reqJson, RoomRenovationDetailPo.class); roomRenovationDetailPo.setStaffId(userId); roomRenovationDetailPo.setStaffName(userDtos.get(0).getName()); RoomRenovationPo roomRenovationPo = new RoomRenovationPo(); roomRenovationPo.setrId(roomRenovationDetailPo.getrId()); roomRenovationPo.setState(roomRenovationDetailPo.getState()); //修改房屋装修状态 updateRoomRenovationBMOImpl.update(roomRenovationPo); //验收成功后房屋状态变为已装修 if (roomRenovationDetailPo.getState().equals("5000")) { RoomDto roomDto = new RoomDto(); roomDto.setRoomId(reqJson.getString("roomId")); //状态变为已装修 roomDto.setState("2005"); //验收成功 roomRenovationDetailPo.setState("3000"); saveRoomRenovationDetailBMOImpl.save(roomRenovationDetailPo); return updateRoomRenovationBMOImpl.updateRoom(roomDto); } else if (roomRenovationDetailPo.getState().equals("6000")) { //验收失败装修状态变为装修中 RoomRenovationPo roomRenovation = new RoomRenovationPo(); roomRenovation.setrId(roomRenovationDetailPo.getrId()); roomRenovation.setState("3000"); //验收失败把房屋状态变为装修中,让业主装修整改 updateRoomRenovationBMOImpl.update(roomRenovation); //验收失败 roomRenovationDetailPo.setState("4000"); return saveRoomRenovationDetailBMOImpl.save(roomRenovationDetailPo); } else { return saveRoomRenovationDetailBMOImpl.save(roomRenovationDetailPo); } } /** * 微信删除消息模板 * * @param reqJson * @return * @serviceCode /roomRenovation/deleteRoomRenovationDetail * @path /app/roomRenovation/deleteRoomRenovationDetail */ @RequestMapping(value = "/deleteRoomRenovationDetail", method = RequestMethod.POST) public ResponseEntity deleteRoomRenovationDetail(@RequestBody JSONObject reqJson) { Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空"); Assert.hasKeyAndValue(reqJson, "detailId", "detailId不能为空"); RoomRenovationDetailPo roomRenovationDetailPo = BeanConvertUtil.covertBean(reqJson, RoomRenovationDetailPo.class); return deleteRoomRenovationDetailBMOImpl.delete(roomRenovationDetailPo); } /** * 微信删除消息模板 * * @param communityId 小区ID * @return * @serviceCode /roomRenovation/queryRoomRenovationDetail * @path /app/roomRenovation/queryRoomRenovationDetail */ @RequestMapping(value = "/queryRoomRenovationDetail", method = RequestMethod.GET) public ResponseEntity queryRoomRenovationDetail(@RequestParam(value = "communityId") String communityId, @RequestParam(value = "page") int page, @RequestParam(value = "row") int row, @RequestParam(value = "rId") String rId) { RoomRenovationDetailDto roomRenovationDetailDto = new RoomRenovationDetailDto(); roomRenovationDetailDto.setPage(page); roomRenovationDetailDto.setRow(row); roomRenovationDetailDto.setCommunityId(communityId); roomRenovationDetailDto.setrId(rId); return getRoomRenovationDetailBMOImpl.get(roomRenovationDetailDto); } }