| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- <?php
- namespace addons\Happiness\common\models;
- use common\models\common\PaymentTrade;
- use common\models\common\PaymentTradeOrder;
- use common\models\goods\Goods;
- use common\models\order\Order;
- use common\models\order\OrderDetail;
- use common\models\user\User;
- use Yii;
- /**
- * This is the model class for table "qimall_addons_happiness_order_refund".
- *
- * @property int $id id
- * @property int $mall_id 商城id
- * @property int $store_id 门店id
- * @property int $refund_id 售后id
- * @property int $order_detail_id 订单详情id
- * @property int $order_id 订单id
- * @property int|null $created_at 创建时间
- * @property int|null $updated_at 修改时间
- */
- class HappinessOrderRefund extends \common\models\base\BaseActiveRecord
- {
- /**
- * {@inheritdoc}
- */
- public static function tableName()
- {
- return 'qimall_addons_happiness_order_refund';
- }
- /**
- * {@inheritdoc}
- */
- public function rules()
- {
- return [
- // [['mall_id', 'store_id', 'refund_id', 'order_detail_id', 'order_id'], 'required'],
- [['mall_id', 'store_id', 'refund_id', 'order_detail_id', 'order_id', 'created_at', 'updated_at', 'user_id'], 'integer'],
- ];
- }
- /**
- * {@inheritdoc}
- */
- public function attributeLabels()
- {
- return [
- 'id' => 'ID',
- 'mall_id' => 'Mall ID',
- 'store_id' => 'Store ID',
- 'refund_id' => 'Refund ID',
- 'order_detail_id' => 'Order Detail ID',
- 'order_id' => 'Order ID',
- 'created_at' => 'Created At',
- 'updated_at' => 'Updated At',
- ];
- }
- public function getOrderDetail()
- {
- return $this->hasOne(OrderDetail::class, ['id' => 'order_detail_id']);
- }
- public function getBase_user()
- {
- return $this->hasOne(User::class, ['id' => 'user_id'])->select(['id', 'username','nickname', 'avatar_url','mobile']);
- }
- public function getOrder()
- {
- return $this->hasOne(Order::class, ['id' => 'order_id'])->select(['id', 'store_id', 'mch_id', 'order_no','out_trade_no','payment_type','mobile','receiver_name','region_name','address','order_status', 'marketing_type', 'order_source','extra_info','shipping_money']);
- }
- public static function setData(array $params)
- {
- try {
- if (!empty($params['mall_id']) && !empty($params['id'])) {
- $model = self::findOne(['mall_id' => $params['mall_id'], 'id' => $params['id']]);
- if (empty($model)) {
- $model = new self();
- $model->loadDefaultValues();
- }
- } else {
- $model = new self();
- $model->loadDefaultValues();
- }
- if (!$model->load($params, '')) throw new \Exception($model->getErrorMessage());
- if (!$model->save()) throw new \Exception($model->getErrorMessage());
- return $model;
- } catch (\Exception $e) {
- self::$static_error = $e->getMessage();
- return false;
- }
- }
- public static function searchByKeyword($mall_id, $type, $keyword)
- {
- switch ($type) {
- case 'mobile':
- $user = User::getOne([['mall_id' => $mall_id, 'mobile' => $keyword]], true, [], false, 'id');
- $data = ['=', 'o.user_id', $user['id']];
- break;
- case 'goods_name':
- $goodsId = Goods::find()->select('id')->where(['mall_id' => $mall_id])->andWhere(['like', 'goods_name', $keyword])->asArray()->column();
- if ($goodsId) {
- $orderDetailIds = OrderDetail::find()->select('id')->where(['mall_id' => $mall_id])->andWhere(['in', 'goods_id', $goodsId])->asArray()->column();
- }
- $data = empty($orderDetailIds) ? ['=', 'o.order_detail_id',""] : ['in', 'o.order_detail_id', $orderDetailIds];
- break;
- // 交易单号查询
- case 'trade_no':
- $ids = PaymentTrade::find()->where(['mall_id' => $mall_id, 'out_trade_no' => $keyword])->select('id')->column();
- $order_nos = PaymentTradeOrder::find()->where(['trade_id' => $ids])->select('order_no')->column();
- $order_ids = Order::find()->where(['order_no' => $order_nos])->select('id')->column();
- $data = ['o.order_id' => $order_ids];
- break;
- }
- return $data;
- }
- }
|