From 0b04f664887c73e90bf684a4e69c0fdbfe26349d Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 29 三月 2023 13:35:20 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
service-community/src/main/java/com/java110/community/api/RoomRenovationApi.java | 210 ++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 179 insertions(+), 31 deletions(-)
diff --git a/service-community/src/main/java/com/java110/community/api/RoomRenovationApi.java b/service-community/src/main/java/com/java110/community/api/RoomRenovationApi.java
index 5b36f10..5df5ec6 100755
--- a/service-community/src/main/java/com/java110/community/api/RoomRenovationApi.java
+++ b/service-community/src/main/java/com/java110/community/api/RoomRenovationApi.java
@@ -11,17 +11,29 @@
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.RoomDto;
-import com.java110.dto.file.FileDto;
+import com.java110.dto.communitySetting.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.roomRenovation.RoomRenovationDto;
import com.java110.dto.roomRenovationDetail.RoomRenovationDetailDto;
import com.java110.dto.user.UserDto;
-import com.java110.intf.IRoomRenovationInnerServiceSMO;
-import com.java110.intf.common.IFileInnerServiceSMO;
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.roomRenovation.RoomRenovationPo;
import com.java110.po.roomRenovationDetail.RoomRenovationDetailPo;
@@ -29,16 +41,15 @@
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.RequestBody;
-import org.springframework.web.bind.annotation.RequestHeader;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+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;
@@ -83,10 +94,25 @@
private IGetRoomRenovationRecordBMO getRoomRenovationRecordBMOImpl;
@Autowired
- private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+ private IDeleteRoomRenovationRecordBMO deleteRoomRenovationRecordBMOImpl;
@Autowired
- private IDeleteRoomRenovationRecordBMO deleteRoomRenovationRecordBMOImpl;
+ private ICommunitySettingInnerServiceSMO communitySettingInnerServiceSMOImpl;
+
+ @Autowired
+ private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
+
+ @Autowired
+ private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
+
+ @Autowired
+ private IFeeAttrInnerServiceSMO feeAttrInnerServiceSMOImpl;
+
+ @Autowired
+ private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
+
+ @Autowired
+ private IPhotoSMO photoSMOImpl;
/**
* 寰俊淇濆瓨娑堟伅妯℃澘
@@ -97,7 +123,9 @@
* @path /app/roomRenovation/saveRoomRenovation
*/
@RequestMapping(value = "/saveRoomRenovation", method = RequestMethod.POST)
- public ResponseEntity<String> saveRoomRenovation(@RequestBody JSONObject reqJson) {
+ public ResponseEntity<String> 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");
@@ -108,6 +136,16 @@
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);
//鍒ゆ柇鏄惁宸茬粡瀛樺湪璇ユ埧灞嬬殑瑁呬慨璁板綍浜�
@@ -127,6 +165,102 @@
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<CommunitySettingDto> 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<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
+ Assert.listOnlyOne(ownerRoomRelDtos, "鏌ヨ涓氫富鎴垮眿鍏崇郴琛ㄩ敊璇紒");
+ //鑾峰彇涓氫富id
+ String ownerId = ownerRoomRelDtos.get(0).getOwnerId();
+ if (!StringUtil.isEmpty(settingValue)) {
+ String[] settingValues = settingValue.split(",");
+ List<PayFeePo> payFeePos = new ArrayList<>();
+ List<FeeAttrPo> feeAttrOwnerIdPos = new ArrayList<>();
+ List<FeeAttrPo> feeAttrOwnerNamePos = new ArrayList<>();
+ List<FeeAttrPo> feeAttrOwnerLinkPos = new ArrayList<>();
+ List<FeeAttrPo> feeAttrOwnerTimePos = new ArrayList<>();
+ for (int i = 0; i < settingValues.length; i++) {
+ String configId = settingValues[i];
+ FeeConfigDto feeConfigDto = new FeeConfigDto();
+ feeConfigDto.setConfigId(configId);
+ //鏌ヨ璐圭敤椤�
+ List<FeeConfigDto> 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);
}
@@ -303,28 +437,25 @@
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.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId));
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) {
- FileDto fileDto = new FileDto();
- fileDto.setCommunityId("-1");
- fileDto.setContext(photo);
- fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
- fileDto.setFileName(fileDto.getFileId());
- String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
- fileRelPo.setFileRealName(fileName);
- fileRelPo.setFileSaveName(fileName);
- fileRelInnerServiceSMOImpl.saveFileRel(fileRelPo);
- }
- }
+// //鍥剧墖涓婁紶
+// 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琛ㄧず瑁呬慨瑙嗛
@@ -402,6 +533,10 @@
@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) {
@@ -415,6 +550,10 @@
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);
}
@@ -428,16 +567,25 @@
* @path /app/roomRenovation/saveRoomRenovationDetail
*/
@RequestMapping(value = "/saveRoomRenovationDetail", method = RequestMethod.POST)
+ @Java110Transactional
public ResponseEntity<String> saveRoomRenovationDetail(@RequestHeader(value = "user-id") String userId,
- @RequestHeader(value = "user-name") String userName,
@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<UserDto> userDtos = userInnerServiceSMOImpl.getUsers(userDto);
+
+ Assert.listOnlyOne(userDtos, "鐢ㄦ埛涓嶅瓨鍦�");
+
RoomRenovationDetailPo roomRenovationDetailPo = BeanConvertUtil.covertBean(reqJson, RoomRenovationDetailPo.class);
roomRenovationDetailPo.setStaffId(userId);
- roomRenovationDetailPo.setStaffName(userName);
+ roomRenovationDetailPo.setStaffName(userDtos.get(0).getName());
RoomRenovationPo roomRenovationPo = new RoomRenovationPo();
roomRenovationPo.setrId(roomRenovationDetailPo.getrId());
roomRenovationPo.setState(roomRenovationDetailPo.getState());
--
Gitblit v1.8.0