diff --git a/addon/futures/api/controller/Futures.php b/addon/futures/api/controller/Futures.php new file mode 100644 index 00000000..9729a2a8 --- /dev/null +++ b/addon/futures/api/controller/Futures.php @@ -0,0 +1,42 @@ +response(); + } + + /** + * 发布 + * @return false|string + */ + public function release() + { + $id = input('id', 0); + $price = input('price', 0); + + $futuresModel = new FuturesModel; + return $this->response($futuresModel->release($id, $price)); + } + + /** + * 下架到库存 + * @return false|string + */ + public function stock(){ + + $id = input('id', 0); + + $futuresModel = new FuturesModel; + return $this->response($futuresModel->stock($id)); + } + +} \ No newline at end of file diff --git a/addon/futures/model/Futures.php b/addon/futures/model/Futures.php index f666e6b9..0c1353c6 100644 --- a/addon/futures/model/Futures.php +++ b/addon/futures/model/Futures.php @@ -27,17 +27,17 @@ class Futures extends BaseModel{ * 发布 * @return array */ - public function release($futures_id, $price){ - $date = model('futures')->getInfo([['id', '=', $futures_id]]); - if($date['status'] !== 1){ - return $this->error(); + 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', '=', $futures_id]]); - Cache::store('redis_concurrent')->set('addon_futures_'.$futures_id,'1'); + ], [['id', '=', $id]]); + Cache::store('redis_concurrent')->set('addon_futures_'.$id,'1'); return $this->success(); } @@ -45,15 +45,38 @@ class Futures extends BaseModel{ * 下架到库存 * @return array */ - public function stock($futures_id){ - return $this->success(Cache::store('redis_concurrent')->delete('addon_futures_'.$futures_id)); + 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(){ + 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('','下单失败'); + } + 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]]); return $this->success(); } @@ -61,7 +84,10 @@ class Futures extends BaseModel{ * 订单完成 * @return array */ - public function orderComplete(){ + public function orderComplete($id){ + model('futures')->update([ + 'status' => 3, + ], [['id', '=', $id]]); return $this->success(); } @@ -69,7 +95,13 @@ class Futures extends BaseModel{ * 订单取消 * @return array */ - public function orderClose(){ + public function orderClose($id){ + model('futures')->update([ + 'status' => 7, + 'member_id' => 0, + 'order_id' => 0 + ], [['id', '=', $id]]); + Cache::store('redis_concurrent')->set('addon_futures_'.$id,'1'); return $this->success(); } } \ No newline at end of file