Exemplo n.º 1
0
def role_add():
    """
    角色新增
    :return:
    """
    logging.info('role_add')
    role_form = RoleForm()
    if role_form.validate_on_submit():
        name = role_form.data["name"]
        desc = role_form.data["desc"]
        org_id = role_form.data["org_id"]
        id = session.get("user_id", 0)
        sysuser = SysUser.query.filter_by(id=id).first()
        Rolelist.create(name=name,
                        org_id=org_id,
                        description=desc,
                        create_by=sysuser.username,
                        create_time=datetime.now())
        # 发送操作消息
        message_view.add_option_message("新增角色 '" + name + "'", '新增角色')
        return redirect(url_for('sysrole.role'))  # sys_add_role
    id = session.get("user_id", 0)
    org_id = SysUser.query.filter_by(id=id).first().org_id
    org_code = SysOrg.query.filter_by(org_id=org_id).first()
    return render_template('sysadmin/sysrole/sys_add_role.html', **locals())
Exemplo n.º 2
0
def reset_password(id):
    """
    用户管理--重置密码
    通过id查询到用户,获取用户姓名,用户邮箱,通过随机生成六位数密码,发送给用户邮箱
    :return:
    """
    logging.info('reset_password')
    try:
        new_password = generate_verification_code()
        sys_user = SysUser.query.filter_by(id=id).first()

        if sys_user:
            address = sys_user.email
            msg = Message('富融通密码重置',
                          sender='*****@*****.**',
                          recipients=[address])
            msg.body = '邮件内容'
            msg.html = "<h1>密码重置成功!<h1> <div>" + sys_user.name + "您好:</div><div>我们收到了来自您的富融通用户密码重置的申请。请使用下面的密码进行登录,并尽快设置新的密码。以下是您的密码:</div><h2>" + new_password + "<h2><div>富融通</div>"
            with current_app.app_context():
                mail.send(msg)
            new_password = SysUser.set_password(sys_user, new_password)
            SysUser.update(sys_user, password=new_password)
            # 发送操作消息
            message_view.add_option_message("重置用户 '" + sys_user.username +
                                            "' 的密码")
            return json.dumps({'code': ResponseCode.SUCCESS})
    except Exception as e:
        logging.debug(e)
        name_dict = {'code': ResponseCode.ERROR, 'msg': '重置密码失败'}
        return json.dumps(name_dict)
Exemplo n.º 3
0
def delete_user(id):
    """
    用户管理--删除用户
    :param id:
    :return:
    """
    logging.info('delete_user')
    try:
        sys_user = SysUser.query.filter_by(id=id).first()
        sys_role = SysUserRole.query.filter_by(user_id=id).first()
        sys_user_history = SysUserHistory.query.filter_by(user_id=id).first()
        if sys_user:
            # 用户表用户信息删除
            SysUser.delete(sys_user)
            # 用户角色信息删除
            SysUserRole.delete(sys_role)
            # 用户历史表
            SysUserHistory.update(sys_user_history,
                                  status='0',
                                  update_time=get_current_time(),
                                  end_time=get_current_time(),
                                  update_by=session.get('user_name'))
            # 发送操作消息
            message_view.add_option_message("删除用户 '" + sys_user.username + "'")
            res = {'code': ResponseCode.SUCCESS, 'msg': '删除成功'}
            return json.dumps(res)
    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 4
0
def role_delete():
    '''
      删除角色
    :return:
    '''
    logging.info('role_delete')
    id = int(request.args.get("id"))
    obj = SysUserRole.query.filter_by(role_id=str(id)).first()
    if obj:
        name_dict = {'code': ResponseCode.ERROR, 'desc': '角色正在使用中不能删除!'}
        return json.dumps(name_dict)
    res = Rolelist.query.filter_by(id=id).first()
    # if res.name == 'flow_客服审核(系统默认)':
    #     name_dict = {'code': ResponseCode.ERROR, 'desc': '系统默认角色不能删除!'}
    #     return json.dumps(name_dict)
    # if res.name == 'flow_支付参数配置(系统默认)':
    #     name_dict = {'code': ResponseCode.ERROR, 'desc': '系统默认角色不能删除!'}
    #     return json.dumps(name_dict)
    Rolelist.delete(res)
    listinfo = SysRolePermissionlist.query.filter_by(role_id=id).all()
    for item in listinfo:
        SysRolePermissionlist.delete(item)
    # 发送操作消息
    message_view.add_option_message("删除角色 '" + res.name + "'", '删除角色')
    name_dict = {'code': ResponseCode.SUCCESS, 'desc': '角色删除成功!'}
    return json.dumps(name_dict)
Exemplo n.º 5
0
def role_permission(role_id, listpower):
    """
    角色授权
    :param role_id:     角色ID
    :param listpower:   角色授权的权限列表  list 新的权限ID列表对象
    :return:
    """
    logging.info('role_permission')
    try:
        info = []  # 公共集合
        oldpower = SysRolePermissionlist.query.filter_by(role_id=role_id).all()
        for item in oldpower:  # 删差集权限
            if str(item.permissionlist_id) in listpower:
                info.append(str(item.permissionlist_id))
            else:
                permission_status = Permissionlist.query.filter_by(
                    id=item.permissionlist_id).first()
                if permission_status:
                    if permission_status.status == 0:  # status
                        SysRolePermissionlist.delete(item)  # 2017.10.31 ping
        for i in list(set(listpower) ^ set(info)):  # 增加新附加的权限
            SysRolePermissionlist.create(role_id=role_id, permissionlist_id=i)
        the_role = Rolelist.query.filter_by(id=role_id).first()
        # 发送操作消息
        message_view.add_option_message("更新角色 '" + the_role.name + "' 的信息",
                                        '更新角色')
        return {'code': ResponseCode.SUCCESS}
    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 6
0
def add_dict(data):
    """
    新增字典
    :param data:
    :return:
    """
    logging.info('add_dict')
    try:
        user_id = session.get('user_id', 0)
        user = SysUser.query.filter_by(id=user_id).first()
        # dict = SysDict.create(dict_name=data['dict_name'], dict_type=data['dict_type'], description=data['description'],
        #                       remarks=data['remarks'], dict_id=data['dict_id'], create_by=user.username,
        #                       update_by=user.username, sort=data['sort'], del_flag=int(data['del_flag']))
        db.session.add(
            SysDict(dict_name=data['dict_name'],
                    dict_type=data['dict_type'],
                    description=data['description'],
                    remarks=data['remarks'],
                    dict_id=data['dict_id'],
                    create_by=user.username,
                    update_by=user.username,
                    sort=data['sort'],
                    del_flag=int(data['del_flag'])))
        db.session.commit()
        if dict:
            message_view.add_option_message("新增字典 '" + data['dict_name'] + "'")

    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 7
0
def update_dict(id, data):
    """
    更新字典
    :param id:
    :param data:
    :return:
    """
    logging.info('update_dict')
    try:
        user_id = session.get('user_id', 0)
        user = SysUser.query.filter_by(id=user_id).first()
        dict = get_the_dict_by_id(id)
        if dict is not None:
            dict = SysDict.update(dict,
                                  dict_name=data['dict_name'],
                                  dict_id=data['dict_id'],
                                  dict_type=data['dict_type'],
                                  sort=data['sort'],
                                  del_flag=int(data['del_flag']),
                                  description=data['description'],
                                  remarks=data['remarks'],
                                  update_by=user.username,
                                  update_time=time.strftime(
                                      '%Y-%m-%d %H:%M:%S',
                                      time.localtime(time.time())))
            if dict:
                message_view.add_option_message("更新字典 '" + data['dict_name'] +
                                                "'")

    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 8
0
def delete_the_dict(id):
    """
    更改字典的删除标志
    :param id:
    :return:
    """
    logging.info('delete_the_dict')
    try:
        user_id = session.get('user_id', 0)
        user = SysUser.query.filter_by(id=user_id).first()
        dict = get_the_dict_by_id(id)
        if dict is not None:
            dict = SysDict.update(dict,
                                  del_flag=1,
                                  update_by=user.username,
                                  update_time=time.strftime(
                                      '%Y-%m-%d %H:%M:%S',
                                      time.localtime(time.time())))
            if dict:
                message_view.add_option_message("停用字典 '" + dict.dict_name +
                                                "'")

    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 9
0
def add_user_info(data):
    """
    用户信息插入数据库
    :param data: 表单数据
    :return:
    """
    logging.info('add_user_info')
    try:
        user_id = session.get('user_id', 0)
        sys_user = SysUser.query.filter_by(id=user_id).first()
        image_list = data.getlist('image')
        for temp in image_list:
            if 'data' in temp:
                image_url = save_image(temp)
            else:
                image_url = 'default.png'
        if sys_user:
            SysUser.create(username=data['username'],
                           password=data['password'],
                           email=data['email'],
                           mobile=data['mobile'],
                           name=data['name'],
                           chat_code=data['chat_code'],
                           avatar=image_url,
                           desc=data['desc'],
                           sex=data['sex'],
                           is_active=data['is_active'],
                           org_id=data['org'],
                           create_time=get_current_time(),
                           update_time=get_current_time(),
                           create_by=sys_user.username)
            # 发送操作消息
            message_view.add_option_message("新增用户 '" + data['username'] + "'")
            new = db.session.query(SysUser.id).filter(
                SysUser.username == data['username']).first()
            SysUserRole.create(user_id=new[0],
                               username=data['username'],
                               role_id=data['role'],
                               org_id=data['org'],
                               create_time=get_current_time(),
                               create_by=sys_user.username)
            SysUserHistory.create(user_id=new[0],
                                  mobile=data['mobile'],
                                  email=data['email'],
                                  chat_code=data['chat_code'],
                                  org_id=data['org'],
                                  status=data['is_active'],
                                  create_time=get_current_time(),
                                  create_by=sys_user.username,
                                  start_time=get_current_time())
            return True
    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 10
0
def role_add(name, description):
    """
    新增角色
    :param name:         名字
    :param description:  描述
    :return:
    """
    logging.info('role_add')
    try:
        data = Rolelist.create(name=name, description=description)
        # 发送操作消息
        message_view.add_option_message("新增角色 '" + name + "'", '新增角色')
        return {'code': ResponseCode.SUCCESS, 'data': data}
    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 11
0
def update_del_flag(id):
    """
    标记是否删除
    :param id:
    :return:
    """
    logging.info('update_del_flag')
    try:
        dict = SysDict.query.filter_by(id=id).first()
        if dict is not None:
            dict = SysDict.update(dict, del_flag=0)
            if dict:
                message_view.add_option_message("恢复字典 '" + dict.dict_name +
                                                "'")
    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 12
0
def db_permission_usable(id):
    """
    更新权限为可用状态
    :param id:
    :return:
    """
    logging.info('db_permission_usable')
    try:
        permission = Permissionlist.query.filter_by(id=id).first()
        if permission is not None:
            # 发送操作消息
            message_view.add_option_message("更新权限 '" + permission.name +
                                            "' 的状态")
            return Permissionlist.update(permission,
                                         status=PermissionStatus.normal.value)
    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 13
0
def open_user_by_user_id(user_id):
    """
    根据用户id修改数据库字段is_active为1
    :param user_id: 用户id
    :return:
    """
    logging.info('open_user_by_user_id')
    try:
        obj = SysUser.query.filter_by(id=user_id).first()
        # 发送操作消息
        message_view.add_option_message("更改用户 '" + obj.username + "' 的状态为正常")
        return SysUser.update(obj,
                              is_active=1,
                              update_time=get_current_time(),
                              update_by=session.get('user_name'))
    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 14
0
def db_create_permission(name, url, permission_type, parent_id, status, icon,
                         desc, sort):
    """
    数据库创建权限
    :param name: 权限名称
    :param url: 权限url
    :param permission_type: 权限类型
    :param parent_id: 父id
    :param status: 权限状态
    :param icon: 图标
    :param desc: 权限描述
    :param sort: 权限排序
    :return:
    """
    logging.info('db_create_permission')
    try:
        create_time = datetime.now()
        user_name = get_session_user_name()
        # 创建权限
        db.session.add(
            Permissionlist(name=name,
                           url=url,
                           type=permission_type,
                           parent_id=parent_id,
                           status=status,
                           create_time=create_time,
                           update_time=create_time,
                           create_by=user_name,
                           update_by=user_name,
                           desc=desc,
                           icon=icon,
                           del_flag=0,
                           sort=sort))
        # Permissionlist.create(name=name, url=url, type=permission_type,
        #                       parent_id=parent_id, status=status, create_time=create_time,
        #                       update_time=create_time, create_by=user_name, update_by=user_name,
        #                       desc=desc, icon=icon, del_flag=0, sort=sort)
        db.session.commit()
        # 发送操作消息
        message_view.add_option_message("创建权限 '" + name + "'")
    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 15
0
def to_reset_password(res_form):
    """
    重置密码
    :param data:
    :return:
    """
    logging.info('to_reset_password')
    try:
        new_password = res_form.data.get('newpassword')
        user_id = session.get('user_id', 0)
        user = SysUser.query.filter_by(id=user_id).first()
        new_password = SysUser.set_password(user, new_password)
        SysUser.update(user,
                       password=new_password,
                       update_time=get_current_time(),
                       update_by=session.get('user_name'))
        # 发送操作消息
        message_view.add_option_message("重置用户 '" + user.username + "' 的密码")
    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 16
0
def delete_the_permission(permission):
    """
    删除权限 修改权限删除标识
    :param permission:
    :return:
    """
    logging.info('delete_the_permission')
    try:
        user_name = get_session_user_name()
        if permission is not None:
            # 发送操作消息
            message_view.add_option_message("删除权限 '" + permission.name + "'")
            return Permissionlist.update(permission,
                                         del_flag=1,
                                         update_by=user_name,
                                         update_date=time.strftime(
                                             '%Y-%m-%d %H:%M:%S',
                                             time.localtime(time.time())))
    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 17
0
def dict_export():
    """
    导出文件
    :return:
    """
    try:
        logging.info('dict_export')

        dict_data = get_dict_all()

        io = export_excel(dict_data)

        message_view.add_option_message("尝试导出字典文件")

        response = make_response(io)
        response.headers['Content-Type'] = 'application/vnd.ms-excel'
        response.headers[
            "Content-Disposition"] = "attachment; filename=sys_dict.xls;"
        return response
    except Exception as e:
        logging.debug(e)
        return None
Exemplo n.º 18
0
def db_update_permission(permission_id, name, url, permission_type, parent_id,
                         status, icon, desc, sort):
    """
    数据库更新权限
    :param permission_id: 权限id
    :param name: 权限名称
    :param url: 权限url
    :param permission_type: 权限类型
    :param parent_id: 父id
    :param status: 权限状态
    :param icon: 图标
    :param desc: 权限描述
    :param sort: 权限排序
    :return:
    """
    logging.info('db_update_permission')
    try:
        create_time = datetime.now()
        user_name = get_session_user_name()
        # 更新权限
        permission = Permissionlist.query.filter_by(id=permission_id).first()
        Permissionlist.update(permission,
                              name=name,
                              url=url,
                              type=permission_type,
                              parent_id=parent_id,
                              status=status,
                              create_time=create_time,
                              update_time=create_time,
                              create_by=user_name,
                              update_by=user_name,
                              icon=icon,
                              desc=desc,
                              sort=sort)
        # 发送操作消息
        message_view.add_option_message("更新权限 '" + name + "' 的信息")
    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 19
0
def disable_the_permission(id):
    """
    停用权限
    :param id:
    :return:
    """
    logging.info('disable_the_permission')
    try:
        user_name = get_session_user_name()
        permission = get_permission(id)
        if permission is not None:
            # 发送操作消息
            message_view.add_option_message("停用权限 '" + permission.name + "'")
            return Permissionlist.update(permission,
                                         status=PermissionStatus.disable.value,
                                         update_by=user_name,
                                         update_date=time.strftime(
                                             '%Y-%m-%d %H:%M:%S',
                                             time.localtime(time.time())))
    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 20
0
def role_changestatus():
    '''
      状态改变
    :return:
    '''
    logging.info('role_changestatus')
    id = int(request.args.get("id"))
    user_id = session.get('user_id')
    sys_user_role = SysUserRole.query.filter(
        SysUserRole.user_id == user_id, SysUserRole.role_id == id).first()
    if sys_user_role:
        return json.dumps({'code': ResponseCode.ERROR, 'desc': '用户自身不能被停用!'})
    res = Rolelist.query.filter_by(id=id).first()
    if res.status == "正常":
        Rolelist.update(res, status="停用")
    else:
        Rolelist.update(res, status="正常")

    # 发送操作消息
    message_view.add_option_message("更新角色 '" + res.name + "' 的状态", '更新角色')
    name_dict = {'code': "0", 'desc': '状态更新成功!'}
    return json.dumps(name_dict)
Exemplo n.º 21
0
def role_update(id, name, description, status="正常"):
    """
    编辑角色  (包括更新状态  )
    :param id:
    :param name:         名字
    :param description:  描述
    :param status:       状态
    :return:
    """
    logging.info('role_update')
    try:
        role = Rolelist.query.filter_by(id=id).first()
        data = Rolelist.update(role,
                               description=description,
                               status=status,
                               name=name)
        # 发送操作消息
        message_view.add_option_message("更新角色 '" + name + "' 的信息", '更新角色')
        return {'code': ResponseCode.SUCCESS, 'data': data}
    except Exception as e:
        logging.debug(e)
        raise e
Exemplo n.º 22
0
def dict_import():
    """
    导入文件
    :return:
    """
    try:
        logging.info('dict_import')
        name_dict = {}
        file = request.files['file']
        file_path = import_excel(file)
        if file_path == '-1':
            name_dict = {
                'code': ResponseCode.ERROR,
                'desc': '文件格式不匹配!',
                'data': []
            }

        else:
            if read_excel(file_path) == -1:
                name_dict = {
                    'code': ResponseCode.ERROR,
                    'desc': '文件内容不匹配!',
                    'data': []
                }
            else:
                message_view.add_option_message("导入字典文件")
                name_dict = {
                    'code': ResponseCode.SUCCESS,
                    'desc': '文件上传成功!',
                    'data': []
                }
        return json.dumps(name_dict)
    except Exception as e:
        logging.debug(e)
        name_dict = {'code': ResponseCode.ERROR, 'desc': '文件上传失败!', 'data': []}
        return json.dumps(name_dict)
Exemplo n.º 23
0
def update_user(obj, data):
    """
    更新用户信息
    :param obj:
    :param data:
    :return:
    """
    logging.info('update_user')
    try:
        user_id = session.get('user_id', 0)
        sys_user = SysUser.query.filter_by(id=user_id).first()
        sys_user_history = SysUserHistory.query.filter_by(
            user_id=obj.id).first()
        if obj.org_id != data['org']:
            SysUserHistory.update(sys_user_history,
                                  update_by=session.get('user_name'),
                                  update_time=get_current_time(),
                                  end_time=get_current_time())
            SysUserHistory.create(user_id=obj.id,
                                  org_id=data['org'],
                                  status=data['is_active'],
                                  create_time=get_current_time(),
                                  create_by=session.get('user_name'),
                                  start_time=get_current_time())
        image_list = data.getlist('image')
        for temp in image_list:
            if 'data' in temp:
                image_url = save_image(temp)
            else:
                image_url = obj.avatar
        if sys_user:
            SysUser.update(obj,
                           username=data['username'],
                           email=data['email'],
                           mobile=data['mobile'],
                           name=data['name'],
                           chat_code=data['chat_code'],
                           avatar=image_url,
                           desc=data['desc'],
                           sex=data['sex'],
                           org_id=data['org'],
                           is_active=data['is_active'],
                           update_time=get_current_time(),
                           update_by=sys_user.username)
            # 发送操作消息
            message_view.add_option_message("更新用户 '" + obj.username + "' 的信息")
            role_obj = SysUserRole.query.filter_by(user_id=obj.id).first()
            if data['role'] == '':
                pass
            else:
                if role_obj:
                    SysUserRole.update(role_obj,
                                       role_id=data['role'],
                                       org_id=data['org'],
                                       update_time=get_current_time(),
                                       update_by=sys_user.username)
                else:
                    SysUserRole.create(user_id=obj.id,
                                       username=data['username'],
                                       role_id=data['role'],
                                       org_id=data['org'],
                                       create_time=get_current_time(),
                                       create_by=sys_user.username)
            if obj.id == session['user_id']:
                session['avatar'] = SysUser.query.filter_by(
                    id=session['user_id']).first().avatar
        return True
    except Exception as e:
        logging.debug(e)
        raise e