95 行
3.4 KiB
PHP
95 行
3.4 KiB
PHP
<?php
|
|
|
|
namespace addons\shopro_huifu\library\onboard;
|
|
|
|
use addons\shopro_huifu\library\SdkLoader;
|
|
|
|
class HuifuOnboardBasicEnt
|
|
{
|
|
protected $sdk;
|
|
|
|
public function __construct(HuifuOnboardSdk $sdk = null)
|
|
{
|
|
$this->sdk = $sdk ?: new HuifuOnboardSdk();
|
|
}
|
|
|
|
public function submit(array $form, array $fileMap)
|
|
{
|
|
SdkLoader::requireRequest('V2UserBasicdataEntRequest.php');
|
|
$meta = $this->sdk->newReqMeta();
|
|
$request = new \BsPaySdk\request\V2UserBasicdataEntRequest();
|
|
$request->setReqSeqId($meta['req_seq_id']);
|
|
$request->setReqDate($meta['req_date']);
|
|
$request->setRegName($form['reg_name']);
|
|
$request->setLicenseCode($form['license_code']);
|
|
$request->setLicenseValidityType($form['license_validity_type']);
|
|
$request->setLicenseBeginDate($form['license_begin_date']);
|
|
if ($form['license_validity_type'] === '0' && !empty($form['license_end_date'])) {
|
|
$request->setLicenseEndDate($form['license_end_date']);
|
|
}
|
|
$request->setRegProvId($form['prov_id']);
|
|
$request->setRegAreaId($form['area_id']);
|
|
if (!empty($form['district_id'])) {
|
|
$request->setRegDistrictId($form['district_id']);
|
|
}
|
|
$request->setRegDetail($form['reg_detail']);
|
|
$request->setLegalName($form['legal_name']);
|
|
$request->setLegalCertType('00');
|
|
$request->setLegalCertNo($form['legal_cert_no']);
|
|
$request->setLegalCertValidityType($form['legal_cert_validity_type']);
|
|
$request->setLegalCertBeginDate($form['legal_cert_begin_date']);
|
|
if ($form['legal_cert_validity_type'] === '0' && !empty($form['legal_cert_end_date'])) {
|
|
$request->setLegalCertEndDate($form['legal_cert_end_date']);
|
|
}
|
|
$request->setContactName($form['legal_name']);
|
|
$request->setContactMobile($form['legal_mobile']);
|
|
$request->setLoginName($form['login_name'] ?? ('HFENT' . date('YmdHis') . mt_rand(100, 999)));
|
|
|
|
$fileList = [];
|
|
if (!empty($fileMap['F01'])) {
|
|
$fileList[] = [
|
|
'file_type' => 'F01',
|
|
'file_id' => $fileMap['F01'],
|
|
'file_name' => 'license.jpg',
|
|
];
|
|
}
|
|
if (!empty($fileMap['F02'])) {
|
|
$fileList[] = [
|
|
'file_type' => 'F02',
|
|
'file_id' => $fileMap['F02'],
|
|
'file_name' => 'legal_id_front.jpg',
|
|
];
|
|
}
|
|
if (!empty($fileMap['F03'])) {
|
|
$fileList[] = [
|
|
'file_type' => 'F03',
|
|
'file_id' => $fileMap['F03'],
|
|
'file_name' => 'legal_id_back.jpg',
|
|
];
|
|
}
|
|
|
|
$extend = $this->sdk->mergeSkillHuifuId([
|
|
'short_name' => $form['reg_name'],
|
|
'sms_send_flag' => '1',
|
|
]);
|
|
if ($fileList) {
|
|
$extend['file_list'] = json_encode($fileList, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
}
|
|
$request->setExtendInfo($extend);
|
|
|
|
$result = $this->sdk->getClient()->postRequest($request);
|
|
$data = $this->sdk->getClient()->parseResponse($result);
|
|
$huifuId = $data['huifu_id'] ?? '';
|
|
if ($huifuId === '') {
|
|
throw new \RuntimeException('企业开户未返回 huifu_id');
|
|
}
|
|
|
|
return [
|
|
'req_date' => $meta['req_date'],
|
|
'req_seq_id' => $meta['req_seq_id'],
|
|
'huifu_id' => $huifuId,
|
|
'resp' => $data,
|
|
];
|
|
}
|
|
}
|