def addstu(self): conf = self.conf host = self.host # uri=host+"/openapi-vocationalenroll/student/add" uri = host + conf["addstu"] headers = self.headers data = { "userId": "", "realName": "qwe", "orgId": "00001", "examNo": "", "idCardNo": "432522200203020001", "chinese": 0, "math": 0, "english": 0, "science": 0, "sociology": 0, "sport": 0, "experiment": 0, "comprehensive": 0, "feature": 0, "total": 0, "status": "", "userType": "1", "studentType": "0", "registrationNo": "20000000" } result = ljy_base.base().postHTTP(uri, data=json.dumps(data), headers=headers) result = ljy_base.base().ResultTextConvert(result) return result
def reportMajor(self): conf = self.conf host = self.host # uri=host+"/openapi-vocationalenroll/volunteer/" uri = host + conf["reportmajor"] headers = self.headers VolunteerInfo = self.getVolunteerInfo() data = VolunteerInfo orderNo = {"orderNo": 1} self.Majorinfo.update(orderNo) data["volunteerDetailVOList"] = [self.Majorinfo] data_add = {"volunteerApplyList": [self.Majorinfo]} data.update(data_add) if self.Majorinfo_2 is not None and self.Majorinfo_2 != "" and self.Majorinfo_2 != {}: orderNo = {"orderNo": 2} self.Majorinfo_2.update(orderNo) data["volunteerDetailVOList"].append(self.Majorinfo_2) data["volunteerApplyList"].append(self.Majorinfo_2) # print(data) result = ljy_base.base().postHTTP(uri, data=json.dumps(data), headers=headers) result = ljy_base.base().ResultTextConvert(result) print(result["serverResult"]["resultMessage"], ">reportMajor(%s)" % (self.username)) return result
def updateBasicInfo(self): conf = self.conf host = self.host # uri=host+"/openapi-vocationalenroll/volunteer/updateBasicInfo" uri = host + conf["updatebasicinfo"] headers = self.headers data = { "area": "null", "className": "%s" % (conf["classname"]), #班级 "guardianName": "%s%s" % (conf["guardianname"], self.runtimes), #监护人姓名 "guardianMobile": "%s" % (self.guardianmobile), #监护人联系方式 "address": "%s" % (conf["address"]), #家庭住址 "idcardNo": "%s" % (self.idCardNo), #idCardNo "registrationNo": "%s" % (self.registrationNo), #报考序号registrationNo "schoolName": "%s" % (self.schoolname), #初中学校 "studentNo": "%s" % (int(conf["studentno"]) + self.runtimes), #注册学籍号 "examNo": "%s" % (self.username), #username "studentName": "%s" % (self.realName), #realName "editable": "true" } result = ljy_base.base().postHTTP(uri, data=json.dumps(data), headers=headers) result = ljy_base.base().ResultTextConvert(result) print(result["serverResult"]["resultMessage"], ">updateBasicInfo(%s)" % (self.username)) return result
def sendMobileValidityCode(self, data=None): conf = self.conf host = self.host # uri=host+"/openapi-vocationalenroll/volunteer/getValidateCode" uri = host + conf["getvalidatecode"] headers = self.headers if data is None or data == '': data = {} else: data = data now_time = time.time() #防止数据库验证码时间不同,导致排序不稳定 if abs(now_time - self.start_time) > 1.0: pass else: # print(abs(now_time-self.start_time)) # print("wait 0.5s") time.sleep(0.5) result = ljy_base.base().postHTTP(uri, data=json.dumps(data), headers=headers) result = ljy_base.base().ResultTextConvert(result) if result["serverResult"]["resultMessage"] == "发送成功": return result else: print("%s>getValidateCode(%s)" % (result["serverResult"]["resultMessage"], self.username))
def login(self, code): conf = self.conf host = self.host # uri=host+"/openapi-vocationalenroll/login/tologin" uri = host + conf["login"] headers = self.headers username = self.username if self.username is None or self.username == '': username = self.getuserlist()[self.runtimes] self.username = username data = {"c": code, "n": username, "p": self.passwd, "v": ""} result = ljy_base.base().postHTTP(uri, data=json.dumps(data), headers=headers) result = ljy_base.base().ResultTextConvert(result) try: self.token = result["responseEntity"]["token"] self.userId = result["responseEntity"]["userId"] self.idCardNo = result["responseEntity"]["idCardNo"] self.registrationNo = result["responseEntity"]["registrationNo"] self.realName = result["responseEntity"]["realName"] self.loginMobile = result["responseEntity"]["loginMobile"] self.loginMobile = self.guardianmobile # self.guardianmobile=self.loginMobile self.headers["X-User-Uid"] = self.token self.headers["X-User-Account"] = self.userId #print(self.userId,">",username) except Exception: print( "error;error;error;error;error;error;error;error;%s:登录失败<%s>" % (username, result["serverResult"]["resultMessage"])) return result
def queryExamInfoForPage(self): conf = self.conf uri = conf["host"] + conf["queryexaminfoforpage"] headers = self.headers headers[ "Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8" params = {"_": ljy_base.base().timeStamp()} data = { "pageNo": 1, "pageSize": 4, "examPlanName": "%s" % (self.examname) } data = ljy_base.base()._urlencode(data) result = ljy_base.base().postHTTP(uri, params=params, data=data, headers=headers, cookies=self.cookies) result = ljy_base.base().ResultTextConvert(result) try: result = result["result"]["resultList"][0] except: ex = Exception("queryExamInfoForPage>>>%s" % (result)) raise ex self.paperId = result["paperId"] self.examPlanId = result["examPlanId"] self.examSubject = result["examSubjectId"] return result
def doUpdatePwd(self, login_result): if login_result["serverResult"][ "resultCode"] == "201": #201首次登录,200非首次 conf = self.conf host = self.host uri = host + conf["doupdatepwd"] headers = self.headers sendphone = {"to": self.guardianmobile} code_uuid = self.sendValidateCode(sendphone) graduateschoolId = self.getGraduateschoolList() ValidateCode = self.getMobileMSG() data = { "c": "%s" % (code_uuid), #发送手机验证码返回的uuid "cp": "%s" % (conf["updatepwd"]), #确认密码 "graduateschool": "%s" % (graduateschoolId), #初中学校 "idcardno": "%s" % (self.idCardNo), #身份证 "p": "%s" % (conf["updatepwd"]), #密码 "studentname": "%s" % (self.realName), #学生姓名 "tel": self.guardianmobile, #监护人手机号 "tno": "%s" % (self.username), "userid": "%s" % (self.userId), "v": "%s" % (ValidateCode) } #手机验证码 result = ljy_base.base().postHTTP(uri, data=json.dumps(data), headers=headers) result = ljy_base.base().ResultTextConvert(result) print(result["serverResult"]["resultMessage"], result["serverResult"]["internalMessage"], ">doUpdatePwd(%s)" % (self.username)) else: pass
def saveQuestion_QandA(self): conf = self.conf uri = conf["host"] + conf["savequestion"] headers = self.headers headers["Content-Type"] = "application/json;charset=UTF-8" for i in range(30): data = { "title": "数据建造—简答题%s<br>" % (i + 30), "note": "123<br>", "answerList": [{ "content": "<p>123</p>", "sequenceNo": 0 }], "typeLevel": "5", "labelId": "6", "defaultScore": "5", "gradeName": "1", "subjectName": "100000000007", "paragraphId": "PRIMARY_SCHOOL", "degree": "1", "knowledge": ["CNBJTW0100000001118"], "fileList": [], "noteFileList": [], "questionType": "0" } result = ljy_base.base().postHTTP(uri, data=json.dumps(data).replace( " ", ""), headers=headers, cookies=self.cookies) result = ljy_base.base().ResultTextConvert(result)
def login(self): conf = self.conf host = self.host uri = host + conf["login"] headers = self.headers headers[ "Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8" username = self.username if self.username is None or self.username == '': username = self.getuserlist()[self.runtimes] self.username = username params = {"_": ljy_base.base().timeStamp()} loginId = self.getloginId() data = { "loginId": "%s" % (loginId), "applicationId": "", "rememberPwd": True } data = ljy_base.base()._urlencode(data) result = ljy_base.base().postHTTP(uri, params=params, data=data, headers=headers, cookies=self.cookies) result = ljy_base.base().ResultTextConvert(result) try: self.userId = result["userLoginInfo"]["userId"] # print(self.userId,">",username) except Exception: ex = Exception( "error;error;error;error;error;error;error;error;'%s':登录失败<%s>" % (username, result["serverResult"]["resultMessage"])) raise ex return result
def examstart(self): conf = self.conf uri = conf["host"] + conf["examstart"] headers = self.headers headers[ "Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8" # headers_add={"Referer": "%s/examination/paper/exercise?paperId=%s"%(conf["host"],self.paperId)} # headers.update(headers_add) data = { "paperId": "%s" % (self.paperId), "examPlanId": "%s" % (self.examPlanId), "examSubject": "%s" % (self.examSubject) } data = ljy_base.base()._urlencode(data) result = ljy_base.base().postHTTP(uri, data=data, headers=headers, cookies=self.cookies) result = ljy_base.base().ResultTextConvert(result) try: self.paperStatusId = result["paperStatusId"] except: if conf["paperstatusid_temp"] == "" or conf[ "paperstatusid_temp"] is None: ex = Exception("paperStatusId False!>>>%s" % (result)) raise ex else: self.paperStatusId = conf["paperstatusid_temp"] return result
def saveMajor(self): conf = self.conf host = self.host # uri=host+"/openapi-vocationalenroll/volunteer/" uri = host + conf["savemajor"] headers = self.headers volunteerCode = self.Majorinfo["volunteerCode"] data = { "userId": "", "status": 0, #0:保存草稿;1:提交;2:确认 "volunteerDetailVOList": [{ "volunteerCode": "%s" % (volunteerCode), "orderNo": 1 }], #orderNo第几志愿 "volunteerApplyList": [{ "volunteerCode": "%s" % (volunteerCode), "orderNo": 1 }], "batch": "%s" % (conf["batch"]) } result = ljy_base.base().postHTTP(uri, data=json.dumps(data), headers=headers) result = ljy_base.base().ResultTextConvert(result) print(result["serverResult"]["resultMessage"], ">saveMajor(%s)" % (self.username)) return result
def saveQuestion_single(self): conf = self.conf uri = conf["host"] + conf["savequestion"] headers = self.headers headers["Content-Type"] = "application/json;charset=UTF-8" for i in range(10): data = { "title": "<div>纯客观题-单选题%s</div><span></span>" % (i + 6), "note": "123<br>", "answerList": [{ "content": 0, "sequenceNo": 0 }], "items": [{ "sequenceNo": 0, "content": "<p>a</p>" }, { "sequenceNo": 1, "content": "<p>b</p>" }, { "sequenceNo": 2, "content": "<p>c</p>" }, { "sequenceNo": 3, "content": "<p>d</p>" }], "rowlable": 1, "typeLevel": "1", "labelId": "1", "defaultScore": "2", "gradeName": "1", "subjectName": "100000000007", "paragraphId": "PRIMARY_SCHOOL", "degree": "1", "knowledge": ["CNBJTW0100000001118"], "fileList": [], "noteFileList": [], "questionType": "0" } result = ljy_base.base().postHTTP(uri, data=json.dumps(data).replace( " ", ""), headers=headers, cookies=self.cookies) result = ljy_base.base().ResultTextConvert(result)
def getExamList(self): conf=self.conf host=self.host uri=host+conf["c_getexamlist"] headers=self.headers headers["Content-Type"]="application/json; charset=UTF-8" data={"schoolId":"%s"%(self.schoolId),"isScan":"1"} result=ljy_base.base().postHTTP(uri,data=json.dumps(data),headers=headers,cookies=self.cookies) result=ljy_base.base().ResultTextConvert(result) return result
def getVolunteerInfo(self): conf = self.conf host = self.host # uri=host+"/openapi-vocationalenroll/volunteer/getVolunteerInfo" uri = host + conf["getvolunteerinfo"] headers = self.headers params = {"batch": int(conf["batch"]), "userId": ""} params = ljy_base.base()._urlencode(params) result = ljy_base.base().getHTTP(uri, params=params, headers=headers) result = ljy_base.base().ResultTextConvert(result) return result["responseEntity"]
def saveStudentAnswer(self): # self.paperId,self.examId,self.studentId_first,self.studentId,self.subjectId conf=self.conf host=self.host uri=host+conf["c_savestudentanswer"] headers=self.headers headers["Content-Type"]="application/json; charset=UTF-8" data=self.get_saveStuAnswer_info() result=ljy_base.base().postHTTP(uri,data=json.dumps(data),headers=headers,cookies=self.cookies) result=ljy_base.base().ResultTextConvert(result) return result
def getExamAbnormalDataList(self): conf=self.conf host=self.host uri=host+conf["c_getexamabnormaldaatalist"] headers=self.headers headers["Content-Type"]="application/json; charset=UTF-8" data={"paperId":"%s"%(self.paperId), "examId":"%s"%(self.examId), "subjectId":"%s"%(self.subjectId), "schoolId":"%s"%(self.schoolId)} result=ljy_base.base().postHTTP(uri,data=json.dumps(data),headers=headers,cookies=self.cookies) result=ljy_base.base().ResultTextConvert(result)
def getVerificationCode(self): conf = self.conf host = self.host # uri=host+"/openapi-vocationalenroll/login/getVerificationCode" uri = host + conf["getverificationcode"] headers = self.headers data = {} result = ljy_base.base().postHTTP(uri, data=json.dumps(data), headers=headers) result = ljy_base.base().ResultTextConvert(result) return result["responseEntity"]["code"]
def saveAnswer(self): conf = self.conf headers = self.headers headers["Content-Type"] = "application/json" # headers_add={"Referer": "%s/examination/paper/exercise?paperId=%s"%(conf["host"],self.paperId)} # headers.update(headers_add) questionidlist = conf["r_questionidlist"].split(",") typeLevellist = conf["r_typelevel"].split(",") answerlist = conf["answerlist"].split(",") typeLevelLabelId = 0 params = None data = {} uri = "" for i in range(len(questionidlist)): typeLevelLabelId = typeLevellist[i] if i < int(len(questionidlist)) - 1: uri = conf["host"] + conf["saveanswer"] else: uri = conf["host"] + conf["submitpaper"] params = {"paperStatusId": self.paperStatusId} if int(typeLevellist[i]) == 4: #填空题 data = self.Get_saveAnswerBlank_info() answers = [] sequencelist = answerlist[i].split("/") for x in range(len(sequencelist)): answer = { "sequenceNo": int(x), "userAnswer": "%s" % (sequencelist[x]) } answers.append(answer) data["paperResults"][0]["answers"] = answers else: if int(typeLevellist[i]) == 5: typeLevelLabelId = 6 data = self.Get_saveAnswerOther_info() data["paperResults"][0]["userAnswer"] = answerlist[i] data["paperResults"][0]["questionId"] = questionidlist[i] data["paperResults"][0]["typeLevel"] = typeLevellist[i] data["paperResults"][0]["typeLevelLabelId"] = typeLevelLabelId result = ljy_base.base().postHTTP(uri, params=params, data=json.dumps(data).replace( " ", ""), headers=headers, cookies=self.cookies) result = ljy_base.base().ResultTextConvert(result) try: result = result["resultCode"] except: result = False return result
def CustomMethod(self, httpMethod, uri, params=None, data=None, headers_add=None, cookies=None): # import pdb # pdb.set_trace() # print(uri,params,data,headers_add,cookies) headers = self.headers cookies = self.cookies if params is not None: try: params = json.loads(params) except: pass params = ljy_base.base()._urlencode(params) else: params = None if data is not None: data = data else: data = "" if headers_add is not None: try: headers.update(json.loads(headers_add)) except: pass else: pass if cookies is not None: try: cookies.update(json.loads(cookies)) except: pass else: pass if httpMethod == "get": result = ljy_base.base().getHTTP(uri, params=params, headers=headers, cookies=cookies) else: result = ljy_base.base().postHTTP(uri, params=params, data=data, headers=headers, cookies=cookies) result = ljy_base.base().ResultTextConvert(result) print(result)
def sendValidateCode(self, data=None): conf = self.conf host = self.host uri = host + conf["sendvalidatecode"] headers = self.headers if data is None or data == '': data = {} else: data = data result = ljy_base.base().postHTTP(uri, data=json.dumps(data), headers=headers) result = ljy_base.base().ResultTextConvert(result) return result["responseEntity"]
def checkLoginName(self): conf = self.conf host = self.host uri = host + conf["checkloginname"] headers = self.headers headers[ "Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8" params = {"_": ljy_base.base().timeStamp()} data = {"loginName": self.username} data = ljy_base.base()._urlencode(data) result = ljy_base.base().postHTTP(uri, params=params, data=data, headers=headers) result = ljy_base.base().ResultTextConvert(result) return result
def getScanInfo(self): conf=self.conf host=self.host uri=host+conf["c_getscaninfo"] headers=self.headers headers["Content-Type"]="application/json; charset=UTF-8" data={"examId":"%s"%(self.examId),"schoolId":None} result=ljy_base.base().postHTTP(uri,data=json.dumps(data),headers=headers,cookies=self.cookies) result=ljy_base.base().ResultTextConvert(result) try: self.paperId=result["gradeScanList"][0]["subjectScanInfoList"][0]["paperId"] self.subjectId=result["gradeScanList"][0]["subjectScanInfoList"][0]["subjectId"] # print("paperId:%s,subjectId:%s"%(self.paperId,self.subjectId)) except: ex=Exception(result) raise ex return result
def logout(self): conf = self.conf host = self.host # uri=host+"/openapi-vocationalenroll/login/logout" uri = host + conf["logout"] headers = self.headers result = ljy_base.base().getHTTP(uri, headers=headers) return result.headers
def Upload_MultipartFormData(self,file_path): conf=self.conf host=self.host uri=host+"/twasp/fs/fs/file/upload" uri=host+conf["upload"] file_path=file_path headers=self.headers headers.pop("Content-Type") data={"branchCode":"E000001"} #提交files表单固定格式,open(...)部分不能用变量代替:file ={'row_name':(filename,open(file_path,"rb"),'image/jpeg'<-RecContentType)} file ={'file':(file_path.split("\\")[-1],open(file_path,"rb"),'application/vnd.ms-excel')} # file ={'file':(conf["filename"],open(".\\zero.jpg","rb"),'image/jpeg')} result=ljy_base.base().postHTTP(uri,data=data,files=file,headers=headers) result=ljy_base.base().ResultTextConvert(result) # ljy_base.base().showResult(result) file["file"][1].close() return result
def getGraduateschoolList(self): conf = self.conf host = self.host uri = host + conf["getgraduateschoollist"] headers = self.headers data = {"params": {}} result = ljy_base.base().postHTTP(uri, data=json.dumps(data), headers=headers) result = ljy_base.base().ResultTextConvert(result) graduateschoolId = self.getgraduateschoolId() for i in result["pageInfo"]["list"]: # if i["graduateschoolName"]==schoolname: if i["graduateschoolId"] == graduateschoolId: self.schoolname = i["graduateschoolName"] return i["graduateschoolId"] break
def checkExamEnd(self): conf = self.conf uri = conf["host"] + conf["checkexamend"] headers = self.headers headers[ "Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8" # headers_add={"Referer": "%s/examination/paper/exercise?paperId=%s"%(conf["host"],self.paperId)} # headers.update(headers_add) data = { "examPlanId": "%s" % (self.examPlanId), "examGrade": "1", "examSubject": "%s" % (self.examSubject) } data = ljy_base.base()._urlencode(data) result = ljy_base.base().postHTTP(uri, data=data, headers=headers, cookies=self.cookies) result = ljy_base.base().ResultTextConvert(result)
def checkValidateCode(self): self.sendMobileValidityCode() MobileMSG = self.getMobileMSG() conf = self.conf host = self.host # uri=host+"/openapi-vocationalenroll/volunteer/checkValidateCode" uri = host + conf["checkvalidatecode"] headers = self.headers data = { "validateCode": "%s" % (MobileMSG), "batch": "%s" % (conf["batch"]) } result = ljy_base.base().postHTTP(uri, data=json.dumps(data), headers=headers) result = ljy_base.base().ResultTextConvert(result) print(result["serverResult"]["resultMessage"], ">checkValidateCode(%s)" % (self.username)) return result
def getMajorList(self): conf = self.conf host = self.host # uri=host+"/openapi-vocationalenroll/volunteer/getMajorList?" uri = host + conf["getmajorlist"] headers = self.headers data = { "searchStr": "", "batch": "%s" % (conf["batch"]), "numPerPage": 1, "pageSize": 100 } result = ljy_base.base().postHTTP(uri, data=json.dumps(data), headers=headers) result = ljy_base.base().ResultTextConvert(result) try: return result["responseEntity"]["list"] except: print(result)
def addUser(self): conf=self.conf host=self.host headers=self.headers headers["Content-Type"]="application/json;charset=UTF-8" headers_add={"Access-Token":"%s"%(self.token)} headers.update(headers_add) if self.runtimes<self.tloop: uri=host+conf["addteacher"] self.username=conf["teachernamehead"]+str(self.runtimes) data=self.get_addTeacher_info() else: uri=host+conf["addstudent"] self.username=conf["studentnamehead"]+str(int(self.runtimes)-self.tloop) data=self.get_addStudent_info() result=ljy_base.base().postHTTP(uri,data=json.dumps(data).replace(" ",""),headers=headers) result=ljy_base.base().ResultTextConvert(result) try: return result["serverResult"] except: return result
def getloginId(self): loginId = {"username": self.username, "password": self.conf["passwd"]} loginId = ljy_base.base()._urlencode(loginId) return ljy_base.base().To_Base64(loginId)