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

@@ -0,0 +1,34 @@
package com.cool.store.dao.wallet;
import com.cool.store.entity.wallet.OpenBankInfoDO;
import com.cool.store.mapper.wallet.OpenBankInfoMapper;
import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
/**
* @Author suzhuhong
* @Date 2025/11/20 10:37
* @Version 1.0
*/
@Repository
public class OpenBankInfoDAO {
@Resource
private OpenBankInfoMapper openBankInfoMapper;
public int insertSelective(OpenBankInfoDO openBankInfoDO){
return openBankInfoMapper.insertSelective(openBankInfoDO);
}
public int updateByStoreCode(OpenBankInfoDO openBankInfoDO){
return openBankInfoMapper.updateByStoreCode(openBankInfoDO);
}
public OpenBankInfoDO getOpenBankInfo(String storeCode){
return openBankInfoMapper.getOpenBankInfo(storeCode);
}
}

View File

@@ -0,0 +1,35 @@
package com.cool.store.dao.wallet;
import com.cool.store.entity.wallet.TempOpenWalletInfoDO;
import com.cool.store.mapper.wallet.TempOpenWalletInfoMapper;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Repository;
import javax.annotation.Resource;
/**
* @Author suzhuhong
* @Date 2025/11/20 10:03
* @Version 1.0
*/
@Repository
@RequiredArgsConstructor
public class TempOpenWalletInfoDAO {
@Resource
private TempOpenWalletInfoMapper tempOpenWalletInfoMapper;
/**
* 根据门店编号查询临时开通钱包信息
* @param StoreCode
* @return
*/
public TempOpenWalletInfoDO getTempOpenWalletInfoByStoreCode(String StoreCode) {
if (StoreCode == null){
return null;
}
return tempOpenWalletInfoMapper.getTempOpenWalletInfoByStoreCode(StoreCode);
}
}

View File

@@ -0,0 +1,26 @@
package com.cool.store.mapper.wallet;
import com.cool.store.entity.wallet.OpenBankInfoDO;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
public interface OpenBankInfoMapper extends Mapper<OpenBankInfoDO> {
/**
* 查询门店开户信息
* @param storeCode
* @return
*/
OpenBankInfoDO getOpenBankInfo(@Param("storeCode") String storeCode);
/**
* 根据门店编码更新
* @param openBankInfoDO
* @return
*/
Integer updateByStoreCode(@Param("dto") OpenBankInfoDO openBankInfoDO);
}

View File

@@ -0,0 +1,18 @@
package com.cool.store.mapper.wallet;
import com.cool.store.entity.wallet.TempOpenWalletInfoDO;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
public interface TempOpenWalletInfoMapper extends Mapper<TempOpenWalletInfoDO> {
/**
* 根据StoreCode查询临时开放钱包信息
* @param StoreCode
* @return
*/
TempOpenWalletInfoDO getTempOpenWalletInfoByStoreCode(@Param("StoreCode") String StoreCode);
}

View File

@@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.wallet.OpenBankInfoMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.wallet.OpenBankInfoDO">
<!--
WARNING - @mbg.generated
-->
<result column="store_code" jdbcType="VARCHAR" property="storeCode" />
<result column="signer_name" jdbcType="VARCHAR" property="signerName" />
<result column="signer_id_card" jdbcType="VARCHAR" property="signerIdCard" />
<result column="signer_phone" jdbcType="VARCHAR" property="signerPhone" />
<result column="signer_id_card_front" jdbcType="VARCHAR" property="signerIdCardFront" />
<result column="signer_id_card_back" jdbcType="VARCHAR" property="signerIdCardBack" />
<result column="business_license_name" jdbcType="VARCHAR" property="businessLicenseName" />
<result column="business_license_code" jdbcType="VARCHAR" property="businessLicenseCode" />
<result column="business_license_photo" jdbcType="VARCHAR" property="businessLicensePhoto" />
<result column="legal_is_signer" jdbcType="TINYINT" property="legalIsSigner" />
<result column="legal_name" jdbcType="VARCHAR" property="legalName" />
<result column="legal_id_card" jdbcType="VARCHAR" property="legalIdCard" />
<result column="legal_phone" jdbcType="VARCHAR" property="legalPhone" />
<result column="legal_id_card_front" jdbcType="VARCHAR" property="legalIdCardFront" />
<result column="legal_id_card_back" jdbcType="VARCHAR" property="legalIdCardBack" />
<result column="settlement_card" jdbcType="VARCHAR" property="settlementCard" />
<result column="bank_branch_name" jdbcType="VARCHAR" property="bankBranchName" />
<result column="bank_branch_code" jdbcType="VARCHAR" property="bankBranchCode" />
<result column="bank_reserved_phone" jdbcType="VARCHAR" property="bankReservedPhone" />
</resultMap>
<select id="getOpenBankInfo" resultMap="BaseResultMap">
select * from zxjp_open_bank_info where store_code = #{storeCode}
</select>
<update id="updateByStoreCode" parameterType="com.cool.store.entity.wallet.OpenBankInfoDO">
UPDATE zxjp_open_bank_info
<set>
<if test="dto.signerName != null and dto.signerName != ''">
signer_name = #{dto.signerName},
</if>
<if test="dto.signerIdCard != null and dto.signerIdCard != ''">
signer_id_card = #{dto.signerIdCard},
</if>
<if test="dto.signerPhone != null and dto.signerPhone != ''">
signer_phone = #{dto.signerPhone},
</if>
<if test="dto.signerIdCardFront != null and dto.signerIdCardFront != ''">
signer_id_card_front = #{dto.signerIdCardFront},
</if>
<if test="dto.signerIdCardBack != null and dto.signerIdCardBack != ''">
signer_id_card_back = #{dto.signerIdCardBack},
</if>
<if test="dto.businessLicenseName != null and dto.businessLicenseName != ''">
business_license_name = #{dto.businessLicenseName},
</if>
<if test="dto.businessLicenseCode != null and dto.businessLicenseCode != ''">
business_license_code = #{dto.businessLicenseCode},
</if>
<if test="dto.businessLicensePhoto != null and dto.businessLicensePhoto != ''">
business_license_photo = #{dto.businessLicensePhoto},
</if>
<if test="dto.legalIsSigner != null">
legal_is_signer = #{dto.legalIsSigner},
</if>
<if test="dto.legalName != null and dto.legalName != ''">
legal_name = #{dto.legalName},
</if>
<if test="dto.legalIdCard != null and dto.legalIdCard != ''">
legal_id_card = #{dto.legalIdCard},
</if>
<if test="dto.legalPhone != null and dto.legalPhone != ''">
legal_phone = #{dto.legalPhone},
</if>
<if test="dto.legalIdCardFront != null and dto.legalIdCardFront != ''">
legal_id_card_front = #{dto.legalIdCardFront},
</if>
<if test="dto.legalIdCardBack != null and dto.legalIdCardBack != ''">
legal_id_card_back = #{dto.legalIdCardBack},
</if>
<if test="dto.settlementCard != null and dto.settlementCard != ''">
settlement_card = #{dto.settlementCard},
</if>
<if test="dto.bankBranchName != null and dto.bankBranchName != ''">
bank_branch_name = #{dto.bankBranchName},
</if>
<if test="dto.bankBranchCode != null and dto.bankBranchCode != ''">
bank_branch_code = #{dto.bankBranchCode},
</if>
<if test="dto.bankReservedPhone != null and dto.bankReservedPhone != ''">
bank_reserved_phone = #{dto.bankReservedPhone},
</if>
</set>
WHERE store_code = #{dto.storeCode}
</update>
</mapper>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cool.store.mapper.wallet.TempOpenWalletInfoMapper">
<resultMap id="BaseResultMap" type="com.cool.store.entity.wallet.TempOpenWalletInfoDO">
<!--
WARNING - @mbg.generated
-->
<result column="store_code" jdbcType="VARCHAR" property="storeCode" />
<result column="store_name" jdbcType="VARCHAR" property="storeName" />
<result column="store_mode" jdbcType="VARCHAR" property="storeMode" />
<result column="ledger_name" jdbcType="VARCHAR" property="ledgerName" />
<result column="ledger_status" jdbcType="VARCHAR" property="ledgerStatus" />
<result column="business_type" jdbcType="VARCHAR" property="businessType" />
<result column="business_reg_name" jdbcType="VARCHAR" property="businessRegName" />
<result column="business_license_no" jdbcType="VARCHAR" property="businessLicenseNo" />
<result column="business_address" jdbcType="VARCHAR" property="businessAddress" />
<result column="province" jdbcType="VARCHAR" property="province" />
<result column="city" jdbcType="VARCHAR" property="city" />
<result column="district" jdbcType="VARCHAR" property="district" />
<result column="legal_person_name" jdbcType="VARCHAR" property="legalPersonName" />
<result column="legal_person_id_no" jdbcType="VARCHAR" property="legalPersonIdNo" />
<result column="legal_id_start_date" jdbcType="DATE" property="legalIdStartDate" />
<result column="legal_id_expire_date" jdbcType="DATE" property="legalIdExpireDate" />
<result column="settler_name" jdbcType="VARCHAR" property="settlerName" />
<result column="settler_id_no" jdbcType="VARCHAR" property="settlerIdNo" />
<result column="settler_id_start_date" jdbcType="DATE" property="settlerIdStartDate" />
<result column="settler_id_expire_date" jdbcType="DATE" property="settlerIdExpireDate" />
<result column="bank_branch_name" jdbcType="VARCHAR" property="bankBranchName" />
<result column="bank_branch_no" jdbcType="VARCHAR" property="bankBranchNo" />
<result column="settlement_card_no" jdbcType="VARCHAR" property="settlementCardNo" />
<result column="bank_reserved_phone" jdbcType="VARCHAR" property="bankReservedPhone" />
<result column="accounting_relation" jdbcType="VARCHAR" property="accountingRelation" />
</resultMap>
<select id="getTempOpenWalletInfoByStoreCode" resultMap="BaseResultMap">
select * from zxjp_temp_open_wallet_info where store_id = #{storeCode}
</select>
</mapper>

View File

@@ -0,0 +1,113 @@
package com.cool.store.dto.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 开通网商需要的基本信息
* @Author suzhuhong
* @Date 2025/11/20 10:49
* @Version 1.0
*/
@Data
public class OpenBasicInfoDTO {
@ApiModelProperty(value = "门店编号")
private String storeCode;
/**
* 签约人名称
*/
@ApiModelProperty(value = "签约人名称")
private String signerName;
/**
* 签约人身份证号码
*/
@ApiModelProperty(value = "签约人身份证号码")
private String signerIdCard;
/**
* 签约人手机号
*/
@ApiModelProperty(value = "签约人手机号")
private String signerPhone;
/**
* 签约人身份证正面
*/
@ApiModelProperty(value = "签约人身份证正面")
private String signerIdCardFront;
/**
* 签约人身份证反面
*/
@ApiModelProperty(value = "签约人身份证反面")
private String signerIdCardBack;
/**
* 营业执照名字
*/
@ApiModelProperty(value = "营业执照名字")
private String businessLicenseName;
/**
* 营业执照社会信用代码
*/
@ApiModelProperty(value = "营业执照社会信用代码")
private String businessLicenseCode;
/**
* 营业执照照片
*/
@ApiModelProperty(value = "营业执照照片")
private String businessLicensePhoto;
/**
* 法人是否签约人
*/
@ApiModelProperty(value = "法人是否签约人")
private Integer legalIsSigner;
/**
* 法人身份证正面
*/
@ApiModelProperty(value = "法人身份证正面")
private String legalIdCardFront;
/**
* 法人身份证反面
*/
@ApiModelProperty(value = "法人身份证反面")
private String legalIdCardBack;
/**
* 结算卡
*/
@ApiModelProperty(value = "结算卡")
private String settlementCard;
/**
* 开户支行名称
*/
@ApiModelProperty(value = "开户支行名称")
private String bankBranchName;
/**
* 开户支行编号
*/
@ApiModelProperty(value = "开户支行编号")
private String bankBranchCode;
/**
* 银行预留手机号
*/
@ApiModelProperty(value = "银行预留手机号")
private String bankReservedPhone;
}

View File

@@ -0,0 +1,436 @@
package com.cool.store.entity.wallet;
import javax.persistence.*;
@Table(name = "zxjp_open_bank_info")
public class OpenBankInfoDO {
/**
* 门店编号
*/
@Column(name = "store_code")
private String storeCode;
/**
* 签约人名称
*/
@Column(name = "signer_name")
private String signerName;
/**
* 签约人身份证号码
*/
@Column(name = "signer_id_card")
private String signerIdCard;
/**
* 签约人手机号
*/
@Column(name = "signer_phone")
private String signerPhone;
/**
* 签约人身份证正面
*/
@Column(name = "signer_id_card_front")
private String signerIdCardFront;
/**
* 签约人身份证反面
*/
@Column(name = "signer_id_card_back")
private String signerIdCardBack;
/**
* 营业执照名字
*/
@Column(name = "business_license_name")
private String businessLicenseName;
/**
* 营业执照社会信用代码
*/
@Column(name = "business_license_code")
private String businessLicenseCode;
/**
* 营业执照照片
*/
@Column(name = "business_license_photo")
private String businessLicensePhoto;
/**
* 法人名称
*/
@Column(name = "legal_name")
private String legalName;
/**
* 法人身份证号码
*/
@Column(name = "legal_id_card")
private String legalIdCard;
/**
* 法人手机号
*/
@Column(name = "legal_phone")
private String legalPhone;
/**
* 法人是否签约人
*/
@Column(name = "legal_is_signer")
private Integer legalIsSigner;
/**
* 法人身份证正面
*/
@Column(name = "legal_id_card_front")
private String legalIdCardFront;
/**
* 法人身份证反面
*/
@Column(name = "legal_id_card_back")
private String legalIdCardBack;
/**
* 结算卡
*/
@Column(name = "settlement_card")
private String settlementCard;
/**
* 开户支行名称
*/
@Column(name = "bank_branch_name")
private String bankBranchName;
/**
* 开户支行编号
*/
@Column(name = "bank_branch_code")
private String bankBranchCode;
/**
* 银行预留手机号
*/
@Column(name = "bank_reserved_phone")
private String bankReservedPhone;
public String getLegalName() {
return legalName;
}
public void setLegalName(String legalName) {
this.legalName = legalName;
}
public String getLegalIdCard() {
return legalIdCard;
}
public void setLegalIdCard(String legalIdCard) {
this.legalIdCard = legalIdCard;
}
public String getLegalPhone() {
return legalPhone;
}
public void setLegalPhone(String legalPhone) {
this.legalPhone = legalPhone;
}
/**
* 获取门店编号
*
* @return store_code - 门店编号
*/
public String getStoreCode() {
return storeCode;
}
/**
* 设置门店编号
*
* @param storeCode 门店编号
*/
public void setStoreCode(String storeCode) {
this.storeCode = storeCode;
}
/**
* 获取签约人名称
*
* @return signer_name - 签约人名称
*/
public String getSignerName() {
return signerName;
}
/**
* 设置签约人名称
*
* @param signerName 签约人名称
*/
public void setSignerName(String signerName) {
this.signerName = signerName;
}
/**
* 获取签约人身份证号码
*
* @return signer_id_card - 签约人身份证号码
*/
public String getSignerIdCard() {
return signerIdCard;
}
/**
* 设置签约人身份证号码
*
* @param signerIdCard 签约人身份证号码
*/
public void setSignerIdCard(String signerIdCard) {
this.signerIdCard = signerIdCard;
}
/**
* 获取签约人手机号
*
* @return signer_phone - 签约人手机号
*/
public String getSignerPhone() {
return signerPhone;
}
/**
* 设置签约人手机号
*
* @param signerPhone 签约人手机号
*/
public void setSignerPhone(String signerPhone) {
this.signerPhone = signerPhone;
}
/**
* 获取签约人身份证正面
*
* @return signer_id_card_front - 签约人身份证正面
*/
public String getSignerIdCardFront() {
return signerIdCardFront;
}
/**
* 设置签约人身份证正面
*
* @param signerIdCardFront 签约人身份证正面
*/
public void setSignerIdCardFront(String signerIdCardFront) {
this.signerIdCardFront = signerIdCardFront;
}
/**
* 获取签约人身份证反面
*
* @return signer_id_card_back - 签约人身份证反面
*/
public String getSignerIdCardBack() {
return signerIdCardBack;
}
/**
* 设置签约人身份证反面
*
* @param signerIdCardBack 签约人身份证反面
*/
public void setSignerIdCardBack(String signerIdCardBack) {
this.signerIdCardBack = signerIdCardBack;
}
/**
* 获取营业执照名字
*
* @return business_license_name - 营业执照名字
*/
public String getBusinessLicenseName() {
return businessLicenseName;
}
/**
* 设置营业执照名字
*
* @param businessLicenseName 营业执照名字
*/
public void setBusinessLicenseName(String businessLicenseName) {
this.businessLicenseName = businessLicenseName;
}
/**
* 获取营业执照社会信用代码
*
* @return business_license_code - 营业执照社会信用代码
*/
public String getBusinessLicenseCode() {
return businessLicenseCode;
}
/**
* 设置营业执照社会信用代码
*
* @param businessLicenseCode 营业执照社会信用代码
*/
public void setBusinessLicenseCode(String businessLicenseCode) {
this.businessLicenseCode = businessLicenseCode;
}
/**
* 获取营业执照照片
*
* @return business_license_photo - 营业执照照片
*/
public String getBusinessLicensePhoto() {
return businessLicensePhoto;
}
/**
* 设置营业执照照片
*
* @param businessLicensePhoto 营业执照照片
*/
public void setBusinessLicensePhoto(String businessLicensePhoto) {
this.businessLicensePhoto = businessLicensePhoto;
}
/**
* 获取法人是否签约人
*
* @return legal_is_signer - 法人是否签约人
*/
public Integer getLegalIsSigner() {
return legalIsSigner;
}
/**
* 设置法人是否签约人
*
* @param legalIsSigner 法人是否签约人
*/
public void setLegalIsSigner(Integer legalIsSigner) {
this.legalIsSigner = legalIsSigner;
}
/**
* 获取法人身份证正面
*
* @return legal_id_card_front - 法人身份证正面
*/
public String getLegalIdCardFront() {
return legalIdCardFront;
}
/**
* 设置法人身份证正面
*
* @param legalIdCardFront 法人身份证正面
*/
public void setLegalIdCardFront(String legalIdCardFront) {
this.legalIdCardFront = legalIdCardFront;
}
/**
* 获取法人身份证反面
*
* @return legal_id_card_back - 法人身份证反面
*/
public String getLegalIdCardBack() {
return legalIdCardBack;
}
/**
* 设置法人身份证反面
*
* @param legalIdCardBack 法人身份证反面
*/
public void setLegalIdCardBack(String legalIdCardBack) {
this.legalIdCardBack = legalIdCardBack;
}
/**
* 获取结算卡
*
* @return settlement_card - 结算卡
*/
public String getSettlementCard() {
return settlementCard;
}
/**
* 设置结算卡
*
* @param settlementCard 结算卡
*/
public void setSettlementCard(String settlementCard) {
this.settlementCard = settlementCard;
}
/**
* 获取开户支行名称
*
* @return bank_branch_name - 开户支行名称
*/
public String getBankBranchName() {
return bankBranchName;
}
/**
* 设置开户支行名称
*
* @param bankBranchName 开户支行名称
*/
public void setBankBranchName(String bankBranchName) {
this.bankBranchName = bankBranchName;
}
/**
* 获取开户支行编号
*
* @return bank_branch_code - 开户支行编号
*/
public String getBankBranchCode() {
return bankBranchCode;
}
/**
* 设置开户支行编号
*
* @param bankBranchCode 开户支行编号
*/
public void setBankBranchCode(String bankBranchCode) {
this.bankBranchCode = bankBranchCode;
}
/**
* 获取银行预留手机号
*
* @return bank_reserved_phone - 银行预留手机号
*/
public String getBankReservedPhone() {
return bankReservedPhone;
}
/**
* 设置银行预留手机号
*
* @param bankReservedPhone 银行预留手机号
*/
public void setBankReservedPhone(String bankReservedPhone) {
this.bankReservedPhone = bankReservedPhone;
}
}

View File

@@ -0,0 +1,599 @@
package com.cool.store.entity.wallet;
import java.util.Date;
import javax.persistence.*;
@Table(name = "zxjp_temp_open_wallet_info")
public class TempOpenWalletInfoDO {
/**
* 门店编号
*/
@Column(name = "store_code")
private String storeCode;
/**
* 门店名称
*/
@Column(name = "store_name")
private String storeName;
/**
* 门店模式
*/
@Column(name = "store_mode")
private String storeMode;
/**
* 台账名称
*/
@Column(name = "ledger_name")
private String ledgerName;
/**
* 台账状态
*/
@Column(name = "ledger_status")
private String ledgerStatus;
/**
* 工商类型
*/
@Column(name = "business_type")
private String businessType;
/**
* 工商注册名称
*/
@Column(name = "business_reg_name")
private String businessRegName;
/**
* 营业执照编号
*/
@Column(name = "business_license_no")
private String businessLicenseNo;
/**
* 工商地址
*/
@Column(name = "business_address")
private String businessAddress;
/**
* 省
*/
private String province;
/**
* 市
*/
private String city;
/**
* 区
*/
private String district;
/**
* 法人名称
*/
@Column(name = "legal_person_name")
private String legalPersonName;
/**
* 法人证件号
*/
@Column(name = "legal_person_id_no")
private String legalPersonIdNo;
/**
* 身份证开始时间
*/
@Column(name = "legal_id_start_date")
private Date legalIdStartDate;
/**
* 身份证过期时间
*/
@Column(name = "legal_id_expire_date")
private Date legalIdExpireDate;
/**
* 结算人
*/
@Column(name = "settler_name")
private String settlerName;
/**
* 结算人证件号
*/
@Column(name = "settler_id_no")
private String settlerIdNo;
/**
* 结算人身份证开始时间
*/
@Column(name = "settler_id_start_date")
private Date settlerIdStartDate;
/**
* 结算人身份证过期时间
*/
@Column(name = "settler_id_expire_date")
private Date settlerIdExpireDate;
/**
* 开户支行名称
*/
@Column(name = "bank_branch_name")
private String bankBranchName;
/**
* 开户支行编号
*/
@Column(name = "bank_branch_no")
private String bankBranchNo;
/**
* 结算卡
*/
@Column(name = "settlement_card_no")
private String settlementCardNo;
/**
* 银行预留手机号
*/
@Column(name = "bank_reserved_phone")
private String bankReservedPhone;
/**
* 分账关系
*/
@Column(name = "accounting_relation")
private String accountingRelation;
/**
* 获取门店编号
*
* @return store_id - 门店编号
*/
public String getStoreCode() {
return storeCode;
}
public void setStoreCode(String storeCode) {
this.storeCode = storeCode;
}
/**
* 获取门店名称
*
* @return store_name - 门店名称
*/
public String getStoreName() {
return storeName;
}
/**
* 设置门店名称
*
* @param storeName 门店名称
*/
public void setStoreName(String storeName) {
this.storeName = storeName;
}
/**
* 获取门店模式
*
* @return store_mode - 门店模式
*/
public String getStoreMode() {
return storeMode;
}
/**
* 设置门店模式
*
* @param storeMode 门店模式
*/
public void setStoreMode(String storeMode) {
this.storeMode = storeMode;
}
/**
* 获取台账名称
*
* @return ledger_name - 台账名称
*/
public String getLedgerName() {
return ledgerName;
}
/**
* 设置台账名称
*
* @param ledgerName 台账名称
*/
public void setLedgerName(String ledgerName) {
this.ledgerName = ledgerName;
}
/**
* 获取台账状态
*
* @return ledger_status - 台账状态
*/
public String getLedgerStatus() {
return ledgerStatus;
}
/**
* 设置台账状态
*
* @param ledgerStatus 台账状态
*/
public void setLedgerStatus(String ledgerStatus) {
this.ledgerStatus = ledgerStatus;
}
/**
* 获取工商类型
*
* @return business_type - 工商类型
*/
public String getBusinessType() {
return businessType;
}
/**
* 设置工商类型
*
* @param businessType 工商类型
*/
public void setBusinessType(String businessType) {
this.businessType = businessType;
}
/**
* 获取工商注册名称
*
* @return business_reg_name - 工商注册名称
*/
public String getBusinessRegName() {
return businessRegName;
}
/**
* 设置工商注册名称
*
* @param businessRegName 工商注册名称
*/
public void setBusinessRegName(String businessRegName) {
this.businessRegName = businessRegName;
}
/**
* 获取营业执照编号
*
* @return business_license_no - 营业执照编号
*/
public String getBusinessLicenseNo() {
return businessLicenseNo;
}
/**
* 设置营业执照编号
*
* @param businessLicenseNo 营业执照编号
*/
public void setBusinessLicenseNo(String businessLicenseNo) {
this.businessLicenseNo = businessLicenseNo;
}
/**
* 获取工商地址
*
* @return business_address - 工商地址
*/
public String getBusinessAddress() {
return businessAddress;
}
/**
* 设置工商地址
*
* @param businessAddress 工商地址
*/
public void setBusinessAddress(String businessAddress) {
this.businessAddress = businessAddress;
}
/**
* 获取省
*
* @return province - 省
*/
public String getProvince() {
return province;
}
/**
* 设置省
*
* @param province 省
*/
public void setProvince(String province) {
this.province = province;
}
/**
* 获取市
*
* @return city - 市
*/
public String getCity() {
return city;
}
/**
* 设置市
*
* @param city 市
*/
public void setCity(String city) {
this.city = city;
}
/**
* 获取区
*
* @return district - 区
*/
public String getDistrict() {
return district;
}
/**
* 设置区
*
* @param district 区
*/
public void setDistrict(String district) {
this.district = district;
}
/**
* 获取法人名称
*
* @return legal_person_name - 法人名称
*/
public String getLegalPersonName() {
return legalPersonName;
}
/**
* 设置法人名称
*
* @param legalPersonName 法人名称
*/
public void setLegalPersonName(String legalPersonName) {
this.legalPersonName = legalPersonName;
}
/**
* 获取法人证件号
*
* @return legal_person_id_no - 法人证件号
*/
public String getLegalPersonIdNo() {
return legalPersonIdNo;
}
/**
* 设置法人证件号
*
* @param legalPersonIdNo 法人证件号
*/
public void setLegalPersonIdNo(String legalPersonIdNo) {
this.legalPersonIdNo = legalPersonIdNo;
}
/**
* 获取身份证开始时间
*
* @return legal_id_start_date - 身份证开始时间
*/
public Date getLegalIdStartDate() {
return legalIdStartDate;
}
/**
* 设置身份证开始时间
*
* @param legalIdStartDate 身份证开始时间
*/
public void setLegalIdStartDate(Date legalIdStartDate) {
this.legalIdStartDate = legalIdStartDate;
}
/**
* 获取身份证过期时间
*
* @return legal_id_expire_date - 身份证过期时间
*/
public Date getLegalIdExpireDate() {
return legalIdExpireDate;
}
/**
* 设置身份证过期时间
*
* @param legalIdExpireDate 身份证过期时间
*/
public void setLegalIdExpireDate(Date legalIdExpireDate) {
this.legalIdExpireDate = legalIdExpireDate;
}
/**
* 获取结算人
*
* @return settler_name - 结算人
*/
public String getSettlerName() {
return settlerName;
}
/**
* 设置结算人
*
* @param settlerName 结算人
*/
public void setSettlerName(String settlerName) {
this.settlerName = settlerName;
}
/**
* 获取结算人证件号
*
* @return settler_id_no - 结算人证件号
*/
public String getSettlerIdNo() {
return settlerIdNo;
}
/**
* 设置结算人证件号
*
* @param settlerIdNo 结算人证件号
*/
public void setSettlerIdNo(String settlerIdNo) {
this.settlerIdNo = settlerIdNo;
}
/**
* 获取结算人身份证开始时间
*
* @return settler_id_start_date - 结算人身份证开始时间
*/
public Date getSettlerIdStartDate() {
return settlerIdStartDate;
}
/**
* 设置结算人身份证开始时间
*
* @param settlerIdStartDate 结算人身份证开始时间
*/
public void setSettlerIdStartDate(Date settlerIdStartDate) {
this.settlerIdStartDate = settlerIdStartDate;
}
/**
* 获取结算人身份证过期时间
*
* @return settler_id_expire_date - 结算人身份证过期时间
*/
public Date getSettlerIdExpireDate() {
return settlerIdExpireDate;
}
/**
* 设置结算人身份证过期时间
*
* @param settlerIdExpireDate 结算人身份证过期时间
*/
public void setSettlerIdExpireDate(Date settlerIdExpireDate) {
this.settlerIdExpireDate = settlerIdExpireDate;
}
/**
* 获取开户支行名称
*
* @return bank_branch_name - 开户支行名称
*/
public String getBankBranchName() {
return bankBranchName;
}
/**
* 设置开户支行名称
*
* @param bankBranchName 开户支行名称
*/
public void setBankBranchName(String bankBranchName) {
this.bankBranchName = bankBranchName;
}
/**
* 获取开户支行编号
*
* @return bank_branch_no - 开户支行编号
*/
public String getBankBranchNo() {
return bankBranchNo;
}
/**
* 设置开户支行编号
*
* @param bankBranchNo 开户支行编号
*/
public void setBankBranchNo(String bankBranchNo) {
this.bankBranchNo = bankBranchNo;
}
/**
* 获取结算卡
*
* @return settlement_card_no - 结算卡
*/
public String getSettlementCardNo() {
return settlementCardNo;
}
/**
* 设置结算卡
*
* @param settlementCardNo 结算卡
*/
public void setSettlementCardNo(String settlementCardNo) {
this.settlementCardNo = settlementCardNo;
}
/**
* 获取银行预留手机号
*
* @return bank_reserved_phone - 银行预留手机号
*/
public String getBankReservedPhone() {
return bankReservedPhone;
}
/**
* 设置银行预留手机号
*
* @param bankReservedPhone 银行预留手机号
*/
public void setBankReservedPhone(String bankReservedPhone) {
this.bankReservedPhone = bankReservedPhone;
}
/**
* 获取分账关系
*
* @return accounting_relation - 分账关系
*/
public String getAccountingRelation() {
return accountingRelation;
}
/**
* 设置分账关系
*
* @param accountingRelation 分账关系
*/
public void setAccountingRelation(String accountingRelation) {
this.accountingRelation = accountingRelation;
}
}

View File

@@ -0,0 +1,128 @@
package com.cool.store.request.wallet;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author suzhuhong
* @Date 2025/11/20 13:38
* @Version 1.0
*/
@Data
public class CoolOpenBasicInfoRequest {
@ApiModelProperty(value = "门店编号")
private String storeCode;
/**
* 签约人名称
*/
@ApiModelProperty(value = "签约人名称")
private String signerName;
/**
* 签约人身份证号码
*/
@ApiModelProperty(value = "签约人身份证号码")
private String signerIdCard;
/**
* 签约人手机号
*/
@ApiModelProperty(value = "签约人手机号")
private String signerPhone;
/**
* 签约人身份证正面
*/
@ApiModelProperty(value = "签约人身份证正面")
private String signerIdCardFront;
/**
* 签约人身份证反面
*/
@ApiModelProperty(value = "签约人身份证反面")
private String signerIdCardBack;
/**
* 营业执照名字
*/
@ApiModelProperty(value = "营业执照名字")
private String businessLicenseName;
/**
* 营业执照社会信用代码
*/
@ApiModelProperty(value = "营业执照社会信用代码")
private String businessLicenseCode;
/**
* 营业执照照片
*/
@ApiModelProperty(value = "营业执照照片")
private String businessLicensePhoto;
/**
* 法人是否签约人
*/
@ApiModelProperty(value = "法人是否签约人")
private Integer legalIsSigner;
/**
* 法人名称
*/
@ApiModelProperty(value = "法人名称")
private String legalName;
/**
* 法人身份证号码
*/
@ApiModelProperty(value = "法人身份证号码")
private String legalIdCard;
/**
* 法人手机号
*/
@ApiModelProperty(value = "法人手机号")
private String legalPhone;
/**
* 法人身份证正面
*/
@ApiModelProperty(value = "法人身份证正面")
private String legalIdCardFront;
/**
* 法人身份证反面
*/
@ApiModelProperty(value = "法人身份证反面")
private String legalIdCardBack;
/**
* 结算卡
*/
@ApiModelProperty(value = "结算卡")
private String settlementCard;
/**
* 开户支行名称
*/
@ApiModelProperty(value = "开户支行名称")
private String bankBranchName;
/**
* 开户支行编号
*/
@ApiModelProperty(value = "开户支行编号")
private String bankBranchCode;
/**
* 银行预留手机号
*/
@ApiModelProperty(value = "银行预留手机号")
private String bankReservedPhone;
}

View File

@@ -20,9 +20,6 @@ public class OldStoreAccountCreateRequest {
@ApiModelProperty(value = "结算卡业务类型 枚举值1对公 2对私(结算类型)", required = true, example = "1") @ApiModelProperty(value = "结算卡业务类型 枚举值1对公 2对私(结算类型)", required = true, example = "1")
private Integer accountType; private Integer accountType;
@ApiModelProperty(value = "开户类型:1企业 2个体工商户 3个人(小微商户)", required = true, example = "1")
private Integer businessType;
@ApiModelProperty(value = "营业执照号码,与企业证件类型对应的企业注册号(企业与个体户必传)") @ApiModelProperty(value = "营业执照号码,与企业证件类型对应的企业注册号(企业与个体户必传)")
private String licenseNo; private String licenseNo;
@@ -80,4 +77,6 @@ public class OldStoreAccountCreateRequest {
@ApiModelProperty(value = "签约人证件国徽面图片链接", required = true) @ApiModelProperty(value = "签约人证件国徽面图片链接", required = true)
private String signatoryPhotoB; private String signatoryPhotoB;
} }

View File

@@ -157,4 +157,19 @@ public interface WalletService {
* @return * @return
*/ */
PageInfo<TradeRecordDTO> getTradeRecordList(CoolTradeRecodePageRequest request); 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.CommonConstants;
import com.cool.store.constants.RedisConstant; import com.cool.store.constants.RedisConstant;
import com.cool.store.dao.*; 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.dao.wallet.WalletPaymentOrderDAO;
import com.cool.store.dto.wallet.*; import com.cool.store.dto.wallet.*;
import com.cool.store.entity.*; 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.entity.wallet.WalletPaymentOrderDO;
import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.point.ShopSubStageEnum; 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.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.sql.Date; import java.sql.Date;
import java.text.MessageFormat; import java.text.MessageFormat;
import java.time.Duration; import java.time.Duration;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.*;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@@ -63,6 +67,10 @@ public class WalletServiceImpl implements WalletService {
private final LineInfoDAO lineInfoDAO; private final LineInfoDAO lineInfoDAO;
private final RedisUtilPool redisUtilPool; private final RedisUtilPool redisUtilPool;
private final QualificationsInfoDAO qualificationsInfoDAO; 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"); 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()); 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) { public String getStoreId(StoreShopRequest request) {
String storeId = request.getStoreId(); String storeId = request.getStoreId();
if (StringUtils.isBlank(storeId) && Objects.nonNull(request.getShopId())) { if (StringUtils.isBlank(storeId) && Objects.nonNull(request.getShopId())) {

View File

@@ -1,6 +1,7 @@
package com.cool.store.controller.webc; package com.cool.store.controller.webc;
import com.cool.store.dto.wallet.BillDetailDTO; import com.cool.store.dto.wallet.BillDetailDTO;
import com.cool.store.dto.wallet.OpenBasicInfoDTO;
import com.cool.store.request.wallet.*; import com.cool.store.request.wallet.*;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
import com.cool.store.service.wallet.WalletService; import com.cool.store.service.wallet.WalletService;
@@ -108,4 +109,16 @@ public class MiniWalletController {
public ResponseResult<Boolean> withDrawer(@RequestBody @Validated WalletWithDrawerRequest request) { public ResponseResult<Boolean> withDrawer(@RequestBody @Validated WalletWithDrawerRequest request) {
return ResponseResult.success(walletService.withDrawer(request)); return ResponseResult.success(walletService.withDrawer(request));
} }
@ApiOperation("根据门店编码查询开通基础信息")
@GetMapping("/getOpenBasicInfo")
public ResponseResult<OpenBasicInfoDTO> getOpenBasicInfo(@NotBlank(message = "门店编码不能为空") String storeCode) {
return ResponseResult.success(walletService.getOpenBasicInfo(storeCode));
}
@ApiOperation("提交开通")
@PostMapping("/openOnlineBankAccount")
public ResponseResult<Boolean> openOnlineBankAccount(@RequestBody @Validated CoolOpenBasicInfoRequest request) {
return ResponseResult.success(walletService.openOnlineBankAccount(request));
}
} }