|
|
@@ -16,8 +16,6 @@ use app\traits\HuiPay;
|
|
16
|
16
|
use crmeb\services\ApiResponseService;
|
|
17
|
17
|
use think\exception\ValidateException;
|
|
18
|
18
|
use think\facade\Db;
|
|
19
|
|
-use think\facade\Log;
|
|
20
|
|
-use function Symfony\Component\String\b;
|
|
21
|
19
|
|
|
22
|
20
|
/**
|
|
23
|
21
|
* Class MovieRepository
|
|
|
@@ -175,7 +173,7 @@ class MovieRepository extends BaseRepository
|
|
175
|
173
|
{
|
|
176
|
174
|
/** @var StoreOrderRepository $storeOrder */
|
|
177
|
175
|
$storeOrder = app()->make(StoreOrderRepository::class);
|
|
178
|
|
- $order_sn = $storeOrder->getNewOrderId() . '0';
|
|
|
176
|
+ $order_sn = substr($storeOrder->getNewOrderId(), 0, 20);
|
|
179
|
177
|
|
|
180
|
178
|
/** @var CinemaSchedRepository $cinemaSchedRepository */
|
|
181
|
179
|
$cinemaSchedRepository = app()->make(CinemaSchedRepository::class);
|
|
|
@@ -249,13 +247,13 @@ class MovieRepository extends BaseRepository
|
|
249
|
247
|
*/
|
|
250
|
248
|
public function confirmOrder($userinfo, $order_sn, $pay_type)
|
|
251
|
249
|
{
|
|
252
|
|
- $orderinfo = $this->dao->getWhere(['order_sn' => $order_sn, 'uid' => $userinfo->uid])->find();
|
|
|
250
|
+ $orderinfo = $this->dao->search(['order_sn' => $order_sn, 'uid' => $userinfo['uid']])->find();
|
|
253
|
251
|
if (empty($orderinfo)) throw new ValidateException('订单不存在');
|
|
254
|
252
|
if ($orderinfo['paid'] == 0 && $orderinfo['status'] == 2) throw new ValidateException('订单已超时');
|
|
255
|
253
|
if ($orderinfo['paid'] == 0 && $orderinfo['status'] == 3) throw new ValidateException('订单已取消');
|
|
256
|
254
|
if ($orderinfo['paid'] == 1) throw new ValidateException('订单已支付');
|
|
257
|
255
|
|
|
258
|
|
- $res = $this->pay($pay_type, $userinfo->wechat_user_id, $orderinfo, $orderinfo['film_name'], env('APP_URL') . "/api/hf_notify/movie", 'delay');
|
|
|
256
|
+ $res = $this->pay($pay_type, $userinfo['wechat_user_id'], $orderinfo, $orderinfo['film_name'], env('APP_URL') . "/api/hf_notify/movie", 'delay');
|
|
259
|
257
|
Db::name('log')->insert(['data' => '汇付电影票订单支付--- 返回参数' . json_encode($res)]);
|
|
260
|
258
|
if (isset($res['id'])) {
|
|
261
|
259
|
$type = 0;
|
|
|
@@ -355,11 +353,28 @@ class MovieRepository extends BaseRepository
|
|
355
|
353
|
*/
|
|
356
|
354
|
public function getOrderInfo($userinfo, $order_sn)
|
|
357
|
355
|
{
|
|
358
|
|
- $orderinfo = $this->dao->getWhere(['order_sn' => $order_sn, 'uid' => $userinfo->uid])->find();
|
|
|
356
|
+ $orderinfo = $this->dao->search(['order_sn' => $order_sn, 'uid' => $userinfo['uid']])->find();
|
|
359
|
357
|
if (empty($orderinfo)) throw new ValidateException('订单不存在');
|
|
360
|
358
|
|
|
361
|
359
|
$result = DouHuoMallFilmApiRequest::getOrderInfo($order_sn);
|
|
362
|
|
- if (!empty($result) && ($result['code'] == ApiResponseService::DEFAULT_SUCCESS_CODE)) return $result['data'];
|
|
|
360
|
+ if (!empty($result) && ($result['code'] == ApiResponseService::DEFAULT_SUCCESS_CODE)) {
|
|
|
361
|
+ $plat_orderinfo = $result['data'];
|
|
|
362
|
+ $plat_orderinfo['order_sn'] = $plat_orderinfo['third_order'];
|
|
|
363
|
+ $plat_orderinfo['sched_seat'] = base64_encode(json_encode($plat_orderinfo['sched_seat'], JSON_FORCE_OBJECT));
|
|
|
364
|
+ $plat_orderinfo['order_price'] = $orderinfo['order_price'];
|
|
|
365
|
+ $plat_orderinfo['sched_seat'] = json_decode($orderinfo['sched_seat'], true);
|
|
|
366
|
+ $plat_orderinfo['cinema_film'] = Db::name('movie_cinema_sched')
|
|
|
367
|
+ ->where('film_sign', $orderinfo['film_sign'])
|
|
|
368
|
+ ->where(['relation_id' => $orderinfo['relation_id'], 'sched_sign' => $orderinfo['sched_sign']])
|
|
|
369
|
+ ->field('cinema_sign,cinema_name,address,longitude,latitude,hall_sign,hall_name,film_sign,film_name,show_date,show_time')
|
|
|
370
|
+ ->find();
|
|
|
371
|
+ $plat_orderinfo['cinema_film']['show_date'] = date('Y-m-d', $plat_orderinfo['cinema_film']['show_date']);
|
|
|
372
|
+ $plat_orderinfo['cinema_film']['cover_img'] = Db::name('movie_film')->where('film_sign', $orderinfo['film_sign'])->value('cover_img');
|
|
|
373
|
+
|
|
|
374
|
+ unset($plat_orderinfo['plat_order']);
|
|
|
375
|
+ unset($plat_orderinfo['third_order']);
|
|
|
376
|
+ return $plat_orderinfo;
|
|
|
377
|
+ }
|
|
363
|
378
|
throw new ValidateException('订单不存在');
|
|
364
|
379
|
}
|
|
365
|
380
|
|
|
|
@@ -412,7 +427,7 @@ class MovieRepository extends BaseRepository
|
|
412
|
427
|
*/
|
|
413
|
428
|
public function updateMovieOrderAndcalculationCommissionDividendAward($pay_type, $order_sn, $post_data)
|
|
414
|
429
|
{
|
|
415
|
|
- $orderinfo = $this->dao->getWhere(['order_sn' => $order_sn])->find();
|
|
|
430
|
+ $orderinfo = $this->dao->search(['order_sn' => $order_sn])->find();
|
|
416
|
431
|
if ($orderinfo) throw new ValidateException('订单不存在');
|
|
417
|
432
|
Db::startTrans();
|
|
418
|
433
|
$orderinfo->paid = 1;
|