package com.java110.acct.bmo.account.impl; import com.java110.acct.bmo.account.IGetAccountBMO; import com.java110.dto.account.AccountDto; import com.java110.dto.accountDetail.AccountDetailDto; import com.java110.dto.owner.OwnerDto; import com.java110.intf.acct.IAccountDetailInnerServiceSMO; import com.java110.intf.acct.IAccountInnerServiceSMO; import com.java110.intf.user.IOwnerInnerServiceSMO; import com.java110.utils.util.StringUtil; import com.java110.vo.ResultVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @Service("getAccountBMOImpl") public class GetAccountBMOImpl implements IGetAccountBMO { @Autowired private IAccountInnerServiceSMO accountInnerServiceSMOImpl; @Autowired private IAccountDetailInnerServiceSMO accountDetailInnerServiceSMOImpl; @Autowired private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl; /** * @param accountDto * @return 订单服务能够接受的报文 */ public ResponseEntity get(AccountDto accountDto) { int count = accountInnerServiceSMOImpl.queryAccountsCount(accountDto); List accountDtos = null; if (count > 0) { accountDtos = accountInnerServiceSMOImpl.queryAccounts(accountDto); } else { accountDtos = new ArrayList<>(); } ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) accountDto.getRow()), count, accountDtos); ResponseEntity responseEntity = new ResponseEntity(resultVo.toString(), HttpStatus.OK); return responseEntity; } @Override public ResponseEntity getDetail(AccountDetailDto accountDetailDto) { int count = accountDetailInnerServiceSMOImpl.queryAccountDetailsCount(accountDetailDto); List accountDetailDtos = null; if (count > 0) { accountDetailDtos = accountDetailInnerServiceSMOImpl.queryAccountDetails(accountDetailDto); } else { accountDetailDtos = new ArrayList<>(); } ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) accountDetailDto.getRow()), count, accountDetailDtos); ResponseEntity responseEntity = new ResponseEntity(resultVo.toString(), HttpStatus.OK); return responseEntity; } /** * 查询业主账号 * * @param accountDto * @param ownerDto * @return */ @Override public ResponseEntity queryOwnerAccount(AccountDto accountDto, OwnerDto ownerDto) { List ownerDtos = null; List accountDtos = null; int count = 0; if (!StringUtil.isEmpty(ownerDto.getLink()) || !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<>(); } } ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) accountDto.getRow()), count, accountDtos); ResponseEntity responseEntity = new ResponseEntity(resultVo.toString(), HttpStatus.OK); return responseEntity; } }