def operate_resume(request, resume_id, type): """ @summary: if a user like some resume ,he can click watch on a resume page. @author: [email protected] 2013-09-17 17:55 """ if request.method == "GET": user = request.user p = request.GET.copy() feed_keywords = p.get('feed_keywords', '') feed_id = p.get('feed_id', '') if resume_id: resume_id = str(resume_id) watch_time = datetime.datetime.now() user_watch_resumes = UserWatchResume.objects.filter(user=user, resume_id=resume_id) if user_watch_resumes: for user_watch_resume in user_watch_resumes: user_watch_resume.resume_id = resume_id user_watch_resume.feed_id = feed_id user_watch_resume.type = type # 修改搜有搜索词的改简历的关注状态. user_watch_resume.add_time = watch_time user_watch_resume.feed_keywords = feed_keywords user_watch_resume.save() else: user_resume = UserWatchResume(user=user, resume_id=resume_id, type=type, add_time=watch_time, feed_id=feed_id, feed_keywords=feed_keywords) user_resume.save() # 反馈关注结果给算法 FeedUtils.feed_result_watch(resume_id, feed_id, type) json_data = produce_return_json(data={}) return HttpResponse(json_data, 'application/json')
def display(request, resume_id, resume_score): """ @summary: 详细信息展示页面 @author:liyao """ from Pinbot.settings import STATIC_URL p = request.GET feed_id = p.get('feed_id') feed_result = FeedUtils.get_feed_result(feed_id, resume_id) if feed_result: calc_time = feed_result.calc_time if request.user.is_staff and feed_result.feed.username != request.user.username: read_user = '******' else: read_user = '******' FeedUtils.read_feed(request, feed_id, resume_id, read_user=read_user) try: if hasattr(feed_result, 'tags'): keywords_new = feed_result.tags.keywords feed_keywords = u' '.join(keywords_new) else: feed_keywords = feed_result.feed.keywords except: feed_keywords = u'' try: resume = ResumeData.objects.get(id=resume_id) if resume.source == 'pinbot': resume['age'] = get_age(resume.birthday) resume.work_years = resume.get_work_years() except Exception, e: raise Http404()
def feed_get(request, feed_id, resume_id): if request.is_ajax(): FeedUtils.read_feed(request, feed_id, resume_id) return JsonResponse({ 'status': 'ok', 'msg': 'ok', }) return redirect('/resumes/display/%s/?feed_id=%s' % (resume_id,feed_id))
def post(self, request): json_data = json.loads(request.body) user = request.user company_obj = get_object_or_none( Company, user=user, ) form = CompanyForm(json_data) if not company_obj else CompanyForm( json_data, instance=company_obj) if form.is_valid(): company = form.save(commit=False) company.user = user company.save() form.save_m2m() redirect_url = '' if FeedUtils.has_use_feed( user) else reverse('feed-add-new') return JsonResponse({ "status": "ok", "id": company.id, 'msg': 'ok', 'redirect_url': redirect_url, }) else: return JsonResponse({ 'status': 'form_error', 'msg': form.get_first_errors(), 'data': { 'errors': form.errors, } })
def save_feed_result(self, feed, resume): feed_result = FeedUtils.add_feed_result( feed.feed_obj_id, resume.resume_id, source='talent_partner', ) return feed_result
def post(self, request): resume_id = request.POST.get('resume_id', '') feed_id = request.POST.get('feed_id', '') username = request.user.username feed_result = FeedUtils.add_feed_result( feed_id, resume_id, admin=username, ) if not feed_result: result = { 'status': 'data_error', 'msg': '数据有误', } else: candidate = self.get_candidate_by_resume_id(resume_id) candidate.has_contact = True candidate.save() result = { 'status': 'ok', 'msg': '加入成功', } return JsonResponse(result)
def get(self, request): user = request.user company = Company.objects.select_related( 'category', ).filter( user=user ) company_card_dict = {} jobs_arr = [] companycard_css = 'curr' company_category = [] if len(company) >= 1: company = company[0] company.desc = company.desc.strip() company_json = model_to_dict(company) company_card_dict['company'] = company_json jobs = Job.objects.filter(company=company, deleted=False) for job in jobs: job_json = model_to_dict(job) jobs_arr.append(job_json) company_card_dict['jobs'] = jobs_arr company_category = company.category.all() company_card_dict['select_category'] = [ { 'category': c.category, 'id': c.id, } for c in company_category ] all_company_category = CompanyCategory.objects.filter( display=True, ).order_by( '-sort', ) select_id_list = [c.id for c in company_category] company_card_dict['all_company_category'] = [ { 'category': c.category, 'id': c.id, 'select': True if c.id in select_id_list else False } for c in all_company_category ] company_card_dict['show_mission'] = True if ( not FeedUtils.has_use_feed(user) and VipRoleUtils.get_current_vip(user) ) else False company_card_json = json.dumps(company_card_dict) return render( request, self.template_name, { 'company_json': company_card_json, 'companycard_css': companycard_css, }, )
def main(): reco_task_query = RecoResumeTask.objects.select_related( 'feed', 'resume', ).filter( action=1, ) for rt in reco_task_query: feed_obj_id = rt.feed.feed_obj_id resume_id = rt.upload_resume.resume_id FeedUtils.add_feed_result( feed_obj_id, resume_id, source='talent_partner', ) print feed_obj_id, 'success'
def read_feed_result(self, feed_result): if not feed_result: return False request = self.request feed_id = self.request.GET.get('feed_id', '') resume_id = self.kwargs.get('resume_id', '') if request.user.is_staff and feed_result.feed.username != request.user.username: read_user = '******' else: read_user = '******' ret = FeedUtils.read_feed(request, feed_id, resume_id, read_user=read_user) return ret
def operate_resume(request, resume_id, type): """ @summary: if a user like some resume ,he can click watch on a resume page. @author: [email protected] 2013-09-17 17:55 """ if request.method == "GET": user = request.user p = request.GET.copy() feed_keywords = p.get('feed_keywords', '') feed_id = p.get('feed_id', '') if resume_id: resume_id = str(resume_id) watch_time = datetime.datetime.now() user_watch_resumes = UserWatchResume.objects.filter( user=user, resume_id=resume_id) if user_watch_resumes: for user_watch_resume in user_watch_resumes: user_watch_resume.resume_id = resume_id user_watch_resume.feed_id = feed_id user_watch_resume.type = type # 修改搜有搜索词的改简历的关注状态. user_watch_resume.add_time = watch_time user_watch_resume.feed_keywords = feed_keywords user_watch_resume.save() else: user_resume = UserWatchResume(user=user, resume_id=resume_id, type=type, add_time=watch_time, feed_id=feed_id, feed_keywords=feed_keywords) user_resume.save() # 反馈关注结果给算法 FeedUtils.feed_result_watch(resume_id, feed_id, type) json_data = produce_return_json(data={}) return HttpResponse(json_data, 'application/json')
tag_list.append((str(resume_tag.tag_id), resume_tag.tag_content)) if not user.is_anonymous(): check_status, type_desc, feedback_str, re_points = get_feedback_str( request.user, str(resume.id)) offical_feedback = get_offical_feedback(str(resume.id)) if request.user.is_staff == 1: feedback_dict = get_feedback(str(resume.id)) if feedback_dict and len(feedback_dict) >= 1: has_feedback = True display_aside = True if not user.is_anonymous(): # 第二次领取红包任务 is_user_feed = False if FeedUtils.is_user_feed(user, feed_id): username = user.username is_user_feed = True is_send_resume = True if FeedUtils.is_send_resume(user, resume_id) else False # 人才伙伴添加点数 PartnerCoinUtils.check_resume(feed_id, resume_id) # 是否是人才伙伴自己在查看简历 self_upload_resume = True if UploadResumeUtils.is_self_upload( user, resume_id) else False # 获取投递工作 job_id = request.GET.get('job_id', '0')
def buy(request): """ @summary: 购买简历 """ try: p = request.GET.copy() resume_id = p.get('resume_id', '') feed_id = p.get('feed_id', '') keywords = p.get('feed_keywords', '') job_id = p.get('job_id', '') user = request.user if ResumeBuyRecord.objects.filter(user=request.user, resume_id=resume_id).count(): json_data = produce_return_json(data=2, status=False, error_dict=u'2.已购买过此简历_has bought this resume') else: pkg_points, user_points = point_utils.get_user_point(user) result, point = point_utils.consume_download_point(user) if result == 'success': status = 'LookUp' if ContactInfoData.objects.filter(resume_id=ObjectId(resume_id)).count() > 0 else 'Start' if status == 'LookUp': # pinbot系统已经购买过,可以马上查阅了 json_data = produce_return_json(data=8) else: # pinbot系统还没有,要等一段时间,后边邮件提醒一下 json_data = produce_return_json(data=9) resume = ResumeData.objects.get(pk=ObjectId(resume_id)) record = ResumeBuyRecord(user=user, resume_id=resume_id, \ feed_id=feed_id, keywords=keywords, op_time=datetime.now(), status=status, resume_url=resume.url) if status == 'LookUp': record.finished_time = datetime.now() PartnerCoinUtils.download_resume(feed_id, resume_id) JobUtils.download_send_resume(job_id, user) # 反馈结果给算法,修改feed_result FeedUtils.feed_result_download(resume_id, feed_id) send_id = p.get('sendid',None) if send_id: send_record = SendCompanyCard.objects.get(id=int(send_id)) record.send_card = send_record send_record.points_used = 13 send_record.has_download = True send_record.save() record.save() # 如果状态是start,就表示是当前库中没有该简历的联系信息,先发送一个通知给管理员 # 然后需要通知爬虫去下载 if record.status == 'Start': notify_buy_resume(user, str(resume_id), resume.source) asyn_send_download_msg.delay(record.id) else: json_data = produce_return_json( data=5, status=False, error_dict=u'点数不足10点', msg=u'聘点不足10点' ) except Exception, e: if resume_id: json_data = produce_return_json(data=4, status=False, error_dict=str(e)) else: json_data = produce_return_json(data=4, status=False, error_dict='4.resume_id is null')
def is_user_feed(self): user = self.request.user feed_id = self.request.GET.get('feed_id', '') return FeedUtils.is_user_feed(user, feed_id)
def get_feed_result(self): resume_id = self.kwargs.get('resume_id', '') feed_id = self.request.GET.get('feed_id', '') feed_result = FeedUtils.get_feed_result(feed_id, resume_id) return feed_result
tag_list.append((str(resume_tag.tag_id), resume_tag.tag_content)) if not user.is_anonymous(): check_status, type_desc, feedback_str, re_points = get_feedback_str( request.user, str(resume.id)) offical_feedback = get_offical_feedback(str(resume.id)) if request.user.is_staff == 1: feedback_dict = get_feedback(str(resume.id)) if feedback_dict and len(feedback_dict) >= 1: has_feedback = True display_aside = True if not user.is_anonymous(): # 第二次领取红包任务 is_user_feed = False if FeedUtils.is_user_feed(user, feed_id): username = user.username is_user_feed = True is_send_resume = True if FeedUtils.is_send_resume( user, resume_id) else False # 人才伙伴添加点数 PartnerCoinUtils.check_resume(feed_id, resume_id) # 是否是人才伙伴自己在查看简历 self_upload_resume = True if UploadResumeUtils.is_self_upload( user, resume_id) else False # 获取投递工作 job_id = request.GET.get('job_id', '0')