コード例 #1
0
ファイル: Service.py プロジェクト: xiejava1018/testsubmit
 def stu_selectcourse(self, studinfo, xuanke_counter=0):
     studenetId = studinfo['stu']['id']
     studentNo = studinfo['stu']['studentNo']
     semeId = str(int(studinfo['stu']['xueqi']['id']) + 1)  #本学期选下学期的课
     stu_plan_name = studinfo['stu']['planObj']['name']
     dateutil = DateUtil.DateUtil()
     semenum = dateutil.getSCTermNo(stu_plan_name)
     tobeelectlistinfo = self.get_stu_tobeelect(studinfo)
     if tobeelectlistinfo and len(tobeelectlistinfo) == 2:
         stu_cur_eleactive = tobeelectlistinfo[0]
         tobeelectlist = tobeelectlistinfo[1]
         if stu_cur_eleactive and len(
                 stu_cur_eleactive) > 0 and self.getifforceselectcourse(
                 ) != True:
             self.log('学生' + str(studentNo) + '已有选课记录,不再进行自动选课。', True)
         else:
             # 优选本学期的推荐课,判断是否为推荐选课
             tobeelectlist = self.selectCourseService.get_recommend_courselist(
                 studentNo)
             if xuanke_counter > 0:
                 # 在所有推荐选课列表中先选主修课再选选修课
                 #mainstudy_courselist=self.selectCourseService.get_recommend_courselist(studentNo,0)
                 #if len(mainstudy_courselist)>=xuanke_counter:
                 #    tobeelectlist=mainstudy_courselist[0:xuanke_counter]
                 #else:
                 #    selectstudy_courselist=self.selectCourseService.get_recommend_courselist(studentNo,1)
                 #    selectstudy_coursecount=len(selectstudy_courselist)
                 #    if selectstudy_coursecount>0:
                 #        selectstudycount=xuanke_counter-len(mainstudy_courselist)
                 #        if selectstudycount>selectstudy_coursecount:
                 #            selectstudycount=selectstudy_coursecount
                 #            mainstudy_courselist.extend(selectstudy_courselist[0:selectstudycount])
                 #        tobeelectlist =mainstudy_courselist
                 tobeelectlist = tobeelectlist[0:xuanke_counter]
             # 组织自动选课数据
             selectcourselist = []
             selectcoursetime = self.getcurrenttime()
             for course in tobeelectlist:
                 # 优选本学期的推荐课,判断是否为推荐选课,如果是则选择
                 courseid = course['courseId']
                 coursetype = '必修'
                 if course['type'] == 0:
                     coursetype = '必修'
                 if course['type'] == 1:
                     coursetype = '选修'
                 selectcouse = {
                     "coursePlanId": course['id'],
                     "courseD": course['courseD'],
                     "studentId": studenetId,
                     "studentNo": studentNo,
                     "courseId": courseid,
                     "planId": course['planId'],
                     "semeId": semeId,
                     "type": coursetype,
                     "time": selectcoursetime
                 }
                 selectcourselist.append(selectcouse)
             selectcourse_data = json.dumps(selectcourselist,
                                            ensure_ascii=False)
             self.submit_selectcourse(studinfo, selectcourse_data)
コード例 #2
0
ファイル: Service.py プロジェクト: xiejava1018/testsubmit
 def get_stu_courseplanlist(self,
                            login_name,
                            stu_plan_name,
                            stu_plan_id,
                            retrytime=None):
     dateutil = DateUtil.DateUtil()
     semenum = dateutil.getSCTermNo(stu_plan_name)
     request_url = 'https://jxjyxb.bucm.edu.cn/api/v1/student/courseplan/list_stu'
     post_data = {
         'page': 1,
         'pageSize': 100,
         'coursePlan.planId': stu_plan_id,
         'coursePlan.semenum': semenum
     }
     try:
         response = self.session.post(request_url,
                                      data=post_data,
                                      headers=self.headers)
         if response.status_code == 200:
             print('选课信息---' + response.text)
             stu_course_json = json.loads(response.text)
             stu_course_plan = stu_course_json['pager']['datas']
     except:
         self.log(neterror_msg, True)
         set_retrytime = int(self.get_retrytime())
         if retrytime is None:
             retrytime = int(set_retrytime)
         else:
             retrytime = int(retrytime) - 1
         if retrytime > 0:
             self.log('重复尝试第' + str(set_retrytime - retrytime + 1) + '次',
                      True)
             retryinterval = self.get_retryinterval()
             time.sleep(retryinterval)
             self.get_stu_courseplanlist(login_name, stu_plan_name,
                                         stu_plan_id, retrytime)
     return stu_course_plan
コード例 #3
0
# -*- coding: utf-8 -*-

import traceback

# import hashlib
from DateUtil import *
from DbUtil import *

VIP_USE_TIMES = (5, 80, 600, 1300, 0)
# 月会员3次
# 季度10次
# 半年会员21次
# 年会员43次
# 永久会员
db = DbUtil()
date_util = DateUtil()


def is_use_forever(vip_type):
    if vip_type == VipType.forever:
        return True
    else:
        return False


# def get_use_times(vip_type):
# 	if vip_type in VipType:
# 		return VIP_USE_TIMES[vip_type.value]
# 	else:
# 		return 0