提交
This commit is contained in:
188
api_v1/Appointment.Repository/BaseRepo.cs
Normal file
188
api_v1/Appointment.Repository/BaseRepo.cs
Normal file
@@ -0,0 +1,188 @@
|
||||
using Appointment.Entity;
|
||||
using Newtonsoft.Json;
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Appointment.Repository
|
||||
{
|
||||
public class BaseRepo : DbContext
|
||||
{
|
||||
/// <summary>
|
||||
/// 解释用户信息
|
||||
/// </summary>
|
||||
/// <param name="encode"></param>
|
||||
/// <returns></returns>
|
||||
public static ApiResult<LoginUserRes> DECLoginInfo(string encode)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(encode)) return ApiResult<LoginUserRes>.Failed("操作失败,未获取到当前用户账号!");
|
||||
var jsonStr = CryptoHelper.DES_Decode(encode);
|
||||
if (string.IsNullOrWhiteSpace(jsonStr)) return ApiResult<LoginUserRes>.Failed("操作失败,当前用户信息不正确!");
|
||||
LoginUserRes loginUserRes = JsonConvert.DeserializeObject<LoginUserRes>(jsonStr);
|
||||
if (loginUserRes == null) return ApiResult<LoginUserRes>.Failed("操作失败,未获取到当前用户账号!");
|
||||
return ApiResult<LoginUserRes>.Success(string.Empty, loginUserRes);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 格式转化
|
||||
/// </summary>
|
||||
/// <param name="_summarys"></param>
|
||||
/// <returns></returns>
|
||||
public List<ApptSummaryReq> FormatApptSummaryReq(List<ApptSummaryReq> _summarys)
|
||||
{
|
||||
if (_summarys == null || _summarys.Count == 0) return new List<ApptSummaryReq>();
|
||||
|
||||
var apptIds = _summarys.Select(t => t.Id).ToList();
|
||||
|
||||
var apptMeetingsCache = Db.Queryable<ApptMeeting>()
|
||||
.In(t => t.ApptId, apptIds).ToList();
|
||||
var apptRoomsCache = Db.Queryable<ApptRoom>()
|
||||
.In(t => t.ApptId, apptIds).ToList();
|
||||
var apptCateringsCache = Db.Queryable<ApptCatering>()
|
||||
.In(t => t.ApptId, apptIds).ToList();
|
||||
var apptSpringsCache = Db.Queryable<ApptSpring>()
|
||||
.In(t => t.ApptId, apptIds).ToList();
|
||||
|
||||
var apptRemarksCache = Db.Queryable<ApptRemark>()
|
||||
.In(t => t.ApptId, apptIds).ToList();
|
||||
|
||||
foreach (var item in _summarys)
|
||||
{
|
||||
var apptMeetingList = apptMeetingsCache.Where(t => t.ApptId == item.Id).OrderBy(t => t.Id).ToList();
|
||||
if (apptMeetingList.Count > 0)
|
||||
{
|
||||
item.ApptMeetingList = new List<ApptMeetingReq>();
|
||||
foreach (var _item in apptMeetingList)
|
||||
{
|
||||
var model = item.ApptMeetingList.Where(t => t.MeetingTime == _item.MeetingTime).FirstOrDefault();
|
||||
if (model == null)
|
||||
{
|
||||
item.ApptMeetingList.Add(new ApptMeetingReq()
|
||||
{
|
||||
Id = _item.Id.Value,
|
||||
MeetingTime = _item.MeetingTime,
|
||||
//MeetingGroup = new int[] { _item.MeetingGroup },
|
||||
MeetingRoom = _item.MeetingRoom,
|
||||
MeetingCode = _item.MeetingCode,
|
||||
MeetingRostrum = _item.MeetingRostrum,
|
||||
MeetingShape = _item.MeetingShape,
|
||||
MeetingNum = _item.MeetingNum,
|
||||
MeetingPrice = _item.MeetingPrice,
|
||||
MeetingTitle = _item.MeetingTitle,
|
||||
Remark = _item.Remark
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
List<int> _arr = model.MeetingGroup.ToList();
|
||||
//_arr.Add(_item.MeetingGroup);
|
||||
_arr.Sort();
|
||||
model.MeetingGroup = _arr.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var apptRoomList = apptRoomsCache.Where(t => t.ApptId == item.Id).OrderBy(t => t.Id).ToList();
|
||||
if (apptRoomList.Count > 0)
|
||||
{
|
||||
item.ApptRoomList = new List<ApptRoomReq>();
|
||||
foreach (var _item in apptRoomList)
|
||||
{
|
||||
item.ApptRoomList.Add(new ApptRoomReq()
|
||||
{
|
||||
Id = _item.Id.Value,
|
||||
RoomIn = _item.RoomIn,
|
||||
RoomOut = _item.RoomOut,
|
||||
RoomGroup = _item.RoomGroup,
|
||||
RooomCode = _item.RoomCode,
|
||||
RoomNum = _item.RoomNum,
|
||||
RoomPrice = _item.RoomPrice,
|
||||
BreakfastNum = _item.BreakfastNum,
|
||||
LongDistance = _item.LongDistance,
|
||||
MinShop = _item.MinShop,
|
||||
RoomRemark = _item.RoomRemark
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var apptCateringList = apptCateringsCache.Where(t => t.ApptId == item.Id).OrderBy(t => t.Id).ToList();
|
||||
if (apptCateringList.Count > 0)
|
||||
{
|
||||
item.ApptCateringList = new List<ApptCateringReq>();
|
||||
foreach (var _item in apptCateringList)
|
||||
{
|
||||
var model = item.ApptCateringList.Where(t => t.CateringTime == _item.CateringTime).FirstOrDefault();
|
||||
if (model == null)
|
||||
{
|
||||
item.ApptCateringList.Add(new ApptCateringReq()
|
||||
{
|
||||
Id = _item.Id.Value,
|
||||
CateringTime = _item.CateringTime,
|
||||
//CateringGroup = new int[] { _item.CateringGroup },
|
||||
CateringRoom = _item.CateringRoom,
|
||||
CateringCode = _item.CateringCode,
|
||||
CateringType = _item.CateringType,
|
||||
CateringNum = _item.CateringNum,
|
||||
CateringPrice = _item.CateringPrice,
|
||||
CateringTable = _item.CateringTable,
|
||||
Wine = _item.Wine,
|
||||
Remark = _item.Remark
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
List<int> _arr = model.CateringGroup.ToList();
|
||||
//_arr.Add(_item.CateringGroup);
|
||||
_arr.Sort();
|
||||
model.CateringGroup = _arr.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var apptSpringList = apptSpringsCache.Where(t => t.ApptId == item.Id).OrderBy(t => t.Id).ToList();
|
||||
if (apptSpringList.Count > 0)
|
||||
{
|
||||
item.ApptSpringList = new List<ApptSpringReq>();
|
||||
foreach (var _item in apptSpringList)
|
||||
{
|
||||
item.ApptSpringList.Add(new ApptSpringReq()
|
||||
{
|
||||
Id = _item.Id.Value,
|
||||
SpringTime = _item.SpringTime,
|
||||
PeopleNum = _item.PeopleNum,
|
||||
SpringMen = _item.SpringMen,
|
||||
SpringWomen = _item.SpringWomen,
|
||||
Consume = _item.Consume,
|
||||
SpringPrice = _item.SpringPrice,
|
||||
Remark = _item.Remark
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var ls = Db.Queryable<SysCode>()
|
||||
.Where(t => t.Class == EnumSysCodeClass.apptremark.ToString())
|
||||
.OrderBy(t => t.Id, OrderByType.Asc)
|
||||
.Select(t => t.Descript1).ToList().Replace();
|
||||
if (ls != null && ls.Count > 0)
|
||||
{
|
||||
item.Remarks = new List<RemarkReq>();
|
||||
foreach (var _item in ls)
|
||||
{
|
||||
string info = string.Empty;
|
||||
var model = apptRemarksCache.Where(t => t.ApptId == item.Id && t.Title == _item).FirstOrDefault();
|
||||
if (model != null) info = model.Info;
|
||||
item.Remarks.Add(new RemarkReq()
|
||||
{
|
||||
RemarkName = _item,
|
||||
RemarkContent = info,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return _summarys;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user