PreviewService.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace addons\TinyShop\services\order;
  3. use Yii;
  4. use common\models\api\AccessToken;
  5. use common\helpers\ArrayHelper;
  6. use common\enums\StatusEnum;
  7. use addons\TinyShop\common\forms\PreviewForm;
  8. use addons\TinyShop\common\forms\SettingForm;
  9. /**
  10. * Class PreviewService
  11. * @package addons\TinyShop\services\order
  12. */
  13. class PreviewService
  14. {
  15. /**
  16. * 初始化预览
  17. *
  18. * @param $merchant_id
  19. * @return PreviewForm
  20. */
  21. public function initModel($merchant_id)
  22. {
  23. /** @var AccessToken $identity */
  24. $identity = Yii::$app->user->identity;
  25. /** @var SettingForm $setting */
  26. $setting = Yii::$app->tinyShopService->config->setting();
  27. $orderInvoiceContent = explode(',', $setting->order_invoice_content);
  28. $model = new PreviewForm();
  29. $model = $model->loadDefaultValues();
  30. $model->merchant_id = $merchant_id;
  31. $model->buyer_id = $identity->member_id ?? 0;
  32. $model->member = $identity;
  33. $model->config = [
  34. // 物流配送
  35. 'logistics' => $setting->logistics, // 物流配送
  36. 'logistics_select' => $setting->logistics_select, // 选择物流
  37. 'logistics_list' => $setting->logistics_select == StatusEnum::ENABLED ? Yii::$app->tinyShopService->expressCompany->getList($merchant_id, ['id', 'title', 'merchant_id']) : [], // 物流列表
  38. // 同城配送
  39. 'logistics_local_distribution' => $setting->logistics_local_distribution,
  40. 'logistics_local_distribution_config' => ArrayHelper::distributionTime(Yii::$app->tinyShopService->localConfig->findByMerchantId($merchant_id)), // 买家自提配置
  41. // 门店自提
  42. 'logistics_pick_up' => $setting->logistics_pick_up,
  43. 'logistics_pick_up_config' => Yii::$app->has('tinyStoreService') ? ArrayHelper::distributionTime(Yii::$app->tinyStoreService->config->findOne($merchant_id), false) : [],
  44. 'logistics_pick_up_list' => Yii::$app->has('tinyStoreService') ? Yii::$app->tinyStoreService->store->findValidList($merchant_id, ['id', 'title', 'cover', 'mobile', 'address_name', 'address_details', 'merchant_id']) : [], // 买家自提门店
  45. 'order_min_pay_money' => $setting->order_min_pay_money, // 最低下单金额
  46. 'order_buy_close_time' => $setting->order_buy_close_time, // 订单关闭时间
  47. 'order_back_points' => 0, // 赠送积分时间
  48. 'order_back_growth' => 0, // 赠送成长值时间
  49. 'product_give_point' => 0,
  50. 'product_point_give_type' => 0,
  51. 'product_give_growth' => 0,
  52. 'product_growth_give_type' => 0,
  53. 'order_invoice_content' => $orderInvoiceContent, // 开票内容
  54. ];
  55. return $model;
  56. }
  57. }
粤ICP备19079148号