文件
xionggeshop/addons/shopro_huifu/library/onboard/HuifuOnboardBasicEnt.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,
];
}
}