|
|
@@ -139,6 +139,19 @@ class MovieRepository extends BaseRepository
|
|
139
|
139
|
{
|
|
140
|
140
|
$result = DouHuoMallFilmApiRequest::getSchedSeat($relation_id, $sched_sign);
|
|
141
|
141
|
|
|
|
142
|
+ $sched_seatList = [];
|
|
|
143
|
+ // 根据场次id、场次编号获取锁座订单
|
|
|
144
|
+ $seatOrder = $this->dao->search(['relation_id' => $relation_id, 'sched_sign' => $sched_sign, 'status' => [0, 1]])->field('relation_id,sched_sign,sched_seat')->select()->toArray();
|
|
|
145
|
+ if (!empty($seatOrder)) {
|
|
|
146
|
+ $tmpsched_seat = array_column($seatOrder, 'sched_seat');
|
|
|
147
|
+ foreach ($tmpsched_seat as $ssKey => $ssValue) {
|
|
|
148
|
+ $ssValue = json_decode($ssValue, true);
|
|
|
149
|
+ foreach ($ssValue as $k => $v) {
|
|
|
150
|
+ $sched_seatList[$v['seat_sign']] = $v['seat_sign'];
|
|
|
151
|
+ }
|
|
|
152
|
+ }
|
|
|
153
|
+ }
|
|
|
154
|
+
|
|
142
|
155
|
$seat = [];
|
|
143
|
156
|
$schedSeatList = (isset($result['code']) && ($result['code'] == ApiResponseService::DEFAULT_SUCCESS_CODE)) ? $result['data'] : [];
|
|
144
|
157
|
foreach ($schedSeatList as $key => $value) {
|
|
|
@@ -166,6 +179,9 @@ class MovieRepository extends BaseRepository
|
|
166
|
179
|
$schedSeatList[$key]['gongxian'] = $pcYanglaojinGongxian['gongxian'];
|
|
167
|
180
|
$schedSeatList[$key]['relation_id'] = $relation_id; // 场次ID
|
|
168
|
181
|
$schedSeatList[$key]['sched_sign'] = $sched_sign; // 场次编码
|
|
|
182
|
+ if ($value['status'] == 1) {
|
|
|
183
|
+ $schedSeatList[$key]['status'] = isset($sched_seatList[$value['seatSign']]) ? 0 : 1;
|
|
|
184
|
+ }
|
|
169
|
185
|
|
|
170
|
186
|
$seat[$value['rowNo']][] = $schedSeatList[$key];
|
|
171
|
187
|
}
|
|
|
@@ -200,6 +216,9 @@ class MovieRepository extends BaseRepository
|
|
200
|
216
|
if (json_last_error()) throw new ValidateException('锁座下单失败');
|
|
201
|
217
|
|
|
202
|
218
|
$order_price = bcmul((string)$channel_sn['price'], (string)count($sched_seat), 2);
|
|
|
219
|
+ Db::name('log')->insert(['data' => '---电影票支付订单数据---' . json_encode([
|
|
|
220
|
+ $params['phone'] ?? $userinfo->phone, $channel_sn['channel_type'], $params['sched_sign'], array_column($sched_seat, 'seat_sign'), $order_sn, $order_price
|
|
|
221
|
+ ])]);
|
|
203
|
222
|
$submitOrder = DouHuoMallFilmApiRequest::submitOrder($params['phone'] ?? $userinfo->phone, $channel_sn['channel_type'], $params['sched_sign'], array_column($sched_seat, 'seat_sign'), $order_sn, $order_price);
|
|
204
|
223
|
if (!empty($submitOrder) && isset($submitOrder['code']) && ($submitOrder['code'] == ApiResponseService::DEFAULT_SUCCESS_CODE) && isset($submitOrder['data']['plat_order'])) {
|
|
205
|
224
|
/** @var CinemaRepository $cinemaRepository */
|