'企业与法人姓名不一致', 0 => '已完成认证', 1 => '已提交申请 待认证', 101 => '工商数据返回:企业已注销', 102 => '工商数据返回:企业不存在或企业信息未更新', 103 => '工商数据返回:企业法定代表人姓名不一致', 104 => '工商数据返回:企业法定代表人身份证号码不一致', 105 => '法定代表人身份证号码,工商数据未更新,请 5-15 个工作日之后尝试', 1000 => '工商数据返回:企业信息或法定代表人信息不一致', 1001 => '主体创建小程序数量达到上限', 1002 => '主体违规命中黑名单', 1003 => '管理员绑定账号数量达到上限', 1004 => '管理员违规命中黑名单', 1005 => '管理员手机绑定账号数量达到上限', 1006 => '管理员手机号违规命中黑名单', 1007 => '管理员身份证创建账号数量达到上限', 1008 => '管理员身份证违规命中黑名单', 89252 => '法人&企业信息一致性校验中', 89247 => '系统繁忙', 86004 => '无效微信号', 61070 => '法人姓名与微信号不一致', 89248 => '企业代码类型无效,请选择正确类型填写', 89253 => '缺少参数', 89254 => '第三方权限集不全,补全权限集全网发布后生效', 89255 => '企业代码参数无效,请检查企业代码长度以及内容是否正确 ', 89251 => '待法人人脸核身校验', 89249 => '该主体已有任务执行中,距上次任务 24h 后再试', 100001 => '已下发的模板消息法人并未确认且已超时(24h),未进行身份证校验', 100002 => '已下发的模板消息法人并未确认且已超时(24h),未进行人脸识别校验', 100003 => '已下发的模板消息法人并未确认且已超时(24h)', ]; public function getappTypeAttr($value) { $AppType = [ 'aliapp' => '支付宝', 'weapp' => '微信', 'douyin' => '抖音', 'jdapp' => '京东', 'baidu' => '百度' ]; return $AppType[$value]; } public function siteInfo(){ return $this->hasOne(Site::class,'site_id','site_id'); } /*** * 获取小程序列表 * @param $condition * @param $page * @param $page_size * @return array * @throws \think\db\exception\DbException */ public function getPageList($condition, $page, $page_size,$field='*') { $res = $this->with(['siteInfo'])->where($condition) ->field($field) ->order('id desc') ->limit($page_size)->page($page)->paginate(); return $this->success($res); } /** * 注册支付宝小程序 * @param $business_code * @param $info * @return mixed|string */ public function RegAliapp($business_code, $info) { if (!$info['license_pic']) return $this->error('请上传营运执照'); $license_pic = base64_encode(file_get_contents($info['license_pic'])); $bizParams = [ 'create_mini_request' => [ 'out_order_no' => $business_code, // 开发者外部订单号 'alipay_account' => $info['alipay_account'], // 商家登录支付宝的邮箱帐号或手机号 'legal_personal_name' => $info['legal_persona_name'],// 商家法人名称 'cert_name' => $info['corporate_name'],// 营业执照企业名称,如果是“无主体名称个体工商户”则填“个体户+法人姓名”,例如“个体户张三” 'cert_no' => $info['cert_no'],// 营业执照编码 'app_name' => $info['app_name'], // 小程序名称 'contact_phone' => $info['contact_phone'], // 商家联系人手机电话 'contact_name' => $info['contact_name'], // 商家联系人名称 'is_individual' => true, //是否支持个体工商户的账号类型 'license_pic' => $license_pic, // 营业执照图片的Base64编码字符串,图片大小不能超过2M。 ] ]; $info['business_code'] = $business_code; $miniModel = new \addon\aliapp\model\MinCode(); $post = $miniModel->MiniCreate($bizParams); $bizParams['create_mini_request']['license_pic']=''; if ($post['code'] == '10000') { $post['code'] = 0; $info['apply_desc']=''; $info['status'] = 'reg'; $post['message'] = '注册成功'; } else { $post['code'] = -1; $info['status'] = 'REJECTED'; $post['message'] = $post['sub_msg']; $info['apply_desc'] = $post['sub_msg']; } $info['value'] = $bizParams; if (isset($info['id'])&&$info['id']) { $this->where('id', '=', $info['id'])->save($info); } else { $this->save($info); } return $post; } /** * 注册微信小程序 * @param $business_code * @param $info */ public function RegWeapp($business_code, $info, $is_drafts = 0) { $weapp_model = new \addon\wxoplatform\model\Oplatform(); $this->openPlatform = $weapp_model->app; $openPlatform = $this->openPlatform->component; $type = [ 'individual' => 1, 'enterprise' => 1, 'individual_code' => 3, ]; $data = [ 'name' => $info['corporate_name'], 'code_type' => $type[$info['corporate_type']], 'code' => $info['cert_no'], 'legal_persona_wechat' => $info['legal_persona_wechat'], 'legal_persona_name' => $info['legal_persona_name'], 'component_phone' => config('wechat.component_phone'), ]; if ($is_drafts == 0) { $post = $openPlatform->registerMiniProgram($data); $info['status'] = 'reg'; } else { $post['errcode'] = 0; $info['status'] = 'Drafts'; } $info['business_code'] = $business_code; $info['value'] = $info; $info['reg_fee'] = 0; $info['app_type'] = 'weapp'; if ($post['errcode'] == 0) { $info['apply_desc'] = ''; $post['code'] = 0; $post['message'] = '提交成功'; } else { $post['code'] = -1; $post['message'] = $this->weeappstatus[$post['errcode']] ?? '系统繁忙' . $post['errcode']; $info['apply_desc'] = $post['message']; } if (isset($info['id']) && $info['id']) { $this->where('id', '=', $info['id'])->save($info); } else { $this->save($info); } return $post; } }