Browse Source

comment

master
林一峰 6 years ago
parent
commit
253ec47ab7
  1. 22
      app/Http/Controllers/Api/CommentController.php
  2. 103
      app/Http/Controllers/Api/UserBonusController.php
  3. 82
      app/Http/Controllers/Api/VerifyCodeController.php
  4. 19
      app/Http/Logic/CommentLogic.php
  5. 59
      app/Http/Logic/UserBonusLogic.php
  6. 61
      app/Http/Model/Comment.php
  7. 128
      app/Http/Model/UserBonus.php
  8. 7
      app/Http/Requests/CommentRequest.php
  9. 97
      app/Http/Requests/UserBonusRequest.php

22
app/Http/Controllers/Api/CommentController.php

@ -27,10 +27,11 @@ class CommentController extends CommonController
$limit = $request->input('limit', 10);
$offset = $request->input('offset', 0);
$where['user_id'] = Token::$uid;
$where['comment_type'] = $request->input('comment_type', 0); //0商品评价,1文章评价
$where['comment_type'] = 0;if($request->input('comment_type')!=null){$where['comment_type'] = $request->input('comment_type');}; //0商品评价,1文章评价
if($request->input('comment_rank', '') != ''){$where['comment_rank'] = $request->input('comment_rank');}
if($request->input('id_value', '') != ''){$where['id_value'] = $request->input('id_value');}
if($request->input('parent_id', '') != ''){$where['parent_id'] = $request->input('parent_id');}
$where['status'] = Comment::SHOW_COMMENT;
$res = $this->getLogic()->getList($where, array('id', 'desc'), '*', $offset, $limit);
@ -69,6 +70,7 @@ class CommentController extends CommonController
{
$_POST['user_id'] = Token::$uid;
$_POST['add_time'] = time();
$_POST['ip_address'] = Helper::getRemoteIp();
return $this->getLogic()->add($_POST);
}
@ -77,16 +79,20 @@ class CommentController extends CommonController
//评价批量添加
public function commentBatchAdd(Request $request)
{
if($request->input('comment',null)===null){return ReturnData::create(ReturnData::PARAMS_ERROR);}
if($request->input('comment',null)==null){return ReturnData::create(ReturnData::PARAMS_ERROR);}
$comment = json_decode($request->input('comment'),true);
foreach($comment as $k=>$v)
if($comment)
{
$comment[$k]['user_id'] = Token::$uid;
$comment[$k]['ip_address'] = Helper::getRemoteIp();
$comment[$k]['add_time'] = time();
foreach($comment as $k=>$v)
{
$comment[$k]['user_id'] = Token::$uid;
$comment[$k]['ip_address'] = Helper::getRemoteIp();
$comment[$k]['add_time'] = time();
}
}
return Comment::batchAdd($comment);
return $this->getLogic()->batchAdd($comment);
}
//修改
@ -114,7 +120,7 @@ class CommentController extends CommonController
if(Helper::isPostRequest())
{
$where['id'] = $id;
//$where['user_id'] = Token::$uid;
$where['user_id'] = Token::$uid;
return $this->getLogic()->del($where);
}

103
app/Http/Controllers/Api/UserBonusController.php

@ -1,11 +1,13 @@
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Api\CommonController;
use Log;
use DB;
use Illuminate\Http\Request;
use App\Common\ReturnData;
use App\Common\Helper;
use App\Common\Token;
use App\Http\Model\UserBonus;
use App\Http\Logic\UserBonusLogic;
class UserBonusController extends CommonController
{
@ -14,55 +16,82 @@ class UserBonusController extends CommonController
parent::__construct();
}
public function getLogic()
{
return logic('UserBonus');
}
public function userBonusList(Request $request)
{
//参数
$data['limit'] = $request->input('limit', 10);
$data['offset'] = $request->input('offset', 0);
if($request->input('status', '') != ''){$data['status'] = $request->input('status');}
$data['user_id'] = Token::$uid;
$limit = $request->input('limit', 10);
$offset = $request->input('offset', 0);
if($request->input('status', null) != null){$where['status'] = $request->input('status');}
$res = UserBonus::getList($data);
if($res == false)
{
return ReturnData::create(ReturnData::SYSTEM_FAIL);
}
$where['user_id'] = Token::$uid;
$res = $this->getLogic()->getList($where, array('id', 'desc'), '*', $offset, $limit);
return ReturnData::create(ReturnData::SUCCESS,$res);
}
//用户获取优惠券
public function userBonusAdd(Request $request)
public function userBonusDetail(Request $request)
{
//参数
$data['bonus_id'] = $request->input('bonus_id','');
$data['get_time'] = time();
$data['user_id'] = Token::$uid;
if(!checkIsNumber($request->input('id',null))){return ReturnData::create(ReturnData::PARAMS_ERROR);}
$id = $request->input('id');
$where['id'] = $id;
$where['user_id'] = Token::$uid;
if($data['bonus_id']=='')
$res = $this->getLogic()->getOne($where);
if(!$res)
{
return ReturnData::create(ReturnData::PARAMS_ERROR);
}
return ReturnData::create(ReturnData::RECORD_NOT_EXIST);
}
return UserBonus::add($data);
return ReturnData::create(ReturnData::SUCCESS,$res);
}
//用户删除优惠券
public function userBonusDelete(Request $request)
{
$id = $request->input('id','');
if($id=='')
{
return ReturnData::create(ReturnData::PARAMS_ERROR);
//添加
public function userBonusAdd(Request $request)
{
if(Helper::isPostRequest())
{
$_POST['user_id'] = Token::$uid;
return $this->getLogic()->add($_POST);
}
}
//修改
public function userBonusUpdate(Request $request)
{
if(!checkIsNumber($request->input('id',null))){return ReturnData::create(ReturnData::PARAMS_ERROR);}
$id = $request->input('id');
$res = UserBonus::remove($id);
if($res == false)
{
return ReturnData::create(ReturnData::SYSTEM_FAIL,null,$res);
}
if(Helper::isPostRequest())
{
unset($_POST['id']);
$where['id'] = $id;
$where['user_id'] = Token::$uid;
return $this->getLogic()->edit($_POST,$where);
}
}
//删除
public function userBonusDelete(Request $request)
{
if(!checkIsNumber($request->input('id',null))){return ReturnData::create(ReturnData::PARAMS_ERROR);}
$id = $request->input('id');
return ReturnData::create(ReturnData::SUCCESS,$res);
if(Helper::isPostRequest())
{
$where['id'] = $id;
$where['user_id'] = Token::$uid;
return $this->getLogic()->del($where);
}
}
public function userAvailableBonusList(Request $request)
@ -76,12 +105,12 @@ class UserBonusController extends CommonController
return ReturnData::create(ReturnData::PARAMS_ERROR);
}
$res = UserBonus::getAvailableBonusList($data);
if($res == false)
$res = $this->getLogic()->getAvailableBonusList($data);
if($res)
{
return ReturnData::create(ReturnData::SYSTEM_FAIL);
return ReturnData::create(ReturnData::SUCCESS,$res);
}
return ReturnData::create(ReturnData::SUCCESS,$res);
return ReturnData::create(ReturnData::SYSTEM_FAIL);
}
}

82
app/Http/Controllers/Api/VerifyCodeController.php

@ -1,13 +1,13 @@
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Api\CommonController;
use Log;
use DB;
use Illuminate\Http\Request;
use App\Common\ReturnData;
use App\Common\Helper;
use App\Common\Token;
use App\Http\Model\VerifyCode;
use App\Http\Logic\VerifyCodeLogic;
class VerifyCodeController extends CommonController
{
@ -16,6 +16,82 @@ class VerifyCodeController extends CommonController
parent::__construct();
}
public function getLogic()
{
return logic('VerifyCode');
}
public function verifyCodeList(Request $request)
{
//参数
$limit = $request->input('limit', 10);
$offset = $request->input('offset', 0);
$where['user_id'] = Token::$uid;
$res = $this->getLogic()->getList($where, array('id', 'desc'), '*', $offset, $limit);
return ReturnData::create(ReturnData::SUCCESS,$res);
}
public function verifyCodeDetail(Request $request)
{
//参数
if(!checkIsNumber($request->input('id',null))){return ReturnData::create(ReturnData::PARAMS_ERROR);}
$id = $request->input('id');
$where['id'] = $id;
$res = $this->getLogic()->getOne($where);
if(!$res)
{
return ReturnData::create(ReturnData::RECORD_NOT_EXIST);
}
return ReturnData::create(ReturnData::SUCCESS,$res);
}
//添加
public function verifyCodeAdd(Request $request)
{
if(Helper::isPostRequest())
{
$_POST['user_id'] = Token::$uid;
return $this->getLogic()->add($_POST);
}
}
//修改
public function verifyCodeUpdate(Request $request)
{
if(!checkIsNumber($request->input('id',null))){return ReturnData::create(ReturnData::PARAMS_ERROR);}
$id = $request->input('id');
if(Helper::isPostRequest())
{
unset($_POST['id']);
$where['id'] = $id;
$where['user_id'] = Token::$uid;
return $this->getLogic()->edit($_POST,$where);
}
}
//删除
public function verifyCodeDelete(Request $request)
{
if(!checkIsNumber($request->input('id',null))){return ReturnData::create(ReturnData::PARAMS_ERROR);}
$id = $request->input('id');
if(Helper::isPostRequest())
{
$where['id'] = $id;
$where['user_id'] = Token::$uid;
return $this->getLogic()->del($where);
}
}
//验证码校验
public function verifyCodeCheck(Request $request)
{

19
app/Http/Logic/CommentLogic.php

@ -83,6 +83,9 @@ class CommentLogic extends BaseLogic
$validator = $this->getValidate($data, 'add');
if ($validator->fails()){return ReturnData::create(ReturnData::PARAMS_ERROR, null, $validator->errors()->first());}
$comment = $this->getModel()->getOne(['comment_type'=>$data['comment_type'],'id_value'=>$data['id_value'],'user_id'=>$data['user_id']]);
if($comment){return ReturnData::create(ReturnData::FAIL,null,'您已经评论过了');}
$res = $this->getModel()->add($data,$type);
if($res){return ReturnData::create(ReturnData::SUCCESS,$res);}
@ -126,4 +129,20 @@ class CommentLogic extends BaseLogic
{
return getDataAttr($this->getModel(),$data);
}
//批量添加
public function batchAdd(array $data)
{
if(empty($data)){return ReturnData::create(ReturnData::PARAMS_ERROR);}
DB::beginTransaction();
foreach($data as $k=>$v)
{
$res = $this->add($v);
if($res['code'] == ReturnData::SUCCESS){}else{DB::rollBack();return $res;}
}
DB::commit();
return ReturnData::create(ReturnData::SUCCESS);
}
}

59
app/Http/Logic/UserBonusLogic.php

@ -34,6 +34,7 @@ class UserBonusLogic extends BaseLogic
foreach($res['list'] as $k=>$v)
{
$res['list'][$k] = $this->getDataView($v);
$res['list'][$k]->bonus = model('Bonus')->getOne(['id'=>$v->bonus_id]);
}
}
@ -71,11 +72,12 @@ class UserBonusLogic extends BaseLogic
if(!$res){return false;}
$res = $this->getDataView($res);
$res->bonus = model('Bonus')->getOne(['id'=>$res->bonus_id]);
return $res;
}
//添加
//用户获取优惠券
public function add($data = array(), $type=0)
{
if(empty($data)){return ReturnData::create(ReturnData::PARAMS_ERROR);}
@ -83,8 +85,21 @@ class UserBonusLogic extends BaseLogic
$validator = $this->getValidate($data, 'add');
if ($validator->fails()){return ReturnData::create(ReturnData::PARAMS_ERROR, null, $validator->errors()->first());}
$data['get_time'] = time();
$bonus = model('Bonus')->getOne(['id'=>$data['bonus_id']]);
if(!$bonus){return ReturnData::create(ReturnData::PARAMS_ERROR,null,'亲,您来晚了啦,已被抢光了');}
if($bonus->num==-1 || $bonus->num>0){}else{return ReturnData::create(ReturnData::PARAMS_ERROR,null,'亲,您来晚了啦,已被抢光了');}
if($this->getModel()->getOne(['bonus_id'=>$data['bonus_id'],'user_id'=>$data['user_id']])){return ReturnData::create(ReturnData::PARAMS_ERROR,null,'亲,您已获取!');}
$data['get_time'] = time(); //优惠券获取时间
$res = $this->getModel()->add($data,$type);
if($res){return ReturnData::create(ReturnData::SUCCESS,$res);}
if($res)
{
if($bonus->num>0){model('Bonus')->getDb()->where(array('id'=>$data['bonus_id']))->decrement('num', 1);}
return ReturnData::create(ReturnData::SUCCESS,$res);
}
return ReturnData::create(ReturnData::FAIL);
}
@ -126,4 +141,44 @@ class UserBonusLogic extends BaseLogic
{
return getDataAttr($this->getModel(),$data);
}
/**
* 商品结算时,获取优惠券列表
* @param float $param['min_amount'] 最小金额可以用的优惠券
* @return array
*/
public function getAvailableBonusList(array $param)
{
$where['user_bonus.user_id'] = $param['user_id'];
if(isset($status)){$where['bonus.status'] = 0;}
$model = model('UserBonus')->getDb();
if(isset($param['min_amount'])){$model = $model->where('bonus.min_amount', '<=', $param['min_amount'])->where('bonus.money', '<=', $param['min_amount']);} //满多少使用
$model = $model->where('bonus.end_time', '>=', date('Y-m-d H:i:s')); //有效期
$bonus_list = $model->join('bonus', 'bonus.id', '=', 'user_bonus.bonus_id')->where($where)
->select('bonus.*', 'user_bonus.user_id', 'user_bonus.used_time', 'user_bonus.get_time', 'user_bonus.status as user_bonus_status', 'user_bonus.id as user_bonus_id')
->orderBy('bonus.money','desc')->get();
$res['list'] = $bonus_list;
return $res;
}
public function getUserBonusByid(array $param)
{
$where['user_bonus.user_id'] = $param['user_id'];
$where['bonus.status'] = 0;
$where['user_bonus.id'] = $param['user_bonus_id'];
$model = model('UserBonus')->getDb();
if(isset($param['min_amount'])){$model = $model->where('bonus.min_amount', '<=', $param['min_amount'])->where('bonus.money', '<=', $param['min_amount']);} //满多少使用
$model = $model->where('bonus.end_time', '>=', date('Y-m-d H:i:s')); //有效期
$bonus = $model->join('bonus', 'bonus.id', '=', 'user_bonus.bonus_id')->where($where)
->select('bonus.*', 'user_bonus.user_id', 'user_bonus.used_time', 'user_bonus.get_time', 'user_bonus.status as user_bonus_status', 'user_bonus.id as user_bonus_id')
->first();
return $bonus;
}
}

61
app/Http/Model/Comment.php

@ -189,42 +189,6 @@ class Comment extends BaseModel
}
/*
//获取列表
public static function getList(array $param)
{
extract($param); //参数:limit,offset
$where['user_id'] = $user_id;
$where['status'] = self::SHOW_COMMENT;
$limit = isset($limit) ? $limit : 10;
$offset = isset($offset) ? $offset : 0;
$model = new self;
if(isset($comment_rank)){$where['comment_rank'] = $comment_rank;} //评价分
if(isset($id_value)){$where['id_value'] = $id_value;} //商品的id
if(isset($comment_type)){$where['comment_type'] = $comment_type;} //0商品评价,1文章评价
if(isset($parent_id)){$where['parent_id'] = $parent_id;}
$model = $model->where($where);
$res['count'] = $model->count();
$res['list'] = array();
if($res['count']>0)
{
$res['list'] = $model->skip($offset)->take($limit)->orderBy('id','desc')->get();
}
return $res;
}
public static function getOne($where)
{
return self::where($where)->first();
}
public static function add(array $data)
{
if(!isset($data['comment_type']) || !isset($data['id_value']) || !isset($data['user_id']) || $data['comment_type']===null || $data['id_value']===null || $data['user_id']===null)
@ -271,28 +235,5 @@ class Comment extends BaseModel
}
return ReturnData::create(ReturnData::SYSTEM_FAIL);
}
public static function modify($where, array $data)
{
if (self::where($where)->update($data))
{
return true;
}
return false;
}
//删除一条记录
public static function remove(array $data)
{
if(!self::where(array('user_id'=>$data['user_id'],'comment_type'=>$data['comment_type'],'id_value'=>$data['id_value']))->first()){return '商品尚未评价';}
if (self::where(array('user_id'=>$data['user_id'],'comment_type'=>$data['comment_type'],'id_value'=>$data['id_value']))->delete() === false)
{
return false;
}
return true;
} */
}*/
}

128
app/Http/Model/UserBonus.php

@ -168,132 +168,4 @@ class UserBonus extends BaseModel
return $res;
}
/*
//获取列表
public static function getList(array $param)
{
extract($param); //参数:limit,offset
$where['user_id'] = $user_id;
$limit = isset($limit) ? $limit : 10;
$offset = isset($offset) ? $offset : 0;
$model = new UserBonus;
if(isset($status)){$where['status'] = $status;}
$model = $model->where($where);
$res['count'] = $model->count();
$res['list'] = array();
if($res['count']>0)
{
$bonus_list = $model->skip($offset)->take($limit)->orderBy('id','desc')->get();
foreach($bonus_list as $k=>$v)
{
$bonus_list[$k]->bonus = Bonus::where('id',$v->bonus_id)->first();
}
$res['list'] = $bonus_list;
}
else
{
return false;
}
return $res;
}
public static function getOne($where)
{
$res = self::where($where)->first();
if($res){$res->bonus = Bonus::where('id',$res->bonus_id)->first();}
return $res;
}
public static function add(array $data)
{
$bonus1 = Bonus::where(['id'=>$data['bonus_id']])->where('num',-1)->first();
$bonus2 = Bonus::where(['id'=>$data['bonus_id']])->where('num','>',0)->first();
if(!$bonus1 && !$bonus2)
{
return ReturnData::create(ReturnData::PARAMS_ERROR,null,'亲,您来晚了啦,已被抢光了');
}
if(self::where(['bonus_id'=>$data['bonus_id'],'user_id'=>$data['user_id']])->first()){return ReturnData::create(ReturnData::PARAMS_ERROR,null,'亲,您已获取!');}
$data['get_time'] = time(); //优惠券获取时间
if ($id = self::insertGetId($data))
{
if(!$bonus1){DB::table('bonus')->where(array('id'=>$data['bonus_id']))->decrement('num', 1);}
return ReturnData::create(ReturnData::SUCCESS,$id);
}
return ReturnData::create(ReturnData::SYSTEM_FAIL);
}
public static function modify($where, array $data)
{
if (self::where($where)->update($data))
{
return true;
}
return false;
}
//删除一条记录
public static function remove($id)
{
if (!self::whereIn('id', explode(',', $id))->delete())
{
return false;
}
return true;
}
//商品结算时,获取优惠券列表
public static function getAvailableBonusList(array $param)
{
extract($param);
$where['user_bonus.user_id'] = $user_id;
if(isset($status)){$where['bonus.status'] = 0;}
$model = new UserBonus;
if(isset($min_amount)){$model = $model->where('bonus.min_amount', '<=', $min_amount)->where('bonus.money', '<=', $min_amount);} //满多少使用
if(isset($bonus_end_time)){$model = $model->where('bonus.end_time', '>=', date('Y-m-d H:i:s'));} //有效期
$bonus_list = $model->join('bonus', 'bonus.id', '=', 'user_bonus.bonus_id')->where($where)
->select('bonus.*', 'user_bonus.user_id', 'user_bonus.used_time', 'user_bonus.get_time', 'user_bonus.status as user_bonus_status', 'user_bonus.id as user_bonus_id')
->orderBy('bonus.money','desc')->get();
$res['list'] = $bonus_list;
return $res;
}
public static function getUserBonusByid(array $param)
{
extract($param);
$where['user_bonus.user_id'] = $user_id;
$where['bonus.status'] = 0;
$where['user_bonus.id'] = $user_bonus_id;
$model = new UserBonus;
if(isset($min_amount)){$model = $model->where('bonus.min_amount', '<=', $min_amount)->where('bonus.money', '<=', $min_amount);} //满多少使用
$model = $model->where('bonus.end_time', '>=', date('Y-m-d H:i:s')); //有效期
$bonus = $model->join('bonus', 'bonus.id', '=', 'user_bonus.bonus_id')->where($where)
->select('bonus.*', 'user_bonus.user_id', 'user_bonus.used_time', 'user_bonus.get_time', 'user_bonus.status as user_bonus_status', 'user_bonus.id as user_bonus_id')
->first();
return $bonus;
} */
}

7
app/Http/Requests/CommentRequest.php

@ -8,7 +8,7 @@ class CommentRequest extends BaseRequest
'id' => 'required|integer',
'comment_type' => 'required|integer|between:0,1',
'id_value' => 'required|integer',
'comment_rank' => 'required|integer|between:1,5',
'comment_rank' => 'integer|between:1,5',
'add_time' => 'required|integer',
'ip_address' => 'max:20',
'status' => 'integer|between:0,1',
@ -26,7 +26,6 @@ class CommentRequest extends BaseRequest
'comment_type.between' => '用户评论的类型;0评论的是商品,1评论的是文章',
'id_value.required' => '文章或者商品的id必填',
'id_value.integer' => '文章或者商品的id必须为数字',
'comment_rank.required' => '评价等级必填',
'comment_rank.integer' => '评价等级必须为数字',
'comment_rank.between' => '评价等级,1到5星',
'add_time.required' => '添加时间必填',
@ -43,8 +42,8 @@ class CommentRequest extends BaseRequest
//场景验证规则
protected $scene = [
'add' => ['comment_type', 'id_value', 'comment_rank', 'add_time', 'ip_address', 'status', 'parent_id', 'user_id', 'is_anonymous'],
'edit' => ['comment_type', 'id_value', 'comment_rank', 'add_time', 'ip_address', 'status', 'parent_id', 'user_id', 'is_anonymous'],
'add' => ['comment_type', 'id_value', 'comment_rank', 'ip_address', 'status', 'parent_id', 'user_id', 'is_anonymous'],
'edit' => ['comment_type', 'id_value', 'comment_rank', 'ip_address', 'status', 'parent_id', 'user_id', 'is_anonymous'],
'del' => ['id'],
];

97
app/Http/Requests/UserBonusRequest.php

@ -0,0 +1,97 @@
<?php
namespace App\Http\Requests;
class UserBonusRequest extends BaseRequest
{
//总的验证规则
protected $rules = [
'id' => 'required|integer',
'bonus_id' => 'required|integer',
'user_id' => 'required|integer',
'used_time' => 'integer',
'get_time' => 'required|integer',
'status' => 'integer|between:0,2',
];
//总的自定义错误信息
protected $messages = [
'id.required' => 'ID必填',
'id.integer' => 'ID必须为数字',
'bonus_id.required' => '红包ID必填',
'bonus_id.integer' => '红包ID必须为数字',
'user_id.required' => '用户ID必填',
'user_id.integer' => '用户ID必须为数字',
'used_time.integer' => '优惠券使用时间格式不正确',
'get_time.required' => '优惠券获得时间必填',
'get_time.integer' => '优惠券获得时间格式不正确',
'status.integer' => '优惠券状态必须是数字',
'status.between' => '优惠券状态,0未使用1已使用2已过期',
];
//场景验证规则
protected $scene = [
'add' => ['bonus_id', 'user_id'],
'edit' => ['bonus_id', 'user_id'],
'del' => ['id'],
];
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true; //修改为true
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return $this->rules;
}
/**
* 获取被定义验证规则的错误消息.
*
* @return array
*/
public function messages()
{
return $this->messages;
}
//获取场景验证规则
public function getSceneRules($name, $fields = null)
{
$res = array();
if(!isset($this->scene[$name]))
{
return false;
}
$scene = $this->scene[$name];
if($fields != null && is_array($fields))
{
$scene = $fields;
}
foreach($scene as $k=>$v)
{
if(isset($this->rules[$v])){$res[$v] = $this->rules[$v];}
}
return $res;
}
//获取场景验证规则自定义错误信息
public function getSceneRulesMessages()
{
return $this->messages;
}
}
Loading…
Cancel
Save