def POST(self): web.header("Access-Control-Allow-Origin","*") must_params = ('st_id','cl_id') params = web.input() if util.paramsok(must_params, params) == Status.__params_not_ok__: response = Response(status = Status.__params_not_ok__ ) return util.objtojson(response) class_result = db.query("SELECT * FROM class WHERE cl_id= $cl_id", vars={'cl_id':params.cl_id}) # cl_id = class_result. __getitem__(0).get('cl_id') try: r1 = db.delete('student_has_class', where='class_cl_id=$cl_id and student_st_id = $st_id', vars={'cl_id':params.cl_id,'st_id':params.st_id}) r2 = db.delete('information',where = 'student_st_id=$st_id and class_cl_id = $cl_id',vars={'st_id':params.st_id,'cl_id':params.cl_id}) r3 = db.delete('student', where='st_id=$st_id', vars={'st_id':params.st_id}) if r1: if r3: response = Response(status = Status.__success__,message = "该学生已完全删除!") return util.objtojson(response) response = Response(status = Status.__success__,message = "该学生已从该课程班删除!") return util.objtojson(response) else: response = Response(status = Status.__success__,message = "该学生已从该课程班删除!") return util.objtojson(response) except Exception as e: response = Response(status = Status.__system_exception__,message = "该学生存在于其他课程班,已从当前课程班删除!") return util.objtojson(response)
def POST(self): mydata = web.input() print mydata web.header("Access-Control-Allow-Origin", "*") must_params = set({ 'cl_name', 'currentPage', }) if (util.paramsok(must_params, mydata) == 2): response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) else: print 222 currentPage = int(mydata.currentPage) - 1 print mydata.cl_name result = orm.db.query( 'select * from Class where cl_name like \'%%%s%%\'\ order by cl_id limit %s,%s' % (mydata.cl_name, currentPage * 10, 10)) result = [Class_model(**item) for item in result] Class = Class_model() result1 = Class.query( 'select count(*) from Class where cl_name like \'%%%s%%\'' % (mydata.cl_name)) count = result1[0]['count(*)'] page = util.Page(data=result, totalRow=count, currentPage=int(mydata.currentPage), pageSize=10, status=util.Status.__success__, message="未知") response = util.Response(status=util.Status.__success__, body=page) return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin","*") must_params = ('cl_id',) mydata = web.input() if util.paramsok(must_params, mydata) == Status.__params_not_ok__: response = Response(status = Status.__params_not_ok__ ,message = "参数错误!") return util.objtojson(response) params = Class_model(cl_id = mydata.cl_id) teacher = model.Teacher_model.getByArgs(tc_level='管理员') if str(mydata.deletepassword) != teacher[0].tc_password: response = util.Response(status=util.Status.__error__,message = "密码错误") return util.objtojson(response) try: with orm.db.transaction(): db.delete('student_has_class', where="class_cl_id = $class_cl_id", vars={'class_cl_id': params.cl_id, }) if db.delete('class', where="cl_id = $cl_id", vars={'cl_id': params.cl_id, }): response = Response(status=Status.__success__, message="班级删除成功!") return util.objtojson(response) else: response = Response(status=Status.__error__, message="班级删除失败!") return util.objtojson(response) except Exception as e: util.getFileRotatingLog().debug(e) response = Response(status=Status.__error__, message="班级删除失败!") return util.objtojson(response)
def POST(self): mydata = web.input() qb = model.Questions_bank_model() must_params = set (['qb_id']) web.header("Access-Control-Allow-Origin", "*") if(util.paramsok(must_params,mydata) == 2): response = util.Response(status = util.Status.__params_not_ok__) return util.objtojson(response) elif str(mydata.deletepassword) == '123456': qb.qb_id = mydata.qb_id result = model.Questions_bank_has_question_model.getByArgs( \ questions_bank_qb_id = qb.qb_id) for item in result: questions_bank_has_question = model.Questions_bank_has_question_model() questions_bank_has_question.qbhq_id = item.qbhq_id questions_bank_has_question.delete() if qb.delete(): response = util.Response(status=util.Status.__success__) return util.objtojson(response) else: response = util.Response(status=util.Status.__error__) return util.objtojson(response) response = util.Response(status=util.Status.__error__) return util.objtojson(response)
def POST(self): mydata = web.input() print mydata web.header("Access-Control-Allow-Origin", "*") must_params = set({'qt_stem','currentPage',}) question = model.Question_model() Knowledge = model.Knowledge_model() currentPage = int(mydata.currentPage)-1; if(util.paramsok(must_params,mydata) == 2): response = util.Response(status = util.Status.__params_not_ok__) return util.objtojson(response) else: print 222 result = orm.db.query('select * from question where qt_stem like \'%%%s%%\'\ order by qt_id limit %s,%s'%(mydata.qt_stem,currentPage*10,10)) # result = orm.db.query('select * from question where qt_stem like \'%%%s%%\''%(mydata.qt_stem)) questionlist = [] result = [model.Question_model(**item) for item in result ] print result result1= question.query('select count(*) from question where qt_stem like \'%%%s%%\''%(mydata.qt_stem)) count = result1[0]['count(*)'] for params in result: qt = params qt['qt_type']=util.type[qt.qt_type] Knowledge = model.Knowledge_model() KnowledgeData = Knowledge.getByPK(qt.knowledge_kl_id) qt['kl_name'] = KnowledgeData.kl_name questionlist.append(qt) # response = util.Response(status=util.Status.__success__,body = questionlist) # return util.objtojson(response) page = util.Page(data = questionlist, totalRow = count, currentPage = int(mydata.currentPage), pageSize = 10, status=util.Status.__success__, message = "未知") response = util.Response(status=util.Status.__success__,body=page) return util.objtojson(response)
def POST(self): mydata = web.input() print("删除题库", mydata) qb = model.Questions_bank_model() must_params = set(['qb_id']) web.header("Access-Control-Allow-Origin", "*") session = web.ctx.session # util.getFileRotatingLog().debug(session.password) # 写入到log文件 if (util.paramsok(must_params, mydata) == 2): response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) elif str(mydata.deletepassword) == session.password: qb.qb_id = mydata.qb_id result = model.Questions_bank_has_question_model.getByArgs( \ questions_bank_qb_id = qb.qb_id) for item in result: questions_bank_has_question = model.Questions_bank_has_question_model( ) questions_bank_has_question.qbhq_id = item.qbhq_id questions_bank_has_question.delete() if qb.delete(): response = util.Response(status=util.Status.__success__) return util.objtojson(response) else: response = util.Response(status=util.Status.__error__, message="删除失败") return util.objtojson(response) else: response = util.Response(status=util.Status.__error__, message="密码错误") return util.objtojson(response) response = util.Response(status=util.Status.__error__, message="删除失败") return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin", "*") params = web.input() exam = model.Exam_model() must_params = exam.__notnull__ if (util.paramsok(must_params, params) == 2): response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) else: exam = model.Exam_model(**params) if exam.insert(): result = exam.query("select max(ex_id) from exam") lastExamId = int(result[0]['max(ex_id)']) # 获取教务班学生id stuHasClass = model.Student_has_class_model() classId = params['class_cl_id'].encode('utf-8') classId = classId.split(',') for k in range(1, len(classId) - 1): listStuid = stuHasClass.getByArgs(class_cl_id=classId[k]) for stuID in listStuid: informationArgs = dict( student_st_id=stuID.student_st_id, exam_ex_id=lastExamId, class_cl_id=classId[k], sg_id=exam.strategy_sg_id) information = model.Information_model( **informationArgs) information.insert() response = util.Response(status=util.Status.__success__) return util.objtojson(response) else: response = util.Response(status=util.Status.__error__) return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin", "*") must_params = ('cl_id', ) params = web.input(requestPage='0') if util.paramsok(must_params, params) == Status.__params_not_ok__: response = Response(status=Status.__params_not_ok__) return util.objtojson(response) requestPage = params['requestPage'].encode('utf-8') del params['requestPage'] #根据班号查学号,根据学号查学生 st_has_cl = Student_has_class_model(class_cl_id=params.cl_id) st_has_cl_result = Student_has_class_model.getByPage(page=requestPage, **st_has_cl) if st_has_cl_result: final_result = list() for s in range(len(st_has_cl_result)): st_ = st_has_cl_result[s].get('student_st_id') st = Student_model(st_id=st_) st_result = Student_model.getByPage(page=requestPage, **st) final_result.append(st_result[0]) response = Response(status=Status.__success__, body=final_result) return util.objtojson(response) else: response = Response(status=Status.__obj_null__) return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin","*") must_params = ('st_id','cl_name') params = web.input() if util.paramsok(must_params, params) == Status.__params_not_ok__: response = Response(status = Status.__params_not_ok__ ) return util.objtojson(response) class_result = db.query("SELECT * FROM class WHERE cl_name= $cl_name", vars={'cl_name':(params.cl_name.encode('utf-8'))}) if class_result: cl_id = class_result. __getitem__(0).get('cl_id') st_has_class_result = db.query("SELECT * FROM student_has_class WHERE class_cl_id= $cl_id", vars={'cl_id':cl_id}) if st_has_class_result: st = Student_model(st_id = params.st_id) st_result = Student_model.getByArgs(**st) if st_result == list(): response = Response(status = Status.__obj_null__ ,body = st_has_class_result) return util.objtojson(response) response = Response(status = Status.__success__,body = st_result) return util.objtojson(response) else: response = Response(status = Status.__obj_null__ ,body = st_has_class_result) return util.objtojson(response) else: response = Response(status = Status.__obj_null__) return util.objtojson(response)
def POST(self): #修改为不需要管理员密码就能够删除 web.header("Access-Control-Allow-Origin", "*") must_params = ('cl_id', ) params = web.input() if util.paramsok(must_params, params) == Status.__params_not_ok__: response = Response(status=Status.__params_not_ok__, message="参数错误!") return util.objtojson(response) params = Class_model(cl_id=params.cl_id) print "delete_class" with orm.db.transaction(): db.delete('student_has_class', where="class_cl_id = $class_cl_id", vars={ 'class_cl_id': params.cl_id, }) if db.delete('class', where="cl_id = $cl_id", vars={ 'cl_id': params.cl_id, }): response = Response(status=Status.__success__, message="班级删除成功!") return util.objtojson(response) else: response = Response(status=Status.__error__, message="班级删除失败!") return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin", "*") must_params = ('st_id', 'st_name', 'cl_id') params = web.input() if util.paramsok(must_params, params) == Status.__params_not_ok__: response = util.Response(Status.__params_not_ok__, message='参数错误!') return util.objtojson(response) st_has_cl = Student_has_class_model(student_st_id=params.st_id, class_cl_id=params.cl_id) # del params.cl_id s = Student_model(st_id=params.st_id) try: st_exist = s.getByArgs(**s) if st_exist: if st_has_cl.insert(): information = model.Information_model.query('select \ distinct(exam_ex_id),sg_id from information where \ class_cl_id = %s' % (params.cl_id)) if information != None: information = [ model.Information_model(**item) for item in information ] for item in information: item.class_cl_id = params.cl_id item.student_st_id = params.st_id item.insert() else: print "none" response = util.Response(Status.__success__, message="该学生已添加进课程班级") return util.objtojson(response) response = util.Response(Status.__success__, message="该学生已存在于课程班级,不能重复添加!") return util.objtojson(response) else: s = Student_model(**params) s.insert() st_has_cl.insert() information = model.Information_model.query('select \ distinct(exam_ex_id),sg_id from information where \ class_cl_id = %s' % (params.cl_id)) if information != None: information = [ model.Information_model(**item) for item in information ] for item in information: item.class_cl_id = params.cl_id item.student_st_id = params.st_id item.insert() else: print "none" response = util.Response(Status.__success__, message="该学生已添加进课程班级!") return util.objtojson(response) except Exception as e: response = util.Response(Status.__error__, message="error") return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin", "*") params = web.input() exam = model.Exam_model() must_params = exam.__notnull__ if (util.paramsok(must_params, params) == 2): response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) else: exam = model.Exam_model(**params) if exam.update(): # 获取教务班学生id stuHasClass = model.Student_has_class_model() classId = params['add_class_cl_id'].encode('utf-8') classId = classId.split(',') print 'add_class_cl_id' print classId for k in range(1, len(classId) - 1): print 1234567 print classId[k] listStuid = stuHasClass.getByArgs(class_cl_id=classId[k]) for stuID in listStuid: informationArgs = dict( student_st_id=stuID.student_st_id, exam_ex_id=exam.ex_id, class_cl_id=classId[k], sg_id=exam.strategy_sg_id) information = model.Information_model( **informationArgs) information.insert() delete_classId = params['delete_class_cl_id'].encode('utf-8') delete_classId = delete_classId.split(',') print 'delete_class_cl_id' print delete_classId for k in range(1, len(delete_classId) - 1): listStuid = stuHasClass.getByArgs( class_cl_id=delete_classId[k]) for stuID in listStuid: # informationArgs = dict(student_st_id=stuID.student_st_id, exam_ex_id=exam.ex_id, # class_cl_id=delete_classId[k]) # information = model.Information_model() # information_id = information.getByArgs(informationArgs) # information.in_id = information_id[0]['in_id'] # information.delete() db.delete('information', where="student_st_id = $student_st_id \ and exam_ex_id = $exam_ex_id", vars={ 'student_st_id': stuID.student_st_id, 'exam_ex_id': exam.ex_id }) response = util.Response(status=util.Status.__success__) return util.objtojson(response) else: response = util.Response(status=util.Status.__error__) return util.objtojson(response)
def POST(self): mydata = web.input() qt = model.Question_model() kp = model.Knowledge_model() web.header("Access-Control-Allow-Origin", "*") qbhq = model.Questions_bank_has_question_model() must_params = set({ 'qt_id', 'qt_type', 'qt_stem', 'kl_name', 'qb_id', }) if (util.paramsok(must_params, mydata) == 2): response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) else: knowlagedata = kp.getByArgs(kl_name=mydata.kl_name) qt = model.Question_model(**mydata) qt.knowledge_kl_id = knowlagedata[0].kl_id qt.qt_state = 0 qt.update() if mydata.qt_type == 'choice': choice = model.Choice_model(**mydata) choice.question_qt_id = qt.qt_id choice.update() response = util.Response(status=util.Status.__success__) return util.objtojson(response) elif mydata.qt_type == 'coding': coding = model.Coding_model(**mydata) coding.question_qt_id = qt.qt_id coding.update() # shutil.rmtree('%s/%s' % (question_source, qt.qt_id)) response = util.Response(status=util.Status.__success__) return util.objtojson(response) elif mydata.qt_type == 'filla': Filla = model.Filla_model(**mydata) Filla.question_qt_id = qt.qt_id Filla.update() response = util.Response(status=util.Status.__success__) return util.objtojson(response) elif mydata.qt_type == 'fillb': Fillb = model.Fillb_model(**mydata) Fillb.question_qt_id = qt.qt_id Fillb.update() response = util.Response(status=util.Status.__success__) return util.objtojson(response) elif mydata.qt_type == 'judge': Judge = model.Judge_model(**mydata) Judge.question_qt_id = qt.qt_id Judge.update() response = util.Response(status=util.Status.__success__) return util.objtojson(response)
def POST(self): must_params = ('cl_name') params = web.input() if util.paramsok(must_params, params) == Status.__params_not_ok__: response = util.Response(Status.__params_not_ok__) return util.objtojson(response) params = Class_model(**params) if params.update(): response = Response(status = Status.__success__) return util.objtojson(response) else: response = Response(status = Status.__error__ ) return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin","*") must_params = ('cl_name',) params = web.input() if util.paramsok(must_params, params) == Status.__params_not_ok__: response = Response(status = Status.__params_not_ok__ ) return util.objtojson(response) params = Class_model(**params) try: params.insert() response = Response(status = Status.__success__) return util.objtojson(response) except Exception as e: response = Response(status = Status.__error__,message = e) return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin", "*") mydata = web.input() # must_params =set({'currentPage'}) must_params =set({}) if(util.paramsok(must_params, mydata) == 2): response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) else: qb = model.Questions_bank_model() count = qb.count() reasurt = qb.getByPage(int(mydata.currentPage)-1) page = util.Page(data = reasurt, totalRow = count, currentPage = int(mydata.currentPage), pageSize = 10, status=util.Status.__success__, message = "未知") response = util.Response(status=util.Status.__success__,body=page) return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin","*") must_params = ('st_id',) params = web.input() if util.paramsok(must_params, params) == Status.__params_not_ok__: response = Response(status = Status.__params_not_ok__ ) return util.objtojson(response) st_modify = Student_model(**params) result = st_modify.update() if result: response = Response(status = Status.__success__) return util.objtojson(response) else: response = Response(status = Status.__error__) return util.objtojson(response)
def POST(self): mydata = web.input() qbhq = model.Questions_bank_has_question_model() web.header("Access-Control-Allow-Origin", "*") must_params = set({'qt_id'}) if(util.paramsok(must_params,mydata) == 2): response = util.Response(status = util.Status.__params_not_ok__) return util.objtojson(response) else: result = qbhq.getByArgs(question_qt_id = mydata.qt_id) for k in result: qbhq.qbhq_id = k.qbhq_id qbhq.delete() response = util.Response(status = util.Status.__success__) return util.objtojson(response)
def POST(self): mydata = web.input() qb = model.Questions_bank_model() must_params = qb.__notnull__ web.header("Access-Control-Allow-Origin", "*") if(util.paramsok(must_params,mydata) == 2): response = util.Response(status = util.Status.__params_not_ok__) return util.objtojson(response) else: qb = model.Questions_bank_model(**mydata) if qb.update(): response = util.Response(status=util.Status.__success__) return util.objtojson(response) else: response = util.Response(status=util.Status.__error__) return util.objtojson(response)
def POST(self): mydata = web.input() kp = model.Knowledge_model() must_params = kp.__notnull__ web.header("Access-Control-Allow-Origin", "*") if(util.paramsok(must_params, mydata) == 2): response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) else: kp = model.Knowledge_model(**mydata) if kp.insert(): response = util.Response(status=util.Status.__success__) return util.objtojson(response) else: response = util.Response(status=util.Status.__error__) return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin", "*") # 接收参数 params = web.input() strategyTerm = model.Strategy_term_model() must_params = strategyTerm.__notnull__ if (util.paramsok(must_params, params) == 2): response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) else: strategyTerm = model.Strategy_term_model(**params) if strategyTerm.update(): response = util.Response(status=util.Status.__success__) return util.objtojson(response) else: response = util.Response(status=util.Status.__error__) return util.objtojson(response)
def POST(self): mydata = web.input() print mydata # 必须有的参数 must_params = set({'questions_bank_qb_id', 'currentPage'}) web.header("Access-Control-Allow-Origin", "*") currentPage = int(mydata.currentPage) - 1 if (util.paramsok(must_params, mydata) == 2): print 333 response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) else: question = model.Question_model() # result = orm.db.query('select * from question where qt_id in (select question_qt_id from questions_bank_has_question where questions_bank_qb_id = %s ) order by qt_id limit %s,%s'%(int(mydata.questions_bank_qb_id),currentPage*10,currentPage*10+9)) result = orm.db.query( 'select * from question where qt_id in \ (select question_qt_id from questions_bank_has_question where questions_bank_qb_id = %s )\ order by qt_id limit %s,%s' % (mydata.questions_bank_qb_id, currentPage * 10, 10)) questionlist = [] result = [model.Question_model(**item) for item in result] # print result result1 = question.query( 'select count(*) from question where qt_id in (select question_qt_id \ from questions_bank_has_question where questions_bank_qb_id = %s )' % (mydata.questions_bank_qb_id)) # print result1[0] count = result1[0]['count(*)'] for params in result: qt = params qt['qt_type'] = util.type[qt.qt_type] Knowledge = model.Knowledge_model() KnowledgeData = Knowledge.getByPK(qt.knowledge_kl_id) qt['kl_name'] = KnowledgeData.kl_name questionlist.append(qt) # response = util.Response(status=util.Status.__success__,body = questionlist) # return util.objtojson(response) page = util.Page(data=questionlist, totalRow=count, currentPage=int(mydata.currentPage), pageSize=10, status=util.Status.__success__, message="未知") response = util.Response(status=util.Status.__success__, body=page) return util.objtojson(response)
def POST(self): mydata = web.input() print("删除题目", mydata) qbhq = model.Questions_bank_has_question_model() web.header("Access-Control-Allow-Origin", "*") must_params = set({'qt_id'}) #util.getFileRotatingLog().debug(mydata) session = web.ctx.session teacher = model.Teacher_model.getByArgs(tc_level='管理员') try: if (util.paramsok(must_params, mydata) == 2): response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) elif mydata.qb_id == "all": if str(mydata.deletepassword) == teacher[0].tc_password: result = qbhq.getByArgs(question_qt_id=mydata.qt_id) for k in result: qbhq.qbhq_id = k.qbhq_id qbhq.delete() response = util.Response(status=util.Status.__success__) return util.objtojson(response) else: response = util.Response(status=util.Status.__error__, message="密码错误") return util.objtojson(response) else: if str(mydata.deletepassword) == teacher[0].tc_password: result = qbhq.query( 'select * from questions_bank_has_question where question_qt_id = %s \ and questions_bank_qb_id = %s' % (mydata.qt_id, mydata.qb_id)) qbhq = model.Questions_bank_has_question_model(**result[0]) qbhq.delete() response = util.Response(status=util.Status.__success__) return util.objtojson(response) else: response = util.Response(status=util.Status.__error__, message="密码错误") return util.objtojson(response) except Exception as e: util.getFileRotatingLog().debug(e) response = util.Response(status=util.Status.__error__, message="删除失败") return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin", "*") # 接收参数 params = web.input() strategy = model.Strategy_model() must_params = strategy.__notnull__ if (util.paramsok(must_params, params) == 2): response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) else: strategy = model.Strategy_model(**params) if strategy.insert(): result = strategy.getByArgs(sg_name=strategy.sg_name) response = util.Response(status=util.Status.__success__, body=result) return util.objtojson(response) else: response = util.Response(status=util.Status.__error__) return util.objtojson(response)
def POST(self): web.header("Access-Control-Allow-Origin", "*") # 接收参数 params = web.input() strategy = model.Strategy_model() args = dict(sg_id=params.get('sg_id')) must_params = strategy.__notnull__ if (util.paramsok(must_params, params) == 2): response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) else: strategy = model.Strategy_model(**params) if strategy.getByArgs(**args): strategy.update() response = util.Response(status=util.Status.__success__) return util.objtojson(response) else: response = util.Response(status=util.Status.__error__) return util.objtojson(response)
def POST(self): mydata = web.input() kp = model.Knowledge_model() must_params = set({'kl_id'}) web.header("Access-Control-Allow-Origin", "*") if (util.paramsok(must_params, mydata) == 2): response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) elif str(mydata.deletepassword) == '123456': kp.kl_id = mydata.kl_id print kp.kl_id if kp.delete(): response = util.Response(status=util.Status.__success__) return util.objtojson(response) else: response = util.Response(status=util.Status.__error__) return util.objtojson(response) response = util.Response(status=util.Status.__error__) return util.objtojson(response)
def POST(self): mydata = web.input() web.header("Access-Control-Allow-Origin", "*") must_params = set({'question_qt_id','questions_bank_qb_id'}) if(util.paramsok(must_params,mydata) == 2): response = util.Response(status = util.Status.__params_not_ok__) return util.objtojson(response) else: data = mydata.question_qt_id # 从1开始,最后一个无效 question_qt_id = data.split(',') print question_qt_id qbhq = model.Questions_bank_has_question_model() for k in range(1,len(question_qt_id)-1): qbhq.question_qt_id = question_qt_id[k] qbhq.questions_bank_qb_id = mydata.questions_bank_qb_id qbhq.insert() response = util.Response(status = util.Status.__success__,) return util.objtojson(response)
def POST(self): mydata = web.input() qt = model.Question_model() kp = model.Knowledge_model() must_params = set (['qt_id']) web.header("Access-Control-Allow-Origin", "*") if(util.paramsok(must_params,mydata) == 2): response = util.Response(status = util.Status.__params_not_ok__) return util.objtojson(response) else: qt = model.Question_model(**mydata) questiondata = qt.getByArgs(qt_id = qt.qt_id) KnowledgeData = kp.getByArgs(kl_id = questiondata[0]['knowledge_kl_id']) qt_typedata = orm.db.query('select * from %s where question_qt_id = %s'%(questiondata[0].qt_type,qt.qt_id)) result1 = [model.Question_model(**item) for item in qt_typedata ] data = [] data.append(questiondata) data.append(KnowledgeData) data.append(result1) response = util.Response(status=util.Status.__success__,body = data) return util.objtojson(response)
#!/usr/bin/env python
def POST(self): web.header("Access-Control-Allow-Origin", "*") # 接收参数 params = web.input() strategyTerm = model.Strategy_term_model() must_params = strategyTerm.__notnull__ if (util.paramsok(must_params, params) == 2): response = util.Response(status=util.Status.__params_not_ok__) return util.objtojson(response) else: strategyTerm = model.Strategy_term_model(**params) sm_type = "'" + strategyTerm.sm_type + "'" # 判断题库题目数量是否足够,知识点id未0表示所有知识点 if strategyTerm.sm_knowledge == "0": print "000000" question_result = strategyTerm.query('select count(*) from question where qt_id in \ (select question_qt_id from questions_bank_has_question where \ questions_bank_qb_id = %s) and qt_type=%s and \ qt_diffculty between %s and %s' % (strategyTerm.qb_id, sm_type,\ strategyTerm.sm_difficulty_low,strategyTerm.sm_difficulty_high)) count = int(question_result[0]['count(*)']) else: question_result = strategyTerm.query('select count(*) from question where qt_id in \ (select question_qt_id from questions_bank_has_question where \ questions_bank_qb_id = %s) and qt_type=%s and knowledge_kl_id =%s \ and qt_diffculty between %s and %s' % (strategyTerm.qb_id, sm_type,\ strategyTerm.sm_knowledge, strategyTerm.sm_difficulty_low,\ strategyTerm.sm_difficulty_high)) count = int(question_result[0]['count(*)']) if count < int(strategyTerm.sm_number): result_message = "question num error " # result_message = "题库中没有足够的编程题符合策略项 " response = util.Response(status=util.Status.__error__, body=result_message) return util.objtojson(response) # 判断是否与策略项有交集 if strategyTerm.sm_knowledge == "0": result = strategyTerm.query('select * from strategy_term where strategy_sg_id =%s and sm_type = %s' \ % (strategyTerm.strategy_sg_id, sm_type,)) result = [model.Strategy_term_model(**item) for item in result] else: result = strategyTerm.query( 'select * from strategy_term where strategy_sg_id =%s and sm_type = %s and \ sm_knowledge = %s' % (strategyTerm.strategy_sg_id, sm_type, strategyTerm.sm_knowledge)) result = [model.Strategy_term_model(**item) for item in result] for item in result: if int(item.sm_difficulty_low) < int(strategyTerm.sm_difficulty_low) and \ int(item.sm_difficulty_high) <= int(strategyTerm.sm_difficulty_low) \ or int(strategyTerm.sm_difficulty_low) < int(item.sm_difficulty_low) \ and int(strategyTerm.sm_difficulty_high) <= int(item.sm_difficulty_low): print '无交集' else: result_message = "diffculty error" response = util.Response(status=util.Status.__error__, body=result_message) return util.objtojson(response) if strategyTerm.insert(): currentPage = int(params.currentPage) - 1 result = strategyTerm.query( 'select * from strategy_term where strategy_sg_id =%s order by sm_id desc limit %s,%s' % \ (strategyTerm.strategy_sg_id, currentPage * 5, 5)) strategyTermList = [] total_score = 0 for item in result: item['sm_type'] = util.type[item.sm_type] Knowledge = model.Knowledge_model() if item.sm_knowledge == 0: item['kl_name'] = "全部知识点" else: KnowledgeData = Knowledge.getByPK(item.sm_knowledge) item['kl_name'] = KnowledgeData.kl_name total_score += float(item['sm_score']) * float( item['sm_number']) strategyTermList.append(item) strategy = model.Strategy_model() strategy.sg_id = strategyTerm.strategy_sg_id strategy.sg_score = total_score strategy.update() result = strategyTerm.query('select count(*) from strategy_term where strategy_sg_id =%s' % \ (strategyTerm.strategy_sg_id)) page = util.Page(data=strategyTermList, totalRow=int(result[0]['count(*)']) * 2, currentPage=int(params.currentPage), pageSize=5, status=util.Status.__success__, message=total_score) print page response = util.Response(status=util.Status.__success__, body=page) return util.objtojson(response) else: response = util.Response(status=util.Status.__error__) return util.objtojson(response)