123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
- namespace app\common\model;
- use think\Db;
- /**
- * 用户任务
- */
- class Usertask
- {
- /**
- * 一次性任务
- * @return boolen
- */
- public function oncetask($uid,$taskkey)
- {
- //初始化
- $return_rs = array(
- 'status'=>false,
- 'msg'=>'',
- 'log_table' => '',
- 'log_id' => '',
- );
- //检查
- $map = [
- 'user_id' => $uid,
- 'taskkey' => $taskkey,
- ];
- $check = Db::name('user_task_once_log')->where($map)->find();
- //只能执行一次
- if($check){
- $return_rs['status'] = true;
- return $return_rs;
- }
- //发放
- $gift_gold = config('site.'.$taskkey.'');
- if($gift_gold > 0){
- $map['createtime'] = time();
- $map['remark'] = Db::name('config')->where('name',$taskkey)->value('title');
- $log_id = Db::name('user_task_once_log')->insertGetId($map);
- if(!$log_id){
- $return_rs['msg'] = '赠送金币失败';
- return $return_rs;
- }
- $gift_rs = model('wallet')->lockChangeAccountRemain($uid,'gold',$gift_gold,61,$map['remark'],'user_task_once_log',$log_id);
- //返回结构和wallet一样,直接返回
- return $gift_rs;
- }else{
- $return_rs['status'] = true;
- return $return_rs;
- }
- }
- }
|