admin/addon/futures/model/Futures.php

131 lines
4.1 KiB
PHP

<?php
namespace addon\futures\model;
use app\model\BaseModel;
use think\facade\Cache;
class Futures extends BaseModel{
/**
* 获取列表
* @param array $condition
* @param int $page
* @param int $page_size
* @param string $order
* @param string $field
* @param string $alias
* @param array $join
* @return array
*/
public function getPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = '', $field = 'a.*', $alias = 'a', $join = [])
{
$list = model('futures')->pageList($condition, $field, $order, $page, $page_size, $alias, $join);
return $this->success($list);
}
/**
* 发布
* @return array
*/
public function release($id, $price){
$date = model('futures')->getInfo([['id', '=', $id]]);
if(empty($date) || $date['status'] !== 1){
return $this->error('','发布失败');
}
model('futures')->update([
'status' => 2,
'release_time' => time(),
'price' => $price
], [['id', '=', $id]]);
Cache::store('redis_concurrent')->set('addon_futures_'.$id,'1');
return $this->success();
}
/**
* 下架到库存
* @return array
*/
public function stock($id){
$date = model('futures')->getInfo([['id', '=', $id]]);
if(empty($date) || $date['status'] !== 2){
return $this->error('','下架失败');
}
if(!Cache::store('redis_concurrent')->delete('addon_futures_'.$id)){
return $this->error('','下架失败');
}
model('futures')->update([
'status' => 1,
], [['id', '=', $id]]);
return $this->success();
}
/**
* 订单创建
* @return array
*/
public function orderCreate($id, $order_id, $member_id){
$date = model('futures')->getInfo([['id', '=', $id]]);
if(empty($date) || ($date['status'] !== 2 && $date['status'] !== 7)){
return $this->error($date,'下单失败');
}
if(!Cache::store('redis_concurrent')->delete('addon_futures_'.$id)){
return $this->error('','下单失败');
}
model('futures')->update([
'status' => 6,
'created_time' => time(),
'order_id' => $order_id,
'member_id' => $member_id
], [['id', '=', $id]]);
Cache::store('redis_concurrent')->set('addon_futures_pay_'.$id,'1');
return $this->success();
}
/**
* 订单完成
* @return array
*/
public function orderComplete($id){
$date = model('futures')->getInfo([['id', '=', $id]]);
if(empty($date) || $date['status'] !== 6){
return $this->error($date,'完成失败');
}
if(!Cache::store('redis_concurrent')->delete('addon_futures_pay_'.$id)){
return $this->error('','完成失败');
}
$date = model('futures')->getInfo([['id', '=', $id]]);
model('futures')->update([
'status' => 3,
'sell_time' => time()
], [['id', '=', $id]]);
model('futures')->add([
'site_id' => $date['site_id'],
'seller_uid' => $date['member_id'],
'old_futures_id' => $id,
'goods_id' => (int)$date['goods_id'],
'total' => (int)$date['total'],
'unit_price' => $date['price'],
'status' => 1,
'created_time' => time()]);
return $this->success();
}
/**
* 订单取消
* @return array
*/
public function orderClose($id){
$date = model('futures')->getInfo([['id', '=', $id]]);
if(empty($date) || $date['status'] !== 6){
return $this->error($date,'取消失败');
}
if(!Cache::store('redis_concurrent')->delete('addon_futures_pay_'.$id)){
return $this->error('','取消失败');
}
model('futures')->update([
'status' => 7,
], [['id', '=', $id]]);
Cache::store('redis_concurrent')->set('addon_futures_'.$id,'1');
return $this->success();
}
}