示例#1
0
def addActivityTracks():
    """
    批量新增运动员活动记录信息
    :return: {'add':r}, r为更新成功记录条数, -1表示失败
    """
    str = request.get_data()
    str = str.decode('utf8')
    str.replace('\\n', ' ')
    activityTracks = json.loads(str)
    if activityTracks and len(activityTracks) > 0:
        h = ActivityHandler()
        r = h.addActivityTracks(activityTracks)
        return packageResponse({'add': r})
    return packageResponse({'add': 0})
示例#2
0
def addPlayers():
    """
    批量新增运动员信息
    :return: json, {'add': r}, r表示新增成功记录数, 其他值表示新增失败(全体回滚)
    """
    str = request.get_data()
    str = str.decode('utf8')
    str.replace('\\n',' ')
    playerList = json.loads(str)
    if playerList and len(playerList) > 0:
        h = PlayerHandler()
        r = h.addPlayers(playerList)
        return packageResponse({'add': r})
    return packageResponse({'add': 0})
示例#3
0
def addPlayer():
    """
    新增运动员信息
    :return: json, {'add': i}, i为0表示新增成功, 其他值表示新增失败
    """
    player_code = request.form.get("player_code")
    name = request.form.get("name")
    al_name = request.form.get("al_name")
    uniform_number = request.form.get("uniform_number")
    comment = request.form.get("comment")
    birthday = request.form.get("birthday")
    status = request.form.get("status")
    course_count = request.form.get("course_count")
    due_dt = request.form.get("due_dt")
    group = request.form.get("group")
    contact_phone = request.form.get("contact_phone")
    contact_name = request.form.get("contact_name")
    d1 = request.form.get("d1")
    d2 = request.form.get("d2")
    d3 = request.form.get("d3")
    d4 = request.form.get("d4")
    d5 = request.form.get("d5")
    d6 = request.form.get("d6")
    d7 = request.form.get("d7")
    batch_id = request.form.get("batch_id")
    h = PlayerHandler()
    i = h.addPlayer(player_code, name, al_name, uniform_number, comment,
                    birthday, status, course_count, due_dt, group,
                    contact_phone, contact_name, d1, d2, d3, d4, d5, d6, d7,
                    batch_id)
    return packageResponse({'add': i})
示例#4
0
def authSignInUser(code, pwd):
    """
    根据用户代码和密码校验用户
    :param code: 用户代码
    :param pwd: 用户密码
    :return: {'authenticated': i}, i为1表示成功, 为0表示失败
    """
    h = UserHandler()
    l = h.authenticateUser(code, pwd, 'B')
    if(len(l)>0):
        return packageResponse({'authenticated':'1'})
    else:
        l = h.authenticateUser(code, pwd, 'A')
        if(len(l)>0):
            return packageResponse({'authenticated':'1'})
    return packageResponse({'authenticated':'0'})
示例#5
0
def listCartoonPortraits():
    """
    向客户端返回所有卡通头像的绝对路径
    :return: json, {'data': []}
    """
    l = img.loadCartoonPortraits()
    return packageResponse({'data': l})
示例#6
0
def truncateActivityTrack():
    """
    清空运动员活动记录表信息
    :return: json, {'truncate': 1}
    """
    h = ActivityHandler()
    h.truncateActivityTrack()
    return packageResponse({'truncate': 1})
示例#7
0
def truncatePlayer():
    """
    清空运动员表信息
    :return: json, {'truncate': 1}
    """
    h = PlayerHandler()
    h.truncatePlayer()
    return packageResponse({'truncate': 1})
示例#8
0
def getRefTableData():
    """
    向客户端返回数据库映射获得的数据库表列表
    :return: {'data': []}
    """
    h = TableHandler()
    l = h.reflectTables()
    return packageResponse({'data': l})
示例#9
0
def getRoleTreeData(role_code):
    """
    向客户端返回查询角色的树数据
    :param role_code: str, 角色代码
    :return: json, 以角色为顶节点的树({'data':{'role_code': str, 'name': str, 'status': boolean, children:[]}})
    """
    h = RoleHandler()
    return packageResponse({'data': h.getRoleTreeData(role_code)})
示例#10
0
def listPlanTimeLine():
    """
    查询请假时间规则配置信息
    :return: {"data":"[{'timegroup':'xxx','descr':'xxx','timeline':'00:00:00','before':3,'eff_status':'A'}]"}
    """
    h = PlayerHandler()
    l = h.getPlanTimeLineData()
    return packageResponse({'data': l})
示例#11
0
def createTable():
    """
    在数据库中创建数据实体表
    :return: json, {'data': r}, r为0表示创建成功, 否则为创建失败
    """
    data = request.get_json()
    h = TableHandler()
    r = h.createTable(data)
    return packageResponse({'data': r})
示例#12
0
def dumpTable():
    """
    将数据写入数据库实体表
    :return: json, 返回插入结果和提示信息,({'data': {'code': str, 'text': str})
    """
    data = request.get_json()
    h = TableHandler()
    i, r = h.dumpTable(data)
    return packageResponse({'data': {'code': i, 'text': str(r)}})
示例#13
0
def getOpenid(code):
    """
    根据获得用户的OpenId,Session_key和UnionId(open.weixin.qq.com中注册为开发者且认证才能获得UnionId)
    :param code: code
    :return: {"openid":"OPENID"}
    """
    s = weixin.getOpenid(code)
    if s == '':
        abort(404)
    return packageResponse({'openid': s})
示例#14
0
def updateTree():
    """
    更新树数据
    :return: json, 无意义
    """
    data = request.get_json()
    if data:
        h = TreeHandler()
        h.updateTreeData(data)
    return packageResponse({'data': {}})
示例#15
0
def addPlanTimelineData():
    """
    新增请假规则配置
    :return: {'add':i}, i为0时表示新增成功, 其余值表示失败
    """
    json_str = request.form.get("planTimelineData")
    planTimelineData = json.loads(json_str)
    h = PlayerHandler()
    r = h.addPlanTimelineData(planTimelineData)
    return packageResponse({'add': r})
示例#16
0
def updateTable():
    """
    更新数据表信息
    :return: json, {'data': r}, r为0表示更新成功, 否则为更新失败
    """
    data = request.get_json()
    if data:
        h = TableHandler()
        r = h.updateTableData(data)
    return packageResponse({'data': r})
示例#17
0
def getPlayerCourseCountByContactPhone(phone):
    """
    根据联系人电话向客户端返回关联的运动员课时和训练计划信息
    :param phone: str, 联系人电话
    :return: json {'CourseCount':[{'player_code':str,'name':str,'RCC':int,'due_dt':str,'comment':str,'track':[],'plan':[]}]}
    """
    h = PlayerHandler()
    l = h.getPlayerCourseCountOfContact(phone)
    if len(l) == 0:
        abort(404)
    return packageResponse({'CourseCount': l})
示例#18
0
def userInfo():
    """
    向客户端返回用户权限信息
    :return:
    """
    if 'current_user_proxy' in session:
        up = session['current_user_proxy']
        if up:
            h = UserHandler()
            a = h.getUserAvatarByCode(up.user_code)
            return packageResponse({'data':{'roles':[e.role_code for e in up.roles], 'name':up.user_data.name, 'avatar': a.avatar if a else 'common/portrait.gif', 'introduction':up.user_data.name+'('+up.user_code+')'}})
    return '登录超时,根据秘钥无法找到在线用户!', 401
示例#19
0
def methods(endpoint):
    """
    向客户端返回该后台服务相关的http method
    :param endpoint:str, 后台服务代码
    :return: json, {'data': []}
    """
    r = {'data': []}
    for e in current_app.url_map.iter_rules(endpoint):
        r['data'] = [
            ee for ee in e.methods if (ee != 'OPTIONS' and ee != 'HEAD')
        ]
    return packageResponse(r)
示例#20
0
def listUsers():
    """
    向客户端返回所有用户
    :return: json, {'data': [{'user_code': str, 'name': str}]}
    """
    h = UserHandler()
    u = h.listUsers(status='')
    return packageResponse(
        {'data': [{
            'user_code': e.user_code,
            'name': e.name
        } for e in u]})
示例#21
0
def pushUserAvatar():
    """
    更新用户头像
    :return: json, {'data':{'code': r}} r为0表示更新成功, 否则表示更新失败
    """
    data = request.get_json()
    if data:
        h = UserHandler()
        r = h.pushUserAvatar(data)
    return packageResponse({'data': {
        'code': r
    }}) if r == 0 else ('头像信息更新失败!', 500)
示例#22
0
def updateUser():
    """
    更新用户数据
    :return: json, {'data':{'code': r}} r为0表示更新成功, 否则表示更新失败
    """
    data = request.get_json()
    if data:
        h = UserHandler()
        r = h.updateUserData(data)
    return packageResponse({'data': {
        'code': r
    }}) if r == 0 else ('用户信息更新失败!', 500)
示例#23
0
def listRoles():
    """
    向客户端返回所有角色的列表
    :return: json, {'data': [{'role_code': str, 'name': str}]}
    """
    h = RoleHandler()
    l = h.listRoles(status='')
    return packageResponse(
        {'data': [{
            'role_code': e.role_code,
            'name': e.name
        } for e in l]})
示例#24
0
def listTrees():
    """
    向客户端返回所有树的列表
    :return: json, {'data': [{'tree_code':str, 'name':str}]}
    """
    h = TreeHandler()
    t = h.listTrees(status='')
    return packageResponse(
        {'data': [{
            'tree_code': e.tree_code,
            'name': e.name
        } for e in t]})
示例#25
0
def login():
    """
    用户登录
    :return: touple, 返回文本, 返回值
    """
    user_proxy = execLoginFunc(request)
    if user_proxy:
        # session.permanent = True #必须permanent = True, session才生效
        session['current_user_proxy'] = user_proxy
        return packageResponse({'data': {'token': user_proxy.key}})
    else:
        return '登录失败,用户或者密码错误!', 401
示例#26
0
def getTree():
    """
    向客户端返回根据代码和名称模糊查询获得的树列表
    :return: json, {'data': []}
    """
    args = request.args
    params = {'tree_code': '', 'name': ''}
    if 'tree_code' in args:
        params['tree_code'] = args['tree_code']
    if 'name' in args:
        params['name'] = args['name']
    h = TreeHandler()
    return packageResponse({'data': h.getTreeData(params)})
示例#27
0
def getRoleData():
    """
    向客户端返回角色数据(包括角色的后台服务和前台菜单)
    :return: json, [{'code': str, 'name': name, 'status': boolean, 'endpoint': [], 'viewroute': []}]
    """
    args = request.args
    params = {'code': '', 'name': ''}
    if 'code' in args:
        params['code'] = args['code']
    if 'name' in args:
        params['name'] = args['name']
    h = RoleHandler()
    return packageResponse({'data': h.getRoleData(params)})
示例#28
0
def getUserData():
    """
    向客户端返回用户数据
    :return: json, {'data':{'user_code':str, 'name':str, 'status':boolean, 'password':'', 'phone':str, 'email':str, 'avatar':str, 'role':[]}}
    """
    args = request.args
    params = {'user_code': '', 'name': ''}
    if 'user_code' in args:
        params['user_code'] = args['user_code']
    if 'name' in args:
        params['name'] = args['name']
    h = UserHandler()
    return packageResponse({'data': h.getUserData(params)})
示例#29
0
def getPlayerByName(name):
    """
    根据姓名向客户端返回运动员信息列表
    :param name: 运动员姓名
    :return: json, {'list':[]}
    """
    l = []
    h = PlayerHandler()
    ll = h.getPlayerByName(name)
    for e in ll:
        p = packagePlayer(e)
        l.append(p)
    return packageResponse({'list': l})
示例#30
0
def getPlayerByNameOrUniformNumber(code):
    """
    根据联系人电话向客户端返回关联的运动员课时和训练计划信息
    :param phone: str, 联系人电话
    :return: json {'CourseCount':[{'player_code':str,'name':str,'RCC':int,'due_dt':str,'comment':str,'track':[],'plan':[]}]}
    """
    l = []
    h = PlayerHandler()
    ll = h.getPlayerByNameOrUniformNumber(code)
    for e in ll:
        p = packagePlayer(e)
        l.append(p)
    return packageResponse({'list': l})