using JiepeiWMS.Common.Enums; using JiepeiWMS.Common.Helper; using JiepeiWMS.Common.HttpContextUser; using JiepeiWMS.Extends; using JiepeiWMS.IServices; using JiepeiWMS.Model; using JiepeiWMS.Model.Models; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System; using System.Linq; using System.Linq.Expressions; using System.Threading.Tasks; namespace JiepeiWMS.Api.Controllers { [Route("api/[controller]/[action]")] [ApiController] [Authorize(Permissions.Name)] public class SysOrgController : ControllerBase { /// /// 服务器接口,因为是模板生成,所以首字母是大写的,自己可以重构下 /// private readonly ISysOrgServices _BllSysOrg; private readonly IUser _User; public SysOrgController(ISysOrgServices BllSysOrg, IUser User) { _BllSysOrg = BllSysOrg; _User = User; } [HttpGet] public async Task>> GetList(int PageIndex = 1, string Key = "", int PageSize = 20) { if (string.IsNullOrEmpty(Key) || string.IsNullOrWhiteSpace(Key)) { Key = ""; } Expression> whereExpression = (pg, u) => pg.ShortName.Contains(Key); return new MessageModel>() { msg = "获取成功", success = true, response = await _BllSysOrg.QueryPage(whereExpression, PageIndex, PageSize) }; } [HttpGet] public async Task> Get(int id = 0) { var dictype = typeof(EnumSysOrgType)._GetValueDescriptionDicFromEnumType().Select(t => new { Key = t.Key.GetHashCode(), t.Value }); return new MessageModel() { msg = "获取成功", success = true, response = new { dictype } }; } [HttpPost] public async Task> Post([FromBody] SysOrg request) { var data = new MessageModel(); request.UserId = _User.ID; request.CreateTime = DateTime.Now; var id = await _BllSysOrg.Add(request); data.success = id > 0; if (data.success) { data.response = id.ObjToString(); data.msg = "添加成功"; } return data; } [HttpPut] public async Task> Put([FromBody] SysOrg request) { var data = new MessageModel(); if (request.Id > 0) { data.success = await _BllSysOrg.Update(request, lstIgnoreColumns: new System.Collections.Generic.List { "UserId", "CreateTime" }); if (data.success) { data.msg = "更新成功"; data.response = request?.Id.ObjToString(); } } return data; } [HttpDelete] public async Task> Delete(int id = 0) { var data = new MessageModel(); if (id > 0) { var detail = await _BllSysOrg.QueryById(id); if (detail != null) { data.success = await _BllSysOrg.Delete(detail); if (data.success) { data.msg = "删除成功"; data.response = detail?.Id.ObjToString(); } } } return data; } [HttpDelete] public async Task> DeleteMore(string Ids = "") { var data = new MessageModel(); var lstid = Ids._ToIntList(); if (lstid.Count > 0) { var ok = await _BllSysOrg.DeleteByIds(lstid.Select(t => (object)t).ToArray()); if (ok) { data.msg = "删除成功"; data.response = string.Empty; } } return data; } } }