using NetTaste; using System.Drawing.Printing; namespace OASystem.API.Controllers { /// /// 资料相关 /// //[Authorize] [Route("api/[controller]/[action]")] public class ResourceController : ControllerBase { private readonly IMapper _mapper; private readonly IConfiguration _config; private readonly CarDataRepository _carDataRep; private readonly LocalGuideDataRepository _localGuideDataRep; private readonly ThreeCodeRepository _ThreeCodeRep; private readonly HotelDataRepository _hotelDataRep; public ResourceController(IMapper mapper, IConfiguration config, CarDataRepository carDataRep, LocalGuideDataRepository localGuideDataRep, ThreeCodeRepository threeCodeRep, HotelDataRepository hotelDataRep) { _mapper = mapper; _config = config; _carDataRep = carDataRep; _localGuideDataRep = localGuideDataRep; _ThreeCodeRep = threeCodeRep; _hotelDataRep = hotelDataRep; } #region 车公司资料板块 /// /// 车公司信息查询 /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task QuertCarData(DtoBase dto) { try { if (dto.PortType==1) { var carDada = _carDataRep.QueryDto().ToList(); if (carDada.Count == 0) { return Ok(JsonView(false, "暂无数据!")); } carDada = carDada.OrderByDescending(s => s.CreateTime).ToList(); return Ok(JsonView(true, "查询成功", carDada)); } else if(dto.PortType==2) { var carDada = _carDataRep.QueryDto().ToList(); if (carDada.Count == 0) { return Ok(JsonView(false, "暂无数据!")); } carDada=carDada.OrderByDescending(s=>s.CreateTime).ToList(); return Ok(JsonView(true, "查询成功", carDada)); } else { return Ok(JsonView(false, "请传入PortType参数!1:Web,2:Android,3:IOS")); } } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 车公司信息添加 /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task AddCarData(AddCarDataDto dto) { try { if (dto.UnitArea == "") { return Ok(JsonView(false, "请检查单位区域是否填写!")); } if (dto.UnitName == "") { return Ok(JsonView(false, "请检查单位名称是否填写!")); } if (dto.Contact == "") { return Ok(JsonView(false, "请检查单位联系人是否填写!")); } if (dto.ContactTel == "") { return Ok(JsonView(false, "请检查联系方式是否填写正确!")); } var carDada = _carDataRep.QueryDto(a=>a.UnitArea==dto.UnitArea && a.UnitName==dto.UnitName && a.Contact==dto.Contact && a.ContactTel==dto.ContactTel).ToList(); if (carDada.Count!=0) { return Ok(JsonView(false, "该信息已存在,请勿重复添加!")); } Res_CarData _CarData = _mapper.Map(dto); int id = await _carDataRep.AddAsyncReturnId(_CarData); if (id == 0) { return Ok(JsonView(false, "添加失败!")); } return Ok(JsonView(true, "添加成功", new { Id = id })); } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 车公司信息修改 /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task UpCarData(UpCarDataDto dto) { try { if (dto.UnitArea == "") { return Ok(JsonView(false, "请检查单位区域是否填写!")); } if (dto.UnitName == "") { return Ok(JsonView(false, "请检查单位名称是否填写!")); } if (dto.Contact == "") { return Ok(JsonView(false, "请检查单位联系人是否填写!")); } if (dto.ContactTel == "") { return Ok(JsonView(false, "请检查联系方式是否填写正确!")); } bool res = await _carDataRep.UpdateAsync(a => a.Id == dto.Id, a => new Res_CarData { UnitArea = dto.UnitArea, UnitName = dto.UnitName, Address = dto.Address, Contact = dto.Contact, ContactTel = dto.ContactTel, ContactEmail = dto.ContactEmail, ContactFax = dto.ContactFax, CarDes = dto.CarDes, CarPicPaths = dto.CarPicPaths, OtherInfo = dto.OtherInfo, Score = dto.Score, QualificationScore = dto.QualificationScore, CarAgeScore = dto.CarAgeScore, CleanImgScore = dto.CleanImgScore, SmellScore = dto.SmellScore, WaterPaperScore = dto.WaterPaperScore, HardwareScore = dto.HardwareScore, TimeScore = dto.TimeScore, SafetyScore = dto.SafetyScore, DrivingAgeScore = dto.DrivingAgeScore, Remark = dto.Remark, }); if (!res) { return Ok(JsonView(false, "修改失败!")); } return Ok(JsonView(true, "修改成功")); } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 车公司信息删除 /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task DelCarData(DelCarDataDto dto) { try { bool res = await _carDataRep.SoftDeleteByIdAsync(dto.Id.ToString(), dto.DeleteUserId); if (!res) { return Ok(JsonView(false, "删除失败!")); } return Ok(JsonView(true, "删除成功")); } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } #endregion #region 导游地接资料板块 /// /// 导游地接资料查询 /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task QueryLocalGuide(DtoBase dto) { try { if (dto.PortType == 1) { var LocalGuideData = _localGuideDataRep.QueryDto().ToList(); if (LocalGuideData.Count == 0) { return Ok(JsonView(false, "暂无数据!")); } LocalGuideData = LocalGuideData.OrderByDescending(s => s.CreateTime).ToList(); return Ok(JsonView(true, "查询成功", LocalGuideData)); } else if (dto.PortType == 2) { var LocalGuideData = _localGuideDataRep.QueryDto().ToList(); if (LocalGuideData.Count == 0) { return Ok(JsonView(false, "暂无数据!")); } LocalGuideData = LocalGuideData.OrderByDescending(s => s.CreateTime).ToList(); return Ok(JsonView(true, "查询成功", LocalGuideData)); } else { return Ok(JsonView(false, "请传入PortType参数!1:Web,2:Android,3:IOS")); } } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 导游地接信息操作(Status:1.新增,2.修改) /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task OperationLocalGuide(LocalGuideOperationDto dto) { try { if (dto.UnitArea == "") { return Ok(JsonView(false, "请检查单位区域是否填写!")); } if (dto.UnitName == "") { return Ok(JsonView(false, "请检查单位名称是否填写!")); } if (dto.Contact == "") { return Ok(JsonView(false, "请检查单位联系人是否填写!")); } if (dto.ContactTel == "") { return Ok(JsonView(false, "请检查联系方式是否填写正确!")); } Result result = await _localGuideDataRep.LocalGuideOperation(dto); if (result.Code != 0) { return Ok(JsonView(false, result.Msg)); } return Ok(JsonView(true, result.Msg)); } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 导游地接信息操作(删除) /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task DelLocalGuide(LocalGuideDelDto dto) { try { var res = await _localGuideDataRep.SoftDeleteByIdAsync(dto.Id.ToString(),dto.DeleteUserId); if (!res) { return Ok(JsonView(false, "删除失败")); } return Ok(JsonView(true,"删除成功!")); } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } #endregion #region 机场三字码信息 /// /// 机场三字码查询 /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task QueryThreeCode(DtoBase dto) { try { if (dto.PortType == 1) { var ThreeCode = _localGuideDataRep.QueryDto().ToList(); if (ThreeCode.Count == 0) { return Ok(JsonView(false, "暂无数据!")); } ThreeCode = ThreeCode.OrderByDescending(s => s.CreateTime).ToList(); return Ok(JsonView(true, "查询成功", ThreeCode)); } else if (dto.PortType == 2) { //分页写法 if (dto.PageIndex==0 || dto.PageSize==0) { return Ok(JsonView(false, "请传入PageIndex和PageSize参数")); } JsonView _ThreeCode = await _ThreeCodeRep.QuerThreeCode(dto.PageIndex, dto.PageSize); if (_ThreeCode.Code != 0) { return Ok(JsonView(false, _ThreeCode.Msg)); } return Ok(_ThreeCode); } else { return Ok(JsonView(false, "请传入PortType参数!1:Web,2:Android,3:IOS")); } } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 机场三字码资料操作(Status:1.新增,2.修改) /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task OperationThreeCode(ThreeCodeOperationDto dto) { try { if (dto.Three == "") { return Ok(JsonView(false, "请检查三字码是否填写!")); } if (dto.Country == "") { return Ok(JsonView(false, "请检查国家是否填写!")); } if (dto.City == "") { return Ok(JsonView(false, "请检查城市是否填写正确!")); } if (dto.AirPort == "") { return Ok(JsonView(false, "请检查机场是否填写正确!")); } Result result = await _ThreeCodeRep.ThreeCodeOperation(dto); if (result.Code != 0) { return Ok(JsonView(false, result.Msg)); } return Ok(JsonView(true, result.Msg)); } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 机场三字码资料操作(删除) /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task DelThreeCode(ThreeCodeDelDto dto) { try { var res = await _ThreeCodeRep.SoftDeleteByIdAsync(dto.Id.ToString(), dto.DeleteUserId); if (!res) { return Ok(JsonView(false, "删除失败")); } return Ok(JsonView(true, "删除成功!")); } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } #endregion #region 酒店资料数据 /// /// 酒店信息查询 /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task QueryHotelData(DtoBase dto) { try { if (dto.PortType == 1) { var HotelData = _localGuideDataRep.QueryDto().ToList(); if (HotelData.Count == 0) { return Ok(JsonView(false, "暂无数据!")); } HotelData = HotelData.OrderByDescending(s => s.CreateTime).ToList(); return Ok(JsonView(true, "查询成功", HotelData)); } else if (dto.PortType == 2) { var HotelData = _localGuideDataRep.QueryDto().ToList(); if (HotelData.Count == 0) { return Ok(JsonView(false, "暂无数据!")); } HotelData = HotelData.OrderByDescending(s => s.CreateTime).ToList(); return Ok(JsonView(true, "查询成功", HotelData)); } else { return Ok(JsonView(false, "请传入PortType参数!1:Web,2:Android,3:IOS")); } } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 酒店资料操作(Status:1.新增,2.修改) /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task OperationHotelData(OperationHotelData dto) { try { if (dto.City == "") { return Ok(JsonView(false, "请检查酒店所在城市是否填写!")); } if (dto.Name == "") { return Ok(JsonView(false, "请检查酒店名称是否填写!")); } if (dto.Address == "") { return Ok(JsonView(false, "请检查酒店地址是否填写正确!")); } if (dto.Tel == "") { return Ok(JsonView(false, "请检查酒店联系方式是否填写正确!")); } Result result = await _hotelDataRep.OperationHotelData(dto); if (result.Code != 0) { return Ok(JsonView(false, result.Msg)); } return Ok(JsonView(true, result.Msg)); } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 酒店资料操作(删除) /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task DelHotelData(DelHotelDataDto dto) { try { var res = await _ThreeCodeRep.SoftDeleteByIdAsync(dto.Id.ToString(), dto.DeleteUserId); if (!res) { return Ok(JsonView(false, "删除失败")); } return Ok(JsonView(true, "删除成功!")); } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } #endregion } }