def api_mod_expert_user(request): log_request(request) try: expert_id = getp(request.POST.get("expert_id"), u"专家ID") # cur_user_id = getp(request.POST.get("cur_user_id"), u"当前用户id") username = getp(request.POST.get("username"), u"用户名") name = getp(request.POST.get("name"), u"姓名") sex = getp(request.POST.get("sex"), u"性别") # area_name = getp(request.POST.get("area_name"), u"地域名称", nullable=True) institution = getp(request.POST.get("institution"), u"组织名称", nullable=True) # manage_direct = getp(request.POST.get("manage_direct"), u"直属标志", nullable=True) image_id = getp(request.POST.get("image_id", ""), u"头像图片", nullable=True) position = getp(request.POST.get("position", ""), u"职位信息", nullable=True) introduction = getp(request.POST.get("introduction", ""), u"个人介绍", nullable=True) area_id = getp(request.POST.get("area_id"), u"区域ID", nullable=True) direct_area_id = getp(request.POST.get("direct_area_id"), u"哪一个区域直属", nullable=True) except InvalidHttpParaException as ex: logger.exception(ex) return response_parameter_error(ex) try: result = services.mod_expert_user(request.user, expert_id, username, name, sex, institution, image_id, position, introduction, area_id, direct_area_id) except Exception as ex: logger.exception(ex) return response_exception(ex, ex.message) log_response(request, result) return response200(result)
def api_list_file(request): try: activity_id = request.POST.get("activity_id", "") file_name = request.POST.get("file_name", "") work_id = request.POST.get("work_id", "") cur_user_id = getp(request.POST.get('cur_user_id'), nullable=True, para_intro='当前用户ID') cur_user = '' dictResp = agents.list_file(request.user, cur_user, activity_id, file_name, work_id) log_response(request, dictResp) return HttpResponse(json.dumps(dictResp, ensure_ascii=False), content_type="application/json") except Exception as ex: sErrInfo = traceback.format_exc() logger.error(sErrInfo) dictResp = {"c": -1, "m": ex.message} return HttpResponse(json.dumps(dictResp, ensure_ascii=False), content_type="application/json")
def api_upload_file(request): try: file_obj = request.FILES['file'] activity_id = request.POST.get("activity_id", 0) cur_user_id = getp(request.POST.get('cur_user_id'), nullable=True, para_intro='当前用户ID') dictResp = agents.upload_file(user=request.user, file_obj=file_obj, activity_id=activity_id, cur_user_id=cur_user_id) log_response(request, dictResp) return HttpResponse(json.dumps(dictResp, ensure_ascii=False), content_type="application/json") except Exception as ex: sErrInfo = traceback.format_exc() logger.error(sErrInfo) dictResp = {"c": -1, "m": ex.message} return HttpResponse(json.dumps(dictResp, ensure_ascii=False), content_type="application/json")
def page_common_test(request): """ 功能说明: page页面 """ log_request(request) try: quest_type = getp(request.GET.get('quest_type'), nullable=True, para_intro='生成题目类型') num = getp(request.GET.get('num'), nullable=True, para_intro='题目数量') except InvalidHttpParaException as ihpe: logger.exception(ihpe) return response_parameter_error(ihpe) try: params = services.page_common_test(request, quest_type, num) except Exception as e: logger.exception(e) return response_exception(e) log_response(request, params) return render_to_response('html/test.html', params)
def api_practice_list_quest(request): """ 功能说明: 题目列表 """ log_request(request) try: quest_type = getp(request.GET.get('quest_type'), nullable=False, para_intro='生成题目类型') num = getp(request.GET.get('num'), nullable=False, para_intro='题目数量') except InvalidHttpParaException as ihpe: logger.exception(ihpe) return response_parameter_error(ihpe) try: result = services.api_practice_list_quest(request, quest_type, num) except Exception as e: logger.exception(e) return response_exception(e) log_response(request, result) return response200({'c': SUCCESS[0], 'm': SUCCESS[1], 'd': result})
def page_practice_list_quest(request): """ 功能说明: 题目列表页面 """ log_request(request) try: quest_type = getp(request.GET.get('quest_type'), nullable=False, para_intro='生成题目类型') # 多种类型以逗号隔开 num = getp(request.GET.get('num'), nullable=False, para_intro='题目数量') except InvalidHttpParaException as ihpe: logger.exception(ihpe) return response_parameter_error(ihpe) try: params = services.get_quest_list_page_param(request, quest_type, num) except Exception as e: logger.exception(e) return response_exception(e) log_response(request, params) return render_to_response('html/practice/index.html', params)
def api_add_user(request): log_request(request) try: username = getp(request.POST.get("username"), u"用户名", nullable=False) name = getp(request.POST.get("name"), u"名称", nullable=False) sex = getp(request.POST.get("sex"), u"性别", nullable=False) # area_name = getp(request.POST.get("area_name"), u"地区", nullable=False) # current_user_id = getp(request.POST.get("current_user_id"), u'当前用户', nullable=False) # manage_direct = getp(request.POST.get("manage_direct"), u"直属标志", nullable=True) area_id = getp(request.POST.get("area_id"), u"区域ID", nullable=True) direct_area_id = getp(request.POST.get("direct_area_id"), u"哪一个区域直属", nullable=True) institution = getp(request.POST.get("institution"), u"组织名称", nullable=True) except InvalidHttpParaException as ex: logger.exception(ex) return response_parameter_error(ex) try: result = services.add_user(request.user, username, name, sex, area_id, direct_area_id, institution) except Exception as ex: logger.exception(ex) return response_exception(ex, ex.message) log_response(request, result) return response200(result)
def api_login(request): log_request(request) try: username = getp(request.POST.get("username"), u"用户名", nullable=True) password = getp(request.POST.get("password"), u"密码", nullable=True) confirm_code = getp(request.POST.get('confirm_code'), nullable=True, para_intro='用户确认码') except InvalidHttpParaException as ex: logger.exception(ex) return response_parameter_error(ex) try: if confirm_code: # 如果传了confirm_code则直接用确认码进行登陆 if services.api_confirmcode_login(request, confirm_code): return response200({"c": SUCCESS[0], "m": SUCCESS[1]}) else: return response200({"c": ERR_LOGIN_FAIL[0], "m": ERR_LOGIN_FAIL[1]}) if services.login(request, username=username, password=password): result = {"c": SUCCESS[0], "m": SUCCESS[1]} log_response(request, result) response = response200(result) # response.set_cookie('account', json.dumps(services.detail_account(request.user), ensure_ascii=False), max_age=SESSION_COOKIE_AGE) un = json.dumps(services.detail_account(request.user), ensure_ascii=False) # response.set_cookie("username", un) # UnicodeEncodeError! un2 = un.encode('utf8') import base64 un3 = base64.b64encode(un) # 向cookie中写入用户资料,避免前端重复查询。 # response.set_cookie('account', un3, max_age=SESSION_COOKIE_AGE) return response else: result = {"c": ERR_LOGIN_FAIL[0], "m": ERR_LOGIN_FAIL[1]} except Exception as ex: logger.exception(ex) return response_exception(ex, ex.message) log_response(request, result) return response200(result)
def api_account_reg(request): log_request(request) try: name = getp(request.POST.get('name'), nullable=False, para_intro='姓名') sex = getp(request.POST.get('sex'), nullable=False, para_intro='性别') area_id = getp(request.POST.get('area_id'), nullable=True, para_intro='地区id') area_name = getp(request.POST.get("area_name"), u"地域名称", nullable=True) manage_direct = getp(request.POST.get("manage_direct"), u"直属标志", nullable=True) institution = getp(request.POST.get('institution'), nullable=True, para_intro='机构') position = getp(request.POST.get('position'), nullable=True, para_intro='职务') region_id = getp(request.POST.get('region_id'), nullable=True, para_intro='区域id') email = getp(request.POST.get('email'), nullable=True, para_intro='区域id') mobile = getp(request.POST.get('mobile'), nullable=False, para_intro='电话号码') smscode = getp(request.POST.get('smscode'), nullable=False, para_intro='短信验证码') password = getp(request.POST.get('password'), nullable=False, para_intro='密码') is_only_checkparam = getp(request.POST.get('is_only_checkparam'), nullable=True, para_intro='是否仅做参数验证') confirm_code = getp(request.POST.get('confirm_code'), nullable=True, para_intro='微信注册确认码') except InvalidHttpParaException as ihpe: logger.exception(ihpe) return response_parameter_error(ihpe) try: if is_only_checkparam: result = services.check_account_reg_param(request, name, sex, area_id, area_name, manage_direct, institution, position, region_id, email, mobile, smscode, password, confirm_code) else: result = services.api_account_reg(request, name, sex, area_id, area_name, manage_direct, institution, position, region_id, email, mobile, smscode, password, confirm_code) except Exception as e: logger.exception(e) return response_exception(e) log_response(request, result) return response200({'c': SUCCESS[0], 'm': SUCCESS[1], 'd': result})
def api_list_user(request): # 查询用户在地区下的所有用户,例如我是湖北省用户,则查询结果为湖北省各地市的用户。即用户库 log_request(request) try: area_name = getp(request.POST.get("area_name"), u"区域名称", nullable=True) name = getp(request.POST.get("name"), u"名字", nullable=True) cur_user_id = getp(request.POST.get("cur_user_id"), u"用户id", nullable=False) activity_id = getp(request.POST.get("activity_id"), u"活动ID", nullable=True, default='') only_can_add = getp(request.POST.get("only_can_add"), u"仅查询可添加到活动中的用户", nullable=True, default='') is_show_store = getp(request.POST.get("is_show_store"), u"是否仅查询用户库中数据", nullable=True, default='1') except InvalidHttpParaException as ex: logger.exception(ex) return response_parameter_error(ex) try: result = services.list_user(request.user, cur_user_id, area_name, name, is_show_store, activity_id, only_can_add) except Exception as ex: logger.exception(ex) return response_exception(ex, ex.message) if result['c'] != SUCCESS[0]: return response200(result) result = paging_with_request(request, result) log_response(request, result) return response200(result)
def api_list_level_statistics(request): try: activity_id = getp(request.POST.get("activity_id"), u"活动ID", nullable=False) area_id = getp(request.POST.get("area_id"), u"区域ID", nullable=True) direct_level = getp(request.POST.get("direct_level"), u"直属等级(4:省直属,2市直属)", nullable=True) dictResp = agents.list_level_statistics(user=request.user, activity_id=activity_id, area_id=area_id, direct_level=direct_level) log_response(request, dictResp) return HttpResponse(json.dumps(dictResp, ensure_ascii=False), content_type="application/json") except Exception as ex: sErrInfo = traceback.format_exc() logger.error(sErrInfo) dictResp = {"c": -1, "m": ex.message} return HttpResponse(json.dumps(dictResp, ensure_ascii=False), content_type="application/json")