Beispiel #1
0
 /**
  * @return \Illuminate\Routing\Route|null|string
  */
 public function ingnoreId()
 {
     $id = $this->route('commodity');
     $name = $this->input('name');
     $metric_id = $this->input('metric_id');
     return Commodity::where(compact('id', 'name', 'metric_id'))->exists() ? $id : '';
 }
Beispiel #2
0
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     $receipt = Receipt::find($id);
     $suppliers = Supplier::all()->lists('name', 'id');
     $commodities = Commodity::all()->lists('name', 'id');
     return view('receipt.edit')->with('receipt', $receipt)->with('commodities', $commodities)->with('suppliers', $suppliers);
 }
 public function yiyuanShow($id)
 {
     //		 $jssdk = new Jssdk(env('WX_APPID'), env('WX_SECRET'));
     //		 $signPackage = $jssdk->getSignPackage();
     $item = Commodity::with(['images', 'slideImages'])->find($id);
     return view('shop.yiyuan-detail')->with(['item' => $item->toArray()]);
 }
 public static function commodity()
 {
     $result = [];
     foreach (Commodity::all() as $commodity) {
         $result[] = ['id' => $commodity->id, 'name' => $commodity->name, 'count' => self::getCommoditySoldSum($commodity)];
     }
     return $result;
 }
 /**
  * Retrieve the details for a specific commodity
  * @param integer $id
  * @return array
  */
 public function actionView($id = NULL)
 {
     if ($id === NULL) {
         throw new HttpException(400, 'Missing ID parameter');
     }
     $query = Commodity::find()->where(['id' => $id]);
     return ResponseBuilder::build($query, 'commodities+stations', Yii::$app->request->get('sort', 'name'), Yii::$app->request->get('order', 'asc'));
 }
 private function getAllSection()
 {
     $commodity = Commodity::find()->where(['uid' => Yii::$app->user->id])->all();
     $commodityArray = array();
     foreach ($commodity as $item) {
         $name = $item->getAttribute('name');
         $commodityArray[$name] = $name;
     }
     return $commodityArray;
 }
 public static function getStatisticsByCustomerID($customerID)
 {
     $details = CustomerCommodityStatistics::where('customer_id', $customerID)->get();
     if ($details) {
         $details = $details->toArray();
     } else {
         $details = [];
     }
     foreach ($details as &$detail) {
         $detail['commodity'] = Commodity::withTrashed()->find($detail['commodity_id'])->toArray();
     }
     return $details;
 }
Beispiel #8
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Commodity::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'status' => $this->status, 'uid' => Yii::$app->user->id]);
     $query->andFilterWhere(['like', 'name', $this->name]);
     return $dataProvider;
 }
Beispiel #9
0
 public function yiyuanIndex()
 {
     $customer = \Helper::getCustomer();
     // \Log::info('Location-yiyuan---'.$customer  );
     //      if ($customer->yikangQuestionnaire()->first() == null) {
     // // \Log::info('yiyuan---不存在用户' );
     //          return redirect('/questionnaire2');
     //      }
     //      if ($customer->hasPurchesedOneSale()) {
     // // \Log::info('yiyuan---已购买过' );
     //          return '<a style="font-size: 50px;display:block;width: 100%;margin: 20% auto;text-align: center;">每人仅能参加一次活动!</a>';
     //      }
     // \Log::info('yiyuan---进入一元专区' );
     //		 $jssdk = new Jssdk(env('WX_APPID'), env('WX_SECRET'));
     //		 $signPackage = $jssdk->getSignPackage();
     return view('shop.yiyuan-index')->with(['items' => Commodity::where('special_sale', '=', '1元专区')->with('images')->orderBy('priority', 'desc')->get()]);
 }
 public function testAddItem()
 {
     $item = \App\Models\Commodity::find(1);
     $item2 = \App\Models\Commodity::find(2);
     Cart::addItem($item);
     $this->assertEquals(Cart::getItems()->count(), 1);
     $this->assertEquals(Cart::getTotalCost(), $item->getPrice());
     Cart::removeItemsById($item->getIdentifer());
     $this->assertEquals(Cart::getItems()->count(), 0);
     $this->assertEquals(Cart::getTotalCost(), 0);
     Cart::addItem($item);
     Cart::addItem($item2);
     Cart::addItem($item);
     $this->assertEquals(Cart::getItems()->count(), 2);
     $this->assertEquals(Cart::getTotalCost(), $item->getPrice() * 2 + $item2->getPrice());
     Cart::removeItems(['name' => $item->getName()]);
     $this->assertEquals(Cart::getItems()->count(), 1);
     $this->assertEquals(Cart::getTotalCost(), $item2->getPrice());
 }
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getCommodities()
 {
     return $this->hasMany(Commodity::className(), ['category_id' => 'id']);
 }
 public function actionCreate($cid)
 {
     $commodity = Commodity::findOne($cid);
     if (empty($commodity)) {
         throw new HttpException(404, '商品不存在!');
     }
     if ($commodity->statu != Commodity::$_AUDIT_ACCESS) {
         throw new HttpException(404, '商品未审核通过!');
     }
     $model = new CommodityOrder();
     if ($model->load(Yii::$app->request->post())) {
         $model->create_time = date('Y-m-d H:i:s');
         $model->uid = $this->user->id;
         $model->statu = CommodityOrder::$_AUDIT_PEND;
         $model->op_statu = CommodityOrder::$_OP_NOT;
         $model->platform_id = $commodity->platform_id;
         if ($model->save()) {
             $commodityOrderDetails = Yii::$app->request->post('CommodityOrderDetail');
             $size = count($commodityOrderDetails['keyword']);
             $corpus = 0;
             $total_fee = 0;
             $budget_num = 0;
             for ($i = 0; $i < $size; $i++) {
                 $commodityOrderDetail = new CommodityOrderDetail();
                 $commodityOrderDetail->coid = $model->id;
                 $commodityOrderDetail->keyword = $commodityOrderDetails['keyword'][$i];
                 $commodityOrderDetail->eid = $commodityOrderDetails['eid'][$i];
                 $entrance = Entrance::findOne($commodityOrderDetail->eid);
                 if (!is_null($entrance)) {
                     $commodityOrderDetail->entrance = $entrance->name;
                 }
                 $commodityOrderDetail->condition = $commodityOrderDetails['condition'][$i];
                 $commodityOrderDetail->num = $commodityOrderDetails['num'][$i];
                 $commodityOrderDetail->price = $commodityOrderDetails['price'][$i];
                 $commodityOrderDetail->fee = $commodityOrderDetails['fee'][$i];
                 $commodityOrderDetail->save();
                 $num = intval($commodityOrderDetail->num);
                 $price = floatval($commodityOrderDetail->price);
                 $fee = floatval($commodityOrderDetail->fee);
                 $total_price = $num * $price;
                 $sum_fee = $num * $fee;
                 $corpus += $total_price;
                 $total_fee += $sum_fee;
                 $budget_num += $num;
             }
             $statistics = new Statistics();
             $statistics->coid = $model->id;
             $statistics->shop = $model->shop;
             $statistics->platform = $model->platform;
             $statistics->commodity = $model->commodity_id;
             $statistics->corpus = $corpus;
             $statistics->total_fee = $total_fee;
             $statistics->real_income = 0;
             $statistics->fact_fee = 0;
             $statistics->total_num = 0;
             $statistics->total_income = 0;
             $statistics->budget_num = $budget_num;
             $statistics->handle_time = $model->handle_time;
             $statistics->uid = $model->uid;
             $statistics->save();
             echo "\t<meta charset='utf-8'>";
             echo "<script>alert('提交成功!')</script>";
             echo "<script>history.go(-1);</script>";
             return;
         }
     }
     $model->cid = $cid;
     $model->shop = $commodity->shop;
     $model->commodity_id = $commodity->commodity_id;
     $model->sku = $commodity->sku;
     $model->img = $commodity->img;
     $model->rule = $commodity->rule;
     $model->buyer_rule = $commodity->buyer_rule;
     $model->remark = $commodity->remark;
     $model->platform = $commodity->platform;
     $model->credit = $commodity->credit;
     $model->trade_num = $commodity->trade_num;
     $dataProvider = new ActiveDataProvider(['query' => CommodityOrderTemplet::find()->where('cid = :cid', [':cid' => $cid])->orderBy('keyword'), 'pagination' => false]);
     return $this->render('create', array('model' => $model, 'commodity' => $commodity, 'dataProvider' => $dataProvider));
 }
 /**
  * Finds the Commodity model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return Commodity the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = Commodity::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
Beispiel #14
0
 public function category()
 {
     return view('shop.category')->with(['items' => Commodity::all()]);
 }
Beispiel #15
0
 public function validateCommodity($attribute, $params)
 {
     echo 'validateCommodity';
     $commodity = Commodity::find()->where('commodity_id = :commodity_id', [':commodity_id' => $this->{$attribute}])->one();
     if (is_null($commodity)) {
         return $this->addError($attribute, '商品不存在');
     }
     if ($this->scenario == 'create') {
         $orderCount = (new Query())->from(Order::tableName())->where('commodity = :commodity', [':commodity' => $this->{$attribute}])->count();
         $coCount = (new Query())->select(CommodityOrderDetail::tableName() . '.num as num')->from(CommodityOrder::tableName())->leftJoin(CommodityOrderDetail::tableName(), CommodityOrderDetail::tableName() . '.coid = ' . CommodityOrder::tableName() . '.id')->where('commodity_id = :commodity_id', [':commodity_id' => $this->{$attribute}])->sum('num');
         if ($orderCount + 1 == $coCount) {
             $sql = "update " . CommodityOrder::tableName() . " set op_statu = " . CommodityOrder::$_OP_FINISH . " where commodity_id = :commodity_id";
             $db = Yii::$app->db;
             $command = $db->createCommand($sql);
             $command->bindParam(":commodity_id", $this->{$attribute}, PDO::PARAM_STR);
             $command->execute();
         }
         if ($orderCount >= $coCount) {
             return $this->addError($attribute, '该商品订单已满');
         }
     }
 }
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getCommodity()
 {
     return $this->hasOne(Commodity::className(), ['id' => 'commodity_id']);
 }
 public function actionAuditView($id)
 {
     $model = Commodity::findOne($id);
     $commodityOrderTemplet = new CommodityOrderTemplet();
     if ($commodityOrderTemplet->load(Yii::$app->request->post())) {
         $commodityOrderTemplet->cid = $model->id;
         $entrance = Entrance::findOne($commodityOrderTemplet->eid);
         if (!empty($entrance)) {
             $commodityOrderTemplet->entrance = $entrance->name;
         }
         $commodityOrderTemplet->save();
         //$commodityOrderTemplet->dirtyAttributes;
     }
     $dataProvider = new ActiveDataProvider(['query' => CommodityOrderTemplet::find()->where('cid = :cid', [':cid' => $id])->orderBy('keyword'), 'pagination' => false]);
     $entrances = Entrance::find()->all();
     $entrances_json = array();
     foreach ($entrances as $entrance) {
         $enarray = ['value' => $entrance->id, 'text' => $entrance->name];
         array_push($entrances_json, $enarray);
     }
     $entrances_json = json_encode($entrances_json);
     return $this->render('audit-view', array('model' => $model, 'dataProvider' => $dataProvider, 'commodityOrderTemplet' => $commodityOrderTemplet, 'entrances' => $entrances, 'entrances_json' => $entrances_json));
 }
Beispiel #18
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function delete($id)
 {
     //Soft delete the item
     $commodity = Commodity::find($id);
     $commodity->delete();
     // redirect
     return redirect()->to('commodity.index')->with('message', trans('messages.commodity-succesfully-deleted'));
 }
Beispiel #19
0
 /**
  * @param array $items
  * @return $this
  */
 public function addCommodities(array $items)
 {
     foreach ($items as $item) {
         $commodity = Commodity::findOrFail($item['id']);
         $this->addCommodity($commodity, $item['num']);
     }
     return $this;
 }
 /**
  * Import station commodities information
  * @param array $station
  * @param string $class
  * @param array $data
  * @return boolean
  */
 private function importStationCommodity($station, $class, $model, $data)
 {
     Yii::$app->db->createCommand('DELETE FROM station_commodities WHERE station_id = :station_id AND type=:type')->bindValue(':station_id', $station['id'])->bindValue(':type', $class)->execute();
     $i = 0;
     foreach ($data as $d) {
         if ($class === 'listings') {
             $commodity = Commodity::find()->where(['id' => $d['commodity_id']])->one();
         } else {
             $commodity = Commodity::find()->where(['name' => $d])->one();
         }
         if ($commodity !== NULL) {
             $model->attributes = ['station_id' => $station['id'], 'commodity_id' => $commodity->id, 'type' => (string) $class, 'supply' => isset($d['supply']) ? $d['supply'] : null, 'buy_price' => isset($d['buy_price']) ? $d['buy_price'] : null, 'sell_price' => isset($d['sell_price']) ? $d['sell_price'] : null, 'demand' => isset($d['demand']) ? $d['demand'] : null];
             if ($model->save()) {
                 $i++;
             }
         } else {
             Yii::warning("{$station['id']}::{$station['name']} - Couldn't find commodity {$commodity}", __METHOD__);
         }
     }
     $inflected = \yii\helpers\Inflector::humanize($class);
     $this->stdOut("    - {$inflected} :: {$i}\n");
 }