178 lines
5.2 KiB
PHP
178 lines
5.2 KiB
PHP
<?php
|
|
|
|
namespace addon\futures\api\controller;
|
|
use app\api\controller\BaseApi;
|
|
use addon\futures\model\Futures as FuturesModel;
|
|
|
|
class Futures extends BaseApi{
|
|
/**
|
|
* 售卖列表
|
|
* @return false|string
|
|
*/
|
|
public function list()
|
|
{
|
|
$token = $this->checkToken();
|
|
if ($token['code'] < 0) return $this->response($token);
|
|
|
|
$fenxiao = model('fenxiao')->getInfo([['member_id', '=', $this->member_id]]);
|
|
// $is_read = FALSE;
|
|
// if(empty($fenxiao) || $fenxiao['diamond'] < 0){
|
|
// $is_read =
|
|
// }//TODO 判断当前时间是否在秒杀开启时间,并区分有无钻石用户
|
|
|
|
$status = input('status', 'miaosha');
|
|
|
|
$condition = [
|
|
['a.site_id','=',$this->site_id]
|
|
];
|
|
|
|
switch($status){
|
|
case 'miaosha':
|
|
$condition[] = ['status', '=', '2'];
|
|
break;
|
|
case 'jianlou':
|
|
$condition[] = ['status', '=', '7'];
|
|
break;
|
|
default:
|
|
$condition[] = ['status', '=', '2'];
|
|
break;
|
|
}
|
|
|
|
|
|
// 获取内容
|
|
$field = [
|
|
'seller.username as seller_username',
|
|
'seller.nickname as seller_nickname',
|
|
'seller.headimg as seller_headimg',
|
|
'g.goods_name',
|
|
'g.goods_image',
|
|
'a.id',
|
|
'a.total',
|
|
'a.unit_price',
|
|
'a.price',
|
|
'a.status',
|
|
'a.release_time',
|
|
'a.sell_time',
|
|
'a.created_time',
|
|
'a.take_time',
|
|
];
|
|
// 表关联
|
|
$join = [
|
|
['member seller', 'seller.member_id = a.seller_uid', 'left'],// 获取卖家信息
|
|
['goods g', 'g.goods_id = a.goods_id', 'left'],// 获取商品信息
|
|
];
|
|
|
|
$futuresModel = new FuturesModel;
|
|
$page = input('page', 1);
|
|
$page_size = input('page_size', PAGE_LIST_ROWS);
|
|
$list = $futuresModel->getPageList($condition, $page, $page_size, 'a.created_time desc,a.id desc', $field, 'a', $join);
|
|
return $this->response($list);
|
|
}
|
|
|
|
/**
|
|
* 个人中心列表
|
|
* @return false|string
|
|
*/
|
|
public function myList()
|
|
{
|
|
$token = $this->checkToken();
|
|
if ($token['code'] < 0) return $this->response($token);
|
|
|
|
$status = input('status', 'all');
|
|
|
|
$condition = [
|
|
['a.seller_uid', '=', $this->member_id],
|
|
['a.site_id','=',$this->site_id]
|
|
];
|
|
|
|
switch($status){
|
|
case 'stock':
|
|
$condition[] = ['a.status', '=', '1'];
|
|
break;
|
|
case 'release':
|
|
$condition[] = ['a.status', 'in', [2, 6, 7]];
|
|
break;
|
|
case 'sold':
|
|
$condition[] = ['a.status', '=', '3'];
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
// 获取内容
|
|
$field = [
|
|
'seller.username as seller_username',
|
|
'seller.nickname as seller_nickname',
|
|
'seller.headimg as seller_headimg',
|
|
'g.goods_name',
|
|
'g.goods_image',
|
|
'a.id',
|
|
'a.total',
|
|
'a.unit_price',
|
|
'a.price',
|
|
'a.status',
|
|
'a.release_time',
|
|
'a.sell_time',
|
|
'a.created_time',
|
|
'a.take_time',
|
|
];
|
|
// 表关联
|
|
$join = [
|
|
['member seller', 'seller.member_id = a.seller_uid', 'left'],// 获取卖家信息
|
|
['goods g', 'g.goods_id = a.goods_id', 'left'],// 获取商品信息
|
|
];
|
|
|
|
$futuresModel = new FuturesModel;
|
|
$page = input('page', 1);
|
|
$page_size = input('page_size', PAGE_LIST_ROWS);
|
|
$list = $futuresModel->getPageList($condition, $page, $page_size, 'a.created_time desc,a.id desc', $field, 'a', $join);
|
|
return $this->response($list);
|
|
}
|
|
|
|
/**
|
|
* 发布
|
|
* @return false|string
|
|
*/
|
|
public function release()
|
|
{
|
|
$token = $this->checkToken();
|
|
if ($token['code'] < 0) return $this->response($token);
|
|
|
|
$id = input('id', 0);
|
|
$price = input('price', 0);
|
|
|
|
$date = model('futures')->getInfo([['id', '=', $id],['seller_uid' => $this->member_id]]);
|
|
if(empty($date)){
|
|
return $this->response($this->error('','发布失败'));
|
|
}
|
|
if($price <= $date['unit_price'] * (1 + 0 / 100) || $price >= $date['unit_price'] * (1 + 8 / 100)){//TODO 后台配置范围
|
|
return $this->response($this->error('','发布失败'));
|
|
}
|
|
//TODO 拆单
|
|
|
|
$futuresModel = new FuturesModel;
|
|
return $this->response($futuresModel->release($id, $price));
|
|
}
|
|
|
|
/**
|
|
* 下架到库存
|
|
* @return false|string
|
|
*/
|
|
public function stock(){
|
|
$token = $this->checkToken();
|
|
if ($token['code'] < 0) return $this->response($token);
|
|
|
|
$id = input('id', 0);
|
|
|
|
$date = model('futures')->getInfo([['id', '=', $id],['seller_uid' => $this->member_id]]);
|
|
if(empty($date)){
|
|
return $this->response($this->error('','下架失败'));
|
|
}
|
|
|
|
$futuresModel = new FuturesModel;
|
|
return $this->response($futuresModel->stock($id));
|
|
}
|
|
|
|
//TODO 提货
|
|
|
|
} |