Exemple #1
0
 def get_setmeal(self):
     """
     获取课时套餐
     """
     if is_admin() or is_hign_level_admin():
         setmeal = Setmeal.query.filter(
             Setmeal.isdelete == 0).all_with_page()
         return Success(message="获取课时套餐成功", data=setmeal)
     elif is_user():
         args = parameter_required(('clid', ))
         classes = Classes.query.filter(
             Classes.isdelete == 0,
             Classes.CLid == args.get('clid')).first_("未找到该课程信息")
         setmeal_list = []
         setmeal_list.append({
             "smid": "1",
             "clid": args.get('clid'),
             "clname": classes["CLname"],
             "smnum": 1,
             "smprice": classes["CLprice"]
         })
         setmeal = Setmeal.query.filter(
             Setmeal.isdelete == 0, Setmeal.CLid == args.get("clid")).all()
         setmeal.sort(key=lambda x: x["SMnum"])
         for setmeal_one in setmeal:
             setmeal_list.append(setmeal_one)
         return Success(message="获取课时套餐成功", data=setmeal_list)
Exemple #2
0
 def set_evaluationitem(self):
     """设置问卷题目"""
     data = parameter_required((
         'evid',
         'einame',
         'eiindex',
     ) if not request.json.get('delete') else ('eiid', ))
     if not (is_hign_level_admin() or is_admin()):
         return AuthorityError()
     ei_dict = {
         "EVid": data.get('evid'),
         "EIname": data.get('einame'),
         "EIindex": data.get('eiindex')
     }
     eiid = data.get("eiid")
     with db.auto_commit():
         if not eiid:
             # 新增
             ei_dict["EIid"] = str(uuid.uuid1())
             ei_instance = EvaluationItem.create(ei_dict)
             msg = "新增成功"
         else:
             ei_instance = EvaluationItem.query.filter(
                 EvaluationItem.EIid == eiid).first_("未找到该题目")
             if data.get("delete"):
                 ei_instance.update({"isdelete": 1})
                 msg = "删除成功"
             else:
                 ei_instance.update(ei_dict)
                 msg = "修改成功"
         db.session.add(ei_instance)
     return Success(message=msg)
Exemple #3
0
 def set_setmeal(self):
     """
     新增/修改/删除课时套餐
     """
     if not (is_admin() or is_hign_level_admin()):
         return AuthorityError('无权限')
     data = parameter_required((
         'clid', 'smnum',
         'smprice') if not request.json.get('delete') else ('smid', ))
     smid = data.get('smid')
     if smid:
         setmeal = Setmeal.query.filter(
             Setmeal.SMid == smid).first_("未找到该套餐信息")
         classes = Classes.query.filter(
             Classes.isdelete == 0,
             Classes.CLid == setmeal.CLid).first_("未找到该课程信息")
     else:
         classes = Classes.query.filter(
             Classes.isdelete == 0,
             Classes.CLid == data.get('clid')).first_("未找到该课程信息")
     clname = classes["CLname"]
     sm_dict = {
         "CLid": data.get('clid'),
         "CLname": clname,
         "SMnum": data.get('smnum'),
         "SMprice": data.get('smprice')
     }
     with db.auto_commit():
         if not smid:
             """新增"""
             sm_dict['SMid'] = str(uuid.uuid1())
             sm_instance = Setmeal.create(sm_dict)
             msg = '添加成功'
         else:
             """修改/删除"""
             sm_instance = Setmeal.query.filter_by_(
                 SMid=smid).first_('未找到该轮播图信息')
             if data.get('delete'):
                 sm_instance.update({'isdelete': 1})
                 msg = '删除成功'
             else:
                 sm_instance.update(sm_dict, null='not')
                 msg = '编辑成功'
         db.session.add(sm_instance)
     return Success(message=msg, data={'smid': sm_instance.SMid})
Exemple #4
0
 def set_class(self):
     """
     创建/编辑/删除课程
     """
     if not (is_admin() or is_hign_level_admin()):
         return AuthorityError('无权限')
     data = parameter_required((
         'clname', "clpicture", "deid", "clintroduction",
         "clprice") if not request.json.get('delete') else ('clid', ))
     clid = data.get('clid')
     if clid:
         classes = Classes.query.filter(
             Classes.CLid == clid).first_("未找到课程信息")
         department = Departments.query.filter(
             Departments.DEid == classes.DEid).first_("未找到科室信息")
     else:
         department = Departments.query.filter(
             Departments.DEid == data.get("deid")).first_("未找到科室信息")
     cl_dict = {
         'CLname': data.get('clname'),
         'CLpicture': data.get('clpicture'),
         'DEid': data.get('deid'),
         'DEname': department['DEname'],
         'CLintroduction': data.get('clintroduction'),
         'CLprice': data.get('clprice')
     }
     with db.auto_commit():
         if not clid:
             """新增"""
             cl_dict['CLid'] = str(uuid.uuid1())
             cl_instance = Classes.create(cl_dict)
             msg = '添加成功'
         else:
             """修改/删除"""
             cl_instance = Classes.query.filter_by_(
                 CLid=clid).first_('未找到该轮播图信息')
             if data.get('delete'):
                 cl_instance.update({'isdelete': 1})
                 msg = '删除成功'
             else:
                 cl_instance.update(cl_dict, null='not')
                 msg = '编辑成功'
         db.session.add(cl_instance)
     return Success(message=msg, data={'clid': cl_instance.CLid})
Exemple #5
0
 def update_pointtask(self):
     """更新任务积分以及次数"""
     # 后台更新次数以及积分数,负表示仅限次数,0表示无限次,正表示每日可完成次数
     if not (is_admin() or is_hign_level_admin()):
         return AuthorityError()
     data = parameter_required(('ptid', 'ptnumber', 'pttime', 'pticon'))
     if not data.get('ptnumber'):
         data['ptnumber'] = 0
     if not data.get('pttime'):
         data['pttime'] = 0
     pt_dict = {
         "PTnumber": data.get('ptnumber'),
         "PTtime": data.get('pttime'),
         "PTicon": data.get('pticon')
     }
     pt_instance = PointTask.query.filter(PointTask.PTid == data.get('ptid')).first_("未找到该任务")
     with db.auto_commit():
         pt_instance.update(pt_dict, null='not')
         db.session.add(pt_instance)
     return Success(message="更新任务成功")
Exemple #6
0
 def get_integral(self):
     """获取个人积分变动情况"""
     # 后台可筛选,前台默认用户token
     args = parameter_required(('token', ))
     filter_args = [UserIntegral.isdelete == 0]
     user = token_to_user_(args.get('token'))
     if is_user():
         filter_args.append(UserIntegral.USid == user.id)
         filter_args.append(UserIntegral.UItrue == 1)
     else:
         if not (is_admin() or is_hign_level_admin()):
             return AuthorityError()
         if args.get('usid'):
             filter_args.append(UserIntegral.USid == args.get('usid'))
     userIntegral = UserIntegral.query.filter(*filter_args).order_by(UserIntegral.createtime.desc()).all_with_page()
     for user_item in userIntegral:
         user = User.query.filter(User.USid == user_item.USid).first()
         user_item.fill('usname', user.USname)
         user_item.fill('utname', PointTaskType(user_item.UIaction).zh_value)
         user_item.fill('createtime', user_item.createtime)
     return Success(message="获取积分变动成功", data=userIntegral)
Exemple #7
0
    def add_admin(self):
        """超级管理员添加普通管理"""
        if not is_hign_level_admin():
            return AuthorityError()

        data = parameter_required(('adname',))
        adid = str(uuid.uuid1())

        adname = data.get('adname')
        adlevel = 2

        # 账户名校验
        self.__check_adname(adname)
        # 创建管理员
        with db.auto_commit():
            adinstance = Admin.create({
                'ADid': adid,
                'ADname': adname,
                "ADtelphone": "",
                'ADpassword': generate_password_hash("123456"),
                'ADheader': "",
                'ADlevel': adlevel,
                'ADstatus': 0,
            })
            db.session.add(adinstance)

            # 创建管理员变更记录
            an_instance = AdminActions.create({
                'AAid': str(uuid.uuid1()),
                'ADid': "1",
                "AAaction": 1,
                "AAmodel": "Admin",
                'AAdetail': str(data)
            })

            db.session.add(an_instance)
        return Success('创建管理员成功')