OrderDetail.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace addons\SecondaryCard\common\global_func\Order;
  3. use addons\ReservationService\common\models\ReservationServiceOrder;
  4. use addons\SecondaryCard\common\models\SecondaryCard;
  5. use addons\SecondaryCard\common\models\SecondaryCardOrder;
  6. use addons\SecondaryCard\common\models\SecondaryCardUseLog;
  7. use addons\SecondaryCard\common\service\SecondaryCardOrderService;
  8. use common\models\mall\MallAddons;
  9. class OrderDetail
  10. {
  11. public static function detail($params){
  12. if(!empty($params['order']['marketing_type'])&&$params['order']['marketing_type']=='SecondaryCard'&&!empty($params['order']['marketing_id'])){
  13. if (MallAddons::isInstall($params['mall_id'],'SecondaryCard')){
  14. $secondary_card_order = SecondaryCardOrder::getOne([['id'=>$params['order']['marketing_id']]],true,['secondaryCard']);
  15. $secondary_card = $secondary_card_order['secondaryCard'];
  16. $params['order']['secondary_card'] = [
  17. 'name' => $secondary_card['name'],
  18. 'background' => $secondary_card['background'],
  19. 'font_color' => $secondary_card['font_color'],
  20. 'reservation_cancel_hour' => $secondary_card['reservation_cancel_hour'],
  21. 'appointment_interval_duration' => $secondary_card['appointment_interval_duration'],
  22. 'reservation_cancel_type' => $secondary_card['reservation_cancel_type'],
  23. 'reservation_cancel_deduct' => $secondary_card['reservation_cancel_deduct'],
  24. 'service' => json_decode($secondary_card['service'],true),
  25. 'secondary_card_no' => $secondary_card_order['order_no'],
  26. 'secondary_card_order_id' => $secondary_card_order['id'],
  27. ];
  28. $params['order']['secondary_card']['verifiable_times'] =$secondary_card_order['verifiable_times'];
  29. $params['order']['secondary_card']['use_times'] = $secondary_card['verifiable_times']-$secondary_card_order['verifiable_times'];
  30. $params['order']['secondary_card']['order_source'] = SecondaryCardOrderService::getSourceName($secondary_card_order,$secondary_card['use_type']);
  31. $params['order']['secondary_card']['clerk_code'] = $secondary_card_order['clerk_code'];
  32. $reservation_service_order = ReservationServiceOrder::findOne(['order_id'=>$params['order']['id']]);
  33. $use_log = SecondaryCardUseLog::findOne(['reservation_service_order_id'=>$reservation_service_order['id']]);
  34. if($secondary_card['verifiable_times']>0){
  35. $params['order']['secondary_card']['order_money'] = bcdiv($secondary_card_order['pay_money'],$secondary_card['verifiable_times'],2) ;
  36. }else{
  37. $params['order']['secondary_card']['order_money'] = $secondary_card_order['pay_money'];
  38. }
  39. $params['order']['secondary_card']['service_times'] = $use_log['clerk_nums'];
  40. $params['order']['secondary_card']['clerk_money'] = $use_log['clerk_money'];
  41. $params['order']['is_secondary_card'] = 1;
  42. }
  43. }
  44. return $params['order'];
  45. }
  46. }