<?php

namespace app\api\controller;


use app\api\logic\IndexLogic;
use app\common\model\Company;
use app\common\model\contract\VehicleContract;
use app\Request;
use think\facade\Db;
use think\facade\Log;
use think\response\Json;


/**
 * index
 * Class IndexController
 * @package app\api\controller
 */
class HetongController extends BaseApiController
{


    public array $notNeedLogin = ['url','info', 'toFaceCreate', 'notifyOrganizationFaceCreate'];

    public function url()
    {
        $id = Request()->get('id');
        $type = Request()->get('type');
        $params = Request()->param();
        $msg='合同不存在';
        if(empty($type)){
            $msg='参数错误';
        }
        if (isset($params['t']) && $params['t'] == 1) {
            $find = Db::name('shop_contract')->where('id', $id)->find();
            if ($find && $find['url']) {
                $url = json_decode($find['url'], true);
                if(isset($url[$type])){
                    return redirect($url[$type]);
                }
            }
        }
        if ($id && $type) {
            $find = Db::name('contract')->where('id', $id)->find();
            if ($find && $find['url']) {
                $url = json_decode($find['url'], true);
                if(isset($url[$type])){
                    return redirect($url[$type]);
                }
            }
        }
        return '<style type="text/css"> * { padding: 0; margin: 0; } div { padding: 4px 48px; } a { color: #2E5CD5; cursor: pointer; text-decoration: none } a:hover { text-decoration: underline; } body { background: #fff; font-family: "Century Gothic", "Microsoft yahei"; color: #333; font-size: 18px; } h1 { font-size: 100px; font-weight: normal; margin-bottom: 12px; } p { line-height: 1.6em; font-size: 42px } </style> <div style="padding: 24px 48px;"> <h1>:) </h1> <p>'.$msg.'</p> </div>';
    }

    public function info(){
        $params = $this->request->get(['id','type']);
        if(empty($params['id']) || empty($params['type'])){
            return $this->fail('缺少必要参数');
        }
        $find = VehicleContract::where('id', $params['id'])->find();
        if (!empty($find) && $find['url']) {
            $url = json_decode($find['url'], true);
            if(isset($url[$params['type']])){
                return redirect($url[$params['type']]);
            }
        }
        return '<style type="text/css"> * { padding: 0; margin: 0; } div { padding: 4px 48px; } a { color: #2E5CD5; cursor: pointer; text-decoration: none } a:hover { text-decoration: underline; } body { background: #fff; font-family: "Century Gothic", "Microsoft yahei"; color: #333; font-size: 18px; } h1 { font-size: 100px; font-weight: normal; margin-bottom: 12px; } p { line-height: 1.6em; font-size: 42px } </style> <div style="padding: 24px 48px;"> <h1>:) </h1> <p></p> </div>';
    }

    // 用户做人脸识别时,作跳板的短信链接
    public function toFaceCreate()
    {
        $id = Request()->get('id');
        $msg='地址不存在';
        if ($id) {
            $find = Db::name('company')->where('id', $id)->find();
            if ($find && $find['face_create_url']) {
                return redirect($find['face_create_url']);
            } else {
                $msg='参数错误';
            }
        }
        return '<style type="text/css"> * { padding: 0; margin: 0; } div { padding: 4px 48px; } a { color: #2E5CD5; cursor: pointer; text-decoration: none } a:hover { text-decoration: underline; } body { background: #fff; font-family: "Century Gothic", "Microsoft yahei"; color: #333; font-size: 18px; } h1 { font-size: 100px; font-weight: normal; margin-bottom: 12px; } p { line-height: 1.6em; font-size: 42px } </style> <div style="padding: 24px 48px;"> <h1>:) </h1> <p>'.$msg.'</p> </div>';
    }

    public function notifyOrganizationFaceCreate()
    {
        $parmas = Request()->param();
        Log::info(['人脸识别采集校验回调:',$parmas]);
        $result = json_decode($parmas['data'], true);
        $msg = '人脸采集成功';
        if (isset($result['status']) &&  $result['status'] == 1) {
            // 修改人脸采集状态
            Company::where(['organization_code'=>$result['organizationRegNo']])->update(['face_create_status'=>1]);
        } else {
            $msg = '采集失败,原因:'.$result['msg'];
            // 记录错误日志
            Db::name('company_authentication_fail_log')->insert(['company_id'=>$result['orderNo'], 'log_type'=>2,'fail_reason'=>$msg, 'create_time'=>time()]);
        }
        return '<style type="text/css"> * { padding: 0; margin: 0; } div { padding: 4px 48px; } a { color: #2E5CD5; cursor: pointer; text-decoration: none } a:hover { text-decoration: underline; } body { background: #fff; font-family: "Century Gothic", "Microsoft yahei"; color: #333; font-size: 18px; } h1 { font-size: 100px; font-weight: normal; margin-bottom: 12px; } p { line-height: 1.6em; font-size: 42px } </style> <div style="padding: 24px 48px;"> <h1>:) </h1> <p>'.$msg.'</p> </div>';
    }
}