diff --git a/application/adminapi/controller/Activities.php b/application/adminapi/controller/Activities.php index e02c7cc..73f2096 100644 --- a/application/adminapi/controller/Activities.php +++ b/application/adminapi/controller/Activities.php @@ -360,6 +360,7 @@ class Activities extends adminApi 'foreign_id' => $gift_id, 'name' => $gift['gift_name'], 'quantity' => $num, + 'gold' => $gift['gift_price'], ]; } elseif($type == 3){ $decorate_price = DB::name('vs_decorate_price')->where(['id'=>$gift_id])->find(); @@ -373,6 +374,7 @@ class Activities extends adminApi 'foreign_id' => $gift_id, 'name' => $gift['title'], 'days' => $decorate_price['day'], + 'gold' => $decorate_price['price'], ]; } elseif($type == 4){ $data = [ @@ -433,17 +435,20 @@ class Activities extends adminApi $money = input('money', ''); $money_str = input('money_str', ''); $diamond = input('diamond', ''); + $activity_end_time = input('activity_end_time', ''); $id = input('id', 6); $data = [ 'name' => $name, 'title' => $title, - 'status' => $status + 'status' => $status, + 'money' => $money, ]; $ext = [ 'counter' => $counter, 'money_str' => $money_str, 'diamond' => $diamond, - 'money' => $money + 'money' => $money, + 'activity_end_time' => $activity_end_time ]; $data['ext'] = json_encode($ext); $res = db::name($this->table)->where(['id'=>$id])->update($data); diff --git a/application/api/controller/Activities.php b/application/api/controller/Activities.php index 768c103..f75147c 100644 --- a/application/api/controller/Activities.php +++ b/application/api/controller/Activities.php @@ -179,13 +179,16 @@ class Activities extends BaseCom { $activities_id = 3;//天降好礼 $uid = input('uid',$this->uid); - $permission = DB::name('vs_activities_receive')->where(['activities_id'=>$activities_id,'user_id'=>$uid])->find(); - if($permission){ - return V(1,'操作成功', ['permission'=>0]); - }else{ - return V(1,'操作成功', ['permission'=>1]); + //礼包 + $gift_bag = DB::name('vs_gift_bag')->where(['activities_id'=>3,'status'=>1])->find(); + $permission = 0; + if($gift_bag){ + $ext = json_decode($gift_bag['ext'],true); + if($ext['activity_end_time'] <= time()){ + $permission = 1; + } } - + return V(1,'操作成功', ['permission'=>$permission]); } //天降好礼发放 public function drop_gift_send() diff --git a/application/api/model/Activities.php b/application/api/model/Activities.php index 1d94f3b..11d055d 100644 --- a/application/api/model/Activities.php +++ b/application/api/model/Activities.php @@ -25,7 +25,8 @@ class Activities extends Model public static function first_charge_gift_send($user_id,$money=0) { //礼包 - $gift_bag_id = DB::name('vs_gift_bag')->where(['activities_id'=>1,'status'=>1,'money'=>$money])->value('id'); + $gift_bag = DB::name('vs_gift_bag')->where(['activities_id'=>1,'status'=>1,'delete_time'=>0,'money'=>['>=',$money]])->order('money desc')->find(); + $gift_bag_id = $gift_bag['id'] ?? 0; if (!$gift_bag_id) { return ['code' => 0, 'msg' => '礼包不存在','data' => null]; } @@ -98,14 +99,19 @@ class Activities extends Model /* * 天降好礼发放 */ - public static function drop_gift_send($user_id) + public static function drop_gift_send($user_id,$money=0) { $activities_id = 3; //礼包 - $gift_bag_id = DB::name('vs_gift_bag')->where(['activities_id'=>$activities_id,'status'=>1])->value('id'); + $gift_bag = DB::name('vs_gift_bag')->where(['activities_id'=>$activities_id,'status'=>1])->find(); + $gift_bag_id = $gift_bag['id'] ?? 0; + if (!$gift_bag_id) { return ['code' => 0, 'msg' => '礼包不存在','data' => null]; } + if($money != $gift_bag['money']){ + return ['code' => 0, 'msg' => '充值金额未命中天降好礼礼包','data' => null]; + } $gift_bag_detail = DB::name('vs_gift_bag_detail')->where(['gift_bag_id'=>$gift_bag_id])->select(); if (!$gift_bag_detail) { return ['code' => 0, 'msg' => '礼包不存在','data' => null]; @@ -136,15 +142,20 @@ class Activities extends Model Db::rollback(); return ['code' => 0, 'msg' => $res['msg'], 'data' => null]; } + // 记录日志 + //添加礼盒记录 + $reslut = Db::name('vs_gift_bag_receive_log')->insert([ + 'user_id' => $user_id, + 'gift_bag_id' => $gift_bag_id, + 'parent_id' => $v['id'], + 'gift_id'=> $v['foreign_id'], + 'num' => $v['quantity'], + 'bag_price' => $gift_bag['money'], + 'gift_price' => $v['gold'], + 'createtime' => time(), + 'updatetime' => time() + ]); } - // 记录日志 - //添加礼盒记录 - $reslut = Db::name('vs_gift_bag_receive_log')->insert([ - 'user_id' => $user_id, - 'gift_bag_id' => $gift_bag_id, - 'createtime' => time(), - 'updatetime' => time() - ]); // 添加活动记录 $reslut = Db::name('vs_activities_receive')->insert([ 'user_id' => $user_id, diff --git a/application/common.php b/application/common.php index 241c374..145e198 100644 --- a/application/common.php +++ b/application/common.php @@ -1185,14 +1185,6 @@ function handelCharge($where,$data){ db::rollback(); return 0; } - //首充 - if($is_first_charge == 0){ - $first_recharge = model('Activities')->first_charge_gift_send($orderModel['user_id'],$orderModel['money']); -// if($first_recharge['code'] != 1){ -// db::rollback(); -// return 0; -// } - } //给上级返佣 //获取上级 @@ -1204,9 +1196,16 @@ function handelCharge($where,$data){ return 0; } } - - db::commit(); + + //首充 + if($is_first_charge == 0){ + model('Activities')->first_charge_gift_send($orderModel['user_id'],$orderModel['money']); + } + //天降好礼 + model('Activities')->drop_gift_send($orderModel['user_id'],$orderModel['money']); + + return 1; } catch (\Exception $e){ db::rollback();