From d7d9b601b2e4fdb663375993e2cfbdbd363df421 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期二, 11 七月 2023 22:17:37 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
service-user/src/main/java/com/java110/user/cmd/examine/SaveExamineStaffValueCmd.java | 150 ++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 139 insertions(+), 11 deletions(-)
diff --git a/service-user/src/main/java/com/java110/user/cmd/examine/SaveExamineStaffValueCmd.java b/service-user/src/main/java/com/java110/user/cmd/examine/SaveExamineStaffValueCmd.java
index 1c967c1..ecf2d97 100644
--- a/service-user/src/main/java/com/java110/user/cmd/examine/SaveExamineStaffValueCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/examine/SaveExamineStaffValueCmd.java
@@ -15,6 +15,7 @@
*/
package com.java110.user.cmd.examine;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.annotation.Java110Transactional;
@@ -22,15 +23,26 @@
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.intf.user.IExamineStaffValueV1InnerServiceSMO;
-import com.java110.po.examineStaffValue.ExamineStaffValuePo;
+import com.java110.dto.room.RoomDto;
+import com.java110.dto.examine.ExamineStaffDto;
+import com.java110.dto.examine.ExamineStaffValueDto;
+import com.java110.dto.owner.OwnerAppUserDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.dto.owner.OwnerRoomRelDto;
+import com.java110.dto.user.UserDto;
+import com.java110.intf.community.IRoomV1InnerServiceSMO;
+import com.java110.intf.user.*;
+import com.java110.po.examine.ExamineStaffValuePo;
import com.java110.utils.exception.CmdException;
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.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
+import java.util.List;
/**
* 绫昏〃杩帮細淇濆瓨
@@ -52,25 +64,141 @@
@Autowired
private IExamineStaffValueV1InnerServiceSMO examineStaffValueV1InnerServiceSMOImpl;
+ @Autowired
+ private IExamineStaffV1InnerServiceSMO examineStaffV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IOwnerAppUserInnerServiceSMO ownerAppUserInnerServiceSMOImpl;
+
+ @Autowired
+ private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IOwnerRoomRelV1InnerServiceSMO ownerRoomRelV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IRoomV1InnerServiceSMO roomV1InnerServiceSMOImpl;
+
@Override
public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
Assert.hasKeyAndValue(reqJson, "esId", "璇锋眰鎶ユ枃涓湭鍖呭惈esId");
-Assert.hasKeyAndValue(reqJson, "staffId", "璇锋眰鎶ユ枃涓湭鍖呭惈staffId");
-Assert.hasKeyAndValue(reqJson, "projectId", "璇锋眰鎶ユ枃涓湭鍖呭惈projectId");
-Assert.hasKeyAndValue(reqJson, "examineValue", "璇锋眰鎶ユ枃涓湭鍖呭惈examineValue");
+ Assert.hasKeyAndValue(reqJson, "staffId", "璇锋眰鎶ユ枃涓湭鍖呭惈staffId");
+ if (!reqJson.containsKey("projects")) {
+ throw new CmdException("鏈寘鍚�冩牳椤圭洰");
+ }
+ JSONArray projects = reqJson.getJSONArray("projects");
+
+ if (projects == null || projects.size() < 1) {
+ throw new CmdException("鏈寘鍚�冩牳椤圭洰");
+ }
+ JSONObject param = null;
+ String value = "";
+ for (int proIndex = 0; proIndex < projects.size(); proIndex++) {
+ param = projects.getJSONObject(proIndex);
+ Assert.hasKeyAndValue(param, "value", "鏈寘鍚瘎鍒�");
+ value = param.getString("value");
+ if (!StringUtil.isNumber(value)) {
+ throw new CmdException("涓嶆槸鏈夋晥鏁板瓧");
+ }
+ }
+
+ String userId = cmdDataFlowContext.getReqHeaders().get("user-id");
+
+ Assert.hasLength(userId, "鐢ㄦ埛鏈櫥闄�");
+
+ OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
+ ownerAppUserDto.setUserId(userId);
+ List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserInnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
+
+ if (ownerAppUserDtos == null || ownerAppUserDtos.size() < 1) {
+ throw new CmdException("鏈壘鍒颁笟涓讳俊鎭�");
+ }
+
+ reqJson.put("ownerId", ownerAppUserDtos.get(0).getOwnerId());
}
@Override
@Java110Transactional
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+ String userId = cmdDataFlowContext.getReqHeaders().get("user-id");
+ UserDto userDto = new UserDto();
+ userDto.setUserId(userId);
+ List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
+ Assert.listOnlyOne(userDtos, "涓氫富涓嶅瓨鍦�");
- ExamineStaffValuePo examineStaffValuePo = BeanConvertUtil.covertBean(reqJson, ExamineStaffValuePo.class);
- examineStaffValuePo.setEsvId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
- int flag = examineStaffValueV1InnerServiceSMOImpl.saveExamineStaffValue(examineStaffValuePo);
+ ExamineStaffDto examineStaffDto = new ExamineStaffDto();
+ examineStaffDto.setEsId(reqJson.getString("esId"));
+ List<ExamineStaffDto> examineStaffDtos = examineStaffV1InnerServiceSMOImpl.queryExamineStaffs(examineStaffDto);
+ Assert.listOnlyOne(examineStaffDtos, "鑰冩牳鍛樺伐涓嶅瓨鍦�");
- if (flag < 1) {
- throw new CmdException("淇濆瓨鏁版嵁澶辫触");
+
+ OwnerDto ownerDto = new OwnerDto();
+ ownerDto.setMemberId(reqJson.getString("ownerId"));
+ ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
+ List<OwnerDto> ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
+ String ownerName = "鏈煡";
+ if (ownerDtos != null && ownerDtos.size() > 0) {
+ ownerName = ownerDtos.get(0).getName();
+ }
+
+ String roomId = "";
+ String roomName = "";
+
+ OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
+ ownerRoomRelDto.setOwnerId(reqJson.getString("ownerId"));
+ List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelV1InnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
+
+ if (ownerRoomRelDtos != null && ownerRoomRelDtos.size() > 0) {
+ RoomDto roomDto = new RoomDto();
+ roomDto.setRoomId(ownerRoomRelDtos.get(0).getRoomId());
+ List<RoomDto> roomDtos = roomV1InnerServiceSMOImpl.queryRooms(roomDto);
+ if (roomDtos != null && roomDtos.size() > 0) {
+ roomName = roomDtos.get(0).getFloorNum() + "-" + roomDtos.get(0).getUnitNum() + "-" + roomDtos.get(0).getRoomNum();
+ }
+ }
+
+
+ JSONArray projects = reqJson.getJSONArray("projects");
+ ExamineStaffValuePo examineStaffValuePo = null;
+ for (int proIndex = 0; proIndex < projects.size(); proIndex++) {
+
+ ExamineStaffValueDto examineStaffValueDto = new ExamineStaffValueDto();
+ examineStaffValueDto.setEsYear(DateUtil.getYear());
+ examineStaffValueDto.setOwnerId(reqJson.getString("ownerId"));
+ examineStaffValueDto.setStaffId(examineStaffDtos.get(0).getStaffId());
+ examineStaffValueDto.setProjectId(projects.getJSONObject(proIndex).getString("projectId"));
+ List<ExamineStaffValueDto> examineStaffValueDtos = examineStaffValueV1InnerServiceSMOImpl.queryExamineStaffValues(examineStaffValueDto);
+ if (examineStaffValueDtos == null || examineStaffValueDtos.size() < 1) {
+ examineStaffValuePo = new ExamineStaffValuePo();
+ examineStaffValuePo.setExamineValue(projects.getJSONObject(proIndex).getString("value"));
+ examineStaffValuePo.setStaffId(examineStaffDtos.get(0).getStaffId());
+ examineStaffValuePo.setStaffName(examineStaffDtos.get(0).getStaffName());
+ examineStaffValuePo.setEsvId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+ examineStaffValuePo.setEsId(reqJson.getString("esId"));
+ examineStaffValuePo.setCommunityId(examineStaffDtos.get(0).getCommunityId());
+ examineStaffValuePo.setOwnerId(reqJson.getString("ownerId"));
+ examineStaffValuePo.setOwnerName(ownerName);
+ examineStaffValuePo.setProjectId(projects.getJSONObject(proIndex).getString("projectId"));
+ examineStaffValuePo.setRoomId(roomId);
+ examineStaffValuePo.setRoomName(roomName);
+ examineStaffValuePo.setEsYear(DateUtil.getYear());
+ int flag = examineStaffValueV1InnerServiceSMOImpl.saveExamineStaffValue(examineStaffValuePo);
+
+ if (flag < 1) {
+ throw new CmdException("淇濆瓨鏁版嵁澶辫触");
+ }
+ } else {
+ examineStaffValuePo = new ExamineStaffValuePo();
+ examineStaffValuePo.setExamineValue(projects.getJSONObject(proIndex).getString("value"));
+ examineStaffValuePo.setEsvId(examineStaffValueDtos.get(0).getEsvId());
+ examineStaffValuePo.setCommunityId(examineStaffDtos.get(0).getCommunityId());
+ examineStaffValueV1InnerServiceSMOImpl.updateExamineStaffValue(examineStaffValuePo);
+
+ }
}
cmdDataFlowContext.setResponseEntity(ResultVo.success());
--
Gitblit v1.8.0