Exemple #1
0
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)
Exemple #2
0
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")
Exemple #3
0
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")
Exemple #4
0
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)
Exemple #5
0
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})
Exemple #6
0
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)
Exemple #7
0
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)
Exemple #8
0
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)
Exemple #9
0
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})
Exemple #10
0
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)
Exemple #11
0
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")