| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- <?php
- namespace common\logic\order;
- use common\enums\PreviewTypeEnum;
- use common\enums\ShippingTypeEnum;
- use common\helpers\ArrayHelper;
- use common\models\order\Order;
- use Yii;
- use yii\base\Model;
- /**
- * 订单预览表单逻辑层
- * @Author bing
- * @DateTime 2021-09-22 18:16:58
- * @copyright: Copyright (c) 2020 广东七件事集团
- */
- class BaseOrderForm extends Model
- {
- public $mall_id;
- public $user_id;
- public $user;
- public $data; //{"sku_id":"4","num":1}
- public $type; //buy_now立即购买 cart购物车
- public $order_goods = []; //生成的订单产品
- public $default_goods = [];
- public $group_order_goods = []; //生成的订单产品组别
- public $sku = []; //sku数据
- public $address_id; // 收货地址
- public $name; // 收货人
- public $mobile; // 收货人的手机号码
- public $province; // 收货人所在省
- public $city; // 收货人所在城市
- public $area; // 收货人所在街道
- public $town; // 收件人所在乡镇
- public $community; // 收件人所在小区
- public $region_name; //'收货地区名称(省市区[乡/镇])'
- public $address; // 详细地址
- public $shipping_type; // 物流类型
- public $marketing; // 营销减免
- public $total_pay_money; // 营销减免
- public $pay_type; // 支付方式
- public $transaction; // 支付方式
- public $remark; // 用户订单备注
- public $action; // preview:订单预览;create:生成订单
- public $is_address; // 是否需要收货地址
- public $need_not_express = false; // 是否不需要物流
- public $marketing_type; // 营销活动类型
- public $is_virtual;//是否虚拟商品
- public $is_sign_agreement;//是否需要签署协议
- public $is_force_free_shipping = false;//是否强制免运费
- public $process_extra_data = []; // 执行中的扩展数据
- public $total_pay_money_not_coupon; // 优惠券前价格
- public $share_user_id; //分享的用户ID
- /**
- * @return array
- */
- public function rules()
- {
- return [
- [['data', 'type'], 'required'],
- [
- [
- 'mall_id',
- 'coupon_id',
- 'company_id',
- 'address_id',
- 'pickup_id',
- 'invoice_id',
- 'shipping_type',
- 'buyer_self_lifting',
- 'pickup_point_freight',
- 'pickup_point_fee',
- 'pickup_point_is_open',
- 'marketing_id'
- ],
- 'integer',
- ],
- [['invoice_content', 'receiver_name', 'receiver_mobile', 'promo_code', 'marketing_type', 'extra_info', 'remark', 'action'], 'string'],
- [['coupon_money', 'use_score', 'shipping_money'], 'number'],
- ['type', 'in', 'range' => PreviewTypeEnum::getKeys()],
- ['shipping_type', 'in', 'range' => ShippingTypeEnum::getKeys()],
- [['company_id'], 'integer', 'min' => 0],
- [['pay_type', 's_address'], 'integer', 'min' => 0],
- [['combination_num', 'combination_id'], 'integer', 'min' => 1],
- [['shipping_type'], 'required', 'on' => ['create']],
- [['transaction'], 'safe'],
- ];
- }
- /**
- * @return array
- */
- public function attributeLabels()
- {
- return ArrayHelper::merge(parent::attributeLabels(), [
- 'mall_id' => '商城ID',
- 'use_score' => '抵现积分',
- 'max_use_score' => '最大可使用积分',
- 'address_id' => '收货地址',
- 'address' => '收货地址',
- 'is_logistics' => '运费模板可选',
- 'pickup_id' => '自提点',
- 'buyer_self_lifting' => '自提开启',
- 'pickup_point_is_open' => '自提运费开启',
- 'pickup_point_fee' => '自提运费',
- 'pickup_point_freight' => '自提满X包邮',
- 'is_full_mail' => '包邮',
- 'invoice_id' => '发票',
- 'orderProducts' => '生成的订单产品',
- 'defaultProducts' => '默认的系统产品',
- 'sku' => 'sku数据',
- 'member' => '用户',
- 'data' => '数据',
- 'type' => '数据类型',
- 'coupon' => '优惠券',
- 'marketing_id' => '营销ID',
- 'marketing_type' => '营销类型',
- 'pay_type' => '支付方式',
- 'transaction' => '流水',
- 'share_user_id' => '分享的用户ID'
- ]);
- }
- /**
- * 获取用户默认逻辑模型
- * @Author bing
- * @DateTime 2021-09-22 19:48:46
- * @copyright: Copyright (c) 2020 广东七件事集团
- * @param $mall_id
- * @param $user_id
- * @return object
- */
- public function getDefaultForm($mall_id, $user_id)
- {
- $model = new self();
- $model->mall_id = $mall_id;
- $model->user_id = $user_id;
- return $model;
- }
- public function addAttribute($name)
- {
- $attributes = parent::attributes();
- $attributes[] = $name;
- return $this;
- }
- }
|