初始化项目
This commit is contained in:
173
Services/Manager/HotelServer.cs
Normal file
173
Services/Manager/HotelServer.cs
Normal file
@@ -0,0 +1,173 @@
|
||||
using Models;
|
||||
using Models.ModelItems;
|
||||
using Models.View;
|
||||
using Services.Cache;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
using static Services.Cache.CacheHelp;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Services.Manager
|
||||
{
|
||||
public class HotelServer
|
||||
{
|
||||
//键值对存储酒店的最高就酒店组 如果存在就不需要查找
|
||||
public static Dictionary<int, int> keyValues = new Dictionary<int, int>();
|
||||
#region 检测组名
|
||||
public static bool CheckGroupName(string Name, int ParentId)
|
||||
{
|
||||
|
||||
var au = CacheHelp.cacheHoteldGroups.FirstOrDefault(x => x.ParentId == ParentId && x.Name == Name);
|
||||
if (au == null)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
#endregion
|
||||
#region 添加组名
|
||||
public static int? AddGroupName(string Name, int ParentId, string Desc)
|
||||
{
|
||||
var au = CacheHelp.cacheHoteldGroups.FirstOrDefault(x => x.ParentId == ParentId && x.Name == Name);
|
||||
if (au != null)
|
||||
return null;
|
||||
|
||||
HotelGroups groups = new HotelGroups() { Name = Name, ParentId = ParentId, Desc = Desc };
|
||||
SqlSugarBase.Db.Insertable(groups).ExecuteCommand();
|
||||
CacheHelp.Removesys(syskey.sysHoteldGroupsListKey);
|
||||
return groups.Id;
|
||||
|
||||
}
|
||||
#endregion
|
||||
#region 检测酒店名
|
||||
public static bool CheckHotelName(string Name, int ParentId)
|
||||
{
|
||||
|
||||
var au = CacheHelp.cacheHotels.FirstOrDefault(x => x.GroupId == ParentId && x.Name == Name);
|
||||
if (au == null)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
#endregion
|
||||
#region 添加酒店名
|
||||
public static int? AddHotel(string Name, int ParentId, string Desc)
|
||||
{
|
||||
var au = CacheHelp.cacheHotels.FirstOrDefault(x => x.GroupId == ParentId && x.Name == Name);
|
||||
if (au != null)
|
||||
return null;
|
||||
Hotels hotels = new Hotels() { Name = Name, GroupId = ParentId, Desc = Desc };
|
||||
SqlSugarBase.Db.Insertable(hotels).ExecuteCommand();
|
||||
CacheHelp.Removesys(syskey.sysHotelsListKey);
|
||||
return hotels.Id;
|
||||
}
|
||||
#endregion
|
||||
//返回酒店下面的人员信息 权限数量
|
||||
#region 找查酒店用户信息
|
||||
public static dynamic FindUserinfo()
|
||||
{
|
||||
dynamic resdata;
|
||||
var res = new List<dynamic>();
|
||||
var data = UserInfoServer.GetUserInfo(null);
|
||||
foreach (var item in data)
|
||||
{
|
||||
foreach (var tump in item.HotelInfo)
|
||||
{
|
||||
res.Add(new
|
||||
{
|
||||
hotelId = tump.id,
|
||||
Id = item.Id,
|
||||
Uid = item.Uid,
|
||||
sum = tump.sum
|
||||
});
|
||||
}
|
||||
}
|
||||
resdata = res.GroupBy(x => x.hotelId).ToList();
|
||||
return resdata;
|
||||
}
|
||||
#endregion
|
||||
#region 找查 用户最高所属酒店组 或者 公司信息
|
||||
public static dynamic FindUserinfoGs(View_UserInfo u)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (u.Company != null)
|
||||
{
|
||||
return new
|
||||
{
|
||||
//0 宝来威 1 住好 2 卓豪
|
||||
Id = u.Company,
|
||||
name = u.Company == 0?"宝来威":(u.Company == 1? "住好" : "卓豪")
|
||||
};
|
||||
}
|
||||
//if(u.Company)
|
||||
var S = 2;
|
||||
if (u.IsImport > 0)
|
||||
{
|
||||
if (u.HotelGroupID > 0)
|
||||
S = FindRoot(u.HotelGroupID);
|
||||
else
|
||||
{
|
||||
if (u.HotelID > 1)
|
||||
S = FindRoot_(u.HotelID);
|
||||
}
|
||||
}
|
||||
S -= 2;
|
||||
if (S < 0)
|
||||
{
|
||||
throw new Exception("用户没有找到对应的公司"+u.Id.ToString());
|
||||
}
|
||||
// S 2 "宝来威" 3 住好
|
||||
|
||||
UserInfo info = new UserInfo();
|
||||
info.Id = u.Id;
|
||||
info.Company = S;
|
||||
var result = SqlSugarBase.Db.Updateable(info).UpdateColumns(it => new { it.Company }).ExecuteCommand();
|
||||
Task.Run(() =>{
|
||||
Cache.CacheHelp.Removesys(syskey.sysUserInfoListKey);
|
||||
});
|
||||
return new
|
||||
{
|
||||
Id = S,
|
||||
name = S == 0 ? "宝来威" : (u.Company == 1 ? "住好" : "卓豪")
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logs.WriteTimingUDPLog("参入参数:"+JsonConvert.SerializeObject( u));
|
||||
LogHelp.WriteExceptionLog(ex);
|
||||
return new
|
||||
{
|
||||
Id = 0,
|
||||
name = "宝来威"
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
static dynamic FindRoot(int? group)
|
||||
{
|
||||
if (group == null)
|
||||
return 0;
|
||||
var groupinfo = cacheHoteldGroups.FirstOrDefault(x => x.Id == group);
|
||||
if (groupinfo == null)
|
||||
throw new Exception("group未找到!");
|
||||
if (groupinfo.ParentId <= 1)
|
||||
return groupinfo.Id;
|
||||
return FindRoot(groupinfo.ParentId);
|
||||
}
|
||||
static dynamic FindRoot_(int? id)
|
||||
{
|
||||
if (id == null)
|
||||
return 0;
|
||||
var groupinfo = cacheHotels.First(x => x.Id == id);
|
||||
return FindRoot(groupinfo.GroupId);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user