123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- <?php
- namespace addons\shopro\controller\activity;
- use addons\shopro\controller\Common;
- use addons\shopro\service\goods\GoodsService;
- use addons\shopro\facade\Activity as ActivityFacade;
- use think\Db;
- class Kan extends Common
- {
- protected $noNeedLogin = ['index', 'detail'];
- protected $noNeedRight = ['*'];
- //砍价商品列表
- public function kan_productsku_list(){
- $category_id = $this->request->param('category_id');
- $list = Db::name('shopro_activity_sku_price')->alias('asp')
- ->field([
- 'asp.activity_id','asp.goods_sku_price_id','asp.goods_id','asp.price',
- 'a.rules',
- 'g.title','g.image',
- 'gsp.goods_sku_text','gsp.image as sku_image','gsp.price as old_price']
- )
- ->join('shopro_activity a','asp.activity_id = a.id','LEFT')
- ->join('shopro_goods g' ,'asp.goods_id = g.id','LEFT')
- ->join('shopro_goods_sku_price gsp','asp.goods_sku_price_id = gsp.id','LEFT')
- ->where('asp.status','up')
- ->where('a.deletetime',NULL)->where('a.type','kan')
- ->where('g.deletetime',NULL)->whereIn('g.status', ['up', 'hidden'])
- ->where('gsp.status','up');
- if(!empty($category_id)){
- $list->where('find_in_set(:category_ids,g.category_ids)', ['category_ids' => $category_id]);
- }
- $list = $list->order('a.end_time asc')->autopage()->select();
- $list = list_domain_image($list,['image','sku_image']);
- foreach($list as $key => $val){
- //sku图片代替主图
- if(!empty($val['sku_image'])){
- $val['image'] = $val['sku_image'];
- }
- unset($val['sku_image']);
- $val['team_num'] = json_decode($val['rules'],true)['team_num'];//砍价人数上限
- unset($val['rules']);
- $list[$key] = $val;
- }
- $this->success('获取成功',$list);
- }
- //发起砍价
- public function kan_newone(){
- $user = auth_user();
- $nowtime = time();
- $goods_id = $this->request->param('goods_id');
- $goods_sku_price_id = $this->request->param('goods_sku_price_id');
- $activity_id = $this->request->param('activity_id');
- //活动
- $activity = Db::name('shopro_activity')->where('id',$activity_id)->find();
- if($activity['end_time'] < time()){
- $this->error('该砍价活动已结束');
- }
- $rules = json_decode($activity['rules'],true);
- //活动商品
- $map_sku = [
- 'activity_id' => $activity_id,
- 'goods_id' => $goods_id,
- 'goods_sku_price_id' => $goods_sku_price_id,
- 'status' => 'up',
- ];
- $activity_sku_price = Db::name('shopro_activity_sku_price')->where($map_sku)->find();
- if(empty($activity_sku_price)){
- $this->error('不存在的活动商品');
- }
- if($activity_sku_price['sales'] >= $activity_sku_price['stock']){
- $this->error('该活动商品已售罄');
- }
- //写入
- $data = [
- 'user_id' => $user['id'],
- 'goods_id' => $goods_id,
- 'goods_sku_price_id' => $goods_sku_price_id,
- 'activity_id' => $activity_id,
- 'num' => $rules['team_num'],
- 'current_num' => 0,
- 'status' => 'ing',
- 'expire_time' => $nowtime + $rules['valid_time']*3600,
- 'finish_time' => 0,
- 'createtime' => $nowtime,
- 'updatetime' => $nowtime,
- 'total_kan_price' => 0,
- 'activity_sku_price' => $activity_sku_price['price'],
- ];
- $kan_id = Db::name('shopro_activity_kan')->insertGetId($data);
- $this->success('操作成功',$kan_id);
- }
- //帮好友砍价
- public function kan_kan(){
- }
- //某个已发起的砍价详情
- public function kan_info(){
- $kan_id = $this->request->param('kan_id');
- $kan = Db::name('shopro_activity_kan')->alias('kan')
- ->field(['kan.*',
- 'g.title','g.image',
- 'gsp.goods_sku_text','gsp.image as sku_image','gsp.price as old_price',
- '','','','','','','','','','','','','','','','','','','','','','','','','',''])
- ->join('shopro_goods g','kan.goods_id = g.id','LEFT')
- ->join('shopro_goods_sku_price gsp','kan.goods_sku_price_id = gsp.id','LEFT')
- ->where('kan.id',$kan_id)
- ->find();
- //砍价记录
- Db::name('shopro_')
- }
- }
|