wcs_server_s7_baoying/WcsMain/DataBase/Dao/AppMenuDao.cs

140 lines
4.2 KiB
C#
Raw Permalink Normal View History

2024-06-20 09:23:01 +08:00
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Menu;
using WcsMain.Common;
using WcsMain.DataBase.TableEntity;
using WcsMain.WcsAttribute.AutoFacAttribute;
namespace WcsMain.DataBase.Dao;
/// <summary>
/// 菜单表的操作
/// </summary>
[Component]
public class AppMenuDao
{
/// <summary>
/// 查询所有数据
/// </summary>
/// <returns></returns>
public List<AppMenu>? Query() => Query(new AppMenu());
/// <summary>
/// 查询数据
/// </summary>
/// <param name="queryEntity"></param>
/// <returns></returns>
public List<AppMenu>? Query(AppMenu queryEntity)
{
try
{
var sqlFuc = CommonTool.DbServe.Queryable<AppMenu>()
.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;
}
}
/// <summary>
/// 根据主键更新数据
/// </summary>
/// <param name="updateEntity"></param>
/// <returns></returns>
public int Update(AppMenu updateEntity)
{
try
{
var sqlFuc = CommonTool.DbServe.Updateable(updateEntity)
.IgnoreColumns(ignoreAllNullColumns: true);
return sqlFuc.ExecuteCommand();
}
catch (Exception ex)
{
_ = ex;
return 0;
}
}
/// <summary>
/// 插入一些数据
/// </summary>
/// <param name="menus"></param>
/// <returns></returns>
public int Insert(params AppMenu[] menus)
{
try
{
var sqlFuc = CommonTool.DbServe.Insertable(menus);
return sqlFuc.ExecuteCommand();
}
catch (Exception ex)
{
_ = ex;
return 0;
}
}
/*--------------------------业务方法---------------------------------------*/
/// <summary>
/// 根据用户组查找菜单
/// </summary>
/// <param name="groupId"></param>
/// <returns></returns>
public List<AppMenu>? 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<AppMenu>(sql);
return [.. sqlFuc];
}
catch (Exception ex)
{
_ = ex;
return default;
}
}
/// <summary>
/// 返回分页查询数据
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public (List<AppMenu> quertResult, int totalRows) SelectPage(GetMenuWithPageRequest request)
{
try
{
int totalRows = 0;
var sqlFuc = CommonTool.DbServe.Queryable<AppMenu>()
.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;
}
}
}