2025-05-27 18:33:00 +08:00

177 lines
5.7 KiB
PHP
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
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);
}
}