def updRolePermission(): myRes = MyResponse() RESOURCE_KEYS = MyRequest.get_verify_list("RESOURCE_KEYS") ROLE_KEY = MyRequest.get("ROLE_KEY", type=int) RESOURCE_TYPE = MyRequest.get("RESOURCE_TYPE", type=int) try: db_session.begin_nested() db_session.query(RolePermission).filter( RolePermission.ROLE_KEY == ROLE_KEY).filter( RolePermission.RESOURCE_TYPE == RESOURCE_TYPE).delete( synchronize_session=False) for key in RESOURCE_KEYS: rolePermission = RolePermission() rolePermission.ROLE_KEY = ROLE_KEY rolePermission.RESOURCE_KEY = key rolePermission.RESOURCE_TYPE = RESOURCE_TYPE db_session.add(rolePermission) db_session.commit() myRes.code = ResState.HTTP_SUCCESS myRes.msg = "操作成功" except SQLAlchemyError as ex: db_session.rollback() mylog.error(ex) myRes.msg = str(ex) finally: db_session.close() return myRes.to_json()
def comAdds(cls, models): """ 批量添加 :param models: :return: """ try: if isinstance(models, (list, tuple)): db_session.begin_nested() for model in models: db_session.add(model) db_session.commit() else: raise MyError("Models mast be list or tuple.") except SQLAlchemyError as ex: db_session.rollback() raise ex finally: db_session.close()
def comUpdates(cls, list_model, id, attrs): """ 批量修改 :param list_model: :param id: :param attrs: :return: """ try: db_session.begin_nested() for model in list_model: rows = db_session.query(model).filter( model.Fid == id).update(attrs) if rows < 1: raise SQLAlchemyError("操作失败") db_session.commit() except SQLAlchemyError as ex: db_session.rollback() raise ex finally: db_session.close()
def updUserRole(): myRes = MyResponse() ROLE_KEYS = MyRequest.getList("ROLE_KEYS[]") USER_KEY = MyRequest.get("USER_KEY", type=int) try: db_session.begin_nested() db_session.query(UserRole).filter( UserRole.USER_KEY == USER_KEY).delete() for key in ROLE_KEYS: userRole = UserRole() userRole.USER_KEY = USER_KEY userRole.ROLE_KEY = key db_session.add(userRole) db_session.commit() myRes.code = ResState.HTTP_SUCCESS myRes.msg = "操作成功" except SQLAlchemyError as ex: db_session.rollback() mylog.error(ex) myRes.msg = str(ex) finally: db_session.close() return myRes.to_json()
def comDels(cls, models, ids): """ 批量删除 :param models: :param ids: :return: """ try: if isinstance(models, (list, tuple)) and isinstance(ids, (list, tuple)): db_session.begin_nested() for model in models: rows = db_session.query(models).filter( model.Fid == id).delete(synchronize_session=False) if rows < 1: raise SQLAlchemyError("操作失败") db_session.commit() else: raise MyError("Models and ids mast be list or tuple.") except SQLAlchemyError as ex: db_session.rollback() raise ex finally: db_session.close()
def delete(): myRes = MyResponse() OPER_KEY = MyRequest.get_verify_empty("OPER_KEY", errmsg="OPER_KEY不能为空") try: db_session.begin_nested() ###删除按钮相关的角色权限信息 db_session.query(RolePermission).filter( RolePermission.RESOURCE_TYPE == 1).filter( RolePermission.RESOURCE_KEY.like(OPER_KEY + "%")).delete( synchronize_session=False) ###删除按钮信息 db_session.query(OperInfo).filter( OperInfo.OPER_KEY.like(OPER_KEY + "%")).delete(synchronize_session=False) db_session.commit() myRes.code = ResState.HTTP_SUCCESS myRes.msg = "操作成功" except SQLAlchemyError as ex: db_session.rollback() mylog.error(ex) myRes.msg = str(ex) finally: db_session.close() return myRes.to_json()