From c2b97e88614a8c0bb641848a4d868f54cb8382df Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期二, 14 二月 2023 17:21:24 +0800
Subject: [PATCH] 1、优化访客预约2、优化报修设置3、优化缴费明细4、其他相关页面bug调整
---
service-community/src/main/java/com/java110/community/cmd/room/QueryRoomsCmd.java | 208 +++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 174 insertions(+), 34 deletions(-)
diff --git a/service-community/src/main/java/com/java110/community/cmd/room/QueryRoomsCmd.java b/service-community/src/main/java/com/java110/community/cmd/room/QueryRoomsCmd.java
index 5b279cf..21ec75e 100644
--- a/service-community/src/main/java/com/java110/community/cmd/room/QueryRoomsCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/room/QueryRoomsCmd.java
@@ -3,17 +3,16 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.ICmdDataFlowContext;
-import com.java110.core.event.cmd.AbstractServiceCmdListener;
+import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
+import com.java110.doc.annotation.*;
import com.java110.dto.FloorDto;
import com.java110.dto.RoomDto;
+import com.java110.dto.UnitDto;
import com.java110.dto.basePrivilege.BasePrivilegeDto;
+import com.java110.dto.dataPrivilegeStaff.DataPrivilegeStaffDto;
import com.java110.dto.owner.OwnerDto;
-import com.java110.dto.owner.OwnerRoomRelDto;
-import com.java110.intf.community.IFloorInnerServiceSMO;
-import com.java110.intf.community.IMenuInnerServiceSMO;
-import com.java110.intf.community.IRoomInnerServiceSMO;
-import com.java110.intf.community.IUnitInnerServiceSMO;
+import com.java110.intf.community.*;
import com.java110.intf.user.IOwnerInnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.utils.constant.ResponseConstant;
@@ -21,6 +20,8 @@
import com.java110.utils.exception.SMOException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
import com.java110.vo.api.ApiRoomDataVo;
import com.java110.vo.api.ApiRoomVo;
import org.springframework.beans.factory.annotation.Autowired;
@@ -30,15 +31,46 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+@Java110CmdDoc(title = "鏌ヨ鎴垮眿",
+ description = "鏌ヨ鎴垮眿淇℃伅",
+ httpMethod = "get",
+ url = "http://{ip}:{port}/app/room.queryRooms",
+ resource = "communityDoc",
+ author = "鍚村鏂�",
+ serviceCode = "room.queryRooms"
+)
+@Java110ParamsDoc(params = {
+ @Java110ParamDoc(name = "page", type = "int",length = 11, remark = "椤垫暟"),
+ @Java110ParamDoc(name = "row", type = "int",length = 11, remark = "琛屾暟"),
+ @Java110ParamDoc(name = "communityId", length = 30, remark = "灏忓尯ID"),
+ @Java110ParamDoc(name = "roomId", length = 30, remark = "鎴垮眿ID"),
+ @Java110ParamDoc(name = "floorId", length = 30, remark = "妤兼爧ID"),
+ @Java110ParamDoc(name = "unitId", length = 30, remark = "鍗曞厓ID"),
+})
+
+@Java110ResponseDoc(
+ params = {
+ @Java110ParamDoc(name = "records", type = "int", length = 11, remark = "鎬婚〉鏁�"),
+ @Java110ParamDoc(name = "total", type = "int", length = 11, remark = "鎬绘暟鎹�"),
+ @Java110ParamDoc(name = "rooms", type = "Object", remark = "鏈夋晥鏁版嵁"),
+ @Java110ParamDoc(parentNodeName = "rooms",name = "roomName", type = "String", remark = "鎴垮眿鍚嶇О"),
+ @Java110ParamDoc(parentNodeName = "rooms",name = "roomId", type = "String", remark = "鎴垮眿缂栧彿"),
+ }
+)
+
+@Java110ExampleDoc(
+ reqBody="http://{ip}:{port}/app/room.queryRooms?floorId=&floorName=&unitId=&roomNum=&roomId=&state=§ion=&roomType=1010301&roomSubType=&flag=0&page=1&row=10&communityId=2022081539020475",
+ resBody="{\"page\":0,\"records\":1,\"rooms\":[{\"apartment\":\"10101\",\"apartmentName\":\"涓�瀹や竴鍘匼",\"builtUpArea\":\"11.00\",\"endTime\":\"2037-01-01 00:00:00\",\"feeCoefficient\":\"1.00\",\"floorId\":\"732022081690440002\",\"floorNum\":\"D\",\"idCard\":\"\",\"layer\":\"1\",\"link\":\"18909711447\",\"ownerId\":\"772022082070860017\",\"ownerName\":\"寮犳澃\",\"remark\":\"11\",\"roomArea\":\"11.00\",\"roomAttrDto\":[{\"attrId\":\"112022082081600012\",\"listShow\":\"Y\",\"page\":-1,\"records\":0,\"roomId\":\"752022082030880010\",\"row\":0,\"specCd\":\"9035007248\",\"specName\":\"绮捐淇甛",\"statusCd\":\"0\",\"total\":0,\"value\":\"20\",\"valueName\":\"20\"}],\"roomId\":\"752022082030880010\",\"roomName\":\"D-1-1001\",\"roomNum\":\"1001\",\"roomRent\":\"0.00\",\"roomSubType\":\"110\",\"roomSubTypeName\":\"浣忓畢\",\"roomType\":\"1010301\",\"section\":\"1\",\"startTime\":\"2022-09-03 18:50:53\",\"state\":\"2001\",\"stateName\":\"宸插叆浣廫",\"unitId\":\"742022082058950007\",\"unitNum\":\"1\"}],\"rows\":0,\"total\":2}"
+)
@Java110Cmd(serviceCode = "room.queryRooms")
-public class QueryRoomsCmd extends AbstractServiceCmdListener {
+public class QueryRoomsCmd extends Cmd {
+
@Autowired
private IUnitInnerServiceSMO unitInnerServiceSMOImpl;
@Autowired
private IFloorInnerServiceSMO floorInnerServiceSMOImpl;
-
@Autowired
private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
@@ -48,6 +80,9 @@
@Autowired
private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
+
+ @Autowired
+ private IDataPrivilegeUnitV1InnerServiceSMO dataPrivilegeUnitV1InnerServiceSMOImpl;
@Autowired
private IMenuInnerServiceSMO menuInnerServiceSMOImpl;
@@ -82,9 +117,106 @@
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
RoomDto roomDto = BeanConvertUtil.covertBean(reqJson, RoomDto.class);
+ //瀵艰嚧涓氬姟鍙楃悊鎼滅储鏌ヨ
+// if (reqJson.containsKey("flag") && reqJson.getString("flag").equals("1")) {
+// if (reqJson.containsKey("roomNumLike") && !StringUtil.isEmpty(reqJson.getString("roomNumLike"))) {
+// String[] roomNumLikes = reqJson.getString("roomNumLike").split("-");
+// roomDto.setFloorNum(roomNumLikes[0]);
+// roomDto.setUnitNum(roomNumLikes[1]);
+// roomDto.setRoomNum(roomNumLikes[2]);
+// roomDto.setRoomNumLike("");
+// }
+// }
+
+ //鍛樺伐鏁版嵁鏉冮檺
+ String staffId = cmdDataFlowContext.getReqHeaders().get("user-id");
+ DataPrivilegeStaffDto dataPrivilegeStaffDto = new DataPrivilegeStaffDto();
+ dataPrivilegeStaffDto.setStaffId(staffId);
+ String[] unitIds = dataPrivilegeUnitV1InnerServiceSMOImpl.queryDataPrivilegeUnitsByStaff(dataPrivilegeStaffDto);
+
+
+
+ String roomId = "";
+ String unitId = "";
+ if (reqJson.containsKey("flag") && "0".equals(reqJson.getString("flag"))
+ && reqJson.containsKey("floorNum") && !StringUtil.isEmpty(reqJson.getString("floorNum"))
+ && reqJson.containsKey("unitNum") && !StringUtil.isEmpty(reqJson.getString("unitNum"))
+ && reqJson.containsKey("roomNum") && !StringUtil.isEmpty(reqJson.getString("roomNum"))) {
+ FloorDto floorDto = new FloorDto();
+ floorDto.setFloorNum(reqJson.getString("floorNum"));
+ floorDto.setCommunityId(reqJson.getString("communityId"));
+ List<FloorDto> floorDtos = floorInnerServiceSMOImpl.queryFloors(floorDto);
+ if (floorDtos != null && floorDtos.size() > 0) {
+ for (FloorDto floor : floorDtos) {
+ UnitDto unitDto = new UnitDto();
+ unitDto.setFloorId(floor.getFloorId());
+ unitDto.setUnitNum(reqJson.getString("unitNum"));
+ if(unitIds != null && unitIds.length>0){
+ unitDto.setUnitIds(unitIds);
+ }
+ List<UnitDto> unitDtos = unitInnerServiceSMOImpl.queryUnits(unitDto);
+ if (unitDtos != null && unitDtos.size() > 0) {
+ for (UnitDto unit : unitDtos) {
+ RoomDto room = new RoomDto();
+ room.setUnitId(unit.getUnitId());
+ room.setRoomNum(reqJson.getString("roomNum"));
+ room.setCommunityId(reqJson.getString("communityId"));
+ List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(room);
+ if (roomDtos != null && roomDtos.size() == 1) {
+ unitId = roomDtos.get(0).getUnitId();
+ roomId = roomDtos.get(0).getRoomId();
+ } else {
+ continue;
+ }
+ }
+ }
+ }
+ }
+ roomDto.setRoomId(roomId);
+ roomDto.setUnitId(unitId);
+ }
+ if (reqJson.containsKey("flag") && "1".equals(reqJson.getString("flag"))) {
+ if (reqJson.containsKey("roomNum") && !StringUtil.isEmpty(reqJson.getString("roomNum"))) {
+ String[] roomNums = reqJson.getString("roomNum").split("-", 3);
+ if (roomNums != null && roomNums.length == 3) {
+ roomDto.setFloorNum(roomNums[0]);
+ roomDto.setUnitNum(roomNums[1]);
+ roomDto.setRoomNum(roomNums[2]);
+ } else {
+ roomDto.setRoomNum(reqJson.getString("roomNum"));
+ }
+ } else {
+ roomDto.setUnitNum("");
+ roomDto.setFloorNum("");
+ roomDto.setRoomNum("");
+ }
+ }
+
+ //add by wuxw 鍟嗛摵 涓や釜鐭嚎鏂瑰紡澶勭悊
+ if(reqJson.containsKey("roomType") && "2020602".equals(reqJson.getString("roomType"))){
+ if (reqJson.containsKey("roomNum") && !StringUtil.isEmpty(reqJson.getString("roomNum"))) {
+ String[] roomNums = reqJson.getString("roomNum").split("-", 2);
+ if (roomNums != null && roomNums.length == 2) {
+ roomDto.setFloorNum(roomNums[0]);
+ roomDto.setUnitNum("0");
+ roomDto.setRoomNum(roomNums[1]);
+ } else {
+ roomDto.setRoomNum(reqJson.getString("roomNum"));
+ }
+ } else {
+ roomDto.setUnitNum("");
+ roomDto.setFloorNum("");
+ roomDto.setRoomNum("");
+ }
+ }
ApiRoomVo apiRoomVo = new ApiRoomVo();
+
+ //鍛樺伐鏄惁 鏈夋潈闄愭煡璇�
+ if(unitIds != null && unitIds.length>0){
+ roomDto.setUnitIds(unitIds);
+ }
//鏌ヨ鎬昏褰曟暟
- int total = roomInnerServiceSMOImpl.queryRoomsCount(BeanConvertUtil.covertBean(reqJson, RoomDto.class));
+ int total = roomInnerServiceSMOImpl.queryRoomsCount(roomDto);
apiRoomVo.setTotal(total);
List<RoomDto> roomDtoList = null;
if (total > 0) {
@@ -126,33 +258,41 @@
List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnersByRoom(ownerDto);
for (RoomDto roomDto : roomDtos) {
for (OwnerDto tmpOwnerDto : ownerDtos) {
- if (roomDto.getRoomId().equals(tmpOwnerDto.getRoomId())) {
- roomDto.setOwnerId(tmpOwnerDto.getOwnerId());
- roomDto.setOwnerName(tmpOwnerDto.getName());
- //瀵逛笟涓昏韩浠借瘉鍙烽殣钘忓鐞�
- String idCard = tmpOwnerDto.getIdCard();
- if (mark.size() == 0 && idCard != null && !idCard.equals("") && idCard.length() > 15) {
- idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16);
- }
- //瀵逛笟涓绘墜鏈哄彿闅愯棌澶勭悊
- String link = tmpOwnerDto.getLink();
- if (mark.size() == 0 && link != null && !link.equals("") && link.length() > 10) {
- link = link.substring(0, 3) + "****" + link.substring(7);
- }
- roomDto.setIdCard(idCard);
- roomDto.setLink(link);
+ if (!roomDto.getRoomId().equals(tmpOwnerDto.getRoomId())) {
+ continue;
}
+ try {
+ roomDto.setStartTime(DateUtil.getDateFromString(tmpOwnerDto.getStartTime(), DateUtil.DATE_FORMATE_STRING_A));
+ roomDto.setEndTime(DateUtil.getDateFromString(tmpOwnerDto.getEndTime(), DateUtil.DATE_FORMATE_STRING_A));
+ } catch (Exception e) {
+ //
+ }
+ roomDto.setOwnerId(tmpOwnerDto.getOwnerId());
+ roomDto.setOwnerName(tmpOwnerDto.getName());
+ //瀵逛笟涓昏韩浠借瘉鍙烽殣钘忓鐞�
+ String idCard = tmpOwnerDto.getIdCard();
+ if (mark.size() == 0 && idCard != null && !idCard.equals("") && idCard.length() > 15) {
+ idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16);
+ }
+ //瀵逛笟涓绘墜鏈哄彿闅愯棌澶勭悊
+ String link = tmpOwnerDto.getLink();
+ if (mark.size() == 0 && link != null && !link.equals("") && link.length() > 10) {
+ link = link.substring(0, 3) + "****" + link.substring(7);
+ }
+ roomDto.setIdCard(idCard);
+ roomDto.setLink(link);
+
//鍟嗛摵绫诲瀷鏌ヨ璧风鏃堕棿
- if (roomDto.getRoomType().equals(RoomDto.ROOM_TYPE_SHOPS)) {
- OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
- ownerRoomRelDto.setRoomId(roomDto.getRoomId());
- ownerRoomRelDto.setStatusCd("0");
- List<OwnerRoomRelDto> ownerRoomRelDtoList = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
- if (ownerRoomRelDtoList != null && ownerRoomRelDtoList.size() == 1) {
- roomDto.setStartTime(ownerRoomRelDtoList.get(0).getStartTime());
- roomDto.setEndTime(ownerRoomRelDtoList.get(0).getEndTime());
- }
- }
+// if (roomDto.getRoomType().equals(RoomDto.ROOM_TYPE_SHOPS)) {
+// OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
+// ownerRoomRelDto.setRoomId(roomDto.getRoomId());
+// ownerRoomRelDto.setStatusCd("0");
+// List<OwnerRoomRelDto> ownerRoomRelDtoList = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
+// if (ownerRoomRelDtoList != null && ownerRoomRelDtoList.size() == 1) {
+// roomDto.setStartTime(ownerRoomRelDtoList.get(0).getStartTime());
+// roomDto.setEndTime(ownerRoomRelDtoList.get(0).getEndTime());
+// }
+// }
}
}
}
--
Gitblit v1.8.0