接口文件

This commit is contained in:
“wanyongkang”
2024-04-10 13:55:27 +08:00
parent fff6bee06a
commit ed3b2c653e
3190 changed files with 268248 additions and 1 deletions

View File

@@ -0,0 +1,14 @@
using System;
namespace MsgCenterClient
{
public class DataBodyAttribute : Attribute
{
public int Order { get; }
public DataBodyAttribute(int order)
{
Order = order;
}
}
}

View File

@@ -0,0 +1,14 @@
using Microsoft.Extensions.DependencyInjection;
namespace MsgCenterClient
{
public static class IServiceCollectionExtension
{
public static void AddMsgCenterClient(this IServiceCollection service, string baseUrl)
{
MsgCenterHttpClient._BaseUrl = baseUrl;
service.AddSingleton<MsgCenterHttpClient>();
}
}
}

View File

@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Http" Version="2.2.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Hncore.Infrastructure\Hncore.Infrastructure.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,79 @@
using System;
using System.Net.Http;
using System.Threading.Tasks;
using Hncore.Infrastructure.Common;
using Hncore.Infrastructure.Extension;
using Hncore.Infrastructure.Serializer;
using Hncore.Infrastructure.WebApi;
using MsgCenterClient.WechatMpTplMsg;
namespace MsgCenterClient
{
public class MsgCenterHttpClient
{
private IHttpClientFactory _httpClientFactory;
internal static string _BaseUrl = "";
public string BaseUrl => _BaseUrl;
public MsgCenterHttpClient(IHttpClientFactory httpClientFactory)
{
_httpClientFactory = httpClientFactory;
}
private HttpClient CreateHttpClient()
{
return _httpClientFactory.CreateClient();
}
/// <summary>
/// 发送微信公众号模板消息
/// </summary>
/// <param name="msgBase"></param>
/// <returns></returns>
public async Task<ApiResult> SendWechatMpTplMsg(MsgBase msgBase)
{
var body = msgBase.ToRequestObject();
try
{
var res = await CreateHttpClient()
.PostAsJsonGetString(BaseUrl + "/api/msgcenter/v1/msg/SendMPTplMessage", body);
return res.FromJsonTo<ApiResult>();
}
catch (Exception e)
{
LogHelper.Error("发送微信公众号模板消息失败", e + "\n消息内容\n" + body.ToJson(true));
return new ApiResult(ResultCode.C_UNKNOWN_ERROR);
}
}
/// <summary>
/// 发送微信小程序模板消息
/// </summary>
/// <param name="msgBase"></param>
/// <returns></returns>
public async Task<ApiResult> SendMiniAppTplMsg(MiniAppMsgBase msgBase)
{
var body = msgBase.ToRequestObject();
try
{
var res = await CreateHttpClient()
.PostAsJsonGetString(BaseUrl + "/api/msgcenter/v1/msg/SendMiniAppTplMessage", body);
return res.FromJsonTo<ApiResult>();
}
catch (Exception e)
{
LogHelper.Error("发送小程序模板消息失败", e + "\n消息内容\n" + body.ToJson(true));
return new ApiResult(ResultCode.C_UNKNOWN_ERROR);
}
}
}
}

View File

@@ -0,0 +1,50 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 访客审核通知
/// 模板编号ku4vArgTpMOvwBeKQpjj6iE1nhVJyHL9xeQUjkUv5sY
/// 公众号模板库模板标题:认证成功通知
/// </summary>
public class FangKeShenHeMsg : MiniAppMsgBase
{
public FangKeShenHeMsg(int ownerId, string appId, string openId)
: base("ku4vArgTpMOvwBeKQpjj6iE1nhVJyHL9xeQUjkUv5sY", ownerId, appId, openId)
{
}
/// <summary>
/// 审核结果
/// </summary>
[DataBody(1)]
public DataItem ShenHeJieGuo { get; set; }
/// <summary>
/// 受访单位
/// </summary>
[DataBody(2)]
public DataItem ShouFangDanWei { get; set; }
/// <summary>
/// 事由
/// </summary>
[DataBody(3)]
public DataItem ShiYou { get; set; }
/// <summary>
/// 访客姓名
/// </summary>
[DataBody(4)]
public DataItem FangKeXingMing { get; set; }
/// <summary>
/// 手机号
/// </summary>
[DataBody(5)]
public DataItem ShouJi { get; set; }
/// <summary>
/// 备注
/// </summary>
[DataBody(6)]
public DataItem BeiZhu { get; set; }
}
}

View File

@@ -0,0 +1,102 @@
using System.Collections.Generic;
using System.Linq;
namespace MsgCenterClient.WechatMpTplMsg
{
public class MiniAppMsgBase
{
/// <summary>
///
/// </summary>
/// <param name="templateId">模板Id</param>
/// <param name="ownerId">物业Id</param>
/// <param name="appId">公众号AppId</param>
/// <param name="openId">用户OpenId</param>
public MiniAppMsgBase(string templateId, int ownerId, string appId, string openId)
{
TemplateId = templateId;
OwnerId = ownerId;
AppId = appId;
OpenId = openId;
}
/// <summary>
/// 模板Id
/// </summary>
public string TemplateId { get; }
/// <summary>
/// 物业Id
/// </summary>
public int OwnerId { get; }
/// <summary>
/// 公众号AppId
/// </summary>
public string AppId { get; }
/// <summary>
/// 用户openId
/// </summary>
public string OpenId { get; }
/// <summary>
/// 跳转的小程序页面
/// </summary>
public string Page { get; set; }
/// <summary>
/// 表单id
/// </summary>
public string FormId { get; set; }
/// <summary>
/// 强调的字,可以为空
/// </summary>
public string EmphasisKeyword { get; set; }
public object ToRequestObject()
{
SortedDictionary<int, DataItem> bodyDic = new SortedDictionary<int, DataItem>();
var type = GetType();
var properties = type.GetProperties();
foreach (var property in properties)
{
var bodyAttr = property.GetCustomAttributes(typeof(DataBodyAttribute), false);
if (!bodyAttr.Any())
{
continue;
}
int order = ((DataBodyAttribute) bodyAttr[0]).Order;
DataItem value = property.GetValue(this, null) as DataItem;
if (value == null)
{
value = new DataItem();
}
bodyDic[order] = value;
}
return new
{
key = TemplateId,
OwnerId = OwnerId,
From = AppId,
To = OpenId,
Content = new
{
page=this.Page,
form_id=this.FormId,
emphasis_keyword=this.EmphasisKeyword,
items = bodyDic.Values.Select(t => new {value = t.Value, color = t.Color}).ToList()
}
};
}
}
}

View File

@@ -0,0 +1,68 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 虚拟资产冲抵成功通知
/// 模板编号OPENTM417732701
/// </summary>
public class AssetDeductSuccessMsg : MsgBase
{
public AssetDeductSuccessMsg(int ownerId, string appId, string openId)
: base("OPENTM417732701", ownerId, appId, openId)
{
}
/// <summary>
/// 账单应缴总金额
/// </summary>
[DataBody(1)]
public DataItem Amount { get; set; }
/// <summary>
/// 当前余额(账单金额冲抵后结存金额)
/// </summary>
[DataBody(2)]
public DataItem BalanceAmount { get; set; }
/// <summary>
/// 扣款时间(账单冲抵完成时间)
/// </summary>
[DataBody(3)]
public DataItem SuccessTime { get; set; }
/// <summary>
/// 扣款方式(默认为:余额冲抵)
/// </summary>
[DataBody(4)]
public DataItem PayType { get; set; }=new DataItem(){Value = "余额冲抵"};
}
/// <summary>
/// 虚拟资产冲抵失败通知
/// 模板编号OPENTM414769357
/// </summary>
public class AssetDeductFailMsg : MsgBase
{
public AssetDeductFailMsg(int ownerId, string appId, string openId)
: base("OPENTM414769357", ownerId, appId, openId)
{
}
/// <summary>
/// 扣费时间(所有账单扣费失败时间)
/// </summary>
[DataBody(1)]
public DataItem FailTime { get; set; }
/// <summary>
/// 扣费金额(所有冲抵失败账单的金额总和)
/// </summary>
[DataBody(2)]
public DataItem Amount { get; set; }
/// <summary>
/// 账户余额(虚拟帐户中剩余金额)
/// </summary>
[DataBody(3)]
public DataItem BalanceAmount { get; set; }
}
}

View File

@@ -0,0 +1,27 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 车辆审核不通过通知
/// 模板编号OPENTM408157154
/// 公众号模板库模板标题:审核不过通知
/// </summary>
public class CheLiangShenHeShiBaiMsg: MsgBase
{
public CheLiangShenHeShiBaiMsg(int ownerId, string appId, string openId)
: base("OPENTM408157154", ownerId, appId, openId)
{
}
/// <summary>
/// 姓名
/// </summary>
[DataBody(1)]
public DataItem XingMing { get; set; }
/// <summary>
/// 手机号
/// </summary>
[DataBody(2)]
public DataItem ShouJiHao { get; set; }
}
}

View File

@@ -0,0 +1,27 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 车辆审核申请提交成功通知
/// 模板编号OPENTM411517700
/// 公众号模板库模板标题:申请提交成功通知
/// </summary>
public class CheLiangShenHeTiJiaoMsg: MsgBase
{
public CheLiangShenHeTiJiaoMsg(int ownerId, string appId, string openId)
: base("OPENTM411517700", ownerId, appId, openId)
{
}
/// <summary>
/// 服务类型
/// </summary>
[DataBody(1)]
public DataItem FuWuLeiXing { get; set; }
/// <summary>
/// 提交时间
/// </summary>
[DataBody(2)]
public DataItem TiJiaoShiJian { get; set; }
}
}

View File

@@ -0,0 +1,39 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 车辆审核通过通知
/// 模板编号OPENTM416664350
/// 公众号模板库模板标题:审核通过提醒
/// </summary>
public class CheLiangShenHeTongGuoMsg: MsgBase
{
public CheLiangShenHeTongGuoMsg( int ownerId, string appId, string openId)
: base("OPENTM416664350", ownerId, appId, openId)
{
}
/// <summary>
/// 姓名
/// </summary>
[DataBody(1)]
public DataItem XingMing { get; set; }
/// <summary>
/// 手机号
/// </summary>
[DataBody(2)]
public DataItem ShouJiHao { get; set; }
/// <summary>
/// 车牌号
/// </summary>
[DataBody(3)]
public DataItem ChePaiHao { get; set; }
/// <summary>
/// 审核时间
/// </summary>
[DataBody(4)]
public DataItem ShenHeShiJian { get; set; }
}
}

View File

@@ -0,0 +1,28 @@
namespace MsgCenterClient.WechatMpTplMsg
{
public class DataItem
{
public string Value { get; set; } = "";
//
// 摘要:
// 16进制颜色代码#FF0000
public string Color { get; set; } = "#173177";
public DataItem()
{
}
public DataItem(string value)
{
Value = value;
}
public DataItem(string value, string color)
{
Value = value;
Color = color;
}
}
}

View File

@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace MsgCenterClient.WechatMpTplMsg
{
public class FangKeDengJiTongZhi : MsgBase
{
public FangKeDengJiTongZhi(int ownerId, string appId, string openId)
: base("OPENTM417110808", ownerId, appId, openId)
{
}
/// <summary>
/// 标题
/// </summary>
[DataBody(1)]
public DataItem Name { get; set; }
/// <summary>
/// 标题
/// </summary>
[DataBody(2)]
public DataItem Company { get; set; }
/// <summary>
/// 标题
/// </summary>
[DataBody(3)]
public DataItem Reason { get; set; }
/// <summary>
/// 标题
/// </summary>
[DataBody(4)]
public DataItem Time { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 房屋认证成功通知
/// 模板编号OPENTM403179452
/// 公众号模板库模板标题:认证成功通知
/// </summary>
public class FangWuRenZhengChengGongMsg : MsgBase
{
public FangWuRenZhengChengGongMsg(int ownerId, string appId, string openId)
: base("OPENTM403179452", ownerId, appId, openId)
{
}
/// <summary>
/// 认证类型
/// </summary>
[DataBody(1)]
public DataItem RenZhengLeiXing { get; set; }
/// <summary>
/// 审核结果
/// </summary>
[DataBody(2)]
public DataItem ShenHeJieGuo { get; set; }
/// <summary>
/// 审核时间
/// </summary>
[DataBody(3)]
public DataItem ShenHeShiJian { get; set; }
}
}

View File

@@ -0,0 +1,39 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 房屋认证失败通知
/// 模板编号OPENTM403179639
/// 公众号模板库模板标题:认证失败通知
/// </summary>
public class FangWuRenZhengShiBaiMsg: MsgBase
{
public FangWuRenZhengShiBaiMsg(int ownerId, string appId, string openId)
: base("OPENTM403179639", ownerId, appId, openId)
{
}
/// <summary>
/// 认证类型
/// </summary>
[DataBody(1)]
public DataItem RenZhengLeiXing { get; set; }
/// <summary>
/// 审核结果
/// </summary>
[DataBody(2)]
public DataItem ShenHeJieGuo { get; set; }
/// <summary>
/// 审核时间
/// </summary>
[DataBody(3)]
public DataItem ShenHeShiJian { get; set; }
/// <summary>
/// 结果描述
/// </summary>
[DataBody(4)]
public DataItem JieGuoMiaoShu { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 工单处理完结
/// 模板编号OPENTM201820050
/// 公众号模板库模板标题:工单进度通知
/// </summary>
public class GongDanWanJieMsg: MsgBase
{
public GongDanWanJieMsg( int ownerId, string appId, string openId)
: base("OPENTM201820050", ownerId, appId, openId)
{
}
/// <summary>
/// 工单号
/// </summary>
[DataBody(1)]
public DataItem GongDanHao { get; set; }
/// <summary>
/// 工单进度
/// </summary>
[DataBody(2)]
public DataItem GongDanJinDu { get; set; }
/// <summary>
/// 工单处理人
/// </summary>
[DataBody(3)]
public DataItem GongDanChuLiRen { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 缴费成功通知
/// 模板编号OPENTM412117951
/// 公众号模板库模板标题:缴费成功通知
/// </summary>
public class JiaoFeiChengGongMsg : MsgBase
{
public JiaoFeiChengGongMsg(int ownerId, string appId, string openId)
: base("OPENTM412117951", ownerId, appId, openId)
{
}
/// <summary>
/// 缴费时间
/// </summary>
[DataBody(1)]
public DataItem JiaoFeiShiJian { get; set; }
/// <summary>
/// 缴费方式
/// </summary>
[DataBody(2)]
public DataItem JiaoFeiFangShi { get; set; }
/// <summary>
/// 缴费金额
/// </summary>
[DataBody(3)]
public DataItem JiaoFeiJinE { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 接单通知
/// 模板编号OPENTM201820050
/// 公众号模板库模板标题:工单进度通知
/// </summary>
public class JieDanMsg: MsgBase
{
public JieDanMsg(int ownerId, string appId, string openId)
: base("OPENTM201820050", ownerId, appId, openId)
{
}
/// <summary>
/// 工单号
/// </summary>
[DataBody(1)]
public DataItem GongDanHao { get; set; }
/// <summary>
/// 工单进度
/// </summary>
[DataBody(2)]
public DataItem GongDanJinDu { get; set; }
/// <summary>
/// 工单处理人
/// </summary>
[DataBody(3)]
public DataItem GongDanChuLiRen { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 临时到访通知
/// 模板编号5NE7oojOE4jhUpv8bixYqWgfkqcOInVBTjb_lHWPrSw
/// 公众号模板库模板标题:物业管理通知
/// </summary>
public class LinShiDaoFangMsg: MsgBase
{
public LinShiDaoFangMsg(int ownerId, string appId, string openId)
: base("5NE7oojOE4jhUpv8bixYqWgfkqcOInVBTjb_lHWPrSw", ownerId, appId, openId)
{
}
/// <summary>
/// 标题
/// </summary>
[DataBody(1)]
public DataItem BiaoTi { get; set; }
/// <summary>
/// 发布时间
/// </summary>
[DataBody(2)]
public DataItem FaBuShiJian { get; set; }
/// <summary>
/// 内容
/// </summary>
[DataBody(3)]
public DataItem NeiRong { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 门禁钥匙授权通知
/// 模板编号OPENTM408634701
/// 公众号模板库模板标题:授权成功通知
/// </summary>
public class MenJinYaoShiShouQuanMsg: MsgBase
{
public MenJinYaoShiShouQuanMsg( int ownerId, string appId, string openId)
: base("OPENTM408634701", ownerId, appId, openId)
{
}
/// <summary>
/// 授权人
/// </summary>
[DataBody(1)]
public DataItem ShouQunRen { get; set; }
/// <summary>
/// 被授权人
/// </summary>
[DataBody(2)]
public DataItem BeiShouQunRen { get; set; }
/// <summary>
/// 授权状态
/// </summary>
[DataBody(3)]
public DataItem ShouQuanZhuangTai { get; set; }
}
}

View File

@@ -0,0 +1,117 @@
using System.Collections.Generic;
using System.Linq;
namespace MsgCenterClient.WechatMpTplMsg
{
public class MsgBase
{
/// <summary>
///
/// </summary>
/// <param name="templateId">模板Id</param>
/// <param name="ownerId">物业Id</param>
/// <param name="appId">公众号AppId</param>
/// <param name="openId">用户OpenId</param>
public MsgBase(string templateId, int ownerId, string appId, string openId)
{
TemplateId = templateId;
OwnerId = ownerId;
AppId = appId;
OpenId = openId;
}
/// <summary>
/// 头部内容
/// </summary>
public DataItem Head { get; set; }
/// <summary>
/// 底部内容
/// </summary>
public DataItem Foot { get; set; }
/// <summary>
/// 模板Id
/// </summary>
public string TemplateId { get; }
/// <summary>
/// 物业Id
/// </summary>
public int OwnerId { get; }
/// <summary>
/// 公众号AppId
/// </summary>
public string AppId { get; }
/// <summary>
/// 用户openId
/// </summary>
public string OpenId { get; }
/// <summary>
/// 跳转的Url
/// </summary>
public string Url { get; set; }
/// <summary>
/// 跳转的小程序的Appid为空的话默认跳转h5指定的url
/// </summary>
public string MiniAppId { get; set; }
public object ToRequestObject()
{
SortedDictionary<int, DataItem> bodyDic = new SortedDictionary<int, DataItem>();
var type = GetType();
var properties = type.GetProperties();
foreach (var property in properties)
{
var bodyAttr = property.GetCustomAttributes(typeof(DataBodyAttribute), false);
if (!bodyAttr.Any())
{
continue;
}
int order = ((DataBodyAttribute) bodyAttr[0]).Order;
DataItem value = property.GetValue(this, null) as DataItem;
if (value == null)
{
value = new DataItem();
}
bodyDic[order] = value;
}
return new
{
key = TemplateId,
Content = new
{
Url,
MiniAppId,
first = new
{
value = Head?.Value,
color = Head?.Color
},
remark = new
{
value = Foot?.Value,
color = Foot?.Color
},
items = bodyDic.Values.Select(t => new {value = t.Value, color = t.Color}).ToList()
},
OwnerId = OwnerId,
From = AppId,
To = OpenId
};
}
}
}

View File

@@ -0,0 +1,33 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 派工通知
/// 模板编号OPENTM201820050
/// 公众号模板库模板标题:工单进度通知
/// </summary>
public class PaiGongMsg: MsgBase
{
public PaiGongMsg( int ownerId, string appId, string openId)
: base("OPENTM201820050", ownerId, appId, openId)
{
}
/// <summary>
/// 工单号
/// </summary>
[DataBody(1)]
public DataItem GongDanHao { get; set; }
/// <summary>
/// 工单进度
/// </summary>
[DataBody(2)]
public DataItem GongDanJinDu { get; set; }
/// <summary>
/// 工单处理人
/// </summary>
[DataBody(3)]
public DataItem GongDanChuLiRen { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 人脸钥匙认证成功通知
/// 模板编号OPENTM403179452
/// 公众号模板库模板标题:认证成功通知
/// </summary>
public class RenLianRenZhengChengGongMsg: MsgBase
{
public RenLianRenZhengChengGongMsg( int ownerId, string appId, string openId)
: base("OPENTM403179452", ownerId, appId, openId)
{
}
/// <summary>
/// 认证类型
/// </summary>
[DataBody(1)]
public DataItem RenZhengLeiXing { get; set; }
/// <summary>
/// 审核结果
/// </summary>
[DataBody(2)]
public DataItem ShenHeJieGuo { get; set; }
/// <summary>
/// 审核时间
/// </summary>
[DataBody(3)]
public DataItem ShenHeShiJian { get; set; }
}
}

View File

@@ -0,0 +1,39 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 人脸钥匙认证失败通知
/// 模板编号OPENTM403179639
/// 公众号模板库模板标题:认证失败通知
/// </summary>
public class RenLianRenZhengShiBaiMsg: MsgBase
{
public RenLianRenZhengShiBaiMsg( int ownerId, string appId, string openId)
: base("OPENTM403179639", ownerId, appId, openId)
{
}
/// <summary>
/// 认证类型
/// </summary>
[DataBody(1)]
public DataItem RenZhengLeiXing { get; set; }
/// <summary>
/// 审核结果
/// </summary>
[DataBody(2)]
public DataItem ShenHeJieGuo { get; set; }
/// <summary>
/// 审核时间
/// </summary>
[DataBody(3)]
public DataItem ShenHeShiJian { get; set; }
/// <summary>
/// 结果描述
/// </summary>
[DataBody(4)]
public DataItem JieGuoMiaoShu { get; set; }
}
}

View File

@@ -0,0 +1,27 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 催费通知(手动催缴)
/// 模板编号OPENTM411227201
/// 公众号模板库模板标题:待付账单通知
/// </summary>
public class ShouDongCuiJiaoMsg : MsgBase
{
public ShouDongCuiJiaoMsg(int ownerId, string appId, string openId)
: base("OPENTM411227201", ownerId, appId, openId)
{
}
/// <summary>
/// 账单金额
/// </summary>
[DataBody(1)]
public DataItem ZhangDanJinE { get; set; }
/// <summary>
/// 账单日期
/// </summary>
[DataBody(2)]
public DataItem ZhangDanRiQi { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 邀请访客到访通知
/// 模板编号rKssp0BPmK-XmGXCbrh3f6e9NVpb75Zqzui8Hcx26dE
/// 公众号模板库模板标题:来访通知
/// </summary>
public class YaoYueDaoFangMsg: MsgBase
{
public YaoYueDaoFangMsg(int ownerId, string appId, string openId)
: base("OPENTM408101810", ownerId, appId, openId)
{
}
/// <summary>
/// 访客名称
/// </summary>
[DataBody(1)]
public DataItem FangKeMingCheng { get; set; }
/// <summary>
/// 访客电话
/// </summary>
[DataBody(2)]
public DataItem FangKeDianHua { get; set; }
/// <summary>
/// 来访时间
/// </summary>
[DataBody(3)]
public DataItem LaiFangShiJian { get; set; }
}
}

View File

@@ -0,0 +1,27 @@
namespace MsgCenterClient.WechatMpTplMsg
{
/// <summary>
/// 催费通知(自动催缴)
/// 模板编号OPENTM411227201
/// 公众号模板库模板标题:待付账单通知
/// </summary>
public class ZiDongCuiJiaoMsg : MsgBase
{
public ZiDongCuiJiaoMsg(int ownerId, string appId, string openId)
: base("OPENTM411227201", ownerId, appId, openId)
{
}
/// <summary>
/// 账单金额
/// </summary>
[DataBody(1)]
public DataItem ZhangDanJinE { get; set; }
/// <summary>
/// 账单日期
/// </summary>
[DataBody(2)]
public DataItem ZhangDanRiQi { get; set; }
}
}

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v2.2", FrameworkDisplayName = ".NET Core 2.2")]

View File

@@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("MsgCenterClient")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+100b484a3ddcc1398a9ee6e4abc79c3dbc55f444")]
[assembly: System.Reflection.AssemblyProductAttribute("MsgCenterClient")]
[assembly: System.Reflection.AssemblyTitleAttribute("MsgCenterClient")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1,5 @@
is_global = true
build_property.RootNamespace = MsgCenterClient
build_property.ProjectDir = d:\www\juipnet\Infrastructure\ServiceClient\MsgCenterClient\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

View File

@@ -0,0 +1,276 @@
{
"format": 1,
"restore": {
"d:\\www\\juipnet\\Infrastructure\\ServiceClient\\MsgCenterClient\\MsgCenterClient.csproj": {}
},
"projects": {
"d:\\www\\juipnet\\Infrastructure\\Hncore.Infrastructure\\Hncore.Infrastructure.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "d:\\www\\juipnet\\Infrastructure\\Hncore.Infrastructure\\Hncore.Infrastructure.csproj",
"projectName": "Hncore.Infrastructure",
"projectPath": "d:\\www\\juipnet\\Infrastructure\\Hncore.Infrastructure\\Hncore.Infrastructure.csproj",
"packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\",
"outputPath": "d:\\www\\juipnet\\Infrastructure\\Hncore.Infrastructure\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
],
"configFilePaths": [
"C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netstandard2.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"netstandard2.0": {
"targetAlias": "netstandard2.0",
"dependencies": {
"AngleSharp": {
"target": "Package",
"version": "[0.12.1, )"
},
"Autofac": {
"target": "Package",
"version": "[4.9.1, )"
},
"Autofac.Extensions.DependencyInjection": {
"target": "Package",
"version": "[4.4.0, )"
},
"Bogus": {
"target": "Package",
"version": "[26.0.1, )"
},
"CSRedisCore": {
"target": "Package",
"version": "[3.0.60, )"
},
"Dapper": {
"target": "Package",
"version": "[1.60.6, )"
},
"DotNetCore.NPOI": {
"target": "Package",
"version": "[1.2.1, )"
},
"JWT": {
"target": "Package",
"version": "[5.0.1, )"
},
"MQTTnet": {
"target": "Package",
"version": "[2.8.5, )"
},
"MQiniu.Core": {
"target": "Package",
"version": "[1.0.1, )"
},
"Microsoft.AspNetCore.Mvc": {
"target": "Package",
"version": "[2.2.0, )"
},
"Microsoft.AspNetCore.Mvc.Versioning": {
"target": "Package",
"version": "[3.1.2, )"
},
"Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer": {
"target": "Package",
"version": "[3.2.0, )"
},
"Microsoft.AspNetCore.TestHost": {
"target": "Package",
"version": "[2.2.0, )"
},
"Microsoft.EntityFrameworkCore": {
"target": "Package",
"version": "[2.2.0, )"
},
"Microsoft.EntityFrameworkCore.Relational": {
"target": "Package",
"version": "[2.2.0, )"
},
"Microsoft.Extensions.Configuration.EnvironmentVariables": {
"target": "Package",
"version": "[2.2.0, )"
},
"Microsoft.Extensions.Configuration.Json": {
"target": "Package",
"version": "[2.2.0, )"
},
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[2.2.0, )"
},
"Microsoft.Extensions.Options.ConfigurationExtensions": {
"target": "Package",
"version": "[2.2.0, )"
},
"Microsoft.NET.Test.Sdk": {
"target": "Package",
"version": "[16.0.1, )"
},
"MySqlConnector": {
"target": "Package",
"version": "[0.56.0, )"
},
"NETStandard.Library": {
"suppressParent": "All",
"target": "Package",
"version": "[2.0.3, )",
"autoReferenced": true
},
"NLog.Extensions.Logging": {
"target": "Package",
"version": "[1.4.0, )"
},
"Polly": {
"target": "Package",
"version": "[7.1.0, )"
},
"Swashbuckle.AspNetCore": {
"target": "Package",
"version": "[4.0.1, )"
},
"System.Drawing.Common": {
"target": "Package",
"version": "[4.5.1, )"
},
"System.Text.Encoding.CodePages": {
"target": "Package",
"version": "[4.5.1, )"
},
"TinyMapper": {
"target": "Package",
"version": "[3.0.2-beta, )"
},
"TinyPinyin.Core.Standard": {
"target": "Package",
"version": "[1.0.0, )"
},
"aliyun-net-sdk-core": {
"target": "Package",
"version": "[1.5.3, )"
},
"xunit": {
"target": "Package",
"version": "[2.4.1, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202\\RuntimeIdentifierGraph.json"
}
}
},
"d:\\www\\juipnet\\Infrastructure\\ServiceClient\\MsgCenterClient\\MsgCenterClient.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "d:\\www\\juipnet\\Infrastructure\\ServiceClient\\MsgCenterClient\\MsgCenterClient.csproj",
"projectName": "MsgCenterClient",
"projectPath": "d:\\www\\juipnet\\Infrastructure\\ServiceClient\\MsgCenterClient\\MsgCenterClient.csproj",
"packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\",
"outputPath": "d:\\www\\juipnet\\Infrastructure\\ServiceClient\\MsgCenterClient\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
],
"configFilePaths": [
"C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netcoreapp2.2"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netcoreapp2.2": {
"targetAlias": "netcoreapp2.2",
"projectReferences": {
"d:\\www\\juipnet\\Infrastructure\\Hncore.Infrastructure\\Hncore.Infrastructure.csproj": {
"projectPath": "d:\\www\\juipnet\\Infrastructure\\Hncore.Infrastructure\\Hncore.Infrastructure.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"netcoreapp2.2": {
"targetAlias": "netcoreapp2.2",
"dependencies": {
"Microsoft.Extensions.Http": {
"target": "Package",
"version": "[2.2.0, )"
},
"Microsoft.NETCore.App": {
"suppressParent": "All",
"target": "Package",
"version": "[2.2.0, )",
"autoReferenced": true
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202\\RuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Administrator\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages;C:\Program Files\dotnet\sdk\NuGetFallbackFolder</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.9.1</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\Administrator\.nuget\packages\" />
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
<SourceRoot Include="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.2.0\build\netcoreapp2.2\Microsoft.NETCore.App.props" Condition="Exists('C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.2.0\build\netcoreapp2.2\Microsoft.NETCore.App.props')" />
</ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Pkgxunit_analyzers Condition=" '$(Pkgxunit_analyzers)' == '' ">C:\Users\Administrator\.nuget\packages\xunit.analyzers\0.10.0</Pkgxunit_analyzers>
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.codeanalysis.analyzers\1.1.0</PkgMicrosoft_CodeAnalysis_Analyzers>
<PkgMicrosoft_AspNetCore_Razor_Design Condition=" '$(PkgMicrosoft_AspNetCore_Razor_Design)' == '' ">C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.razor.design\2.2.0</PkgMicrosoft_AspNetCore_Razor_Design>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\netstandard.library\2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('C:\Program Files\dotnet\sdk\NuGetFallbackFolder\netstandard.library\2.0.3\build\netstandard2.0\NETStandard.Library.targets')" />
<Import Project="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.2.0\build\netcoreapp2.2\Microsoft.NETCore.App.targets" Condition="Exists('C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.2.0\build\netcoreapp2.2\Microsoft.NETCore.App.targets')" />
</ImportGroup>
</Project>

File diff suppressed because it is too large Load Diff