feat:通过门店Code 查询存量客户开通基本信息

This commit is contained in:
苏竹红
2025-11-20 15:22:50 +08:00
parent 8f1182f3ee
commit 297c6e35c4
14 changed files with 1652 additions and 7 deletions

View File

@@ -157,4 +157,19 @@ public interface WalletService {
* @return
*/
PageInfo<TradeRecordDTO> getTradeRecordList(CoolTradeRecodePageRequest request);
/**
* 通过门店Code 查询存量客户开通基本信息
* @param storeCode
* @return
*/
OpenBasicInfoDTO getOpenBasicInfo(String storeCode);
/**
* 开通网商银行
* @param request
* @return
*/
Boolean openOnlineBankAccount(CoolOpenBasicInfoRequest request);
}

View File

@@ -5,9 +5,15 @@ import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants;
import com.cool.store.constants.RedisConstant;
import com.cool.store.dao.*;
import com.cool.store.dao.store.StoreMasterSignerInfoDAO;
import com.cool.store.dao.wallet.OpenBankInfoDAO;
import com.cool.store.dao.wallet.TempOpenWalletInfoDAO;
import com.cool.store.dao.wallet.WalletPaymentOrderDAO;
import com.cool.store.dto.wallet.*;
import com.cool.store.entity.*;
import com.cool.store.entity.store.StoreMasterSignerInfoDO;
import com.cool.store.entity.wallet.OpenBankInfoDO;
import com.cool.store.entity.wallet.TempOpenWalletInfoDO;
import com.cool.store.entity.wallet.WalletPaymentOrderDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.point.ShopSubStageEnum;
@@ -31,16 +37,14 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.sql.Date;
import java.text.MessageFormat;
import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -63,6 +67,10 @@ public class WalletServiceImpl implements WalletService {
private final LineInfoDAO lineInfoDAO;
private final RedisUtilPool redisUtilPool;
private final QualificationsInfoDAO qualificationsInfoDAO;
private final StoreDao storeDao;
private final StoreMasterSignerInfoDAO storeMasterSignerInfoDAO;
private final TempOpenWalletInfoDAO tempOpenWalletInfoDAO;
private final OpenBankInfoDAO openBankInfoDAO;
private final static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@@ -407,6 +415,93 @@ public class WalletServiceImpl implements WalletService {
return toPageInfo(tradeRecordListDTO.getPageData(), TradeRecordDTO.class, tradeRecordListDTO.getPage());
}
@Override
public OpenBasicInfoDTO getOpenBasicInfo(String storeCode) {
OpenBasicInfoDTO openBasicInfoDTO = new OpenBasicInfoDTO();
//非首次提交 获取上次提交的信息 其他情况走主数据与营账通开通数据
OpenBankInfoDO openBankInfo = openBankInfoDAO.getOpenBankInfo(storeCode);
if (Objects.nonNull(openBankInfo)){
openBasicInfoDTO.setSignerName(openBankInfo.getSignerName());
openBasicInfoDTO.setSignerIdCard(openBankInfo.getSignerIdCard());
openBasicInfoDTO.setSignerPhone(openBankInfo.getSignerPhone());
openBasicInfoDTO.setSignerIdCardFront(openBankInfo.getSignerIdCardFront());
openBasicInfoDTO.setSignerIdCardBack(openBankInfo.getSignerIdCardBack());
openBasicInfoDTO.setBusinessLicenseName(openBankInfo.getBusinessLicenseName());
openBasicInfoDTO.setBusinessLicenseCode(openBankInfo.getBusinessLicenseCode());
openBasicInfoDTO.setSettlementCard(openBankInfo.getSettlementCard());
openBasicInfoDTO.setBankBranchName(openBankInfo.getBankBranchName());
openBasicInfoDTO.setBankBranchCode(openBankInfo.getBankBranchCode());
openBasicInfoDTO.setBankReservedPhone(openBankInfo.getBankReservedPhone());
return openBasicInfoDTO;
}
//先查询当前门店
StoreDO store = storeDao.getByStoreNum(storeCode);
if (Objects.isNull( store)){
return null;
}
Map<String, StoreMasterSignerInfoDO> signerMapByStoreIds = storeMasterSignerInfoDAO.getSignerMapByStoreIds(Collections.singletonList(store.getStoreId()));
StoreMasterSignerInfoDO signerInfoDO = signerMapByStoreIds.get(store.getStoreId());
if (Objects.nonNull(signerInfoDO)){
openBasicInfoDTO.setSignerName(signerInfoDO.getSigner1Name());
openBasicInfoDTO.setSignerIdCard(signerInfoDO.getSigner1IdCardNo());
openBasicInfoDTO.setSignerPhone(signerInfoDO.getSigner1Mobile());
openBasicInfoDTO.setSignerIdCardFront(signerInfoDO.getSigner1IdCardFront());
openBasicInfoDTO.setSignerIdCardBack(signerInfoDO.getSigner1IdCardBack());
}
TempOpenWalletInfoDO tempOpenWalletInfoByStoreCode = tempOpenWalletInfoDAO.getTempOpenWalletInfoByStoreCode(storeCode);
if (Objects.nonNull(tempOpenWalletInfoByStoreCode)){
openBasicInfoDTO.setBusinessLicenseName(tempOpenWalletInfoByStoreCode.getBusinessRegName());
openBasicInfoDTO.setBusinessLicenseCode(tempOpenWalletInfoByStoreCode.getBusinessLicenseNo());
openBasicInfoDTO.setSettlementCard(tempOpenWalletInfoByStoreCode.getSettlementCardNo());
openBasicInfoDTO.setBankBranchName(tempOpenWalletInfoByStoreCode.getBankBranchName());
openBasicInfoDTO.setBankBranchCode(tempOpenWalletInfoByStoreCode.getBankBranchNo());
openBasicInfoDTO.setBankReservedPhone(tempOpenWalletInfoByStoreCode.getBankReservedPhone());
}
return openBasicInfoDTO;
}
@Override
public Boolean openOnlineBankAccount(CoolOpenBasicInfoRequest request) {
//首先存储提交的信息
OpenBankInfoDO openBankInfoDO = new OpenBankInfoDO();
BeanUtil.copyProperties(request, openBankInfoDO);
//查询是否有提交过
OpenBankInfoDO openBankInfo = openBankInfoDAO.getOpenBankInfo(request.getStoreCode());
if (Objects.isNull(openBankInfo)){
openBankInfoDAO.insertSelective(openBankInfoDO);
}else {
openBankInfoDAO.updateByStoreCode(openBankInfoDO);
}
OldStoreAccountCreateRequest oldStoreAccountCreateRequest = new OldStoreAccountCreateRequest();
StoreDO store = storeDao.getByStoreNum(request.getStoreCode());
oldStoreAccountCreateRequest.setOutStoreId(store.getStoreId());
oldStoreAccountCreateRequest.setPhoneNumber(request.getSignerPhone());
oldStoreAccountCreateRequest.setAccountType(2);
oldStoreAccountCreateRequest.setLicenseNo(request.getBusinessLicenseCode());
oldStoreAccountCreateRequest.setLicenseName(request.getBusinessLicenseName());
oldStoreAccountCreateRequest.setLegalName(request.getLegalName());
oldStoreAccountCreateRequest.setLegalNo(request.getLegalIdCard());
oldStoreAccountCreateRequest.setLegalPhone(request.getLegalPhone());
//账户简称使用营业执照名称
oldStoreAccountCreateRequest.setAccountAliasName(request.getBusinessLicenseName());
oldStoreAccountCreateRequest.setAccountCardNo(request.getSettlementCard());
oldStoreAccountCreateRequest.setAccountPhone(request.getBankReservedPhone());
oldStoreAccountCreateRequest.setBankNo(request.getBankBranchCode());
oldStoreAccountCreateRequest.setBankName(request.getBankBranchName());
oldStoreAccountCreateRequest.setCertPhotoA(request.getLegalIdCardFront());
oldStoreAccountCreateRequest.setCertPhotoB(request.getLegalIdCardBack());
oldStoreAccountCreateRequest.setLicensePhoto(request.getBusinessLicensePhoto());
oldStoreAccountCreateRequest.setSignatoryName(request.getSignerName());
oldStoreAccountCreateRequest.setSignatoryPhone(request.getSignerPhone());
oldStoreAccountCreateRequest.setSignatoryNo(request.getSignerIdCard());
oldStoreAccountCreateRequest.setSignatoryPhotoA(request.getSignerIdCardFront());
oldStoreAccountCreateRequest.setSignatoryPhotoB(request.getSignerIdCardBack());
walletApiService.oldStoreOpenAccount(oldStoreAccountCreateRequest);
return Boolean.TRUE;
}
public String getStoreId(StoreShopRequest request) {
String storeId = request.getStoreId();
if (StringUtils.isBlank(storeId) && Objects.nonNull(request.getShopId())) {