From 7958f1dddb8a7f4e70d232b07a7703955ecedae0 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期六, 26 八月 2023 12:45:33 +0800
Subject: [PATCH] 优化diamante
---
service-acct/src/main/java/com/java110/acct/bmo/account/impl/GetAccountBMOImpl.java | 89 ++++++++++++++++++++++++++++++++------------
1 files changed, 65 insertions(+), 24 deletions(-)
diff --git a/service-acct/src/main/java/com/java110/acct/bmo/account/impl/GetAccountBMOImpl.java b/service-acct/src/main/java/com/java110/acct/bmo/account/impl/GetAccountBMOImpl.java
index 64cc0ba..263fd4d 100644
--- a/service-acct/src/main/java/com/java110/acct/bmo/account/impl/GetAccountBMOImpl.java
+++ b/service-acct/src/main/java/com/java110/acct/bmo/account/impl/GetAccountBMOImpl.java
@@ -4,14 +4,15 @@
import com.java110.core.factory.CommunitySettingFactory;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.account.AccountDto;
-import com.java110.dto.accountDetail.AccountDetailDto;
+import com.java110.dto.account.AccountDetailDto;
import com.java110.dto.owner.OwnerDto;
+import com.java110.dto.user.UserDto;
import com.java110.intf.acct.IAccountDetailInnerServiceSMO;
import com.java110.intf.acct.IAccountInnerServiceSMO;
import com.java110.intf.user.IOwnerInnerServiceSMO;
+import com.java110.intf.user.IUserInnerServiceSMO;
import com.java110.po.account.AccountPo;
import com.java110.utils.lock.DistributedLock;
-import com.java110.utils.util.Assert;
import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
@@ -39,6 +40,9 @@
//閿�(绉垎璐︽埛鎶垫墸姣斾緥)
public static final String DEDUCTION_PROPORTION = "DEDUCTION_PROPORTION";
+
+ @Autowired
+ private IUserInnerServiceSMO userInnerServiceSMOImpl;
/**
* @param accountDto
@@ -94,29 +98,22 @@
List<OwnerDto> ownerDtos = null;
List<AccountDto> accountDtos = null;
int count = 0;
- if (!StringUtil.isEmpty(ownerDto.getLink()) || !StringUtil.isEmpty(ownerDto.getIdCard())) {
+ if (!StringUtil.isEmpty(ownerDto.getIdCard())) {
//鍏堟煡璇笟涓�
ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
if (ownerDtos != null && ownerDtos.size() > 0) {
accountDto.setAcctName("");
accountDto.setObjId(ownerDtos.get(0).getMemberId());
- count = accountInnerServiceSMOImpl.queryAccountsCount(accountDto);
- if (count > 0) {
- accountDtos = accountInnerServiceSMOImpl.queryAccounts(accountDto);
- } else {
- accountDtos = new ArrayList<>();
- }
- } else {
- accountDtos = new ArrayList<>();
- }
- } else {
- count = accountInnerServiceSMOImpl.queryAccountsCount(accountDto);
- if (count > 0) {
- accountDtos = accountInnerServiceSMOImpl.queryAccounts(accountDto);
- } else {
- accountDtos = new ArrayList<>();
}
}
+
+ count = accountInnerServiceSMOImpl.queryAccountsCount(accountDto);
+ if (count > 0) {
+ accountDtos = accountInnerServiceSMOImpl.queryAccounts(accountDto);
+ } else {
+ accountDtos = new ArrayList<>();
+ }
+
if (accountDtos == null || accountDtos.size() < 1) {
//娣诲姞 璐︽埛
@@ -147,6 +144,12 @@
private List<AccountDto> addAccountDto(AccountDto accountDto, OwnerDto ownerDto) {
+ // todo 鏌ヨ璐︽埛鍚嶇О 杩欓噷濡傛灉瀛樺湪涓氫富鍒欎笟涓诲悕绉� 涓嶆槸涓氫富 鍒� 濉啓鐢ㄦ埛鍚嶇О锛屽鏋滅敤鎴烽兘娌℃湁 鍒欒繑鍥炵┖
+ String acctName = getAccountName(ownerDto);
+
+ if (StringUtil.isEmpty(acctName)) {
+ return new ArrayList<>();
+ }
//寮�濮嬮攣浠g爜
String requestId = DistributedLock.getLockUUID();
String key = this.getClass().getSimpleName() + "AddCountDto" + ownerDto.getOwnerId();
@@ -159,13 +162,9 @@
accountPo.setObjId(ownerDto.getOwnerId());
accountPo.setObjType(AccountDto.OBJ_TYPE_PERSON);
accountPo.setAcctType(AccountDto.ACCT_TYPE_CASH);
- OwnerDto tmpOwnerDto = new OwnerDto();
- tmpOwnerDto.setMemberId(ownerDto.getOwnerId());
- tmpOwnerDto.setCommunityId(ownerDto.getCommunityId());
- List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(tmpOwnerDto);
- Assert.listOnlyOne(ownerDtos, "涓氫富涓嶅瓨鍦�");
- accountPo.setAcctName(ownerDtos.get(0).getName());
+ accountPo.setAcctName(acctName);
accountPo.setPartId(ownerDto.getCommunityId());
+ accountPo.setLink(ownerDto.getLink());
accountInnerServiceSMOImpl.saveAccount(accountPo);
List<AccountDto> accountDtos = accountInnerServiceSMOImpl.queryAccounts(accountDto);
return accountDtos;
@@ -174,4 +173,46 @@
}
}
+ private String getAccountName(OwnerDto ownerDto) {
+
+ // todo owner
+ if (!StringUtil.isEmpty(ownerDto.getOwnerId())) {
+ OwnerDto tmpOwnerDto = new OwnerDto();
+ tmpOwnerDto.setMemberId(ownerDto.getOwnerId());
+ tmpOwnerDto.setCommunityId(ownerDto.getCommunityId());
+ List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(tmpOwnerDto);
+ if (ownerDtos == null || ownerDtos.size() < 1) {
+ return "";
+ }
+ ownerDto.setCommunityId(ownerDtos.get(0).getCommunityId());
+ ownerDto.setLink(ownerDtos.get(0).getLink());
+ return ownerDtos.get(0).getName();
+ }
+
+ // todo 蹇呴』鍖呭惈 鎵嬫満鍙峰拰灏忓尯
+ if (StringUtil.isEmpty(ownerDto.getLink()) || StringUtil.isEmpty(ownerDto.getCommunityId())) {
+ return "";
+ }
+
+ // todo 涓氫富鐢� 鎵嬫満鍙锋煡璇�
+ OwnerDto tmpOwnerDto = new OwnerDto();
+ tmpOwnerDto.setLink(ownerDto.getLink());
+ tmpOwnerDto.setCommunityId(ownerDto.getCommunityId());
+ List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(tmpOwnerDto);
+ if (ownerDtos != null && ownerDtos.size() > 0) {
+ ownerDto.setOwnerId(ownerDtos.get(0).getMemberId());
+ return ownerDtos.get(0).getName();
+ }
+
+ //todo 闈炰笟涓绘槸娓稿
+ UserDto userDto = new UserDto();
+ userDto.setTel(ownerDto.getLink());
+ List<UserDto> userDtos = userInnerServiceSMOImpl.getUsers(userDto);
+ if (userDtos != null && userDtos.size() > 0) {
+ ownerDto.setOwnerId("-1");
+ return userDtos.get(0).getName();
+ }
+ return "";
+ }
+
}
--
Gitblit v1.8.0