From e40889177c25035496c526dbc12a9665d5b61ceb Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 20 三月 2025 12:00:53 +0800
Subject: [PATCH] 优化小区房屋和小区业主 支持按小区查询数据
---
service-user/src/main/java/com/java110/user/cmd/owner/EditOwnerCmd.java | 239 ++++++++++++++++++++++++-----------------------------------
1 files changed, 97 insertions(+), 142 deletions(-)
diff --git a/service-user/src/main/java/com/java110/user/cmd/owner/EditOwnerCmd.java b/service-user/src/main/java/com/java110/user/cmd/owner/EditOwnerCmd.java
index 4f289ff..78cf6ef 100644
--- a/service-user/src/main/java/com/java110/user/cmd/owner/EditOwnerCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/owner/EditOwnerCmd.java
@@ -9,25 +9,26 @@
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.doc.annotation.*;
+import com.java110.dto.account.AccountDto;
import com.java110.dto.file.FileDto;
import com.java110.dto.file.FileRelDto;
import com.java110.dto.owner.OwnerAppUserDto;
import com.java110.dto.owner.OwnerDto;
+import com.java110.intf.acct.IAccountInnerServiceSMO;
import com.java110.intf.common.IFileInnerServiceSMO;
import com.java110.intf.common.IFileRelInnerServiceSMO;
-import com.java110.intf.user.IOwnerV1InnerServiceSMO;
-import com.java110.intf.user.IOwnerAppUserInnerServiceSMO;
-import com.java110.intf.user.IOwnerAppUserV1InnerServiceSMO;
-import com.java110.intf.user.IOwnerAttrInnerServiceSMO;
-import com.java110.intf.user.IOwnerInnerServiceSMO;
+import com.java110.intf.user.*;
+import com.java110.po.account.AccountPo;
import com.java110.po.file.FileRelPo;
import com.java110.po.owner.OwnerAppUserPo;
import com.java110.po.owner.OwnerAttrPo;
import com.java110.po.owner.OwnerPo;
+import com.java110.po.user.UserPo;
import com.java110.utils.cache.MappingCache;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.ListUtil;
import com.java110.utils.util.StringUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -41,8 +42,7 @@
resource = "userDoc",
author = "鍚村鏂�",
serviceCode = "owner.editOwner",
- seq = 10
-)
+ seq = 10)
@Java110ParamsDoc(params = {
@Java110ParamDoc(name = "communityId", length = 30, remark = "灏忓尯ID"),
@@ -61,11 +61,10 @@
params = {
@Java110ParamDoc(name = "code", type = "int", length = 11, defaultValue = "0", remark = "杩斿洖缂栧彿锛�0 鎴愬姛 鍏朵粬澶辫触"),
@Java110ParamDoc(name = "msg", type = "String", length = 250, defaultValue = "鎴愬姛", remark = "鎻忚堪"),
- }
-)
+ })
@Java110ExampleDoc(
- reqBody="{\n" +
+ reqBody = "{\n" +
"\t\"name\": \"鐜嬬帇\",\n" +
"\t\"age\": \"\",\n" +
"\t\"link\": \"18909718888\",\n" +
@@ -78,7 +77,7 @@
"\t\"idCard\": \"\",\n" +
"\t\"communityId\": \"2022121921870161\"\n" +
"}",
- resBody="{\"code\":0,\"msg\":\"鎴愬姛\"}"
+ resBody = "{\"code\":0,\"msg\":\"鎴愬姛\"}"
)
@Java110Cmd(serviceCode = "owner.editOwner")
public class EditOwnerCmd extends Cmd {
@@ -104,49 +103,51 @@
@Autowired
private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+ @Autowired
+ private IAccountInnerServiceSMO accountInnerServiceSMOImpl;
+
+ @Autowired
+ private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
@Override
public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
Assert.jsonObjectHaveKey(reqJson, "memberId", "璇锋眰鎶ユ枃涓湭鍖呭惈ownerId");
Assert.jsonObjectHaveKey(reqJson, "name", "璇锋眰鎶ユ枃涓湭鍖呭惈name");
-// Assert.jsonObjectHaveKey(reqJson, "age", "璇锋眰鎶ユ枃涓湭鍖呭惈age");
Assert.jsonObjectHaveKey(reqJson, "link", "璇锋眰鎶ユ枃涓湭鍖呭惈link");
- Assert.jsonObjectHaveKey(reqJson, "sex", "璇锋眰鎶ユ枃涓湭鍖呭惈sex");
- Assert.jsonObjectHaveKey(reqJson, "ownerTypeCd", "璇锋眰鎶ユ枃涓湭鍖呭惈ownerTypeCd");
Assert.jsonObjectHaveKey(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
- // Assert.jsonObjectHaveKey(paramIn, "idCard", "璇锋眰鎶ユ枃涓湭鍖呭惈韬唤璇佸彿");
Assert.judgeAttrValue(reqJson);
-
//鑾峰彇鎵嬫満鍙�(鍒ゆ柇鎵嬫満鍙锋槸鍚﹂噸澶�)
String link = reqJson.getString("link");
if (!StringUtil.isEmpty(link) && link.contains("*")) {
- OwnerDto ownerDto = new OwnerDto();
- ownerDto.setOwnerId(reqJson.getString("ownerId"));
- //涓氫富
- ownerDto.setOwnerTypeCd("1001");
- List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
- Assert.listOnlyOne(ownerDtos, "鏌ヨ涓氫富淇℃伅閿欒锛�");
- link = ownerDtos.get(0).getLink();
- reqJson.put("link", link);
+ reqJson.put("link", "");
}
//鑾峰彇韬唤璇佸彿(鍒ゆ柇韬唤璇佸彿鏄惁閲嶅)
String idCard = reqJson.getString("idCard");
-
if (!StringUtil.isEmpty(idCard) && idCard.contains("*")) {
- OwnerDto owner = new OwnerDto();
- owner.setOwnerId(reqJson.getString("ownerId"));
- //涓氫富
- owner.setOwnerTypeCd("1001");
- List<OwnerDto> owners = ownerInnerServiceSMOImpl.queryOwners(owner);
- Assert.listOnlyOne(owners, "鏌ヨ涓氫富淇℃伅閿欒锛�");
- idCard = owners.get(0).getIdCard();
- reqJson.put("idCard", idCard);
+ reqJson.put("idCard", "");
}
- String userValidate = MappingCache.getValue("USER_VALIDATE");
+ if (reqJson.containsKey("ownerPhotoUrl")) {
+ String ownerPhotoUrl = reqJson.getString("ownerPhotoUrl");
+ if (!StringUtil.isEmpty(ownerPhotoUrl) && ownerPhotoUrl.length() > 500) {
+ throw new CmdException("鍥剧墖鍦板潃澶暱");
+ }
+ if (!StringUtil.isEmpty(ownerPhotoUrl)) {
+ reqJson.put("faceUrl", ownerPhotoUrl);
+ }
+ }
+
+ String userValidate = MappingCache.getValue("USER_VALIDATE");
if (!"ON".equals(userValidate)) {
return;
}
+
+ OwnerDto curOwner = new OwnerDto();
+ curOwner.setMemberId(reqJson.getString("memberId"));
+
+ List<OwnerDto> curOwners = ownerInnerServiceSMOImpl.queryOwners(curOwner);
+ Assert.listOnlyOne(curOwners, "鏈煡璇㈠埌涓氫富淇℃伅鎴栨煡璇㈠埌澶氭潯");
OwnerDto ownerDto = new OwnerDto();
ownerDto.setLink(link);
@@ -156,23 +157,8 @@
throw new IllegalArgumentException("鎵嬫満鍙烽噸澶嶏紝璇烽噸鏂拌緭鍏�");
} else if (ownerDtos != null && ownerDtos.size() == 1) {
for (OwnerDto owner : ownerDtos) {
- if ((!StringUtil.isEmpty(reqJson.getString("ownerId")) && !owner.getOwnerId().equals(reqJson.getString("ownerId"))) || (!StringUtil.isEmpty(reqJson.getString("memberId")) && !owner.getMemberId().equals(reqJson.getString("memberId")))) {
+ if (!reqJson.getString("memberId").equals(owner.getMemberId())) {
throw new IllegalArgumentException("鎵嬫満鍙烽噸澶嶏紝璇烽噸鏂拌緭鍏�");
- }
- }
- }
- if (!StringUtil.isEmpty(idCard)) {
- OwnerDto owner = new OwnerDto();
- owner.setIdCard(idCard);
- owner.setCommunityId(reqJson.getString("communityId"));
- List<OwnerDto> owners = ownerInnerServiceSMOImpl.queryAllOwners(owner);
- if (owners != null && owners.size() > 1) {
- throw new IllegalArgumentException("韬唤璇佸彿閲嶅锛岃閲嶆柊杈撳叆");
- } else if (owners != null && owners.size() == 1) {
- for (OwnerDto ownerDto1 : owners) {
- if ((!StringUtil.isEmpty(reqJson.getString("ownerId")) && !ownerDto1.getOwnerId().equals(reqJson.getString("ownerId"))) || (!StringUtil.isEmpty(reqJson.getString("memberId")) && !ownerDto1.getMemberId().equals(reqJson.getString("memberId")))) {
- throw new IllegalArgumentException("韬唤璇佸彿閲嶅锛岃閲嶆柊杈撳叆");
- }
}
}
}
@@ -181,24 +167,23 @@
@Override
@Java110Transactional
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
- if (!reqJson.containsKey("ownerId") || OwnerDto.OWNER_TYPE_CD_OWNER.equals(reqJson.getString("ownerTypeCd"))) {
- reqJson.put("ownerId", reqJson.getString("memberId"));
+
+
+ //todo 淇敼 涓氫富淇℃伅
+ OwnerPo ownerPo = BeanConvertUtil.covertBean(reqJson, OwnerPo.class);
+ int flag = ownerV1InnerServiceSMOImpl.updateOwner(ownerPo);
+ if (flag < 1) {
+ throw new CmdException("淇敼涓氫富澶辫触");
}
- //杩欓噷娉ㄩ噴 鍥犱负 鏈夊浗澶栫殑鎵嬫満鍙� 涓嶆槸11浣�
-// if (link.length() != 11) {
-// throw new IllegalArgumentException("鎵嬫満鍙疯緭鍏ヤ笉姝g‘锛�");
-// }
- if (reqJson.containsKey("ownerPhoto") && !StringUtils.isEmpty(reqJson.getString("ownerPhoto"))) {
- editOwnerPhoto(reqJson);
- }
- editOwner(reqJson);
+ //todo 淇敼璐︽埛
+ updateAccount(reqJson);
+
JSONArray attrs = reqJson.getJSONArray("attrs");
- if (attrs == null && attrs.size() < 1) {
+ if (ListUtil.isNull(attrs)) {
return;
}
JSONObject attr = null;
- int flag = 0;
for (int attrIndex = 0; attrIndex < attrs.size(); attrIndex++) {
attr = attrs.getJSONObject(attrIndex);
attr.put("memberId", reqJson.getString("memberId"));
@@ -218,92 +203,62 @@
throw new CmdException("淇敼涓氫富灞炴�уけ璐�");
}
}
+ //todo 濡傛灉 涓氫富鍋氫簡缁戝畾鍒欎慨鏀圭粦瀹氱殑鎵嬫満鍙�
+ updateOwnerAppUser(reqJson);
}
- public void editOwner(JSONObject paramInJson) {
+ public void updateAccount(JSONObject paramInJson) {
- OwnerDto ownerDto = new OwnerDto();
- ownerDto.setMemberId(paramInJson.getString("memberId"));
- List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto);
-
- Assert.listOnlyOne(ownerDtos, "鏈煡璇㈠埌涓氫富淇℃伅鎴栨煡璇㈠埌澶氭潯");
-
- JSONObject businessOwner = new JSONObject();
- businessOwner.putAll(BeanConvertUtil.beanCovertMap(ownerDtos.get(0)));
- businessOwner.putAll(paramInJson);
-
- if (paramInJson.containsKey("wxPhoto")) {
- businessOwner.put("link", paramInJson.getString("wxPhoto"));
- }
- businessOwner.put("state", ownerDtos.get(0).getState());
- OwnerPo ownerPo = BeanConvertUtil.covertBean(businessOwner, OwnerPo.class);
- if (StringUtil.isEmpty(ownerPo.getIdCard())) {
- ownerPo.setAge(null);
- }
- int flag = ownerV1InnerServiceSMOImpl.updateOwner(ownerPo);
- if (flag < 1) {
- throw new CmdException("淇敼涓氫富澶辫触");
- }
- OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
- ownerAppUserDto.setMemberId(paramInJson.getString("ownerId"));
-
- //鏌ヨapp鐢ㄦ埛琛�
- List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserInnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
- if (ownerAppUserDtos != null && ownerAppUserDtos.size() > 0) {
- for (OwnerAppUserDto ownerAppUser : ownerAppUserDtos) {
- OwnerAppUserPo ownerAppUserPo = BeanConvertUtil.covertBean(ownerAppUser, OwnerAppUserPo.class);
- ownerAppUserPo.setLink(paramInJson.getString("link"));
- ownerAppUserPo.setIdCard(paramInJson.getString("idCard"));
- flag = ownerAppUserV1InnerServiceSMOImpl.updateOwnerAppUser(ownerAppUserPo);
- if (flag < 1) {
- throw new CmdException("淇敼涓氫富澶辫触");
- }
- }
- }
- }
-
- public void editOwnerPhoto(JSONObject paramInJson) {
-
- String _photo = paramInJson.getString("ownerPhoto");
- if(_photo.length()> 512){
- FileDto fileDto = new FileDto();
- fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
- fileDto.setFileName(fileDto.getFileId());
- fileDto.setContext(_photo);
- fileDto.setSuffix("jpeg");
- fileDto.setCommunityId(paramInJson.getString("communityId"));
- _photo = fileInnerServiceSMOImpl.saveFile(fileDto);
- }
-
- FileRelDto fileRelDto = new FileRelDto();
- fileRelDto.setRelTypeCd("10000");
- fileRelDto.setObjId(paramInJson.getString("memberId"));
- int flag = 0;
- List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
- if (fileRelDtos == null || fileRelDtos.size() == 0) {
- JSONObject businessUnit = new JSONObject();
- businessUnit.put("fileRelId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_fileRelId));
- businessUnit.put("relTypeCd", "10000");
- businessUnit.put("saveWay", "table");
- businessUnit.put("objId", paramInJson.getString("memberId"));
- businessUnit.put("fileRealName", _photo);
- businessUnit.put("fileSaveName", _photo);
- FileRelPo fileRelPo = BeanConvertUtil.covertBean(businessUnit, FileRelPo.class);
- flag = fileRelInnerServiceSMOImpl.saveFileRel(fileRelPo);
- if (flag < 1) {
- throw new CmdException("淇濆瓨鏂囦欢澶辫触");
- }
+ //todo 鍒ゆ柇涓氫富鎵嬫満鍙峰拰璐︽埛鎵嬫満鍙锋槸鍚︾浉鍚岋紝涓嶇浉鍚屼慨鏀硅处鎴锋墜鏈哄彿
+ AccountDto accountDto = new AccountDto();
+ accountDto.setObjId(paramInJson.getString("memberId"));
+ accountDto.setPartId(paramInJson.getString("communityId"));
+ List<AccountDto> accountDtos = accountInnerServiceSMOImpl.queryAccounts(accountDto);
+ if (ListUtil.isNull(accountDtos)) {
return;
}
+ //鏌ヨ鏇存柊鍚庣殑涓氫富淇℃伅
+ OwnerDto owner = new OwnerDto();
+ owner.setMemberId(paramInJson.getString("memberId"));
+ List<OwnerDto> owners = ownerInnerServiceSMOImpl.queryOwnerMembers(owner);
+ Assert.listOnlyOne(owners, "鏈煡璇㈠埌涓氫富淇℃伅鎴栨煡璇㈠埌澶氭潯");
+ if (!accountDtos.get(0).getLink().equals(owners.get(0).getLink()) || !accountDtos.get(0).getAcctName().equals(owners.get(0).getName())) {
+ AccountPo accountPo = new AccountPo();
+ accountPo.setAcctName(owners.get(0).getName());
+ accountPo.setoLink(owners.get(0).getLink());
+ accountPo.setAcctId(accountDtos.get(0).getAcctId());
+ accountInnerServiceSMOImpl.updateAccount(accountPo);
+ }
+ }
- JSONObject businessUnit = new JSONObject();
- businessUnit.putAll(BeanConvertUtil.beanCovertMap(fileRelDtos.get(0)));
- businessUnit.put("fileRealName", _photo);
- businessUnit.put("fileSaveName", _photo);
- FileRelPo fileRelPo = BeanConvertUtil.covertBean(businessUnit, FileRelPo.class);
- flag = fileRelInnerServiceSMOImpl.updateFileRel(fileRelPo);
- if (flag < 1) {
- throw new CmdException("淇濆瓨鏂囦欢澶辫触");
+ /**
+ * 濡傛灉 涓氫富鍋氫簡缁戝畾鍒欎慨鏀圭粦瀹氱殑鎵嬫満鍙�
+ *
+ * @param reqJson
+ */
+ private void updateOwnerAppUser(JSONObject reqJson) {
+ OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
+ ownerAppUserDto.setMemberId(reqJson.getString("memberId"));
+ //todo 鏌ヨapp鐢ㄦ埛琛�
+ List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserInnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
+ if (ListUtil.isNull(ownerAppUserDtos)) {
+ return;
+ }
+ for (OwnerAppUserDto ownerAppUser : ownerAppUserDtos) {
+ OwnerAppUserPo ownerAppUserPo = BeanConvertUtil.covertBean(ownerAppUser, OwnerAppUserPo.class);
+ ownerAppUserPo.setLink(reqJson.getString("link"));
+ ownerAppUserV1InnerServiceSMOImpl.updateOwnerAppUser(ownerAppUserPo);
+ if (StringUtil.isEmpty(ownerAppUser.getUserId())) {
+ continue;
+ }
+ if (ownerAppUser.getUserId().startsWith("-")) {
+ continue;
+ }
+ // todo 淇敼鐢ㄦ埛淇℃伅
+ UserPo userPo = new UserPo();
+ userPo.setUserId(ownerAppUserDtos.get(0).getUserId());
+ userPo.setTel(reqJson.getString("link"));
+ userV1InnerServiceSMOImpl.updateUser(userPo);
}
}
}
--
Gitblit v1.8.0