|
|
@@ -6,9 +6,11 @@ import com.java110.core.factory.GenerateCodeFactory;
|
|
|
import com.java110.dto.account.AccountDto;
|
|
|
import com.java110.dto.accountDetail.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;
|
|
|
@@ -40,6 +42,9 @@ public class GetAccountBMOImpl implements IGetAccountBMO {
|
|
|
//键(积分账户抵扣比例)
|
|
|
public static final String DEDUCTION_PROPORTION = "DEDUCTION_PROPORTION";
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IUserInnerServiceSMO userInnerServiceSMOImpl;
|
|
|
+
|
|
|
/**
|
|
|
* @param accountDto
|
|
|
* @return 订单服务能够接受的报文
|
|
|
@@ -147,7 +152,10 @@ public class GetAccountBMOImpl implements IGetAccountBMO {
|
|
|
|
|
|
|
|
|
private List<AccountDto> addAccountDto(AccountDto accountDto, OwnerDto ownerDto) {
|
|
|
- if (StringUtil.isEmpty(ownerDto.getOwnerId())) {
|
|
|
+ // todo 查询账户名称 这里如果存在业主则业主名称 不是业主 则 填写用户名称,如果用户都没有 则返回空
|
|
|
+ String acctName = getAccountName(ownerDto);
|
|
|
+
|
|
|
+ if (StringUtil.isEmpty(acctName)) {
|
|
|
return new ArrayList<>();
|
|
|
}
|
|
|
//开始锁代码
|
|
|
@@ -162,14 +170,9 @@ public class GetAccountBMOImpl implements IGetAccountBMO {
|
|
|
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(ownerDtos.get(0).getLink());
|
|
|
+ accountPo.setLink(ownerDto.getLink());
|
|
|
accountInnerServiceSMOImpl.saveAccount(accountPo);
|
|
|
List<AccountDto> accountDtos = accountInnerServiceSMOImpl.queryAccounts(accountDto);
|
|
|
return accountDtos;
|
|
|
@@ -178,4 +181,46 @@ public class GetAccountBMOImpl implements IGetAccountBMO {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ 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("-1");
|
|
|
+ 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 "";
|
|
|
+ }
|
|
|
+
|
|
|
}
|