using NetTaste; using System.Drawing.Printing; namespace OASystem.API.Controllers { /// <summary> /// 资料相关 /// </summary> //[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 车公司资料板块 /// <summary> /// 车公司信息查询 /// </summary> /// <returns></returns> [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task<IActionResult> QuertCarData(DtoBase dto) { try { if (dto.PortType==1) { var carDada = _carDataRep.QueryDto<Res_CarData, CarDataView>().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<Res_CarData, CarDataView>().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; } } /// <summary> /// 车公司信息添加 /// </summary> /// <returns></returns> [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task<IActionResult> 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<Res_CarData, CarDataView>(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<Res_CarData>(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; } } /// <summary> /// 车公司信息修改 /// </summary> /// <returns></returns> [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task<IActionResult> 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; } } /// <summary> /// 车公司信息删除 /// </summary> /// <returns></returns> [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task<IActionResult> DelCarData(DelCarDataDto dto) { try { bool res = await _carDataRep.SoftDeleteByIdAsync<Res_CarData>(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 导游地接资料板块 /// <summary> /// 导游地接资料查询 /// </summary> /// <param name="dto"></param> /// <returns></returns> [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task<IActionResult> QueryLocalGuide(DtoBase dto) { try { if (dto.PortType == 1) { var LocalGuideData = _localGuideDataRep.QueryDto<Res_LocalGuideData, LocalGuideDataView>().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<Res_LocalGuideData, LocalGuideDataView>().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; } } /// <summary> /// 导游地接信息操作(Status:1.新增,2.修改) /// </summary> /// <returns></returns> [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task<IActionResult> 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; } } /// <summary> /// 导游地接信息操作(删除) /// </summary> /// <returns></returns> [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task<IActionResult> DelLocalGuide(LocalGuideDelDto dto) { try { var res = await _localGuideDataRep.SoftDeleteByIdAsync<Res_LocalGuideData>(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 机场三字码信息 /// <summary> /// 机场三字码查询 /// </summary> /// <param name="dto"></param> /// <returns></returns> [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task<IActionResult> QueryThreeCode(DtoBase dto) { try { if (dto.PortType == 1) { var ThreeCode = _localGuideDataRep.QueryDto<Res_ThreeCode, ThreeCodeView>().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; } } /// <summary> /// 机场三字码资料操作(Status:1.新增,2.修改) /// </summary> /// <param name="dto"></param> /// <returns></returns> [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task<IActionResult> 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; } } /// <summary> /// 机场三字码资料操作(删除) /// </summary> /// <returns></returns> [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task<IActionResult> DelThreeCode(ThreeCodeDelDto dto) { try { var res = await _ThreeCodeRep.SoftDeleteByIdAsync<Res_ThreeCode>(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 酒店资料数据 /// <summary> /// 酒店信息查询 /// </summary> /// <param name="dto"></param> /// <returns></returns> [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task<IActionResult> QueryHotelData(DtoBase dto) { try { if (dto.PortType == 1) { var HotelData = _localGuideDataRep.QueryDto<Res_HotelData, HotelDataView>().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<Res_HotelData, HotelDataView>().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; } } /// <summary> /// 酒店资料操作(Status:1.新增,2.修改) /// </summary> /// <param name="dto"></param> /// <returns></returns> [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task<IActionResult> 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; } } /// <summary> /// 酒店资料操作(删除) /// </summary> /// <returns></returns> [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task<IActionResult> DelHotelData(DelHotelDataDto dto) { try { var res = await _ThreeCodeRep.SoftDeleteByIdAsync<Res_HotelData>(dto.Id.ToString(), dto.DeleteUserId); if (!res) { return Ok(JsonView(false, "删除失败")); } return Ok(JsonView(true, "删除成功!")); } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } #endregion } }