initFCL
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace BLL
|
||||
{
|
||||
public static class APIFCLService
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取FC信息列表
|
||||
/// </summary>
|
||||
/// <param name="foCode">FO编码</param>
|
||||
/// <param name="fcStatus">FC状态</param>
|
||||
/// <param name="startCreateTime">创建日期起</param>
|
||||
/// <param name="endCreateTime">创建日期止</param>
|
||||
/// <param name="startUpdateTime">修改日期起</param>
|
||||
/// <param name="endUpdateTime">修改日期止</param>
|
||||
/// <returns>FC信息列表</returns>
|
||||
public static List<Model.FCLItem> GetFCList(string foCode, string fcStatus, DateTime? startCreateTime, DateTime? endCreateTime, DateTime? startUpdateTime, DateTime? endUpdateTime)
|
||||
{
|
||||
var fcl = from x in Funs.DB.View_FCLAPI select x;
|
||||
if (!string.IsNullOrEmpty(foCode))
|
||||
{
|
||||
fcl = fcl.Where(x => x.Fo_no.Contains(foCode));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(fcStatus))
|
||||
{
|
||||
fcl = fcl.Where(x => x.FC_status== fcStatus);
|
||||
}
|
||||
if (startCreateTime != null)
|
||||
{
|
||||
fcl = fcl.Where(x => x.CreateDate >= startCreateTime);
|
||||
}
|
||||
if (endCreateTime != null)
|
||||
{
|
||||
fcl = fcl.Where(x => x.CreateDate <= endCreateTime);
|
||||
}
|
||||
if (startUpdateTime != null)
|
||||
{
|
||||
fcl = fcl.Where(x => x.ModifyDate >= startUpdateTime);
|
||||
}
|
||||
if (endUpdateTime != null)
|
||||
{
|
||||
fcl = fcl.Where(x => x.ModifyDate <= endUpdateTime);
|
||||
}
|
||||
|
||||
var getFC = (from x in fcl
|
||||
select new Model.FCLItem
|
||||
{
|
||||
id=x.Id,
|
||||
createBy = x.CreatePerson,
|
||||
createTime = x.CreateDate,
|
||||
updateBy = x.ModifyPerson,
|
||||
updateTime = x.ModifyDate,
|
||||
foNo = x.Fo_no,
|
||||
disciplineFo = x.Discipline_fo,
|
||||
type = x.Type,
|
||||
pricingScheme = x.Pricing_scheme,
|
||||
contractor = x.Contractor,
|
||||
vendoNo = x.Vendor_no,
|
||||
item = x.Item,
|
||||
disciplineCategory = x.Discipline_category,
|
||||
currency = x.Currency,
|
||||
materialGroup = x.Material_group,
|
||||
purchaseGroup = x.Purchase_group,
|
||||
costElement = x.Cost_element,
|
||||
serviceType = x.Service_type,
|
||||
contractAdmin = x.Contract_admin,
|
||||
costChecker = x.Cost_checker,
|
||||
buyer = x.Buyer,
|
||||
mainCoordinator = x.Main_coordinator,
|
||||
mcDept = x.Mc_dept,
|
||||
userRepresentative = x.User_representative,
|
||||
validateDate = x.Validate_date,
|
||||
expireDate = x.Expire_date,
|
||||
fcStatus = x.FC_status,
|
||||
contractPerson = x.Contract_person,
|
||||
tel = x.Tel,
|
||||
volumeAllocation = x.Volume_allocation,
|
||||
contractBudget = x.Contract_budget,
|
||||
affiliatedTransaction = x.Affiliated_transaction,
|
||||
checkedValue = x.Checked_value,
|
||||
remainingBudget = x.Remaining_budget,
|
||||
remainingBudgetP = x.Remaining_budget_p,
|
||||
remainingDurationP = x.Remaining_duration_p,
|
||||
zyhead = x.Zyhead,
|
||||
zyheadTel = x.Zyhead_tel,
|
||||
aqhead = x.Aqhead,
|
||||
aqheadTel = x.Aqhead_tel,
|
||||
xmjl = x.Xmjl,
|
||||
xmjlTel = x.Xmjl_tel,
|
||||
email = x.Email,
|
||||
constRecords = x.Const_records,
|
||||
remark = x.Remark,
|
||||
exceedLimit = x.Exceed_limit
|
||||
}).ToList();
|
||||
|
||||
return getFC;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,507 @@
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BLL.APIService
|
||||
{
|
||||
public class SyncUserInfoService
|
||||
{
|
||||
private const string GETTOKENAPI = "https://ppsintf.basf-ypc.net.cn/ppsinterface/token/getToken";
|
||||
private const string GETHRINfOAPI = "https://ppsintf.basf-ypc.net.cn/ppsinterface/interfaceInfo/getHrInfo";
|
||||
public static string GetUserToken()
|
||||
{
|
||||
string username = "itinforadm";
|
||||
string password = "B9$hxQ@?t<p*";
|
||||
string result = BLL.Common.HttpHelper.HttpPostRequest(GETTOKENAPI,$"username={username}&password={password}",string.Empty);
|
||||
var data = JsonHelper.DeserializeJsonToObject<ResultData>(result);
|
||||
if ("200"==data.code)
|
||||
{
|
||||
return data.token;
|
||||
}
|
||||
else
|
||||
{
|
||||
ErrLogInfo.WriteLog("请求失败:返回结果:" + result);
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
public static void GetSyncUserInfo()
|
||||
{
|
||||
var token = GetUserToken(); //获取接口token
|
||||
var dic = GetDepartList(); //把本地数据库中的部门全部取出作为字典
|
||||
var dicUser = GetUserInfoByAccount(); //同上把所有用户取出来
|
||||
//string file = System.Web.HttpContext.Current.Server.MapPath("~/data.txt");
|
||||
//string result = System.IO.File.ReadAllText(file);
|
||||
string result = BLL.Common.HttpHelper.HttpPostRequest(GETHRINfOAPI, "", token);
|
||||
var data = JsonHelper.DeserializeJsonToObject<ResultData<List<UserInfo>>>(result);
|
||||
List<Model.SyncDataUserLogs> logList = new List<Model.SyncDataUserLogs>();
|
||||
if (data.code == "200")
|
||||
{
|
||||
//ErrLogInfo.WriteLog($"userinfo={data.data}");
|
||||
var userInfo = data.data;
|
||||
string batchNo= DateTime.Now.ToString("yyyyMMddHHmmss");
|
||||
DateTime syncTime = DateTime.Now;
|
||||
foreach (var item in userInfo)
|
||||
{
|
||||
if (item.ppsHrOtherEmp==null || string.IsNullOrEmpty(item.ppsHrOtherEmp.bgdid))
|
||||
{
|
||||
Model.SyncDataUserLogs log3 = new Model.SyncDataUserLogs();
|
||||
log3.BatchNo = batchNo;
|
||||
log3.CreatedTime = syncTime;
|
||||
log3.DataType = 3; //错误在账号信息类型
|
||||
log3.DepatId = string.Empty;
|
||||
log3.UserId = string.Empty;
|
||||
log3.IsSuccess = false;
|
||||
log3.Remark = $"当前账号为空:{JsonHelper.SerializeObject(item)}";
|
||||
logList.Add(log3);
|
||||
continue;
|
||||
}
|
||||
var account = item.ppsHrOtherEmp.bgdid;// 当前json的账号
|
||||
var manager = item.ppsHrOtherEmp.manager; //当前经理的员工号
|
||||
account = account.ToLower();
|
||||
var user = dicUser.ContainsKey(account); //判断当前账号是否在我们数据库中
|
||||
string userId = user ? dicUser[account] : null; //存在那就是把用户id取出来,否则用户id就是null
|
||||
|
||||
#region 同步部门
|
||||
//部门id
|
||||
string departId = "";
|
||||
Model.SyncDataUserLogs log = new Model.SyncDataUserLogs();
|
||||
try
|
||||
{
|
||||
log.BatchNo = batchNo;
|
||||
log.CreatedTime = syncTime;
|
||||
//如果是经理,总经理,总监
|
||||
if (item.section.ToUpper() == "CTT" && item.position.Contains("Director"))
|
||||
{
|
||||
//判断是否存在部门
|
||||
if (IsExistsDepart(dic, item.section))
|
||||
{
|
||||
departId = dic[item.section]; //取出本地数据库部门ID
|
||||
UpdateDepartInfo(userId, item.section); //更新部门表数据
|
||||
}
|
||||
else
|
||||
{
|
||||
departId = InsertDepartInfo(dic, userId, item.section); //插入本地数据库部门
|
||||
}
|
||||
}
|
||||
else if((item.section.ToUpper() == "CTT" && item.position.Contains("Manager")) || item.section.ToUpper() == "CTT" && item.position.Contains("General Manager"))
|
||||
{
|
||||
//不处理
|
||||
//判断是否存在部门
|
||||
if (IsExistsDepart(dic, item.section))
|
||||
{
|
||||
departId = dic[item.section]; //取出本地数据库部门ID
|
||||
// UpdateDepartInfo(null, item.section); //更新部门表数据
|
||||
}
|
||||
else
|
||||
{
|
||||
departId = InsertDepartInfo(dic, null, item.section); //插入本地数据库部门
|
||||
}
|
||||
}
|
||||
else if ((item.position.Contains("Manager") || item.position.Contains("Director") || item.position.Contains("General Manager")))
|
||||
{
|
||||
//判断是否存在部门
|
||||
if (IsExistsDepart(dic, item.section))
|
||||
{
|
||||
departId = dic[item.section]; //取出本地数据库部门ID
|
||||
UpdateDepartInfo(userId, item.section); //更新部门表数据
|
||||
}
|
||||
else
|
||||
{
|
||||
departId = InsertDepartInfo(dic,userId, item.section); //插入本地数据库部门
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//查找当前用户的上级经理是谁
|
||||
var parentUser = userInfo.Where(t => t.ppsHrOtherEmp.bycstaffNo == manager).FirstOrDefault();
|
||||
if (parentUser == null)
|
||||
{
|
||||
//找不到就是他自己
|
||||
string itemDepartCode = item.section.ToUpper();
|
||||
string itemUserId = userId;
|
||||
//判断当前自身的部门是否存在
|
||||
if (IsExistsDepart(dic, itemDepartCode))
|
||||
{
|
||||
departId = dic[itemDepartCode]; //取出自身部门所在的部门ID
|
||||
UpdateDepartInfo(itemUserId, itemDepartCode); //更新自身部门的部门数据。
|
||||
}
|
||||
else
|
||||
{
|
||||
departId = InsertDepartInfo(dic,itemUserId, itemDepartCode); //插入本地部门表数据
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//找到了就是上级的用户部门+LeaderID;
|
||||
string parentDepatCode = parentUser.section.ToUpper(); //上级部门编号
|
||||
string parentAccount = parentUser.ppsHrOtherEmp.bgdid; //上级用户的账号
|
||||
if (!string.IsNullOrEmpty(parentAccount))
|
||||
parentAccount = parentAccount.ToLower();
|
||||
else
|
||||
parentAccount = string.Empty;
|
||||
|
||||
var parentLocalUser = dicUser.ContainsKey(parentAccount); //查找本地数据库的上级用户是否存在
|
||||
string parentUserId = parentLocalUser ? dicUser[parentAccount] : null;
|
||||
//上级用户所在的部门已经存在
|
||||
if (IsExistsDepart(dic, parentDepatCode))
|
||||
{
|
||||
//departId = dic[parentDepatCode]; //取出他上级用户所在的部门ID
|
||||
UpdateDepartInfo(parentUserId, parentDepatCode); //更新部门信息
|
||||
//并且插入自己子部门信息
|
||||
departId=InsertDepartInfoChilds(dic,parentUserId, item.section);
|
||||
}
|
||||
else
|
||||
{
|
||||
departId = InsertDepartInfo(dic,parentUserId, parentDepatCode); //插入他上级用户所在的部门到部门表中去
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
log.DepatId = departId;
|
||||
log.DataType = 0; //同步部门类型数据
|
||||
log.Remark = "同步成功";
|
||||
log.IsSuccess = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
log.DepatId = departId;
|
||||
log.DataType = 0;
|
||||
log.Remark = ex.Message;
|
||||
log.IsSuccess = false;
|
||||
}
|
||||
//这里记录同步部门的日志
|
||||
logList.Add(log);
|
||||
#endregion
|
||||
|
||||
#region 同步用户
|
||||
Model.SyncDataUserLogs log2 = new Model.SyncDataUserLogs();
|
||||
string resultId = string.Empty;
|
||||
|
||||
try
|
||||
{
|
||||
log2.BatchNo = batchNo;
|
||||
log2.CreatedTime = syncTime;
|
||||
log2.Josn = JsonHelper.SerializeObject(item);
|
||||
//当前本地数据库用户表不存在此用户
|
||||
if (!user)
|
||||
{
|
||||
//插入
|
||||
resultId = InsertUserInfo(item, departId);
|
||||
log.UserId = resultId;
|
||||
log.DataType = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
resultId = UpdateUserInfo(item, departId);
|
||||
log.UserId = resultId;
|
||||
log.DataType = 1; //同步用户类型数据
|
||||
}
|
||||
log2.Remark = "同步成功";
|
||||
log2.IsSuccess = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
log.UserId = resultId;
|
||||
log.DataType = 1;
|
||||
log2.Remark =$"同步失败:{ex.Message}";
|
||||
log2.IsSuccess = false;
|
||||
}
|
||||
//这里记录同步用户的日志
|
||||
logList.Add(log2);
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
|
||||
AddSyncLogs(logList);
|
||||
}
|
||||
else
|
||||
{
|
||||
ErrLogInfo.WriteLog("请求失败:返回结果:" + result);
|
||||
}
|
||||
}
|
||||
|
||||
#region 私有方法
|
||||
/// <summary>
|
||||
/// 获取所有的BU
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private static Dictionary<string,string> GetDepartList()
|
||||
{
|
||||
return BLL.Funs.DB.Base_Depart.ToList()
|
||||
.ToDictionary(t => t.DepartCode.ToUpper(), t => t.DepartId);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取所有的User
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private static Dictionary<string,string> GetUserInfoByAccount()
|
||||
{
|
||||
return BLL.Funs.DB.Sys_User.Select(t => new { t.UserId, t.Account }).ToList()
|
||||
.ToDictionary(t => t.Account.ToLower(), t => t.UserId);
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// 更新BU
|
||||
/// </summary>
|
||||
/// <param name="leaderId"></param>
|
||||
/// <param name="depatCode"></param>
|
||||
private static void UpdateDepartInfo(string leaderId,string depatCode)
|
||||
{
|
||||
//更新leader字段
|
||||
if (!string.IsNullOrEmpty(leaderId))
|
||||
{
|
||||
string sql = string.Format("update Base_Depart set DepartLeader='{0}' where DepartCode='{1}'", leaderId, depatCode);
|
||||
Funs.DB.ExecuteCommand(sql);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 新增BU
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private static string InsertDepartInfo(Dictionary<string,string> dic,string leaderId, string depatCode)
|
||||
{
|
||||
var result = Funs.DB.Base_Depart.FirstOrDefault(t => t.DepartCode == depatCode);
|
||||
if (result==null)
|
||||
{
|
||||
//插入部门信息,并且把leader字段写入
|
||||
var depatModel = new Model.Base_Depart();
|
||||
depatModel.DepartId = SQLHelper.GetNewID(typeof(Model.Base_Depart));
|
||||
depatModel.DepartCode = depatCode;
|
||||
depatModel.DepartName = depatCode;
|
||||
depatModel.DepartLeader = leaderId;
|
||||
BLL.DepartService.AddDepart(depatModel);
|
||||
if (!dic.ContainsKey(depatCode.ToUpper()))
|
||||
{
|
||||
dic.Add(depatCode.ToLower(), depatModel.DepartId);
|
||||
}
|
||||
return depatModel.DepartId;
|
||||
}
|
||||
return result.DepartId;
|
||||
}
|
||||
|
||||
private static string InsertDepartInfoChilds(Dictionary<string,string> dic ,string leaderId,string depatCode)
|
||||
{
|
||||
var result = Funs.DB.Base_Depart.FirstOrDefault(t => t.DepartCode == depatCode);
|
||||
if (result == null)
|
||||
{
|
||||
//插入部门信息,并且把leader字段写入
|
||||
var depatModel = new Model.Base_Depart();
|
||||
depatModel.DepartId = SQLHelper.GetNewID(typeof(Model.Base_Depart));
|
||||
depatModel.DepartCode = depatCode;
|
||||
depatModel.DepartName = depatCode;
|
||||
depatModel.DepartLeader = leaderId;
|
||||
BLL.DepartService.AddDepart(depatModel);
|
||||
if (!dic.ContainsKey(depatCode.ToUpper()))
|
||||
{
|
||||
dic.Add(depatCode.ToUpper(), depatModel.DepartId);
|
||||
}
|
||||
return depatModel.DepartId;
|
||||
}
|
||||
return result.DepartId;
|
||||
}
|
||||
/// <summary>
|
||||
/// 判断是否存在BU
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private static bool IsExistsDepart(Dictionary<string,string> depatDbData, string departCode)
|
||||
{
|
||||
return depatDbData.ContainsKey(departCode.ToUpper());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 插入用户信息
|
||||
/// </summary>
|
||||
private static string InsertUserInfo(UserInfo user,string departId)
|
||||
{
|
||||
var userModel = new Model.Sys_User();
|
||||
userModel.UserId = SQLHelper.GetNewID(typeof(Model.Sys_User));
|
||||
userModel.Account = user.ppsHrOtherEmp.bgdid;
|
||||
userModel.UserName = user.name;
|
||||
userModel.ChineseName = user.nameCN;
|
||||
userModel.Email = user.ppsHrOtherEmp.eMailAddress;
|
||||
userModel.DepartId = departId;
|
||||
userModel.RoleId = "bdb8c4fe-5082-4ce0-af5e-70f39f50ea41"; //给一个默认roleId;
|
||||
userModel.Password = Sys_UserService.GetEncryptionPassword(userModel.Account);
|
||||
userModel.IsPost = user.ppsHrOtherEmp.leftEffectiveDate.HasValue ? false : true;
|
||||
Funs.DB.Sys_User.InsertOnSubmit(userModel);
|
||||
Funs.DB.SubmitChanges();
|
||||
return userModel.UserId;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新用户信息
|
||||
/// </summary>
|
||||
private static string UpdateUserInfo(UserInfo user, string departId)
|
||||
{
|
||||
//更新6个字段
|
||||
var updateUser = Funs.DB.Sys_User.FirstOrDefault(e => e.Account == user.ppsHrOtherEmp.bgdid);
|
||||
if (updateUser != null)
|
||||
{
|
||||
updateUser.UserName = user.name;
|
||||
updateUser.ChineseName = user.nameCN;
|
||||
|
||||
updateUser.Email = !string.IsNullOrEmpty(user.ppsHrOtherEmp.eMailAddress) ? user.ppsHrOtherEmp.eMailAddress : updateUser.Email;
|
||||
if(!string.IsNullOrEmpty(departId))
|
||||
updateUser.DepartId = departId;
|
||||
|
||||
if (user.ppsHrOtherEmp.leftEffectiveDate.HasValue)
|
||||
{
|
||||
updateUser.IsPost = user.ppsHrOtherEmp.leftEffectiveDate.HasValue ? false : true;
|
||||
}
|
||||
Funs.DB.SubmitChanges();
|
||||
return updateUser.UserId;
|
||||
}
|
||||
return string.Empty;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 记录logos日志
|
||||
/// </summary>
|
||||
private static void AddSyncLogs(List<Model.SyncDataUserLogs> logs)
|
||||
{
|
||||
string sql = "delete from SyncDataUserLogs";
|
||||
SQLHelper.ExecutSql(sql);
|
||||
|
||||
Funs.DB.SyncDataUserLogs.InsertAllOnSubmit(logs);
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
#region 内部类
|
||||
[Serializable]
|
||||
internal class UserInfo
|
||||
{
|
||||
public long id { get; set; }
|
||||
|
||||
public string name { get; set; }
|
||||
|
||||
public string nameCN { get; set; }
|
||||
|
||||
public string div { get; set; }
|
||||
|
||||
public string dept { get; set; }
|
||||
|
||||
public string section { get; set; }
|
||||
|
||||
public string shift { get; set; }
|
||||
|
||||
public string employeeType { get; set; }
|
||||
|
||||
public string joinDate { get; set; }
|
||||
public string gender { get; set; }
|
||||
|
||||
public string age { get; set; }
|
||||
public string emailAddress { get; set; }
|
||||
|
||||
public string position { get; set; }
|
||||
|
||||
public string positionCN { get; set; }
|
||||
|
||||
public string officePhone { get; set; }
|
||||
public string faxNumber { get; set; }
|
||||
public string mobilePhone { get; set; }
|
||||
|
||||
public string bycstaffNo { get; set; }
|
||||
public ppsHrOtherEmp ppsHrOtherEmp { get; set; }
|
||||
|
||||
public List<ppsHrCertificateList> ppsHrCertificateList { get; set; }
|
||||
|
||||
public List<ppsHrTrainingList> ppsHrTrainingList { get; set; }
|
||||
|
||||
|
||||
}
|
||||
[Serializable]
|
||||
internal class ppsHrOtherEmp
|
||||
{
|
||||
public long id { get; set; }
|
||||
public string costCenter { get; set; }
|
||||
public string reportTo { get; set; }
|
||||
public string manager { get; set; }
|
||||
public string director { get; set; }
|
||||
public string generalManager { get; set; }
|
||||
public DateTime? joinBYCDate { get; set; }
|
||||
public DateTime? leftEffectiveDate { get; set; }
|
||||
public string employeeType { get; set; }
|
||||
public string eMailAddress { get; set; }
|
||||
public string bycstaffNo { get; set; }
|
||||
|
||||
public string ppsmac { get; set; }
|
||||
public string bgdid { get; set; }
|
||||
|
||||
public string sappersonnelNumber { get; set; }
|
||||
}
|
||||
|
||||
internal class ppsHrCertificateList
|
||||
{
|
||||
public long id { get; set; }
|
||||
|
||||
public string certificateName { get; set; }
|
||||
|
||||
public string certificateType { get; set; }
|
||||
public DateTime? getDate { get; set; }
|
||||
public DateTime? expirationDate { get; set; }
|
||||
public DateTime? certificateValidDate { get; set; }
|
||||
public string certificateNo { get; set; }
|
||||
|
||||
public string mechanism { get; set; }
|
||||
public string remarks { get; set; }
|
||||
|
||||
public ppsHrOtherEmp ppsHrOtherEmp { get; set; }
|
||||
|
||||
public string bycstaffNo { get; set; }
|
||||
}
|
||||
internal class ppsHrTrainingList {
|
||||
|
||||
public long id { get; set; }
|
||||
public string courseName { get; set; }
|
||||
public DateTime? tringDate { get; set; }
|
||||
|
||||
public string bycstaffNo { get; set; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
internal class ResultData<T>:ResultData
|
||||
{
|
||||
public new T data { get; set; }
|
||||
|
||||
public ResultData<T> SetResult(string code,T resultData,string message=null)
|
||||
{
|
||||
this.code = code;
|
||||
this.data = resultData;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
[Serializable]
|
||||
internal class ResultData
|
||||
{
|
||||
public ResultData SetResult(string code,object data,string msg = null)
|
||||
{
|
||||
this.code = code;
|
||||
this.msg = msg;
|
||||
this.data = data;
|
||||
return this;
|
||||
}
|
||||
public string code { get; set; }
|
||||
|
||||
public string msg { get; set; }
|
||||
|
||||
public string token { get; set; }
|
||||
|
||||
public object data { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
Reference in New Issue
Block a user