|
@@ -9,22 +9,27 @@ class Seat
|
|
|
|
|
|
public function get($uid, $info_id, $parent_page_id, $page_id, $times_id, $day, $content_id, $index, $hall)
|
|
|
{
|
|
|
+ $data = array();
|
|
|
|
|
|
$where['info_id'] = $info_id;
|
|
|
- $where['times_id'] = $times_id;
|
|
|
$where['content_id'] = $content_id;
|
|
|
+
|
|
|
+
|
|
|
+ $data['disabled'] = true;
|
|
|
+ $state = Dever::db('user/seat')->one($where);
|
|
|
+ if ($state) {
|
|
|
+ $data['disabled'] = false;
|
|
|
+ }
|
|
|
+ $where['times_id'] = $times_id;
|
|
|
if ($day && $day > 0) {
|
|
|
$where['day'] = $day;
|
|
|
} else {
|
|
|
$where['day'] = -1;
|
|
|
}
|
|
|
+
|
|
|
$where['hall'] = $hall;
|
|
|
$my = Dever::db('user/seat')->getMyData($where);
|
|
|
-
|
|
|
- $data = array();
|
|
|
- $data['disabled'] = true;
|
|
|
if ($my) {
|
|
|
- $data['disabled'] = false;
|
|
|
foreach ($my as $k => $v) {
|
|
|
$key = $v['hall'] . '_' . $v['seat_row'] . '_' . $v['seat_column'];
|
|
|
$v['user'] = Dever::load('user/lib/info')->get($v['uid'], $info_id);
|
|
@@ -114,4 +119,146 @@ class Seat
|
|
|
|
|
|
return $data;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ public function action($parent_uid, $uid, $info_id, $parent_page_id, $page_id, $times_id, $day, $content_id, $index, $seat, $price, $system_source, $refer = '')
|
|
|
+ {
|
|
|
+ if (!$uid) {
|
|
|
+ Dever::alert('错误的用户信息');
|
|
|
+ }
|
|
|
+
|
|
|
+ $tmp = explode(',', $seat);
|
|
|
+ $num = count($num);
|
|
|
+
|
|
|
+ $where['info_id'] = $info_id;
|
|
|
+ $where['content_id'] = $content_id;
|
|
|
+ $state = Dever::db('user/seat')->one($where);
|
|
|
+ if (!$state) {
|
|
|
+ $num = $num - 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ $order_data['uid'] = $uid;
|
|
|
+ $order_data['status'] = 1;
|
|
|
+ $order_data['info_id'] = $info_id;
|
|
|
+ $order_data['parent_page_id'] = $parent_page_id;
|
|
|
+ $order_data['page_id'] = $page_id;
|
|
|
+ $order_data['times_id'] = $times_id;
|
|
|
+ $order_data['day'] = $day;
|
|
|
+ $order_data['content_id'] = $content_id;
|
|
|
+ $order_data['index'] = $index;
|
|
|
+ $order_data['seat'] = $seat;
|
|
|
+ $order_data['name'] = '购买座位:' . $seat;
|
|
|
+ $order_data['cash'] = $price * $num;
|
|
|
+ $order_data['price'] = $price;
|
|
|
+ $order_data['num'] = $num;
|
|
|
+
|
|
|
+ $order_data['system_source'] = $system_source;
|
|
|
+ $order_data['order_id'] = $this->getOrderId();
|
|
|
+
|
|
|
+ if ($parent_uid) {
|
|
|
+ $order_data['parent_uid'] = $parent_uid;
|
|
|
+ }
|
|
|
+
|
|
|
+ $id = Dever::db('user/seat_order')->insert($order_data);
|
|
|
+
|
|
|
+ if (!$id) {
|
|
|
+ Dever::alert('支付失败');
|
|
|
+ }
|
|
|
+
|
|
|
+ $param = array
|
|
|
+ (
|
|
|
+ 'project_id' => 3,
|
|
|
+ 'channel_id' => $cate['pay_channel'],
|
|
|
+ 'system_source' => $system_source,
|
|
|
+ 'uid' => $uid,
|
|
|
+ 'name' => $order_data['name'],
|
|
|
+ 'cash' => $order_data['cash'],
|
|
|
+ 'product_id' => $info['id'],
|
|
|
+ 'order_id' => $order_data['order_id'],
|
|
|
+ 'refer' => $refer,
|
|
|
+ );
|
|
|
+
|
|
|
+ $receipt = Dever::input('receipt');
|
|
|
+ if ($receipt) {
|
|
|
+ $param['receipt'] = $receipt;
|
|
|
+ }
|
|
|
+
|
|
|
+ $result = Dever::load('pay/api.pay', $param);
|
|
|
+
|
|
|
+ return $result;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public function success_secure_api_token()
|
|
|
+ {
|
|
|
+ $project_id = Dever::input('pay_project_id');
|
|
|
+ $info = Dever::db('pay/project')->one($project_id);
|
|
|
+ if ($info) {
|
|
|
+ return $info['key'];
|
|
|
+ }
|
|
|
+ return 'seat_dever_2020';
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public function success_secure_api($param = array())
|
|
|
+ {
|
|
|
+ $this->success($param);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public function success($param = array())
|
|
|
+ {
|
|
|
+ $send = $param ? $param : Dever::preInput('pay_');
|
|
|
+ $order_id = $send['pay_order_id'];
|
|
|
+ $status = $send['pay_status'];
|
|
|
+ $msg = $send['pay_msg'];
|
|
|
+
|
|
|
+ $order = Dever::db('user/seat_order')->one(array('order_id' => $order_id, 'time' => time()));
|
|
|
+ if ($order && $order['status'] == 1) {
|
|
|
+ if ($status == 2) {
|
|
|
+
|
|
|
+ $this->save($order['uid'], $order['info_id'], $order['info_id'], $order['parent_page_id'], , $order['page_id'], $order['times_id'], $order['day'], $order['content_id'], $order['index'], $order['seat']);
|
|
|
+
|
|
|
+
|
|
|
+ if ($order['parent_uid'] > 0) {
|
|
|
+ $uid = $order['parent_uid'] . '_' . $order['uid'];
|
|
|
+ } else {
|
|
|
+ $uid = $order['uid'];
|
|
|
+ }
|
|
|
+ Dever::score($uid, 'buy_seat', '购买座位', false, false, false, 'collection/info', $order['info_id']);
|
|
|
+
|
|
|
+
|
|
|
+ if (Dever::project('message')) {
|
|
|
+ Dever::load('message/lib/data')->push(-1, $order['uid'], '购买提醒', '购买座位成功', 11);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $update['status'] = $status;
|
|
|
+ $update['where_id'] = $order['id'];
|
|
|
+ Dever::db('user/seat_order')->update($update);
|
|
|
+ }
|
|
|
+
|
|
|
+ return 'ok';
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public function getOrderId()
|
|
|
+ {
|
|
|
+ $where['order_id'] = Dever::order('T');
|
|
|
+ $state = Dever::db('user/seat_order')->one($where);
|
|
|
+ if (!$state) {
|
|
|
+ return $where['order_id'];
|
|
|
+ } else {
|
|
|
+ return $this->getOrderId();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public function getOrderIdAndId($order_id, $id)
|
|
|
+ {
|
|
|
+ if ($order_id) {
|
|
|
+ return $order_id . '/' . $id;
|
|
|
+ } else {
|
|
|
+ return '无' . '/' . $id;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|