using cylsg.Core.Attributes; using cylsg.Core; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using cylsg.Application.Users.Dtos; using cylsg.Model.UserModel; using System.Security.Claims; using System.Runtime.Intrinsics.Arm; using MapsterMapper; namespace cylsg.Application.Users { /// /// 用户接口 /// [Authorize] public class UserAppService : IDynamicApiController { private readonly ISystemService _systemService; private ISqlSugarClient _sqlSugarClient; private IMapper _mapper; public UserAppService(ISystemService systemService, ISqlSugarClient sqlSugarClient, IMapper mapper) { _systemService = systemService; _sqlSugarClient = sqlSugarClient; _mapper = mapper; } /// /// 查询当前用户 /// /// public async Task getUser() { var UserID = App.User?.FindFirstValue("UserID"); int userid = 0; if (!string.IsNullOrEmpty(UserID)) { userid = int.Parse(UserID); } UserDto userDto = new UserDto(); var userRes = new BaseRepository(); var userWorkerRes = new BaseRepository(); var userCompanyRes = new BaseRepository(); var user = await userRes.GetByIdAsync(userid); userDto = _mapper.Map(user); var userWorker = await userWorkerRes.GetFirstAsync(p=>p.UserId== userid); userDto.userWorker = _mapper.Map(userWorker); var userCompany = await userCompanyRes.GetFirstAsync(p => p.UserId == userid); userDto.userCompany = _mapper.Map(userCompany); return userDto; } /// /// 保存用户工人信息 /// /// public async Task saveUserWorker(UserWorkerDto userWorkerDto) { var UserID = App.User?.FindFirstValue("UserID"); int userid = 0; string ITCode = App.User?.FindFirstValue("ITCode"); if (!string.IsNullOrEmpty(UserID)) { userid = int.Parse(UserID); } var userWorkerRes = new BaseRepository(); bool res; if (userWorkerDto.Id > 0) { var userWorker1 = await userWorkerRes.GetByIdAsync(userWorkerDto.Id); userWorker1.IdCardBack = userWorkerDto.IdCardBack; userWorker1.IdCardFace = userWorkerDto.IdCardFace; userWorker1.name = userWorkerDto.name; userWorker1.Phone = userWorkerDto.Phone; userWorker1.IdCode = userWorkerDto.IdCode; userWorker1.Address = userWorkerDto.Address; userWorker1.Resume = userWorkerDto.Resume; userWorker1.UpDataBy = ITCode; userWorker1.UpDataTime = DateTime.Now; res = await userWorkerRes.UpdateAsync(userWorker1); } else { var userWorker = _mapper.Map(userWorkerDto); userWorker.UpDataBy = ITCode; userWorker.UpDataTime = DateTime.Now; userWorker.CreateBy = ITCode; userWorker.CreateTime = DateTime.Now; userWorker.UserId = userid; res = await userWorkerRes.InsertAsync(userWorker); } return res; } /// /// 保存用户公司信息 /// /// public async Task saveUserCompany(UserCompanyDto userCompanyDto) { var UserID = App.User?.FindFirstValue("UserID"); int userid = 0; string ITCode = App.User?.FindFirstValue("ITCode"); if (!string.IsNullOrEmpty(UserID)) { userid = int.Parse(UserID); } var userCompanyRes = new BaseRepository(); bool res; if (userCompanyDto.Id > 0) { var userCompany1 = await userCompanyRes.GetByIdAsync(userCompanyDto.Id); userCompany1.BusinessLicense = userCompanyDto.BusinessLicense; userCompany1.Suppliername = userCompanyDto.Suppliername; userCompany1.Regtime = userCompanyDto.Regtime; userCompany1.Address = userCompanyDto.Address; userCompany1.Suppliercode = userCompanyDto.Suppliercode; userCompany1.Contact = userCompanyDto.Contact; userCompany1.Phone = userCompanyDto.Phone; userCompany1.Resume = userCompanyDto.Resume; userCompany1.UpDataBy = ITCode; userCompany1.UpDataTime = DateTime.Now; res = await userCompanyRes.UpdateAsync(userCompany1); } else { var userCompany = _mapper.Map(userCompanyDto); userCompany.UpDataBy = ITCode; userCompany.UpDataTime = DateTime.Now; userCompany.CreateBy = ITCode; userCompany.CreateTime = DateTime.Now; userCompany.UserId = userid; res = await userCompanyRes.InsertAsync(userCompany); } return res; } /// /// 根据Id查询用户 /// /// public async Task getUser(int userid) { UserDto userDto = new UserDto(); var userRes = new BaseRepository(); var userWorkerRes = new BaseRepository(); var userCompanyRes = new BaseRepository(); var user = await userRes.GetByIdAsync(userid); userDto = _mapper.Map(user); var userWorker = await userWorkerRes.GetFirstAsync(p => p.UserId == userid); userDto.userWorker = _mapper.Map(userWorker); var userCompany = await userCompanyRes.GetFirstAsync(p => p.UserId == userid); userDto.userCompany = _mapper.Map(userCompany); return userDto; } } }