public function actionIndex()
 {
     $query = (new Query())->from(CommodityOrderDetail::tableName())->where('1=1');
     if ($this->user->rid == 4) {
         $query->andWhere('uid = :uid', [':uid' => $this->user->id]);
     }
     $query->orderBy('recommend_time desc');
     $pages = new Pagination(['totalCount' => $query->count(), 'pageSize' => '20']);
     $query->limit($pages->limit)->offset($pages->offset);
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => false]);
     return $this->render('index', ['dataProvider' => $dataProvider, 'pages' => $pages]);
 }
Beispiel #2
0
 public function validateEntrance($attribute, $params)
 {
     echo 'validateEntrance';
     $commodityOrderDetail = (new Query())->select(CommodityOrderDetail::tableName() . '.*')->from(CommodityOrder::tableName())->leftJoin(CommodityOrderDetail::tableName(), CommodityOrderDetail::tableName() . '.coid = ' . CommodityOrder::tableName() . '.id')->where('commodity_id = :commodity_id and entrance = :entrance', [':commodity_id' => $this->commodity, ':entrance' => $this->{$attribute}])->one();
     if (is_null($commodityOrderDetail)) {
         return $this->addError($attribute, '浏览入口不存在');
     }
 }
Beispiel #3
0
    </div>
<style>
    .gv-table{text-align:center;}
    .gv-table th{text-align:center;}
</style>
<?php 
echo GridView::widget(['dataProvider' => $dataProvider, 'summary' => false, 'emptyText' => false, 'tableOptions' => ['class' => 'table table-striped table-bordered gv-table'], 'columns' => [['attribute' => '买家', 'value' => function ($data) {
    return $data['buyer'];
}], ['attribute' => '店铺', 'value' => function ($data) {
    return $data['shop'];
}], ['attribute' => 'ID', 'value' => function ($data) {
    return $data['commodity'];
}], ['attribute' => '订单号', 'value' => function ($data) {
    return $data['order_no'];
}], ['class' => 'yii\\grid\\Column', 'header' => '金额', 'content' => function ($data) {
    $commodityOrderDetail = (new Query())->select(CommodityOrderDetail::tableName() . '.*')->from(CommodityOrder::tableName())->leftJoin(CommodityOrderDetail::tableName(), CommodityOrderDetail::tableName() . '.coid = ' . CommodityOrder::tableName() . '.id')->where('commodity_id = :commodity_id and entrance = :entrance', [':commodity_id' => $data['commodity'], ':entrance' => $data['entrance']])->one();
    $style = '';
    if (!is_null($commodityOrderDetail)) {
        if (floatval($commodityOrderDetail['price']) != floatval($data['money'])) {
            $style = 'style="color:red;"';
        }
    }
    return '<span ' . $style . '>' . $data['money'] . '</span>';
}], ['attribute' => '下单时间', 'value' => function ($data) {
    return $data['order_time'];
}], ['attribute' => '收货地址', 'value' => function ($data) {
    if (empty($data['address'])) {
        $data['address'] = '';
    }
    return $data['address'];
}], ['class' => 'yii\\grid\\Column', 'header' => '审核状态', 'content' => function ($data) {
Beispiel #4
0
 public function actionUpdate($id)
 {
     $model = Order::findOne($id);
     if (empty($model)) {
         throw new HttpException(404, '订单不存在!');
     }
     if ($model->uid != 0 && $model->uid != $model->uid && $this->user->rid == 4) {
         throw new MethodNotAllowedHttpException('权限不够,不能修改!');
     }
     if ($model->statu == Order::$_AUDIT_ACCESS) {
         throw new MethodNotAllowedHttpException('已审核订单,不能修改!');
     }
     if ($model->load(Yii::$app->request->post())) {
         $model->scenario = 'update';
         // 获取用户输入的数据,验证并保存
         $model->statu = Order::$_AUDIT_PEND;
         $commodityOrderDetail = (new Query())->select(CommodityOrderDetail::tableName() . '.*')->from(CommodityOrder::tableName())->leftJoin(CommodityOrderDetail::tableName(), CommodityOrderDetail::tableName() . '.coid = ' . CommodityOrder::tableName() . '.id')->where('commodity_id = :commodity_id and entrance = :entrance', [':commodity_id' => $model->commodity, ':entrance' => $model->entrance])->one();
         $model->fee = $commodityOrderDetail['fee'];
         if ($model->save()) {
             $this->redirect('/order/index');
         }
     }
     echo $model['commodity'];
     echo $model->shop;
     return $this->render('update', array('model' => $model));
 }
 public function actionAudit()
 {
     $model = new CommoditySearchForm();
     $model->load(Yii::$app->request->post());
     $query = (new Query())->select(CommodityOrder::tableName() . '.*')->from(CommodityOrder::tableName())->leftJoin(CommodityOrderDetail::tableName(), CommodityOrderDetail::tableName() . '.coid = ' . CommodityOrder::tableName() . '.id')->where('1=1');
     if (!empty($model->shop)) {
         $query->andWhere('shop=:shop', [':shop' => $model->shop]);
     }
     if (!empty($model->commodity)) {
         $query->andWhere('commodity_id like :commodity_id', [':commodity_id' => '%' . $model->commodity . '%']);
     }
     if (!empty($model->sku)) {
         $query->andWhere('sku=:sku', [':sku' => $model->sku]);
     }
     if (!empty($model->btime)) {
         $query->andWhere(CommodityOrder::tableName() . '.create_time >= :create_time', [':create_time' => $model->btime]);
     }
     if (!empty($model->etime)) {
         $query->andWhere(CommodityOrder::tableName() . '.create_time <= :create_time', [':create_time' => $model->etime]);
     }
     if (!empty($model->statu)) {
         $query->andWhere('statu = :statu' . [':statu' => $model->statu]);
     }
     $query->orderBy(CommodityOrder::tableName() . '.create_time desc');
     $query->groupBy(CommodityOrder::tableName() . '.id');
     $pages = new Pagination(['totalCount' => $query->count(), 'pageSize' => '20']);
     $query->limit($pages->limit)->offset($pages->offset);
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => false]);
     $audit_json = array();
     $ops = array();
     $enarray = ['value' => '', 'text' => '全部'];
     array_push($ops, $enarray);
     foreach (CommodityOrder::$Audits as $key => $value) {
         $enarray = ['value' => $key, 'text' => $value];
         array_push($audit_json, $enarray);
         array_push($ops, $enarray);
     }
     $audit_json = json_encode($audit_json);
     return $this->render('audit', ['model' => $model, 'dataProvider' => $dataProvider, 'pages' => $pages, 'audit_json' => $audit_json, 'ops' => $ops]);
 }