You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
simple-yewu/frontend/controllers/StrategyController.php

131 lines
3.9 KiB

<?php
namespace frontend\controllers;
use common\libs\MyLib;
use common\models\GiftT;
use common\models\GiftTypeT;
use common\models\GroupT;
use common\models\StrategyT;
use common\models\UserT;
use Yii;
use yii\web\Response;
class StrategyController extends BaseController
{
public function actionIndex()
{
$request = Yii::$app->request;
$name = $request->get('name');
$query = StrategyT::find();
$items = $query->all();
return $this->render('index',[
'items' => $items
]);
}
public function actionEdit()
{
$request = Yii::$app->request;
$id = $request->get('id',0);
if($id > 0) {
$info = StrategyT::findOne(['id'=>$id]);
} else {
$info = new StrategyT();
$info->sel_count = 1;
$info->min_money = 0;
$info->max_money = 0;
}
$group_items = GroupT::getTree();
$gift_type_items = GiftTypeT::find()->all();
$sel_gift_items = $info->gifts;
$gift_ids = array();
foreach($sel_gift_items as $item) {
$gift_ids[] = $item->id;
}
return $this->render('edit',[
'info' => $info,
'group_items' => $group_items,
'gift_type_items' => $gift_type_items,
'gift_ids' => $gift_ids
]);
}
public function actionSave()
{
Yii::$app->response->format = Response::FORMAT_JSON;
$request = Yii::$app->request;
$result = array();
$result['success'] = false;
$result['msg'] = '保存失败';
if($request->isPost) {
$id = (int)$request->post('id',0);
$name = $request->post('name');
$remark = $request->post('remark');
$min_money = (float)$request->post('min_money');
$max_money = (float)$request->post('max_money');
$sel_count = (int)$request->post('sel_count');
$group_id = (int)$request->post('group_id');
$gift_ids = $request->post('gift_ids',array());
$tran = StrategyT::getDb()->beginTransaction();
try {
$strategy_info = StrategyT::findOne(['id'=>$id]);
if(!$strategy_info) {
$strategy_info = new StrategyT();
$strategy_info->user_id = $this->my->id;
}
$strategy_info->name = $name;
$strategy_info->remark = $remark;
$strategy_info->min_money = $min_money;
$strategy_info->max_money = $max_money;
$strategy_info->sel_count = $sel_count;
$strategy_info->group_id = $group_id;
$strategy_info->save();
$strategy_info->unlinkAll("gifts",true);
foreach($gift_ids as $gift_id) {
$gift_info = GiftT::findOne(['id'=>$gift_id]);
$strategy_info->link('gifts',$gift_info);
}
$result['success'] = true;
$result['msg'] = '保存成功';
$tran->commit();
} catch(\Exception $e) {
$tran->rollBack();
echo $e->getMessage();
}
}
return $result;
}
public function actionDelete()
{
Yii::$app->response->format = Response::FORMAT_JSON;
$request = Yii::$app->request;
$result = array();
$result['success'] = false;
$result['msg'] = '删除失败';
if($request->isPost) {
$id = $request->post('id',0);
if($id > 0) {
$row = StrategyT::findOne(['id'=>$id]);
$row->unlinkAll('gifts',true);
$row->delete();
$result['success'] = true;
$result['msg'] = '删除成功';
}
}
return $result;
}
}