def update_plan(ptype,CourseId,Yardid,Coach_id,BeginDate,EndDate,WorkTime,OffTime,WeekSchedule_list_or_str,updater): session = database.get_session() updatedict = {'BeginDate':BeginDate,'EndDate':EndDate,'Modifier':updater,'LastUpdateDate':datetime.now()} if CourseId: c = Course() c.CourseId = CourseId updatedict.update({'Course':[c]}) if Yardid: y = Yard() y.Yardid = Yardid updatedict.update({'Yard':[y]}) if Coach_id: m = Member() m.UserId = Coach_id updatedict.update({'Coach':[m]}) if WorkTime: updatedict.update({'WorkTime':WorkTime}) if OffTime: updatedict.update({'OffTime':OffTime}) if WeekSchedule_list_or_str: if ptype=='a': s = '' for e in WeekSchedule_list_or_str: s+= '&'.join(e)+'^' updatedict.update({'WeekSchedule':s.strip('^')}) elif ptype=='b': updatedict.update({'WeekSchedule':WeekSchedule_list_or_str}) else: pass session.query(Course).filter(Course.CourseId == CourseId).update(updatedict) session.commit() session.close()
def create_plan(PlanType,CourseId,Yardid,BeginDate,EndDate,WorkTime,OffTime,WeekSchedule_list_or_str,creator): session = database.get_session() p = Plan() p.PType = PlanType.strip() c = Course() c.CourseId = CourseId p.Course.append(c) y = Yard() y.Yardid = Yardid p.Yard.append(y) p.BeginDate = BeginDate p.EndDate = EndDate if PlanType.strip() == 'a': #团课 s = '' for e in WeekSchedule_list_or_str: s+= '&'.join(e)+'^' p.WeekSchedule = s.strip('^') elif PlanType.strip() == 'b': #私教 p.WorkTime = WorkTime p.OffTime = OffTime p.WeekSchedule = WeekSchedule_list_or_str else: pass p.Creator = creator p.CreateDate = datetime.now() session.add(p) session.commit() session.close()
def create_course(): try: print('创建课程'.center(60, '=')) school_list = School.get_all_obj_list() for k, obj in enumerate(school_list): print(k, obj, obj.addr) sid = int(input('请选择学校: ')) school_obj = school_list[sid] name = input('请输入课程名: ').strip() price = input('请输入课程价格: ').strip() period = input('请输入课程周期: ').strip() course_name_list = [(obj.name, obj.school_nid.uuid) for obj in Course.get_all_obj_list()] if (name, school_obj.nid.uuid) in course_name_list: raise Exception('\033[43;1m课程[%s] 已经存在,不可重复创建\033[0m' % (name)) obj = Course(name, price, period, school_obj.nid) obj.save() status = True error = '' data = '\033[33;1m课程[%s] 价格[%s] 周期[%s]创建成功\033[0m' % ( obj.name, obj.price, obj.period) except Exception as e: status = False error = str(e) data = '' return {'status': status, 'error': error, 'data': data}
def create_course(): print('=================创建课程======================') school_list = School.get_all_list() for k, obj in enumerate(school_list, 1): print(k, obj) sid = input('请选择学校:') sid = int(sid) school_obj = school_list[sid - 1] name = input('请输入课程名称:') price = input('请输入课程价格:') period = input('请输入课程周期:') obj = Course(name, price, period, school_obj.nid) obj.save() print('课程【%s】创建成功' % name)
def fakeCourse(): faker = Faker() for inx in range(1, 51): course = Course(name=faker.name(), desc=faker.text()) db.session.add(course) db.session.commit()
def show_course(): for obj in Course.get_all_obj_list(): # print('\033[33;1m[%s] [%s]校区 [%s]课程 价格[%s] 周期[%s]\033[0m'.center(60,'-') \ # %(obj.school_nid.get_obj_by_uuid().name,\ # obj.school_nid.get_obj_by_uuid().addr,\ # obj.name,obj.price,obj.period)) print('\033[33;1m[%s]课程 价格[%s] 周期[%s]\033[0m'.center(60,'-') \ %(obj.name,obj.price,obj.period))
def create_course(CourseType,Name,Duration,Amount,HourFee,Comment,Description,creator,Coach_id=None): session = database.get_session() p = Course() p.CType = CourseType.strip() p.Name = Name.strip() p.Duration = int(Duration) p.Amount = int(Amount) if Coach_id: m = Member() m.UserId = Coach_id p.Coach.append(m) p.HourFee = int(HourFee) p.Comment = Comment.strip() p.Description = Description.strip() p.Creator = creator p.CreateDate = datetime.now() session.add(p) session.commit() session.close()
def create_course_to_teacher(): try: print('关联教师与课程'.center(60, '=')) course_list = Course.get_all_obj_list() for k, obj in enumerate(course_list): print( k, '课程[%s] ([%s] [%s]校区)' % (obj.name, obj.school_nid.get_obj_by_uuid().name, obj.school_nid.get_obj_by_uuid().addr)) cid = int(input("请选择课程:")) course_obj = course_list[cid] teacher_list = Teacher.get_all_obj_list() teacher_list_selection = [] k = 0 for obj in teacher_list: if obj.school_nid.uuid == course_obj.school_nid.uuid: print( k, obj.name, '[%s] [%s]校区' % (obj.school_nid.get_obj_by_uuid().name, obj.school_nid.get_obj_by_uuid().addr)) teacher_list_selection.append(obj) k += 1 if k == 0: raise Exception('\033[31;1m该学校还未有合适的教师\033[0m') else: tid = int(input("请选择教师:")) teacher_obj = teacher_list_selection[tid] course_to_teacher_list = [ (obj.course_nid.uuid, obj.teacher_nid.uuid) for obj in Course_to_teacher.get_all_obj_list() ] if (course_obj.nid.uuid, teacher_obj.nid.uuid) in course_to_teacher_list: raise Exception( '\033[31;1m教师[%s] 已与课程[%s]([%s] [%s]校区)关联,不可重复创建\033[0m' % (teacher_obj.name, course_obj.name, course_obj.school_nid.get_obj_by_uuid().name, course_obj.school_nid.get_obj_by_uuid().addr)) obj = Course_to_teacher(course_obj.nid, teacher_obj.nid) obj.save() status = True error = '' data='\033[33;1m教师[%s] 与课程[%s]([%s] [%s]校区)关联 创建成功\033[0m' \ % (teacher_obj.name, course_obj.name, course_obj.school_nid.get_obj_by_uuid().name, course_obj.school_nid.get_obj_by_uuid().addr) except Exception as e: status = False error = str(e) data = '' return {'status': status, 'error': error, 'data': data}
def course_add(self, *args): """ 增加课程 :param args: :return: """ if self.classes_list(): class_id = self.format.input_str_format("请输入班级ID号") try: name = self.format.input_str_format("请输入课程名") course_oj = Course(name=name, classes_id=class_id) self.session_add(course_oj) self.logger.debug("课程[%s]增加成功" % name) except: self.logger.error("你输入的班级号不存在!")
def create_course_to_teacher(): print('=================创建课程与老师对应关系======================') course_list = Course.get_all_list() for k, obj in enumerate(course_list, 1): print(k, obj) course_inp = input('请选择课程:') course_obj = course_list[int(course_inp) - 1] teacher_list = Teacher.get_teacher_list() for k, obj in enumerate(teacher_list, 1): print(k, obj) teacher_inp = input('请选择老师:') teacher_obj = teacher_list[int(teacher_inp) - 1] obj = CourseToTeacher(course_obj.nid, teacher_obj.nid) obj.save() print('课程名称:%s,已选老师为:%s' % (course_obj.courseName, teacher_obj.teacherName))
def create_course(): if request.method == 'POST': course_name = request.form.get('course_name') course_description = request.form.get('description') visible = request.form.get('visible') if visible: visible = True else: visible = False file = request.files['file'] filename = secure_filename(file.filename) if filename == "" or filename is None: filename = "course.png" else: filename = str(uuid.uuid4()) + "_" + filename path_to_file = os.path.join(app.config['UPLOAD_FOLDER_IMAGE'] + filename) file.save(path_to_file) new_course = Course(name=course_name, description=course_description, visible=visible, rating=0, image_name=filename) db.session.add(new_course) db.session.commit() current_user.created_courses.append(new_course) db.session.add(current_user) db.session.commit() return redirect(url_for('all_courses')) else: return render_template("course/create.html")
def show_course(): print('=====查看课程=====') course_list = Course.get_all_list() for item in course_list: print(item.courseName, item.coursePrice, item.coursePeriod, item.schoolId.get_obj_by_uuid())
# vim: ts=4:sw=4:expandtabs __author__ = '*****@*****.**' from src.models import Course __all__ = ['course'] course = Course('The First Course', [ 'courses.first_course.Hole1', 'courses.first_course.Hole2', 'courses.first_course.Hole3', 'courses.first_course.Hole4', 'courses.first_course.Hole5', 'courses.first_course.Hole6', 'courses.first_course.Hole7', 'courses.first_course.Hole8', 'courses.first_course.Hole9', 'courses.first_course.Hole10', 'courses.first_course.Hole11', 'courses.first_course.Hole12', 'courses.first_course.Hole13', ])
def get_course_list(): show(Course.get_all())
def get_course_list(): Course.get_all()
def data_prepare(self): if not self.app.debug or self.app.config['ENV_NAME'] == 'prd': # only running in debug mode and not in prd environment return with session_scope(db) as session: pid = os.getpid() r = session.query(SysControl).filter( SysControl.current_pid == pid).one_or_none() if r: # one process only run once return c_ap = Curriculum(full_name='AP', updated_by=str(pid), state=98) session.add(c_ap) c_ib = Curriculum(full_name='IB', updated_by=str(pid), state=98) session.add(c_ib) session.flush() self.logger.debug(c_ap) self.logger.debug(c_ib) sc = SubjectCategory(subject_category='history', updated_by=str(pid), state=98) session.add(sc) session.flush() self.logger.debug(sc) s_ap_history = Subject(subject_name='AP_history_grade_9', curriculum_id=c_ap.id, state=98, subject_category_id=sc.id, updated_by=str(pid)) session.add(s_ap_history) s_ib_history = Subject(subject_name='IB_history_grade_9', curriculum_id=c_ib.id, state=98, subject_category_id=sc.id, updated_by=str(pid)) session.add(s_ib_history) session.flush() self.logger.debug(s_ap_history) self.logger.debug(s_ib_history) teacher_name = random_username() self.register(teacher_name, 'Teacher') t = session.query(Teacher).filter( Teacher.username == teacher_name).one_or_none() self.logger.debug(t) cs_ap_history = Course(course_name='T1_AP_history_grade_9', course_type=1, class_type=1, classes_number=80, state=98, price=900000, primary_teacher_id=t.id, subject_id=s_ap_history.id, updated_by=str(pid)) session.add(cs_ap_history) cs_ib_history = Course(course_name='T1_IB_history_grade_9', course_type=2, class_type=1, classes_number=60, state=98, price=800000, primary_teacher_id=t.id, subject_id=s_ib_history.id, updated_by=str(pid)) session.add(cs_ib_history) session.flush() self.logger.debug(cs_ap_history) self.logger.debug(cs_ib_history) cs_s_ap = CourseSchedule(start=datetime.now(), end=(datetime.now() + timedelta(days=90)), state=98, course_id=cs_ap_history.id, updated_by=str(pid)) session.add(cs_s_ap) cs_s_ib = CourseSchedule(start=datetime.now(), end=(datetime.now() + timedelta(days=90)), state=98, course_id=cs_ib_history.id, updated_by=str(pid)) session.add(cs_s_ib) session.flush() self.logger.debug(cs_s_ap) self.logger.debug(cs_s_ib) # add channel channel = Channel(channel_name=str(pid), state=1, updated_by=str(pid)) session.add(channel) session.flush() # add order order = Order(updated_by=str(pid), channel_id=channel.id, student_id=self.test_student_id, course_id=cs_ib_history.id, order_type=1, order_desc='', state=1, payment_state=1, amount=1000000, discount=10, promotion='') session.add(order) session.flush() # finally add the control record of this pid sys_control = SysControl(current_pid=pid) session.add(sys_control) session.flush() self.logger.debug(sys_control)
def show_course(): print('=================查看课程======================') course_list = Course.get_all_list() for item in course_list: print(item)
def show_course(): for obj in Course.get_all_obj_list(): print('\033[33;1m[%s] [%s]校区 [%s]课程 价格[%s] 周期[%s]\033[0m' % (obj.school_nid.get_obj_by_uuid().name, obj.school_nid.get_obj_by_uuid().addr, obj.name, obj.price, obj.period))
def establish(): """ swagger-doc: 'establish' required: [] req: order_type: description: '订单类型' type: 'string' have_course: description: '存在课包:1,不存在:0' type: 'integer' course_id: description: '课程包id' type: 'integer' student: description: '学生账号或id' type: 'string' subject_id: description: '第三节分类id' type: 'integer' course_type: description: '1:公共,2在线' type: 'integer' class_type: description: '班级,常量' type: 'integer' project_type: description: '班级,常量' type: 'integer' teacher: description: '教师账号或id' type: 'string' classes_number: description: '课程节数' type: 'integer' basic_amount: description: '基本价格' type: 'integer' amount: description: '金额' type: 'integer' order_desc: description: '订单描述' type: 'string' res: id: description: 'order id' type: 'string' """ order_type = request.json['order_type'] course_id = '0' if 'course_id' in request.json: course_id = request.json['course_id'] student_parm = request.json['student'] amount = request.json['amount'] order_desc = request.json['order_desc'] with session_scope(db) as session: if student_parm.isdigit(): student = session.query(Student).filter_by( id=student_parm).one_or_none() else: student = session.query(Student).filter_by( username=student_parm).one_or_none() if student is None: return jsonify( {"error": "not found student:{0} ".format(student_parm)}), 500 student_id = getattr(student, 'id') if 'course_id' in request.json: order1s = session.query(Order).filter_by( course_id=course_id, student_id=student_id, state=98, delete_flag='IN_FORCE').all() if len(order1s) > 0: return jsonify({"error": "Student already have orders."}), 500 if 'have_course' in request.json and request.json['have_course'] == 0: teacher_parm = request.json['teacher'] course_type = request.json['course_type'] class_type = request.json['class_type'] # project_type = request.json['project_type'] classes_number = request.json['classes_number'] basic_amount = request.json['basic_amount'] subject_id = request.json['subject_id'] subject = session.query(Subject).filter_by( id=subject_id).one_or_none() if subject is None: return jsonify( {"error": "not found subject: {0}".format(subject_id)}), 500 if teacher_parm.isdigit(): teacher = session.query(Teacher).filter_by( id=teacher_parm).one_or_none() else: teacher = session.query(Teacher).filter_by( username=teacher_parm).one_or_none() subject = session.query(Subject).filter_by( id=subject_id).one_or_none() if teacher is None: return jsonify( {"error": "not found teacher: {0}".format(teacher_parm)}), 500 teacher_id = getattr(teacher, 'id') course_name = getattr(subject, 'subject_name') course_name_zh = getattr(subject, 'subject_name_zh') course = Course(course_type=course_type, class_type=class_type, classes_number=classes_number, course_desc=order_desc, state=98, price=basic_amount, primary_teacher_id=teacher_id, subject_id=subject_id, course_name=course_name, course_name_zh=course_name_zh, delete_flag='IN_FORCE', updated_by=getattr( g, current_app.config['CUR_USER'])['username']) session.add(course) session.flush() amount = int(classes_number) * int(basic_amount) course_id = getattr(course, 'id') course = session.query(Course).filter_by(id=course_id).one_or_none() if course.class_type == 2: orders = session.query(Order).filter_by( course_id=course_id, state=98, delete_flag='IN_FORCE').all() if len(orders) >= course.class_type: return jsonify({"error": "class_type error"}), 500 sourseSchedules = session.query(CourseSchedule).filter_by( course_id=course_id, state=98, delete_flag='IN_FORCE').all() if sourseSchedules is not None and len(sourseSchedules) > 0: return jsonify({ "error": "found order {0} have sourse schedules".format(course_id) }), 500 order = Order( order_type=order_type, order_desc=order_desc, amount=amount, discount=amount, promotion=course_id, student_id=student_id, course_id=course_id, payment_state=1, channel_id=1, state=98, delete_flag='IN_FORCE', updated_by=getattr(g, current_app.config['CUR_USER'])['username'], created_by=getattr(g, current_app.config['CUR_USER'])['id']) result = session.add(order) session.flush() order_id = getattr(order, 'id') paylog = PayLog(direction=1, state=98, amount=amount, payment_fee=amount, result=amount, order_id=order_id, delete_flag='IN_FORCE', state_reason='establish', payment_method=1, updated_by=getattr( g, current_app.config['CUR_USER'])['username']) session.add(paylog) session.flush() return jsonify({'id': order_id})