You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
157 lines
8.7 KiB
157 lines
8.7 KiB
<?php
|
|
|
|
|
|
namespace Tansilu\HfPayLib\factory\object\onelevel;
|
|
|
|
use Tansilu\HfPayLib\Constant;
|
|
use Tansilu\HfPayLib\factory\object\RequestObj;
|
|
use Tansilu\HfPayLib\exception\ParamsException;
|
|
use Tansilu\HfPayLib\utils\StrFilterHelper;
|
|
/**
|
|
* @property string $order_date 订单日期 格式为YYYYMMDD,例如:20160307
|
|
* @property string $order_id 订单号 由商户生成,必须保证唯一,50位内的字母或数字组合
|
|
* @property string $acct_usage_type 账户用途 one-level-seller:一级市场卖家户;salesr-promoter:分销员户
|
|
* @property string $user_id 用户ID 外部用户id
|
|
* @property string $apply_id 开户申请号 商户下唯一
|
|
* @property string $operate_type 操作类型 A:新增;M:修改
|
|
* @property string $solo_name 个体户名称
|
|
* @property string $business_code 营业执照注册号 企业的营业执照注册号
|
|
* @property string $license_start_date 证照起始日期 企业的营业证照起始日期,精确到年月日
|
|
* @property string $license_end_date 证照结束日期 企业的营业证照结束日期,精确到年月日,支持“永久”
|
|
* @property string $solo_business_address 个体户经营地址 个体户的经营地址
|
|
* @property string $solo_reg_address 个体户注册地址 个体户的注册地址
|
|
* @property string $solo_fixed_telephone 个体户固定电话 企业的固定电话
|
|
* @property string $business_scope 经营范围 企业的经营范围
|
|
* @property string $legal_name 法人姓名 企业的法人姓名
|
|
* @property string $legal_id_card_type 法人证件类型 10:身份证;11:护照;12:军官证;13:士兵证;14:回乡证;15:户口本;16:警官证;17:台胞证;22:其他
|
|
* @property string $legal_id_card 法人证件号码 法人的证件号码,与证件类型对应,当用户类型为 2、3时只能为身份证
|
|
* @property string $legal_cert_start_date 法人证件起始日期 法人的证件起始日期,精确到年月日
|
|
* @property string $legal_cert_end_date 法人证件截止日期 法人的证件结束日期,精确到年月日,支持“永久”
|
|
* @property string $legal_mobile 法人手机号码 法人的手机号码
|
|
* @property string $contact_name 企业联系人姓名 企业联系人的姓名
|
|
* @property string $contact_mobile 联系人手机号 联系人的手机号码
|
|
* @property string $contact_email 联系人邮箱 联系人的邮箱地址
|
|
* @property string $occupation 职业 01:国家机关、党群机关、企事业单位负责人;02:金融业从业人员;03:房地产业从业人员;04:商贸从业人员;05:自由职业者;06:科教文从业人员;07:制造业从业人员;08:卫生行业从业人员;09:IT业从业人员;10:农林牧渔劳动者;11:生产工作、运输工作和部分体力劳动者;12:退休人员;13:不便分类的其他劳动者
|
|
* @property string $bg_ret_url 商户后台应答地址 通过后台异步通知商户开户结果;注意:1)使用时不要包含中文 2)必须是外网地址
|
|
* @property string $attach_nos 附件信息 配合文件上传接口,使用,多个附件之间用逗号隔开”a,b”,当用户类型为 2、3时必填
|
|
* @property string $bank_acct_num 银行卡号 变长9-32位银行卡号,当用户类型为 2、3时必填
|
|
* @property string $bank_prov 省份
|
|
* @property string $bank_area 地区
|
|
* @property string $mer_priv 商户私有域 为商户的自定义字段,该字段在交易完成后由本平台原样返回
|
|
* @property string $extension 扩展域
|
|
* @property string $legal_nationality 法人国籍
|
|
*/
|
|
class PeddlarRequest
|
|
{
|
|
use RequestObj;
|
|
/**
|
|
* @throws ParamsException
|
|
*/
|
|
public function toParams(): array
|
|
{
|
|
if (empty($this->data['order_date'])) {
|
|
throw new ParamsException('订单日期不能为空', 'order_date');
|
|
}
|
|
if (empty($this->data['order_id'])) {
|
|
throw new ParamsException('订单号不能为空', 'order_id');
|
|
}
|
|
if (empty($this->data['acct_usage_type'])) {
|
|
throw new ParamsException('账户用途不能为空', 'acct_usage_type');
|
|
}
|
|
if (empty($this->data['user_id'])) {
|
|
throw new ParamsException('用户ID不能为空', 'user_id');
|
|
}
|
|
if (empty($this->data['apply_id'])) {
|
|
throw new ParamsException('开户申请号不能为空', 'apply_id');
|
|
}
|
|
if(empty($this->data['operate_type'])) {
|
|
throw new ParamsException('操作类型不能为空', 'operate_type');
|
|
}
|
|
if(!in_array($this->data['operate_type'], [Constant::ONE_COM_OPERATE_TYPE_A, Constant::ONE_COM_OPERATE_TYPE_M])) {
|
|
throw new ParamsException('操作类型不正确', 'operate_type');
|
|
}
|
|
if (empty($this->data['solo_name'])) {
|
|
throw new ParamsException('个体户名称不能为空', 'solo_name');
|
|
}
|
|
if (empty($this->data['business_code'])) {
|
|
throw new ParamsException('营业执照注册号不能为空', 'business_code');
|
|
}
|
|
if (empty($this->data['license_start_date'])) {
|
|
throw new ParamsException('证照起始日期不能为空', 'license_start_date');
|
|
}
|
|
if (empty($this->data['license_end_date'])) {
|
|
throw new ParamsException('证照结束日期不能为空', 'license_end_date');
|
|
}
|
|
if (empty($this->data['solo_business_address'])) {
|
|
throw new ParamsException('个体户经营地址不能为空', 'solo_business_address');
|
|
}
|
|
if (empty($this->data['solo_reg_address'])) {
|
|
throw new ParamsException('个体户注册地址不能为空', 'solo_reg_address');
|
|
}
|
|
if (empty($this->data['solo_fixed_telephone'])) {
|
|
throw new ParamsException('个体户固定电话不能为空', 'solo_fixed_telephone');
|
|
}
|
|
if (empty($this->data['business_scope'])) {
|
|
throw new ParamsException('经营范围不能为空', 'business_scope');
|
|
}
|
|
if (empty($this->data['legal_name'])) {
|
|
throw new ParamsException('法人姓名不能为空', 'legal_name');
|
|
}
|
|
if (empty($this->data['legal_id_card_type'])) {
|
|
throw new ParamsException('法人证件类型不能为空', 'legal_id_card_type');
|
|
}
|
|
if (empty($this->data['legal_id_card'])) {
|
|
throw new ParamsException('法人证件号码不能为空', 'legal_id_card');
|
|
}
|
|
if (empty($this->data['legal_cert_start_date'])) {
|
|
throw new ParamsException('法人证件起始日期不能为空', 'legal_cert_start_date');
|
|
}
|
|
if (empty($this->data['legal_cert_end_date'])) {
|
|
throw new ParamsException('法人证件截止日期不能为空', 'legal_cert_end_date');
|
|
}
|
|
if (empty($this->data['legal_mobile'])) {
|
|
throw new ParamsException('法人手机号码不能为空', 'legal_mobile');
|
|
}
|
|
if (empty($this->data['contact_name'])) {
|
|
throw new ParamsException('企业联系人姓名不能为空', 'contact_name');
|
|
}
|
|
if (empty($this->data['contact_mobile'])) {
|
|
throw new ParamsException('联系人手机号不能为空', 'contact_mobile');
|
|
}
|
|
if (empty($this->data['contact_email'])) {
|
|
throw new ParamsException('联系人邮箱不能为空', 'contact_email');
|
|
}
|
|
if (empty($this->data['occupation'])) {
|
|
throw new ParamsException('职业不能为空', 'occupation');
|
|
}
|
|
|
|
if (empty($this->data['bank_acct_num'])) {
|
|
throw new ParamsException('银行卡号不能为空', 'bank_acct_num');
|
|
}
|
|
if (empty($this->data['bank_prov'])) {
|
|
throw new ParamsException('省份不能为空', 'bank_prov');
|
|
}
|
|
if (empty($this->data['bank_area'])) {
|
|
throw new ParamsException('地区不能为空', 'bank_area');
|
|
}
|
|
|
|
if (empty($this->data['legal_nationality'])) {
|
|
throw new ParamsException('法人国籍不能为空', 'legal_nationality');
|
|
}
|
|
|
|
if(empty($this->data['attach_nos'])) {
|
|
throw new ParamsException('附件信息不能为空', 'attach_nos');
|
|
}
|
|
if(empty($this->data['mer_priv'])) {
|
|
throw new ParamsException('商户私有域不能为空', 'mer_priv');
|
|
}
|
|
if(empty($this->data['extension'])) {
|
|
throw new ParamsException('扩展域不能为空', 'extension');
|
|
}
|
|
if(!empty($this->data['bg_ret_url'])) {
|
|
StrFilterHelper::fileUrl($this->data['bg_ret_url']);
|
|
}
|
|
|
|
return $this->data;
|
|
}
|
|
} |