using WcsMain.ApiServe.Controllers.Dto.WcsDto.Menu;
using WcsMain.Common;
using WcsMain.DataBase.TableEntity;
using WcsMain.WcsAttribute.AutoFacAttribute;
namespace WcsMain.DataBase.Dao;
///
/// 菜单表的操作
///
[Component]
public class AppMenuDao
{
///
/// 查询所有数据
///
///
public List? Query() => Query(new AppMenu());
///
/// 查询数据
///
///
///
public List? Query(AppMenu queryEntity)
{
try
{
var sqlFuc = CommonTool.DbServe.Queryable()
.WhereIF(queryEntity.MainMenuIndex != default, w => w.MainMenuIndex == queryEntity.MainMenuIndex)
.WhereIF(queryEntity.MainMenuName != default, w => w.MainMenuName == queryEntity.MainMenuName)
.WhereIF(queryEntity.MainMenuIco != default, w => w.MainMenuIco == queryEntity.MainMenuIco)
.WhereIF(queryEntity.MinorMenuIndex != default, w => w.MinorMenuIndex == queryEntity.MinorMenuIndex)
.WhereIF(queryEntity.MinorMenuName != default, w => w.MinorMenuName == queryEntity.MinorMenuName)
.WhereIF(queryEntity.MinorMenuIco != default, w => w.MinorMenuIco == queryEntity.MinorMenuIco)
.WhereIF(queryEntity.MinorMenuRouter != default, w => w.MinorMenuRouter == queryEntity.MinorMenuRouter)
.WhereIF(queryEntity.MenuStatus != default, w => w.MenuStatus == queryEntity.MenuStatus)
.WhereIF(queryEntity.Remark != default, w => w.Remark == queryEntity.Remark)
.OrderBy(o => o.MainMenuIndex).OrderBy(o => o.MinorMenuIndex);
return sqlFuc.ToList();
}
catch (Exception ex)
{
_ = ex;
return default;
}
}
///
/// 根据主键更新数据
///
///
///
public int Update(AppMenu updateEntity)
{
try
{
var sqlFuc = CommonTool.DbServe.Updateable(updateEntity)
.IgnoreColumns(ignoreAllNullColumns: true);
return sqlFuc.ExecuteCommand();
}
catch (Exception ex)
{
_ = ex;
return 0;
}
}
///
/// 插入一些数据
///
///
///
public int Insert(params AppMenu[] menus)
{
try
{
var sqlFuc = CommonTool.DbServe.Insertable(menus);
return sqlFuc.ExecuteCommand();
}
catch (Exception ex)
{
_ = ex;
return 0;
}
}
/*--------------------------业务方法---------------------------------------*/
///
/// 根据用户组查找菜单
///
///
///
public List? GetMenuWithGroupId(string groupId)
{
try
{
string sql = $"select * from tbl_app_menu where minor_menu_index in (select minor_menu_index from tbl_app_user_rule where group_id = '{groupId}') and menu_status = 1 order by minor_menu_index asc";
var sqlFuc = CommonTool.DbServe.Ado.SqlQuery(sql);
return [.. sqlFuc];
}
catch (Exception ex)
{
_ = ex;
return default;
}
}
///
/// 返回分页查询数据
///
///
///
public (List quertResult, int totalRows) SelectPage(GetMenuWithPageRequest request)
{
try
{
int totalRows = 0;
var sqlFuc = CommonTool.DbServe.Queryable()
.OrderBy(o => new { o.MainMenuIndex, o.MinorMenuIndex });
var queryResult = sqlFuc.ToPageList(request.Page!.PageIndex, request.Page!.PageSize, ref totalRows);
return (queryResult, totalRows);
}
catch (Exception ex)
{
_ = ex;
return default;
}
}
}