verify_sign(); // 验证登录 $uid = $this->checkLogin(); // 获取客户城市ID $custom = $Custom->getOne($uid); //查询拉新活动 if( !$custom['city_id'] ) return json_send(['code'=>'error','msg'=>'请选择所在城市后下单','data'=>['error'=>'请选择所在城市后下单']]); // 获取城市ID $cityId = $custom['city_id']; // 查询用户标签 $tagsList = $WeiBanTags->getListByWeibanExtid($custom['weiban_extid']); $tagsList = array_column($tagsList,'name'); // 查询数据 $map = [['start_time','<=',time()], ['end_time','>',time()],['status','=',0]]; // 查询数据 $activeList = $Model->query()->where($map)->get(['id','name','banner_img','start_time','end_time','status','city_ids','tag_except','tag_scope','active_rule'])->toArray(); // 获取参数 $activeInfo = []; // 循环处理活动数据 foreach ( $activeList as $active ) { // 如果城市限制并且不在在城市范围内,不允许参加 if ( $active['city_ids'] && !in_array($cityId,explode(',',$active['city_ids'])) ) continue; // 判断标签限制并且不在标签限制范围内,不允许参加 if( $active['tag_scope'] && !array_intersect(explode(',',$active['tag_scope']),$tagsList) ) continue; // 判断标签排除限制并且在标签排除范围内,不允许参加 if( $active['tag_except'] && array_intersect(explode(',',$active['tag_except']),$tagsList) ) continue; // 获取活动信息 $activeInfo = $active; } // 如果存在活动信息 if ( $activeInfo ) { $activeInfo['start_time'] = date('Y-m-d H:i:s',$activeInfo['start_time']); $activeInfo['end_time'] = date('Y-m-d H:i:s',$activeInfo['end_time']); $activeInfo['banner_img'] = $activeInfo['banner_img'] ? path_compat($activeInfo['banner_img']) : ''; } // 返回结果 return json_send(['code'=>'success','msg'=>'获取成功','data'=>$activeInfo]); } /** * 获取奖励记录 /api/recruitment/get_record * * */ public function get_record(RecruitmentPrizeRecord $recruitmentPrizeRecord){ // 接口验签 // $this->verify_sign(); // 验证登录 $uid = $this->checkLogin(); // 接收参数 $limit = request('limit',15); // 查询条件 $map = [['recruitment_prize_record.custom_uid','=',$uid]]; // 查询数据 $Paginator = $recruitmentPrizeRecord->query() ->join('recruitment_record','recruitment_record.id','=','recruitment_prize_record.recruitment_record_id') ->join('custom','custom.uid','=','recruitment_record.new_uid') ->where($map) ->orderByDesc('id') ->paginate($limit,['recruitment_prize_record.id','recruitment_prize_record.prize_type','recruitment_prize_record.prize','recruitment_prize_record.type','recruitment_prize_record.custom_uid','recruitment_prize_record.insert_time','recruitment_prize_record.recruitment_record_id','custom.username']); // 重置数据 $list = []; // 获取数据 $list['total'] = $Paginator->total(); $list['current_page'] = $Paginator->currentPage(); $list['per_page'] = $Paginator->perPage(); $list['last_page'] = $Paginator->lastPage(); $list['data'] = $Paginator->items(); // 循环数据 foreach ($list['data'] as $key => $value) { // 处理时间 $value['insert_time'] = date('Y-m-d H:i:s',$value['insert_time']); // 重组 $list['data'][$key] = $value; } // 返回数据 return json_send(['code'=>'success','msg'=>'获取成功','data'=>$list]); } }