|
@@ -0,0 +1,230 @@
|
|
|
+using AutoMapper;
|
|
|
+using MySqlX.XDevAPI.Common;
|
|
|
+using OASystem.Domain;
|
|
|
+using OASystem.Domain.Dtos.Groups;
|
|
|
+using OASystem.Domain.Entities.Groups;
|
|
|
+using OASystem.Domain.ViewModels.Groups;
|
|
|
+using OASystem.Domain.ViewModels.QiYeWeChat;
|
|
|
+using OASystem.Infrastructure.Repositories.System;
|
|
|
+using System;
|
|
|
+using System.Collections.Generic;
|
|
|
+using System.Linq;
|
|
|
+using System.Text;
|
|
|
+using System.Threading.Tasks;
|
|
|
+using Result = OASystem.Domain.Result;
|
|
|
+
|
|
|
+namespace OASystem.Infrastructure.Repositories.Groups
|
|
|
+{
|
|
|
+ /// <summary>
|
|
|
+ /// 酒店询价 仓储
|
|
|
+ /// </summary>
|
|
|
+ public class HotelInquiryRepository:BaseRepository<Grp_HotelInquiry,HotelInquiryView>
|
|
|
+ {
|
|
|
+ private readonly IMapper _mapper;
|
|
|
+ private readonly SetDataRepository _setDataRep;
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Init
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="sqlSugar"></param>
|
|
|
+ public HotelInquiryRepository(SqlSugarClient sqlSugar, IMapper mapper, SetDataRepository setDataRep)
|
|
|
+ : base(sqlSugar)
|
|
|
+ {
|
|
|
+ _mapper = mapper;
|
|
|
+ _setDataRep = setDataRep;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 酒店询价
|
|
|
+ /// 初始化数据
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<Result> _Init()
|
|
|
+ {
|
|
|
+ var currDataResult = await _setDataRep.GetSetDataBySTId(_setDataRep, 66);
|
|
|
+ dynamic currDatas = null;
|
|
|
+ if (currDataResult.Code == 0) currDatas = currDataResult.Data;
|
|
|
+ var data = new {
|
|
|
+ CurrData = currDatas
|
|
|
+ };
|
|
|
+ return new Result() { Code = 0 ,Msg="操作成功!",Data = data };
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 酒店询价
|
|
|
+ /// Page 列表
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="portType"></param>
|
|
|
+ /// <param name="DiId"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<Result> _PageItem(int pageIndex,int pageSize, int portType, int diId)
|
|
|
+ {
|
|
|
+ if (portType < 1 || portType > 3) return new Result() { Code = -1, Msg = MsgTips.Port};
|
|
|
+ if (diId < 1) return new Result() { Code = -1, Msg = MsgTips.DiId };
|
|
|
+ if (pageIndex < 1) return new Result() { Code = -1, Msg = MsgTips.PageIndex };
|
|
|
+ if (pageIndex < 1) return new Result() { Code = -1, Msg = MsgTips.PageSize };
|
|
|
+
|
|
|
+ string sql = string.Format(@$"SELECT
|
|
|
+ hi.Id,
|
|
|
+ hi.DiId,
|
|
|
+ hi.City,
|
|
|
+ hi.[Name],
|
|
|
+ hi.[SelectDt],
|
|
|
+ hi.CheckInDate,
|
|
|
+ hi.CheckOutDate,
|
|
|
+ hi.SinglePrice,
|
|
|
+ hi.SingleQuantity,
|
|
|
+ sd1.[Name] AS SingleCurrency,
|
|
|
+ hi.DoublePrice,
|
|
|
+ hi.DoubleQuantity,
|
|
|
+ sd2.[Name] AS DoubleCurrency,
|
|
|
+ hi.SuitePrice,
|
|
|
+ hi.SuiteQuantity,
|
|
|
+ sd3.[Name] AS SuiteCurrency,
|
|
|
+ hi.OtherPrice,
|
|
|
+ hi.OtherQuantity,
|
|
|
+ sd4.[Name] AS OtherCurrency,
|
|
|
+ hi.Remark,
|
|
|
+ u.CnName AS CreateUserName,
|
|
|
+ hi.CreateTime
|
|
|
+FROM
|
|
|
+ Grp_HotelInquiry hi
|
|
|
+WITH
|
|
|
+ (NoLock)
|
|
|
+ LEFT JOIN Sys_Users u
|
|
|
+WITH
|
|
|
+ (NoLock) ON hi.CreateUserId = u.Id
|
|
|
+ LEFT JOIN Sys_SetData sd1
|
|
|
+WITH
|
|
|
+ (NoLock) ON hi.SingleCurrency = sd1.Id
|
|
|
+ LEFT JOIN Sys_SetData sd2
|
|
|
+WITH
|
|
|
+ (NoLock) ON hi.DoubleCurrency = sd2.Id
|
|
|
+ LEFT JOIN Sys_SetData sd3
|
|
|
+WITH
|
|
|
+ (NoLock) ON hi.SuiteCurrency = sd3.Id
|
|
|
+ LEFT JOIN Sys_SetData sd4
|
|
|
+WITH
|
|
|
+ (NoLock) ON hi.OtherCurrency = sd4.Id
|
|
|
+WHERE
|
|
|
+ hi.Isdel = 0
|
|
|
+ AND hi.DiId = {diId}");
|
|
|
+
|
|
|
+ if (portType == 1 || portType == 2 || portType == 3)
|
|
|
+ {
|
|
|
+ RefAsync<int> total = 0;
|
|
|
+ var eqquiryDatas = await _sqlSugar.SqlQueryable<HotelInquiryItemView>(sql).OrderBy(it => it.checkInDate).ToPageListAsync(pageIndex, pageSize, total);
|
|
|
+
|
|
|
+ return new Result() { Code = 0, Msg = MsgTips.Succeed, Data = new PageDataViewBase { Data = eqquiryDatas, Total = total } };
|
|
|
+ }
|
|
|
+
|
|
|
+ return new Result() { Code = -1, Msg = MsgTips.Fail };
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// info
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="portType"></param>
|
|
|
+ /// <param name="id"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<Result> _Info(int portType, int id)
|
|
|
+ {
|
|
|
+ if (portType < 1 || portType > 3) return new Result() { Code = -1, Msg = MsgTips.Port };
|
|
|
+ if (id < 1 ) return new Result() { Code = -1, Msg = MsgTips.Id };
|
|
|
+
|
|
|
+ var info = await _sqlSugar.Queryable<Grp_HotelInquiry>()
|
|
|
+ .Where(it => it.IsDel == 0 && it.Id == id)
|
|
|
+ .Select(it =>
|
|
|
+ new {
|
|
|
+ it.Id,
|
|
|
+ it.DiId,
|
|
|
+ it.City,
|
|
|
+ it.Name,
|
|
|
+ it.Address,
|
|
|
+ it.SelectDt,
|
|
|
+ it.CheckInDate,
|
|
|
+ it.CheckOutDate,
|
|
|
+ it.SinglePrice,
|
|
|
+ it.SingleQuantity,
|
|
|
+ it.SingleCurrency,
|
|
|
+ it.DoublePrice,
|
|
|
+ it.DoubleQuantity,
|
|
|
+ it.DoubleCurrency,
|
|
|
+ it.SuitePrice,
|
|
|
+ it.SuiteQuantity,
|
|
|
+ it.SuiteCurrency,
|
|
|
+ it.OtherPrice,
|
|
|
+ it.OtherQuantity,
|
|
|
+ it.OtherCurrency,
|
|
|
+ it.Remark,
|
|
|
+ })
|
|
|
+ .FirstAsync();
|
|
|
+
|
|
|
+ return new Result() { Code = 0, Msg = MsgTips.Succeed,Data = info };
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Add Or Edit
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="_dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<Result> _AddOrEdit(HotelInquiryAddOrEditDto _dto)
|
|
|
+ {
|
|
|
+ #region 参数验证
|
|
|
+ if (_dto.DiId < 1) return new Result() { Code = -1, Msg = MsgTips.DiId };
|
|
|
+ if (_dto.Status < 1 || _dto.Status > 2) return new Result() { Code = -1, Msg = MsgTips.Status };
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ Grp_HotelInquiry _HotelInquiry = _mapper.Map<Grp_HotelInquiry>(_dto);
|
|
|
+
|
|
|
+ if (_dto.Status == 1)
|
|
|
+ {
|
|
|
+ var add = await _sqlSugar.Insertable(_HotelInquiry).ExecuteReturnIdentityAsync();
|
|
|
+ if (add > 0 ) return new Result() { Code = 0, Msg = MsgTips.Succeed };
|
|
|
+
|
|
|
+ }
|
|
|
+ else if (_dto.Status == 2)
|
|
|
+ {
|
|
|
+ var update = await _sqlSugar.Updateable(_HotelInquiry)
|
|
|
+ .IgnoreColumns(it =>
|
|
|
+ new
|
|
|
+ {
|
|
|
+ it.CreateUserId,
|
|
|
+ it.CreateTime,
|
|
|
+ it.DeleteUserId,
|
|
|
+ it.DeleteTime,
|
|
|
+ it.IsDel
|
|
|
+ })
|
|
|
+ .WhereColumns(it =>
|
|
|
+ new
|
|
|
+ {
|
|
|
+ it.Id
|
|
|
+ })
|
|
|
+ .ExecuteCommandAsync();
|
|
|
+ if (update > 0) return new Result() { Code = 0, Msg = MsgTips.Succeed };
|
|
|
+ }
|
|
|
+
|
|
|
+ return new Result() { Code = -1, Msg = MsgTips.Fail };
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Del
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="_dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<Result> _Del(int id,int userId)
|
|
|
+ {
|
|
|
+ #region 参数验证
|
|
|
+ if (id < 1) return new Result() { Code = -1, Msg = MsgTips.Id };
|
|
|
+ if (userId < 0) return new Result() { Code = -1, Msg = MsgTips.UserId };
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ var del = await SoftDeleteByIdAsync<Grp_HotelInquiry>(id.ToString(), userId);
|
|
|
+ if (del) return new Result() { Code = 0, Msg = MsgTips.Succeed };
|
|
|
+
|
|
|
+ return new Result() { Code = -1, Msg = MsgTips.Fail };
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|