data_center/app/api/controller/HetongController.php

91 lines
4.5 KiB
PHP

<?php
namespace app\api\controller;
use app\common\model\company\Company;
use app\common\model\contract\VehicleContract;
use think\facade\Db;
use think\facade\Log;
class HetongController extends BaseApiController
{
public array $notNeedLogin = ['url','info', 'toFaceCreate', 'notifyOrganizationFaceCreate'];
public function url(): string|\think\response\Redirect
{
$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(): string|\think\response\Redirect
{
$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(): string
{
$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>';
}
}