From c32e21f2eab25be19b337d546e67e1441733dd4a Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期五, 30 六月 2023 22:15:06 +0800
Subject: [PATCH] 优化资产导入自动创建业主账号
---
service-community/src/main/java/com/java110/community/smo/impl/ImportOwnerRoomInnerServiceSMOImpl.java | 159 +++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 117 insertions(+), 42 deletions(-)
diff --git a/service-community/src/main/java/com/java110/community/smo/impl/ImportOwnerRoomInnerServiceSMOImpl.java b/service-community/src/main/java/com/java110/community/smo/impl/ImportOwnerRoomInnerServiceSMOImpl.java
index cbb14e8..d633186 100644
--- a/service-community/src/main/java/com/java110/community/smo/impl/ImportOwnerRoomInnerServiceSMOImpl.java
+++ b/service-community/src/main/java/com/java110/community/smo/impl/ImportOwnerRoomInnerServiceSMOImpl.java
@@ -1,8 +1,10 @@
package com.java110.community.smo.impl;
import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.core.factory.AuthenticationFactory;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.core.log.LoggerFactory;
+import com.java110.dto.community.CommunityDto;
import com.java110.dto.floor.FloorDto;
import com.java110.dto.room.RoomDto;
import com.java110.dto.unit.UnitDto;
@@ -10,13 +12,22 @@
import com.java110.dto.owner.OwnerRoomRelDto;
import com.java110.dto.importData.ImportOwnerRoomDto;
import com.java110.intf.community.*;
+import com.java110.intf.user.IOwnerAppUserV1InnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelV1InnerServiceSMO;
import com.java110.intf.user.IOwnerV1InnerServiceSMO;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
import com.java110.po.floor.FloorPo;
+import com.java110.po.owner.OwnerAppUserPo;
import com.java110.po.owner.OwnerPo;
import com.java110.po.owner.OwnerRoomRelPo;
import com.java110.po.room.RoomPo;
import com.java110.po.unit.UnitPo;
+import com.java110.po.user.UserPo;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.MappingConstant;
+import com.java110.utils.constant.UserLevelConstant;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
import org.slf4j.Logger;
@@ -49,6 +60,15 @@
@Autowired
private IOwnerRoomRelV1InnerServiceSMO ownerRoomRelV1InnerServiceSMOImpl;
+
+
+ @Autowired
+ private IOwnerAppUserV1InnerServiceSMO ownerAppUserV1InnerServiceSMOImpl;
+
+ @Autowired
+ private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+ @Autowired
+ private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
@Override
public int saveOwnerRooms(@RequestBody List<ImportOwnerRoomDto> importOwnerRoomDtos) {
@@ -203,53 +223,13 @@
ownerDto.setLink(importOwnerRoomDto.getTel());
ownerDto.setOwnerTypeCd(importOwnerRoomDto.getOwnerTypeCd());
List<OwnerDto> ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
- OwnerPo ownerPo = null;
String ownerId = "";
-
int flag = 0;
if (ownerDtos == null || ownerDtos.size() < 1) {
- ownerPo = new OwnerPo();
- ownerPo.setState(OwnerDto.STATE_FINISH);
- ownerPo.setOwnerFlag(OwnerDto.OWNER_FLAG_TRUE);
- ownerPo.setbId("-1");
- ownerPo.setOwnerTypeCd(importOwnerRoomDto.getOwnerTypeCd());
- ownerPo.setCommunityId(importOwnerRoomDto.getCommunityId());
- ownerPo.setOwnerId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ownerId));
- ownerPo.setName(importOwnerRoomDto.getOwnerName());
- ownerPo.setIdCard(importOwnerRoomDto.getIdCard());
- ownerPo.setAge(importOwnerRoomDto.getAge());
- ownerPo.setSex(importOwnerRoomDto.getSex());
- ownerPo.setLink(importOwnerRoomDto.getTel());
- ownerPo.setMemberId(ownerPo.getOwnerId());
- ownerPo.setRemark("鎴夸骇瀵煎叆");
- ownerPo.setUserId(importOwnerRoomDto.getUserId());
- flag = ownerV1InnerServiceSMOImpl.saveOwner(ownerPo);
- if (flag < 1) {
- throw new IllegalArgumentException("瀵煎叆涓氫富澶辫触");
- }
-
- ownerId = ownerPo.getOwnerId();
+ ownerId = doSaveOwnerInfo(importOwnerRoomDto);
} else {
ownerId = ownerDtos.get(0).getOwnerId();
- ownerPo = new OwnerPo();
- ownerPo.setState(OwnerDto.STATE_FINISH);
- ownerPo.setOwnerFlag(OwnerDto.OWNER_FLAG_TRUE);
- ownerPo.setbId("-1");
- ownerPo.setOwnerTypeCd(importOwnerRoomDto.getOwnerTypeCd());
- ownerPo.setCommunityId(importOwnerRoomDto.getCommunityId());
- ownerPo.setOwnerId(ownerId);
- ownerPo.setName(importOwnerRoomDto.getOwnerName());
- ownerPo.setIdCard(importOwnerRoomDto.getIdCard());
- ownerPo.setAge(importOwnerRoomDto.getAge());
- ownerPo.setSex(importOwnerRoomDto.getSex());
- ownerPo.setLink(importOwnerRoomDto.getTel());
- ownerPo.setMemberId(ownerPo.getOwnerId());
- ownerPo.setRemark("鎴夸骇瀵煎叆");
- ownerPo.setUserId(importOwnerRoomDto.getUserId());
- flag = ownerV1InnerServiceSMOImpl.updateOwner(ownerPo);
- if (flag < 1) {
- throw new IllegalArgumentException("瀵煎叆涓氫富澶辫触");
- }
+ doUpdateOwnerInfo(importOwnerRoomDto, ownerId);
}
// 鏌ヨ鎴垮眿鍜屼笟涓绘槸鍚︽湁鍏崇郴
OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
@@ -277,6 +257,101 @@
}
}
+ private void doUpdateOwnerInfo(ImportOwnerRoomDto importOwnerRoomDto, String ownerId) {
+ OwnerPo ownerPo;
+ int flag;
+ ownerPo = new OwnerPo();
+ ownerPo.setState(OwnerDto.STATE_FINISH);
+ ownerPo.setOwnerFlag(OwnerDto.OWNER_FLAG_TRUE);
+ ownerPo.setbId("-1");
+ ownerPo.setOwnerTypeCd(importOwnerRoomDto.getOwnerTypeCd());
+ ownerPo.setCommunityId(importOwnerRoomDto.getCommunityId());
+ ownerPo.setOwnerId(ownerId);
+ ownerPo.setName(importOwnerRoomDto.getOwnerName());
+ ownerPo.setIdCard(importOwnerRoomDto.getIdCard());
+ ownerPo.setAge(importOwnerRoomDto.getAge());
+ ownerPo.setSex(importOwnerRoomDto.getSex());
+ ownerPo.setLink(importOwnerRoomDto.getTel());
+ ownerPo.setMemberId(ownerPo.getOwnerId());
+ ownerPo.setRemark("鎴夸骇瀵煎叆");
+ ownerPo.setUserId(importOwnerRoomDto.getUserId());
+ flag = ownerV1InnerServiceSMOImpl.updateOwner(ownerPo);
+ if (flag < 1) {
+ throw new IllegalArgumentException("瀵煎叆涓氫富澶辫触");
+ }
+ }
+
+ private String doSaveOwnerInfo(ImportOwnerRoomDto importOwnerRoomDto) {
+ int flag;
+ OwnerPo ownerPo = new OwnerPo();
+ ownerPo.setState(OwnerDto.STATE_FINISH);
+ ownerPo.setOwnerFlag(OwnerDto.OWNER_FLAG_TRUE);
+ ownerPo.setbId("-1");
+ ownerPo.setOwnerTypeCd(importOwnerRoomDto.getOwnerTypeCd());
+ ownerPo.setCommunityId(importOwnerRoomDto.getCommunityId());
+ ownerPo.setOwnerId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ownerId));
+ ownerPo.setName(importOwnerRoomDto.getOwnerName());
+ ownerPo.setIdCard(importOwnerRoomDto.getIdCard());
+ ownerPo.setAge(importOwnerRoomDto.getAge());
+ ownerPo.setSex(importOwnerRoomDto.getSex());
+ ownerPo.setLink(importOwnerRoomDto.getTel());
+ ownerPo.setMemberId(ownerPo.getOwnerId());
+ ownerPo.setRemark("鎴夸骇瀵煎叆");
+ ownerPo.setUserId(importOwnerRoomDto.getUserId());
+ flag = ownerV1InnerServiceSMOImpl.saveOwner(ownerPo);
+ if (flag < 1) {
+ throw new IllegalArgumentException("瀵煎叆涓氫富澶辫触");
+ }
+
+ String autoUser = MappingCache.getValue(MappingConstant.DOMAIN_SYSTEM_SWITCH, "AUTO_GENERATOR_OWNER_USER");
+
+ if (!"ON".equals(autoUser)) {
+ return ownerPo.getOwnerId();
+ }
+
+ CommunityDto communityDto = new CommunityDto();
+ communityDto.setCommunityId(ownerPo.getCommunityId());
+ List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto);
+ Assert.listNotNull(communityDtos, "鏈寘鍚皬鍖轰俊鎭�");
+ CommunityDto tmpCommunityDto = communityDtos.get(0);
+
+ UserPo userPo = new UserPo();
+ userPo.setUserId(GenerateCodeFactory.getUserId());
+ userPo.setName(ownerPo.getName());
+ userPo.setTel(ownerPo.getLink());
+ userPo.setPassword(AuthenticationFactory.passwdMd5(ownerPo.getLink()));
+ userPo.setLevelCd(UserLevelConstant.USER_LEVEL_ORDINARY);
+ userPo.setAge(ownerPo.getAge());
+ userPo.setAddress(ownerPo.getAddress());
+ userPo.setSex(ownerPo.getSex());
+ flag = userV1InnerServiceSMOImpl.saveUser(userPo);
+ if (flag < 1) {
+ throw new CmdException("娉ㄥ唽澶辫触");
+ }
+
+ OwnerAppUserPo ownerAppUserPo = new OwnerAppUserPo();
+ //鐘舵�佺被鍨嬶紝10000 瀹℃牳涓紝12000 瀹℃牳鎴愬姛锛�13000 瀹℃牳澶辫触
+ ownerAppUserPo.setState("12000");
+ ownerAppUserPo.setAppTypeCd("10010");
+ ownerAppUserPo.setAppUserId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_appUserId));
+ ownerAppUserPo.setMemberId(ownerPo.getMemberId());
+ ownerAppUserPo.setCommunityName(tmpCommunityDto.getName());
+ ownerAppUserPo.setCommunityId(ownerPo.getCommunityId());
+ ownerAppUserPo.setAppUserName(ownerPo.getName());
+ ownerAppUserPo.setIdCard(ownerPo.getIdCard());
+ ownerAppUserPo.setAppType("WECHAT");
+ ownerAppUserPo.setLink(ownerPo.getLink());
+ ownerAppUserPo.setUserId(userPo.getUserId());
+ ownerAppUserPo.setOpenId("-1");
+
+ flag = ownerAppUserV1InnerServiceSMOImpl.saveOwnerAppUser(ownerAppUserPo);
+ if (flag < 1) {
+ throw new CmdException("娣诲姞鐢ㄦ埛涓氫富鍏崇郴澶辫触");
+ }
+
+ return ownerPo.getOwnerId();
+ }
+
private String doSaveRoom(ImportOwnerRoomDto importOwnerRoomDto, String unitId) {
RoomDto roomDto = new RoomDto();
roomDto.setCommunityId(importOwnerRoomDto.getCommunityId());
--
Gitblit v1.8.0