| | |
| | | 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; |
| | |
| | | |
| | | //键(积分账户抵扣比例) |
| | | public static final String DEDUCTION_PROPORTION = "DEDUCTION_PROPORTION"; |
| | | |
| | | @Autowired |
| | | private IUserInnerServiceSMO userInnerServiceSMOImpl; |
| | | |
| | | /** |
| | | * @param accountDto |
| | |
| | | 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) { |
| | | //添加 账户 |
| | |
| | | |
| | | |
| | | private List<AccountDto> addAccountDto(AccountDto accountDto, OwnerDto ownerDto) { |
| | | // todo 查询账户名称 这里如果存在业主则业主名称 不是业主 则 填写用户名称,如果用户都没有 则返回空 |
| | | String acctName = getAccountName(ownerDto); |
| | | |
| | | if (StringUtil.isEmpty(acctName)) { |
| | | return new ArrayList<>(); |
| | | } |
| | | //开始锁代码 |
| | | String requestId = DistributedLock.getLockUUID(); |
| | | String key = this.getClass().getSimpleName() + "AddCountDto" + ownerDto.getOwnerId(); |
| | |
| | | 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; |
| | |
| | | } |
| | | } |
| | | |
| | | 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 ""; |
| | | } |
| | | |
| | | } |