using OASystem.Domain.Dtos.Groups;
using OASystem.Domain.Entities.Groups;
using OASystem.Domain.ViewModels.CRM;
using System.ComponentModel;
namespace OASystem.API.OAMethodLib.QiYeWeChatAPI.AppNotice
{
public enum QiyeWeChatEnum
{
///
/// 测试用
///
[Description("groupstatuschat01")]
TestChat = 0,
///
/// 团组通知-公司客户群(国交部经理、主管、财务部),发送条件(1.确认出团)
///
[Description("CompanyCRMChat01")]
CompanyCRMChat = 1,
///
/// 团组通知-市场客户群(市场部经理、主管;国交部经理、主管)发送条件(1.确认出团) 暂时不用
///
[Description("MarketCRMChat01")]
MarketCRMChat,
///
/// 团组通知-财务群(财务部全员),发送条件(1.费用审核-通过;2,团组出访时间出发-7 天,结束-3 天,通知财务三人签合同、收尾款)
///
[Description("CaiWuChat01")]
CaiWuChat,
///
/// 团组通知-财务群(财务部全员),发送条件(团组出访时间出发-7 天,结束-3 天,第二天,通知财务三人签合同、收尾款)
///
[Description("CaiWuChat02")]
CaiWuChat02,
///
/// 团组通知-国交管理群(国交部经理、主管),发送条件(1.费用审核-提交)
///
[Description("GuoJiaoLeader01")]
GuoJiaoLeaderChat,
///
/// 团组通知-国交群(3天内结束行程)
///
[Description("GuoJiaoChat01")]
GuoJiaoChat01,
}
public class MarkdownLib
{
///
/// 通知文本-确认出团
///
///
///
public static string GroupStatus_Create(GroupStatus_CreateModel info)
{
string result = string.Format(@" `确认出团`
>团组名称:{0}
>团组类型:{1}
>出访日期:{2}
>出访人数/天数:{3}人/{4}天
>客户单位:{5}
>客户名称:{6}
[详细信息请前往OA系统查看](http://oa.pan-american-intl.com:4399/)
", info.TeamName, info.TeamDid_Text, info.VisitDateRange, info.VisitPNumber, info.VisitDays, info.ClientUnit, info.ClientName);
return result;
}
///
/// 通知文本-费用申请
///
///
public static string GroupStatus_ApplyFee(GroupStatus_ApplyFeeModel info)
{
string result = string.Format(@" `团组费用录入`
>团组:{0}
- {7}
>费用模块:{1}
>费用名称:{2}
>付款金额:{3}
>申请人:{4}
>申请时间:{5}
- 当前团组费用待审核数量: {6}
[详细信息请前往OA系统查看](http://oa.pan-american-intl.com:4399/) ", info.TeamName, info.PriceModule, info.PriceName, info.Price, info.CreateUser, info.CreateDt, info.QueueCount, info.TitleStr);
return result;
}
///
/// 费用审核通知-团组费用-群聊
///
///
///
public static string AuditResult_ApplyFee_Chat(AuditResult_ApplyFee_GroupModel info)
{
string result = string.Format(@" `{0}`
{2}
>审核时间:{8}
>团组:{3}
>费用模块:{4}
>费用名称:{5}
>付款金额:{6}
>申请人:{7}
[详细信息请前往OA系统查看](http://oa.pan-american-intl.com:4399/) ", info.Title, info.ResultColor, info.Result, info.TeamName, info.PriceModule, info.PriceName, info.Price, info.CreateUser, info.GMAuditDate);
return result;
}
///
/// 费用审核通知-团组费用-用户
///
///
///
public static string AuditResult_ApplyFee_User(AuditResult_ApplyFee_GroupModel info)
{
string result = string.Format(@" `{0}`
{2}
>审核时间:{7}
>团组:{3}
>费用模块:{4}
>费用名称:{5}
>付款金额:{6}
[详细信息请前往OA系统查看](http://oa.pan-american-intl.com:4399/) ", info.Title, info.ResultColor, info.Result, info.TeamName, info.PriceModule, info.PriceName, info.Price, info.GMAuditDate);
return result;
}
///
/// 费用支付通知-团组费用-用户
///
///
///
public static string PayResult_Group_ToUser(PayResult_Group_ToUserModel info)
{
string result = string.Format(@" `团组费用支付`
>团组:{0}
>费用模块:{1}
>费用名称:{2}
>付款金额:{3}
>该笔费用已支付
>支付时间:{4}
[详细信息请前往OA系统查看](http://oa.pan-american-intl.com:4399/) ", info.TeamName, info.PriceModule, info.PriceName, info.Price, info.PayDt);
return result;
}
///
/// 团组出发前一周提醒财务检查合同、尾款
///
///
public static string GroupRemindersToGuojiao(List list_3day)
{
string teamNames2 = ">暂无";
if (list_3day.Count > 0)
{
teamNames2 = "";
foreach (var item in list_3day)
{
string endDt = item.VisitEndDate.ToString("yyyy-MM-dd");
teamNames2 += ">(" + endDt + ")" + item.TeamName + " \n\n";
}
//list_3day.ForEach(s => teamNames2 += ">" + s.TeamName + "\n\n");
}
string result = string.Format(@" `团组行程结束提醒`
> - 下列团组将于3天内结束:
{0}
请各位注意检查业务费用是否录入完整
[详细信息请前往OA系统查看](http://oa.pan-american-intl.com:4399/) ", teamNames2);
return result;
}
///
/// 团组出发前一周提醒HR
///
///
public static string GroupRemindersToHR(List list_7day)
{
string teamNames2 = ">暂无";
if (list_7day.Count > 0)
{
teamNames2 = "";
foreach (var item in list_7day)
{
string startDt = item.VisitStartDate.ToString("yyyy-MM-dd");
teamNames2 += ">(" + startDt + ")" + item.TeamName + " \n\n";
}
}
string result = string.Format(@" `团组行程提醒`
> - 下列团组将于7天内出发:
{0}
[详细信息请前往OA系统查看](http://oa.pan-american-intl.com:4399/) ", teamNames2);
return result;
}
///
/// 团组出发前一周提醒财务检查合同、尾款
///
///
public static string GroupRemindersToCaiwuChat(List list_7day, List list_3day, List list_minus1day)
{
string teamNames1 = ">暂无";
string teamNames2 = ">暂无";
string teamNames3 = ">暂无";
if (list_7day.Count > 0)
{
teamNames1 = "";
foreach (var item in list_7day)
{
string startDt = item.VisitStartDate.ToString("yyyy-MM-dd");
teamNames1 += ">(" + startDt + ")" + item.TeamName + " \n\n";
}
//list_7day.ForEach(s => teamNames1 += ">" + s.TeamName + "\n\n");
}
if (list_3day.Count > 0)
{
teamNames2 = "";
foreach (var item in list_3day)
{
string endDt = item.VisitEndDate.ToString("yyyy-MM-dd");
teamNames2 += ">(" + endDt + ")" + item.TeamName + " \n\n";
}
//list_3day.ForEach(s => teamNames2 += ">" + s.TeamName + "\n\n");
}
if (list_minus1day.Count > 0)
{
teamNames3 = "";
foreach (var item in list_minus1day)
{
string endDt = item.VisitEndDate.ToString("yyyy-MM-dd");
teamNames3 += ">(" + endDt + ")" + item.TeamName + " \n\n";
}
}
string result = string.Format(@" `团组状态提醒`
> - 下列团组将于7天内出发:
{0}
> - 下列团组将于3天内结束:
{1}
> - 下列团组已于昨日结束行程:
{2}
请注意检查合同、尾款状态
[详细信息请前往OA系统查看](http://oa.pan-american-intl.com:4399/) ", teamNames1, teamNames2, teamNames3);
return result;
}
///
/// 日付申请提交时推送财务群
///
///
public static string DailyPayReminders_Create_ToCaiwuChat(DailyPayReminders_Create_ToCaiwuChatModel info)
{
string result = string.Format(@" `日付申请录入`
- {6}
>费用名称:{0}
>公司:{5}
>费用标识:{4}
>付款金额:{1}
>申请人:{2}
>申请时间:{3}
[详细信息请前往OA系统查看](http://oa.pan-american-intl.com:4399/) ", info.PriceName, info.Price, info.CreateUser, info.CreateDt, info.FeeSign, info.Company, info.TitleStr);
return result;
}
///
/// 日付申请审核结果推送给申请人
///
///
public static string DailyPayReminder_Audit_ToUser(DailyPayReminder_Audit_ToUserModel info)
{
string result = string.Format(@" `日付申请`
{1}
>费用名称:{2}
>付款金额:{3}
>审核时间:{4}
", info.ResultColor, info.Result, info.PriceName, info.Price, info.AuditDate);
return result;
}
///
/// 日付申请审核结果推送给财务群(总经理审核通过)
///
///
public static string DailyPayReminder_Audit_ToCaiwuChat(DailyPayReminder_Audit_ToCaiwuChatModel info)
{
string result = string.Format(@" `日付申请`
- 新增一笔通过总经理审核的日付申请
>费用名称:{0}
>付款金额:{1}
>申请人:{2}
>审核时间:{3}
", info.PriceName, info.Price, info.CreateUser, info.AuditDate);
return result;
}
///
/// 日付申请已付款推送给申请人
///
///
public static string DailyPayReminder_Pay_ToUser(DailyPayReminder_Pay_ToUserModel info)
{
string result = string.Format(@" `日付申请`
你有一笔日付申请费用已付款
>费用名称:{0}
>付款金额:{1}
>支付时间:{2}
", info.PriceName, info.Price, info.PayDt);
return result;
}
///
/// 成本通知发送给用户
///
///
public static string GroupShare_ToUser(GroupShare_ToUserModel info)
{
string result = string.Format(@" `成本通知`
团组成本费用已更新
>团组名称:{0}
>更新时间:{1}
>请注意在费用录入页面中核对成本信息
>若无对应团组权限请联系国交部经理或信息部人员
", info.TeamName, info.RefreshDate);
return result;
}
///
/// 出入境费用明细更改通知发送给用户
///
///
public static string GroupShare_ToGM(GroupShare_ToGMModel info)
{
string result = string.Format(@" `出入境费用明细操作通知`
>团组:{0}
>操作人员:{1}
>操作时间:{2}
[请点击进入明细进行查看或确认]({3}) ", info.TeamName, info.CreateUser, info.RefreshDate, info.Url);
return result;
}
///
/// 出入境费用 确认 通知发送给 财务相关人员
///
///
public static string GroupShare_ToFinance(GroupShare_ToUserModel info)
{
string result = string.Format(@" `出入境费用确认操作通知`
>团组:{0}
>操作时间:{1}
[出入境费用已确认,请进行相关流程操作。] ", info.TeamName, info.RefreshDate);
return result;
}
///
/// CRM统计通知(周)
///
///
///
public static string CRMStatistics_ToUser(List list, string beginDt, string endDt)
{
string users = "暂无";
if (list.Count > 0)
{
users = "";
foreach (var item in list)
{
users += ">【" + item.UserName + "】 - 新增 " + item.InsertNum + " 条,删除 " + item.DeleteNum + " 条\n\n";
}
}
string result = string.Format(@" `市场客户资料周统计({0} - {1})`
{2}
[详细信息请前往OA系统查看](http://oa.pan-american-intl.com:4399/) ", beginDt, endDt, users);
return result;
}
///
/// CRM统计通知(月)
///
///
///
public static string CRMStatistics_Month_ToUser(List list, string beginDt, string endDt, int totalInsert, int totalDelete)
{
string users = "暂无";
if (list.Count > 0)
{
users = "";
foreach (var item in list)
{
users += ">【" + item.UserName + "】 - 新增 " + item.InsertNum + " 条,删除 " + item.DeleteNum + " 条\n\n";
}
}
string result = string.Format(@" `市场客户资料月统计({0} - {1})`
> 总共 - 新增 {3} 条,删除 {4} 条
{2}
[详细信息请前往OA系统查看](http://oa.pan-american-intl.com:4399/) ", beginDt, endDt, users, totalInsert, totalDelete);
return result;
}
public static string BlackCodeInfo_ToVisaUser(BlackCodeInfo_ToVisaUser info)
{
string result = string.Format(@" `国家出入时间通知`
详细时间
>团组名称:{0}
>更新时间:{1}
", info.TeamName, info.RefreshDate);
foreach (var item in info.info)
{
var black = string.Empty;
for (int i = 0; i < item.Country.Length; i++)
{
black += " ";
}
black += " ";
result += $@"
>{item.Country}-抵达:{item.StartTime.ToString("yyyy-MM-dd HH:mm")}
>{black}离开:{item.EndTime.ToString("yyyy-MM-dd HH:mm")}";
}
return result;
}
public static string GroupDateTime_ToVisaUser(GroupDateTime_ToVisaUser info)
{
string result = string.Format(@" `团组时间通知`
详细时间
>团组名称:{0}
>更新时间:{1}
>开始时间:{2}
>结束时间:{3}
", info.TeamName, info.RefreshDate, info.StartTime, info.EndTime);
return result;
}
}
#region 实体类
public class GroupShare_ToGMModel : GroupShare_ToUserModel
{
public string CreateUser { get; set; }
public string Url { get; set; }
}
public class GroupShare_ToUserModel
{
public string TeamName { get; set; }
public string RefreshDate { get; set; }
}
public class DailyPayReminder_Pay_ToUserModel
{
public string PriceName { get; set; }
public string Price { get; set; }
public string PayDt { get; set; }
}
public class DailyPayReminder_Audit_ToCaiwuChatModel
{
public string PriceName { get; set; }
public string Price { get; set; }
public string CreateUser { get; set; }
public string AuditDate { get; set; }
}
public class DailyPayReminder_Audit_ToUserModel
{
public string ResultColor { get; set; } = "info"; //warning
public string Result { get; set; } = "你有一笔日付申请已通过审核"; // 你有一笔日付申请未通过财务/总经理审核
public string PriceName { get; set; }
public string Price { get; set; }
///
/// 财务或总经理审核时间
///
public string AuditDate { get; set; }
}
public class DailyPayReminders_Create_ToCaiwuChatModel
{
public string PriceName { get; set; }
public string Price { get; set; }
public string CreateUser { get; set; }
public string CreateDt { get; set; }
public string FeeSign { get; set; }
public string Company { get; set; }
///
/// [更新]一项费用待审核
///
public string TitleStr { get; set; } = "[新增]一项费用待审核";
}
public class PayResult_Group_ToUserModel
{
public string TeamName { get; set; }
public string PriceModule { get; set; }
public string PriceName { get; set; }
public string Price { get; set; }
public string PayDt { get; set; }
}
public class AuditResult_ApplyFee_GroupModel
{
public string Title { get; set; } = "团组费用审核结果";
public string ResultColor { get; set; } = "info"; //info 或 warning
public string Result { get; set; } = "总经理审核通过"; //总经理审核通过 或 总经理审核未通过
public string TeamName { get; set; }
public string PriceModule { get; set; }
public string PriceName { get; set; }
public string Price { get; set; }
public string CreateUser { get; set; }
public string GMAuditDate { get; set; }
}
public class GroupStatus_ApplyFeeModel
{
public string TeamName { get; set; }
public string PriceModule { get; set; }
public string PriceName { get; set; }
public string Price { get; set; }
public string CreateUser { get; set; }
public string CreateDt { get; set; }
public int QueueCount { get; set; }
///
/// [更新]一项费用待审核
///
public string TitleStr { get; set; } = "[新增]一项费用待审核";
}
public class GroupStatus_CreateModel
{
public string TeamName { get; set; }
public string TeamDid_Text { get; set; }
public string VisitDateRange { get; set; }
public int VisitPNumber { get; set; }
public int VisitDays { get; set; }
public string ClientUnit { get; set; }
public string ClientName { get; set; }
}
public class BlackCodeInfo_ToVisaUser
{
public string TeamName { get; set; }
public List info { get; set; }
public string RefreshDate { get; set; }
}
public class GroupDateTime_ToVisaUser
{
public string TeamName { get; set; }
public string RefreshDate { get; set; }
public string StartTime { get; set; }
public string EndTime { get; set; }
}
#endregion
}