|
|
@@ -0,0 +1,182 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace common\models;
|
|
|
+
|
|
|
+use Yii;
|
|
|
+
|
|
|
+/**
|
|
|
+ * This is the model class for table "{{%ORDER}}".
|
|
|
+ *
|
|
|
+ * @property string $ID
|
|
|
+ * @property string $SN 订单号
|
|
|
+ * @property string $DEC_SN 报单编号
|
|
|
+ * @property string $USER_ID 用户ID
|
|
|
+ * @property string $USER_NAME 会员编号
|
|
|
+ * @property string $DEC_USER_ID 会员编号
|
|
|
+ * @property string $ORDER_TYPE 订货类型
|
|
|
+ * @property string $ORDER_AMOUNT 订单总价格(n)
|
|
|
+ * @property string $ORDER_AMOUNT_STANDARD 订单总价格($)
|
|
|
+ * @property string $PV 订货PV
|
|
|
+ * @property string $PAY_AMOUNT 支付价格
|
|
|
+ * @property string $PAY_AMOUNT_STANDARD 支付价格
|
|
|
+ * @property string $EXCHANGE_RATE 汇率
|
|
|
+ * @property string $PAY_PV 实付PV
|
|
|
+ * @property int $PAY_AT 支付时间
|
|
|
+ * @property string $PAY_TYPE 支付方式
|
|
|
+ * @property string $FREIGHT 运费
|
|
|
+ * @property string $PAY_FREIGHT 实付运费金额
|
|
|
+ * @property int $DELIVERY_STATUS 发货状态
|
|
|
+ * @property int $DELIVERY_PERIOD 发货期数
|
|
|
+ * @property int $DELIVERY_AT 发货时间
|
|
|
+ * @property string $EXPRESS_COMPANY 快递公司
|
|
|
+ * @property string $ORDER_TRACK_NO 快递单号
|
|
|
+ * @property int $EXPRESS_TYPE 发货方式
|
|
|
+ * @property string $FRONT_REMARK 前台备注
|
|
|
+ * @property string $REMARK 后台备注
|
|
|
+ * @property int $PERIOD_NUM 期数
|
|
|
+ * @property int $STATUS 订单状态
|
|
|
+ * @property string $CONSIGNEE 收货人
|
|
|
+ * @property string $MOBILE 收货人手机
|
|
|
+ * @property string $TEL 固定电话
|
|
|
+ * @property int $PROVINCE 省份名称
|
|
|
+ * @property int $CITY 城市名称
|
|
|
+ * @property int $COUNTY 县区
|
|
|
+ * @property string $LGA_NAME
|
|
|
+ * @property string $CITY_NAME
|
|
|
+ * @property string $ADDRESS 详细地址
|
|
|
+ * @property string $P_CALC_MONTH 分区日期
|
|
|
+ * @property int $CREATED_AT 订单创建时间
|
|
|
+ * @property string $CREATE_USER 订单创建人
|
|
|
+ * @property int $UPDATED_AT 修改时间
|
|
|
+ * @property string $UPDATER 修改人
|
|
|
+ * @property int $IS_DELETE 是否删除
|
|
|
+ * @property int $DELETED_AT 删除时间
|
|
|
+ * @property int $WAREHOUSE 发货仓
|
|
|
+ * @property string $EMAIL 邮箱
|
|
|
+ * @property string $NOTE 备注说明
|
|
|
+ */
|
|
|
+class Order extends \common\components\ActiveRecord
|
|
|
+{
|
|
|
+ /**
|
|
|
+ * {@inheritdoc}
|
|
|
+ */
|
|
|
+ public static function tableName()
|
|
|
+ {
|
|
|
+ return '{{%ORDER}}';
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * {@inheritdoc}
|
|
|
+ */
|
|
|
+ public function rules()
|
|
|
+ {
|
|
|
+ return [
|
|
|
+ [['USER_ID', 'ORDER_TYPE', 'CREATE_USER'/*, 'EMAIL'*/], 'required'],
|
|
|
+ [['ORDER_AMOUNT', 'PV', 'PAY_AMOUNT', 'PAY_PV', 'FREIGHT', 'PAY_FREIGHT', 'ORDER_AMOUNT_STANDARD', 'PAY_AMOUNT_STANDARD', 'EXCHANGE_RATE'], 'number'],
|
|
|
+ [['PAY_AT', 'DELIVERY_STATUS', 'DELIVERY_PERIOD', 'DELIVERY_AT', 'EXPRESS_TYPE', 'PERIOD_NUM', 'STATUS', 'PROVINCE', /*'CITY', 'COUNTY', */'CREATED_AT', 'UPDATED_AT', 'IS_DELETE', 'DELETED_AT'], 'integer'],
|
|
|
+ [['ID','SN', 'DEC_SN', 'USER_ID', 'ORDER_TRACK_NO','PAY_TYPE','DEC_USER_ID'], 'string', 'max' => 32],
|
|
|
+ [['USER_NAME', 'TEL', 'CREATE_USER', 'UPDATER', 'WAREHOUSE'], 'string', 'max' => 16],
|
|
|
+ [['ORDER_TYPE'], 'string', 'max' => 12],
|
|
|
+ [['EXPRESS_COMPANY'], 'string', 'max' => 128],
|
|
|
+ [['FRONT_REMARK'], 'string', 'max' => 1000],
|
|
|
+ [['REMARK', 'NOTE'], 'string', 'max' => 4000],
|
|
|
+ [['CONSIGNEE'], 'string', 'max' => 120],
|
|
|
+ [['MOBILE'], 'string', 'max' => 11],
|
|
|
+ [['ADDRESS'], 'string', 'max' => 255],
|
|
|
+ [['SN'], 'unique'],
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * {@inheritdoc}
|
|
|
+ */
|
|
|
+ public function attributeLabels()
|
|
|
+ {
|
|
|
+ return [
|
|
|
+ 'ID' => 'ID',
|
|
|
+ 'SN' => '订单号',
|
|
|
+ 'DEC_SN' => '报单编号',
|
|
|
+ 'USER_ID' => '用户ID',
|
|
|
+ 'USER_NAME' => '会员编号',
|
|
|
+ 'DEC_USER_ID' => '报单中心编号',
|
|
|
+ 'ORDER_TYPE' => '订货类型',
|
|
|
+ 'ORDER_AMOUNT' => '订单总价格',
|
|
|
+ 'PV' => '订货BV',
|
|
|
+ 'PAY_AMOUNT' => '支付价格',
|
|
|
+ 'PAY_PV' => '实付BV',
|
|
|
+ 'PAY_AT' => '支付时间',
|
|
|
+ 'PAY_TYPE' => '支付方式',
|
|
|
+ 'FREIGHT' => '运费',
|
|
|
+ 'PAY_FREIGHT' => '实付运费金额',
|
|
|
+ 'DELIVERY_STATUS' => '发货状态',
|
|
|
+ 'DELIVERY_PERIOD' => '发货期数',
|
|
|
+ 'DELIVERY_AT' => '发货时间',
|
|
|
+ 'EXPRESS_COMPANY' => '快递公司',
|
|
|
+ 'ORDER_TRACK_NO' => '快递单号',
|
|
|
+ 'EXPRESS_TYPE' => '发货方式',
|
|
|
+ 'FRONT_REMARK' => '前台备注',
|
|
|
+ 'REMARK' => '后台备注',
|
|
|
+ 'PERIOD_NUM' => '期数',
|
|
|
+ 'STATUS' => '订单状态',
|
|
|
+ 'CONSIGNEE' => '收货人',
|
|
|
+ 'MOBILE' => '收货人手机',
|
|
|
+ 'TEL' => '固定电话',
|
|
|
+ 'PROVINCE' => '省份名称',
|
|
|
+// 'CITY' => '城市名称',
|
|
|
+// 'COUNTY' => '县区',
|
|
|
+ 'ADDRESS' => '详细地址',
|
|
|
+ 'P_CALC_MONTH' => '分区日期',
|
|
|
+ 'CREATED_AT' => '订单创建时间',
|
|
|
+ 'CREATE_USER' => '订单创建人',
|
|
|
+ 'UPDATED_AT' => '修改时间',
|
|
|
+ 'UPDATER' => '修改人',
|
|
|
+ 'IS_DELETE' => '是否删除',
|
|
|
+ 'DELETED_AT' => '删除时间',
|
|
|
+ 'WAREHOUSE' => '发货仓',
|
|
|
+ 'EMAIL' => 'Email'
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ /*
|
|
|
+ * 通过 期数和用户ID
|
|
|
+ * 查询当月订单
|
|
|
+ */
|
|
|
+ public static function fetchOrderCurrentMonth($periodNum, $userId){
|
|
|
+ $currentPeriod = Period::findOneAsArray("PERIOD_NUM = :PERIOD_NUM", [':PERIOD_NUM' => $periodNum]);
|
|
|
+
|
|
|
+ switch ($currentPeriod['CALC_WEEKEND']){
|
|
|
+ case 1:
|
|
|
+ $periods = [$periodNum];
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ $periods = [$periodNum-1, $periodNum];
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ $periodsStr = implode(",", $periods);
|
|
|
+ $orders = Order::find()->where("USER_ID = :USER_ID AND PERIOD_NUM IN ($periodsStr)", [':USER_ID' => $userId]);
|
|
|
+ return $orders;
|
|
|
+ }
|
|
|
+ /*
|
|
|
+ * 通过 期数和用户ID
|
|
|
+ * 查询当期订单
|
|
|
+ */
|
|
|
+ public static function fetchOrderCurrentPeriod($periodNum, $userId){
|
|
|
+ $orders = Order::find()->where("USER_ID = :USER_ID AND PERIOD_NUM = :PERIOD_NUM", [':USER_ID' => $userId,':PERIOD_NUM' => $periodNum]);
|
|
|
+ return $orders;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function getRecName()
|
|
|
+ {
|
|
|
+ return $this->hasOne(UserInfo::class, ['USER_ID' => 'USER_ID']);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function getUserByUserId()
|
|
|
+ {
|
|
|
+ return $this->hasOne(User::class, ['ID' => 'USER_ID']);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function getOrderGoods()
|
|
|
+ {
|
|
|
+ return $this->hasMany(OrderGoods::class, ['SN' => 'ORDER_SN']);
|
|
|
+ }
|
|
|
+}
|