def ReceiveAlunmiInfo(request): ''' 描述:接收清华人回调请求,存储用户信息 参数:request 成功返回 { "result": "success" } 失败则是 { "errid":xxx, "errmsg":"xxxx" } ''' Success = True Return = {} Info = {} TheParam = {} TheJson = {} Reason = "" ErrorId = Constants.UNDEFINED_NUMBER TheContent = {} TheRequestID = "" if Success: try: TheContent = json.loads(request.body)["data"] except: Success = False ErrorId = Constants.ERROR_CODE_INVALID_PARAMETER Reason = "请求参数不合法" if Success: ReturnResult = UserManager.AddUser(TheContent) if ReturnResult["result"] != "success": Success = False ErrorId = ReturnResult["code"] Reason = ReturnResult["reason"] if Success: Return["result"] = "success" else: Return["errid"] = ErrorId Return["errmsg"] = Reason Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response
def ChangeActivityDetail(request): ''' 描述:处理修改活动请求 参数:request 成功只返回 { "result": "success" } 失败则是 { "errid":xxx, "errmsg":"xxxx" } ''' Success = True Return = {} Reason = "" ErrorID = Constants.UNDEFINED_NUMBER TheSession = "" TheActivity = 0 TheUserID = "" Data = {} #获取请求数据 if Success: try: TheSession = request.GET.get("session") TheActivity = int(request.GET.get("activityId")) Data = json.loads(request.body) except: Success = False Reason = "请求参数不合法!" ErrorID = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录, 获取待查询的openid if Success: try: TheUserID = UserManager.GetCurrentUser(TheSession) if TheUserID == None: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR #判断是否被封禁 if Success: JudgeResult = JudgeValid.JudgeUserValid(TheUserID) if JudgeResult != True: Success = False Reason = "用户已被封禁,不能操作!!" ErrorID = Constants.ERROR_CODE_INVALID_CHANGE #调用数据库函数 if Success: try: Info = ActivityManager.ChangeActivityDetail( TheUserID, TheActivity, Data) if Info["result"] != "success": Success = False Reason = Info["reason"] ErrorID = Info["code"] except: Success = False Reason = "修改活动详情失败" ErrorID = Constants.ERROR_CODE_UNKNOWN if Success: Return["result"] = "success" else: Return["errmsg"] = Reason Return["errid"] = ErrorID Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response
def ChangeActivity(request): ''' 描述:处理修改活动请求 参数:request 成功只返回 { "result": "success" } 失败则是 { "errid":xxx, "errmsg":"xxxx" } ''' Success = True Return = {} Reason = "" ErrorID = Constants.UNDEFINED_NUMBER TheSession = "" TheUserID = "" Data = {} NeedPush = False #获取请求数据 if Success: try: TheSession = request.GET.get("session") Data = json.loads(request.body) try: TheNeedPush = request.GET.get("needPush") if int(TheNeedPush) > 0: NeedPush = True except: NeedPush = False except: Success = False Reason = "请求参数不合法!" ErrorID = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录, 获取待查询的openid if Success: try: TheUserID = UserManager.GetCurrentUser(TheSession) if TheUserID == None: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR #判断是否被封禁 if Success: JudgeResult = JudgeValid.JudgeUserValid(TheUserID) if JudgeResult != True: Success = False Reason = "用户已被封禁,不能操作!!" ErrorID = Constants.ERROR_CODE_INVALID_CHANGE #调用数据库函数 if Success: try: Info = ActivityManager.ChangeActivity(TheUserID, Data) if Info["result"] != "success": Success = False Reason = Info["reason"] ErrorID = Info["code"] except: Success = False Reason = "修改活动失败" ErrorID = Constants.ERROR_CODE_UNKNOWN if Success: Return["result"] = "success" else: Return["errmsg"] = Reason Return["errid"] = ErrorID Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 #发送消息 if Success and NeedPush: TimeManager.SendTimedMessageActivity( Data["id"], Constants.MESSAGE_TYPE_ACTIVITY_CHANGE) print("send change") return Response
def DeleteActivity(request): ''' 描述:处理删除单个活动信息请求 参数:request 成功返回 { "result": "success" } 失败则是 { "errid":xxx, "errmsg":"xxxx" } ''' Success = True Return = {} Info = {} Reason = "" ErrorID = Constants.UNDEFINED_NUMBER TheSession = "" TheActivity = Constants.UNDEFINED_NUMBER TheUserID = "" #获取请求数据 if Success: try: TheSession = request.GET.get("session") TheActivity = int(request.GET.get("activityId")) except: Success = False Reason = "请求参数不合法!" ErrorID = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录,获取待查询的openid if Success: try: TheUserID = UserManager.GetCurrentUser(TheSession) if TheUserID == None: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR #判断是否被封禁 if Success: JudgeResult = JudgeValid.JudgeUserValid(TheUserID) if JudgeResult != True: Success = False Reason = "用户已被封禁,不能操作!!" ErrorID = Constants.ERROR_CODE_INVALID_CHANGE #调用数据库函数 if Success: try: Info = ActivityManager.DeleteActivity(TheUserID, TheActivity) #print(Info) if Info["result"] != "success": Success = False Reason = Info["reason"] ErrorID = Info["code"] except: Success = False Reason = "删除活动失败!" ErrorID = Constants.ERROR_CODE_NOT_FOUND if Success: Return = Info else: Return["errid"] = ErrorID Return["errmsg"] = Reason Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 if Success: TimeManager.SendTimedMessageActivity( TheActivity, Constants.MESSAGE_TYPE_ACTIVITY_CANCEL) print("send cancel") return Response
def StartActivity(request): ''' 描述:处理添加活动请求 参数:request 成功返回: { “id”:”0000001”(活动id) } 失败返回: {"errid": 101, "errmsg": "身份信息不存在"} ''' Success = True Return = {} Info = {} RequestBody = {} ErrorId = Constants.UNDEFINED_NUMBER Reason = "" TheSession = "" SelfOpenID = "" #print(request.POST) #获取请求数据 if Success: try: TheSession = request.GET.get("session") except: Success = False Reason = "请求参数不合法!" ErrorId = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录, 获取待查询的openid if Success: try: SelfOpenID = UserManager.GetCurrentUser(TheSession) if SelfOpenID == None: Success = False Reason = "用户未登录!" ErrorId = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorId = Constants.ERROR_CODE_LOGIN_ERROR #判断是否被封禁 if Success: JudgeResult = JudgeValid.JudgeUserValid(SelfOpenID) if JudgeResult != True: Success = False Reason = "用户已被封禁,不能操作!!" ErrorId = Constants.ERROR_CODE_INVALID_CHANGE #调用数据库函数进行操作 if Success: try: RequestBody = json.loads(request.body) Info = ActivityManager.AddActivity(SelfOpenID, RequestBody) except: Success = False Reason = "请求参数不合法!" ErrorId = Constants.ERROR_CODE_INVALID_PARAMETER if Success: if Info["result"] == "success" or Info["result"] == "needAudit": Return["activityId"] = str(Info["activityId"]) Return["result"] = Info["result"] else: if ErrorId == Constants.UNDEFINED_NUMBER: Success = False Return["errmsg"] = Info["reason"] Return["errid"] = Info["code"] else: Return["errid"] = ErrorId Return["errmsg"] = Reason Response = JsonResponse(Return) if Success: Response.status_code = 200 else: Response.status_code = 400 return Response
def QueryActivityDetail(request): ''' 描述:处理查询单个活动详情请求 参数:request 成功返回活动信息 失败则是 { "errid":xxx, "errmsg":"xxxx" } ''' Success = True Return = {} Info = {} SelfInfo = {} Reason = "" ErrorID = Constants.UNDEFINED_NUMBER TheSession = "" TheActivity = Constants.UNDEFINED_NUMBER TheUserID = "" #获取请求数据 if Success: try: TheSession = request.GET.get("session") TheActivity = int(request.GET.get("activityId")) except: Success = False Reason = "请求参数不合法!" ErrorID = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录,获取待查询的openid if Success: try: TheUserID = UserManager.GetCurrentUser(TheSession) if TheUserID == None: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR #调用数据库函数 if Success: try: Info = ActivityManager.ShowActivityDetail(TheActivity) if Info["result"] != "success": Success = False Reason = Info["reason"] ErrorID = Info["code"] except: Success = False Reason = "查询活动详情失败!" ErrorID = Constants.ERROR_CODE_NOT_FOUND if Success: Return = Info else: Return["errid"] = ErrorID Return["errmsg"] = Reason Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response
def QueryEducationTypes(request): ''' 描述:处理查询所有教育类型 参数:request 成功返回全部教育类型 失败则是 { "errid":xxx, "errmsg":"xxxx" } ''' Success = True Return = {} Info = {} Reason = "" ErrorID = Constants.UNDEFINED_NUMBER TheSession = "" TheUserID = "" #获取请求数据 if Success: try: TheSession = request.GET.get("session") except: Success = False Reason = "请求参数不合法!" ErrorID = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录,获取待查询的openid if Success: try: TheUserID = UserManager.GetCurrentUser(TheSession) if TheUserID == None: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR #调用数据库函数 if Success: try: Info = GlobalFunctions.ShowAllEducationType() #print(Info) if Info == {}: Success = False Reason = "查询教育类型列表失败!" ErrorID = Constants.ERROR_CODE_NOT_FOUND except: Success = False Reason = "查询教育类型列表失败!" ErrorID = Constants.ERROR_CODE_NOT_FOUND if Success: Return = Info else: Return["errid"] = ErrorID Return["errmsg"] = Reason Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response
def RecommendActivityByUser(request): ''' 描述:处理按照用户推荐请求 参数:request 成功返回活动列表 失败则是 { "errid":xxx, "errmsg":"xxxx" } ''' Success = True Return = {} Info = {} ErrorInfo = {} Reason = "" ErrorID = Cons = "" TheUserID = "" SearchWord = "" Most = Constants.UNDEFINED_NUMBER #获取请求数据 if Success: try: TheSession = request.GET.get("session") Most = int(request.GET.get("most")) except: Success = False Reason = "请求参数不合法!" Code = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录,获取待查询的openid if Success: try: TheUserID = UserManager.GetCurrentUser(TheSession) if TheUserID == None: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR #调用数据库函数 if Success: try: Info, ErrorInfo = SearchAndRecommend.RecommendActivityByUser( TheUserID) #print(Info) if Info == {}: Success = False Reason = ErrorInfo["reason"] ErrorID = ErrorInfo["code"] else: Info["activityList"] = SearchAndRecommend.ShowRandomInfo( Info["activityList"], Most) except: Success = False Reason = "推荐活动失败!" ErrorID = Constants.ERROR_CODE_NOT_FOUND if Success: Return = Info else: Return["errid"] = ErrorID Return["errmsg"] = Reason Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response
def SetExtraData(request): ''' 描述:处理设置用户补充信息请求 参数:request 成功返回: { “result”:“success” } 失败返回: {"errid": 101, "errmsg": "身份信息不存在"} ''' Success = True Return = {} Info = {} RequestBody = {} ErrorId = Constants.UNDEFINED_NUMBER Reason = "" TheSession = "" SelfOpenID = "" TheURL = "" #获取请求数据 if Success: try: TheSession = request.GET.get("session") except: Success = False Reason = "请求参数不合法!" ErrorId = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录,获取待查询的openid if Success: try: SelfOpenID = UserManager.GetCurrentUser(TheSession) if SelfOpenID == None: Success = False Reason = "用户未登录!" ErrorId = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorId = Constants.ERROR_CODE_LOGIN_ERROR #判断是否被封禁 if Success: JudgeResult = JudgeValid.JudgeUserValid(SelfOpenID) if JudgeResult != True: Success = False Reason = "用户已被封禁,不能操作!!" ErrorId = Constants.ERROR_CODE_INVALID_CHANGE #调用数据库函数进行操作 if Success: try: RequestBody = json.loads(request.body) except: Success = False Reason = "请求参数不合法!" ErrorId = Constants.ERROR_CODE_INVALID_PARAMETER if Success: try: QueryResult = UserManager.SetUserExtraData(SelfOpenID, RequestBody) if QueryResult["result"] != "success": Success = False Reason = QueryResult["reason"] ErrorId = QueryResult["code"] except: Success = False Reason = "设置头像url失败!" ErrorId = Constants.ERROR_CODE_UNKNOWN if Success: Return["result"] = "success" else: Return["errid"] = ErrorId Return["errmsg"] = Reason Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response
def LoginUser(request): ''' 描述:处理登录请求 参数:request 成功返回: { "result": "success", "session": "123456abcdef", "openId": "asfsfs" } 失败返回: {"errid": 101, "errmsg": "身份信息不存在"} ''' Success = True Return = {} Info = {} TheParam = {} ErrorId = Constants.UNDEFINED_NUMBER Reason = "" TheCode = "" TheSession = "" TheOpenID = "" TheSessionKey = "" if Success: try: TheCode = request.GET.get("code") except: Success = False ErrorId = Constants.ERROR_CODE_INVALID_PARAMETER Reason = "请求参数不合法!" if Success: try: TheParam = {} TheParam = GlobalFunctions.GetAppIDWechat() TheParam["js_code"] = TheCode TheParam["grant_type"] = "authorization_code" except: Success = False ErrorId = Constants.ERROR_CODE_INVALID_PARAMETER Reason = "请求参数不合法!" #换取openid 和 key #print(TheParam) if Success: try: TheRequest = requests.get( "https://api.weixin.qq.com/sns/jscode2session", params=TheParam, timeout=(5, 10), allow_redirects=True) except: Success = False ErrorId = Constants.ERROR_CODE_NETWORK_ERROR Reason = "网络繁忙,访问超时!" if Success: try: if TheRequest.status_code < 200 or TheRequest.status_code >= 400: Success = False ErrorId = Constants.ERROR_CODE_NETWORK_ERROR Reason = "网络繁忙,访问微信失败!!" TheJson = TheRequest.json() #print(TheJson) if "errcode" in TheJson: if TheJson["errcode"] == -1: Success = False ErrorId = Constants.ERROR_CODE_NETWORK_ERROR Reason = "网络繁忙,访问微信失败!" elif TheJson["errcode"] == 40029: Success = False ErrorId = Constants.ERROR_CODE_INVALID_PARAMETER Reason = "Code无效!" elif TheJson["errcode"] == 45011: Success = False ErrorId = Constants.ERROR_CODE_INVALID_CHANGE Reason = "访问过于频繁,每个用户每分钟最多访问100次!" elif TheJson["errcode"] != 0: Success = False ErrorId = Constants.ERROR_CODE_NETWORK_ERROR Reason = TheJson["errmsg"] except: Success = False ErrorId = Constants.ERROR_CODE_NETWORK_ERROR Reason = "网络繁忙,访问微信失败!" if Success: try: TheOpenID = TheJson["openid"] TheSessionKey = TheJson["session_key"] except: Success = False ErrorId = Constants.ERROR_CODE_NETWORK_ERROR Reason = "网络繁忙,访问微信失败!" if Success: try: TheSession = GlobalFunctions.GenerateSessionID() except: Success = False ErrorId = Constants.ERROR_CODE_UNKNOWN Reason = "生成session失败!" if Success: try: Return = UserManager.AddUserID(TheOpenID, TheSessionKey, TheSession) except: Success = False ErrorId = Constants.ERROR_CODE_UNKNOWN Reason = "访问数据库失败!" if Success == False: Return["errid"] = ErrorId Return["errmsg"] = Reason Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response
def GetAlumniInfo(request): ''' 描述:获取校友信息 参数:request 成功返回: { "params": { "appId": "wx1ebe3b2266f4afe0", "path": "pages/index/index", "envVersion": "develop", "extraData": { "origin": "miniapp", "ticket": "52ec7c69-9d7c-4495-b07f-7e10ab4ad24f", "type": "oauth" } } } 失败返回: {"errid": 101, "errmsg": "身份信息不存在"} ''' Success = True Return = {} Info = {} TheParam = {} TheJson = {} ErrorId = Constants.UNDEFINED_NUMBER Reason = "" TheSession = "" TheOpenID = "" TheSessionKey = "" if Success: try: TheSession = request.GET.get("session") except: Success = False ErrorId = Constants.ERROR_CODE_INVALID_PARAMETER Reason = "请求参数不合法!" if Success: try: TheParam = GlobalFunctions.GetAppIDThis() except: Success = False ErrorId = Constants.ERROR_CODE_INVALID_PARAMETER Reason = "请求参数不合法!" #换取openid 和 key #print(TheParam) if Success: try: TheRequest = requests.post( "https://alumni-test.iterator-traits.com/fake-info-tsinghua-org/mp/oauth/initiate/miniapp", data=json.dumps(TheParam), timeout=(5, 10), allow_redirects=True) except: Success = False ErrorId = Constants.ERROR_CODE_NETWORK_ERROR Reason = "网络繁忙,访问超时!" #print(TheRequest) if Success: try: if TheRequest.status_code < 200 or TheRequest.status_code >= 400: Success = False ErrorId = Constants.ERROR_CODE_NETWORK_ERROR Reason = "网络繁忙,访问清华人失败!!" TheJson = TheRequest.json() TheRequestID = TheJson["requestId"] Info = TheJson["params"] except: Success = False ErrorId = Constants.ERROR_CODE_NETWORK_ERROR Reason = "网络繁忙,访问清华人失败!" if Success: if UserManager.AddRequestID(TheSession, TheRequestID) != True: Success = False ErrorId = Constants.ERROR_CODE_LOGIN_ERROR Reason = "用户未登录!" if Success == False: Return["errid"] = ErrorId Return["errmsg"] = Reason else: Return["params"] = Info Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response
def CheckInActivity(request): ''' 描述:处理签到活动请求 参数:request 成功只返回 { "result": "success" } 失败则是 { "errid":xxx, "errmsg":"xxxx" } ''' Success = True Return = {} Reason = "" ErrorID = Constants.UNDEFINED_NUMBER TheSession = "" TheActivity = Constants.UNDEFINED_NUMBER TheUserID = "" TheJoinReason = None #获取请求数据 if Success: try: TheSession = request.GET.get("session") TheActivity = int(request.GET.get("activityId")) try: TheCode = request.GET.get("code") except: TheCode = None try: TheDistance = int(request.GET.get("distance")) except: TheDistance = None except: Success = False Reason = "请求参数不合法!" ErrorID = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录, 获取待查询的openid if Success: try: TheUserID = UserManager.GetCurrentUser(TheSession) if TheUserID == None: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR #判断是否被封禁 if Success: JudgeResult = JudgeValid.JudgeUserValid(TheUserID) if JudgeResult != True: Success = False Reason = "用户已被封禁,不能操作!!" ErrorID = Constants.ERROR_CODE_INVALID_CHANGE #调用数据库函数添加活动 if Success: try: Info = UserActivityManager.CheckInActivity(TheUserID, TheActivity, TheCode, TheDistance) #print(Info) if Info["result"] != "success": Success = False Reason = Info["reason"] ErrorID = Info["code"] except: Success = False Reason = "签到失败" ErrorID = Constants.ERROR_CODE_UNKNOWN if Success: Return["result"] = "success" else: Return["errid"] = ErrorID Return["errmsg"] = Reason Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response
def RemoveFromActivity(request): ''' 描述:将用户踢出活动 参数:request 返回:成功{result:success} 失败:{result:fail,errmsg:xxx,errid:xxx} ''' Success = True Return = {} Reason = "" ErrorID = Constants.UNDEFINED_NUMBER TheSession = "" TheManagerID = "" TheUserID = "" TheActivityID = -1 WhetherPass = "" #获取请求数据 if Success: try: TheSession = request.GET.get("session") TheUserID = request.GET.get("userId") TheActivityID = int(request.GET.get("activityId")) except: Success = False Reason = "请求参数不合法!" ErrorID = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录, 获取待查询的openid if Success: try: TheManagerID = UserManager.GetCurrentUser(TheSession) if TheManagerID == None: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR #判断是否被封禁 if Success: JudgeResult = JudgeValid.JudgeUserValid(TheManagerID) if JudgeResult != True: Success = False Reason = "用户已被封禁,不能操作!!" ErrorID = Constants.ERROR_CODE_INVALID_CHANGE #调用数据库函数 if Success: try: Info = UserActivityManager.RemoveUser(TheManagerID, TheUserID, TheActivityID) if Info["result"] != "success": Success = False Reason = Info["reason"] ErrorID = Info["code"] except: Success = False Reason = "将用户移出活动失败" ErrorID = Constants.ERROR_CODE_UNKNOWN if Success: Return["result"] = "success" else: Return["errmsg"] = Reason Return["errid"] = ErrorID Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 if Success: TimeManager.SendTimedMessageUser(TheActivityID, TheUserID, Constants.MESSAGE_TYPE_KICK) print("send kick") return Response
def QueryAllAuditParticipants(request): ''' 描述:处理查询单个活动全部待审核成员信息请求--管理员 参数:request 成功返回待审核成员信息 失败则是 { "errid":xxx, "errmsg":"xxxx" } ''' Success = True Return = {} Info = {} ErrorInfo = {} Reason = "" ErrorID = Constants.UNDEFINED_NUMBER TheSession = "" TheActivity = Constants.UNDEFINED_NUMBER TheUserID = "" #获取请求数据 if Success: try: TheSession = request.GET.get("session") TheActivity = int(request.GET.get("activityId")) except: Success = False Reason = "请求参数不合法!" ErrorID = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录,获取待查询的openid if Success: try: TheUserID = UserManager.GetCurrentUser(TheSession) if TheUserID == None: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR #调用数据库函数 if Success: try: Info, ErrorInfo = UserActivityManager.ShowAllAuditMembers( TheUserID, TheActivity) if Info == {}: Success = False Reason = ErrorInfo["reason"] ErrorID = ErrorInfo["code"] except: Success = False Reason = "查询待审核成员信息失败!" ErrorID = Constants.ERROR_CODE_NOT_FOUND if Success: Return = Info else: Return["errid"] = ErrorID Return["errmsg"] = Reason Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response
def UploadActivityQRCode(request): ''' 描述:处理更新活动二维码请求 参数:request 成功返回 { 图片 } 失败则是 { "errid":xxx, "errmsg":"xxxx" } ''' Success = True Return = {} Info = {} Reason = "" TheImageName = "" TheImage = None ErrorID = Constants.UNDEFINED_NUMBER TheSession = "" TheActivity = Constants.UNDEFINED_NUMBER TheUserID = "" #获取请求数据 if Success: try: TheSession = request.GET.get("session") TheActivity = int(request.GET.get("activityId")) except: Success = False Reason = "请求参数不合法!" ErrorID = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录,获取待查询的openid if Success: try: TheUserID = UserManager.GetCurrentUser(TheSession) if TheUserID == None: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR #判断是否被封禁 if Success: JudgeResult = JudgeValid.JudgeUserValid(TheUserID) if JudgeResult != True: Success = False Reason = "用户已被封禁,不能操作!!" ErrorID = Constants.ERROR_CODE_INVALID_CHANGE #调用数据库函数 if Success: try: Info, TheImageName = ActivityManager.UploadActivityQRCode( TheUserID, TheActivity) #print(Info) if Info["result"] != "success": Success = False Reason = Info["reason"] ErrorID = Info["code"] except: Success = False Reason = "更新活动二维码失败!" ErrorID = Constants.ERROR_CODE_NOT_FOUND if Success: TheImage = open(TheImageName, "rb").read() Response = HttpResponse(TheImage, content_type="image/png") else: Return["errid"] = ErrorID Return["errmsg"] = Reason Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response
def QueryUser(request): ''' 描述:处理查询用户信息请求 参数:request 成功返回: { "name": "李肇阳", "campusIdentity": [ { "enrollmentYear": "2014", "department": "软件学院", "enrollmentType": "Undergraduate" }, { "enrollmentYear": "2018", "department": "软件学院", "enrollmentType": "Master" } ] } 失败返回: {"errid": 101, "errmsg": "身份信息不存在"} ''' Success = True Return = {} Info = {} ExtraInfo = {} ErrorId = Constants.UNDEFINED_NUMBER Reason = "" TheSession = "" SelfOpenID = "" TheOpenID = "" TheActivityID = None #print(request.POST) #获取请求数据 if Success: try: TheSession = request.GET.get("session") except: Success = False ErrorId = Constants.ERROR_CODE_INVALID_PARAMETER Reason = "请求参数不合法!" #判断是否登录, 获取待查询的openid if Success: try: TheResult = {} TheResult = UserManager.GetCurrentUserInQueryUser(TheSession) if TheResult["result"] == "success": SelfOpenID = TheResult["openId"] else: Success = False Reason = TheResult["reason"] ErrorId = TheResult["code"] except: Success = False ErrorId = Constants.ERROR_CODE_LOGIN_ERROR Reason = "用户未登录!" if Success: try: TheOpenID = request.GET.get("openId") if TheOpenID == None: TheOpenID = SelfOpenID except: TheOpenID = SelfOpenID try: TheActivityID = request.GET.get("activityId") except: TheActivityID = None #调用数据库函数查询信息 #print(SelfOpenID) if Success: try: Info = UserManager.QueryUser(TheOpenID) #print(Info) if Info == {}: Success = False Reason = "身份信息不存在!" ErrorId = Constants.ERROR_CODE_NOT_FOUND elif Info["name"] == "UNDEFINED": Success = False Reason = "身份信息尚未存储!" ErrorId = Constants.ERROR_CODE_NOT_STORED except: Success = False Reason = "身份信息不存在!" ErrorId = Constants.ERROR_CODE_NOT_FOUND #查询补充信息 if Success: try: ExtraInfo = UserManager.GetUserExtraData(SelfOpenID, TheOpenID, TheActivityID) if "extraData" in ExtraInfo: Info["extraData"] = ExtraInfo["extraData"] except: Success = False Reason = "查询用户信息失败!" ErrorId = Constants.ERROR_CODE_UNKNOWN if Success == True: Return = Info else: Return["errid"] = ErrorId Return["errmsg"] = Reason Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response
def SearchActivityAdvanced(request): ''' 描述:处理高级搜索活动请求 参数:request 成功返回活动列表 失败则是 { "errid":xxx, "errmsg":"xxxx" } ''' Success = True Return = {} Info = {} ErrorInfo = {} Reason = "" ErrorID = Constants.UNDEFINED_NUMBER TheSession = "" TheUserID = "" SearchWord = "" Data = {} TheLastSeenID = Constants.UNDEFINED_NUMBER TheMostNumber = Constants.UNDEFINED_NUMBER #获取请求数据 if Success: try: TheSession = request.GET.get("session") Data = json.loads(request.body) try: TheLastSeenID = int(request.GET.get("lastSeenId")) except: TheLastSeenID = Constants.UNDEFINED_NUMBER try: TheMostNumber = int(request.GET.get("most")) if TheMostNumber <= 0: Success = False Reason = "请求参数不合法!" ErrorID = Constants.ERROR_CODE_INVALID_PARAMETER except: TheMostNumber = Constants.UNDEFINED_NUMBER except: Success = False Reason = "请求参数不合法!" Code = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录,获取待查询的openid if Success: try: TheUserID = UserManager.GetCurrentUser(TheSession) if TheUserID == None: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR #调用数据库函数 if Success: try: Result, ErrorInfo = ActivityManager.AdvancedSearch( TheUserID, Data, TheLastSeenID, TheMostNumber) #print(Info) if Result == {}: Success = False Reason = ErrorInfo["reason"] ErrorID = ErrorInfo["code"] elif Result["activityList"] == []: Success = False Reason = "未找到任何符合条件的活动!" ErrorID = Constants.ERROR_CODE_RECOMMEND except: Success = False Reason = "搜索活动失败!" ErrorID = Constants.ERROR_CODE_UNKNOWN if Success: Return = Result else: Return["errid"] = ErrorID Return["errmsg"] = Reason Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response
def GetActivityList(request): ''' 描述:处理查询全部活动请求 参数:request 成功返回活动列表 失败则是 { "errid":xxx, "errmsg":"xxxx" } ''' Success = True Return = {} Info = {} ErrorInfo = {} Reason = "" ErrorID = Constants.UNDEFINED_NUMBER TheSession = "" TheUserID = "" TheLastID = Constants.UNDEFINED_NUMBER TheMostNumber = Constants.UNDEFINED_NUMBER #获取请求数据 if Success: try: TheSession = request.GET.get("session") try: TheLastID = int(request.GET.get("lastSeenId")) except: TheLastID = Constants.UNDEFINED_NUMBER try: TheMostNumber = int(request.GET.get("most")) if TheMostNumber <= 0: Success = False Reason = "请求参数不合法!" ErrorID = Constants.ERROR_CODE_INVALID_PARAMETER except: TheMostNumber = Constants.UNDEFINED_NUMBER except: Success = False Reason = "请求参数不合法!" ErrorID = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录,获取待查询的openid if Success: try: TheUserID = UserManager.GetCurrentUser(TheSession) if TheUserID == None: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR #调用数据库函数 if Success: try: Info, ErrorInfo = ActivityManager.ShowAllActivity( TheLastID, TheMostNumber) #print(Info) if Info == {}: Success = False Reason = ErrorInfo["reason"] ErrorID = ErrorInfo["code"] except: Success = False Reason = "查询活动列表失败!" ErrorID = Constants.ERROR_CODE_NOT_FOUND if Success: Return = Info else: Return["errid"] = ErrorID Return["errmsg"] = Reason Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response
def SearchActivity(request): ''' 描述:处理输入关键词搜索活动请求 参数:request 成功返回活动列表 失败则是 { "errid":xxx, "errmsg":"xxxx" } ''' Success = True Return = {} Info = {} ErrorInfo = {} Reason = "" ErrorID = Constants.UNDEFINED_NUMBER TheSession = "" TheUserID = "" SearchWord = "" TheLastSeenID = Constants.UNDEFINED_NUMBER TheMostNumber = Constants.UNDEFINED_NUMBER #获取请求数据 if Success: try: TheSession = request.GET.get("session") SearchWord = request.GET.get("searchWord") try: TheLastSeenID = int(request.GET.get("lastSeenId")) except: TheLastSeenID = Constants.UNDEFINED_NUMBER try: TheMostNumber = int(request.GET.get("most")) if TheMostNumber <= 0: Success = False Reason = "请求参数不合法!" ErrorID = Constants.ERROR_CODE_INVALID_PARAMETER except: TheMostNumber = Constants.UNDEFINED_NUMBER except: Success = False Reason = "请求参数不合法!" Code = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录,获取待查询的openid if Success: try: TheUserID = UserManager.GetCurrentUser(TheSession) if TheUserID == None: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR #调用数据库函数 if Success: try: TheSearcher = SearchAndRecommend.WhooshSearcher.Create() Info = TheSearcher.SearchInfo(SearchWord, TheLastSeenID, TheMostNumber) #print(Info) if "activityList" not in Info: Success = False Reason = "搜索活动失败!" ErrorID = Constants.ERROR_CODE_NOT_FOUND elif Info["activityList"] == []: Success = False Reason = "未找到任何符合条件的活动!" ErrorID = Constants.ERROR_CODE_RECOMMEND except: Success = False Reason = "搜索活动失败!" ErrorID = Constants.ERROR_CODE_NOT_FOUND if Success: Return = Info else: Return["errid"] = ErrorID Return["errmsg"] = Reason Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response
def UploadPicture(request): ''' 描述:处理上传图片 参数:request 成功返回url 失败则是 { "errid":xxx, "errmsg":"xxxx" } ''' Success = True Return = {} Info = {} Reason = "" ErrorID = Constants.UNDEFINED_NUMBER TheSession = "" TheUserID = "" TheData = None TheURL = "" #获取请求数据 if Success: try: TheSession = request.GET.get("session") TheData = request.FILES.get("file") except: Success = False Reason = "请求参数不合法!" ErrorID = Constants.ERROR_CODE_INVALID_PARAMETER #判断是否登录,获取待查询的openid if Success: try: TheUserID = UserManager.GetCurrentUser(TheSession) if TheUserID == None: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR except: Success = False Reason = "用户未登录!" ErrorID = Constants.ERROR_CODE_LOGIN_ERROR #调用数据库函数 if Success: try: Info = GlobalFunctions.UploadPicture(TheData) #print(Info) if Info["result"] == "success": TheURL = Info["url"] else: Success = False Reason = Info["reason"] ErrorID = Info["code"] except: Success = False Reason = "上传图片失败!" ErrorID = Constants.ERROR_CODE_NOT_FOUND if Success: Return["result"] = "success" Return["url"] = TheURL else: Return["errid"] = ErrorID Return["errmsg"] = Reason Response = JsonResponse(Return) if Success == True: Response.status_code = 200 else: Response.status_code = 400 return Response