def get(self, request: HttpRequest): three_days_ago = datetime.datetime.now() - datetime.timedelta(days=3) all_positions = Position.objects.filter(position_send_time__gt=three_days_ago, company__company_state=BaseModel.text2state("正常")) \ .order_by('-position_send_time') newest = get_std_job_data(all_positions) rt = get_value_dict(newest) return ret_data(200, rt, "ok")
def get(self, request: HttpRequest): user_id = request.GET.get("userId") companies = Company.objects.filter(company_owner__user_id=user_id, company_state=BaseModel.text2state("正常")) \ .values('company_id', 'company_name', 'company_establishment_date', 'company_logo_id', position_count=Count('position')) return ret_data(200, get_value_dict(companies), "ok")
def get(self, request: HttpRequest): company_id = request.GET.get("companyId") # 加上过滤state为删除状态 positions = Position.objects.filter(company__company_id=company_id, position_state=BaseModel.text2state("正常")) \ .values('company_id', 'position_id', 'position_name', 'position_min_wages', 'position_max_wages', 'position_tags', 'position_region', resume_count=Count('positionresume')) return ret_data(200, get_value_dict(positions), "ok")
def post(self, request: HttpRequest): question = request.POST.get("keyWord") start_index = int(request.POST.get("startIndex")) res = SearchJob(question) temp = SearchTemplate() word_type, inde = res.run() positions = temp.run(word_type, inde) all_positions = positions[start_index:start_index + 20] res = get_std_job_data(all_positions) return ret_data(200, get_value_dict(res), "ok")
def get(self, request: HttpRequest): position_id = request.GET.get("positionId") pr_dict = PositionResume.objects.filter(position_id=position_id) \ .exclude(position_resume_checked__exact=BaseModel.text2state("已删除")) \ .values('user__user_name', 'position_resume_time', 'resume__resume_name', 'resume__resume_type', 'resume__resume_size', 'resume__resume_id', 'resume__resume_file') \ .order_by("-position_resume_time") return ret_data( 200, get_value_dict(get_job_value_dict(pr_dict, "resume__")), "ok")
def get(self, request: HttpRequest): user_id = request.GET.get('userId') # 没登录 if int(user_id) <= 0: all_positions = Position.objects.all().values( 'position_id', 'position_name', 'position_tags', 'position_region', 'position_min_wages', 'position_sender_position', 'position_max_wages', 'company__company_name', 'company__company_employees_num', 'company__company_financing_progress', 'company__company_owner__user_name', 'company__company_owner__user_avatar_url') data = { "intent": None, "positions": get_value_dict(all_positions), } return ret_data(200, data, "not login") # 登录了 else: intent = JobIntent.objects.filter(user_id=user_id) if len(intent) > 0: rec = Recommend(intent[0]) rec.run(user_id, 10) result = rec.get_filter_positions() recommend = rec.get_recommend_positions() if recommend: all_result = result | recommend else: all_result = result intent = JobIntent.objects.filter(user_id=user_id)[0] data = { "intent": intent.dict(), "positions": get_value_dict(get_std_job_data(all_result)), } return ret_data(200, data, "logged in") else: return ret_data(200, None, "user has no intent")
def get(self, request: HttpRequest): position_id = request.GET.get("positionId") user_id = request.GET.get("userId") Thread(target=self._create_or_update_history, args=(position_id, user_id)).start() position = Position.objects.filter(pk=position_id) \ .values('position_id', 'position_name', 'position_min_wages', 'position_max_wages', 'position_region', 'position_experience', 'position_education', 'company__company_owner__user_avatar_url', 'company__company_owner__user_name', 'company__company_name', 'position_sender_position', 'position_detail', 'position_tags', 'company__company_logo', 'position_detailed_location', 'company__company_financing_progress', 'company__company_employees_num') return ret_data(200, get_value_dict(position), "ok")