public function actionActivity_edit()
 {
     $this->setauth();
     //检查有无权限
     $p_db = Yii::app()->p_db;
     $id = $_GET['id'];
     $activity = VcosActivity::model()->findByPk($id);
     if ($_POST) {
         $name = isset($_POST['name']) ? $_POST['name'] : '';
         $desc = isset($_POST['desc']) ? $_POST['desc'] : '';
         $time = explode(" - ", $_POST['time']);
         $s_time = $time[0] . ' ' . $_POST['stime'];
         $e_time = $time[1] . ' ' . $_POST['etime'];
         $stime = date('Y/m/d H:i:s', strtotime($s_time));
         $etime = date('Y/m/d H:i:s', strtotime($e_time));
         $photo = '';
         if ($_FILES['photo']['error'] != 4) {
             $result = Helper::upload_file('photo', Yii::app()->params['img_save_url'] . 'activity_images/' . Yii::app()->params['month'], 'image', 3);
             $photo = $result['filename'];
         }
         $photo_url = 'activity_images/' . Yii::app()->params['month'] . '/' . $photo;
         $state = isset($_POST['state']) ? $_POST['state'] : '0';
         $show = isset($_POST['show']) ? $_POST['show'] : '0';
         $show_head = isset($_POST['show_head']) ? $_POST['show_head'] : '0';
         $create_times = date("Y/m/d H:i:s", time());
         $cruise_id = Yii::app()->params['cruise_id'];
         $this_user_id = Yii::app()->user->id;
         $this_user_name = Yii::app()->user->name;
         //事务处理
         $transaction = $p_db->beginTransaction();
         try {
             $activity->activity_name = $name;
             $activity->activity_desc = $desc;
             $activity->start_time = $stime;
             $activity->end_time = $etime;
             $activity->status = $state;
             $activity->created = $create_times;
             $activity->creator = $this_user_name;
             $activity->creator_id = $this_user_id;
             $activity->is_show_category = $show;
             $activity->is_show_head = $show_head;
             $activity->cruise_id = $cruise_id;
             if ($photo) {
                 $activity->activity_img = $photo_url;
             }
             $activity->save();
             $transaction->commit();
             Helper::show_message(yii::t('vcos', '修改成功。'), Yii::app()->createUrl("Activity/activity_list"));
         } catch (Exception $e) {
             $transaction->rollBack();
             Helper::show_message(yii::t('vcos', '修改失败。'));
         }
     }
     $this->render('activity_edit', array('activity' => $activity));
 }
Example #2
0
 /**
  * 活动编辑*
  */
 public function actionActivity_edit()
 {
     $this->setauth();
     // 检查有无权限
     $p_db = Yii::app()->p_db;
     $id = $_GET['id'];
     $activity = VcosActivity::model()->findByPk($id);
     if ($_POST) {
         $name = isset($_POST['name']) ? $_POST['name'] : '';
         $desc = isset($_POST['desc']) ? $_POST['desc'] : '';
         $time = explode(" - ", $_POST['time']);
         $s_time = $time[0] . ' ' . $_POST['stime'];
         $e_time = $time[1] . ' ' . $_POST['etime'];
         $stime = date('Y-m-d H:i:s', strtotime($s_time));
         $etime = date('Y-m-d H:i:s', strtotime($e_time));
         $photo = '';
         if ($_FILES['photo']['error'] != 4) {
             $result = Helper::upload_file('photo', Yii::app()->params['img_save_url'] . 'activity_images/' . Yii::app()->params['month'], 'image', 3);
             $photo = $result['filename'];
         }
         $photo_url = 'activity_images/' . Yii::app()->params['month'] . '/' . $photo;
         $state = isset($_POST['state']) ? $_POST['state'] : '0';
         // $show = isset($_POST['show'])?$_POST['show']:'0';
         $show_head = isset($_POST['show_head']) ? $_POST['show_head'] : '0';
         $create_times = date("Y-m-d H:i:s", time());
         $cruise_id = Yii::app()->params['cruise_id'];
         $this_user_id = Yii::app()->user->id;
         $this_user_name = Yii::app()->user->name;
         // 事务处理
         $transaction = $p_db->beginTransaction();
         try {
             $activity->activity_name = $name;
             $activity->activity_desc = $desc;
             $activity->start_time = $stime;
             $activity->end_time = $etime;
             $activity->status = $state;
             $activity->created = $create_times;
             $activity->creator = $this_user_name;
             $activity->creator_id = $this_user_id;
             // $activity->is_show_category = $show;
             $activity->is_show_head = $show_head;
             $activity->cruise_id = $cruise_id;
             if ($photo) {
                 $activity->activity_img = $photo_url;
             }
             $activity->save();
             // 修改活动商品是否过期
             if ($state == 0) {
                 $sql = "UPDATE `vcos_activity_product` SET is_overdue=1 WHERE activity_id='{$id}' AND product_type=6";
                 $p_db->createCommand($sql)->execute();
                 $sql = "UPDATE `vcos_activity_product` SET is_overdue=1 WHERE product_id='{$id}' AND product_type=4";
                 $p_db->createCommand($sql)->execute();
             } else {
                 if ($stime <= $create_times && $etime >= $create_times) {
                     $sql = "UPDATE `vcos_activity_product` SET is_overdue=0 WHERE product_id='{$id}' AND product_type=4";
                     $p_db->createCommand($sql)->execute();
                     $sql = "SELECT product_id,start_show_time,end_show_time FROM `vcos_activity_product` WHERE activity_id='{$id}' AND product_type=6";
                     $data = Yii::app()->p_db->createCommand($sql)->queryAll();
                     if ($data) {
                         foreach ($data as $row) {
                             $sql = "SELECT sale_start_time s_time,sale_end_time e_time,status FROM `vcos_product` WHERE product_id='{$row['product_id']}'";
                             $this_data = Yii::app()->p_db->createCommand($sql)->queryRow();
                             if ($this_data['status'] == 0) {
                                 $flag = 1;
                             } else {
                                 if ($row['start_show_time'] <= $create_times && $row['end_show_time'] >= $create_times) {
                                     if ($this_data['s_time'] <= $create_times && $this_data['e_time'] >= $create_times) {
                                         if ($row['start_show_time'] >= $this_data['s_time'] && $row['end_show_time'] <= $this_data['e_time']) {
                                             $flag = 0;
                                         } else {
                                             $flag = 1;
                                         }
                                     } else {
                                         $flag = 1;
                                     }
                                 } else {
                                     $flag = 1;
                                 }
                             }
                             if ($flag == 1) {
                                 $sql = "UPDATE `vcos_activity_product` SET is_overdue=1 WHERE product_id='{$row['product_id']}' AND activity_id='{$id}' AND product_type=6";
                             } else {
                                 if ($flag == 0) {
                                     $sql = "UPDATE `vcos_activity_product` SET is_overdue=0 WHERE product_id='{$row['product_id']}' AND activity_id='{$id}' AND product_type=6";
                                 }
                             }
                             $p_db->createCommand($sql)->execute();
                         }
                     }
                 } else {
                     $sql = "UPDATE `vcos_activity_product` SET is_overdue=1 WHERE product_id='{$id}' AND product_type=4";
                     $p_db->createCommand($sql)->execute();
                 }
             }
             $transaction->commit();
             Helper::show_message(yii::t('vcos', '修改成功。'), Yii::app()->createUrl("Activity/activity_list"));
         } catch (Exception $e) {
             $transaction->rollBack();
             Helper::show_message(yii::t('vcos', '修改失败。'));
         }
     }
     $this->render('activity_edit', array('activity' => $activity));
 }