|
|
@@ -96,12 +96,15 @@ class MovieRepository extends BaseRepository
|
|
96
|
96
|
*/
|
|
97
|
97
|
public function getCinemaSched($film_sign = '', $cinema_sign = '')
|
|
98
|
98
|
{
|
|
|
99
|
+ $movie_commission_rate_config = Db::name('system_config_value')->where('config_key', 'movie_commission_rate_config')->find();
|
|
|
100
|
+ $movie_commission_rate_config = !empty($movie_commission_rate_config) ? json_decode($movie_commission_rate_config['value'], true) : [];
|
|
|
101
|
+
|
|
99
|
102
|
$result = DouHuoMallFilmApiRequest::getCinemaSched($film_sign, $cinema_sign);
|
|
100
|
103
|
$cinemaSchedList = (isset($result['code']) && ($result['code'] == ApiResponseService::DEFAULT_SUCCESS_CODE))
|
|
101
|
104
|
? $result['data']['list'] : [];
|
|
102
|
105
|
foreach ($cinemaSchedList as $dateDay => &$fileSchedValue) {
|
|
103
|
106
|
foreach ($fileSchedValue as $key => $value) {
|
|
104
|
|
- $pcYanglaojinGongxian = static::getPvYanglaojinScore($value['cost_price']);
|
|
|
107
|
+ $pcYanglaojinGongxian = static::getPvYanglaojinScore($value['cost_price'], $movie_commission_rate_config);
|
|
105
|
108
|
|
|
106
|
109
|
$fileSchedValue[$key]['price'] = $pcYanglaojinGongxian['cost_price']; // 销售价
|
|
107
|
110
|
$fileSchedValue[$key]['yanglaojin'] = $pcYanglaojinGongxian['yanglaojin'];
|
|
|
@@ -152,6 +155,9 @@ class MovieRepository extends BaseRepository
|
|
152
|
155
|
}
|
|
153
|
156
|
}
|
|
154
|
157
|
|
|
|
158
|
+ $movie_commission_rate_config = Db::name('system_config_value')->where('config_key', 'movie_commission_rate_config')->find();
|
|
|
159
|
+ $movie_commission_rate_config = !empty($movie_commission_rate_config) ? json_decode($movie_commission_rate_config['value'], true) : [];
|
|
|
160
|
+
|
|
155
|
161
|
$seat = [];
|
|
156
|
162
|
$schedSeatList = (isset($result['code']) && ($result['code'] == ApiResponseService::DEFAULT_SUCCESS_CODE)) ? $result['data'] : [];
|
|
157
|
163
|
foreach ($schedSeatList as $key => $value) {
|
|
|
@@ -170,7 +176,7 @@ class MovieRepository extends BaseRepository
|
|
170
|
176
|
}
|
|
171
|
177
|
unset($schedSeatList[$key]['price']);
|
|
172
|
178
|
|
|
173
|
|
- $pcYanglaojinGongxian = self::getPvYanglaojinScore($channel_price['price']);
|
|
|
179
|
+ $pcYanglaojinGongxian = self::getPvYanglaojinScore($channel_price['price'], $movie_commission_rate_config);
|
|
174
|
180
|
$schedSeatList[$key]['channel_sn'] = base64_encode(json_encode($channel_price, JSON_FORCE_OBJECT));
|
|
175
|
181
|
$schedSeatList[$key]['price'] = $pcYanglaojinGongxian['cost_price'];
|
|
176
|
182
|
$schedSeatList[$key]['yanglaojin'] = $pcYanglaojinGongxian['yanglaojin'];
|
|
|
@@ -229,6 +235,11 @@ class MovieRepository extends BaseRepository
|
|
229
|
235
|
$filmRepository = app()->make(FilmRepository::class);
|
|
230
|
236
|
$filminfo = $filmRepository->getFilmInfo($params['film_sign']);
|
|
231
|
237
|
|
|
|
238
|
+ // 电影分佣比例配置
|
|
|
239
|
+ $movie_commission_rate_config = Db::name('system_config_value')->where('config_key', 'movie_commission_rate_config')->find();
|
|
|
240
|
+ $movie_commission_rate_config = !empty($movie_commission_rate_config) ? json_decode($movie_commission_rate_config['value'], true) : [];
|
|
|
241
|
+ $premium_ratio = isset($movie_commission_rate_config['premium_rate']) ? $movie_commission_rate_config['premium_rate'] : self::premium_ratio;
|
|
|
242
|
+
|
|
232
|
243
|
$_order = [
|
|
233
|
244
|
'uid' => $userinfo->uid,
|
|
234
|
245
|
'mobile' => $params['phone'] ?? $userinfo->phone,
|
|
|
@@ -237,7 +248,7 @@ class MovieRepository extends BaseRepository
|
|
237
|
248
|
'plat_order' => $submitOrder['data']['plat_order'],
|
|
238
|
249
|
'price' => $order_price,
|
|
239
|
250
|
'number' => count($sched_seat),
|
|
240
|
|
- 'order_price' => bcadd((string)$order_price, bcmul((string)$order_price, (string)self::premium_ratio, 2), 2),
|
|
|
251
|
+ 'order_price' => bcadd((string)$order_price, bcmul((string)$order_price, (string)$premium_ratio, 2), 2),
|
|
241
|
252
|
'channel_type' => $channel_sn['channel_type'],
|
|
242
|
253
|
'city_sign' => $cinema['city_sign'],
|
|
243
|
254
|
'city_name' => $cinema['city_name'],
|
|
|
@@ -642,12 +653,16 @@ class MovieRepository extends BaseRepository
|
|
642
|
653
|
* @param $cost_price
|
|
643
|
654
|
* @return array
|
|
644
|
655
|
*/
|
|
645
|
|
- public static function getPvYanglaojinScore($cost_price)
|
|
|
656
|
+ public static function getPvYanglaojinScore($cost_price, $movie_commission_rate_config)
|
|
646
|
657
|
{
|
|
647
|
|
- $premium = round($cost_price * self::premium_ratio, 2);
|
|
|
658
|
+ $premium_ratio = isset($movie_commission_rate_config['premium_rate']) ? $movie_commission_rate_config['premium_rate'] : self::premium_ratio;
|
|
|
659
|
+ $pv_ratio = isset($movie_commission_rate_config['pv_rate']) ? $movie_commission_rate_config['pv_rate'] : self::pv_ratio;
|
|
|
660
|
+ $yanglaojin_ratio = isset($movie_commission_rate_config['consumer_yanglaojin_rate']) ? $movie_commission_rate_config['consumer_yanglaojin_rate'] : self::yanglaojin_ratio;
|
|
|
661
|
+
|
|
|
662
|
+ $premium = round($cost_price * $premium_ratio, 2);
|
|
648
|
663
|
$cost_price = bcadd((string)$cost_price, (string)$premium, 2);
|
|
649
|
|
- $pv = $gongxian = $score = bcmul((string)$premium, self::pv_ratio, 2);
|
|
650
|
|
- $yanglaojin = bcmul((string)$premium, self::yanglaojin_ratio, 2);
|
|
|
664
|
+ $pv = $gongxian = $score = bcmul((string)$premium, $pv_ratio, 2);
|
|
|
665
|
+ $yanglaojin = bcmul((string)$premium, $yanglaojin_ratio, 2);
|
|
651
|
666
|
|
|
652
|
667
|
return compact('premium', 'cost_price', 'pv', 'yanglaojin', 'gongxian', 'score');
|
|
653
|
668
|
}
|
|
|
@@ -719,6 +734,7 @@ class MovieRepository extends BaseRepository
|
|
719
|
734
|
|
|
720
|
735
|
// 电影分佣比例配置
|
|
721
|
736
|
$movie_commission_rate_config = Db::name('system_config_value')->where('config_key', 'movie_commission_rate_config')->find();
|
|
|
737
|
+ $movie_commission_rate_config = !empty($movie_commission_rate_config) ? json_decode($movie_commission_rate_config['value'], true) : [];
|
|
722
|
738
|
// 让利金额
|
|
723
|
739
|
$concession_pri = bcmul((string)$orderinfo['price'], $movie_commission_rate_config['premium_rate'], 2);
|
|
724
|
740
|
// 养老金
|