1085 lines
22 KiB
PHP
1085 lines
22 KiB
PHP
<?php
|
|
|
|
namespace app\farm\controller;
|
|
|
|
use app\ApiRest;
|
|
|
|
|
|
use app\farm\model\AboutUs;
|
|
use app\farm\model\Article;
|
|
use app\farm\model\Banner;
|
|
use app\farm\model\Car;
|
|
use app\farm\model\ClaimOrder;
|
|
use app\farm\model\Coupon;
|
|
use app\farm\model\CouponRecord;
|
|
use app\farm\model\Evaluate;
|
|
use app\farm\model\LandOrder;
|
|
use app\farm\model\LandText;
|
|
use app\farm\model\Monitor;
|
|
use app\farm\model\MonitorText;
|
|
use app\farm\model\ShopGoods;
|
|
use app\farm\model\WelfareColumn;
|
|
|
|
use app\massage\model\Config;
|
|
|
|
|
|
use app\farm\model\Address;
|
|
|
|
use app\farm\model\User;
|
|
|
|
use app\publics\model\TmplConfig;
|
|
|
|
use longbingcore\wxcore\YsCloudApi;
|
|
use think\App;
|
|
use think\db\exception\DataNotFoundException;
|
|
use think\db\exception\DbException;
|
|
use think\db\exception\ModelNotFoundException;
|
|
use think\facade\Db;
|
|
use think\Request;
|
|
|
|
|
|
class Index extends ApiRest
|
|
{
|
|
|
|
protected $model;
|
|
|
|
|
|
public function __construct(App $app)
|
|
{
|
|
|
|
parent::__construct($app);
|
|
|
|
$this->model = new User();
|
|
|
|
|
|
}
|
|
|
|
/**
|
|
* 农场列表
|
|
* @return mixed
|
|
* @throws DbException
|
|
* @throws ModelNotFoundException
|
|
* @throws DataNotFoundException
|
|
*/
|
|
public function indexStoreList()
|
|
{
|
|
$dis = [
|
|
|
|
'uniacid' => $this->_uniacid,
|
|
|
|
'status' => 2,
|
|
|
|
'type' => 2,
|
|
|
|
'business_status' => 1
|
|
];
|
|
|
|
$farmer_model = new \app\farm\model\Farmer();
|
|
|
|
$lat = !empty($input['lat']) ? $input['lat'] : 0;
|
|
|
|
$lng = !empty($input['lng']) ? $input['lng'] : 0;
|
|
|
|
$alh = '(2 * 6378.137* ASIN(SQRT(POW(SIN(PI()*(' . $lng . '- `lng`)/360),2)+COS(PI()*33.07078170776367/180)* COS(' . $lat . ' * PI()/180)*POW(SIN(PI()*(' . $lat . '- lat)/360),2))))*1000 as distance';
|
|
//门店列表
|
|
$store = $farmer_model->where($dis)->field(['*', $alh])->order('distance,id desc')->limit(10)->select()->toArray();
|
|
|
|
if (!empty($store)) {
|
|
|
|
foreach ($store as &$v) {
|
|
|
|
$v['distance'] = getDistances($v['lng'], $v['lat'], $lng, $lat);
|
|
|
|
$v['distance'] = $farmer_model->getDistanceAttr($v['distance']);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $this->success($store);
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-03-02 16:58
|
|
* @功能说明:首页
|
|
*/
|
|
public function index()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
$config_model = new \app\farm\model\Config();
|
|
|
|
$data['weather'] = $config_model->getPlaceWeather();
|
|
|
|
$arr = [
|
|
//轮播
|
|
1 => 'rotation',
|
|
//广告
|
|
2 => 'poster'
|
|
];
|
|
|
|
$banner_model = new Banner();
|
|
|
|
foreach ($arr as $k => $v) {
|
|
|
|
$dis = [
|
|
|
|
'type' => $k,
|
|
|
|
'status' => 1,
|
|
|
|
'uniacid' => $this->_uniacid
|
|
];
|
|
|
|
$data['banner'][$v] = $banner_model->where($dis)->order('top desc,id desc')->select()->toArray();
|
|
}
|
|
|
|
$where[] = ['uniacid', '=', $this->_uniacid];
|
|
|
|
$where[] = ['status', '=', 1];
|
|
|
|
$where[] = ['type', '=', 0];
|
|
|
|
$us_model = new AboutUs();
|
|
|
|
$about = $us_model->dataInfo($where);
|
|
//收否有关于我们
|
|
$data['about_us'] = !empty($about) ? 1 : 0;
|
|
|
|
$dis = [
|
|
|
|
'uniacid' => $this->_uniacid,
|
|
|
|
'status' => 2,
|
|
|
|
'type' => 2,
|
|
|
|
'business_status' => 1
|
|
];
|
|
|
|
$farmer_model = new \app\farm\model\Farmer();
|
|
|
|
$lat = !empty($input['lat']) ? $input['lat'] : 0;
|
|
|
|
$lng = !empty($input['lng']) ? $input['lng'] : 0;
|
|
|
|
$alh = '(2 * 6378.137* ASIN(SQRT(POW(SIN(PI()*(' . $lng . '- `lng`)/360),2)+COS(PI()*33.07078170776367/180)* COS(' . $lat . ' * PI()/180)*POW(SIN(PI()*(' . $lat . '- lat)/360),2))))*1000 as distance';
|
|
//门店列表
|
|
$store = $farmer_model->where($dis)->field(['*', $alh])->order('distance,id desc')->limit(3)->select()->toArray();
|
|
|
|
if (!empty($store)) {
|
|
|
|
foreach ($store as &$v) {
|
|
|
|
$v['distance'] = getDistances($v['lng'], $v['lat'], $lng, $lat);
|
|
|
|
$v['distance'] = $farmer_model->getDistanceAttr($v['distance']);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$data['store_list'] = $store;
|
|
|
|
$arr = [
|
|
|
|
1 => 'welfare_list',
|
|
|
|
2 => 'system_list'
|
|
];
|
|
|
|
$welfare_model = new WelfareColumn();
|
|
|
|
foreach ($arr as $k => $value) {
|
|
|
|
$dis = [
|
|
|
|
'uniacid' => $this->_uniacid,
|
|
|
|
'status' => 1,
|
|
|
|
'type' => $k
|
|
];
|
|
|
|
$data[$value] = $welfare_model->where($dis)->order('top desc,id desc')->limit(5)->select()->toArray();
|
|
|
|
}
|
|
|
|
$goods_model = new ShopGoods();
|
|
|
|
$dis = [
|
|
|
|
'uniacid' => $this->_uniacid,
|
|
|
|
'index_show' => 1,
|
|
|
|
'status' => 1
|
|
];
|
|
|
|
$data['hot_goods'] = $goods_model->where($dis)->order('top desc,id desc')->limit(3)->select()->toArray();
|
|
|
|
return $this->success($data);
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-02-18 16:41
|
|
* @功能说明:获取天气
|
|
*/
|
|
public function weather()
|
|
{
|
|
$input = $this->_param;
|
|
$dis = [
|
|
|
|
'uniacid' => $this->_uniacid
|
|
];
|
|
|
|
$config_model = new Config();
|
|
|
|
$config = $config_model->dataInfo($dis);
|
|
|
|
$url = 'https://apis.map.qq.com/ws/geocoder/v1/?location=' . $input['lat'] . ',' . $input['lng'];
|
|
|
|
$url = $url . '&key=' . $config['map_secret'];
|
|
|
|
$location = longbingCurl($url, []);
|
|
|
|
$location = json_decode($location, true);
|
|
|
|
$data['weather'] = [];
|
|
|
|
if (!empty($location['result']['address_component'])) {
|
|
|
|
$location = $location['result']['address_component'];
|
|
|
|
if (!empty($location['province'])) {
|
|
|
|
$province = $location['province'];
|
|
|
|
$city = $location['city'];
|
|
|
|
$county = $location['district'];
|
|
|
|
$url = 'https://wis.qq.com/weather/common?source=pc&weather_type=observe|forecast_24h|air&province=' . $province . '&city=' . $city . '&county=' . $county;
|
|
|
|
$weather = file_get_contents($url);
|
|
|
|
$weather = @json_decode($weather, true);
|
|
//天气
|
|
$data['weather'] = $weather;
|
|
}
|
|
|
|
}
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2021-03-23 14:16
|
|
* @功能说明:获取配置信息
|
|
*/
|
|
public function configInfo()
|
|
{
|
|
$dis = [
|
|
'uniacid' => $this->_uniacid
|
|
];
|
|
|
|
$config_model = new Config();
|
|
|
|
$config = $config_model->dataInfo($dis);
|
|
|
|
return $this->success($config);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2021-12-30 15:21
|
|
* @功能说明:
|
|
*/
|
|
public function farmerSelectList()
|
|
{
|
|
|
|
$dis = [
|
|
|
|
'uniacid' => $this->_uniacid,
|
|
|
|
'status' => 2,
|
|
|
|
'type' => 1
|
|
];
|
|
|
|
$farmer_model = new \app\farm\model\Farmer();
|
|
|
|
$data = $farmer_model->where($dis)->select()->toArray();
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-01-07 14:35
|
|
* @功能说明:农场列表
|
|
*/
|
|
public function farmerList()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
|
|
$dis[] = ['uniacid', '=', $this->_uniacid];
|
|
|
|
$dis[] = ['status', '=', 2];
|
|
|
|
$dis[] = ['type', '=', 1];
|
|
|
|
if (!empty($input['title'])) {
|
|
|
|
$dis[] = ['title', 'like', '%' . $input['title'] . '%'];
|
|
|
|
}
|
|
|
|
$sort = !empty($input['sort']) ? $input['sort'] : 2;
|
|
|
|
$farmer_model = new \app\farm\model\Farmer();
|
|
|
|
$lat = !empty($input['lat']) ? $input['lat'] : 0;
|
|
|
|
$lng = !empty($input['lng']) ? $input['lng'] : 0;
|
|
|
|
$alh = '(2 * 6378.137* ASIN(SQRT(POW(SIN(PI()*(' . $lng . '- `lng`)/360),2)+COS(PI()*33.07078170776367/180)* COS(' . $lat . ' * PI()/180)*POW(SIN(PI()*(' . $lat . '- lat)/360),2))))*1000 as distance';
|
|
|
|
switch ($sort) {
|
|
|
|
case 1:
|
|
|
|
$top = 'id desc';
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
$top = 'distance,id desc';
|
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
$top = 'iv desc,id desc';
|
|
|
|
break;
|
|
}
|
|
|
|
$data = $farmer_model->where($dis)->field(['*', $alh])->order($top)->paginate(10)->toArray();
|
|
|
|
if (!empty($data['data'])) {
|
|
|
|
foreach ($data['data'] as &$v) {
|
|
|
|
$dis = [
|
|
|
|
'type' => 2,
|
|
|
|
'user_id' => $v['user_id'],
|
|
|
|
'uniacid' => $this->_uniacid
|
|
];
|
|
|
|
$v['store_id'] = $farmer_model->where($dis)->value('id');
|
|
}
|
|
|
|
}
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-01-07 14:43
|
|
* @功能说明:农场详情
|
|
*
|
|
*/
|
|
public function farmerInfo()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
$dis = [
|
|
|
|
'id' => $input['id']
|
|
];
|
|
|
|
$farmer_model = new \app\farm\model\Farmer();
|
|
|
|
$data = $farmer_model->dataInfo($dis);
|
|
|
|
$farmer_model->dataUpdate($dis, ['iv' => $data['iv'] + 1]);
|
|
|
|
$dis = [
|
|
|
|
'type' => 2,
|
|
|
|
'user_id' => $data['user_id'],
|
|
|
|
'uniacid' => $this->_uniacid
|
|
];
|
|
|
|
$data['store_id'] = $farmer_model->where($dis)->value('id');
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-01-06 15:21
|
|
* @功能说明:文章详情
|
|
*/
|
|
public function articleInfo()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
$article_model = new Article();
|
|
|
|
$data = $article_model->dataInfo(['id' => $input['article_id']]);
|
|
|
|
$data['create_time'] = date('Y-m-d H:i:s', $data['create_time']);
|
|
|
|
return $this->success($data);
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2021-12-30 11:51
|
|
* @功能说明:关于我们列表
|
|
*/
|
|
public function aboutUsList()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
$dis[] = ['uniacid', '=', $this->_uniacid];
|
|
|
|
$dis[] = ['status', '=', 1];
|
|
|
|
$dis[] = ['type', '=', 0];
|
|
|
|
if (!empty($input['title'])) {
|
|
|
|
$dis[] = ['title', 'like', '%' . $input['title'] . '%'];
|
|
}
|
|
|
|
$us_model = new AboutUs();
|
|
|
|
$data = $us_model->where($dis)->order('top desc,id desc')->limit(10)->select()->toArray();
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2021-11-08 13:23
|
|
* @功能说明:我们列表详情
|
|
*/
|
|
public function aboutUsInfoType()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
$input['type'] = !empty($input['type']) ? $input['type'] : 0;
|
|
|
|
$dis = [
|
|
|
|
'type' => $input['type'],
|
|
|
|
'uniacid' => $this->_uniacid
|
|
];
|
|
|
|
$us_model = new AboutUs();
|
|
|
|
$res = $us_model->dataInfo($dis);
|
|
|
|
if (!empty($input['type']) && empty($res)) {
|
|
|
|
$title = $input['type'] == 1 ? '动物认养协议' : '土地租赁协议';
|
|
|
|
$dis['title'] = $title;
|
|
|
|
$us_model->dataAdd($dis);
|
|
|
|
$res = $us_model->dataInfo($dis);
|
|
}
|
|
|
|
return $this->success($res);
|
|
|
|
}
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-02-09 17:07
|
|
* @功能说明:添加评价
|
|
*/
|
|
public function evaluateAdd()
|
|
{
|
|
|
|
$input = $this->_input;
|
|
|
|
$eva_model = new Evaluate();
|
|
|
|
$dis = [
|
|
|
|
'order_id' => $input['order_id'],
|
|
|
|
'type' => $input['type']
|
|
];
|
|
|
|
$find = $eva_model->where($dis)->where('status', '>', -1)->find();
|
|
|
|
if (!empty($find)) {
|
|
|
|
$this->errorMsg('你已经评价过该订单了');
|
|
}
|
|
|
|
$insert = [
|
|
|
|
'uniacid' => $this->_uniacid,
|
|
|
|
'user_id' => $this->getUserId(),
|
|
|
|
'order_id' => $input['order_id'],
|
|
|
|
'star' => $input['star'],
|
|
|
|
'type' => $input['type'],
|
|
|
|
'order_code' => $input['order_code'],
|
|
|
|
'text' => $input['text'],
|
|
|
|
'imgs' => !empty($input['imgs']) ? implode(',', $input['imgs']) : '',
|
|
|
|
'farmer_id' => !empty($input['farmer_id']) ? $input['farmer_id'] : 0,
|
|
|
|
];
|
|
|
|
$res = $eva_model->dataAdd($insert);
|
|
//修改农场主的评分
|
|
$res = $eva_model->updateFarmerStar($input['farmer_id']);
|
|
|
|
return $this->success($res);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-02-09 17:17
|
|
* @功能说明:用户评列表
|
|
*/
|
|
public function userEvaluateList()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
$eva_model = new Evaluate();
|
|
|
|
$dis[] = ['user_id', '=', $this->getUserId()];
|
|
|
|
$dis[] = ['status', '>', -1];
|
|
|
|
if (!empty($input['type'])) {
|
|
|
|
$dis[] = ['type', '=', $input['type']];
|
|
|
|
}
|
|
|
|
$data = $eva_model->dataList($dis);
|
|
|
|
if (!empty($data['data'])) {
|
|
|
|
foreach ($data['data'] as &$v) {
|
|
|
|
$v['create_time'] = date('Y-m-d H:i:s', $v['create_time']);
|
|
|
|
if (!empty($v['order_info']['end_time'])) {
|
|
|
|
$v['order_info']['end_time'] = date('Y-m-d H:i:s', $v['order_info']['end_time']);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-02-09 17:21
|
|
* @功能说明:评价详情
|
|
*/
|
|
public function evaluateInfo()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
$eva_model = new Evaluate();
|
|
|
|
$dis = [
|
|
|
|
'id' => $input['id']
|
|
];
|
|
|
|
$data = $eva_model->dataInfo($dis);
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-02-09 17:21
|
|
* @功能说明:评价详情
|
|
*/
|
|
public function evaluateUpdate()
|
|
{
|
|
|
|
$input = $this->_input;
|
|
|
|
$eva_model = new Evaluate();
|
|
|
|
$dis = [
|
|
|
|
'id' => $input['id']
|
|
];
|
|
|
|
$info = $eva_model->dataInfo($dis);
|
|
|
|
$data = $eva_model->dataUpdate($dis, $input);
|
|
|
|
if (!empty($input['status']) && $input['status'] == -1) {
|
|
//修改农场主的评分
|
|
$res = $eva_model->updateFarmerStar($info['farmer_id']);
|
|
}
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-02-10 17:23
|
|
* @功能说明:待评价订单
|
|
*/
|
|
public function noEvaluateOrderList()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
$eva_model = new Evaluate();
|
|
|
|
$model = $eva_model->getTypeModel($input['type']);
|
|
|
|
$where = [
|
|
|
|
'user_id' => $this->getUserId(),
|
|
|
|
'type' => $input['type']
|
|
];
|
|
|
|
$order_id = $eva_model->where($where)->where('status', '>', -1)->column('order_id');
|
|
|
|
$dis[] = ['user_id', '=', $this->getUserId()];
|
|
|
|
if ($input['type'] == 2) {
|
|
|
|
$dis[] = ['pay_type', '>', 1];
|
|
|
|
} else {
|
|
|
|
$dis[] = ['pay_type', '=', 7];
|
|
}
|
|
|
|
$dis[] = ['id', 'not in', $order_id];
|
|
|
|
$data = $model->dataList($dis, 10);
|
|
|
|
if (!empty($data['data'])) {
|
|
|
|
$farmer_model = new \app\farm\model\Farmer();
|
|
|
|
foreach ($data['data'] as &$v) {
|
|
|
|
$farmer_id = !empty($v['farmer_id']) ? $v['farmer_id'] : 0;
|
|
|
|
$v['farmer_info'] = $farmer_model->dataInfo(['id' => $farmer_id], 'title');
|
|
|
|
if (!empty($v['end_time'])) {
|
|
|
|
$v['end_time'] = date('Y-m-d H:i:s', $v['end_time']);
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-02-11 10:11
|
|
* @功能说明:根据type获取对应物品的评价
|
|
*/
|
|
public function goodsEvaluateList()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
$eva_model = new Evaluate();
|
|
|
|
$data = $eva_model->goodsEvaluateList($input['goods_id'], $input['type'], $input['is_goods']);
|
|
|
|
return $this->success($data);
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-03-09 16:50
|
|
* @功能说明:模版列表
|
|
*/
|
|
public function tmpList()
|
|
{
|
|
//模版消息model
|
|
$tmpl_model = new TmplConfig();
|
|
//获取模版
|
|
$tmpl = $tmpl_model->where(['uniacid' => $this->_uniacid])->select()->toArray();
|
|
|
|
return $this->success($tmpl);
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-04-11 15:56
|
|
* @功能说明:监控列表
|
|
*/
|
|
public function monitorList()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
$dis[] = ['a.uniacid', '=', $this->_uniacid];
|
|
|
|
if (!empty($input['farmer_id'])) {
|
|
|
|
$dis[] = ['a.farmer_id', '=', $input['farmer_id']];
|
|
|
|
} else {
|
|
//我的菜地
|
|
$land_model = new LandOrder();
|
|
|
|
$claim_model = new ClaimOrder();
|
|
|
|
$monitor_text_model = new MonitorText();
|
|
|
|
$land_text_model = new LandText();
|
|
|
|
$land_id = $land_model->where(['user_id' => $this->getUserId()])->where('pay_type', '>', 1)->column('land_id');
|
|
|
|
$obj_id = $land_text_model->where('land_id', 'in', $land_id)->where(['type' => 4])->column('obj_id');
|
|
|
|
$claim_id = $claim_model->where(['user_id' => $this->getUserId()])->where('pay_type', '>', 1)->column('goods_id');
|
|
|
|
$obj_id_v2 = $monitor_text_model->where('obj_id', 'in', $claim_id)->where(['type' => 2])->column('monitor_id');
|
|
|
|
$monitor_id = array_merge($obj_id, $obj_id_v2);
|
|
|
|
$dis[] = ['a.id', 'in', $monitor_id];
|
|
|
|
}
|
|
|
|
$dis[] = ['a.status', '=', 1];
|
|
|
|
if (!empty($input['title'])) {
|
|
|
|
$dis[] = ['a.title', 'like', '%' . $input['title'] . '%'];
|
|
|
|
}
|
|
|
|
$monitor_model = new Monitor();
|
|
|
|
$data = $monitor_model->farmerMonitorList($dis);
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-04-11 16:31
|
|
* @功能说明:获取监控地址
|
|
*/
|
|
public function getMonitorInfo()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
$monitor_model = new Monitor();
|
|
|
|
$data['url'] = $monitor_model->getVideoUrl($input['id']);
|
|
|
|
$api = new YsCloudApi($this->_uniacid);
|
|
|
|
$data['token'] = $api->getToken();
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-04-12 11:01
|
|
* @功能说明:获取萤石云token
|
|
*/
|
|
public function getYsToken()
|
|
{
|
|
|
|
$api = new YsCloudApi($this->_uniacid);
|
|
|
|
$token = $api->getToken();
|
|
|
|
return $this->success($token);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-04-12 11:02
|
|
* @功能说明:旋转摄像头
|
|
*/
|
|
public function ysStartTurn()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
$monitor_model = new Monitor();
|
|
|
|
$api = new YsCloudApi($this->_uniacid);
|
|
|
|
$monitor = $monitor_model->dataInfo(['id' => $input['id']]);
|
|
|
|
$res = $api->startTurn($monitor['deviceSerial'], $input['direction'], $monitor['channelNo']);
|
|
|
|
return $this->success($res);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-04-12 11:02
|
|
* @功能说明:停止旋转摄像头
|
|
*/
|
|
public function ysStopTurn()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
$monitor_model = new Monitor();
|
|
|
|
$api = new YsCloudApi($this->_uniacid);
|
|
|
|
$monitor = $monitor_model->dataInfo(['id' => $input['id']]);
|
|
|
|
$direction = !empty($input['direction']) ? $input['direction'] : 0;
|
|
|
|
$res = $api->stopTurn($monitor['deviceSerial'], $direction, $monitor['channelNo']);
|
|
|
|
return $this->success($res);
|
|
|
|
}
|
|
|
|
|
|
public function haveStore()
|
|
{
|
|
|
|
|
|
$data = $this->getStoreInfo(2);
|
|
|
|
$res = !empty($data) ? true : false;
|
|
|
|
return $this->success($res);
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-07-22 17:34
|
|
* @功能说明:公益列表
|
|
*/
|
|
public function welfareColumnList()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
$dis[] = ['uniacid', '=', $this->_uniacid];
|
|
|
|
$dis[] = ['status', '=', 1];
|
|
|
|
$type = !empty($input['type']) ? $input['type'] : 1;
|
|
|
|
$dis[] = ['type', '=', $type];
|
|
|
|
$model = new WelfareColumn();
|
|
|
|
if (!empty($input['title'])) {
|
|
|
|
$dis[] = ['title', 'like', '%' . $input['title'] . '%'];
|
|
|
|
}
|
|
|
|
$data = $model->dataList($dis, 10, 'id,title,cover,create_time');
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-07-22 17:34
|
|
* @功能说明:公益列表
|
|
*/
|
|
public function welfareColumnInfo()
|
|
{
|
|
|
|
$input = $this->_param;
|
|
|
|
$dis = [
|
|
|
|
'id' => $input['id'],
|
|
|
|
'status' => 1
|
|
];
|
|
|
|
$model = new WelfareColumn();
|
|
|
|
$data = $model->dataInfo($dis);
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-06-15 16:29
|
|
* @功能说明:优惠券
|
|
*/
|
|
public function couponList()
|
|
{
|
|
|
|
$coupon_record_model = new CouponRecord();
|
|
|
|
$coupon_model = new Coupon();
|
|
|
|
if (empty($this->getUserId())) {
|
|
|
|
return $this->success([]);
|
|
|
|
}
|
|
|
|
$have_get = $coupon_record_model->where(['user_id' => $this->getUserId()])->column('coupon_id');
|
|
|
|
$dis[] = ['uniacid', '=', $this->_uniacid];
|
|
|
|
$dis[] = ['send_type', '=', 2];
|
|
|
|
$dis[] = ['status', '=', 1];
|
|
|
|
$dis[] = ['stock', '>', 0];
|
|
|
|
$dis[] = ['id', 'not in', $have_get];
|
|
|
|
$where = [];
|
|
|
|
$where[] = ['time_limit', '=', 2];
|
|
|
|
$where[] = ['end_time', '>', time()];
|
|
|
|
$data = $coupon_model->where($dis)->where(function ($query) use ($where) {
|
|
$query->whereOr($where);
|
|
})->paginate(10)->toArray();
|
|
|
|
if (!empty($coupon['data'])) {
|
|
|
|
foreach ($coupon['data'] as &$v) {
|
|
|
|
$v['start_time'] = date('Y.m.d H:i', $v['start_time']) . ' - ' . date('Y.m.d H:i', $v['end_time']);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2022-06-15 22:49
|
|
* @功能说明:用户获取卡券
|
|
*/
|
|
public function userGetCoupon()
|
|
{
|
|
|
|
$input = $this->_input;
|
|
|
|
$coupon_record_model = new CouponRecord();
|
|
|
|
$res = $coupon_record_model->recordAdd($input['coupon_id'], $this->getUserId(), 1, 1);
|
|
|
|
if (!empty($res['code'])) {
|
|
|
|
$this->errorMsg($res['msg']);
|
|
}
|
|
|
|
return $this->success(true);
|
|
}
|
|
|
|
|
|
}
|