'require|in:2,3,4,2401,2500,1708', 'business_license_info|营业执照/登记证书信息' => 'checkBusinessInfo', 'organization_cert_info|组织机构代码证信息' => 'checkOrganization', 'id_doc_type|证件类型' => 'require|in:1,2,3,4,5', 'id_card_info|经营者/法人身份证信息' => 'checkIdCardInfo', 'id_doc_info|经营者/法人身份证信息' => 'checkIdDocInfo', 'need_account_info|是否填写结算银行账户' => 'require|in:true,false', 'account_info|结算银行账户' => 'getAccountInfo', 'contact_info|超级管理员信息' => 'getContactInfo', 'sales_scene_info|店铺信息'=>'checkSalesSceneInfo', 'merchant_shortname|商户简称' => 'require', 'business_addition_desc' => 'checkBusinessAdditionDesc', ]; /** * TODO 营业执照/登记证书信息 * @param $item * @param $rule * @param $data * @return bool|string * @author Qinii * @day 6/22/21 */ protected function checkBusinessInfo($item,$rule,$data) { if(!in_array($data['organization_type'],['2401','2500'])){ if(empty($item)) return '营业执照/登记证书信息为空'; if(!isset($item['business_license_copy']) || empty($item['business_license_copy'])) return '证件扫描件为空'; if(!isset($item['business_license_number']) || empty($item['business_license_number'])) return '证件注册号为空'; if(!isset($item['merchant_name']) || empty($item['merchant_name'])) return '商户名称为空'; if(!isset($item['legal_person']) || empty($item['legal_person'])) return '经营者/法定代表人姓名为空'; if(isset($item['business_time'])) { $statr = $item['business_time'][0]; $end = $item['business_time'][1]; if ($end !== '长期') { $statr = strtotime($statr); $end = strtotime($end); $t = $end - $statr; if (($t / (3600 * 24)) <= 60) return '营业执照/登记证书有效期必须大于60天,即结束时间距当前时间需超过60天'; } } } return true; } /** * TODO 组织机构代码证信息 * @param $item * @param $rule * @param $data * @return bool|string * @author Qinii * @day 6/22/21 */ protected function checkOrganization($item,$rule,$data) { $len = strlen($data['business_license_info']['business_license_number']); if(!in_array($data['organization_type'],['4','2401','2500']) && $len === 18){ if(empty($item)) return '组织机构代码证信息为空'; if(!isset($item['organization_copy']) || empty($item['organization_copy'])) return '组织机构代码证照片为空'; if(!isset($item['organization_number']) || empty($item['organization_number'])) return '组织机构代码为空'; if(!isset($item['organization_time']) || empty($item['organization_time'])) return '组织机构代码有效期限为空'; // list($statr,$end) = explode(',',$item['organization_time']); $statr = $item['organization_time'][0]; $end = $item['organization_time'][1]; if($end !== '长期') { $statr = strtotime($statr); $end = strtotime($end); $t = $end - $statr; if(($t/(3600 * 24)) <= 60) return '组织机构代码证有效期必须大于60天,即结束时间距当前时间需超过60天'; } } return true; } /** * TODO 经营者/法人身份证信息/身份证 * @param $item * @param $rule * @param $data * @return bool|string * @author Qinii * @day 6/22/21 */ protected function checkIdCardInfo($item,$rule,$data) { if($data['id_doc_type'] == 1){ if(empty($item)) return '经营者/法人身份证信息为空'; if(!isset($item['id_card_copy']) || empty($item['id_card_copy'])) return '身份证人像面照片为空'; if(!isset($item['id_card_national']) || empty($item['id_card_national'])) return '身份证国徽面照片为空'; if(!isset($item['id_card_name']) || empty($item['id_card_name'])) return '身份证姓名为空'; if(!isset($item['id_card_number']) || empty($item['id_card_number'])) return '身份证号码为空'; if(!isset($item['id_card_valid_time']) || empty($item['id_card_valid_time'])) return '身份证有效期限为空'; if($item['id_card_valid_time'] !== '长期') { $statr = time(); $end = strtotime($item['id_card_valid_time']); $t = $end - $statr; if(($t/(3600 * 24)) <= 60) return '证件结束日期必须大于60天,即结束时间距当前时间需超过60天'; } }; return true; } /** * TODO 经营者/法人身份证信息/通行证 * @param $item * @param $rule * @param $data * @return bool|string * @author Qinii * @day 6/22/21 */ protected function checkIdDocInfo($item,$rule,$data) { if(in_array($data['organization_type'],['2401','2500']) && !empty($item)) return '小微/个人卖家可选证件类型:身份证'; if($data['id_doc_type'] !== 1){ if(empty($item)) return '经营者/法人身份证信息为空'; if(!isset($item['id_doc_name']) || empty($item['id_doc_name'])) return '证件姓名为空'; if(!isset($item['id_doc_number']) || empty($item['id_doc_number'])) return '证件号码为空'; if(!isset($item['id_doc_copy']) || empty($item['id_doc_copy'])) return '证件照片为空'; if(!isset($item['doc_period_end']) || empty($item['doc_period_end'])) return '证件结束日期为空'; if($item['doc_period_end'] !== '长期') { $statr = time(); $end = strtotime($item['doc_period_end']); $t = $end - $statr; if(($t/(3600 * 24)) <= 60) return '证件结束日期必须大于60天,即结束时间距当前时间需超过60天'; } } return true; } /** * TODO 结算银行账户 * @param $item * @param $rule * @param $data * @return bool|string * @author Qinii * @day 6/22/21 */ protected function getAccountInfo($item,$rule,$data) { if($data['need_account_info']){ if(empty($item)) return '结算银行账户信息为空'; if(!isset($item['bank_account_type']) || empty($item['bank_account_type'])) return '账户类型为空'; if(!isset($item['account_bank']) || empty($item['account_bank'])) return '开户银行为空'; if(!isset($item['account_name']) || empty($item['account_name'])) return '开户名称为空'; if(!isset($item['bank_address_code']) || empty($item['bank_address_code'])) return '开户银行省市编码为空'; if(!isset($item['account_number']) || empty($item['account_number'])) return '银行帐号为空'; } return true; } /** * TODO 超级管理员信息 * @param $item * @param $rule * @param $data * @return bool|string * @author Qinii * @day 6/22/21 */ protected function getContactInfo($item,$rule,$data) { if(empty($item)) return '超级管理员信息信息为空'; if(!isset($item['contact_type']) || empty($item['contact_type'])) return '超级管理员类型为空'; if(!isset($item['contact_name']) || empty($item['contact_name'])) return '超级管理员姓名为空'; if(!isset($item['contact_id_card_number']) || empty($item['contact_id_card_number'])) return '超级管理员身份证件号码为空'; if(!isset($item['mobile_phone']) || empty($item['mobile_phone'])) return '超级管理员手机为空'; if(!in_array($data['organization_type'],['2401','2500'])){ if(!isset($item['contact_email']) || empty($item['contact_email'])) return '邮箱为空'; } return true; } /** * TODO 店铺信息 * @param $item * @param $rule * @param $data * @return bool|string * @author Qinii * @day 6/22/21 */ protected function checkSalesSceneInfo($item,$rule,$data) { if(empty($item)) return '店铺信息为空'; if(!isset($item['store_name']) || empty($item['store_name'])) return '店铺名称为空'; if(!isset($item['store_url']) && !isset($item['store_url'])) return '店铺链接和店铺二维码二选一'; return true; } /** * TODO 补充说明s * @param $item * @param $rule * @param $data * @return bool|string * @author Qinii * @day 6/24/21 */ protected function checkBusinessAdditionDesc($item,$rule,$data) { if($data['organization_type'] == 2500 && empty($item)) return '若主体为“个人卖家”:补充说明不能为空'; return true; } }