|
@@ -0,0 +1,157 @@
|
|
|
+using AutoMapper;
|
|
|
+using NPOI.SS.Formula.Functions;
|
|
|
+using OASystem.Domain;
|
|
|
+using OASystem.Domain.Dtos.Groups;
|
|
|
+using OASystem.Domain.Dtos.System;
|
|
|
+using OASystem.Domain.Entities.Groups;
|
|
|
+using OASystem.Domain.ViewModels.Groups;
|
|
|
+using System;
|
|
|
+using System.Collections.Generic;
|
|
|
+using System.Linq;
|
|
|
+using System.Text;
|
|
|
+using System.Threading.Tasks;
|
|
|
+
|
|
|
+namespace OASystem.Infrastructure.Repositories.Groups
|
|
|
+{
|
|
|
+ /// <summary>
|
|
|
+ /// 餐厅信息 仓储
|
|
|
+ /// </summary>
|
|
|
+ public class RestaurantRepository : BaseRepository<Grp_RestaurantInfo, Grp_RestaurantInfo>
|
|
|
+ {
|
|
|
+ private readonly IMapper _mapper;
|
|
|
+ private readonly JsonView _jsonView;
|
|
|
+ public RestaurantRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
|
|
|
+ {
|
|
|
+ _mapper = mapper;
|
|
|
+ _jsonView = new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = "操作失败" };
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 基础数据源
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<JsonView> InitAsync()
|
|
|
+ {
|
|
|
+ var groupData = await _sqlSugar
|
|
|
+ .Queryable<Grp_DelegationInfo>()
|
|
|
+ .Where(x => x.IsDel == 0)
|
|
|
+ .OrderByDescending(x => x.Id)
|
|
|
+ .Select(x => new { Id = x.Id, GroupName = x.TeamName })
|
|
|
+ .ToListAsync();
|
|
|
+
|
|
|
+ var mealTypeData = new List<dynamic>() {
|
|
|
+ new { Id = 1, Name = "早餐", DefaultStartTime = "08:00" },
|
|
|
+ new { Id = 2, Name = "午餐", DefaultStartTime = "12:00" },
|
|
|
+ new { Id = 3, Name = "晚餐", DefaultStartTime = "18:00" }
|
|
|
+ };
|
|
|
+ _jsonView.Code = StatusCodes.Status200OK;
|
|
|
+ _jsonView.Msg = "操作成功!";
|
|
|
+ _jsonView.Data = new { groupData = groupData ,mealType = mealTypeData };
|
|
|
+ return _jsonView;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 详情
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<JsonView> InfoAsync(int portType, int id)
|
|
|
+ {
|
|
|
+ if (!SharingStaticData.PortTypes.Contains(portType)) return new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = "端口类型错误!" };
|
|
|
+ if (id < 1) return new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = MsgTips.Id };
|
|
|
+
|
|
|
+ var info = await _sqlSugar.Queryable<Grp_RestaurantInfo>()
|
|
|
+ .Where(x => x.IsDel == 0 && x.Id == id)
|
|
|
+ .FirstAsync();
|
|
|
+ if (info == null) return new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = "数据未填写!", Data = new { } };
|
|
|
+
|
|
|
+ var resData = _mapper.Map<RestaurantInfoView>(info);
|
|
|
+
|
|
|
+ return new JsonView() { Code = StatusCodes.Status200OK, Msg = "操作成功!", Data = resData };
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Item
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<JsonView> ItemAsync(int portType, int groupId)
|
|
|
+ {
|
|
|
+ if (!SharingStaticData.PortTypes.Contains(portType)) return new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = "端口类型错误!" };
|
|
|
+ if (groupId < 1) return new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = MsgTips.DiId };
|
|
|
+
|
|
|
+ var infos = await _sqlSugar
|
|
|
+ .Queryable<Grp_RestaurantInfo, Sys_Users>((pi, u) => new JoinQueryInfos(JoinType.Left, pi.CreateUserId == u.Id))
|
|
|
+ .Where((pi, u) => pi.IsDel == 0 && pi.GroupId == groupId)
|
|
|
+ .OrderByDescending((pi, u) => pi.Date)
|
|
|
+ .Select((pi, u) => new
|
|
|
+ {
|
|
|
+ pi.Id,
|
|
|
+ //pi.GroupId,
|
|
|
+ pi.Date,
|
|
|
+ pi.StartTime,
|
|
|
+ pi.EndTime,
|
|
|
+ Type = pi.Type == 1 ? "早餐" : pi.Type == 2 ? "午餐" : pi.Type == 3 ? "晚餐" : "其他",
|
|
|
+ pi.Name,
|
|
|
+ pi.Address,
|
|
|
+ pi.Tel,
|
|
|
+ pi.Remark
|
|
|
+ })
|
|
|
+ .OrderByDescending(x => x.Date)
|
|
|
+ .ToListAsync();
|
|
|
+ if (!infos.Any()) return new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = "数据未填写!",Data = Array.Empty<dynamic>() };
|
|
|
+
|
|
|
+ return new JsonView() { Code = StatusCodes.Status200OK, Msg = "操作成功!", Data = infos };
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 操作
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<JsonView> OpAsync(RestaurantOpDto dto)
|
|
|
+ {
|
|
|
+ int status = dto.Status;
|
|
|
+ var info = _mapper.Map<Grp_RestaurantInfo>(dto);
|
|
|
+ info.CreateUserId = dto.CurrUserId;
|
|
|
+ if (status == 1)
|
|
|
+ {
|
|
|
+ //验重
|
|
|
+ var isNull = await _sqlSugar.Queryable<Grp_RestaurantInfo>().Where(x => x.IsDel == 0 && x.GroupId == info.GroupId && x.Name.Equals(info.Name)).FirstAsync();
|
|
|
+ if (isNull != null) return new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = "该团组下该餐厅名称已存在,不可重复添加!", Data = new { } };
|
|
|
+
|
|
|
+ var infoId = await _sqlSugar.Insertable(info).ExecuteCommandAsync();
|
|
|
+ if (infoId < 1) return new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = "添加失败!", Data = new { } };
|
|
|
+ }
|
|
|
+ else if (status == 2)
|
|
|
+ {
|
|
|
+ if (dto.Id < 1) return new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = MsgTips.Id, Data = new { } };
|
|
|
+
|
|
|
+ var infoId = await _sqlSugar.Updateable(info).IgnoreColumns(x => new { x.DeleteTime, x.DeleteUserId, x.CreateUserId, x.CreateTime, x.IsDel }).ExecuteCommandAsync();
|
|
|
+ if (infoId < 1) return new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = "修改失败!", Data = new { } };
|
|
|
+
|
|
|
+ }
|
|
|
+ else new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = "请传入有效的Status!", Data = new { } };
|
|
|
+
|
|
|
+ return new JsonView() { Code = StatusCodes.Status200OK, Msg = "操作成功!", Data = new { } };
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 操作
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<JsonView> DelAsync(RestaurantDelDto dto)
|
|
|
+ {
|
|
|
+ int userId = dto.DeleteUserId;
|
|
|
+ var id = dto.Id;
|
|
|
+
|
|
|
+ if (userId < 1) return new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = MsgTips.UserId, Data = new { } };
|
|
|
+ if (id < 1) return new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = MsgTips.Id, Data = new { } };
|
|
|
+
|
|
|
+ var del = await _sqlSugar.Updateable<Grp_RestaurantInfo>()
|
|
|
+ .SetColumns(x => new Grp_RestaurantInfo() { DeleteUserId = userId, DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), IsDel = 1 })
|
|
|
+ .Where(x => x.Id == id)
|
|
|
+ .ExecuteCommandAsync();
|
|
|
+ if(del < 1) return new JsonView() { Code = StatusCodes.Status200OK, Msg = "删除失败!", Data = new { } };
|
|
|
+
|
|
|
+ return new JsonView() { Code = StatusCodes.Status200OK, Msg = "操作成功!", Data = new { } };
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|