using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Security.Claims; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Model.ModelVm; using Newtonsoft.Json; using Utility.Tools; using WMS.Entity.Context; using WMS.IBLL.ISysServer; using Wms.Tools; using WMS.IBLL.ILogServer; namespace Wms.Controllers { [Route("api/[controller]/[action]")] [ApiController] [Authorize] public class WeatherForecastController : ControllerBase { private static readonly string[] Summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" }; private readonly ITokenHelper tokenHelper = null; private readonly ILogger _logger; private readonly IUserInforServer _userMan; private readonly DataContext Db = new DataContext(); private readonly IOperationSysServer _operation; //操作日志 public WeatherForecastController(ITokenHelper _tokenHelper, ILogger logger, IUserInforServer userMan ,IOperationSysServer operation) { tokenHelper = _tokenHelper; _logger = logger; _userMan = userMan; _operation = operation; //操作日志 } [AllowAnonymous] [HttpGet] public IEnumerable Get() { var rng = new Random(); //Db.Init(); _logger.LogError("这是记录的信息"); var data = Enumerable.Range(1, 5).Select(index => new WeatherForecast { Date = DateTime.Now.AddDays(index), TemperatureC = rng.Next(-20, 55), Summary = Summaries[rng.Next(Summaries.Length)] }) .ToArray(); var list = JsonConvert.SerializeObject(data); string LogAddress = @".\log\CreatMesTask物料转移" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; LogFile.SaveLogToFile("接收物料转移任务:(" + list + "),", LogAddress); return data; } /// /// 登录 /// /// 登录名 /// [AllowAnonymous] [HttpPost] public IActionResult Login(LoginVm model) { if (ModelState.IsValid) { try { var bolls = _userMan.LoginAdmin(model.LoginName, model.LoginPwd, out int userId); if (bolls) // { if (userId != 0) //正确返回 { Dictionary keyValuePairs = new Dictionary { {"loginID", userId.ToString()}, {"LoginName", model.LoginName} }; var tnToken = tokenHelper.CreateToken(keyValuePairs); _operation.InsertOperation("操作日志", "操作日志", "", "登陆", "用户登陆:"+ model.LoginName, Convert.ToInt32(userId)); return Ok(new { code = 200, ToKen = tnToken }); } else //当前账号被禁用 { //return this.ErrorData($"当前账号已被禁用"); return Ok(new { code = 400, ErrorMsg = "当前账号已被禁用" }); } } else //账号密码错误 { return Ok(new { code = 400, ErrorMsg = "当前账号或密码错误" }); } } catch (Exception e) { return Ok(new { code = 400, ErrorMsg = "请联系管理员/" + e.Message }); } } else //数据格式错误 { return Ok(new { code = 400, ErrorMsg = "数据格式错误" }); } } /// /// 登录 /// /// [AllowAnonymous] [HttpPost] public IActionResult ceshi() { //if (ModelState.IsValid) //{ try { //获取当前登录的用户ID var claimsIdentity = this.User.Identity as ClaimsIdentity; var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; var bolls = _userMan.CeShi(); return Ok(new { code = 200, data = bolls }); } catch (Exception e) { return Ok(new { code = 400, ErrorMsg = "请联系管理员/" + e.Message }); } //} //else //数据格式错误 //{ // return Ok(new { code = 400, ErrorMsg = "数据格式错误" }); //} } } }