| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920 |
- <?php
- /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
- */
- namespace app\modules\alliance\models\third\wechat;
- use app\events\OrderEvent;
- use app\models\AggregateQrcode;
- use app\models\MerchantInfo;
- use app\models\Store;
- use app\models\StoreMini;
- use app\models\StoreSchedule;
- class ProgressMiniForm extends BaseForm
- {
- //小程序Model
- public $store_mini;
- public $mini_id;
- public $qrcode_id;
- public function __construct($config = [])
- {
- parent::__construct($config);
- }
- public function rules()
- {
- return [
- [['store_id', 'mini_id'], 'integer'],
- ]; // TODO: Change the autogenerated stub
- }
- /**
- * 获取微信进度信息
- */
- public function getProgressStatus()
- {
- /**
- * status = 0 没有注册小程序
- * status = 1 小程序快速注册审核中
- * status = 2 小程序已经注册,但token信息失效
- */
- try {
- $store_id = $this->store_id;
- //微信小程序model
- $store_mini = StoreMini::find()->where(['store_id' => $store_id])->orderBy('id desc')->one();
- $store = Store::find()->where(['id' => $store_id])->select('business_model')->one();
- if ((int)$store->business_model !== 1) {
- goto Register;
- }
- //申请店铺进件信息
- // $store_schedule = StoreSchedule::find()->where(['store_id' => $store_id])->asArray()->one();
- // //获取注册信息
- // $merchant_info = json_decode($store_schedule['merchant_info'], true);
- // //获取营业执照信息
- // $license_info = $merchant_info['subject_info']['business_license_info'];
- //注册小程序信息
- $data = [
- "name" => $store_mini->name ?: '',
- "code" => $store_mini->code ?: '',
- "code_type" => $store_mini->code_type ?: 1,
- "legal_persona_wechat" => $store_mini->legal_persona_wechat,
- "legal_persona_name" => $store_mini->legal_persona_name ?: '',
- "license_pic" => $store_mini->license_pic ?: '',
- ];
- if (empty($store_mini)) {
- return [
- 'code' => 0,
- 'msg' => "没有注册小程序",
- 'data' => [
- 'status' => 0,
- 'data' => $data,
- 'progress' => 0,
- 'bind_store_id' => $store_id
- ]
- ];
- }
- //判断是快速注册的小程序,且
- if (!empty($store_mini->code)) {
- $form = new RegisterMiniForm();
- $form->store_id = $store_id;
- //快速注册审核中
- if ($store_mini->status == -1) {
- //获取审核状态
- //调用查询快速注册状态,查询进度信息
- $result = $form->getFastRegisterStatus();
- if ($result['code'] !== 0) {
- return [
- 'code' => 0,
- 'msg' => $result['msg'],
- 'data' => [
- 'status' => 1,
- 'data' => $data,
- 'progress' => 0,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id
- ]
- ];
- }
- }
- //如果状态是已经注册,判断是否存在appid/token/refresh_token,不存在则调用接口拿取信息
- if ($store_mini->status == 1) {
- if (empty($store_mini->appid) || empty($store_mini->authorizer_access_token) || empty($store_mini->authorizer_refresh_token)) {
- $result = $form->getToken();
- if ($result['code'] !== 0) {
- return [
- 'code' => 0,
- 'msg' => $result['msg'],
- 'data' => [
- 'status' => 2,
- 'data' => $data,
- 'progress' => 0,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id
- ]
- ];
- }
- }
- }
- }
- Register:
- //获取完善小程序状态
- return $this->getPerfectStatus();
- } catch (\Exception $e) {
- return [
- 'code' => 1,
- 'msg' => $e->getMessage()
- ];
- }
- }
- //完善小程序
- public function getPerfectStatus()
- {
- try {
- $store_id = $this->store_id;
- $store = Store::findOne($store_id);
- if ((int)$store->business_model !== 1) {
- goto Register;
- }
- //微信小程序model
- $store_mini = StoreMini::find()->where(['store_id' => $store_id])->orderBy('id desc')->one();
- /**
- * 进度:完善小程序
- * status = 0 完善小程序名称
- * status = 1 开始审核,等待微信返回结果(没有审核单ID)
- * status = 2 开始审核,查询申请单信息错误
- * status = 3 小程序名称审核失败
- * status = 4 需要上传头像
- * status = 5 分类参数错误
- * status = 6 需要上传类目信息
- * status = 7 需要添加简介信息
- **/
- $form = new PerfectMiniForm();
- $form->store_id = $store_id;
- if (empty($store_mini->mini_nickname)) {
- return [
- 'code' => 0,
- 'msg' => "需要完善小程序名称",
- 'data' => [
- 'status' => 0,
- 'progress' => 1,
- 'bind_store_id' => $store_id,
- 'data' => [
- 'name' => $store->name,
- ],
- 'mini_id' => $store_mini->id
- ]
- ];
- }
- //如果审核名称
- if ($store_mini->apply_name_status == 1) {
- if (empty($store_mini->nickname_audit_id)) {
- return [
- 'code' => 0,
- 'msg' => "参数错误,没有审核单ID,等待系统推送审核结果",
- 'data' => [
- 'status' => 1,
- 'progress' => 1,
- 'bind_store_id' => $store_id,
- 'data' => [
- 'name' => $store_mini->mini_nickname,
- ],
- 'mini_id' => $store_mini->id
- ]
- ];
- }
- //获取名称审核信息
- $result = $form->getMiniStatus();
- //请求错误信息返回
- if ($result['code'] !== 0) {
- return [
- 'code' => 0,
- 'msg' => $result['msg'],
- 'data' => [
- 'status' => 1,
- 'progress' => 1,
- 'bind_store_id' => $store_id,
- 'data' => [
- 'name' => $store_mini->mini_nickname,
- ],
- 'mini_id' => $store_mini->id
- ]
- ];
- }
- if ($result['status'] == 1) {
- return [
- 'code' => 0,
- 'msg' => "小程序信息审核中",
- 'data' => [
- 'status' => 2,
- 'progress' => 1,
- 'bind_store_id' => $store_id,
- 'data' => [
- 'name' => $store_mini->mini_nickname,
- ],
- 'mini_id' => $store_mini->id
- ]
- ];
- }
- }
- //名称审核失败
- if ($store_mini->apply_name_status == 2) {
- return [
- 'code' => 0,
- 'msg' => "名称审核失败:" . $store_mini->apply_name_error,
- 'data' => [
- 'status' => 3,
- 'progress' => 1,
- 'bind_store_id' => $store_id,
- 'data' => [
- 'name' => $store_mini->mini_nickname,
- ],
- 'mini_id' => $store_mini->id
- ]
- ];
- }
- //名称审核成功
- if (empty($store_mini->mini_url)) {
- return [
- 'code' => 0,
- 'msg' => "需要上传头像",
- 'data' => [
- 'status' => 4,
- 'progress' => 1,
- 'bind_store_id' => $store_id,
- 'data' => [
- 'mini_url' => $store->logo
- ],
- 'mini_id' => $store_mini->id
- ]
- ];
- }
- //判断简介是否为空
- if (empty($store_mini->signature)) {
- return [
- 'code' => 0,
- 'msg' => "需要添加简介信息",
- 'data' => [
- 'status' => 7,
- 'progress' => 1,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id,
- 'data' => [
- ],
- ]
- ];
- }
- //配置隐私
- $result = $form->setPrivacyForm();
- //输出信息
- $file_name = \Yii::$app->runtimePath . '/logs/app_wechat.log';
- file_put_contents($file_name, "\r\n" . '[配置隐私][' . date('Y-m-d H:i:s') . $store_mini->id . ']' . json_encode($result), FILE_APPEND);
- //配置业务域名
- $result = $form->setDomainName();
- //输出信息
- file_put_contents($file_name, "\r\n" . '[配置业务域名][' . date('Y-m-d H:i:s') . ']' . json_encode($result), FILE_APPEND);
- //配置服务器域名
- $result = $form->setWebviewDomain();
- //输出信息
- file_put_contents($file_name, "\r\n" . '[配置服务器域名][' . date('Y-m-d H:i:s') . ']' . json_encode($result), FILE_APPEND);
- Register:
- //获取小程序提交状态
- return $this->getSubmitStatus();
- } catch (\Exception $e) {
- return [
- 'code' => 1,
- 'msg' => $e->getMessage()
- ];
- }
- }
- public function getSubmitStatus()
- {
- try {
- /**
- * 进度:提交上传小程序
- * status = 0 需要上传模板
- * status = 1 已经更新模板
- * status = 2 已经提交审核,等待微信返回结果
- * status = 3 获取审核状态时错误
- * status = 4 审核中
- * status = 5 审核不通过
- * status = 6 审核延期
- * status = 7 小程序发布完成
- */
- $store_id = $this->store_id;
- //微信小程序model
- $store_mini = StoreMini::find()->where(['store_id' => $store_id])->orderBy('id desc')->one();
- $form = new SubmitMiniForm();
- $store = Store::findOne($store_id);
- if ((int)$store->business_model !== 1) {
- goto Register;
- }
- $form->store_id = $store_id;
- //判断是否需要上传模板
- if ($store_mini->mini_up == 0) {
- return [
- 'code' => 0,
- 'msg' => "需要上传模板",
- 'data' => [
- 'status' => 0,
- 'progress' => 2,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id,
- 'business_model' => $store->business_model
- ]
- ];
- }
- //已经上传模板
- if ($store_mini->mini_up == -1) {
- return [
- 'code' => 0,
- 'msg' => "需要提交审核",
- 'data' => [
- 'status' => 1,
- 'progress' => 2,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id,
- 'business_model' => $store->business_model
- ]
- ];
- }
- //已经提交审核
- //获取审核状态
- if ($store_mini->mini_up == 1 && !empty($store_mini->audit_id)) {
- $result = $form->getSubmitAuditStatus();
- if ($result['code'] != 0) {
- return [
- 'code' => 0,
- 'msg' => $result['msg'],
- 'data' => [
- 'status' => 3,
- 'progress' => 2,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id,
- 'business_model' => $store->business_model
- ]
- ];
- }
- }
- //审核中
- if ($store_mini->mini_up == 1) {
- return [
- 'code' => 0,
- 'msg' => "小程序审核中",
- 'data' => [
- 'status' => 3,
- 'progress' => 2,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id,
- 'business_model' => $store->business_model
- ]
- ];
- }
- //审核不通过
- if ($store_mini->mini_up == 3) {
- return [
- 'code' => 0,
- 'msg' => "小程序审核不通过 : " . $store_mini->mini_up_error,
- 'data' => [
- 'status' => 1,
- 'progress' => 2,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id,
- 'business_model' => $store->business_model
- ]
- ];
- }
- //审核延期
- if ($store_mini->mini_up == 4) {
- return [
- 'code' => 0,
- 'msg' => "审核延期",
- 'data' => [
- 'status' => 3,
- 'reason' => "审核延期,请耐心等候",
- 'progress' => 2,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id,
- 'business_model' => $store->business_model
- ]
- ];
- }
- //发布
- if ($store_mini->mini_up == 2) {
- return [
- 'code' => 0,
- 'msg' => "小程序需要发布",
- 'data' => [
- 'status' => 2,
- 'progress' => 2,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id,
- 'business_model' => $store->business_model
- ]
- ];
- }
- //上传完成
- if ($store_mini->mini_up == 5) {
- Register:
- return $this->getWechatPayStatus();
- }
- } catch (\Exception $e) {
- return [
- 'code' => 1,
- 'msg' => $e->getMessage()
- ];
- }
- }
- //支付进件进度信息
- public function getWechatPayStatus()
- {
- try {
- /**
- * 微信支付进件
- * status = 0 没有申请微信进件信息
- * status = 1 进件信息待审核
- * status = 2 进件信息审核中
- * status = 3 进件信息已经被驳回
- * status = 4 进件已完成
- */
- //获取商城ID
- $store_id = $this->store_id;
- //申请店铺进件信息
- $merchant_info = MerchantInfo::find()->where(['bind_store_id' => $store_id, 'is_delete' => 0])->asArray()->one();
- $store = Store::findOne($store_id);
- //申请店铺信息
- // $store_schedule = StoreSchedule::find()->where(['store_id' => $store_id])->asArray()->one();
- // $store_schedule = json_decode($store_schedule['merchant_info'], true);
- $data = [
- //超管信息
- 'contact_info' => json_decode($merchant_info['contact_info'], true) ?: [
- 'contact_name' => '',
- 'contact_id_number' => '',
- 'mobile_phone' => '',
- 'contact_email' => ''
- ],
- //主体信息
- 'subject_info' => json_decode($merchant_info['subject_info'], true) ?: [
- 'subject_type' => 'SUBJECT_TYPE_ENTERPRISE',
- 'business_license_info' => [
- 'license_copy' => '',
- 'license_number' => '',
- 'merchant_name' => '',
- 'legal_person' => ''
- ],
- 'certificate_info' => [
- 'is_long' => '',
- 'cert_copy' => '',
- 'cert_type' => '',
- 'cert_number' => '',
- 'merchant_name' => '',
- 'company_address' => '',
- 'legal_person' => '',
- 'period_begin' => '',
- 'period_end' => '',
- ],
- 'organization_info' => [
- 'is_composite' => 1,
- 'organization_copy' => '',
- 'organization_code' => '',
- 'org_period_begin' => '',
- 'org_period_end' => '',
- 'is_long' => 0
- ],
- 'identity_info' => [
- 'is_long' => 0,
- 'id_doc_type' => 'IDENTIFICATION_TYPE_IDCARD',
- 'id_card_info' => [
- 'id_card_copy' => '',
- 'id_card_national' => '',
- 'id_card_name' => '',
- 'id_card_number' => '',
- 'card_period_begin' => '',
- 'card_period_end' => ''
- ],
- 'id_doc_info' => [
- 'id_doc_copy' => '',
- 'id_doc_name' => '',
- 'id_doc_number' => '',
- 'doc_period_begin' => '',
- 'doc_period_end' => ''
- ],
- 'owner' => true
- ]
- ],
- //经营信息
- 'business_info' => json_decode($merchant_info['business_info'], true) ?: [
- 'merchant_shortname' => '',
- 'service_phone' => '',
- 'sales_info' => [
- 'sales_scenes_type' => [
- ''
- ],
- 'mini_program_info' => [
- 'mini_program_appid' => ''
- ]
- ]
- ],
- //结算银行账户信息
- 'bank_account_info' => json_decode($merchant_info['bank_account_info'], true) ?: [
- 'bank_account_type' => '',
- 'account_name' => '',
- 'account_bank' => '',
- 'bank_address_code' => '',
- 'account_number' => '',
- 'code_list' => [
- ],
- 'address_list' => [
- ]
- ],
- ];
- if ($store->business_model === 1) {
- //微信小程序model
- $store_mini = StoreMini::find()->where(['store_id' => $store_id])->orderBy('id desc')->one();
- if (empty($store_mini->appid)) {
- throw new \Exception("获取不到小程序信息");
- }
- }
- if (empty($merchant_info)) {
- return [
- 'code' => 0,
- 'msg' => "没有申请微信进件信息",
- 'data' => [
- 'status' => 0,
- 'merchant' => $data,
- 'progress' => 3,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id ?? 0,
- 'business_model' => $store->business_model
- ]
- ];
- }
- if ($merchant_info['status'] == 0) {
- return [
- 'code' => 0,
- 'msg' => "进件信息未提交",
- 'data' => [
- 'status' => 1,
- 'merchant' => $data,
- 'progress' => 3,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id ?? 0,
- 'business_model' => $store->business_model
- ]
- ];
- }
- if ($merchant_info['state'] == 'APPLYMENT_STATE_TO_BE_SIGNED' && !empty($merchant_info['sign_url'])) {
- $sign_url = json_decode($merchant_info['sign_url'], true);
- return [
- 'code' => 0,
- 'msg' => $sign_url['applyment_state_msg'] . '<br/> <img width="50" height="50" src="' .$sign_url['sign_url']. '"/>',
- 'data' => [
- 'status' => 2,
- 'merchant' => $data,
- 'progress' => 3,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id ?? 0,
- 'business_model' => $store->business_model
- ]
- ];
- }
- if ($merchant_info['status'] == 1) {
- return [
- 'code' => 0,
- 'msg' => "进件信息审核中",
- 'data' => [
- 'status' => 2,
- 'merchant' => $data,
- 'progress' => 3,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id ?? 0,
- 'business_model' => $store->business_model
- ]
- ];
- }
- if ($merchant_info['status'] == 2) {
- return [
- 'code' => 0,
- 'msg' => "进件信息已经被驳回 : " . $merchant_info['refuse_desc'],
- 'data' => [
- 'status' => 3,
- 'merchant' => $data,
- 'reason' => $merchant_info['refuse_desc'],
- 'progress' => 3,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id ?? 0,
- 'business_model' => $store->business_model
- ]
- ];
- }
- if ($merchant_info['status'] == 3) {
- return $this->bindQrcodeStatus();
- }
- } catch (\Exception $e) {
- return [
- 'code' => 1,
- 'msg' => $e->getMessage()
- ];
- }
- }
- //支付进件进度信息 (单店铺)
- public function getWechatPayStatusBySingle()
- {
- try {
- /**
- * 微信支付进件
- * status = 0 没有申请微信进件信息
- * status = 1 进件信息待审核
- * status = 2 进件信息审核中
- * status = 3 进件信息已经被驳回
- * status = 4 进件已完成
- */
- //获取商城ID
- $store_id = $this->store_id;
- //申请店铺进件信息
- $merchant_info = MerchantInfo::find()->where(['bind_store_id' => $store_id, 'is_delete' => 0])->asArray()->one();
- $store = Store::findOne($store_id);
- //申请店铺信息
- // $store_schedule = StoreSchedule::find()->where(['store_id' => $store_id])->asArray()->one();
- // $store_schedule = json_decode($store_schedule['merchant_info'], true);
- $data = [
- //超管信息
- 'contact_info' => json_decode($merchant_info['contact_info'], true) ?: [
- 'contact_name' => '',
- 'contact_id_number' => '',
- 'mobile_phone' => '',
- 'contact_email' => ''
- ],
- //主体信息
- 'subject_info' => json_decode($merchant_info['subject_info'], true) ?: [
- 'subject_type' => 'SUBJECT_TYPE_ENTERPRISE',
- 'business_license_info' => [
- 'license_copy' => '',
- 'license_number' => '',
- 'merchant_name' => '',
- 'legal_person' => '',
- 'period_begin' => '',
- 'is_long' => 0
- ],
- 'certificate_info' => [
- 'is_long' => '',
- 'cert_copy' => '',
- 'cert_type' => '',
- 'cert_number' => '',
- 'merchant_name' => '',
- 'company_address' => '',
- 'legal_person' => '',
- 'period_begin' => '',
- 'period_end' => '',
- ],
- 'organization_info' => [
- 'is_composite' => 1,
- 'organization_copy' => '',
- 'organization_code' => '',
- 'org_period_begin' => '',
- 'org_period_end' => '',
- 'is_long' => 0
- ],
- 'identity_info' => [
- 'is_long' => 0,
- 'id_doc_type' => 'IDENTIFICATION_TYPE_IDCARD',
- 'id_card_info' => [
- 'id_card_copy' => '',
- 'id_card_national' => '',
- 'id_card_name' => '',
- 'id_card_number' => '',
- 'card_period_begin' => '',
- 'card_period_end' => ''
- ],
- 'id_doc_info' => [
- 'id_doc_copy' => '',
- 'id_doc_name' => '',
- 'id_doc_number' => '',
- 'doc_period_begin' => '',
- 'doc_period_end' => ''
- ],
- 'owner' => true
- ]
- ],
- //经营信息
- 'business_info' => json_decode($merchant_info['business_info'], true) ?: [
- 'merchant_shortname' => '',
- 'service_phone' => '',
- 'sales_info' => [
- 'sales_scenes_type' => [
- ''
- ],
- 'mini_program_info' => [
- 'mini_program_appid' => ''
- ]
- ]
- ],
- //结算银行账户信息
- 'bank_account_info' => json_decode($merchant_info['bank_account_info'], true) ?: [
- 'bank_account_type' => '',
- 'account_name' => '',
- 'account_bank' => '',
- 'bank_address_code' => '',
- 'account_number' => '',
- 'code_list' => [
- ],
- 'address_list' => [
- ]
- ],
- ];
- if (empty($merchant_info)) {
- return [
- 'code' => 0,
- 'msg' => "没有申请微信进件信息",
- 'data' => [
- 'status' => 0,
- 'merchant' => $data,
- 'progress' => 3,
- 'bind_store_id' => $store_id,
- 'mini_id' => 0,
- 'business_model' => $store->business_model
- ]
- ];
- }
- if ($merchant_info['status'] == 0) {
- return [
- 'code' => 0,
- 'msg' => "进件信息未提交",
- 'data' => [
- 'status' => 1,
- 'merchant' => $data,
- 'progress' => 3,
- 'bind_store_id' => $store_id,
- 'mini_id' => 0,
- 'business_model' => $store->business_model
- ]
- ];
- }
- if ($merchant_info['state'] == 'APPLYMENT_STATE_TO_BE_SIGNED' && !empty($merchant_info['sign_url'])) {
- $sign_url = json_decode($merchant_info['sign_url'], true);
- return [
- 'code' => 0,
- 'msg' => $sign_url['applyment_state_msg'] . '<br/> <img width="50" height="50" src="' .$sign_url['sign_url']. '"/>',
- 'data' => [
- 'status' => 2,
- 'merchant' => $data,
- 'progress' => 3,
- 'bind_store_id' => $store_id,
- 'mini_id' => 0,
- 'business_model' => $store->business_model
- ]
- ];
- }
- if ($merchant_info['status'] == 1) {
- return [
- 'code' => 0,
- 'msg' => "进件信息审核中",
- 'data' => [
- 'status' => 2,
- 'merchant' => $data,
- 'progress' => 3,
- 'bind_store_id' => $store_id,
- 'mini_id' => 0,
- 'business_model' => $store->business_model
- ]
- ];
- }
- if ($merchant_info['status'] == 2) {
- return [
- 'code' => 0,
- 'msg' => "进件信息已经被驳回 : " . $merchant_info['refuse_desc'],
- 'data' => [
- 'status' => 3,
- 'merchant' => $data,
- 'reason' => $merchant_info['refuse_desc'],
- 'progress' => 3,
- 'bind_store_id' => $store_id,
- 'mini_id' => 0,
- 'business_model' => $store->business_model
- ]
- ];
- }
- } catch (\Exception $e) {
- return [
- 'code' => 1,
- 'msg' => $e->getMessage()
- ];
- }
- }
- //聚合码信息
- public function bindQrcodeStatus()
- {
- try {
- //商城ID
- $store_id = $this->store_id;
- $store = Store::findOne($store_id);
- $qrcode_id = $this->qrcode_id;
- if ((int)$store->business_model !== 1) {
- goto Register;
- }
- if (!empty($qrcode_id)) {
- $qrcode = AggregateQrcode::find()->where(['id' => $qrcode_id])->one();
- } else {
- $qrcode = AggregateQrcode::find()->where(['store_id' => $store_id])->one();
- }
- //微信小程序model
- $store_mini = StoreMini::find()->where(['store_id' => $store_id])->orderBy('id desc')->one();
- if (empty($store_mini->appid)) {
- throw new \Exception("获取不到小程序信息");
- }
- if (empty($qrcode)) {
- return [
- 'code' => 0,
- 'msg' => "需要绑定二维码信息",
- 'data' => [
- 'status' => 0,
- 'progress' => 4,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id,
- 'qrcode_id' => $qrcode->id,
- 'business_model' => $store->business_model
- ]
- ];
- }
- if ($qrcode->wx_status == 0) {
- return [
- 'code' => 0,
- 'msg' => "没有绑定小程序",
- 'data' => [
- 'status' => 1,
- 'progress' => 4,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id,
- 'qrcode_id' => $qrcode->id,
- 'business_model' => $store->business_model
- ]
- ];
- }
- if ($qrcode->wx_status == 1) {
- Register:
- $merchant_info = MerchantInfo::findOne(['bind_store_id' => $store_id, 'is_delete' => 0]);
- if (!empty($merchant_info->app_status)) {
- $app_status = $merchant_info->app_status;
- $app_status = str_replace('1,', '', $app_status);
- $merchant_info->app_status = $app_status;
- $merchant_info->save();
- }
- return [
- 'code' => 0,
- 'msg' => "绑定小程序完成",
- 'data' => [
- 'status' => 2,
- 'progress' => 5,
- 'bind_store_id' => $store_id,
- 'mini_id' => $store_mini->id ?? 0,
- 'qrcode_id' => $qrcode->id ?? 0,
- 'business_model' => $store->business_model
- ]
- ];
- }
- throw new \Exception("数据错误");
- } catch (\Exception $e) {
- return [
- 'code' => 1,
- 'msg' => $e->getMessage()
- ];
- }
- }
- }
|