177 lines
5.7 KiB
PHP
Raw Normal View History

2025-05-27 18:33:00 +08:00
<?php
namespace app\api\controller;
use app\common\controller\Api;
use think\Config;
use app\common\model\score\Log;
use app\common\model\score\Event;
/**
* 积分接口
*/
class Score extends Api
{
/**
* @var \app\common\model\score\Log
*/
protected $model = null;
protected $noNeedRight = ['*'];
public function _initialize()
{
parent::_initialize();
$this->model = new Log;
}
/**
* @ApiTitle( 积分项列表)
* @ApiSummary(积分项列表)
* @ApiMethod(GET)
* @ApiParams(name = "keywords", type = "string",required=false,description = "搜索关键字")
* @ApiParams(name = "page", type = "string",required=true,description = "页数")
* @ApiParams(name = "limit", type = "string",required=true,description = "条数")
* @ApiParams(name = "way", type = "string",required=false,description = "free=自由申请,direct=直接奖励 默认自由申请")
* @ApiReturn({
*
*})
*/
public function index()
{
$user_id = 0;
$user = $this->auth->getUser();//登录用户
if($user)$user_id = $user['id'];
$page = $this->request->param('page/d', 0); //页数
$limit = $this->request->param('limit/d', 0); //条数
$keywords = $this->request->param('keywords/s', ''); //搜索关键字
$way = $this->request->param('way/s', 'free'); //搜索关键字
try{
//当前申请状态
$res = Event::allList($page, $limit,$keywords,$way,[]);
// var_dump($this->model->getLastSql());
}catch (\Exception $e){
$this->error($e->getMessage());
}
$this->success('查询成功', $res);
}
/**
* @ApiTitle( 我的积分申请列表)
* @ApiSummary(我的积分申请列表)
* @ApiMethod(GET)
* @ApiParams(name = "keywords", type = "string",required=false,description = "搜索关键字")
* @ApiParams(name = "page", type = "string",required=true,description = "页数")
* @ApiParams(name = "limit", type = "string",required=true,description = "条数")
* @ApiParams(name = "status", type = "string",required=false,description = "审核状态:0=待审核,1=审核通过,2=审核不通过 可多值逗号拼接")
* @ApiParams(name = "time", type = "string",required=false,description = "复合时间查询:today今天,week本周,month本月,year本年,yesterday昨天,last year上一年,last week上周last month上個月lately7最近7天 lately30最近30天按开始时间区间查传值格式Y/m/d H:M:S-Y/m/d H:M:S")
* @ApiReturn({
*
*})
*/
public function log()
{
$user_id = 0;
$user = $this->auth->getUser();//登录用户
if($user)$user_id = $user['id'];
$page = $this->request->param('page/d', 0); //页数
$limit = $this->request->param('limit/d', 0); //条数
$keywords = $this->request->param('keywords/s', ''); //搜索关键字
$params = [];
$params["status"] = $this->request->param('status/s', ''); //搜索关键字
$params["time"] = $this->request->param('time/s', ''); //搜索关键字
$params["user_id"] = $user_id;
try{
//当前申请状态
$res = Log::allList($page, $limit,$keywords,$params);
// var_dump($this->model->getLastSql());
}catch (\Exception $e){
$this->error($e->getMessage());
}
$this->success('查询成功', $res);
}
/**
* @ApiTitle( 月度积分排行榜及个人月度当前积分累计)
* @ApiSummary(月度积分排行榜及个人月度当前积分累计)
* @ApiMethod(GET)
* @ApiParams(name = "time", type = "string",required=false,description = "要查询的月份的时间戳")
* @ApiReturn({
*
*})
*/
public function month()
{
$user_id = 0;
$user = $this->auth->getUser();//登录用户
if($user)$user_id = $user['id'];
$time = $this->request->param('time/d', null); //搜索关键字
try{
//当前申请状态
$res = Log::statistics($user_id,$time);
// var_dump($this->model->getLastSql());
}catch (\Exception $e){
$this->error($e->getMessage());
}
$this->success('查询成功', $res);
}
/**
* @ApiTitle( 积分申请)
* @ApiSummary(积分申请)
* @ApiMethod(POST)
* @ApiParams(name = "score_event_id", type = "string",required=true,description = "积分事件id")
* @ApiParams(name = "images", type = "string",required=true,description = "多图逗号拼接,附件只要相对路径,不要全路径")
* @ApiParams(name = "desc", type = "string",required=false,description = "备注")
* @ApiReturn({
*
*})
*/
public function add()
{
$user_id = 0;
$user = $this->auth->getUser();//登录用户
if($user)$user_id = $user['id'];
$params=[];
$params["user_id"] = $user_id; //页数
$params["score_event_id"] = $this->request->post('score_event_id/d', ''); //条数
$params["images"] = $this->request->post('images/s', ''); //搜索关键字
$params["desc"] = $this->request->post('desc/s', ''); //搜索关键字
//全局锁
$this->setUrlLock("only");
try{
if(!$params["score_event_id"]) throw new \Exception(__('积分项不存在'));
//当前申请状态
$res = $this->model->add($params,true,true);
// var_dump($this->model->getLastSql());
}catch (\Exception $e){
$this->error($e->getMessage());
}
$this->success('添加成功', $res);
}
}