fuc/src/Controllers/Gembox/DrawController.php
2025-02-23 13:30:57 +08:00

138 lines
4.1 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
declare(strict_types=1);
namespace App\Controllers\Gembox;
use Psr\Http\Message\ResponseInterface;
use Slim\Http\Response;
use Slim\Http\ServerRequest;
use Smarty\Exception as SmartyException;
use App\Services\Sdk\Gembox\Factory as SdkGembox;
use App\Services\TomTool\PageBar;
use App\Services\Sdk\Gembox\Part\Format;
final class DrawController extends BaseController
{
public function index(ServerRequest $request, Response $response, array $args): ResponseInterface
{
error_reporting(E_ALL & ~E_WARNING);
//// api发送
$iStatus = 0; // 0等于待审核日后可以做选择框
$iDefaultLimit = 20; // 默认页数,以后是设置
$iDefaultPage = 1;
$iPage = (int) $request->getQueryParam('p');
$iLimit = (int) $request->getQueryParam('l');
$iPage = $iPage == 0 ? $iDefaultPage : $iPage;
$iLimit = $iLimit == 0 ? $iDefaultLimit : $iLimit;
// 1页是0*10=[0+10]即第0到10行数据
// 2页是1*10=[10+10]即第10到20行数据
// 3页是2*10=[20+10]即第20到30行数据
$iOffset = ($iPage - 1) * $iLimit;
SdkGembox::$model = 'draw';
SdkGembox::$site = 'crc';
$oSdkGemboxDraw = SdkGembox::create();
$aData = [
'offset' => $iOffset,
'limit' => $iLimit,
'status' => $iStatus
];
$sRst = $oSdkGemboxDraw->list($aData);
$oRst = json_decode($sRst);
if (!$oRst || $oRst->status != 1) {
//var_dump($sRst);
}
$oRst = json_decode($sRst);
//// page bar
$aPageBar = PageBar::create(9, $oRst->count->total_page, $iPage);
return $response->write(
$this->view()
->assign('pageClass', 'drawGetList')
->assign('pageBar', $aPageBar)
->assign('data', $oRst->data)
->assign('count', $oRst->count)
->assign('page', $iPage)
->fetch('gembox/draw/index.tpl')
);
}
public function detail(ServerRequest $request, Response $response, array $args): ResponseInterface
{
error_reporting(E_ALL & ~E_WARNING);
$oSdkGemboxDraw = SdkGembox::create('draw', $args['siteCode']);
$oDetail = $oSdkGemboxDraw->detail(['id' => $args['id']]);
if (!@json_decode($oDetail, true)['data']) {
var_dump($oDetail);exit;
}
$aData = json_decode($oDetail, true)['data'];
return $response->write(
$this->view()
->assign('pageClass', 'drawGetList')
->assign('id', $args['id'])
->assign('siteCode', $args['siteCode'])
->assign('data', $aData)
->fetch('gembox/draw/detail.tpl')
);
}
public function done(ServerRequest $request, Response $response, array $args): ResponseInterface
{
$id = $this->antiXss->xss_clean($request->getParam('id'));
SdkGembox::$model = 'draw';
SdkGembox::$site = 'crc';
$oSdkGemboxDraw = SdkGembox::create();
$aData = [
'id' => $id
];
$r = $oSdkGemboxDraw->done($aData);
$r = json_decode($r);
if (!$r || $r->status != 1) {
var_dump($r);
}
return $response->withJson([
$r
]);
}
public function back(ServerRequest $request, Response $response, array $args): ResponseInterface
{
$id = $this->antiXss->xss_clean($request->getParam('id'));
$memo = $this->antiXss->xss_clean($request->getParam('memo'));
$siteCode = $this->antiXss->xss_clean($request->getParam('siteCode'));
$oSdkGemboxDraw = SdkGembox::create('draw', $siteCode);
$aSendData = [
'id' => $id,
'memo' => $memo
];
$r = $oSdkGemboxDraw->back($aSendData);
$r = Format::r($r);
return $response->withJson($r);
}
}