You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
134 lines
3.7 KiB
134 lines
3.7 KiB
<?php
|
|
namespace app\controller;
|
|
|
|
use app\BaseController;
|
|
use app\middleware\CheckUser;
|
|
use app\model\AwardsRecords;
|
|
use app\model\Notice;
|
|
use app\model\RotationChart;
|
|
use app\model\User as UserModel;
|
|
use app\model\Zone as ZoneModel;
|
|
use think\exception\ValidateException;
|
|
use think\facade\Request;
|
|
|
|
class Index extends BaseController
|
|
{
|
|
protected $middleware = [
|
|
CheckUser::class => [
|
|
'only' => ['getNoticeInfo']
|
|
]
|
|
];
|
|
|
|
/**
|
|
* 轮播图
|
|
*/
|
|
public function rotationChart()
|
|
{
|
|
|
|
$data = Request::param();
|
|
|
|
$limit = $data['limit'] ?? 11;
|
|
|
|
$RotationChart = new RotationChart();
|
|
|
|
$list = $RotationChart
|
|
->field('image,url')
|
|
->where('status',1)
|
|
->order('sort asc,create_time desc')
|
|
->paginate($limit);
|
|
|
|
$data = $list->toArray()['data'];
|
|
|
|
foreach ($data as &$item) {
|
|
$item['image'] = get_image_url($item['image']);
|
|
if ($item['url']) $item['url'] = get_jump_url($item['url']);
|
|
}
|
|
|
|
return $this->renderSuccess('数据返回成功',[
|
|
'list' => $data,
|
|
'total' => $list->total()
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* 获取首页中间记录
|
|
* @return array
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
*/
|
|
public function awardRecords()
|
|
{
|
|
|
|
$data = Request::param();
|
|
|
|
$limit = $data['limit'] ?? 10;
|
|
|
|
$records = new AwardsRecords();
|
|
|
|
$list = $records->field('user_id,awards_amount')->order('create_time desc')->paginate($limit);
|
|
|
|
$data = $list->toArray()['data'];
|
|
|
|
foreach ($data as &$item) {
|
|
$user = UserModel::field('phone')->find($item['user_id']);
|
|
$item['user_id'] = substr($item['user_id'],0,2)."XX";
|
|
$item['phone'] = format_phone_number($user['phone']);
|
|
$item['awards_amount'] = number_format($item['awards_amount']);
|
|
}
|
|
|
|
return $this->renderSuccess('数据返回成功',[
|
|
'list' => $data,
|
|
'total' => $list->total()
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* 首页专区列表
|
|
* @return array
|
|
*/
|
|
public function zoneList()
|
|
{
|
|
return $this->renderSuccess('数据返回成功',ZoneModel::getList());
|
|
}
|
|
|
|
/**
|
|
* 返回公告
|
|
* @return array
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
*/
|
|
public function getNotice()
|
|
{
|
|
$Notice = Notice::where('status',1)->order('create_time','desc')->find();
|
|
|
|
return $this->renderSuccess('数据返回成功',!empty($Notice) ? ['id' => $Notice->id, 'title' => $Notice->title] : []);
|
|
}
|
|
|
|
/**
|
|
* 公告详情
|
|
* @return array
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
* @throws \think\db\exception\DbException
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
*/
|
|
public function getNoticeInfo()
|
|
{
|
|
$param = Request::param();
|
|
|
|
try {
|
|
validate()->rule(['id|公告id' => 'require|number'])->check($param);
|
|
|
|
$Notice = Notice::where('id',$param['id'])->order('sort asc,id desc')->find();
|
|
|
|
return $this->renderSuccess('数据返回成功',[
|
|
'title' => $Notice->title,
|
|
'create_time' => date("Y.m.d H:i:s",strtotime($Notice->create_time)),
|
|
'content' => $Notice->content
|
|
]);
|
|
} catch (ValidateException $validateException) {
|
|
return $this->renderError($validateException->getMessage());
|
|
}
|
|
}
|
|
}
|
|
|