Bläddra i källkod

初始化项目

lcl 1 år sedan
incheckning
4617ee0fdb
100 ändrade filer med 39278 tillägg och 0 borttagningar
  1. BIN
      .DS_Store
  2. 4 0
      .gitignore
  3. 1796 0
      .vscode/db.code-snippets
  4. 53 0
      .vscode/launch.json
  5. 15363 0
      .vscode/maindb.code-snippets
  6. 55 0
      .vscode/public.code-snippets
  7. 2813 0
      .vscode/spdb.code-snippets
  8. 42 0
      .vscode/tasks.json
  9. BIN
      AppStart/.DS_Store
  10. BIN
      AppStart/Alipay/.DS_Store
  11. 312 0
      AppStart/Alipay/AlipayFunction.cs
  12. 268 0
      AppStart/Alipay/Request/AlipayOpenAgentCommonSignRequest.cs
  13. 126 0
      AppStart/Alipay/Request/AlipayOpenAgentCommonsignConfirmRequest.cs
  14. 12 0
      AppStart/Alipay/Response/AlipayOpenAgentCommonSignResponse.cs
  15. 17 0
      AppStart/Alipay/Response/AlipayOpenAgentCommonsignConfirmResponse.cs
  16. BIN
      AppStart/Aliyun/.DS_Store
  17. 12 0
      AppStart/AppResultJson.cs
  18. 16 0
      AppStart/GlobalExceptions.cs
  19. BIN
      AppStart/Helper/.DS_Store
  20. 72 0
      AppStart/Helper/ActRewardService.cs
  21. 98 0
      AppStart/Helper/AddActService.cs
  22. 1392 0
      AppStart/Helper/AlipayPayBack2Service.cs
  23. 82 0
      AppStart/Helper/AlipayPayBackService.cs
  24. 73 0
      AppStart/Helper/AutoOpOrderService.cs
  25. 116 0
      AppStart/Helper/BalancePayBackService.cs
  26. 125 0
      AppStart/Helper/ChangePosFeeQueue.cs
  27. 569 0
      AppStart/Helper/ChangePosFeeUtil.cs
  28. 127 0
      AppStart/Helper/CheckAlipaySignService.cs
  29. 143 0
      AppStart/Helper/CheckWeChatSignService.cs
  30. 98 0
      AppStart/Helper/ConsumerOrdersReturnDoService.cs
  31. 43 0
      AppStart/Helper/ConsumerOrdersReturnStatService.cs
  32. 190 0
      AppStart/Helper/ConsumerOrdersStatService.cs
  33. 37 0
      AppStart/Helper/DelMySql/DeleteMySqlDataService.cs
  34. 90 0
      AppStart/Helper/DepositReturnService.cs
  35. 176 0
      AppStart/Helper/DepositReturnStatService.cs
  36. 123 0
      AppStart/Helper/InstallmentDeductionService.cs
  37. 66 0
      AppStart/Helper/LeaderAmountMonthChangeQueue.cs
  38. 142 0
      AppStart/Helper/LeaderApplyCouponsHelper.cs
  39. 585 0
      AppStart/Helper/LeaderCompPrizeHelper.cs
  40. 95 0
      AppStart/Helper/LeaderPrizeService.cs
  41. 115 0
      AppStart/Helper/LeaderTimeoutSendMessageService.cs
  42. 163 0
      AppStart/Helper/MakeReferenceQrCodeService.cs
  43. 241 0
      AppStart/Helper/MerchantConfirmService.cs
  44. 81 0
      AppStart/Helper/MerchantTypeSetService.cs
  45. 53 0
      AppStart/Helper/MessageCenterService.cs
  46. 83 0
      AppStart/Helper/Operate/OperateAmountService.cs
  47. 48 0
      AppStart/Helper/Operate/OperateStockService.cs
  48. 119 0
      AppStart/Helper/OperatePrizeService.cs
  49. 82 0
      AppStart/Helper/OperateService.cs
  50. 123 0
      AppStart/Helper/OrderRefundService.cs
  51. 185 0
      AppStart/Helper/PosExpiredHelper.cs
  52. 94 0
      AppStart/Helper/PrePosRingService.cs
  53. 170 0
      AppStart/Helper/PrePosWithholdService.cs
  54. 203 0
      AppStart/Helper/PreStoreApplyQueue.cs
  55. 121 0
      AppStart/Helper/Profit/ActiveService.cs
  56. 130 0
      AppStart/Helper/Profit/DiviService.cs
  57. 164 0
      AppStart/Helper/Profit/FluxService.cs
  58. 245 0
      AppStart/Helper/Profit/HelpProfitHelper.cs
  59. 88 0
      AppStart/Helper/Profit/HelpProfitPreMerchantHelper.cs
  60. 121 0
      AppStart/Helper/Profit/OpenService.cs
  61. 523 0
      AppStart/Helper/Profit/ProfitCheckHelper.cs
  62. 2073 0
      AppStart/Helper/Profit/ProfitHelper.cs
  63. 1052 0
      AppStart/Helper/Profit/ProfitHelperV2.cs
  64. 178 0
      AppStart/Helper/Profit/ProfitService.cs
  65. 128 0
      AppStart/Helper/Profit/StandardService.cs
  66. 39 0
      AppStart/Helper/Profit/TeamTopService.cs
  67. 18 0
      AppStart/Helper/Profit/TradeService.cs
  68. 440 0
      AppStart/Helper/PublicImportDataService.cs
  69. 200 0
      AppStart/Helper/RSAForJava.cs
  70. 340 0
      AppStart/Helper/RSAHelper.cs
  71. 47 0
      AppStart/Helper/ReceiveProfitService.cs
  72. 47 0
      AppStart/Helper/ReceiveTaskService.cs
  73. 161 0
      AppStart/Helper/RecommendActStatService.cs
  74. 69 0
      AppStart/Helper/ReservePayBackService.cs
  75. 42 0
      AppStart/Helper/ResetPosFirstFlagAndIsExecuteService.cs
  76. 824 0
      AppStart/Helper/SetDepositPostService.cs
  77. 221 0
      AppStart/Helper/SetDepositService.cs
  78. 78 0
      AppStart/Helper/SetFeeFlagService.cs
  79. 176 0
      AppStart/Helper/StatDataService.cs
  80. 3081 0
      AppStart/Helper/StatService.cs
  81. 189 0
      AppStart/Helper/StatServiceTmp.cs
  82. 101 0
      AppStart/Helper/StatStoreDataService.cs
  83. 161 0
      AppStart/Helper/StatTimerService.cs
  84. 61 0
      AppStart/Helper/SycnActiveRewardService.cs
  85. 68 0
      AppStart/Helper/SycnMerchantInfoService.cs
  86. 57 0
      AppStart/Helper/SycnMerchantTradeService.cs
  87. 69 0
      AppStart/Helper/SycnMysql/ConsumerOpenIdsHelper.cs
  88. 67 0
      AppStart/Helper/SycnMysql/ConsumerOrdersHelper.cs
  89. 69 0
      AppStart/Helper/SycnMysql/ConsumersHelper.cs
  90. 65 0
      AppStart/Helper/SycnMysql/MachineApplyHelper.cs
  91. 69 0
      AppStart/Helper/SycnMysql/MerchantParamSetHelper.cs
  92. 65 0
      AppStart/Helper/SycnMysql/OrderProductHelper.cs
  93. 65 0
      AppStart/Helper/SycnMysql/OrdersHelper.cs
  94. 33 0
      AppStart/Helper/SycnMysql/PopService.cs
  95. 65 0
      AppStart/Helper/SycnMysql/PosMachinesHelper.cs
  96. 65 0
      AppStart/Helper/SycnMysql/ProductsHelper.cs
  97. 115 0
      AppStart/Helper/SycnMysql/PublicTableHelper.cs
  98. 64 0
      AppStart/Helper/SycnMysql/StoreChangeHistoryHelper.cs
  99. 68 0
      AppStart/Helper/SycnMysql/StoreStockChangeHelper.cs
  100. 65 0
      AppStart/Helper/SycnMysql/TeamApplyHelper.cs

BIN
.DS_Store


+ 4 - 0
.gitignore

@@ -0,0 +1,4 @@
+/bin
+/publish
+/obj
+/appsettings.json

+ 1796 - 0
.vscode/db.code-snippets

@@ -0,0 +1,1796 @@
+{"查询广告位列表": {
+"prefix": "ym-db-Advertisment-Find",
+"body": [
+"List<Advertisment> $1 = db.Advertisment.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Advertisment $3 in $1)",
+"{",
+"}"
+]
+},
+"查询广告位列表,并取值": {
+"prefix": "ym-db-Advertisment-FindWithData",
+"body": [
+"List<Advertisment> $1 = db.Advertisment.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Advertisment $3 in $1)",
+"{",
+"	string Title = $3.Title; //标题",
+"	string ColId = $3.ColId; //分类",
+"	string PicPath = $3.PicPath; //图片",
+"	string Contents = $3.Contents; //内容",
+"	string Url = $3.Url; //链接地址",
+"}"
+]
+},
+"查询广告位": {
+"prefix": "ym-db-Advertisment-Exist",
+"body": [
+"bool $1 = db.Advertisment.Any(m => m.Id == $2);",
+]
+},
+"查询某个广告位,并取值": {
+"prefix": "ym-db-Advertisment-FindByPrimaryKey",
+"body": [
+"Advertisment $1 = db.Advertisment.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Title = $1.Title; //标题",
+"	string ColId = $1.ColId; //分类",
+"	string PicPath = $1.PicPath; //图片",
+"	string Contents = $1.Contents; //内容",
+"	string Url = $1.Url; //链接地址",
+"}"
+]
+},
+"查询某个广告位,并赋值": {
+"prefix": "ym-db-Advertisment-Update",
+"body": [
+"Advertisment $1 = db.Advertisment.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Title = $2; //标题",
+"	$1.ColId = $3; //分类",
+"	$1.PicPath = $4; //图片",
+"	$1.Contents = $5; //内容",
+"	$1.Url = $6; //链接地址",
+"}"
+]
+},
+"获取广告位数量": {
+"prefix": "ym-db-Advertisment-FindAndCount",
+"body": [
+"int $1 = db.Advertisment.Count(m => $2);",
+]
+},
+"添加广告位": {
+"prefix": "ym-db-Advertisment-Create",
+"body": [
+"db.Advertisment.Add(new Advertisment()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Title = $1, //标题",
+"	ColId = $2, //分类",
+"	PicPath = $3, //图片",
+"	Contents = $4, //内容",
+"	Url = $5, //链接地址",
+"});"
+]
+},"删除某个广告位": {
+"prefix": "ym-db-Advertisment-Delete",
+"body": [
+"Advertisment $1 = db.Advertisment.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.Advertisment.Remove($1);",
+"}"
+]
+},
+"查询分类设置列表": {
+"prefix": "ym-db-Col-Find",
+"body": [
+"List<Col> $1 = db.Col.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Col $3 in $1)",
+"{",
+"}"
+]
+},
+"查询分类设置列表,并取值": {
+"prefix": "ym-db-Col-FindWithData",
+"body": [
+"List<Col> $1 = db.Col.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Col $3 in $1)",
+"{",
+"	string ColId = $3.ColId; //编号",
+"	string ColName = $3.ColName; //名称",
+"	string ColPicPath = $3.ColPicPath; //图标",
+"	string ColDetail = $3.ColDetail; //简介",
+"	ulong Recommend = $3.Recommend; //推荐",
+"	string ColEnName = $3.ColEnName; //英文名",
+"	string Contents = $3.Contents; //详细内容",
+"	string Url = $3.Url; //第三方链接",
+"}"
+]
+},
+"查询分类设置": {
+"prefix": "ym-db-Col-Exist",
+"body": [
+"bool $1 = db.Col.Any(m => m.Id == $2);",
+]
+},
+"查询某个分类设置,并取值": {
+"prefix": "ym-db-Col-FindByPrimaryKey",
+"body": [
+"Col $1 = db.Col.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ColId = $1.ColId; //编号",
+"	string ColName = $1.ColName; //名称",
+"	string ColPicPath = $1.ColPicPath; //图标",
+"	string ColDetail = $1.ColDetail; //简介",
+"	ulong Recommend = $1.Recommend; //推荐",
+"	string ColEnName = $1.ColEnName; //英文名",
+"	string Contents = $1.Contents; //详细内容",
+"	string Url = $1.Url; //第三方链接",
+"}"
+]
+},
+"查询某个分类设置,并赋值": {
+"prefix": "ym-db-Col-Update",
+"body": [
+"Col $1 = db.Col.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ColId = $2; //编号",
+"	$1.ColName = $3; //名称",
+"	$1.ColPicPath = $4; //图标",
+"	$1.ColDetail = $5; //简介",
+"	$1.Recommend = $6; //推荐",
+"	$1.ColEnName = $7; //英文名",
+"	$1.Contents = $8; //详细内容",
+"	$1.Url = $9; //第三方链接",
+"}"
+]
+},
+"获取分类设置数量": {
+"prefix": "ym-db-Col-FindAndCount",
+"body": [
+"int $1 = db.Col.Count(m => $2);",
+]
+},
+"添加分类设置": {
+"prefix": "ym-db-Col-Create",
+"body": [
+"db.Col.Add(new Col()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ColId = $1, //编号",
+"	ColName = $2, //名称",
+"	ColPicPath = $3, //图标",
+"	ColDetail = $4, //简介",
+"	Recommend = $5, //推荐",
+"	ColEnName = $6, //英文名",
+"	Contents = $7, //详细内容",
+"	Url = $8, //第三方链接",
+"});"
+]
+},"删除某个分类设置": {
+"prefix": "ym-db-Col-Delete",
+"body": [
+"Col $1 = db.Col.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.Col.Remove($1);",
+"}"
+]
+},
+"查询消息黑名单列表": {
+"prefix": "ym-db-MsgBlackList-Find",
+"body": [
+"List<MsgBlackList> $1 = db.MsgBlackList.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgBlackList $3 in $1)",
+"{",
+"}"
+]
+},
+"查询消息黑名单列表,并取值": {
+"prefix": "ym-db-MsgBlackList-FindWithData",
+"body": [
+"List<MsgBlackList> $1 = db.MsgBlackList.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgBlackList $3 in $1)",
+"{",
+"	string ColId = $3.ColId; //分类",
+"	int TemplateId = $3.TemplateId; //模板",
+"	string Mobile = $3.Mobile; //手机号",
+"	string Ip = $3.Ip; //IP地址",
+"	string Reason = $3.Reason; //加入黑名单原因",
+"	string Remark = $3.Remark; //注释",
+"	string Extend = $3.Extend; //扩展字段",
+"}"
+]
+},
+"查询消息黑名单": {
+"prefix": "ym-db-MsgBlackList-Exist",
+"body": [
+"bool $1 = db.MsgBlackList.Any(m => m.Id == $2);",
+]
+},
+"查询某个消息黑名单,并取值": {
+"prefix": "ym-db-MsgBlackList-FindByPrimaryKey",
+"body": [
+"MsgBlackList $1 = db.MsgBlackList.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ColId = $1.ColId; //分类",
+"	int TemplateId = $1.TemplateId; //模板",
+"	string Mobile = $1.Mobile; //手机号",
+"	string Ip = $1.Ip; //IP地址",
+"	string Reason = $1.Reason; //加入黑名单原因",
+"	string Remark = $1.Remark; //注释",
+"	string Extend = $1.Extend; //扩展字段",
+"}"
+]
+},
+"查询某个消息黑名单,并赋值": {
+"prefix": "ym-db-MsgBlackList-Update",
+"body": [
+"MsgBlackList $1 = db.MsgBlackList.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ColId = $2; //分类",
+"	$1.TemplateId = $3; //模板",
+"	$1.Mobile = $4; //手机号",
+"	$1.Ip = $5; //IP地址",
+"	$1.Reason = $6; //加入黑名单原因",
+"	$1.Remark = $7; //注释",
+"	$1.Extend = $8; //扩展字段",
+"}"
+]
+},
+"获取消息黑名单数量": {
+"prefix": "ym-db-MsgBlackList-FindAndCount",
+"body": [
+"int $1 = db.MsgBlackList.Count(m => $2);",
+]
+},
+"添加消息黑名单": {
+"prefix": "ym-db-MsgBlackList-Create",
+"body": [
+"db.MsgBlackList.Add(new MsgBlackList()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ColId = $1, //分类",
+"	TemplateId = $2, //模板",
+"	Mobile = $3, //手机号",
+"	Ip = $4, //IP地址",
+"	Reason = $5, //加入黑名单原因",
+"	Remark = $6, //注释",
+"	Extend = $7, //扩展字段",
+"});"
+]
+},"删除某个消息黑名单": {
+"prefix": "ym-db-MsgBlackList-Delete",
+"body": [
+"MsgBlackList $1 = db.MsgBlackList.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MsgBlackList.Remove($1);",
+"}"
+]
+},
+"查询个人消息列表": {
+"prefix": "ym-db-MsgPersonal-Find",
+"body": [
+"List<MsgPersonal> $1 = db.MsgPersonal.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgPersonal $3 in $1)",
+"{",
+"}"
+]
+},
+"查询个人消息列表,并取值": {
+"prefix": "ym-db-MsgPersonal-FindWithData",
+"body": [
+"List<MsgPersonal> $1 = db.MsgPersonal.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgPersonal $3 in $1)",
+"{",
+"	int TemplateId = $3.TemplateId; //模板",
+"	int UserId = $3.UserId; //创客",
+"	int MsgType = $3.MsgType; //消息类型",
+"	string BgPic = $3.BgPic; //背景图片",
+"	string Title = $3.Title; //标题",
+"	string Content = $3.Content; //内容",
+"	string Url = $3.Url; //跳转Url",
+"	string Summary = $3.Summary; //简介",
+"	int PushFlag = $3.PushFlag; //推送标记",
+"	ulong ReadFlag = $3.ReadFlag; //已读标记",
+"	string PushParam = $3.PushParam; //推送参数",
+"	string ExtendColumn = $3.ExtendColumn; //扩展字段",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询个人消息": {
+"prefix": "ym-db-MsgPersonal-Exist",
+"body": [
+"bool $1 = db.MsgPersonal.Any(m => m.Id == $2);",
+]
+},
+"查询某个个人消息,并取值": {
+"prefix": "ym-db-MsgPersonal-FindByPrimaryKey",
+"body": [
+"MsgPersonal $1 = db.MsgPersonal.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int TemplateId = $1.TemplateId; //模板",
+"	int UserId = $1.UserId; //创客",
+"	int MsgType = $1.MsgType; //消息类型",
+"	string BgPic = $1.BgPic; //背景图片",
+"	string Title = $1.Title; //标题",
+"	string Content = $1.Content; //内容",
+"	string Url = $1.Url; //跳转Url",
+"	string Summary = $1.Summary; //简介",
+"	int PushFlag = $1.PushFlag; //推送标记",
+"	ulong ReadFlag = $1.ReadFlag; //已读标记",
+"	string PushParam = $1.PushParam; //推送参数",
+"	string ExtendColumn = $1.ExtendColumn; //扩展字段",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个个人消息,并赋值": {
+"prefix": "ym-db-MsgPersonal-Update",
+"body": [
+"MsgPersonal $1 = db.MsgPersonal.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TemplateId = $2; //模板",
+"	$1.UserId = $3; //创客",
+"	$1.MsgType = $4; //消息类型",
+"	$1.BgPic = $5; //背景图片",
+"	$1.Title = $6; //标题",
+"	$1.Content = $7; //内容",
+"	$1.Url = $8; //跳转Url",
+"	$1.Summary = $9; //简介",
+"	$1.PushFlag = $10; //推送标记",
+"	$1.ReadFlag = $11; //已读标记",
+"	$1.PushParam = $12; //推送参数",
+"	$1.ExtendColumn = $13; //扩展字段",
+"	$1.Remark = $14; //备注",
+"}"
+]
+},
+"获取个人消息数量": {
+"prefix": "ym-db-MsgPersonal-FindAndCount",
+"body": [
+"int $1 = db.MsgPersonal.Count(m => $2);",
+]
+},
+"添加个人消息": {
+"prefix": "ym-db-MsgPersonal-Create",
+"body": [
+"db.MsgPersonal.Add(new MsgPersonal()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TemplateId = $1, //模板",
+"	UserId = $2, //创客",
+"	MsgType = $3, //消息类型",
+"	BgPic = $4, //背景图片",
+"	Title = $5, //标题",
+"	Content = $6, //内容",
+"	Url = $7, //跳转Url",
+"	Summary = $8, //简介",
+"	PushFlag = $9, //推送标记",
+"	ReadFlag = $10, //已读标记",
+"	PushParam = $11, //推送参数",
+"	ExtendColumn = $12, //扩展字段",
+"	Remark = $13, //备注",
+"});"
+]
+},"删除某个个人消息": {
+"prefix": "ym-db-MsgPersonal-Delete",
+"body": [
+"MsgPersonal $1 = db.MsgPersonal.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MsgPersonal.Remove($1);",
+"}"
+]
+},
+"查询公告消息列表": {
+"prefix": "ym-db-MsgPlacard-Find",
+"body": [
+"List<MsgPlacard> $1 = db.MsgPlacard.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgPlacard $3 in $1)",
+"{",
+"}"
+]
+},
+"查询公告消息列表,并取值": {
+"prefix": "ym-db-MsgPlacard-FindWithData",
+"body": [
+"List<MsgPlacard> $1 = db.MsgPlacard.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgPlacard $3 in $1)",
+"{",
+"	int MsgType = $3.MsgType; //消息类型",
+"	string Title = $3.Title; //标题",
+"	string Summary = $3.Summary; //简介",
+"	string Content = $3.Content; //内容",
+"	ulong IsTop = $3.IsTop; //置顶",
+"	int ShowType = $3.ShowType; //展示类型",
+"	DateTime EffectStartDate = $3.EffectStartDate; //有效开始时间",
+"	DateTime EffectEndDate = $3.EffectEndDate; //有效结束时间",
+"	string BgPic = $3.BgPic; //背景图片",
+"	int PushType = $3.PushType; //推送类型",
+"	int PushFlag = $3.PushFlag; //推送标记",
+"	string PushParam = $3.PushParam; //推送参数",
+"	DateTime PushTime = $3.PushTime; //推送时间",
+"	string ExtendColumn = $3.ExtendColumn; //扩展字段",
+"	string Remark = $3.Remark; //备注",
+"	string Url = $3.Url; //跳转Url",
+"}"
+]
+},
+"查询公告消息": {
+"prefix": "ym-db-MsgPlacard-Exist",
+"body": [
+"bool $1 = db.MsgPlacard.Any(m => m.Id == $2);",
+]
+},
+"查询某个公告消息,并取值": {
+"prefix": "ym-db-MsgPlacard-FindByPrimaryKey",
+"body": [
+"MsgPlacard $1 = db.MsgPlacard.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int MsgType = $1.MsgType; //消息类型",
+"	string Title = $1.Title; //标题",
+"	string Summary = $1.Summary; //简介",
+"	string Content = $1.Content; //内容",
+"	ulong IsTop = $1.IsTop; //置顶",
+"	int ShowType = $1.ShowType; //展示类型",
+"	DateTime EffectStartDate = $1.EffectStartDate; //有效开始时间",
+"	DateTime EffectEndDate = $1.EffectEndDate; //有效结束时间",
+"	string BgPic = $1.BgPic; //背景图片",
+"	int PushType = $1.PushType; //推送类型",
+"	int PushFlag = $1.PushFlag; //推送标记",
+"	string PushParam = $1.PushParam; //推送参数",
+"	DateTime PushTime = $1.PushTime; //推送时间",
+"	string ExtendColumn = $1.ExtendColumn; //扩展字段",
+"	string Remark = $1.Remark; //备注",
+"	string Url = $1.Url; //跳转Url",
+"}"
+]
+},
+"查询某个公告消息,并赋值": {
+"prefix": "ym-db-MsgPlacard-Update",
+"body": [
+"MsgPlacard $1 = db.MsgPlacard.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.MsgType = $2; //消息类型",
+"	$1.Title = $3; //标题",
+"	$1.Summary = $4; //简介",
+"	$1.Content = $5; //内容",
+"	$1.IsTop = $6; //置顶",
+"	$1.ShowType = $7; //展示类型",
+"	$1.EffectStartDate = $8; //有效开始时间",
+"	$1.EffectEndDate = $9; //有效结束时间",
+"	$1.BgPic = $10; //背景图片",
+"	$1.PushType = $11; //推送类型",
+"	$1.PushFlag = $12; //推送标记",
+"	$1.PushParam = $13; //推送参数",
+"	$1.PushTime = $14; //推送时间",
+"	$1.ExtendColumn = $15; //扩展字段",
+"	$1.Remark = $16; //备注",
+"	$1.Url = $17; //跳转Url",
+"}"
+]
+},
+"获取公告消息数量": {
+"prefix": "ym-db-MsgPlacard-FindAndCount",
+"body": [
+"int $1 = db.MsgPlacard.Count(m => $2);",
+]
+},
+"添加公告消息": {
+"prefix": "ym-db-MsgPlacard-Create",
+"body": [
+"db.MsgPlacard.Add(new MsgPlacard()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	MsgType = $1, //消息类型",
+"	Title = $2, //标题",
+"	Summary = $3, //简介",
+"	Content = $4, //内容",
+"	IsTop = $5, //置顶",
+"	ShowType = $6, //展示类型",
+"	EffectStartDate = $7, //有效开始时间",
+"	EffectEndDate = $8, //有效结束时间",
+"	BgPic = $9, //背景图片",
+"	PushType = $10, //推送类型",
+"	PushFlag = $11, //推送标记",
+"	PushParam = $12, //推送参数",
+"	PushTime = $13, //推送时间",
+"	ExtendColumn = $14, //扩展字段",
+"	Remark = $15, //备注",
+"	Url = $16, //跳转Url",
+"});"
+]
+},"删除某个公告消息": {
+"prefix": "ym-db-MsgPlacard-Delete",
+"body": [
+"MsgPlacard $1 = db.MsgPlacard.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MsgPlacard.Remove($1);",
+"}"
+]
+},
+"查询公告消息已读记录列表": {
+"prefix": "ym-db-MsgPlacardRead-Find",
+"body": [
+"List<MsgPlacardRead> $1 = db.MsgPlacardRead.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgPlacardRead $3 in $1)",
+"{",
+"}"
+]
+},
+"查询公告消息已读记录列表,并取值": {
+"prefix": "ym-db-MsgPlacardRead-FindWithData",
+"body": [
+"List<MsgPlacardRead> $1 = db.MsgPlacardRead.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgPlacardRead $3 in $1)",
+"{",
+"	int PlacardId = $3.PlacardId; //公告",
+"	string UserId = $3.UserId; //用户ID",
+"	ulong ReadFlag = $3.ReadFlag; //已读标记",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询公告消息已读记录": {
+"prefix": "ym-db-MsgPlacardRead-Exist",
+"body": [
+"bool $1 = db.MsgPlacardRead.Any(m => m.Id == $2);",
+]
+},
+"查询某个公告消息已读记录,并取值": {
+"prefix": "ym-db-MsgPlacardRead-FindByPrimaryKey",
+"body": [
+"MsgPlacardRead $1 = db.MsgPlacardRead.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int PlacardId = $1.PlacardId; //公告",
+"	string UserId = $1.UserId; //用户ID",
+"	ulong ReadFlag = $1.ReadFlag; //已读标记",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个公告消息已读记录,并赋值": {
+"prefix": "ym-db-MsgPlacardRead-Update",
+"body": [
+"MsgPlacardRead $1 = db.MsgPlacardRead.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.PlacardId = $2; //公告",
+"	$1.UserId = $3; //用户ID",
+"	$1.ReadFlag = $4; //已读标记",
+"	$1.Remark = $5; //备注",
+"}"
+]
+},
+"获取公告消息已读记录数量": {
+"prefix": "ym-db-MsgPlacardRead-FindAndCount",
+"body": [
+"int $1 = db.MsgPlacardRead.Count(m => $2);",
+]
+},
+"添加公告消息已读记录": {
+"prefix": "ym-db-MsgPlacardRead-Create",
+"body": [
+"db.MsgPlacardRead.Add(new MsgPlacardRead()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	PlacardId = $1, //公告",
+"	UserId = $2, //用户ID",
+"	ReadFlag = $3, //已读标记",
+"	Remark = $4, //备注",
+"});"
+]
+},"删除某个公告消息已读记录": {
+"prefix": "ym-db-MsgPlacardRead-Delete",
+"body": [
+"MsgPlacardRead $1 = db.MsgPlacardRead.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MsgPlacardRead.Remove($1);",
+"}"
+]
+},
+"查询推送消息记录列表": {
+"prefix": "ym-db-MsgPush-Find",
+"body": [
+"List<MsgPush> $1 = db.MsgPush.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgPush $3 in $1)",
+"{",
+"}"
+]
+},
+"查询推送消息记录列表,并取值": {
+"prefix": "ym-db-MsgPush-FindWithData",
+"body": [
+"List<MsgPush> $1 = db.MsgPush.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgPush $3 in $1)",
+"{",
+"	string ClientType = $3.ClientType; //客户端类型",
+"	string Url = $3.Url; //链接地址",
+"	string Title = $3.Title; //推送标题",
+"	string Details = $3.Details; //推送内容",
+"	ulong IsSilent = $3.IsSilent; //静音推送",
+"	string Devices = $3.Devices; //设备号",
+"	int TemplateId = $3.TemplateId; //模板",
+"	DateTime AutoPushDate = $3.AutoPushDate; //定时推送时间",
+"	string MessageId = $3.MessageId; //推送返回码",
+"	string Mobiles = $3.Mobiles; //手机号",
+"}"
+]
+},
+"查询推送消息记录": {
+"prefix": "ym-db-MsgPush-Exist",
+"body": [
+"bool $1 = db.MsgPush.Any(m => m.Id == $2);",
+]
+},
+"查询某个推送消息记录,并取值": {
+"prefix": "ym-db-MsgPush-FindByPrimaryKey",
+"body": [
+"MsgPush $1 = db.MsgPush.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ClientType = $1.ClientType; //客户端类型",
+"	string Url = $1.Url; //链接地址",
+"	string Title = $1.Title; //推送标题",
+"	string Details = $1.Details; //推送内容",
+"	ulong IsSilent = $1.IsSilent; //静音推送",
+"	string Devices = $1.Devices; //设备号",
+"	int TemplateId = $1.TemplateId; //模板",
+"	DateTime AutoPushDate = $1.AutoPushDate; //定时推送时间",
+"	string MessageId = $1.MessageId; //推送返回码",
+"	string Mobiles = $1.Mobiles; //手机号",
+"}"
+]
+},
+"查询某个推送消息记录,并赋值": {
+"prefix": "ym-db-MsgPush-Update",
+"body": [
+"MsgPush $1 = db.MsgPush.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ClientType = $2; //客户端类型",
+"	$1.Url = $3; //链接地址",
+"	$1.Title = $4; //推送标题",
+"	$1.Details = $5; //推送内容",
+"	$1.IsSilent = $6; //静音推送",
+"	$1.Devices = $7; //设备号",
+"	$1.TemplateId = $8; //模板",
+"	$1.AutoPushDate = $9; //定时推送时间",
+"	$1.MessageId = $10; //推送返回码",
+"	$1.Mobiles = $11; //手机号",
+"}"
+]
+},
+"获取推送消息记录数量": {
+"prefix": "ym-db-MsgPush-FindAndCount",
+"body": [
+"int $1 = db.MsgPush.Count(m => $2);",
+]
+},
+"添加推送消息记录": {
+"prefix": "ym-db-MsgPush-Create",
+"body": [
+"db.MsgPush.Add(new MsgPush()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ClientType = $1, //客户端类型",
+"	Url = $2, //链接地址",
+"	Title = $3, //推送标题",
+"	Details = $4, //推送内容",
+"	IsSilent = $5, //静音推送",
+"	Devices = $6, //设备号",
+"	TemplateId = $7, //模板",
+"	AutoPushDate = $8, //定时推送时间",
+"	MessageId = $9, //推送返回码",
+"	Mobiles = $10, //手机号",
+"});"
+]
+},"删除某个推送消息记录": {
+"prefix": "ym-db-MsgPush-Delete",
+"body": [
+"MsgPush $1 = db.MsgPush.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MsgPush.Remove($1);",
+"}"
+]
+},
+"查询发送短信记录列表": {
+"prefix": "ym-db-MsgSms-Find",
+"body": [
+"List<MsgSms> $1 = db.MsgSms.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgSms $3 in $1)",
+"{",
+"}"
+]
+},
+"查询发送短信记录列表,并取值": {
+"prefix": "ym-db-MsgSms-FindWithData",
+"body": [
+"List<MsgSms> $1 = db.MsgSms.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgSms $3 in $1)",
+"{",
+"	string ColId = $3.ColId; //分类",
+"	int TemplateId = $3.TemplateId; //模板",
+"	string Mobile = $3.Mobile; //手机号",
+"	string Ip = $3.Ip; //IP地址",
+"	int SendType = $3.SendType; //发送类别",
+"	int SmsType = $3.SmsType; //短信内容类型",
+"	string Content = $3.Content; //内容",
+"	string SignName = $3.SignName; //签名",
+"	DateTime SendTime = $3.SendTime; //发送时间",
+"	string RespContent = $3.RespContent; //返回报文",
+"	string RespCode = $3.RespCode; //返回码",
+"	string VerifyCode = $3.VerifyCode; //验证码",
+"	int ErrorNum = $3.ErrorNum; //错误次数",
+"	int VerifyStatus = $3.VerifyStatus; //校验状态",
+"}"
+]
+},
+"查询发送短信记录": {
+"prefix": "ym-db-MsgSms-Exist",
+"body": [
+"bool $1 = db.MsgSms.Any(m => m.Id == $2);",
+]
+},
+"查询某个发送短信记录,并取值": {
+"prefix": "ym-db-MsgSms-FindByPrimaryKey",
+"body": [
+"MsgSms $1 = db.MsgSms.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ColId = $1.ColId; //分类",
+"	int TemplateId = $1.TemplateId; //模板",
+"	string Mobile = $1.Mobile; //手机号",
+"	string Ip = $1.Ip; //IP地址",
+"	int SendType = $1.SendType; //发送类别",
+"	int SmsType = $1.SmsType; //短信内容类型",
+"	string Content = $1.Content; //内容",
+"	string SignName = $1.SignName; //签名",
+"	DateTime SendTime = $1.SendTime; //发送时间",
+"	string RespContent = $1.RespContent; //返回报文",
+"	string RespCode = $1.RespCode; //返回码",
+"	string VerifyCode = $1.VerifyCode; //验证码",
+"	int ErrorNum = $1.ErrorNum; //错误次数",
+"	int VerifyStatus = $1.VerifyStatus; //校验状态",
+"}"
+]
+},
+"查询某个发送短信记录,并赋值": {
+"prefix": "ym-db-MsgSms-Update",
+"body": [
+"MsgSms $1 = db.MsgSms.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ColId = $2; //分类",
+"	$1.TemplateId = $3; //模板",
+"	$1.Mobile = $4; //手机号",
+"	$1.Ip = $5; //IP地址",
+"	$1.SendType = $6; //发送类别",
+"	$1.SmsType = $7; //短信内容类型",
+"	$1.Content = $8; //内容",
+"	$1.SignName = $9; //签名",
+"	$1.SendTime = $10; //发送时间",
+"	$1.RespContent = $11; //返回报文",
+"	$1.RespCode = $12; //返回码",
+"	$1.VerifyCode = $13; //验证码",
+"	$1.ErrorNum = $14; //错误次数",
+"	$1.VerifyStatus = $15; //校验状态",
+"}"
+]
+},
+"获取发送短信记录数量": {
+"prefix": "ym-db-MsgSms-FindAndCount",
+"body": [
+"int $1 = db.MsgSms.Count(m => $2);",
+]
+},
+"添加发送短信记录": {
+"prefix": "ym-db-MsgSms-Create",
+"body": [
+"db.MsgSms.Add(new MsgSms()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ColId = $1, //分类",
+"	TemplateId = $2, //模板",
+"	Mobile = $3, //手机号",
+"	Ip = $4, //IP地址",
+"	SendType = $5, //发送类别",
+"	SmsType = $6, //短信内容类型",
+"	Content = $7, //内容",
+"	SignName = $8, //签名",
+"	SendTime = $9, //发送时间",
+"	RespContent = $10, //返回报文",
+"	RespCode = $11, //返回码",
+"	VerifyCode = $12, //验证码",
+"	ErrorNum = $13, //错误次数",
+"	VerifyStatus = $14, //校验状态",
+"});"
+]
+},"删除某个发送短信记录": {
+"prefix": "ym-db-MsgSms-Delete",
+"body": [
+"MsgSms $1 = db.MsgSms.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MsgSms.Remove($1);",
+"}"
+]
+},
+"查询发送短信配置列表": {
+"prefix": "ym-db-MsgSmsSet-Find",
+"body": [
+"List<MsgSmsSet> $1 = db.MsgSmsSet.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgSmsSet $3 in $1)",
+"{",
+"}"
+]
+},
+"查询发送短信配置列表,并取值": {
+"prefix": "ym-db-MsgSmsSet-FindWithData",
+"body": [
+"List<MsgSmsSet> $1 = db.MsgSmsSet.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgSmsSet $3 in $1)",
+"{",
+"	string Name = $3.Name; //渠道名称",
+"	string UserName = $3.UserName; //账号",
+"	string AuthPwd = $3.AuthPwd; //密码",
+"	int SmsType = $3.SmsType; //类别",
+"	string ReqUrl = $3.ReqUrl; //请求地址",
+"	string Params = $3.Params; //请求参数",
+"}"
+]
+},
+"查询发送短信配置": {
+"prefix": "ym-db-MsgSmsSet-Exist",
+"body": [
+"bool $1 = db.MsgSmsSet.Any(m => m.Id == $2);",
+]
+},
+"查询某个发送短信配置,并取值": {
+"prefix": "ym-db-MsgSmsSet-FindByPrimaryKey",
+"body": [
+"MsgSmsSet $1 = db.MsgSmsSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //渠道名称",
+"	string UserName = $1.UserName; //账号",
+"	string AuthPwd = $1.AuthPwd; //密码",
+"	int SmsType = $1.SmsType; //类别",
+"	string ReqUrl = $1.ReqUrl; //请求地址",
+"	string Params = $1.Params; //请求参数",
+"}"
+]
+},
+"查询某个发送短信配置,并赋值": {
+"prefix": "ym-db-MsgSmsSet-Update",
+"body": [
+"MsgSmsSet $1 = db.MsgSmsSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //渠道名称",
+"	$1.UserName = $3; //账号",
+"	$1.AuthPwd = $4; //密码",
+"	$1.SmsType = $5; //类别",
+"	$1.ReqUrl = $6; //请求地址",
+"	$1.Params = $7; //请求参数",
+"}"
+]
+},
+"获取发送短信配置数量": {
+"prefix": "ym-db-MsgSmsSet-FindAndCount",
+"body": [
+"int $1 = db.MsgSmsSet.Count(m => $2);",
+]
+},
+"添加发送短信配置": {
+"prefix": "ym-db-MsgSmsSet-Create",
+"body": [
+"db.MsgSmsSet.Add(new MsgSmsSet()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //渠道名称",
+"	UserName = $2, //账号",
+"	AuthPwd = $3, //密码",
+"	SmsType = $4, //类别",
+"	ReqUrl = $5, //请求地址",
+"	Params = $6, //请求参数",
+"});"
+]
+},"删除某个发送短信配置": {
+"prefix": "ym-db-MsgSmsSet-Delete",
+"body": [
+"MsgSmsSet $1 = db.MsgSmsSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MsgSmsSet.Remove($1);",
+"}"
+]
+},
+"查询消息模板列表": {
+"prefix": "ym-db-MsgTemplate-Find",
+"body": [
+"List<MsgTemplate> $1 = db.MsgTemplate.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgTemplate $3 in $1)",
+"{",
+"}"
+]
+},
+"查询消息模板列表,并取值": {
+"prefix": "ym-db-MsgTemplate-FindWithData",
+"body": [
+"List<MsgTemplate> $1 = db.MsgTemplate.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MsgTemplate $3 in $1)",
+"{",
+"	string Title = $3.Title; //标题",
+"	string Content = $3.Content; //内容",
+"	string ColId = $3.ColId; //分类",
+"	int TemplateType = $3.TemplateType; //类型",
+"	int MsgType = $3.MsgType; //消息类型",
+"	string Remark = $3.Remark; //注释",
+"	string Extend = $3.Extend; //扩展字段",
+"}"
+]
+},
+"查询消息模板": {
+"prefix": "ym-db-MsgTemplate-Exist",
+"body": [
+"bool $1 = db.MsgTemplate.Any(m => m.Id == $2);",
+]
+},
+"查询某个消息模板,并取值": {
+"prefix": "ym-db-MsgTemplate-FindByPrimaryKey",
+"body": [
+"MsgTemplate $1 = db.MsgTemplate.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Title = $1.Title; //标题",
+"	string Content = $1.Content; //内容",
+"	string ColId = $1.ColId; //分类",
+"	int TemplateType = $1.TemplateType; //类型",
+"	int MsgType = $1.MsgType; //消息类型",
+"	string Remark = $1.Remark; //注释",
+"	string Extend = $1.Extend; //扩展字段",
+"}"
+]
+},
+"查询某个消息模板,并赋值": {
+"prefix": "ym-db-MsgTemplate-Update",
+"body": [
+"MsgTemplate $1 = db.MsgTemplate.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Title = $2; //标题",
+"	$1.Content = $3; //内容",
+"	$1.ColId = $4; //分类",
+"	$1.TemplateType = $5; //类型",
+"	$1.MsgType = $6; //消息类型",
+"	$1.Remark = $7; //注释",
+"	$1.Extend = $8; //扩展字段",
+"}"
+]
+},
+"获取消息模板数量": {
+"prefix": "ym-db-MsgTemplate-FindAndCount",
+"body": [
+"int $1 = db.MsgTemplate.Count(m => $2);",
+]
+},
+"添加消息模板": {
+"prefix": "ym-db-MsgTemplate-Create",
+"body": [
+"db.MsgTemplate.Add(new MsgTemplate()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Title = $1, //标题",
+"	Content = $2, //内容",
+"	ColId = $3, //分类",
+"	TemplateType = $4, //类型",
+"	MsgType = $5, //消息类型",
+"	Remark = $6, //注释",
+"	Extend = $7, //扩展字段",
+"});"
+]
+},"删除某个消息模板": {
+"prefix": "ym-db-MsgTemplate-Delete",
+"body": [
+"MsgTemplate $1 = db.MsgTemplate.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MsgTemplate.Remove($1);",
+"}"
+]
+},
+"查询操作日志列表": {
+"prefix": "ym-db-OperateLog-Find",
+"body": [
+"List<OperateLog> $1 = db.OperateLog.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OperateLog $3 in $1)",
+"{",
+"}"
+]
+},
+"查询操作日志列表,并取值": {
+"prefix": "ym-db-OperateLog-FindWithData",
+"body": [
+"List<OperateLog> $1 = db.OperateLog.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OperateLog $3 in $1)",
+"{",
+"	string TableEnName = $3.TableEnName; //表",
+"	string OperateMan = $3.OperateMan; //操作员",
+"	string BeforeOperate = $3.BeforeOperate; //操作前的数据",
+"	string AfterOperate = $3.AfterOperate; //操作后的数据",
+"	string OpMode = $3.OpMode; //操作方式",
+"}"
+]
+},
+"查询操作日志": {
+"prefix": "ym-db-OperateLog-Exist",
+"body": [
+"bool $1 = db.OperateLog.Any(m => m.Id == $2);",
+]
+},
+"查询某个操作日志,并取值": {
+"prefix": "ym-db-OperateLog-FindByPrimaryKey",
+"body": [
+"OperateLog $1 = db.OperateLog.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string TableEnName = $1.TableEnName; //表",
+"	string OperateMan = $1.OperateMan; //操作员",
+"	string BeforeOperate = $1.BeforeOperate; //操作前的数据",
+"	string AfterOperate = $1.AfterOperate; //操作后的数据",
+"	string OpMode = $1.OpMode; //操作方式",
+"}"
+]
+},
+"查询某个操作日志,并赋值": {
+"prefix": "ym-db-OperateLog-Update",
+"body": [
+"OperateLog $1 = db.OperateLog.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TableEnName = $2; //表",
+"	$1.OperateMan = $3; //操作员",
+"	$1.BeforeOperate = $4; //操作前的数据",
+"	$1.AfterOperate = $5; //操作后的数据",
+"	$1.OpMode = $6; //操作方式",
+"}"
+]
+},
+"获取操作日志数量": {
+"prefix": "ym-db-OperateLog-FindAndCount",
+"body": [
+"int $1 = db.OperateLog.Count(m => $2);",
+]
+},
+"添加操作日志": {
+"prefix": "ym-db-OperateLog-Create",
+"body": [
+"db.OperateLog.Add(new OperateLog()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TableEnName = $1, //表",
+"	OperateMan = $2, //操作员",
+"	BeforeOperate = $3, //操作前的数据",
+"	AfterOperate = $4, //操作后的数据",
+"	OpMode = $5, //操作方式",
+"});"
+]
+},"删除某个操作日志": {
+"prefix": "ym-db-OperateLog-Delete",
+"body": [
+"OperateLog $1 = db.OperateLog.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.OperateLog.Remove($1);",
+"}"
+]
+},
+"查询单页内容列表": {
+"prefix": "ym-db-PageInfo-Find",
+"body": [
+"List<PageInfo> $1 = db.PageInfo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (PageInfo $3 in $1)",
+"{",
+"}"
+]
+},
+"查询单页内容列表,并取值": {
+"prefix": "ym-db-PageInfo-FindWithData",
+"body": [
+"List<PageInfo> $1 = db.PageInfo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (PageInfo $3 in $1)",
+"{",
+"	string Title = $3.Title; //标题",
+"	string ColId = $3.ColId; //分类",
+"	string Contents = $3.Contents; //内容",
+"}"
+]
+},
+"查询单页内容": {
+"prefix": "ym-db-PageInfo-Exist",
+"body": [
+"bool $1 = db.PageInfo.Any(m => m.Id == $2);",
+]
+},
+"查询某个单页内容,并取值": {
+"prefix": "ym-db-PageInfo-FindByPrimaryKey",
+"body": [
+"PageInfo $1 = db.PageInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Title = $1.Title; //标题",
+"	string ColId = $1.ColId; //分类",
+"	string Contents = $1.Contents; //内容",
+"}"
+]
+},
+"查询某个单页内容,并赋值": {
+"prefix": "ym-db-PageInfo-Update",
+"body": [
+"PageInfo $1 = db.PageInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Title = $2; //标题",
+"	$1.ColId = $3; //分类",
+"	$1.Contents = $4; //内容",
+"}"
+]
+},
+"获取单页内容数量": {
+"prefix": "ym-db-PageInfo-FindAndCount",
+"body": [
+"int $1 = db.PageInfo.Count(m => $2);",
+]
+},
+"添加单页内容": {
+"prefix": "ym-db-PageInfo-Create",
+"body": [
+"db.PageInfo.Add(new PageInfo()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Title = $1, //标题",
+"	ColId = $2, //分类",
+"	Contents = $3, //内容",
+"});"
+]
+},"删除某个单页内容": {
+"prefix": "ym-db-PageInfo-Delete",
+"body": [
+"PageInfo $1 = db.PageInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.PageInfo.Remove($1);",
+"}"
+]
+},
+"查询第三方平台设置列表": {
+"prefix": "ym-db-PublicAccountSet-Find",
+"body": [
+"List<PublicAccountSet> $1 = db.PublicAccountSet.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (PublicAccountSet $3 in $1)",
+"{",
+"}"
+]
+},
+"查询第三方平台设置列表,并取值": {
+"prefix": "ym-db-PublicAccountSet-FindWithData",
+"body": [
+"List<PublicAccountSet> $1 = db.PublicAccountSet.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (PublicAccountSet $3 in $1)",
+"{",
+"	int Id = $3.Id; //Id",
+"	string AlipayAppId = $3.AlipayAppId; //支付宝AppId",
+"	string AlipayPartnerId = $3.AlipayPartnerId; //支付宝合作者Id",
+"	string AlipayPrivateKey = $3.AlipayPrivateKey; //支付宝私钥",
+"	string AlipayPublicKey = $3.AlipayPublicKey; //支付宝公钥",
+"	string WeChatAppId = $3.WeChatAppId; //微信公众号AppId",
+"	string WeChatAppSecret = $3.WeChatAppSecret; //微信公众号AppSecret",
+"	string WeChatMchId = $3.WeChatMchId; //微信商户号",
+"	string WeChatPayKey = $3.WeChatPayKey; //微信支付密钥",
+"	string WeChatOpenAppId = $3.WeChatOpenAppId; //微信开放平台AppId",
+"	string WeChatOpenAppSecret = $3.WeChatOpenAppSecret; //微信开放平台AppSecret",
+"	string ServerIp = $3.ServerIp; //服务器IP",
+"	string WeChatMiniAppId = $3.WeChatMiniAppId; //微信小程序AppId",
+"	string WeChatMiniAppSecret = $3.WeChatMiniAppSecret; //微信小程序AppSecret",
+"	string QqAndroidAppId = $3.QqAndroidAppId; //QQ安卓AppId",
+"	string QqAndroidAppKey = $3.QqAndroidAppKey; //QQ安卓AppKey",
+"	string QqIosAppId = $3.QqIosAppId; //QQIOSAppId",
+"	string QqIosAppKey = $3.QqIosAppKey; //QQIOSAppKey",
+"	string AliyunAccessKeyId = $3.AliyunAccessKeyId; //阿里云AccessKeyID",
+"	string AliyunAccessKeySecret = $3.AliyunAccessKeySecret; //阿里云AccessKeySecret",
+"	string AliyunPushAndroidAppId = $3.AliyunPushAndroidAppId; //阿里云推送安卓AppId",
+"	string AliyunPushAndroidAppSecret = $3.AliyunPushAndroidAppSecret; //阿里云推送安卓AppSecret",
+"	string AliyunPushIosAppId = $3.AliyunPushIosAppId; //阿里云推送IOSAppId",
+"	string AliyunPushIosAppSecret = $3.AliyunPushIosAppSecret; //阿里云推送IOSAppSecret",
+"	string MobAppKey = $3.MobAppKey; //MobAppKey",
+"	string MobAppSecret = $3.MobAppSecret; //MobAppSecret",
+"	string MeiQiaAppKey = $3.MeiQiaAppKey; //美洽AppKey",
+"	string ErpApiUrl = $3.ErpApiUrl; //请求地址",
+"	string ErpAppCode = $3.ErpAppCode; //AppCode",
+"	string SmsApiPwd = $3.SmsApiPwd; //密码",
+"	string SmsApiSign = $3.SmsApiSign; //签名",
+"	string SmsApiUserId = $3.SmsApiUserId; //账号",
+"	string SmsApiDefaultTemplate = $3.SmsApiDefaultTemplate; //默认验证码模板",
+"	string AliyunRegionId = $3.AliyunRegionId; //阿里云服务器别名",
+"	string AliyunAndroidNotifyTitle = $3.AliyunAndroidNotifyTitle; //阿里云安卓弹窗标题",
+"	string AliyunAndroidActivity = $3.AliyunAndroidActivity; //阿里云点击通知后跳转的Activity",
+"}"
+]
+},
+"查询第三方平台设置": {
+"prefix": "ym-db-PublicAccountSet-Exist",
+"body": [
+"bool $1 = db.PublicAccountSet.Any(m => m.Id == $2);",
+]
+},
+"查询某个第三方平台设置,并取值": {
+"prefix": "ym-db-PublicAccountSet-FindByPrimaryKey",
+"body": [
+"PublicAccountSet $1 = db.PublicAccountSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int Id = $1.Id; //Id",
+"	string AlipayAppId = $1.AlipayAppId; //支付宝AppId",
+"	string AlipayPartnerId = $1.AlipayPartnerId; //支付宝合作者Id",
+"	string AlipayPrivateKey = $1.AlipayPrivateKey; //支付宝私钥",
+"	string AlipayPublicKey = $1.AlipayPublicKey; //支付宝公钥",
+"	string WeChatAppId = $1.WeChatAppId; //微信公众号AppId",
+"	string WeChatAppSecret = $1.WeChatAppSecret; //微信公众号AppSecret",
+"	string WeChatMchId = $1.WeChatMchId; //微信商户号",
+"	string WeChatPayKey = $1.WeChatPayKey; //微信支付密钥",
+"	string WeChatOpenAppId = $1.WeChatOpenAppId; //微信开放平台AppId",
+"	string WeChatOpenAppSecret = $1.WeChatOpenAppSecret; //微信开放平台AppSecret",
+"	string ServerIp = $1.ServerIp; //服务器IP",
+"	string WeChatMiniAppId = $1.WeChatMiniAppId; //微信小程序AppId",
+"	string WeChatMiniAppSecret = $1.WeChatMiniAppSecret; //微信小程序AppSecret",
+"	string QqAndroidAppId = $1.QqAndroidAppId; //QQ安卓AppId",
+"	string QqAndroidAppKey = $1.QqAndroidAppKey; //QQ安卓AppKey",
+"	string QqIosAppId = $1.QqIosAppId; //QQIOSAppId",
+"	string QqIosAppKey = $1.QqIosAppKey; //QQIOSAppKey",
+"	string AliyunAccessKeyId = $1.AliyunAccessKeyId; //阿里云AccessKeyID",
+"	string AliyunAccessKeySecret = $1.AliyunAccessKeySecret; //阿里云AccessKeySecret",
+"	string AliyunPushAndroidAppId = $1.AliyunPushAndroidAppId; //阿里云推送安卓AppId",
+"	string AliyunPushAndroidAppSecret = $1.AliyunPushAndroidAppSecret; //阿里云推送安卓AppSecret",
+"	string AliyunPushIosAppId = $1.AliyunPushIosAppId; //阿里云推送IOSAppId",
+"	string AliyunPushIosAppSecret = $1.AliyunPushIosAppSecret; //阿里云推送IOSAppSecret",
+"	string MobAppKey = $1.MobAppKey; //MobAppKey",
+"	string MobAppSecret = $1.MobAppSecret; //MobAppSecret",
+"	string MeiQiaAppKey = $1.MeiQiaAppKey; //美洽AppKey",
+"	string ErpApiUrl = $1.ErpApiUrl; //请求地址",
+"	string ErpAppCode = $1.ErpAppCode; //AppCode",
+"	string SmsApiPwd = $1.SmsApiPwd; //密码",
+"	string SmsApiSign = $1.SmsApiSign; //签名",
+"	string SmsApiUserId = $1.SmsApiUserId; //账号",
+"	string SmsApiDefaultTemplate = $1.SmsApiDefaultTemplate; //默认验证码模板",
+"	string AliyunRegionId = $1.AliyunRegionId; //阿里云服务器别名",
+"	string AliyunAndroidNotifyTitle = $1.AliyunAndroidNotifyTitle; //阿里云安卓弹窗标题",
+"	string AliyunAndroidActivity = $1.AliyunAndroidActivity; //阿里云点击通知后跳转的Activity",
+"}"
+]
+},
+"查询某个第三方平台设置,并赋值": {
+"prefix": "ym-db-PublicAccountSet-Update",
+"body": [
+"PublicAccountSet $1 = db.PublicAccountSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Id = $2; //Id",
+"	$1.AlipayAppId = $3; //支付宝AppId",
+"	$1.AlipayPartnerId = $4; //支付宝合作者Id",
+"	$1.AlipayPrivateKey = $5; //支付宝私钥",
+"	$1.AlipayPublicKey = $6; //支付宝公钥",
+"	$1.WeChatAppId = $7; //微信公众号AppId",
+"	$1.WeChatAppSecret = $8; //微信公众号AppSecret",
+"	$1.WeChatMchId = $9; //微信商户号",
+"	$1.WeChatPayKey = $10; //微信支付密钥",
+"	$1.WeChatOpenAppId = $11; //微信开放平台AppId",
+"	$1.WeChatOpenAppSecret = $12; //微信开放平台AppSecret",
+"	$1.ServerIp = $13; //服务器IP",
+"	$1.WeChatMiniAppId = $14; //微信小程序AppId",
+"	$1.WeChatMiniAppSecret = $15; //微信小程序AppSecret",
+"	$1.QqAndroidAppId = $16; //QQ安卓AppId",
+"	$1.QqAndroidAppKey = $17; //QQ安卓AppKey",
+"	$1.QqIosAppId = $18; //QQIOSAppId",
+"	$1.QqIosAppKey = $19; //QQIOSAppKey",
+"	$1.AliyunAccessKeyId = $20; //阿里云AccessKeyID",
+"	$1.AliyunAccessKeySecret = $21; //阿里云AccessKeySecret",
+"	$1.AliyunPushAndroidAppId = $22; //阿里云推送安卓AppId",
+"	$1.AliyunPushAndroidAppSecret = $23; //阿里云推送安卓AppSecret",
+"	$1.AliyunPushIosAppId = $24; //阿里云推送IOSAppId",
+"	$1.AliyunPushIosAppSecret = $25; //阿里云推送IOSAppSecret",
+"	$1.MobAppKey = $26; //MobAppKey",
+"	$1.MobAppSecret = $27; //MobAppSecret",
+"	$1.MeiQiaAppKey = $28; //美洽AppKey",
+"	$1.ErpApiUrl = $29; //请求地址",
+"	$1.ErpAppCode = $30; //AppCode",
+"	$1.SmsApiPwd = $31; //密码",
+"	$1.SmsApiSign = $32; //签名",
+"	$1.SmsApiUserId = $33; //账号",
+"	$1.SmsApiDefaultTemplate = $34; //默认验证码模板",
+"	$1.AliyunRegionId = $35; //阿里云服务器别名",
+"	$1.AliyunAndroidNotifyTitle = $36; //阿里云安卓弹窗标题",
+"	$1.AliyunAndroidActivity = $37; //阿里云点击通知后跳转的Activity",
+"}"
+]
+},
+"获取第三方平台设置数量": {
+"prefix": "ym-db-PublicAccountSet-FindAndCount",
+"body": [
+"int $1 = db.PublicAccountSet.Count(m => $2);",
+]
+},
+"添加第三方平台设置": {
+"prefix": "ym-db-PublicAccountSet-Create",
+"body": [
+"db.PublicAccountSet.Add(new PublicAccountSet()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Id = $1, //Id",
+"	AlipayAppId = $2, //支付宝AppId",
+"	AlipayPartnerId = $3, //支付宝合作者Id",
+"	AlipayPrivateKey = $4, //支付宝私钥",
+"	AlipayPublicKey = $5, //支付宝公钥",
+"	WeChatAppId = $6, //微信公众号AppId",
+"	WeChatAppSecret = $7, //微信公众号AppSecret",
+"	WeChatMchId = $8, //微信商户号",
+"	WeChatPayKey = $9, //微信支付密钥",
+"	WeChatOpenAppId = $10, //微信开放平台AppId",
+"	WeChatOpenAppSecret = $11, //微信开放平台AppSecret",
+"	ServerIp = $12, //服务器IP",
+"	WeChatMiniAppId = $13, //微信小程序AppId",
+"	WeChatMiniAppSecret = $14, //微信小程序AppSecret",
+"	QqAndroidAppId = $15, //QQ安卓AppId",
+"	QqAndroidAppKey = $16, //QQ安卓AppKey",
+"	QqIosAppId = $17, //QQIOSAppId",
+"	QqIosAppKey = $18, //QQIOSAppKey",
+"	AliyunAccessKeyId = $19, //阿里云AccessKeyID",
+"	AliyunAccessKeySecret = $20, //阿里云AccessKeySecret",
+"	AliyunPushAndroidAppId = $21, //阿里云推送安卓AppId",
+"	AliyunPushAndroidAppSecret = $22, //阿里云推送安卓AppSecret",
+"	AliyunPushIosAppId = $23, //阿里云推送IOSAppId",
+"	AliyunPushIosAppSecret = $24, //阿里云推送IOSAppSecret",
+"	MobAppKey = $25, //MobAppKey",
+"	MobAppSecret = $26, //MobAppSecret",
+"	MeiQiaAppKey = $27, //美洽AppKey",
+"	ErpApiUrl = $28, //请求地址",
+"	ErpAppCode = $29, //AppCode",
+"	SmsApiPwd = $30, //密码",
+"	SmsApiSign = $31, //签名",
+"	SmsApiUserId = $32, //账号",
+"	SmsApiDefaultTemplate = $33, //默认验证码模板",
+"	AliyunRegionId = $34, //阿里云服务器别名",
+"	AliyunAndroidNotifyTitle = $35, //阿里云安卓弹窗标题",
+"	AliyunAndroidActivity = $36, //阿里云点击通知后跳转的Activity",
+"});"
+]
+},"删除某个第三方平台设置": {
+"prefix": "ym-db-PublicAccountSet-Delete",
+"body": [
+"PublicAccountSet $1 = db.PublicAccountSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.PublicAccountSet.Remove($1);",
+"}"
+]
+},
+"查询后台管理员列表": {
+"prefix": "ym-db-SysAdmin-Find",
+"body": [
+"List<SysAdmin> $1 = db.SysAdmin.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (SysAdmin $3 in $1)",
+"{",
+"}"
+]
+},
+"查询后台管理员列表,并取值": {
+"prefix": "ym-db-SysAdmin-FindWithData",
+"body": [
+"List<SysAdmin> $1 = db.SysAdmin.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (SysAdmin $3 in $1)",
+"{",
+"	string AdminName = $3.AdminName; //用户名",
+"	string Password = $3.Password; //密码",
+"	string RealName = $3.RealName; //名称",
+"	string Role = $3.Role; //角色",
+"	DateTime LastLoginDate = $3.LastLoginDate; //最后登录时间",
+"}"
+]
+},
+"查询后台管理员": {
+"prefix": "ym-db-SysAdmin-Exist",
+"body": [
+"bool $1 = db.SysAdmin.Any(m => m.Id == $2);",
+]
+},
+"查询某个后台管理员,并取值": {
+"prefix": "ym-db-SysAdmin-FindByPrimaryKey",
+"body": [
+"SysAdmin $1 = db.SysAdmin.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string AdminName = $1.AdminName; //用户名",
+"	string Password = $1.Password; //密码",
+"	string RealName = $1.RealName; //名称",
+"	string Role = $1.Role; //角色",
+"	DateTime LastLoginDate = $1.LastLoginDate; //最后登录时间",
+"}"
+]
+},
+"查询某个后台管理员,并赋值": {
+"prefix": "ym-db-SysAdmin-Update",
+"body": [
+"SysAdmin $1 = db.SysAdmin.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.AdminName = $2; //用户名",
+"	$1.Password = $3; //密码",
+"	$1.RealName = $4; //名称",
+"	$1.Role = $5; //角色",
+"	$1.LastLoginDate = $6; //最后登录时间",
+"}"
+]
+},
+"获取后台管理员数量": {
+"prefix": "ym-db-SysAdmin-FindAndCount",
+"body": [
+"int $1 = db.SysAdmin.Count(m => $2);",
+]
+},
+"添加后台管理员": {
+"prefix": "ym-db-SysAdmin-Create",
+"body": [
+"db.SysAdmin.Add(new SysAdmin()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	AdminName = $1, //用户名",
+"	Password = $2, //密码",
+"	RealName = $3, //名称",
+"	Role = $4, //角色",
+"	LastLoginDate = $5, //最后登录时间",
+"});"
+]
+},"删除某个后台管理员": {
+"prefix": "ym-db-SysAdmin-Delete",
+"body": [
+"SysAdmin $1 = db.SysAdmin.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.SysAdmin.Remove($1);",
+"}"
+]
+},
+"查询后台管理员角色列表": {
+"prefix": "ym-db-SysAdminRole-Find",
+"body": [
+"List<SysAdminRole> $1 = db.SysAdminRole.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (SysAdminRole $3 in $1)",
+"{",
+"}"
+]
+},
+"查询后台管理员角色列表,并取值": {
+"prefix": "ym-db-SysAdminRole-FindWithData",
+"body": [
+"List<SysAdminRole> $1 = db.SysAdminRole.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (SysAdminRole $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"	string Details = $3.Details; //描述",
+"	string RightInfo = $3.RightInfo; //权限设置",
+"}"
+]
+},
+"查询后台管理员角色": {
+"prefix": "ym-db-SysAdminRole-Exist",
+"body": [
+"bool $1 = db.SysAdminRole.Any(m => m.Id == $2);",
+]
+},
+"查询某个后台管理员角色,并取值": {
+"prefix": "ym-db-SysAdminRole-FindByPrimaryKey",
+"body": [
+"SysAdminRole $1 = db.SysAdminRole.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"	string Details = $1.Details; //描述",
+"	string RightInfo = $1.RightInfo; //权限设置",
+"}"
+]
+},
+"查询某个后台管理员角色,并赋值": {
+"prefix": "ym-db-SysAdminRole-Update",
+"body": [
+"SysAdminRole $1 = db.SysAdminRole.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"	$1.Details = $3; //描述",
+"	$1.RightInfo = $4; //权限设置",
+"}"
+]
+},
+"获取后台管理员角色数量": {
+"prefix": "ym-db-SysAdminRole-FindAndCount",
+"body": [
+"int $1 = db.SysAdminRole.Count(m => $2);",
+]
+},
+"添加后台管理员角色": {
+"prefix": "ym-db-SysAdminRole-Create",
+"body": [
+"db.SysAdminRole.Add(new SysAdminRole()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"	Details = $2, //描述",
+"	RightInfo = $3, //权限设置",
+"});"
+]
+},"删除某个后台管理员角色": {
+"prefix": "ym-db-SysAdminRole-Delete",
+"body": [
+"SysAdminRole $1 = db.SysAdminRole.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.SysAdminRole.Remove($1);",
+"}"
+]
+},
+"查询系统设置列表": {
+"prefix": "ym-db-SystemSet-Find",
+"body": [
+"List<SystemSet> $1 = db.SystemSet.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (SystemSet $3 in $1)",
+"{",
+"}"
+]
+},
+"查询系统设置列表,并取值": {
+"prefix": "ym-db-SystemSet-FindWithData",
+"body": [
+"List<SystemSet> $1 = db.SystemSet.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (SystemSet $3 in $1)",
+"{",
+"	string WebUrl = $3.WebUrl; //网站地址",
+"	string WebName = $3.WebName; //网站名称",
+"	string IndexKeyword = $3.IndexKeyword; //首页关键词",
+"	string IndexDescription = $3.IndexDescription; //首页简介",
+"	string UploadExt = $3.UploadExt; //允许上传类型",
+"	int UploadMaxSize = $3.UploadMaxSize; //允许最大上传",
+"	ulong UploadAutoZoom = $3.UploadAutoZoom; //自动缩略图",
+"	int UploadAutoZoomWidth = $3.UploadAutoZoomWidth; //自动缩略图宽",
+"	int UploadAutoZoomHeight = $3.UploadAutoZoomHeight; //自动缩略图高",
+"	ulong UploadAutoWater = $3.UploadAutoWater; //自动水印",
+"	string UploadWaterPosition = $3.UploadWaterPosition; //水印位置",
+"	string UploadWaterPath = $3.UploadWaterPath; //水印图片",
+"	string RightInfo = $3.RightInfo; //版权信息",
+"	string Address = $3.Address; //企业地址",
+"	string Phone = $3.Phone; //联系电话",
+"	string WebStatCode = $3.WebStatCode; //网站统计代码",
+"	string Logo = $3.Logo; //Logo图片",
+"}"
+]
+},
+"查询系统设置": {
+"prefix": "ym-db-SystemSet-Exist",
+"body": [
+"bool $1 = db.SystemSet.Any(m => m.Id == $2);",
+]
+},
+"查询某个系统设置,并取值": {
+"prefix": "ym-db-SystemSet-FindByPrimaryKey",
+"body": [
+"SystemSet $1 = db.SystemSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string WebUrl = $1.WebUrl; //网站地址",
+"	string WebName = $1.WebName; //网站名称",
+"	string IndexKeyword = $1.IndexKeyword; //首页关键词",
+"	string IndexDescription = $1.IndexDescription; //首页简介",
+"	string UploadExt = $1.UploadExt; //允许上传类型",
+"	int UploadMaxSize = $1.UploadMaxSize; //允许最大上传",
+"	ulong UploadAutoZoom = $1.UploadAutoZoom; //自动缩略图",
+"	int UploadAutoZoomWidth = $1.UploadAutoZoomWidth; //自动缩略图宽",
+"	int UploadAutoZoomHeight = $1.UploadAutoZoomHeight; //自动缩略图高",
+"	ulong UploadAutoWater = $1.UploadAutoWater; //自动水印",
+"	string UploadWaterPosition = $1.UploadWaterPosition; //水印位置",
+"	string UploadWaterPath = $1.UploadWaterPath; //水印图片",
+"	string RightInfo = $1.RightInfo; //版权信息",
+"	string Address = $1.Address; //企业地址",
+"	string Phone = $1.Phone; //联系电话",
+"	string WebStatCode = $1.WebStatCode; //网站统计代码",
+"	string Logo = $1.Logo; //Logo图片",
+"}"
+]
+},
+"查询某个系统设置,并赋值": {
+"prefix": "ym-db-SystemSet-Update",
+"body": [
+"SystemSet $1 = db.SystemSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.WebUrl = $2; //网站地址",
+"	$1.WebName = $3; //网站名称",
+"	$1.IndexKeyword = $4; //首页关键词",
+"	$1.IndexDescription = $5; //首页简介",
+"	$1.UploadExt = $6; //允许上传类型",
+"	$1.UploadMaxSize = $7; //允许最大上传",
+"	$1.UploadAutoZoom = $8; //自动缩略图",
+"	$1.UploadAutoZoomWidth = $9; //自动缩略图宽",
+"	$1.UploadAutoZoomHeight = $10; //自动缩略图高",
+"	$1.UploadAutoWater = $11; //自动水印",
+"	$1.UploadWaterPosition = $12; //水印位置",
+"	$1.UploadWaterPath = $13; //水印图片",
+"	$1.RightInfo = $14; //版权信息",
+"	$1.Address = $15; //企业地址",
+"	$1.Phone = $16; //联系电话",
+"	$1.WebStatCode = $17; //网站统计代码",
+"	$1.Logo = $18; //Logo图片",
+"}"
+]
+},
+"获取系统设置数量": {
+"prefix": "ym-db-SystemSet-FindAndCount",
+"body": [
+"int $1 = db.SystemSet.Count(m => $2);",
+]
+},
+"添加系统设置": {
+"prefix": "ym-db-SystemSet-Create",
+"body": [
+"db.SystemSet.Add(new SystemSet()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	WebUrl = $1, //网站地址",
+"	WebName = $2, //网站名称",
+"	IndexKeyword = $3, //首页关键词",
+"	IndexDescription = $4, //首页简介",
+"	UploadExt = $5, //允许上传类型",
+"	UploadMaxSize = $6, //允许最大上传",
+"	UploadAutoZoom = $7, //自动缩略图",
+"	UploadAutoZoomWidth = $8, //自动缩略图宽",
+"	UploadAutoZoomHeight = $9, //自动缩略图高",
+"	UploadAutoWater = $10, //自动水印",
+"	UploadWaterPosition = $11, //水印位置",
+"	UploadWaterPath = $12, //水印图片",
+"	RightInfo = $13, //版权信息",
+"	Address = $14, //企业地址",
+"	Phone = $15, //联系电话",
+"	WebStatCode = $16, //网站统计代码",
+"	Logo = $17, //Logo图片",
+"});"
+]
+},"删除某个系统设置": {
+"prefix": "ym-db-SystemSet-Delete",
+"body": [
+"SystemSet $1 = db.SystemSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.SystemSet.Remove($1);",
+"}"
+]
+},
+"查询上传配置项列表": {
+"prefix": "ym-db-UploadParams-Find",
+"body": [
+"List<UploadParams> $1 = db.UploadParams.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UploadParams $3 in $1)",
+"{",
+"}"
+]
+},
+"查询上传配置项列表,并取值": {
+"prefix": "ym-db-UploadParams-FindWithData",
+"body": [
+"List<UploadParams> $1 = db.UploadParams.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UploadParams $3 in $1)",
+"{",
+"	string TableName = $3.TableName; //表名",
+"	string ColumnName = $3.ColumnName; //字段名",
+"	string ColumnEnName = $3.ColumnEnName; //字段英文明",
+"	string ParamString = $3.ParamString; //参数",
+"	string TableEnName = $3.TableEnName; //表英文名",
+"}"
+]
+},
+"查询上传配置项": {
+"prefix": "ym-db-UploadParams-Exist",
+"body": [
+"bool $1 = db.UploadParams.Any(m => m.Id == $2);",
+]
+},
+"查询某个上传配置项,并取值": {
+"prefix": "ym-db-UploadParams-FindByPrimaryKey",
+"body": [
+"UploadParams $1 = db.UploadParams.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string TableName = $1.TableName; //表名",
+"	string ColumnName = $1.ColumnName; //字段名",
+"	string ColumnEnName = $1.ColumnEnName; //字段英文明",
+"	string ParamString = $1.ParamString; //参数",
+"	string TableEnName = $1.TableEnName; //表英文名",
+"}"
+]
+},
+"查询某个上传配置项,并赋值": {
+"prefix": "ym-db-UploadParams-Update",
+"body": [
+"UploadParams $1 = db.UploadParams.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TableName = $2; //表名",
+"	$1.ColumnName = $3; //字段名",
+"	$1.ColumnEnName = $4; //字段英文明",
+"	$1.ParamString = $5; //参数",
+"	$1.TableEnName = $6; //表英文名",
+"}"
+]
+},
+"获取上传配置项数量": {
+"prefix": "ym-db-UploadParams-FindAndCount",
+"body": [
+"int $1 = db.UploadParams.Count(m => $2);",
+]
+},
+"添加上传配置项": {
+"prefix": "ym-db-UploadParams-Create",
+"body": [
+"db.UploadParams.Add(new UploadParams()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TableName = $1, //表名",
+"	ColumnName = $2, //字段名",
+"	ColumnEnName = $3, //字段英文明",
+"	ParamString = $4, //参数",
+"	TableEnName = $5, //表英文名",
+"});"
+]
+},"删除某个上传配置项": {
+"prefix": "ym-db-UploadParams-Delete",
+"body": [
+"UploadParams $1 = db.UploadParams.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UploadParams.Remove($1);",
+"}"
+]
+},
+}

+ 53 - 0
.vscode/launch.json

@@ -0,0 +1,53 @@
+{
+    // 使用 IntelliSense 了解相关属性。 
+    // 悬停以查看现有属性的描述。
+    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
+    "version": "0.2.0",
+    "configurations": [{
+            "name": ".NET Core Launch (Development)",
+            "type": "coreclr",
+            "request": "launch",
+            "preLaunchTask": "build",
+            "program": "${workspaceFolder}/bin/Debug/netcoreapp3.0/MySystem.dll",
+            "args": [],
+            "cwd": "${workspaceFolder}",
+            "stopAtEntry": false,
+            "serverReadyAction": {
+                "action": "openExternally",
+                "pattern": "^\\s*Now listening on:\\s+(https?://\\S+)"
+            },
+            "env": {
+                "ASPNETCORE_ENVIRONMENT": "Development"
+            },
+            "sourceFileMap": {
+                "/Views": "${workspaceFolder}/Views"
+            }
+        },
+        {
+            "name": ".NET Core Launch (Production)",
+            "type": "coreclr",
+            "request": "launch",
+            "preLaunchTask": "build",
+            "program": "${workspaceFolder}/bin/Debug/netcoreapp3.0/MySystem.dll",
+            "args": [],
+            "cwd": "${workspaceFolder}",
+            "stopAtEntry": false,
+            "serverReadyAction": {
+                "action": "openExternally",
+                "pattern": "^\\s*Now listening on:\\s+(https?://\\S+)"
+            },
+            "env": {
+                "ASPNETCORE_ENVIRONMENT": "Production"
+            },
+            "sourceFileMap": {
+                "/Views": "${workspaceFolder}/Views"
+            }
+        },
+        {
+            "name": ".NET Core Attach",
+            "type": "coreclr",
+            "request": "attach",
+            "processId": "${command:pickProcess}"
+        }
+    ]
+}

+ 15363 - 0
.vscode/maindb.code-snippets

@@ -0,0 +1,15363 @@
+{"查询激活奖励记录列表": {
+"prefix": "ym-db-ActiveReward-Find",
+"body": [
+"List<ActiveReward> $1 = db.ActiveReward.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ActiveReward $3 in $1)",
+"{",
+"}"
+]
+},
+"查询激活奖励记录列表,并取值": {
+"prefix": "ym-db-ActiveReward-FindWithData",
+"body": [
+"List<ActiveReward> $1 = db.ActiveReward.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ActiveReward $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int MerchantId = $3.MerchantId; //商户",
+"	DateTime StandardDate = $3.StandardDate; //达标日期",
+"	int RewardSourceUserId = $3.RewardSourceUserId; //奖励来源创客",
+"	decimal RewardAmount = $3.RewardAmount; //奖励金额",
+"	decimal DivideAmount = $3.DivideAmount; //平分金额",
+"	decimal RuleRewardAmount = $3.RuleRewardAmount; //规则奖励金额",
+"	int BrandId = $3.BrandId; //品牌",
+"	string UserNav = $3.UserNav; //创客父级",
+"	int DirectBuddyNo = $3.DirectBuddyNo; //商户直属创客",
+"	string MerUserNav = $3.MerUserNav; //商户直属创客父级",
+"	string KqMerNo = $3.KqMerNo; //渠道商户编号",
+"	string KqSnNo = $3.KqSnNo; //渠道SN号",
+"	int SnType = $3.SnType; //机具类型",
+"	int SnApplyUserId = $3.SnApplyUserId; //机具申请创客",
+"	int ActType = $3.ActType; //激活类型",
+"	string ActTypeDesc = $3.ActTypeDesc; //激活类型描述",
+"	int SnStoreId = $3.SnStoreId; //SN仓库",
+"	int RewardRef = $3.RewardRef; //奖励来源创客",
+"	string RewardTips = $3.RewardTips; //奖励描述",
+"	string Province = $3.Province; //省份",
+"	string City = $3.City; //城市",
+"	string Remark = $3.Remark; //备注",
+"	DateTime ActDate = $3.ActDate; //激活时间",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"	int MerUserId = $3.MerUserId; //直属创客",
+"	int ParentUserId = $3.ParentUserId; //上级创客",
+"	int ParentParentUserId = $3.ParentParentUserId; //上上级创客",
+"}"
+]
+},
+"查询激活奖励记录": {
+"prefix": "ym-db-ActiveReward-Exist",
+"body": [
+"bool $1 = db.ActiveReward.Any(m => m.Id == $2);",
+]
+},
+"查询某个激活奖励记录,并取值": {
+"prefix": "ym-db-ActiveReward-FindByPrimaryKey",
+"body": [
+"ActiveReward $1 = db.ActiveReward.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int MerchantId = $1.MerchantId; //商户",
+"	DateTime StandardDate = $1.StandardDate; //达标日期",
+"	int RewardSourceUserId = $1.RewardSourceUserId; //奖励来源创客",
+"	decimal RewardAmount = $1.RewardAmount; //奖励金额",
+"	decimal DivideAmount = $1.DivideAmount; //平分金额",
+"	decimal RuleRewardAmount = $1.RuleRewardAmount; //规则奖励金额",
+"	int BrandId = $1.BrandId; //品牌",
+"	string UserNav = $1.UserNav; //创客父级",
+"	int DirectBuddyNo = $1.DirectBuddyNo; //商户直属创客",
+"	string MerUserNav = $1.MerUserNav; //商户直属创客父级",
+"	string KqMerNo = $1.KqMerNo; //渠道商户编号",
+"	string KqSnNo = $1.KqSnNo; //渠道SN号",
+"	int SnType = $1.SnType; //机具类型",
+"	int SnApplyUserId = $1.SnApplyUserId; //机具申请创客",
+"	int ActType = $1.ActType; //激活类型",
+"	string ActTypeDesc = $1.ActTypeDesc; //激活类型描述",
+"	int SnStoreId = $1.SnStoreId; //SN仓库",
+"	int RewardRef = $1.RewardRef; //奖励来源创客",
+"	string RewardTips = $1.RewardTips; //奖励描述",
+"	string Province = $1.Province; //省份",
+"	string City = $1.City; //城市",
+"	string Remark = $1.Remark; //备注",
+"	DateTime ActDate = $1.ActDate; //激活时间",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"	int MerUserId = $1.MerUserId; //直属创客",
+"	int ParentUserId = $1.ParentUserId; //上级创客",
+"	int ParentParentUserId = $1.ParentParentUserId; //上上级创客",
+"}"
+]
+},
+"查询某个激活奖励记录,并赋值": {
+"prefix": "ym-db-ActiveReward-Update",
+"body": [
+"ActiveReward $1 = db.ActiveReward.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.MerchantId = $3; //商户",
+"	$1.StandardDate = $4; //达标日期",
+"	$1.RewardSourceUserId = $5; //奖励来源创客",
+"	$1.RewardAmount = $6; //奖励金额",
+"	$1.DivideAmount = $7; //平分金额",
+"	$1.RuleRewardAmount = $8; //规则奖励金额",
+"	$1.BrandId = $9; //品牌",
+"	$1.UserNav = $10; //创客父级",
+"	$1.DirectBuddyNo = $11; //商户直属创客",
+"	$1.MerUserNav = $12; //商户直属创客父级",
+"	$1.KqMerNo = $13; //渠道商户编号",
+"	$1.KqSnNo = $14; //渠道SN号",
+"	$1.SnType = $15; //机具类型",
+"	$1.SnApplyUserId = $16; //机具申请创客",
+"	$1.ActType = $17; //激活类型",
+"	$1.ActTypeDesc = $18; //激活类型描述",
+"	$1.SnStoreId = $19; //SN仓库",
+"	$1.RewardRef = $20; //奖励来源创客",
+"	$1.RewardTips = $21; //奖励描述",
+"	$1.Province = $22; //省份",
+"	$1.City = $23; //城市",
+"	$1.Remark = $24; //备注",
+"	$1.ActDate = $25; //激活时间",
+"	$1.TopUserId = $26; //顶级创客",
+"	$1.MerUserId = $27; //直属创客",
+"	$1.ParentUserId = $28; //上级创客",
+"	$1.ParentParentUserId = $29; //上上级创客",
+"}"
+]
+},
+"获取激活奖励记录数量": {
+"prefix": "ym-db-ActiveReward-FindAndCount",
+"body": [
+"int $1 = db.ActiveReward.Count(m => $2);",
+]
+},
+"添加激活奖励记录": {
+"prefix": "ym-db-ActiveReward-Create",
+"body": [
+"db.ActiveReward.Add(new ActiveReward()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	MerchantId = $2, //商户",
+"	StandardDate = $3, //达标日期",
+"	RewardSourceUserId = $4, //奖励来源创客",
+"	RewardAmount = $5, //奖励金额",
+"	DivideAmount = $6, //平分金额",
+"	RuleRewardAmount = $7, //规则奖励金额",
+"	BrandId = $8, //品牌",
+"	UserNav = $9, //创客父级",
+"	DirectBuddyNo = $10, //商户直属创客",
+"	MerUserNav = $11, //商户直属创客父级",
+"	KqMerNo = $12, //渠道商户编号",
+"	KqSnNo = $13, //渠道SN号",
+"	SnType = $14, //机具类型",
+"	SnApplyUserId = $15, //机具申请创客",
+"	ActType = $16, //激活类型",
+"	ActTypeDesc = $17, //激活类型描述",
+"	SnStoreId = $18, //SN仓库",
+"	RewardRef = $19, //奖励来源创客",
+"	RewardTips = $20, //奖励描述",
+"	Province = $21, //省份",
+"	City = $22, //城市",
+"	Remark = $23, //备注",
+"	ActDate = $24, //激活时间",
+"	TopUserId = $25, //顶级创客",
+"	MerUserId = $26, //直属创客",
+"	ParentUserId = $27, //上级创客",
+"	ParentParentUserId = $28, //上上级创客",
+"});"
+]
+},"删除某个激活奖励记录": {
+"prefix": "ym-db-ActiveReward-Delete",
+"body": [
+"ActiveReward $1 = db.ActiveReward.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ActiveReward.Remove($1);",
+"}"
+]
+},
+"查询活动报名记录列表": {
+"prefix": "ym-db-ActivityEnrolRecord-Find",
+"body": [
+"List<ActivityEnrolRecord> $1 = db.ActivityEnrolRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ActivityEnrolRecord $3 in $1)",
+"{",
+"}"
+]
+},
+"查询活动报名记录列表,并取值": {
+"prefix": "ym-db-ActivityEnrolRecord-FindWithData",
+"body": [
+"List<ActivityEnrolRecord> $1 = db.ActivityEnrolRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ActivityEnrolRecord $3 in $1)",
+"{",
+"	int ActId = $3.ActId; //活动",
+"	int UserId = $3.UserId; //创客",
+"	string EnrolMonth = $3.EnrolMonth; //报名有效月份",
+"	string EffectStartTime = $3.EffectStartTime; //报名有效开始时间",
+"	string EffectEndTime = $3.EffectEndTime; //报名有效结束时间",
+"}"
+]
+},
+"查询活动报名记录": {
+"prefix": "ym-db-ActivityEnrolRecord-Exist",
+"body": [
+"bool $1 = db.ActivityEnrolRecord.Any(m => m.Id == $2);",
+]
+},
+"查询某个活动报名记录,并取值": {
+"prefix": "ym-db-ActivityEnrolRecord-FindByPrimaryKey",
+"body": [
+"ActivityEnrolRecord $1 = db.ActivityEnrolRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int ActId = $1.ActId; //活动",
+"	int UserId = $1.UserId; //创客",
+"	string EnrolMonth = $1.EnrolMonth; //报名有效月份",
+"	string EffectStartTime = $1.EffectStartTime; //报名有效开始时间",
+"	string EffectEndTime = $1.EffectEndTime; //报名有效结束时间",
+"}"
+]
+},
+"查询某个活动报名记录,并赋值": {
+"prefix": "ym-db-ActivityEnrolRecord-Update",
+"body": [
+"ActivityEnrolRecord $1 = db.ActivityEnrolRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ActId = $2; //活动",
+"	$1.UserId = $3; //创客",
+"	$1.EnrolMonth = $4; //报名有效月份",
+"	$1.EffectStartTime = $5; //报名有效开始时间",
+"	$1.EffectEndTime = $6; //报名有效结束时间",
+"}"
+]
+},
+"获取活动报名记录数量": {
+"prefix": "ym-db-ActivityEnrolRecord-FindAndCount",
+"body": [
+"int $1 = db.ActivityEnrolRecord.Count(m => $2);",
+]
+},
+"添加活动报名记录": {
+"prefix": "ym-db-ActivityEnrolRecord-Create",
+"body": [
+"db.ActivityEnrolRecord.Add(new ActivityEnrolRecord()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ActId = $1, //活动",
+"	UserId = $2, //创客",
+"	EnrolMonth = $3, //报名有效月份",
+"	EffectStartTime = $4, //报名有效开始时间",
+"	EffectEndTime = $5, //报名有效结束时间",
+"});"
+]
+},"删除某个活动报名记录": {
+"prefix": "ym-db-ActivityEnrolRecord-Delete",
+"body": [
+"ActivityEnrolRecord $1 = db.ActivityEnrolRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ActivityEnrolRecord.Remove($1);",
+"}"
+]
+},
+"查询活动信息列表": {
+"prefix": "ym-db-ActivityInfo-Find",
+"body": [
+"List<ActivityInfo> $1 = db.ActivityInfo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ActivityInfo $3 in $1)",
+"{",
+"}"
+]
+},
+"查询活动信息列表,并取值": {
+"prefix": "ym-db-ActivityInfo-FindWithData",
+"body": [
+"List<ActivityInfo> $1 = db.ActivityInfo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ActivityInfo $3 in $1)",
+"{",
+"	string ActCode = $3.ActCode; //活动编号",
+"	int ActType = $3.ActType; //活动类型",
+"	string ActName = $3.ActName; //活动名称",
+"	string BrandId = $3.BrandId; //产品类型",
+"	string LimitTopBuddy = $3.LimitTopBuddy; //顶级创客设置",
+"	int IsTop = $3.IsTop; //是否置顶",
+"	DateTime EffectStartDate = $3.EffectStartDate; //活动开始时间",
+"	DateTime EffectEndDate = $3.EffectEndDate; //活动结束时间",
+"	DateTime EnrolStartDate = $3.EnrolStartDate; //报名开始日期",
+"	DateTime EnrolEndDate = $3.EnrolEndDate; //报名截止日期",
+"	string EnrolStartTime = $3.EnrolStartTime; //报名当天开始时间",
+"	string EnrolEndTime = $3.EnrolEndTime; //报名当天截止时间",
+"	string ActReferUrl = $3.ActReferUrl; //链接地址",
+"	string ActBanner = $3.ActBanner; //活动Banner图片",
+"	string ActContent = $3.ActContent; //活动详情",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询活动信息": {
+"prefix": "ym-db-ActivityInfo-Exist",
+"body": [
+"bool $1 = db.ActivityInfo.Any(m => m.Id == $2);",
+]
+},
+"查询某个活动信息,并取值": {
+"prefix": "ym-db-ActivityInfo-FindByPrimaryKey",
+"body": [
+"ActivityInfo $1 = db.ActivityInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ActCode = $1.ActCode; //活动编号",
+"	int ActType = $1.ActType; //活动类型",
+"	string ActName = $1.ActName; //活动名称",
+"	string BrandId = $1.BrandId; //产品类型",
+"	string LimitTopBuddy = $1.LimitTopBuddy; //顶级创客设置",
+"	int IsTop = $1.IsTop; //是否置顶",
+"	DateTime EffectStartDate = $1.EffectStartDate; //活动开始时间",
+"	DateTime EffectEndDate = $1.EffectEndDate; //活动结束时间",
+"	DateTime EnrolStartDate = $1.EnrolStartDate; //报名开始日期",
+"	DateTime EnrolEndDate = $1.EnrolEndDate; //报名截止日期",
+"	string EnrolStartTime = $1.EnrolStartTime; //报名当天开始时间",
+"	string EnrolEndTime = $1.EnrolEndTime; //报名当天截止时间",
+"	string ActReferUrl = $1.ActReferUrl; //链接地址",
+"	string ActBanner = $1.ActBanner; //活动Banner图片",
+"	string ActContent = $1.ActContent; //活动详情",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个活动信息,并赋值": {
+"prefix": "ym-db-ActivityInfo-Update",
+"body": [
+"ActivityInfo $1 = db.ActivityInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ActCode = $2; //活动编号",
+"	$1.ActType = $3; //活动类型",
+"	$1.ActName = $4; //活动名称",
+"	$1.BrandId = $5; //产品类型",
+"	$1.LimitTopBuddy = $6; //顶级创客设置",
+"	$1.IsTop = $7; //是否置顶",
+"	$1.EffectStartDate = $8; //活动开始时间",
+"	$1.EffectEndDate = $9; //活动结束时间",
+"	$1.EnrolStartDate = $10; //报名开始日期",
+"	$1.EnrolEndDate = $11; //报名截止日期",
+"	$1.EnrolStartTime = $12; //报名当天开始时间",
+"	$1.EnrolEndTime = $13; //报名当天截止时间",
+"	$1.ActReferUrl = $14; //链接地址",
+"	$1.ActBanner = $15; //活动Banner图片",
+"	$1.ActContent = $16; //活动详情",
+"	$1.Remark = $17; //备注",
+"}"
+]
+},
+"获取活动信息数量": {
+"prefix": "ym-db-ActivityInfo-FindAndCount",
+"body": [
+"int $1 = db.ActivityInfo.Count(m => $2);",
+]
+},
+"添加活动信息": {
+"prefix": "ym-db-ActivityInfo-Create",
+"body": [
+"db.ActivityInfo.Add(new ActivityInfo()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ActCode = $1, //活动编号",
+"	ActType = $2, //活动类型",
+"	ActName = $3, //活动名称",
+"	BrandId = $4, //产品类型",
+"	LimitTopBuddy = $5, //顶级创客设置",
+"	IsTop = $6, //是否置顶",
+"	EffectStartDate = $7, //活动开始时间",
+"	EffectEndDate = $8, //活动结束时间",
+"	EnrolStartDate = $9, //报名开始日期",
+"	EnrolEndDate = $10, //报名截止日期",
+"	EnrolStartTime = $11, //报名当天开始时间",
+"	EnrolEndTime = $12, //报名当天截止时间",
+"	ActReferUrl = $13, //链接地址",
+"	ActBanner = $14, //活动Banner图片",
+"	ActContent = $15, //活动详情",
+"	Remark = $16, //备注",
+"});"
+]
+},"删除某个活动信息": {
+"prefix": "ym-db-ActivityInfo-Delete",
+"body": [
+"ActivityInfo $1 = db.ActivityInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ActivityInfo.Remove($1);",
+"}"
+]
+},
+"查询活动奖励明细列表": {
+"prefix": "ym-db-ActivityPrizeDetail-Find",
+"body": [
+"List<ActivityPrizeDetail> $1 = db.ActivityPrizeDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ActivityPrizeDetail $3 in $1)",
+"{",
+"}"
+]
+},
+"查询活动奖励明细列表,并取值": {
+"prefix": "ym-db-ActivityPrizeDetail-FindWithData",
+"body": [
+"List<ActivityPrizeDetail> $1 = db.ActivityPrizeDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ActivityPrizeDetail $3 in $1)",
+"{",
+"	int ActivityId = $3.ActivityId; //活动",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //机具品牌",
+"	decimal TradeAmt = $3.TradeAmt; //合伙人团队交易总金额",
+"	int CheckStatus = $3.CheckStatus; //同步状态",
+"	string TradeMonth = $3.TradeMonth; //交易月份",
+"	decimal OtherProdCreditTradeAmt = $3.OtherProdCreditTradeAmt; //其他组合计算产品贷记卡交易总金额",
+"	decimal CreditTradeAmt = $3.CreditTradeAmt; //合伙人团队贷记卡交易总金额",
+"	decimal ActRewardAmt = $3.ActRewardAmt; //合伙人团队交易活动奖励金额",
+"	decimal ProfitRate = $3.ProfitRate; //活动奖励对应分成比例",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询活动奖励明细": {
+"prefix": "ym-db-ActivityPrizeDetail-Exist",
+"body": [
+"bool $1 = db.ActivityPrizeDetail.Any(m => m.Id == $2);",
+]
+},
+"查询某个活动奖励明细,并取值": {
+"prefix": "ym-db-ActivityPrizeDetail-FindByPrimaryKey",
+"body": [
+"ActivityPrizeDetail $1 = db.ActivityPrizeDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int ActivityId = $1.ActivityId; //活动",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //机具品牌",
+"	decimal TradeAmt = $1.TradeAmt; //合伙人团队交易总金额",
+"	int CheckStatus = $1.CheckStatus; //同步状态",
+"	string TradeMonth = $1.TradeMonth; //交易月份",
+"	decimal OtherProdCreditTradeAmt = $1.OtherProdCreditTradeAmt; //其他组合计算产品贷记卡交易总金额",
+"	decimal CreditTradeAmt = $1.CreditTradeAmt; //合伙人团队贷记卡交易总金额",
+"	decimal ActRewardAmt = $1.ActRewardAmt; //合伙人团队交易活动奖励金额",
+"	decimal ProfitRate = $1.ProfitRate; //活动奖励对应分成比例",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询某个活动奖励明细,并赋值": {
+"prefix": "ym-db-ActivityPrizeDetail-Update",
+"body": [
+"ActivityPrizeDetail $1 = db.ActivityPrizeDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ActivityId = $2; //活动",
+"	$1.UserId = $3; //创客",
+"	$1.BrandId = $4; //机具品牌",
+"	$1.TradeAmt = $5; //合伙人团队交易总金额",
+"	$1.CheckStatus = $6; //同步状态",
+"	$1.TradeMonth = $7; //交易月份",
+"	$1.OtherProdCreditTradeAmt = $8; //其他组合计算产品贷记卡交易总金额",
+"	$1.CreditTradeAmt = $9; //合伙人团队贷记卡交易总金额",
+"	$1.ActRewardAmt = $10; //合伙人团队交易活动奖励金额",
+"	$1.ProfitRate = $11; //活动奖励对应分成比例",
+"	$1.TopUserId = $12; //顶级创客",
+"}"
+]
+},
+"获取活动奖励明细数量": {
+"prefix": "ym-db-ActivityPrizeDetail-FindAndCount",
+"body": [
+"int $1 = db.ActivityPrizeDetail.Count(m => $2);",
+]
+},
+"添加活动奖励明细": {
+"prefix": "ym-db-ActivityPrizeDetail-Create",
+"body": [
+"db.ActivityPrizeDetail.Add(new ActivityPrizeDetail()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ActivityId = $1, //活动",
+"	UserId = $2, //创客",
+"	BrandId = $3, //机具品牌",
+"	TradeAmt = $4, //合伙人团队交易总金额",
+"	CheckStatus = $5, //同步状态",
+"	TradeMonth = $6, //交易月份",
+"	OtherProdCreditTradeAmt = $7, //其他组合计算产品贷记卡交易总金额",
+"	CreditTradeAmt = $8, //合伙人团队贷记卡交易总金额",
+"	ActRewardAmt = $9, //合伙人团队交易活动奖励金额",
+"	ProfitRate = $10, //活动奖励对应分成比例",
+"	TopUserId = $11, //顶级创客",
+"});"
+]
+},"删除某个活动奖励明细": {
+"prefix": "ym-db-ActivityPrizeDetail-Delete",
+"body": [
+"ActivityPrizeDetail $1 = db.ActivityPrizeDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ActivityPrizeDetail.Remove($1);",
+"}"
+]
+},
+"查询App底部导航列表": {
+"prefix": "ym-db-AppBottomNavs-Find",
+"body": [
+"List<AppBottomNavs> $1 = db.AppBottomNavs.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (AppBottomNavs $3 in $1)",
+"{",
+"}"
+]
+},
+"查询App底部导航列表,并取值": {
+"prefix": "ym-db-AppBottomNavs-FindWithData",
+"body": [
+"List<AppBottomNavs> $1 = db.AppBottomNavs.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (AppBottomNavs $3 in $1)",
+"{",
+"	string Title = $3.Title; //标题",
+"	string SelectIcon = $3.SelectIcon; //选中图标",
+"	string NormalIcon = $3.NormalIcon; //未选中图标",
+"	string SelectTextColor = $3.SelectTextColor; //选中文字颜色",
+"	string NormalTextColor = $3.NormalTextColor; //未选中文字颜色",
+"	string PageName = $3.PageName; //关联页面文件",
+"	string NoPageHint = $3.NoPageHint; //空页面提示信息",
+"	string BgColor = $3.BgColor; //背景色",
+"}"
+]
+},
+"查询App底部导航": {
+"prefix": "ym-db-AppBottomNavs-Exist",
+"body": [
+"bool $1 = db.AppBottomNavs.Any(m => m.Id == $2);",
+]
+},
+"查询某个App底部导航,并取值": {
+"prefix": "ym-db-AppBottomNavs-FindByPrimaryKey",
+"body": [
+"AppBottomNavs $1 = db.AppBottomNavs.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Title = $1.Title; //标题",
+"	string SelectIcon = $1.SelectIcon; //选中图标",
+"	string NormalIcon = $1.NormalIcon; //未选中图标",
+"	string SelectTextColor = $1.SelectTextColor; //选中文字颜色",
+"	string NormalTextColor = $1.NormalTextColor; //未选中文字颜色",
+"	string PageName = $1.PageName; //关联页面文件",
+"	string NoPageHint = $1.NoPageHint; //空页面提示信息",
+"	string BgColor = $1.BgColor; //背景色",
+"}"
+]
+},
+"查询某个App底部导航,并赋值": {
+"prefix": "ym-db-AppBottomNavs-Update",
+"body": [
+"AppBottomNavs $1 = db.AppBottomNavs.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Title = $2; //标题",
+"	$1.SelectIcon = $3; //选中图标",
+"	$1.NormalIcon = $4; //未选中图标",
+"	$1.SelectTextColor = $5; //选中文字颜色",
+"	$1.NormalTextColor = $6; //未选中文字颜色",
+"	$1.PageName = $7; //关联页面文件",
+"	$1.NoPageHint = $8; //空页面提示信息",
+"	$1.BgColor = $9; //背景色",
+"}"
+]
+},
+"获取App底部导航数量": {
+"prefix": "ym-db-AppBottomNavs-FindAndCount",
+"body": [
+"int $1 = db.AppBottomNavs.Count(m => $2);",
+]
+},
+"添加App底部导航": {
+"prefix": "ym-db-AppBottomNavs-Create",
+"body": [
+"db.AppBottomNavs.Add(new AppBottomNavs()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Title = $1, //标题",
+"	SelectIcon = $2, //选中图标",
+"	NormalIcon = $3, //未选中图标",
+"	SelectTextColor = $4, //选中文字颜色",
+"	NormalTextColor = $5, //未选中文字颜色",
+"	PageName = $6, //关联页面文件",
+"	NoPageHint = $7, //空页面提示信息",
+"	BgColor = $8, //背景色",
+"});"
+]
+},"删除某个App底部导航": {
+"prefix": "ym-db-AppBottomNavs-Delete",
+"body": [
+"AppBottomNavs $1 = db.AppBottomNavs.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.AppBottomNavs.Remove($1);",
+"}"
+]
+},
+"查询App版本管理列表": {
+"prefix": "ym-db-AppVersion-Find",
+"body": [
+"List<AppVersion> $1 = db.AppVersion.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (AppVersion $3 in $1)",
+"{",
+"}"
+]
+},
+"查询App版本管理列表,并取值": {
+"prefix": "ym-db-AppVersion-FindWithData",
+"body": [
+"List<AppVersion> $1 = db.AppVersion.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (AppVersion $3 in $1)",
+"{",
+"	string TerminalKind = $3.TerminalKind; //终端类型",
+"	string VersionNum = $3.VersionNum; //版本号",
+"	string Title = $3.Title; //标题",
+"	string Info = $3.Info; //更新信息",
+"	string ConfirmText = $3.ConfirmText; //确定按钮文字",
+"	string CancelText = $3.CancelText; //取消按钮文字",
+"	string DownloadUrl = $3.DownloadUrl; //更新地址",
+"}"
+]
+},
+"查询App版本管理": {
+"prefix": "ym-db-AppVersion-Exist",
+"body": [
+"bool $1 = db.AppVersion.Any(m => m.Id == $2);",
+]
+},
+"查询某个App版本管理,并取值": {
+"prefix": "ym-db-AppVersion-FindByPrimaryKey",
+"body": [
+"AppVersion $1 = db.AppVersion.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string TerminalKind = $1.TerminalKind; //终端类型",
+"	string VersionNum = $1.VersionNum; //版本号",
+"	string Title = $1.Title; //标题",
+"	string Info = $1.Info; //更新信息",
+"	string ConfirmText = $1.ConfirmText; //确定按钮文字",
+"	string CancelText = $1.CancelText; //取消按钮文字",
+"	string DownloadUrl = $1.DownloadUrl; //更新地址",
+"}"
+]
+},
+"查询某个App版本管理,并赋值": {
+"prefix": "ym-db-AppVersion-Update",
+"body": [
+"AppVersion $1 = db.AppVersion.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TerminalKind = $2; //终端类型",
+"	$1.VersionNum = $3; //版本号",
+"	$1.Title = $4; //标题",
+"	$1.Info = $5; //更新信息",
+"	$1.ConfirmText = $6; //确定按钮文字",
+"	$1.CancelText = $7; //取消按钮文字",
+"	$1.DownloadUrl = $8; //更新地址",
+"}"
+]
+},
+"获取App版本管理数量": {
+"prefix": "ym-db-AppVersion-FindAndCount",
+"body": [
+"int $1 = db.AppVersion.Count(m => $2);",
+]
+},
+"添加App版本管理": {
+"prefix": "ym-db-AppVersion-Create",
+"body": [
+"db.AppVersion.Add(new AppVersion()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TerminalKind = $1, //终端类型",
+"	VersionNum = $2, //版本号",
+"	Title = $3, //标题",
+"	Info = $4, //更新信息",
+"	ConfirmText = $5, //确定按钮文字",
+"	CancelText = $6, //取消按钮文字",
+"	DownloadUrl = $7, //更新地址",
+"});"
+]
+},"删除某个App版本管理": {
+"prefix": "ym-db-AppVersion-Delete",
+"body": [
+"AppVersion $1 = db.AppVersion.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.AppVersion.Remove($1);",
+"}"
+]
+},
+"查询客小爽操作视频分类列表": {
+"prefix": "ym-db-AppVideo-Find",
+"body": [
+"List<AppVideo> $1 = db.AppVideo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (AppVideo $3 in $1)",
+"{",
+"}"
+]
+},
+"查询客小爽操作视频分类列表,并取值": {
+"prefix": "ym-db-AppVideo-FindWithData",
+"body": [
+"List<AppVideo> $1 = db.AppVideo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (AppVideo $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"	string BannerPic = $3.BannerPic; //Banner图片",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询客小爽操作视频分类": {
+"prefix": "ym-db-AppVideo-Exist",
+"body": [
+"bool $1 = db.AppVideo.Any(m => m.Id == $2);",
+]
+},
+"查询某个客小爽操作视频分类,并取值": {
+"prefix": "ym-db-AppVideo-FindByPrimaryKey",
+"body": [
+"AppVideo $1 = db.AppVideo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"	string BannerPic = $1.BannerPic; //Banner图片",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个客小爽操作视频分类,并赋值": {
+"prefix": "ym-db-AppVideo-Update",
+"body": [
+"AppVideo $1 = db.AppVideo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"	$1.BannerPic = $3; //Banner图片",
+"	$1.Remark = $4; //备注",
+"}"
+]
+},
+"获取客小爽操作视频分类数量": {
+"prefix": "ym-db-AppVideo-FindAndCount",
+"body": [
+"int $1 = db.AppVideo.Count(m => $2);",
+]
+},
+"添加客小爽操作视频分类": {
+"prefix": "ym-db-AppVideo-Create",
+"body": [
+"db.AppVideo.Add(new AppVideo()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"	BannerPic = $2, //Banner图片",
+"	Remark = $3, //备注",
+"});"
+]
+},"删除某个客小爽操作视频分类": {
+"prefix": "ym-db-AppVideo-Delete",
+"body": [
+"AppVideo $1 = db.AppVideo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.AppVideo.Remove($1);",
+"}"
+]
+},
+"查询客小爽操作视频列表列表": {
+"prefix": "ym-db-AppVideoList-Find",
+"body": [
+"List<AppVideoList> $1 = db.AppVideoList.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (AppVideoList $3 in $1)",
+"{",
+"}"
+]
+},
+"查询客小爽操作视频列表列表,并取值": {
+"prefix": "ym-db-AppVideoList-FindWithData",
+"body": [
+"List<AppVideoList> $1 = db.AppVideoList.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (AppVideoList $3 in $1)",
+"{",
+"	string Title = $3.Title; //标题",
+"	string VideoUrl = $3.VideoUrl; //视频地址",
+"	string Remark = $3.Remark; //备注",
+"	int VideoId = $3.VideoId; //视频分类Id",
+"	string BgPic = $3.BgPic; //背景图",
+"}"
+]
+},
+"查询客小爽操作视频列表": {
+"prefix": "ym-db-AppVideoList-Exist",
+"body": [
+"bool $1 = db.AppVideoList.Any(m => m.Id == $2);",
+]
+},
+"查询某个客小爽操作视频列表,并取值": {
+"prefix": "ym-db-AppVideoList-FindByPrimaryKey",
+"body": [
+"AppVideoList $1 = db.AppVideoList.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Title = $1.Title; //标题",
+"	string VideoUrl = $1.VideoUrl; //视频地址",
+"	string Remark = $1.Remark; //备注",
+"	int VideoId = $1.VideoId; //视频分类Id",
+"	string BgPic = $1.BgPic; //背景图",
+"}"
+]
+},
+"查询某个客小爽操作视频列表,并赋值": {
+"prefix": "ym-db-AppVideoList-Update",
+"body": [
+"AppVideoList $1 = db.AppVideoList.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Title = $2; //标题",
+"	$1.VideoUrl = $3; //视频地址",
+"	$1.Remark = $4; //备注",
+"	$1.VideoId = $5; //视频分类Id",
+"	$1.BgPic = $6; //背景图",
+"}"
+]
+},
+"获取客小爽操作视频列表数量": {
+"prefix": "ym-db-AppVideoList-FindAndCount",
+"body": [
+"int $1 = db.AppVideoList.Count(m => $2);",
+]
+},
+"添加客小爽操作视频列表": {
+"prefix": "ym-db-AppVideoList-Create",
+"body": [
+"db.AppVideoList.Add(new AppVideoList()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Title = $1, //标题",
+"	VideoUrl = $2, //视频地址",
+"	Remark = $3, //备注",
+"	VideoId = $4, //视频分类Id",
+"	BgPic = $5, //背景图",
+"});"
+]
+},"删除某个客小爽操作视频列表": {
+"prefix": "ym-db-AppVideoList-Delete",
+"body": [
+"AppVideoList $1 = db.AppVideoList.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.AppVideoList.Remove($1);",
+"}"
+]
+},
+"查询银行信息列表": {
+"prefix": "ym-db-BankInfo-Find",
+"body": [
+"List<BankInfo> $1 = db.BankInfo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (BankInfo $3 in $1)",
+"{",
+"}"
+]
+},
+"查询银行信息列表,并取值": {
+"prefix": "ym-db-BankInfo-FindWithData",
+"body": [
+"List<BankInfo> $1 = db.BankInfo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (BankInfo $3 in $1)",
+"{",
+"	string BankName = $3.BankName; //银行全称",
+"	string BankCode = $3.BankCode; //银行编码",
+"	string UnitedBankNo = $3.UnitedBankNo; //银行总行联行号",
+"	string UnitedBankName = $3.UnitedBankName; //总行名称",
+"	string BankNameAbbr = $3.BankNameAbbr; //银行简称",
+"}"
+]
+},
+"查询银行信息": {
+"prefix": "ym-db-BankInfo-Exist",
+"body": [
+"bool $1 = db.BankInfo.Any(m => m.Id == $2);",
+]
+},
+"查询某个银行信息,并取值": {
+"prefix": "ym-db-BankInfo-FindByPrimaryKey",
+"body": [
+"BankInfo $1 = db.BankInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string BankName = $1.BankName; //银行全称",
+"	string BankCode = $1.BankCode; //银行编码",
+"	string UnitedBankNo = $1.UnitedBankNo; //银行总行联行号",
+"	string UnitedBankName = $1.UnitedBankName; //总行名称",
+"	string BankNameAbbr = $1.BankNameAbbr; //银行简称",
+"}"
+]
+},
+"查询某个银行信息,并赋值": {
+"prefix": "ym-db-BankInfo-Update",
+"body": [
+"BankInfo $1 = db.BankInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.BankName = $2; //银行全称",
+"	$1.BankCode = $3; //银行编码",
+"	$1.UnitedBankNo = $4; //银行总行联行号",
+"	$1.UnitedBankName = $5; //总行名称",
+"	$1.BankNameAbbr = $6; //银行简称",
+"}"
+]
+},
+"获取银行信息数量": {
+"prefix": "ym-db-BankInfo-FindAndCount",
+"body": [
+"int $1 = db.BankInfo.Count(m => $2);",
+]
+},
+"添加银行信息": {
+"prefix": "ym-db-BankInfo-Create",
+"body": [
+"db.BankInfo.Add(new BankInfo()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	BankName = $1, //银行全称",
+"	BankCode = $2, //银行编码",
+"	UnitedBankNo = $3, //银行总行联行号",
+"	UnitedBankName = $4, //总行名称",
+"	BankNameAbbr = $5, //银行简称",
+"});"
+]
+},"删除某个银行信息": {
+"prefix": "ym-db-BankInfo-Delete",
+"body": [
+"BankInfo $1 = db.BankInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.BankInfo.Remove($1);",
+"}"
+]
+},
+"查询分类设置列表": {
+"prefix": "ym-db-Col-Find",
+"body": [
+"List<Col> $1 = db.Col.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Col $3 in $1)",
+"{",
+"}"
+]
+},
+"查询分类设置列表,并取值": {
+"prefix": "ym-db-Col-FindWithData",
+"body": [
+"List<Col> $1 = db.Col.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Col $3 in $1)",
+"{",
+"	string ColId = $3.ColId; //编号",
+"	string ColName = $3.ColName; //名称",
+"	string ColPicPath = $3.ColPicPath; //图标",
+"	string ColDetail = $3.ColDetail; //简介",
+"	ulong Recommend = $3.Recommend; //推荐",
+"	string ColEnName = $3.ColEnName; //英文名",
+"	string Contents = $3.Contents; //详细内容",
+"	string Url = $3.Url; //第三方链接",
+"	string ListTemp = $3.ListTemp; //列表模板PC",
+"	string DetailTemp = $3.DetailTemp; //详情模板PC",
+"	string ListTempM = $3.ListTempM; //列表模板移动",
+"	string DetailTempM = $3.DetailTempM; //详情模板移动",
+"	int ListPageCount = $3.ListPageCount; //每页数量",
+"	int ParentId = $3.ParentId; //父级Id",
+"	string ColEnNav = $3.ColEnNav; //英文路径",
+"	string ClassName = $3.ClassName; //class样式名1",
+"}"
+]
+},
+"查询分类设置": {
+"prefix": "ym-db-Col-Exist",
+"body": [
+"bool $1 = db.Col.Any(m => m.Id == $2);",
+]
+},
+"查询某个分类设置,并取值": {
+"prefix": "ym-db-Col-FindByPrimaryKey",
+"body": [
+"Col $1 = db.Col.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ColId = $1.ColId; //编号",
+"	string ColName = $1.ColName; //名称",
+"	string ColPicPath = $1.ColPicPath; //图标",
+"	string ColDetail = $1.ColDetail; //简介",
+"	ulong Recommend = $1.Recommend; //推荐",
+"	string ColEnName = $1.ColEnName; //英文名",
+"	string Contents = $1.Contents; //详细内容",
+"	string Url = $1.Url; //第三方链接",
+"	string ListTemp = $1.ListTemp; //列表模板PC",
+"	string DetailTemp = $1.DetailTemp; //详情模板PC",
+"	string ListTempM = $1.ListTempM; //列表模板移动",
+"	string DetailTempM = $1.DetailTempM; //详情模板移动",
+"	int ListPageCount = $1.ListPageCount; //每页数量",
+"	int ParentId = $1.ParentId; //父级Id",
+"	string ColEnNav = $1.ColEnNav; //英文路径",
+"	string ClassName = $1.ClassName; //class样式名1",
+"}"
+]
+},
+"查询某个分类设置,并赋值": {
+"prefix": "ym-db-Col-Update",
+"body": [
+"Col $1 = db.Col.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ColId = $2; //编号",
+"	$1.ColName = $3; //名称",
+"	$1.ColPicPath = $4; //图标",
+"	$1.ColDetail = $5; //简介",
+"	$1.Recommend = $6; //推荐",
+"	$1.ColEnName = $7; //英文名",
+"	$1.Contents = $8; //详细内容",
+"	$1.Url = $9; //第三方链接",
+"	$1.ListTemp = $10; //列表模板PC",
+"	$1.DetailTemp = $11; //详情模板PC",
+"	$1.ListTempM = $12; //列表模板移动",
+"	$1.DetailTempM = $13; //详情模板移动",
+"	$1.ListPageCount = $14; //每页数量",
+"	$1.ParentId = $15; //父级Id",
+"	$1.ColEnNav = $16; //英文路径",
+"	$1.ClassName = $17; //class样式名1",
+"}"
+]
+},
+"获取分类设置数量": {
+"prefix": "ym-db-Col-FindAndCount",
+"body": [
+"int $1 = db.Col.Count(m => $2);",
+]
+},
+"添加分类设置": {
+"prefix": "ym-db-Col-Create",
+"body": [
+"db.Col.Add(new Col()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ColId = $1, //编号",
+"	ColName = $2, //名称",
+"	ColPicPath = $3, //图标",
+"	ColDetail = $4, //简介",
+"	Recommend = $5, //推荐",
+"	ColEnName = $6, //英文名",
+"	Contents = $7, //详细内容",
+"	Url = $8, //第三方链接",
+"	ListTemp = $9, //列表模板PC",
+"	DetailTemp = $10, //详情模板PC",
+"	ListTempM = $11, //列表模板移动",
+"	DetailTempM = $12, //详情模板移动",
+"	ListPageCount = $13, //每页数量",
+"	ParentId = $14, //父级Id",
+"	ColEnNav = $15, //英文路径",
+"	ClassName = $16, //class样式名1",
+"});"
+]
+},"删除某个分类设置": {
+"prefix": "ym-db-Col-Delete",
+"body": [
+"Col $1 = db.Col.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.Col.Remove($1);",
+"}"
+]
+},
+"查询优惠券发放记录列表": {
+"prefix": "ym-db-CouponAssignRecords-Find",
+"body": [
+"List<CouponAssignRecords> $1 = db.CouponAssignRecords.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (CouponAssignRecords $3 in $1)",
+"{",
+"}"
+]
+},
+"查询优惠券发放记录列表,并取值": {
+"prefix": "ym-db-CouponAssignRecords-FindWithData",
+"body": [
+"List<CouponAssignRecords> $1 = db.CouponAssignRecords.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (CouponAssignRecords $3 in $1)",
+"{",
+"	int UserMinLevel = $3.UserMinLevel; //创客最低等级",
+"	int UserMaxLevel = $3.UserMaxLevel; //创客最高等级",
+"	decimal TotalOrderMoneyMin = $3.TotalOrderMoneyMin; //最小消费总额",
+"	decimal TotalOrderMoneyMax = $3.TotalOrderMoneyMax; //最大消费总额",
+"	decimal TotalUseIntegralMin = $3.TotalUseIntegralMin; //最小消耗积分总额",
+"	decimal TotalUseIntegralMax = $3.TotalUseIntegralMax; //最大消耗积分总额",
+"	decimal CurMoneyMin = $3.CurMoneyMin; //当前最低余额",
+"	decimal CurMoneyMax = $3.CurMoneyMax; //当前最高余额",
+"	string UserGroupId = $3.UserGroupId; //创客分组",
+"	string Areas = $3.Areas; //创客所在地区",
+"	string Mobile = $3.Mobile; //手机号",
+"	string CouponIds = $3.CouponIds; //优惠券",
+"}"
+]
+},
+"查询优惠券发放记录": {
+"prefix": "ym-db-CouponAssignRecords-Exist",
+"body": [
+"bool $1 = db.CouponAssignRecords.Any(m => m.Id == $2);",
+]
+},
+"查询某个优惠券发放记录,并取值": {
+"prefix": "ym-db-CouponAssignRecords-FindByPrimaryKey",
+"body": [
+"CouponAssignRecords $1 = db.CouponAssignRecords.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserMinLevel = $1.UserMinLevel; //创客最低等级",
+"	int UserMaxLevel = $1.UserMaxLevel; //创客最高等级",
+"	decimal TotalOrderMoneyMin = $1.TotalOrderMoneyMin; //最小消费总额",
+"	decimal TotalOrderMoneyMax = $1.TotalOrderMoneyMax; //最大消费总额",
+"	decimal TotalUseIntegralMin = $1.TotalUseIntegralMin; //最小消耗积分总额",
+"	decimal TotalUseIntegralMax = $1.TotalUseIntegralMax; //最大消耗积分总额",
+"	decimal CurMoneyMin = $1.CurMoneyMin; //当前最低余额",
+"	decimal CurMoneyMax = $1.CurMoneyMax; //当前最高余额",
+"	string UserGroupId = $1.UserGroupId; //创客分组",
+"	string Areas = $1.Areas; //创客所在地区",
+"	string Mobile = $1.Mobile; //手机号",
+"	string CouponIds = $1.CouponIds; //优惠券",
+"}"
+]
+},
+"查询某个优惠券发放记录,并赋值": {
+"prefix": "ym-db-CouponAssignRecords-Update",
+"body": [
+"CouponAssignRecords $1 = db.CouponAssignRecords.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserMinLevel = $2; //创客最低等级",
+"	$1.UserMaxLevel = $3; //创客最高等级",
+"	$1.TotalOrderMoneyMin = $4; //最小消费总额",
+"	$1.TotalOrderMoneyMax = $5; //最大消费总额",
+"	$1.TotalUseIntegralMin = $6; //最小消耗积分总额",
+"	$1.TotalUseIntegralMax = $7; //最大消耗积分总额",
+"	$1.CurMoneyMin = $8; //当前最低余额",
+"	$1.CurMoneyMax = $9; //当前最高余额",
+"	$1.UserGroupId = $10; //创客分组",
+"	$1.Areas = $11; //创客所在地区",
+"	$1.Mobile = $12; //手机号",
+"	$1.CouponIds = $13; //优惠券",
+"}"
+]
+},
+"获取优惠券发放记录数量": {
+"prefix": "ym-db-CouponAssignRecords-FindAndCount",
+"body": [
+"int $1 = db.CouponAssignRecords.Count(m => $2);",
+]
+},
+"添加优惠券发放记录": {
+"prefix": "ym-db-CouponAssignRecords-Create",
+"body": [
+"db.CouponAssignRecords.Add(new CouponAssignRecords()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserMinLevel = $1, //创客最低等级",
+"	UserMaxLevel = $2, //创客最高等级",
+"	TotalOrderMoneyMin = $3, //最小消费总额",
+"	TotalOrderMoneyMax = $4, //最大消费总额",
+"	TotalUseIntegralMin = $5, //最小消耗积分总额",
+"	TotalUseIntegralMax = $6, //最大消耗积分总额",
+"	CurMoneyMin = $7, //当前最低余额",
+"	CurMoneyMax = $8, //当前最高余额",
+"	UserGroupId = $9, //创客分组",
+"	Areas = $10, //创客所在地区",
+"	Mobile = $11, //手机号",
+"	CouponIds = $12, //优惠券",
+"});"
+]
+},"删除某个优惠券发放记录": {
+"prefix": "ym-db-CouponAssignRecords-Delete",
+"body": [
+"CouponAssignRecords $1 = db.CouponAssignRecords.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.CouponAssignRecords.Remove($1);",
+"}"
+]
+},
+"查询优惠券列表": {
+"prefix": "ym-db-Coupons-Find",
+"body": [
+"List<Coupons> $1 = db.Coupons.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Coupons $3 in $1)",
+"{",
+"}"
+]
+},
+"查询优惠券列表,并取值": {
+"prefix": "ym-db-Coupons-FindWithData",
+"body": [
+"List<Coupons> $1 = db.Coupons.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Coupons $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"	string Explanation = $3.Explanation; //说明",
+"	ulong IsNewUser = $3.IsNewUser; //新创客使用",
+"	ulong IsPublic = $3.IsPublic; //是否公开领取",
+"	decimal Stock = $3.Stock; //库存",
+"	int Kind = $3.Kind; //优惠券类型",
+"	string MerchantId = $3.MerchantId; //商家",
+"	string ProductColId = $3.ProductColId; //商品分类",
+"	string ProductId = $3.ProductId; //商品",
+"	int UserMaxLevel = $3.UserMaxLevel; //创客最高等级",
+"	int UserMinLevel = $3.UserMinLevel; //创客最低等级",
+"	DateTime UseStartDate = $3.UseStartDate; //开始使用时间",
+"	DateTime UseEndDate = $3.UseEndDate; //结束使用时间",
+"	ulong IsRepeat = $3.IsRepeat; //是否重复",
+"	int RepeatType = $3.RepeatType; //重复类型",
+"	string RepeatCondition = $3.RepeatCondition; //重复条件值",
+"	ulong IsReUse = $3.IsReUse; //是否一次性使用",
+"	DateTime PublicStartDate = $3.PublicStartDate; //公开领取开始时间",
+"	DateTime PublicEndDate = $3.PublicEndDate; //公开领取结束时间",
+"	int PublicMax = $3.PublicMax; //公开每人领取数量",
+"	int PublicMaxByDay = $3.PublicMaxByDay; //公开每人每天领取数量",
+"	ulong IsSuperpose = $3.IsSuperpose; //是否叠加使用",
+"	ulong AndPromotion = $3.AndPromotion; //是否与促销活动同时使用",
+"	decimal FullReduceMoney = $3.FullReduceMoney; //满多少可用",
+"	decimal FullReduceData = $3.FullReduceData; //满减数据",
+"	DateTime ExpireStartDate = $3.ExpireStartDate; //过期开始时间",
+"	DateTime ExpireEndDate = $3.ExpireEndDate; //过期结束时间",
+"}"
+]
+},
+"查询优惠券": {
+"prefix": "ym-db-Coupons-Exist",
+"body": [
+"bool $1 = db.Coupons.Any(m => m.Id == $2);",
+]
+},
+"查询某个优惠券,并取值": {
+"prefix": "ym-db-Coupons-FindByPrimaryKey",
+"body": [
+"Coupons $1 = db.Coupons.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"	string Explanation = $1.Explanation; //说明",
+"	ulong IsNewUser = $1.IsNewUser; //新创客使用",
+"	ulong IsPublic = $1.IsPublic; //是否公开领取",
+"	decimal Stock = $1.Stock; //库存",
+"	int Kind = $1.Kind; //优惠券类型",
+"	string MerchantId = $1.MerchantId; //商家",
+"	string ProductColId = $1.ProductColId; //商品分类",
+"	string ProductId = $1.ProductId; //商品",
+"	int UserMaxLevel = $1.UserMaxLevel; //创客最高等级",
+"	int UserMinLevel = $1.UserMinLevel; //创客最低等级",
+"	DateTime UseStartDate = $1.UseStartDate; //开始使用时间",
+"	DateTime UseEndDate = $1.UseEndDate; //结束使用时间",
+"	ulong IsRepeat = $1.IsRepeat; //是否重复",
+"	int RepeatType = $1.RepeatType; //重复类型",
+"	string RepeatCondition = $1.RepeatCondition; //重复条件值",
+"	ulong IsReUse = $1.IsReUse; //是否一次性使用",
+"	DateTime PublicStartDate = $1.PublicStartDate; //公开领取开始时间",
+"	DateTime PublicEndDate = $1.PublicEndDate; //公开领取结束时间",
+"	int PublicMax = $1.PublicMax; //公开每人领取数量",
+"	int PublicMaxByDay = $1.PublicMaxByDay; //公开每人每天领取数量",
+"	ulong IsSuperpose = $1.IsSuperpose; //是否叠加使用",
+"	ulong AndPromotion = $1.AndPromotion; //是否与促销活动同时使用",
+"	decimal FullReduceMoney = $1.FullReduceMoney; //满多少可用",
+"	decimal FullReduceData = $1.FullReduceData; //满减数据",
+"	DateTime ExpireStartDate = $1.ExpireStartDate; //过期开始时间",
+"	DateTime ExpireEndDate = $1.ExpireEndDate; //过期结束时间",
+"}"
+]
+},
+"查询某个优惠券,并赋值": {
+"prefix": "ym-db-Coupons-Update",
+"body": [
+"Coupons $1 = db.Coupons.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"	$1.Explanation = $3; //说明",
+"	$1.IsNewUser = $4; //新创客使用",
+"	$1.IsPublic = $5; //是否公开领取",
+"	$1.Stock = $6; //库存",
+"	$1.Kind = $7; //优惠券类型",
+"	$1.MerchantId = $8; //商家",
+"	$1.ProductColId = $9; //商品分类",
+"	$1.ProductId = $10; //商品",
+"	$1.UserMaxLevel = $11; //创客最高等级",
+"	$1.UserMinLevel = $12; //创客最低等级",
+"	$1.UseStartDate = $13; //开始使用时间",
+"	$1.UseEndDate = $14; //结束使用时间",
+"	$1.IsRepeat = $15; //是否重复",
+"	$1.RepeatType = $16; //重复类型",
+"	$1.RepeatCondition = $17; //重复条件值",
+"	$1.IsReUse = $18; //是否一次性使用",
+"	$1.PublicStartDate = $19; //公开领取开始时间",
+"	$1.PublicEndDate = $20; //公开领取结束时间",
+"	$1.PublicMax = $21; //公开每人领取数量",
+"	$1.PublicMaxByDay = $22; //公开每人每天领取数量",
+"	$1.IsSuperpose = $23; //是否叠加使用",
+"	$1.AndPromotion = $24; //是否与促销活动同时使用",
+"	$1.FullReduceMoney = $25; //满多少可用",
+"	$1.FullReduceData = $26; //满减数据",
+"	$1.ExpireStartDate = $27; //过期开始时间",
+"	$1.ExpireEndDate = $28; //过期结束时间",
+"}"
+]
+},
+"获取优惠券数量": {
+"prefix": "ym-db-Coupons-FindAndCount",
+"body": [
+"int $1 = db.Coupons.Count(m => $2);",
+]
+},
+"添加优惠券": {
+"prefix": "ym-db-Coupons-Create",
+"body": [
+"db.Coupons.Add(new Coupons()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"	Explanation = $2, //说明",
+"	IsNewUser = $3, //新创客使用",
+"	IsPublic = $4, //是否公开领取",
+"	Stock = $5, //库存",
+"	Kind = $6, //优惠券类型",
+"	MerchantId = $7, //商家",
+"	ProductColId = $8, //商品分类",
+"	ProductId = $9, //商品",
+"	UserMaxLevel = $10, //创客最高等级",
+"	UserMinLevel = $11, //创客最低等级",
+"	UseStartDate = $12, //开始使用时间",
+"	UseEndDate = $13, //结束使用时间",
+"	IsRepeat = $14, //是否重复",
+"	RepeatType = $15, //重复类型",
+"	RepeatCondition = $16, //重复条件值",
+"	IsReUse = $17, //是否一次性使用",
+"	PublicStartDate = $18, //公开领取开始时间",
+"	PublicEndDate = $19, //公开领取结束时间",
+"	PublicMax = $20, //公开每人领取数量",
+"	PublicMaxByDay = $21, //公开每人每天领取数量",
+"	IsSuperpose = $22, //是否叠加使用",
+"	AndPromotion = $23, //是否与促销活动同时使用",
+"	FullReduceMoney = $24, //满多少可用",
+"	FullReduceData = $25, //满减数据",
+"	ExpireStartDate = $26, //过期开始时间",
+"	ExpireEndDate = $27, //过期结束时间",
+"});"
+]
+},"删除某个优惠券": {
+"prefix": "ym-db-Coupons-Delete",
+"body": [
+"Coupons $1 = db.Coupons.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.Coupons.Remove($1);",
+"}"
+]
+},
+"查询优惠券领取记录列表": {
+"prefix": "ym-db-CouponsForUser-Find",
+"body": [
+"List<CouponsForUser> $1 = db.CouponsForUser.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (CouponsForUser $3 in $1)",
+"{",
+"}"
+]
+},
+"查询优惠券领取记录列表,并取值": {
+"prefix": "ym-db-CouponsForUser-FindWithData",
+"body": [
+"List<CouponsForUser> $1 = db.CouponsForUser.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (CouponsForUser $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客Id",
+"	int CouponId = $3.CouponId; //券Id",
+"	ulong IsUse = $3.IsUse; //是否使用",
+"	ulong IsLock = $3.IsLock; //是否锁定",
+"	DateTime UseDate = $3.UseDate; //使用时间",
+"}"
+]
+},
+"查询优惠券领取记录": {
+"prefix": "ym-db-CouponsForUser-Exist",
+"body": [
+"bool $1 = db.CouponsForUser.Any(m => m.Id == $2);",
+]
+},
+"查询某个优惠券领取记录,并取值": {
+"prefix": "ym-db-CouponsForUser-FindByPrimaryKey",
+"body": [
+"CouponsForUser $1 = db.CouponsForUser.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客Id",
+"	int CouponId = $1.CouponId; //券Id",
+"	ulong IsUse = $1.IsUse; //是否使用",
+"	ulong IsLock = $1.IsLock; //是否锁定",
+"	DateTime UseDate = $1.UseDate; //使用时间",
+"}"
+]
+},
+"查询某个优惠券领取记录,并赋值": {
+"prefix": "ym-db-CouponsForUser-Update",
+"body": [
+"CouponsForUser $1 = db.CouponsForUser.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客Id",
+"	$1.CouponId = $3; //券Id",
+"	$1.IsUse = $4; //是否使用",
+"	$1.IsLock = $5; //是否锁定",
+"	$1.UseDate = $6; //使用时间",
+"}"
+]
+},
+"获取优惠券领取记录数量": {
+"prefix": "ym-db-CouponsForUser-FindAndCount",
+"body": [
+"int $1 = db.CouponsForUser.Count(m => $2);",
+]
+},
+"添加优惠券领取记录": {
+"prefix": "ym-db-CouponsForUser-Create",
+"body": [
+"db.CouponsForUser.Add(new CouponsForUser()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客Id",
+"	CouponId = $2, //券Id",
+"	IsUse = $3, //是否使用",
+"	IsLock = $4, //是否锁定",
+"	UseDate = $5, //使用时间",
+"});"
+]
+},"删除某个优惠券领取记录": {
+"prefix": "ym-db-CouponsForUser-Delete",
+"body": [
+"CouponsForUser $1 = db.CouponsForUser.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.CouponsForUser.Remove($1);",
+"}"
+]
+},
+"查询自定义全局标签列表": {
+"prefix": "ym-db-CustomTagSet-Find",
+"body": [
+"List<CustomTagSet> $1 = db.CustomTagSet.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (CustomTagSet $3 in $1)",
+"{",
+"}"
+]
+},
+"查询自定义全局标签列表,并取值": {
+"prefix": "ym-db-CustomTagSet-FindWithData",
+"body": [
+"List<CustomTagSet> $1 = db.CustomTagSet.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (CustomTagSet $3 in $1)",
+"{",
+"	string Tags = $3.Tags; //标签",
+"	string Title = $3.Title; //标题",
+"	string Contents = $3.Contents; //内容",
+"}"
+]
+},
+"查询自定义全局标签": {
+"prefix": "ym-db-CustomTagSet-Exist",
+"body": [
+"bool $1 = db.CustomTagSet.Any(m => m.Id == $2);",
+]
+},
+"查询某个自定义全局标签,并取值": {
+"prefix": "ym-db-CustomTagSet-FindByPrimaryKey",
+"body": [
+"CustomTagSet $1 = db.CustomTagSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Tags = $1.Tags; //标签",
+"	string Title = $1.Title; //标题",
+"	string Contents = $1.Contents; //内容",
+"}"
+]
+},
+"查询某个自定义全局标签,并赋值": {
+"prefix": "ym-db-CustomTagSet-Update",
+"body": [
+"CustomTagSet $1 = db.CustomTagSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Tags = $2; //标签",
+"	$1.Title = $3; //标题",
+"	$1.Contents = $4; //内容",
+"}"
+]
+},
+"获取自定义全局标签数量": {
+"prefix": "ym-db-CustomTagSet-FindAndCount",
+"body": [
+"int $1 = db.CustomTagSet.Count(m => $2);",
+]
+},
+"添加自定义全局标签": {
+"prefix": "ym-db-CustomTagSet-Create",
+"body": [
+"db.CustomTagSet.Add(new CustomTagSet()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Tags = $1, //标签",
+"	Title = $2, //标题",
+"	Contents = $3, //内容",
+"});"
+]
+},"删除某个自定义全局标签": {
+"prefix": "ym-db-CustomTagSet-Delete",
+"body": [
+"CustomTagSet $1 = db.CustomTagSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.CustomTagSet.Remove($1);",
+"}"
+]
+},
+"查询快递公司列表": {
+"prefix": "ym-db-ErpCompanys-Find",
+"body": [
+"List<ErpCompanys> $1 = db.ErpCompanys.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ErpCompanys $3 in $1)",
+"{",
+"}"
+]
+},
+"查询快递公司列表,并取值": {
+"prefix": "ym-db-ErpCompanys-FindWithData",
+"body": [
+"List<ErpCompanys> $1 = db.ErpCompanys.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ErpCompanys $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"	string Code = $3.Code; //编码",
+"	string Phone = $3.Phone; //客服电话",
+"}"
+]
+},
+"查询快递公司": {
+"prefix": "ym-db-ErpCompanys-Exist",
+"body": [
+"bool $1 = db.ErpCompanys.Any(m => m.Id == $2);",
+]
+},
+"查询某个快递公司,并取值": {
+"prefix": "ym-db-ErpCompanys-FindByPrimaryKey",
+"body": [
+"ErpCompanys $1 = db.ErpCompanys.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"	string Code = $1.Code; //编码",
+"	string Phone = $1.Phone; //客服电话",
+"}"
+]
+},
+"查询某个快递公司,并赋值": {
+"prefix": "ym-db-ErpCompanys-Update",
+"body": [
+"ErpCompanys $1 = db.ErpCompanys.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"	$1.Code = $3; //编码",
+"	$1.Phone = $4; //客服电话",
+"}"
+]
+},
+"获取快递公司数量": {
+"prefix": "ym-db-ErpCompanys-FindAndCount",
+"body": [
+"int $1 = db.ErpCompanys.Count(m => $2);",
+]
+},
+"添加快递公司": {
+"prefix": "ym-db-ErpCompanys-Create",
+"body": [
+"db.ErpCompanys.Add(new ErpCompanys()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"	Code = $2, //编码",
+"	Phone = $3, //客服电话",
+"});"
+]
+},"删除某个快递公司": {
+"prefix": "ym-db-ErpCompanys-Delete",
+"body": [
+"ErpCompanys $1 = db.ErpCompanys.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ErpCompanys.Remove($1);",
+"}"
+]
+},
+"查询资源文件更新信息列表": {
+"prefix": "ym-db-FileUpdateInfo-Find",
+"body": [
+"List<FileUpdateInfo> $1 = db.FileUpdateInfo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (FileUpdateInfo $3 in $1)",
+"{",
+"}"
+]
+},
+"查询资源文件更新信息列表,并取值": {
+"prefix": "ym-db-FileUpdateInfo-FindWithData",
+"body": [
+"List<FileUpdateInfo> $1 = db.FileUpdateInfo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (FileUpdateInfo $3 in $1)",
+"{",
+"	int VersionNum = $3.VersionNum; //更新版本",
+"	string Path = $3.Path; //路径",
+"	string FileName = $3.FileName; //文件名",
+"}"
+]
+},
+"查询资源文件更新信息": {
+"prefix": "ym-db-FileUpdateInfo-Exist",
+"body": [
+"bool $1 = db.FileUpdateInfo.Any(m => m.Id == $2);",
+]
+},
+"查询某个资源文件更新信息,并取值": {
+"prefix": "ym-db-FileUpdateInfo-FindByPrimaryKey",
+"body": [
+"FileUpdateInfo $1 = db.FileUpdateInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int VersionNum = $1.VersionNum; //更新版本",
+"	string Path = $1.Path; //路径",
+"	string FileName = $1.FileName; //文件名",
+"}"
+]
+},
+"查询某个资源文件更新信息,并赋值": {
+"prefix": "ym-db-FileUpdateInfo-Update",
+"body": [
+"FileUpdateInfo $1 = db.FileUpdateInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.VersionNum = $2; //更新版本",
+"	$1.Path = $3; //路径",
+"	$1.FileName = $4; //文件名",
+"}"
+]
+},
+"获取资源文件更新信息数量": {
+"prefix": "ym-db-FileUpdateInfo-FindAndCount",
+"body": [
+"int $1 = db.FileUpdateInfo.Count(m => $2);",
+]
+},
+"添加资源文件更新信息": {
+"prefix": "ym-db-FileUpdateInfo-Create",
+"body": [
+"db.FileUpdateInfo.Add(new FileUpdateInfo()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	VersionNum = $1, //更新版本",
+"	Path = $2, //路径",
+"	FileName = $3, //文件名",
+"});"
+]
+},"删除某个资源文件更新信息": {
+"prefix": "ym-db-FileUpdateInfo-Delete",
+"body": [
+"FileUpdateInfo $1 = db.FileUpdateInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.FileUpdateInfo.Remove($1);",
+"}"
+]
+},
+"查询流量分佣明细列表": {
+"prefix": "ym-db-FluxProfitDetail-Find",
+"body": [
+"List<FluxProfitDetail> $1 = db.FluxProfitDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (FluxProfitDetail $3 in $1)",
+"{",
+"}"
+]
+},
+"查询流量分佣明细列表,并取值": {
+"prefix": "ym-db-FluxProfitDetail-FindWithData",
+"body": [
+"List<FluxProfitDetail> $1 = db.FluxProfitDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (FluxProfitDetail $3 in $1)",
+"{",
+"	string RecordNo = $3.RecordNo; //单号",
+"	string TradeDate = $3.TradeDate; //交易日期",
+"	string TradeTime = $3.TradeTime; //交易时间",
+"	string TradeMonth = $3.TradeMonth; //交易月",
+"	int UserId = $3.UserId; //创客",
+"	int MerchantId = $3.MerchantId; //商户",
+"	int MerchantUserId = $3.MerchantUserId; //商户直属人",
+"	string MerNo = $3.MerNo; //渠道商户编号",
+"	string SnNo = $3.SnNo; //渠道SN号",
+"	int ProfitType = $3.ProfitType; //分润类型",
+"	string FluxOrderNo = $3.FluxOrderNo; //流量扣费单号",
+"	string TradeOrderNo = $3.TradeOrderNo; //交易流水号",
+"	decimal TradeAmt = $3.TradeAmt; //商户交易额",
+"	decimal FluxFeeAmt = $3.FluxFeeAmt; //流量费",
+"	string FluxStartDate = $3.FluxStartDate; //流量扣费开始日期",
+"	string FluxEndDate = $3.FluxEndDate; //流量扣费结束日期",
+"	decimal FluxProfitAmt = $3.FluxProfitAmt; //流量分润总金额",
+"	string PosType = $3.PosType; //POS类型",
+"	string Remark = $3.Remark; //备注",
+"	int BrandId = $3.BrandId; //品牌",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"	int MerUserType = $3.MerUserType; //商户创客类型",
+"}"
+]
+},
+"查询流量分佣明细": {
+"prefix": "ym-db-FluxProfitDetail-Exist",
+"body": [
+"bool $1 = db.FluxProfitDetail.Any(m => m.Id == $2);",
+]
+},
+"查询某个流量分佣明细,并取值": {
+"prefix": "ym-db-FluxProfitDetail-FindByPrimaryKey",
+"body": [
+"FluxProfitDetail $1 = db.FluxProfitDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string RecordNo = $1.RecordNo; //单号",
+"	string TradeDate = $1.TradeDate; //交易日期",
+"	string TradeTime = $1.TradeTime; //交易时间",
+"	string TradeMonth = $1.TradeMonth; //交易月",
+"	int UserId = $1.UserId; //创客",
+"	int MerchantId = $1.MerchantId; //商户",
+"	int MerchantUserId = $1.MerchantUserId; //商户直属人",
+"	string MerNo = $1.MerNo; //渠道商户编号",
+"	string SnNo = $1.SnNo; //渠道SN号",
+"	int ProfitType = $1.ProfitType; //分润类型",
+"	string FluxOrderNo = $1.FluxOrderNo; //流量扣费单号",
+"	string TradeOrderNo = $1.TradeOrderNo; //交易流水号",
+"	decimal TradeAmt = $1.TradeAmt; //商户交易额",
+"	decimal FluxFeeAmt = $1.FluxFeeAmt; //流量费",
+"	string FluxStartDate = $1.FluxStartDate; //流量扣费开始日期",
+"	string FluxEndDate = $1.FluxEndDate; //流量扣费结束日期",
+"	decimal FluxProfitAmt = $1.FluxProfitAmt; //流量分润总金额",
+"	string PosType = $1.PosType; //POS类型",
+"	string Remark = $1.Remark; //备注",
+"	int BrandId = $1.BrandId; //品牌",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"	int MerUserType = $1.MerUserType; //商户创客类型",
+"}"
+]
+},
+"查询某个流量分佣明细,并赋值": {
+"prefix": "ym-db-FluxProfitDetail-Update",
+"body": [
+"FluxProfitDetail $1 = db.FluxProfitDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.RecordNo = $2; //单号",
+"	$1.TradeDate = $3; //交易日期",
+"	$1.TradeTime = $4; //交易时间",
+"	$1.TradeMonth = $5; //交易月",
+"	$1.UserId = $6; //创客",
+"	$1.MerchantId = $7; //商户",
+"	$1.MerchantUserId = $8; //商户直属人",
+"	$1.MerNo = $9; //渠道商户编号",
+"	$1.SnNo = $10; //渠道SN号",
+"	$1.ProfitType = $11; //分润类型",
+"	$1.FluxOrderNo = $12; //流量扣费单号",
+"	$1.TradeOrderNo = $13; //交易流水号",
+"	$1.TradeAmt = $14; //商户交易额",
+"	$1.FluxFeeAmt = $15; //流量费",
+"	$1.FluxStartDate = $16; //流量扣费开始日期",
+"	$1.FluxEndDate = $17; //流量扣费结束日期",
+"	$1.FluxProfitAmt = $18; //流量分润总金额",
+"	$1.PosType = $19; //POS类型",
+"	$1.Remark = $20; //备注",
+"	$1.BrandId = $21; //品牌",
+"	$1.TopUserId = $22; //顶级创客",
+"	$1.MerUserType = $23; //商户创客类型",
+"}"
+]
+},
+"获取流量分佣明细数量": {
+"prefix": "ym-db-FluxProfitDetail-FindAndCount",
+"body": [
+"int $1 = db.FluxProfitDetail.Count(m => $2);",
+]
+},
+"添加流量分佣明细": {
+"prefix": "ym-db-FluxProfitDetail-Create",
+"body": [
+"db.FluxProfitDetail.Add(new FluxProfitDetail()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	RecordNo = $1, //单号",
+"	TradeDate = $2, //交易日期",
+"	TradeTime = $3, //交易时间",
+"	TradeMonth = $4, //交易月",
+"	UserId = $5, //创客",
+"	MerchantId = $6, //商户",
+"	MerchantUserId = $7, //商户直属人",
+"	MerNo = $8, //渠道商户编号",
+"	SnNo = $9, //渠道SN号",
+"	ProfitType = $10, //分润类型",
+"	FluxOrderNo = $11, //流量扣费单号",
+"	TradeOrderNo = $12, //交易流水号",
+"	TradeAmt = $13, //商户交易额",
+"	FluxFeeAmt = $14, //流量费",
+"	FluxStartDate = $15, //流量扣费开始日期",
+"	FluxEndDate = $16, //流量扣费结束日期",
+"	FluxProfitAmt = $17, //流量分润总金额",
+"	PosType = $18, //POS类型",
+"	Remark = $19, //备注",
+"	BrandId = $20, //品牌",
+"	TopUserId = $21, //顶级创客",
+"	MerUserType = $22, //商户创客类型",
+"});"
+]
+},"删除某个流量分佣明细": {
+"prefix": "ym-db-FluxProfitDetail-Delete",
+"body": [
+"FluxProfitDetail $1 = db.FluxProfitDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.FluxProfitDetail.Remove($1);",
+"}"
+]
+},
+"查询流量分佣汇总列表": {
+"prefix": "ym-db-FluxProfitSummary-Find",
+"body": [
+"List<FluxProfitSummary> $1 = db.FluxProfitSummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (FluxProfitSummary $3 in $1)",
+"{",
+"}"
+]
+},
+"查询流量分佣汇总列表,并取值": {
+"prefix": "ym-db-FluxProfitSummary-FindWithData",
+"body": [
+"List<FluxProfitSummary> $1 = db.FluxProfitSummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (FluxProfitSummary $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"	string TradeMonth = $3.TradeMonth; //交易月",
+"	int MerUserType = $3.MerUserType; //商户创客类型",
+"	decimal FluxProfitAmt = $3.FluxProfitAmt; //流量分润总金额",
+"	int FluxTradeNum = $3.FluxTradeNum; //商户借记卡封顶交易总笔数",
+"	int CheckStatus = $3.CheckStatus; //同步账户状态",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询流量分佣汇总": {
+"prefix": "ym-db-FluxProfitSummary-Exist",
+"body": [
+"bool $1 = db.FluxProfitSummary.Any(m => m.Id == $2);",
+]
+},
+"查询某个流量分佣汇总,并取值": {
+"prefix": "ym-db-FluxProfitSummary-FindByPrimaryKey",
+"body": [
+"FluxProfitSummary $1 = db.FluxProfitSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"	string TradeMonth = $1.TradeMonth; //交易月",
+"	int MerUserType = $1.MerUserType; //商户创客类型",
+"	decimal FluxProfitAmt = $1.FluxProfitAmt; //流量分润总金额",
+"	int FluxTradeNum = $1.FluxTradeNum; //商户借记卡封顶交易总笔数",
+"	int CheckStatus = $1.CheckStatus; //同步账户状态",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个流量分佣汇总,并赋值": {
+"prefix": "ym-db-FluxProfitSummary-Update",
+"body": [
+"FluxProfitSummary $1 = db.FluxProfitSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.TopUserId = $3; //顶级创客",
+"	$1.TradeMonth = $4; //交易月",
+"	$1.MerUserType = $5; //商户创客类型",
+"	$1.FluxProfitAmt = $6; //流量分润总金额",
+"	$1.FluxTradeNum = $7; //商户借记卡封顶交易总笔数",
+"	$1.CheckStatus = $8; //同步账户状态",
+"	$1.Remark = $9; //备注",
+"}"
+]
+},
+"获取流量分佣汇总数量": {
+"prefix": "ym-db-FluxProfitSummary-FindAndCount",
+"body": [
+"int $1 = db.FluxProfitSummary.Count(m => $2);",
+]
+},
+"添加流量分佣汇总": {
+"prefix": "ym-db-FluxProfitSummary-Create",
+"body": [
+"db.FluxProfitSummary.Add(new FluxProfitSummary()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	TopUserId = $2, //顶级创客",
+"	TradeMonth = $3, //交易月",
+"	MerUserType = $4, //商户创客类型",
+"	FluxProfitAmt = $5, //流量分润总金额",
+"	FluxTradeNum = $6, //商户借记卡封顶交易总笔数",
+"	CheckStatus = $7, //同步账户状态",
+"	Remark = $8, //备注",
+"});"
+]
+},"删除某个流量分佣汇总": {
+"prefix": "ym-db-FluxProfitSummary-Delete",
+"body": [
+"FluxProfitSummary $1 = db.FluxProfitSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.FluxProfitSummary.Remove($1);",
+"}"
+]
+},
+"查询首页快捷入口列表": {
+"prefix": "ym-db-IndexIconList-Find",
+"body": [
+"List<IndexIconList> $1 = db.IndexIconList.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (IndexIconList $3 in $1)",
+"{",
+"}"
+]
+},
+"查询首页快捷入口列表,并取值": {
+"prefix": "ym-db-IndexIconList-FindWithData",
+"body": [
+"List<IndexIconList> $1 = db.IndexIconList.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (IndexIconList $3 in $1)",
+"{",
+"	string Icon = $3.Icon; //图标",
+"	string Title = $3.Title; //标题",
+"	string Url = $3.Url; //跳转地址",
+"}"
+]
+},
+"查询首页快捷入口": {
+"prefix": "ym-db-IndexIconList-Exist",
+"body": [
+"bool $1 = db.IndexIconList.Any(m => m.Id == $2);",
+]
+},
+"查询某个首页快捷入口,并取值": {
+"prefix": "ym-db-IndexIconList-FindByPrimaryKey",
+"body": [
+"IndexIconList $1 = db.IndexIconList.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Icon = $1.Icon; //图标",
+"	string Title = $1.Title; //标题",
+"	string Url = $1.Url; //跳转地址",
+"}"
+]
+},
+"查询某个首页快捷入口,并赋值": {
+"prefix": "ym-db-IndexIconList-Update",
+"body": [
+"IndexIconList $1 = db.IndexIconList.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Icon = $2; //图标",
+"	$1.Title = $3; //标题",
+"	$1.Url = $4; //跳转地址",
+"}"
+]
+},
+"获取首页快捷入口数量": {
+"prefix": "ym-db-IndexIconList-FindAndCount",
+"body": [
+"int $1 = db.IndexIconList.Count(m => $2);",
+]
+},
+"添加首页快捷入口": {
+"prefix": "ym-db-IndexIconList-Create",
+"body": [
+"db.IndexIconList.Add(new IndexIconList()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Icon = $1, //图标",
+"	Title = $2, //标题",
+"	Url = $3, //跳转地址",
+"});"
+]
+},"删除某个首页快捷入口": {
+"prefix": "ym-db-IndexIconList-Delete",
+"body": [
+"IndexIconList $1 = db.IndexIconList.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.IndexIconList.Remove($1);",
+"}"
+]
+},
+"查询产品品牌列表": {
+"prefix": "ym-db-KqProductBrand-Find",
+"body": [
+"List<KqProductBrand> $1 = db.KqProductBrand.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqProductBrand $3 in $1)",
+"{",
+"}"
+]
+},
+"查询产品品牌列表,并取值": {
+"prefix": "ym-db-KqProductBrand-FindWithData",
+"body": [
+"List<KqProductBrand> $1 = db.KqProductBrand.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqProductBrand $3 in $1)",
+"{",
+"	int ProductId = $3.ProductId; //产品",
+"	string Name = $3.Name; //品牌名称",
+"}"
+]
+},
+"查询产品品牌": {
+"prefix": "ym-db-KqProductBrand-Exist",
+"body": [
+"bool $1 = db.KqProductBrand.Any(m => m.Id == $2);",
+]
+},
+"查询某个产品品牌,并取值": {
+"prefix": "ym-db-KqProductBrand-FindByPrimaryKey",
+"body": [
+"KqProductBrand $1 = db.KqProductBrand.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int ProductId = $1.ProductId; //产品",
+"	string Name = $1.Name; //品牌名称",
+"}"
+]
+},
+"查询某个产品品牌,并赋值": {
+"prefix": "ym-db-KqProductBrand-Update",
+"body": [
+"KqProductBrand $1 = db.KqProductBrand.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ProductId = $2; //产品",
+"	$1.Name = $3; //品牌名称",
+"}"
+]
+},
+"获取产品品牌数量": {
+"prefix": "ym-db-KqProductBrand-FindAndCount",
+"body": [
+"int $1 = db.KqProductBrand.Count(m => $2);",
+]
+},
+"添加产品品牌": {
+"prefix": "ym-db-KqProductBrand-Create",
+"body": [
+"db.KqProductBrand.Add(new KqProductBrand()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ProductId = $1, //产品",
+"	Name = $2, //品牌名称",
+"});"
+]
+},"删除某个产品品牌": {
+"prefix": "ym-db-KqProductBrand-Delete",
+"body": [
+"KqProductBrand $1 = db.KqProductBrand.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.KqProductBrand.Remove($1);",
+"}"
+]
+},
+"查询产品机构列表": {
+"prefix": "ym-db-KqProductOrgs-Find",
+"body": [
+"List<KqProductOrgs> $1 = db.KqProductOrgs.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqProductOrgs $3 in $1)",
+"{",
+"}"
+]
+},
+"查询产品机构列表,并取值": {
+"prefix": "ym-db-KqProductOrgs-FindWithData",
+"body": [
+"List<KqProductOrgs> $1 = db.KqProductOrgs.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqProductOrgs $3 in $1)",
+"{",
+"	int BrandId = $3.BrandId; //品牌",
+"	string Name = $3.Name; //机构名称",
+"}"
+]
+},
+"查询产品机构": {
+"prefix": "ym-db-KqProductOrgs-Exist",
+"body": [
+"bool $1 = db.KqProductOrgs.Any(m => m.Id == $2);",
+]
+},
+"查询某个产品机构,并取值": {
+"prefix": "ym-db-KqProductOrgs-FindByPrimaryKey",
+"body": [
+"KqProductOrgs $1 = db.KqProductOrgs.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int BrandId = $1.BrandId; //品牌",
+"	string Name = $1.Name; //机构名称",
+"}"
+]
+},
+"查询某个产品机构,并赋值": {
+"prefix": "ym-db-KqProductOrgs-Update",
+"body": [
+"KqProductOrgs $1 = db.KqProductOrgs.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.BrandId = $2; //品牌",
+"	$1.Name = $3; //机构名称",
+"}"
+]
+},
+"获取产品机构数量": {
+"prefix": "ym-db-KqProductOrgs-FindAndCount",
+"body": [
+"int $1 = db.KqProductOrgs.Count(m => $2);",
+]
+},
+"添加产品机构": {
+"prefix": "ym-db-KqProductOrgs-Create",
+"body": [
+"db.KqProductOrgs.Add(new KqProductOrgs()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	BrandId = $1, //品牌",
+"	Name = $2, //机构名称",
+"});"
+]
+},"删除某个产品机构": {
+"prefix": "ym-db-KqProductOrgs-Delete",
+"body": [
+"KqProductOrgs $1 = db.KqProductOrgs.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.KqProductOrgs.Remove($1);",
+"}"
+]
+},
+"查询产品规则配置列表": {
+"prefix": "ym-db-KqProductRuleSet-Find",
+"body": [
+"List<KqProductRuleSet> $1 = db.KqProductRuleSet.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqProductRuleSet $3 in $1)",
+"{",
+"}"
+]
+},
+"查询产品规则配置列表,并取值": {
+"prefix": "ym-db-KqProductRuleSet-FindWithData",
+"body": [
+"List<KqProductRuleSet> $1 = db.KqProductRuleSet.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqProductRuleSet $3 in $1)",
+"{",
+"	int OrgId = $3.OrgId; //机构",
+"	decimal Deposit = $3.Deposit; //押金",
+"	int ActiveCount = $3.ActiveCount; //活动政策台数",
+"	decimal ActivePrice = $3.ActivePrice; //活动政策价格",
+"	DateTime MerStaStartDate = $3.MerStaStartDate; //活动开始时间",
+"	DateTime MerStaEndDate = $3.MerStaEndDate; //活动结束时间",
+"	decimal MerStaProfit = $3.MerStaProfit; //达标奖励",
+"	int MerStaMonths = $3.MerStaMonths; //激活后达标月",
+"	decimal MerStaTradeForMonth = $3.MerStaTradeForMonth; //激活后每月达标交易",
+"	DateTime ActStartDate = $3.ActStartDate; //活动开始时间",
+"	DateTime ActEndDate = $3.ActEndDate; //活动结束时间",
+"	decimal ActDeposit = $3.ActDeposit; //激活押金",
+"	decimal ActFirst = $3.ActFirst; //激活首刷",
+"	decimal ActFirstDeposit = $3.ActFirstDeposit; //激活首刷押金",
+"	decimal ActPrize = $3.ActPrize; //激活奖励金额",
+"	int ActPosCount = $3.ActPosCount; //激活赠机台数",
+"	DateTime OpenStartDate = $3.OpenStartDate; //活动开始时间",
+"	DateTime OpenEndDate = $3.OpenEndDate; //活动结束时间",
+"	int OpenStaDays = $3.OpenStaDays; //达标天数",
+"	decimal OpenStaTrade = $3.OpenStaTrade; //达标交易",
+"	decimal OpenStaPrize = $3.OpenStaPrize; //达标奖励1",
+"	decimal OpenStaPrize2 = $3.OpenStaPrize2; //达标奖励2",
+"	DateTime CycleStartDate = $3.CycleStartDate; //活动开始时间",
+"	DateTime CycleEndDate = $3.CycleEndDate; //活动结束时间",
+"	ulong CycleIsOther = $3.CycleIsOther; //是否允许划拨给他人",
+"	int CyclePosDays = $3.CyclePosDays; //领机天数",
+"	DateTime PullNewStartDate = $3.PullNewStartDate; //活动开始时间",
+"	DateTime PullNewEndDate = $3.PullNewEndDate; //活动结束时间",
+"	int PullNewExtendDays = $3.PullNewExtendDays; //延长领机天数",
+"	decimal BigTotalAmount = $3.BigTotalAmount; //购买机起始价",
+"	int BigExtendCycleDays = $3.BigExtendCycleDays; //延长循环周期天数",
+"	DateTime SubsidyStartDate = $3.SubsidyStartDate; //活动开始时间",
+"	DateTime SubsidyEndDate = $3.SubsidyEndDate; //活动结束时间",
+"	DateTime FlowCardStartDate = $3.FlowCardStartDate; //活动开始时间",
+"	DateTime FlowCardEndDate = $3.FlowCardEndDate; //活动结束时间",
+"	int FlowCardFreeDays = $3.FlowCardFreeDays; //免收天数",
+"	decimal FlowCardFee = $3.FlowCardFee; //费用",
+"	DateTime FeeOfDays = $3.FeeOfDays; //扣费频率(天)",
+"	decimal FlowCardDirectProfit = $3.FlowCardDirectProfit; //直属上级返佣",
+"	DateTime HelpStartDate = $3.HelpStartDate; //活动开始时间",
+"	DateTime HelpEndDate = $3.HelpEndDate; //活动结束时间",
+"	int HelpMonths = $3.HelpMonths; //计算自然月",
+"	decimal HelpFee = $3.HelpFee; //扶植期费率",
+"	decimal HelpSteadyFee = $3.HelpSteadyFee; //稳定期费率",
+"	int FeeBindDays = $3.FeeBindDays; //绑定起天数",
+"	decimal FeeFixed = $3.FeeFixed; //固定手续费",
+"	decimal FeeRate = $3.FeeRate; //费率",
+"}"
+]
+},
+"查询产品规则配置": {
+"prefix": "ym-db-KqProductRuleSet-Exist",
+"body": [
+"bool $1 = db.KqProductRuleSet.Any(m => m.Id == $2);",
+]
+},
+"查询某个产品规则配置,并取值": {
+"prefix": "ym-db-KqProductRuleSet-FindByPrimaryKey",
+"body": [
+"KqProductRuleSet $1 = db.KqProductRuleSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int OrgId = $1.OrgId; //机构",
+"	decimal Deposit = $1.Deposit; //押金",
+"	int ActiveCount = $1.ActiveCount; //活动政策台数",
+"	decimal ActivePrice = $1.ActivePrice; //活动政策价格",
+"	DateTime MerStaStartDate = $1.MerStaStartDate; //活动开始时间",
+"	DateTime MerStaEndDate = $1.MerStaEndDate; //活动结束时间",
+"	decimal MerStaProfit = $1.MerStaProfit; //达标奖励",
+"	int MerStaMonths = $1.MerStaMonths; //激活后达标月",
+"	decimal MerStaTradeForMonth = $1.MerStaTradeForMonth; //激活后每月达标交易",
+"	DateTime ActStartDate = $1.ActStartDate; //活动开始时间",
+"	DateTime ActEndDate = $1.ActEndDate; //活动结束时间",
+"	decimal ActDeposit = $1.ActDeposit; //激活押金",
+"	decimal ActFirst = $1.ActFirst; //激活首刷",
+"	decimal ActFirstDeposit = $1.ActFirstDeposit; //激活首刷押金",
+"	decimal ActPrize = $1.ActPrize; //激活奖励金额",
+"	int ActPosCount = $1.ActPosCount; //激活赠机台数",
+"	DateTime OpenStartDate = $1.OpenStartDate; //活动开始时间",
+"	DateTime OpenEndDate = $1.OpenEndDate; //活动结束时间",
+"	int OpenStaDays = $1.OpenStaDays; //达标天数",
+"	decimal OpenStaTrade = $1.OpenStaTrade; //达标交易",
+"	decimal OpenStaPrize = $1.OpenStaPrize; //达标奖励1",
+"	decimal OpenStaPrize2 = $1.OpenStaPrize2; //达标奖励2",
+"	DateTime CycleStartDate = $1.CycleStartDate; //活动开始时间",
+"	DateTime CycleEndDate = $1.CycleEndDate; //活动结束时间",
+"	ulong CycleIsOther = $1.CycleIsOther; //是否允许划拨给他人",
+"	int CyclePosDays = $1.CyclePosDays; //领机天数",
+"	DateTime PullNewStartDate = $1.PullNewStartDate; //活动开始时间",
+"	DateTime PullNewEndDate = $1.PullNewEndDate; //活动结束时间",
+"	int PullNewExtendDays = $1.PullNewExtendDays; //延长领机天数",
+"	decimal BigTotalAmount = $1.BigTotalAmount; //购买机起始价",
+"	int BigExtendCycleDays = $1.BigExtendCycleDays; //延长循环周期天数",
+"	DateTime SubsidyStartDate = $1.SubsidyStartDate; //活动开始时间",
+"	DateTime SubsidyEndDate = $1.SubsidyEndDate; //活动结束时间",
+"	DateTime FlowCardStartDate = $1.FlowCardStartDate; //活动开始时间",
+"	DateTime FlowCardEndDate = $1.FlowCardEndDate; //活动结束时间",
+"	int FlowCardFreeDays = $1.FlowCardFreeDays; //免收天数",
+"	decimal FlowCardFee = $1.FlowCardFee; //费用",
+"	DateTime FeeOfDays = $1.FeeOfDays; //扣费频率(天)",
+"	decimal FlowCardDirectProfit = $1.FlowCardDirectProfit; //直属上级返佣",
+"	DateTime HelpStartDate = $1.HelpStartDate; //活动开始时间",
+"	DateTime HelpEndDate = $1.HelpEndDate; //活动结束时间",
+"	int HelpMonths = $1.HelpMonths; //计算自然月",
+"	decimal HelpFee = $1.HelpFee; //扶植期费率",
+"	decimal HelpSteadyFee = $1.HelpSteadyFee; //稳定期费率",
+"	int FeeBindDays = $1.FeeBindDays; //绑定起天数",
+"	decimal FeeFixed = $1.FeeFixed; //固定手续费",
+"	decimal FeeRate = $1.FeeRate; //费率",
+"}"
+]
+},
+"查询某个产品规则配置,并赋值": {
+"prefix": "ym-db-KqProductRuleSet-Update",
+"body": [
+"KqProductRuleSet $1 = db.KqProductRuleSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.OrgId = $2; //机构",
+"	$1.Deposit = $3; //押金",
+"	$1.ActiveCount = $4; //活动政策台数",
+"	$1.ActivePrice = $5; //活动政策价格",
+"	$1.MerStaStartDate = $6; //活动开始时间",
+"	$1.MerStaEndDate = $7; //活动结束时间",
+"	$1.MerStaProfit = $8; //达标奖励",
+"	$1.MerStaMonths = $9; //激活后达标月",
+"	$1.MerStaTradeForMonth = $10; //激活后每月达标交易",
+"	$1.ActStartDate = $11; //活动开始时间",
+"	$1.ActEndDate = $12; //活动结束时间",
+"	$1.ActDeposit = $13; //激活押金",
+"	$1.ActFirst = $14; //激活首刷",
+"	$1.ActFirstDeposit = $15; //激活首刷押金",
+"	$1.ActPrize = $16; //激活奖励金额",
+"	$1.ActPosCount = $17; //激活赠机台数",
+"	$1.OpenStartDate = $18; //活动开始时间",
+"	$1.OpenEndDate = $19; //活动结束时间",
+"	$1.OpenStaDays = $20; //达标天数",
+"	$1.OpenStaTrade = $21; //达标交易",
+"	$1.OpenStaPrize = $22; //达标奖励1",
+"	$1.OpenStaPrize2 = $23; //达标奖励2",
+"	$1.CycleStartDate = $24; //活动开始时间",
+"	$1.CycleEndDate = $25; //活动结束时间",
+"	$1.CycleIsOther = $26; //是否允许划拨给他人",
+"	$1.CyclePosDays = $27; //领机天数",
+"	$1.PullNewStartDate = $28; //活动开始时间",
+"	$1.PullNewEndDate = $29; //活动结束时间",
+"	$1.PullNewExtendDays = $30; //延长领机天数",
+"	$1.BigTotalAmount = $31; //购买机起始价",
+"	$1.BigExtendCycleDays = $32; //延长循环周期天数",
+"	$1.SubsidyStartDate = $33; //活动开始时间",
+"	$1.SubsidyEndDate = $34; //活动结束时间",
+"	$1.FlowCardStartDate = $35; //活动开始时间",
+"	$1.FlowCardEndDate = $36; //活动结束时间",
+"	$1.FlowCardFreeDays = $37; //免收天数",
+"	$1.FlowCardFee = $38; //费用",
+"	$1.FeeOfDays = $39; //扣费频率(天)",
+"	$1.FlowCardDirectProfit = $40; //直属上级返佣",
+"	$1.HelpStartDate = $41; //活动开始时间",
+"	$1.HelpEndDate = $42; //活动结束时间",
+"	$1.HelpMonths = $43; //计算自然月",
+"	$1.HelpFee = $44; //扶植期费率",
+"	$1.HelpSteadyFee = $45; //稳定期费率",
+"	$1.FeeBindDays = $46; //绑定起天数",
+"	$1.FeeFixed = $47; //固定手续费",
+"	$1.FeeRate = $48; //费率",
+"}"
+]
+},
+"获取产品规则配置数量": {
+"prefix": "ym-db-KqProductRuleSet-FindAndCount",
+"body": [
+"int $1 = db.KqProductRuleSet.Count(m => $2);",
+]
+},
+"添加产品规则配置": {
+"prefix": "ym-db-KqProductRuleSet-Create",
+"body": [
+"db.KqProductRuleSet.Add(new KqProductRuleSet()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	OrgId = $1, //机构",
+"	Deposit = $2, //押金",
+"	ActiveCount = $3, //活动政策台数",
+"	ActivePrice = $4, //活动政策价格",
+"	MerStaStartDate = $5, //活动开始时间",
+"	MerStaEndDate = $6, //活动结束时间",
+"	MerStaProfit = $7, //达标奖励",
+"	MerStaMonths = $8, //激活后达标月",
+"	MerStaTradeForMonth = $9, //激活后每月达标交易",
+"	ActStartDate = $10, //活动开始时间",
+"	ActEndDate = $11, //活动结束时间",
+"	ActDeposit = $12, //激活押金",
+"	ActFirst = $13, //激活首刷",
+"	ActFirstDeposit = $14, //激活首刷押金",
+"	ActPrize = $15, //激活奖励金额",
+"	ActPosCount = $16, //激活赠机台数",
+"	OpenStartDate = $17, //活动开始时间",
+"	OpenEndDate = $18, //活动结束时间",
+"	OpenStaDays = $19, //达标天数",
+"	OpenStaTrade = $20, //达标交易",
+"	OpenStaPrize = $21, //达标奖励1",
+"	OpenStaPrize2 = $22, //达标奖励2",
+"	CycleStartDate = $23, //活动开始时间",
+"	CycleEndDate = $24, //活动结束时间",
+"	CycleIsOther = $25, //是否允许划拨给他人",
+"	CyclePosDays = $26, //领机天数",
+"	PullNewStartDate = $27, //活动开始时间",
+"	PullNewEndDate = $28, //活动结束时间",
+"	PullNewExtendDays = $29, //延长领机天数",
+"	BigTotalAmount = $30, //购买机起始价",
+"	BigExtendCycleDays = $31, //延长循环周期天数",
+"	SubsidyStartDate = $32, //活动开始时间",
+"	SubsidyEndDate = $33, //活动结束时间",
+"	FlowCardStartDate = $34, //活动开始时间",
+"	FlowCardEndDate = $35, //活动结束时间",
+"	FlowCardFreeDays = $36, //免收天数",
+"	FlowCardFee = $37, //费用",
+"	FeeOfDays = $38, //扣费频率(天)",
+"	FlowCardDirectProfit = $39, //直属上级返佣",
+"	HelpStartDate = $40, //活动开始时间",
+"	HelpEndDate = $41, //活动结束时间",
+"	HelpMonths = $42, //计算自然月",
+"	HelpFee = $43, //扶植期费率",
+"	HelpSteadyFee = $44, //稳定期费率",
+"	FeeBindDays = $45, //绑定起天数",
+"	FeeFixed = $46, //固定手续费",
+"	FeeRate = $47, //费率",
+"});"
+]
+},"删除某个产品规则配置": {
+"prefix": "ym-db-KqProductRuleSet-Delete",
+"body": [
+"KqProductRuleSet $1 = db.KqProductRuleSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.KqProductRuleSet.Remove($1);",
+"}"
+]
+},
+"查询产品库列表": {
+"prefix": "ym-db-KqProducts-Find",
+"body": [
+"List<KqProducts> $1 = db.KqProducts.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqProducts $3 in $1)",
+"{",
+"}"
+]
+},
+"查询产品库列表,并取值": {
+"prefix": "ym-db-KqProducts-FindWithData",
+"body": [
+"List<KqProducts> $1 = db.KqProducts.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqProducts $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"}"
+]
+},
+"查询产品库": {
+"prefix": "ym-db-KqProducts-Exist",
+"body": [
+"bool $1 = db.KqProducts.Any(m => m.Id == $2);",
+]
+},
+"查询某个产品库,并取值": {
+"prefix": "ym-db-KqProducts-FindByPrimaryKey",
+"body": [
+"KqProducts $1 = db.KqProducts.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"}"
+]
+},
+"查询某个产品库,并赋值": {
+"prefix": "ym-db-KqProducts-Update",
+"body": [
+"KqProducts $1 = db.KqProducts.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"}"
+]
+},
+"获取产品库数量": {
+"prefix": "ym-db-KqProducts-FindAndCount",
+"body": [
+"int $1 = db.KqProducts.Count(m => $2);",
+]
+},
+"添加产品库": {
+"prefix": "ym-db-KqProducts-Create",
+"body": [
+"db.KqProducts.Add(new KqProducts()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"});"
+]
+},"删除某个产品库": {
+"prefix": "ym-db-KqProducts-Delete",
+"body": [
+"KqProducts $1 = db.KqProducts.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.KqProducts.Remove($1);",
+"}"
+]
+},
+"查询机具申请订单列表": {
+"prefix": "ym-db-MachineApply-Find",
+"body": [
+"List<MachineApply> $1 = db.MachineApply.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MachineApply $3 in $1)",
+"{",
+"}"
+]
+},
+"查询机具申请订单列表,并取值": {
+"prefix": "ym-db-MachineApply-FindWithData",
+"body": [
+"List<MachineApply> $1 = db.MachineApply.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MachineApply $3 in $1)",
+"{",
+"	string ApplyNo = $3.ApplyNo; //申请单号",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //品牌",
+"	string ProductName = $3.ProductName; //产品名称",
+"	string Areas = $3.Areas; //收货所在地区",
+"	string Address = $3.Address; //收货详细地址",
+"	string RealName = $3.RealName; //收件人姓名",
+"	string Mobile = $3.Mobile; //收件人手机号",
+"	string ApplyDeviceName = $3.ApplyDeviceName; //申请机具名称",
+"	int ApplyDeviceNum = $3.ApplyDeviceNum; //申请机具数量",
+"	DateTime ApplyTime = $3.ApplyTime; //申请时间",
+"	string AuditBy = $3.AuditBy; //审核人",
+"	DateTime AuditTime = $3.AuditTime; //审核时间",
+"	int AuditResult = $3.AuditResult; //审核结果",
+"	string AuditRemark = $3.AuditRemark; //审核备注",
+"	DateTime CompleteTime = $3.CompleteTime; //完成时间",
+"	int SendStatus = $3.SendStatus; //发货状态",
+"	string ReturnOrderNo = $3.ReturnOrderNo; //退货单号",
+"	int ReturnStatus = $3.ReturnStatus; //退货状态",
+"	string ExpressNo = $3.ExpressNo; //快递单号",
+"	string ExpressName = $3.ExpressName; //快递名称",
+"	int DeliveryType = $3.DeliveryType; //提货类型",
+"	int SwapActProType = $3.SwapActProType; //兑换实际产品类型",
+"	string SwapActProName = $3.SwapActProName; //兑换实际产品名称",
+"	string OrderExpand = $3.OrderExpand; //订单扩展信息",
+"	string SwapSnExpand = $3.SwapSnExpand; //兑换机器SN来源",
+"	int StoreId = $3.StoreId; //发货仓库",
+"	string StoreName = $3.StoreName; //发货仓库名称",
+"	string StoreAreas = $3.StoreAreas; //仓库所在地区",
+"	string StoreAddress = $3.StoreAddress; //仓库地址",
+"	string StoreManager = $3.StoreManager; //仓库联系人",
+"	string StoreManagerMobile = $3.StoreManagerMobile; //仓库联系人手机号",
+"	string Remark = $3.Remark; //订单备注",
+"	int StoreUserId = $3.StoreUserId; //仓库归属创客",
+"	int StoreType = $3.StoreType; //仓库类型",
+"	DateTime SendDate = $3.SendDate; //发货时间",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"	string SendSn = $3.SendSn; //发货SN",
+"}"
+]
+},
+"查询机具申请订单": {
+"prefix": "ym-db-MachineApply-Exist",
+"body": [
+"bool $1 = db.MachineApply.Any(m => m.Id == $2);",
+]
+},
+"查询某个机具申请订单,并取值": {
+"prefix": "ym-db-MachineApply-FindByPrimaryKey",
+"body": [
+"MachineApply $1 = db.MachineApply.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ApplyNo = $1.ApplyNo; //申请单号",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //品牌",
+"	string ProductName = $1.ProductName; //产品名称",
+"	string Areas = $1.Areas; //收货所在地区",
+"	string Address = $1.Address; //收货详细地址",
+"	string RealName = $1.RealName; //收件人姓名",
+"	string Mobile = $1.Mobile; //收件人手机号",
+"	string ApplyDeviceName = $1.ApplyDeviceName; //申请机具名称",
+"	int ApplyDeviceNum = $1.ApplyDeviceNum; //申请机具数量",
+"	DateTime ApplyTime = $1.ApplyTime; //申请时间",
+"	string AuditBy = $1.AuditBy; //审核人",
+"	DateTime AuditTime = $1.AuditTime; //审核时间",
+"	int AuditResult = $1.AuditResult; //审核结果",
+"	string AuditRemark = $1.AuditRemark; //审核备注",
+"	DateTime CompleteTime = $1.CompleteTime; //完成时间",
+"	int SendStatus = $1.SendStatus; //发货状态",
+"	string ReturnOrderNo = $1.ReturnOrderNo; //退货单号",
+"	int ReturnStatus = $1.ReturnStatus; //退货状态",
+"	string ExpressNo = $1.ExpressNo; //快递单号",
+"	string ExpressName = $1.ExpressName; //快递名称",
+"	int DeliveryType = $1.DeliveryType; //提货类型",
+"	int SwapActProType = $1.SwapActProType; //兑换实际产品类型",
+"	string SwapActProName = $1.SwapActProName; //兑换实际产品名称",
+"	string OrderExpand = $1.OrderExpand; //订单扩展信息",
+"	string SwapSnExpand = $1.SwapSnExpand; //兑换机器SN来源",
+"	int StoreId = $1.StoreId; //发货仓库",
+"	string StoreName = $1.StoreName; //发货仓库名称",
+"	string StoreAreas = $1.StoreAreas; //仓库所在地区",
+"	string StoreAddress = $1.StoreAddress; //仓库地址",
+"	string StoreManager = $1.StoreManager; //仓库联系人",
+"	string StoreManagerMobile = $1.StoreManagerMobile; //仓库联系人手机号",
+"	string Remark = $1.Remark; //订单备注",
+"	int StoreUserId = $1.StoreUserId; //仓库归属创客",
+"	int StoreType = $1.StoreType; //仓库类型",
+"	DateTime SendDate = $1.SendDate; //发货时间",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"	string SendSn = $1.SendSn; //发货SN",
+"}"
+]
+},
+"查询某个机具申请订单,并赋值": {
+"prefix": "ym-db-MachineApply-Update",
+"body": [
+"MachineApply $1 = db.MachineApply.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ApplyNo = $2; //申请单号",
+"	$1.UserId = $3; //创客",
+"	$1.BrandId = $4; //品牌",
+"	$1.ProductName = $5; //产品名称",
+"	$1.Areas = $6; //收货所在地区",
+"	$1.Address = $7; //收货详细地址",
+"	$1.RealName = $8; //收件人姓名",
+"	$1.Mobile = $9; //收件人手机号",
+"	$1.ApplyDeviceName = $10; //申请机具名称",
+"	$1.ApplyDeviceNum = $11; //申请机具数量",
+"	$1.ApplyTime = $12; //申请时间",
+"	$1.AuditBy = $13; //审核人",
+"	$1.AuditTime = $14; //审核时间",
+"	$1.AuditResult = $15; //审核结果",
+"	$1.AuditRemark = $16; //审核备注",
+"	$1.CompleteTime = $17; //完成时间",
+"	$1.SendStatus = $18; //发货状态",
+"	$1.ReturnOrderNo = $19; //退货单号",
+"	$1.ReturnStatus = $20; //退货状态",
+"	$1.ExpressNo = $21; //快递单号",
+"	$1.ExpressName = $22; //快递名称",
+"	$1.DeliveryType = $23; //提货类型",
+"	$1.SwapActProType = $24; //兑换实际产品类型",
+"	$1.SwapActProName = $25; //兑换实际产品名称",
+"	$1.OrderExpand = $26; //订单扩展信息",
+"	$1.SwapSnExpand = $27; //兑换机器SN来源",
+"	$1.StoreId = $28; //发货仓库",
+"	$1.StoreName = $29; //发货仓库名称",
+"	$1.StoreAreas = $30; //仓库所在地区",
+"	$1.StoreAddress = $31; //仓库地址",
+"	$1.StoreManager = $32; //仓库联系人",
+"	$1.StoreManagerMobile = $33; //仓库联系人手机号",
+"	$1.Remark = $34; //订单备注",
+"	$1.StoreUserId = $35; //仓库归属创客",
+"	$1.StoreType = $36; //仓库类型",
+"	$1.SendDate = $37; //发货时间",
+"	$1.TopUserId = $38; //顶级创客",
+"	$1.SendSn = $39; //发货SN",
+"}"
+]
+},
+"获取机具申请订单数量": {
+"prefix": "ym-db-MachineApply-FindAndCount",
+"body": [
+"int $1 = db.MachineApply.Count(m => $2);",
+]
+},
+"添加机具申请订单": {
+"prefix": "ym-db-MachineApply-Create",
+"body": [
+"db.MachineApply.Add(new MachineApply()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ApplyNo = $1, //申请单号",
+"	UserId = $2, //创客",
+"	BrandId = $3, //品牌",
+"	ProductName = $4, //产品名称",
+"	Areas = $5, //收货所在地区",
+"	Address = $6, //收货详细地址",
+"	RealName = $7, //收件人姓名",
+"	Mobile = $8, //收件人手机号",
+"	ApplyDeviceName = $9, //申请机具名称",
+"	ApplyDeviceNum = $10, //申请机具数量",
+"	ApplyTime = $11, //申请时间",
+"	AuditBy = $12, //审核人",
+"	AuditTime = $13, //审核时间",
+"	AuditResult = $14, //审核结果",
+"	AuditRemark = $15, //审核备注",
+"	CompleteTime = $16, //完成时间",
+"	SendStatus = $17, //发货状态",
+"	ReturnOrderNo = $18, //退货单号",
+"	ReturnStatus = $19, //退货状态",
+"	ExpressNo = $20, //快递单号",
+"	ExpressName = $21, //快递名称",
+"	DeliveryType = $22, //提货类型",
+"	SwapActProType = $23, //兑换实际产品类型",
+"	SwapActProName = $24, //兑换实际产品名称",
+"	OrderExpand = $25, //订单扩展信息",
+"	SwapSnExpand = $26, //兑换机器SN来源",
+"	StoreId = $27, //发货仓库",
+"	StoreName = $28, //发货仓库名称",
+"	StoreAreas = $29, //仓库所在地区",
+"	StoreAddress = $30, //仓库地址",
+"	StoreManager = $31, //仓库联系人",
+"	StoreManagerMobile = $32, //仓库联系人手机号",
+"	Remark = $33, //订单备注",
+"	StoreUserId = $34, //仓库归属创客",
+"	StoreType = $35, //仓库类型",
+"	SendDate = $36, //发货时间",
+"	TopUserId = $37, //顶级创客",
+"	SendSn = $38, //发货SN",
+"});"
+]
+},"删除某个机具申请订单": {
+"prefix": "ym-db-MachineApply-Delete",
+"body": [
+"MachineApply $1 = db.MachineApply.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MachineApply.Remove($1);",
+"}"
+]
+},
+"查询机具申请明细列表": {
+"prefix": "ym-db-MachineApplyDetail-Find",
+"body": [
+"List<MachineApplyDetail> $1 = db.MachineApplyDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MachineApplyDetail $3 in $1)",
+"{",
+"}"
+]
+},
+"查询机具申请明细列表,并取值": {
+"prefix": "ym-db-MachineApplyDetail-FindWithData",
+"body": [
+"List<MachineApplyDetail> $1 = db.MachineApplyDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MachineApplyDetail $3 in $1)",
+"{",
+"	string ApplyNo = $3.ApplyNo; //订单号",
+"	int ApplyId = $3.ApplyId; //订单Id",
+"	int ProductType = $3.ProductType; //实际发货产品类型",
+"	string ProductName = $3.ProductName; //实际发货产品名称",
+"	int UserId = $3.UserId; //创客",
+"	string DeviceSnNo = $3.DeviceSnNo; //设备SN编号",
+"	int DeviceStatus = $3.DeviceStatus; //设备状态",
+"	string DeviceVendor = $3.DeviceVendor; //设备厂商",
+"	string DeviceModel = $3.DeviceModel; //设备型号",
+"	string DeviceDesc = $3.DeviceDesc; //设备描述",
+"	int UpSrcProType = $3.UpSrcProType; //上级源机具产品类型",
+"	string UpSrcProName = $3.UpSrcProName; //上级源机具产品名称",
+"	string SourceSnNo = $3.SourceSnNo; //兑换来源SN编码",
+"	int SourceSnType = $3.SourceSnType; //兑换来源SN机具类型",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询机具申请明细": {
+"prefix": "ym-db-MachineApplyDetail-Exist",
+"body": [
+"bool $1 = db.MachineApplyDetail.Any(m => m.Id == $2);",
+]
+},
+"查询某个机具申请明细,并取值": {
+"prefix": "ym-db-MachineApplyDetail-FindByPrimaryKey",
+"body": [
+"MachineApplyDetail $1 = db.MachineApplyDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ApplyNo = $1.ApplyNo; //订单号",
+"	int ApplyId = $1.ApplyId; //订单Id",
+"	int ProductType = $1.ProductType; //实际发货产品类型",
+"	string ProductName = $1.ProductName; //实际发货产品名称",
+"	int UserId = $1.UserId; //创客",
+"	string DeviceSnNo = $1.DeviceSnNo; //设备SN编号",
+"	int DeviceStatus = $1.DeviceStatus; //设备状态",
+"	string DeviceVendor = $1.DeviceVendor; //设备厂商",
+"	string DeviceModel = $1.DeviceModel; //设备型号",
+"	string DeviceDesc = $1.DeviceDesc; //设备描述",
+"	int UpSrcProType = $1.UpSrcProType; //上级源机具产品类型",
+"	string UpSrcProName = $1.UpSrcProName; //上级源机具产品名称",
+"	string SourceSnNo = $1.SourceSnNo; //兑换来源SN编码",
+"	int SourceSnType = $1.SourceSnType; //兑换来源SN机具类型",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个机具申请明细,并赋值": {
+"prefix": "ym-db-MachineApplyDetail-Update",
+"body": [
+"MachineApplyDetail $1 = db.MachineApplyDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ApplyNo = $2; //订单号",
+"	$1.ApplyId = $3; //订单Id",
+"	$1.ProductType = $4; //实际发货产品类型",
+"	$1.ProductName = $5; //实际发货产品名称",
+"	$1.UserId = $6; //创客",
+"	$1.DeviceSnNo = $7; //设备SN编号",
+"	$1.DeviceStatus = $8; //设备状态",
+"	$1.DeviceVendor = $9; //设备厂商",
+"	$1.DeviceModel = $10; //设备型号",
+"	$1.DeviceDesc = $11; //设备描述",
+"	$1.UpSrcProType = $12; //上级源机具产品类型",
+"	$1.UpSrcProName = $13; //上级源机具产品名称",
+"	$1.SourceSnNo = $14; //兑换来源SN编码",
+"	$1.SourceSnType = $15; //兑换来源SN机具类型",
+"	$1.Remark = $16; //备注",
+"}"
+]
+},
+"获取机具申请明细数量": {
+"prefix": "ym-db-MachineApplyDetail-FindAndCount",
+"body": [
+"int $1 = db.MachineApplyDetail.Count(m => $2);",
+]
+},
+"添加机具申请明细": {
+"prefix": "ym-db-MachineApplyDetail-Create",
+"body": [
+"db.MachineApplyDetail.Add(new MachineApplyDetail()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ApplyNo = $1, //订单号",
+"	ApplyId = $2, //订单Id",
+"	ProductType = $3, //实际发货产品类型",
+"	ProductName = $4, //实际发货产品名称",
+"	UserId = $5, //创客",
+"	DeviceSnNo = $6, //设备SN编号",
+"	DeviceStatus = $7, //设备状态",
+"	DeviceVendor = $8, //设备厂商",
+"	DeviceModel = $9, //设备型号",
+"	DeviceDesc = $10, //设备描述",
+"	UpSrcProType = $11, //上级源机具产品类型",
+"	UpSrcProName = $12, //上级源机具产品名称",
+"	SourceSnNo = $13, //兑换来源SN编码",
+"	SourceSnType = $14, //兑换来源SN机具类型",
+"	Remark = $15, //备注",
+"});"
+]
+},"删除某个机具申请明细": {
+"prefix": "ym-db-MachineApplyDetail-Delete",
+"body": [
+"MachineApplyDetail $1 = db.MachineApplyDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MachineApplyDetail.Remove($1);",
+"}"
+]
+},
+"查询机具转换订单列表": {
+"prefix": "ym-db-MachineChange-Find",
+"body": [
+"List<MachineChange> $1 = db.MachineChange.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MachineChange $3 in $1)",
+"{",
+"}"
+]
+},
+"查询机具转换订单列表,并取值": {
+"prefix": "ym-db-MachineChange-FindWithData",
+"body": [
+"List<MachineChange> $1 = db.MachineChange.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MachineChange $3 in $1)",
+"{",
+"	string ChangeNo = $3.ChangeNo; //转换单号",
+"	int UserId = $3.UserId; //创客",
+"	int BackProductType = $3.BackProductType; //退回产品类型",
+"	string BackProductName = $3.BackProductName; //退回产品名称",
+"	string ChangeDeviceName = $3.ChangeDeviceName; //转换机具名称",
+"	int ChangeDeviceNum = $3.ChangeDeviceNum; //转换机具数量",
+"	DateTime ChangeTime = $3.ChangeTime; //转换时间",
+"	string AuditBy = $3.AuditBy; //审核人",
+"	DateTime AuditTime = $3.AuditTime; //审核时间",
+"	int AuditResult = $3.AuditResult; //审核结果",
+"	string AuditRemark = $3.AuditRemark; //审核备注",
+"	DateTime CompleteTime = $3.CompleteTime; //完成时间",
+"	string OrderExpand = $3.OrderExpand; //订单扩展信息",
+"	string ChangeSnExpand = $3.ChangeSnExpand; //转换机器SN来源",
+"	int BackStoreId = $3.BackStoreId; //退回仓库",
+"	string BackStoreName = $3.BackStoreName; //退回仓库名称",
+"	string Remark = $3.Remark; //订单备注",
+"	int BackStoreUserId = $3.BackStoreUserId; //退回仓库归属人",
+"	int OutProductType = $3.OutProductType; //出库产品类型",
+"	string OutProductName = $3.OutProductName; //出库产品名称",
+"	int OutStoreId = $3.OutStoreId; //出库仓库",
+"	string OutStoreName = $3.OutStoreName; //出库仓库名称",
+"	string OutStoreAreas = $3.OutStoreAreas; //出库仓库所在地区",
+"	string OutStoreAddress	 = $3.OutStoreAddress	; //出库仓库地址",
+"	string OutStoreManager = $3.OutStoreManager; //出库仓库联系人",
+"	string OutStoreManagerMobile = $3.OutStoreManagerMobile; //出库仓库联系人手机号",
+"}"
+]
+},
+"查询机具转换订单": {
+"prefix": "ym-db-MachineChange-Exist",
+"body": [
+"bool $1 = db.MachineChange.Any(m => m.Id == $2);",
+]
+},
+"查询某个机具转换订单,并取值": {
+"prefix": "ym-db-MachineChange-FindByPrimaryKey",
+"body": [
+"MachineChange $1 = db.MachineChange.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ChangeNo = $1.ChangeNo; //转换单号",
+"	int UserId = $1.UserId; //创客",
+"	int BackProductType = $1.BackProductType; //退回产品类型",
+"	string BackProductName = $1.BackProductName; //退回产品名称",
+"	string ChangeDeviceName = $1.ChangeDeviceName; //转换机具名称",
+"	int ChangeDeviceNum = $1.ChangeDeviceNum; //转换机具数量",
+"	DateTime ChangeTime = $1.ChangeTime; //转换时间",
+"	string AuditBy = $1.AuditBy; //审核人",
+"	DateTime AuditTime = $1.AuditTime; //审核时间",
+"	int AuditResult = $1.AuditResult; //审核结果",
+"	string AuditRemark = $1.AuditRemark; //审核备注",
+"	DateTime CompleteTime = $1.CompleteTime; //完成时间",
+"	string OrderExpand = $1.OrderExpand; //订单扩展信息",
+"	string ChangeSnExpand = $1.ChangeSnExpand; //转换机器SN来源",
+"	int BackStoreId = $1.BackStoreId; //退回仓库",
+"	string BackStoreName = $1.BackStoreName; //退回仓库名称",
+"	string Remark = $1.Remark; //订单备注",
+"	int BackStoreUserId = $1.BackStoreUserId; //退回仓库归属人",
+"	int OutProductType = $1.OutProductType; //出库产品类型",
+"	string OutProductName = $1.OutProductName; //出库产品名称",
+"	int OutStoreId = $1.OutStoreId; //出库仓库",
+"	string OutStoreName = $1.OutStoreName; //出库仓库名称",
+"	string OutStoreAreas = $1.OutStoreAreas; //出库仓库所在地区",
+"	string OutStoreAddress	 = $1.OutStoreAddress	; //出库仓库地址",
+"	string OutStoreManager = $1.OutStoreManager; //出库仓库联系人",
+"	string OutStoreManagerMobile = $1.OutStoreManagerMobile; //出库仓库联系人手机号",
+"}"
+]
+},
+"查询某个机具转换订单,并赋值": {
+"prefix": "ym-db-MachineChange-Update",
+"body": [
+"MachineChange $1 = db.MachineChange.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ChangeNo = $2; //转换单号",
+"	$1.UserId = $3; //创客",
+"	$1.BackProductType = $4; //退回产品类型",
+"	$1.BackProductName = $5; //退回产品名称",
+"	$1.ChangeDeviceName = $6; //转换机具名称",
+"	$1.ChangeDeviceNum = $7; //转换机具数量",
+"	$1.ChangeTime = $8; //转换时间",
+"	$1.AuditBy = $9; //审核人",
+"	$1.AuditTime = $10; //审核时间",
+"	$1.AuditResult = $11; //审核结果",
+"	$1.AuditRemark = $12; //审核备注",
+"	$1.CompleteTime = $13; //完成时间",
+"	$1.OrderExpand = $14; //订单扩展信息",
+"	$1.ChangeSnExpand = $15; //转换机器SN来源",
+"	$1.BackStoreId = $16; //退回仓库",
+"	$1.BackStoreName = $17; //退回仓库名称",
+"	$1.Remark = $18; //订单备注",
+"	$1.BackStoreUserId = $19; //退回仓库归属人",
+"	$1.OutProductType = $20; //出库产品类型",
+"	$1.OutProductName = $21; //出库产品名称",
+"	$1.OutStoreId = $22; //出库仓库",
+"	$1.OutStoreName = $23; //出库仓库名称",
+"	$1.OutStoreAreas = $24; //出库仓库所在地区",
+"	$1.OutStoreAddress	 = $25; //出库仓库地址",
+"	$1.OutStoreManager = $26; //出库仓库联系人",
+"	$1.OutStoreManagerMobile = $27; //出库仓库联系人手机号",
+"}"
+]
+},
+"获取机具转换订单数量": {
+"prefix": "ym-db-MachineChange-FindAndCount",
+"body": [
+"int $1 = db.MachineChange.Count(m => $2);",
+]
+},
+"添加机具转换订单": {
+"prefix": "ym-db-MachineChange-Create",
+"body": [
+"db.MachineChange.Add(new MachineChange()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ChangeNo = $1, //转换单号",
+"	UserId = $2, //创客",
+"	BackProductType = $3, //退回产品类型",
+"	BackProductName = $4, //退回产品名称",
+"	ChangeDeviceName = $5, //转换机具名称",
+"	ChangeDeviceNum = $6, //转换机具数量",
+"	ChangeTime = $7, //转换时间",
+"	AuditBy = $8, //审核人",
+"	AuditTime = $9, //审核时间",
+"	AuditResult = $10, //审核结果",
+"	AuditRemark = $11, //审核备注",
+"	CompleteTime = $12, //完成时间",
+"	OrderExpand = $13, //订单扩展信息",
+"	ChangeSnExpand = $14, //转换机器SN来源",
+"	BackStoreId = $15, //退回仓库",
+"	BackStoreName = $16, //退回仓库名称",
+"	Remark = $17, //订单备注",
+"	BackStoreUserId = $18, //退回仓库归属人",
+"	OutProductType = $19, //出库产品类型",
+"	OutProductName = $20, //出库产品名称",
+"	OutStoreId = $21, //出库仓库",
+"	OutStoreName = $22, //出库仓库名称",
+"	OutStoreAreas = $23, //出库仓库所在地区",
+"	OutStoreAddress	 = $24, //出库仓库地址",
+"	OutStoreManager = $25, //出库仓库联系人",
+"	OutStoreManagerMobile = $26, //出库仓库联系人手机号",
+"});"
+]
+},"删除某个机具转换订单": {
+"prefix": "ym-db-MachineChange-Delete",
+"body": [
+"MachineChange $1 = db.MachineChange.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MachineChange.Remove($1);",
+"}"
+]
+},
+"查询机具转换明细列表": {
+"prefix": "ym-db-MachineChangeDetail-Find",
+"body": [
+"List<MachineChangeDetail> $1 = db.MachineChangeDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MachineChangeDetail $3 in $1)",
+"{",
+"}"
+]
+},
+"查询机具转换明细列表,并取值": {
+"prefix": "ym-db-MachineChangeDetail-FindWithData",
+"body": [
+"List<MachineChangeDetail> $1 = db.MachineChangeDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MachineChangeDetail $3 in $1)",
+"{",
+"	string ChangeNo = $3.ChangeNo; //订单号",
+"	int ChangeId = $3.ChangeId; //订单Id",
+"	int BackProductType = $3.BackProductType; //退回产品类型",
+"	string BackProductName = $3.BackProductName; //退回产品名称",
+"	int UserId = $3.UserId; //创客",
+"	string BackSnNo = $3.BackSnNo; //设备SN编号",
+"	int BackDeviceStatus = $3.BackDeviceStatus; //设备状态",
+"	int OutProductType	 = $3.OutProductType	; //出库产品类型",
+"	string OutProductName = $3.OutProductName; //出库产品名称",
+"	string OutSnNo = $3.OutSnNo; //出库设备SN编号",
+"	int OutSnType = $3.OutSnType; //出库SN机具类型",
+"	string Remark = $3.Remark; //备注",
+"	int BackSnType = $3.BackSnType; //退回SN机具类型",
+"}"
+]
+},
+"查询机具转换明细": {
+"prefix": "ym-db-MachineChangeDetail-Exist",
+"body": [
+"bool $1 = db.MachineChangeDetail.Any(m => m.Id == $2);",
+]
+},
+"查询某个机具转换明细,并取值": {
+"prefix": "ym-db-MachineChangeDetail-FindByPrimaryKey",
+"body": [
+"MachineChangeDetail $1 = db.MachineChangeDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ChangeNo = $1.ChangeNo; //订单号",
+"	int ChangeId = $1.ChangeId; //订单Id",
+"	int BackProductType = $1.BackProductType; //退回产品类型",
+"	string BackProductName = $1.BackProductName; //退回产品名称",
+"	int UserId = $1.UserId; //创客",
+"	string BackSnNo = $1.BackSnNo; //设备SN编号",
+"	int BackDeviceStatus = $1.BackDeviceStatus; //设备状态",
+"	int OutProductType	 = $1.OutProductType	; //出库产品类型",
+"	string OutProductName = $1.OutProductName; //出库产品名称",
+"	string OutSnNo = $1.OutSnNo; //出库设备SN编号",
+"	int OutSnType = $1.OutSnType; //出库SN机具类型",
+"	string Remark = $1.Remark; //备注",
+"	int BackSnType = $1.BackSnType; //退回SN机具类型",
+"}"
+]
+},
+"查询某个机具转换明细,并赋值": {
+"prefix": "ym-db-MachineChangeDetail-Update",
+"body": [
+"MachineChangeDetail $1 = db.MachineChangeDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ChangeNo = $2; //订单号",
+"	$1.ChangeId = $3; //订单Id",
+"	$1.BackProductType = $4; //退回产品类型",
+"	$1.BackProductName = $5; //退回产品名称",
+"	$1.UserId = $6; //创客",
+"	$1.BackSnNo = $7; //设备SN编号",
+"	$1.BackDeviceStatus = $8; //设备状态",
+"	$1.OutProductType	 = $9; //出库产品类型",
+"	$1.OutProductName = $10; //出库产品名称",
+"	$1.OutSnNo = $11; //出库设备SN编号",
+"	$1.OutSnType = $12; //出库SN机具类型",
+"	$1.Remark = $13; //备注",
+"	$1.BackSnType = $14; //退回SN机具类型",
+"}"
+]
+},
+"获取机具转换明细数量": {
+"prefix": "ym-db-MachineChangeDetail-FindAndCount",
+"body": [
+"int $1 = db.MachineChangeDetail.Count(m => $2);",
+]
+},
+"添加机具转换明细": {
+"prefix": "ym-db-MachineChangeDetail-Create",
+"body": [
+"db.MachineChangeDetail.Add(new MachineChangeDetail()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ChangeNo = $1, //订单号",
+"	ChangeId = $2, //订单Id",
+"	BackProductType = $3, //退回产品类型",
+"	BackProductName = $4, //退回产品名称",
+"	UserId = $5, //创客",
+"	BackSnNo = $6, //设备SN编号",
+"	BackDeviceStatus = $7, //设备状态",
+"	OutProductType	 = $8, //出库产品类型",
+"	OutProductName = $9, //出库产品名称",
+"	OutSnNo = $10, //出库设备SN编号",
+"	OutSnType = $11, //出库SN机具类型",
+"	Remark = $12, //备注",
+"	BackSnType = $13, //退回SN机具类型",
+"});"
+]
+},"删除某个机具转换明细": {
+"prefix": "ym-db-MachineChangeDetail-Delete",
+"body": [
+"MachineChangeDetail $1 = db.MachineChangeDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MachineChangeDetail.Remove($1);",
+"}"
+]
+},
+"查询机具损坏换新申请列表": {
+"prefix": "ym-db-MachineRenew-Find",
+"body": [
+"List<MachineRenew> $1 = db.MachineRenew.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MachineRenew $3 in $1)",
+"{",
+"}"
+]
+},
+"查询机具损坏换新申请列表,并取值": {
+"prefix": "ym-db-MachineRenew-FindWithData",
+"body": [
+"List<MachineRenew> $1 = db.MachineRenew.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MachineRenew $3 in $1)",
+"{",
+"	string ApplyNo = $3.ApplyNo; //机具售后换新申请订单号",
+"	string ApplyDate = $3.ApplyDate; //机具售后换新申请时间",
+"	int UserId = $3.UserId; //创客",
+"	int DamagedBrandId = $3.DamagedBrandId; //损坏的机具产品类型",
+"	string DamagedSnNo = $3.DamagedSnNo; //创客损坏的机具SN",
+"	int DamagedSnType = $3.DamagedSnType; //损坏的机具SN机具类型",
+"	int ReplaceBrandId = $3.ReplaceBrandId; //替换的机具产品类型",
+"	string ReplaceSnNo = $3.ReplaceSnNo; //创客机具替换SN",
+"	int ReplaceSnType = $3.ReplaceSnType; //替换的机具SN机具类型",
+"	int DeliverBrandId = $3.DeliverBrandId; //仓库换新发货的机具产品类型",
+"	string DeliverSnNo = $3.DeliverSnNo; //仓库换新发货SN",
+"	string DemandDesc = $3.DemandDesc; //售后换新机具处理需求描述",
+"	int audit_status = $3.audit_status; //审核状态",
+"	string AuditDesc = $3.AuditDesc; //创客机具售后换新审核描述",
+"	DateTime AuditDate = $3.AuditDate; //审核时间",
+"}"
+]
+},
+"查询机具损坏换新申请": {
+"prefix": "ym-db-MachineRenew-Exist",
+"body": [
+"bool $1 = db.MachineRenew.Any(m => m.Id == $2);",
+]
+},
+"查询某个机具损坏换新申请,并取值": {
+"prefix": "ym-db-MachineRenew-FindByPrimaryKey",
+"body": [
+"MachineRenew $1 = db.MachineRenew.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ApplyNo = $1.ApplyNo; //机具售后换新申请订单号",
+"	string ApplyDate = $1.ApplyDate; //机具售后换新申请时间",
+"	int UserId = $1.UserId; //创客",
+"	int DamagedBrandId = $1.DamagedBrandId; //损坏的机具产品类型",
+"	string DamagedSnNo = $1.DamagedSnNo; //创客损坏的机具SN",
+"	int DamagedSnType = $1.DamagedSnType; //损坏的机具SN机具类型",
+"	int ReplaceBrandId = $1.ReplaceBrandId; //替换的机具产品类型",
+"	string ReplaceSnNo = $1.ReplaceSnNo; //创客机具替换SN",
+"	int ReplaceSnType = $1.ReplaceSnType; //替换的机具SN机具类型",
+"	int DeliverBrandId = $1.DeliverBrandId; //仓库换新发货的机具产品类型",
+"	string DeliverSnNo = $1.DeliverSnNo; //仓库换新发货SN",
+"	string DemandDesc = $1.DemandDesc; //售后换新机具处理需求描述",
+"	int audit_status = $1.audit_status; //审核状态",
+"	string AuditDesc = $1.AuditDesc; //创客机具售后换新审核描述",
+"	DateTime AuditDate = $1.AuditDate; //审核时间",
+"}"
+]
+},
+"查询某个机具损坏换新申请,并赋值": {
+"prefix": "ym-db-MachineRenew-Update",
+"body": [
+"MachineRenew $1 = db.MachineRenew.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ApplyNo = $2; //机具售后换新申请订单号",
+"	$1.ApplyDate = $3; //机具售后换新申请时间",
+"	$1.UserId = $4; //创客",
+"	$1.DamagedBrandId = $5; //损坏的机具产品类型",
+"	$1.DamagedSnNo = $6; //创客损坏的机具SN",
+"	$1.DamagedSnType = $7; //损坏的机具SN机具类型",
+"	$1.ReplaceBrandId = $8; //替换的机具产品类型",
+"	$1.ReplaceSnNo = $9; //创客机具替换SN",
+"	$1.ReplaceSnType = $10; //替换的机具SN机具类型",
+"	$1.DeliverBrandId = $11; //仓库换新发货的机具产品类型",
+"	$1.DeliverSnNo = $12; //仓库换新发货SN",
+"	$1.DemandDesc = $13; //售后换新机具处理需求描述",
+"	$1.audit_status = $14; //审核状态",
+"	$1.AuditDesc = $15; //创客机具售后换新审核描述",
+"	$1.AuditDate = $16; //审核时间",
+"}"
+]
+},
+"获取机具损坏换新申请数量": {
+"prefix": "ym-db-MachineRenew-FindAndCount",
+"body": [
+"int $1 = db.MachineRenew.Count(m => $2);",
+]
+},
+"添加机具损坏换新申请": {
+"prefix": "ym-db-MachineRenew-Create",
+"body": [
+"db.MachineRenew.Add(new MachineRenew()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ApplyNo = $1, //机具售后换新申请订单号",
+"	ApplyDate = $2, //机具售后换新申请时间",
+"	UserId = $3, //创客",
+"	DamagedBrandId = $4, //损坏的机具产品类型",
+"	DamagedSnNo = $5, //创客损坏的机具SN",
+"	DamagedSnType = $6, //损坏的机具SN机具类型",
+"	ReplaceBrandId = $7, //替换的机具产品类型",
+"	ReplaceSnNo = $8, //创客机具替换SN",
+"	ReplaceSnType = $9, //替换的机具SN机具类型",
+"	DeliverBrandId = $10, //仓库换新发货的机具产品类型",
+"	DeliverSnNo = $11, //仓库换新发货SN",
+"	DemandDesc = $12, //售后换新机具处理需求描述",
+"	audit_status = $13, //审核状态",
+"	AuditDesc = $14, //创客机具售后换新审核描述",
+"	AuditDate = $15, //审核时间",
+"});"
+]
+},"删除某个机具损坏换新申请": {
+"prefix": "ym-db-MachineRenew-Delete",
+"body": [
+"MachineRenew $1 = db.MachineRenew.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MachineRenew.Remove($1);",
+"}"
+]
+},
+"查询机具退货申请订单列表": {
+"prefix": "ym-db-MachineReturn-Find",
+"body": [
+"List<MachineReturn> $1 = db.MachineReturn.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MachineReturn $3 in $1)",
+"{",
+"}"
+]
+},
+"查询机具退货申请订单列表,并取值": {
+"prefix": "ym-db-MachineReturn-FindWithData",
+"body": [
+"List<MachineReturn> $1 = db.MachineReturn.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MachineReturn $3 in $1)",
+"{",
+"	string ApplyNo = $3.ApplyNo; //申请单号",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //品牌",
+"	int DeviceNum = $3.DeviceNum; //申请退货数量",
+"	string DeviceSnNos = $3.DeviceSnNos; //退货机具编号",
+"	int ToStoreId = $3.ToStoreId; //退回仓库",
+"	string DeviceDesc = $3.DeviceDesc; //设备描述",
+"	int AuditStatus = $3.AuditStatus; //审核状态",
+"	string Operator = $3.Operator; //操作人",
+"	string Remark = $3.Remark; //退货备注",
+"}"
+]
+},
+"查询机具退货申请订单": {
+"prefix": "ym-db-MachineReturn-Exist",
+"body": [
+"bool $1 = db.MachineReturn.Any(m => m.Id == $2);",
+]
+},
+"查询某个机具退货申请订单,并取值": {
+"prefix": "ym-db-MachineReturn-FindByPrimaryKey",
+"body": [
+"MachineReturn $1 = db.MachineReturn.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ApplyNo = $1.ApplyNo; //申请单号",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //品牌",
+"	int DeviceNum = $1.DeviceNum; //申请退货数量",
+"	string DeviceSnNos = $1.DeviceSnNos; //退货机具编号",
+"	int ToStoreId = $1.ToStoreId; //退回仓库",
+"	string DeviceDesc = $1.DeviceDesc; //设备描述",
+"	int AuditStatus = $1.AuditStatus; //审核状态",
+"	string Operator = $1.Operator; //操作人",
+"	string Remark = $1.Remark; //退货备注",
+"}"
+]
+},
+"查询某个机具退货申请订单,并赋值": {
+"prefix": "ym-db-MachineReturn-Update",
+"body": [
+"MachineReturn $1 = db.MachineReturn.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ApplyNo = $2; //申请单号",
+"	$1.UserId = $3; //创客",
+"	$1.BrandId = $4; //品牌",
+"	$1.DeviceNum = $5; //申请退货数量",
+"	$1.DeviceSnNos = $6; //退货机具编号",
+"	$1.ToStoreId = $7; //退回仓库",
+"	$1.DeviceDesc = $8; //设备描述",
+"	$1.AuditStatus = $9; //审核状态",
+"	$1.Operator = $10; //操作人",
+"	$1.Remark = $11; //退货备注",
+"}"
+]
+},
+"获取机具退货申请订单数量": {
+"prefix": "ym-db-MachineReturn-FindAndCount",
+"body": [
+"int $1 = db.MachineReturn.Count(m => $2);",
+]
+},
+"添加机具退货申请订单": {
+"prefix": "ym-db-MachineReturn-Create",
+"body": [
+"db.MachineReturn.Add(new MachineReturn()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ApplyNo = $1, //申请单号",
+"	UserId = $2, //创客",
+"	BrandId = $3, //品牌",
+"	DeviceNum = $4, //申请退货数量",
+"	DeviceSnNos = $5, //退货机具编号",
+"	ToStoreId = $6, //退回仓库",
+"	DeviceDesc = $7, //设备描述",
+"	AuditStatus = $8, //审核状态",
+"	Operator = $9, //操作人",
+"	Remark = $10, //退货备注",
+"});"
+]
+},"删除某个机具退货申请订单": {
+"prefix": "ym-db-MachineReturn-Delete",
+"body": [
+"MachineReturn $1 = db.MachineReturn.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MachineReturn.Remove($1);",
+"}"
+]
+},
+"查询商家管理员列表": {
+"prefix": "ym-db-MerchantAdmin-Find",
+"body": [
+"List<MerchantAdmin> $1 = db.MerchantAdmin.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantAdmin $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商家管理员列表,并取值": {
+"prefix": "ym-db-MerchantAdmin-FindWithData",
+"body": [
+"List<MerchantAdmin> $1 = db.MerchantAdmin.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantAdmin $3 in $1)",
+"{",
+"	string AdminName = $3.AdminName; //用户名",
+"	string Password = $3.Password; //密码",
+"	string RealName = $3.RealName; //名称",
+"	string RightInfo = $3.RightInfo; //权限",
+"	DateTime LastLoginDate = $3.LastLoginDate; //最后登录时间",
+"	string Mobile = $3.Mobile; //手机号",
+"	string Email = $3.Email; //邮箱",
+"	string QQ = $3.QQ; //QQ号",
+"	string Note = $3.Note; //备注",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"}"
+]
+},
+"查询商家管理员": {
+"prefix": "ym-db-MerchantAdmin-Exist",
+"body": [
+"bool $1 = db.MerchantAdmin.Any(m => m.Id == $2);",
+]
+},
+"查询某个商家管理员,并取值": {
+"prefix": "ym-db-MerchantAdmin-FindByPrimaryKey",
+"body": [
+"MerchantAdmin $1 = db.MerchantAdmin.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string AdminName = $1.AdminName; //用户名",
+"	string Password = $1.Password; //密码",
+"	string RealName = $1.RealName; //名称",
+"	string RightInfo = $1.RightInfo; //权限",
+"	DateTime LastLoginDate = $1.LastLoginDate; //最后登录时间",
+"	string Mobile = $1.Mobile; //手机号",
+"	string Email = $1.Email; //邮箱",
+"	string QQ = $1.QQ; //QQ号",
+"	string Note = $1.Note; //备注",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"}"
+]
+},
+"查询某个商家管理员,并赋值": {
+"prefix": "ym-db-MerchantAdmin-Update",
+"body": [
+"MerchantAdmin $1 = db.MerchantAdmin.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.AdminName = $2; //用户名",
+"	$1.Password = $3; //密码",
+"	$1.RealName = $4; //名称",
+"	$1.RightInfo = $5; //权限",
+"	$1.LastLoginDate = $6; //最后登录时间",
+"	$1.Mobile = $7; //手机号",
+"	$1.Email = $8; //邮箱",
+"	$1.QQ = $9; //QQ号",
+"	$1.Note = $10; //备注",
+"	$1.MerchantId = $11; //商家Id",
+"}"
+]
+},
+"获取商家管理员数量": {
+"prefix": "ym-db-MerchantAdmin-FindAndCount",
+"body": [
+"int $1 = db.MerchantAdmin.Count(m => $2);",
+]
+},
+"添加商家管理员": {
+"prefix": "ym-db-MerchantAdmin-Create",
+"body": [
+"db.MerchantAdmin.Add(new MerchantAdmin()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	AdminName = $1, //用户名",
+"	Password = $2, //密码",
+"	RealName = $3, //名称",
+"	RightInfo = $4, //权限",
+"	LastLoginDate = $5, //最后登录时间",
+"	Mobile = $6, //手机号",
+"	Email = $7, //邮箱",
+"	QQ = $8, //QQ号",
+"	Note = $9, //备注",
+"	MerchantId = $10, //商家Id",
+"});"
+]
+},"删除某个商家管理员": {
+"prefix": "ym-db-MerchantAdmin-Delete",
+"body": [
+"MerchantAdmin $1 = db.MerchantAdmin.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MerchantAdmin.Remove($1);",
+"}"
+]
+},
+"查询商户实名信息列表": {
+"prefix": "ym-db-MerchantAuth-Find",
+"body": [
+"List<MerchantAuth> $1 = db.MerchantAuth.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantAuth $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商户实名信息列表,并取值": {
+"prefix": "ym-db-MerchantAuth-FindWithData",
+"body": [
+"List<MerchantAuth> $1 = db.MerchantAuth.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantAuth $3 in $1)",
+"{",
+"	string ChannelCode = $3.ChannelCode; //渠道编码",
+"	string ChannelName = $3.ChannelName; //渠道名称	",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string RealName = $3.RealName; //真实姓名",
+"	string IdCardNo = $3.IdCardNo; //身份证号",
+"	string BankCardAccount = $3.BankCardAccount; //银行卡账号",
+"	string BankName = $3.BankName; //银行名称",
+"	string BankMobile = $3.BankMobile; //银行预留手机号码",
+"	string ReqData = $3.ReqData; //渠道请求报文",
+"	string RespData = $3.RespData; //渠道响应报文",
+"	string ReturnCode = $3.ReturnCode; //渠道返回编码",
+"	string ReturnMsg = $3.ReturnMsg; //渠道返回信息",
+"	int AuthType = $3.AuthType; //实名类型",
+"	int MerchantId = $3.MerchantId; //商户",
+"}"
+]
+},
+"查询商户实名信息": {
+"prefix": "ym-db-MerchantAuth-Exist",
+"body": [
+"bool $1 = db.MerchantAuth.Any(m => m.Id == $2);",
+]
+},
+"查询某个商户实名信息,并取值": {
+"prefix": "ym-db-MerchantAuth-FindByPrimaryKey",
+"body": [
+"MerchantAuth $1 = db.MerchantAuth.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ChannelCode = $1.ChannelCode; //渠道编码",
+"	string ChannelName = $1.ChannelName; //渠道名称	",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string RealName = $1.RealName; //真实姓名",
+"	string IdCardNo = $1.IdCardNo; //身份证号",
+"	string BankCardAccount = $1.BankCardAccount; //银行卡账号",
+"	string BankName = $1.BankName; //银行名称",
+"	string BankMobile = $1.BankMobile; //银行预留手机号码",
+"	string ReqData = $1.ReqData; //渠道请求报文",
+"	string RespData = $1.RespData; //渠道响应报文",
+"	string ReturnCode = $1.ReturnCode; //渠道返回编码",
+"	string ReturnMsg = $1.ReturnMsg; //渠道返回信息",
+"	int AuthType = $1.AuthType; //实名类型",
+"	int MerchantId = $1.MerchantId; //商户",
+"}"
+]
+},
+"查询某个商户实名信息,并赋值": {
+"prefix": "ym-db-MerchantAuth-Update",
+"body": [
+"MerchantAuth $1 = db.MerchantAuth.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ChannelCode = $2; //渠道编码",
+"	$1.ChannelName = $3; //渠道名称	",
+"	$1.MerNo = $4; //商户编号",
+"	$1.RealName = $5; //真实姓名",
+"	$1.IdCardNo = $6; //身份证号",
+"	$1.BankCardAccount = $7; //银行卡账号",
+"	$1.BankName = $8; //银行名称",
+"	$1.BankMobile = $9; //银行预留手机号码",
+"	$1.ReqData = $10; //渠道请求报文",
+"	$1.RespData = $11; //渠道响应报文",
+"	$1.ReturnCode = $12; //渠道返回编码",
+"	$1.ReturnMsg = $13; //渠道返回信息",
+"	$1.AuthType = $14; //实名类型",
+"	$1.MerchantId = $15; //商户",
+"}"
+]
+},
+"获取商户实名信息数量": {
+"prefix": "ym-db-MerchantAuth-FindAndCount",
+"body": [
+"int $1 = db.MerchantAuth.Count(m => $2);",
+]
+},
+"添加商户实名信息": {
+"prefix": "ym-db-MerchantAuth-Create",
+"body": [
+"db.MerchantAuth.Add(new MerchantAuth()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ChannelCode = $1, //渠道编码",
+"	ChannelName = $2, //渠道名称	",
+"	MerNo = $3, //商户编号",
+"	RealName = $4, //真实姓名",
+"	IdCardNo = $5, //身份证号",
+"	BankCardAccount = $6, //银行卡账号",
+"	BankName = $7, //银行名称",
+"	BankMobile = $8, //银行预留手机号码",
+"	ReqData = $9, //渠道请求报文",
+"	RespData = $10, //渠道响应报文",
+"	ReturnCode = $11, //渠道返回编码",
+"	ReturnMsg = $12, //渠道返回信息",
+"	AuthType = $13, //实名类型",
+"	MerchantId = $14, //商户",
+"});"
+]
+},"删除某个商户实名信息": {
+"prefix": "ym-db-MerchantAuth-Delete",
+"body": [
+"MerchantAuth $1 = db.MerchantAuth.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MerchantAuth.Remove($1);",
+"}"
+]
+},
+"查询商家分类列表": {
+"prefix": "ym-db-MerchantClass-Find",
+"body": [
+"List<MerchantClass> $1 = db.MerchantClass.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantClass $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商家分类列表,并取值": {
+"prefix": "ym-db-MerchantClass-FindWithData",
+"body": [
+"List<MerchantClass> $1 = db.MerchantClass.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantClass $3 in $1)",
+"{",
+"	string ColName = $3.ColName; //名称",
+"	int ParentId = $3.ParentId; //父级Id",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"}"
+]
+},
+"查询商家分类": {
+"prefix": "ym-db-MerchantClass-Exist",
+"body": [
+"bool $1 = db.MerchantClass.Any(m => m.Id == $2);",
+]
+},
+"查询某个商家分类,并取值": {
+"prefix": "ym-db-MerchantClass-FindByPrimaryKey",
+"body": [
+"MerchantClass $1 = db.MerchantClass.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ColName = $1.ColName; //名称",
+"	int ParentId = $1.ParentId; //父级Id",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"}"
+]
+},
+"查询某个商家分类,并赋值": {
+"prefix": "ym-db-MerchantClass-Update",
+"body": [
+"MerchantClass $1 = db.MerchantClass.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ColName = $2; //名称",
+"	$1.ParentId = $3; //父级Id",
+"	$1.MerchantId = $4; //商家Id",
+"}"
+]
+},
+"获取商家分类数量": {
+"prefix": "ym-db-MerchantClass-FindAndCount",
+"body": [
+"int $1 = db.MerchantClass.Count(m => $2);",
+]
+},
+"添加商家分类": {
+"prefix": "ym-db-MerchantClass-Create",
+"body": [
+"db.MerchantClass.Add(new MerchantClass()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ColName = $1, //名称",
+"	ParentId = $2, //父级Id",
+"	MerchantId = $3, //商家Id",
+"});"
+]
+},"删除某个商家分类": {
+"prefix": "ym-db-MerchantClass-Delete",
+"body": [
+"MerchantClass $1 = db.MerchantClass.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MerchantClass.Remove($1);",
+"}"
+]
+},
+"查询商家商品分类列表": {
+"prefix": "ym-db-MerchantCol-Find",
+"body": [
+"List<MerchantCol> $1 = db.MerchantCol.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantCol $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商家商品分类列表,并取值": {
+"prefix": "ym-db-MerchantCol-FindWithData",
+"body": [
+"List<MerchantCol> $1 = db.MerchantCol.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantCol $3 in $1)",
+"{",
+"	string ColId = $3.ColId; //编号",
+"	string ColName = $3.ColName; //名称",
+"	string ColPicPath = $3.ColPicPath; //图标",
+"	string ColDetail = $3.ColDetail; //简介",
+"	ulong Recommend = $3.Recommend; //推荐",
+"	string ColEnName = $3.ColEnName; //英文名",
+"	int ParentId = $3.ParentId; //父级Id",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"}"
+]
+},
+"查询商家商品分类": {
+"prefix": "ym-db-MerchantCol-Exist",
+"body": [
+"bool $1 = db.MerchantCol.Any(m => m.Id == $2);",
+]
+},
+"查询某个商家商品分类,并取值": {
+"prefix": "ym-db-MerchantCol-FindByPrimaryKey",
+"body": [
+"MerchantCol $1 = db.MerchantCol.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ColId = $1.ColId; //编号",
+"	string ColName = $1.ColName; //名称",
+"	string ColPicPath = $1.ColPicPath; //图标",
+"	string ColDetail = $1.ColDetail; //简介",
+"	ulong Recommend = $1.Recommend; //推荐",
+"	string ColEnName = $1.ColEnName; //英文名",
+"	int ParentId = $1.ParentId; //父级Id",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"}"
+]
+},
+"查询某个商家商品分类,并赋值": {
+"prefix": "ym-db-MerchantCol-Update",
+"body": [
+"MerchantCol $1 = db.MerchantCol.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ColId = $2; //编号",
+"	$1.ColName = $3; //名称",
+"	$1.ColPicPath = $4; //图标",
+"	$1.ColDetail = $5; //简介",
+"	$1.Recommend = $6; //推荐",
+"	$1.ColEnName = $7; //英文名",
+"	$1.ParentId = $8; //父级Id",
+"	$1.MerchantId = $9; //商家Id",
+"}"
+]
+},
+"获取商家商品分类数量": {
+"prefix": "ym-db-MerchantCol-FindAndCount",
+"body": [
+"int $1 = db.MerchantCol.Count(m => $2);",
+]
+},
+"添加商家商品分类": {
+"prefix": "ym-db-MerchantCol-Create",
+"body": [
+"db.MerchantCol.Add(new MerchantCol()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ColId = $1, //编号",
+"	ColName = $2, //名称",
+"	ColPicPath = $3, //图标",
+"	ColDetail = $4, //简介",
+"	Recommend = $5, //推荐",
+"	ColEnName = $6, //英文名",
+"	ParentId = $7, //父级Id",
+"	MerchantId = $8, //商家Id",
+"});"
+]
+},"删除某个商家商品分类": {
+"prefix": "ym-db-MerchantCol-Delete",
+"body": [
+"MerchantCol $1 = db.MerchantCol.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MerchantCol.Remove($1);",
+"}"
+]
+},
+"查询店铺评价列表": {
+"prefix": "ym-db-MerchantComment-Find",
+"body": [
+"List<MerchantComment> $1 = db.MerchantComment.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantComment $3 in $1)",
+"{",
+"}"
+]
+},
+"查询店铺评价列表,并取值": {
+"prefix": "ym-db-MerchantComment-FindWithData",
+"body": [
+"List<MerchantComment> $1 = db.MerchantComment.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantComment $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客Id",
+"	int OrderId = $3.OrderId; //订单Id",
+"	int StarNum1 = $3.StarNum1; //快递包装评分",
+"	int StarNum2 = $3.StarNum2; //送货速度评分",
+"	int StarNum3 = $3.StarNum3; //服务态度评分",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"}"
+]
+},
+"查询店铺评价": {
+"prefix": "ym-db-MerchantComment-Exist",
+"body": [
+"bool $1 = db.MerchantComment.Any(m => m.Id == $2);",
+]
+},
+"查询某个店铺评价,并取值": {
+"prefix": "ym-db-MerchantComment-FindByPrimaryKey",
+"body": [
+"MerchantComment $1 = db.MerchantComment.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客Id",
+"	int OrderId = $1.OrderId; //订单Id",
+"	int StarNum1 = $1.StarNum1; //快递包装评分",
+"	int StarNum2 = $1.StarNum2; //送货速度评分",
+"	int StarNum3 = $1.StarNum3; //服务态度评分",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"}"
+]
+},
+"查询某个店铺评价,并赋值": {
+"prefix": "ym-db-MerchantComment-Update",
+"body": [
+"MerchantComment $1 = db.MerchantComment.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客Id",
+"	$1.OrderId = $3; //订单Id",
+"	$1.StarNum1 = $4; //快递包装评分",
+"	$1.StarNum2 = $5; //送货速度评分",
+"	$1.StarNum3 = $6; //服务态度评分",
+"	$1.MerchantId = $7; //商家Id",
+"}"
+]
+},
+"获取店铺评价数量": {
+"prefix": "ym-db-MerchantComment-FindAndCount",
+"body": [
+"int $1 = db.MerchantComment.Count(m => $2);",
+]
+},
+"添加店铺评价": {
+"prefix": "ym-db-MerchantComment-Create",
+"body": [
+"db.MerchantComment.Add(new MerchantComment()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客Id",
+"	OrderId = $2, //订单Id",
+"	StarNum1 = $3, //快递包装评分",
+"	StarNum2 = $4, //送货速度评分",
+"	StarNum3 = $5, //服务态度评分",
+"	MerchantId = $6, //商家Id",
+"});"
+]
+},"删除某个店铺评价": {
+"prefix": "ym-db-MerchantComment-Delete",
+"body": [
+"MerchantComment $1 = db.MerchantComment.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MerchantComment.Remove($1);",
+"}"
+]
+},
+"查询商户编号为主键的关联表列表": {
+"prefix": "ym-db-MerchantForCode-Find",
+"body": [
+"List<MerchantForCode> $1 = db.MerchantForCode.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantForCode $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商户编号为主键的关联表列表,并取值": {
+"prefix": "ym-db-MerchantForCode-FindWithData",
+"body": [
+"List<MerchantForCode> $1 = db.MerchantForCode.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantForCode $3 in $1)",
+"{",
+"	string Code = $3.Code; //编号",
+"	int MerchantId = $3.MerchantId; //商户",
+"}"
+]
+},
+"查询商户编号为主键的关联表": {
+"prefix": "ym-db-MerchantForCode-Exist",
+"body": [
+"bool $1 = db.MerchantForCode.Any(m => m.Code == $2);",
+]
+},
+"查询某个商户编号为主键的关联表,并取值": {
+"prefix": "ym-db-MerchantForCode-FindByPrimaryKey",
+"body": [
+"MerchantForCode $1 = db.MerchantForCode.FirstOrDefault(m => m.Code == $2);",
+"if ($1 != null)",
+"{",
+"	string Code = $1.Code; //编号",
+"	int MerchantId = $1.MerchantId; //商户",
+"}"
+]
+},
+"查询某个商户编号为主键的关联表,并赋值": {
+"prefix": "ym-db-MerchantForCode-Update",
+"body": [
+"MerchantForCode $1 = db.MerchantForCode.FirstOrDefault(m => m.Code == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Code = $2; //编号",
+"	$1.MerchantId = $3; //商户",
+"}"
+]
+},
+"获取商户编号为主键的关联表数量": {
+"prefix": "ym-db-MerchantForCode-FindAndCount",
+"body": [
+"int $1 = db.MerchantForCode.Count(m => $2);",
+]
+},
+"添加商户编号为主键的关联表": {
+"prefix": "ym-db-MerchantForCode-Create",
+"body": [
+"db.MerchantForCode.Add(new MerchantForCode()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Code = $1, //编号",
+"	MerchantId = $2, //商户",
+"});"
+]
+},"删除某个商户编号为主键的关联表": {
+"prefix": "ym-db-MerchantForCode-Delete",
+"body": [
+"MerchantForCode $1 = db.MerchantForCode.FirstOrDefault(m => m.Code == $2);",
+"if ($1 != null)",
+"{",
+"	db.MerchantForCode.Remove($1);",
+"}"
+]
+},
+"查询商户姓名为主键的关联表列表": {
+"prefix": "ym-db-MerchantForName-Find",
+"body": [
+"List<MerchantForName> $1 = db.MerchantForName.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantForName $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商户姓名为主键的关联表列表,并取值": {
+"prefix": "ym-db-MerchantForName-FindWithData",
+"body": [
+"List<MerchantForName> $1 = db.MerchantForName.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantForName $3 in $1)",
+"{",
+"	string Name = $3.Name; //姓名",
+"	int MerchantId = $3.MerchantId; //商户",
+"}"
+]
+},
+"查询商户姓名为主键的关联表": {
+"prefix": "ym-db-MerchantForName-Exist",
+"body": [
+"bool $1 = db.MerchantForName.Any(m => m.Name == $2);",
+]
+},
+"查询某个商户姓名为主键的关联表,并取值": {
+"prefix": "ym-db-MerchantForName-FindByPrimaryKey",
+"body": [
+"MerchantForName $1 = db.MerchantForName.FirstOrDefault(m => m.Name == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //姓名",
+"	int MerchantId = $1.MerchantId; //商户",
+"}"
+]
+},
+"查询某个商户姓名为主键的关联表,并赋值": {
+"prefix": "ym-db-MerchantForName-Update",
+"body": [
+"MerchantForName $1 = db.MerchantForName.FirstOrDefault(m => m.Name == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //姓名",
+"	$1.MerchantId = $3; //商户",
+"}"
+]
+},
+"获取商户姓名为主键的关联表数量": {
+"prefix": "ym-db-MerchantForName-FindAndCount",
+"body": [
+"int $1 = db.MerchantForName.Count(m => $2);",
+]
+},
+"添加商户姓名为主键的关联表": {
+"prefix": "ym-db-MerchantForName-Create",
+"body": [
+"db.MerchantForName.Add(new MerchantForName()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //姓名",
+"	MerchantId = $2, //商户",
+"});"
+]
+},"删除某个商户姓名为主键的关联表": {
+"prefix": "ym-db-MerchantForName-Delete",
+"body": [
+"MerchantForName $1 = db.MerchantForName.FirstOrDefault(m => m.Name == $2);",
+"if ($1 != null)",
+"{",
+"	db.MerchantForName.Remove($1);",
+"}"
+]
+},
+"查询商户列表": {
+"prefix": "ym-db-MerchantInfo-Find",
+"body": [
+"List<MerchantInfo> $1 = db.MerchantInfo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantInfo $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商户列表,并取值": {
+"prefix": "ym-db-MerchantInfo-FindWithData",
+"body": [
+"List<MerchantInfo> $1 = db.MerchantInfo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantInfo $3 in $1)",
+"{",
+"	string MerchantNo = $3.MerchantNo; //商户编号",
+"	string MerchantName = $3.MerchantName; //商户姓名",
+"	string MerchantMobile = $3.MerchantMobile; //商户手机号",
+"	string MerRealName = $3.MerRealName; //商户真实姓名",
+"	string MerIdcardNo = $3.MerIdcardNo; //商户身份证号",
+"	string KqMerNo = $3.KqMerNo; //渠道商户编码",
+"	string KqSnNo = $3.KqSnNo; //渠道SN号",
+"	int MerStatus = $3.MerStatus; //商户状态",
+"	int ActiveStatus = $3.ActiveStatus; //商户激活状态",
+"	int DirectUserId = $3.DirectUserId; //直属创客编号",
+"	string MgrNo = $3.MgrNo; //渠道经理编号",
+"	string MgrName = $3.MgrName; //渠道经理姓名",
+"	int UserId = $3.UserId; //创客",
+"	int MerUserId = $3.MerUserId; //商户创客",
+"	int SnType = $3.SnType; //机具类型",
+"	int SnApplyUserId = $3.SnApplyUserId; //机具SN申请创客",
+"	DateTime MatchTime = $3.MatchTime; //匹配时间",
+"	DateTime KqRegTime = $3.KqRegTime; //渠道注册时间",
+"	DateTime MerStandardDate = $3.MerStandardDate; //商户激活时间",
+"	int RebateQual = $3.RebateQual; //返利资格",
+"	int ActType = $3.ActType; //激活类型",
+"	string ActTypeDesc = $3.ActTypeDesc; //激活类型描述",
+"	int SnStoreId = $3.SnStoreId; //SN仓库",
+"	int BrandId = $3.BrandId; //品牌",
+"	string Province = $3.Province; //省份",
+"	string City = $3.City; //城市",
+"	string Remark = $3.Remark; //备注",
+"	int MerUserType = $3.MerUserType; //商户创客类型",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询商户": {
+"prefix": "ym-db-MerchantInfo-Exist",
+"body": [
+"bool $1 = db.MerchantInfo.Any(m => m.Id == $2);",
+]
+},
+"查询某个商户,并取值": {
+"prefix": "ym-db-MerchantInfo-FindByPrimaryKey",
+"body": [
+"MerchantInfo $1 = db.MerchantInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string MerchantNo = $1.MerchantNo; //商户编号",
+"	string MerchantName = $1.MerchantName; //商户姓名",
+"	string MerchantMobile = $1.MerchantMobile; //商户手机号",
+"	string MerRealName = $1.MerRealName; //商户真实姓名",
+"	string MerIdcardNo = $1.MerIdcardNo; //商户身份证号",
+"	string KqMerNo = $1.KqMerNo; //渠道商户编码",
+"	string KqSnNo = $1.KqSnNo; //渠道SN号",
+"	int MerStatus = $1.MerStatus; //商户状态",
+"	int ActiveStatus = $1.ActiveStatus; //商户激活状态",
+"	int DirectUserId = $1.DirectUserId; //直属创客编号",
+"	string MgrNo = $1.MgrNo; //渠道经理编号",
+"	string MgrName = $1.MgrName; //渠道经理姓名",
+"	int UserId = $1.UserId; //创客",
+"	int MerUserId = $1.MerUserId; //商户创客",
+"	int SnType = $1.SnType; //机具类型",
+"	int SnApplyUserId = $1.SnApplyUserId; //机具SN申请创客",
+"	DateTime MatchTime = $1.MatchTime; //匹配时间",
+"	DateTime KqRegTime = $1.KqRegTime; //渠道注册时间",
+"	DateTime MerStandardDate = $1.MerStandardDate; //商户激活时间",
+"	int RebateQual = $1.RebateQual; //返利资格",
+"	int ActType = $1.ActType; //激活类型",
+"	string ActTypeDesc = $1.ActTypeDesc; //激活类型描述",
+"	int SnStoreId = $1.SnStoreId; //SN仓库",
+"	int BrandId = $1.BrandId; //品牌",
+"	string Province = $1.Province; //省份",
+"	string City = $1.City; //城市",
+"	string Remark = $1.Remark; //备注",
+"	int MerUserType = $1.MerUserType; //商户创客类型",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询某个商户,并赋值": {
+"prefix": "ym-db-MerchantInfo-Update",
+"body": [
+"MerchantInfo $1 = db.MerchantInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.MerchantNo = $2; //商户编号",
+"	$1.MerchantName = $3; //商户姓名",
+"	$1.MerchantMobile = $4; //商户手机号",
+"	$1.MerRealName = $5; //商户真实姓名",
+"	$1.MerIdcardNo = $6; //商户身份证号",
+"	$1.KqMerNo = $7; //渠道商户编码",
+"	$1.KqSnNo = $8; //渠道SN号",
+"	$1.MerStatus = $9; //商户状态",
+"	$1.ActiveStatus = $10; //商户激活状态",
+"	$1.DirectUserId = $11; //直属创客编号",
+"	$1.MgrNo = $12; //渠道经理编号",
+"	$1.MgrName = $13; //渠道经理姓名",
+"	$1.UserId = $14; //创客",
+"	$1.MerUserId = $15; //商户创客",
+"	$1.SnType = $16; //机具类型",
+"	$1.SnApplyUserId = $17; //机具SN申请创客",
+"	$1.MatchTime = $18; //匹配时间",
+"	$1.KqRegTime = $19; //渠道注册时间",
+"	$1.MerStandardDate = $20; //商户激活时间",
+"	$1.RebateQual = $21; //返利资格",
+"	$1.ActType = $22; //激活类型",
+"	$1.ActTypeDesc = $23; //激活类型描述",
+"	$1.SnStoreId = $24; //SN仓库",
+"	$1.BrandId = $25; //品牌",
+"	$1.Province = $26; //省份",
+"	$1.City = $27; //城市",
+"	$1.Remark = $28; //备注",
+"	$1.MerUserType = $29; //商户创客类型",
+"	$1.TopUserId = $30; //顶级创客",
+"}"
+]
+},
+"获取商户数量": {
+"prefix": "ym-db-MerchantInfo-FindAndCount",
+"body": [
+"int $1 = db.MerchantInfo.Count(m => $2);",
+]
+},
+"添加商户": {
+"prefix": "ym-db-MerchantInfo-Create",
+"body": [
+"db.MerchantInfo.Add(new MerchantInfo()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	MerchantNo = $1, //商户编号",
+"	MerchantName = $2, //商户姓名",
+"	MerchantMobile = $3, //商户手机号",
+"	MerRealName = $4, //商户真实姓名",
+"	MerIdcardNo = $5, //商户身份证号",
+"	KqMerNo = $6, //渠道商户编码",
+"	KqSnNo = $7, //渠道SN号",
+"	MerStatus = $8, //商户状态",
+"	ActiveStatus = $9, //商户激活状态",
+"	DirectUserId = $10, //直属创客编号",
+"	MgrNo = $11, //渠道经理编号",
+"	MgrName = $12, //渠道经理姓名",
+"	UserId = $13, //创客",
+"	MerUserId = $14, //商户创客",
+"	SnType = $15, //机具类型",
+"	SnApplyUserId = $16, //机具SN申请创客",
+"	MatchTime = $17, //匹配时间",
+"	KqRegTime = $18, //渠道注册时间",
+"	MerStandardDate = $19, //商户激活时间",
+"	RebateQual = $20, //返利资格",
+"	ActType = $21, //激活类型",
+"	ActTypeDesc = $22, //激活类型描述",
+"	SnStoreId = $23, //SN仓库",
+"	BrandId = $24, //品牌",
+"	Province = $25, //省份",
+"	City = $26, //城市",
+"	Remark = $27, //备注",
+"	MerUserType = $28, //商户创客类型",
+"	TopUserId = $29, //顶级创客",
+"});"
+]
+},"删除某个商户": {
+"prefix": "ym-db-MerchantInfo-Delete",
+"body": [
+"MerchantInfo $1 = db.MerchantInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MerchantInfo.Remove($1);",
+"}"
+]
+},
+"查询商户返利明细列表": {
+"prefix": "ym-db-MerchantRebateDetail-Find",
+"body": [
+"List<MerchantRebateDetail> $1 = db.MerchantRebateDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantRebateDetail $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商户返利明细列表,并取值": {
+"prefix": "ym-db-MerchantRebateDetail-FindWithData",
+"body": [
+"List<MerchantRebateDetail> $1 = db.MerchantRebateDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantRebateDetail $3 in $1)",
+"{",
+"	int BrandId = $3.BrandId; //品牌",
+"	string ProductName = $3.ProductName; //产品名称",
+"	string TradeMonth = $3.TradeMonth; //交易月份",
+"	string TradeDate = $3.TradeDate; //达标日期",
+"	string MerNo = $3.MerNo; //渠道商户编号",
+"	string SnNo = $3.SnNo; //渠道SN号",
+"	DateTime MerRegTime = $3.MerRegTime; //渠道注册时间",
+"	DateTime MerStandardDate = $3.MerStandardDate; //商户激活时间",
+"	int MerchantId = $3.MerchantId; //商户",
+"	string MmpUserNo = $3.MmpUserNo; //KYS刷APP创客编号",
+"	string MmpUserName = $3.MmpUserName; //KYS商户真实姓名",
+"	decimal CreditTradeAmt = $3.CreditTradeAmt; //贷记卡交易总金额",
+"	decimal DebitTradeAmt = $3.DebitTradeAmt; //借记卡交易总金额",
+"	decimal CreditRewardAmount = $3.CreditRewardAmount; //贷记卡交易奖励金额",
+"	decimal DebitRewardAmount = $3.DebitRewardAmount; //借记卡交易奖励金额",
+"	int SyncStatus = $3.SyncStatus; //同步MMP",
+"	string RewardDesc = $3.RewardDesc; //奖励描述",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询商户返利明细": {
+"prefix": "ym-db-MerchantRebateDetail-Exist",
+"body": [
+"bool $1 = db.MerchantRebateDetail.Any(m => m.Id == $2);",
+]
+},
+"查询某个商户返利明细,并取值": {
+"prefix": "ym-db-MerchantRebateDetail-FindByPrimaryKey",
+"body": [
+"MerchantRebateDetail $1 = db.MerchantRebateDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int BrandId = $1.BrandId; //品牌",
+"	string ProductName = $1.ProductName; //产品名称",
+"	string TradeMonth = $1.TradeMonth; //交易月份",
+"	string TradeDate = $1.TradeDate; //达标日期",
+"	string MerNo = $1.MerNo; //渠道商户编号",
+"	string SnNo = $1.SnNo; //渠道SN号",
+"	DateTime MerRegTime = $1.MerRegTime; //渠道注册时间",
+"	DateTime MerStandardDate = $1.MerStandardDate; //商户激活时间",
+"	int MerchantId = $1.MerchantId; //商户",
+"	string MmpUserNo = $1.MmpUserNo; //KYS刷APP创客编号",
+"	string MmpUserName = $1.MmpUserName; //KYS商户真实姓名",
+"	decimal CreditTradeAmt = $1.CreditTradeAmt; //贷记卡交易总金额",
+"	decimal DebitTradeAmt = $1.DebitTradeAmt; //借记卡交易总金额",
+"	decimal CreditRewardAmount = $1.CreditRewardAmount; //贷记卡交易奖励金额",
+"	decimal DebitRewardAmount = $1.DebitRewardAmount; //借记卡交易奖励金额",
+"	int SyncStatus = $1.SyncStatus; //同步MMP",
+"	string RewardDesc = $1.RewardDesc; //奖励描述",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个商户返利明细,并赋值": {
+"prefix": "ym-db-MerchantRebateDetail-Update",
+"body": [
+"MerchantRebateDetail $1 = db.MerchantRebateDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.BrandId = $2; //品牌",
+"	$1.ProductName = $3; //产品名称",
+"	$1.TradeMonth = $4; //交易月份",
+"	$1.TradeDate = $5; //达标日期",
+"	$1.MerNo = $6; //渠道商户编号",
+"	$1.SnNo = $7; //渠道SN号",
+"	$1.MerRegTime = $8; //渠道注册时间",
+"	$1.MerStandardDate = $9; //商户激活时间",
+"	$1.MerchantId = $10; //商户",
+"	$1.MmpUserNo = $11; //KYS刷APP创客编号",
+"	$1.MmpUserName = $12; //KYS商户真实姓名",
+"	$1.CreditTradeAmt = $13; //贷记卡交易总金额",
+"	$1.DebitTradeAmt = $14; //借记卡交易总金额",
+"	$1.CreditRewardAmount = $15; //贷记卡交易奖励金额",
+"	$1.DebitRewardAmount = $16; //借记卡交易奖励金额",
+"	$1.SyncStatus = $17; //同步MMP",
+"	$1.RewardDesc = $18; //奖励描述",
+"	$1.Remark = $19; //备注",
+"}"
+]
+},
+"获取商户返利明细数量": {
+"prefix": "ym-db-MerchantRebateDetail-FindAndCount",
+"body": [
+"int $1 = db.MerchantRebateDetail.Count(m => $2);",
+]
+},
+"添加商户返利明细": {
+"prefix": "ym-db-MerchantRebateDetail-Create",
+"body": [
+"db.MerchantRebateDetail.Add(new MerchantRebateDetail()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	BrandId = $1, //品牌",
+"	ProductName = $2, //产品名称",
+"	TradeMonth = $3, //交易月份",
+"	TradeDate = $4, //达标日期",
+"	MerNo = $5, //渠道商户编号",
+"	SnNo = $6, //渠道SN号",
+"	MerRegTime = $7, //渠道注册时间",
+"	MerStandardDate = $8, //商户激活时间",
+"	MerchantId = $9, //商户",
+"	MmpUserNo = $10, //KYS刷APP创客编号",
+"	MmpUserName = $11, //KYS商户真实姓名",
+"	CreditTradeAmt = $12, //贷记卡交易总金额",
+"	DebitTradeAmt = $13, //借记卡交易总金额",
+"	CreditRewardAmount = $14, //贷记卡交易奖励金额",
+"	DebitRewardAmount = $15, //借记卡交易奖励金额",
+"	SyncStatus = $16, //同步MMP",
+"	RewardDesc = $17, //奖励描述",
+"	Remark = $18, //备注",
+"});"
+]
+},"删除某个商户返利明细": {
+"prefix": "ym-db-MerchantRebateDetail-Delete",
+"body": [
+"MerchantRebateDetail $1 = db.MerchantRebateDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.MerchantRebateDetail.Remove($1);",
+"}"
+]
+},
+"查询商家列表": {
+"prefix": "ym-db-Merchants-Find",
+"body": [
+"List<Merchants> $1 = db.Merchants.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Merchants $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商家列表,并取值": {
+"prefix": "ym-db-Merchants-FindWithData",
+"body": [
+"List<Merchants> $1 = db.Merchants.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Merchants $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"	string Logo = $3.Logo; //Logo图片",
+"	string Areas = $3.Areas; //所在地区",
+"	string Principal = $3.Principal; //负责人",
+"	string Phone = $3.Phone; //联系电话",
+"	string BusinessLicense = $3.BusinessLicense; //营业执照",
+"	decimal StarNum1 = $3.StarNum1; //快递包装评分",
+"	int FollowCount = $3.FollowCount; //关注数",
+"	ulong IsAuth = $3.IsAuth; //是否认证",
+"	int CommentCount = $3.CommentCount; //评论数",
+"	string Address = $3.Address; //详细地址",
+"	decimal StarNum2 = $3.StarNum2; //送货速度评分",
+"	decimal StarNum3 = $3.StarNum3; //服务态度评分",
+"	string UserName = $3.UserName; //账号",
+"	string LoginPwd = $3.LoginPwd; //登录密码",
+"	string PayPwd = $3.PayPwd; //支付密码",
+"	ulong IsRecommend = $3.IsRecommend; //推荐",
+"	string Title = $3.Title; //宣传标语",
+"	string Title2 = $3.Title2; //宣传标语2",
+"	string Province = $3.Province; //所在省",
+"}"
+]
+},
+"查询商家": {
+"prefix": "ym-db-Merchants-Exist",
+"body": [
+"bool $1 = db.Merchants.Any(m => m.Id == $2);",
+]
+},
+"查询某个商家,并取值": {
+"prefix": "ym-db-Merchants-FindByPrimaryKey",
+"body": [
+"Merchants $1 = db.Merchants.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"	string Logo = $1.Logo; //Logo图片",
+"	string Areas = $1.Areas; //所在地区",
+"	string Principal = $1.Principal; //负责人",
+"	string Phone = $1.Phone; //联系电话",
+"	string BusinessLicense = $1.BusinessLicense; //营业执照",
+"	decimal StarNum1 = $1.StarNum1; //快递包装评分",
+"	int FollowCount = $1.FollowCount; //关注数",
+"	ulong IsAuth = $1.IsAuth; //是否认证",
+"	int CommentCount = $1.CommentCount; //评论数",
+"	string Address = $1.Address; //详细地址",
+"	decimal StarNum2 = $1.StarNum2; //送货速度评分",
+"	decimal StarNum3 = $1.StarNum3; //服务态度评分",
+"	string UserName = $1.UserName; //账号",
+"	string LoginPwd = $1.LoginPwd; //登录密码",
+"	string PayPwd = $1.PayPwd; //支付密码",
+"	ulong IsRecommend = $1.IsRecommend; //推荐",
+"	string Title = $1.Title; //宣传标语",
+"	string Title2 = $1.Title2; //宣传标语2",
+"	string Province = $1.Province; //所在省",
+"}"
+]
+},
+"查询某个商家,并赋值": {
+"prefix": "ym-db-Merchants-Update",
+"body": [
+"Merchants $1 = db.Merchants.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"	$1.Logo = $3; //Logo图片",
+"	$1.Areas = $4; //所在地区",
+"	$1.Principal = $5; //负责人",
+"	$1.Phone = $6; //联系电话",
+"	$1.BusinessLicense = $7; //营业执照",
+"	$1.StarNum1 = $8; //快递包装评分",
+"	$1.FollowCount = $9; //关注数",
+"	$1.IsAuth = $10; //是否认证",
+"	$1.CommentCount = $11; //评论数",
+"	$1.Address = $12; //详细地址",
+"	$1.StarNum2 = $13; //送货速度评分",
+"	$1.StarNum3 = $14; //服务态度评分",
+"	$1.UserName = $15; //账号",
+"	$1.LoginPwd = $16; //登录密码",
+"	$1.PayPwd = $17; //支付密码",
+"	$1.IsRecommend = $18; //推荐",
+"	$1.Title = $19; //宣传标语",
+"	$1.Title2 = $20; //宣传标语2",
+"	$1.Province = $21; //所在省",
+"}"
+]
+},
+"获取商家数量": {
+"prefix": "ym-db-Merchants-FindAndCount",
+"body": [
+"int $1 = db.Merchants.Count(m => $2);",
+]
+},
+"添加商家": {
+"prefix": "ym-db-Merchants-Create",
+"body": [
+"db.Merchants.Add(new Merchants()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"	Logo = $2, //Logo图片",
+"	Areas = $3, //所在地区",
+"	Principal = $4, //负责人",
+"	Phone = $5, //联系电话",
+"	BusinessLicense = $6, //营业执照",
+"	StarNum1 = $7, //快递包装评分",
+"	FollowCount = $8, //关注数",
+"	IsAuth = $9, //是否认证",
+"	CommentCount = $10, //评论数",
+"	Address = $11, //详细地址",
+"	StarNum2 = $12, //送货速度评分",
+"	StarNum3 = $13, //服务态度评分",
+"	UserName = $14, //账号",
+"	LoginPwd = $15, //登录密码",
+"	PayPwd = $16, //支付密码",
+"	IsRecommend = $17, //推荐",
+"	Title = $18, //宣传标语",
+"	Title2 = $19, //宣传标语2",
+"	Province = $20, //所在省",
+"});"
+]
+},"删除某个商家": {
+"prefix": "ym-db-Merchants-Delete",
+"body": [
+"Merchants $1 = db.Merchants.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.Merchants.Remove($1);",
+"}"
+]
+},
+"查询手机验证码列表": {
+"prefix": "ym-db-MobileCodeCheck-Find",
+"body": [
+"List<MobileCodeCheck> $1 = db.MobileCodeCheck.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MobileCodeCheck $3 in $1)",
+"{",
+"}"
+]
+},
+"查询手机验证码列表,并取值": {
+"prefix": "ym-db-MobileCodeCheck-FindWithData",
+"body": [
+"List<MobileCodeCheck> $1 = db.MobileCodeCheck.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MobileCodeCheck $3 in $1)",
+"{",
+"	string Mobile = $3.Mobile; //手机号",
+"	string CheckCode = $3.CheckCode; //验证码",
+"	string CheckNo = $3.CheckNo; //图形验证码",
+"	DateTime CheckCodeTime = $3.CheckCodeTime; //验证码时间",
+"}"
+]
+},
+"查询手机验证码": {
+"prefix": "ym-db-MobileCodeCheck-Exist",
+"body": [
+"bool $1 = db.MobileCodeCheck.Any(m => m.Mobile == $2);",
+]
+},
+"查询某个手机验证码,并取值": {
+"prefix": "ym-db-MobileCodeCheck-FindByPrimaryKey",
+"body": [
+"MobileCodeCheck $1 = db.MobileCodeCheck.FirstOrDefault(m => m.Mobile == $2);",
+"if ($1 != null)",
+"{",
+"	string Mobile = $1.Mobile; //手机号",
+"	string CheckCode = $1.CheckCode; //验证码",
+"	string CheckNo = $1.CheckNo; //图形验证码",
+"	DateTime CheckCodeTime = $1.CheckCodeTime; //验证码时间",
+"}"
+]
+},
+"查询某个手机验证码,并赋值": {
+"prefix": "ym-db-MobileCodeCheck-Update",
+"body": [
+"MobileCodeCheck $1 = db.MobileCodeCheck.FirstOrDefault(m => m.Mobile == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Mobile = $2; //手机号",
+"	$1.CheckCode = $3; //验证码",
+"	$1.CheckNo = $4; //图形验证码",
+"	$1.CheckCodeTime = $5; //验证码时间",
+"}"
+]
+},
+"获取手机验证码数量": {
+"prefix": "ym-db-MobileCodeCheck-FindAndCount",
+"body": [
+"int $1 = db.MobileCodeCheck.Count(m => $2);",
+]
+},
+"添加手机验证码": {
+"prefix": "ym-db-MobileCodeCheck-Create",
+"body": [
+"db.MobileCodeCheck.Add(new MobileCodeCheck()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Mobile = $1, //手机号",
+"	CheckCode = $2, //验证码",
+"	CheckNo = $3, //图形验证码",
+"	CheckCodeTime = $4, //验证码时间",
+"});"
+]
+},"删除某个手机验证码": {
+"prefix": "ym-db-MobileCodeCheck-Delete",
+"body": [
+"MobileCodeCheck $1 = db.MobileCodeCheck.FirstOrDefault(m => m.Mobile == $2);",
+"if ($1 != null)",
+"{",
+"	db.MobileCodeCheck.Remove($1);",
+"}"
+]
+},
+"查询开机奖励列表": {
+"prefix": "ym-db-OpenReward-Find",
+"body": [
+"List<OpenReward> $1 = db.OpenReward.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OpenReward $3 in $1)",
+"{",
+"}"
+]
+},
+"查询开机奖励列表,并取值": {
+"prefix": "ym-db-OpenReward-FindWithData",
+"body": [
+"List<OpenReward> $1 = db.OpenReward.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OpenReward $3 in $1)",
+"{",
+"	string TradeMonth = $3.TradeMonth; //交易月",
+"	DateTime TradeDate = $3.TradeDate; //达标日期",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //品牌",
+"	int RewardType = $3.RewardType; //奖励类型",
+"	decimal CreditTradeAmt = $3.CreditTradeAmt; //贷记卡交易总金额",
+"	decimal DebitTradeAmt = $3.DebitTradeAmt; //借记卡交易总金额",
+"	decimal CreditRewardAmount = $3.CreditRewardAmount; //贷记卡交易奖励金额",
+"	decimal DebitRewardAmount = $3.DebitRewardAmount; //借记记卡交易奖励金额",
+"	string OpenRewardNo = $3.OpenRewardNo; //开机奖励单号",
+"	string RewardDesc = $3.RewardDesc; //奖励描述",
+"	string Remark = $3.Remark; //备注",
+"	int RewardMerCount = $3.RewardMerCount; //达标商户数",
+"	int CheckStatus = $3.CheckStatus; //验证和同步账户状态",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询开机奖励": {
+"prefix": "ym-db-OpenReward-Exist",
+"body": [
+"bool $1 = db.OpenReward.Any(m => m.Id == $2);",
+]
+},
+"查询某个开机奖励,并取值": {
+"prefix": "ym-db-OpenReward-FindByPrimaryKey",
+"body": [
+"OpenReward $1 = db.OpenReward.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string TradeMonth = $1.TradeMonth; //交易月",
+"	DateTime TradeDate = $1.TradeDate; //达标日期",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //品牌",
+"	int RewardType = $1.RewardType; //奖励类型",
+"	decimal CreditTradeAmt = $1.CreditTradeAmt; //贷记卡交易总金额",
+"	decimal DebitTradeAmt = $1.DebitTradeAmt; //借记卡交易总金额",
+"	decimal CreditRewardAmount = $1.CreditRewardAmount; //贷记卡交易奖励金额",
+"	decimal DebitRewardAmount = $1.DebitRewardAmount; //借记记卡交易奖励金额",
+"	string OpenRewardNo = $1.OpenRewardNo; //开机奖励单号",
+"	string RewardDesc = $1.RewardDesc; //奖励描述",
+"	string Remark = $1.Remark; //备注",
+"	int RewardMerCount = $1.RewardMerCount; //达标商户数",
+"	int CheckStatus = $1.CheckStatus; //验证和同步账户状态",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询某个开机奖励,并赋值": {
+"prefix": "ym-db-OpenReward-Update",
+"body": [
+"OpenReward $1 = db.OpenReward.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TradeMonth = $2; //交易月",
+"	$1.TradeDate = $3; //达标日期",
+"	$1.UserId = $4; //创客",
+"	$1.BrandId = $5; //品牌",
+"	$1.RewardType = $6; //奖励类型",
+"	$1.CreditTradeAmt = $7; //贷记卡交易总金额",
+"	$1.DebitTradeAmt = $8; //借记卡交易总金额",
+"	$1.CreditRewardAmount = $9; //贷记卡交易奖励金额",
+"	$1.DebitRewardAmount = $10; //借记记卡交易奖励金额",
+"	$1.OpenRewardNo = $11; //开机奖励单号",
+"	$1.RewardDesc = $12; //奖励描述",
+"	$1.Remark = $13; //备注",
+"	$1.RewardMerCount = $14; //达标商户数",
+"	$1.CheckStatus = $15; //验证和同步账户状态",
+"	$1.TopUserId = $16; //顶级创客",
+"}"
+]
+},
+"获取开机奖励数量": {
+"prefix": "ym-db-OpenReward-FindAndCount",
+"body": [
+"int $1 = db.OpenReward.Count(m => $2);",
+]
+},
+"添加开机奖励": {
+"prefix": "ym-db-OpenReward-Create",
+"body": [
+"db.OpenReward.Add(new OpenReward()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TradeMonth = $1, //交易月",
+"	TradeDate = $2, //达标日期",
+"	UserId = $3, //创客",
+"	BrandId = $4, //品牌",
+"	RewardType = $5, //奖励类型",
+"	CreditTradeAmt = $6, //贷记卡交易总金额",
+"	DebitTradeAmt = $7, //借记卡交易总金额",
+"	CreditRewardAmount = $8, //贷记卡交易奖励金额",
+"	DebitRewardAmount = $9, //借记记卡交易奖励金额",
+"	OpenRewardNo = $10, //开机奖励单号",
+"	RewardDesc = $11, //奖励描述",
+"	Remark = $12, //备注",
+"	RewardMerCount = $13, //达标商户数",
+"	CheckStatus = $14, //验证和同步账户状态",
+"	TopUserId = $15, //顶级创客",
+"});"
+]
+},"删除某个开机奖励": {
+"prefix": "ym-db-OpenReward-Delete",
+"body": [
+"OpenReward $1 = db.OpenReward.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.OpenReward.Remove($1);",
+"}"
+]
+},
+"查询开机奖励明细列表": {
+"prefix": "ym-db-OpenRewardDetail-Find",
+"body": [
+"List<OpenRewardDetail> $1 = db.OpenRewardDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OpenRewardDetail $3 in $1)",
+"{",
+"}"
+]
+},
+"查询开机奖励明细列表,并取值": {
+"prefix": "ym-db-OpenRewardDetail-FindWithData",
+"body": [
+"List<OpenRewardDetail> $1 = db.OpenRewardDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OpenRewardDetail $3 in $1)",
+"{",
+"	string TradeMonth = $3.TradeMonth; //交易月",
+"	DateTime TradeDate = $3.TradeDate; //达标日期",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //品牌",
+"	string ProductName = $3.ProductName; //产品名称",
+"	int MerchantId = $3.MerchantId; //商户",
+"	int DirectUserId = $3.DirectUserId; //商户直属人",
+"	string SnNo = $3.SnNo; //SN号",
+"	string MerNo = $3.MerNo; //渠道商户号",
+"	int SnType = $3.SnType; //机具类型",
+"	int SnApplyUserId = $3.SnApplyUserId; //机具申请人",
+"	DateTime StandardDate = $3.StandardDate; //商户的激活日期",
+"	int SnStoreId = $3.SnStoreId; //SN仓库",
+"	int MerBuddyType = $3.MerBuddyType; //商户创客类型",
+"	int RewardType = $3.RewardType; //奖励类型",
+"	string RewardTips = $3.RewardTips; //奖励描述",
+"	decimal CreditTradeAmt = $3.CreditTradeAmt; //贷记卡交易总金额",
+"	decimal DebitTradeAmt = $3.DebitTradeAmt; //借记卡交易总金额",
+"	decimal CreditRewardAmount = $3.CreditRewardAmount; //贷记卡交易奖励金额",
+"	decimal DebitRewardAmount = $3.DebitRewardAmount; //借记记卡交易奖励金额",
+"	string OpenRewardNo = $3.OpenRewardNo; //开机奖励单号",
+"	string RewardDesc = $3.RewardDesc; //奖励描述",
+"	string Remark = $3.Remark; //备注",
+"	string OpenDetailRec = $3.OpenDetailRec; //明细单号",
+"	int CheckStatus = $3.CheckStatus; //同步状态",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询开机奖励明细": {
+"prefix": "ym-db-OpenRewardDetail-Exist",
+"body": [
+"bool $1 = db.OpenRewardDetail.Any(m => m.Id == $2);",
+]
+},
+"查询某个开机奖励明细,并取值": {
+"prefix": "ym-db-OpenRewardDetail-FindByPrimaryKey",
+"body": [
+"OpenRewardDetail $1 = db.OpenRewardDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string TradeMonth = $1.TradeMonth; //交易月",
+"	DateTime TradeDate = $1.TradeDate; //达标日期",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //品牌",
+"	string ProductName = $1.ProductName; //产品名称",
+"	int MerchantId = $1.MerchantId; //商户",
+"	int DirectUserId = $1.DirectUserId; //商户直属人",
+"	string SnNo = $1.SnNo; //SN号",
+"	string MerNo = $1.MerNo; //渠道商户号",
+"	int SnType = $1.SnType; //机具类型",
+"	int SnApplyUserId = $1.SnApplyUserId; //机具申请人",
+"	DateTime StandardDate = $1.StandardDate; //商户的激活日期",
+"	int SnStoreId = $1.SnStoreId; //SN仓库",
+"	int MerBuddyType = $1.MerBuddyType; //商户创客类型",
+"	int RewardType = $1.RewardType; //奖励类型",
+"	string RewardTips = $1.RewardTips; //奖励描述",
+"	decimal CreditTradeAmt = $1.CreditTradeAmt; //贷记卡交易总金额",
+"	decimal DebitTradeAmt = $1.DebitTradeAmt; //借记卡交易总金额",
+"	decimal CreditRewardAmount = $1.CreditRewardAmount; //贷记卡交易奖励金额",
+"	decimal DebitRewardAmount = $1.DebitRewardAmount; //借记记卡交易奖励金额",
+"	string OpenRewardNo = $1.OpenRewardNo; //开机奖励单号",
+"	string RewardDesc = $1.RewardDesc; //奖励描述",
+"	string Remark = $1.Remark; //备注",
+"	string OpenDetailRec = $1.OpenDetailRec; //明细单号",
+"	int CheckStatus = $1.CheckStatus; //同步状态",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询某个开机奖励明细,并赋值": {
+"prefix": "ym-db-OpenRewardDetail-Update",
+"body": [
+"OpenRewardDetail $1 = db.OpenRewardDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TradeMonth = $2; //交易月",
+"	$1.TradeDate = $3; //达标日期",
+"	$1.UserId = $4; //创客",
+"	$1.BrandId = $5; //品牌",
+"	$1.ProductName = $6; //产品名称",
+"	$1.MerchantId = $7; //商户",
+"	$1.DirectUserId = $8; //商户直属人",
+"	$1.SnNo = $9; //SN号",
+"	$1.MerNo = $10; //渠道商户号",
+"	$1.SnType = $11; //机具类型",
+"	$1.SnApplyUserId = $12; //机具申请人",
+"	$1.StandardDate = $13; //商户的激活日期",
+"	$1.SnStoreId = $14; //SN仓库",
+"	$1.MerBuddyType = $15; //商户创客类型",
+"	$1.RewardType = $16; //奖励类型",
+"	$1.RewardTips = $17; //奖励描述",
+"	$1.CreditTradeAmt = $18; //贷记卡交易总金额",
+"	$1.DebitTradeAmt = $19; //借记卡交易总金额",
+"	$1.CreditRewardAmount = $20; //贷记卡交易奖励金额",
+"	$1.DebitRewardAmount = $21; //借记记卡交易奖励金额",
+"	$1.OpenRewardNo = $22; //开机奖励单号",
+"	$1.RewardDesc = $23; //奖励描述",
+"	$1.Remark = $24; //备注",
+"	$1.OpenDetailRec = $25; //明细单号",
+"	$1.CheckStatus = $26; //同步状态",
+"	$1.TopUserId = $27; //顶级创客",
+"}"
+]
+},
+"获取开机奖励明细数量": {
+"prefix": "ym-db-OpenRewardDetail-FindAndCount",
+"body": [
+"int $1 = db.OpenRewardDetail.Count(m => $2);",
+]
+},
+"添加开机奖励明细": {
+"prefix": "ym-db-OpenRewardDetail-Create",
+"body": [
+"db.OpenRewardDetail.Add(new OpenRewardDetail()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TradeMonth = $1, //交易月",
+"	TradeDate = $2, //达标日期",
+"	UserId = $3, //创客",
+"	BrandId = $4, //品牌",
+"	ProductName = $5, //产品名称",
+"	MerchantId = $6, //商户",
+"	DirectUserId = $7, //商户直属人",
+"	SnNo = $8, //SN号",
+"	MerNo = $9, //渠道商户号",
+"	SnType = $10, //机具类型",
+"	SnApplyUserId = $11, //机具申请人",
+"	StandardDate = $12, //商户的激活日期",
+"	SnStoreId = $13, //SN仓库",
+"	MerBuddyType = $14, //商户创客类型",
+"	RewardType = $15, //奖励类型",
+"	RewardTips = $16, //奖励描述",
+"	CreditTradeAmt = $17, //贷记卡交易总金额",
+"	DebitTradeAmt = $18, //借记卡交易总金额",
+"	CreditRewardAmount = $19, //贷记卡交易奖励金额",
+"	DebitRewardAmount = $20, //借记记卡交易奖励金额",
+"	OpenRewardNo = $21, //开机奖励单号",
+"	RewardDesc = $22, //奖励描述",
+"	Remark = $23, //备注",
+"	OpenDetailRec = $24, //明细单号",
+"	CheckStatus = $25, //同步状态",
+"	TopUserId = $26, //顶级创客",
+"});"
+]
+},"删除某个开机奖励明细": {
+"prefix": "ym-db-OpenRewardDetail-Delete",
+"body": [
+"OpenRewardDetail $1 = db.OpenRewardDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.OpenRewardDetail.Remove($1);",
+"}"
+]
+},
+"查询开机机具快照列表": {
+"prefix": "ym-db-OpenSnSnapshot-Find",
+"body": [
+"List<OpenSnSnapshot> $1 = db.OpenSnSnapshot.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OpenSnSnapshot $3 in $1)",
+"{",
+"}"
+]
+},
+"查询开机机具快照列表,并取值": {
+"prefix": "ym-db-OpenSnSnapshot-FindWithData",
+"body": [
+"List<OpenSnSnapshot> $1 = db.OpenSnSnapshot.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OpenSnSnapshot $3 in $1)",
+"{",
+"	string TradeMonth = $3.TradeMonth; //交易月",
+"	DateTime TradeDate = $3.TradeDate; //达标日期",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //品牌",
+"	int MerchantId = $3.MerchantId; //商户",
+"	int DirectUserId = $3.DirectUserId; //商户直属人",
+"	string SnNo = $3.SnNo; //SN号",
+"	string MerNo = $3.MerNo; //渠道商户号",
+"	int SnType = $3.SnType; //机具类型",
+"	int SnApplyUserId = $3.SnApplyUserId; //机具申请人",
+"	DateTime StandardDate = $3.StandardDate; //商户的激活日期",
+"	int SnStoreId = $3.SnStoreId; //SN仓库",
+"	int MerUserType = $3.MerUserType; //商户创客类型",
+"	int RewardType = $3.RewardType; //奖励类型",
+"	string RewardTips = $3.RewardTips; //奖励描述",
+"	decimal CreditTradeAmt = $3.CreditTradeAmt; //贷记卡交易总金额",
+"	decimal DebitTradeAmt = $3.DebitTradeAmt; //借记卡交易总金额",
+"	decimal CreditRewardAmount = $3.CreditRewardAmount; //贷记卡交易奖励金额",
+"	decimal DebitRewardAmount = $3.DebitRewardAmount; //借记记卡交易奖励金额",
+"	string OpenRewardNo = $3.OpenRewardNo; //开机奖励单号",
+"	string RewardDesc = $3.RewardDesc; //奖励描述",
+"	string Remark = $3.Remark; //备注",
+"	string OpenDetailRec = $3.OpenDetailRec; //明细单号",
+"	int BuySnNum = $3.BuySnNum; //购买机数量",
+"	int StdBuySnNum = $3.StdBuySnNum; //标准购买机数量",
+"	decimal RewardAmount = $3.RewardAmount; //奖励金额",
+"	string FailReason = $3.FailReason; //失败原因",
+"	string UserNav = $3.UserNav; //创客路径",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询开机机具快照": {
+"prefix": "ym-db-OpenSnSnapshot-Exist",
+"body": [
+"bool $1 = db.OpenSnSnapshot.Any(m => m.Id == $2);",
+]
+},
+"查询某个开机机具快照,并取值": {
+"prefix": "ym-db-OpenSnSnapshot-FindByPrimaryKey",
+"body": [
+"OpenSnSnapshot $1 = db.OpenSnSnapshot.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string TradeMonth = $1.TradeMonth; //交易月",
+"	DateTime TradeDate = $1.TradeDate; //达标日期",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //品牌",
+"	int MerchantId = $1.MerchantId; //商户",
+"	int DirectUserId = $1.DirectUserId; //商户直属人",
+"	string SnNo = $1.SnNo; //SN号",
+"	string MerNo = $1.MerNo; //渠道商户号",
+"	int SnType = $1.SnType; //机具类型",
+"	int SnApplyUserId = $1.SnApplyUserId; //机具申请人",
+"	DateTime StandardDate = $1.StandardDate; //商户的激活日期",
+"	int SnStoreId = $1.SnStoreId; //SN仓库",
+"	int MerUserType = $1.MerUserType; //商户创客类型",
+"	int RewardType = $1.RewardType; //奖励类型",
+"	string RewardTips = $1.RewardTips; //奖励描述",
+"	decimal CreditTradeAmt = $1.CreditTradeAmt; //贷记卡交易总金额",
+"	decimal DebitTradeAmt = $1.DebitTradeAmt; //借记卡交易总金额",
+"	decimal CreditRewardAmount = $1.CreditRewardAmount; //贷记卡交易奖励金额",
+"	decimal DebitRewardAmount = $1.DebitRewardAmount; //借记记卡交易奖励金额",
+"	string OpenRewardNo = $1.OpenRewardNo; //开机奖励单号",
+"	string RewardDesc = $1.RewardDesc; //奖励描述",
+"	string Remark = $1.Remark; //备注",
+"	string OpenDetailRec = $1.OpenDetailRec; //明细单号",
+"	int BuySnNum = $1.BuySnNum; //购买机数量",
+"	int StdBuySnNum = $1.StdBuySnNum; //标准购买机数量",
+"	decimal RewardAmount = $1.RewardAmount; //奖励金额",
+"	string FailReason = $1.FailReason; //失败原因",
+"	string UserNav = $1.UserNav; //创客路径",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询某个开机机具快照,并赋值": {
+"prefix": "ym-db-OpenSnSnapshot-Update",
+"body": [
+"OpenSnSnapshot $1 = db.OpenSnSnapshot.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TradeMonth = $2; //交易月",
+"	$1.TradeDate = $3; //达标日期",
+"	$1.UserId = $4; //创客",
+"	$1.BrandId = $5; //品牌",
+"	$1.MerchantId = $6; //商户",
+"	$1.DirectUserId = $7; //商户直属人",
+"	$1.SnNo = $8; //SN号",
+"	$1.MerNo = $9; //渠道商户号",
+"	$1.SnType = $10; //机具类型",
+"	$1.SnApplyUserId = $11; //机具申请人",
+"	$1.StandardDate = $12; //商户的激活日期",
+"	$1.SnStoreId = $13; //SN仓库",
+"	$1.MerUserType = $14; //商户创客类型",
+"	$1.RewardType = $15; //奖励类型",
+"	$1.RewardTips = $16; //奖励描述",
+"	$1.CreditTradeAmt = $17; //贷记卡交易总金额",
+"	$1.DebitTradeAmt = $18; //借记卡交易总金额",
+"	$1.CreditRewardAmount = $19; //贷记卡交易奖励金额",
+"	$1.DebitRewardAmount = $20; //借记记卡交易奖励金额",
+"	$1.OpenRewardNo = $21; //开机奖励单号",
+"	$1.RewardDesc = $22; //奖励描述",
+"	$1.Remark = $23; //备注",
+"	$1.OpenDetailRec = $24; //明细单号",
+"	$1.BuySnNum = $25; //购买机数量",
+"	$1.StdBuySnNum = $26; //标准购买机数量",
+"	$1.RewardAmount = $27; //奖励金额",
+"	$1.FailReason = $28; //失败原因",
+"	$1.UserNav = $29; //创客路径",
+"	$1.TopUserId = $30; //顶级创客",
+"}"
+]
+},
+"获取开机机具快照数量": {
+"prefix": "ym-db-OpenSnSnapshot-FindAndCount",
+"body": [
+"int $1 = db.OpenSnSnapshot.Count(m => $2);",
+]
+},
+"添加开机机具快照": {
+"prefix": "ym-db-OpenSnSnapshot-Create",
+"body": [
+"db.OpenSnSnapshot.Add(new OpenSnSnapshot()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TradeMonth = $1, //交易月",
+"	TradeDate = $2, //达标日期",
+"	UserId = $3, //创客",
+"	BrandId = $4, //品牌",
+"	MerchantId = $5, //商户",
+"	DirectUserId = $6, //商户直属人",
+"	SnNo = $7, //SN号",
+"	MerNo = $8, //渠道商户号",
+"	SnType = $9, //机具类型",
+"	SnApplyUserId = $10, //机具申请人",
+"	StandardDate = $11, //商户的激活日期",
+"	SnStoreId = $12, //SN仓库",
+"	MerUserType = $13, //商户创客类型",
+"	RewardType = $14, //奖励类型",
+"	RewardTips = $15, //奖励描述",
+"	CreditTradeAmt = $16, //贷记卡交易总金额",
+"	DebitTradeAmt = $17, //借记卡交易总金额",
+"	CreditRewardAmount = $18, //贷记卡交易奖励金额",
+"	DebitRewardAmount = $19, //借记记卡交易奖励金额",
+"	OpenRewardNo = $20, //开机奖励单号",
+"	RewardDesc = $21, //奖励描述",
+"	Remark = $22, //备注",
+"	OpenDetailRec = $23, //明细单号",
+"	BuySnNum = $24, //购买机数量",
+"	StdBuySnNum = $25, //标准购买机数量",
+"	RewardAmount = $26, //奖励金额",
+"	FailReason = $27, //失败原因",
+"	UserNav = $28, //创客路径",
+"	TopUserId = $29, //顶级创客",
+"});"
+]
+},"删除某个开机机具快照": {
+"prefix": "ym-db-OpenSnSnapshot-Delete",
+"body": [
+"OpenSnSnapshot $1 = db.OpenSnSnapshot.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.OpenSnSnapshot.Remove($1);",
+"}"
+]
+},
+"查询订单号关联表列表": {
+"prefix": "ym-db-OrderForNo-Find",
+"body": [
+"List<OrderForNo> $1 = db.OrderForNo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OrderForNo $3 in $1)",
+"{",
+"}"
+]
+},
+"查询订单号关联表列表,并取值": {
+"prefix": "ym-db-OrderForNo-FindWithData",
+"body": [
+"List<OrderForNo> $1 = db.OrderForNo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OrderForNo $3 in $1)",
+"{",
+"	string OrderNo = $3.OrderNo; //订单号",
+"	string OrderIds = $3.OrderIds; //订单Id",
+"	int RspCode = $3.RspCode; //返回码",
+"	string RspMsg = $3.RspMsg; //返回信息",
+"}"
+]
+},
+"查询订单号关联表": {
+"prefix": "ym-db-OrderForNo-Exist",
+"body": [
+"bool $1 = db.OrderForNo.Any(m => m.OrderNo == $2);",
+]
+},
+"查询某个订单号关联表,并取值": {
+"prefix": "ym-db-OrderForNo-FindByPrimaryKey",
+"body": [
+"OrderForNo $1 = db.OrderForNo.FirstOrDefault(m => m.OrderNo == $2);",
+"if ($1 != null)",
+"{",
+"	string OrderNo = $1.OrderNo; //订单号",
+"	string OrderIds = $1.OrderIds; //订单Id",
+"	int RspCode = $1.RspCode; //返回码",
+"	string RspMsg = $1.RspMsg; //返回信息",
+"}"
+]
+},
+"查询某个订单号关联表,并赋值": {
+"prefix": "ym-db-OrderForNo-Update",
+"body": [
+"OrderForNo $1 = db.OrderForNo.FirstOrDefault(m => m.OrderNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.OrderNo = $2; //订单号",
+"	$1.OrderIds = $3; //订单Id",
+"	$1.RspCode = $4; //返回码",
+"	$1.RspMsg = $5; //返回信息",
+"}"
+]
+},
+"获取订单号关联表数量": {
+"prefix": "ym-db-OrderForNo-FindAndCount",
+"body": [
+"int $1 = db.OrderForNo.Count(m => $2);",
+]
+},
+"添加订单号关联表": {
+"prefix": "ym-db-OrderForNo-Create",
+"body": [
+"db.OrderForNo.Add(new OrderForNo()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	OrderNo = $1, //订单号",
+"	OrderIds = $2, //订单Id",
+"	RspCode = $3, //返回码",
+"	RspMsg = $4, //返回信息",
+"});"
+]
+},"删除某个订单号关联表": {
+"prefix": "ym-db-OrderForNo-Delete",
+"body": [
+"OrderForNo $1 = db.OrderForNo.FirstOrDefault(m => m.OrderNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.OrderForNo.Remove($1);",
+"}"
+]
+},
+"查询订单商品列表": {
+"prefix": "ym-db-OrderProduct-Find",
+"body": [
+"List<OrderProduct> $1 = db.OrderProduct.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OrderProduct $3 in $1)",
+"{",
+"}"
+]
+},
+"查询订单商品列表,并取值": {
+"prefix": "ym-db-OrderProduct-FindWithData",
+"body": [
+"List<OrderProduct> $1 = db.OrderProduct.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OrderProduct $3 in $1)",
+"{",
+"	int OrderId = $3.OrderId; //订单Id",
+"	int UserId = $3.UserId; //创客Id",
+"	int ProductId = $3.ProductId; //商品Id",
+"	string ProductName = $3.ProductName; //商品名称",
+"	decimal ProductPrice = $3.ProductPrice; //商品单价",
+"	int ProductCount = $3.ProductCount; //商品数量",
+"	decimal TotalPrice = $3.TotalPrice; //小计",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"	decimal TotalIntegral = $3.TotalIntegral; //积分",
+"	string ProductPhoto = $3.ProductPhoto; //商品缩略图",
+"	string NormId = $3.NormId; //规格Id",
+"	string NormDetail = $3.NormDetail; //规则描述",
+"	decimal ProductIntegral = $3.ProductIntegral; //商品抵扣积分",
+"	string ProductCode = $3.ProductCode; //商品编号",
+"	int StoreId = $3.StoreId; //发货仓库",
+"	string SnNos = $3.SnNos; //SN编号",
+"}"
+]
+},
+"查询订单商品": {
+"prefix": "ym-db-OrderProduct-Exist",
+"body": [
+"bool $1 = db.OrderProduct.Any(m => m.Id == $2);",
+]
+},
+"查询某个订单商品,并取值": {
+"prefix": "ym-db-OrderProduct-FindByPrimaryKey",
+"body": [
+"OrderProduct $1 = db.OrderProduct.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int OrderId = $1.OrderId; //订单Id",
+"	int UserId = $1.UserId; //创客Id",
+"	int ProductId = $1.ProductId; //商品Id",
+"	string ProductName = $1.ProductName; //商品名称",
+"	decimal ProductPrice = $1.ProductPrice; //商品单价",
+"	int ProductCount = $1.ProductCount; //商品数量",
+"	decimal TotalPrice = $1.TotalPrice; //小计",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"	decimal TotalIntegral = $1.TotalIntegral; //积分",
+"	string ProductPhoto = $1.ProductPhoto; //商品缩略图",
+"	string NormId = $1.NormId; //规格Id",
+"	string NormDetail = $1.NormDetail; //规则描述",
+"	decimal ProductIntegral = $1.ProductIntegral; //商品抵扣积分",
+"	string ProductCode = $1.ProductCode; //商品编号",
+"	int StoreId = $1.StoreId; //发货仓库",
+"	string SnNos = $1.SnNos; //SN编号",
+"}"
+]
+},
+"查询某个订单商品,并赋值": {
+"prefix": "ym-db-OrderProduct-Update",
+"body": [
+"OrderProduct $1 = db.OrderProduct.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.OrderId = $2; //订单Id",
+"	$1.UserId = $3; //创客Id",
+"	$1.ProductId = $4; //商品Id",
+"	$1.ProductName = $5; //商品名称",
+"	$1.ProductPrice = $6; //商品单价",
+"	$1.ProductCount = $7; //商品数量",
+"	$1.TotalPrice = $8; //小计",
+"	$1.MerchantId = $9; //商家Id",
+"	$1.TotalIntegral = $10; //积分",
+"	$1.ProductPhoto = $11; //商品缩略图",
+"	$1.NormId = $12; //规格Id",
+"	$1.NormDetail = $13; //规则描述",
+"	$1.ProductIntegral = $14; //商品抵扣积分",
+"	$1.ProductCode = $15; //商品编号",
+"	$1.StoreId = $16; //发货仓库",
+"	$1.SnNos = $17; //SN编号",
+"}"
+]
+},
+"获取订单商品数量": {
+"prefix": "ym-db-OrderProduct-FindAndCount",
+"body": [
+"int $1 = db.OrderProduct.Count(m => $2);",
+]
+},
+"添加订单商品": {
+"prefix": "ym-db-OrderProduct-Create",
+"body": [
+"db.OrderProduct.Add(new OrderProduct()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	OrderId = $1, //订单Id",
+"	UserId = $2, //创客Id",
+"	ProductId = $3, //商品Id",
+"	ProductName = $4, //商品名称",
+"	ProductPrice = $5, //商品单价",
+"	ProductCount = $6, //商品数量",
+"	TotalPrice = $7, //小计",
+"	MerchantId = $8, //商家Id",
+"	TotalIntegral = $9, //积分",
+"	ProductPhoto = $10, //商品缩略图",
+"	NormId = $11, //规格Id",
+"	NormDetail = $12, //规则描述",
+"	ProductIntegral = $13, //商品抵扣积分",
+"	ProductCode = $14, //商品编号",
+"	StoreId = $15, //发货仓库",
+"	SnNos = $16, //SN编号",
+"});"
+]
+},"删除某个订单商品": {
+"prefix": "ym-db-OrderProduct-Delete",
+"body": [
+"OrderProduct $1 = db.OrderProduct.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.OrderProduct.Remove($1);",
+"}"
+]
+},
+"查询退款申请列表": {
+"prefix": "ym-db-OrderRefund-Find",
+"body": [
+"List<OrderRefund> $1 = db.OrderRefund.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OrderRefund $3 in $1)",
+"{",
+"}"
+]
+},
+"查询退款申请列表,并取值": {
+"prefix": "ym-db-OrderRefund-FindWithData",
+"body": [
+"List<OrderRefund> $1 = db.OrderRefund.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OrderRefund $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客Id",
+"	int OrderId = $3.OrderId; //订单Id",
+"	string ProductId = $3.ProductId; //商品Id",
+"	int Reason = $3.Reason; //退款原因",
+"	decimal Amount = $3.Amount; //退款金额",
+"	string Contents = $3.Contents; //补充说明",
+"	string Mobile = $3.Mobile; //申请人手机号",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"	int GoodStatus = $3.GoodStatus; //货物状态",
+"	string Photos = $3.Photos; //凭证",
+"	int ErpCompany = $3.ErpCompany; //快递公司",
+"	string ErpCode = $3.ErpCode; //快递运单号",
+"}"
+]
+},
+"查询退款申请": {
+"prefix": "ym-db-OrderRefund-Exist",
+"body": [
+"bool $1 = db.OrderRefund.Any(m => m.Id == $2);",
+]
+},
+"查询某个退款申请,并取值": {
+"prefix": "ym-db-OrderRefund-FindByPrimaryKey",
+"body": [
+"OrderRefund $1 = db.OrderRefund.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客Id",
+"	int OrderId = $1.OrderId; //订单Id",
+"	string ProductId = $1.ProductId; //商品Id",
+"	int Reason = $1.Reason; //退款原因",
+"	decimal Amount = $1.Amount; //退款金额",
+"	string Contents = $1.Contents; //补充说明",
+"	string Mobile = $1.Mobile; //申请人手机号",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"	int GoodStatus = $1.GoodStatus; //货物状态",
+"	string Photos = $1.Photos; //凭证",
+"	int ErpCompany = $1.ErpCompany; //快递公司",
+"	string ErpCode = $1.ErpCode; //快递运单号",
+"}"
+]
+},
+"查询某个退款申请,并赋值": {
+"prefix": "ym-db-OrderRefund-Update",
+"body": [
+"OrderRefund $1 = db.OrderRefund.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客Id",
+"	$1.OrderId = $3; //订单Id",
+"	$1.ProductId = $4; //商品Id",
+"	$1.Reason = $5; //退款原因",
+"	$1.Amount = $6; //退款金额",
+"	$1.Contents = $7; //补充说明",
+"	$1.Mobile = $8; //申请人手机号",
+"	$1.MerchantId = $9; //商家Id",
+"	$1.GoodStatus = $10; //货物状态",
+"	$1.Photos = $11; //凭证",
+"	$1.ErpCompany = $12; //快递公司",
+"	$1.ErpCode = $13; //快递运单号",
+"}"
+]
+},
+"获取退款申请数量": {
+"prefix": "ym-db-OrderRefund-FindAndCount",
+"body": [
+"int $1 = db.OrderRefund.Count(m => $2);",
+]
+},
+"添加退款申请": {
+"prefix": "ym-db-OrderRefund-Create",
+"body": [
+"db.OrderRefund.Add(new OrderRefund()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客Id",
+"	OrderId = $2, //订单Id",
+"	ProductId = $3, //商品Id",
+"	Reason = $4, //退款原因",
+"	Amount = $5, //退款金额",
+"	Contents = $6, //补充说明",
+"	Mobile = $7, //申请人手机号",
+"	MerchantId = $8, //商家Id",
+"	GoodStatus = $9, //货物状态",
+"	Photos = $10, //凭证",
+"	ErpCompany = $11, //快递公司",
+"	ErpCode = $12, //快递运单号",
+"});"
+]
+},"删除某个退款申请": {
+"prefix": "ym-db-OrderRefund-Delete",
+"body": [
+"OrderRefund $1 = db.OrderRefund.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.OrderRefund.Remove($1);",
+"}"
+]
+},
+"查询退款原因列表": {
+"prefix": "ym-db-OrderRefundReason-Find",
+"body": [
+"List<OrderRefundReason> $1 = db.OrderRefundReason.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OrderRefundReason $3 in $1)",
+"{",
+"}"
+]
+},
+"查询退款原因列表,并取值": {
+"prefix": "ym-db-OrderRefundReason-FindWithData",
+"body": [
+"List<OrderRefundReason> $1 = db.OrderRefundReason.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (OrderRefundReason $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"}"
+]
+},
+"查询退款原因": {
+"prefix": "ym-db-OrderRefundReason-Exist",
+"body": [
+"bool $1 = db.OrderRefundReason.Any(m => m.Id == $2);",
+]
+},
+"查询某个退款原因,并取值": {
+"prefix": "ym-db-OrderRefundReason-FindByPrimaryKey",
+"body": [
+"OrderRefundReason $1 = db.OrderRefundReason.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"}"
+]
+},
+"查询某个退款原因,并赋值": {
+"prefix": "ym-db-OrderRefundReason-Update",
+"body": [
+"OrderRefundReason $1 = db.OrderRefundReason.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"}"
+]
+},
+"获取退款原因数量": {
+"prefix": "ym-db-OrderRefundReason-FindAndCount",
+"body": [
+"int $1 = db.OrderRefundReason.Count(m => $2);",
+]
+},
+"添加退款原因": {
+"prefix": "ym-db-OrderRefundReason-Create",
+"body": [
+"db.OrderRefundReason.Add(new OrderRefundReason()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"});"
+]
+},"删除某个退款原因": {
+"prefix": "ym-db-OrderRefundReason-Delete",
+"body": [
+"OrderRefundReason $1 = db.OrderRefundReason.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.OrderRefundReason.Remove($1);",
+"}"
+]
+},
+"查询创客订单列表": {
+"prefix": "ym-db-Orders-Find",
+"body": [
+"List<Orders> $1 = db.Orders.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Orders $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客订单列表,并取值": {
+"prefix": "ym-db-Orders-FindWithData",
+"body": [
+"List<Orders> $1 = db.Orders.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Orders $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	string OrderNo = $3.OrderNo; //订单号",
+"	string RealName = $3.RealName; //姓名",
+"	string Mobile = $3.Mobile; //手机号",
+"	decimal TotalPrice = $3.TotalPrice; //总价",
+"	string Areas = $3.Areas; //所在地区",
+"	string Address = $3.Address; //详细地址",
+"	string PostalCode = $3.PostalCode; //邮政编码",
+"	int ErpMode = $3.ErpMode; //配送方式",
+"	string UserMessage = $3.UserMessage; //买家留言",
+"	int CouponId = $3.CouponId; //优惠券Id",
+"	string ErpName = $3.ErpName; //物流名称",
+"	string ErpCode = $3.ErpCode; //运单号",
+"	DateTime PayDate = $3.PayDate; //付款时间",
+"	DateTime SendDate = $3.SendDate; //发货时间",
+"	DateTime ConfirmDate = $3.ConfirmDate; //确认时间",
+"	int PayMode = $3.PayMode; //支付方式",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"	decimal ErpPrice = $3.ErpPrice; //运费",
+"	decimal Integral = $3.Integral; //积分抵扣",
+"	string TradeNo = $3.TradeNo; //支付交易号",
+"	decimal CouponMoney = $3.CouponMoney; //优惠金额",
+"	DateTime AutoConfirmDate = $3.AutoConfirmDate; //自动确认时间",
+"	decimal ActualPay = $3.ActualPay; //实付款",
+"	int StoreId = $3.StoreId; //仓库",
+"	int RefundStatus = $3.RefundStatus; //退款状态",
+"	decimal RefundActAmount = $3.RefundActAmount; //实际退款金额",
+"	decimal RefundFeeAmount = $3.RefundFeeAmount; //退款手续费",
+"	int DeliveryType = $3.DeliveryType; //提货类型",
+"	string ReqData = $3.ReqData; //请求数据",
+"	string ResData = $3.ResData; //响应数据",
+"	string ReturnMsg = $3.ReturnMsg; //返回信息",
+"	string ReturnCode = $3.ReturnCode; //返回编码",
+"	int SendStatus = $3.SendStatus; //发货状态",
+"	int ProductId = $3.ProductId; //商品名称",
+"	string StoreContact = $3.StoreContact; //仓库联系人",
+"	int StoreType = $3.StoreType; //仓库类型",
+"	int StoreUserId = $3.StoreUserId; //仓库归属创客",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"	int PayStatus = $3.PayStatus; //支付状态",
+"	int BuyCount = $3.BuyCount; //下单数量",
+"	string Remark = $3.Remark; //订单备注",
+"	string SnNos = $3.SnNos; //SN编号",
+"	string StoreContactMobile = $3.StoreContactMobile; //仓库联系人电话",
+"	decimal ChannelAmount = $3.ChannelAmount; //渠道返回实际金额",
+"	string RefundReason = $3.RefundReason; //退货原因",
+"}"
+]
+},
+"查询创客订单": {
+"prefix": "ym-db-Orders-Exist",
+"body": [
+"bool $1 = db.Orders.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客订单,并取值": {
+"prefix": "ym-db-Orders-FindByPrimaryKey",
+"body": [
+"Orders $1 = db.Orders.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	string OrderNo = $1.OrderNo; //订单号",
+"	string RealName = $1.RealName; //姓名",
+"	string Mobile = $1.Mobile; //手机号",
+"	decimal TotalPrice = $1.TotalPrice; //总价",
+"	string Areas = $1.Areas; //所在地区",
+"	string Address = $1.Address; //详细地址",
+"	string PostalCode = $1.PostalCode; //邮政编码",
+"	int ErpMode = $1.ErpMode; //配送方式",
+"	string UserMessage = $1.UserMessage; //买家留言",
+"	int CouponId = $1.CouponId; //优惠券Id",
+"	string ErpName = $1.ErpName; //物流名称",
+"	string ErpCode = $1.ErpCode; //运单号",
+"	DateTime PayDate = $1.PayDate; //付款时间",
+"	DateTime SendDate = $1.SendDate; //发货时间",
+"	DateTime ConfirmDate = $1.ConfirmDate; //确认时间",
+"	int PayMode = $1.PayMode; //支付方式",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"	decimal ErpPrice = $1.ErpPrice; //运费",
+"	decimal Integral = $1.Integral; //积分抵扣",
+"	string TradeNo = $1.TradeNo; //支付交易号",
+"	decimal CouponMoney = $1.CouponMoney; //优惠金额",
+"	DateTime AutoConfirmDate = $1.AutoConfirmDate; //自动确认时间",
+"	decimal ActualPay = $1.ActualPay; //实付款",
+"	int StoreId = $1.StoreId; //仓库",
+"	int RefundStatus = $1.RefundStatus; //退款状态",
+"	decimal RefundActAmount = $1.RefundActAmount; //实际退款金额",
+"	decimal RefundFeeAmount = $1.RefundFeeAmount; //退款手续费",
+"	int DeliveryType = $1.DeliveryType; //提货类型",
+"	string ReqData = $1.ReqData; //请求数据",
+"	string ResData = $1.ResData; //响应数据",
+"	string ReturnMsg = $1.ReturnMsg; //返回信息",
+"	string ReturnCode = $1.ReturnCode; //返回编码",
+"	int SendStatus = $1.SendStatus; //发货状态",
+"	int ProductId = $1.ProductId; //商品名称",
+"	string StoreContact = $1.StoreContact; //仓库联系人",
+"	int StoreType = $1.StoreType; //仓库类型",
+"	int StoreUserId = $1.StoreUserId; //仓库归属创客",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"	int PayStatus = $1.PayStatus; //支付状态",
+"	int BuyCount = $1.BuyCount; //下单数量",
+"	string Remark = $1.Remark; //订单备注",
+"	string SnNos = $1.SnNos; //SN编号",
+"	string StoreContactMobile = $1.StoreContactMobile; //仓库联系人电话",
+"	decimal ChannelAmount = $1.ChannelAmount; //渠道返回实际金额",
+"	string RefundReason = $1.RefundReason; //退货原因",
+"}"
+]
+},
+"查询某个创客订单,并赋值": {
+"prefix": "ym-db-Orders-Update",
+"body": [
+"Orders $1 = db.Orders.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.OrderNo = $3; //订单号",
+"	$1.RealName = $4; //姓名",
+"	$1.Mobile = $5; //手机号",
+"	$1.TotalPrice = $6; //总价",
+"	$1.Areas = $7; //所在地区",
+"	$1.Address = $8; //详细地址",
+"	$1.PostalCode = $9; //邮政编码",
+"	$1.ErpMode = $10; //配送方式",
+"	$1.UserMessage = $11; //买家留言",
+"	$1.CouponId = $12; //优惠券Id",
+"	$1.ErpName = $13; //物流名称",
+"	$1.ErpCode = $14; //运单号",
+"	$1.PayDate = $15; //付款时间",
+"	$1.SendDate = $16; //发货时间",
+"	$1.ConfirmDate = $17; //确认时间",
+"	$1.PayMode = $18; //支付方式",
+"	$1.MerchantId = $19; //商家Id",
+"	$1.ErpPrice = $20; //运费",
+"	$1.Integral = $21; //积分抵扣",
+"	$1.TradeNo = $22; //支付交易号",
+"	$1.CouponMoney = $23; //优惠金额",
+"	$1.AutoConfirmDate = $24; //自动确认时间",
+"	$1.ActualPay = $25; //实付款",
+"	$1.StoreId = $26; //仓库",
+"	$1.RefundStatus = $27; //退款状态",
+"	$1.RefundActAmount = $28; //实际退款金额",
+"	$1.RefundFeeAmount = $29; //退款手续费",
+"	$1.DeliveryType = $30; //提货类型",
+"	$1.ReqData = $31; //请求数据",
+"	$1.ResData = $32; //响应数据",
+"	$1.ReturnMsg = $33; //返回信息",
+"	$1.ReturnCode = $34; //返回编码",
+"	$1.SendStatus = $35; //发货状态",
+"	$1.ProductId = $36; //商品名称",
+"	$1.StoreContact = $37; //仓库联系人",
+"	$1.StoreType = $38; //仓库类型",
+"	$1.StoreUserId = $39; //仓库归属创客",
+"	$1.TopUserId = $40; //顶级创客",
+"	$1.PayStatus = $41; //支付状态",
+"	$1.BuyCount = $42; //下单数量",
+"	$1.Remark = $43; //订单备注",
+"	$1.SnNos = $44; //SN编号",
+"	$1.StoreContactMobile = $45; //仓库联系人电话",
+"	$1.ChannelAmount = $46; //渠道返回实际金额",
+"	$1.RefundReason = $47; //退货原因",
+"}"
+]
+},
+"获取创客订单数量": {
+"prefix": "ym-db-Orders-FindAndCount",
+"body": [
+"int $1 = db.Orders.Count(m => $2);",
+]
+},
+"添加创客订单": {
+"prefix": "ym-db-Orders-Create",
+"body": [
+"db.Orders.Add(new Orders()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	OrderNo = $2, //订单号",
+"	RealName = $3, //姓名",
+"	Mobile = $4, //手机号",
+"	TotalPrice = $5, //总价",
+"	Areas = $6, //所在地区",
+"	Address = $7, //详细地址",
+"	PostalCode = $8, //邮政编码",
+"	ErpMode = $9, //配送方式",
+"	UserMessage = $10, //买家留言",
+"	CouponId = $11, //优惠券Id",
+"	ErpName = $12, //物流名称",
+"	ErpCode = $13, //运单号",
+"	PayDate = $14, //付款时间",
+"	SendDate = $15, //发货时间",
+"	ConfirmDate = $16, //确认时间",
+"	PayMode = $17, //支付方式",
+"	MerchantId = $18, //商家Id",
+"	ErpPrice = $19, //运费",
+"	Integral = $20, //积分抵扣",
+"	TradeNo = $21, //支付交易号",
+"	CouponMoney = $22, //优惠金额",
+"	AutoConfirmDate = $23, //自动确认时间",
+"	ActualPay = $24, //实付款",
+"	StoreId = $25, //仓库",
+"	RefundStatus = $26, //退款状态",
+"	RefundActAmount = $27, //实际退款金额",
+"	RefundFeeAmount = $28, //退款手续费",
+"	DeliveryType = $29, //提货类型",
+"	ReqData = $30, //请求数据",
+"	ResData = $31, //响应数据",
+"	ReturnMsg = $32, //返回信息",
+"	ReturnCode = $33, //返回编码",
+"	SendStatus = $34, //发货状态",
+"	ProductId = $35, //商品名称",
+"	StoreContact = $36, //仓库联系人",
+"	StoreType = $37, //仓库类型",
+"	StoreUserId = $38, //仓库归属创客",
+"	TopUserId = $39, //顶级创客",
+"	PayStatus = $40, //支付状态",
+"	BuyCount = $41, //下单数量",
+"	Remark = $42, //订单备注",
+"	SnNos = $43, //SN编号",
+"	StoreContactMobile = $44, //仓库联系人电话",
+"	ChannelAmount = $45, //渠道返回实际金额",
+"	RefundReason = $46, //退货原因",
+"});"
+]
+},"删除某个创客订单": {
+"prefix": "ym-db-Orders-Delete",
+"body": [
+"Orders $1 = db.Orders.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.Orders.Remove($1);",
+"}"
+]
+},
+"查询页面模板更新信息列表": {
+"prefix": "ym-db-PageUpdateInfo-Find",
+"body": [
+"List<PageUpdateInfo> $1 = db.PageUpdateInfo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (PageUpdateInfo $3 in $1)",
+"{",
+"}"
+]
+},
+"查询页面模板更新信息列表,并取值": {
+"prefix": "ym-db-PageUpdateInfo-FindWithData",
+"body": [
+"List<PageUpdateInfo> $1 = db.PageUpdateInfo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (PageUpdateInfo $3 in $1)",
+"{",
+"	int ModuleVersion = $3.ModuleVersion; //模板更新版本",
+"	string ModulePath = $3.ModulePath; //模板路径",
+"	string BgColor = $3.BgColor; //背景色",
+"	string TextColor = $3.TextColor; //前景色",
+"	string StatusBarStyle = $3.StatusBarStyle; //苹果状态栏",
+"	ulong ShowTitle = $3.ShowTitle; //是否显示头部",
+"	string Title = $3.Title; //顶部标题",
+"	ulong IsScrollBar = $3.IsScrollBar; //是否显示滚动条",
+"	ulong IsSkid = $3.IsSkid; //是否侧滑返回",
+"	string LeftBtn1 = $3.LeftBtn1; //左侧按钮1",
+"	string LeftBtn2 = $3.LeftBtn2; //左侧按钮2",
+"	string RightBtn1 = $3.RightBtn1; //右侧按钮1",
+"	string RightBtn2 = $3.RightBtn2; //右侧按钮2",
+"	string LeftAction1 = $3.LeftAction1; //左侧按钮1点击事件",
+"	string LeftAction2 = $3.LeftAction2; //左侧按钮2点击事件",
+"	string RightAction1 = $3.RightAction1; //右侧按钮1点击事件",
+"	string RightAction2 = $3.RightAction2; //右侧按钮2点击事件",
+"	string GotoPages = $3.GotoPages; //下级页面",
+"	ulong MustUpdate = $3.MustUpdate; //是否强制更新",
+"}"
+]
+},
+"查询页面模板更新信息": {
+"prefix": "ym-db-PageUpdateInfo-Exist",
+"body": [
+"bool $1 = db.PageUpdateInfo.Any(m => m.Id == $2);",
+]
+},
+"查询某个页面模板更新信息,并取值": {
+"prefix": "ym-db-PageUpdateInfo-FindByPrimaryKey",
+"body": [
+"PageUpdateInfo $1 = db.PageUpdateInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int ModuleVersion = $1.ModuleVersion; //模板更新版本",
+"	string ModulePath = $1.ModulePath; //模板路径",
+"	string BgColor = $1.BgColor; //背景色",
+"	string TextColor = $1.TextColor; //前景色",
+"	string StatusBarStyle = $1.StatusBarStyle; //苹果状态栏",
+"	ulong ShowTitle = $1.ShowTitle; //是否显示头部",
+"	string Title = $1.Title; //顶部标题",
+"	ulong IsScrollBar = $1.IsScrollBar; //是否显示滚动条",
+"	ulong IsSkid = $1.IsSkid; //是否侧滑返回",
+"	string LeftBtn1 = $1.LeftBtn1; //左侧按钮1",
+"	string LeftBtn2 = $1.LeftBtn2; //左侧按钮2",
+"	string RightBtn1 = $1.RightBtn1; //右侧按钮1",
+"	string RightBtn2 = $1.RightBtn2; //右侧按钮2",
+"	string LeftAction1 = $1.LeftAction1; //左侧按钮1点击事件",
+"	string LeftAction2 = $1.LeftAction2; //左侧按钮2点击事件",
+"	string RightAction1 = $1.RightAction1; //右侧按钮1点击事件",
+"	string RightAction2 = $1.RightAction2; //右侧按钮2点击事件",
+"	string GotoPages = $1.GotoPages; //下级页面",
+"	ulong MustUpdate = $1.MustUpdate; //是否强制更新",
+"}"
+]
+},
+"查询某个页面模板更新信息,并赋值": {
+"prefix": "ym-db-PageUpdateInfo-Update",
+"body": [
+"PageUpdateInfo $1 = db.PageUpdateInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ModuleVersion = $2; //模板更新版本",
+"	$1.ModulePath = $3; //模板路径",
+"	$1.BgColor = $4; //背景色",
+"	$1.TextColor = $5; //前景色",
+"	$1.StatusBarStyle = $6; //苹果状态栏",
+"	$1.ShowTitle = $7; //是否显示头部",
+"	$1.Title = $8; //顶部标题",
+"	$1.IsScrollBar = $9; //是否显示滚动条",
+"	$1.IsSkid = $10; //是否侧滑返回",
+"	$1.LeftBtn1 = $11; //左侧按钮1",
+"	$1.LeftBtn2 = $12; //左侧按钮2",
+"	$1.RightBtn1 = $13; //右侧按钮1",
+"	$1.RightBtn2 = $14; //右侧按钮2",
+"	$1.LeftAction1 = $15; //左侧按钮1点击事件",
+"	$1.LeftAction2 = $16; //左侧按钮2点击事件",
+"	$1.RightAction1 = $17; //右侧按钮1点击事件",
+"	$1.RightAction2 = $18; //右侧按钮2点击事件",
+"	$1.GotoPages = $19; //下级页面",
+"	$1.MustUpdate = $20; //是否强制更新",
+"}"
+]
+},
+"获取页面模板更新信息数量": {
+"prefix": "ym-db-PageUpdateInfo-FindAndCount",
+"body": [
+"int $1 = db.PageUpdateInfo.Count(m => $2);",
+]
+},
+"添加页面模板更新信息": {
+"prefix": "ym-db-PageUpdateInfo-Create",
+"body": [
+"db.PageUpdateInfo.Add(new PageUpdateInfo()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ModuleVersion = $1, //模板更新版本",
+"	ModulePath = $2, //模板路径",
+"	BgColor = $3, //背景色",
+"	TextColor = $4, //前景色",
+"	StatusBarStyle = $5, //苹果状态栏",
+"	ShowTitle = $6, //是否显示头部",
+"	Title = $7, //顶部标题",
+"	IsScrollBar = $8, //是否显示滚动条",
+"	IsSkid = $9, //是否侧滑返回",
+"	LeftBtn1 = $10, //左侧按钮1",
+"	LeftBtn2 = $11, //左侧按钮2",
+"	RightBtn1 = $12, //右侧按钮1",
+"	RightBtn2 = $13, //右侧按钮2",
+"	LeftAction1 = $14, //左侧按钮1点击事件",
+"	LeftAction2 = $15, //左侧按钮2点击事件",
+"	RightAction1 = $16, //右侧按钮1点击事件",
+"	RightAction2 = $17, //右侧按钮2点击事件",
+"	GotoPages = $18, //下级页面",
+"	MustUpdate = $19, //是否强制更新",
+"});"
+]
+},"删除某个页面模板更新信息": {
+"prefix": "ym-db-PageUpdateInfo-Delete",
+"body": [
+"PageUpdateInfo $1 = db.PageUpdateInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.PageUpdateInfo.Remove($1);",
+"}"
+]
+},
+"查询机具库列表": {
+"prefix": "ym-db-PosMachines-Find",
+"body": [
+"List<PosMachines> $1 = db.PosMachines.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (PosMachines $3 in $1)",
+"{",
+"}"
+]
+},
+"查询机具库列表,并取值": {
+"prefix": "ym-db-PosMachines-FindWithData",
+"body": [
+"List<PosMachines> $1 = db.PosMachines.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (PosMachines $3 in $1)",
+"{",
+"	int BindingState = $3.BindingState; //绑定状态",
+"	int ActivationState = $3.ActivationState; //激活状态",
+"	string Detail = $3.Detail; //机具详情",
+"	DateTime ActivationTime = $3.ActivationTime; //激活时间",
+"	DateTime BindingTime = $3.BindingTime; //绑定时间",
+"	int UserId = $3.UserId; //所属创客",
+"	ulong IsPurchase = $3.IsPurchase; //是否卖出",
+"	string PosSn = $3.PosSn; //SN编号",
+"	DateTime TransferTime = $3.TransferTime; //划拨时间",
+"	int BuyUserId = $3.BuyUserId; //购买人",
+"	string UserNav = $3.UserNav; //所属创客上级集合",
+"	int BrandId = $3.BrandId; //产品类型",
+"	decimal CreditTrade = $3.CreditTrade; //贷记卡交易额",
+"	ulong IsVip = $3.IsVip; //是否VIP",
+"	string PrizeParams = $3.PrizeParams; //附加参数",
+"	int RecycBackCount = $3.RecycBackCount; //循环返券张数",
+"	int StoreId = $3.StoreId; //所在仓库",
+"	decimal DebitCardTrade = $3.DebitCardTrade; //借记卡交易额",
+"	decimal ScanQrTrade = $3.ScanQrTrade; //扫码交易额",
+"	string ActivityList = $3.ActivityList; //参加活动",
+"	int BindMerchantId = $3.BindMerchantId; //绑定商户",
+"	int PosSnType = $3.PosSnType; //机具类型",
+"	string DeviceType = $3.DeviceType; //设备类型",
+"}"
+]
+},
+"查询机具库": {
+"prefix": "ym-db-PosMachines-Exist",
+"body": [
+"bool $1 = db.PosMachines.Any(m => m.Id == $2);",
+]
+},
+"查询某个机具库,并取值": {
+"prefix": "ym-db-PosMachines-FindByPrimaryKey",
+"body": [
+"PosMachines $1 = db.PosMachines.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int BindingState = $1.BindingState; //绑定状态",
+"	int ActivationState = $1.ActivationState; //激活状态",
+"	string Detail = $1.Detail; //机具详情",
+"	DateTime ActivationTime = $1.ActivationTime; //激活时间",
+"	DateTime BindingTime = $1.BindingTime; //绑定时间",
+"	int UserId = $1.UserId; //所属创客",
+"	ulong IsPurchase = $1.IsPurchase; //是否卖出",
+"	string PosSn = $1.PosSn; //SN编号",
+"	DateTime TransferTime = $1.TransferTime; //划拨时间",
+"	int BuyUserId = $1.BuyUserId; //购买人",
+"	string UserNav = $1.UserNav; //所属创客上级集合",
+"	int BrandId = $1.BrandId; //产品类型",
+"	decimal CreditTrade = $1.CreditTrade; //贷记卡交易额",
+"	ulong IsVip = $1.IsVip; //是否VIP",
+"	string PrizeParams = $1.PrizeParams; //附加参数",
+"	int RecycBackCount = $1.RecycBackCount; //循环返券张数",
+"	int StoreId = $1.StoreId; //所在仓库",
+"	decimal DebitCardTrade = $1.DebitCardTrade; //借记卡交易额",
+"	decimal ScanQrTrade = $1.ScanQrTrade; //扫码交易额",
+"	string ActivityList = $1.ActivityList; //参加活动",
+"	int BindMerchantId = $1.BindMerchantId; //绑定商户",
+"	int PosSnType = $1.PosSnType; //机具类型",
+"	string DeviceType = $1.DeviceType; //设备类型",
+"}"
+]
+},
+"查询某个机具库,并赋值": {
+"prefix": "ym-db-PosMachines-Update",
+"body": [
+"PosMachines $1 = db.PosMachines.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.BindingState = $2; //绑定状态",
+"	$1.ActivationState = $3; //激活状态",
+"	$1.Detail = $4; //机具详情",
+"	$1.ActivationTime = $5; //激活时间",
+"	$1.BindingTime = $6; //绑定时间",
+"	$1.UserId = $7; //所属创客",
+"	$1.IsPurchase = $8; //是否卖出",
+"	$1.PosSn = $9; //SN编号",
+"	$1.TransferTime = $10; //划拨时间",
+"	$1.BuyUserId = $11; //购买人",
+"	$1.UserNav = $12; //所属创客上级集合",
+"	$1.BrandId = $13; //产品类型",
+"	$1.CreditTrade = $14; //贷记卡交易额",
+"	$1.IsVip = $15; //是否VIP",
+"	$1.PrizeParams = $16; //附加参数",
+"	$1.RecycBackCount = $17; //循环返券张数",
+"	$1.StoreId = $18; //所在仓库",
+"	$1.DebitCardTrade = $19; //借记卡交易额",
+"	$1.ScanQrTrade = $20; //扫码交易额",
+"	$1.ActivityList = $21; //参加活动",
+"	$1.BindMerchantId = $22; //绑定商户",
+"	$1.PosSnType = $23; //机具类型",
+"	$1.DeviceType = $24; //设备类型",
+"}"
+]
+},
+"获取机具库数量": {
+"prefix": "ym-db-PosMachines-FindAndCount",
+"body": [
+"int $1 = db.PosMachines.Count(m => $2);",
+]
+},
+"添加机具库": {
+"prefix": "ym-db-PosMachines-Create",
+"body": [
+"db.PosMachines.Add(new PosMachines()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	BindingState = $1, //绑定状态",
+"	ActivationState = $2, //激活状态",
+"	Detail = $3, //机具详情",
+"	ActivationTime = $4, //激活时间",
+"	BindingTime = $5, //绑定时间",
+"	UserId = $6, //所属创客",
+"	IsPurchase = $7, //是否卖出",
+"	PosSn = $8, //SN编号",
+"	TransferTime = $9, //划拨时间",
+"	BuyUserId = $10, //购买人",
+"	UserNav = $11, //所属创客上级集合",
+"	BrandId = $12, //产品类型",
+"	CreditTrade = $13, //贷记卡交易额",
+"	IsVip = $14, //是否VIP",
+"	PrizeParams = $15, //附加参数",
+"	RecycBackCount = $16, //循环返券张数",
+"	StoreId = $17, //所在仓库",
+"	DebitCardTrade = $18, //借记卡交易额",
+"	ScanQrTrade = $19, //扫码交易额",
+"	ActivityList = $20, //参加活动",
+"	BindMerchantId = $21, //绑定商户",
+"	PosSnType = $22, //机具类型",
+"	DeviceType = $23, //设备类型",
+"});"
+]
+},"删除某个机具库": {
+"prefix": "ym-db-PosMachines-Delete",
+"body": [
+"PosMachines $1 = db.PosMachines.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.PosMachines.Remove($1);",
+"}"
+]
+},
+"查询商品评价列表": {
+"prefix": "ym-db-ProductComment-Find",
+"body": [
+"List<ProductComment> $1 = db.ProductComment.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductComment $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商品评价列表,并取值": {
+"prefix": "ym-db-ProductComment-FindWithData",
+"body": [
+"List<ProductComment> $1 = db.ProductComment.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductComment $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客Id",
+"	int ProductId = $3.ProductId; //商品Id",
+"	int OrderId = $3.OrderId; //订单Id",
+"	string Contents = $3.Contents; //评论内容",
+"	int StarNum = $3.StarNum; //商品评分",
+"	int AgreeCount = $3.AgreeCount; //点赞数",
+"	int BackCount = $3.BackCount; //回复数",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"	ulong HasPhoto = $3.HasPhoto; //是否有图",
+"	string PhotoList = $3.PhotoList; //图集",
+"	int ProductNormId = $3.ProductNormId; //商品规格Id",
+"}"
+]
+},
+"查询商品评价": {
+"prefix": "ym-db-ProductComment-Exist",
+"body": [
+"bool $1 = db.ProductComment.Any(m => m.Id == $2);",
+]
+},
+"查询某个商品评价,并取值": {
+"prefix": "ym-db-ProductComment-FindByPrimaryKey",
+"body": [
+"ProductComment $1 = db.ProductComment.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客Id",
+"	int ProductId = $1.ProductId; //商品Id",
+"	int OrderId = $1.OrderId; //订单Id",
+"	string Contents = $1.Contents; //评论内容",
+"	int StarNum = $1.StarNum; //商品评分",
+"	int AgreeCount = $1.AgreeCount; //点赞数",
+"	int BackCount = $1.BackCount; //回复数",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"	ulong HasPhoto = $1.HasPhoto; //是否有图",
+"	string PhotoList = $1.PhotoList; //图集",
+"	int ProductNormId = $1.ProductNormId; //商品规格Id",
+"}"
+]
+},
+"查询某个商品评价,并赋值": {
+"prefix": "ym-db-ProductComment-Update",
+"body": [
+"ProductComment $1 = db.ProductComment.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客Id",
+"	$1.ProductId = $3; //商品Id",
+"	$1.OrderId = $4; //订单Id",
+"	$1.Contents = $5; //评论内容",
+"	$1.StarNum = $6; //商品评分",
+"	$1.AgreeCount = $7; //点赞数",
+"	$1.BackCount = $8; //回复数",
+"	$1.MerchantId = $9; //商家Id",
+"	$1.HasPhoto = $10; //是否有图",
+"	$1.PhotoList = $11; //图集",
+"	$1.ProductNormId = $12; //商品规格Id",
+"}"
+]
+},
+"获取商品评价数量": {
+"prefix": "ym-db-ProductComment-FindAndCount",
+"body": [
+"int $1 = db.ProductComment.Count(m => $2);",
+]
+},
+"添加商品评价": {
+"prefix": "ym-db-ProductComment-Create",
+"body": [
+"db.ProductComment.Add(new ProductComment()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客Id",
+"	ProductId = $2, //商品Id",
+"	OrderId = $3, //订单Id",
+"	Contents = $4, //评论内容",
+"	StarNum = $5, //商品评分",
+"	AgreeCount = $6, //点赞数",
+"	BackCount = $7, //回复数",
+"	MerchantId = $8, //商家Id",
+"	HasPhoto = $9, //是否有图",
+"	PhotoList = $10, //图集",
+"	ProductNormId = $11, //商品规格Id",
+"});"
+]
+},"删除某个商品评价": {
+"prefix": "ym-db-ProductComment-Delete",
+"body": [
+"ProductComment $1 = db.ProductComment.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProductComment.Remove($1);",
+"}"
+]
+},
+"查询商品评价点赞记录列表": {
+"prefix": "ym-db-ProductCommentAgree-Find",
+"body": [
+"List<ProductCommentAgree> $1 = db.ProductCommentAgree.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductCommentAgree $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商品评价点赞记录列表,并取值": {
+"prefix": "ym-db-ProductCommentAgree-FindWithData",
+"body": [
+"List<ProductCommentAgree> $1 = db.ProductCommentAgree.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductCommentAgree $3 in $1)",
+"{",
+"	int Id = $3.Id; //Id",
+"	int UserId = $3.UserId; //创客Id",
+"	int ProductCommentId = $3.ProductCommentId; //商品评价Id",
+"}"
+]
+},
+"查询商品评价点赞记录": {
+"prefix": "ym-db-ProductCommentAgree-Exist",
+"body": [
+"bool $1 = db.ProductCommentAgree.Any(m => m.Id == $2);",
+]
+},
+"查询某个商品评价点赞记录,并取值": {
+"prefix": "ym-db-ProductCommentAgree-FindByPrimaryKey",
+"body": [
+"ProductCommentAgree $1 = db.ProductCommentAgree.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int Id = $1.Id; //Id",
+"	int UserId = $1.UserId; //创客Id",
+"	int ProductCommentId = $1.ProductCommentId; //商品评价Id",
+"}"
+]
+},
+"查询某个商品评价点赞记录,并赋值": {
+"prefix": "ym-db-ProductCommentAgree-Update",
+"body": [
+"ProductCommentAgree $1 = db.ProductCommentAgree.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Id = $2; //Id",
+"	$1.UserId = $3; //创客Id",
+"	$1.ProductCommentId = $4; //商品评价Id",
+"}"
+]
+},
+"获取商品评价点赞记录数量": {
+"prefix": "ym-db-ProductCommentAgree-FindAndCount",
+"body": [
+"int $1 = db.ProductCommentAgree.Count(m => $2);",
+]
+},
+"添加商品评价点赞记录": {
+"prefix": "ym-db-ProductCommentAgree-Create",
+"body": [
+"db.ProductCommentAgree.Add(new ProductCommentAgree()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Id = $1, //Id",
+"	UserId = $2, //创客Id",
+"	ProductCommentId = $3, //商品评价Id",
+"});"
+]
+},"删除某个商品评价点赞记录": {
+"prefix": "ym-db-ProductCommentAgree-Delete",
+"body": [
+"ProductCommentAgree $1 = db.ProductCommentAgree.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProductCommentAgree.Remove($1);",
+"}"
+]
+},
+"查询运费按区域列表": {
+"prefix": "ym-db-ProductFareAreas-Find",
+"body": [
+"List<ProductFareAreas> $1 = db.ProductFareAreas.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductFareAreas $3 in $1)",
+"{",
+"}"
+]
+},
+"查询运费按区域列表,并取值": {
+"prefix": "ym-db-ProductFareAreas-FindWithData",
+"body": [
+"List<ProductFareAreas> $1 = db.ProductFareAreas.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductFareAreas $3 in $1)",
+"{",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"	int TemplateId = $3.TemplateId; //模板Id",
+"	string Areas = $3.Areas; //地区",
+"	decimal FirstAmount = $3.FirstAmount; //首件数量",
+"	decimal FirstFee = $3.FirstFee; //首件费用",
+"	decimal MoreAmount = $3.MoreAmount; //续件数量",
+"	decimal MoreFee = $3.MoreFee; //续件费用",
+"}"
+]
+},
+"查询运费按区域": {
+"prefix": "ym-db-ProductFareAreas-Exist",
+"body": [
+"bool $1 = db.ProductFareAreas.Any(m => m.Id == $2);",
+]
+},
+"查询某个运费按区域,并取值": {
+"prefix": "ym-db-ProductFareAreas-FindByPrimaryKey",
+"body": [
+"ProductFareAreas $1 = db.ProductFareAreas.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"	int TemplateId = $1.TemplateId; //模板Id",
+"	string Areas = $1.Areas; //地区",
+"	decimal FirstAmount = $1.FirstAmount; //首件数量",
+"	decimal FirstFee = $1.FirstFee; //首件费用",
+"	decimal MoreAmount = $1.MoreAmount; //续件数量",
+"	decimal MoreFee = $1.MoreFee; //续件费用",
+"}"
+]
+},
+"查询某个运费按区域,并赋值": {
+"prefix": "ym-db-ProductFareAreas-Update",
+"body": [
+"ProductFareAreas $1 = db.ProductFareAreas.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.MerchantId = $2; //商家Id",
+"	$1.TemplateId = $3; //模板Id",
+"	$1.Areas = $4; //地区",
+"	$1.FirstAmount = $5; //首件数量",
+"	$1.FirstFee = $6; //首件费用",
+"	$1.MoreAmount = $7; //续件数量",
+"	$1.MoreFee = $8; //续件费用",
+"}"
+]
+},
+"获取运费按区域数量": {
+"prefix": "ym-db-ProductFareAreas-FindAndCount",
+"body": [
+"int $1 = db.ProductFareAreas.Count(m => $2);",
+]
+},
+"添加运费按区域": {
+"prefix": "ym-db-ProductFareAreas-Create",
+"body": [
+"db.ProductFareAreas.Add(new ProductFareAreas()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	MerchantId = $1, //商家Id",
+"	TemplateId = $2, //模板Id",
+"	Areas = $3, //地区",
+"	FirstAmount = $4, //首件数量",
+"	FirstFee = $5, //首件费用",
+"	MoreAmount = $6, //续件数量",
+"	MoreFee = $7, //续件费用",
+"});"
+]
+},"删除某个运费按区域": {
+"prefix": "ym-db-ProductFareAreas-Delete",
+"body": [
+"ProductFareAreas $1 = db.ProductFareAreas.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProductFareAreas.Remove($1);",
+"}"
+]
+},
+"查询商品运费模板列表": {
+"prefix": "ym-db-ProductFareTemp-Find",
+"body": [
+"List<ProductFareTemp> $1 = db.ProductFareTemp.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductFareTemp $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商品运费模板列表,并取值": {
+"prefix": "ym-db-ProductFareTemp-FindWithData",
+"body": [
+"List<ProductFareTemp> $1 = db.ProductFareTemp.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductFareTemp $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"	string SendAreas = $3.SendAreas; //发货地区",
+"	string SendAddress = $3.SendAddress; //发货地址",
+"	int SendDate = $3.SendDate; //发货时间",
+"	ulong IsFree = $3.IsFree; //是否包邮",
+"	int MeterMode = $3.MeterMode; //计价方式",
+"	int TransportMode = $3.TransportMode; //运送方式",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"	decimal FirstAmount = $3.FirstAmount; //首件数量",
+"	decimal FirstFee = $3.FirstFee; //首件费用",
+"	decimal MoreAmount = $3.MoreAmount; //续件数量",
+"	decimal MoreFee = $3.MoreFee; //续件费用",
+"}"
+]
+},
+"查询商品运费模板": {
+"prefix": "ym-db-ProductFareTemp-Exist",
+"body": [
+"bool $1 = db.ProductFareTemp.Any(m => m.Id == $2);",
+]
+},
+"查询某个商品运费模板,并取值": {
+"prefix": "ym-db-ProductFareTemp-FindByPrimaryKey",
+"body": [
+"ProductFareTemp $1 = db.ProductFareTemp.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"	string SendAreas = $1.SendAreas; //发货地区",
+"	string SendAddress = $1.SendAddress; //发货地址",
+"	int SendDate = $1.SendDate; //发货时间",
+"	ulong IsFree = $1.IsFree; //是否包邮",
+"	int MeterMode = $1.MeterMode; //计价方式",
+"	int TransportMode = $1.TransportMode; //运送方式",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"	decimal FirstAmount = $1.FirstAmount; //首件数量",
+"	decimal FirstFee = $1.FirstFee; //首件费用",
+"	decimal MoreAmount = $1.MoreAmount; //续件数量",
+"	decimal MoreFee = $1.MoreFee; //续件费用",
+"}"
+]
+},
+"查询某个商品运费模板,并赋值": {
+"prefix": "ym-db-ProductFareTemp-Update",
+"body": [
+"ProductFareTemp $1 = db.ProductFareTemp.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"	$1.SendAreas = $3; //发货地区",
+"	$1.SendAddress = $4; //发货地址",
+"	$1.SendDate = $5; //发货时间",
+"	$1.IsFree = $6; //是否包邮",
+"	$1.MeterMode = $7; //计价方式",
+"	$1.TransportMode = $8; //运送方式",
+"	$1.MerchantId = $9; //商家Id",
+"	$1.FirstAmount = $10; //首件数量",
+"	$1.FirstFee = $11; //首件费用",
+"	$1.MoreAmount = $12; //续件数量",
+"	$1.MoreFee = $13; //续件费用",
+"}"
+]
+},
+"获取商品运费模板数量": {
+"prefix": "ym-db-ProductFareTemp-FindAndCount",
+"body": [
+"int $1 = db.ProductFareTemp.Count(m => $2);",
+]
+},
+"添加商品运费模板": {
+"prefix": "ym-db-ProductFareTemp-Create",
+"body": [
+"db.ProductFareTemp.Add(new ProductFareTemp()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"	SendAreas = $2, //发货地区",
+"	SendAddress = $3, //发货地址",
+"	SendDate = $4, //发货时间",
+"	IsFree = $5, //是否包邮",
+"	MeterMode = $6, //计价方式",
+"	TransportMode = $7, //运送方式",
+"	MerchantId = $8, //商家Id",
+"	FirstAmount = $9, //首件数量",
+"	FirstFee = $10, //首件费用",
+"	MoreAmount = $11, //续件数量",
+"	MoreFee = $12, //续件费用",
+"});"
+]
+},"删除某个商品运费模板": {
+"prefix": "ym-db-ProductFareTemp-Delete",
+"body": [
+"ProductFareTemp $1 = db.ProductFareTemp.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProductFareTemp.Remove($1);",
+"}"
+]
+},
+"查询商品关键词库列表": {
+"prefix": "ym-db-ProductKeys-Find",
+"body": [
+"List<ProductKeys> $1 = db.ProductKeys.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductKeys $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商品关键词库列表,并取值": {
+"prefix": "ym-db-ProductKeys-FindWithData",
+"body": [
+"List<ProductKeys> $1 = db.ProductKeys.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductKeys $3 in $1)",
+"{",
+"	string Name = $3.Name; //关键词",
+"	string ProductIds = $3.ProductIds; //商品Id集合",
+"	string ColIds = $3.ColIds; //分类Id集合",
+"}"
+]
+},
+"查询商品关键词库": {
+"prefix": "ym-db-ProductKeys-Exist",
+"body": [
+"bool $1 = db.ProductKeys.Any(m => m.Name == $2);",
+]
+},
+"查询某个商品关键词库,并取值": {
+"prefix": "ym-db-ProductKeys-FindByPrimaryKey",
+"body": [
+"ProductKeys $1 = db.ProductKeys.FirstOrDefault(m => m.Name == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //关键词",
+"	string ProductIds = $1.ProductIds; //商品Id集合",
+"	string ColIds = $1.ColIds; //分类Id集合",
+"}"
+]
+},
+"查询某个商品关键词库,并赋值": {
+"prefix": "ym-db-ProductKeys-Update",
+"body": [
+"ProductKeys $1 = db.ProductKeys.FirstOrDefault(m => m.Name == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //关键词",
+"	$1.ProductIds = $3; //商品Id集合",
+"	$1.ColIds = $4; //分类Id集合",
+"}"
+]
+},
+"获取商品关键词库数量": {
+"prefix": "ym-db-ProductKeys-FindAndCount",
+"body": [
+"int $1 = db.ProductKeys.Count(m => $2);",
+]
+},
+"添加商品关键词库": {
+"prefix": "ym-db-ProductKeys-Create",
+"body": [
+"db.ProductKeys.Add(new ProductKeys()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //关键词",
+"	ProductIds = $2, //商品Id集合",
+"	ColIds = $3, //分类Id集合",
+"});"
+]
+},"删除某个商品关键词库": {
+"prefix": "ym-db-ProductKeys-Delete",
+"body": [
+"ProductKeys $1 = db.ProductKeys.FirstOrDefault(m => m.Name == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProductKeys.Remove($1);",
+"}"
+]
+},
+"查询商品规格列表": {
+"prefix": "ym-db-ProductNorm-Find",
+"body": [
+"List<ProductNorm> $1 = db.ProductNorm.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductNorm $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商品规格列表,并取值": {
+"prefix": "ym-db-ProductNorm-FindWithData",
+"body": [
+"List<ProductNorm> $1 = db.ProductNorm.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductNorm $3 in $1)",
+"{",
+"	string ColName = $3.ColName; //名称",
+"	string IdList = $3.IdList; //Id集合",
+"	decimal Price = $3.Price; //价格",
+"	decimal Integral = $3.Integral; //抵扣积分",
+"	decimal UserPrice = $3.UserPrice; //创客价",
+"	decimal UserIntegral = $3.UserIntegral; //创客抵扣积分",
+"	int ProductId = $3.ProductId; //商品Id",
+"	int Stock = $3.Stock; //库存",
+"	int BuyCount = $3.BuyCount; //已购买数",
+"	decimal CostPrice = $3.CostPrice; //成本价",
+"	string Code = $3.Code; //编码",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"	int LimitCount = $3.LimitCount; //限购数量",
+"}"
+]
+},
+"查询商品规格": {
+"prefix": "ym-db-ProductNorm-Exist",
+"body": [
+"bool $1 = db.ProductNorm.Any(m => m.Id == $2);",
+]
+},
+"查询某个商品规格,并取值": {
+"prefix": "ym-db-ProductNorm-FindByPrimaryKey",
+"body": [
+"ProductNorm $1 = db.ProductNorm.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ColName = $1.ColName; //名称",
+"	string IdList = $1.IdList; //Id集合",
+"	decimal Price = $1.Price; //价格",
+"	decimal Integral = $1.Integral; //抵扣积分",
+"	decimal UserPrice = $1.UserPrice; //创客价",
+"	decimal UserIntegral = $1.UserIntegral; //创客抵扣积分",
+"	int ProductId = $1.ProductId; //商品Id",
+"	int Stock = $1.Stock; //库存",
+"	int BuyCount = $1.BuyCount; //已购买数",
+"	decimal CostPrice = $1.CostPrice; //成本价",
+"	string Code = $1.Code; //编码",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"	int LimitCount = $1.LimitCount; //限购数量",
+"}"
+]
+},
+"查询某个商品规格,并赋值": {
+"prefix": "ym-db-ProductNorm-Update",
+"body": [
+"ProductNorm $1 = db.ProductNorm.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ColName = $2; //名称",
+"	$1.IdList = $3; //Id集合",
+"	$1.Price = $4; //价格",
+"	$1.Integral = $5; //抵扣积分",
+"	$1.UserPrice = $6; //创客价",
+"	$1.UserIntegral = $7; //创客抵扣积分",
+"	$1.ProductId = $8; //商品Id",
+"	$1.Stock = $9; //库存",
+"	$1.BuyCount = $10; //已购买数",
+"	$1.CostPrice = $11; //成本价",
+"	$1.Code = $12; //编码",
+"	$1.MerchantId = $13; //商家Id",
+"	$1.LimitCount = $14; //限购数量",
+"}"
+]
+},
+"获取商品规格数量": {
+"prefix": "ym-db-ProductNorm-FindAndCount",
+"body": [
+"int $1 = db.ProductNorm.Count(m => $2);",
+]
+},
+"添加商品规格": {
+"prefix": "ym-db-ProductNorm-Create",
+"body": [
+"db.ProductNorm.Add(new ProductNorm()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ColName = $1, //名称",
+"	IdList = $2, //Id集合",
+"	Price = $3, //价格",
+"	Integral = $4, //抵扣积分",
+"	UserPrice = $5, //创客价",
+"	UserIntegral = $6, //创客抵扣积分",
+"	ProductId = $7, //商品Id",
+"	Stock = $8, //库存",
+"	BuyCount = $9, //已购买数",
+"	CostPrice = $10, //成本价",
+"	Code = $11, //编码",
+"	MerchantId = $12, //商家Id",
+"	LimitCount = $13, //限购数量",
+"});"
+]
+},"删除某个商品规格": {
+"prefix": "ym-db-ProductNorm-Delete",
+"body": [
+"ProductNorm $1 = db.ProductNorm.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProductNorm.Remove($1);",
+"}"
+]
+},
+"查询商品规格项目列表": {
+"prefix": "ym-db-ProductNormItem-Find",
+"body": [
+"List<ProductNormItem> $1 = db.ProductNormItem.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductNormItem $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商品规格项目列表,并取值": {
+"prefix": "ym-db-ProductNormItem-FindWithData",
+"body": [
+"List<ProductNormItem> $1 = db.ProductNormItem.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductNormItem $3 in $1)",
+"{",
+"	string ColName = $3.ColName; //名称",
+"	int ParentId = $3.ParentId; //父级Id",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"	int ProductId = $3.ProductId; //商品Id",
+"}"
+]
+},
+"查询商品规格项目": {
+"prefix": "ym-db-ProductNormItem-Exist",
+"body": [
+"bool $1 = db.ProductNormItem.Any(m => m.Id == $2);",
+]
+},
+"查询某个商品规格项目,并取值": {
+"prefix": "ym-db-ProductNormItem-FindByPrimaryKey",
+"body": [
+"ProductNormItem $1 = db.ProductNormItem.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ColName = $1.ColName; //名称",
+"	int ParentId = $1.ParentId; //父级Id",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"	int ProductId = $1.ProductId; //商品Id",
+"}"
+]
+},
+"查询某个商品规格项目,并赋值": {
+"prefix": "ym-db-ProductNormItem-Update",
+"body": [
+"ProductNormItem $1 = db.ProductNormItem.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ColName = $2; //名称",
+"	$1.ParentId = $3; //父级Id",
+"	$1.MerchantId = $4; //商家Id",
+"	$1.ProductId = $5; //商品Id",
+"}"
+]
+},
+"获取商品规格项目数量": {
+"prefix": "ym-db-ProductNormItem-FindAndCount",
+"body": [
+"int $1 = db.ProductNormItem.Count(m => $2);",
+]
+},
+"添加商品规格项目": {
+"prefix": "ym-db-ProductNormItem-Create",
+"body": [
+"db.ProductNormItem.Add(new ProductNormItem()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ColName = $1, //名称",
+"	ParentId = $2, //父级Id",
+"	MerchantId = $3, //商家Id",
+"	ProductId = $4, //商品Id",
+"});"
+]
+},"删除某个商品规格项目": {
+"prefix": "ym-db-ProductNormItem-Delete",
+"body": [
+"ProductNormItem $1 = db.ProductNormItem.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProductNormItem.Remove($1);",
+"}"
+]
+},
+"查询商品规格模板列表": {
+"prefix": "ym-db-ProductNormTemp-Find",
+"body": [
+"List<ProductNormTemp> $1 = db.ProductNormTemp.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductNormTemp $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商品规格模板列表,并取值": {
+"prefix": "ym-db-ProductNormTemp-FindWithData",
+"body": [
+"List<ProductNormTemp> $1 = db.ProductNormTemp.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProductNormTemp $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"	string TempJsonData = $3.TempJsonData; //模板内容",
+"}"
+]
+},
+"查询商品规格模板": {
+"prefix": "ym-db-ProductNormTemp-Exist",
+"body": [
+"bool $1 = db.ProductNormTemp.Any(m => m.Id == $2);",
+]
+},
+"查询某个商品规格模板,并取值": {
+"prefix": "ym-db-ProductNormTemp-FindByPrimaryKey",
+"body": [
+"ProductNormTemp $1 = db.ProductNormTemp.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"	string TempJsonData = $1.TempJsonData; //模板内容",
+"}"
+]
+},
+"查询某个商品规格模板,并赋值": {
+"prefix": "ym-db-ProductNormTemp-Update",
+"body": [
+"ProductNormTemp $1 = db.ProductNormTemp.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"	$1.MerchantId = $3; //商家Id",
+"	$1.TempJsonData = $4; //模板内容",
+"}"
+]
+},
+"获取商品规格模板数量": {
+"prefix": "ym-db-ProductNormTemp-FindAndCount",
+"body": [
+"int $1 = db.ProductNormTemp.Count(m => $2);",
+]
+},
+"添加商品规格模板": {
+"prefix": "ym-db-ProductNormTemp-Create",
+"body": [
+"db.ProductNormTemp.Add(new ProductNormTemp()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"	MerchantId = $2, //商家Id",
+"	TempJsonData = $3, //模板内容",
+"});"
+]
+},"删除某个商品规格模板": {
+"prefix": "ym-db-ProductNormTemp-Delete",
+"body": [
+"ProductNormTemp $1 = db.ProductNormTemp.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProductNormTemp.Remove($1);",
+"}"
+]
+},
+"查询商品信息列表": {
+"prefix": "ym-db-Products-Find",
+"body": [
+"List<Products> $1 = db.Products.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Products $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商品信息列表,并取值": {
+"prefix": "ym-db-Products-FindWithData",
+"body": [
+"List<Products> $1 = db.Products.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Products $3 in $1)",
+"{",
+"	string ProductName = $3.ProductName; //商品名称",
+"	string Details = $3.Details; //简介",
+"	string Contents = $3.Contents; //内容",
+"	int Stock = $3.Stock; //库存",
+"	int BuyCount = $3.BuyCount; //已购买数",
+"	string ListPicPath = $3.ListPicPath; //列表图片",
+"	string DetailPicPath = $3.DetailPicPath; //图集",
+"	string ColId = $3.ColId; //分类",
+"	int CommentCount = $3.CommentCount; //评价数",
+"	decimal GoodPercent = $3.GoodPercent; //好评率",
+"	ulong IsRecommend = $3.IsRecommend; //推荐",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"	DateTime StartDate = $3.StartDate; //开始时间",
+"	DateTime EndDate = $3.EndDate; //结束时间",
+"	ulong IsLimit = $3.IsLimit; //限时抢购",
+"	decimal SourcePrice = $3.SourcePrice; //原价",
+"	decimal Price = $3.Price; //价格",
+"	decimal Integral = $3.Integral; //抵扣积分",
+"	decimal MemberPrice = $3.MemberPrice; //创客价",
+"	decimal UserIntegral = $3.UserIntegral; //创客抵扣积分",
+"	DateTime PublishDate = $3.PublishDate; //上架时间",
+"	decimal CostPrice = $3.CostPrice; //成本价",
+"	int FareTemplateId = $3.FareTemplateId; //运费模板Id",
+"	int LimitCount = $3.LimitCount; //限购数量",
+"	string KeyWord = $3.KeyWord; //关键词",
+"	int MerchantClassId = $3.MerchantClassId; //商家分类",
+"	string NormIds = $3.NormIds; //商品规格Id",
+"	string ShareDetail = $3.ShareDetail; //分享描述",
+"	string LinkUrl = $3.LinkUrl; //外部链接",
+"	string NormJson = $3.NormJson; //规格json",
+"	string MerchantColId = $3.MerchantColId; //商家商品分类",
+"	int MonthSale = $3.MonthSale; //月销量",
+"	ulong IsRecommend2 = $3.IsRecommend2; //推荐2",
+"	ulong IsRecommend3 = $3.IsRecommend3; //推荐3",
+"	string Title = $3.Title; //宣传标语",
+"	string Title2 = $3.Title2; //宣传标语2",
+"	string ProductCode = $3.ProductCode; //商品编号",
+"}"
+]
+},
+"查询商品信息": {
+"prefix": "ym-db-Products-Exist",
+"body": [
+"bool $1 = db.Products.Any(m => m.Id == $2);",
+]
+},
+"查询某个商品信息,并取值": {
+"prefix": "ym-db-Products-FindByPrimaryKey",
+"body": [
+"Products $1 = db.Products.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ProductName = $1.ProductName; //商品名称",
+"	string Details = $1.Details; //简介",
+"	string Contents = $1.Contents; //内容",
+"	int Stock = $1.Stock; //库存",
+"	int BuyCount = $1.BuyCount; //已购买数",
+"	string ListPicPath = $1.ListPicPath; //列表图片",
+"	string DetailPicPath = $1.DetailPicPath; //图集",
+"	string ColId = $1.ColId; //分类",
+"	int CommentCount = $1.CommentCount; //评价数",
+"	decimal GoodPercent = $1.GoodPercent; //好评率",
+"	ulong IsRecommend = $1.IsRecommend; //推荐",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"	DateTime StartDate = $1.StartDate; //开始时间",
+"	DateTime EndDate = $1.EndDate; //结束时间",
+"	ulong IsLimit = $1.IsLimit; //限时抢购",
+"	decimal SourcePrice = $1.SourcePrice; //原价",
+"	decimal Price = $1.Price; //价格",
+"	decimal Integral = $1.Integral; //抵扣积分",
+"	decimal MemberPrice = $1.MemberPrice; //创客价",
+"	decimal UserIntegral = $1.UserIntegral; //创客抵扣积分",
+"	DateTime PublishDate = $1.PublishDate; //上架时间",
+"	decimal CostPrice = $1.CostPrice; //成本价",
+"	int FareTemplateId = $1.FareTemplateId; //运费模板Id",
+"	int LimitCount = $1.LimitCount; //限购数量",
+"	string KeyWord = $1.KeyWord; //关键词",
+"	int MerchantClassId = $1.MerchantClassId; //商家分类",
+"	string NormIds = $1.NormIds; //商品规格Id",
+"	string ShareDetail = $1.ShareDetail; //分享描述",
+"	string LinkUrl = $1.LinkUrl; //外部链接",
+"	string NormJson = $1.NormJson; //规格json",
+"	string MerchantColId = $1.MerchantColId; //商家商品分类",
+"	int MonthSale = $1.MonthSale; //月销量",
+"	ulong IsRecommend2 = $1.IsRecommend2; //推荐2",
+"	ulong IsRecommend3 = $1.IsRecommend3; //推荐3",
+"	string Title = $1.Title; //宣传标语",
+"	string Title2 = $1.Title2; //宣传标语2",
+"	string ProductCode = $1.ProductCode; //商品编号",
+"}"
+]
+},
+"查询某个商品信息,并赋值": {
+"prefix": "ym-db-Products-Update",
+"body": [
+"Products $1 = db.Products.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ProductName = $2; //商品名称",
+"	$1.Details = $3; //简介",
+"	$1.Contents = $4; //内容",
+"	$1.Stock = $5; //库存",
+"	$1.BuyCount = $6; //已购买数",
+"	$1.ListPicPath = $7; //列表图片",
+"	$1.DetailPicPath = $8; //图集",
+"	$1.ColId = $9; //分类",
+"	$1.CommentCount = $10; //评价数",
+"	$1.GoodPercent = $11; //好评率",
+"	$1.IsRecommend = $12; //推荐",
+"	$1.MerchantId = $13; //商家Id",
+"	$1.StartDate = $14; //开始时间",
+"	$1.EndDate = $15; //结束时间",
+"	$1.IsLimit = $16; //限时抢购",
+"	$1.SourcePrice = $17; //原价",
+"	$1.Price = $18; //价格",
+"	$1.Integral = $19; //抵扣积分",
+"	$1.MemberPrice = $20; //创客价",
+"	$1.UserIntegral = $21; //创客抵扣积分",
+"	$1.PublishDate = $22; //上架时间",
+"	$1.CostPrice = $23; //成本价",
+"	$1.FareTemplateId = $24; //运费模板Id",
+"	$1.LimitCount = $25; //限购数量",
+"	$1.KeyWord = $26; //关键词",
+"	$1.MerchantClassId = $27; //商家分类",
+"	$1.NormIds = $28; //商品规格Id",
+"	$1.ShareDetail = $29; //分享描述",
+"	$1.LinkUrl = $30; //外部链接",
+"	$1.NormJson = $31; //规格json",
+"	$1.MerchantColId = $32; //商家商品分类",
+"	$1.MonthSale = $33; //月销量",
+"	$1.IsRecommend2 = $34; //推荐2",
+"	$1.IsRecommend3 = $35; //推荐3",
+"	$1.Title = $36; //宣传标语",
+"	$1.Title2 = $37; //宣传标语2",
+"	$1.ProductCode = $38; //商品编号",
+"}"
+]
+},
+"获取商品信息数量": {
+"prefix": "ym-db-Products-FindAndCount",
+"body": [
+"int $1 = db.Products.Count(m => $2);",
+]
+},
+"添加商品信息": {
+"prefix": "ym-db-Products-Create",
+"body": [
+"db.Products.Add(new Products()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ProductName = $1, //商品名称",
+"	Details = $2, //简介",
+"	Contents = $3, //内容",
+"	Stock = $4, //库存",
+"	BuyCount = $5, //已购买数",
+"	ListPicPath = $6, //列表图片",
+"	DetailPicPath = $7, //图集",
+"	ColId = $8, //分类",
+"	CommentCount = $9, //评价数",
+"	GoodPercent = $10, //好评率",
+"	IsRecommend = $11, //推荐",
+"	MerchantId = $12, //商家Id",
+"	StartDate = $13, //开始时间",
+"	EndDate = $14, //结束时间",
+"	IsLimit = $15, //限时抢购",
+"	SourcePrice = $16, //原价",
+"	Price = $17, //价格",
+"	Integral = $18, //抵扣积分",
+"	MemberPrice = $19, //创客价",
+"	UserIntegral = $20, //创客抵扣积分",
+"	PublishDate = $21, //上架时间",
+"	CostPrice = $22, //成本价",
+"	FareTemplateId = $23, //运费模板Id",
+"	LimitCount = $24, //限购数量",
+"	KeyWord = $25, //关键词",
+"	MerchantClassId = $26, //商家分类",
+"	NormIds = $27, //商品规格Id",
+"	ShareDetail = $28, //分享描述",
+"	LinkUrl = $29, //外部链接",
+"	NormJson = $30, //规格json",
+"	MerchantColId = $31, //商家商品分类",
+"	MonthSale = $32, //月销量",
+"	IsRecommend2 = $33, //推荐2",
+"	IsRecommend3 = $34, //推荐3",
+"	Title = $35, //宣传标语",
+"	Title2 = $36, //宣传标语2",
+"	ProductCode = $37, //商品编号",
+"});"
+]
+},"删除某个商品信息": {
+"prefix": "ym-db-Products-Delete",
+"body": [
+"Products $1 = db.Products.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.Products.Remove($1);",
+"}"
+]
+},
+"查询激活奖励设置列表": {
+"prefix": "ym-db-ProfitObjectActivations-Find",
+"body": [
+"List<ProfitObjectActivations> $1 = db.ProfitObjectActivations.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectActivations $3 in $1)",
+"{",
+"}"
+]
+},
+"查询激活奖励设置列表,并取值": {
+"prefix": "ym-db-ProfitObjectActivations-FindWithData",
+"body": [
+"List<ProfitObjectActivations> $1 = db.ProfitObjectActivations.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectActivations $3 in $1)",
+"{",
+"	int LimitDateKind = $3.LimitDateKind; //限制时间类型",
+"	int LimitDateVal = $3.LimitDateVal; //限制时间值",
+"	DateTime LimitCustomerDate = $3.LimitCustomerDate; //自定时间限制",
+"	decimal ExpiredNumber = $3.ExpiredNumber; //过期收益值",
+"	int ObjectId = $3.ObjectId; //对象Id",
+"}"
+]
+},
+"查询激活奖励设置": {
+"prefix": "ym-db-ProfitObjectActivations-Exist",
+"body": [
+"bool $1 = db.ProfitObjectActivations.Any(m => m.Id == $2);",
+]
+},
+"查询某个激活奖励设置,并取值": {
+"prefix": "ym-db-ProfitObjectActivations-FindByPrimaryKey",
+"body": [
+"ProfitObjectActivations $1 = db.ProfitObjectActivations.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int LimitDateKind = $1.LimitDateKind; //限制时间类型",
+"	int LimitDateVal = $1.LimitDateVal; //限制时间值",
+"	DateTime LimitCustomerDate = $1.LimitCustomerDate; //自定时间限制",
+"	decimal ExpiredNumber = $1.ExpiredNumber; //过期收益值",
+"	int ObjectId = $1.ObjectId; //对象Id",
+"}"
+]
+},
+"查询某个激活奖励设置,并赋值": {
+"prefix": "ym-db-ProfitObjectActivations-Update",
+"body": [
+"ProfitObjectActivations $1 = db.ProfitObjectActivations.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.LimitDateKind = $2; //限制时间类型",
+"	$1.LimitDateVal = $3; //限制时间值",
+"	$1.LimitCustomerDate = $4; //自定时间限制",
+"	$1.ExpiredNumber = $5; //过期收益值",
+"	$1.ObjectId = $6; //对象Id",
+"}"
+]
+},
+"获取激活奖励设置数量": {
+"prefix": "ym-db-ProfitObjectActivations-FindAndCount",
+"body": [
+"int $1 = db.ProfitObjectActivations.Count(m => $2);",
+]
+},
+"添加激活奖励设置": {
+"prefix": "ym-db-ProfitObjectActivations-Create",
+"body": [
+"db.ProfitObjectActivations.Add(new ProfitObjectActivations()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	LimitDateKind = $1, //限制时间类型",
+"	LimitDateVal = $2, //限制时间值",
+"	LimitCustomerDate = $3, //自定时间限制",
+"	ExpiredNumber = $4, //过期收益值",
+"	ObjectId = $5, //对象Id",
+"});"
+]
+},"删除某个激活奖励设置": {
+"prefix": "ym-db-ProfitObjectActivations-Delete",
+"body": [
+"ProfitObjectActivations $1 = db.ProfitObjectActivations.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProfitObjectActivations.Remove($1);",
+"}"
+]
+},
+"查询继续分润层级列表": {
+"prefix": "ym-db-ProfitObjectContinueFloors-Find",
+"body": [
+"List<ProfitObjectContinueFloors> $1 = db.ProfitObjectContinueFloors.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectContinueFloors $3 in $1)",
+"{",
+"}"
+]
+},
+"查询继续分润层级列表,并取值": {
+"prefix": "ym-db-ProfitObjectContinueFloors-FindWithData",
+"body": [
+"List<ProfitObjectContinueFloors> $1 = db.ProfitObjectContinueFloors.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectContinueFloors $3 in $1)",
+"{",
+"	int FloorNumber = $3.FloorNumber; //层级",
+"	decimal Percents = $3.Percents; //分润比例",
+"	decimal AddProfitVal = $3.AddProfitVal; //附加分润值",
+"	int ObjectId = $3.ObjectId; //对象Id",
+"}"
+]
+},
+"查询继续分润层级": {
+"prefix": "ym-db-ProfitObjectContinueFloors-Exist",
+"body": [
+"bool $1 = db.ProfitObjectContinueFloors.Any(m => m.Id == $2);",
+]
+},
+"查询某个继续分润层级,并取值": {
+"prefix": "ym-db-ProfitObjectContinueFloors-FindByPrimaryKey",
+"body": [
+"ProfitObjectContinueFloors $1 = db.ProfitObjectContinueFloors.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int FloorNumber = $1.FloorNumber; //层级",
+"	decimal Percents = $1.Percents; //分润比例",
+"	decimal AddProfitVal = $1.AddProfitVal; //附加分润值",
+"	int ObjectId = $1.ObjectId; //对象Id",
+"}"
+]
+},
+"查询某个继续分润层级,并赋值": {
+"prefix": "ym-db-ProfitObjectContinueFloors-Update",
+"body": [
+"ProfitObjectContinueFloors $1 = db.ProfitObjectContinueFloors.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.FloorNumber = $2; //层级",
+"	$1.Percents = $3; //分润比例",
+"	$1.AddProfitVal = $4; //附加分润值",
+"	$1.ObjectId = $5; //对象Id",
+"}"
+]
+},
+"获取继续分润层级数量": {
+"prefix": "ym-db-ProfitObjectContinueFloors-FindAndCount",
+"body": [
+"int $1 = db.ProfitObjectContinueFloors.Count(m => $2);",
+]
+},
+"添加继续分润层级": {
+"prefix": "ym-db-ProfitObjectContinueFloors-Create",
+"body": [
+"db.ProfitObjectContinueFloors.Add(new ProfitObjectContinueFloors()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	FloorNumber = $1, //层级",
+"	Percents = $2, //分润比例",
+"	AddProfitVal = $3, //附加分润值",
+"	ObjectId = $4, //对象Id",
+"});"
+]
+},"删除某个继续分润层级": {
+"prefix": "ym-db-ProfitObjectContinueFloors-Delete",
+"body": [
+"ProfitObjectContinueFloors $1 = db.ProfitObjectContinueFloors.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProfitObjectContinueFloors.Remove($1);",
+"}"
+]
+},
+"查询分润对象层级列表": {
+"prefix": "ym-db-ProfitObjectFloors-Find",
+"body": [
+"List<ProfitObjectFloors> $1 = db.ProfitObjectFloors.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectFloors $3 in $1)",
+"{",
+"}"
+]
+},
+"查询分润对象层级列表,并取值": {
+"prefix": "ym-db-ProfitObjectFloors-FindWithData",
+"body": [
+"List<ProfitObjectFloors> $1 = db.ProfitObjectFloors.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectFloors $3 in $1)",
+"{",
+"	int FloorNumber = $3.FloorNumber; //层级",
+"	decimal Percents = $3.Percents; //分润比例",
+"	decimal AddProfitVal = $3.AddProfitVal; //附加分润值",
+"	ulong FloorDiff = $3.FloorDiff; //级差",
+"	int ObjectId = $3.ObjectId; //对象Id",
+"}"
+]
+},
+"查询分润对象层级": {
+"prefix": "ym-db-ProfitObjectFloors-Exist",
+"body": [
+"bool $1 = db.ProfitObjectFloors.Any(m => m.Id == $2);",
+]
+},
+"查询某个分润对象层级,并取值": {
+"prefix": "ym-db-ProfitObjectFloors-FindByPrimaryKey",
+"body": [
+"ProfitObjectFloors $1 = db.ProfitObjectFloors.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int FloorNumber = $1.FloorNumber; //层级",
+"	decimal Percents = $1.Percents; //分润比例",
+"	decimal AddProfitVal = $1.AddProfitVal; //附加分润值",
+"	ulong FloorDiff = $1.FloorDiff; //级差",
+"	int ObjectId = $1.ObjectId; //对象Id",
+"}"
+]
+},
+"查询某个分润对象层级,并赋值": {
+"prefix": "ym-db-ProfitObjectFloors-Update",
+"body": [
+"ProfitObjectFloors $1 = db.ProfitObjectFloors.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.FloorNumber = $2; //层级",
+"	$1.Percents = $3; //分润比例",
+"	$1.AddProfitVal = $4; //附加分润值",
+"	$1.FloorDiff = $5; //级差",
+"	$1.ObjectId = $6; //对象Id",
+"}"
+]
+},
+"获取分润对象层级数量": {
+"prefix": "ym-db-ProfitObjectFloors-FindAndCount",
+"body": [
+"int $1 = db.ProfitObjectFloors.Count(m => $2);",
+]
+},
+"添加分润对象层级": {
+"prefix": "ym-db-ProfitObjectFloors-Create",
+"body": [
+"db.ProfitObjectFloors.Add(new ProfitObjectFloors()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	FloorNumber = $1, //层级",
+"	Percents = $2, //分润比例",
+"	AddProfitVal = $3, //附加分润值",
+"	FloorDiff = $4, //级差",
+"	ObjectId = $5, //对象Id",
+"});"
+]
+},"删除某个分润对象层级": {
+"prefix": "ym-db-ProfitObjectFloors-Delete",
+"body": [
+"ProfitObjectFloors $1 = db.ProfitObjectFloors.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProfitObjectFloors.Remove($1);",
+"}"
+]
+},
+"查询分润对象等级分类列表": {
+"prefix": "ym-db-ProfitObjectLevelKinds-Find",
+"body": [
+"List<ProfitObjectLevelKinds> $1 = db.ProfitObjectLevelKinds.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectLevelKinds $3 in $1)",
+"{",
+"}"
+]
+},
+"查询分润对象等级分类列表,并取值": {
+"prefix": "ym-db-ProfitObjectLevelKinds-FindWithData",
+"body": [
+"List<ProfitObjectLevelKinds> $1 = db.ProfitObjectLevelKinds.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectLevelKinds $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"	int ObjectId = $3.ObjectId; //对象id",
+"}"
+]
+},
+"查询分润对象等级分类": {
+"prefix": "ym-db-ProfitObjectLevelKinds-Exist",
+"body": [
+"bool $1 = db.ProfitObjectLevelKinds.Any(m => m.Id == $2);",
+]
+},
+"查询某个分润对象等级分类,并取值": {
+"prefix": "ym-db-ProfitObjectLevelKinds-FindByPrimaryKey",
+"body": [
+"ProfitObjectLevelKinds $1 = db.ProfitObjectLevelKinds.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"	int ObjectId = $1.ObjectId; //对象id",
+"}"
+]
+},
+"查询某个分润对象等级分类,并赋值": {
+"prefix": "ym-db-ProfitObjectLevelKinds-Update",
+"body": [
+"ProfitObjectLevelKinds $1 = db.ProfitObjectLevelKinds.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"	$1.ObjectId = $3; //对象id",
+"}"
+]
+},
+"获取分润对象等级分类数量": {
+"prefix": "ym-db-ProfitObjectLevelKinds-FindAndCount",
+"body": [
+"int $1 = db.ProfitObjectLevelKinds.Count(m => $2);",
+]
+},
+"添加分润对象等级分类": {
+"prefix": "ym-db-ProfitObjectLevelKinds-Create",
+"body": [
+"db.ProfitObjectLevelKinds.Add(new ProfitObjectLevelKinds()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"	ObjectId = $2, //对象id",
+"});"
+]
+},"删除某个分润对象等级分类": {
+"prefix": "ym-db-ProfitObjectLevelKinds-Delete",
+"body": [
+"ProfitObjectLevelKinds $1 = db.ProfitObjectLevelKinds.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProfitObjectLevelKinds.Remove($1);",
+"}"
+]
+},
+"查询分润对象等级列表": {
+"prefix": "ym-db-ProfitObjectLevels-Find",
+"body": [
+"List<ProfitObjectLevels> $1 = db.ProfitObjectLevels.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectLevels $3 in $1)",
+"{",
+"}"
+]
+},
+"查询分润对象等级列表,并取值": {
+"prefix": "ym-db-ProfitObjectLevels-FindWithData",
+"body": [
+"List<ProfitObjectLevels> $1 = db.ProfitObjectLevels.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectLevels $3 in $1)",
+"{",
+"	int LevelNumber = $3.LevelNumber; //级别",
+"	string Name = $3.Name; //名称",
+"	decimal Percents = $3.Percents; //分润比例",
+"	decimal AddProfitVal = $3.AddProfitVal; //附加分润值",
+"	ulong LevelDiff = $3.LevelDiff; //级差",
+"	int KindId = $3.KindId; //分类Id",
+"	decimal DebitPercents = $3.DebitPercents; //借记卡分润比例",
+"	decimal DebitAddProfitVal = $3.DebitAddProfitVal; //借记卡附加分润值",
+"}"
+]
+},
+"查询分润对象等级": {
+"prefix": "ym-db-ProfitObjectLevels-Exist",
+"body": [
+"bool $1 = db.ProfitObjectLevels.Any(m => m.Id == $2);",
+]
+},
+"查询某个分润对象等级,并取值": {
+"prefix": "ym-db-ProfitObjectLevels-FindByPrimaryKey",
+"body": [
+"ProfitObjectLevels $1 = db.ProfitObjectLevels.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int LevelNumber = $1.LevelNumber; //级别",
+"	string Name = $1.Name; //名称",
+"	decimal Percents = $1.Percents; //分润比例",
+"	decimal AddProfitVal = $1.AddProfitVal; //附加分润值",
+"	ulong LevelDiff = $1.LevelDiff; //级差",
+"	int KindId = $1.KindId; //分类Id",
+"	decimal DebitPercents = $1.DebitPercents; //借记卡分润比例",
+"	decimal DebitAddProfitVal = $1.DebitAddProfitVal; //借记卡附加分润值",
+"}"
+]
+},
+"查询某个分润对象等级,并赋值": {
+"prefix": "ym-db-ProfitObjectLevels-Update",
+"body": [
+"ProfitObjectLevels $1 = db.ProfitObjectLevels.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.LevelNumber = $2; //级别",
+"	$1.Name = $3; //名称",
+"	$1.Percents = $4; //分润比例",
+"	$1.AddProfitVal = $5; //附加分润值",
+"	$1.LevelDiff = $6; //级差",
+"	$1.KindId = $7; //分类Id",
+"	$1.DebitPercents = $8; //借记卡分润比例",
+"	$1.DebitAddProfitVal = $9; //借记卡附加分润值",
+"}"
+]
+},
+"获取分润对象等级数量": {
+"prefix": "ym-db-ProfitObjectLevels-FindAndCount",
+"body": [
+"int $1 = db.ProfitObjectLevels.Count(m => $2);",
+]
+},
+"添加分润对象等级": {
+"prefix": "ym-db-ProfitObjectLevels-Create",
+"body": [
+"db.ProfitObjectLevels.Add(new ProfitObjectLevels()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	LevelNumber = $1, //级别",
+"	Name = $2, //名称",
+"	Percents = $3, //分润比例",
+"	AddProfitVal = $4, //附加分润值",
+"	LevelDiff = $5, //级差",
+"	KindId = $6, //分类Id",
+"	DebitPercents = $7, //借记卡分润比例",
+"	DebitAddProfitVal = $8, //借记卡附加分润值",
+"});"
+]
+},"删除某个分润对象等级": {
+"prefix": "ym-db-ProfitObjectLevels-Delete",
+"body": [
+"ProfitObjectLevels $1 = db.ProfitObjectLevels.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProfitObjectLevels.Remove($1);",
+"}"
+]
+},
+"查询分润对象列表": {
+"prefix": "ym-db-ProfitObjects-Find",
+"body": [
+"List<ProfitObjects> $1 = db.ProfitObjects.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjects $3 in $1)",
+"{",
+"}"
+]
+},
+"查询分润对象列表,并取值": {
+"prefix": "ym-db-ProfitObjects-FindWithData",
+"body": [
+"List<ProfitObjects> $1 = db.ProfitObjects.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjects $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"	int MaxFloor = $3.MaxFloor; //最大层级",
+"	int MaxLevel = $3.MaxLevel; //最大等级",
+"	ulong MaxLevelContinue = $3.MaxLevelContinue; //到顶级是否继续",
+"	decimal MinProfitVal = $3.MinProfitVal; //最小分润值",
+"	DateTime StartDate = $3.StartDate; //开始时间",
+"	DateTime EndDate = $3.EndDate; //结束时间",
+"}"
+]
+},
+"查询分润对象": {
+"prefix": "ym-db-ProfitObjects-Exist",
+"body": [
+"bool $1 = db.ProfitObjects.Any(m => m.Id == $2);",
+]
+},
+"查询某个分润对象,并取值": {
+"prefix": "ym-db-ProfitObjects-FindByPrimaryKey",
+"body": [
+"ProfitObjects $1 = db.ProfitObjects.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"	int MaxFloor = $1.MaxFloor; //最大层级",
+"	int MaxLevel = $1.MaxLevel; //最大等级",
+"	ulong MaxLevelContinue = $1.MaxLevelContinue; //到顶级是否继续",
+"	decimal MinProfitVal = $1.MinProfitVal; //最小分润值",
+"	DateTime StartDate = $1.StartDate; //开始时间",
+"	DateTime EndDate = $1.EndDate; //结束时间",
+"}"
+]
+},
+"查询某个分润对象,并赋值": {
+"prefix": "ym-db-ProfitObjects-Update",
+"body": [
+"ProfitObjects $1 = db.ProfitObjects.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"	$1.MaxFloor = $3; //最大层级",
+"	$1.MaxLevel = $4; //最大等级",
+"	$1.MaxLevelContinue = $5; //到顶级是否继续",
+"	$1.MinProfitVal = $6; //最小分润值",
+"	$1.StartDate = $7; //开始时间",
+"	$1.EndDate = $8; //结束时间",
+"}"
+]
+},
+"获取分润对象数量": {
+"prefix": "ym-db-ProfitObjects-FindAndCount",
+"body": [
+"int $1 = db.ProfitObjects.Count(m => $2);",
+]
+},
+"添加分润对象": {
+"prefix": "ym-db-ProfitObjects-Create",
+"body": [
+"db.ProfitObjects.Add(new ProfitObjects()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"	MaxFloor = $2, //最大层级",
+"	MaxLevel = $3, //最大等级",
+"	MaxLevelContinue = $4, //到顶级是否继续",
+"	MinProfitVal = $5, //最小分润值",
+"	StartDate = $6, //开始时间",
+"	EndDate = $7, //结束时间",
+"});"
+]
+},"删除某个分润对象": {
+"prefix": "ym-db-ProfitObjects-Delete",
+"body": [
+"ProfitObjects $1 = db.ProfitObjects.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProfitObjects.Remove($1);",
+"}"
+]
+},
+"查询激活奖励队列列表": {
+"prefix": "ym-db-ProfitObjectsActiveCheck-Find",
+"body": [
+"List<ProfitObjectsActiveCheck> $1 = db.ProfitObjectsActiveCheck.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectsActiveCheck $3 in $1)",
+"{",
+"}"
+]
+},
+"查询激活奖励队列列表,并取值": {
+"prefix": "ym-db-ProfitObjectsActiveCheck-FindWithData",
+"body": [
+"List<ProfitObjectsActiveCheck> $1 = db.ProfitObjectsActiveCheck.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectsActiveCheck $3 in $1)",
+"{",
+"	string CheckData = $3.CheckData; //队列数据",
+"}"
+]
+},
+"查询激活奖励队列": {
+"prefix": "ym-db-ProfitObjectsActiveCheck-Exist",
+"body": [
+"bool $1 = db.ProfitObjectsActiveCheck.Any(m => m.CheckData == $2);",
+]
+},
+"查询某个激活奖励队列,并取值": {
+"prefix": "ym-db-ProfitObjectsActiveCheck-FindByPrimaryKey",
+"body": [
+"ProfitObjectsActiveCheck $1 = db.ProfitObjectsActiveCheck.FirstOrDefault(m => m.CheckData == $2);",
+"if ($1 != null)",
+"{",
+"	string CheckData = $1.CheckData; //队列数据",
+"}"
+]
+},
+"查询某个激活奖励队列,并赋值": {
+"prefix": "ym-db-ProfitObjectsActiveCheck-Update",
+"body": [
+"ProfitObjectsActiveCheck $1 = db.ProfitObjectsActiveCheck.FirstOrDefault(m => m.CheckData == $2);",
+"if ($1 != null)",
+"{",
+"	$1.CheckData = $2; //队列数据",
+"}"
+]
+},
+"获取激活奖励队列数量": {
+"prefix": "ym-db-ProfitObjectsActiveCheck-FindAndCount",
+"body": [
+"int $1 = db.ProfitObjectsActiveCheck.Count(m => $2);",
+]
+},
+"添加激活奖励队列": {
+"prefix": "ym-db-ProfitObjectsActiveCheck-Create",
+"body": [
+"db.ProfitObjectsActiveCheck.Add(new ProfitObjectsActiveCheck()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	CheckData = $1, //队列数据",
+"});"
+]
+},"删除某个激活奖励队列": {
+"prefix": "ym-db-ProfitObjectsActiveCheck-Delete",
+"body": [
+"ProfitObjectsActiveCheck $1 = db.ProfitObjectsActiveCheck.FirstOrDefault(m => m.CheckData == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProfitObjectsActiveCheck.Remove($1);",
+"}"
+]
+},
+"查询分润对象活动参数列表": {
+"prefix": "ym-db-ProfitObjectsActiveParams-Find",
+"body": [
+"List<ProfitObjectsActiveParams> $1 = db.ProfitObjectsActiveParams.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectsActiveParams $3 in $1)",
+"{",
+"}"
+]
+},
+"查询分润对象活动参数列表,并取值": {
+"prefix": "ym-db-ProfitObjectsActiveParams-FindWithData",
+"body": [
+"List<ProfitObjectsActiveParams> $1 = db.ProfitObjectsActiveParams.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectsActiveParams $3 in $1)",
+"{",
+"	int ProfitObjectsActiveId = $3.ProfitObjectsActiveId; //分润对象活动",
+"	string Name = $3.Name; //参数名称",
+"	string TextValue = $3.TextValue; //参数值",
+"	string Remark = $3.Remark; //参数说明",
+"}"
+]
+},
+"查询分润对象活动参数": {
+"prefix": "ym-db-ProfitObjectsActiveParams-Exist",
+"body": [
+"bool $1 = db.ProfitObjectsActiveParams.Any(m => m.Id == $2);",
+]
+},
+"查询某个分润对象活动参数,并取值": {
+"prefix": "ym-db-ProfitObjectsActiveParams-FindByPrimaryKey",
+"body": [
+"ProfitObjectsActiveParams $1 = db.ProfitObjectsActiveParams.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int ProfitObjectsActiveId = $1.ProfitObjectsActiveId; //分润对象活动",
+"	string Name = $1.Name; //参数名称",
+"	string TextValue = $1.TextValue; //参数值",
+"	string Remark = $1.Remark; //参数说明",
+"}"
+]
+},
+"查询某个分润对象活动参数,并赋值": {
+"prefix": "ym-db-ProfitObjectsActiveParams-Update",
+"body": [
+"ProfitObjectsActiveParams $1 = db.ProfitObjectsActiveParams.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ProfitObjectsActiveId = $2; //分润对象活动",
+"	$1.Name = $3; //参数名称",
+"	$1.TextValue = $4; //参数值",
+"	$1.Remark = $5; //参数说明",
+"}"
+]
+},
+"获取分润对象活动参数数量": {
+"prefix": "ym-db-ProfitObjectsActiveParams-FindAndCount",
+"body": [
+"int $1 = db.ProfitObjectsActiveParams.Count(m => $2);",
+]
+},
+"添加分润对象活动参数": {
+"prefix": "ym-db-ProfitObjectsActiveParams-Create",
+"body": [
+"db.ProfitObjectsActiveParams.Add(new ProfitObjectsActiveParams()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ProfitObjectsActiveId = $1, //分润对象活动",
+"	Name = $2, //参数名称",
+"	TextValue = $3, //参数值",
+"	Remark = $4, //参数说明",
+"});"
+]
+},"删除某个分润对象活动参数": {
+"prefix": "ym-db-ProfitObjectsActiveParams-Delete",
+"body": [
+"ProfitObjectsActiveParams $1 = db.ProfitObjectsActiveParams.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProfitObjectsActiveParams.Remove($1);",
+"}"
+]
+},
+"查询分润对象活动奖列表": {
+"prefix": "ym-db-ProfitObjectsActives-Find",
+"body": [
+"List<ProfitObjectsActives> $1 = db.ProfitObjectsActives.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectsActives $3 in $1)",
+"{",
+"}"
+]
+},
+"查询分润对象活动奖列表,并取值": {
+"prefix": "ym-db-ProfitObjectsActives-FindWithData",
+"body": [
+"List<ProfitObjectsActives> $1 = db.ProfitObjectsActives.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectsActives $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"	int LimitDateKind = $3.LimitDateKind; //限制时间类型",
+"	int LimitDateVal = $3.LimitDateVal; //限制时间值",
+"	DateTime LimitCustomerDate = $3.LimitCustomerDate; //自定时间限制",
+"	decimal FinishNumber = $3.FinishNumber; //满足条件的数值",
+"	decimal ProfitNumber = $3.ProfitNumber; //获得收益值",
+"	int ObjectId = $3.ObjectId; //对象Id",
+"	DateTime StartDate = $3.StartDate; //活动开始时间",
+"	DateTime EndDate = $3.EndDate; //活动结束时间",
+"	int MachineCount = $3.MachineCount; //赠机台数",
+"}"
+]
+},
+"查询分润对象活动奖": {
+"prefix": "ym-db-ProfitObjectsActives-Exist",
+"body": [
+"bool $1 = db.ProfitObjectsActives.Any(m => m.Id == $2);",
+]
+},
+"查询某个分润对象活动奖,并取值": {
+"prefix": "ym-db-ProfitObjectsActives-FindByPrimaryKey",
+"body": [
+"ProfitObjectsActives $1 = db.ProfitObjectsActives.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"	int LimitDateKind = $1.LimitDateKind; //限制时间类型",
+"	int LimitDateVal = $1.LimitDateVal; //限制时间值",
+"	DateTime LimitCustomerDate = $1.LimitCustomerDate; //自定时间限制",
+"	decimal FinishNumber = $1.FinishNumber; //满足条件的数值",
+"	decimal ProfitNumber = $1.ProfitNumber; //获得收益值",
+"	int ObjectId = $1.ObjectId; //对象Id",
+"	DateTime StartDate = $1.StartDate; //活动开始时间",
+"	DateTime EndDate = $1.EndDate; //活动结束时间",
+"	int MachineCount = $1.MachineCount; //赠机台数",
+"}"
+]
+},
+"查询某个分润对象活动奖,并赋值": {
+"prefix": "ym-db-ProfitObjectsActives-Update",
+"body": [
+"ProfitObjectsActives $1 = db.ProfitObjectsActives.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"	$1.LimitDateKind = $3; //限制时间类型",
+"	$1.LimitDateVal = $4; //限制时间值",
+"	$1.LimitCustomerDate = $5; //自定时间限制",
+"	$1.FinishNumber = $6; //满足条件的数值",
+"	$1.ProfitNumber = $7; //获得收益值",
+"	$1.ObjectId = $8; //对象Id",
+"	$1.StartDate = $9; //活动开始时间",
+"	$1.EndDate = $10; //活动结束时间",
+"	$1.MachineCount = $11; //赠机台数",
+"}"
+]
+},
+"获取分润对象活动奖数量": {
+"prefix": "ym-db-ProfitObjectsActives-FindAndCount",
+"body": [
+"int $1 = db.ProfitObjectsActives.Count(m => $2);",
+]
+},
+"添加分润对象活动奖": {
+"prefix": "ym-db-ProfitObjectsActives-Create",
+"body": [
+"db.ProfitObjectsActives.Add(new ProfitObjectsActives()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"	LimitDateKind = $2, //限制时间类型",
+"	LimitDateVal = $3, //限制时间值",
+"	LimitCustomerDate = $4, //自定时间限制",
+"	FinishNumber = $5, //满足条件的数值",
+"	ProfitNumber = $6, //获得收益值",
+"	ObjectId = $7, //对象Id",
+"	StartDate = $8, //活动开始时间",
+"	EndDate = $9, //活动结束时间",
+"	MachineCount = $10, //赠机台数",
+"});"
+]
+},"删除某个分润对象活动奖": {
+"prefix": "ym-db-ProfitObjectsActives-Delete",
+"body": [
+"ProfitObjectsActives $1 = db.ProfitObjectsActives.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProfitObjectsActives.Remove($1);",
+"}"
+]
+},
+"查询活动名称为主键的关联表列表": {
+"prefix": "ym-db-ProfitObjectsActivesForId-Find",
+"body": [
+"List<ProfitObjectsActivesForId> $1 = db.ProfitObjectsActivesForId.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectsActivesForId $3 in $1)",
+"{",
+"}"
+]
+},
+"查询活动名称为主键的关联表列表,并取值": {
+"prefix": "ym-db-ProfitObjectsActivesForId-FindWithData",
+"body": [
+"List<ProfitObjectsActivesForId> $1 = db.ProfitObjectsActivesForId.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitObjectsActivesForId $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"	int ActivityId = $3.ActivityId; //活动Id",
+"}"
+]
+},
+"查询活动名称为主键的关联表": {
+"prefix": "ym-db-ProfitObjectsActivesForId-Exist",
+"body": [
+"bool $1 = db.ProfitObjectsActivesForId.Any(m => m.Name == $2);",
+]
+},
+"查询某个活动名称为主键的关联表,并取值": {
+"prefix": "ym-db-ProfitObjectsActivesForId-FindByPrimaryKey",
+"body": [
+"ProfitObjectsActivesForId $1 = db.ProfitObjectsActivesForId.FirstOrDefault(m => m.Name == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"	int ActivityId = $1.ActivityId; //活动Id",
+"}"
+]
+},
+"查询某个活动名称为主键的关联表,并赋值": {
+"prefix": "ym-db-ProfitObjectsActivesForId-Update",
+"body": [
+"ProfitObjectsActivesForId $1 = db.ProfitObjectsActivesForId.FirstOrDefault(m => m.Name == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"	$1.ActivityId = $3; //活动Id",
+"}"
+]
+},
+"获取活动名称为主键的关联表数量": {
+"prefix": "ym-db-ProfitObjectsActivesForId-FindAndCount",
+"body": [
+"int $1 = db.ProfitObjectsActivesForId.Count(m => $2);",
+]
+},
+"添加活动名称为主键的关联表": {
+"prefix": "ym-db-ProfitObjectsActivesForId-Create",
+"body": [
+"db.ProfitObjectsActivesForId.Add(new ProfitObjectsActivesForId()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"	ActivityId = $2, //活动Id",
+"});"
+]
+},"删除某个活动名称为主键的关联表": {
+"prefix": "ym-db-ProfitObjectsActivesForId-Delete",
+"body": [
+"ProfitObjectsActivesForId $1 = db.ProfitObjectsActivesForId.FirstOrDefault(m => m.Name == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProfitObjectsActivesForId.Remove($1);",
+"}"
+]
+},
+"查询分润奖励记录列表": {
+"prefix": "ym-db-ProfitRewardRecord-Find",
+"body": [
+"List<ProfitRewardRecord> $1 = db.ProfitRewardRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitRewardRecord $3 in $1)",
+"{",
+"}"
+]
+},
+"查询分润奖励记录列表,并取值": {
+"prefix": "ym-db-ProfitRewardRecord-FindWithData",
+"body": [
+"List<ProfitRewardRecord> $1 = db.ProfitRewardRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitRewardRecord $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int MerchantId = $3.MerchantId; //商户",
+"	int BrandId = $3.BrandId; //品牌",
+"	int ProfitType = $3.ProfitType; //创客分润类型",
+"	decimal OtherTradeAmt = $3.OtherTradeAmt; //其他产品交易总金额",
+"	decimal OtherCreditTradeAmt = $3.OtherCreditTradeAmt; //其他产品贷记卡交易总金额",
+"	decimal OtherDebitNotCapTradeAmt = $3.OtherDebitNotCapTradeAmt; //其他产品借记卡非封顶交易总金额",
+"	decimal TradeAmt = $3.TradeAmt; //商户交易总额",
+"	decimal CreditTradeAmt = $3.CreditTradeAmt; //贷记卡交易总金额",
+"	decimal QrCreditTradeAmt = $3.QrCreditTradeAmt; //(云闪付)贷记卡交易总金额",
+"	decimal NonQrCreditTradeAmt = $3.NonQrCreditTradeAmt; //(非云闪付)贷记卡交易总金额",
+"	decimal NotHelpCreditTradeAmt = $3.NotHelpCreditTradeAmt; //(非扶持期)(非云闪付)贷记卡交易总金额",
+"	decimal HelpCreditTradeAmt = $3.HelpCreditTradeAmt; //(扶持期)(非云闪付)贷记卡交易总金额",
+"	decimal DebitNonCapTradeAmt = $3.DebitNonCapTradeAmt; //商户非封顶借记卡交易总额",
+"	decimal QrDebitNotCapTradeAmt = $3.QrDebitNotCapTradeAmt; //(云闪付)商户非封顶借记卡交易总额",
+"	decimal NonQrDebitNotCapTradeAmt = $3.NonQrDebitNotCapTradeAmt; //(非云闪付)商户非封顶借记卡交易总额",
+"	decimal NotHelpDebitNonCapTradeAmt = $3.NotHelpDebitNonCapTradeAmt; //(非扶持期)(非云闪付)借记卡非封顶交易总金额",
+"	decimal HelpDebitNonCapTradeAmt = $3.HelpDebitNonCapTradeAmt; //(扶持期)(非云闪付)借记卡非封顶交易总金额",
+"	decimal DebitCapTradeAmt = $3.DebitCapTradeAmt; //商户借记卡封顶交易总额",
+"	int DebitCapTradeNum = $3.DebitCapTradeNum; //商户借记卡封顶交易总笔数",
+"	decimal TradeProfit = $3.TradeProfit; //交易分润",
+"	decimal CreditTradeProfit = $3.CreditTradeProfit; //贷记卡分润总金额",
+"	decimal QrCreditTradeProfit = $3.QrCreditTradeProfit; //(云闪付)贷记卡交易分润",
+"	decimal NonQrCreditTradeProfit = $3.NonQrCreditTradeProfit; //(非云闪付)贷记卡交易分润",
+"	decimal NotHelpCreditTradeProfit = $3.NotHelpCreditTradeProfit; //(非扶持期)(非云闪付)贷记卡分润总金额",
+"	decimal HelpCreditTradeProfit = $3.HelpCreditTradeProfit; //(扶持期)(非云闪付)贷记卡分润总金额",
+"	decimal DebitNonTradeCapProfit = $3.DebitNonTradeCapProfit; //借记卡非封顶交易分润总金额",
+"	decimal QrDebitNonTradeCapProfit = $3.QrDebitNonTradeCapProfit; //(云闪付)借记卡非封顶交易分润总金额",
+"	decimal NonQrDebitNonTradeCapProfit = $3.NonQrDebitNonTradeCapProfit; //(非云闪付)借记卡非封顶交易分润总金额",
+"	decimal NotHelpDebitNonTradeCapProfit = $3.NotHelpDebitNonTradeCapProfit; //(非扶持期)(非云闪付)借记卡非封顶交易分润总金额",
+"	decimal HelpDebitNonTradeCapProfit = $3.HelpDebitNonTradeCapProfit; //(扶持期)(非云闪付)借记卡非封顶交易分润总金额",
+"	decimal DebitTradeCapProfit = $3.DebitTradeCapProfit; //借记卡封顶交易分润总金额",
+"	decimal NotHelpCreditProfitRate = $3.NotHelpCreditProfitRate; //(非扶持期)(非云闪付)贷记卡商户交易对应分润比例",
+"	decimal NotHelpCreditProfitStandardRate = $3.NotHelpCreditProfitStandardRate; //(非扶持期)(非云闪付)贷记卡标准分润比例",
+"	decimal NotHelpCreditAddOrSubRate = $3.NotHelpCreditAddOrSubRate; //(非扶持期)(非云闪付)贷记卡成本或增或减比例",
+"	decimal HelpCreditProfitRate = $3.HelpCreditProfitRate; //(扶持期)(非云闪付)贷记卡商户交易对应分润比例",
+"	decimal HelpCreditProfitStandardRate = $3.HelpCreditProfitStandardRate; //(扶持期)(非云闪付)贷记卡-标准分润比例",
+"	decimal HelpCreditAddOrSubRate = $3.HelpCreditAddOrSubRate; //(扶持期)(非云闪付)贷记卡成本或增或减比例",
+"	decimal NotHelpDebitProfitRate = $3.NotHelpDebitProfitRate; //(非扶持期)(非云闪付)借记卡商户交易对应分润比例",
+"	decimal NotHelpDebitProfitStandardRate = $3.NotHelpDebitProfitStandardRate; //(非扶持期)(非云闪付)借记卡标准分润比例",
+"	decimal NotHelpDebitAddOrSubRate = $3.NotHelpDebitAddOrSubRate; //(非扶持期)(非云闪付)借记卡成本或增或减比例",
+"	decimal HelpDebitProfitRate = $3.HelpDebitProfitRate; //(扶持期)(非云闪付)借记卡商户交易对应分润比例",
+"	decimal HelpDebitProfitStandardRate = $3.HelpDebitProfitStandardRate; //(扶持期)(非云闪付)借记卡-标准分润比例",
+"	decimal HelpDebitAddOrSubRate = $3.HelpDebitAddOrSubRate; //(扶持期)(非云闪付)借记卡成本或增或减比例",
+"	decimal DebitCapSingleReward = $3.DebitCapSingleReward; //借记卡合伙人直营封顶交易奖励金额",
+"	decimal QrCreditProfitRate = $3.QrCreditProfitRate; //(云闪付)贷记卡交易分润比例",
+"	decimal QrCreditProfitStandardRate = $3.QrCreditProfitStandardRate; //(云闪付)贷记卡分润基准",
+"	decimal QrCreditAddOrSubRate = $3.QrCreditAddOrSubRate; //(云闪付)贷记卡分润比例或增或减",
+"	decimal QrDebitProfitRate = $3.QrDebitProfitRate; //(云闪付)借记卡非封顶交易分润比例",
+"	decimal QrDebitProfitStandardRate = $3.QrDebitProfitStandardRate; //(云闪付)借记卡非封顶交易分润基准",
+"	decimal QrDebitAddOrSubRate = $3.QrDebitAddOrSubRate; //(云闪付)借记卡非封顶交易分润比例或增或减",
+"	int CheckStatus = $3.CheckStatus; //验证和同步账户状态",
+"	string Remark = $3.Remark; //备注",
+"	string TradeMonth = $3.TradeMonth; //交易月",
+"	string RecordNo = $3.RecordNo; //记录单号",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询分润奖励记录": {
+"prefix": "ym-db-ProfitRewardRecord-Exist",
+"body": [
+"bool $1 = db.ProfitRewardRecord.Any(m => m.Id == $2);",
+]
+},
+"查询某个分润奖励记录,并取值": {
+"prefix": "ym-db-ProfitRewardRecord-FindByPrimaryKey",
+"body": [
+"ProfitRewardRecord $1 = db.ProfitRewardRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int MerchantId = $1.MerchantId; //商户",
+"	int BrandId = $1.BrandId; //品牌",
+"	int ProfitType = $1.ProfitType; //创客分润类型",
+"	decimal OtherTradeAmt = $1.OtherTradeAmt; //其他产品交易总金额",
+"	decimal OtherCreditTradeAmt = $1.OtherCreditTradeAmt; //其他产品贷记卡交易总金额",
+"	decimal OtherDebitNotCapTradeAmt = $1.OtherDebitNotCapTradeAmt; //其他产品借记卡非封顶交易总金额",
+"	decimal TradeAmt = $1.TradeAmt; //商户交易总额",
+"	decimal CreditTradeAmt = $1.CreditTradeAmt; //贷记卡交易总金额",
+"	decimal QrCreditTradeAmt = $1.QrCreditTradeAmt; //(云闪付)贷记卡交易总金额",
+"	decimal NonQrCreditTradeAmt = $1.NonQrCreditTradeAmt; //(非云闪付)贷记卡交易总金额",
+"	decimal NotHelpCreditTradeAmt = $1.NotHelpCreditTradeAmt; //(非扶持期)(非云闪付)贷记卡交易总金额",
+"	decimal HelpCreditTradeAmt = $1.HelpCreditTradeAmt; //(扶持期)(非云闪付)贷记卡交易总金额",
+"	decimal DebitNonCapTradeAmt = $1.DebitNonCapTradeAmt; //商户非封顶借记卡交易总额",
+"	decimal QrDebitNotCapTradeAmt = $1.QrDebitNotCapTradeAmt; //(云闪付)商户非封顶借记卡交易总额",
+"	decimal NonQrDebitNotCapTradeAmt = $1.NonQrDebitNotCapTradeAmt; //(非云闪付)商户非封顶借记卡交易总额",
+"	decimal NotHelpDebitNonCapTradeAmt = $1.NotHelpDebitNonCapTradeAmt; //(非扶持期)(非云闪付)借记卡非封顶交易总金额",
+"	decimal HelpDebitNonCapTradeAmt = $1.HelpDebitNonCapTradeAmt; //(扶持期)(非云闪付)借记卡非封顶交易总金额",
+"	decimal DebitCapTradeAmt = $1.DebitCapTradeAmt; //商户借记卡封顶交易总额",
+"	int DebitCapTradeNum = $1.DebitCapTradeNum; //商户借记卡封顶交易总笔数",
+"	decimal TradeProfit = $1.TradeProfit; //交易分润",
+"	decimal CreditTradeProfit = $1.CreditTradeProfit; //贷记卡分润总金额",
+"	decimal QrCreditTradeProfit = $1.QrCreditTradeProfit; //(云闪付)贷记卡交易分润",
+"	decimal NonQrCreditTradeProfit = $1.NonQrCreditTradeProfit; //(非云闪付)贷记卡交易分润",
+"	decimal NotHelpCreditTradeProfit = $1.NotHelpCreditTradeProfit; //(非扶持期)(非云闪付)贷记卡分润总金额",
+"	decimal HelpCreditTradeProfit = $1.HelpCreditTradeProfit; //(扶持期)(非云闪付)贷记卡分润总金额",
+"	decimal DebitNonTradeCapProfit = $1.DebitNonTradeCapProfit; //借记卡非封顶交易分润总金额",
+"	decimal QrDebitNonTradeCapProfit = $1.QrDebitNonTradeCapProfit; //(云闪付)借记卡非封顶交易分润总金额",
+"	decimal NonQrDebitNonTradeCapProfit = $1.NonQrDebitNonTradeCapProfit; //(非云闪付)借记卡非封顶交易分润总金额",
+"	decimal NotHelpDebitNonTradeCapProfit = $1.NotHelpDebitNonTradeCapProfit; //(非扶持期)(非云闪付)借记卡非封顶交易分润总金额",
+"	decimal HelpDebitNonTradeCapProfit = $1.HelpDebitNonTradeCapProfit; //(扶持期)(非云闪付)借记卡非封顶交易分润总金额",
+"	decimal DebitTradeCapProfit = $1.DebitTradeCapProfit; //借记卡封顶交易分润总金额",
+"	decimal NotHelpCreditProfitRate = $1.NotHelpCreditProfitRate; //(非扶持期)(非云闪付)贷记卡商户交易对应分润比例",
+"	decimal NotHelpCreditProfitStandardRate = $1.NotHelpCreditProfitStandardRate; //(非扶持期)(非云闪付)贷记卡标准分润比例",
+"	decimal NotHelpCreditAddOrSubRate = $1.NotHelpCreditAddOrSubRate; //(非扶持期)(非云闪付)贷记卡成本或增或减比例",
+"	decimal HelpCreditProfitRate = $1.HelpCreditProfitRate; //(扶持期)(非云闪付)贷记卡商户交易对应分润比例",
+"	decimal HelpCreditProfitStandardRate = $1.HelpCreditProfitStandardRate; //(扶持期)(非云闪付)贷记卡-标准分润比例",
+"	decimal HelpCreditAddOrSubRate = $1.HelpCreditAddOrSubRate; //(扶持期)(非云闪付)贷记卡成本或增或减比例",
+"	decimal NotHelpDebitProfitRate = $1.NotHelpDebitProfitRate; //(非扶持期)(非云闪付)借记卡商户交易对应分润比例",
+"	decimal NotHelpDebitProfitStandardRate = $1.NotHelpDebitProfitStandardRate; //(非扶持期)(非云闪付)借记卡标准分润比例",
+"	decimal NotHelpDebitAddOrSubRate = $1.NotHelpDebitAddOrSubRate; //(非扶持期)(非云闪付)借记卡成本或增或减比例",
+"	decimal HelpDebitProfitRate = $1.HelpDebitProfitRate; //(扶持期)(非云闪付)借记卡商户交易对应分润比例",
+"	decimal HelpDebitProfitStandardRate = $1.HelpDebitProfitStandardRate; //(扶持期)(非云闪付)借记卡-标准分润比例",
+"	decimal HelpDebitAddOrSubRate = $1.HelpDebitAddOrSubRate; //(扶持期)(非云闪付)借记卡成本或增或减比例",
+"	decimal DebitCapSingleReward = $1.DebitCapSingleReward; //借记卡合伙人直营封顶交易奖励金额",
+"	decimal QrCreditProfitRate = $1.QrCreditProfitRate; //(云闪付)贷记卡交易分润比例",
+"	decimal QrCreditProfitStandardRate = $1.QrCreditProfitStandardRate; //(云闪付)贷记卡分润基准",
+"	decimal QrCreditAddOrSubRate = $1.QrCreditAddOrSubRate; //(云闪付)贷记卡分润比例或增或减",
+"	decimal QrDebitProfitRate = $1.QrDebitProfitRate; //(云闪付)借记卡非封顶交易分润比例",
+"	decimal QrDebitProfitStandardRate = $1.QrDebitProfitStandardRate; //(云闪付)借记卡非封顶交易分润基准",
+"	decimal QrDebitAddOrSubRate = $1.QrDebitAddOrSubRate; //(云闪付)借记卡非封顶交易分润比例或增或减",
+"	int CheckStatus = $1.CheckStatus; //验证和同步账户状态",
+"	string Remark = $1.Remark; //备注",
+"	string TradeMonth = $1.TradeMonth; //交易月",
+"	string RecordNo = $1.RecordNo; //记录单号",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询某个分润奖励记录,并赋值": {
+"prefix": "ym-db-ProfitRewardRecord-Update",
+"body": [
+"ProfitRewardRecord $1 = db.ProfitRewardRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.MerchantId = $3; //商户",
+"	$1.BrandId = $4; //品牌",
+"	$1.ProfitType = $5; //创客分润类型",
+"	$1.OtherTradeAmt = $6; //其他产品交易总金额",
+"	$1.OtherCreditTradeAmt = $7; //其他产品贷记卡交易总金额",
+"	$1.OtherDebitNotCapTradeAmt = $8; //其他产品借记卡非封顶交易总金额",
+"	$1.TradeAmt = $9; //商户交易总额",
+"	$1.CreditTradeAmt = $10; //贷记卡交易总金额",
+"	$1.QrCreditTradeAmt = $11; //(云闪付)贷记卡交易总金额",
+"	$1.NonQrCreditTradeAmt = $12; //(非云闪付)贷记卡交易总金额",
+"	$1.NotHelpCreditTradeAmt = $13; //(非扶持期)(非云闪付)贷记卡交易总金额",
+"	$1.HelpCreditTradeAmt = $14; //(扶持期)(非云闪付)贷记卡交易总金额",
+"	$1.DebitNonCapTradeAmt = $15; //商户非封顶借记卡交易总额",
+"	$1.QrDebitNotCapTradeAmt = $16; //(云闪付)商户非封顶借记卡交易总额",
+"	$1.NonQrDebitNotCapTradeAmt = $17; //(非云闪付)商户非封顶借记卡交易总额",
+"	$1.NotHelpDebitNonCapTradeAmt = $18; //(非扶持期)(非云闪付)借记卡非封顶交易总金额",
+"	$1.HelpDebitNonCapTradeAmt = $19; //(扶持期)(非云闪付)借记卡非封顶交易总金额",
+"	$1.DebitCapTradeAmt = $20; //商户借记卡封顶交易总额",
+"	$1.DebitCapTradeNum = $21; //商户借记卡封顶交易总笔数",
+"	$1.TradeProfit = $22; //交易分润",
+"	$1.CreditTradeProfit = $23; //贷记卡分润总金额",
+"	$1.QrCreditTradeProfit = $24; //(云闪付)贷记卡交易分润",
+"	$1.NonQrCreditTradeProfit = $25; //(非云闪付)贷记卡交易分润",
+"	$1.NotHelpCreditTradeProfit = $26; //(非扶持期)(非云闪付)贷记卡分润总金额",
+"	$1.HelpCreditTradeProfit = $27; //(扶持期)(非云闪付)贷记卡分润总金额",
+"	$1.DebitNonTradeCapProfit = $28; //借记卡非封顶交易分润总金额",
+"	$1.QrDebitNonTradeCapProfit = $29; //(云闪付)借记卡非封顶交易分润总金额",
+"	$1.NonQrDebitNonTradeCapProfit = $30; //(非云闪付)借记卡非封顶交易分润总金额",
+"	$1.NotHelpDebitNonTradeCapProfit = $31; //(非扶持期)(非云闪付)借记卡非封顶交易分润总金额",
+"	$1.HelpDebitNonTradeCapProfit = $32; //(扶持期)(非云闪付)借记卡非封顶交易分润总金额",
+"	$1.DebitTradeCapProfit = $33; //借记卡封顶交易分润总金额",
+"	$1.NotHelpCreditProfitRate = $34; //(非扶持期)(非云闪付)贷记卡商户交易对应分润比例",
+"	$1.NotHelpCreditProfitStandardRate = $35; //(非扶持期)(非云闪付)贷记卡标准分润比例",
+"	$1.NotHelpCreditAddOrSubRate = $36; //(非扶持期)(非云闪付)贷记卡成本或增或减比例",
+"	$1.HelpCreditProfitRate = $37; //(扶持期)(非云闪付)贷记卡商户交易对应分润比例",
+"	$1.HelpCreditProfitStandardRate = $38; //(扶持期)(非云闪付)贷记卡-标准分润比例",
+"	$1.HelpCreditAddOrSubRate = $39; //(扶持期)(非云闪付)贷记卡成本或增或减比例",
+"	$1.NotHelpDebitProfitRate = $40; //(非扶持期)(非云闪付)借记卡商户交易对应分润比例",
+"	$1.NotHelpDebitProfitStandardRate = $41; //(非扶持期)(非云闪付)借记卡标准分润比例",
+"	$1.NotHelpDebitAddOrSubRate = $42; //(非扶持期)(非云闪付)借记卡成本或增或减比例",
+"	$1.HelpDebitProfitRate = $43; //(扶持期)(非云闪付)借记卡商户交易对应分润比例",
+"	$1.HelpDebitProfitStandardRate = $44; //(扶持期)(非云闪付)借记卡-标准分润比例",
+"	$1.HelpDebitAddOrSubRate = $45; //(扶持期)(非云闪付)借记卡成本或增或减比例",
+"	$1.DebitCapSingleReward = $46; //借记卡合伙人直营封顶交易奖励金额",
+"	$1.QrCreditProfitRate = $47; //(云闪付)贷记卡交易分润比例",
+"	$1.QrCreditProfitStandardRate = $48; //(云闪付)贷记卡分润基准",
+"	$1.QrCreditAddOrSubRate = $49; //(云闪付)贷记卡分润比例或增或减",
+"	$1.QrDebitProfitRate = $50; //(云闪付)借记卡非封顶交易分润比例",
+"	$1.QrDebitProfitStandardRate = $51; //(云闪付)借记卡非封顶交易分润基准",
+"	$1.QrDebitAddOrSubRate = $52; //(云闪付)借记卡非封顶交易分润比例或增或减",
+"	$1.CheckStatus = $53; //验证和同步账户状态",
+"	$1.Remark = $54; //备注",
+"	$1.TradeMonth = $55; //交易月",
+"	$1.RecordNo = $56; //记录单号",
+"	$1.TopUserId = $57; //顶级创客",
+"}"
+]
+},
+"获取分润奖励记录数量": {
+"prefix": "ym-db-ProfitRewardRecord-FindAndCount",
+"body": [
+"int $1 = db.ProfitRewardRecord.Count(m => $2);",
+]
+},
+"添加分润奖励记录": {
+"prefix": "ym-db-ProfitRewardRecord-Create",
+"body": [
+"db.ProfitRewardRecord.Add(new ProfitRewardRecord()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	MerchantId = $2, //商户",
+"	BrandId = $3, //品牌",
+"	ProfitType = $4, //创客分润类型",
+"	OtherTradeAmt = $5, //其他产品交易总金额",
+"	OtherCreditTradeAmt = $6, //其他产品贷记卡交易总金额",
+"	OtherDebitNotCapTradeAmt = $7, //其他产品借记卡非封顶交易总金额",
+"	TradeAmt = $8, //商户交易总额",
+"	CreditTradeAmt = $9, //贷记卡交易总金额",
+"	QrCreditTradeAmt = $10, //(云闪付)贷记卡交易总金额",
+"	NonQrCreditTradeAmt = $11, //(非云闪付)贷记卡交易总金额",
+"	NotHelpCreditTradeAmt = $12, //(非扶持期)(非云闪付)贷记卡交易总金额",
+"	HelpCreditTradeAmt = $13, //(扶持期)(非云闪付)贷记卡交易总金额",
+"	DebitNonCapTradeAmt = $14, //商户非封顶借记卡交易总额",
+"	QrDebitNotCapTradeAmt = $15, //(云闪付)商户非封顶借记卡交易总额",
+"	NonQrDebitNotCapTradeAmt = $16, //(非云闪付)商户非封顶借记卡交易总额",
+"	NotHelpDebitNonCapTradeAmt = $17, //(非扶持期)(非云闪付)借记卡非封顶交易总金额",
+"	HelpDebitNonCapTradeAmt = $18, //(扶持期)(非云闪付)借记卡非封顶交易总金额",
+"	DebitCapTradeAmt = $19, //商户借记卡封顶交易总额",
+"	DebitCapTradeNum = $20, //商户借记卡封顶交易总笔数",
+"	TradeProfit = $21, //交易分润",
+"	CreditTradeProfit = $22, //贷记卡分润总金额",
+"	QrCreditTradeProfit = $23, //(云闪付)贷记卡交易分润",
+"	NonQrCreditTradeProfit = $24, //(非云闪付)贷记卡交易分润",
+"	NotHelpCreditTradeProfit = $25, //(非扶持期)(非云闪付)贷记卡分润总金额",
+"	HelpCreditTradeProfit = $26, //(扶持期)(非云闪付)贷记卡分润总金额",
+"	DebitNonTradeCapProfit = $27, //借记卡非封顶交易分润总金额",
+"	QrDebitNonTradeCapProfit = $28, //(云闪付)借记卡非封顶交易分润总金额",
+"	NonQrDebitNonTradeCapProfit = $29, //(非云闪付)借记卡非封顶交易分润总金额",
+"	NotHelpDebitNonTradeCapProfit = $30, //(非扶持期)(非云闪付)借记卡非封顶交易分润总金额",
+"	HelpDebitNonTradeCapProfit = $31, //(扶持期)(非云闪付)借记卡非封顶交易分润总金额",
+"	DebitTradeCapProfit = $32, //借记卡封顶交易分润总金额",
+"	NotHelpCreditProfitRate = $33, //(非扶持期)(非云闪付)贷记卡商户交易对应分润比例",
+"	NotHelpCreditProfitStandardRate = $34, //(非扶持期)(非云闪付)贷记卡标准分润比例",
+"	NotHelpCreditAddOrSubRate = $35, //(非扶持期)(非云闪付)贷记卡成本或增或减比例",
+"	HelpCreditProfitRate = $36, //(扶持期)(非云闪付)贷记卡商户交易对应分润比例",
+"	HelpCreditProfitStandardRate = $37, //(扶持期)(非云闪付)贷记卡-标准分润比例",
+"	HelpCreditAddOrSubRate = $38, //(扶持期)(非云闪付)贷记卡成本或增或减比例",
+"	NotHelpDebitProfitRate = $39, //(非扶持期)(非云闪付)借记卡商户交易对应分润比例",
+"	NotHelpDebitProfitStandardRate = $40, //(非扶持期)(非云闪付)借记卡标准分润比例",
+"	NotHelpDebitAddOrSubRate = $41, //(非扶持期)(非云闪付)借记卡成本或增或减比例",
+"	HelpDebitProfitRate = $42, //(扶持期)(非云闪付)借记卡商户交易对应分润比例",
+"	HelpDebitProfitStandardRate = $43, //(扶持期)(非云闪付)借记卡-标准分润比例",
+"	HelpDebitAddOrSubRate = $44, //(扶持期)(非云闪付)借记卡成本或增或减比例",
+"	DebitCapSingleReward = $45, //借记卡合伙人直营封顶交易奖励金额",
+"	QrCreditProfitRate = $46, //(云闪付)贷记卡交易分润比例",
+"	QrCreditProfitStandardRate = $47, //(云闪付)贷记卡分润基准",
+"	QrCreditAddOrSubRate = $48, //(云闪付)贷记卡分润比例或增或减",
+"	QrDebitProfitRate = $49, //(云闪付)借记卡非封顶交易分润比例",
+"	QrDebitProfitStandardRate = $50, //(云闪付)借记卡非封顶交易分润基准",
+"	QrDebitAddOrSubRate = $51, //(云闪付)借记卡非封顶交易分润比例或增或减",
+"	CheckStatus = $52, //验证和同步账户状态",
+"	Remark = $53, //备注",
+"	TradeMonth = $54, //交易月",
+"	RecordNo = $55, //记录单号",
+"	TopUserId = $56, //顶级创客",
+"});"
+]
+},"删除某个分润奖励记录": {
+"prefix": "ym-db-ProfitRewardRecord-Delete",
+"body": [
+"ProfitRewardRecord $1 = db.ProfitRewardRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProfitRewardRecord.Remove($1);",
+"}"
+]
+},
+"查询分润补贴明细列表": {
+"prefix": "ym-db-ProfitSubsidyDetail-Find",
+"body": [
+"List<ProfitSubsidyDetail> $1 = db.ProfitSubsidyDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitSubsidyDetail $3 in $1)",
+"{",
+"}"
+]
+},
+"查询分润补贴明细列表,并取值": {
+"prefix": "ym-db-ProfitSubsidyDetail-FindWithData",
+"body": [
+"List<ProfitSubsidyDetail> $1 = db.ProfitSubsidyDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitSubsidyDetail $3 in $1)",
+"{",
+"	string RecordNo = $3.RecordNo; //流水号",
+"	int BrandId = $3.BrandId; //品牌",
+"	string ProductName = $3.ProductName; //产品名称",
+"	string TradeMonth = $3.TradeMonth; //交易月份",
+"	int MerchantId = $3.MerchantId; //商户",
+"	string MerNo = $3.MerNo; //渠道商户编号",
+"	string SnNo = $3.SnNo; //渠道SN号",
+"	DateTime MerRegTime = $3.MerRegTime; //渠道注册时间",
+"	DateTime MerStandardDate = $3.MerStandardDate; //商户激活时间",
+"	int BelongUserId = $3.BelongUserId; //商户归属人",
+"	ulong MerHelpFlag = $3.MerHelpFlag; //是否属于扶持周期内商户",
+"	int SubsidyUserId = $3.SubsidyUserId; //补贴人",
+"	int SubsidyType = $3.SubsidyType; //分润补贴类型",
+"	decimal CreditTradeAmt = $3.CreditTradeAmt; //商户贷记卡交易总金额",
+"	decimal QrCreditTradeAmt = $3.QrCreditTradeAmt; //商户(云闪付)贷记卡交易总金额",
+"	decimal NonQrCreditTradeAmt = $3.NonQrCreditTradeAmt; //商户(非云闪付)贷记卡交易总金额",
+"	decimal CreditProfitRate = $3.CreditProfitRate; //(非云闪付)贷记卡交易分润比例",
+"	decimal SubsidyProfitRate = $3.SubsidyProfitRate; //创客活动期内直营商户分润万分之十",
+"	decimal SubsidyProfit = $3.SubsidyProfit; //商户(非云闪付)贷记卡交易分润补贴金额",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询分润补贴明细": {
+"prefix": "ym-db-ProfitSubsidyDetail-Exist",
+"body": [
+"bool $1 = db.ProfitSubsidyDetail.Any(m => m.Id == $2);",
+]
+},
+"查询某个分润补贴明细,并取值": {
+"prefix": "ym-db-ProfitSubsidyDetail-FindByPrimaryKey",
+"body": [
+"ProfitSubsidyDetail $1 = db.ProfitSubsidyDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string RecordNo = $1.RecordNo; //流水号",
+"	int BrandId = $1.BrandId; //品牌",
+"	string ProductName = $1.ProductName; //产品名称",
+"	string TradeMonth = $1.TradeMonth; //交易月份",
+"	int MerchantId = $1.MerchantId; //商户",
+"	string MerNo = $1.MerNo; //渠道商户编号",
+"	string SnNo = $1.SnNo; //渠道SN号",
+"	DateTime MerRegTime = $1.MerRegTime; //渠道注册时间",
+"	DateTime MerStandardDate = $1.MerStandardDate; //商户激活时间",
+"	int BelongUserId = $1.BelongUserId; //商户归属人",
+"	ulong MerHelpFlag = $1.MerHelpFlag; //是否属于扶持周期内商户",
+"	int SubsidyUserId = $1.SubsidyUserId; //补贴人",
+"	int SubsidyType = $1.SubsidyType; //分润补贴类型",
+"	decimal CreditTradeAmt = $1.CreditTradeAmt; //商户贷记卡交易总金额",
+"	decimal QrCreditTradeAmt = $1.QrCreditTradeAmt; //商户(云闪付)贷记卡交易总金额",
+"	decimal NonQrCreditTradeAmt = $1.NonQrCreditTradeAmt; //商户(非云闪付)贷记卡交易总金额",
+"	decimal CreditProfitRate = $1.CreditProfitRate; //(非云闪付)贷记卡交易分润比例",
+"	decimal SubsidyProfitRate = $1.SubsidyProfitRate; //创客活动期内直营商户分润万分之十",
+"	decimal SubsidyProfit = $1.SubsidyProfit; //商户(非云闪付)贷记卡交易分润补贴金额",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个分润补贴明细,并赋值": {
+"prefix": "ym-db-ProfitSubsidyDetail-Update",
+"body": [
+"ProfitSubsidyDetail $1 = db.ProfitSubsidyDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.RecordNo = $2; //流水号",
+"	$1.BrandId = $3; //品牌",
+"	$1.ProductName = $4; //产品名称",
+"	$1.TradeMonth = $5; //交易月份",
+"	$1.MerchantId = $6; //商户",
+"	$1.MerNo = $7; //渠道商户编号",
+"	$1.SnNo = $8; //渠道SN号",
+"	$1.MerRegTime = $9; //渠道注册时间",
+"	$1.MerStandardDate = $10; //商户激活时间",
+"	$1.BelongUserId = $11; //商户归属人",
+"	$1.MerHelpFlag = $12; //是否属于扶持周期内商户",
+"	$1.SubsidyUserId = $13; //补贴人",
+"	$1.SubsidyType = $14; //分润补贴类型",
+"	$1.CreditTradeAmt = $15; //商户贷记卡交易总金额",
+"	$1.QrCreditTradeAmt = $16; //商户(云闪付)贷记卡交易总金额",
+"	$1.NonQrCreditTradeAmt = $17; //商户(非云闪付)贷记卡交易总金额",
+"	$1.CreditProfitRate = $18; //(非云闪付)贷记卡交易分润比例",
+"	$1.SubsidyProfitRate = $19; //创客活动期内直营商户分润万分之十",
+"	$1.SubsidyProfit = $20; //商户(非云闪付)贷记卡交易分润补贴金额",
+"	$1.Remark = $21; //备注",
+"}"
+]
+},
+"获取分润补贴明细数量": {
+"prefix": "ym-db-ProfitSubsidyDetail-FindAndCount",
+"body": [
+"int $1 = db.ProfitSubsidyDetail.Count(m => $2);",
+]
+},
+"添加分润补贴明细": {
+"prefix": "ym-db-ProfitSubsidyDetail-Create",
+"body": [
+"db.ProfitSubsidyDetail.Add(new ProfitSubsidyDetail()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	RecordNo = $1, //流水号",
+"	BrandId = $2, //品牌",
+"	ProductName = $3, //产品名称",
+"	TradeMonth = $4, //交易月份",
+"	MerchantId = $5, //商户",
+"	MerNo = $6, //渠道商户编号",
+"	SnNo = $7, //渠道SN号",
+"	MerRegTime = $8, //渠道注册时间",
+"	MerStandardDate = $9, //商户激活时间",
+"	BelongUserId = $10, //商户归属人",
+"	MerHelpFlag = $11, //是否属于扶持周期内商户",
+"	SubsidyUserId = $12, //补贴人",
+"	SubsidyType = $13, //分润补贴类型",
+"	CreditTradeAmt = $14, //商户贷记卡交易总金额",
+"	QrCreditTradeAmt = $15, //商户(云闪付)贷记卡交易总金额",
+"	NonQrCreditTradeAmt = $16, //商户(非云闪付)贷记卡交易总金额",
+"	CreditProfitRate = $17, //(非云闪付)贷记卡交易分润比例",
+"	SubsidyProfitRate = $18, //创客活动期内直营商户分润万分之十",
+"	SubsidyProfit = $19, //商户(非云闪付)贷记卡交易分润补贴金额",
+"	Remark = $20, //备注",
+"});"
+]
+},"删除某个分润补贴明细": {
+"prefix": "ym-db-ProfitSubsidyDetail-Delete",
+"body": [
+"ProfitSubsidyDetail $1 = db.ProfitSubsidyDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProfitSubsidyDetail.Remove($1);",
+"}"
+]
+},
+"查询拉新活动信息列表": {
+"prefix": "ym-db-PullNewAct-Find",
+"body": [
+"List<PullNewAct> $1 = db.PullNewAct.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (PullNewAct $3 in $1)",
+"{",
+"}"
+]
+},
+"查询拉新活动信息列表,并取值": {
+"prefix": "ym-db-PullNewAct-FindWithData",
+"body": [
+"List<PullNewAct> $1 = db.PullNewAct.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (PullNewAct $3 in $1)",
+"{",
+"	int SnDelayDay = $3.SnDelayDay; //机具延时时间",
+"	int ProductType = $3.ProductType; //产品类型",
+"	string ProductName = $3.ProductName; //产品名称",
+"	string ActStdCond = $3.ActStdCond; //拉新活动达标条件",
+"	DateTime ActEffectStartDate = $3.ActEffectStartDate; //有效开始时间",
+"	DateTime ActEffectEndDate = $3.ActEffectEndDate; //有效结束时间",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询拉新活动信息": {
+"prefix": "ym-db-PullNewAct-Exist",
+"body": [
+"bool $1 = db.PullNewAct.Any(m => m.Id == $2);",
+]
+},
+"查询某个拉新活动信息,并取值": {
+"prefix": "ym-db-PullNewAct-FindByPrimaryKey",
+"body": [
+"PullNewAct $1 = db.PullNewAct.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int SnDelayDay = $1.SnDelayDay; //机具延时时间",
+"	int ProductType = $1.ProductType; //产品类型",
+"	string ProductName = $1.ProductName; //产品名称",
+"	string ActStdCond = $1.ActStdCond; //拉新活动达标条件",
+"	DateTime ActEffectStartDate = $1.ActEffectStartDate; //有效开始时间",
+"	DateTime ActEffectEndDate = $1.ActEffectEndDate; //有效结束时间",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个拉新活动信息,并赋值": {
+"prefix": "ym-db-PullNewAct-Update",
+"body": [
+"PullNewAct $1 = db.PullNewAct.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.SnDelayDay = $2; //机具延时时间",
+"	$1.ProductType = $3; //产品类型",
+"	$1.ProductName = $4; //产品名称",
+"	$1.ActStdCond = $5; //拉新活动达标条件",
+"	$1.ActEffectStartDate = $6; //有效开始时间",
+"	$1.ActEffectEndDate = $7; //有效结束时间",
+"	$1.Remark = $8; //备注",
+"}"
+]
+},
+"获取拉新活动信息数量": {
+"prefix": "ym-db-PullNewAct-FindAndCount",
+"body": [
+"int $1 = db.PullNewAct.Count(m => $2);",
+]
+},
+"添加拉新活动信息": {
+"prefix": "ym-db-PullNewAct-Create",
+"body": [
+"db.PullNewAct.Add(new PullNewAct()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	SnDelayDay = $1, //机具延时时间",
+"	ProductType = $2, //产品类型",
+"	ProductName = $3, //产品名称",
+"	ActStdCond = $4, //拉新活动达标条件",
+"	ActEffectStartDate = $5, //有效开始时间",
+"	ActEffectEndDate = $6, //有效结束时间",
+"	Remark = $7, //备注",
+"});"
+]
+},"删除某个拉新活动信息": {
+"prefix": "ym-db-PullNewAct-Delete",
+"body": [
+"PullNewAct $1 = db.PullNewAct.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.PullNewAct.Remove($1);",
+"}"
+]
+},
+"查询拉新明细列表": {
+"prefix": "ym-db-PullNewDetail-Find",
+"body": [
+"List<PullNewDetail> $1 = db.PullNewDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (PullNewDetail $3 in $1)",
+"{",
+"}"
+]
+},
+"查询拉新明细列表,并取值": {
+"prefix": "ym-db-PullNewDetail-FindWithData",
+"body": [
+"List<PullNewDetail> $1 = db.PullNewDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (PullNewDetail $3 in $1)",
+"{",
+"	string StatDate = $3.StatDate; //统计日期",
+"	string StatMonth = $3.StatMonth; //统计所在月份",
+"	int UserId = $3.UserId; //创客",
+"	int StatType = $3.StatType; //统计类型",
+"	int RecUserId = $3.RecUserId; //招募人",
+"	string RecMallOrder = $3.RecMallOrder; //招募人商城订单号",
+"	DateTime RecMallOrderTime = $3.RecMallOrderTime; //招募创客商城下单时间",
+"	DateTime RecMallSendTime = $3.RecMallSendTime; //招募人商城发货时间",
+"	int RecMallBrandId = $3.RecMallBrandId; //招募人商城订单品牌",
+"	string RecMallProductName = $3.RecMallProductName; //招募人商城订单产品名称",
+"	int RecMallProductNum = $3.RecMallProductNum; //招募人商城订单产品数量",
+"	int BizStatus = $3.BizStatus; //业务状态",
+"	int RewardStatus = $3.RewardStatus; //奖励状态",
+"	string Remark = $3.Remark; //备注",
+"	int RecUserType = $3.RecUserType; //商户创客类型",
+"	DateTime RegDate = $3.RegDate; //注册时间",
+"}"
+]
+},
+"查询拉新明细": {
+"prefix": "ym-db-PullNewDetail-Exist",
+"body": [
+"bool $1 = db.PullNewDetail.Any(m => m.Id == $2);",
+]
+},
+"查询某个拉新明细,并取值": {
+"prefix": "ym-db-PullNewDetail-FindByPrimaryKey",
+"body": [
+"PullNewDetail $1 = db.PullNewDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string StatDate = $1.StatDate; //统计日期",
+"	string StatMonth = $1.StatMonth; //统计所在月份",
+"	int UserId = $1.UserId; //创客",
+"	int StatType = $1.StatType; //统计类型",
+"	int RecUserId = $1.RecUserId; //招募人",
+"	string RecMallOrder = $1.RecMallOrder; //招募人商城订单号",
+"	DateTime RecMallOrderTime = $1.RecMallOrderTime; //招募创客商城下单时间",
+"	DateTime RecMallSendTime = $1.RecMallSendTime; //招募人商城发货时间",
+"	int RecMallBrandId = $1.RecMallBrandId; //招募人商城订单品牌",
+"	string RecMallProductName = $1.RecMallProductName; //招募人商城订单产品名称",
+"	int RecMallProductNum = $1.RecMallProductNum; //招募人商城订单产品数量",
+"	int BizStatus = $1.BizStatus; //业务状态",
+"	int RewardStatus = $1.RewardStatus; //奖励状态",
+"	string Remark = $1.Remark; //备注",
+"	int RecUserType = $1.RecUserType; //商户创客类型",
+"	DateTime RegDate = $1.RegDate; //注册时间",
+"}"
+]
+},
+"查询某个拉新明细,并赋值": {
+"prefix": "ym-db-PullNewDetail-Update",
+"body": [
+"PullNewDetail $1 = db.PullNewDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.StatDate = $2; //统计日期",
+"	$1.StatMonth = $3; //统计所在月份",
+"	$1.UserId = $4; //创客",
+"	$1.StatType = $5; //统计类型",
+"	$1.RecUserId = $6; //招募人",
+"	$1.RecMallOrder = $7; //招募人商城订单号",
+"	$1.RecMallOrderTime = $8; //招募创客商城下单时间",
+"	$1.RecMallSendTime = $9; //招募人商城发货时间",
+"	$1.RecMallBrandId = $10; //招募人商城订单品牌",
+"	$1.RecMallProductName = $11; //招募人商城订单产品名称",
+"	$1.RecMallProductNum = $12; //招募人商城订单产品数量",
+"	$1.BizStatus = $13; //业务状态",
+"	$1.RewardStatus = $14; //奖励状态",
+"	$1.Remark = $15; //备注",
+"	$1.RecUserType = $16; //商户创客类型",
+"	$1.RegDate = $17; //注册时间",
+"}"
+]
+},
+"获取拉新明细数量": {
+"prefix": "ym-db-PullNewDetail-FindAndCount",
+"body": [
+"int $1 = db.PullNewDetail.Count(m => $2);",
+]
+},
+"添加拉新明细": {
+"prefix": "ym-db-PullNewDetail-Create",
+"body": [
+"db.PullNewDetail.Add(new PullNewDetail()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	StatDate = $1, //统计日期",
+"	StatMonth = $2, //统计所在月份",
+"	UserId = $3, //创客",
+"	StatType = $4, //统计类型",
+"	RecUserId = $5, //招募人",
+"	RecMallOrder = $6, //招募人商城订单号",
+"	RecMallOrderTime = $7, //招募创客商城下单时间",
+"	RecMallSendTime = $8, //招募人商城发货时间",
+"	RecMallBrandId = $9, //招募人商城订单品牌",
+"	RecMallProductName = $10, //招募人商城订单产品名称",
+"	RecMallProductNum = $11, //招募人商城订单产品数量",
+"	BizStatus = $12, //业务状态",
+"	RewardStatus = $13, //奖励状态",
+"	Remark = $14, //备注",
+"	RecUserType = $15, //商户创客类型",
+"	RegDate = $16, //注册时间",
+"});"
+]
+},"删除某个拉新明细": {
+"prefix": "ym-db-PullNewDetail-Delete",
+"body": [
+"PullNewDetail $1 = db.PullNewDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.PullNewDetail.Remove($1);",
+"}"
+]
+},
+"查询拉新日统计信息列表": {
+"prefix": "ym-db-PullnewSummary-Find",
+"body": [
+"List<PullnewSummary> $1 = db.PullnewSummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (PullnewSummary $3 in $1)",
+"{",
+"}"
+]
+},
+"查询拉新日统计信息列表,并取值": {
+"prefix": "ym-db-PullnewSummary-FindWithData",
+"body": [
+"List<PullnewSummary> $1 = db.PullnewSummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (PullnewSummary $3 in $1)",
+"{",
+"	string StatDate = $3.StatDate; //统计日",
+"	string StatMonth = $3.StatMonth; //统计月",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //产品类型",
+"	int RecUserAuthNum = $3.RecUserAuthNum; //招募实名创客数",
+"	int RecUserDeliveryStdNum = $3.RecUserDeliveryStdNum; //招募创客提货达标人数",
+"	int RuleSnDelayDay = $3.RuleSnDelayDay; //规则机具延迟天数",
+"	int BizSnDelayDay = $3.BizSnDelayDay; //业务机具延迟天数",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询拉新日统计信息": {
+"prefix": "ym-db-PullnewSummary-Exist",
+"body": [
+"bool $1 = db.PullnewSummary.Any(m => m.Id == $2);",
+]
+},
+"查询某个拉新日统计信息,并取值": {
+"prefix": "ym-db-PullnewSummary-FindByPrimaryKey",
+"body": [
+"PullnewSummary $1 = db.PullnewSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string StatDate = $1.StatDate; //统计日",
+"	string StatMonth = $1.StatMonth; //统计月",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //产品类型",
+"	int RecUserAuthNum = $1.RecUserAuthNum; //招募实名创客数",
+"	int RecUserDeliveryStdNum = $1.RecUserDeliveryStdNum; //招募创客提货达标人数",
+"	int RuleSnDelayDay = $1.RuleSnDelayDay; //规则机具延迟天数",
+"	int BizSnDelayDay = $1.BizSnDelayDay; //业务机具延迟天数",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个拉新日统计信息,并赋值": {
+"prefix": "ym-db-PullnewSummary-Update",
+"body": [
+"PullnewSummary $1 = db.PullnewSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.StatDate = $2; //统计日",
+"	$1.StatMonth = $3; //统计月",
+"	$1.UserId = $4; //创客",
+"	$1.BrandId = $5; //产品类型",
+"	$1.RecUserAuthNum = $6; //招募实名创客数",
+"	$1.RecUserDeliveryStdNum = $7; //招募创客提货达标人数",
+"	$1.RuleSnDelayDay = $8; //规则机具延迟天数",
+"	$1.BizSnDelayDay = $9; //业务机具延迟天数",
+"	$1.Remark = $10; //备注",
+"}"
+]
+},
+"获取拉新日统计信息数量": {
+"prefix": "ym-db-PullnewSummary-FindAndCount",
+"body": [
+"int $1 = db.PullnewSummary.Count(m => $2);",
+]
+},
+"添加拉新日统计信息": {
+"prefix": "ym-db-PullnewSummary-Create",
+"body": [
+"db.PullnewSummary.Add(new PullnewSummary()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	StatDate = $1, //统计日",
+"	StatMonth = $2, //统计月",
+"	UserId = $3, //创客",
+"	BrandId = $4, //产品类型",
+"	RecUserAuthNum = $5, //招募实名创客数",
+"	RecUserDeliveryStdNum = $6, //招募创客提货达标人数",
+"	RuleSnDelayDay = $7, //规则机具延迟天数",
+"	BizSnDelayDay = $8, //业务机具延迟天数",
+"	Remark = $9, //备注",
+"});"
+]
+},"删除某个拉新日统计信息": {
+"prefix": "ym-db-PullnewSummary-Delete",
+"body": [
+"PullnewSummary $1 = db.PullnewSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.PullnewSummary.Remove($1);",
+"}"
+]
+},
+"查询服务中心列表": {
+"prefix": "ym-db-ServiceCenter-Find",
+"body": [
+"List<ServiceCenter> $1 = db.ServiceCenter.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ServiceCenter $3 in $1)",
+"{",
+"}"
+]
+},
+"查询服务中心列表,并取值": {
+"prefix": "ym-db-ServiceCenter-FindWithData",
+"body": [
+"List<ServiceCenter> $1 = db.ServiceCenter.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ServiceCenter $3 in $1)",
+"{",
+"	string Title = $3.Title; //标题",
+"	string SubTitle = $3.SubTitle; //副标题",
+"	string Content = $3.Content; //内容",
+"	int CategoryId = $3.CategoryId; //问答类型",
+"}"
+]
+},
+"查询服务中心": {
+"prefix": "ym-db-ServiceCenter-Exist",
+"body": [
+"bool $1 = db.ServiceCenter.Any(m => m.Id == $2);",
+]
+},
+"查询某个服务中心,并取值": {
+"prefix": "ym-db-ServiceCenter-FindByPrimaryKey",
+"body": [
+"ServiceCenter $1 = db.ServiceCenter.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Title = $1.Title; //标题",
+"	string SubTitle = $1.SubTitle; //副标题",
+"	string Content = $1.Content; //内容",
+"	int CategoryId = $1.CategoryId; //问答类型",
+"}"
+]
+},
+"查询某个服务中心,并赋值": {
+"prefix": "ym-db-ServiceCenter-Update",
+"body": [
+"ServiceCenter $1 = db.ServiceCenter.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Title = $2; //标题",
+"	$1.SubTitle = $3; //副标题",
+"	$1.Content = $4; //内容",
+"	$1.CategoryId = $5; //问答类型",
+"}"
+]
+},
+"获取服务中心数量": {
+"prefix": "ym-db-ServiceCenter-FindAndCount",
+"body": [
+"int $1 = db.ServiceCenter.Count(m => $2);",
+]
+},
+"添加服务中心": {
+"prefix": "ym-db-ServiceCenter-Create",
+"body": [
+"db.ServiceCenter.Add(new ServiceCenter()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Title = $1, //标题",
+"	SubTitle = $2, //副标题",
+"	Content = $3, //内容",
+"	CategoryId = $4, //问答类型",
+"});"
+]
+},"删除某个服务中心": {
+"prefix": "ym-db-ServiceCenter-Delete",
+"body": [
+"ServiceCenter $1 = db.ServiceCenter.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ServiceCenter.Remove($1);",
+"}"
+]
+},
+"查询仓库库存变动信息列表": {
+"prefix": "ym-db-StoreBalance-Find",
+"body": [
+"List<StoreBalance> $1 = db.StoreBalance.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreBalance $3 in $1)",
+"{",
+"}"
+]
+},
+"查询仓库库存变动信息列表,并取值": {
+"prefix": "ym-db-StoreBalance-FindWithData",
+"body": [
+"List<StoreBalance> $1 = db.StoreBalance.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreBalance $3 in $1)",
+"{",
+"	int StoreId = $3.StoreId; //仓库",
+"	string TransRecordNo = $3.TransRecordNo; //交易流水编号",
+"	int TransType = $3.TransType; //交易类型",
+"	int BrandId = $3.BrandId; //产品类型",
+"	int OpStoreNum = $3.OpStoreNum; //操作库存数",
+"	string OpSymbol = $3.OpSymbol; //操作符",
+"	int BeforeTotalNum = $3.BeforeTotalNum; //操作前总库存数",
+"	int AfterTotalNum = $3.AfterTotalNum; //操作后总库存数",
+"	int BeforeLaveNum = $3.BeforeLaveNum; //操作前剩余库存数",
+"	int AfterLaveNum = $3.AfterLaveNum; //操作后剩余库存数",
+"	int BeforeOutNum = $3.BeforeOutNum; //操作前出库数",
+"	int AfterOutNum = $3.AfterOutNum; //操作后出库数",
+"}"
+]
+},
+"查询仓库库存变动信息": {
+"prefix": "ym-db-StoreBalance-Exist",
+"body": [
+"bool $1 = db.StoreBalance.Any(m => m.Id == $2);",
+]
+},
+"查询某个仓库库存变动信息,并取值": {
+"prefix": "ym-db-StoreBalance-FindByPrimaryKey",
+"body": [
+"StoreBalance $1 = db.StoreBalance.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int StoreId = $1.StoreId; //仓库",
+"	string TransRecordNo = $1.TransRecordNo; //交易流水编号",
+"	int TransType = $1.TransType; //交易类型",
+"	int BrandId = $1.BrandId; //产品类型",
+"	int OpStoreNum = $1.OpStoreNum; //操作库存数",
+"	string OpSymbol = $1.OpSymbol; //操作符",
+"	int BeforeTotalNum = $1.BeforeTotalNum; //操作前总库存数",
+"	int AfterTotalNum = $1.AfterTotalNum; //操作后总库存数",
+"	int BeforeLaveNum = $1.BeforeLaveNum; //操作前剩余库存数",
+"	int AfterLaveNum = $1.AfterLaveNum; //操作后剩余库存数",
+"	int BeforeOutNum = $1.BeforeOutNum; //操作前出库数",
+"	int AfterOutNum = $1.AfterOutNum; //操作后出库数",
+"}"
+]
+},
+"查询某个仓库库存变动信息,并赋值": {
+"prefix": "ym-db-StoreBalance-Update",
+"body": [
+"StoreBalance $1 = db.StoreBalance.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.StoreId = $2; //仓库",
+"	$1.TransRecordNo = $3; //交易流水编号",
+"	$1.TransType = $4; //交易类型",
+"	$1.BrandId = $5; //产品类型",
+"	$1.OpStoreNum = $6; //操作库存数",
+"	$1.OpSymbol = $7; //操作符",
+"	$1.BeforeTotalNum = $8; //操作前总库存数",
+"	$1.AfterTotalNum = $9; //操作后总库存数",
+"	$1.BeforeLaveNum = $10; //操作前剩余库存数",
+"	$1.AfterLaveNum = $11; //操作后剩余库存数",
+"	$1.BeforeOutNum = $12; //操作前出库数",
+"	$1.AfterOutNum = $13; //操作后出库数",
+"}"
+]
+},
+"获取仓库库存变动信息数量": {
+"prefix": "ym-db-StoreBalance-FindAndCount",
+"body": [
+"int $1 = db.StoreBalance.Count(m => $2);",
+]
+},
+"添加仓库库存变动信息": {
+"prefix": "ym-db-StoreBalance-Create",
+"body": [
+"db.StoreBalance.Add(new StoreBalance()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	StoreId = $1, //仓库",
+"	TransRecordNo = $2, //交易流水编号",
+"	TransType = $3, //交易类型",
+"	BrandId = $4, //产品类型",
+"	OpStoreNum = $5, //操作库存数",
+"	OpSymbol = $6, //操作符",
+"	BeforeTotalNum = $7, //操作前总库存数",
+"	AfterTotalNum = $8, //操作后总库存数",
+"	BeforeLaveNum = $9, //操作前剩余库存数",
+"	AfterLaveNum = $10, //操作后剩余库存数",
+"	BeforeOutNum = $11, //操作前出库数",
+"	AfterOutNum = $12, //操作后出库数",
+"});"
+]
+},"删除某个仓库库存变动信息": {
+"prefix": "ym-db-StoreBalance-Delete",
+"body": [
+"StoreBalance $1 = db.StoreBalance.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.StoreBalance.Remove($1);",
+"}"
+]
+},
+"查询机具变动历史列表": {
+"prefix": "ym-db-StoreChangeHistory-Find",
+"body": [
+"List<StoreChangeHistory> $1 = db.StoreChangeHistory.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreChangeHistory $3 in $1)",
+"{",
+"}"
+]
+},
+"查询机具变动历史列表,并取值": {
+"prefix": "ym-db-StoreChangeHistory-FindWithData",
+"body": [
+"List<StoreChangeHistory> $1 = db.StoreChangeHistory.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreChangeHistory $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //产品类型",
+"	string ChangeRecordNo = $3.ChangeRecordNo; //变更记录单号",
+"	string BizBatchNo = $3.BizBatchNo; //业务批次号",
+"	int TransType = $3.TransType; //交易类型",
+"	string SnNo = $3.SnNo; //SN编号",
+"	int SnType = $3.SnType; //SN机具类型",
+"	int StockOpDirect = $3.StockOpDirect; //库存操作方向",
+"	string DeviceVendor = $3.DeviceVendor; //设备厂商",
+"	string DeviceType = $3.DeviceType; //设备类型",
+"	string DeviceModel = $3.DeviceModel; //设备型号",
+"	int FromUserId = $3.FromUserId; //出货创客",
+"	DateTime FromDate = $3.FromDate; //出库时间",
+"	string FromRemark = $3.FromRemark; //出库备注",
+"	int ToUserId = $3.ToUserId; //收货创客",
+"	int ToStoreId = $3.ToStoreId; //创客退货收货仓库",
+"	DateTime ToDate = $3.ToDate; //入库时间",
+"	string ToRemark = $3.ToRemark; //入库备注",
+"	int SourceStoreId = $3.SourceStoreId; //源仓库",
+"	int StoreId = $3.StoreId; //仓库",
+"}"
+]
+},
+"查询机具变动历史": {
+"prefix": "ym-db-StoreChangeHistory-Exist",
+"body": [
+"bool $1 = db.StoreChangeHistory.Any(m => m.Id == $2);",
+]
+},
+"查询某个机具变动历史,并取值": {
+"prefix": "ym-db-StoreChangeHistory-FindByPrimaryKey",
+"body": [
+"StoreChangeHistory $1 = db.StoreChangeHistory.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //产品类型",
+"	string ChangeRecordNo = $1.ChangeRecordNo; //变更记录单号",
+"	string BizBatchNo = $1.BizBatchNo; //业务批次号",
+"	int TransType = $1.TransType; //交易类型",
+"	string SnNo = $1.SnNo; //SN编号",
+"	int SnType = $1.SnType; //SN机具类型",
+"	int StockOpDirect = $1.StockOpDirect; //库存操作方向",
+"	string DeviceVendor = $1.DeviceVendor; //设备厂商",
+"	string DeviceType = $1.DeviceType; //设备类型",
+"	string DeviceModel = $1.DeviceModel; //设备型号",
+"	int FromUserId = $1.FromUserId; //出货创客",
+"	DateTime FromDate = $1.FromDate; //出库时间",
+"	string FromRemark = $1.FromRemark; //出库备注",
+"	int ToUserId = $1.ToUserId; //收货创客",
+"	int ToStoreId = $1.ToStoreId; //创客退货收货仓库",
+"	DateTime ToDate = $1.ToDate; //入库时间",
+"	string ToRemark = $1.ToRemark; //入库备注",
+"	int SourceStoreId = $1.SourceStoreId; //源仓库",
+"	int StoreId = $1.StoreId; //仓库",
+"}"
+]
+},
+"查询某个机具变动历史,并赋值": {
+"prefix": "ym-db-StoreChangeHistory-Update",
+"body": [
+"StoreChangeHistory $1 = db.StoreChangeHistory.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.BrandId = $3; //产品类型",
+"	$1.ChangeRecordNo = $4; //变更记录单号",
+"	$1.BizBatchNo = $5; //业务批次号",
+"	$1.TransType = $6; //交易类型",
+"	$1.SnNo = $7; //SN编号",
+"	$1.SnType = $8; //SN机具类型",
+"	$1.StockOpDirect = $9; //库存操作方向",
+"	$1.DeviceVendor = $10; //设备厂商",
+"	$1.DeviceType = $11; //设备类型",
+"	$1.DeviceModel = $12; //设备型号",
+"	$1.FromUserId = $13; //出货创客",
+"	$1.FromDate = $14; //出库时间",
+"	$1.FromRemark = $15; //出库备注",
+"	$1.ToUserId = $16; //收货创客",
+"	$1.ToStoreId = $17; //创客退货收货仓库",
+"	$1.ToDate = $18; //入库时间",
+"	$1.ToRemark = $19; //入库备注",
+"	$1.SourceStoreId = $20; //源仓库",
+"	$1.StoreId = $21; //仓库",
+"}"
+]
+},
+"获取机具变动历史数量": {
+"prefix": "ym-db-StoreChangeHistory-FindAndCount",
+"body": [
+"int $1 = db.StoreChangeHistory.Count(m => $2);",
+]
+},
+"添加机具变动历史": {
+"prefix": "ym-db-StoreChangeHistory-Create",
+"body": [
+"db.StoreChangeHistory.Add(new StoreChangeHistory()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	BrandId = $2, //产品类型",
+"	ChangeRecordNo = $3, //变更记录单号",
+"	BizBatchNo = $4, //业务批次号",
+"	TransType = $5, //交易类型",
+"	SnNo = $6, //SN编号",
+"	SnType = $7, //SN机具类型",
+"	StockOpDirect = $8, //库存操作方向",
+"	DeviceVendor = $9, //设备厂商",
+"	DeviceType = $10, //设备类型",
+"	DeviceModel = $11, //设备型号",
+"	FromUserId = $12, //出货创客",
+"	FromDate = $13, //出库时间",
+"	FromRemark = $14, //出库备注",
+"	ToUserId = $15, //收货创客",
+"	ToStoreId = $16, //创客退货收货仓库",
+"	ToDate = $17, //入库时间",
+"	ToRemark = $18, //入库备注",
+"	SourceStoreId = $19, //源仓库",
+"	StoreId = $20, //仓库",
+"});"
+]
+},"删除某个机具变动历史": {
+"prefix": "ym-db-StoreChangeHistory-Delete",
+"body": [
+"StoreChangeHistory $1 = db.StoreChangeHistory.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.StoreChangeHistory.Remove($1);",
+"}"
+]
+},
+"查询仓库编号为主键的关联表列表": {
+"prefix": "ym-db-StoreForCode-Find",
+"body": [
+"List<StoreForCode> $1 = db.StoreForCode.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreForCode $3 in $1)",
+"{",
+"}"
+]
+},
+"查询仓库编号为主键的关联表列表,并取值": {
+"prefix": "ym-db-StoreForCode-FindWithData",
+"body": [
+"List<StoreForCode> $1 = db.StoreForCode.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreForCode $3 in $1)",
+"{",
+"	string Code = $3.Code; //编号",
+"	int StoreId = $3.StoreId; //仓库",
+"}"
+]
+},
+"查询仓库编号为主键的关联表": {
+"prefix": "ym-db-StoreForCode-Exist",
+"body": [
+"bool $1 = db.StoreForCode.Any(m => m.Code == $2);",
+]
+},
+"查询某个仓库编号为主键的关联表,并取值": {
+"prefix": "ym-db-StoreForCode-FindByPrimaryKey",
+"body": [
+"StoreForCode $1 = db.StoreForCode.FirstOrDefault(m => m.Code == $2);",
+"if ($1 != null)",
+"{",
+"	string Code = $1.Code; //编号",
+"	int StoreId = $1.StoreId; //仓库",
+"}"
+]
+},
+"查询某个仓库编号为主键的关联表,并赋值": {
+"prefix": "ym-db-StoreForCode-Update",
+"body": [
+"StoreForCode $1 = db.StoreForCode.FirstOrDefault(m => m.Code == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Code = $2; //编号",
+"	$1.StoreId = $3; //仓库",
+"}"
+]
+},
+"获取仓库编号为主键的关联表数量": {
+"prefix": "ym-db-StoreForCode-FindAndCount",
+"body": [
+"int $1 = db.StoreForCode.Count(m => $2);",
+]
+},
+"添加仓库编号为主键的关联表": {
+"prefix": "ym-db-StoreForCode-Create",
+"body": [
+"db.StoreForCode.Add(new StoreForCode()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Code = $1, //编号",
+"	StoreId = $2, //仓库",
+"});"
+]
+},"删除某个仓库编号为主键的关联表": {
+"prefix": "ym-db-StoreForCode-Delete",
+"body": [
+"StoreForCode $1 = db.StoreForCode.FirstOrDefault(m => m.Code == $2);",
+"if ($1 != null)",
+"{",
+"	db.StoreForCode.Remove($1);",
+"}"
+]
+},
+"查询仓库名称为主键的关联表列表": {
+"prefix": "ym-db-StoreForName-Find",
+"body": [
+"List<StoreForName> $1 = db.StoreForName.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreForName $3 in $1)",
+"{",
+"}"
+]
+},
+"查询仓库名称为主键的关联表列表,并取值": {
+"prefix": "ym-db-StoreForName-FindWithData",
+"body": [
+"List<StoreForName> $1 = db.StoreForName.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreForName $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"	int StoreId = $3.StoreId; //仓库",
+"}"
+]
+},
+"查询仓库名称为主键的关联表": {
+"prefix": "ym-db-StoreForName-Exist",
+"body": [
+"bool $1 = db.StoreForName.Any(m => m.Name == $2);",
+]
+},
+"查询某个仓库名称为主键的关联表,并取值": {
+"prefix": "ym-db-StoreForName-FindByPrimaryKey",
+"body": [
+"StoreForName $1 = db.StoreForName.FirstOrDefault(m => m.Name == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"	int StoreId = $1.StoreId; //仓库",
+"}"
+]
+},
+"查询某个仓库名称为主键的关联表,并赋值": {
+"prefix": "ym-db-StoreForName-Update",
+"body": [
+"StoreForName $1 = db.StoreForName.FirstOrDefault(m => m.Name == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"	$1.StoreId = $3; //仓库",
+"}"
+]
+},
+"获取仓库名称为主键的关联表数量": {
+"prefix": "ym-db-StoreForName-FindAndCount",
+"body": [
+"int $1 = db.StoreForName.Count(m => $2);",
+]
+},
+"添加仓库名称为主键的关联表": {
+"prefix": "ym-db-StoreForName-Create",
+"body": [
+"db.StoreForName.Add(new StoreForName()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"	StoreId = $2, //仓库",
+"});"
+]
+},"删除某个仓库名称为主键的关联表": {
+"prefix": "ym-db-StoreForName-Delete",
+"body": [
+"StoreForName $1 = db.StoreForName.FirstOrDefault(m => m.Name == $2);",
+"if ($1 != null)",
+"{",
+"	db.StoreForName.Remove($1);",
+"}"
+]
+},
+"查询仓库列表": {
+"prefix": "ym-db-StoreHouse-Find",
+"body": [
+"List<StoreHouse> $1 = db.StoreHouse.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreHouse $3 in $1)",
+"{",
+"}"
+]
+},
+"查询仓库列表,并取值": {
+"prefix": "ym-db-StoreHouse-FindWithData",
+"body": [
+"List<StoreHouse> $1 = db.StoreHouse.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreHouse $3 in $1)",
+"{",
+"	string StoreNo = $3.StoreNo; //仓库编号",
+"	string StoreName = $3.StoreName; //仓库名称",
+"	int UserId = $3.UserId; //仓库归属人",
+"	string BrandId = $3.BrandId; //产品类型",
+"	string ProductName = $3.ProductName; //产品名称",
+"	string Address = $3.Address; //仓库地址",
+"	int ManageUserId = $3.ManageUserId; //仓库管理员",
+"	string ManagerEmail = $3.ManagerEmail; //管理者邮箱",
+"	int ParentStoreId = $3.ParentStoreId; //父级Id",
+"	string ParentNav = $3.ParentNav; //父级集合",
+"	int StoreType = $3.StoreType; //仓库类型",
+"	int TotalNum = $3.TotalNum; //总库存数",
+"	int LaveNum = $3.LaveNum; //剩余库存数",
+"	int OutNum = $3.OutNum; //出库数",
+"	string Remark = $3.Remark; //备注",
+"	string Areas = $3.Areas; //所属地区",
+"	string LimitTopUserId = $3.LimitTopUserId; //限制创客特殊仓库",
+"	int StoreStatus = $3.StoreStatus; //仓库状态",
+"	int StoreKind = $3.StoreKind; //仓库归属类型",
+"	string ManageMobile = $3.ManageMobile; //管理者手机号",
+"}"
+]
+},
+"查询仓库": {
+"prefix": "ym-db-StoreHouse-Exist",
+"body": [
+"bool $1 = db.StoreHouse.Any(m => m.Id == $2);",
+]
+},
+"查询某个仓库,并取值": {
+"prefix": "ym-db-StoreHouse-FindByPrimaryKey",
+"body": [
+"StoreHouse $1 = db.StoreHouse.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string StoreNo = $1.StoreNo; //仓库编号",
+"	string StoreName = $1.StoreName; //仓库名称",
+"	int UserId = $1.UserId; //仓库归属人",
+"	string BrandId = $1.BrandId; //产品类型",
+"	string ProductName = $1.ProductName; //产品名称",
+"	string Address = $1.Address; //仓库地址",
+"	int ManageUserId = $1.ManageUserId; //仓库管理员",
+"	string ManagerEmail = $1.ManagerEmail; //管理者邮箱",
+"	int ParentStoreId = $1.ParentStoreId; //父级Id",
+"	string ParentNav = $1.ParentNav; //父级集合",
+"	int StoreType = $1.StoreType; //仓库类型",
+"	int TotalNum = $1.TotalNum; //总库存数",
+"	int LaveNum = $1.LaveNum; //剩余库存数",
+"	int OutNum = $1.OutNum; //出库数",
+"	string Remark = $1.Remark; //备注",
+"	string Areas = $1.Areas; //所属地区",
+"	string LimitTopUserId = $1.LimitTopUserId; //限制创客特殊仓库",
+"	int StoreStatus = $1.StoreStatus; //仓库状态",
+"	int StoreKind = $1.StoreKind; //仓库归属类型",
+"	string ManageMobile = $1.ManageMobile; //管理者手机号",
+"}"
+]
+},
+"查询某个仓库,并赋值": {
+"prefix": "ym-db-StoreHouse-Update",
+"body": [
+"StoreHouse $1 = db.StoreHouse.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.StoreNo = $2; //仓库编号",
+"	$1.StoreName = $3; //仓库名称",
+"	$1.UserId = $4; //仓库归属人",
+"	$1.BrandId = $5; //产品类型",
+"	$1.ProductName = $6; //产品名称",
+"	$1.Address = $7; //仓库地址",
+"	$1.ManageUserId = $8; //仓库管理员",
+"	$1.ManagerEmail = $9; //管理者邮箱",
+"	$1.ParentStoreId = $10; //父级Id",
+"	$1.ParentNav = $11; //父级集合",
+"	$1.StoreType = $12; //仓库类型",
+"	$1.TotalNum = $13; //总库存数",
+"	$1.LaveNum = $14; //剩余库存数",
+"	$1.OutNum = $15; //出库数",
+"	$1.Remark = $16; //备注",
+"	$1.Areas = $17; //所属地区",
+"	$1.LimitTopUserId = $18; //限制创客特殊仓库",
+"	$1.StoreStatus = $19; //仓库状态",
+"	$1.StoreKind = $20; //仓库归属类型",
+"	$1.ManageMobile = $21; //管理者手机号",
+"}"
+]
+},
+"获取仓库数量": {
+"prefix": "ym-db-StoreHouse-FindAndCount",
+"body": [
+"int $1 = db.StoreHouse.Count(m => $2);",
+]
+},
+"添加仓库": {
+"prefix": "ym-db-StoreHouse-Create",
+"body": [
+"db.StoreHouse.Add(new StoreHouse()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	StoreNo = $1, //仓库编号",
+"	StoreName = $2, //仓库名称",
+"	UserId = $3, //仓库归属人",
+"	BrandId = $4, //产品类型",
+"	ProductName = $5, //产品名称",
+"	Address = $6, //仓库地址",
+"	ManageUserId = $7, //仓库管理员",
+"	ManagerEmail = $8, //管理者邮箱",
+"	ParentStoreId = $9, //父级Id",
+"	ParentNav = $10, //父级集合",
+"	StoreType = $11, //仓库类型",
+"	TotalNum = $12, //总库存数",
+"	LaveNum = $13, //剩余库存数",
+"	OutNum = $14, //出库数",
+"	Remark = $15, //备注",
+"	Areas = $16, //所属地区",
+"	LimitTopUserId = $17, //限制创客特殊仓库",
+"	StoreStatus = $18, //仓库状态",
+"	StoreKind = $19, //仓库归属类型",
+"	ManageMobile = $20, //管理者手机号",
+"});"
+]
+},"删除某个仓库": {
+"prefix": "ym-db-StoreHouse-Delete",
+"body": [
+"StoreHouse $1 = db.StoreHouse.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.StoreHouse.Remove($1);",
+"}"
+]
+},
+"查询仓库订单汇总列表": {
+"prefix": "ym-db-StoreMallOrderSummary-Find",
+"body": [
+"List<StoreMallOrderSummary> $1 = db.StoreMallOrderSummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreMallOrderSummary $3 in $1)",
+"{",
+"}"
+]
+},
+"查询仓库订单汇总列表,并取值": {
+"prefix": "ym-db-StoreMallOrderSummary-FindWithData",
+"body": [
+"List<StoreMallOrderSummary> $1 = db.StoreMallOrderSummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreMallOrderSummary $3 in $1)",
+"{",
+"	string TradeMonth = $3.TradeMonth; //交易月",
+"	int StoreId = $3.StoreId; //仓库",
+"	int AgentStoreId = $3.AgentStoreId; //代理分仓",
+"	int BrandId = $3.BrandId; //品牌",
+"	decimal UnitPrice = $3.UnitPrice; //单价",
+"	int OrderNum = $3.OrderNum; //订单数量",
+"	int OrderAmt = $3.OrderAmt; //订单金额",
+"	int RefundOrderNum = $3.RefundOrderNum; //退款订单数量",
+"	decimal RefundAmt = $3.RefundAmt; //退款金额",
+"	decimal SettleAmt = $3.SettleAmt; //结算金额",
+"	int SettleStatus = $3.SettleStatus; //结算状态",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询仓库订单汇总": {
+"prefix": "ym-db-StoreMallOrderSummary-Exist",
+"body": [
+"bool $1 = db.StoreMallOrderSummary.Any(m => m.Id == $2);",
+]
+},
+"查询某个仓库订单汇总,并取值": {
+"prefix": "ym-db-StoreMallOrderSummary-FindByPrimaryKey",
+"body": [
+"StoreMallOrderSummary $1 = db.StoreMallOrderSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string TradeMonth = $1.TradeMonth; //交易月",
+"	int StoreId = $1.StoreId; //仓库",
+"	int AgentStoreId = $1.AgentStoreId; //代理分仓",
+"	int BrandId = $1.BrandId; //品牌",
+"	decimal UnitPrice = $1.UnitPrice; //单价",
+"	int OrderNum = $1.OrderNum; //订单数量",
+"	int OrderAmt = $1.OrderAmt; //订单金额",
+"	int RefundOrderNum = $1.RefundOrderNum; //退款订单数量",
+"	decimal RefundAmt = $1.RefundAmt; //退款金额",
+"	decimal SettleAmt = $1.SettleAmt; //结算金额",
+"	int SettleStatus = $1.SettleStatus; //结算状态",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个仓库订单汇总,并赋值": {
+"prefix": "ym-db-StoreMallOrderSummary-Update",
+"body": [
+"StoreMallOrderSummary $1 = db.StoreMallOrderSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TradeMonth = $2; //交易月",
+"	$1.StoreId = $3; //仓库",
+"	$1.AgentStoreId = $4; //代理分仓",
+"	$1.BrandId = $5; //品牌",
+"	$1.UnitPrice = $6; //单价",
+"	$1.OrderNum = $7; //订单数量",
+"	$1.OrderAmt = $8; //订单金额",
+"	$1.RefundOrderNum = $9; //退款订单数量",
+"	$1.RefundAmt = $10; //退款金额",
+"	$1.SettleAmt = $11; //结算金额",
+"	$1.SettleStatus = $12; //结算状态",
+"	$1.Remark = $13; //备注",
+"}"
+]
+},
+"获取仓库订单汇总数量": {
+"prefix": "ym-db-StoreMallOrderSummary-FindAndCount",
+"body": [
+"int $1 = db.StoreMallOrderSummary.Count(m => $2);",
+]
+},
+"添加仓库订单汇总": {
+"prefix": "ym-db-StoreMallOrderSummary-Create",
+"body": [
+"db.StoreMallOrderSummary.Add(new StoreMallOrderSummary()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TradeMonth = $1, //交易月",
+"	StoreId = $2, //仓库",
+"	AgentStoreId = $3, //代理分仓",
+"	BrandId = $4, //品牌",
+"	UnitPrice = $5, //单价",
+"	OrderNum = $6, //订单数量",
+"	OrderAmt = $7, //订单金额",
+"	RefundOrderNum = $8, //退款订单数量",
+"	RefundAmt = $9, //退款金额",
+"	SettleAmt = $10, //结算金额",
+"	SettleStatus = $11, //结算状态",
+"	Remark = $12, //备注",
+"});"
+]
+},"删除某个仓库订单汇总": {
+"prefix": "ym-db-StoreMallOrderSummary-Delete",
+"body": [
+"StoreMallOrderSummary $1 = db.StoreMallOrderSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.StoreMallOrderSummary.Remove($1);",
+"}"
+]
+},
+"查询仓库SN激活统计列表": {
+"prefix": "ym-db-StoreSnActivateSummary-Find",
+"body": [
+"List<StoreSnActivateSummary> $1 = db.StoreSnActivateSummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreSnActivateSummary $3 in $1)",
+"{",
+"}"
+]
+},
+"查询仓库SN激活统计列表,并取值": {
+"prefix": "ym-db-StoreSnActivateSummary-FindWithData",
+"body": [
+"List<StoreSnActivateSummary> $1 = db.StoreSnActivateSummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreSnActivateSummary $3 in $1)",
+"{",
+"	string TradeDate = $3.TradeDate; //交易日",
+"	string TradeMonth = $3.TradeMonth; //交易月",
+"	int StoreId = $3.StoreId; //仓库",
+"	int AgentStoreId = $3.AgentStoreId; //代理分仓",
+"	int BrandId = $3.BrandId; //产品类型",
+"	int ActivateNum = $3.ActivateNum; //激活数量",
+"	int RejectActNum = $3.RejectActNum; //互斥激活数量",
+"	int TransferActNum = $3.TransferActNum; //划拨激活数量(循环机划拨激活数)",
+"	int EffectActNum = $3.EffectActNum; //有效激活数量",
+"	int UserApplyNum = $3.UserApplyNum; //创客申请数量",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询仓库SN激活统计": {
+"prefix": "ym-db-StoreSnActivateSummary-Exist",
+"body": [
+"bool $1 = db.StoreSnActivateSummary.Any(m => m.Id == $2);",
+]
+},
+"查询某个仓库SN激活统计,并取值": {
+"prefix": "ym-db-StoreSnActivateSummary-FindByPrimaryKey",
+"body": [
+"StoreSnActivateSummary $1 = db.StoreSnActivateSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string TradeDate = $1.TradeDate; //交易日",
+"	string TradeMonth = $1.TradeMonth; //交易月",
+"	int StoreId = $1.StoreId; //仓库",
+"	int AgentStoreId = $1.AgentStoreId; //代理分仓",
+"	int BrandId = $1.BrandId; //产品类型",
+"	int ActivateNum = $1.ActivateNum; //激活数量",
+"	int RejectActNum = $1.RejectActNum; //互斥激活数量",
+"	int TransferActNum = $1.TransferActNum; //划拨激活数量(循环机划拨激活数)",
+"	int EffectActNum = $1.EffectActNum; //有效激活数量",
+"	int UserApplyNum = $1.UserApplyNum; //创客申请数量",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个仓库SN激活统计,并赋值": {
+"prefix": "ym-db-StoreSnActivateSummary-Update",
+"body": [
+"StoreSnActivateSummary $1 = db.StoreSnActivateSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TradeDate = $2; //交易日",
+"	$1.TradeMonth = $3; //交易月",
+"	$1.StoreId = $4; //仓库",
+"	$1.AgentStoreId = $5; //代理分仓",
+"	$1.BrandId = $6; //产品类型",
+"	$1.ActivateNum = $7; //激活数量",
+"	$1.RejectActNum = $8; //互斥激活数量",
+"	$1.TransferActNum = $9; //划拨激活数量(循环机划拨激活数)",
+"	$1.EffectActNum = $10; //有效激活数量",
+"	$1.UserApplyNum = $11; //创客申请数量",
+"	$1.Remark = $12; //备注",
+"}"
+]
+},
+"获取仓库SN激活统计数量": {
+"prefix": "ym-db-StoreSnActivateSummary-FindAndCount",
+"body": [
+"int $1 = db.StoreSnActivateSummary.Count(m => $2);",
+]
+},
+"添加仓库SN激活统计": {
+"prefix": "ym-db-StoreSnActivateSummary-Create",
+"body": [
+"db.StoreSnActivateSummary.Add(new StoreSnActivateSummary()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TradeDate = $1, //交易日",
+"	TradeMonth = $2, //交易月",
+"	StoreId = $3, //仓库",
+"	AgentStoreId = $4, //代理分仓",
+"	BrandId = $5, //产品类型",
+"	ActivateNum = $6, //激活数量",
+"	RejectActNum = $7, //互斥激活数量",
+"	TransferActNum = $8, //划拨激活数量(循环机划拨激活数)",
+"	EffectActNum = $9, //有效激活数量",
+"	UserApplyNum = $10, //创客申请数量",
+"	Remark = $11, //备注",
+"});"
+]
+},"删除某个仓库SN激活统计": {
+"prefix": "ym-db-StoreSnActivateSummary-Delete",
+"body": [
+"StoreSnActivateSummary $1 = db.StoreSnActivateSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.StoreSnActivateSummary.Remove($1);",
+"}"
+]
+},
+"查询仓库库存变动记录列表": {
+"prefix": "ym-db-StoreStockChange-Find",
+"body": [
+"List<StoreStockChange> $1 = db.StoreStockChange.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreStockChange $3 in $1)",
+"{",
+"}"
+]
+},
+"查询仓库库存变动记录列表,并取值": {
+"prefix": "ym-db-StoreStockChange-FindWithData",
+"body": [
+"List<StoreStockChange> $1 = db.StoreStockChange.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreStockChange $3 in $1)",
+"{",
+"	int StoreId = $3.StoreId; //仓库",
+"	int BrandId = $3.BrandId; //产品类型",
+"	string ProductName = $3.ProductName; //产品名称",
+"	string ChangeNo	 = $3.ChangeNo	; //变更单号",
+"	string BizBatchNo = $3.BizBatchNo; //业务批次号",
+"	int TransType = $3.TransType; //交易类型",
+"	string SnNo = $3.SnNo; //SN编号",
+"	int SnType = $3.SnType; //SN机具类型",
+"	int StockOpDirect = $3.StockOpDirect; //库存操作方向",
+"	int SnStatus = $3.SnStatus; //SN状态",
+"	int BindStatus = $3.BindStatus; //绑定状态",
+"	int BindMerchant = $3.BindMerchant; //绑定商户",
+"	int ActiveStatus = $3.ActiveStatus; //激活状态",
+"	int ActRewardUserId = $3.ActRewardUserId; //激活奖励人",
+"	string DeviceVendor = $3.DeviceVendor; //设备厂商",
+"	string DeviceModel = $3.DeviceModel; //设备型号",
+"	string DeviceType = $3.DeviceType; //设备类型",
+"	int FromUserId = $3.FromUserId; //出货人",
+"	DateTime FromDate = $3.FromDate; //出库时间",
+"	string FromRemark = $3.FromRemark; //出库备注",
+"	int ToUserId = $3.ToUserId; //收货人",
+"	int ToStoreId = $3.ToStoreId; //退货收货仓库",
+"	DateTime ToDate = $3.ToDate; //入库时间",
+"	string ToRemark = $3.ToRemark; //入库备注",
+"	int SourceStoreId = $3.SourceStoreId; //源仓库编号",
+"	string ExpressNo = $3.ExpressNo; //快递单号",
+"	string BrandType = $3.BrandType; //品牌类型",
+"}"
+]
+},
+"查询仓库库存变动记录": {
+"prefix": "ym-db-StoreStockChange-Exist",
+"body": [
+"bool $1 = db.StoreStockChange.Any(m => m.Id == $2);",
+]
+},
+"查询某个仓库库存变动记录,并取值": {
+"prefix": "ym-db-StoreStockChange-FindByPrimaryKey",
+"body": [
+"StoreStockChange $1 = db.StoreStockChange.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int StoreId = $1.StoreId; //仓库",
+"	int BrandId = $1.BrandId; //产品类型",
+"	string ProductName = $1.ProductName; //产品名称",
+"	string ChangeNo	 = $1.ChangeNo	; //变更单号",
+"	string BizBatchNo = $1.BizBatchNo; //业务批次号",
+"	int TransType = $1.TransType; //交易类型",
+"	string SnNo = $1.SnNo; //SN编号",
+"	int SnType = $1.SnType; //SN机具类型",
+"	int StockOpDirect = $1.StockOpDirect; //库存操作方向",
+"	int SnStatus = $1.SnStatus; //SN状态",
+"	int BindStatus = $1.BindStatus; //绑定状态",
+"	int BindMerchant = $1.BindMerchant; //绑定商户",
+"	int ActiveStatus = $1.ActiveStatus; //激活状态",
+"	int ActRewardUserId = $1.ActRewardUserId; //激活奖励人",
+"	string DeviceVendor = $1.DeviceVendor; //设备厂商",
+"	string DeviceModel = $1.DeviceModel; //设备型号",
+"	string DeviceType = $1.DeviceType; //设备类型",
+"	int FromUserId = $1.FromUserId; //出货人",
+"	DateTime FromDate = $1.FromDate; //出库时间",
+"	string FromRemark = $1.FromRemark; //出库备注",
+"	int ToUserId = $1.ToUserId; //收货人",
+"	int ToStoreId = $1.ToStoreId; //退货收货仓库",
+"	DateTime ToDate = $1.ToDate; //入库时间",
+"	string ToRemark = $1.ToRemark; //入库备注",
+"	int SourceStoreId = $1.SourceStoreId; //源仓库编号",
+"	string ExpressNo = $1.ExpressNo; //快递单号",
+"	string BrandType = $1.BrandType; //品牌类型",
+"}"
+]
+},
+"查询某个仓库库存变动记录,并赋值": {
+"prefix": "ym-db-StoreStockChange-Update",
+"body": [
+"StoreStockChange $1 = db.StoreStockChange.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.StoreId = $2; //仓库",
+"	$1.BrandId = $3; //产品类型",
+"	$1.ProductName = $4; //产品名称",
+"	$1.ChangeNo	 = $5; //变更单号",
+"	$1.BizBatchNo = $6; //业务批次号",
+"	$1.TransType = $7; //交易类型",
+"	$1.SnNo = $8; //SN编号",
+"	$1.SnType = $9; //SN机具类型",
+"	$1.StockOpDirect = $10; //库存操作方向",
+"	$1.SnStatus = $11; //SN状态",
+"	$1.BindStatus = $12; //绑定状态",
+"	$1.BindMerchant = $13; //绑定商户",
+"	$1.ActiveStatus = $14; //激活状态",
+"	$1.ActRewardUserId = $15; //激活奖励人",
+"	$1.DeviceVendor = $16; //设备厂商",
+"	$1.DeviceModel = $17; //设备型号",
+"	$1.DeviceType = $18; //设备类型",
+"	$1.FromUserId = $19; //出货人",
+"	$1.FromDate = $20; //出库时间",
+"	$1.FromRemark = $21; //出库备注",
+"	$1.ToUserId = $22; //收货人",
+"	$1.ToStoreId = $23; //退货收货仓库",
+"	$1.ToDate = $24; //入库时间",
+"	$1.ToRemark = $25; //入库备注",
+"	$1.SourceStoreId = $26; //源仓库编号",
+"	$1.ExpressNo = $27; //快递单号",
+"	$1.BrandType = $28; //品牌类型",
+"}"
+]
+},
+"获取仓库库存变动记录数量": {
+"prefix": "ym-db-StoreStockChange-FindAndCount",
+"body": [
+"int $1 = db.StoreStockChange.Count(m => $2);",
+]
+},
+"添加仓库库存变动记录": {
+"prefix": "ym-db-StoreStockChange-Create",
+"body": [
+"db.StoreStockChange.Add(new StoreStockChange()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	StoreId = $1, //仓库",
+"	BrandId = $2, //产品类型",
+"	ProductName = $3, //产品名称",
+"	ChangeNo	 = $4, //变更单号",
+"	BizBatchNo = $5, //业务批次号",
+"	TransType = $6, //交易类型",
+"	SnNo = $7, //SN编号",
+"	SnType = $8, //SN机具类型",
+"	StockOpDirect = $9, //库存操作方向",
+"	SnStatus = $10, //SN状态",
+"	BindStatus = $11, //绑定状态",
+"	BindMerchant = $12, //绑定商户",
+"	ActiveStatus = $13, //激活状态",
+"	ActRewardUserId = $14, //激活奖励人",
+"	DeviceVendor = $15, //设备厂商",
+"	DeviceModel = $16, //设备型号",
+"	DeviceType = $17, //设备类型",
+"	FromUserId = $18, //出货人",
+"	FromDate = $19, //出库时间",
+"	FromRemark = $20, //出库备注",
+"	ToUserId = $21, //收货人",
+"	ToStoreId = $22, //退货收货仓库",
+"	ToDate = $23, //入库时间",
+"	ToRemark = $24, //入库备注",
+"	SourceStoreId = $25, //源仓库编号",
+"	ExpressNo = $26, //快递单号",
+"	BrandType = $27, //品牌类型",
+"});"
+]
+},"删除某个仓库库存变动记录": {
+"prefix": "ym-db-StoreStockChange-Delete",
+"body": [
+"StoreStockChange $1 = db.StoreStockChange.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.StoreStockChange.Remove($1);",
+"}"
+]
+},
+"查询兑换机具记录列表": {
+"prefix": "ym-db-StoreSwapSn-Find",
+"body": [
+"List<StoreSwapSn> $1 = db.StoreSwapSn.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreSwapSn $3 in $1)",
+"{",
+"}"
+]
+},
+"查询兑换机具记录列表,并取值": {
+"prefix": "ym-db-StoreSwapSn-FindWithData",
+"body": [
+"List<StoreSwapSn> $1 = db.StoreSwapSn.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (StoreSwapSn $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //品牌",
+"	string SnNo = $3.SnNo; //SN号",
+"	int SnType = $3.SnType; //SN类型",
+"	DateTime StandardDate = $3.StandardDate; //达标日期",
+"	int ActType = $3.ActType; //激活类型",
+"	string ActTypeDesc = $3.ActTypeDesc; //激活类型描述",
+"	int SnStoreId = $3.SnStoreId; //SN仓库",
+"	string PosType = $3.PosType; //POS类型",
+"	int SwapStatus = $3.SwapStatus; //兑换状态",
+"	int BizStatus = $3.BizStatus; //业务状态",
+"	int RiskStatus = $3.RiskStatus; //风控状态",
+"	string SwapExtProductTypes = $3.SwapExtProductTypes; //可兑换产品类型",
+"	string SwapSnNo = $3.SwapSnNo; //兑换SN号",
+"	string SwapApplyOrderNo = $3.SwapApplyOrderNo; //兑换申请单号",
+"	DateTime SwapApplyDate = $3.SwapApplyDate; //兑换时间",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询兑换机具记录": {
+"prefix": "ym-db-StoreSwapSn-Exist",
+"body": [
+"bool $1 = db.StoreSwapSn.Any(m => m.Id == $2);",
+]
+},
+"查询某个兑换机具记录,并取值": {
+"prefix": "ym-db-StoreSwapSn-FindByPrimaryKey",
+"body": [
+"StoreSwapSn $1 = db.StoreSwapSn.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //品牌",
+"	string SnNo = $1.SnNo; //SN号",
+"	int SnType = $1.SnType; //SN类型",
+"	DateTime StandardDate = $1.StandardDate; //达标日期",
+"	int ActType = $1.ActType; //激活类型",
+"	string ActTypeDesc = $1.ActTypeDesc; //激活类型描述",
+"	int SnStoreId = $1.SnStoreId; //SN仓库",
+"	string PosType = $1.PosType; //POS类型",
+"	int SwapStatus = $1.SwapStatus; //兑换状态",
+"	int BizStatus = $1.BizStatus; //业务状态",
+"	int RiskStatus = $1.RiskStatus; //风控状态",
+"	string SwapExtProductTypes = $1.SwapExtProductTypes; //可兑换产品类型",
+"	string SwapSnNo = $1.SwapSnNo; //兑换SN号",
+"	string SwapApplyOrderNo = $1.SwapApplyOrderNo; //兑换申请单号",
+"	DateTime SwapApplyDate = $1.SwapApplyDate; //兑换时间",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个兑换机具记录,并赋值": {
+"prefix": "ym-db-StoreSwapSn-Update",
+"body": [
+"StoreSwapSn $1 = db.StoreSwapSn.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.BrandId = $3; //品牌",
+"	$1.SnNo = $4; //SN号",
+"	$1.SnType = $5; //SN类型",
+"	$1.StandardDate = $6; //达标日期",
+"	$1.ActType = $7; //激活类型",
+"	$1.ActTypeDesc = $8; //激活类型描述",
+"	$1.SnStoreId = $9; //SN仓库",
+"	$1.PosType = $10; //POS类型",
+"	$1.SwapStatus = $11; //兑换状态",
+"	$1.BizStatus = $12; //业务状态",
+"	$1.RiskStatus = $13; //风控状态",
+"	$1.SwapExtProductTypes = $14; //可兑换产品类型",
+"	$1.SwapSnNo = $15; //兑换SN号",
+"	$1.SwapApplyOrderNo = $16; //兑换申请单号",
+"	$1.SwapApplyDate = $17; //兑换时间",
+"	$1.Remark = $18; //备注",
+"}"
+]
+},
+"获取兑换机具记录数量": {
+"prefix": "ym-db-StoreSwapSn-FindAndCount",
+"body": [
+"int $1 = db.StoreSwapSn.Count(m => $2);",
+]
+},
+"添加兑换机具记录": {
+"prefix": "ym-db-StoreSwapSn-Create",
+"body": [
+"db.StoreSwapSn.Add(new StoreSwapSn()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	BrandId = $2, //品牌",
+"	SnNo = $3, //SN号",
+"	SnType = $4, //SN类型",
+"	StandardDate = $5, //达标日期",
+"	ActType = $6, //激活类型",
+"	ActTypeDesc = $7, //激活类型描述",
+"	SnStoreId = $8, //SN仓库",
+"	PosType = $9, //POS类型",
+"	SwapStatus = $10, //兑换状态",
+"	BizStatus = $11, //业务状态",
+"	RiskStatus = $12, //风控状态",
+"	SwapExtProductTypes = $13, //可兑换产品类型",
+"	SwapSnNo = $14, //兑换SN号",
+"	SwapApplyOrderNo = $15, //兑换申请单号",
+"	SwapApplyDate = $16, //兑换时间",
+"	Remark = $17, //备注",
+"});"
+]
+},"删除某个兑换机具记录": {
+"prefix": "ym-db-StoreSwapSn-Delete",
+"body": [
+"StoreSwapSn $1 = db.StoreSwapSn.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.StoreSwapSn.Remove($1);",
+"}"
+]
+},
+"查询创客奖励记录列表": {
+"prefix": "ym-db-SysRechargeRecord-Find",
+"body": [
+"List<SysRechargeRecord> $1 = db.SysRechargeRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (SysRechargeRecord $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客奖励记录列表,并取值": {
+"prefix": "ym-db-SysRechargeRecord-FindWithData",
+"body": [
+"List<SysRechargeRecord> $1 = db.SysRechargeRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (SysRechargeRecord $3 in $1)",
+"{",
+"	string RechargeRecNo = $3.RechargeRecNo; //充值流水号",
+"	string PartnerTradeNo = $3.PartnerTradeNo; //业务单号",
+"	int ProductType = $3.ProductType; //产品类型",
+"	int UserId = $3.UserId; //创客",
+"	int BizType = $3.BizType; //业务类型",
+"	DateTime BizTime = $3.BizTime; //奖励时间",
+"	decimal Amount = $3.Amount; //奖励金额",
+"	int SyncStatus = $3.SyncStatus; //同步状态",
+"	string BatchCode = $3.BatchCode; //批次号",
+"	string ClientIp = $3.ClientIp; //客户IP",
+"}"
+]
+},
+"查询创客奖励记录": {
+"prefix": "ym-db-SysRechargeRecord-Exist",
+"body": [
+"bool $1 = db.SysRechargeRecord.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客奖励记录,并取值": {
+"prefix": "ym-db-SysRechargeRecord-FindByPrimaryKey",
+"body": [
+"SysRechargeRecord $1 = db.SysRechargeRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string RechargeRecNo = $1.RechargeRecNo; //充值流水号",
+"	string PartnerTradeNo = $1.PartnerTradeNo; //业务单号",
+"	int ProductType = $1.ProductType; //产品类型",
+"	int UserId = $1.UserId; //创客",
+"	int BizType = $1.BizType; //业务类型",
+"	DateTime BizTime = $1.BizTime; //奖励时间",
+"	decimal Amount = $1.Amount; //奖励金额",
+"	int SyncStatus = $1.SyncStatus; //同步状态",
+"	string BatchCode = $1.BatchCode; //批次号",
+"	string ClientIp = $1.ClientIp; //客户IP",
+"}"
+]
+},
+"查询某个创客奖励记录,并赋值": {
+"prefix": "ym-db-SysRechargeRecord-Update",
+"body": [
+"SysRechargeRecord $1 = db.SysRechargeRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.RechargeRecNo = $2; //充值流水号",
+"	$1.PartnerTradeNo = $3; //业务单号",
+"	$1.ProductType = $4; //产品类型",
+"	$1.UserId = $5; //创客",
+"	$1.BizType = $6; //业务类型",
+"	$1.BizTime = $7; //奖励时间",
+"	$1.Amount = $8; //奖励金额",
+"	$1.SyncStatus = $9; //同步状态",
+"	$1.BatchCode = $10; //批次号",
+"	$1.ClientIp = $11; //客户IP",
+"}"
+]
+},
+"获取创客奖励记录数量": {
+"prefix": "ym-db-SysRechargeRecord-FindAndCount",
+"body": [
+"int $1 = db.SysRechargeRecord.Count(m => $2);",
+]
+},
+"添加创客奖励记录": {
+"prefix": "ym-db-SysRechargeRecord-Create",
+"body": [
+"db.SysRechargeRecord.Add(new SysRechargeRecord()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	RechargeRecNo = $1, //充值流水号",
+"	PartnerTradeNo = $2, //业务单号",
+"	ProductType = $3, //产品类型",
+"	UserId = $4, //创客",
+"	BizType = $5, //业务类型",
+"	BizTime = $6, //奖励时间",
+"	Amount = $7, //奖励金额",
+"	SyncStatus = $8, //同步状态",
+"	BatchCode = $9, //批次号",
+"	ClientIp = $10, //客户IP",
+"});"
+]
+},"删除某个创客奖励记录": {
+"prefix": "ym-db-SysRechargeRecord-Delete",
+"body": [
+"SysRechargeRecord $1 = db.SysRechargeRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.SysRechargeRecord.Remove($1);",
+"}"
+]
+},
+"查询开团申请列表": {
+"prefix": "ym-db-TeamApply-Find",
+"body": [
+"List<TeamApply> $1 = db.TeamApply.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamApply $3 in $1)",
+"{",
+"}"
+]
+},
+"查询开团申请列表,并取值": {
+"prefix": "ym-db-TeamApply-FindWithData",
+"body": [
+"List<TeamApply> $1 = db.TeamApply.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamApply $3 in $1)",
+"{",
+"	string TeamNo = $3.TeamNo; //队伍编码",
+"	string TeamName = $3.TeamName; //队伍名称",
+"	int UserId = $3.UserId; //队长",
+"	string ManagerNo = $3.ManagerNo; //渠道经理编号",
+"	string ManagerName = $3.ManagerName; //渠道经理名称",
+"	string Areas = $3.Areas; //特训营所在地区",
+"	DateTime EffectStartDate = $3.EffectStartDate; //活动开始时间",
+"	DateTime EffectEndDate = $3.EffectEndDate; //活动结束时间",
+"	DateTime EnterStartDate = $3.EnterStartDate; //报名开始时间",
+"	DateTime EnterEndDate = $3.EnterEndDate; //报名结束时间",
+"	int MinUserNum = $3.MinUserNum; //最小队伍人数",
+"	int MaxUserNum = $3.MaxUserNum; //最大队伍人数",
+"	string WatchWord = $3.WatchWord; //口号",
+"	DateTime AuditTime = $3.AuditTime; //审核时间",
+"	int AuditResult = $3.AuditResult; //审核结果",
+"	string AuditRemark = $3.AuditRemark; //审核备注",
+"	int NotifyFlag = $3.NotifyFlag; //提醒标识",
+"	string Remark = $3.Remark; //备注",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"	int TeamStatus = $3.TeamStatus; //组队状态",
+"}"
+]
+},
+"查询开团申请": {
+"prefix": "ym-db-TeamApply-Exist",
+"body": [
+"bool $1 = db.TeamApply.Any(m => m.Id == $2);",
+]
+},
+"查询某个开团申请,并取值": {
+"prefix": "ym-db-TeamApply-FindByPrimaryKey",
+"body": [
+"TeamApply $1 = db.TeamApply.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string TeamNo = $1.TeamNo; //队伍编码",
+"	string TeamName = $1.TeamName; //队伍名称",
+"	int UserId = $1.UserId; //队长",
+"	string ManagerNo = $1.ManagerNo; //渠道经理编号",
+"	string ManagerName = $1.ManagerName; //渠道经理名称",
+"	string Areas = $1.Areas; //特训营所在地区",
+"	DateTime EffectStartDate = $1.EffectStartDate; //活动开始时间",
+"	DateTime EffectEndDate = $1.EffectEndDate; //活动结束时间",
+"	DateTime EnterStartDate = $1.EnterStartDate; //报名开始时间",
+"	DateTime EnterEndDate = $1.EnterEndDate; //报名结束时间",
+"	int MinUserNum = $1.MinUserNum; //最小队伍人数",
+"	int MaxUserNum = $1.MaxUserNum; //最大队伍人数",
+"	string WatchWord = $1.WatchWord; //口号",
+"	DateTime AuditTime = $1.AuditTime; //审核时间",
+"	int AuditResult = $1.AuditResult; //审核结果",
+"	string AuditRemark = $1.AuditRemark; //审核备注",
+"	int NotifyFlag = $1.NotifyFlag; //提醒标识",
+"	string Remark = $1.Remark; //备注",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"	int TeamStatus = $1.TeamStatus; //组队状态",
+"}"
+]
+},
+"查询某个开团申请,并赋值": {
+"prefix": "ym-db-TeamApply-Update",
+"body": [
+"TeamApply $1 = db.TeamApply.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TeamNo = $2; //队伍编码",
+"	$1.TeamName = $3; //队伍名称",
+"	$1.UserId = $4; //队长",
+"	$1.ManagerNo = $5; //渠道经理编号",
+"	$1.ManagerName = $6; //渠道经理名称",
+"	$1.Areas = $7; //特训营所在地区",
+"	$1.EffectStartDate = $8; //活动开始时间",
+"	$1.EffectEndDate = $9; //活动结束时间",
+"	$1.EnterStartDate = $10; //报名开始时间",
+"	$1.EnterEndDate = $11; //报名结束时间",
+"	$1.MinUserNum = $12; //最小队伍人数",
+"	$1.MaxUserNum = $13; //最大队伍人数",
+"	$1.WatchWord = $14; //口号",
+"	$1.AuditTime = $15; //审核时间",
+"	$1.AuditResult = $16; //审核结果",
+"	$1.AuditRemark = $17; //审核备注",
+"	$1.NotifyFlag = $18; //提醒标识",
+"	$1.Remark = $19; //备注",
+"	$1.TopUserId = $20; //顶级创客",
+"	$1.TeamStatus = $21; //组队状态",
+"}"
+]
+},
+"获取开团申请数量": {
+"prefix": "ym-db-TeamApply-FindAndCount",
+"body": [
+"int $1 = db.TeamApply.Count(m => $2);",
+]
+},
+"添加开团申请": {
+"prefix": "ym-db-TeamApply-Create",
+"body": [
+"db.TeamApply.Add(new TeamApply()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TeamNo = $1, //队伍编码",
+"	TeamName = $2, //队伍名称",
+"	UserId = $3, //队长",
+"	ManagerNo = $4, //渠道经理编号",
+"	ManagerName = $5, //渠道经理名称",
+"	Areas = $6, //特训营所在地区",
+"	EffectStartDate = $7, //活动开始时间",
+"	EffectEndDate = $8, //活动结束时间",
+"	EnterStartDate = $9, //报名开始时间",
+"	EnterEndDate = $10, //报名结束时间",
+"	MinUserNum = $11, //最小队伍人数",
+"	MaxUserNum = $12, //最大队伍人数",
+"	WatchWord = $13, //口号",
+"	AuditTime = $14, //审核时间",
+"	AuditResult = $15, //审核结果",
+"	AuditRemark = $16, //审核备注",
+"	NotifyFlag = $17, //提醒标识",
+"	Remark = $18, //备注",
+"	TopUserId = $19, //顶级创客",
+"	TeamStatus = $20, //组队状态",
+"});"
+]
+},"删除某个开团申请": {
+"prefix": "ym-db-TeamApply-Delete",
+"body": [
+"TeamApply $1 = db.TeamApply.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.TeamApply.Remove($1);",
+"}"
+]
+},
+"查询团队名称为主键的关联表列表": {
+"prefix": "ym-db-TeamApplyForTeamName-Find",
+"body": [
+"List<TeamApplyForTeamName> $1 = db.TeamApplyForTeamName.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamApplyForTeamName $3 in $1)",
+"{",
+"}"
+]
+},
+"查询团队名称为主键的关联表列表,并取值": {
+"prefix": "ym-db-TeamApplyForTeamName-FindWithData",
+"body": [
+"List<TeamApplyForTeamName> $1 = db.TeamApplyForTeamName.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamApplyForTeamName $3 in $1)",
+"{",
+"	string TeamName = $3.TeamName; //团队名称",
+"	int TeamId = $3.TeamId; //团队Id",
+"}"
+]
+},
+"查询团队名称为主键的关联表": {
+"prefix": "ym-db-TeamApplyForTeamName-Exist",
+"body": [
+"bool $1 = db.TeamApplyForTeamName.Any(m => m.TeamName == $2);",
+]
+},
+"查询某个团队名称为主键的关联表,并取值": {
+"prefix": "ym-db-TeamApplyForTeamName-FindByPrimaryKey",
+"body": [
+"TeamApplyForTeamName $1 = db.TeamApplyForTeamName.FirstOrDefault(m => m.TeamName == $2);",
+"if ($1 != null)",
+"{",
+"	string TeamName = $1.TeamName; //团队名称",
+"	int TeamId = $1.TeamId; //团队Id",
+"}"
+]
+},
+"查询某个团队名称为主键的关联表,并赋值": {
+"prefix": "ym-db-TeamApplyForTeamName-Update",
+"body": [
+"TeamApplyForTeamName $1 = db.TeamApplyForTeamName.FirstOrDefault(m => m.TeamName == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TeamName = $2; //团队名称",
+"	$1.TeamId = $3; //团队Id",
+"}"
+]
+},
+"获取团队名称为主键的关联表数量": {
+"prefix": "ym-db-TeamApplyForTeamName-FindAndCount",
+"body": [
+"int $1 = db.TeamApplyForTeamName.Count(m => $2);",
+]
+},
+"添加团队名称为主键的关联表": {
+"prefix": "ym-db-TeamApplyForTeamName-Create",
+"body": [
+"db.TeamApplyForTeamName.Add(new TeamApplyForTeamName()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TeamName = $1, //团队名称",
+"	TeamId = $2, //团队Id",
+"});"
+]
+},"删除某个团队名称为主键的关联表": {
+"prefix": "ym-db-TeamApplyForTeamName-Delete",
+"body": [
+"TeamApplyForTeamName $1 = db.TeamApplyForTeamName.FirstOrDefault(m => m.TeamName == $2);",
+"if ($1 != null)",
+"{",
+"	db.TeamApplyForTeamName.Remove($1);",
+"}"
+]
+},
+"查询团队编号为主键的关联表列表": {
+"prefix": "ym-db-TeamApplyForTeamNo-Find",
+"body": [
+"List<TeamApplyForTeamNo> $1 = db.TeamApplyForTeamNo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamApplyForTeamNo $3 in $1)",
+"{",
+"}"
+]
+},
+"查询团队编号为主键的关联表列表,并取值": {
+"prefix": "ym-db-TeamApplyForTeamNo-FindWithData",
+"body": [
+"List<TeamApplyForTeamNo> $1 = db.TeamApplyForTeamNo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamApplyForTeamNo $3 in $1)",
+"{",
+"	string TeamNo = $3.TeamNo; //团队编号",
+"	int TeamId = $3.TeamId; //团队Id",
+"}"
+]
+},
+"查询团队编号为主键的关联表": {
+"prefix": "ym-db-TeamApplyForTeamNo-Exist",
+"body": [
+"bool $1 = db.TeamApplyForTeamNo.Any(m => m.TeamNo == $2);",
+]
+},
+"查询某个团队编号为主键的关联表,并取值": {
+"prefix": "ym-db-TeamApplyForTeamNo-FindByPrimaryKey",
+"body": [
+"TeamApplyForTeamNo $1 = db.TeamApplyForTeamNo.FirstOrDefault(m => m.TeamNo == $2);",
+"if ($1 != null)",
+"{",
+"	string TeamNo = $1.TeamNo; //团队编号",
+"	int TeamId = $1.TeamId; //团队Id",
+"}"
+]
+},
+"查询某个团队编号为主键的关联表,并赋值": {
+"prefix": "ym-db-TeamApplyForTeamNo-Update",
+"body": [
+"TeamApplyForTeamNo $1 = db.TeamApplyForTeamNo.FirstOrDefault(m => m.TeamNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TeamNo = $2; //团队编号",
+"	$1.TeamId = $3; //团队Id",
+"}"
+]
+},
+"获取团队编号为主键的关联表数量": {
+"prefix": "ym-db-TeamApplyForTeamNo-FindAndCount",
+"body": [
+"int $1 = db.TeamApplyForTeamNo.Count(m => $2);",
+]
+},
+"添加团队编号为主键的关联表": {
+"prefix": "ym-db-TeamApplyForTeamNo-Create",
+"body": [
+"db.TeamApplyForTeamNo.Add(new TeamApplyForTeamNo()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TeamNo = $1, //团队编号",
+"	TeamId = $2, //团队Id",
+"});"
+]
+},"删除某个团队编号为主键的关联表": {
+"prefix": "ym-db-TeamApplyForTeamNo-Delete",
+"body": [
+"TeamApplyForTeamNo $1 = db.TeamApplyForTeamNo.FirstOrDefault(m => m.TeamNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.TeamApplyForTeamNo.Remove($1);",
+"}"
+]
+},
+"查询开团黑名单列表": {
+"prefix": "ym-db-TeamBlackList-Find",
+"body": [
+"List<TeamBlackList> $1 = db.TeamBlackList.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamBlackList $3 in $1)",
+"{",
+"}"
+]
+},
+"查询开团黑名单列表,并取值": {
+"prefix": "ym-db-TeamBlackList-FindWithData",
+"body": [
+"List<TeamBlackList> $1 = db.TeamBlackList.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamBlackList $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	string ManagerNo = $3.ManagerNo; //渠道经理编号",
+"	string ManagerName = $3.ManagerName; //渠道经理名称",
+"	DateTime EffectStartDate = $3.EffectStartDate; //生效时间",
+"	DateTime EffectEndDate = $3.EffectEndDate; //失效时间",
+"	string Remark = $3.Remark; //备注",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"	int BlackStatus = $3.BlackStatus; //状态",
+"}"
+]
+},
+"查询开团黑名单": {
+"prefix": "ym-db-TeamBlackList-Exist",
+"body": [
+"bool $1 = db.TeamBlackList.Any(m => m.Id == $2);",
+]
+},
+"查询某个开团黑名单,并取值": {
+"prefix": "ym-db-TeamBlackList-FindByPrimaryKey",
+"body": [
+"TeamBlackList $1 = db.TeamBlackList.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	string ManagerNo = $1.ManagerNo; //渠道经理编号",
+"	string ManagerName = $1.ManagerName; //渠道经理名称",
+"	DateTime EffectStartDate = $1.EffectStartDate; //生效时间",
+"	DateTime EffectEndDate = $1.EffectEndDate; //失效时间",
+"	string Remark = $1.Remark; //备注",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"	int BlackStatus = $1.BlackStatus; //状态",
+"}"
+]
+},
+"查询某个开团黑名单,并赋值": {
+"prefix": "ym-db-TeamBlackList-Update",
+"body": [
+"TeamBlackList $1 = db.TeamBlackList.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.ManagerNo = $3; //渠道经理编号",
+"	$1.ManagerName = $4; //渠道经理名称",
+"	$1.EffectStartDate = $5; //生效时间",
+"	$1.EffectEndDate = $6; //失效时间",
+"	$1.Remark = $7; //备注",
+"	$1.TopUserId = $8; //顶级创客",
+"	$1.BlackStatus = $9; //状态",
+"}"
+]
+},
+"获取开团黑名单数量": {
+"prefix": "ym-db-TeamBlackList-FindAndCount",
+"body": [
+"int $1 = db.TeamBlackList.Count(m => $2);",
+]
+},
+"添加开团黑名单": {
+"prefix": "ym-db-TeamBlackList-Create",
+"body": [
+"db.TeamBlackList.Add(new TeamBlackList()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	ManagerNo = $2, //渠道经理编号",
+"	ManagerName = $3, //渠道经理名称",
+"	EffectStartDate = $4, //生效时间",
+"	EffectEndDate = $5, //失效时间",
+"	Remark = $6, //备注",
+"	TopUserId = $7, //顶级创客",
+"	BlackStatus = $8, //状态",
+"});"
+]
+},"删除某个开团黑名单": {
+"prefix": "ym-db-TeamBlackList-Delete",
+"body": [
+"TeamBlackList $1 = db.TeamBlackList.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.TeamBlackList.Remove($1);",
+"}"
+]
+},
+"查询开团配置列表": {
+"prefix": "ym-db-TeamConfig-Find",
+"body": [
+"List<TeamConfig> $1 = db.TeamConfig.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamConfig $3 in $1)",
+"{",
+"}"
+]
+},
+"查询开团配置列表,并取值": {
+"prefix": "ym-db-TeamConfig-FindWithData",
+"body": [
+"List<TeamConfig> $1 = db.TeamConfig.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamConfig $3 in $1)",
+"{",
+"	string LimitBuddyNo = $3.LimitBuddyNo; //限制人",
+"	int MinUserNum = $3.MinUserNum; //最小队伍人数",
+"	int MaxUserNum = $3.MaxUserNum; //最大队伍人数",
+"	int MinCycleNum = $3.MinCycleNum; //最小周期天数",
+"	int MaxCycleNum = $3.MaxCycleNum; //最大周期天数",
+"	int MinStartDayLimit = $3.MinStartDayLimit; //最小间隔天数",
+"	int MaxStartDayLimit = $3.MaxStartDayLimit; //最大间隔天数",
+"	ulong OverlineStatus = $3.OverlineStatus; //是否允许跨顶级线报名",
+"	int BlacklistCycle = $3.BlacklistCycle; //黑名单周期",
+"	int EnterEndMin = $3.EnterEndMin; //活动时间差",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询开团配置": {
+"prefix": "ym-db-TeamConfig-Exist",
+"body": [
+"bool $1 = db.TeamConfig.Any(m => m.Id == $2);",
+]
+},
+"查询某个开团配置,并取值": {
+"prefix": "ym-db-TeamConfig-FindByPrimaryKey",
+"body": [
+"TeamConfig $1 = db.TeamConfig.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string LimitBuddyNo = $1.LimitBuddyNo; //限制人",
+"	int MinUserNum = $1.MinUserNum; //最小队伍人数",
+"	int MaxUserNum = $1.MaxUserNum; //最大队伍人数",
+"	int MinCycleNum = $1.MinCycleNum; //最小周期天数",
+"	int MaxCycleNum = $1.MaxCycleNum; //最大周期天数",
+"	int MinStartDayLimit = $1.MinStartDayLimit; //最小间隔天数",
+"	int MaxStartDayLimit = $1.MaxStartDayLimit; //最大间隔天数",
+"	ulong OverlineStatus = $1.OverlineStatus; //是否允许跨顶级线报名",
+"	int BlacklistCycle = $1.BlacklistCycle; //黑名单周期",
+"	int EnterEndMin = $1.EnterEndMin; //活动时间差",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个开团配置,并赋值": {
+"prefix": "ym-db-TeamConfig-Update",
+"body": [
+"TeamConfig $1 = db.TeamConfig.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.LimitBuddyNo = $2; //限制人",
+"	$1.MinUserNum = $3; //最小队伍人数",
+"	$1.MaxUserNum = $4; //最大队伍人数",
+"	$1.MinCycleNum = $5; //最小周期天数",
+"	$1.MaxCycleNum = $6; //最大周期天数",
+"	$1.MinStartDayLimit = $7; //最小间隔天数",
+"	$1.MaxStartDayLimit = $8; //最大间隔天数",
+"	$1.OverlineStatus = $9; //是否允许跨顶级线报名",
+"	$1.BlacklistCycle = $10; //黑名单周期",
+"	$1.EnterEndMin = $11; //活动时间差",
+"	$1.Remark = $12; //备注",
+"}"
+]
+},
+"获取开团配置数量": {
+"prefix": "ym-db-TeamConfig-FindAndCount",
+"body": [
+"int $1 = db.TeamConfig.Count(m => $2);",
+]
+},
+"添加开团配置": {
+"prefix": "ym-db-TeamConfig-Create",
+"body": [
+"db.TeamConfig.Add(new TeamConfig()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	LimitBuddyNo = $1, //限制人",
+"	MinUserNum = $2, //最小队伍人数",
+"	MaxUserNum = $3, //最大队伍人数",
+"	MinCycleNum = $4, //最小周期天数",
+"	MaxCycleNum = $5, //最大周期天数",
+"	MinStartDayLimit = $6, //最小间隔天数",
+"	MaxStartDayLimit = $7, //最大间隔天数",
+"	OverlineStatus = $8, //是否允许跨顶级线报名",
+"	BlacklistCycle = $9, //黑名单周期",
+"	EnterEndMin = $10, //活动时间差",
+"	Remark = $11, //备注",
+"});"
+]
+},"删除某个开团配置": {
+"prefix": "ym-db-TeamConfig-Delete",
+"body": [
+"TeamConfig $1 = db.TeamConfig.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.TeamConfig.Remove($1);",
+"}"
+]
+},
+"查询特训营团队排行榜列表": {
+"prefix": "ym-db-TeamDayTop-Find",
+"body": [
+"List<TeamDayTop> $1 = db.TeamDayTop.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamDayTop $3 in $1)",
+"{",
+"}"
+]
+},
+"查询特训营团队排行榜列表,并取值": {
+"prefix": "ym-db-TeamDayTop-FindWithData",
+"body": [
+"List<TeamDayTop> $1 = db.TeamDayTop.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamDayTop $3 in $1)",
+"{",
+"	string StatDate = $3.StatDate; //统计日",
+"	string StatMonth = $3.StatMonth; //统计月",
+"	int UserId = $3.UserId; //创客",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"	int BrandId = $3.BrandId; //品牌",
+"	int TeamId = $3.TeamId; //队伍",
+"	int TeamUserId = $3.TeamUserId; //团队长创客",
+"	DateTime TeamStartDate = $3.TeamStartDate; //队伍开始时间",
+"	DateTime TeamEndDate = $3.TeamEndDate; //队伍结束时间",
+"	int ActMerNum = $3.ActMerNum; //团员直营激活商户数",
+"	int TeamActMerNum = $3.TeamActMerNum; //队伍直营激活商户数",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询特训营团队排行榜": {
+"prefix": "ym-db-TeamDayTop-Exist",
+"body": [
+"bool $1 = db.TeamDayTop.Any(m => m.Id == $2);",
+]
+},
+"查询某个特训营团队排行榜,并取值": {
+"prefix": "ym-db-TeamDayTop-FindByPrimaryKey",
+"body": [
+"TeamDayTop $1 = db.TeamDayTop.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string StatDate = $1.StatDate; //统计日",
+"	string StatMonth = $1.StatMonth; //统计月",
+"	int UserId = $1.UserId; //创客",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"	int BrandId = $1.BrandId; //品牌",
+"	int TeamId = $1.TeamId; //队伍",
+"	int TeamUserId = $1.TeamUserId; //团队长创客",
+"	DateTime TeamStartDate = $1.TeamStartDate; //队伍开始时间",
+"	DateTime TeamEndDate = $1.TeamEndDate; //队伍结束时间",
+"	int ActMerNum = $1.ActMerNum; //团员直营激活商户数",
+"	int TeamActMerNum = $1.TeamActMerNum; //队伍直营激活商户数",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个特训营团队排行榜,并赋值": {
+"prefix": "ym-db-TeamDayTop-Update",
+"body": [
+"TeamDayTop $1 = db.TeamDayTop.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.StatDate = $2; //统计日",
+"	$1.StatMonth = $3; //统计月",
+"	$1.UserId = $4; //创客",
+"	$1.TopUserId = $5; //顶级创客",
+"	$1.BrandId = $6; //品牌",
+"	$1.TeamId = $7; //队伍",
+"	$1.TeamUserId = $8; //团队长创客",
+"	$1.TeamStartDate = $9; //队伍开始时间",
+"	$1.TeamEndDate = $10; //队伍结束时间",
+"	$1.ActMerNum = $11; //团员直营激活商户数",
+"	$1.TeamActMerNum = $12; //队伍直营激活商户数",
+"	$1.Remark = $13; //备注",
+"}"
+]
+},
+"获取特训营团队排行榜数量": {
+"prefix": "ym-db-TeamDayTop-FindAndCount",
+"body": [
+"int $1 = db.TeamDayTop.Count(m => $2);",
+]
+},
+"添加特训营团队排行榜": {
+"prefix": "ym-db-TeamDayTop-Create",
+"body": [
+"db.TeamDayTop.Add(new TeamDayTop()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	StatDate = $1, //统计日",
+"	StatMonth = $2, //统计月",
+"	UserId = $3, //创客",
+"	TopUserId = $4, //顶级创客",
+"	BrandId = $5, //品牌",
+"	TeamId = $6, //队伍",
+"	TeamUserId = $7, //团队长创客",
+"	TeamStartDate = $8, //队伍开始时间",
+"	TeamEndDate = $9, //队伍结束时间",
+"	ActMerNum = $10, //团员直营激活商户数",
+"	TeamActMerNum = $11, //队伍直营激活商户数",
+"	Remark = $12, //备注",
+"});"
+]
+},"删除某个特训营团队排行榜": {
+"prefix": "ym-db-TeamDayTop-Delete",
+"body": [
+"TeamDayTop $1 = db.TeamDayTop.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.TeamDayTop.Remove($1);",
+"}"
+]
+},
+"查询参团申请列表": {
+"prefix": "ym-db-TeamOfferApply-Find",
+"body": [
+"List<TeamOfferApply> $1 = db.TeamOfferApply.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamOfferApply $3 in $1)",
+"{",
+"}"
+]
+},
+"查询参团申请列表,并取值": {
+"prefix": "ym-db-TeamOfferApply-FindWithData",
+"body": [
+"List<TeamOfferApply> $1 = db.TeamOfferApply.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamOfferApply $3 in $1)",
+"{",
+"	string ManagerNo = $3.ManagerNo; //渠道经理编号",
+"	string ManagerName = $3.ManagerName; //渠道经理名称",
+"	string Areas = $3.Areas; //特训营所在地区",
+"	DateTime EffectStartDate = $3.EffectStartDate; //活动开始时间",
+"	DateTime EffectEndDate = $3.EffectEndDate; //活动结束时间",
+"	DateTime EnterDate = $3.EnterDate; //报名时间",
+"	DateTime AuditTime = $3.AuditTime; //审核时间",
+"	int AuditResult = $3.AuditResult; //审核结果",
+"	string AuditRemark = $3.AuditRemark; //审核备注",
+"	int NotifyFlag = $3.NotifyFlag; //提醒标识",
+"	string Remark = $3.Remark; //备注",
+"	int UserId = $3.UserId; //创客",
+"	int TeamId = $3.TeamId; //团队",
+"	int TeamLeader = $3.TeamLeader; //队长",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"	int TeamApplyStatus = $3.TeamApplyStatus; //组队申请状态",
+"	int TeamStatus = $3.TeamStatus; //状态",
+"}"
+]
+},
+"查询参团申请": {
+"prefix": "ym-db-TeamOfferApply-Exist",
+"body": [
+"bool $1 = db.TeamOfferApply.Any(m => m.Id == $2);",
+]
+},
+"查询某个参团申请,并取值": {
+"prefix": "ym-db-TeamOfferApply-FindByPrimaryKey",
+"body": [
+"TeamOfferApply $1 = db.TeamOfferApply.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ManagerNo = $1.ManagerNo; //渠道经理编号",
+"	string ManagerName = $1.ManagerName; //渠道经理名称",
+"	string Areas = $1.Areas; //特训营所在地区",
+"	DateTime EffectStartDate = $1.EffectStartDate; //活动开始时间",
+"	DateTime EffectEndDate = $1.EffectEndDate; //活动结束时间",
+"	DateTime EnterDate = $1.EnterDate; //报名时间",
+"	DateTime AuditTime = $1.AuditTime; //审核时间",
+"	int AuditResult = $1.AuditResult; //审核结果",
+"	string AuditRemark = $1.AuditRemark; //审核备注",
+"	int NotifyFlag = $1.NotifyFlag; //提醒标识",
+"	string Remark = $1.Remark; //备注",
+"	int UserId = $1.UserId; //创客",
+"	int TeamId = $1.TeamId; //团队",
+"	int TeamLeader = $1.TeamLeader; //队长",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"	int TeamApplyStatus = $1.TeamApplyStatus; //组队申请状态",
+"	int TeamStatus = $1.TeamStatus; //状态",
+"}"
+]
+},
+"查询某个参团申请,并赋值": {
+"prefix": "ym-db-TeamOfferApply-Update",
+"body": [
+"TeamOfferApply $1 = db.TeamOfferApply.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ManagerNo = $2; //渠道经理编号",
+"	$1.ManagerName = $3; //渠道经理名称",
+"	$1.Areas = $4; //特训营所在地区",
+"	$1.EffectStartDate = $5; //活动开始时间",
+"	$1.EffectEndDate = $6; //活动结束时间",
+"	$1.EnterDate = $7; //报名时间",
+"	$1.AuditTime = $8; //审核时间",
+"	$1.AuditResult = $9; //审核结果",
+"	$1.AuditRemark = $10; //审核备注",
+"	$1.NotifyFlag = $11; //提醒标识",
+"	$1.Remark = $12; //备注",
+"	$1.UserId = $13; //创客",
+"	$1.TeamId = $14; //团队",
+"	$1.TeamLeader = $15; //队长",
+"	$1.TopUserId = $16; //顶级创客",
+"	$1.TeamApplyStatus = $17; //组队申请状态",
+"	$1.TeamStatus = $18; //状态",
+"}"
+]
+},
+"获取参团申请数量": {
+"prefix": "ym-db-TeamOfferApply-FindAndCount",
+"body": [
+"int $1 = db.TeamOfferApply.Count(m => $2);",
+]
+},
+"添加参团申请": {
+"prefix": "ym-db-TeamOfferApply-Create",
+"body": [
+"db.TeamOfferApply.Add(new TeamOfferApply()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ManagerNo = $1, //渠道经理编号",
+"	ManagerName = $2, //渠道经理名称",
+"	Areas = $3, //特训营所在地区",
+"	EffectStartDate = $4, //活动开始时间",
+"	EffectEndDate = $5, //活动结束时间",
+"	EnterDate = $6, //报名时间",
+"	AuditTime = $7, //审核时间",
+"	AuditResult = $8, //审核结果",
+"	AuditRemark = $9, //审核备注",
+"	NotifyFlag = $10, //提醒标识",
+"	Remark = $11, //备注",
+"	UserId = $12, //创客",
+"	TeamId = $13, //团队",
+"	TeamLeader = $14, //队长",
+"	TopUserId = $15, //顶级创客",
+"	TeamApplyStatus = $16, //组队申请状态",
+"	TeamStatus = $17, //状态",
+"});"
+]
+},"删除某个参团申请": {
+"prefix": "ym-db-TeamOfferApply-Delete",
+"body": [
+"TeamOfferApply $1 = db.TeamOfferApply.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.TeamOfferApply.Remove($1);",
+"}"
+]
+},
+"查询特训营个人排行榜列表": {
+"prefix": "ym-db-TeamPersonDayTop-Find",
+"body": [
+"List<TeamPersonDayTop> $1 = db.TeamPersonDayTop.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamPersonDayTop $3 in $1)",
+"{",
+"}"
+]
+},
+"查询特训营个人排行榜列表,并取值": {
+"prefix": "ym-db-TeamPersonDayTop-FindWithData",
+"body": [
+"List<TeamPersonDayTop> $1 = db.TeamPersonDayTop.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TeamPersonDayTop $3 in $1)",
+"{",
+"	string StatDate = $3.StatDate; //统计日",
+"	string StatMonth = $3.StatMonth; //统计月",
+"	int UserId = $3.UserId; //创客",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"	int BrandId = $3.BrandId; //品牌",
+"	int TeamId = $3.TeamId; //队伍",
+"	int TeamUserId = $3.TeamUserId; //团队长创客",
+"	DateTime TeamStartDate = $3.TeamStartDate; //队伍开始时间",
+"	DateTime TeamEndDate = $3.TeamEndDate; //队伍结束时间",
+"	int ActMerNum = $3.ActMerNum; //团员直营激活商户数",
+"	int TeamActMerNum = $3.TeamActMerNum; //队伍直营激活商户数",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询特训营个人排行榜": {
+"prefix": "ym-db-TeamPersonDayTop-Exist",
+"body": [
+"bool $1 = db.TeamPersonDayTop.Any(m => m.Id == $2);",
+]
+},
+"查询某个特训营个人排行榜,并取值": {
+"prefix": "ym-db-TeamPersonDayTop-FindByPrimaryKey",
+"body": [
+"TeamPersonDayTop $1 = db.TeamPersonDayTop.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string StatDate = $1.StatDate; //统计日",
+"	string StatMonth = $1.StatMonth; //统计月",
+"	int UserId = $1.UserId; //创客",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"	int BrandId = $1.BrandId; //品牌",
+"	int TeamId = $1.TeamId; //队伍",
+"	int TeamUserId = $1.TeamUserId; //团队长创客",
+"	DateTime TeamStartDate = $1.TeamStartDate; //队伍开始时间",
+"	DateTime TeamEndDate = $1.TeamEndDate; //队伍结束时间",
+"	int ActMerNum = $1.ActMerNum; //团员直营激活商户数",
+"	int TeamActMerNum = $1.TeamActMerNum; //队伍直营激活商户数",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个特训营个人排行榜,并赋值": {
+"prefix": "ym-db-TeamPersonDayTop-Update",
+"body": [
+"TeamPersonDayTop $1 = db.TeamPersonDayTop.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.StatDate = $2; //统计日",
+"	$1.StatMonth = $3; //统计月",
+"	$1.UserId = $4; //创客",
+"	$1.TopUserId = $5; //顶级创客",
+"	$1.BrandId = $6; //品牌",
+"	$1.TeamId = $7; //队伍",
+"	$1.TeamUserId = $8; //团队长创客",
+"	$1.TeamStartDate = $9; //队伍开始时间",
+"	$1.TeamEndDate = $10; //队伍结束时间",
+"	$1.ActMerNum = $11; //团员直营激活商户数",
+"	$1.TeamActMerNum = $12; //队伍直营激活商户数",
+"	$1.Remark = $13; //备注",
+"}"
+]
+},
+"获取特训营个人排行榜数量": {
+"prefix": "ym-db-TeamPersonDayTop-FindAndCount",
+"body": [
+"int $1 = db.TeamPersonDayTop.Count(m => $2);",
+]
+},
+"添加特训营个人排行榜": {
+"prefix": "ym-db-TeamPersonDayTop-Create",
+"body": [
+"db.TeamPersonDayTop.Add(new TeamPersonDayTop()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	StatDate = $1, //统计日",
+"	StatMonth = $2, //统计月",
+"	UserId = $3, //创客",
+"	TopUserId = $4, //顶级创客",
+"	BrandId = $5, //品牌",
+"	TeamId = $6, //队伍",
+"	TeamUserId = $7, //团队长创客",
+"	TeamStartDate = $8, //队伍开始时间",
+"	TeamEndDate = $9, //队伍结束时间",
+"	ActMerNum = $10, //团员直营激活商户数",
+"	TeamActMerNum = $11, //队伍直营激活商户数",
+"	Remark = $12, //备注",
+"});"
+]
+},"删除某个特训营个人排行榜": {
+"prefix": "ym-db-TeamPersonDayTop-Delete",
+"body": [
+"TeamPersonDayTop $1 = db.TeamPersonDayTop.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.TeamPersonDayTop.Remove($1);",
+"}"
+]
+},
+"查询交易日汇总列表": {
+"prefix": "ym-db-TradeDaySummary-Find",
+"body": [
+"List<TradeDaySummary> $1 = db.TradeDaySummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TradeDaySummary $3 in $1)",
+"{",
+"}"
+]
+},
+"查询交易日汇总列表,并取值": {
+"prefix": "ym-db-TradeDaySummary-FindWithData",
+"body": [
+"List<TradeDaySummary> $1 = db.TradeDaySummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TradeDaySummary $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	string TradeDate = $3.TradeDate; //交易日",
+"	string TradeMonth = $3.TradeMonth; //交易月",
+"	int BrandId = $3.BrandId; //品牌",
+"	string MgrNo = $3.MgrNo; //渠道经理编号",
+"	string MgrName = $3.MgrName; //渠道经理姓名",
+"	decimal NotHelpDirectTradeAmt = $3.NotHelpDirectTradeAmt; //直营商户交易总额(非扶持期)",
+"	decimal NotHelpNonDirectTradeAmt = $3.NotHelpNonDirectTradeAmt; //非直营商户交易总额(非扶持期)",
+"	decimal NotHelpDirectCreditTradeAmt = $3.NotHelpDirectCreditTradeAmt; //直营贷记卡交易总额(非扶持期)",
+"	decimal NotHelpNonDirectCreditTradeAmt = $3.NotHelpNonDirectCreditTradeAmt; //非直营贷记卡交易总额(非扶持期)",
+"	decimal NotHelpDirectQrCreditTradeAmt = $3.NotHelpDirectQrCreditTradeAmt; //直营云闪付贷记卡交易额(非扶持期)",
+"	decimal NotHelpNonDirectQrCreditTradeAmt = $3.NotHelpNonDirectQrCreditTradeAmt; //非直营云闪付贷记卡交易额(非扶持期)",
+"	decimal NotHelpDirectNonQrCreditTradeAmt = $3.NotHelpDirectNonQrCreditTradeAmt; //直营非云闪付贷记卡交易额(非扶持期)",
+"	decimal NotHelpNonDirectNonQrCreditTradeAmt = $3.NotHelpNonDirectNonQrCreditTradeAmt; //非直营非云闪付贷记卡交易额(非扶持期)",
+"	decimal NotHelpDirectDebitTradeAmt = $3.NotHelpDirectDebitTradeAmt; //直营商户借记卡交易总额(非扶持期)",
+"	decimal NotHelpDirectDebitCapTradeAmt = $3.NotHelpDirectDebitCapTradeAmt; //直营商户借记卡封顶交易总金额(非扶持期)",
+"	int NotHelpDirectDebitCapNum = $3.NotHelpDirectDebitCapNum; //直营商户借记卡封顶交易总数(非扶持期)",
+"	decimal NotHelpNonDirectDebitTradeAmt = $3.NotHelpNonDirectDebitTradeAmt; //非直营商户借记卡交易总额(非扶持期)",
+"	decimal NotHelpNonDirectDebitCapTradeAmt = $3.NotHelpNonDirectDebitCapTradeAmt; //非直营商户借记卡封顶交易总金额(非扶持期)",
+"	int NotHelpNonDirectDebitCapNum = $3.NotHelpNonDirectDebitCapNum; //非直营商户借记卡封顶交易总数(非扶持期)",
+"	decimal NotHelpDirectQrDebitTradeAmt = $3.NotHelpDirectQrDebitTradeAmt; //直营云闪付非封顶借记卡(非扶持期)",
+"	decimal NotHelpNonDirectQrDebitTradeAmt = $3.NotHelpNonDirectQrDebitTradeAmt; //非直营云闪付非封顶借记卡(非扶持期)",
+"	decimal NotHelpDirectNonQrDebitTradeAmt = $3.NotHelpDirectNonQrDebitTradeAmt; //直营非云闪付非封顶借记卡(非扶持期)",
+"	decimal NotHelpNonDirectNonQrDebitTradeAmt = $3.NotHelpNonDirectNonQrDebitTradeAmt; //非直营非云闪付非封顶借记卡(非扶持期)",
+"	decimal HelpDirectTradeAmt = $3.HelpDirectTradeAmt; //直营商户交易总额(扶持期)",
+"	decimal HelpNonDirectTradeAmt = $3.HelpNonDirectTradeAmt; //非直营商户交易总额(扶持期)",
+"	decimal HelpDirectCreditTradeAmt = $3.HelpDirectCreditTradeAmt; //直营贷记卡交易总额(扶持期)",
+"	decimal HelpNonDirectCreditTradeAmt = $3.HelpNonDirectCreditTradeAmt; //非直营贷记卡交易总额(扶持期)",
+"	decimal HelpDirectQrCreditTradeAmt = $3.HelpDirectQrCreditTradeAmt; //直营云闪付贷记卡交易额(扶持期)",
+"	decimal HelpNonDirectQrCreditTradeAmt = $3.HelpNonDirectQrCreditTradeAmt; //非直营云闪付贷记卡交易额(扶持期)",
+"	decimal HelpDirectNonQrCreditTradeAmt = $3.HelpDirectNonQrCreditTradeAmt; //直营非云闪付贷记卡交易额(扶持期)",
+"	decimal HelpNonDirectNonQrCreditTradeAmt = $3.HelpNonDirectNonQrCreditTradeAmt; //非直营非云闪付贷记卡交易额(扶持期)",
+"	decimal HelpDirectDebitTradeAmt = $3.HelpDirectDebitTradeAmt; //直营商户借记卡交易总额(扶持期)",
+"	decimal HelpDirectDebitCapTradeAmt = $3.HelpDirectDebitCapTradeAmt; //直营商户借记卡封顶交易总金额(扶持期)",
+"	decimal HelpDirectDebitCapNum = $3.HelpDirectDebitCapNum; //直营商户借记卡封顶交易总数(扶持期)",
+"	decimal HelpNonDirectDebitTradeAmt = $3.HelpNonDirectDebitTradeAmt; //非直营商户借记卡交易总额(扶持期)",
+"	decimal HelpNonDirectDebitCapTradeAmt = $3.HelpNonDirectDebitCapTradeAmt; //非直营商户借记卡封顶交易总金额(扶持期)",
+"	decimal HelpNonDirectDebitCapNum = $3.HelpNonDirectDebitCapNum; //非直营商户借记卡封顶交易总数(扶持期)",
+"	decimal HelpDirectQrDebitTradeAmt = $3.HelpDirectQrDebitTradeAmt; //直营云闪付非封顶借记卡(扶持期)",
+"	decimal HelpNonDirectQrDebitTradeAmt = $3.HelpNonDirectQrDebitTradeAmt; //非直营云闪付非封顶借记卡(扶持期)",
+"	decimal HelpDirectNonQrDebitTradeAmt = $3.HelpDirectNonQrDebitTradeAmt; //直营非云闪付非封顶借记卡(扶持期)",
+"	decimal HelpNonDirectNonQrDebitTradeAmt = $3.HelpNonDirectNonQrDebitTradeAmt; //非直营非云闪付非封顶借记卡(扶持期)",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询交易日汇总": {
+"prefix": "ym-db-TradeDaySummary-Exist",
+"body": [
+"bool $1 = db.TradeDaySummary.Any(m => m.Id == $2);",
+]
+},
+"查询某个交易日汇总,并取值": {
+"prefix": "ym-db-TradeDaySummary-FindByPrimaryKey",
+"body": [
+"TradeDaySummary $1 = db.TradeDaySummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	string TradeDate = $1.TradeDate; //交易日",
+"	string TradeMonth = $1.TradeMonth; //交易月",
+"	int BrandId = $1.BrandId; //品牌",
+"	string MgrNo = $1.MgrNo; //渠道经理编号",
+"	string MgrName = $1.MgrName; //渠道经理姓名",
+"	decimal NotHelpDirectTradeAmt = $1.NotHelpDirectTradeAmt; //直营商户交易总额(非扶持期)",
+"	decimal NotHelpNonDirectTradeAmt = $1.NotHelpNonDirectTradeAmt; //非直营商户交易总额(非扶持期)",
+"	decimal NotHelpDirectCreditTradeAmt = $1.NotHelpDirectCreditTradeAmt; //直营贷记卡交易总额(非扶持期)",
+"	decimal NotHelpNonDirectCreditTradeAmt = $1.NotHelpNonDirectCreditTradeAmt; //非直营贷记卡交易总额(非扶持期)",
+"	decimal NotHelpDirectQrCreditTradeAmt = $1.NotHelpDirectQrCreditTradeAmt; //直营云闪付贷记卡交易额(非扶持期)",
+"	decimal NotHelpNonDirectQrCreditTradeAmt = $1.NotHelpNonDirectQrCreditTradeAmt; //非直营云闪付贷记卡交易额(非扶持期)",
+"	decimal NotHelpDirectNonQrCreditTradeAmt = $1.NotHelpDirectNonQrCreditTradeAmt; //直营非云闪付贷记卡交易额(非扶持期)",
+"	decimal NotHelpNonDirectNonQrCreditTradeAmt = $1.NotHelpNonDirectNonQrCreditTradeAmt; //非直营非云闪付贷记卡交易额(非扶持期)",
+"	decimal NotHelpDirectDebitTradeAmt = $1.NotHelpDirectDebitTradeAmt; //直营商户借记卡交易总额(非扶持期)",
+"	decimal NotHelpDirectDebitCapTradeAmt = $1.NotHelpDirectDebitCapTradeAmt; //直营商户借记卡封顶交易总金额(非扶持期)",
+"	int NotHelpDirectDebitCapNum = $1.NotHelpDirectDebitCapNum; //直营商户借记卡封顶交易总数(非扶持期)",
+"	decimal NotHelpNonDirectDebitTradeAmt = $1.NotHelpNonDirectDebitTradeAmt; //非直营商户借记卡交易总额(非扶持期)",
+"	decimal NotHelpNonDirectDebitCapTradeAmt = $1.NotHelpNonDirectDebitCapTradeAmt; //非直营商户借记卡封顶交易总金额(非扶持期)",
+"	int NotHelpNonDirectDebitCapNum = $1.NotHelpNonDirectDebitCapNum; //非直营商户借记卡封顶交易总数(非扶持期)",
+"	decimal NotHelpDirectQrDebitTradeAmt = $1.NotHelpDirectQrDebitTradeAmt; //直营云闪付非封顶借记卡(非扶持期)",
+"	decimal NotHelpNonDirectQrDebitTradeAmt = $1.NotHelpNonDirectQrDebitTradeAmt; //非直营云闪付非封顶借记卡(非扶持期)",
+"	decimal NotHelpDirectNonQrDebitTradeAmt = $1.NotHelpDirectNonQrDebitTradeAmt; //直营非云闪付非封顶借记卡(非扶持期)",
+"	decimal NotHelpNonDirectNonQrDebitTradeAmt = $1.NotHelpNonDirectNonQrDebitTradeAmt; //非直营非云闪付非封顶借记卡(非扶持期)",
+"	decimal HelpDirectTradeAmt = $1.HelpDirectTradeAmt; //直营商户交易总额(扶持期)",
+"	decimal HelpNonDirectTradeAmt = $1.HelpNonDirectTradeAmt; //非直营商户交易总额(扶持期)",
+"	decimal HelpDirectCreditTradeAmt = $1.HelpDirectCreditTradeAmt; //直营贷记卡交易总额(扶持期)",
+"	decimal HelpNonDirectCreditTradeAmt = $1.HelpNonDirectCreditTradeAmt; //非直营贷记卡交易总额(扶持期)",
+"	decimal HelpDirectQrCreditTradeAmt = $1.HelpDirectQrCreditTradeAmt; //直营云闪付贷记卡交易额(扶持期)",
+"	decimal HelpNonDirectQrCreditTradeAmt = $1.HelpNonDirectQrCreditTradeAmt; //非直营云闪付贷记卡交易额(扶持期)",
+"	decimal HelpDirectNonQrCreditTradeAmt = $1.HelpDirectNonQrCreditTradeAmt; //直营非云闪付贷记卡交易额(扶持期)",
+"	decimal HelpNonDirectNonQrCreditTradeAmt = $1.HelpNonDirectNonQrCreditTradeAmt; //非直营非云闪付贷记卡交易额(扶持期)",
+"	decimal HelpDirectDebitTradeAmt = $1.HelpDirectDebitTradeAmt; //直营商户借记卡交易总额(扶持期)",
+"	decimal HelpDirectDebitCapTradeAmt = $1.HelpDirectDebitCapTradeAmt; //直营商户借记卡封顶交易总金额(扶持期)",
+"	decimal HelpDirectDebitCapNum = $1.HelpDirectDebitCapNum; //直营商户借记卡封顶交易总数(扶持期)",
+"	decimal HelpNonDirectDebitTradeAmt = $1.HelpNonDirectDebitTradeAmt; //非直营商户借记卡交易总额(扶持期)",
+"	decimal HelpNonDirectDebitCapTradeAmt = $1.HelpNonDirectDebitCapTradeAmt; //非直营商户借记卡封顶交易总金额(扶持期)",
+"	decimal HelpNonDirectDebitCapNum = $1.HelpNonDirectDebitCapNum; //非直营商户借记卡封顶交易总数(扶持期)",
+"	decimal HelpDirectQrDebitTradeAmt = $1.HelpDirectQrDebitTradeAmt; //直营云闪付非封顶借记卡(扶持期)",
+"	decimal HelpNonDirectQrDebitTradeAmt = $1.HelpNonDirectQrDebitTradeAmt; //非直营云闪付非封顶借记卡(扶持期)",
+"	decimal HelpDirectNonQrDebitTradeAmt = $1.HelpDirectNonQrDebitTradeAmt; //直营非云闪付非封顶借记卡(扶持期)",
+"	decimal HelpNonDirectNonQrDebitTradeAmt = $1.HelpNonDirectNonQrDebitTradeAmt; //非直营非云闪付非封顶借记卡(扶持期)",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询某个交易日汇总,并赋值": {
+"prefix": "ym-db-TradeDaySummary-Update",
+"body": [
+"TradeDaySummary $1 = db.TradeDaySummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.TradeDate = $3; //交易日",
+"	$1.TradeMonth = $4; //交易月",
+"	$1.BrandId = $5; //品牌",
+"	$1.MgrNo = $6; //渠道经理编号",
+"	$1.MgrName = $7; //渠道经理姓名",
+"	$1.NotHelpDirectTradeAmt = $8; //直营商户交易总额(非扶持期)",
+"	$1.NotHelpNonDirectTradeAmt = $9; //非直营商户交易总额(非扶持期)",
+"	$1.NotHelpDirectCreditTradeAmt = $10; //直营贷记卡交易总额(非扶持期)",
+"	$1.NotHelpNonDirectCreditTradeAmt = $11; //非直营贷记卡交易总额(非扶持期)",
+"	$1.NotHelpDirectQrCreditTradeAmt = $12; //直营云闪付贷记卡交易额(非扶持期)",
+"	$1.NotHelpNonDirectQrCreditTradeAmt = $13; //非直营云闪付贷记卡交易额(非扶持期)",
+"	$1.NotHelpDirectNonQrCreditTradeAmt = $14; //直营非云闪付贷记卡交易额(非扶持期)",
+"	$1.NotHelpNonDirectNonQrCreditTradeAmt = $15; //非直营非云闪付贷记卡交易额(非扶持期)",
+"	$1.NotHelpDirectDebitTradeAmt = $16; //直营商户借记卡交易总额(非扶持期)",
+"	$1.NotHelpDirectDebitCapTradeAmt = $17; //直营商户借记卡封顶交易总金额(非扶持期)",
+"	$1.NotHelpDirectDebitCapNum = $18; //直营商户借记卡封顶交易总数(非扶持期)",
+"	$1.NotHelpNonDirectDebitTradeAmt = $19; //非直营商户借记卡交易总额(非扶持期)",
+"	$1.NotHelpNonDirectDebitCapTradeAmt = $20; //非直营商户借记卡封顶交易总金额(非扶持期)",
+"	$1.NotHelpNonDirectDebitCapNum = $21; //非直营商户借记卡封顶交易总数(非扶持期)",
+"	$1.NotHelpDirectQrDebitTradeAmt = $22; //直营云闪付非封顶借记卡(非扶持期)",
+"	$1.NotHelpNonDirectQrDebitTradeAmt = $23; //非直营云闪付非封顶借记卡(非扶持期)",
+"	$1.NotHelpDirectNonQrDebitTradeAmt = $24; //直营非云闪付非封顶借记卡(非扶持期)",
+"	$1.NotHelpNonDirectNonQrDebitTradeAmt = $25; //非直营非云闪付非封顶借记卡(非扶持期)",
+"	$1.HelpDirectTradeAmt = $26; //直营商户交易总额(扶持期)",
+"	$1.HelpNonDirectTradeAmt = $27; //非直营商户交易总额(扶持期)",
+"	$1.HelpDirectCreditTradeAmt = $28; //直营贷记卡交易总额(扶持期)",
+"	$1.HelpNonDirectCreditTradeAmt = $29; //非直营贷记卡交易总额(扶持期)",
+"	$1.HelpDirectQrCreditTradeAmt = $30; //直营云闪付贷记卡交易额(扶持期)",
+"	$1.HelpNonDirectQrCreditTradeAmt = $31; //非直营云闪付贷记卡交易额(扶持期)",
+"	$1.HelpDirectNonQrCreditTradeAmt = $32; //直营非云闪付贷记卡交易额(扶持期)",
+"	$1.HelpNonDirectNonQrCreditTradeAmt = $33; //非直营非云闪付贷记卡交易额(扶持期)",
+"	$1.HelpDirectDebitTradeAmt = $34; //直营商户借记卡交易总额(扶持期)",
+"	$1.HelpDirectDebitCapTradeAmt = $35; //直营商户借记卡封顶交易总金额(扶持期)",
+"	$1.HelpDirectDebitCapNum = $36; //直营商户借记卡封顶交易总数(扶持期)",
+"	$1.HelpNonDirectDebitTradeAmt = $37; //非直营商户借记卡交易总额(扶持期)",
+"	$1.HelpNonDirectDebitCapTradeAmt = $38; //非直营商户借记卡封顶交易总金额(扶持期)",
+"	$1.HelpNonDirectDebitCapNum = $39; //非直营商户借记卡封顶交易总数(扶持期)",
+"	$1.HelpDirectQrDebitTradeAmt = $40; //直营云闪付非封顶借记卡(扶持期)",
+"	$1.HelpNonDirectQrDebitTradeAmt = $41; //非直营云闪付非封顶借记卡(扶持期)",
+"	$1.HelpDirectNonQrDebitTradeAmt = $42; //直营非云闪付非封顶借记卡(扶持期)",
+"	$1.HelpNonDirectNonQrDebitTradeAmt = $43; //非直营非云闪付非封顶借记卡(扶持期)",
+"	$1.TopUserId = $44; //顶级创客",
+"}"
+]
+},
+"获取交易日汇总数量": {
+"prefix": "ym-db-TradeDaySummary-FindAndCount",
+"body": [
+"int $1 = db.TradeDaySummary.Count(m => $2);",
+]
+},
+"添加交易日汇总": {
+"prefix": "ym-db-TradeDaySummary-Create",
+"body": [
+"db.TradeDaySummary.Add(new TradeDaySummary()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	TradeDate = $2, //交易日",
+"	TradeMonth = $3, //交易月",
+"	BrandId = $4, //品牌",
+"	MgrNo = $5, //渠道经理编号",
+"	MgrName = $6, //渠道经理姓名",
+"	NotHelpDirectTradeAmt = $7, //直营商户交易总额(非扶持期)",
+"	NotHelpNonDirectTradeAmt = $8, //非直营商户交易总额(非扶持期)",
+"	NotHelpDirectCreditTradeAmt = $9, //直营贷记卡交易总额(非扶持期)",
+"	NotHelpNonDirectCreditTradeAmt = $10, //非直营贷记卡交易总额(非扶持期)",
+"	NotHelpDirectQrCreditTradeAmt = $11, //直营云闪付贷记卡交易额(非扶持期)",
+"	NotHelpNonDirectQrCreditTradeAmt = $12, //非直营云闪付贷记卡交易额(非扶持期)",
+"	NotHelpDirectNonQrCreditTradeAmt = $13, //直营非云闪付贷记卡交易额(非扶持期)",
+"	NotHelpNonDirectNonQrCreditTradeAmt = $14, //非直营非云闪付贷记卡交易额(非扶持期)",
+"	NotHelpDirectDebitTradeAmt = $15, //直营商户借记卡交易总额(非扶持期)",
+"	NotHelpDirectDebitCapTradeAmt = $16, //直营商户借记卡封顶交易总金额(非扶持期)",
+"	NotHelpDirectDebitCapNum = $17, //直营商户借记卡封顶交易总数(非扶持期)",
+"	NotHelpNonDirectDebitTradeAmt = $18, //非直营商户借记卡交易总额(非扶持期)",
+"	NotHelpNonDirectDebitCapTradeAmt = $19, //非直营商户借记卡封顶交易总金额(非扶持期)",
+"	NotHelpNonDirectDebitCapNum = $20, //非直营商户借记卡封顶交易总数(非扶持期)",
+"	NotHelpDirectQrDebitTradeAmt = $21, //直营云闪付非封顶借记卡(非扶持期)",
+"	NotHelpNonDirectQrDebitTradeAmt = $22, //非直营云闪付非封顶借记卡(非扶持期)",
+"	NotHelpDirectNonQrDebitTradeAmt = $23, //直营非云闪付非封顶借记卡(非扶持期)",
+"	NotHelpNonDirectNonQrDebitTradeAmt = $24, //非直营非云闪付非封顶借记卡(非扶持期)",
+"	HelpDirectTradeAmt = $25, //直营商户交易总额(扶持期)",
+"	HelpNonDirectTradeAmt = $26, //非直营商户交易总额(扶持期)",
+"	HelpDirectCreditTradeAmt = $27, //直营贷记卡交易总额(扶持期)",
+"	HelpNonDirectCreditTradeAmt = $28, //非直营贷记卡交易总额(扶持期)",
+"	HelpDirectQrCreditTradeAmt = $29, //直营云闪付贷记卡交易额(扶持期)",
+"	HelpNonDirectQrCreditTradeAmt = $30, //非直营云闪付贷记卡交易额(扶持期)",
+"	HelpDirectNonQrCreditTradeAmt = $31, //直营非云闪付贷记卡交易额(扶持期)",
+"	HelpNonDirectNonQrCreditTradeAmt = $32, //非直营非云闪付贷记卡交易额(扶持期)",
+"	HelpDirectDebitTradeAmt = $33, //直营商户借记卡交易总额(扶持期)",
+"	HelpDirectDebitCapTradeAmt = $34, //直营商户借记卡封顶交易总金额(扶持期)",
+"	HelpDirectDebitCapNum = $35, //直营商户借记卡封顶交易总数(扶持期)",
+"	HelpNonDirectDebitTradeAmt = $36, //非直营商户借记卡交易总额(扶持期)",
+"	HelpNonDirectDebitCapTradeAmt = $37, //非直营商户借记卡封顶交易总金额(扶持期)",
+"	HelpNonDirectDebitCapNum = $38, //非直营商户借记卡封顶交易总数(扶持期)",
+"	HelpDirectQrDebitTradeAmt = $39, //直营云闪付非封顶借记卡(扶持期)",
+"	HelpNonDirectQrDebitTradeAmt = $40, //非直营云闪付非封顶借记卡(扶持期)",
+"	HelpDirectNonQrDebitTradeAmt = $41, //直营非云闪付非封顶借记卡(扶持期)",
+"	HelpNonDirectNonQrDebitTradeAmt = $42, //非直营非云闪付非封顶借记卡(扶持期)",
+"	TopUserId = $43, //顶级创客",
+"});"
+]
+},"删除某个交易日汇总": {
+"prefix": "ym-db-TradeDaySummary-Delete",
+"body": [
+"TradeDaySummary $1 = db.TradeDaySummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.TradeDaySummary.Remove($1);",
+"}"
+]
+},
+"查询交易记录列表": {
+"prefix": "ym-db-TradeRecord-Find",
+"body": [
+"List<TradeRecord> $1 = db.TradeRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TradeRecord $3 in $1)",
+"{",
+"}"
+]
+},
+"查询交易记录列表,并取值": {
+"prefix": "ym-db-TradeRecord-FindWithData",
+"body": [
+"List<TradeRecord> $1 = db.TradeRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TradeRecord $3 in $1)",
+"{",
+"	string RecordNo = $3.RecordNo; //单号",
+"	int UserId = $3.UserId; //创客",
+"	int MerchantId = $3.MerchantId; //商户",
+"	string MerNo = $3.MerNo; //渠道商户编号",
+"	ulong MerHelpFlag = $3.MerHelpFlag; //是否属于扶持周期内商户",
+"	int HelpMonthCount = $3.HelpMonthCount; //扶持第几个月",
+"	int MerBuddyType = $3.MerBuddyType; //商户创客类型",
+"	string SnNo = $3.SnNo; //渠道SN号",
+"	DateTime TradeDate = $3.TradeDate; //交易日期",
+"	DateTime ClearDate = $3.ClearDate; //清算日期",
+"	string TradeSerialNo = $3.TradeSerialNo; //交易流水号",
+"	decimal TradeAmount = $3.TradeAmount; //交易金额",
+"	int BankCardType = $3.BankCardType; //银行卡类型",
+"	int QrPayFlag = $3.QrPayFlag; //云闪付标识",
+"	int CapFlag = $3.CapFlag; //借记卡封顶交易标志",
+"	ulong DirectFlag = $3.DirectFlag; //是否直营",
+"	int BrandId = $3.BrandId; //品牌",
+"	string Remark = $3.Remark; //备注",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"	int MerUserId = $3.MerUserId; //商户直属创客",
+"}"
+]
+},
+"查询交易记录": {
+"prefix": "ym-db-TradeRecord-Exist",
+"body": [
+"bool $1 = db.TradeRecord.Any(m => m.Id == $2);",
+]
+},
+"查询某个交易记录,并取值": {
+"prefix": "ym-db-TradeRecord-FindByPrimaryKey",
+"body": [
+"TradeRecord $1 = db.TradeRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string RecordNo = $1.RecordNo; //单号",
+"	int UserId = $1.UserId; //创客",
+"	int MerchantId = $1.MerchantId; //商户",
+"	string MerNo = $1.MerNo; //渠道商户编号",
+"	ulong MerHelpFlag = $1.MerHelpFlag; //是否属于扶持周期内商户",
+"	int HelpMonthCount = $1.HelpMonthCount; //扶持第几个月",
+"	int MerBuddyType = $1.MerBuddyType; //商户创客类型",
+"	string SnNo = $1.SnNo; //渠道SN号",
+"	DateTime TradeDate = $1.TradeDate; //交易日期",
+"	DateTime ClearDate = $1.ClearDate; //清算日期",
+"	string TradeSerialNo = $1.TradeSerialNo; //交易流水号",
+"	decimal TradeAmount = $1.TradeAmount; //交易金额",
+"	int BankCardType = $1.BankCardType; //银行卡类型",
+"	int QrPayFlag = $1.QrPayFlag; //云闪付标识",
+"	int CapFlag = $1.CapFlag; //借记卡封顶交易标志",
+"	ulong DirectFlag = $1.DirectFlag; //是否直营",
+"	int BrandId = $1.BrandId; //品牌",
+"	string Remark = $1.Remark; //备注",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"	int MerUserId = $1.MerUserId; //商户直属创客",
+"}"
+]
+},
+"查询某个交易记录,并赋值": {
+"prefix": "ym-db-TradeRecord-Update",
+"body": [
+"TradeRecord $1 = db.TradeRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.RecordNo = $2; //单号",
+"	$1.UserId = $3; //创客",
+"	$1.MerchantId = $4; //商户",
+"	$1.MerNo = $5; //渠道商户编号",
+"	$1.MerHelpFlag = $6; //是否属于扶持周期内商户",
+"	$1.HelpMonthCount = $7; //扶持第几个月",
+"	$1.MerBuddyType = $8; //商户创客类型",
+"	$1.SnNo = $9; //渠道SN号",
+"	$1.TradeDate = $10; //交易日期",
+"	$1.ClearDate = $11; //清算日期",
+"	$1.TradeSerialNo = $12; //交易流水号",
+"	$1.TradeAmount = $13; //交易金额",
+"	$1.BankCardType = $14; //银行卡类型",
+"	$1.QrPayFlag = $15; //云闪付标识",
+"	$1.CapFlag = $16; //借记卡封顶交易标志",
+"	$1.DirectFlag = $17; //是否直营",
+"	$1.BrandId = $18; //品牌",
+"	$1.Remark = $19; //备注",
+"	$1.TopUserId = $20; //顶级创客",
+"	$1.MerUserId = $21; //商户直属创客",
+"}"
+]
+},
+"获取交易记录数量": {
+"prefix": "ym-db-TradeRecord-FindAndCount",
+"body": [
+"int $1 = db.TradeRecord.Count(m => $2);",
+]
+},
+"添加交易记录": {
+"prefix": "ym-db-TradeRecord-Create",
+"body": [
+"db.TradeRecord.Add(new TradeRecord()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	RecordNo = $1, //单号",
+"	UserId = $2, //创客",
+"	MerchantId = $3, //商户",
+"	MerNo = $4, //渠道商户编号",
+"	MerHelpFlag = $5, //是否属于扶持周期内商户",
+"	HelpMonthCount = $6, //扶持第几个月",
+"	MerBuddyType = $7, //商户创客类型",
+"	SnNo = $8, //渠道SN号",
+"	TradeDate = $9, //交易日期",
+"	ClearDate = $10, //清算日期",
+"	TradeSerialNo = $11, //交易流水号",
+"	TradeAmount = $12, //交易金额",
+"	BankCardType = $13, //银行卡类型",
+"	QrPayFlag = $14, //云闪付标识",
+"	CapFlag = $15, //借记卡封顶交易标志",
+"	DirectFlag = $16, //是否直营",
+"	BrandId = $17, //品牌",
+"	Remark = $18, //备注",
+"	TopUserId = $19, //顶级创客",
+"	MerUserId = $20, //商户直属创客",
+"});"
+]
+},"删除某个交易记录": {
+"prefix": "ym-db-TradeRecord-Delete",
+"body": [
+"TradeRecord $1 = db.TradeRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.TradeRecord.Remove($1);",
+"}"
+]
+},
+"查询上传配置项列表": {
+"prefix": "ym-db-UploadParams-Find",
+"body": [
+"List<UploadParams> $1 = db.UploadParams.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UploadParams $3 in $1)",
+"{",
+"}"
+]
+},
+"查询上传配置项列表,并取值": {
+"prefix": "ym-db-UploadParams-FindWithData",
+"body": [
+"List<UploadParams> $1 = db.UploadParams.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UploadParams $3 in $1)",
+"{",
+"	string TableName = $3.TableName; //表名",
+"	string ColumnName = $3.ColumnName; //字段名",
+"	string ColumnEnName = $3.ColumnEnName; //字段英文明",
+"	string ParamString = $3.ParamString; //参数",
+"	string TableEnName = $3.TableEnName; //表英文名",
+"}"
+]
+},
+"查询上传配置项": {
+"prefix": "ym-db-UploadParams-Exist",
+"body": [
+"bool $1 = db.UploadParams.Any(m => m.Id == $2);",
+]
+},
+"查询某个上传配置项,并取值": {
+"prefix": "ym-db-UploadParams-FindByPrimaryKey",
+"body": [
+"UploadParams $1 = db.UploadParams.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string TableName = $1.TableName; //表名",
+"	string ColumnName = $1.ColumnName; //字段名",
+"	string ColumnEnName = $1.ColumnEnName; //字段英文明",
+"	string ParamString = $1.ParamString; //参数",
+"	string TableEnName = $1.TableEnName; //表英文名",
+"}"
+]
+},
+"查询某个上传配置项,并赋值": {
+"prefix": "ym-db-UploadParams-Update",
+"body": [
+"UploadParams $1 = db.UploadParams.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TableName = $2; //表名",
+"	$1.ColumnName = $3; //字段名",
+"	$1.ColumnEnName = $4; //字段英文明",
+"	$1.ParamString = $5; //参数",
+"	$1.TableEnName = $6; //表英文名",
+"}"
+]
+},
+"获取上传配置项数量": {
+"prefix": "ym-db-UploadParams-FindAndCount",
+"body": [
+"int $1 = db.UploadParams.Count(m => $2);",
+]
+},
+"添加上传配置项": {
+"prefix": "ym-db-UploadParams-Create",
+"body": [
+"db.UploadParams.Add(new UploadParams()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TableName = $1, //表名",
+"	ColumnName = $2, //字段名",
+"	ColumnEnName = $3, //字段英文明",
+"	ParamString = $4, //参数",
+"	TableEnName = $5, //表英文名",
+"});"
+]
+},"删除某个上传配置项": {
+"prefix": "ym-db-UploadParams-Delete",
+"body": [
+"UploadParams $1 = db.UploadParams.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UploadParams.Remove($1);",
+"}"
+]
+},
+"查询创客账户列表": {
+"prefix": "ym-db-UserAccount-Find",
+"body": [
+"List<UserAccount> $1 = db.UserAccount.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserAccount $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客账户列表,并取值": {
+"prefix": "ym-db-UserAccount-FindWithData",
+"body": [
+"List<UserAccount> $1 = db.UserAccount.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserAccount $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int UserType = $3.UserType; //创客类型",
+"	int UserProperty = $3.UserProperty; //创客属性",
+"	decimal TotalAmount = $3.TotalAmount; //总金额",
+"	decimal FreezeAmount = $3.FreezeAmount; //冻结金额",
+"	decimal BalanceAmount = $3.BalanceAmount; //余额",
+"	int AccountStatus = $3.AccountStatus; //账户状态",
+"	int LockStatus = $3.LockStatus; //锁定状态",
+"	decimal WithdrawAmount = $3.WithdrawAmount; //已提现金额",
+"}"
+]
+},
+"查询创客账户": {
+"prefix": "ym-db-UserAccount-Exist",
+"body": [
+"bool $1 = db.UserAccount.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客账户,并取值": {
+"prefix": "ym-db-UserAccount-FindByPrimaryKey",
+"body": [
+"UserAccount $1 = db.UserAccount.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int UserType = $1.UserType; //创客类型",
+"	int UserProperty = $1.UserProperty; //创客属性",
+"	decimal TotalAmount = $1.TotalAmount; //总金额",
+"	decimal FreezeAmount = $1.FreezeAmount; //冻结金额",
+"	decimal BalanceAmount = $1.BalanceAmount; //余额",
+"	int AccountStatus = $1.AccountStatus; //账户状态",
+"	int LockStatus = $1.LockStatus; //锁定状态",
+"	decimal WithdrawAmount = $1.WithdrawAmount; //已提现金额",
+"}"
+]
+},
+"查询某个创客账户,并赋值": {
+"prefix": "ym-db-UserAccount-Update",
+"body": [
+"UserAccount $1 = db.UserAccount.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.UserType = $3; //创客类型",
+"	$1.UserProperty = $4; //创客属性",
+"	$1.TotalAmount = $5; //总金额",
+"	$1.FreezeAmount = $6; //冻结金额",
+"	$1.BalanceAmount = $7; //余额",
+"	$1.AccountStatus = $8; //账户状态",
+"	$1.LockStatus = $9; //锁定状态",
+"	$1.WithdrawAmount = $10; //已提现金额",
+"}"
+]
+},
+"获取创客账户数量": {
+"prefix": "ym-db-UserAccount-FindAndCount",
+"body": [
+"int $1 = db.UserAccount.Count(m => $2);",
+]
+},
+"添加创客账户": {
+"prefix": "ym-db-UserAccount-Create",
+"body": [
+"db.UserAccount.Add(new UserAccount()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	UserType = $2, //创客类型",
+"	UserProperty = $3, //创客属性",
+"	TotalAmount = $4, //总金额",
+"	FreezeAmount = $5, //冻结金额",
+"	BalanceAmount = $6, //余额",
+"	AccountStatus = $7, //账户状态",
+"	LockStatus = $8, //锁定状态",
+"	WithdrawAmount = $9, //已提现金额",
+"});"
+]
+},"删除某个创客账户": {
+"prefix": "ym-db-UserAccount-Delete",
+"body": [
+"UserAccount $1 = db.UserAccount.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserAccount.Remove($1);",
+"}"
+]
+},
+"查询创客账户变动记录列表": {
+"prefix": "ym-db-UserAccountRecord-Find",
+"body": [
+"List<UserAccountRecord> $1 = db.UserAccountRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserAccountRecord $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客账户变动记录列表,并取值": {
+"prefix": "ym-db-UserAccountRecord-FindWithData",
+"body": [
+"List<UserAccountRecord> $1 = db.UserAccountRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserAccountRecord $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int ChangeType = $3.ChangeType; //变动类型",
+"	int ProductType = $3.ProductType; //产品类型",
+"	decimal ChangeAmount = $3.ChangeAmount; //变更金额",
+"	decimal BeforeTotalAmount = $3.BeforeTotalAmount; //变更前总金额",
+"	decimal AfterTotalAmount = $3.AfterTotalAmount; //变更后总金额",
+"	decimal BeforeFreezeAmount = $3.BeforeFreezeAmount; //变更前冻结金额",
+"	decimal AfterFreezeAmount = $3.AfterFreezeAmount; //变更后冻结金额",
+"	decimal BeforeBalanceAmount = $3.BeforeBalanceAmount; //变更前余额",
+"	decimal AfterBalanceAmount = $3.AfterBalanceAmount; //变更后余额",
+"	string Remark = $3.Remark; //账户变动明细备注信息",
+"	string TransRecordNo = $3.TransRecordNo; //交易流水编号",
+"}"
+]
+},
+"查询创客账户变动记录": {
+"prefix": "ym-db-UserAccountRecord-Exist",
+"body": [
+"bool $1 = db.UserAccountRecord.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客账户变动记录,并取值": {
+"prefix": "ym-db-UserAccountRecord-FindByPrimaryKey",
+"body": [
+"UserAccountRecord $1 = db.UserAccountRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int ChangeType = $1.ChangeType; //变动类型",
+"	int ProductType = $1.ProductType; //产品类型",
+"	decimal ChangeAmount = $1.ChangeAmount; //变更金额",
+"	decimal BeforeTotalAmount = $1.BeforeTotalAmount; //变更前总金额",
+"	decimal AfterTotalAmount = $1.AfterTotalAmount; //变更后总金额",
+"	decimal BeforeFreezeAmount = $1.BeforeFreezeAmount; //变更前冻结金额",
+"	decimal AfterFreezeAmount = $1.AfterFreezeAmount; //变更后冻结金额",
+"	decimal BeforeBalanceAmount = $1.BeforeBalanceAmount; //变更前余额",
+"	decimal AfterBalanceAmount = $1.AfterBalanceAmount; //变更后余额",
+"	string Remark = $1.Remark; //账户变动明细备注信息",
+"	string TransRecordNo = $1.TransRecordNo; //交易流水编号",
+"}"
+]
+},
+"查询某个创客账户变动记录,并赋值": {
+"prefix": "ym-db-UserAccountRecord-Update",
+"body": [
+"UserAccountRecord $1 = db.UserAccountRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.ChangeType = $3; //变动类型",
+"	$1.ProductType = $4; //产品类型",
+"	$1.ChangeAmount = $5; //变更金额",
+"	$1.BeforeTotalAmount = $6; //变更前总金额",
+"	$1.AfterTotalAmount = $7; //变更后总金额",
+"	$1.BeforeFreezeAmount = $8; //变更前冻结金额",
+"	$1.AfterFreezeAmount = $9; //变更后冻结金额",
+"	$1.BeforeBalanceAmount = $10; //变更前余额",
+"	$1.AfterBalanceAmount = $11; //变更后余额",
+"	$1.Remark = $12; //账户变动明细备注信息",
+"	$1.TransRecordNo = $13; //交易流水编号",
+"}"
+]
+},
+"获取创客账户变动记录数量": {
+"prefix": "ym-db-UserAccountRecord-FindAndCount",
+"body": [
+"int $1 = db.UserAccountRecord.Count(m => $2);",
+]
+},
+"添加创客账户变动记录": {
+"prefix": "ym-db-UserAccountRecord-Create",
+"body": [
+"db.UserAccountRecord.Add(new UserAccountRecord()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	ChangeType = $2, //变动类型",
+"	ProductType = $3, //产品类型",
+"	ChangeAmount = $4, //变更金额",
+"	BeforeTotalAmount = $5, //变更前总金额",
+"	AfterTotalAmount = $6, //变更后总金额",
+"	BeforeFreezeAmount = $7, //变更前冻结金额",
+"	AfterFreezeAmount = $8, //变更后冻结金额",
+"	BeforeBalanceAmount = $9, //变更前余额",
+"	AfterBalanceAmount = $10, //变更后余额",
+"	Remark = $11, //账户变动明细备注信息",
+"	TransRecordNo = $12, //交易流水编号",
+"});"
+]
+},"删除某个创客账户变动记录": {
+"prefix": "ym-db-UserAccountRecord-Delete",
+"body": [
+"UserAccountRecord $1 = db.UserAccountRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserAccountRecord.Remove($1);",
+"}"
+]
+},
+"查询创客收货地址列表": {
+"prefix": "ym-db-UserAddress-Find",
+"body": [
+"List<UserAddress> $1 = db.UserAddress.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserAddress $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客收货地址列表,并取值": {
+"prefix": "ym-db-UserAddress-FindWithData",
+"body": [
+"List<UserAddress> $1 = db.UserAddress.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserAddress $3 in $1)",
+"{",
+"	string Address = $3.Address; //详细地址",
+"	string PostalCode = $3.PostalCode; //邮政编码",
+"	string RealName = $3.RealName; //收货人姓名",
+"	string Mobile = $3.Mobile; //手机号码",
+"	int UserId = $3.UserId; //所属创客Id",
+"	string Areas = $3.Areas; //所在地区",
+"	ulong IsDefault = $3.IsDefault; //是否默认",
+"}"
+]
+},
+"查询创客收货地址": {
+"prefix": "ym-db-UserAddress-Exist",
+"body": [
+"bool $1 = db.UserAddress.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客收货地址,并取值": {
+"prefix": "ym-db-UserAddress-FindByPrimaryKey",
+"body": [
+"UserAddress $1 = db.UserAddress.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Address = $1.Address; //详细地址",
+"	string PostalCode = $1.PostalCode; //邮政编码",
+"	string RealName = $1.RealName; //收货人姓名",
+"	string Mobile = $1.Mobile; //手机号码",
+"	int UserId = $1.UserId; //所属创客Id",
+"	string Areas = $1.Areas; //所在地区",
+"	ulong IsDefault = $1.IsDefault; //是否默认",
+"}"
+]
+},
+"查询某个创客收货地址,并赋值": {
+"prefix": "ym-db-UserAddress-Update",
+"body": [
+"UserAddress $1 = db.UserAddress.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Address = $2; //详细地址",
+"	$1.PostalCode = $3; //邮政编码",
+"	$1.RealName = $4; //收货人姓名",
+"	$1.Mobile = $5; //手机号码",
+"	$1.UserId = $6; //所属创客Id",
+"	$1.Areas = $7; //所在地区",
+"	$1.IsDefault = $8; //是否默认",
+"}"
+]
+},
+"获取创客收货地址数量": {
+"prefix": "ym-db-UserAddress-FindAndCount",
+"body": [
+"int $1 = db.UserAddress.Count(m => $2);",
+]
+},
+"添加创客收货地址": {
+"prefix": "ym-db-UserAddress-Create",
+"body": [
+"db.UserAddress.Add(new UserAddress()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Address = $1, //详细地址",
+"	PostalCode = $2, //邮政编码",
+"	RealName = $3, //收货人姓名",
+"	Mobile = $4, //手机号码",
+"	UserId = $5, //所属创客Id",
+"	Areas = $6, //所在地区",
+"	IsDefault = $7, //是否默认",
+"});"
+]
+},"删除某个创客收货地址": {
+"prefix": "ym-db-UserAddress-Delete",
+"body": [
+"UserAddress $1 = db.UserAddress.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserAddress.Remove($1);",
+"}"
+]
+},
+"查询创客绑卡记录列表": {
+"prefix": "ym-db-UserAuthRecord-Find",
+"body": [
+"List<UserAuthRecord> $1 = db.UserAuthRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserAuthRecord $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客绑卡记录列表,并取值": {
+"prefix": "ym-db-UserAuthRecord-FindWithData",
+"body": [
+"List<UserAuthRecord> $1 = db.UserAuthRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserAuthRecord $3 in $1)",
+"{",
+"	string ChannelCode = $3.ChannelCode; //渠道编码",
+"	string ChannelName = $3.ChannelName; //渠道名称",
+"	int UserId = $3.UserId; //创客",
+"	string RealName = $3.RealName; //真实姓名",
+"	string IdcardNo = $3.IdcardNo; //身份证号码",
+"	string BankCardAccount = $3.BankCardAccount; //银行卡账号",
+"	string BankName = $3.BankName; //银行名称",
+"	string BankMobile = $3.BankMobile; //银行预留手机号码",
+"	string ReqData = $3.ReqData; //请求数据",
+"	string ResData = $3.ResData; //响应数据",
+"	string ReturnCode = $3.ReturnCode; //返回编码",
+"	string ReturnMsg = $3.ReturnMsg; //返回信息",
+"	int AuthType = $3.AuthType; //实名类型",
+"}"
+]
+},
+"查询创客绑卡记录": {
+"prefix": "ym-db-UserAuthRecord-Exist",
+"body": [
+"bool $1 = db.UserAuthRecord.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客绑卡记录,并取值": {
+"prefix": "ym-db-UserAuthRecord-FindByPrimaryKey",
+"body": [
+"UserAuthRecord $1 = db.UserAuthRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string ChannelCode = $1.ChannelCode; //渠道编码",
+"	string ChannelName = $1.ChannelName; //渠道名称",
+"	int UserId = $1.UserId; //创客",
+"	string RealName = $1.RealName; //真实姓名",
+"	string IdcardNo = $1.IdcardNo; //身份证号码",
+"	string BankCardAccount = $1.BankCardAccount; //银行卡账号",
+"	string BankName = $1.BankName; //银行名称",
+"	string BankMobile = $1.BankMobile; //银行预留手机号码",
+"	string ReqData = $1.ReqData; //请求数据",
+"	string ResData = $1.ResData; //响应数据",
+"	string ReturnCode = $1.ReturnCode; //返回编码",
+"	string ReturnMsg = $1.ReturnMsg; //返回信息",
+"	int AuthType = $1.AuthType; //实名类型",
+"}"
+]
+},
+"查询某个创客绑卡记录,并赋值": {
+"prefix": "ym-db-UserAuthRecord-Update",
+"body": [
+"UserAuthRecord $1 = db.UserAuthRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.ChannelCode = $2; //渠道编码",
+"	$1.ChannelName = $3; //渠道名称",
+"	$1.UserId = $4; //创客",
+"	$1.RealName = $5; //真实姓名",
+"	$1.IdcardNo = $6; //身份证号码",
+"	$1.BankCardAccount = $7; //银行卡账号",
+"	$1.BankName = $8; //银行名称",
+"	$1.BankMobile = $9; //银行预留手机号码",
+"	$1.ReqData = $10; //请求数据",
+"	$1.ResData = $11; //响应数据",
+"	$1.ReturnCode = $12; //返回编码",
+"	$1.ReturnMsg = $13; //返回信息",
+"	$1.AuthType = $14; //实名类型",
+"}"
+]
+},
+"获取创客绑卡记录数量": {
+"prefix": "ym-db-UserAuthRecord-FindAndCount",
+"body": [
+"int $1 = db.UserAuthRecord.Count(m => $2);",
+]
+},
+"添加创客绑卡记录": {
+"prefix": "ym-db-UserAuthRecord-Create",
+"body": [
+"db.UserAuthRecord.Add(new UserAuthRecord()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	ChannelCode = $1, //渠道编码",
+"	ChannelName = $2, //渠道名称",
+"	UserId = $3, //创客",
+"	RealName = $4, //真实姓名",
+"	IdcardNo = $5, //身份证号码",
+"	BankCardAccount = $6, //银行卡账号",
+"	BankName = $7, //银行名称",
+"	BankMobile = $8, //银行预留手机号码",
+"	ReqData = $9, //请求数据",
+"	ResData = $10, //响应数据",
+"	ReturnCode = $11, //返回编码",
+"	ReturnMsg = $12, //返回信息",
+"	AuthType = $13, //实名类型",
+"});"
+]
+},"删除某个创客绑卡记录": {
+"prefix": "ym-db-UserAuthRecord-Delete",
+"body": [
+"UserAuthRecord $1 = db.UserAuthRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserAuthRecord.Remove($1);",
+"}"
+]
+},
+"查询创客反馈列表": {
+"prefix": "ym-db-UserBack-Find",
+"body": [
+"List<UserBack> $1 = db.UserBack.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserBack $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客反馈列表,并取值": {
+"prefix": "ym-db-UserBack-FindWithData",
+"body": [
+"List<UserBack> $1 = db.UserBack.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserBack $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	string Content = $3.Content; //回复内容",
+"	ulong IsPhoneCallBack = $3.IsPhoneCallBack; //是否需要电话回复",
+"	int BackKind = $3.BackKind; //反馈类型",
+"	string ReplyContent = $3.ReplyContent; //后台回复内容",
+"	int BackStatus = $3.BackStatus; //回复状态",
+"}"
+]
+},
+"查询创客反馈": {
+"prefix": "ym-db-UserBack-Exist",
+"body": [
+"bool $1 = db.UserBack.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客反馈,并取值": {
+"prefix": "ym-db-UserBack-FindByPrimaryKey",
+"body": [
+"UserBack $1 = db.UserBack.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	string Content = $1.Content; //回复内容",
+"	ulong IsPhoneCallBack = $1.IsPhoneCallBack; //是否需要电话回复",
+"	int BackKind = $1.BackKind; //反馈类型",
+"	string ReplyContent = $1.ReplyContent; //后台回复内容",
+"	int BackStatus = $1.BackStatus; //回复状态",
+"}"
+]
+},
+"查询某个创客反馈,并赋值": {
+"prefix": "ym-db-UserBack-Update",
+"body": [
+"UserBack $1 = db.UserBack.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.Content = $3; //回复内容",
+"	$1.IsPhoneCallBack = $4; //是否需要电话回复",
+"	$1.BackKind = $5; //反馈类型",
+"	$1.ReplyContent = $6; //后台回复内容",
+"	$1.BackStatus = $7; //回复状态",
+"}"
+]
+},
+"获取创客反馈数量": {
+"prefix": "ym-db-UserBack-FindAndCount",
+"body": [
+"int $1 = db.UserBack.Count(m => $2);",
+]
+},
+"添加创客反馈": {
+"prefix": "ym-db-UserBack-Create",
+"body": [
+"db.UserBack.Add(new UserBack()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	Content = $2, //回复内容",
+"	IsPhoneCallBack = $3, //是否需要电话回复",
+"	BackKind = $4, //反馈类型",
+"	ReplyContent = $5, //后台回复内容",
+"	BackStatus = $6, //回复状态",
+"});"
+]
+},"删除某个创客反馈": {
+"prefix": "ym-db-UserBack-Delete",
+"body": [
+"UserBack $1 = db.UserBack.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserBack.Remove($1);",
+"}"
+]
+},
+"查询创客反馈类型列表": {
+"prefix": "ym-db-UserBackKind-Find",
+"body": [
+"List<UserBackKind> $1 = db.UserBackKind.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserBackKind $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客反馈类型列表,并取值": {
+"prefix": "ym-db-UserBackKind-FindWithData",
+"body": [
+"List<UserBackKind> $1 = db.UserBackKind.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserBackKind $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"}"
+]
+},
+"查询创客反馈类型": {
+"prefix": "ym-db-UserBackKind-Exist",
+"body": [
+"bool $1 = db.UserBackKind.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客反馈类型,并取值": {
+"prefix": "ym-db-UserBackKind-FindByPrimaryKey",
+"body": [
+"UserBackKind $1 = db.UserBackKind.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"}"
+]
+},
+"查询某个创客反馈类型,并赋值": {
+"prefix": "ym-db-UserBackKind-Update",
+"body": [
+"UserBackKind $1 = db.UserBackKind.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"}"
+]
+},
+"获取创客反馈类型数量": {
+"prefix": "ym-db-UserBackKind-FindAndCount",
+"body": [
+"int $1 = db.UserBackKind.Count(m => $2);",
+]
+},
+"添加创客反馈类型": {
+"prefix": "ym-db-UserBackKind-Create",
+"body": [
+"db.UserBackKind.Add(new UserBackKind()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"});"
+]
+},"删除某个创客反馈类型": {
+"prefix": "ym-db-UserBackKind-Delete",
+"body": [
+"UserBackKind $1 = db.UserBackKind.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserBackKind.Remove($1);",
+"}"
+]
+},
+"查询创客收益排行列表": {
+"prefix": "ym-db-UserBalanceTop-Find",
+"body": [
+"List<UserBalanceTop> $1 = db.UserBalanceTop.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserBalanceTop $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客收益排行列表,并取值": {
+"prefix": "ym-db-UserBalanceTop-FindWithData",
+"body": [
+"List<UserBalanceTop> $1 = db.UserBalanceTop.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserBalanceTop $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	decimal Balance = $3.Balance; //收益金额",
+"	string StatDate = $3.StatDate; //统计日",
+"	string StatMonth = $3.StatMonth; //统计月",
+"}"
+]
+},
+"查询创客收益排行": {
+"prefix": "ym-db-UserBalanceTop-Exist",
+"body": [
+"bool $1 = db.UserBalanceTop.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客收益排行,并取值": {
+"prefix": "ym-db-UserBalanceTop-FindByPrimaryKey",
+"body": [
+"UserBalanceTop $1 = db.UserBalanceTop.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	decimal Balance = $1.Balance; //收益金额",
+"	string StatDate = $1.StatDate; //统计日",
+"	string StatMonth = $1.StatMonth; //统计月",
+"}"
+]
+},
+"查询某个创客收益排行,并赋值": {
+"prefix": "ym-db-UserBalanceTop-Update",
+"body": [
+"UserBalanceTop $1 = db.UserBalanceTop.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.Balance = $3; //收益金额",
+"	$1.StatDate = $4; //统计日",
+"	$1.StatMonth = $5; //统计月",
+"}"
+]
+},
+"获取创客收益排行数量": {
+"prefix": "ym-db-UserBalanceTop-FindAndCount",
+"body": [
+"int $1 = db.UserBalanceTop.Count(m => $2);",
+]
+},
+"添加创客收益排行": {
+"prefix": "ym-db-UserBalanceTop-Create",
+"body": [
+"db.UserBalanceTop.Add(new UserBalanceTop()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	Balance = $2, //收益金额",
+"	StatDate = $3, //统计日",
+"	StatMonth = $4, //统计月",
+"});"
+]
+},"删除某个创客收益排行": {
+"prefix": "ym-db-UserBalanceTop-Delete",
+"body": [
+"UserBalanceTop $1 = db.UserBalanceTop.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserBalanceTop.Remove($1);",
+"}"
+]
+},
+"查询创客购物车列表": {
+"prefix": "ym-db-UserCar-Find",
+"body": [
+"List<UserCar> $1 = db.UserCar.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserCar $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客购物车列表,并取值": {
+"prefix": "ym-db-UserCar-FindWithData",
+"body": [
+"List<UserCar> $1 = db.UserCar.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserCar $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客Id",
+"	int ProductId = $3.ProductId; //商品Id",
+"	int BuyCount = $3.BuyCount; //购买数量",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"	int NormId = $3.NormId; //规格Id",
+"}"
+]
+},
+"查询创客购物车": {
+"prefix": "ym-db-UserCar-Exist",
+"body": [
+"bool $1 = db.UserCar.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客购物车,并取值": {
+"prefix": "ym-db-UserCar-FindByPrimaryKey",
+"body": [
+"UserCar $1 = db.UserCar.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客Id",
+"	int ProductId = $1.ProductId; //商品Id",
+"	int BuyCount = $1.BuyCount; //购买数量",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"	int NormId = $1.NormId; //规格Id",
+"}"
+]
+},
+"查询某个创客购物车,并赋值": {
+"prefix": "ym-db-UserCar-Update",
+"body": [
+"UserCar $1 = db.UserCar.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客Id",
+"	$1.ProductId = $3; //商品Id",
+"	$1.BuyCount = $4; //购买数量",
+"	$1.MerchantId = $5; //商家Id",
+"	$1.NormId = $6; //规格Id",
+"}"
+]
+},
+"获取创客购物车数量": {
+"prefix": "ym-db-UserCar-FindAndCount",
+"body": [
+"int $1 = db.UserCar.Count(m => $2);",
+]
+},
+"添加创客购物车": {
+"prefix": "ym-db-UserCar-Create",
+"body": [
+"db.UserCar.Add(new UserCar()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客Id",
+"	ProductId = $2, //商品Id",
+"	BuyCount = $3, //购买数量",
+"	MerchantId = $4, //商家Id",
+"	NormId = $5, //规格Id",
+"});"
+]
+},"删除某个创客购物车": {
+"prefix": "ym-db-UserCar-Delete",
+"body": [
+"UserCar $1 = db.UserCar.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserCar.Remove($1);",
+"}"
+]
+},
+"查询提现记录列表": {
+"prefix": "ym-db-UserCashRecord-Find",
+"body": [
+"List<UserCashRecord> $1 = db.UserCashRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserCashRecord $3 in $1)",
+"{",
+"}"
+]
+},
+"查询提现记录列表,并取值": {
+"prefix": "ym-db-UserCashRecord-FindWithData",
+"body": [
+"List<UserCashRecord> $1 = db.UserCashRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserCashRecord $3 in $1)",
+"{",
+"	string CashOrderNo = $3.CashOrderNo; //申请提现单号",
+"	int UserId = $3.UserId; //创客",
+"	string IdCardNo = $3.IdCardNo; //身份证号",
+"	string SettleBankCardNo = $3.SettleBankCardNo; //提现卡号",
+"	string SettleBankName = $3.SettleBankName; //银行名称",
+"	int TradeType = $3.TradeType; //交易类型",
+"	string PayTradeNo = $3.PayTradeNo; //提现服务交易流水号",
+"	string ChannelCode = $3.ChannelCode; //支付渠道编号",
+"	string ChanelName = $3.ChanelName; //支付渠道名称",
+"	decimal TradeAmount = $3.TradeAmount; //交易金额",
+"	decimal ActualTradeAmount = $3.ActualTradeAmount; //实际交易金额",
+"	decimal TradeFee = $3.TradeFee; //交易手续费",
+"	decimal ManageFee = $3.ManageFee; //扣税金额",
+"	string ReqData = $3.ReqData; //请求数据",
+"	string ResData = $3.ResData; //响应数据",
+"	string ReturnCode = $3.ReturnCode; //返回编码",
+"	string ReturnMsg = $3.ReturnMsg; //返回信息",
+"	DateTime PaymentDate = $3.PaymentDate; //支付时间",
+"	string Ip = $3.Ip; //IP地址",
+"	string MediaSource = $3.MediaSource; //媒体来源",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询提现记录": {
+"prefix": "ym-db-UserCashRecord-Exist",
+"body": [
+"bool $1 = db.UserCashRecord.Any(m => m.Id == $2);",
+]
+},
+"查询某个提现记录,并取值": {
+"prefix": "ym-db-UserCashRecord-FindByPrimaryKey",
+"body": [
+"UserCashRecord $1 = db.UserCashRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string CashOrderNo = $1.CashOrderNo; //申请提现单号",
+"	int UserId = $1.UserId; //创客",
+"	string IdCardNo = $1.IdCardNo; //身份证号",
+"	string SettleBankCardNo = $1.SettleBankCardNo; //提现卡号",
+"	string SettleBankName = $1.SettleBankName; //银行名称",
+"	int TradeType = $1.TradeType; //交易类型",
+"	string PayTradeNo = $1.PayTradeNo; //提现服务交易流水号",
+"	string ChannelCode = $1.ChannelCode; //支付渠道编号",
+"	string ChanelName = $1.ChanelName; //支付渠道名称",
+"	decimal TradeAmount = $1.TradeAmount; //交易金额",
+"	decimal ActualTradeAmount = $1.ActualTradeAmount; //实际交易金额",
+"	decimal TradeFee = $1.TradeFee; //交易手续费",
+"	decimal ManageFee = $1.ManageFee; //扣税金额",
+"	string ReqData = $1.ReqData; //请求数据",
+"	string ResData = $1.ResData; //响应数据",
+"	string ReturnCode = $1.ReturnCode; //返回编码",
+"	string ReturnMsg = $1.ReturnMsg; //返回信息",
+"	DateTime PaymentDate = $1.PaymentDate; //支付时间",
+"	string Ip = $1.Ip; //IP地址",
+"	string MediaSource = $1.MediaSource; //媒体来源",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个提现记录,并赋值": {
+"prefix": "ym-db-UserCashRecord-Update",
+"body": [
+"UserCashRecord $1 = db.UserCashRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.CashOrderNo = $2; //申请提现单号",
+"	$1.UserId = $3; //创客",
+"	$1.IdCardNo = $4; //身份证号",
+"	$1.SettleBankCardNo = $5; //提现卡号",
+"	$1.SettleBankName = $6; //银行名称",
+"	$1.TradeType = $7; //交易类型",
+"	$1.PayTradeNo = $8; //提现服务交易流水号",
+"	$1.ChannelCode = $9; //支付渠道编号",
+"	$1.ChanelName = $10; //支付渠道名称",
+"	$1.TradeAmount = $11; //交易金额",
+"	$1.ActualTradeAmount = $12; //实际交易金额",
+"	$1.TradeFee = $13; //交易手续费",
+"	$1.ManageFee = $14; //扣税金额",
+"	$1.ReqData = $15; //请求数据",
+"	$1.ResData = $16; //响应数据",
+"	$1.ReturnCode = $17; //返回编码",
+"	$1.ReturnMsg = $18; //返回信息",
+"	$1.PaymentDate = $19; //支付时间",
+"	$1.Ip = $20; //IP地址",
+"	$1.MediaSource = $21; //媒体来源",
+"	$1.Remark = $22; //备注",
+"}"
+]
+},
+"获取提现记录数量": {
+"prefix": "ym-db-UserCashRecord-FindAndCount",
+"body": [
+"int $1 = db.UserCashRecord.Count(m => $2);",
+]
+},
+"添加提现记录": {
+"prefix": "ym-db-UserCashRecord-Create",
+"body": [
+"db.UserCashRecord.Add(new UserCashRecord()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	CashOrderNo = $1, //申请提现单号",
+"	UserId = $2, //创客",
+"	IdCardNo = $3, //身份证号",
+"	SettleBankCardNo = $4, //提现卡号",
+"	SettleBankName = $5, //银行名称",
+"	TradeType = $6, //交易类型",
+"	PayTradeNo = $7, //提现服务交易流水号",
+"	ChannelCode = $8, //支付渠道编号",
+"	ChanelName = $9, //支付渠道名称",
+"	TradeAmount = $10, //交易金额",
+"	ActualTradeAmount = $11, //实际交易金额",
+"	TradeFee = $12, //交易手续费",
+"	ManageFee = $13, //扣税金额",
+"	ReqData = $14, //请求数据",
+"	ResData = $15, //响应数据",
+"	ReturnCode = $16, //返回编码",
+"	ReturnMsg = $17, //返回信息",
+"	PaymentDate = $18, //支付时间",
+"	Ip = $19, //IP地址",
+"	MediaSource = $20, //媒体来源",
+"	Remark = $21, //备注",
+"});"
+]
+},"删除某个提现记录": {
+"prefix": "ym-db-UserCashRecord-Delete",
+"body": [
+"UserCashRecord $1 = db.UserCashRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserCashRecord.Remove($1);",
+"}"
+]
+},
+"查询个人中心常用工具列表": {
+"prefix": "ym-db-UserCenterIconList-Find",
+"body": [
+"List<UserCenterIconList> $1 = db.UserCenterIconList.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserCenterIconList $3 in $1)",
+"{",
+"}"
+]
+},
+"查询个人中心常用工具列表,并取值": {
+"prefix": "ym-db-UserCenterIconList-FindWithData",
+"body": [
+"List<UserCenterIconList> $1 = db.UserCenterIconList.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserCenterIconList $3 in $1)",
+"{",
+"	string Icon = $3.Icon; //图标",
+"	string Title = $3.Title; //标题",
+"	string Url = $3.Url; //跳转地址",
+"}"
+]
+},
+"查询个人中心常用工具": {
+"prefix": "ym-db-UserCenterIconList-Exist",
+"body": [
+"bool $1 = db.UserCenterIconList.Any(m => m.Id == $2);",
+]
+},
+"查询某个个人中心常用工具,并取值": {
+"prefix": "ym-db-UserCenterIconList-FindByPrimaryKey",
+"body": [
+"UserCenterIconList $1 = db.UserCenterIconList.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Icon = $1.Icon; //图标",
+"	string Title = $1.Title; //标题",
+"	string Url = $1.Url; //跳转地址",
+"}"
+]
+},
+"查询某个个人中心常用工具,并赋值": {
+"prefix": "ym-db-UserCenterIconList-Update",
+"body": [
+"UserCenterIconList $1 = db.UserCenterIconList.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Icon = $2; //图标",
+"	$1.Title = $3; //标题",
+"	$1.Url = $4; //跳转地址",
+"}"
+]
+},
+"获取个人中心常用工具数量": {
+"prefix": "ym-db-UserCenterIconList-FindAndCount",
+"body": [
+"int $1 = db.UserCenterIconList.Count(m => $2);",
+]
+},
+"添加个人中心常用工具": {
+"prefix": "ym-db-UserCenterIconList-Create",
+"body": [
+"db.UserCenterIconList.Add(new UserCenterIconList()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Icon = $1, //图标",
+"	Title = $2, //标题",
+"	Url = $3, //跳转地址",
+"});"
+]
+},"删除某个个人中心常用工具": {
+"prefix": "ym-db-UserCenterIconList-Delete",
+"body": [
+"UserCenterIconList $1 = db.UserCenterIconList.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserCenterIconList.Remove($1);",
+"}"
+]
+},
+"查询收藏列表": {
+"prefix": "ym-db-UserCollection-Find",
+"body": [
+"List<UserCollection> $1 = db.UserCollection.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserCollection $3 in $1)",
+"{",
+"}"
+]
+},
+"查询收藏列表,并取值": {
+"prefix": "ym-db-UserCollection-FindWithData",
+"body": [
+"List<UserCollection> $1 = db.UserCollection.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserCollection $3 in $1)",
+"{",
+"	int DataId = $3.DataId; //数据Id",
+"	int Kind = $3.Kind; //类别",
+"	int UserId = $3.UserId; //创客Id",
+"}"
+]
+},
+"查询收藏": {
+"prefix": "ym-db-UserCollection-Exist",
+"body": [
+"bool $1 = db.UserCollection.Any(m => m.Id == $2);",
+]
+},
+"查询某个收藏,并取值": {
+"prefix": "ym-db-UserCollection-FindByPrimaryKey",
+"body": [
+"UserCollection $1 = db.UserCollection.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int DataId = $1.DataId; //数据Id",
+"	int Kind = $1.Kind; //类别",
+"	int UserId = $1.UserId; //创客Id",
+"}"
+]
+},
+"查询某个收藏,并赋值": {
+"prefix": "ym-db-UserCollection-Update",
+"body": [
+"UserCollection $1 = db.UserCollection.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.DataId = $2; //数据Id",
+"	$1.Kind = $3; //类别",
+"	$1.UserId = $4; //创客Id",
+"}"
+]
+},
+"获取收藏数量": {
+"prefix": "ym-db-UserCollection-FindAndCount",
+"body": [
+"int $1 = db.UserCollection.Count(m => $2);",
+]
+},
+"添加收藏": {
+"prefix": "ym-db-UserCollection-Create",
+"body": [
+"db.UserCollection.Add(new UserCollection()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	DataId = $1, //数据Id",
+"	Kind = $2, //类别",
+"	UserId = $3, //创客Id",
+"});"
+]
+},"删除某个收藏": {
+"prefix": "ym-db-UserCollection-Delete",
+"body": [
+"UserCollection $1 = db.UserCollection.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserCollection.Remove($1);",
+"}"
+]
+},
+"查询创客数据列表": {
+"prefix": "ym-db-UserData-Find",
+"body": [
+"List<UserData> $1 = db.UserData.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserData $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客数据列表,并取值": {
+"prefix": "ym-db-UserData-FindWithData",
+"body": [
+"List<UserData> $1 = db.UserData.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserData $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客Id",
+"	int GrowthValue = $3.GrowthValue; //成长值",
+"	decimal CurMoney = $3.CurMoney; //当前余额",
+"	decimal Integral = $3.Integral; //当前积分",
+"	decimal TotalOrderMoney = $3.TotalOrderMoney; //消费总额",
+"	decimal TotalUseIntegral = $3.TotalUseIntegral; //消耗积分总额",
+"	int FollowCount = $3.FollowCount; //关注数",
+"	int FansCount = $3.FansCount; //粉丝数",
+"	int CollectionCount = $3.CollectionCount; //收藏数",
+"	decimal Coupons = $3.Coupons; //卡券包",
+"	int ToPayOrderCount = $3.ToPayOrderCount; //待付款",
+"	int ToSendOrderCount = $3.ToSendOrderCount; //待发货",
+"	int ToReceiveOrderCount = $3.ToReceiveOrderCount; //待收货",
+"	int ToCommentOrderCount = $3.ToCommentOrderCount; //待评价",
+"	int ToRefundOrderCount = $3.ToRefundOrderCount; //退款售后",
+"	decimal ActiveRewardAmount = $3.ActiveRewardAmount; //激活奖励金额",
+"	decimal SettleAmount = $3.SettleAmount; //最低结算金额",
+"	decimal CashFreezeAmt = $3.CashFreezeAmt; //提现冻结金额",
+"	decimal ProfitRewardRate = $3.ProfitRewardRate; //分润奖励",
+"}"
+]
+},
+"查询创客数据": {
+"prefix": "ym-db-UserData-Exist",
+"body": [
+"bool $1 = db.UserData.Any(m => m.UserId == $2);",
+]
+},
+"查询某个创客数据,并取值": {
+"prefix": "ym-db-UserData-FindByPrimaryKey",
+"body": [
+"UserData $1 = db.UserData.FirstOrDefault(m => m.UserId == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客Id",
+"	int GrowthValue = $1.GrowthValue; //成长值",
+"	decimal CurMoney = $1.CurMoney; //当前余额",
+"	decimal Integral = $1.Integral; //当前积分",
+"	decimal TotalOrderMoney = $1.TotalOrderMoney; //消费总额",
+"	decimal TotalUseIntegral = $1.TotalUseIntegral; //消耗积分总额",
+"	int FollowCount = $1.FollowCount; //关注数",
+"	int FansCount = $1.FansCount; //粉丝数",
+"	int CollectionCount = $1.CollectionCount; //收藏数",
+"	decimal Coupons = $1.Coupons; //卡券包",
+"	int ToPayOrderCount = $1.ToPayOrderCount; //待付款",
+"	int ToSendOrderCount = $1.ToSendOrderCount; //待发货",
+"	int ToReceiveOrderCount = $1.ToReceiveOrderCount; //待收货",
+"	int ToCommentOrderCount = $1.ToCommentOrderCount; //待评价",
+"	int ToRefundOrderCount = $1.ToRefundOrderCount; //退款售后",
+"	decimal ActiveRewardAmount = $1.ActiveRewardAmount; //激活奖励金额",
+"	decimal SettleAmount = $1.SettleAmount; //最低结算金额",
+"	decimal CashFreezeAmt = $1.CashFreezeAmt; //提现冻结金额",
+"	decimal ProfitRewardRate = $1.ProfitRewardRate; //分润奖励",
+"}"
+]
+},
+"查询某个创客数据,并赋值": {
+"prefix": "ym-db-UserData-Update",
+"body": [
+"UserData $1 = db.UserData.FirstOrDefault(m => m.UserId == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客Id",
+"	$1.GrowthValue = $3; //成长值",
+"	$1.CurMoney = $4; //当前余额",
+"	$1.Integral = $5; //当前积分",
+"	$1.TotalOrderMoney = $6; //消费总额",
+"	$1.TotalUseIntegral = $7; //消耗积分总额",
+"	$1.FollowCount = $8; //关注数",
+"	$1.FansCount = $9; //粉丝数",
+"	$1.CollectionCount = $10; //收藏数",
+"	$1.Coupons = $11; //卡券包",
+"	$1.ToPayOrderCount = $12; //待付款",
+"	$1.ToSendOrderCount = $13; //待发货",
+"	$1.ToReceiveOrderCount = $14; //待收货",
+"	$1.ToCommentOrderCount = $15; //待评价",
+"	$1.ToRefundOrderCount = $16; //退款售后",
+"	$1.ActiveRewardAmount = $17; //激活奖励金额",
+"	$1.SettleAmount = $18; //最低结算金额",
+"	$1.CashFreezeAmt = $19; //提现冻结金额",
+"	$1.ProfitRewardRate = $20; //分润奖励",
+"}"
+]
+},
+"获取创客数据数量": {
+"prefix": "ym-db-UserData-FindAndCount",
+"body": [
+"int $1 = db.UserData.Count(m => $2);",
+]
+},
+"添加创客数据": {
+"prefix": "ym-db-UserData-Create",
+"body": [
+"db.UserData.Add(new UserData()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客Id",
+"	GrowthValue = $2, //成长值",
+"	CurMoney = $3, //当前余额",
+"	Integral = $4, //当前积分",
+"	TotalOrderMoney = $5, //消费总额",
+"	TotalUseIntegral = $6, //消耗积分总额",
+"	FollowCount = $7, //关注数",
+"	FansCount = $8, //粉丝数",
+"	CollectionCount = $9, //收藏数",
+"	Coupons = $10, //卡券包",
+"	ToPayOrderCount = $11, //待付款",
+"	ToSendOrderCount = $12, //待发货",
+"	ToReceiveOrderCount = $13, //待收货",
+"	ToCommentOrderCount = $14, //待评价",
+"	ToRefundOrderCount = $15, //退款售后",
+"	ActiveRewardAmount = $16, //激活奖励金额",
+"	SettleAmount = $17, //最低结算金额",
+"	CashFreezeAmt = $18, //提现冻结金额",
+"	ProfitRewardRate = $19, //分润奖励",
+"});"
+]
+},"删除某个创客数据": {
+"prefix": "ym-db-UserData-Delete",
+"body": [
+"UserData $1 = db.UserData.FirstOrDefault(m => m.UserId == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserData.Remove($1);",
+"}"
+]
+},
+"查询创客详细信息列表": {
+"prefix": "ym-db-UserDetail-Find",
+"body": [
+"List<UserDetail> $1 = db.UserDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserDetail $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客详细信息列表,并取值": {
+"prefix": "ym-db-UserDetail-FindWithData",
+"body": [
+"List<UserDetail> $1 = db.UserDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserDetail $3 in $1)",
+"{",
+"	int Id = $3.Id; //创客Id",
+"	DateTime Birthday = $3.Birthday; //出生日期",
+"	string PostalCode = $3.PostalCode; //邮编",
+"	string Email = $3.Email; //邮箱",
+"	int UserJob = $3.UserJob; //职业",
+"	string OfficePhone = $3.OfficePhone; //办公电话",
+"	string PrivatePhone = $3.PrivatePhone; //私人电话",
+"	DateTime ToShopDate = $3.ToShopDate; //到达时间",
+"	int EduLevel = $3.EduLevel; //教育程度",
+"	int FamilyIncome = $3.FamilyIncome; //家庭收入",
+"	int TrafficTool = $3.TrafficTool; //交通工具",
+"	DateTime CardExpireDate = $3.CardExpireDate; //卡有效期",
+"	int CardAddAddress = $3.CardAddAddress; //办卡地点",
+"	string Note = $3.Note; //备注",
+"	int AddMan = $3.AddMan; //登记创客",
+"	int UpdateMan = $3.UpdateMan; //更新人",
+"	string Interests = $3.Interests; //兴趣爱好",
+"}"
+]
+},
+"查询创客详细信息": {
+"prefix": "ym-db-UserDetail-Exist",
+"body": [
+"bool $1 = db.UserDetail.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客详细信息,并取值": {
+"prefix": "ym-db-UserDetail-FindByPrimaryKey",
+"body": [
+"UserDetail $1 = db.UserDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int Id = $1.Id; //创客Id",
+"	DateTime Birthday = $1.Birthday; //出生日期",
+"	string PostalCode = $1.PostalCode; //邮编",
+"	string Email = $1.Email; //邮箱",
+"	int UserJob = $1.UserJob; //职业",
+"	string OfficePhone = $1.OfficePhone; //办公电话",
+"	string PrivatePhone = $1.PrivatePhone; //私人电话",
+"	DateTime ToShopDate = $1.ToShopDate; //到达时间",
+"	int EduLevel = $1.EduLevel; //教育程度",
+"	int FamilyIncome = $1.FamilyIncome; //家庭收入",
+"	int TrafficTool = $1.TrafficTool; //交通工具",
+"	DateTime CardExpireDate = $1.CardExpireDate; //卡有效期",
+"	int CardAddAddress = $1.CardAddAddress; //办卡地点",
+"	string Note = $1.Note; //备注",
+"	int AddMan = $1.AddMan; //登记创客",
+"	int UpdateMan = $1.UpdateMan; //更新人",
+"	string Interests = $1.Interests; //兴趣爱好",
+"}"
+]
+},
+"查询某个创客详细信息,并赋值": {
+"prefix": "ym-db-UserDetail-Update",
+"body": [
+"UserDetail $1 = db.UserDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Id = $2; //创客Id",
+"	$1.Birthday = $3; //出生日期",
+"	$1.PostalCode = $4; //邮编",
+"	$1.Email = $5; //邮箱",
+"	$1.UserJob = $6; //职业",
+"	$1.OfficePhone = $7; //办公电话",
+"	$1.PrivatePhone = $8; //私人电话",
+"	$1.ToShopDate = $9; //到达时间",
+"	$1.EduLevel = $10; //教育程度",
+"	$1.FamilyIncome = $11; //家庭收入",
+"	$1.TrafficTool = $12; //交通工具",
+"	$1.CardExpireDate = $13; //卡有效期",
+"	$1.CardAddAddress = $14; //办卡地点",
+"	$1.Note = $15; //备注",
+"	$1.AddMan = $16; //登记创客",
+"	$1.UpdateMan = $17; //更新人",
+"	$1.Interests = $18; //兴趣爱好",
+"}"
+]
+},
+"获取创客详细信息数量": {
+"prefix": "ym-db-UserDetail-FindAndCount",
+"body": [
+"int $1 = db.UserDetail.Count(m => $2);",
+]
+},
+"添加创客详细信息": {
+"prefix": "ym-db-UserDetail-Create",
+"body": [
+"db.UserDetail.Add(new UserDetail()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Id = $1, //创客Id",
+"	Birthday = $2, //出生日期",
+"	PostalCode = $3, //邮编",
+"	Email = $4, //邮箱",
+"	UserJob = $5, //职业",
+"	OfficePhone = $6, //办公电话",
+"	PrivatePhone = $7, //私人电话",
+"	ToShopDate = $8, //到达时间",
+"	EduLevel = $9, //教育程度",
+"	FamilyIncome = $10, //家庭收入",
+"	TrafficTool = $11, //交通工具",
+"	CardExpireDate = $12, //卡有效期",
+"	CardAddAddress = $13, //办卡地点",
+"	Note = $14, //备注",
+"	AddMan = $15, //登记创客",
+"	UpdateMan = $16, //更新人",
+"	Interests = $17, //兴趣爱好",
+"});"
+]
+},"删除某个创客详细信息": {
+"prefix": "ym-db-UserDetail-Delete",
+"body": [
+"UserDetail $1 = db.UserDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserDetail.Remove($1);",
+"}"
+]
+},
+"查询创客家庭成员列表": {
+"prefix": "ym-db-UserFamilyMember-Find",
+"body": [
+"List<UserFamilyMember> $1 = db.UserFamilyMember.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserFamilyMember $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客家庭成员列表,并取值": {
+"prefix": "ym-db-UserFamilyMember-FindWithData",
+"body": [
+"List<UserFamilyMember> $1 = db.UserFamilyMember.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserFamilyMember $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客Id",
+"	string Name = $3.Name; //姓名",
+"	string Mobile = $3.Mobile; //手机号",
+"	int MemberKind = $3.MemberKind; //关系",
+"	string IdCardNo = $3.IdCardNo; //身份证号",
+"	int Job = $3.Job; //职业",
+"}"
+]
+},
+"查询创客家庭成员": {
+"prefix": "ym-db-UserFamilyMember-Exist",
+"body": [
+"bool $1 = db.UserFamilyMember.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客家庭成员,并取值": {
+"prefix": "ym-db-UserFamilyMember-FindByPrimaryKey",
+"body": [
+"UserFamilyMember $1 = db.UserFamilyMember.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客Id",
+"	string Name = $1.Name; //姓名",
+"	string Mobile = $1.Mobile; //手机号",
+"	int MemberKind = $1.MemberKind; //关系",
+"	string IdCardNo = $1.IdCardNo; //身份证号",
+"	int Job = $1.Job; //职业",
+"}"
+]
+},
+"查询某个创客家庭成员,并赋值": {
+"prefix": "ym-db-UserFamilyMember-Update",
+"body": [
+"UserFamilyMember $1 = db.UserFamilyMember.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客Id",
+"	$1.Name = $3; //姓名",
+"	$1.Mobile = $4; //手机号",
+"	$1.MemberKind = $5; //关系",
+"	$1.IdCardNo = $6; //身份证号",
+"	$1.Job = $7; //职业",
+"}"
+]
+},
+"获取创客家庭成员数量": {
+"prefix": "ym-db-UserFamilyMember-FindAndCount",
+"body": [
+"int $1 = db.UserFamilyMember.Count(m => $2);",
+]
+},
+"添加创客家庭成员": {
+"prefix": "ym-db-UserFamilyMember-Create",
+"body": [
+"db.UserFamilyMember.Add(new UserFamilyMember()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客Id",
+"	Name = $2, //姓名",
+"	Mobile = $3, //手机号",
+"	MemberKind = $4, //关系",
+"	IdCardNo = $5, //身份证号",
+"	Job = $6, //职业",
+"});"
+]
+},"删除某个创客家庭成员": {
+"prefix": "ym-db-UserFamilyMember-Delete",
+"body": [
+"UserFamilyMember $1 = db.UserFamilyMember.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserFamilyMember.Remove($1);",
+"}"
+]
+},
+"查询创客编号为主键的关联表列表": {
+"prefix": "ym-db-UserForMakerCode-Find",
+"body": [
+"List<UserForMakerCode> $1 = db.UserForMakerCode.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserForMakerCode $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客编号为主键的关联表列表,并取值": {
+"prefix": "ym-db-UserForMakerCode-FindWithData",
+"body": [
+"List<UserForMakerCode> $1 = db.UserForMakerCode.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserForMakerCode $3 in $1)",
+"{",
+"	string MakerCode = $3.MakerCode; //编号",
+"	int UserId = $3.UserId; //创客",
+"}"
+]
+},
+"查询创客编号为主键的关联表": {
+"prefix": "ym-db-UserForMakerCode-Exist",
+"body": [
+"bool $1 = db.UserForMakerCode.Any(m => m.MakerCode == $2);",
+]
+},
+"查询某个创客编号为主键的关联表,并取值": {
+"prefix": "ym-db-UserForMakerCode-FindByPrimaryKey",
+"body": [
+"UserForMakerCode $1 = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == $2);",
+"if ($1 != null)",
+"{",
+"	string MakerCode = $1.MakerCode; //编号",
+"	int UserId = $1.UserId; //创客",
+"}"
+]
+},
+"查询某个创客编号为主键的关联表,并赋值": {
+"prefix": "ym-db-UserForMakerCode-Update",
+"body": [
+"UserForMakerCode $1 = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == $2);",
+"if ($1 != null)",
+"{",
+"	$1.MakerCode = $2; //编号",
+"	$1.UserId = $3; //创客",
+"}"
+]
+},
+"获取创客编号为主键的关联表数量": {
+"prefix": "ym-db-UserForMakerCode-FindAndCount",
+"body": [
+"int $1 = db.UserForMakerCode.Count(m => $2);",
+]
+},
+"添加创客编号为主键的关联表": {
+"prefix": "ym-db-UserForMakerCode-Create",
+"body": [
+"db.UserForMakerCode.Add(new UserForMakerCode()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	MakerCode = $1, //编号",
+"	UserId = $2, //创客",
+"});"
+]
+},"删除某个创客编号为主键的关联表": {
+"prefix": "ym-db-UserForMakerCode-Delete",
+"body": [
+"UserForMakerCode $1 = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserForMakerCode.Remove($1);",
+"}"
+]
+},
+"查询创客手机号为主键的关联表列表": {
+"prefix": "ym-db-UserForMobile-Find",
+"body": [
+"List<UserForMobile> $1 = db.UserForMobile.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserForMobile $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客手机号为主键的关联表列表,并取值": {
+"prefix": "ym-db-UserForMobile-FindWithData",
+"body": [
+"List<UserForMobile> $1 = db.UserForMobile.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserForMobile $3 in $1)",
+"{",
+"	string Mobile = $3.Mobile; //手机号",
+"	int UserId = $3.UserId; //创客Id",
+"}"
+]
+},
+"查询创客手机号为主键的关联表": {
+"prefix": "ym-db-UserForMobile-Exist",
+"body": [
+"bool $1 = db.UserForMobile.Any(m => m.Mobile == $2);",
+]
+},
+"查询某个创客手机号为主键的关联表,并取值": {
+"prefix": "ym-db-UserForMobile-FindByPrimaryKey",
+"body": [
+"UserForMobile $1 = db.UserForMobile.FirstOrDefault(m => m.Mobile == $2);",
+"if ($1 != null)",
+"{",
+"	string Mobile = $1.Mobile; //手机号",
+"	int UserId = $1.UserId; //创客Id",
+"}"
+]
+},
+"查询某个创客手机号为主键的关联表,并赋值": {
+"prefix": "ym-db-UserForMobile-Update",
+"body": [
+"UserForMobile $1 = db.UserForMobile.FirstOrDefault(m => m.Mobile == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Mobile = $2; //手机号",
+"	$1.UserId = $3; //创客Id",
+"}"
+]
+},
+"获取创客手机号为主键的关联表数量": {
+"prefix": "ym-db-UserForMobile-FindAndCount",
+"body": [
+"int $1 = db.UserForMobile.Count(m => $2);",
+]
+},
+"添加创客手机号为主键的关联表": {
+"prefix": "ym-db-UserForMobile-Create",
+"body": [
+"db.UserForMobile.Add(new UserForMobile()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Mobile = $1, //手机号",
+"	UserId = $2, //创客Id",
+"});"
+]
+},"删除某个创客手机号为主键的关联表": {
+"prefix": "ym-db-UserForMobile-Delete",
+"body": [
+"UserForMobile $1 = db.UserForMobile.FirstOrDefault(m => m.Mobile == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserForMobile.Remove($1);",
+"}"
+]
+},
+"查询创客姓名为主键的关联表列表": {
+"prefix": "ym-db-UserForRealName-Find",
+"body": [
+"List<UserForRealName> $1 = db.UserForRealName.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserForRealName $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客姓名为主键的关联表列表,并取值": {
+"prefix": "ym-db-UserForRealName-FindWithData",
+"body": [
+"List<UserForRealName> $1 = db.UserForRealName.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserForRealName $3 in $1)",
+"{",
+"	string RealName = $3.RealName; //姓名",
+"	string UserId = $3.UserId; //创客",
+"}"
+]
+},
+"查询创客姓名为主键的关联表": {
+"prefix": "ym-db-UserForRealName-Exist",
+"body": [
+"bool $1 = db.UserForRealName.Any(m => m.RealName == $2);",
+]
+},
+"查询某个创客姓名为主键的关联表,并取值": {
+"prefix": "ym-db-UserForRealName-FindByPrimaryKey",
+"body": [
+"UserForRealName $1 = db.UserForRealName.FirstOrDefault(m => m.RealName == $2);",
+"if ($1 != null)",
+"{",
+"	string RealName = $1.RealName; //姓名",
+"	string UserId = $1.UserId; //创客",
+"}"
+]
+},
+"查询某个创客姓名为主键的关联表,并赋值": {
+"prefix": "ym-db-UserForRealName-Update",
+"body": [
+"UserForRealName $1 = db.UserForRealName.FirstOrDefault(m => m.RealName == $2);",
+"if ($1 != null)",
+"{",
+"	$1.RealName = $2; //姓名",
+"	$1.UserId = $3; //创客",
+"}"
+]
+},
+"获取创客姓名为主键的关联表数量": {
+"prefix": "ym-db-UserForRealName-FindAndCount",
+"body": [
+"int $1 = db.UserForRealName.Count(m => $2);",
+]
+},
+"添加创客姓名为主键的关联表": {
+"prefix": "ym-db-UserForRealName-Create",
+"body": [
+"db.UserForRealName.Add(new UserForRealName()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	RealName = $1, //姓名",
+"	UserId = $2, //创客",
+"});"
+]
+},"删除某个创客姓名为主键的关联表": {
+"prefix": "ym-db-UserForRealName-Delete",
+"body": [
+"UserForRealName $1 = db.UserForRealName.FirstOrDefault(m => m.RealName == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserForRealName.Remove($1);",
+"}"
+]
+},
+"查询创客好友关联表列表": {
+"prefix": "ym-db-UserFriend-Find",
+"body": [
+"List<UserFriend> $1 = db.UserFriend.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserFriend $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客好友关联表列表,并取值": {
+"prefix": "ym-db-UserFriend-FindWithData",
+"body": [
+"List<UserFriend> $1 = db.UserFriend.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserFriend $3 in $1)",
+"{",
+"	int Id = $3.Id; //Id",
+"	int UserId = $3.UserId; //创客Id",
+"	int FriendId = $3.FriendId; //好友Id",
+"}"
+]
+},
+"查询创客好友关联表": {
+"prefix": "ym-db-UserFriend-Exist",
+"body": [
+"bool $1 = db.UserFriend.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客好友关联表,并取值": {
+"prefix": "ym-db-UserFriend-FindByPrimaryKey",
+"body": [
+"UserFriend $1 = db.UserFriend.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int Id = $1.Id; //Id",
+"	int UserId = $1.UserId; //创客Id",
+"	int FriendId = $1.FriendId; //好友Id",
+"}"
+]
+},
+"查询某个创客好友关联表,并赋值": {
+"prefix": "ym-db-UserFriend-Update",
+"body": [
+"UserFriend $1 = db.UserFriend.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Id = $2; //Id",
+"	$1.UserId = $3; //创客Id",
+"	$1.FriendId = $4; //好友Id",
+"}"
+]
+},
+"获取创客好友关联表数量": {
+"prefix": "ym-db-UserFriend-FindAndCount",
+"body": [
+"int $1 = db.UserFriend.Count(m => $2);",
+]
+},
+"添加创客好友关联表": {
+"prefix": "ym-db-UserFriend-Create",
+"body": [
+"db.UserFriend.Add(new UserFriend()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Id = $1, //Id",
+"	UserId = $2, //创客Id",
+"	FriendId = $3, //好友Id",
+"});"
+]
+},"删除某个创客好友关联表": {
+"prefix": "ym-db-UserFriend-Delete",
+"body": [
+"UserFriend $1 = db.UserFriend.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserFriend.Remove($1);",
+"}"
+]
+},
+"查询创客分组列表": {
+"prefix": "ym-db-UserGroup-Find",
+"body": [
+"List<UserGroup> $1 = db.UserGroup.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserGroup $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客分组列表,并取值": {
+"prefix": "ym-db-UserGroup-FindWithData",
+"body": [
+"List<UserGroup> $1 = db.UserGroup.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserGroup $3 in $1)",
+"{",
+"	string Name = $3.Name; //名称",
+"	string Details = $3.Details; //描述",
+"}"
+]
+},
+"查询创客分组": {
+"prefix": "ym-db-UserGroup-Exist",
+"body": [
+"bool $1 = db.UserGroup.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客分组,并取值": {
+"prefix": "ym-db-UserGroup-FindByPrimaryKey",
+"body": [
+"UserGroup $1 = db.UserGroup.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //名称",
+"	string Details = $1.Details; //描述",
+"}"
+]
+},
+"查询某个创客分组,并赋值": {
+"prefix": "ym-db-UserGroup-Update",
+"body": [
+"UserGroup $1 = db.UserGroup.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //名称",
+"	$1.Details = $3; //描述",
+"}"
+]
+},
+"获取创客分组数量": {
+"prefix": "ym-db-UserGroup-FindAndCount",
+"body": [
+"int $1 = db.UserGroup.Count(m => $2);",
+]
+},
+"添加创客分组": {
+"prefix": "ym-db-UserGroup-Create",
+"body": [
+"db.UserGroup.Add(new UserGroup()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //名称",
+"	Details = $2, //描述",
+"});"
+]
+},"删除某个创客分组": {
+"prefix": "ym-db-UserGroup-Delete",
+"body": [
+"UserGroup $1 = db.UserGroup.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserGroup.Remove($1);",
+"}"
+]
+},
+"查询创客等级设定列表": {
+"prefix": "ym-db-UserLevelSet-Find",
+"body": [
+"List<UserLevelSet> $1 = db.UserLevelSet.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserLevelSet $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客等级设定列表,并取值": {
+"prefix": "ym-db-UserLevelSet-FindWithData",
+"body": [
+"List<UserLevelSet> $1 = db.UserLevelSet.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserLevelSet $3 in $1)",
+"{",
+"	string Name = $3.Name; //等级名称",
+"	string Details = $3.Details; //等级描述",
+"	int UpLevelDays = $3.UpLevelDays; //升级天数",
+"	decimal UpLevelIntegral = $3.UpLevelIntegral; //升级需要积分值",
+"	int UpLevelGrowth = $3.UpLevelGrowth; //升级需要成长值",
+"}"
+]
+},
+"查询创客等级设定": {
+"prefix": "ym-db-UserLevelSet-Exist",
+"body": [
+"bool $1 = db.UserLevelSet.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客等级设定,并取值": {
+"prefix": "ym-db-UserLevelSet-FindByPrimaryKey",
+"body": [
+"UserLevelSet $1 = db.UserLevelSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string Name = $1.Name; //等级名称",
+"	string Details = $1.Details; //等级描述",
+"	int UpLevelDays = $1.UpLevelDays; //升级天数",
+"	decimal UpLevelIntegral = $1.UpLevelIntegral; //升级需要积分值",
+"	int UpLevelGrowth = $1.UpLevelGrowth; //升级需要成长值",
+"}"
+]
+},
+"查询某个创客等级设定,并赋值": {
+"prefix": "ym-db-UserLevelSet-Update",
+"body": [
+"UserLevelSet $1 = db.UserLevelSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.Name = $2; //等级名称",
+"	$1.Details = $3; //等级描述",
+"	$1.UpLevelDays = $4; //升级天数",
+"	$1.UpLevelIntegral = $5; //升级需要积分值",
+"	$1.UpLevelGrowth = $6; //升级需要成长值",
+"}"
+]
+},
+"获取创客等级设定数量": {
+"prefix": "ym-db-UserLevelSet-FindAndCount",
+"body": [
+"int $1 = db.UserLevelSet.Count(m => $2);",
+]
+},
+"添加创客等级设定": {
+"prefix": "ym-db-UserLevelSet-Create",
+"body": [
+"db.UserLevelSet.Add(new UserLevelSet()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	Name = $1, //等级名称",
+"	Details = $2, //等级描述",
+"	UpLevelDays = $3, //升级天数",
+"	UpLevelIntegral = $4, //升级需要积分值",
+"	UpLevelGrowth = $5, //升级需要成长值",
+"});"
+]
+},"删除某个创客等级设定": {
+"prefix": "ym-db-UserLevelSet-Delete",
+"body": [
+"UserLevelSet $1 = db.UserLevelSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserLevelSet.Remove($1);",
+"}"
+]
+},
+"查询创客登录记录列表": {
+"prefix": "ym-db-UserLoginRecord-Find",
+"body": [
+"List<UserLoginRecord> $1 = db.UserLoginRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserLoginRecord $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客登录记录列表,并取值": {
+"prefix": "ym-db-UserLoginRecord-FindWithData",
+"body": [
+"List<UserLoginRecord> $1 = db.UserLoginRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserLoginRecord $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int Kind = $3.Kind; //类别",
+"}"
+]
+},
+"查询创客登录记录": {
+"prefix": "ym-db-UserLoginRecord-Exist",
+"body": [
+"bool $1 = db.UserLoginRecord.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客登录记录,并取值": {
+"prefix": "ym-db-UserLoginRecord-FindByPrimaryKey",
+"body": [
+"UserLoginRecord $1 = db.UserLoginRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int Kind = $1.Kind; //类别",
+"}"
+]
+},
+"查询某个创客登录记录,并赋值": {
+"prefix": "ym-db-UserLoginRecord-Update",
+"body": [
+"UserLoginRecord $1 = db.UserLoginRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.Kind = $3; //类别",
+"}"
+]
+},
+"获取创客登录记录数量": {
+"prefix": "ym-db-UserLoginRecord-FindAndCount",
+"body": [
+"int $1 = db.UserLoginRecord.Count(m => $2);",
+]
+},
+"添加创客登录记录": {
+"prefix": "ym-db-UserLoginRecord-Create",
+"body": [
+"db.UserLoginRecord.Add(new UserLoginRecord()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	Kind = $2, //类别",
+"});"
+]
+},"删除某个创客登录记录": {
+"prefix": "ym-db-UserLoginRecord-Delete",
+"body": [
+"UserLoginRecord $1 = db.UserLoginRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserLoginRecord.Remove($1);",
+"}"
+]
+},
+"查询创客商城提大货SN列表": {
+"prefix": "ym-db-UserMallLargeSn-Find",
+"body": [
+"List<UserMallLargeSn> $1 = db.UserMallLargeSn.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserMallLargeSn $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客商城提大货SN列表,并取值": {
+"prefix": "ym-db-UserMallLargeSn-FindWithData",
+"body": [
+"List<UserMallLargeSn> $1 = db.UserMallLargeSn.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserMallLargeSn $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //品牌",
+"	string ProductName = $3.ProductName; //产品名称",
+"	string OrderNo = $3.OrderNo; //订单号",
+"	decimal OrderAmount = $3.OrderAmount; //订单金额",
+"	int OrderNum = $3.OrderNum; //订单数量",
+"	decimal RuleOrderAmt = $3.RuleOrderAmt; //规则订单金额",
+"	int SnStatus = $3.SnStatus; //SN状态",
+"	string SnNo = $3.SnNo; //SN编号",
+"	int SnType = $3.SnType; //SN类型",
+"	DateTime SnShipDate = $3.SnShipDate; //SN发货时间",
+"	int StoreId = $3.StoreId; //SN发货仓库",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询创客商城提大货SN": {
+"prefix": "ym-db-UserMallLargeSn-Exist",
+"body": [
+"bool $1 = db.UserMallLargeSn.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客商城提大货SN,并取值": {
+"prefix": "ym-db-UserMallLargeSn-FindByPrimaryKey",
+"body": [
+"UserMallLargeSn $1 = db.UserMallLargeSn.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //品牌",
+"	string ProductName = $1.ProductName; //产品名称",
+"	string OrderNo = $1.OrderNo; //订单号",
+"	decimal OrderAmount = $1.OrderAmount; //订单金额",
+"	int OrderNum = $1.OrderNum; //订单数量",
+"	decimal RuleOrderAmt = $1.RuleOrderAmt; //规则订单金额",
+"	int SnStatus = $1.SnStatus; //SN状态",
+"	string SnNo = $1.SnNo; //SN编号",
+"	int SnType = $1.SnType; //SN类型",
+"	DateTime SnShipDate = $1.SnShipDate; //SN发货时间",
+"	int StoreId = $1.StoreId; //SN发货仓库",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个创客商城提大货SN,并赋值": {
+"prefix": "ym-db-UserMallLargeSn-Update",
+"body": [
+"UserMallLargeSn $1 = db.UserMallLargeSn.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.BrandId = $3; //品牌",
+"	$1.ProductName = $4; //产品名称",
+"	$1.OrderNo = $5; //订单号",
+"	$1.OrderAmount = $6; //订单金额",
+"	$1.OrderNum = $7; //订单数量",
+"	$1.RuleOrderAmt = $8; //规则订单金额",
+"	$1.SnStatus = $9; //SN状态",
+"	$1.SnNo = $10; //SN编号",
+"	$1.SnType = $11; //SN类型",
+"	$1.SnShipDate = $12; //SN发货时间",
+"	$1.StoreId = $13; //SN发货仓库",
+"	$1.Remark = $14; //备注",
+"}"
+]
+},
+"获取创客商城提大货SN数量": {
+"prefix": "ym-db-UserMallLargeSn-FindAndCount",
+"body": [
+"int $1 = db.UserMallLargeSn.Count(m => $2);",
+]
+},
+"添加创客商城提大货SN": {
+"prefix": "ym-db-UserMallLargeSn-Create",
+"body": [
+"db.UserMallLargeSn.Add(new UserMallLargeSn()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	BrandId = $2, //品牌",
+"	ProductName = $3, //产品名称",
+"	OrderNo = $4, //订单号",
+"	OrderAmount = $5, //订单金额",
+"	OrderNum = $6, //订单数量",
+"	RuleOrderAmt = $7, //规则订单金额",
+"	SnStatus = $8, //SN状态",
+"	SnNo = $9, //SN编号",
+"	SnType = $10, //SN类型",
+"	SnShipDate = $11, //SN发货时间",
+"	StoreId = $12, //SN发货仓库",
+"	Remark = $13, //备注",
+"});"
+]
+},"删除某个创客商城提大货SN": {
+"prefix": "ym-db-UserMallLargeSn-Delete",
+"body": [
+"UserMallLargeSn $1 = db.UserMallLargeSn.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserMallLargeSn.Remove($1);",
+"}"
+]
+},
+"查询创客线下签到记录列表": {
+"prefix": "ym-db-UserOfflineSignInRecords-Find",
+"body": [
+"List<UserOfflineSignInRecords> $1 = db.UserOfflineSignInRecords.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserOfflineSignInRecords $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客线下签到记录列表,并取值": {
+"prefix": "ym-db-UserOfflineSignInRecords-FindWithData",
+"body": [
+"List<UserOfflineSignInRecords> $1 = db.UserOfflineSignInRecords.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserOfflineSignInRecords $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客Id",
+"	int MerchantId = $3.MerchantId; //商家Id",
+"}"
+]
+},
+"查询创客线下签到记录": {
+"prefix": "ym-db-UserOfflineSignInRecords-Exist",
+"body": [
+"bool $1 = db.UserOfflineSignInRecords.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客线下签到记录,并取值": {
+"prefix": "ym-db-UserOfflineSignInRecords-FindByPrimaryKey",
+"body": [
+"UserOfflineSignInRecords $1 = db.UserOfflineSignInRecords.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客Id",
+"	int MerchantId = $1.MerchantId; //商家Id",
+"}"
+]
+},
+"查询某个创客线下签到记录,并赋值": {
+"prefix": "ym-db-UserOfflineSignInRecords-Update",
+"body": [
+"UserOfflineSignInRecords $1 = db.UserOfflineSignInRecords.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客Id",
+"	$1.MerchantId = $3; //商家Id",
+"}"
+]
+},
+"获取创客线下签到记录数量": {
+"prefix": "ym-db-UserOfflineSignInRecords-FindAndCount",
+"body": [
+"int $1 = db.UserOfflineSignInRecords.Count(m => $2);",
+]
+},
+"添加创客线下签到记录": {
+"prefix": "ym-db-UserOfflineSignInRecords-Create",
+"body": [
+"db.UserOfflineSignInRecords.Add(new UserOfflineSignInRecords()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客Id",
+"	MerchantId = $2, //商家Id",
+"});"
+]
+},"删除某个创客线下签到记录": {
+"prefix": "ym-db-UserOfflineSignInRecords-Delete",
+"body": [
+"UserOfflineSignInRecords $1 = db.UserOfflineSignInRecords.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserOfflineSignInRecords.Remove($1);",
+"}"
+]
+},
+"查询创客分润规则列表": {
+"prefix": "ym-db-UserProfit-Find",
+"body": [
+"List<UserProfit> $1 = db.UserProfit.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserProfit $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客分润规则列表,并取值": {
+"prefix": "ym-db-UserProfit-FindWithData",
+"body": [
+"List<UserProfit> $1 = db.UserProfit.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserProfit $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //品牌",
+"	string CardType = $3.CardType; //交易卡类型",
+"	decimal ProfitRate = $3.ProfitRate; //创客预设分润比例",
+"	decimal ProfitPercent = $3.ProfitPercent; //创客预设分润百分比",
+"	decimal AddOrSubRate = $3.AddOrSubRate; //浮动空间",
+"	decimal ProfitRateBase = $3.ProfitRateBase; //分润比例基数",
+"	string Remark = $3.Remark; //备注",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"	decimal HelpAddOrSubRate = $3.HelpAddOrSubRate; //扶持期浮动空间",
+"	decimal HelpProfitPercent = $3.HelpProfitPercent; //扶持期创客预设分润百分比",
+"	decimal HelpProfitRate = $3.HelpProfitRate; //扶持期创客预设分润比例",
+"	decimal HelpProfitRateBase = $3.HelpProfitRateBase; //扶持期分润比例基数",
+"}"
+]
+},
+"查询创客分润规则": {
+"prefix": "ym-db-UserProfit-Exist",
+"body": [
+"bool $1 = db.UserProfit.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客分润规则,并取值": {
+"prefix": "ym-db-UserProfit-FindByPrimaryKey",
+"body": [
+"UserProfit $1 = db.UserProfit.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //品牌",
+"	string CardType = $1.CardType; //交易卡类型",
+"	decimal ProfitRate = $1.ProfitRate; //创客预设分润比例",
+"	decimal ProfitPercent = $1.ProfitPercent; //创客预设分润百分比",
+"	decimal AddOrSubRate = $1.AddOrSubRate; //浮动空间",
+"	decimal ProfitRateBase = $1.ProfitRateBase; //分润比例基数",
+"	string Remark = $1.Remark; //备注",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"	decimal HelpAddOrSubRate = $1.HelpAddOrSubRate; //扶持期浮动空间",
+"	decimal HelpProfitPercent = $1.HelpProfitPercent; //扶持期创客预设分润百分比",
+"	decimal HelpProfitRate = $1.HelpProfitRate; //扶持期创客预设分润比例",
+"	decimal HelpProfitRateBase = $1.HelpProfitRateBase; //扶持期分润比例基数",
+"}"
+]
+},
+"查询某个创客分润规则,并赋值": {
+"prefix": "ym-db-UserProfit-Update",
+"body": [
+"UserProfit $1 = db.UserProfit.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.BrandId = $3; //品牌",
+"	$1.CardType = $4; //交易卡类型",
+"	$1.ProfitRate = $5; //创客预设分润比例",
+"	$1.ProfitPercent = $6; //创客预设分润百分比",
+"	$1.AddOrSubRate = $7; //浮动空间",
+"	$1.ProfitRateBase = $8; //分润比例基数",
+"	$1.Remark = $9; //备注",
+"	$1.TopUserId = $10; //顶级创客",
+"	$1.HelpAddOrSubRate = $11; //扶持期浮动空间",
+"	$1.HelpProfitPercent = $12; //扶持期创客预设分润百分比",
+"	$1.HelpProfitRate = $13; //扶持期创客预设分润比例",
+"	$1.HelpProfitRateBase = $14; //扶持期分润比例基数",
+"}"
+]
+},
+"获取创客分润规则数量": {
+"prefix": "ym-db-UserProfit-FindAndCount",
+"body": [
+"int $1 = db.UserProfit.Count(m => $2);",
+]
+},
+"添加创客分润规则": {
+"prefix": "ym-db-UserProfit-Create",
+"body": [
+"db.UserProfit.Add(new UserProfit()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	BrandId = $2, //品牌",
+"	CardType = $3, //交易卡类型",
+"	ProfitRate = $4, //创客预设分润比例",
+"	ProfitPercent = $5, //创客预设分润百分比",
+"	AddOrSubRate = $6, //浮动空间",
+"	ProfitRateBase = $7, //分润比例基数",
+"	Remark = $8, //备注",
+"	TopUserId = $9, //顶级创客",
+"	HelpAddOrSubRate = $10, //扶持期浮动空间",
+"	HelpProfitPercent = $11, //扶持期创客预设分润百分比",
+"	HelpProfitRate = $12, //扶持期创客预设分润比例",
+"	HelpProfitRateBase = $13, //扶持期分润比例基数",
+"});"
+]
+},"删除某个创客分润规则": {
+"prefix": "ym-db-UserProfit-Delete",
+"body": [
+"UserProfit $1 = db.UserProfit.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserProfit.Remove($1);",
+"}"
+]
+},
+"查询创客预设分润列表": {
+"prefix": "ym-db-UserProfitSet-Find",
+"body": [
+"List<UserProfitSet> $1 = db.UserProfitSet.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserProfitSet $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客预设分润列表,并取值": {
+"prefix": "ym-db-UserProfitSet-FindWithData",
+"body": [
+"List<UserProfitSet> $1 = db.UserProfitSet.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserProfitSet $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //品牌",
+"	int CardType = $3.CardType; //交易卡类型",
+"	int HelpFlag = $3.HelpFlag; //扶持期标识",
+"	decimal ProfitRate = $3.ProfitRate; //创客预设分润比例",
+"	decimal ProfitPercent = $3.ProfitPercent; //创客预设分润百分比",
+"	decimal AddOrSubRate = $3.AddOrSubRate; //浮动空间",
+"	decimal ProfitRateBase = $3.ProfitRateBase; //分润比例基数",
+"	string Remark = $3.Remark; //备注",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询创客预设分润": {
+"prefix": "ym-db-UserProfitSet-Exist",
+"body": [
+"bool $1 = db.UserProfitSet.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客预设分润,并取值": {
+"prefix": "ym-db-UserProfitSet-FindByPrimaryKey",
+"body": [
+"UserProfitSet $1 = db.UserProfitSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //品牌",
+"	int CardType = $1.CardType; //交易卡类型",
+"	int HelpFlag = $1.HelpFlag; //扶持期标识",
+"	decimal ProfitRate = $1.ProfitRate; //创客预设分润比例",
+"	decimal ProfitPercent = $1.ProfitPercent; //创客预设分润百分比",
+"	decimal AddOrSubRate = $1.AddOrSubRate; //浮动空间",
+"	decimal ProfitRateBase = $1.ProfitRateBase; //分润比例基数",
+"	string Remark = $1.Remark; //备注",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询某个创客预设分润,并赋值": {
+"prefix": "ym-db-UserProfitSet-Update",
+"body": [
+"UserProfitSet $1 = db.UserProfitSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.BrandId = $3; //品牌",
+"	$1.CardType = $4; //交易卡类型",
+"	$1.HelpFlag = $5; //扶持期标识",
+"	$1.ProfitRate = $6; //创客预设分润比例",
+"	$1.ProfitPercent = $7; //创客预设分润百分比",
+"	$1.AddOrSubRate = $8; //浮动空间",
+"	$1.ProfitRateBase = $9; //分润比例基数",
+"	$1.Remark = $10; //备注",
+"	$1.TopUserId = $11; //顶级创客",
+"}"
+]
+},
+"获取创客预设分润数量": {
+"prefix": "ym-db-UserProfitSet-FindAndCount",
+"body": [
+"int $1 = db.UserProfitSet.Count(m => $2);",
+]
+},
+"添加创客预设分润": {
+"prefix": "ym-db-UserProfitSet-Create",
+"body": [
+"db.UserProfitSet.Add(new UserProfitSet()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	BrandId = $2, //品牌",
+"	CardType = $3, //交易卡类型",
+"	HelpFlag = $4, //扶持期标识",
+"	ProfitRate = $5, //创客预设分润比例",
+"	ProfitPercent = $6, //创客预设分润百分比",
+"	AddOrSubRate = $7, //浮动空间",
+"	ProfitRateBase = $8, //分润比例基数",
+"	Remark = $9, //备注",
+"	TopUserId = $10, //顶级创客",
+"});"
+]
+},"删除某个创客预设分润": {
+"prefix": "ym-db-UserProfitSet-Delete",
+"body": [
+"UserProfitSet $1 = db.UserProfitSet.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserProfitSet.Remove($1);",
+"}"
+]
+},
+"查询创客分润补贴月汇总列表": {
+"prefix": "ym-db-UserProfitSubsidySummary-Find",
+"body": [
+"List<UserProfitSubsidySummary> $1 = db.UserProfitSubsidySummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserProfitSubsidySummary $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客分润补贴月汇总列表,并取值": {
+"prefix": "ym-db-UserProfitSubsidySummary-FindWithData",
+"body": [
+"List<UserProfitSubsidySummary> $1 = db.UserProfitSubsidySummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserProfitSubsidySummary $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //品牌",
+"	string TradeMonth = $3.TradeMonth; //交易月",
+"	string MgrNo = $3.MgrNo; //渠道经理编号",
+"	string MgrName = $3.MgrName; //渠道经理姓名",
+"	decimal SubsidyTotalProfit = $3.SubsidyTotalProfit; //商户(非云闪付)贷记卡交易分润补贴总金额",
+"	decimal SubsidyJuniorProfit = $3.SubsidyJuniorProfit; //下级合伙人直属商户(非云闪付)贷记卡交易分润补贴总金额",
+"	decimal SubsidyDirectProfit = $3.SubsidyDirectProfit; //直营商户(非云闪付)贷记卡交易分润补贴总金额",
+"	int CheckStatus = $3.CheckStatus; //验证和同步账户状态",
+"}"
+]
+},
+"查询创客分润补贴月汇总": {
+"prefix": "ym-db-UserProfitSubsidySummary-Exist",
+"body": [
+"bool $1 = db.UserProfitSubsidySummary.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客分润补贴月汇总,并取值": {
+"prefix": "ym-db-UserProfitSubsidySummary-FindByPrimaryKey",
+"body": [
+"UserProfitSubsidySummary $1 = db.UserProfitSubsidySummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //品牌",
+"	string TradeMonth = $1.TradeMonth; //交易月",
+"	string MgrNo = $1.MgrNo; //渠道经理编号",
+"	string MgrName = $1.MgrName; //渠道经理姓名",
+"	decimal SubsidyTotalProfit = $1.SubsidyTotalProfit; //商户(非云闪付)贷记卡交易分润补贴总金额",
+"	decimal SubsidyJuniorProfit = $1.SubsidyJuniorProfit; //下级合伙人直属商户(非云闪付)贷记卡交易分润补贴总金额",
+"	decimal SubsidyDirectProfit = $1.SubsidyDirectProfit; //直营商户(非云闪付)贷记卡交易分润补贴总金额",
+"	int CheckStatus = $1.CheckStatus; //验证和同步账户状态",
+"}"
+]
+},
+"查询某个创客分润补贴月汇总,并赋值": {
+"prefix": "ym-db-UserProfitSubsidySummary-Update",
+"body": [
+"UserProfitSubsidySummary $1 = db.UserProfitSubsidySummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.BrandId = $3; //品牌",
+"	$1.TradeMonth = $4; //交易月",
+"	$1.MgrNo = $5; //渠道经理编号",
+"	$1.MgrName = $6; //渠道经理姓名",
+"	$1.SubsidyTotalProfit = $7; //商户(非云闪付)贷记卡交易分润补贴总金额",
+"	$1.SubsidyJuniorProfit = $8; //下级合伙人直属商户(非云闪付)贷记卡交易分润补贴总金额",
+"	$1.SubsidyDirectProfit = $9; //直营商户(非云闪付)贷记卡交易分润补贴总金额",
+"	$1.CheckStatus = $10; //验证和同步账户状态",
+"}"
+]
+},
+"获取创客分润补贴月汇总数量": {
+"prefix": "ym-db-UserProfitSubsidySummary-FindAndCount",
+"body": [
+"int $1 = db.UserProfitSubsidySummary.Count(m => $2);",
+]
+},
+"添加创客分润补贴月汇总": {
+"prefix": "ym-db-UserProfitSubsidySummary-Create",
+"body": [
+"db.UserProfitSubsidySummary.Add(new UserProfitSubsidySummary()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	BrandId = $2, //品牌",
+"	TradeMonth = $3, //交易月",
+"	MgrNo = $4, //渠道经理编号",
+"	MgrName = $5, //渠道经理姓名",
+"	SubsidyTotalProfit = $6, //商户(非云闪付)贷记卡交易分润补贴总金额",
+"	SubsidyJuniorProfit = $7, //下级合伙人直属商户(非云闪付)贷记卡交易分润补贴总金额",
+"	SubsidyDirectProfit = $8, //直营商户(非云闪付)贷记卡交易分润补贴总金额",
+"	CheckStatus = $9, //验证和同步账户状态",
+"});"
+]
+},"删除某个创客分润补贴月汇总": {
+"prefix": "ym-db-UserProfitSubsidySummary-Delete",
+"body": [
+"UserProfitSubsidySummary $1 = db.UserProfitSubsidySummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserProfitSubsidySummary.Remove($1);",
+"}"
+]
+},
+"查询创客职级信息列表": {
+"prefix": "ym-db-UserRank-Find",
+"body": [
+"List<UserRank> $1 = db.UserRank.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserRank $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客职级信息列表,并取值": {
+"prefix": "ym-db-UserRank-FindWithData",
+"body": [
+"List<UserRank> $1 = db.UserRank.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserRank $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int Rank = $3.Rank; //当前等级",
+"	int WhiteRank = $3.WhiteRank; //白名单等级",
+"	int NextRank = $3.NextRank; //下个等级",
+"	int StatYear = $3.StatYear; //统计年份",
+"	int StatMonth = $3.StatMonth; //统计月份",
+"	decimal TradeAmt = $3.TradeAmt; //团队交易总额",
+"	int ExceedVal = $3.ExceedVal; //超越值",
+"	ulong UpgradeFlag = $3.UpgradeFlag; //升级标识",
+"	DateTime OperateDate = $3.OperateDate; //操作时间",
+"}"
+]
+},
+"查询创客职级信息": {
+"prefix": "ym-db-UserRank-Exist",
+"body": [
+"bool $1 = db.UserRank.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客职级信息,并取值": {
+"prefix": "ym-db-UserRank-FindByPrimaryKey",
+"body": [
+"UserRank $1 = db.UserRank.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int Rank = $1.Rank; //当前等级",
+"	int WhiteRank = $1.WhiteRank; //白名单等级",
+"	int NextRank = $1.NextRank; //下个等级",
+"	int StatYear = $1.StatYear; //统计年份",
+"	int StatMonth = $1.StatMonth; //统计月份",
+"	decimal TradeAmt = $1.TradeAmt; //团队交易总额",
+"	int ExceedVal = $1.ExceedVal; //超越值",
+"	ulong UpgradeFlag = $1.UpgradeFlag; //升级标识",
+"	DateTime OperateDate = $1.OperateDate; //操作时间",
+"}"
+]
+},
+"查询某个创客职级信息,并赋值": {
+"prefix": "ym-db-UserRank-Update",
+"body": [
+"UserRank $1 = db.UserRank.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.Rank = $3; //当前等级",
+"	$1.WhiteRank = $4; //白名单等级",
+"	$1.NextRank = $5; //下个等级",
+"	$1.StatYear = $6; //统计年份",
+"	$1.StatMonth = $7; //统计月份",
+"	$1.TradeAmt = $8; //团队交易总额",
+"	$1.ExceedVal = $9; //超越值",
+"	$1.UpgradeFlag = $10; //升级标识",
+"	$1.OperateDate = $11; //操作时间",
+"}"
+]
+},
+"获取创客职级信息数量": {
+"prefix": "ym-db-UserRank-FindAndCount",
+"body": [
+"int $1 = db.UserRank.Count(m => $2);",
+]
+},
+"添加创客职级信息": {
+"prefix": "ym-db-UserRank-Create",
+"body": [
+"db.UserRank.Add(new UserRank()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	Rank = $2, //当前等级",
+"	WhiteRank = $3, //白名单等级",
+"	NextRank = $4, //下个等级",
+"	StatYear = $5, //统计年份",
+"	StatMonth = $6, //统计月份",
+"	TradeAmt = $7, //团队交易总额",
+"	ExceedVal = $8, //超越值",
+"	UpgradeFlag = $9, //升级标识",
+"	OperateDate = $10, //操作时间",
+"});"
+]
+},"删除某个创客职级信息": {
+"prefix": "ym-db-UserRank-Delete",
+"body": [
+"UserRank $1 = db.UserRank.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserRank.Remove($1);",
+"}"
+]
+},
+"查询创客预设职级列表": {
+"prefix": "ym-db-UserRankWhite-Find",
+"body": [
+"List<UserRankWhite> $1 = db.UserRankWhite.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserRankWhite $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客预设职级列表,并取值": {
+"prefix": "ym-db-UserRankWhite-FindWithData",
+"body": [
+"List<UserRankWhite> $1 = db.UserRankWhite.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserRankWhite $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //用户",
+"	int Rank = $3.Rank; //当前等级类型",
+"}"
+]
+},
+"查询创客预设职级": {
+"prefix": "ym-db-UserRankWhite-Exist",
+"body": [
+"bool $1 = db.UserRankWhite.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客预设职级,并取值": {
+"prefix": "ym-db-UserRankWhite-FindByPrimaryKey",
+"body": [
+"UserRankWhite $1 = db.UserRankWhite.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //用户",
+"	int Rank = $1.Rank; //当前等级类型",
+"}"
+]
+},
+"查询某个创客预设职级,并赋值": {
+"prefix": "ym-db-UserRankWhite-Update",
+"body": [
+"UserRankWhite $1 = db.UserRankWhite.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //用户",
+"	$1.Rank = $3; //当前等级类型",
+"}"
+]
+},
+"获取创客预设职级数量": {
+"prefix": "ym-db-UserRankWhite-FindAndCount",
+"body": [
+"int $1 = db.UserRankWhite.Count(m => $2);",
+]
+},
+"添加创客预设职级": {
+"prefix": "ym-db-UserRankWhite-Create",
+"body": [
+"db.UserRankWhite.Add(new UserRankWhite()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //用户",
+"	Rank = $2, //当前等级类型",
+"});"
+]
+},"删除某个创客预设职级": {
+"prefix": "ym-db-UserRankWhite-Delete",
+"body": [
+"UserRankWhite $1 = db.UserRankWhite.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserRankWhite.Remove($1);",
+"}"
+]
+},
+"查询返利明细表列表": {
+"prefix": "ym-db-UserRebateDetail-Find",
+"body": [
+"List<UserRebateDetail> $1 = db.UserRebateDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserRebateDetail $3 in $1)",
+"{",
+"}"
+]
+},
+"查询返利明细表列表,并取值": {
+"prefix": "ym-db-UserRebateDetail-FindWithData",
+"body": [
+"List<UserRebateDetail> $1 = db.UserRebateDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserRebateDetail $3 in $1)",
+"{",
+"	string TradeMonth = $3.TradeMonth; //交易月份",
+"	string TradeDate = $3.TradeDate; //达标日期",
+"	int UserId = $3.UserId; //创客",
+"	string MgrNo = $3.MgrNo; //渠道经理编号",
+"	string MgrName = $3.MgrName; //渠道经理姓名",
+"	int ProductType = $3.ProductType; //产品类型",
+"	string ProductName = $3.ProductName; //产品名称",
+"	int MerchantId = $3.MerchantId; //商户",
+"	string ChannelMerNo = $3.ChannelMerNo; //渠道商户编号",
+"	int RebateType = $3.RebateType; //返利类型",
+"	int RebateMonthCount = $3.RebateMonthCount; //返利周期数",
+"	decimal CreditTradeAmt = $3.CreditTradeAmt; //贷记卡交易总金额",
+"	decimal DebitTradeAmt = $3.DebitTradeAmt; //借记卡交易总金额",
+"	decimal CreditRewardAmount = $3.CreditRewardAmount; //贷记卡交易奖励金额",
+"	decimal DebitRewardAmount = $3.DebitRewardAmount; //借记卡交易奖励金额",
+"	string RebateRewardNo = $3.RebateRewardNo; //达标返利单号",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询返利明细表": {
+"prefix": "ym-db-UserRebateDetail-Exist",
+"body": [
+"bool $1 = db.UserRebateDetail.Any(m => m.Id == $2);",
+]
+},
+"查询某个返利明细表,并取值": {
+"prefix": "ym-db-UserRebateDetail-FindByPrimaryKey",
+"body": [
+"UserRebateDetail $1 = db.UserRebateDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string TradeMonth = $1.TradeMonth; //交易月份",
+"	string TradeDate = $1.TradeDate; //达标日期",
+"	int UserId = $1.UserId; //创客",
+"	string MgrNo = $1.MgrNo; //渠道经理编号",
+"	string MgrName = $1.MgrName; //渠道经理姓名",
+"	int ProductType = $1.ProductType; //产品类型",
+"	string ProductName = $1.ProductName; //产品名称",
+"	int MerchantId = $1.MerchantId; //商户",
+"	string ChannelMerNo = $1.ChannelMerNo; //渠道商户编号",
+"	int RebateType = $1.RebateType; //返利类型",
+"	int RebateMonthCount = $1.RebateMonthCount; //返利周期数",
+"	decimal CreditTradeAmt = $1.CreditTradeAmt; //贷记卡交易总金额",
+"	decimal DebitTradeAmt = $1.DebitTradeAmt; //借记卡交易总金额",
+"	decimal CreditRewardAmount = $1.CreditRewardAmount; //贷记卡交易奖励金额",
+"	decimal DebitRewardAmount = $1.DebitRewardAmount; //借记卡交易奖励金额",
+"	string RebateRewardNo = $1.RebateRewardNo; //达标返利单号",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个返利明细表,并赋值": {
+"prefix": "ym-db-UserRebateDetail-Update",
+"body": [
+"UserRebateDetail $1 = db.UserRebateDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TradeMonth = $2; //交易月份",
+"	$1.TradeDate = $3; //达标日期",
+"	$1.UserId = $4; //创客",
+"	$1.MgrNo = $5; //渠道经理编号",
+"	$1.MgrName = $6; //渠道经理姓名",
+"	$1.ProductType = $7; //产品类型",
+"	$1.ProductName = $8; //产品名称",
+"	$1.MerchantId = $9; //商户",
+"	$1.ChannelMerNo = $10; //渠道商户编号",
+"	$1.RebateType = $11; //返利类型",
+"	$1.RebateMonthCount = $12; //返利周期数",
+"	$1.CreditTradeAmt = $13; //贷记卡交易总金额",
+"	$1.DebitTradeAmt = $14; //借记卡交易总金额",
+"	$1.CreditRewardAmount = $15; //贷记卡交易奖励金额",
+"	$1.DebitRewardAmount = $16; //借记卡交易奖励金额",
+"	$1.RebateRewardNo = $17; //达标返利单号",
+"	$1.Remark = $18; //备注",
+"}"
+]
+},
+"获取返利明细表数量": {
+"prefix": "ym-db-UserRebateDetail-FindAndCount",
+"body": [
+"int $1 = db.UserRebateDetail.Count(m => $2);",
+]
+},
+"添加返利明细表": {
+"prefix": "ym-db-UserRebateDetail-Create",
+"body": [
+"db.UserRebateDetail.Add(new UserRebateDetail()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TradeMonth = $1, //交易月份",
+"	TradeDate = $2, //达标日期",
+"	UserId = $3, //创客",
+"	MgrNo = $4, //渠道经理编号",
+"	MgrName = $5, //渠道经理姓名",
+"	ProductType = $6, //产品类型",
+"	ProductName = $7, //产品名称",
+"	MerchantId = $8, //商户",
+"	ChannelMerNo = $9, //渠道商户编号",
+"	RebateType = $10, //返利类型",
+"	RebateMonthCount = $11, //返利周期数",
+"	CreditTradeAmt = $12, //贷记卡交易总金额",
+"	DebitTradeAmt = $13, //借记卡交易总金额",
+"	CreditRewardAmount = $14, //贷记卡交易奖励金额",
+"	DebitRewardAmount = $15, //借记卡交易奖励金额",
+"	RebateRewardNo = $16, //达标返利单号",
+"	Remark = $17, //备注",
+"});"
+]
+},"删除某个返利明细表": {
+"prefix": "ym-db-UserRebateDetail-Delete",
+"body": [
+"UserRebateDetail $1 = db.UserRebateDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserRebateDetail.Remove($1);",
+"}"
+]
+},
+"查询创客列表": {
+"prefix": "ym-db-Users-Find",
+"body": [
+"List<Users> $1 = db.Users.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Users $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客列表,并取值": {
+"prefix": "ym-db-Users-FindWithData",
+"body": [
+"List<Users> $1 = db.Users.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Users $3 in $1)",
+"{",
+"	string NickName = $3.NickName; //昵称",
+"	string RealName = $3.RealName; //真实姓名",
+"	int Sex = $3.Sex; //性别",
+"	string CertId = $3.CertId; //身份证号",
+"	string Areas = $3.Areas; //所在地区",
+"	string Address = $3.Address; //详细地址",
+"	string HeadPhoto = $3.HeadPhoto; //头像",
+"	int ParentUserId = $3.ParentUserId; //父级Id",
+"	int UserLevel = $3.UserLevel; //创客等级",
+"	string CardNo = $3.CardNo; //卡号",
+"	string Mobile = $3.Mobile; //手机号",
+"	string GroupId = $3.GroupId; //分组",
+"	string Tags = $3.Tags; //标签",
+"	string ParentNav = $3.ParentNav; //父级集合",
+"	string LoginPwd = $3.LoginPwd; //登录密码",
+"	string PayPwd = $3.PayPwd; //支付密码",
+"	string CarIds = $3.CarIds; //购物车Id集合",
+"	string OpenId = $3.OpenId; //OpenId",
+"	string AlipayUserId = $3.AlipayUserId; //支付宝用户Id",
+"	ulong IsNewUser = $3.IsNewUser; //是否新创客",
+"	string IdCardEndNo = $3.IdCardEndNo; //身份证后四位",
+"	string SettleBankCardNo = $3.SettleBankCardNo; //结算银行卡号",
+"	string SettleBankName = $3.SettleBankName; //结算银行名称",
+"	string ReferenceCode = $3.ReferenceCode; //推荐码",
+"	int ReferralUserId = $3.ReferralUserId; //引荐人",
+"	string CardRecCode = $3.CardRecCode; //办卡分享图片地址",
+"	string ReferenceQrCode = $3.ReferenceQrCode; //推广二维码地址",
+"	string SignImgUrl = $3.SignImgUrl; //特定协议签名图片地址",
+"	int UserType = $3.UserType; //创客类型",
+"	int UserProperty = $3.UserProperty; //创客属性",
+"	int MerchantType = $3.MerchantType; //商户创客类型",
+"	DateTime MerchantDate = $3.MerchantDate; //成为商户型创客时间",
+"	int LoginStatus = $3.LoginStatus; //登录状态",
+"	int AuditStatus = $3.AuditStatus; //审核状态",
+"	ulong LockStatus = $3.LockStatus; //锁定状态",
+"	ulong AuthFlag = $3.AuthFlag; //实名标识",
+"	DateTime AuthDate = $3.AuthDate; //实名时间",
+"	ulong RiskFlag = $3.RiskFlag; //风控标识",
+"	string RiskRemark = $3.RiskRemark; //风控备注",
+"	string RreezeRemark = $3.RreezeRemark; //账户冻结备注信息",
+"	string SettleRemark = $3.SettleRemark; //结算金额调整备注",
+"	string AccessToken = $3.AccessToken; //创客登录授权令牌",
+"	DateTime ExpiredDate = $3.ExpiredDate; //过期时间",
+"	string DeviceId = $3.DeviceId; //设备ID",
+"	string DeviceToken = $3.DeviceToken; //设备令牌",
+"	string CertFrontImage = $3.CertFrontImage; //身份证正面照",
+"	string CertReverseImage = $3.CertReverseImage; //身份证反面照",
+"	string HandCertImage = $3.HandCertImage; //手持身份证",
+"	string BankCardPositiveImage = $3.BankCardPositiveImage; //银行卡正面照",
+"	string Remark = $3.Remark; //备注信息",
+"	string HandPwd = $3.HandPwd; //手势密码",
+"	string MakerCode = $3.MakerCode; //创客编号",
+"	decimal SettleAmount = $3.SettleAmount; //最低结算金额",
+"	decimal CashFreezeAmt = $3.CashFreezeAmt; //提现冻结金额",
+"	decimal ActiveRewardAmount = $3.ActiveRewardAmount; //激活奖励金额",
+"	decimal ProfitRewardRate = $3.ProfitRewardRate; //分润奖励",
+"	DateTime CitySetDate = $3.CitySetDate; //省市设置时间",
+"}"
+]
+},
+"查询创客": {
+"prefix": "ym-db-Users-Exist",
+"body": [
+"bool $1 = db.Users.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客,并取值": {
+"prefix": "ym-db-Users-FindByPrimaryKey",
+"body": [
+"Users $1 = db.Users.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string NickName = $1.NickName; //昵称",
+"	string RealName = $1.RealName; //真实姓名",
+"	int Sex = $1.Sex; //性别",
+"	string CertId = $1.CertId; //身份证号",
+"	string Areas = $1.Areas; //所在地区",
+"	string Address = $1.Address; //详细地址",
+"	string HeadPhoto = $1.HeadPhoto; //头像",
+"	int ParentUserId = $1.ParentUserId; //父级Id",
+"	int UserLevel = $1.UserLevel; //创客等级",
+"	string CardNo = $1.CardNo; //卡号",
+"	string Mobile = $1.Mobile; //手机号",
+"	string GroupId = $1.GroupId; //分组",
+"	string Tags = $1.Tags; //标签",
+"	string ParentNav = $1.ParentNav; //父级集合",
+"	string LoginPwd = $1.LoginPwd; //登录密码",
+"	string PayPwd = $1.PayPwd; //支付密码",
+"	string CarIds = $1.CarIds; //购物车Id集合",
+"	string OpenId = $1.OpenId; //OpenId",
+"	string AlipayUserId = $1.AlipayUserId; //支付宝用户Id",
+"	ulong IsNewUser = $1.IsNewUser; //是否新创客",
+"	string IdCardEndNo = $1.IdCardEndNo; //身份证后四位",
+"	string SettleBankCardNo = $1.SettleBankCardNo; //结算银行卡号",
+"	string SettleBankName = $1.SettleBankName; //结算银行名称",
+"	string ReferenceCode = $1.ReferenceCode; //推荐码",
+"	int ReferralUserId = $1.ReferralUserId; //引荐人",
+"	string CardRecCode = $1.CardRecCode; //办卡分享图片地址",
+"	string ReferenceQrCode = $1.ReferenceQrCode; //推广二维码地址",
+"	string SignImgUrl = $1.SignImgUrl; //特定协议签名图片地址",
+"	int UserType = $1.UserType; //创客类型",
+"	int UserProperty = $1.UserProperty; //创客属性",
+"	int MerchantType = $1.MerchantType; //商户创客类型",
+"	DateTime MerchantDate = $1.MerchantDate; //成为商户型创客时间",
+"	int LoginStatus = $1.LoginStatus; //登录状态",
+"	int AuditStatus = $1.AuditStatus; //审核状态",
+"	ulong LockStatus = $1.LockStatus; //锁定状态",
+"	ulong AuthFlag = $1.AuthFlag; //实名标识",
+"	DateTime AuthDate = $1.AuthDate; //实名时间",
+"	ulong RiskFlag = $1.RiskFlag; //风控标识",
+"	string RiskRemark = $1.RiskRemark; //风控备注",
+"	string RreezeRemark = $1.RreezeRemark; //账户冻结备注信息",
+"	string SettleRemark = $1.SettleRemark; //结算金额调整备注",
+"	string AccessToken = $1.AccessToken; //创客登录授权令牌",
+"	DateTime ExpiredDate = $1.ExpiredDate; //过期时间",
+"	string DeviceId = $1.DeviceId; //设备ID",
+"	string DeviceToken = $1.DeviceToken; //设备令牌",
+"	string CertFrontImage = $1.CertFrontImage; //身份证正面照",
+"	string CertReverseImage = $1.CertReverseImage; //身份证反面照",
+"	string HandCertImage = $1.HandCertImage; //手持身份证",
+"	string BankCardPositiveImage = $1.BankCardPositiveImage; //银行卡正面照",
+"	string Remark = $1.Remark; //备注信息",
+"	string HandPwd = $1.HandPwd; //手势密码",
+"	string MakerCode = $1.MakerCode; //创客编号",
+"	decimal SettleAmount = $1.SettleAmount; //最低结算金额",
+"	decimal CashFreezeAmt = $1.CashFreezeAmt; //提现冻结金额",
+"	decimal ActiveRewardAmount = $1.ActiveRewardAmount; //激活奖励金额",
+"	decimal ProfitRewardRate = $1.ProfitRewardRate; //分润奖励",
+"	DateTime CitySetDate = $1.CitySetDate; //省市设置时间",
+"}"
+]
+},
+"查询某个创客,并赋值": {
+"prefix": "ym-db-Users-Update",
+"body": [
+"Users $1 = db.Users.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.NickName = $2; //昵称",
+"	$1.RealName = $3; //真实姓名",
+"	$1.Sex = $4; //性别",
+"	$1.CertId = $5; //身份证号",
+"	$1.Areas = $6; //所在地区",
+"	$1.Address = $7; //详细地址",
+"	$1.HeadPhoto = $8; //头像",
+"	$1.ParentUserId = $9; //父级Id",
+"	$1.UserLevel = $10; //创客等级",
+"	$1.CardNo = $11; //卡号",
+"	$1.Mobile = $12; //手机号",
+"	$1.GroupId = $13; //分组",
+"	$1.Tags = $14; //标签",
+"	$1.ParentNav = $15; //父级集合",
+"	$1.LoginPwd = $16; //登录密码",
+"	$1.PayPwd = $17; //支付密码",
+"	$1.CarIds = $18; //购物车Id集合",
+"	$1.OpenId = $19; //OpenId",
+"	$1.AlipayUserId = $20; //支付宝用户Id",
+"	$1.IsNewUser = $21; //是否新创客",
+"	$1.IdCardEndNo = $22; //身份证后四位",
+"	$1.SettleBankCardNo = $23; //结算银行卡号",
+"	$1.SettleBankName = $24; //结算银行名称",
+"	$1.ReferenceCode = $25; //推荐码",
+"	$1.ReferralUserId = $26; //引荐人",
+"	$1.CardRecCode = $27; //办卡分享图片地址",
+"	$1.ReferenceQrCode = $28; //推广二维码地址",
+"	$1.SignImgUrl = $29; //特定协议签名图片地址",
+"	$1.UserType = $30; //创客类型",
+"	$1.UserProperty = $31; //创客属性",
+"	$1.MerchantType = $32; //商户创客类型",
+"	$1.MerchantDate = $33; //成为商户型创客时间",
+"	$1.LoginStatus = $34; //登录状态",
+"	$1.AuditStatus = $35; //审核状态",
+"	$1.LockStatus = $36; //锁定状态",
+"	$1.AuthFlag = $37; //实名标识",
+"	$1.AuthDate = $38; //实名时间",
+"	$1.RiskFlag = $39; //风控标识",
+"	$1.RiskRemark = $40; //风控备注",
+"	$1.RreezeRemark = $41; //账户冻结备注信息",
+"	$1.SettleRemark = $42; //结算金额调整备注",
+"	$1.AccessToken = $43; //创客登录授权令牌",
+"	$1.ExpiredDate = $44; //过期时间",
+"	$1.DeviceId = $45; //设备ID",
+"	$1.DeviceToken = $46; //设备令牌",
+"	$1.CertFrontImage = $47; //身份证正面照",
+"	$1.CertReverseImage = $48; //身份证反面照",
+"	$1.HandCertImage = $49; //手持身份证",
+"	$1.BankCardPositiveImage = $50; //银行卡正面照",
+"	$1.Remark = $51; //备注信息",
+"	$1.HandPwd = $52; //手势密码",
+"	$1.MakerCode = $53; //创客编号",
+"	$1.SettleAmount = $54; //最低结算金额",
+"	$1.CashFreezeAmt = $55; //提现冻结金额",
+"	$1.ActiveRewardAmount = $56; //激活奖励金额",
+"	$1.ProfitRewardRate = $57; //分润奖励",
+"	$1.CitySetDate = $58; //省市设置时间",
+"}"
+]
+},
+"获取创客数量": {
+"prefix": "ym-db-Users-FindAndCount",
+"body": [
+"int $1 = db.Users.Count(m => $2);",
+]
+},
+"添加创客": {
+"prefix": "ym-db-Users-Create",
+"body": [
+"db.Users.Add(new Users()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	NickName = $1, //昵称",
+"	RealName = $2, //真实姓名",
+"	Sex = $3, //性别",
+"	CertId = $4, //身份证号",
+"	Areas = $5, //所在地区",
+"	Address = $6, //详细地址",
+"	HeadPhoto = $7, //头像",
+"	ParentUserId = $8, //父级Id",
+"	UserLevel = $9, //创客等级",
+"	CardNo = $10, //卡号",
+"	Mobile = $11, //手机号",
+"	GroupId = $12, //分组",
+"	Tags = $13, //标签",
+"	ParentNav = $14, //父级集合",
+"	LoginPwd = $15, //登录密码",
+"	PayPwd = $16, //支付密码",
+"	CarIds = $17, //购物车Id集合",
+"	OpenId = $18, //OpenId",
+"	AlipayUserId = $19, //支付宝用户Id",
+"	IsNewUser = $20, //是否新创客",
+"	IdCardEndNo = $21, //身份证后四位",
+"	SettleBankCardNo = $22, //结算银行卡号",
+"	SettleBankName = $23, //结算银行名称",
+"	ReferenceCode = $24, //推荐码",
+"	ReferralUserId = $25, //引荐人",
+"	CardRecCode = $26, //办卡分享图片地址",
+"	ReferenceQrCode = $27, //推广二维码地址",
+"	SignImgUrl = $28, //特定协议签名图片地址",
+"	UserType = $29, //创客类型",
+"	UserProperty = $30, //创客属性",
+"	MerchantType = $31, //商户创客类型",
+"	MerchantDate = $32, //成为商户型创客时间",
+"	LoginStatus = $33, //登录状态",
+"	AuditStatus = $34, //审核状态",
+"	LockStatus = $35, //锁定状态",
+"	AuthFlag = $36, //实名标识",
+"	AuthDate = $37, //实名时间",
+"	RiskFlag = $38, //风控标识",
+"	RiskRemark = $39, //风控备注",
+"	RreezeRemark = $40, //账户冻结备注信息",
+"	SettleRemark = $41, //结算金额调整备注",
+"	AccessToken = $42, //创客登录授权令牌",
+"	ExpiredDate = $43, //过期时间",
+"	DeviceId = $44, //设备ID",
+"	DeviceToken = $45, //设备令牌",
+"	CertFrontImage = $46, //身份证正面照",
+"	CertReverseImage = $47, //身份证反面照",
+"	HandCertImage = $48, //手持身份证",
+"	BankCardPositiveImage = $49, //银行卡正面照",
+"	Remark = $50, //备注信息",
+"	HandPwd = $51, //手势密码",
+"	MakerCode = $52, //创客编号",
+"	SettleAmount = $53, //最低结算金额",
+"	CashFreezeAmt = $54, //提现冻结金额",
+"	ActiveRewardAmount = $55, //激活奖励金额",
+"	ProfitRewardRate = $56, //分润奖励",
+"	CitySetDate = $57, //省市设置时间",
+"});"
+]
+},"删除某个创客": {
+"prefix": "ym-db-Users-Delete",
+"body": [
+"Users $1 = db.Users.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.Users.Remove($1);",
+"}"
+]
+},
+"查询机具激活限制信息列表": {
+"prefix": "ym-db-UserSnActInfo-Find",
+"body": [
+"List<UserSnActInfo> $1 = db.UserSnActInfo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserSnActInfo $3 in $1)",
+"{",
+"}"
+]
+},
+"查询机具激活限制信息列表,并取值": {
+"prefix": "ym-db-UserSnActInfo-FindWithData",
+"body": [
+"List<UserSnActInfo> $1 = db.UserSnActInfo.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserSnActInfo $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //产品类型",
+"	string SnNo = $3.SnNo; //SN编号",
+"	int SnType = $3.SnType; //SN机具类型",
+"	DateTime SnShipDate = $3.SnShipDate; //发货时间",
+"	int SnStoreId = $3.SnStoreId; //SN仓库",
+"	string EffectStartActDate = $3.EffectStartActDate; //有效开始激活时间",
+"	string EffectEndActDate = $3.EffectEndActDate; //有效结束激活时间",
+"	string EffectStartCycleDate = $3.EffectStartCycleDate; //有效开始循环时间",
+"	string EffectEndCycleDate = $3.EffectEndCycleDate; //有效结束循环时间",
+"	int ActUserId = $3.ActUserId; //激活奖励创客",
+"	int ActiveStatus = $3.ActiveStatus; //商户激活状态",
+"	string StandardDate = $3.StandardDate; //激活日期",
+"	string SourceSnNo = $3.SourceSnNo; //源SN编号",
+"	int SourceSnType = $3.SourceSnType; //源SN机具类型",
+"	DateTime SourceShipDate = $3.SourceShipDate; //源SN发货时间",
+"	int SourceStoreId = $3.SourceStoreId; //源SN发货你仓库",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询机具激活限制信息": {
+"prefix": "ym-db-UserSnActInfo-Exist",
+"body": [
+"bool $1 = db.UserSnActInfo.Any(m => m.Id == $2);",
+]
+},
+"查询某个机具激活限制信息,并取值": {
+"prefix": "ym-db-UserSnActInfo-FindByPrimaryKey",
+"body": [
+"UserSnActInfo $1 = db.UserSnActInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //产品类型",
+"	string SnNo = $1.SnNo; //SN编号",
+"	int SnType = $1.SnType; //SN机具类型",
+"	DateTime SnShipDate = $1.SnShipDate; //发货时间",
+"	int SnStoreId = $1.SnStoreId; //SN仓库",
+"	string EffectStartActDate = $1.EffectStartActDate; //有效开始激活时间",
+"	string EffectEndActDate = $1.EffectEndActDate; //有效结束激活时间",
+"	string EffectStartCycleDate = $1.EffectStartCycleDate; //有效开始循环时间",
+"	string EffectEndCycleDate = $1.EffectEndCycleDate; //有效结束循环时间",
+"	int ActUserId = $1.ActUserId; //激活奖励创客",
+"	int ActiveStatus = $1.ActiveStatus; //商户激活状态",
+"	string StandardDate = $1.StandardDate; //激活日期",
+"	string SourceSnNo = $1.SourceSnNo; //源SN编号",
+"	int SourceSnType = $1.SourceSnType; //源SN机具类型",
+"	DateTime SourceShipDate = $1.SourceShipDate; //源SN发货时间",
+"	int SourceStoreId = $1.SourceStoreId; //源SN发货你仓库",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个机具激活限制信息,并赋值": {
+"prefix": "ym-db-UserSnActInfo-Update",
+"body": [
+"UserSnActInfo $1 = db.UserSnActInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.BrandId = $3; //产品类型",
+"	$1.SnNo = $4; //SN编号",
+"	$1.SnType = $5; //SN机具类型",
+"	$1.SnShipDate = $6; //发货时间",
+"	$1.SnStoreId = $7; //SN仓库",
+"	$1.EffectStartActDate = $8; //有效开始激活时间",
+"	$1.EffectEndActDate = $9; //有效结束激活时间",
+"	$1.EffectStartCycleDate = $10; //有效开始循环时间",
+"	$1.EffectEndCycleDate = $11; //有效结束循环时间",
+"	$1.ActUserId = $12; //激活奖励创客",
+"	$1.ActiveStatus = $13; //商户激活状态",
+"	$1.StandardDate = $14; //激活日期",
+"	$1.SourceSnNo = $15; //源SN编号",
+"	$1.SourceSnType = $16; //源SN机具类型",
+"	$1.SourceShipDate = $17; //源SN发货时间",
+"	$1.SourceStoreId = $18; //源SN发货你仓库",
+"	$1.Remark = $19; //备注",
+"}"
+]
+},
+"获取机具激活限制信息数量": {
+"prefix": "ym-db-UserSnActInfo-FindAndCount",
+"body": [
+"int $1 = db.UserSnActInfo.Count(m => $2);",
+]
+},
+"添加机具激活限制信息": {
+"prefix": "ym-db-UserSnActInfo-Create",
+"body": [
+"db.UserSnActInfo.Add(new UserSnActInfo()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	BrandId = $2, //产品类型",
+"	SnNo = $3, //SN编号",
+"	SnType = $4, //SN机具类型",
+"	SnShipDate = $5, //发货时间",
+"	SnStoreId = $6, //SN仓库",
+"	EffectStartActDate = $7, //有效开始激活时间",
+"	EffectEndActDate = $8, //有效结束激活时间",
+"	EffectStartCycleDate = $9, //有效开始循环时间",
+"	EffectEndCycleDate = $10, //有效结束循环时间",
+"	ActUserId = $11, //激活奖励创客",
+"	ActiveStatus = $12, //商户激活状态",
+"	StandardDate = $13, //激活日期",
+"	SourceSnNo = $14, //源SN编号",
+"	SourceSnType = $15, //源SN机具类型",
+"	SourceShipDate = $16, //源SN发货时间",
+"	SourceStoreId = $17, //源SN发货你仓库",
+"	Remark = $18, //备注",
+"});"
+]
+},"删除某个机具激活限制信息": {
+"prefix": "ym-db-UserSnActInfo-Delete",
+"body": [
+"UserSnActInfo $1 = db.UserSnActInfo.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserSnActInfo.Remove($1);",
+"}"
+]
+},
+"查询创客机具延迟变动明细表列表": {
+"prefix": "ym-db-UserSnDelayChange-Find",
+"body": [
+"List<UserSnDelayChange> $1 = db.UserSnDelayChange.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserSnDelayChange $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客机具延迟变动明细表列表,并取值": {
+"prefix": "ym-db-UserSnDelayChange-FindWithData",
+"body": [
+"List<UserSnDelayChange> $1 = db.UserSnDelayChange.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserSnDelayChange $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //品牌",
+"	string ChangeRecordNo = $3.ChangeRecordNo; //变更记录单号",
+"	string SnNo = $3.SnNo; //SN编号",
+"	int SnType = $3.SnType; //SN机具类型",
+"	int SnStoreId = $3.SnStoreId; //发货仓库",
+"	string InitCycleDate = $3.InitCycleDate; //初始循环截止时间",
+"	string BeforeEndCycleDate = $3.BeforeEndCycleDate; //变动前循环截止时间",
+"	string AfterEndCycleDate = $3.AfterEndCycleDate; //变动后循环截止时间",
+"	int RecUserId = $3.RecUserId; //招募创客",
+"	int SnDelayDay = $3.SnDelayDay; //机具延时天数",
+"	int ActivityRuleId = $3.ActivityRuleId; //拉新活动",
+"	string SourceSnNo = $3.SourceSnNo; //源SN编号",
+"	int SourceSnType = $3.SourceSnType; //源SN类型",
+"	DateTime SourceSnShipDate = $3.SourceSnShipDate; //源SN发货时间",
+"	int SourceStoreId = $3.SourceStoreId; //源SN发货你仓库",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询创客机具延迟变动明细表": {
+"prefix": "ym-db-UserSnDelayChange-Exist",
+"body": [
+"bool $1 = db.UserSnDelayChange.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客机具延迟变动明细表,并取值": {
+"prefix": "ym-db-UserSnDelayChange-FindByPrimaryKey",
+"body": [
+"UserSnDelayChange $1 = db.UserSnDelayChange.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //品牌",
+"	string ChangeRecordNo = $1.ChangeRecordNo; //变更记录单号",
+"	string SnNo = $1.SnNo; //SN编号",
+"	int SnType = $1.SnType; //SN机具类型",
+"	int SnStoreId = $1.SnStoreId; //发货仓库",
+"	string InitCycleDate = $1.InitCycleDate; //初始循环截止时间",
+"	string BeforeEndCycleDate = $1.BeforeEndCycleDate; //变动前循环截止时间",
+"	string AfterEndCycleDate = $1.AfterEndCycleDate; //变动后循环截止时间",
+"	int RecUserId = $1.RecUserId; //招募创客",
+"	int SnDelayDay = $1.SnDelayDay; //机具延时天数",
+"	int ActivityRuleId = $1.ActivityRuleId; //拉新活动",
+"	string SourceSnNo = $1.SourceSnNo; //源SN编号",
+"	int SourceSnType = $1.SourceSnType; //源SN类型",
+"	DateTime SourceSnShipDate = $1.SourceSnShipDate; //源SN发货时间",
+"	int SourceStoreId = $1.SourceStoreId; //源SN发货你仓库",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个创客机具延迟变动明细表,并赋值": {
+"prefix": "ym-db-UserSnDelayChange-Update",
+"body": [
+"UserSnDelayChange $1 = db.UserSnDelayChange.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.BrandId = $3; //品牌",
+"	$1.ChangeRecordNo = $4; //变更记录单号",
+"	$1.SnNo = $5; //SN编号",
+"	$1.SnType = $6; //SN机具类型",
+"	$1.SnStoreId = $7; //发货仓库",
+"	$1.InitCycleDate = $8; //初始循环截止时间",
+"	$1.BeforeEndCycleDate = $9; //变动前循环截止时间",
+"	$1.AfterEndCycleDate = $10; //变动后循环截止时间",
+"	$1.RecUserId = $11; //招募创客",
+"	$1.SnDelayDay = $12; //机具延时天数",
+"	$1.ActivityRuleId = $13; //拉新活动",
+"	$1.SourceSnNo = $14; //源SN编号",
+"	$1.SourceSnType = $15; //源SN类型",
+"	$1.SourceSnShipDate = $16; //源SN发货时间",
+"	$1.SourceStoreId = $17; //源SN发货你仓库",
+"	$1.Remark = $18; //备注",
+"}"
+]
+},
+"获取创客机具延迟变动明细表数量": {
+"prefix": "ym-db-UserSnDelayChange-FindAndCount",
+"body": [
+"int $1 = db.UserSnDelayChange.Count(m => $2);",
+]
+},
+"添加创客机具延迟变动明细表": {
+"prefix": "ym-db-UserSnDelayChange-Create",
+"body": [
+"db.UserSnDelayChange.Add(new UserSnDelayChange()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	BrandId = $2, //品牌",
+"	ChangeRecordNo = $3, //变更记录单号",
+"	SnNo = $4, //SN编号",
+"	SnType = $5, //SN机具类型",
+"	SnStoreId = $6, //发货仓库",
+"	InitCycleDate = $7, //初始循环截止时间",
+"	BeforeEndCycleDate = $8, //变动前循环截止时间",
+"	AfterEndCycleDate = $9, //变动后循环截止时间",
+"	RecUserId = $10, //招募创客",
+"	SnDelayDay = $11, //机具延时天数",
+"	ActivityRuleId = $12, //拉新活动",
+"	SourceSnNo = $13, //源SN编号",
+"	SourceSnType = $14, //源SN类型",
+"	SourceSnShipDate = $15, //源SN发货时间",
+"	SourceStoreId = $16, //源SN发货你仓库",
+"	Remark = $17, //备注",
+"});"
+]
+},"删除某个创客机具延迟变动明细表": {
+"prefix": "ym-db-UserSnDelayChange-Delete",
+"body": [
+"UserSnDelayChange $1 = db.UserSnDelayChange.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserSnDelayChange.Remove($1);",
+"}"
+]
+},
+"查询创客库存变动记录列表": {
+"prefix": "ym-db-UserStoreChange-Find",
+"body": [
+"List<UserStoreChange> $1 = db.UserStoreChange.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserStoreChange $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客库存变动记录列表,并取值": {
+"prefix": "ym-db-UserStoreChange-FindWithData",
+"body": [
+"List<UserStoreChange> $1 = db.UserStoreChange.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserStoreChange $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int BrandId = $3.BrandId; //产品类型",
+"	string ChangeRecordNo = $3.ChangeRecordNo; //变更记录单号",
+"	int TransType = $3.TransType; //交易类型",
+"	string SnNo = $3.SnNo; //SN编号",
+"	int SnType = $3.SnType; //SN机具类型",
+"	int StockOpDirect = $3.StockOpDirect; //库存操作方向",
+"	string DeviceVendor = $3.DeviceVendor; //设备厂商",
+"	string DeviceType = $3.DeviceType; //设备类型",
+"	string DeviceModel = $3.DeviceModel; //设备型号",
+"	int ToUserId = $3.ToUserId; //收货创客",
+"	int ToStoreId = $3.ToStoreId; //创客退货收货仓库",
+"	DateTime ToDate = $3.ToDate; //入库时间",
+"	string ToRemark = $3.ToRemark; //入库备注",
+"	int SourceStoreId = $3.SourceStoreId; //源仓库",
+"	int SnStatus = $3.SnStatus; //SN状态",
+"	string BizBatchNo = $3.BizBatchNo; //业务批次号",
+"	int BindStatus = $3.BindStatus; //绑定状态",
+"	int BindMerchantId = $3.BindMerchantId; //绑定商户",
+"	int ActiveStatus = $3.ActiveStatus; //激活状态",
+"	int ActRewardUserId = $3.ActRewardUserId; //激活奖励创客",
+"	int FromUserId = $3.FromUserId; //出货创客",
+"	DateTime FromDate = $3.FromDate; //出库时间",
+"	string FromRemark = $3.FromRemark; //出库备注",
+"	string BrandType = $3.BrandType; //品牌类型",
+"}"
+]
+},
+"查询创客库存变动记录": {
+"prefix": "ym-db-UserStoreChange-Exist",
+"body": [
+"bool $1 = db.UserStoreChange.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客库存变动记录,并取值": {
+"prefix": "ym-db-UserStoreChange-FindByPrimaryKey",
+"body": [
+"UserStoreChange $1 = db.UserStoreChange.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int BrandId = $1.BrandId; //产品类型",
+"	string ChangeRecordNo = $1.ChangeRecordNo; //变更记录单号",
+"	int TransType = $1.TransType; //交易类型",
+"	string SnNo = $1.SnNo; //SN编号",
+"	int SnType = $1.SnType; //SN机具类型",
+"	int StockOpDirect = $1.StockOpDirect; //库存操作方向",
+"	string DeviceVendor = $1.DeviceVendor; //设备厂商",
+"	string DeviceType = $1.DeviceType; //设备类型",
+"	string DeviceModel = $1.DeviceModel; //设备型号",
+"	int ToUserId = $1.ToUserId; //收货创客",
+"	int ToStoreId = $1.ToStoreId; //创客退货收货仓库",
+"	DateTime ToDate = $1.ToDate; //入库时间",
+"	string ToRemark = $1.ToRemark; //入库备注",
+"	int SourceStoreId = $1.SourceStoreId; //源仓库",
+"	int SnStatus = $1.SnStatus; //SN状态",
+"	string BizBatchNo = $1.BizBatchNo; //业务批次号",
+"	int BindStatus = $1.BindStatus; //绑定状态",
+"	int BindMerchantId = $1.BindMerchantId; //绑定商户",
+"	int ActiveStatus = $1.ActiveStatus; //激活状态",
+"	int ActRewardUserId = $1.ActRewardUserId; //激活奖励创客",
+"	int FromUserId = $1.FromUserId; //出货创客",
+"	DateTime FromDate = $1.FromDate; //出库时间",
+"	string FromRemark = $1.FromRemark; //出库备注",
+"	string BrandType = $1.BrandType; //品牌类型",
+"}"
+]
+},
+"查询某个创客库存变动记录,并赋值": {
+"prefix": "ym-db-UserStoreChange-Update",
+"body": [
+"UserStoreChange $1 = db.UserStoreChange.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.BrandId = $3; //产品类型",
+"	$1.ChangeRecordNo = $4; //变更记录单号",
+"	$1.TransType = $5; //交易类型",
+"	$1.SnNo = $6; //SN编号",
+"	$1.SnType = $7; //SN机具类型",
+"	$1.StockOpDirect = $8; //库存操作方向",
+"	$1.DeviceVendor = $9; //设备厂商",
+"	$1.DeviceType = $10; //设备类型",
+"	$1.DeviceModel = $11; //设备型号",
+"	$1.ToUserId = $12; //收货创客",
+"	$1.ToStoreId = $13; //创客退货收货仓库",
+"	$1.ToDate = $14; //入库时间",
+"	$1.ToRemark = $15; //入库备注",
+"	$1.SourceStoreId = $16; //源仓库",
+"	$1.SnStatus = $17; //SN状态",
+"	$1.BizBatchNo = $18; //业务批次号",
+"	$1.BindStatus = $19; //绑定状态",
+"	$1.BindMerchantId = $20; //绑定商户",
+"	$1.ActiveStatus = $21; //激活状态",
+"	$1.ActRewardUserId = $22; //激活奖励创客",
+"	$1.FromUserId = $23; //出货创客",
+"	$1.FromDate = $24; //出库时间",
+"	$1.FromRemark = $25; //出库备注",
+"	$1.BrandType = $26; //品牌类型",
+"}"
+]
+},
+"获取创客库存变动记录数量": {
+"prefix": "ym-db-UserStoreChange-FindAndCount",
+"body": [
+"int $1 = db.UserStoreChange.Count(m => $2);",
+]
+},
+"添加创客库存变动记录": {
+"prefix": "ym-db-UserStoreChange-Create",
+"body": [
+"db.UserStoreChange.Add(new UserStoreChange()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	BrandId = $2, //产品类型",
+"	ChangeRecordNo = $3, //变更记录单号",
+"	TransType = $4, //交易类型",
+"	SnNo = $5, //SN编号",
+"	SnType = $6, //SN机具类型",
+"	StockOpDirect = $7, //库存操作方向",
+"	DeviceVendor = $8, //设备厂商",
+"	DeviceType = $9, //设备类型",
+"	DeviceModel = $10, //设备型号",
+"	ToUserId = $11, //收货创客",
+"	ToStoreId = $12, //创客退货收货仓库",
+"	ToDate = $13, //入库时间",
+"	ToRemark = $14, //入库备注",
+"	SourceStoreId = $15, //源仓库",
+"	SnStatus = $16, //SN状态",
+"	BizBatchNo = $17, //业务批次号",
+"	BindStatus = $18, //绑定状态",
+"	BindMerchantId = $19, //绑定商户",
+"	ActiveStatus = $20, //激活状态",
+"	ActRewardUserId = $21, //激活奖励创客",
+"	FromUserId = $22, //出货创客",
+"	FromDate = $23, //出库时间",
+"	FromRemark = $24, //出库备注",
+"	BrandType = $25, //品牌类型",
+"});"
+]
+},"删除某个创客库存变动记录": {
+"prefix": "ym-db-UserStoreChange-Delete",
+"body": [
+"UserStoreChange $1 = db.UserStoreChange.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserStoreChange.Remove($1);",
+"}"
+]
+},
+"查询循环返风控明细信息列表": {
+"prefix": "ym-db-UserSwapDetail-Find",
+"body": [
+"List<UserSwapDetail> $1 = db.UserSwapDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserSwapDetail $3 in $1)",
+"{",
+"}"
+]
+},
+"查询循环返风控明细信息列表,并取值": {
+"prefix": "ym-db-UserSwapDetail-FindWithData",
+"body": [
+"List<UserSwapDetail> $1 = db.UserSwapDetail.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserSwapDetail $3 in $1)",
+"{",
+"	string RecordNo = $3.RecordNo; //单号",
+"	int UserId = $3.UserId; //创客",
+"	string TradeMonth = $3.TradeMonth; //交易月",
+"	string TradeDate = $3.TradeDate; //交易日",
+"	int BrandId = $3.BrandId; //品牌",
+"	string SnNo = $3.SnNo; //风控SN编号",
+"	int SnType = $3.SnType; //风控SN机具类型",
+"	int RiskResult = $3.RiskResult; //循环风控降档状态",
+"	string SwapExtProductTypes = $3.SwapExtProductTypes; //可申请循环产品类型",
+"	decimal DirectSnTradeAmt = $3.DirectSnTradeAmt; //直营商户激活sn交易总额",
+"	string UpSourceSnNo = $3.UpSourceSnNo; //上一个兑换来源SN编码",
+"	int UpSourceSnType = $3.UpSourceSnType; //上一个兑换来源SN机具类型",
+"	string SourceSnNo = $3.SourceSnNo; //源SN编号",
+"	int SourceSnType = $3.SourceSnType; //源SN机具类型",
+"	string Remark = $3.Remark; //备注",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询循环返风控明细信息": {
+"prefix": "ym-db-UserSwapDetail-Exist",
+"body": [
+"bool $1 = db.UserSwapDetail.Any(m => m.Id == $2);",
+]
+},
+"查询某个循环返风控明细信息,并取值": {
+"prefix": "ym-db-UserSwapDetail-FindByPrimaryKey",
+"body": [
+"UserSwapDetail $1 = db.UserSwapDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string RecordNo = $1.RecordNo; //单号",
+"	int UserId = $1.UserId; //创客",
+"	string TradeMonth = $1.TradeMonth; //交易月",
+"	string TradeDate = $1.TradeDate; //交易日",
+"	int BrandId = $1.BrandId; //品牌",
+"	string SnNo = $1.SnNo; //风控SN编号",
+"	int SnType = $1.SnType; //风控SN机具类型",
+"	int RiskResult = $1.RiskResult; //循环风控降档状态",
+"	string SwapExtProductTypes = $1.SwapExtProductTypes; //可申请循环产品类型",
+"	decimal DirectSnTradeAmt = $1.DirectSnTradeAmt; //直营商户激活sn交易总额",
+"	string UpSourceSnNo = $1.UpSourceSnNo; //上一个兑换来源SN编码",
+"	int UpSourceSnType = $1.UpSourceSnType; //上一个兑换来源SN机具类型",
+"	string SourceSnNo = $1.SourceSnNo; //源SN编号",
+"	int SourceSnType = $1.SourceSnType; //源SN机具类型",
+"	string Remark = $1.Remark; //备注",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"}"
+]
+},
+"查询某个循环返风控明细信息,并赋值": {
+"prefix": "ym-db-UserSwapDetail-Update",
+"body": [
+"UserSwapDetail $1 = db.UserSwapDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.RecordNo = $2; //单号",
+"	$1.UserId = $3; //创客",
+"	$1.TradeMonth = $4; //交易月",
+"	$1.TradeDate = $5; //交易日",
+"	$1.BrandId = $6; //品牌",
+"	$1.SnNo = $7; //风控SN编号",
+"	$1.SnType = $8; //风控SN机具类型",
+"	$1.RiskResult = $9; //循环风控降档状态",
+"	$1.SwapExtProductTypes = $10; //可申请循环产品类型",
+"	$1.DirectSnTradeAmt = $11; //直营商户激活sn交易总额",
+"	$1.UpSourceSnNo = $12; //上一个兑换来源SN编码",
+"	$1.UpSourceSnType = $13; //上一个兑换来源SN机具类型",
+"	$1.SourceSnNo = $14; //源SN编号",
+"	$1.SourceSnType = $15; //源SN机具类型",
+"	$1.Remark = $16; //备注",
+"	$1.TopUserId = $17; //顶级创客",
+"}"
+]
+},
+"获取循环返风控明细信息数量": {
+"prefix": "ym-db-UserSwapDetail-FindAndCount",
+"body": [
+"int $1 = db.UserSwapDetail.Count(m => $2);",
+]
+},
+"添加循环返风控明细信息": {
+"prefix": "ym-db-UserSwapDetail-Create",
+"body": [
+"db.UserSwapDetail.Add(new UserSwapDetail()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	RecordNo = $1, //单号",
+"	UserId = $2, //创客",
+"	TradeMonth = $3, //交易月",
+"	TradeDate = $4, //交易日",
+"	BrandId = $5, //品牌",
+"	SnNo = $6, //风控SN编号",
+"	SnType = $7, //风控SN机具类型",
+"	RiskResult = $8, //循环风控降档状态",
+"	SwapExtProductTypes = $9, //可申请循环产品类型",
+"	DirectSnTradeAmt = $10, //直营商户激活sn交易总额",
+"	UpSourceSnNo = $11, //上一个兑换来源SN编码",
+"	UpSourceSnType = $12, //上一个兑换来源SN机具类型",
+"	SourceSnNo = $13, //源SN编号",
+"	SourceSnType = $14, //源SN机具类型",
+"	Remark = $15, //备注",
+"	TopUserId = $16, //顶级创客",
+"});"
+]
+},"删除某个循环返风控明细信息": {
+"prefix": "ym-db-UserSwapDetail-Delete",
+"body": [
+"UserSwapDetail $1 = db.UserSwapDetail.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserSwapDetail.Remove($1);",
+"}"
+]
+},
+"查询创客循环返风控月汇总列表": {
+"prefix": "ym-db-UserSwapSummary-Find",
+"body": [
+"List<UserSwapSummary> $1 = db.UserSwapSummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserSwapSummary $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客循环返风控月汇总列表,并取值": {
+"prefix": "ym-db-UserSwapSummary-FindWithData",
+"body": [
+"List<UserSwapSummary> $1 = db.UserSwapSummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserSwapSummary $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int TopUserId = $3.TopUserId; //顶级创客",
+"	string TradeMonth = $3.TradeMonth; //交易月",
+"	int BrandId = $3.BrandId; //品牌",
+"	int DirectActMerCount = $3.DirectActMerCount; //上月直营激活商户数",
+"	decimal DirectTradeAmt = $3.DirectTradeAmt; //直营商户新增激活交易户均总额",
+"	decimal DirAvgTradeAmt = $3.DirAvgTradeAmt; //户均",
+"	int RiskStatus = $3.RiskStatus; //循环风控降档状态",
+"	string SwapExtProductTypes = $3.SwapExtProductTypes; //可申请循环产品类型",
+"	int RuleId = $3.RuleId; //规则",
+"}"
+]
+},
+"查询创客循环返风控月汇总": {
+"prefix": "ym-db-UserSwapSummary-Exist",
+"body": [
+"bool $1 = db.UserSwapSummary.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客循环返风控月汇总,并取值": {
+"prefix": "ym-db-UserSwapSummary-FindByPrimaryKey",
+"body": [
+"UserSwapSummary $1 = db.UserSwapSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int TopUserId = $1.TopUserId; //顶级创客",
+"	string TradeMonth = $1.TradeMonth; //交易月",
+"	int BrandId = $1.BrandId; //品牌",
+"	int DirectActMerCount = $1.DirectActMerCount; //上月直营激活商户数",
+"	decimal DirectTradeAmt = $1.DirectTradeAmt; //直营商户新增激活交易户均总额",
+"	decimal DirAvgTradeAmt = $1.DirAvgTradeAmt; //户均",
+"	int RiskStatus = $1.RiskStatus; //循环风控降档状态",
+"	string SwapExtProductTypes = $1.SwapExtProductTypes; //可申请循环产品类型",
+"	int RuleId = $1.RuleId; //规则",
+"}"
+]
+},
+"查询某个创客循环返风控月汇总,并赋值": {
+"prefix": "ym-db-UserSwapSummary-Update",
+"body": [
+"UserSwapSummary $1 = db.UserSwapSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.TopUserId = $3; //顶级创客",
+"	$1.TradeMonth = $4; //交易月",
+"	$1.BrandId = $5; //品牌",
+"	$1.DirectActMerCount = $6; //上月直营激活商户数",
+"	$1.DirectTradeAmt = $7; //直营商户新增激活交易户均总额",
+"	$1.DirAvgTradeAmt = $8; //户均",
+"	$1.RiskStatus = $9; //循环风控降档状态",
+"	$1.SwapExtProductTypes = $10; //可申请循环产品类型",
+"	$1.RuleId = $11; //规则",
+"}"
+]
+},
+"获取创客循环返风控月汇总数量": {
+"prefix": "ym-db-UserSwapSummary-FindAndCount",
+"body": [
+"int $1 = db.UserSwapSummary.Count(m => $2);",
+]
+},
+"添加创客循环返风控月汇总": {
+"prefix": "ym-db-UserSwapSummary-Create",
+"body": [
+"db.UserSwapSummary.Add(new UserSwapSummary()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	TopUserId = $2, //顶级创客",
+"	TradeMonth = $3, //交易月",
+"	BrandId = $4, //品牌",
+"	DirectActMerCount = $5, //上月直营激活商户数",
+"	DirectTradeAmt = $6, //直营商户新增激活交易户均总额",
+"	DirAvgTradeAmt = $7, //户均",
+"	RiskStatus = $8, //循环风控降档状态",
+"	SwapExtProductTypes = $9, //可申请循环产品类型",
+"	RuleId = $10, //规则",
+"});"
+]
+},"删除某个创客循环返风控月汇总": {
+"prefix": "ym-db-UserSwapSummary-Delete",
+"body": [
+"UserSwapSummary $1 = db.UserSwapSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserSwapSummary.Remove($1);",
+"}"
+]
+},
+"查询循环返风控白名单列表": {
+"prefix": "ym-db-UserSwapWhite-Find",
+"body": [
+"List<UserSwapWhite> $1 = db.UserSwapWhite.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserSwapWhite $3 in $1)",
+"{",
+"}"
+]
+},
+"查询循环返风控白名单列表,并取值": {
+"prefix": "ym-db-UserSwapWhite-FindWithData",
+"body": [
+"List<UserSwapWhite> $1 = db.UserSwapWhite.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserSwapWhite $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	int RiskType = $3.RiskType; //风控类型",
+"	int BrandId = $3.BrandId; //品牌",
+"	DateTime StartEffectTime = $3.StartEffectTime; //生效开始时间",
+"	DateTime EndEffectTime = $3.EndEffectTime; //生效截止时间",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询循环返风控白名单": {
+"prefix": "ym-db-UserSwapWhite-Exist",
+"body": [
+"bool $1 = db.UserSwapWhite.Any(m => m.Id == $2);",
+]
+},
+"查询某个循环返风控白名单,并取值": {
+"prefix": "ym-db-UserSwapWhite-FindByPrimaryKey",
+"body": [
+"UserSwapWhite $1 = db.UserSwapWhite.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	int RiskType = $1.RiskType; //风控类型",
+"	int BrandId = $1.BrandId; //品牌",
+"	DateTime StartEffectTime = $1.StartEffectTime; //生效开始时间",
+"	DateTime EndEffectTime = $1.EndEffectTime; //生效截止时间",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个循环返风控白名单,并赋值": {
+"prefix": "ym-db-UserSwapWhite-Update",
+"body": [
+"UserSwapWhite $1 = db.UserSwapWhite.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.RiskType = $3; //风控类型",
+"	$1.BrandId = $4; //品牌",
+"	$1.StartEffectTime = $5; //生效开始时间",
+"	$1.EndEffectTime = $6; //生效截止时间",
+"	$1.Remark = $7; //备注",
+"}"
+]
+},
+"获取循环返风控白名单数量": {
+"prefix": "ym-db-UserSwapWhite-FindAndCount",
+"body": [
+"int $1 = db.UserSwapWhite.Count(m => $2);",
+]
+},
+"添加循环返风控白名单": {
+"prefix": "ym-db-UserSwapWhite-Create",
+"body": [
+"db.UserSwapWhite.Add(new UserSwapWhite()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	RiskType = $2, //风控类型",
+"	BrandId = $3, //品牌",
+"	StartEffectTime = $4, //生效开始时间",
+"	EndEffectTime = $5, //生效截止时间",
+"	Remark = $6, //备注",
+"});"
+]
+},"删除某个循环返风控白名单": {
+"prefix": "ym-db-UserSwapWhite-Delete",
+"body": [
+"UserSwapWhite $1 = db.UserSwapWhite.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserSwapWhite.Remove($1);",
+"}"
+]
+},
+"查询创客交易日汇总列表": {
+"prefix": "ym-db-UserTradeDaySummary-Find",
+"body": [
+"List<UserTradeDaySummary> $1 = db.UserTradeDaySummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserTradeDaySummary $3 in $1)",
+"{",
+"}"
+]
+},
+"查询创客交易日汇总列表,并取值": {
+"prefix": "ym-db-UserTradeDaySummary-FindWithData",
+"body": [
+"List<UserTradeDaySummary> $1 = db.UserTradeDaySummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserTradeDaySummary $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	string TradeDate = $3.TradeDate; //交易日",
+"	string TradeMonth = $3.TradeMonth; //交易月",
+"	int BrandId = $3.BrandId; //品牌",
+"	decimal DirectTradeAmt = $3.DirectTradeAmt; //直营商户交易总额",
+"	decimal NonDirectTradeAmt = $3.NonDirectTradeAmt; //非直营商户交易总额",
+"	decimal DirectDebitTradeAmt = $3.DirectDebitTradeAmt; //直营商户借记卡交易总额",
+"	int DirectDebitCapNum = $3.DirectDebitCapNum; //直营激活商户数",
+"	decimal NonDirectDebitTradeAmt = $3.NonDirectDebitTradeAmt; //非直营商户借记卡交易总额",
+"	int NonDirectDebitCapNum = $3.NonDirectDebitCapNum; //非直营激活商户数",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询创客交易日汇总": {
+"prefix": "ym-db-UserTradeDaySummary-Exist",
+"body": [
+"bool $1 = db.UserTradeDaySummary.Any(m => m.Id == $2);",
+]
+},
+"查询某个创客交易日汇总,并取值": {
+"prefix": "ym-db-UserTradeDaySummary-FindByPrimaryKey",
+"body": [
+"UserTradeDaySummary $1 = db.UserTradeDaySummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	string TradeDate = $1.TradeDate; //交易日",
+"	string TradeMonth = $1.TradeMonth; //交易月",
+"	int BrandId = $1.BrandId; //品牌",
+"	decimal DirectTradeAmt = $1.DirectTradeAmt; //直营商户交易总额",
+"	decimal NonDirectTradeAmt = $1.NonDirectTradeAmt; //非直营商户交易总额",
+"	decimal DirectDebitTradeAmt = $1.DirectDebitTradeAmt; //直营商户借记卡交易总额",
+"	int DirectDebitCapNum = $1.DirectDebitCapNum; //直营激活商户数",
+"	decimal NonDirectDebitTradeAmt = $1.NonDirectDebitTradeAmt; //非直营商户借记卡交易总额",
+"	int NonDirectDebitCapNum = $1.NonDirectDebitCapNum; //非直营激活商户数",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个创客交易日汇总,并赋值": {
+"prefix": "ym-db-UserTradeDaySummary-Update",
+"body": [
+"UserTradeDaySummary $1 = db.UserTradeDaySummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.TradeDate = $3; //交易日",
+"	$1.TradeMonth = $4; //交易月",
+"	$1.BrandId = $5; //品牌",
+"	$1.DirectTradeAmt = $6; //直营商户交易总额",
+"	$1.NonDirectTradeAmt = $7; //非直营商户交易总额",
+"	$1.DirectDebitTradeAmt = $8; //直营商户借记卡交易总额",
+"	$1.DirectDebitCapNum = $9; //直营激活商户数",
+"	$1.NonDirectDebitTradeAmt = $10; //非直营商户借记卡交易总额",
+"	$1.NonDirectDebitCapNum = $11; //非直营激活商户数",
+"	$1.Remark = $12; //备注",
+"}"
+]
+},
+"获取创客交易日汇总数量": {
+"prefix": "ym-db-UserTradeDaySummary-FindAndCount",
+"body": [
+"int $1 = db.UserTradeDaySummary.Count(m => $2);",
+]
+},
+"添加创客交易日汇总": {
+"prefix": "ym-db-UserTradeDaySummary-Create",
+"body": [
+"db.UserTradeDaySummary.Add(new UserTradeDaySummary()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	TradeDate = $2, //交易日",
+"	TradeMonth = $3, //交易月",
+"	BrandId = $4, //品牌",
+"	DirectTradeAmt = $5, //直营商户交易总额",
+"	NonDirectTradeAmt = $6, //非直营商户交易总额",
+"	DirectDebitTradeAmt = $7, //直营商户借记卡交易总额",
+"	DirectDebitCapNum = $8, //直营激活商户数",
+"	NonDirectDebitTradeAmt = $9, //非直营商户借记卡交易总额",
+"	NonDirectDebitCapNum = $10, //非直营激活商户数",
+"	Remark = $11, //备注",
+"});"
+]
+},"删除某个创客交易日汇总": {
+"prefix": "ym-db-UserTradeDaySummary-Delete",
+"body": [
+"UserTradeDaySummary $1 = db.UserTradeDaySummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserTradeDaySummary.Remove($1);",
+"}"
+]
+},
+"查询交易按产品汇总列表": {
+"prefix": "ym-db-UserTradeMonthSummary-Find",
+"body": [
+"List<UserTradeMonthSummary> $1 = db.UserTradeMonthSummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserTradeMonthSummary $3 in $1)",
+"{",
+"}"
+]
+},
+"查询交易按产品汇总列表,并取值": {
+"prefix": "ym-db-UserTradeMonthSummary-FindWithData",
+"body": [
+"List<UserTradeMonthSummary> $1 = db.UserTradeMonthSummary.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (UserTradeMonthSummary $3 in $1)",
+"{",
+"	int UserId = $3.UserId; //创客",
+"	string TradeMonth = $3.TradeMonth; //交易月",
+"	int BrandId = $3.BrandId; //品牌",
+"	int StatType = $3.StatType; //交易统计类型",
+"	decimal TradeAmt = $3.TradeAmt; //商户交易总额",
+"	decimal CreditTradeAmt = $3.CreditTradeAmt; //商户贷记卡交易总金额",
+"	decimal DebitNotCapTradeAmt = $3.DebitNotCapTradeAmt; //商户非封顶借记卡交易总金额",
+"	decimal DebitCapTradeAmt = $3.DebitCapTradeAmt; //商户借记卡封顶交易总额",
+"	int DebitCapTradeNum = $3.DebitCapTradeNum; //商户借记卡封顶交易总笔数",
+"	int MallPosOrderStatus = $3.MallPosOrderStatus; //商城购买机具状态",
+"	int ActiveBuddyMerStatus = $3.ActiveBuddyMerStatus; //激活创客同名商户",
+"	string Remark = $3.Remark; //备注",
+"}"
+]
+},
+"查询交易按产品汇总": {
+"prefix": "ym-db-UserTradeMonthSummary-Exist",
+"body": [
+"bool $1 = db.UserTradeMonthSummary.Any(m => m.Id == $2);",
+]
+},
+"查询某个交易按产品汇总,并取值": {
+"prefix": "ym-db-UserTradeMonthSummary-FindByPrimaryKey",
+"body": [
+"UserTradeMonthSummary $1 = db.UserTradeMonthSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	int UserId = $1.UserId; //创客",
+"	string TradeMonth = $1.TradeMonth; //交易月",
+"	int BrandId = $1.BrandId; //品牌",
+"	int StatType = $1.StatType; //交易统计类型",
+"	decimal TradeAmt = $1.TradeAmt; //商户交易总额",
+"	decimal CreditTradeAmt = $1.CreditTradeAmt; //商户贷记卡交易总金额",
+"	decimal DebitNotCapTradeAmt = $1.DebitNotCapTradeAmt; //商户非封顶借记卡交易总金额",
+"	decimal DebitCapTradeAmt = $1.DebitCapTradeAmt; //商户借记卡封顶交易总额",
+"	int DebitCapTradeNum = $1.DebitCapTradeNum; //商户借记卡封顶交易总笔数",
+"	int MallPosOrderStatus = $1.MallPosOrderStatus; //商城购买机具状态",
+"	int ActiveBuddyMerStatus = $1.ActiveBuddyMerStatus; //激活创客同名商户",
+"	string Remark = $1.Remark; //备注",
+"}"
+]
+},
+"查询某个交易按产品汇总,并赋值": {
+"prefix": "ym-db-UserTradeMonthSummary-Update",
+"body": [
+"UserTradeMonthSummary $1 = db.UserTradeMonthSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.UserId = $2; //创客",
+"	$1.TradeMonth = $3; //交易月",
+"	$1.BrandId = $4; //品牌",
+"	$1.StatType = $5; //交易统计类型",
+"	$1.TradeAmt = $6; //商户交易总额",
+"	$1.CreditTradeAmt = $7; //商户贷记卡交易总金额",
+"	$1.DebitNotCapTradeAmt = $8; //商户非封顶借记卡交易总金额",
+"	$1.DebitCapTradeAmt = $9; //商户借记卡封顶交易总额",
+"	$1.DebitCapTradeNum = $10; //商户借记卡封顶交易总笔数",
+"	$1.MallPosOrderStatus = $11; //商城购买机具状态",
+"	$1.ActiveBuddyMerStatus = $12; //激活创客同名商户",
+"	$1.Remark = $13; //备注",
+"}"
+]
+},
+"获取交易按产品汇总数量": {
+"prefix": "ym-db-UserTradeMonthSummary-FindAndCount",
+"body": [
+"int $1 = db.UserTradeMonthSummary.Count(m => $2);",
+]
+},
+"添加交易按产品汇总": {
+"prefix": "ym-db-UserTradeMonthSummary-Create",
+"body": [
+"db.UserTradeMonthSummary.Add(new UserTradeMonthSummary()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	UserId = $1, //创客",
+"	TradeMonth = $2, //交易月",
+"	BrandId = $3, //品牌",
+"	StatType = $4, //交易统计类型",
+"	TradeAmt = $5, //商户交易总额",
+"	CreditTradeAmt = $6, //商户贷记卡交易总金额",
+"	DebitNotCapTradeAmt = $7, //商户非封顶借记卡交易总金额",
+"	DebitCapTradeAmt = $8, //商户借记卡封顶交易总额",
+"	DebitCapTradeNum = $9, //商户借记卡封顶交易总笔数",
+"	MallPosOrderStatus = $10, //商城购买机具状态",
+"	ActiveBuddyMerStatus = $11, //激活创客同名商户",
+"	Remark = $12, //备注",
+"});"
+]
+},"删除某个交易按产品汇总": {
+"prefix": "ym-db-UserTradeMonthSummary-Delete",
+"body": [
+"UserTradeMonthSummary $1 = db.UserTradeMonthSummary.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.UserTradeMonthSummary.Remove($1);",
+"}"
+]
+},
+}

+ 55 - 0
.vscode/public.code-snippets

@@ -0,0 +1,55 @@
+{
+	// Place your 全局 snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and 
+	// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope 
+	// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is 
+	// used to trigger the snippet and the body will be expanded and inserted. Possible variables are: 
+	// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. 
+	// Placeholders with the same ids are connected.
+	// Example:
+	// "Print to console": {
+	// 	"scope": "javascript,typescript",
+	// 	"prefix": "log",
+	// 	"body": [
+	// 		"console.log('$1');",
+	// 		"$2"
+	// 	],
+	// 	"description": "Log output to console"
+	// }
+
+	"定义字符字典变量": {
+		"prefix": "dic-string",
+		"body": [
+			"Dictionary<string, string> $1 = new Dictionary<string, string>();",
+		]
+	},
+	"定义对象字典变量": {
+		"prefix": "dic-object",
+		"body": [
+			"Dictionary<string, object> $1 = new Dictionary<string, object>();",
+		]
+	},
+	"定义字符数组": {
+		"prefix": "list-string",
+		"body": [
+			"List<string> $1 = new List<string>();",
+		]
+	},
+	"定义整形数组": {
+		"prefix": "list-int",
+		"body": [
+			"List<int> $1 = new List<int>();",
+		]
+	},
+	"定义字符字典数组": {
+		"prefix": "ld-string",
+		"body": [
+			"List<Dictionary<string, string>> $1 = new List<Dictionary<string, string>>();",
+		]
+	},
+	"定义对象字典数组": {
+		"prefix": "ld-object",
+		"body": [
+			"List<Dictionary<string, object>> $1 = new List<Dictionary<string, object>>();",
+		]
+	}
+}

+ 2813 - 0
.vscode/spdb.code-snippets

@@ -0,0 +1,2813 @@
+{"查询激活记录列表": {
+"prefix": "ym-db-ActivateRecord-Find",
+"body": [
+"List<ActivateRecord> $1 = db.ActivateRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ActivateRecord $3 in $1)",
+"{",
+"}"
+]
+},
+"查询激活记录列表,并取值": {
+"prefix": "ym-db-ActivateRecord-FindWithData",
+"body": [
+"List<ActivateRecord> $1 = db.ActivateRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ActivateRecord $3 in $1)",
+"{",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	string MerMobile = $3.MerMobile; //商户手机号",
+"	string SnNo = $3.SnNo; //终端机身号",
+"	DateTime MerRegDate = $3.MerRegDate; //注册日期",
+"	string AssessMonth = $3.AssessMonth; //考核月",
+"	string AssessMonthCount = $3.AssessMonthCount; //考核第几月",
+"	string ActivateStatus = $3.ActivateStatus; //激活状态",
+"	DateTime ActivateDate = $3.ActivateDate; //激活日期",
+"	string MerRealName = $3.MerRealName; //商户真实姓名",
+"	string MerIdcardNo = $3.MerIdcardNo; //商户身份证号",
+"	string BizEnterNo = $3.BizEnterNo; //业务员编号",
+"	string BizEnterName = $3.BizEnterName; //业务员名称",
+"	string Remark = $3.Remark; //备注",
+"	string AgentNo = $3.AgentNo; //代理商编号",
+"	string ProductType = $3.ProductType; //产品类型",
+"	string ChannelSerial = $3.ChannelSerial; //渠道流水号",
+"}"
+]
+},
+"查询激活记录": {
+"prefix": "ym-db-ActivateRecord-Exist",
+"body": [
+"bool $1 = db.ActivateRecord.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个激活记录,并取值": {
+"prefix": "ym-db-ActivateRecord-FindByPrimaryKey",
+"body": [
+"ActivateRecord $1 = db.ActivateRecord.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	string MerMobile = $1.MerMobile; //商户手机号",
+"	string SnNo = $1.SnNo; //终端机身号",
+"	DateTime MerRegDate = $1.MerRegDate; //注册日期",
+"	string AssessMonth = $1.AssessMonth; //考核月",
+"	string AssessMonthCount = $1.AssessMonthCount; //考核第几月",
+"	string ActivateStatus = $1.ActivateStatus; //激活状态",
+"	DateTime ActivateDate = $1.ActivateDate; //激活日期",
+"	string MerRealName = $1.MerRealName; //商户真实姓名",
+"	string MerIdcardNo = $1.MerIdcardNo; //商户身份证号",
+"	string BizEnterNo = $1.BizEnterNo; //业务员编号",
+"	string BizEnterName = $1.BizEnterName; //业务员名称",
+"	string Remark = $1.Remark; //备注",
+"	string AgentNo = $1.AgentNo; //代理商编号",
+"	string ProductType = $1.ProductType; //产品类型",
+"	string ChannelSerial = $1.ChannelSerial; //渠道流水号",
+"}"
+]
+},
+"查询某个激活记录,并赋值": {
+"prefix": "ym-db-ActivateRecord-Update",
+"body": [
+"ActivateRecord $1 = db.ActivateRecord.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.MerNo = $2; //商户编号",
+"	$1.MerName = $3; //商户名称",
+"	$1.MerMobile = $4; //商户手机号",
+"	$1.SnNo = $5; //终端机身号",
+"	$1.MerRegDate = $6; //注册日期",
+"	$1.AssessMonth = $7; //考核月",
+"	$1.AssessMonthCount = $8; //考核第几月",
+"	$1.ActivateStatus = $9; //激活状态",
+"	$1.ActivateDate = $10; //激活日期",
+"	$1.MerRealName = $11; //商户真实姓名",
+"	$1.MerIdcardNo = $12; //商户身份证号",
+"	$1.BizEnterNo = $13; //业务员编号",
+"	$1.BizEnterName = $14; //业务员名称",
+"	$1.Remark = $15; //备注",
+"	$1.AgentNo = $16; //代理商编号",
+"	$1.ProductType = $17; //产品类型",
+"	$1.ChannelSerial = $18; //渠道流水号",
+"}"
+]
+},
+"获取激活记录数量": {
+"prefix": "ym-db-ActivateRecord-FindAndCount",
+"body": [
+"int $1 = db.ActivateRecord.Count(m => $2);",
+]
+},
+"添加激活记录": {
+"prefix": "ym-db-ActivateRecord-Create",
+"body": [
+"db.ActivateRecord.Add(new ActivateRecord()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	MerNo = $1, //商户编号",
+"	MerName = $2, //商户名称",
+"	MerMobile = $3, //商户手机号",
+"	SnNo = $4, //终端机身号",
+"	MerRegDate = $5, //注册日期",
+"	AssessMonth = $6, //考核月",
+"	AssessMonthCount = $7, //考核第几月",
+"	ActivateStatus = $8, //激活状态",
+"	ActivateDate = $9, //激活日期",
+"	MerRealName = $10, //商户真实姓名",
+"	MerIdcardNo = $11, //商户身份证号",
+"	BizEnterNo = $12, //业务员编号",
+"	BizEnterName = $13, //业务员名称",
+"	Remark = $14, //备注",
+"	AgentNo = $15, //代理商编号",
+"	ProductType = $16, //产品类型",
+"	ChannelSerial = $17, //渠道流水号",
+"});"
+]
+},"删除某个激活记录": {
+"prefix": "ym-db-ActivateRecord-Delete",
+"body": [
+"ActivateRecord $1 = db.ActivateRecord.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.ActivateRecord.Remove($1);",
+"}"
+]
+},
+"查询绑定记录列表": {
+"prefix": "ym-db-BindRecord-Find",
+"body": [
+"List<BindRecord> $1 = db.BindRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (BindRecord $3 in $1)",
+"{",
+"}"
+]
+},
+"查询绑定记录列表,并取值": {
+"prefix": "ym-db-BindRecord-FindWithData",
+"body": [
+"List<BindRecord> $1 = db.BindRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (BindRecord $3 in $1)",
+"{",
+"	string AgentName = $3.AgentName; //机构名称",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	string MerSnNo = $3.MerSnNo; //终端机身号",
+"	DateTime MerOperateDate = $3.MerOperateDate; //操作时间",
+"	string MerOperateType = $3.MerOperateType; //操作类型",
+"	string MerStatus = $3.MerStatus; //商户状态",
+"	string ProductType = $3.ProductType; //产品类型",
+"	string MerNewSnNo = $3.MerNewSnNo; //新终端机身号",
+"	string Remark = $3.Remark; //注释",
+"	DateTime CreateTime = $3.CreateTime; //创建时间",
+"	DateTime UpdateTime = $3.UpdateTime; //更新时间",
+"	string ChannelSerial = $3.ChannelSerial; //渠道流水号",
+"}"
+]
+},
+"查询绑定记录": {
+"prefix": "ym-db-BindRecord-Exist",
+"body": [
+"bool $1 = db.BindRecord.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个绑定记录,并取值": {
+"prefix": "ym-db-BindRecord-FindByPrimaryKey",
+"body": [
+"BindRecord $1 = db.BindRecord.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string AgentName = $1.AgentName; //机构名称",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	string MerSnNo = $1.MerSnNo; //终端机身号",
+"	DateTime MerOperateDate = $1.MerOperateDate; //操作时间",
+"	string MerOperateType = $1.MerOperateType; //操作类型",
+"	string MerStatus = $1.MerStatus; //商户状态",
+"	string ProductType = $1.ProductType; //产品类型",
+"	string MerNewSnNo = $1.MerNewSnNo; //新终端机身号",
+"	string Remark = $1.Remark; //注释",
+"	DateTime CreateTime = $1.CreateTime; //创建时间",
+"	DateTime UpdateTime = $1.UpdateTime; //更新时间",
+"	string ChannelSerial = $1.ChannelSerial; //渠道流水号",
+"}"
+]
+},
+"查询某个绑定记录,并赋值": {
+"prefix": "ym-db-BindRecord-Update",
+"body": [
+"BindRecord $1 = db.BindRecord.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.AgentName = $2; //机构名称",
+"	$1.MerNo = $3; //商户编号",
+"	$1.MerName = $4; //商户名称",
+"	$1.MerSnNo = $5; //终端机身号",
+"	$1.MerOperateDate = $6; //操作时间",
+"	$1.MerOperateType = $7; //操作类型",
+"	$1.MerStatus = $8; //商户状态",
+"	$1.ProductType = $9; //产品类型",
+"	$1.MerNewSnNo = $10; //新终端机身号",
+"	$1.Remark = $11; //注释",
+"	$1.CreateTime = $12; //创建时间",
+"	$1.UpdateTime = $13; //更新时间",
+"	$1.ChannelSerial = $14; //渠道流水号",
+"}"
+]
+},
+"获取绑定记录数量": {
+"prefix": "ym-db-BindRecord-FindAndCount",
+"body": [
+"int $1 = db.BindRecord.Count(m => $2);",
+]
+},
+"添加绑定记录": {
+"prefix": "ym-db-BindRecord-Create",
+"body": [
+"db.BindRecord.Add(new BindRecord()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	AgentName = $1, //机构名称",
+"	MerNo = $2, //商户编号",
+"	MerName = $3, //商户名称",
+"	MerSnNo = $4, //终端机身号",
+"	MerOperateDate = $5, //操作时间",
+"	MerOperateType = $6, //操作类型",
+"	MerStatus = $7, //商户状态",
+"	ProductType = $8, //产品类型",
+"	MerNewSnNo = $9, //新终端机身号",
+"	Remark = $10, //注释",
+"	CreateTime = $11, //创建时间",
+"	UpdateTime = $12, //更新时间",
+"	ChannelSerial = $13, //渠道流水号",
+"});"
+]
+},"删除某个绑定记录": {
+"prefix": "ym-db-BindRecord-Delete",
+"body": [
+"BindRecord $1 = db.BindRecord.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.BindRecord.Remove($1);",
+"}"
+]
+},
+"查询自建表创建记录列表": {
+"prefix": "ym-db-CustomerTableRecord-Find",
+"body": [
+"List<CustomerTableRecord> $1 = db.CustomerTableRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (CustomerTableRecord $3 in $1)",
+"{",
+"}"
+]
+},
+"查询自建表创建记录列表,并取值": {
+"prefix": "ym-db-CustomerTableRecord-FindWithData",
+"body": [
+"List<CustomerTableRecord> $1 = db.CustomerTableRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (CustomerTableRecord $3 in $1)",
+"{",
+"	string TableEnName = $3.TableEnName; //表名",
+"	DateTime CreateDate = $3.CreateDate; //创建时间",
+"	DateTime AddTableDate = $3.AddTableDate; //分表时间",
+"}"
+]
+},
+"查询自建表创建记录": {
+"prefix": "ym-db-CustomerTableRecord-Exist",
+"body": [
+"bool $1 = db.CustomerTableRecord.Any(m => m.TableEnName == $2);",
+]
+},
+"查询某个自建表创建记录,并取值": {
+"prefix": "ym-db-CustomerTableRecord-FindByPrimaryKey",
+"body": [
+"CustomerTableRecord $1 = db.CustomerTableRecord.FirstOrDefault(m => m.TableEnName == $2);",
+"if ($1 != null)",
+"{",
+"	string TableEnName = $1.TableEnName; //表名",
+"	DateTime CreateDate = $1.CreateDate; //创建时间",
+"	DateTime AddTableDate = $1.AddTableDate; //分表时间",
+"}"
+]
+},
+"查询某个自建表创建记录,并赋值": {
+"prefix": "ym-db-CustomerTableRecord-Update",
+"body": [
+"CustomerTableRecord $1 = db.CustomerTableRecord.FirstOrDefault(m => m.TableEnName == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TableEnName = $2; //表名",
+"	$1.CreateDate = $3; //创建时间",
+"	$1.AddTableDate = $4; //分表时间",
+"}"
+]
+},
+"获取自建表创建记录数量": {
+"prefix": "ym-db-CustomerTableRecord-FindAndCount",
+"body": [
+"int $1 = db.CustomerTableRecord.Count(m => $2);",
+]
+},
+"添加自建表创建记录": {
+"prefix": "ym-db-CustomerTableRecord-Create",
+"body": [
+"db.CustomerTableRecord.Add(new CustomerTableRecord()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TableEnName = $1, //表名",
+"	CreateDate = $2, //创建时间",
+"	AddTableDate = $3, //分表时间",
+"});"
+]
+},"删除某个自建表创建记录": {
+"prefix": "ym-db-CustomerTableRecord-Delete",
+"body": [
+"CustomerTableRecord $1 = db.CustomerTableRecord.FirstOrDefault(m => m.TableEnName == $2);",
+"if ($1 != null)",
+"{",
+"	db.CustomerTableRecord.Remove($1);",
+"}"
+]
+},
+"查询快钱MPOS激活抓取列表": {
+"prefix": "ym-db-KqActivate-Find",
+"body": [
+"List<KqActivate> $1 = db.KqActivate.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqActivate $3 in $1)",
+"{",
+"}"
+]
+},
+"查询快钱MPOS激活抓取列表,并取值": {
+"prefix": "ym-db-KqActivate-FindWithData",
+"body": [
+"List<KqActivate> $1 = db.KqActivate.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqActivate $3 in $1)",
+"{",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	string MerMobile = $3.MerMobile; //商户手机号",
+"	string ProductType = $3.ProductType; //产品类型",
+"	string MerSnNo = $3.MerSnNo; //终端机身号",
+"	DateTime MerRegDate = $3.MerRegDate; //注册日期",
+"	string AssessMonth = $3.AssessMonth; //考核月",
+"	string AssessMonthCount = $3.AssessMonthCount; //考核第几月",
+"	string ActivateStatus = $3.ActivateStatus; //激活状态",
+"	DateTime ActivateDate = $3.ActivateDate; //激活日期",
+"	string MerRealName = $3.MerRealName; //商户真实姓名",
+"	string MerIdcardNo = $3.MerIdcardNo; //商户身份证号",
+"	string BizEnterNo = $3.BizEnterNo; //业务员编号",
+"	string BizEnterName = $3.BizEnterName; //业务员名称",
+"	string ActVerifyFlag = $3.ActVerifyFlag; //激活验证标识",
+"	string Remark = $3.Remark; //注释",
+"	DateTime CreateTime = $3.CreateTime; //创建时间",
+"	DateTime UpdateTime = $3.UpdateTime; //更新时间",
+"	string SourceType = $3.SourceType; //来源类型",
+"	string ActNo = $3.ActNo; //押金活动ID",
+"	string ActName = $3.ActName; //押金活动名称",
+"}"
+]
+},
+"查询快钱MPOS激活抓取": {
+"prefix": "ym-db-KqActivate-Exist",
+"body": [
+"bool $1 = db.KqActivate.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个快钱MPOS激活抓取,并取值": {
+"prefix": "ym-db-KqActivate-FindByPrimaryKey",
+"body": [
+"KqActivate $1 = db.KqActivate.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	string MerMobile = $1.MerMobile; //商户手机号",
+"	string ProductType = $1.ProductType; //产品类型",
+"	string MerSnNo = $1.MerSnNo; //终端机身号",
+"	DateTime MerRegDate = $1.MerRegDate; //注册日期",
+"	string AssessMonth = $1.AssessMonth; //考核月",
+"	string AssessMonthCount = $1.AssessMonthCount; //考核第几月",
+"	string ActivateStatus = $1.ActivateStatus; //激活状态",
+"	DateTime ActivateDate = $1.ActivateDate; //激活日期",
+"	string MerRealName = $1.MerRealName; //商户真实姓名",
+"	string MerIdcardNo = $1.MerIdcardNo; //商户身份证号",
+"	string BizEnterNo = $1.BizEnterNo; //业务员编号",
+"	string BizEnterName = $1.BizEnterName; //业务员名称",
+"	string ActVerifyFlag = $1.ActVerifyFlag; //激活验证标识",
+"	string Remark = $1.Remark; //注释",
+"	DateTime CreateTime = $1.CreateTime; //创建时间",
+"	DateTime UpdateTime = $1.UpdateTime; //更新时间",
+"	string SourceType = $1.SourceType; //来源类型",
+"	string ActNo = $1.ActNo; //押金活动ID",
+"	string ActName = $1.ActName; //押金活动名称",
+"}"
+]
+},
+"查询某个快钱MPOS激活抓取,并赋值": {
+"prefix": "ym-db-KqActivate-Update",
+"body": [
+"KqActivate $1 = db.KqActivate.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.MerNo = $2; //商户编号",
+"	$1.MerName = $3; //商户名称",
+"	$1.MerMobile = $4; //商户手机号",
+"	$1.ProductType = $5; //产品类型",
+"	$1.MerSnNo = $6; //终端机身号",
+"	$1.MerRegDate = $7; //注册日期",
+"	$1.AssessMonth = $8; //考核月",
+"	$1.AssessMonthCount = $9; //考核第几月",
+"	$1.ActivateStatus = $10; //激活状态",
+"	$1.ActivateDate = $11; //激活日期",
+"	$1.MerRealName = $12; //商户真实姓名",
+"	$1.MerIdcardNo = $13; //商户身份证号",
+"	$1.BizEnterNo = $14; //业务员编号",
+"	$1.BizEnterName = $15; //业务员名称",
+"	$1.ActVerifyFlag = $16; //激活验证标识",
+"	$1.Remark = $17; //注释",
+"	$1.CreateTime = $18; //创建时间",
+"	$1.UpdateTime = $19; //更新时间",
+"	$1.SourceType = $20; //来源类型",
+"	$1.ActNo = $21; //押金活动ID",
+"	$1.ActName = $22; //押金活动名称",
+"}"
+]
+},
+"获取快钱MPOS激活抓取数量": {
+"prefix": "ym-db-KqActivate-FindAndCount",
+"body": [
+"int $1 = db.KqActivate.Count(m => $2);",
+]
+},
+"添加快钱MPOS激活抓取": {
+"prefix": "ym-db-KqActivate-Create",
+"body": [
+"db.KqActivate.Add(new KqActivate()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	MerNo = $1, //商户编号",
+"	MerName = $2, //商户名称",
+"	MerMobile = $3, //商户手机号",
+"	ProductType = $4, //产品类型",
+"	MerSnNo = $5, //终端机身号",
+"	MerRegDate = $6, //注册日期",
+"	AssessMonth = $7, //考核月",
+"	AssessMonthCount = $8, //考核第几月",
+"	ActivateStatus = $9, //激活状态",
+"	ActivateDate = $10, //激活日期",
+"	MerRealName = $11, //商户真实姓名",
+"	MerIdcardNo = $12, //商户身份证号",
+"	BizEnterNo = $13, //业务员编号",
+"	BizEnterName = $14, //业务员名称",
+"	ActVerifyFlag = $15, //激活验证标识",
+"	Remark = $16, //注释",
+"	CreateTime = $17, //创建时间",
+"	UpdateTime = $18, //更新时间",
+"	SourceType = $19, //来源类型",
+"	ActNo = $20, //押金活动ID",
+"	ActName = $21, //押金活动名称",
+"});"
+]
+},"删除某个快钱MPOS激活抓取": {
+"prefix": "ym-db-KqActivate-Delete",
+"body": [
+"KqActivate $1 = db.KqActivate.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.KqActivate.Remove($1);",
+"}"
+]
+},
+"查询快钱MPOS激活推送列表": {
+"prefix": "ym-db-KqActivateCallBack-Find",
+"body": [
+"List<KqActivateCallBack> $1 = db.KqActivateCallBack.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqActivateCallBack $3 in $1)",
+"{",
+"}"
+]
+},
+"查询快钱MPOS激活推送列表,并取值": {
+"prefix": "ym-db-KqActivateCallBack-FindWithData",
+"body": [
+"List<KqActivateCallBack> $1 = db.KqActivateCallBack.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqActivateCallBack $3 in $1)",
+"{",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	string MerMobile = $3.MerMobile; //商户手机号",
+"	string ProductType = $3.ProductType; //产品类型",
+"	string MerSnNo = $3.MerSnNo; //终端机身号",
+"	DateTime MerRegDate = $3.MerRegDate; //注册日期",
+"	string AssessMonth = $3.AssessMonth; //考核月",
+"	string AssessMonthCount = $3.AssessMonthCount; //考核第几月",
+"	string ActivateStatus = $3.ActivateStatus; //激活状态",
+"	DateTime ActivateDate = $3.ActivateDate; //激活日期",
+"	string MerRealName = $3.MerRealName; //商户真实姓名",
+"	string MerIdcardNo = $3.MerIdcardNo; //商户身份证号",
+"	string BizEnterNo = $3.BizEnterNo; //业务员编号",
+"	string BizEnterName = $3.BizEnterName; //业务员名称",
+"	string ActVerifyFlag = $3.ActVerifyFlag; //激活验证标识",
+"	string Remark = $3.Remark; //注释",
+"	DateTime CreateTime = $3.CreateTime; //创建时间",
+"	DateTime UpdateTime = $3.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询快钱MPOS激活推送": {
+"prefix": "ym-db-KqActivateCallBack-Exist",
+"body": [
+"bool $1 = db.KqActivateCallBack.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个快钱MPOS激活推送,并取值": {
+"prefix": "ym-db-KqActivateCallBack-FindByPrimaryKey",
+"body": [
+"KqActivateCallBack $1 = db.KqActivateCallBack.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	string MerMobile = $1.MerMobile; //商户手机号",
+"	string ProductType = $1.ProductType; //产品类型",
+"	string MerSnNo = $1.MerSnNo; //终端机身号",
+"	DateTime MerRegDate = $1.MerRegDate; //注册日期",
+"	string AssessMonth = $1.AssessMonth; //考核月",
+"	string AssessMonthCount = $1.AssessMonthCount; //考核第几月",
+"	string ActivateStatus = $1.ActivateStatus; //激活状态",
+"	DateTime ActivateDate = $1.ActivateDate; //激活日期",
+"	string MerRealName = $1.MerRealName; //商户真实姓名",
+"	string MerIdcardNo = $1.MerIdcardNo; //商户身份证号",
+"	string BizEnterNo = $1.BizEnterNo; //业务员编号",
+"	string BizEnterName = $1.BizEnterName; //业务员名称",
+"	string ActVerifyFlag = $1.ActVerifyFlag; //激活验证标识",
+"	string Remark = $1.Remark; //注释",
+"	DateTime CreateTime = $1.CreateTime; //创建时间",
+"	DateTime UpdateTime = $1.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询某个快钱MPOS激活推送,并赋值": {
+"prefix": "ym-db-KqActivateCallBack-Update",
+"body": [
+"KqActivateCallBack $1 = db.KqActivateCallBack.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.MerNo = $2; //商户编号",
+"	$1.MerName = $3; //商户名称",
+"	$1.MerMobile = $4; //商户手机号",
+"	$1.ProductType = $5; //产品类型",
+"	$1.MerSnNo = $6; //终端机身号",
+"	$1.MerRegDate = $7; //注册日期",
+"	$1.AssessMonth = $8; //考核月",
+"	$1.AssessMonthCount = $9; //考核第几月",
+"	$1.ActivateStatus = $10; //激活状态",
+"	$1.ActivateDate = $11; //激活日期",
+"	$1.MerRealName = $12; //商户真实姓名",
+"	$1.MerIdcardNo = $13; //商户身份证号",
+"	$1.BizEnterNo = $14; //业务员编号",
+"	$1.BizEnterName = $15; //业务员名称",
+"	$1.ActVerifyFlag = $16; //激活验证标识",
+"	$1.Remark = $17; //注释",
+"	$1.CreateTime = $18; //创建时间",
+"	$1.UpdateTime = $19; //更新时间",
+"}"
+]
+},
+"获取快钱MPOS激活推送数量": {
+"prefix": "ym-db-KqActivateCallBack-FindAndCount",
+"body": [
+"int $1 = db.KqActivateCallBack.Count(m => $2);",
+]
+},
+"添加快钱MPOS激活推送": {
+"prefix": "ym-db-KqActivateCallBack-Create",
+"body": [
+"db.KqActivateCallBack.Add(new KqActivateCallBack()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	MerNo = $1, //商户编号",
+"	MerName = $2, //商户名称",
+"	MerMobile = $3, //商户手机号",
+"	ProductType = $4, //产品类型",
+"	MerSnNo = $5, //终端机身号",
+"	MerRegDate = $6, //注册日期",
+"	AssessMonth = $7, //考核月",
+"	AssessMonthCount = $8, //考核第几月",
+"	ActivateStatus = $9, //激活状态",
+"	ActivateDate = $10, //激活日期",
+"	MerRealName = $11, //商户真实姓名",
+"	MerIdcardNo = $12, //商户身份证号",
+"	BizEnterNo = $13, //业务员编号",
+"	BizEnterName = $14, //业务员名称",
+"	ActVerifyFlag = $15, //激活验证标识",
+"	Remark = $16, //注释",
+"	CreateTime = $17, //创建时间",
+"	UpdateTime = $18, //更新时间",
+"});"
+]
+},"删除某个快钱MPOS激活推送": {
+"prefix": "ym-db-KqActivateCallBack-Delete",
+"body": [
+"KqActivateCallBack $1 = db.KqActivateCallBack.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.KqActivateCallBack.Remove($1);",
+"}"
+]
+},
+"查询快钱Mpos商户列表": {
+"prefix": "ym-db-KqMerchant-Find",
+"body": [
+"List<KqMerchant> $1 = db.KqMerchant.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqMerchant $3 in $1)",
+"{",
+"}"
+]
+},
+"查询快钱Mpos商户列表,并取值": {
+"prefix": "ym-db-KqMerchant-FindWithData",
+"body": [
+"List<KqMerchant> $1 = db.KqMerchant.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqMerchant $3 in $1)",
+"{",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	string MerMobile = $3.MerMobile; //商户手机号",
+"	string ProductType = $3.ProductType; //产品类型",
+"	string MerSnNo = $3.MerSnNo; //终端机身号",
+"	DateTime MerRegDate = $3.MerRegDate; //注册日期",
+"	DateTime MerBindDate = $3.MerBindDate; //商户绑定时间",
+"	string MerIdcardNo = $3.MerIdcardNo; //商户身份证号",
+"	string MerRealName = $3.MerRealName; //商户真实姓名",
+"	string BizEnterNo = $3.BizEnterNo; //业务员编号",
+"	string BizEnterName = $3.BizEnterName; //业务员名称",
+"	string SourceType = $3.SourceType; //来源类型",
+"	string Province = $3.Province; //省份",
+"	string City = $3.City; //城市",
+"	string Remark = $3.Remark; //注释",
+"	DateTime CreateTime = $3.CreateTime; //创建时间",
+"	DateTime UpdateTime = $3.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询快钱Mpos商户": {
+"prefix": "ym-db-KqMerchant-Exist",
+"body": [
+"bool $1 = db.KqMerchant.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个快钱Mpos商户,并取值": {
+"prefix": "ym-db-KqMerchant-FindByPrimaryKey",
+"body": [
+"KqMerchant $1 = db.KqMerchant.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	string MerMobile = $1.MerMobile; //商户手机号",
+"	string ProductType = $1.ProductType; //产品类型",
+"	string MerSnNo = $1.MerSnNo; //终端机身号",
+"	DateTime MerRegDate = $1.MerRegDate; //注册日期",
+"	DateTime MerBindDate = $1.MerBindDate; //商户绑定时间",
+"	string MerIdcardNo = $1.MerIdcardNo; //商户身份证号",
+"	string MerRealName = $1.MerRealName; //商户真实姓名",
+"	string BizEnterNo = $1.BizEnterNo; //业务员编号",
+"	string BizEnterName = $1.BizEnterName; //业务员名称",
+"	string SourceType = $1.SourceType; //来源类型",
+"	string Province = $1.Province; //省份",
+"	string City = $1.City; //城市",
+"	string Remark = $1.Remark; //注释",
+"	DateTime CreateTime = $1.CreateTime; //创建时间",
+"	DateTime UpdateTime = $1.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询某个快钱Mpos商户,并赋值": {
+"prefix": "ym-db-KqMerchant-Update",
+"body": [
+"KqMerchant $1 = db.KqMerchant.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.MerNo = $2; //商户编号",
+"	$1.MerName = $3; //商户名称",
+"	$1.MerMobile = $4; //商户手机号",
+"	$1.ProductType = $5; //产品类型",
+"	$1.MerSnNo = $6; //终端机身号",
+"	$1.MerRegDate = $7; //注册日期",
+"	$1.MerBindDate = $8; //商户绑定时间",
+"	$1.MerIdcardNo = $9; //商户身份证号",
+"	$1.MerRealName = $10; //商户真实姓名",
+"	$1.BizEnterNo = $11; //业务员编号",
+"	$1.BizEnterName = $12; //业务员名称",
+"	$1.SourceType = $13; //来源类型",
+"	$1.Province = $14; //省份",
+"	$1.City = $15; //城市",
+"	$1.Remark = $16; //注释",
+"	$1.CreateTime = $17; //创建时间",
+"	$1.UpdateTime = $18; //更新时间",
+"}"
+]
+},
+"获取快钱Mpos商户数量": {
+"prefix": "ym-db-KqMerchant-FindAndCount",
+"body": [
+"int $1 = db.KqMerchant.Count(m => $2);",
+]
+},
+"添加快钱Mpos商户": {
+"prefix": "ym-db-KqMerchant-Create",
+"body": [
+"db.KqMerchant.Add(new KqMerchant()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	MerNo = $1, //商户编号",
+"	MerName = $2, //商户名称",
+"	MerMobile = $3, //商户手机号",
+"	ProductType = $4, //产品类型",
+"	MerSnNo = $5, //终端机身号",
+"	MerRegDate = $6, //注册日期",
+"	MerBindDate = $7, //商户绑定时间",
+"	MerIdcardNo = $8, //商户身份证号",
+"	MerRealName = $9, //商户真实姓名",
+"	BizEnterNo = $10, //业务员编号",
+"	BizEnterName = $11, //业务员名称",
+"	SourceType = $12, //来源类型",
+"	Province = $13, //省份",
+"	City = $14, //城市",
+"	Remark = $15, //注释",
+"	CreateTime = $16, //创建时间",
+"	UpdateTime = $17, //更新时间",
+"});"
+]
+},"删除某个快钱Mpos商户": {
+"prefix": "ym-db-KqMerchant-Delete",
+"body": [
+"KqMerchant $1 = db.KqMerchant.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.KqMerchant.Remove($1);",
+"}"
+]
+},
+"查询快钱Mpos交易抓取列表": {
+"prefix": "ym-db-KqTrade-Find",
+"body": [
+"List<KqTrade> $1 = db.KqTrade.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqTrade $3 in $1)",
+"{",
+"}"
+]
+},
+"查询快钱Mpos交易抓取列表,并取值": {
+"prefix": "ym-db-KqTrade-FindWithData",
+"body": [
+"List<KqTrade> $1 = db.KqTrade.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqTrade $3 in $1)",
+"{",
+"	string TradeSerialNo = $3.TradeSerialNo; //交易单号",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	decimal TradeAmount = $3.TradeAmount; //交易金额",
+"	string ProductType = $3.ProductType; //产品类型",
+"	string TradeStatus = $3.TradeStatus; //交易状态",
+"	string TradeDate = $3.TradeDate; //交易日期",
+"	string TradeTime = $3.TradeTime; //交易时间",
+"	string BankCardType = $3.BankCardType; //银行卡类型",
+"	string TradeSnNo = $3.TradeSnNo; //交易SN号",
+"	string DigAmtFlag = $3.DigAmtFlag; //挖款标识",
+"	decimal DigAmt = $3.DigAmt; //挖款金额",
+"	string Remark = $3.Remark; //注释",
+"	DateTime CreateTime = $3.CreateTime; //创建时间",
+"	DateTime UpdateTime = $3.UpdateTime; //更新时间",
+"	string BankCardNo = $3.BankCardNo; //交易卡号",
+"	decimal FeeAmount = $3.FeeAmount; //手续费",
+"	string SettleMethod = $3.SettleMethod; //出款方式",
+"	decimal SettleFee = $3.SettleFee; //出款手续费",
+"	string SmallDouble = $3.SmallDouble; //小额双免",
+"	string BizEnterNo = $3.BizEnterNo; //业务员编号",
+"	string BizEnterName = $3.BizEnterName; //业务员名称",
+"	string SourceType = $3.SourceType; //来源类型",
+"	decimal SettleTotalFee = $3.SettleTotalFee; //总手续费",
+"	string BillType = $3.BillType; //计费类型",
+"	decimal SettleFeeCostAmt = $3.SettleFeeCostAmt; //手续费成本金额",
+"	decimal SettleFeeRebateAmt = $3.SettleFeeRebateAmt; //手续费返佣金额",
+"	decimal SettleCostAmt = $3.SettleCostAmt; //出款成本金额",
+"	decimal SettleRebateAmt = $3.SettleRebateAmt; //出款返佣金额",
+"	decimal TotalCostAmt = $3.TotalCostAmt; //总成本",
+"	decimal TotalRebateAmt = $3.TotalRebateAmt; //总返佣额",
+"	string S0SettleStatus = $3.S0SettleStatus; //S0出款状态",
+"	string DigStatus = $3.DigStatus; //挖款状态",
+"	string KqTradeSeq = $3.KqTradeSeq; //快钱交易流水号",
+"	string InputModel = $3.InputModel; //输入模式",
+"}"
+]
+},
+"查询快钱Mpos交易抓取": {
+"prefix": "ym-db-KqTrade-Exist",
+"body": [
+"bool $1 = db.KqTrade.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个快钱Mpos交易抓取,并取值": {
+"prefix": "ym-db-KqTrade-FindByPrimaryKey",
+"body": [
+"KqTrade $1 = db.KqTrade.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string TradeSerialNo = $1.TradeSerialNo; //交易单号",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	decimal TradeAmount = $1.TradeAmount; //交易金额",
+"	string ProductType = $1.ProductType; //产品类型",
+"	string TradeStatus = $1.TradeStatus; //交易状态",
+"	string TradeDate = $1.TradeDate; //交易日期",
+"	string TradeTime = $1.TradeTime; //交易时间",
+"	string BankCardType = $1.BankCardType; //银行卡类型",
+"	string TradeSnNo = $1.TradeSnNo; //交易SN号",
+"	string DigAmtFlag = $1.DigAmtFlag; //挖款标识",
+"	decimal DigAmt = $1.DigAmt; //挖款金额",
+"	string Remark = $1.Remark; //注释",
+"	DateTime CreateTime = $1.CreateTime; //创建时间",
+"	DateTime UpdateTime = $1.UpdateTime; //更新时间",
+"	string BankCardNo = $1.BankCardNo; //交易卡号",
+"	decimal FeeAmount = $1.FeeAmount; //手续费",
+"	string SettleMethod = $1.SettleMethod; //出款方式",
+"	decimal SettleFee = $1.SettleFee; //出款手续费",
+"	string SmallDouble = $1.SmallDouble; //小额双免",
+"	string BizEnterNo = $1.BizEnterNo; //业务员编号",
+"	string BizEnterName = $1.BizEnterName; //业务员名称",
+"	string SourceType = $1.SourceType; //来源类型",
+"	decimal SettleTotalFee = $1.SettleTotalFee; //总手续费",
+"	string BillType = $1.BillType; //计费类型",
+"	decimal SettleFeeCostAmt = $1.SettleFeeCostAmt; //手续费成本金额",
+"	decimal SettleFeeRebateAmt = $1.SettleFeeRebateAmt; //手续费返佣金额",
+"	decimal SettleCostAmt = $1.SettleCostAmt; //出款成本金额",
+"	decimal SettleRebateAmt = $1.SettleRebateAmt; //出款返佣金额",
+"	decimal TotalCostAmt = $1.TotalCostAmt; //总成本",
+"	decimal TotalRebateAmt = $1.TotalRebateAmt; //总返佣额",
+"	string S0SettleStatus = $1.S0SettleStatus; //S0出款状态",
+"	string DigStatus = $1.DigStatus; //挖款状态",
+"	string KqTradeSeq = $1.KqTradeSeq; //快钱交易流水号",
+"	string InputModel = $1.InputModel; //输入模式",
+"}"
+]
+},
+"查询某个快钱Mpos交易抓取,并赋值": {
+"prefix": "ym-db-KqTrade-Update",
+"body": [
+"KqTrade $1 = db.KqTrade.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TradeSerialNo = $2; //交易单号",
+"	$1.MerNo = $3; //商户编号",
+"	$1.MerName = $4; //商户名称",
+"	$1.TradeAmount = $5; //交易金额",
+"	$1.ProductType = $6; //产品类型",
+"	$1.TradeStatus = $7; //交易状态",
+"	$1.TradeDate = $8; //交易日期",
+"	$1.TradeTime = $9; //交易时间",
+"	$1.BankCardType = $10; //银行卡类型",
+"	$1.TradeSnNo = $11; //交易SN号",
+"	$1.DigAmtFlag = $12; //挖款标识",
+"	$1.DigAmt = $13; //挖款金额",
+"	$1.Remark = $14; //注释",
+"	$1.CreateTime = $15; //创建时间",
+"	$1.UpdateTime = $16; //更新时间",
+"	$1.BankCardNo = $17; //交易卡号",
+"	$1.FeeAmount = $18; //手续费",
+"	$1.SettleMethod = $19; //出款方式",
+"	$1.SettleFee = $20; //出款手续费",
+"	$1.SmallDouble = $21; //小额双免",
+"	$1.BizEnterNo = $22; //业务员编号",
+"	$1.BizEnterName = $23; //业务员名称",
+"	$1.SourceType = $24; //来源类型",
+"	$1.SettleTotalFee = $25; //总手续费",
+"	$1.BillType = $26; //计费类型",
+"	$1.SettleFeeCostAmt = $27; //手续费成本金额",
+"	$1.SettleFeeRebateAmt = $28; //手续费返佣金额",
+"	$1.SettleCostAmt = $29; //出款成本金额",
+"	$1.SettleRebateAmt = $30; //出款返佣金额",
+"	$1.TotalCostAmt = $31; //总成本",
+"	$1.TotalRebateAmt = $32; //总返佣额",
+"	$1.S0SettleStatus = $33; //S0出款状态",
+"	$1.DigStatus = $34; //挖款状态",
+"	$1.KqTradeSeq = $35; //快钱交易流水号",
+"	$1.InputModel = $36; //输入模式",
+"}"
+]
+},
+"获取快钱Mpos交易抓取数量": {
+"prefix": "ym-db-KqTrade-FindAndCount",
+"body": [
+"int $1 = db.KqTrade.Count(m => $2);",
+]
+},
+"添加快钱Mpos交易抓取": {
+"prefix": "ym-db-KqTrade-Create",
+"body": [
+"db.KqTrade.Add(new KqTrade()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TradeSerialNo = $1, //交易单号",
+"	MerNo = $2, //商户编号",
+"	MerName = $3, //商户名称",
+"	TradeAmount = $4, //交易金额",
+"	ProductType = $5, //产品类型",
+"	TradeStatus = $6, //交易状态",
+"	TradeDate = $7, //交易日期",
+"	TradeTime = $8, //交易时间",
+"	BankCardType = $9, //银行卡类型",
+"	TradeSnNo = $10, //交易SN号",
+"	DigAmtFlag = $11, //挖款标识",
+"	DigAmt = $12, //挖款金额",
+"	Remark = $13, //注释",
+"	CreateTime = $14, //创建时间",
+"	UpdateTime = $15, //更新时间",
+"	BankCardNo = $16, //交易卡号",
+"	FeeAmount = $17, //手续费",
+"	SettleMethod = $18, //出款方式",
+"	SettleFee = $19, //出款手续费",
+"	SmallDouble = $20, //小额双免",
+"	BizEnterNo = $21, //业务员编号",
+"	BizEnterName = $22, //业务员名称",
+"	SourceType = $23, //来源类型",
+"	SettleTotalFee = $24, //总手续费",
+"	BillType = $25, //计费类型",
+"	SettleFeeCostAmt = $26, //手续费成本金额",
+"	SettleFeeRebateAmt = $27, //手续费返佣金额",
+"	SettleCostAmt = $28, //出款成本金额",
+"	SettleRebateAmt = $29, //出款返佣金额",
+"	TotalCostAmt = $30, //总成本",
+"	TotalRebateAmt = $31, //总返佣额",
+"	S0SettleStatus = $32, //S0出款状态",
+"	DigStatus = $33, //挖款状态",
+"	KqTradeSeq = $34, //快钱交易流水号",
+"	InputModel = $35, //输入模式",
+"});"
+]
+},"删除某个快钱Mpos交易抓取": {
+"prefix": "ym-db-KqTrade-Delete",
+"body": [
+"KqTrade $1 = db.KqTrade.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.KqTrade.Remove($1);",
+"}"
+]
+},
+"查询快钱Mpos交易推送列表": {
+"prefix": "ym-db-KqTradeCallBack-Find",
+"body": [
+"List<KqTradeCallBack> $1 = db.KqTradeCallBack.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqTradeCallBack $3 in $1)",
+"{",
+"}"
+]
+},
+"查询快钱Mpos交易推送列表,并取值": {
+"prefix": "ym-db-KqTradeCallBack-FindWithData",
+"body": [
+"List<KqTradeCallBack> $1 = db.KqTradeCallBack.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqTradeCallBack $3 in $1)",
+"{",
+"	string TradeSerialNo = $3.TradeSerialNo; //交易单号",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	decimal TradeAmount = $3.TradeAmount; //交易金额",
+"	string TradeReferNo = $3.TradeReferNo; //交易参考号",
+"	string BankAuthCode = $3.BankAuthCode; //银行授权码",
+"	string DiscountRateFlag = $3.DiscountRateFlag; //优惠费率标识",
+"	string ProductType = $3.ProductType; //产品类型",
+"	string Trade_status = $3.Trade_status; //交易状态",
+"	string ErrorCode = $3.ErrorCode; //错误码",
+"	string ErrorMsg = $3.ErrorMsg; //错误信息",
+"	string TradeDate = $3.TradeDate; //交易日期",
+"	string TradeTime = $3.TradeTime; //交易时间",
+"	string TradeType = $3.TradeType; //交易类型",
+"	string SerEntryMode = $3.SerEntryMode; //输入模式",
+"	string BankCardType = $3.BankCardType; //银行卡类型",
+"	string TradeSnNo = $3.TradeSnNo; //交易SN号",
+"	string DeviceType = $3.DeviceType; //设备类型",
+"	string MerMobile = $3.MerMobile; //商户手机号",
+"	string DigAmtFlag = $3.DigAmtFlag; //挖款标识",
+"	decimal DigAmt = $3.DigAmt; //挖款金额",
+"	string IsStoreCashier = $3.IsStoreCashier; //店面收银交易标识",
+"	string ReceiptType = $3.ReceiptType; //设备类型",
+"	string Remark = $3.Remark; //注释",
+"	DateTime CreateTime = $3.CreateTime; //创建时间",
+"	DateTime UpdateTime = $3.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询快钱Mpos交易推送": {
+"prefix": "ym-db-KqTradeCallBack-Exist",
+"body": [
+"bool $1 = db.KqTradeCallBack.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个快钱Mpos交易推送,并取值": {
+"prefix": "ym-db-KqTradeCallBack-FindByPrimaryKey",
+"body": [
+"KqTradeCallBack $1 = db.KqTradeCallBack.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string TradeSerialNo = $1.TradeSerialNo; //交易单号",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	decimal TradeAmount = $1.TradeAmount; //交易金额",
+"	string TradeReferNo = $1.TradeReferNo; //交易参考号",
+"	string BankAuthCode = $1.BankAuthCode; //银行授权码",
+"	string DiscountRateFlag = $1.DiscountRateFlag; //优惠费率标识",
+"	string ProductType = $1.ProductType; //产品类型",
+"	string Trade_status = $1.Trade_status; //交易状态",
+"	string ErrorCode = $1.ErrorCode; //错误码",
+"	string ErrorMsg = $1.ErrorMsg; //错误信息",
+"	string TradeDate = $1.TradeDate; //交易日期",
+"	string TradeTime = $1.TradeTime; //交易时间",
+"	string TradeType = $1.TradeType; //交易类型",
+"	string SerEntryMode = $1.SerEntryMode; //输入模式",
+"	string BankCardType = $1.BankCardType; //银行卡类型",
+"	string TradeSnNo = $1.TradeSnNo; //交易SN号",
+"	string DeviceType = $1.DeviceType; //设备类型",
+"	string MerMobile = $1.MerMobile; //商户手机号",
+"	string DigAmtFlag = $1.DigAmtFlag; //挖款标识",
+"	decimal DigAmt = $1.DigAmt; //挖款金额",
+"	string IsStoreCashier = $1.IsStoreCashier; //店面收银交易标识",
+"	string ReceiptType = $1.ReceiptType; //设备类型",
+"	string Remark = $1.Remark; //注释",
+"	DateTime CreateTime = $1.CreateTime; //创建时间",
+"	DateTime UpdateTime = $1.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询某个快钱Mpos交易推送,并赋值": {
+"prefix": "ym-db-KqTradeCallBack-Update",
+"body": [
+"KqTradeCallBack $1 = db.KqTradeCallBack.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TradeSerialNo = $2; //交易单号",
+"	$1.MerNo = $3; //商户编号",
+"	$1.MerName = $4; //商户名称",
+"	$1.TradeAmount = $5; //交易金额",
+"	$1.TradeReferNo = $6; //交易参考号",
+"	$1.BankAuthCode = $7; //银行授权码",
+"	$1.DiscountRateFlag = $8; //优惠费率标识",
+"	$1.ProductType = $9; //产品类型",
+"	$1.Trade_status = $10; //交易状态",
+"	$1.ErrorCode = $11; //错误码",
+"	$1.ErrorMsg = $12; //错误信息",
+"	$1.TradeDate = $13; //交易日期",
+"	$1.TradeTime = $14; //交易时间",
+"	$1.TradeType = $15; //交易类型",
+"	$1.SerEntryMode = $16; //输入模式",
+"	$1.BankCardType = $17; //银行卡类型",
+"	$1.TradeSnNo = $18; //交易SN号",
+"	$1.DeviceType = $19; //设备类型",
+"	$1.MerMobile = $20; //商户手机号",
+"	$1.DigAmtFlag = $21; //挖款标识",
+"	$1.DigAmt = $22; //挖款金额",
+"	$1.IsStoreCashier = $23; //店面收银交易标识",
+"	$1.ReceiptType = $24; //设备类型",
+"	$1.Remark = $25; //注释",
+"	$1.CreateTime = $26; //创建时间",
+"	$1.UpdateTime = $27; //更新时间",
+"}"
+]
+},
+"获取快钱Mpos交易推送数量": {
+"prefix": "ym-db-KqTradeCallBack-FindAndCount",
+"body": [
+"int $1 = db.KqTradeCallBack.Count(m => $2);",
+]
+},
+"添加快钱Mpos交易推送": {
+"prefix": "ym-db-KqTradeCallBack-Create",
+"body": [
+"db.KqTradeCallBack.Add(new KqTradeCallBack()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TradeSerialNo = $1, //交易单号",
+"	MerNo = $2, //商户编号",
+"	MerName = $3, //商户名称",
+"	TradeAmount = $4, //交易金额",
+"	TradeReferNo = $5, //交易参考号",
+"	BankAuthCode = $6, //银行授权码",
+"	DiscountRateFlag = $7, //优惠费率标识",
+"	ProductType = $8, //产品类型",
+"	Trade_status = $9, //交易状态",
+"	ErrorCode = $10, //错误码",
+"	ErrorMsg = $11, //错误信息",
+"	TradeDate = $12, //交易日期",
+"	TradeTime = $13, //交易时间",
+"	TradeType = $14, //交易类型",
+"	SerEntryMode = $15, //输入模式",
+"	BankCardType = $16, //银行卡类型",
+"	TradeSnNo = $17, //交易SN号",
+"	DeviceType = $18, //设备类型",
+"	MerMobile = $19, //商户手机号",
+"	DigAmtFlag = $20, //挖款标识",
+"	DigAmt = $21, //挖款金额",
+"	IsStoreCashier = $22, //店面收银交易标识",
+"	ReceiptType = $23, //设备类型",
+"	Remark = $24, //注释",
+"	CreateTime = $25, //创建时间",
+"	UpdateTime = $26, //更新时间",
+"});"
+]
+},"删除某个快钱Mpos交易推送": {
+"prefix": "ym-db-KqTradeCallBack-Delete",
+"body": [
+"KqTradeCallBack $1 = db.KqTradeCallBack.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.KqTradeCallBack.Remove($1);",
+"}"
+]
+},
+"查询快钱流量卡分佣交易列表": {
+"prefix": "ym-db-KqTradeFlux-Find",
+"body": [
+"List<KqTradeFlux> $1 = db.KqTradeFlux.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqTradeFlux $3 in $1)",
+"{",
+"}"
+]
+},
+"查询快钱流量卡分佣交易列表,并取值": {
+"prefix": "ym-db-KqTradeFlux-FindWithData",
+"body": [
+"List<KqTradeFlux> $1 = db.KqTradeFlux.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KqTradeFlux $3 in $1)",
+"{",
+"	string TradeSerialNo = $3.TradeSerialNo; //交易单号",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	decimal TradeAmount = $3.TradeAmount; //交易金额",
+"	string ProductType = $3.ProductType; //产品类型",
+"	string TradeStatus = $3.TradeStatus; //交易状态",
+"	string TradeDate = $3.TradeDate; //交易日期",
+"	string TradeTime = $3.TradeTime; //交易时间",
+"	string BankCardType = $3.BankCardType; //银行卡类型",
+"	string TradeSnNo = $3.TradeSnNo; //交易SN号",
+"	string DigAmtFlag = $3.DigAmtFlag; //挖款标识",
+"	decimal DigAmt = $3.DigAmt; //挖款金额",
+"	string Remark = $3.Remark; //注释",
+"	DateTime CreateTime = $3.CreateTime; //创建时间",
+"	DateTime UpdateTime = $3.UpdateTime; //更新时间",
+"	string BankCardNo = $3.BankCardNo; //交易卡号",
+"	decimal FeeAmount = $3.FeeAmount; //手续费",
+"	string SettleMethod = $3.SettleMethod; //出款方式",
+"	decimal SettleFee = $3.SettleFee; //出款手续费",
+"	string SmallDouble = $3.SmallDouble; //小额双免",
+"	string BizEnterNo = $3.BizEnterNo; //业务员编号",
+"	string BizEnterName = $3.BizEnterName; //业务员名称",
+"	string SourceType = $3.SourceType; //来源类型",
+"	string BillType = $3.BillType; //计费类型",
+"	string KqTradeSeq = $3.KqTradeSeq; //快钱交易流水号",
+"	string InputModel = $3.InputModel; //输入模式",
+"	string TerminalNo = $3.TerminalNo; //终端号",
+"	string DeviceNetwork = $3.DeviceNetwork; //设备网络",
+"}"
+]
+},
+"查询快钱流量卡分佣交易": {
+"prefix": "ym-db-KqTradeFlux-Exist",
+"body": [
+"bool $1 = db.KqTradeFlux.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个快钱流量卡分佣交易,并取值": {
+"prefix": "ym-db-KqTradeFlux-FindByPrimaryKey",
+"body": [
+"KqTradeFlux $1 = db.KqTradeFlux.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string TradeSerialNo = $1.TradeSerialNo; //交易单号",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	decimal TradeAmount = $1.TradeAmount; //交易金额",
+"	string ProductType = $1.ProductType; //产品类型",
+"	string TradeStatus = $1.TradeStatus; //交易状态",
+"	string TradeDate = $1.TradeDate; //交易日期",
+"	string TradeTime = $1.TradeTime; //交易时间",
+"	string BankCardType = $1.BankCardType; //银行卡类型",
+"	string TradeSnNo = $1.TradeSnNo; //交易SN号",
+"	string DigAmtFlag = $1.DigAmtFlag; //挖款标识",
+"	decimal DigAmt = $1.DigAmt; //挖款金额",
+"	string Remark = $1.Remark; //注释",
+"	DateTime CreateTime = $1.CreateTime; //创建时间",
+"	DateTime UpdateTime = $1.UpdateTime; //更新时间",
+"	string BankCardNo = $1.BankCardNo; //交易卡号",
+"	decimal FeeAmount = $1.FeeAmount; //手续费",
+"	string SettleMethod = $1.SettleMethod; //出款方式",
+"	decimal SettleFee = $1.SettleFee; //出款手续费",
+"	string SmallDouble = $1.SmallDouble; //小额双免",
+"	string BizEnterNo = $1.BizEnterNo; //业务员编号",
+"	string BizEnterName = $1.BizEnterName; //业务员名称",
+"	string SourceType = $1.SourceType; //来源类型",
+"	string BillType = $1.BillType; //计费类型",
+"	string KqTradeSeq = $1.KqTradeSeq; //快钱交易流水号",
+"	string InputModel = $1.InputModel; //输入模式",
+"	string TerminalNo = $1.TerminalNo; //终端号",
+"	string DeviceNetwork = $1.DeviceNetwork; //设备网络",
+"}"
+]
+},
+"查询某个快钱流量卡分佣交易,并赋值": {
+"prefix": "ym-db-KqTradeFlux-Update",
+"body": [
+"KqTradeFlux $1 = db.KqTradeFlux.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TradeSerialNo = $2; //交易单号",
+"	$1.MerNo = $3; //商户编号",
+"	$1.MerName = $4; //商户名称",
+"	$1.TradeAmount = $5; //交易金额",
+"	$1.ProductType = $6; //产品类型",
+"	$1.TradeStatus = $7; //交易状态",
+"	$1.TradeDate = $8; //交易日期",
+"	$1.TradeTime = $9; //交易时间",
+"	$1.BankCardType = $10; //银行卡类型",
+"	$1.TradeSnNo = $11; //交易SN号",
+"	$1.DigAmtFlag = $12; //挖款标识",
+"	$1.DigAmt = $13; //挖款金额",
+"	$1.Remark = $14; //注释",
+"	$1.CreateTime = $15; //创建时间",
+"	$1.UpdateTime = $16; //更新时间",
+"	$1.BankCardNo = $17; //交易卡号",
+"	$1.FeeAmount = $18; //手续费",
+"	$1.SettleMethod = $19; //出款方式",
+"	$1.SettleFee = $20; //出款手续费",
+"	$1.SmallDouble = $21; //小额双免",
+"	$1.BizEnterNo = $22; //业务员编号",
+"	$1.BizEnterName = $23; //业务员名称",
+"	$1.SourceType = $24; //来源类型",
+"	$1.BillType = $25; //计费类型",
+"	$1.KqTradeSeq = $26; //快钱交易流水号",
+"	$1.InputModel = $27; //输入模式",
+"	$1.TerminalNo = $28; //终端号",
+"	$1.DeviceNetwork = $29; //设备网络",
+"}"
+]
+},
+"获取快钱流量卡分佣交易数量": {
+"prefix": "ym-db-KqTradeFlux-FindAndCount",
+"body": [
+"int $1 = db.KqTradeFlux.Count(m => $2);",
+]
+},
+"添加快钱流量卡分佣交易": {
+"prefix": "ym-db-KqTradeFlux-Create",
+"body": [
+"db.KqTradeFlux.Add(new KqTradeFlux()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TradeSerialNo = $1, //交易单号",
+"	MerNo = $2, //商户编号",
+"	MerName = $3, //商户名称",
+"	TradeAmount = $4, //交易金额",
+"	ProductType = $5, //产品类型",
+"	TradeStatus = $6, //交易状态",
+"	TradeDate = $7, //交易日期",
+"	TradeTime = $8, //交易时间",
+"	BankCardType = $9, //银行卡类型",
+"	TradeSnNo = $10, //交易SN号",
+"	DigAmtFlag = $11, //挖款标识",
+"	DigAmt = $12, //挖款金额",
+"	Remark = $13, //注释",
+"	CreateTime = $14, //创建时间",
+"	UpdateTime = $15, //更新时间",
+"	BankCardNo = $16, //交易卡号",
+"	FeeAmount = $17, //手续费",
+"	SettleMethod = $18, //出款方式",
+"	SettleFee = $19, //出款手续费",
+"	SmallDouble = $20, //小额双免",
+"	BizEnterNo = $21, //业务员编号",
+"	BizEnterName = $22, //业务员名称",
+"	SourceType = $23, //来源类型",
+"	BillType = $24, //计费类型",
+"	KqTradeSeq = $25, //快钱交易流水号",
+"	InputModel = $26, //输入模式",
+"	TerminalNo = $27, //终端号",
+"	DeviceNetwork = $28, //设备网络",
+"});"
+]
+},"删除某个快钱流量卡分佣交易": {
+"prefix": "ym-db-KqTradeFlux-Delete",
+"body": [
+"KqTradeFlux $1 = db.KqTradeFlux.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.KqTradeFlux.Remove($1);",
+"}"
+]
+},
+"查询快闪刷商户绑定列表": {
+"prefix": "ym-db-KssBind-Find",
+"body": [
+"List<KssBind> $1 = db.KssBind.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KssBind $3 in $1)",
+"{",
+"}"
+]
+},
+"查询快闪刷商户绑定列表,并取值": {
+"prefix": "ym-db-KssBind-FindWithData",
+"body": [
+"List<KssBind> $1 = db.KssBind.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KssBind $3 in $1)",
+"{",
+"	string AgentName = $3.AgentName; //机构名称",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	string MerSnNo = $3.MerSnNo; //终端机身号",
+"	DateTime MerOperateDate = $3.MerOperateDate; //操作时间",
+"	string MerOperateType = $3.MerOperateType; //操作类型",
+"	string MerStatus = $3.MerStatus; //商户状态",
+"	string ProductType = $3.ProductType; //产品类型",
+"	string MerNewSnNo = $3.MerNewSnNo; //新终端机身号",
+"	string Remark = $3.Remark; //注释",
+"	DateTime CreateTime = $3.CreateTime; //创建时间",
+"	DateTime UpdateTime = $3.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询快闪刷商户绑定": {
+"prefix": "ym-db-KssBind-Exist",
+"body": [
+"bool $1 = db.KssBind.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个快闪刷商户绑定,并取值": {
+"prefix": "ym-db-KssBind-FindByPrimaryKey",
+"body": [
+"KssBind $1 = db.KssBind.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string AgentName = $1.AgentName; //机构名称",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	string MerSnNo = $1.MerSnNo; //终端机身号",
+"	DateTime MerOperateDate = $1.MerOperateDate; //操作时间",
+"	string MerOperateType = $1.MerOperateType; //操作类型",
+"	string MerStatus = $1.MerStatus; //商户状态",
+"	string ProductType = $1.ProductType; //产品类型",
+"	string MerNewSnNo = $1.MerNewSnNo; //新终端机身号",
+"	string Remark = $1.Remark; //注释",
+"	DateTime CreateTime = $1.CreateTime; //创建时间",
+"	DateTime UpdateTime = $1.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询某个快闪刷商户绑定,并赋值": {
+"prefix": "ym-db-KssBind-Update",
+"body": [
+"KssBind $1 = db.KssBind.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.AgentName = $2; //机构名称",
+"	$1.MerNo = $3; //商户编号",
+"	$1.MerName = $4; //商户名称",
+"	$1.MerSnNo = $5; //终端机身号",
+"	$1.MerOperateDate = $6; //操作时间",
+"	$1.MerOperateType = $7; //操作类型",
+"	$1.MerStatus = $8; //商户状态",
+"	$1.ProductType = $9; //产品类型",
+"	$1.MerNewSnNo = $10; //新终端机身号",
+"	$1.Remark = $11; //注释",
+"	$1.CreateTime = $12; //创建时间",
+"	$1.UpdateTime = $13; //更新时间",
+"}"
+]
+},
+"获取快闪刷商户绑定数量": {
+"prefix": "ym-db-KssBind-FindAndCount",
+"body": [
+"int $1 = db.KssBind.Count(m => $2);",
+]
+},
+"添加快闪刷商户绑定": {
+"prefix": "ym-db-KssBind-Create",
+"body": [
+"db.KssBind.Add(new KssBind()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	AgentName = $1, //机构名称",
+"	MerNo = $2, //商户编号",
+"	MerName = $3, //商户名称",
+"	MerSnNo = $4, //终端机身号",
+"	MerOperateDate = $5, //操作时间",
+"	MerOperateType = $6, //操作类型",
+"	MerStatus = $7, //商户状态",
+"	ProductType = $8, //产品类型",
+"	MerNewSnNo = $9, //新终端机身号",
+"	Remark = $10, //注释",
+"	CreateTime = $11, //创建时间",
+"	UpdateTime = $12, //更新时间",
+"});"
+]
+},"删除某个快闪刷商户绑定": {
+"prefix": "ym-db-KssBind-Delete",
+"body": [
+"KssBind $1 = db.KssBind.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.KssBind.Remove($1);",
+"}"
+]
+},
+"查询快闪刷商户免押金列表": {
+"prefix": "ym-db-KssFreeDeposit-Find",
+"body": [
+"List<KssFreeDeposit> $1 = db.KssFreeDeposit.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KssFreeDeposit $3 in $1)",
+"{",
+"}"
+]
+},
+"查询快闪刷商户免押金列表,并取值": {
+"prefix": "ym-db-KssFreeDeposit-FindWithData",
+"body": [
+"List<KssFreeDeposit> $1 = db.KssFreeDeposit.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KssFreeDeposit $3 in $1)",
+"{",
+"	string AgentName = $3.AgentName; //机构名称",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	string ProductType = $3.ProductType; //产品类型",
+"	DateTime MerBindDate = $3.MerBindDate; //绑定日期",
+"	string MerSnNo = $3.MerSnNo; //终端机身号",
+"	string ActNo = $3.ActNo; //押金活动ID",
+"	string ActName = $3.ActName; //押金活动名称",
+"	string NewFlag = $3.NewFlag; //是否新增",
+"	string Remark = $3.Remark; //注释",
+"	DateTime CreateTime = $3.CreateTime; //创建时间",
+"	DateTime UpdateTime = $3.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询快闪刷商户免押金": {
+"prefix": "ym-db-KssFreeDeposit-Exist",
+"body": [
+"bool $1 = db.KssFreeDeposit.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个快闪刷商户免押金,并取值": {
+"prefix": "ym-db-KssFreeDeposit-FindByPrimaryKey",
+"body": [
+"KssFreeDeposit $1 = db.KssFreeDeposit.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string AgentName = $1.AgentName; //机构名称",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	string ProductType = $1.ProductType; //产品类型",
+"	DateTime MerBindDate = $1.MerBindDate; //绑定日期",
+"	string MerSnNo = $1.MerSnNo; //终端机身号",
+"	string ActNo = $1.ActNo; //押金活动ID",
+"	string ActName = $1.ActName; //押金活动名称",
+"	string NewFlag = $1.NewFlag; //是否新增",
+"	string Remark = $1.Remark; //注释",
+"	DateTime CreateTime = $1.CreateTime; //创建时间",
+"	DateTime UpdateTime = $1.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询某个快闪刷商户免押金,并赋值": {
+"prefix": "ym-db-KssFreeDeposit-Update",
+"body": [
+"KssFreeDeposit $1 = db.KssFreeDeposit.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.AgentName = $2; //机构名称",
+"	$1.MerNo = $3; //商户编号",
+"	$1.MerName = $4; //商户名称",
+"	$1.ProductType = $5; //产品类型",
+"	$1.MerBindDate = $6; //绑定日期",
+"	$1.MerSnNo = $7; //终端机身号",
+"	$1.ActNo = $8; //押金活动ID",
+"	$1.ActName = $9; //押金活动名称",
+"	$1.NewFlag = $10; //是否新增",
+"	$1.Remark = $11; //注释",
+"	$1.CreateTime = $12; //创建时间",
+"	$1.UpdateTime = $13; //更新时间",
+"}"
+]
+},
+"获取快闪刷商户免押金数量": {
+"prefix": "ym-db-KssFreeDeposit-FindAndCount",
+"body": [
+"int $1 = db.KssFreeDeposit.Count(m => $2);",
+]
+},
+"添加快闪刷商户免押金": {
+"prefix": "ym-db-KssFreeDeposit-Create",
+"body": [
+"db.KssFreeDeposit.Add(new KssFreeDeposit()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	AgentName = $1, //机构名称",
+"	MerNo = $2, //商户编号",
+"	MerName = $3, //商户名称",
+"	ProductType = $4, //产品类型",
+"	MerBindDate = $5, //绑定日期",
+"	MerSnNo = $6, //终端机身号",
+"	ActNo = $7, //押金活动ID",
+"	ActName = $8, //押金活动名称",
+"	NewFlag = $9, //是否新增",
+"	Remark = $10, //注释",
+"	CreateTime = $11, //创建时间",
+"	UpdateTime = $12, //更新时间",
+"});"
+]
+},"删除某个快闪刷商户免押金": {
+"prefix": "ym-db-KssFreeDeposit-Delete",
+"body": [
+"KssFreeDeposit $1 = db.KssFreeDeposit.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.KssFreeDeposit.Remove($1);",
+"}"
+]
+},
+"查询快闪刷商户列表": {
+"prefix": "ym-db-KssMerchant-Find",
+"body": [
+"List<KssMerchant> $1 = db.KssMerchant.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KssMerchant $3 in $1)",
+"{",
+"}"
+]
+},
+"查询快闪刷商户列表,并取值": {
+"prefix": "ym-db-KssMerchant-FindWithData",
+"body": [
+"List<KssMerchant> $1 = db.KssMerchant.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KssMerchant $3 in $1)",
+"{",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	string AgentName = $3.AgentName; //机构名称",
+"	string MerRealName = $3.MerRealName; //商户真实姓名",
+"	string MerMobile = $3.MerMobile; //商户手机号",
+"	string MerIdcardNo = $3.MerIdcardNo; //商户身份证号",
+"	DateTime MerRegDate = $3.MerRegDate; //注册日期",
+"	DateTime MerAuditDate = $3.MerAuditDate; //审核日期",
+"	string MerStatus = $3.MerStatus; //商户状态",
+"	string ProductType = $3.ProductType; //产品类型",
+"	string Province = $3.Province; //商户注册省份",
+"	string City = $3.City; //商户注册城市",
+"	string Remark = $3.Remark; //注释",
+"	DateTime CreateTime = $3.CreateTime; //创建时间",
+"	DateTime UpdateTime = $3.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询快闪刷商户": {
+"prefix": "ym-db-KssMerchant-Exist",
+"body": [
+"bool $1 = db.KssMerchant.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个快闪刷商户,并取值": {
+"prefix": "ym-db-KssMerchant-FindByPrimaryKey",
+"body": [
+"KssMerchant $1 = db.KssMerchant.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	string AgentName = $1.AgentName; //机构名称",
+"	string MerRealName = $1.MerRealName; //商户真实姓名",
+"	string MerMobile = $1.MerMobile; //商户手机号",
+"	string MerIdcardNo = $1.MerIdcardNo; //商户身份证号",
+"	DateTime MerRegDate = $1.MerRegDate; //注册日期",
+"	DateTime MerAuditDate = $1.MerAuditDate; //审核日期",
+"	string MerStatus = $1.MerStatus; //商户状态",
+"	string ProductType = $1.ProductType; //产品类型",
+"	string Province = $1.Province; //商户注册省份",
+"	string City = $1.City; //商户注册城市",
+"	string Remark = $1.Remark; //注释",
+"	DateTime CreateTime = $1.CreateTime; //创建时间",
+"	DateTime UpdateTime = $1.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询某个快闪刷商户,并赋值": {
+"prefix": "ym-db-KssMerchant-Update",
+"body": [
+"KssMerchant $1 = db.KssMerchant.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.MerNo = $2; //商户编号",
+"	$1.MerName = $3; //商户名称",
+"	$1.AgentName = $4; //机构名称",
+"	$1.MerRealName = $5; //商户真实姓名",
+"	$1.MerMobile = $6; //商户手机号",
+"	$1.MerIdcardNo = $7; //商户身份证号",
+"	$1.MerRegDate = $8; //注册日期",
+"	$1.MerAuditDate = $9; //审核日期",
+"	$1.MerStatus = $10; //商户状态",
+"	$1.ProductType = $11; //产品类型",
+"	$1.Province = $12; //商户注册省份",
+"	$1.City = $13; //商户注册城市",
+"	$1.Remark = $14; //注释",
+"	$1.CreateTime = $15; //创建时间",
+"	$1.UpdateTime = $16; //更新时间",
+"}"
+]
+},
+"获取快闪刷商户数量": {
+"prefix": "ym-db-KssMerchant-FindAndCount",
+"body": [
+"int $1 = db.KssMerchant.Count(m => $2);",
+]
+},
+"添加快闪刷商户": {
+"prefix": "ym-db-KssMerchant-Create",
+"body": [
+"db.KssMerchant.Add(new KssMerchant()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	MerNo = $1, //商户编号",
+"	MerName = $2, //商户名称",
+"	AgentName = $3, //机构名称",
+"	MerRealName = $4, //商户真实姓名",
+"	MerMobile = $5, //商户手机号",
+"	MerIdcardNo = $6, //商户身份证号",
+"	MerRegDate = $7, //注册日期",
+"	MerAuditDate = $8, //审核日期",
+"	MerStatus = $9, //商户状态",
+"	ProductType = $10, //产品类型",
+"	Province = $11, //商户注册省份",
+"	City = $12, //商户注册城市",
+"	Remark = $13, //注释",
+"	CreateTime = $14, //创建时间",
+"	UpdateTime = $15, //更新时间",
+"});"
+]
+},"删除某个快闪刷商户": {
+"prefix": "ym-db-KssMerchant-Delete",
+"body": [
+"KssMerchant $1 = db.KssMerchant.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.KssMerchant.Remove($1);",
+"}"
+]
+},
+"查询快闪刷商户返押列表": {
+"prefix": "ym-db-KssReturnDeposit-Find",
+"body": [
+"List<KssReturnDeposit> $1 = db.KssReturnDeposit.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KssReturnDeposit $3 in $1)",
+"{",
+"}"
+]
+},
+"查询快闪刷商户返押列表,并取值": {
+"prefix": "ym-db-KssReturnDeposit-FindWithData",
+"body": [
+"List<KssReturnDeposit> $1 = db.KssReturnDeposit.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KssReturnDeposit $3 in $1)",
+"{",
+"	string AgentName = $3.AgentName; //机构名称",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	string ActNo = $3.ActNo; //押金活动ID",
+"	string ActName = $3.ActName; //押金活动名称",
+"	DateTime MerDisposeDate = $3.MerDisposeDate; //押金日期",
+"	DateTime MerStdDate = $3.MerStdDate; //达标日期",
+"	int IntervalDay = $3.IntervalDay; //间隔天数",
+"	string ProductType = $3.ProductType; //产品类型",
+"	string MerSnNo = $3.MerSnNo; //终端机身号",
+"	decimal RetAmount = $3.RetAmount; //返押金额",
+"	string RetFlag = $3.RetFlag; //是否返还",
+"	string RetOrderNo = $3.RetOrderNo; //返押订单ID",
+"	string Remark = $3.Remark; //注释",
+"	DateTime CreateTime = $3.CreateTime; //创建时间",
+"	DateTime UpdateTime = $3.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询快闪刷商户返押": {
+"prefix": "ym-db-KssReturnDeposit-Exist",
+"body": [
+"bool $1 = db.KssReturnDeposit.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个快闪刷商户返押,并取值": {
+"prefix": "ym-db-KssReturnDeposit-FindByPrimaryKey",
+"body": [
+"KssReturnDeposit $1 = db.KssReturnDeposit.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string AgentName = $1.AgentName; //机构名称",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	string ActNo = $1.ActNo; //押金活动ID",
+"	string ActName = $1.ActName; //押金活动名称",
+"	DateTime MerDisposeDate = $1.MerDisposeDate; //押金日期",
+"	DateTime MerStdDate = $1.MerStdDate; //达标日期",
+"	int IntervalDay = $1.IntervalDay; //间隔天数",
+"	string ProductType = $1.ProductType; //产品类型",
+"	string MerSnNo = $1.MerSnNo; //终端机身号",
+"	decimal RetAmount = $1.RetAmount; //返押金额",
+"	string RetFlag = $1.RetFlag; //是否返还",
+"	string RetOrderNo = $1.RetOrderNo; //返押订单ID",
+"	string Remark = $1.Remark; //注释",
+"	DateTime CreateTime = $1.CreateTime; //创建时间",
+"	DateTime UpdateTime = $1.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询某个快闪刷商户返押,并赋值": {
+"prefix": "ym-db-KssReturnDeposit-Update",
+"body": [
+"KssReturnDeposit $1 = db.KssReturnDeposit.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.AgentName = $2; //机构名称",
+"	$1.MerNo = $3; //商户编号",
+"	$1.MerName = $4; //商户名称",
+"	$1.ActNo = $5; //押金活动ID",
+"	$1.ActName = $6; //押金活动名称",
+"	$1.MerDisposeDate = $7; //押金日期",
+"	$1.MerStdDate = $8; //达标日期",
+"	$1.IntervalDay = $9; //间隔天数",
+"	$1.ProductType = $10; //产品类型",
+"	$1.MerSnNo = $11; //终端机身号",
+"	$1.RetAmount = $12; //返押金额",
+"	$1.RetFlag = $13; //是否返还",
+"	$1.RetOrderNo = $14; //返押订单ID",
+"	$1.Remark = $15; //注释",
+"	$1.CreateTime = $16; //创建时间",
+"	$1.UpdateTime = $17; //更新时间",
+"}"
+]
+},
+"获取快闪刷商户返押数量": {
+"prefix": "ym-db-KssReturnDeposit-FindAndCount",
+"body": [
+"int $1 = db.KssReturnDeposit.Count(m => $2);",
+]
+},
+"添加快闪刷商户返押": {
+"prefix": "ym-db-KssReturnDeposit-Create",
+"body": [
+"db.KssReturnDeposit.Add(new KssReturnDeposit()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	AgentName = $1, //机构名称",
+"	MerNo = $2, //商户编号",
+"	MerName = $3, //商户名称",
+"	ActNo = $4, //押金活动ID",
+"	ActName = $5, //押金活动名称",
+"	MerDisposeDate = $6, //押金日期",
+"	MerStdDate = $7, //达标日期",
+"	IntervalDay = $8, //间隔天数",
+"	ProductType = $9, //产品类型",
+"	MerSnNo = $10, //终端机身号",
+"	RetAmount = $11, //返押金额",
+"	RetFlag = $12, //是否返还",
+"	RetOrderNo = $13, //返押订单ID",
+"	Remark = $14, //注释",
+"	CreateTime = $15, //创建时间",
+"	UpdateTime = $16, //更新时间",
+"});"
+]
+},"删除某个快闪刷商户返押": {
+"prefix": "ym-db-KssReturnDeposit-Delete",
+"body": [
+"KssReturnDeposit $1 = db.KssReturnDeposit.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.KssReturnDeposit.Remove($1);",
+"}"
+]
+},
+"查询快闪刷商户在网达标列表": {
+"prefix": "ym-db-KssStageRwd-Find",
+"body": [
+"List<KssStageRwd> $1 = db.KssStageRwd.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KssStageRwd $3 in $1)",
+"{",
+"}"
+]
+},
+"查询快闪刷商户在网达标列表,并取值": {
+"prefix": "ym-db-KssStageRwd-FindWithData",
+"body": [
+"List<KssStageRwd> $1 = db.KssStageRwd.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KssStageRwd $3 in $1)",
+"{",
+"	string AgentName = $3.AgentName; //机构名称",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	string ProductType = $3.ProductType; //产品类型",
+"	DateTime MerBindDate = $3.MerBindDate; //绑定日期",
+"	string MerSnNo = $3.MerSnNo; //终端机身号",
+"	string ActNo = $3.ActNo; //押金活动ID",
+"	string ActName = $3.ActName; //押金活动名称",
+"	string MerStdStage = $3.MerStdStage; //达标阶段",
+"	DateTime MerStdDate = $3.MerStdDate; //达标日期",
+"	string MerStdStatus = $3.MerStdStatus; //达标状态",
+"	string NewFlag = $3.NewFlag; //是否新增",
+"	string Remark = $3.Remark; //注释",
+"	DateTime CreateTime = $3.CreateTime; //创建时间",
+"	DateTime UpdateTime = $3.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询快闪刷商户在网达标": {
+"prefix": "ym-db-KssStageRwd-Exist",
+"body": [
+"bool $1 = db.KssStageRwd.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个快闪刷商户在网达标,并取值": {
+"prefix": "ym-db-KssStageRwd-FindByPrimaryKey",
+"body": [
+"KssStageRwd $1 = db.KssStageRwd.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string AgentName = $1.AgentName; //机构名称",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	string ProductType = $1.ProductType; //产品类型",
+"	DateTime MerBindDate = $1.MerBindDate; //绑定日期",
+"	string MerSnNo = $1.MerSnNo; //终端机身号",
+"	string ActNo = $1.ActNo; //押金活动ID",
+"	string ActName = $1.ActName; //押金活动名称",
+"	string MerStdStage = $1.MerStdStage; //达标阶段",
+"	DateTime MerStdDate = $1.MerStdDate; //达标日期",
+"	string MerStdStatus = $1.MerStdStatus; //达标状态",
+"	string NewFlag = $1.NewFlag; //是否新增",
+"	string Remark = $1.Remark; //注释",
+"	DateTime CreateTime = $1.CreateTime; //创建时间",
+"	DateTime UpdateTime = $1.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询某个快闪刷商户在网达标,并赋值": {
+"prefix": "ym-db-KssStageRwd-Update",
+"body": [
+"KssStageRwd $1 = db.KssStageRwd.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.AgentName = $2; //机构名称",
+"	$1.MerNo = $3; //商户编号",
+"	$1.MerName = $4; //商户名称",
+"	$1.ProductType = $5; //产品类型",
+"	$1.MerBindDate = $6; //绑定日期",
+"	$1.MerSnNo = $7; //终端机身号",
+"	$1.ActNo = $8; //押金活动ID",
+"	$1.ActName = $9; //押金活动名称",
+"	$1.MerStdStage = $10; //达标阶段",
+"	$1.MerStdDate = $11; //达标日期",
+"	$1.MerStdStatus = $12; //达标状态",
+"	$1.NewFlag = $13; //是否新增",
+"	$1.Remark = $14; //注释",
+"	$1.CreateTime = $15; //创建时间",
+"	$1.UpdateTime = $16; //更新时间",
+"}"
+]
+},
+"获取快闪刷商户在网达标数量": {
+"prefix": "ym-db-KssStageRwd-FindAndCount",
+"body": [
+"int $1 = db.KssStageRwd.Count(m => $2);",
+]
+},
+"添加快闪刷商户在网达标": {
+"prefix": "ym-db-KssStageRwd-Create",
+"body": [
+"db.KssStageRwd.Add(new KssStageRwd()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	AgentName = $1, //机构名称",
+"	MerNo = $2, //商户编号",
+"	MerName = $3, //商户名称",
+"	ProductType = $4, //产品类型",
+"	MerBindDate = $5, //绑定日期",
+"	MerSnNo = $6, //终端机身号",
+"	ActNo = $7, //押金活动ID",
+"	ActName = $8, //押金活动名称",
+"	MerStdStage = $9, //达标阶段",
+"	MerStdDate = $10, //达标日期",
+"	MerStdStatus = $11, //达标状态",
+"	NewFlag = $12, //是否新增",
+"	Remark = $13, //注释",
+"	CreateTime = $14, //创建时间",
+"	UpdateTime = $15, //更新时间",
+"});"
+]
+},"删除某个快闪刷商户在网达标": {
+"prefix": "ym-db-KssStageRwd-Delete",
+"body": [
+"KssStageRwd $1 = db.KssStageRwd.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.KssStageRwd.Remove($1);",
+"}"
+]
+},
+"查询快闪刷商户首刷列表": {
+"prefix": "ym-db-KssTradeFirst-Find",
+"body": [
+"List<KssTradeFirst> $1 = db.KssTradeFirst.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KssTradeFirst $3 in $1)",
+"{",
+"}"
+]
+},
+"查询快闪刷商户首刷列表,并取值": {
+"prefix": "ym-db-KssTradeFirst-FindWithData",
+"body": [
+"List<KssTradeFirst> $1 = db.KssTradeFirst.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (KssTradeFirst $3 in $1)",
+"{",
+"	string AgentName = $3.AgentName; //机构名称",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	string ProductType = $3.ProductType; //产品类型",
+"	DateTime MerBindDate = $3.MerBindDate; //绑定日期",
+"	string MerSnNo = $3.MerSnNo; //终端机身号",
+"	string ActNo = $3.ActNo; //押金活动ID",
+"	string ActName = $3.ActName; //押金活动名称",
+"	DateTime MerStdDate = $3.MerStdDate; //达标日期",
+"	string MerStdStatus = $3.MerStdStatus; //达标状态",
+"	string NewFlag = $3.NewFlag; //是否新增",
+"	string Remark = $3.Remark; //注释",
+"	DateTime CreateTime = $3.CreateTime; //创建时间",
+"	DateTime UpdateTime = $3.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询快闪刷商户首刷": {
+"prefix": "ym-db-KssTradeFirst-Exist",
+"body": [
+"bool $1 = db.KssTradeFirst.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个快闪刷商户首刷,并取值": {
+"prefix": "ym-db-KssTradeFirst-FindByPrimaryKey",
+"body": [
+"KssTradeFirst $1 = db.KssTradeFirst.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string AgentName = $1.AgentName; //机构名称",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	string ProductType = $1.ProductType; //产品类型",
+"	DateTime MerBindDate = $1.MerBindDate; //绑定日期",
+"	string MerSnNo = $1.MerSnNo; //终端机身号",
+"	string ActNo = $1.ActNo; //押金活动ID",
+"	string ActName = $1.ActName; //押金活动名称",
+"	DateTime MerStdDate = $1.MerStdDate; //达标日期",
+"	string MerStdStatus = $1.MerStdStatus; //达标状态",
+"	string NewFlag = $1.NewFlag; //是否新增",
+"	string Remark = $1.Remark; //注释",
+"	DateTime CreateTime = $1.CreateTime; //创建时间",
+"	DateTime UpdateTime = $1.UpdateTime; //更新时间",
+"}"
+]
+},
+"查询某个快闪刷商户首刷,并赋值": {
+"prefix": "ym-db-KssTradeFirst-Update",
+"body": [
+"KssTradeFirst $1 = db.KssTradeFirst.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.AgentName = $2; //机构名称",
+"	$1.MerNo = $3; //商户编号",
+"	$1.MerName = $4; //商户名称",
+"	$1.ProductType = $5; //产品类型",
+"	$1.MerBindDate = $6; //绑定日期",
+"	$1.MerSnNo = $7; //终端机身号",
+"	$1.ActNo = $8; //押金活动ID",
+"	$1.ActName = $9; //押金活动名称",
+"	$1.MerStdDate = $10; //达标日期",
+"	$1.MerStdStatus = $11; //达标状态",
+"	$1.NewFlag = $12; //是否新增",
+"	$1.Remark = $13; //注释",
+"	$1.CreateTime = $14; //创建时间",
+"	$1.UpdateTime = $15; //更新时间",
+"}"
+]
+},
+"获取快闪刷商户首刷数量": {
+"prefix": "ym-db-KssTradeFirst-FindAndCount",
+"body": [
+"int $1 = db.KssTradeFirst.Count(m => $2);",
+]
+},
+"添加快闪刷商户首刷": {
+"prefix": "ym-db-KssTradeFirst-Create",
+"body": [
+"db.KssTradeFirst.Add(new KssTradeFirst()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	AgentName = $1, //机构名称",
+"	MerNo = $2, //商户编号",
+"	MerName = $3, //商户名称",
+"	ProductType = $4, //产品类型",
+"	MerBindDate = $5, //绑定日期",
+"	MerSnNo = $6, //终端机身号",
+"	ActNo = $7, //押金活动ID",
+"	ActName = $8, //押金活动名称",
+"	MerStdDate = $9, //达标日期",
+"	MerStdStatus = $10, //达标状态",
+"	NewFlag = $11, //是否新增",
+"	Remark = $12, //注释",
+"	CreateTime = $13, //创建时间",
+"	UpdateTime = $14, //更新时间",
+"});"
+]
+},"删除某个快闪刷商户首刷": {
+"prefix": "ym-db-KssTradeFirst-Delete",
+"body": [
+"KssTradeFirst $1 = db.KssTradeFirst.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.KssTradeFirst.Remove($1);",
+"}"
+]
+},
+"查询商户列表": {
+"prefix": "ym-db-Merchants-Find",
+"body": [
+"List<Merchants> $1 = db.Merchants.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Merchants $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商户列表,并取值": {
+"prefix": "ym-db-Merchants-FindWithData",
+"body": [
+"List<Merchants> $1 = db.Merchants.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (Merchants $3 in $1)",
+"{",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	string AgentName = $3.AgentName; //机构名称",
+"	string MerRealName = $3.MerRealName; //商户真实姓名",
+"	string MerMobile = $3.MerMobile; //商户手机号",
+"	string MerIdcardNo = $3.MerIdcardNo; //商户身份证号",
+"	DateTime MerRegDate = $3.MerRegDate; //注册日期",
+"	DateTime MerAuditDate = $3.MerAuditDate; //审核日期",
+"	string MerStatus = $3.MerStatus; //商户状态",
+"	string ProductType = $3.ProductType; //产品类型",
+"	string Province = $3.Province; //商户注册省份",
+"	string City = $3.City; //商户注册城市",
+"	string Remark = $3.Remark; //注释",
+"	DateTime CreateTime = $3.CreateTime; //创建时间",
+"	DateTime UpdateTime = $3.UpdateTime; //更新时间",
+"	string SnNo = $3.SnNo; //SN号",
+"	string AgentNo = $3.AgentNo; //代理商编号",
+"}"
+]
+},
+"查询商户": {
+"prefix": "ym-db-Merchants-Exist",
+"body": [
+"bool $1 = db.Merchants.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个商户,并取值": {
+"prefix": "ym-db-Merchants-FindByPrimaryKey",
+"body": [
+"Merchants $1 = db.Merchants.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	string AgentName = $1.AgentName; //机构名称",
+"	string MerRealName = $1.MerRealName; //商户真实姓名",
+"	string MerMobile = $1.MerMobile; //商户手机号",
+"	string MerIdcardNo = $1.MerIdcardNo; //商户身份证号",
+"	DateTime MerRegDate = $1.MerRegDate; //注册日期",
+"	DateTime MerAuditDate = $1.MerAuditDate; //审核日期",
+"	string MerStatus = $1.MerStatus; //商户状态",
+"	string ProductType = $1.ProductType; //产品类型",
+"	string Province = $1.Province; //商户注册省份",
+"	string City = $1.City; //商户注册城市",
+"	string Remark = $1.Remark; //注释",
+"	DateTime CreateTime = $1.CreateTime; //创建时间",
+"	DateTime UpdateTime = $1.UpdateTime; //更新时间",
+"	string SnNo = $1.SnNo; //SN号",
+"	string AgentNo = $1.AgentNo; //代理商编号",
+"}"
+]
+},
+"查询某个商户,并赋值": {
+"prefix": "ym-db-Merchants-Update",
+"body": [
+"Merchants $1 = db.Merchants.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.MerNo = $2; //商户编号",
+"	$1.MerName = $3; //商户名称",
+"	$1.AgentName = $4; //机构名称",
+"	$1.MerRealName = $5; //商户真实姓名",
+"	$1.MerMobile = $6; //商户手机号",
+"	$1.MerIdcardNo = $7; //商户身份证号",
+"	$1.MerRegDate = $8; //注册日期",
+"	$1.MerAuditDate = $9; //审核日期",
+"	$1.MerStatus = $10; //商户状态",
+"	$1.ProductType = $11; //产品类型",
+"	$1.Province = $12; //商户注册省份",
+"	$1.City = $13; //商户注册城市",
+"	$1.Remark = $14; //注释",
+"	$1.CreateTime = $15; //创建时间",
+"	$1.UpdateTime = $16; //更新时间",
+"	$1.SnNo = $17; //SN号",
+"	$1.AgentNo = $18; //代理商编号",
+"}"
+]
+},
+"获取商户数量": {
+"prefix": "ym-db-Merchants-FindAndCount",
+"body": [
+"int $1 = db.Merchants.Count(m => $2);",
+]
+},
+"添加商户": {
+"prefix": "ym-db-Merchants-Create",
+"body": [
+"db.Merchants.Add(new Merchants()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	MerNo = $1, //商户编号",
+"	MerName = $2, //商户名称",
+"	AgentName = $3, //机构名称",
+"	MerRealName = $4, //商户真实姓名",
+"	MerMobile = $5, //商户手机号",
+"	MerIdcardNo = $6, //商户身份证号",
+"	MerRegDate = $7, //注册日期",
+"	MerAuditDate = $8, //审核日期",
+"	MerStatus = $9, //商户状态",
+"	ProductType = $10, //产品类型",
+"	Province = $11, //商户注册省份",
+"	City = $12, //商户注册城市",
+"	Remark = $13, //注释",
+"	CreateTime = $14, //创建时间",
+"	UpdateTime = $15, //更新时间",
+"	SnNo = $16, //SN号",
+"	AgentNo = $17, //代理商编号",
+"});"
+]
+},"删除某个商户": {
+"prefix": "ym-db-Merchants-Delete",
+"body": [
+"Merchants $1 = db.Merchants.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.Merchants.Remove($1);",
+"}"
+]
+},
+"查询商户在网达标列表": {
+"prefix": "ym-db-MerchantStageRwd-Find",
+"body": [
+"List<MerchantStageRwd> $1 = db.MerchantStageRwd.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantStageRwd $3 in $1)",
+"{",
+"}"
+]
+},
+"查询商户在网达标列表,并取值": {
+"prefix": "ym-db-MerchantStageRwd-FindWithData",
+"body": [
+"List<MerchantStageRwd> $1 = db.MerchantStageRwd.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (MerchantStageRwd $3 in $1)",
+"{",
+"	string AgentName = $3.AgentName; //机构名称",
+"	string MerName = $3.MerName; //商户名称",
+"	string ProductType = $3.ProductType; //产品类型",
+"	DateTime MerBindDate = $3.MerBindDate; //绑定日期",
+"	string MerSnNo = $3.MerSnNo; //终端机身号",
+"	string ActNo = $3.ActNo; //押金活动ID",
+"	string ActName = $3.ActName; //押金活动名称",
+"	string MerStdStage = $3.MerStdStage; //达标阶段",
+"	DateTime MerStdDate = $3.MerStdDate; //达标日期",
+"	string MerStdStatus = $3.MerStdStatus; //达标状态",
+"	string NewFlag = $3.NewFlag; //是否新增",
+"	string Remark = $3.Remark; //注释",
+"	DateTime CreateTime = $3.CreateTime; //创建时间",
+"	DateTime UpdateTime = $3.UpdateTime; //更新时间",
+"	string MerNo = $3.MerNo; //商户编号",
+"}"
+]
+},
+"查询商户在网达标": {
+"prefix": "ym-db-MerchantStageRwd-Exist",
+"body": [
+"bool $1 = db.MerchantStageRwd.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个商户在网达标,并取值": {
+"prefix": "ym-db-MerchantStageRwd-FindByPrimaryKey",
+"body": [
+"MerchantStageRwd $1 = db.MerchantStageRwd.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string AgentName = $1.AgentName; //机构名称",
+"	string MerName = $1.MerName; //商户名称",
+"	string ProductType = $1.ProductType; //产品类型",
+"	DateTime MerBindDate = $1.MerBindDate; //绑定日期",
+"	string MerSnNo = $1.MerSnNo; //终端机身号",
+"	string ActNo = $1.ActNo; //押金活动ID",
+"	string ActName = $1.ActName; //押金活动名称",
+"	string MerStdStage = $1.MerStdStage; //达标阶段",
+"	DateTime MerStdDate = $1.MerStdDate; //达标日期",
+"	string MerStdStatus = $1.MerStdStatus; //达标状态",
+"	string NewFlag = $1.NewFlag; //是否新增",
+"	string Remark = $1.Remark; //注释",
+"	DateTime CreateTime = $1.CreateTime; //创建时间",
+"	DateTime UpdateTime = $1.UpdateTime; //更新时间",
+"	string MerNo = $1.MerNo; //商户编号",
+"}"
+]
+},
+"查询某个商户在网达标,并赋值": {
+"prefix": "ym-db-MerchantStageRwd-Update",
+"body": [
+"MerchantStageRwd $1 = db.MerchantStageRwd.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.AgentName = $2; //机构名称",
+"	$1.MerName = $3; //商户名称",
+"	$1.ProductType = $4; //产品类型",
+"	$1.MerBindDate = $5; //绑定日期",
+"	$1.MerSnNo = $6; //终端机身号",
+"	$1.ActNo = $7; //押金活动ID",
+"	$1.ActName = $8; //押金活动名称",
+"	$1.MerStdStage = $9; //达标阶段",
+"	$1.MerStdDate = $10; //达标日期",
+"	$1.MerStdStatus = $11; //达标状态",
+"	$1.NewFlag = $12; //是否新增",
+"	$1.Remark = $13; //注释",
+"	$1.CreateTime = $14; //创建时间",
+"	$1.UpdateTime = $15; //更新时间",
+"	$1.MerNo = $16; //商户编号",
+"}"
+]
+},
+"获取商户在网达标数量": {
+"prefix": "ym-db-MerchantStageRwd-FindAndCount",
+"body": [
+"int $1 = db.MerchantStageRwd.Count(m => $2);",
+]
+},
+"添加商户在网达标": {
+"prefix": "ym-db-MerchantStageRwd-Create",
+"body": [
+"db.MerchantStageRwd.Add(new MerchantStageRwd()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	AgentName = $1, //机构名称",
+"	MerName = $2, //商户名称",
+"	ProductType = $3, //产品类型",
+"	MerBindDate = $4, //绑定日期",
+"	MerSnNo = $5, //终端机身号",
+"	ActNo = $6, //押金活动ID",
+"	ActName = $7, //押金活动名称",
+"	MerStdStage = $8, //达标阶段",
+"	MerStdDate = $9, //达标日期",
+"	MerStdStatus = $10, //达标状态",
+"	NewFlag = $11, //是否新增",
+"	Remark = $12, //注释",
+"	CreateTime = $13, //创建时间",
+"	UpdateTime = $14, //更新时间",
+"	MerNo = $15, //商户编号",
+"});"
+]
+},"删除某个商户在网达标": {
+"prefix": "ym-db-MerchantStageRwd-Delete",
+"body": [
+"MerchantStageRwd $1 = db.MerchantStageRwd.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.MerchantStageRwd.Remove($1);",
+"}"
+]
+},
+"查询分润记录列表": {
+"prefix": "ym-db-ProfitRecord-Find",
+"body": [
+"List<ProfitRecord> $1 = db.ProfitRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitRecord $3 in $1)",
+"{",
+"}"
+]
+},
+"查询分润记录列表,并取值": {
+"prefix": "ym-db-ProfitRecord-FindWithData",
+"body": [
+"List<ProfitRecord> $1 = db.ProfitRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (ProfitRecord $3 in $1)",
+"{",
+"	string requestId = $3.requestId; //请求号",
+"	string organizationNumber = $3.organizationNumber; //直属代理编号",
+"	string organizationName = $3.organizationName; //直属代理名称",
+"	string amount = $3.amount; //分润基础数据金额",
+"	string orderNo = $3.orderNo; //原交易/结算流水单号",
+"	string valueType = $3.valueType; //费率类型",
+"	string balanceDirection = $3.balanceDirection; //支出方向",
+"	string originalRate = $3.originalRate; //商户费率",
+"	string originalFee = $3.originalFee; //原手续费",
+"	string profitCost = $3.profitCost; //成本值",
+"	string couponAmt = $3.couponAmt; //优惠券金额",
+"	string actualCouponAmt = $3.actualCouponAmt; //分润使用优惠券金额",
+"	string profitRate = $3.profitRate; //分润税点",
+"	string rateFee = $3.rateFee; //分润税费",
+"	string incomeScale = $3.incomeScale; //入账比例",
+"	string actualIncomeAmt = $3.actualIncomeAmt; //实际结账户金额",
+"	string applyDay = $3.applyDay; //分润日期",
+"	string createTime = $3.createTime; //创建时间",
+"	string topOrgNo = $3.topOrgNo; //一级服务商编号",
+"}"
+]
+},
+"查询分润记录": {
+"prefix": "ym-db-ProfitRecord-Exist",
+"body": [
+"bool $1 = db.ProfitRecord.Any(m => m.Id == $2);",
+]
+},
+"查询某个分润记录,并取值": {
+"prefix": "ym-db-ProfitRecord-FindByPrimaryKey",
+"body": [
+"ProfitRecord $1 = db.ProfitRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string requestId = $1.requestId; //请求号",
+"	string organizationNumber = $1.organizationNumber; //直属代理编号",
+"	string organizationName = $1.organizationName; //直属代理名称",
+"	string amount = $1.amount; //分润基础数据金额",
+"	string orderNo = $1.orderNo; //原交易/结算流水单号",
+"	string valueType = $1.valueType; //费率类型",
+"	string balanceDirection = $1.balanceDirection; //支出方向",
+"	string originalRate = $1.originalRate; //商户费率",
+"	string originalFee = $1.originalFee; //原手续费",
+"	string profitCost = $1.profitCost; //成本值",
+"	string couponAmt = $1.couponAmt; //优惠券金额",
+"	string actualCouponAmt = $1.actualCouponAmt; //分润使用优惠券金额",
+"	string profitRate = $1.profitRate; //分润税点",
+"	string rateFee = $1.rateFee; //分润税费",
+"	string incomeScale = $1.incomeScale; //入账比例",
+"	string actualIncomeAmt = $1.actualIncomeAmt; //实际结账户金额",
+"	string applyDay = $1.applyDay; //分润日期",
+"	string createTime = $1.createTime; //创建时间",
+"	string topOrgNo = $1.topOrgNo; //一级服务商编号",
+"}"
+]
+},
+"查询某个分润记录,并赋值": {
+"prefix": "ym-db-ProfitRecord-Update",
+"body": [
+"ProfitRecord $1 = db.ProfitRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.requestId = $2; //请求号",
+"	$1.organizationNumber = $3; //直属代理编号",
+"	$1.organizationName = $4; //直属代理名称",
+"	$1.amount = $5; //分润基础数据金额",
+"	$1.orderNo = $6; //原交易/结算流水单号",
+"	$1.valueType = $7; //费率类型",
+"	$1.balanceDirection = $8; //支出方向",
+"	$1.originalRate = $9; //商户费率",
+"	$1.originalFee = $10; //原手续费",
+"	$1.profitCost = $11; //成本值",
+"	$1.couponAmt = $12; //优惠券金额",
+"	$1.actualCouponAmt = $13; //分润使用优惠券金额",
+"	$1.profitRate = $14; //分润税点",
+"	$1.rateFee = $15; //分润税费",
+"	$1.incomeScale = $16; //入账比例",
+"	$1.actualIncomeAmt = $17; //实际结账户金额",
+"	$1.applyDay = $18; //分润日期",
+"	$1.createTime = $19; //创建时间",
+"	$1.topOrgNo = $20; //一级服务商编号",
+"}"
+]
+},
+"获取分润记录数量": {
+"prefix": "ym-db-ProfitRecord-FindAndCount",
+"body": [
+"int $1 = db.ProfitRecord.Count(m => $2);",
+]
+},
+"添加分润记录": {
+"prefix": "ym-db-ProfitRecord-Create",
+"body": [
+"db.ProfitRecord.Add(new ProfitRecord()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	requestId = $1, //请求号",
+"	organizationNumber = $2, //直属代理编号",
+"	organizationName = $3, //直属代理名称",
+"	amount = $4, //分润基础数据金额",
+"	orderNo = $5, //原交易/结算流水单号",
+"	valueType = $6, //费率类型",
+"	balanceDirection = $7, //支出方向",
+"	originalRate = $8, //商户费率",
+"	originalFee = $9, //原手续费",
+"	profitCost = $10, //成本值",
+"	couponAmt = $11, //优惠券金额",
+"	actualCouponAmt = $12, //分润使用优惠券金额",
+"	profitRate = $13, //分润税点",
+"	rateFee = $14, //分润税费",
+"	incomeScale = $15, //入账比例",
+"	actualIncomeAmt = $16, //实际结账户金额",
+"	applyDay = $17, //分润日期",
+"	createTime = $18, //创建时间",
+"	topOrgNo = $19, //一级服务商编号",
+"});"
+]
+},"删除某个分润记录": {
+"prefix": "ym-db-ProfitRecord-Delete",
+"body": [
+"ProfitRecord $1 = db.ProfitRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.ProfitRecord.Remove($1);",
+"}"
+]
+},
+"查询流量卡分佣交易列表": {
+"prefix": "ym-db-TradeFluxRecord-Find",
+"body": [
+"List<TradeFluxRecord> $1 = db.TradeFluxRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TradeFluxRecord $3 in $1)",
+"{",
+"}"
+]
+},
+"查询流量卡分佣交易列表,并取值": {
+"prefix": "ym-db-TradeFluxRecord-FindWithData",
+"body": [
+"List<TradeFluxRecord> $1 = db.TradeFluxRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TradeFluxRecord $3 in $1)",
+"{",
+"	string TradeSerialNo = $3.TradeSerialNo; //交易单号",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	decimal TradeAmount = $3.TradeAmount; //交易金额",
+"	string TradeStatus = $3.TradeStatus; //交易状态",
+"	string TradeDate = $3.TradeDate; //交易日期",
+"	string TradeTime = $3.TradeTime; //交易时间",
+"	string BankCardType = $3.BankCardType; //银行卡类型",
+"	string TradeSnNo = $3.TradeSnNo; //交易SN号",
+"	string DigAmtFlag = $3.DigAmtFlag; //挖款标识",
+"	decimal DigAmt = $3.DigAmt; //挖款金额",
+"	string BankCardNo = $3.BankCardNo; //交易卡号",
+"	decimal FeeAmount = $3.FeeAmount; //手续费",
+"	string SettleMethod = $3.SettleMethod; //出款方式",
+"	decimal SettleFee = $3.SettleFee; //出款手续费",
+"	string SmallDouble = $3.SmallDouble; //小额双免",
+"	string BizEnterNo = $3.BizEnterNo; //业务员编号",
+"	string BizEnterName = $3.BizEnterName; //业务员名称",
+"	string SourceType = $3.SourceType; //来源类型",
+"	string BillType = $3.BillType; //计费类型",
+"	string KqTradeSeq = $3.KqTradeSeq; //快钱交易流水号",
+"	string InputModel = $3.InputModel; //输入模式",
+"	string TerminalNo = $3.TerminalNo; //终端号",
+"	string DeviceNetwork = $3.DeviceNetwork; //设备网络",
+"	string ProductType = $3.ProductType; //产品类型",
+"	string AgentNo = $3.AgentNo; //代理商编号",
+"}"
+]
+},
+"查询流量卡分佣交易": {
+"prefix": "ym-db-TradeFluxRecord-Exist",
+"body": [
+"bool $1 = db.TradeFluxRecord.Any(m => m.MerNo == $2);",
+]
+},
+"查询某个流量卡分佣交易,并取值": {
+"prefix": "ym-db-TradeFluxRecord-FindByPrimaryKey",
+"body": [
+"TradeFluxRecord $1 = db.TradeFluxRecord.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	string TradeSerialNo = $1.TradeSerialNo; //交易单号",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	decimal TradeAmount = $1.TradeAmount; //交易金额",
+"	string TradeStatus = $1.TradeStatus; //交易状态",
+"	string TradeDate = $1.TradeDate; //交易日期",
+"	string TradeTime = $1.TradeTime; //交易时间",
+"	string BankCardType = $1.BankCardType; //银行卡类型",
+"	string TradeSnNo = $1.TradeSnNo; //交易SN号",
+"	string DigAmtFlag = $1.DigAmtFlag; //挖款标识",
+"	decimal DigAmt = $1.DigAmt; //挖款金额",
+"	string BankCardNo = $1.BankCardNo; //交易卡号",
+"	decimal FeeAmount = $1.FeeAmount; //手续费",
+"	string SettleMethod = $1.SettleMethod; //出款方式",
+"	decimal SettleFee = $1.SettleFee; //出款手续费",
+"	string SmallDouble = $1.SmallDouble; //小额双免",
+"	string BizEnterNo = $1.BizEnterNo; //业务员编号",
+"	string BizEnterName = $1.BizEnterName; //业务员名称",
+"	string SourceType = $1.SourceType; //来源类型",
+"	string BillType = $1.BillType; //计费类型",
+"	string KqTradeSeq = $1.KqTradeSeq; //快钱交易流水号",
+"	string InputModel = $1.InputModel; //输入模式",
+"	string TerminalNo = $1.TerminalNo; //终端号",
+"	string DeviceNetwork = $1.DeviceNetwork; //设备网络",
+"	string ProductType = $1.ProductType; //产品类型",
+"	string AgentNo = $1.AgentNo; //代理商编号",
+"}"
+]
+},
+"查询某个流量卡分佣交易,并赋值": {
+"prefix": "ym-db-TradeFluxRecord-Update",
+"body": [
+"TradeFluxRecord $1 = db.TradeFluxRecord.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TradeSerialNo = $2; //交易单号",
+"	$1.MerNo = $3; //商户编号",
+"	$1.MerName = $4; //商户名称",
+"	$1.TradeAmount = $5; //交易金额",
+"	$1.TradeStatus = $6; //交易状态",
+"	$1.TradeDate = $7; //交易日期",
+"	$1.TradeTime = $8; //交易时间",
+"	$1.BankCardType = $9; //银行卡类型",
+"	$1.TradeSnNo = $10; //交易SN号",
+"	$1.DigAmtFlag = $11; //挖款标识",
+"	$1.DigAmt = $12; //挖款金额",
+"	$1.BankCardNo = $13; //交易卡号",
+"	$1.FeeAmount = $14; //手续费",
+"	$1.SettleMethod = $15; //出款方式",
+"	$1.SettleFee = $16; //出款手续费",
+"	$1.SmallDouble = $17; //小额双免",
+"	$1.BizEnterNo = $18; //业务员编号",
+"	$1.BizEnterName = $19; //业务员名称",
+"	$1.SourceType = $20; //来源类型",
+"	$1.BillType = $21; //计费类型",
+"	$1.KqTradeSeq = $22; //快钱交易流水号",
+"	$1.InputModel = $23; //输入模式",
+"	$1.TerminalNo = $24; //终端号",
+"	$1.DeviceNetwork = $25; //设备网络",
+"	$1.ProductType = $26; //产品类型",
+"	$1.AgentNo = $27; //代理商编号",
+"}"
+]
+},
+"获取流量卡分佣交易数量": {
+"prefix": "ym-db-TradeFluxRecord-FindAndCount",
+"body": [
+"int $1 = db.TradeFluxRecord.Count(m => $2);",
+]
+},
+"添加流量卡分佣交易": {
+"prefix": "ym-db-TradeFluxRecord-Create",
+"body": [
+"db.TradeFluxRecord.Add(new TradeFluxRecord()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TradeSerialNo = $1, //交易单号",
+"	MerNo = $2, //商户编号",
+"	MerName = $3, //商户名称",
+"	TradeAmount = $4, //交易金额",
+"	TradeStatus = $5, //交易状态",
+"	TradeDate = $6, //交易日期",
+"	TradeTime = $7, //交易时间",
+"	BankCardType = $8, //银行卡类型",
+"	TradeSnNo = $9, //交易SN号",
+"	DigAmtFlag = $10, //挖款标识",
+"	DigAmt = $11, //挖款金额",
+"	BankCardNo = $12, //交易卡号",
+"	FeeAmount = $13, //手续费",
+"	SettleMethod = $14, //出款方式",
+"	SettleFee = $15, //出款手续费",
+"	SmallDouble = $16, //小额双免",
+"	BizEnterNo = $17, //业务员编号",
+"	BizEnterName = $18, //业务员名称",
+"	SourceType = $19, //来源类型",
+"	BillType = $20, //计费类型",
+"	KqTradeSeq = $21, //快钱交易流水号",
+"	InputModel = $22, //输入模式",
+"	TerminalNo = $23, //终端号",
+"	DeviceNetwork = $24, //设备网络",
+"	ProductType = $25, //产品类型",
+"	AgentNo = $26, //代理商编号",
+"});"
+]
+},"删除某个流量卡分佣交易": {
+"prefix": "ym-db-TradeFluxRecord-Delete",
+"body": [
+"TradeFluxRecord $1 = db.TradeFluxRecord.FirstOrDefault(m => m.MerNo == $2);",
+"if ($1 != null)",
+"{",
+"	db.TradeFluxRecord.Remove($1);",
+"}"
+]
+},
+"查询交易记录列表": {
+"prefix": "ym-db-TradeRecord-Find",
+"body": [
+"List<TradeRecord> $1 = db.TradeRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TradeRecord $3 in $1)",
+"{",
+"}"
+]
+},
+"查询交易记录列表,并取值": {
+"prefix": "ym-db-TradeRecord-FindWithData",
+"body": [
+"List<TradeRecord> $1 = db.TradeRecord.Where(m => $2).OrderByDescending(m => m.Id).ToList();",
+"foreach (TradeRecord $3 in $1)",
+"{",
+"	string TradeSerialNo = $3.TradeSerialNo; //交易单号",
+"	string MerNo = $3.MerNo; //商户编号",
+"	string MerName = $3.MerName; //商户名称",
+"	decimal TradeAmount = $3.TradeAmount; //交易金额",
+"	string TradeReferNo = $3.TradeReferNo; //交易参考号",
+"	string BankAuthCode = $3.BankAuthCode; //银行授权码",
+"	string DiscountRateFlag = $3.DiscountRateFlag; //优惠费率标识",
+"	string TradeStatus = $3.TradeStatus; //交易状态",
+"	string ErrorCode = $3.ErrorCode; //错误码",
+"	string ErrorMsg = $3.ErrorMsg; //错误信息",
+"	string TradeDate = $3.TradeDate; //交易日期",
+"	string TradeTime = $3.TradeTime; //交易时间",
+"	string TradeType = $3.TradeType; //交易类型",
+"	string SerEntryMode = $3.SerEntryMode; //输入模式",
+"	string BankCardType = $3.BankCardType; //银行卡类型",
+"	string TradeSnNo = $3.TradeSnNo; //交易SN号",
+"	string DeviceType = $3.DeviceType; //设备类型",
+"	string MerMobile = $3.MerMobile; //商户手机号",
+"	string DigAmtFlag = $3.DigAmtFlag; //挖款标识",
+"	decimal DigAmt = $3.DigAmt; //挖款金额",
+"	string IsStoreCashier = $3.IsStoreCashier; //店面收银交易标识",
+"	string ReceiptType = $3.ReceiptType; //设备类型",
+"	string BankCardNo = $3.BankCardNo; //交易卡号",
+"	decimal SettleFee = $3.SettleFee; //出款手续费",
+"	string SettleMethod = $3.SettleMethod; //出款方式",
+"	string Remark = $3.Remark; //备注",
+"	string ProductType = $3.ProductType; //产品类型",
+"	string AgentNo = $3.AgentNo; //代理商编号",
+"	string ChannelSerial = $3.ChannelSerial; //渠道流水号",
+"}"
+]
+},
+"查询交易记录": {
+"prefix": "ym-db-TradeRecord-Exist",
+"body": [
+"bool $1 = db.TradeRecord.Any(m => m.Id == $2);",
+]
+},
+"查询某个交易记录,并取值": {
+"prefix": "ym-db-TradeRecord-FindByPrimaryKey",
+"body": [
+"TradeRecord $1 = db.TradeRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	string TradeSerialNo = $1.TradeSerialNo; //交易单号",
+"	string MerNo = $1.MerNo; //商户编号",
+"	string MerName = $1.MerName; //商户名称",
+"	decimal TradeAmount = $1.TradeAmount; //交易金额",
+"	string TradeReferNo = $1.TradeReferNo; //交易参考号",
+"	string BankAuthCode = $1.BankAuthCode; //银行授权码",
+"	string DiscountRateFlag = $1.DiscountRateFlag; //优惠费率标识",
+"	string TradeStatus = $1.TradeStatus; //交易状态",
+"	string ErrorCode = $1.ErrorCode; //错误码",
+"	string ErrorMsg = $1.ErrorMsg; //错误信息",
+"	string TradeDate = $1.TradeDate; //交易日期",
+"	string TradeTime = $1.TradeTime; //交易时间",
+"	string TradeType = $1.TradeType; //交易类型",
+"	string SerEntryMode = $1.SerEntryMode; //输入模式",
+"	string BankCardType = $1.BankCardType; //银行卡类型",
+"	string TradeSnNo = $1.TradeSnNo; //交易SN号",
+"	string DeviceType = $1.DeviceType; //设备类型",
+"	string MerMobile = $1.MerMobile; //商户手机号",
+"	string DigAmtFlag = $1.DigAmtFlag; //挖款标识",
+"	decimal DigAmt = $1.DigAmt; //挖款金额",
+"	string IsStoreCashier = $1.IsStoreCashier; //店面收银交易标识",
+"	string ReceiptType = $1.ReceiptType; //设备类型",
+"	string BankCardNo = $1.BankCardNo; //交易卡号",
+"	decimal SettleFee = $1.SettleFee; //出款手续费",
+"	string SettleMethod = $1.SettleMethod; //出款方式",
+"	string Remark = $1.Remark; //备注",
+"	string ProductType = $1.ProductType; //产品类型",
+"	string AgentNo = $1.AgentNo; //代理商编号",
+"	string ChannelSerial = $1.ChannelSerial; //渠道流水号",
+"}"
+]
+},
+"查询某个交易记录,并赋值": {
+"prefix": "ym-db-TradeRecord-Update",
+"body": [
+"TradeRecord $1 = db.TradeRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	$1.TradeSerialNo = $2; //交易单号",
+"	$1.MerNo = $3; //商户编号",
+"	$1.MerName = $4; //商户名称",
+"	$1.TradeAmount = $5; //交易金额",
+"	$1.TradeReferNo = $6; //交易参考号",
+"	$1.BankAuthCode = $7; //银行授权码",
+"	$1.DiscountRateFlag = $8; //优惠费率标识",
+"	$1.TradeStatus = $9; //交易状态",
+"	$1.ErrorCode = $10; //错误码",
+"	$1.ErrorMsg = $11; //错误信息",
+"	$1.TradeDate = $12; //交易日期",
+"	$1.TradeTime = $13; //交易时间",
+"	$1.TradeType = $14; //交易类型",
+"	$1.SerEntryMode = $15; //输入模式",
+"	$1.BankCardType = $16; //银行卡类型",
+"	$1.TradeSnNo = $17; //交易SN号",
+"	$1.DeviceType = $18; //设备类型",
+"	$1.MerMobile = $19; //商户手机号",
+"	$1.DigAmtFlag = $20; //挖款标识",
+"	$1.DigAmt = $21; //挖款金额",
+"	$1.IsStoreCashier = $22; //店面收银交易标识",
+"	$1.ReceiptType = $23; //设备类型",
+"	$1.BankCardNo = $24; //交易卡号",
+"	$1.SettleFee = $25; //出款手续费",
+"	$1.SettleMethod = $26; //出款方式",
+"	$1.Remark = $27; //备注",
+"	$1.ProductType = $28; //产品类型",
+"	$1.AgentNo = $29; //代理商编号",
+"	$1.ChannelSerial = $30; //渠道流水号",
+"}"
+]
+},
+"获取交易记录数量": {
+"prefix": "ym-db-TradeRecord-FindAndCount",
+"body": [
+"int $1 = db.TradeRecord.Count(m => $2);",
+]
+},
+"添加交易记录": {
+"prefix": "ym-db-TradeRecord-Create",
+"body": [
+"db.TradeRecord.Add(new TradeRecord()",
+"{",
+"	CreateDate = DateTime.Now,",
+"	UpdateDate = DateTime.Now,",
+"	TradeSerialNo = $1, //交易单号",
+"	MerNo = $2, //商户编号",
+"	MerName = $3, //商户名称",
+"	TradeAmount = $4, //交易金额",
+"	TradeReferNo = $5, //交易参考号",
+"	BankAuthCode = $6, //银行授权码",
+"	DiscountRateFlag = $7, //优惠费率标识",
+"	TradeStatus = $8, //交易状态",
+"	ErrorCode = $9, //错误码",
+"	ErrorMsg = $10, //错误信息",
+"	TradeDate = $11, //交易日期",
+"	TradeTime = $12, //交易时间",
+"	TradeType = $13, //交易类型",
+"	SerEntryMode = $14, //输入模式",
+"	BankCardType = $15, //银行卡类型",
+"	TradeSnNo = $16, //交易SN号",
+"	DeviceType = $17, //设备类型",
+"	MerMobile = $18, //商户手机号",
+"	DigAmtFlag = $19, //挖款标识",
+"	DigAmt = $20, //挖款金额",
+"	IsStoreCashier = $21, //店面收银交易标识",
+"	ReceiptType = $22, //设备类型",
+"	BankCardNo = $23, //交易卡号",
+"	SettleFee = $24, //出款手续费",
+"	SettleMethod = $25, //出款方式",
+"	Remark = $26, //备注",
+"	ProductType = $27, //产品类型",
+"	AgentNo = $28, //代理商编号",
+"	ChannelSerial = $29, //渠道流水号",
+"});"
+]
+},"删除某个交易记录": {
+"prefix": "ym-db-TradeRecord-Delete",
+"body": [
+"TradeRecord $1 = db.TradeRecord.FirstOrDefault(m => m.Id == $2);",
+"if ($1 != null)",
+"{",
+"	db.TradeRecord.Remove($1);",
+"}"
+]
+},
+}

+ 42 - 0
.vscode/tasks.json

@@ -0,0 +1,42 @@
+{
+    "version": "2.0.0",
+    "tasks": [
+        {
+            "label": "build",
+            "command": "dotnet",
+            "type": "process",
+            "args": [
+                "build",
+                "${workspaceFolder}/MySystem.csproj",
+                "/property:GenerateFullPaths=true",
+                "/consoleloggerparameters:NoSummary"
+            ],
+            "problemMatcher": "$msCompile"
+        },
+        {
+            "label": "publish",
+            "command": "dotnet",
+            "type": "process",
+            "args": [
+                "publish",
+                "${workspaceFolder}/MySystem.csproj",
+                "/property:GenerateFullPaths=true",
+                "/consoleloggerparameters:NoSummary"
+            ],
+            "problemMatcher": "$msCompile"
+        },
+        {
+            "label": "watch",
+            "command": "dotnet",
+            "type": "process",
+            "args": [
+                "watch",
+                "run",
+                "${workspaceFolder}/MySystem.csproj",
+                "/property:GenerateFullPaths=true",
+                "/consoleloggerparameters:NoSummary"
+            ],
+            "problemMatcher": "$msCompile"
+        }
+    ]
+}

BIN
AppStart/.DS_Store


BIN
AppStart/Alipay/.DS_Store


+ 312 - 0
AppStart/Alipay/AlipayFunction.cs

@@ -0,0 +1,312 @@
+using System;
+using System.Collections.Generic;
+using Aop.Api;
+using Library;
+using Microsoft.AspNetCore.Http;
+using Aop.Api.Request;
+using Aop.Api.Response;
+using Aop.Api.Util;
+
+namespace MySystem
+{
+    public class AlipayFunction
+    {
+        private string AppId = "2021003116616751";
+        private string PrivateKey = "MIIEpAIBAAKCAQEA1KjMzZJIRG6QQ3+c/euVrc+8RR0xMw6A+EONSKhJq4Bg+rtxQPCfdF2bpZ4NMaSqfalSiLoxrZSYBYOZhpDP67i9LXGUoFCWdRL7ROTqJvuU6KyEeMplQ6Q3uwWbuKbh9COt0vhqn/pjlUsomTwq+DRQv10awynkZikqceXdP0EH4iGZG0hyerEP5yLHpHiggf4f7TOsovHX+fGLPmWFO1zUTHHbz7HxU4BQKn3yuje4yMhoyv5h/wZzeVwvj+Qti8Hlh351rF0f5BHwN1YMGIrWuPU5bF8OMHS/UXPxh7Bs795ZZyplYztTz26QfKfLWVVsLOng4pvgPS+OgzZydwIDAQABAoIBAEu6mMQT9Zw46zK+PP/HZxPwSBEsphqSbab7F1LqauGh4+cl3NzNU1szAnxl3jjxdK0vIO8DrzErGz/Lb16WLxS4QtXt/olgaVPjoIsWIbQkHxEEbmA9YvZFgnsdMij9dLVmBz57rCywE8pUa262GG8u4hpjY2Zggq9GtZC91J3zOeETBG828gU+FLHGcDpfz7pD1jC0noDfDRxmIImOMZvChIvvY+tm6MpySXN8lw1vxhLc0aZbKSQkuVyCyB4fIsdJJvh2dRPiY+BA0jXNK3mWwnnHzac/9JXqWFlwk6iPIIjXPUldz7Zq3EpCI+9p+UqLtIu6BAUbk1biFTt8xMECgYEA+2iIxZfdl1N1suA/aEbUdjd0kxeeOsGv7Ps0rOYn+4/q1dkUukg2V6VRy3E8BUt+9zLPTR8DmL7oBi+kDsGehjHlH7U6Pe8qKszB4ufQBDHc71yg9liqOWa4s9VoBD0VIU9CO0HtYjRor7rVuUzp+j58SLP7wIEPGEwdgjeYENECgYEA2IsYEyHiwhjy5rx7fmv3duZC5zyesIqxdAz79AuZ7gnpNEhddi5cEpcibnVmwZliCe6SoLzXZ6difEfD4VmLsYEAWqf5sqJ2PswZmHtA9F4We9WUe2zj+pFG0yCCVrcbDZXzQYaLmyuMNe/jpgyY178czohpnvQlr++bYa9DYMcCgYEAqGX6xy/UM9qpiel/T1+yTIUUxroZOI4oQvp47B82ROC/kgJYSfa4v7hys2zjoUBSiU41YRkXFac6T3p1z5SNlKGzMav4mSer/QMuE8jmowirToGjJ594Vf6iVYLqq3wmvSsT2BFu6krknGDva7FDQGW+Zgx44xcPf1zsnx6R8yECgYEAtfFA3Cp3lbBSvy4U8ScUOPHFuvbDOwB9k02pkOcCgfAP4p7+8GKJeBFGm9rG6NnQdxneV3Hz5yLL7DJ8UebkKdODEajbc41vntnsk6LT877uU0QkSwQ2FX1lLdW9zdBxyZt5VVAQEuOnHlaeRxGEhpoMQTh6zlTDKa1AN/aDvVcCgYApytvSEdTpKcQuEyPOfbQv2pXYujCacMFIRHvJW/HvX7yaZSAvSYK+lw8l53bTbJpJ3pq/1Tol6tyjY7HRsVvQ68Jn1MApARMlldn1GoAPcgDFzlJCB0JCOUAE1rBS5lA97wQ1YhI8qBRqaE7Qrtf4D5oZdEjbtq8VCeIaD9huIQ==";
+        private string PublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1KjMzZJIRG6QQ3+c/euVrc+8RR0xMw6A+EONSKhJq4Bg+rtxQPCfdF2bpZ4NMaSqfalSiLoxrZSYBYOZhpDP67i9LXGUoFCWdRL7ROTqJvuU6KyEeMplQ6Q3uwWbuKbh9COt0vhqn/pjlUsomTwq+DRQv10awynkZikqceXdP0EH4iGZG0hyerEP5yLHpHiggf4f7TOsovHX+fGLPmWFO1zUTHHbz7HxU4BQKn3yuje4yMhoyv5h/wZzeVwvj+Qti8Hlh351rF0f5BHwN1YMGIrWuPU5bF8OMHS/UXPxh7Bs795ZZyplYztTz26QfKfLWVVsLOng4pvgPS+OgzZydwIDAQAB";
+        private string AlipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxycehrmnTl2IaIAECP+0HWc1eWGM/T6x022K7K6fdf+xoyC97TBJaG4G3Bcon4gsJX+Sad5IA9OJIQ4eN1joM35hIlwcFZ6MmCuVXx/SMAKThIjK0jsRc6aTxVQG+GVCgS7dXMKb4Sm+vK2wEM6xtDeqcfYMB0BqGZRvxbIV59a2ooPrha4FkV6nNC9DQefzC0picHXV64oYUjMM2ed4ASTQVds7HP9BZfalz//APZcWdBV08f+xv7n79Twz/gNtVAadfuTAlcjsS6aK+G/OrZtr/diuemeRPRUKlVhcr5xOQDhqBgtdIw8M9Wp6I4ULXRlthKVBWToH9j6n9vDIiwIDAQAB";
+        public AlipayFunction()
+        {
+        }
+
+
+        #region 代商家签约
+
+        //(开启事务)接口创建应用事务,返回生成代商户操作事务编号 batch_no
+        public string GetBatchNo(string AlipayAccount, string Name, string Mobile, string Email)
+        {
+            IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", AppId, PrivateKey, "json", "1.0", "RSA2", AlipayPublicKey, "utf-8", false);
+            AlipayOpenAgentCreateRequest request = new AlipayOpenAgentCreateRequest();
+            request.BizContent = "{" +
+            "\"account\":\"" + AlipayAccount + "\"," +
+            "\"contact_info\":{" +
+            "\"contact_name\":\"" + Name + "\"," +
+            "\"contact_mobile\":\"" + Mobile + "\"," +
+            "\"contact_email\":\"" + Email + "\"" +
+            "}" +
+            "}";
+            string result = "";
+            try
+            {
+                AlipayOpenAgentCreateResponse response = client.Execute(request);
+                result = response.Body;
+                function.WriteLog(result, "开启事务");
+                //{"alipay_open_agent_create_response":{"code":"10000","msg":"Success","batch_no":"2022021011321326200059849","batch_status":"init"},"sign":"su+weyK1CZEXES8mdckalg16J4BELTQeVNJSpXVYg3nh5g3E7jDh/mQctkjH8HbM0RybQSahZ2j60aUTossPMXqdq2nPRkR4c/kM34toFFNU/2p7jqo9k/MbB1JotW+qFI+C/GCX/9mZQqm2tSQdYIiZlCsEtP13ZP2EQ6momEZrApyLQYUl1H54PojJgqo6zGKDXTnXuZcpi/VPP5YoWhYMx8WPFMS6+T3zr+LNPDOI94j5vDdUHQdjFAGiQMyyhfNOBcFFi18bAfWhPqlLWwblCZamTHN/QaOHo+fkBZeo9uKqrnSHPn8XW0tDAIf1qNUfY2eBzYZUIqWKbz509A=="}
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(ex.ToString(), "接口创建应用事务异常");
+                result = "";
+            }
+            return result;
+        }
+        //代签约产品通用接口,代商家发起签约产品申请
+        public string CommonSign(string BatchNo, string MccCode, string BusinessLicenseNo = "", string BusinessLicensePicPath = "", string SpecialLicensePicPath = "", string ShopScenePicPath = "", string ShopSignBoardPicPath = "")
+        { 
+            IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", AppId, PrivateKey, "json", "1.0", "RSA2", AlipayPublicKey, "utf-8", false);
+            AlipayOpenAgentCommonSignRequest request = new AlipayOpenAgentCommonSignRequest();
+            request.BatchNo = BatchNo;
+            request.MccCode = MccCode; //软件系统商 D_D05_7372
+            if(string.IsNullOrEmpty(SpecialLicensePicPath)) SpecialLicensePicPath = BusinessLicensePicPath;
+            FileItem SpecialLicensePic = new FileItem(SpecialLicensePicPath);
+            request.SpecialLicensePic = SpecialLicensePic;
+            if (!string.IsNullOrEmpty(BusinessLicenseNo))
+            {
+                request.BusinessLicenseNo = BusinessLicenseNo;  //营业执照号码
+            }
+            if (!string.IsNullOrEmpty(BusinessLicensePicPath))
+            {
+                FileItem BusinessLicensePic = new FileItem(BusinessLicensePicPath);
+                request.BusinessLicensePic = BusinessLicensePic; //营业执照图片。被代创建商户运营主体为个人账户必填,企业账户无需填写
+            }
+            FileItem BusinessLicenseAuthPic = new FileItem(BusinessLicensePicPath);
+            request.BusinessLicenseAuthPic = BusinessLicenseAuthPic;
+            request.LongTerm = true;
+            request.DateLimitation = "长期";
+            if (!string.IsNullOrEmpty(ShopScenePicPath))
+            {
+                FileItem ShopScenePic = new FileItem(ShopScenePicPath);
+                request.ShopScenePic = ShopScenePic;
+            }
+            if (!string.IsNullOrEmpty(ShopSignBoardPicPath))
+            {
+                FileItem ShopSignBoardPic = new FileItem(ShopSignBoardPicPath);
+                request.ShopSignBoardPic = ShopSignBoardPic;
+            }
+            request.ProductCode = "FACE_TO_FACE_PAYMENT"; //isv要代商户签约产品码,产品码是支付宝内部对产品的唯一标识,例如:QUICK_WAP_WAY:手机网站支付,FACE_TO_FACE_PAYMENT:当面付
+            request.AppName = "客小爽";
+            // FileItem AppDemo = new FileItem(BusinessLicensePicPath);
+            // request.AppDemo = AppDemo;
+            List<string> WebSites = new List<string>();
+            WebSites.Add("http://www.kexiaoshuang.com/");
+            request.WebSites = WebSites;
+            request.AlipayLifeName = "客小爽";
+            request.WechatOfficialAccountName = "客小爽";
+            // FileItem WebSitesLoa = new FileItem(BusinessLicensePicPath);
+            // request.WebSitesLoa = WebSitesLoa;
+            request.WebTestAccount = "testAccount";
+            request.WebTestAccountPassword = "testPassword";
+            FileItem WebHomeScreenshot = new FileItem(BusinessLicensePicPath);
+            request.WebHomeScreenshot = WebHomeScreenshot;
+            FileItem WebItemScreenshot = new FileItem(BusinessLicensePicPath);
+            request.WebItemScreenshot = WebItemScreenshot;
+            FileItem WebPayScreenshot = new FileItem(BusinessLicensePicPath);
+            request.WebPayScreenshot = WebPayScreenshot;
+            request.WebStatus = "已上线";
+            string result = "";
+            try
+            {
+                AlipayOpenAgentCommonSignResponse response = client.Execute(request);
+                result = response.Body;
+                function.WriteLog(result, "代商家发起签约产品申请");
+                //{"alipay_open_agent_common_sign_response":{"code":"10000","msg":"Success"},"sign":"qt0DiXFXIJ7mX+W2+IX+cyYXx8ROGe8yxesXHGNltxpEv/s/zW16xzf4HQLtUlaAiWf3DiD2QV7Hj+REyoZw9AcktDAmlobcjQ28lTYufPECZoUJHpkn9VpGB932FC0hScVwCbsxQakH84MGT4cmjr1hCuSs7+XogdhlCTIKjau1e7ZglLnt7f1NqT8JnljVhmvkkE9gJTLq5H+Zq6XbFfBVptvM9w09HdjfhrsxAXJyQ4yU6JYX2tUYsRGz8ZrveDQMvXKTN9jnwKE9hh8ik6Sq49eUqfutV9GkKqhC96+Vy3nOTOTnPoECXZkco1wP5jsqHottWVsRV+NxdylnTw=="}
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(ex.ToString(), "代签约产品通用接口异常");
+                result = "";
+            }
+            return result;
+        }
+        //代商户签约,提交信息确认接口
+        public string CommonSignConfirm(string BatchNo)
+        {
+            IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", AppId, PrivateKey, "json", "1.0", "RSA2", AlipayPublicKey, "utf-8", false);
+            AlipayOpenAgentCommonsignConfirmRequest request= new AlipayOpenAgentCommonsignConfirmRequest();
+            request.BizContent="{" +
+            "\"batch_no\":\"" + BatchNo + "\"" +
+            "}";
+            string result = "";
+            try
+            {
+                AlipayOpenAgentCommonsignConfirmResponse response = client.Execute(request);
+                result = response.Body;
+                function.WriteLog(result, "提交信息确认");
+                //{"alipay_open_agent_order_query_response":{"code":"10000","msg":"Success","order_no":"20220210034000100000015895929361","product_agent_status_infos":[{"product_code":"QUICK_WAP_WAY","product_name":"手机网站支付","status":"WAIT_CONFIRM"}],"order_status":"MERCHANT_CONFIRM","confirm_url":"https:\/\/openhome.alipay.com\/isv\/settling\/confirm.htm?orderNo=20220210034000100000015895929361","merchant_pid":"2088012934025363"},"sign":"mgdhauHMV9352S3FVrQmesXvHOrk633FX/EOXRYdc2ix5phCBZJ2KZRRP9MWJ566YEtWbnQlAJzHVS9X29hjgiJWOQ/wCidql4AoSAYYeqPtxiqKAZw/QEM/du5AdbWC0xBmmkQljXF9Hx8cm+IrOyPMSJXIw4Tqpm/T96YBwhsjw4Xr5dcUcvF6HX9h/i5FSdIJODxQ26PJcqQ98GQ3Y50YhTpPQkIPDFVE2QzcL6dvuhBOpwu5KbTxvgzS8Wtm3G6nMbzJ33Cv/I2lhTCIMHz90c9bvyjJpWxPWBzywO2zzv7+EZCbDkZGkdRic9l5s6qac+ZVMHkPbveaZ2wyig=="}
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(ex.ToString(), "接口创建应用事务异常");
+                result = "";
+            }
+            return result;
+        }
+
+        #endregion
+
+        #region (查询申请单状态)查询签约申请的结果
+        public string QuerySignStatus(string BatchNo)
+        {
+            IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", AppId, PrivateKey, "json", "1.0", "RSA2", AlipayPublicKey, "utf-8", false);
+            AlipayOpenAgentOrderQueryRequest  request= new AlipayOpenAgentOrderQueryRequest() ;
+            request.BizContent="{" +
+            "  \"batch_no\":\"" + BatchNo + "\"" +
+            "}";
+            string result = "";
+            try
+            {
+                AlipayOpenAgentOrderQueryResponse response = client.Execute(request);
+                result = response.Body;
+                function.WriteLog(result, "查询签约申请的结果");
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(ex.ToString(), "查询签约申请的结果异常");
+                result = "";
+            }
+            return result;
+        }
+
+        #endregion
+        
+        #region 小程序支付请调用MySystemLib下的统一收单交易创建,返回交易号返给小程序请求支付my.tradePay
+        public string GetToken()
+        {
+            IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", AppId, PrivateKey, "json", "1.0", "RSA2", AlipayPublicKey, "utf-8", false);
+            AlipayOpenAuthTokenAppRequest request = new AlipayOpenAuthTokenAppRequest();
+            request.BizContent = "{" +
+            "\"grant_type\":\"authorization_code\"," +
+            "\"code\":\"P16be77ee92264acc99553528b8a7103\"" +
+            "  }";
+            string result = "";
+            try
+            {
+                AlipayOpenAuthTokenAppResponse response = client.Execute(request);
+                result = response.Body;
+                //{"alipay_open_auth_token_app_response":{"code":"10000","msg":"Success","tokens":[{"app_auth_token":"202202BBd8c1365cd09b4a27a0c0f0b7f8cabX03","app_refresh_token":"202202BB539f0f5aa99f4b509aa3628b0af25X03","auth_app_id":"2021003116654736","expires_in":31536000,"re_expires_in":32140800,"user_id":"2088141704579033"}]},"sign":"VZINXguZZFvVDyhVp/iMK5BWXYnDYLvxYEMEZTZOVUl9MUy6xQesDzpwBBUclLLU+QgrKpeekaxj9zgwRXdh7cKlVot2lkVPkGdfkqcK/B9t8kxPXa13WIszcROCqIutlcBZW9pCIUAbWRjorDvzRCc5rLNfSBAjEldZDA0rGOPeWJXM/5uLi/70oTwyO6eaEbKdRyHLjUwp0qtolhXIvyf9HL1HbZMGtyY/Hzq35BmhB/jQ4XIVdcOEpFtNoC/1S/viLOsBCD2m4aNCGUY0i24lr92dRsEinZlCxAQq+FK6ILNUnDmBUjNkPTycDrJFw+w9sEC6AcZodNB6OC8XTw=="}
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(ex.ToString(), "支付宝统一收单交易创建(获取authtoken)异常");
+                result = "";
+            }
+            return result;
+        }
+
+        public string CreateTrade(string OrderNo, string Subject, string Amount, string BuyerId, string Notify_Url, string Token)
+        {
+            IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", AppId, PrivateKey, "json", "1.0", "RSA2", AlipayPublicKey, "utf-8", false);
+            AlipayTradeCreateRequest request = new AlipayTradeCreateRequest();
+            request.SetNotifyUrl(Notify_Url);
+            request.BizContent = "{" +
+            "\"out_trade_no\":\"" + OrderNo + "\"," +
+            "\"total_amount\":" + Amount + "," +
+            "\"subject\":\"" + Subject + "\"," +
+            "\"buyer_id\":\"" + BuyerId + "\"," +
+            "\"timeout_express\":\"10m\"" +
+            "}";
+            string result = "";
+            try
+            {
+                AlipayTradeCreateResponse response = client.Execute(request, null, Token);
+                result = response.Body;
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(ex.ToString(), "支付宝统一收单交易创建异常");
+                result = "";
+            }
+            return result;
+        }
+
+        public string QueryTrade(string OrderNo, string Token)
+        {
+            IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", AppId, PrivateKey, "json", "1.0", "RSA2", AlipayPublicKey, "utf-8", false);
+            AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
+            request.BizContent = "{" +
+            "\"out_trade_no\":\"" + OrderNo + "\"" +
+            "}";
+            string result = "";
+            try
+            {
+                AlipayTradeQueryResponse response = client.Execute(request, null, Token);
+                result = response.Body;
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(ex.ToString(), "统一收单线下交易查询异常");
+                result = "";
+            }
+            return result;
+        }
+
+        #endregion
+
+        #region 退款
+
+        public string Refund(string TradeNo, string Amount, string Token)
+        {
+            IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", AppId, PrivateKey, "json", "1.0", "RSA2", AlipayPublicKey, "utf-8", false);
+            AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
+            request.BizContent = "{" +
+            "\"trade_no\":\"" + TradeNo + "\"," +
+            "\"refund_amount\":" + Amount + "" +
+            "}";
+            string result = "";
+            try
+            {
+                AlipayTradeRefundResponse response = client.Execute(request, null, Token);
+                result = response.Body;
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(ex.ToString(), "退款异常");
+                result = "";
+            }
+            return result;
+        }
+
+        #endregion
+
+        #region 分账
+        public string Settle(string OrderNo, string TradeNo, List<RoyaltyParameters> Parameters)
+        {
+            IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", AppId, PrivateKey, "json", "1.0", "RSA2", AlipayPublicKey, "utf-8", false);
+            AlipayTradeOrderSettleRequest  request= new AlipayTradeOrderSettleRequest();
+            string royalty_parameters = "";
+            foreach (RoyaltyParameters Parameter in Parameters)
+            {
+                royalty_parameters += "    {" +
+                "      \"royalty_type\":\"transfer\"," +
+                "      \"trans_in_type\":\"loginName\"," +
+                "      \"trans_in\":\"" + Parameter.Account + "\"," +
+                "      \"amount\":" + Parameter.Amount + "," +
+                "      \"trans_in_name\":\"" + Parameter.Name + "\"" +
+                "    },";
+            }
+            request.BizContent = "{" +
+            "  \"out_request_no\":\"" + OrderNo + "\"," +
+            "  \"trade_no\":\"" + TradeNo + "\"," +
+            "  \"royalty_parameters\":[" +
+            royalty_parameters.TrimEnd(',') +
+            "  ]" +
+            "}";
+            string result = "";
+            try
+            {
+                AlipayTradeOrderSettleResponse response = client.Execute(request);
+                result = response.Body;
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(ex.ToString(), "分账异常");
+                result = "";
+            }
+            return result;
+        }
+
+        #endregion
+
+
+    }
+}

+ 268 - 0
AppStart/Alipay/Request/AlipayOpenAgentCommonSignRequest.cs

@@ -0,0 +1,268 @@
+using System;
+using System.Collections.Generic;
+using Aop.Api.Response;
+using Aop.Api.Util;
+
+namespace Aop.Api.Request
+{
+    /// <summary>
+    /// AOP API: alipay.open.agent.common.sign
+    /// </summary>
+    public class AlipayOpenAgentCommonSignRequest : IAopUploadRequest<AlipayOpenAgentCommonSignResponse>
+    {
+        /// <summary>
+        /// 支付宝生活号(原服务窗)名称(1 app_name、app_demo;2 web_sites;3 alipay_life_name;4 wechat_official_account_name。1、2、3、4至少选择一个填写)
+        /// </summary>
+        public string AlipayLifeName { get; set; }
+
+        /// <summary>
+        /// APP demo,格式为.apk;或者应用说明文档, 格式为.doc .docx .pdf格式(1 app_name、app_demo;2 web_sites;3 alipay_life_name;4 wechat_official_account_name。1、2、3、4至少选择一个填写)
+        /// </summary>
+        public FileItem AppDemo { get; set; }
+
+        /// <summary>
+        /// 商户的APP应用名称(1 app_name、app_demo;2 web_sites;3 alipay_life_name;4 wechat_official_account_name。1、2、3、4至少选择一个填写)
+        /// </summary>
+        public string AppName { get; set; }
+
+        /// <summary>
+        /// 代商户操作事务编号,通过alipay.open.agent.create接口进行创建。
+        /// </summary>
+        public string BatchNo { get; set; }
+
+        /// <summary>
+        /// 营业执照授权函图片,个体工商户如果使用总公司或其他公司的营业执照认证需上传该授权函图片,最小5KB,最大5M,图片格式必须为:png、bmp、gif、jpg、jpeg
+        /// </summary>
+        public FileItem BusinessLicenseAuthPic { get; set; }
+
+        /// <summary>
+        /// 营业执照号码
+        /// </summary>
+        public string BusinessLicenseNo { get; set; }
+
+        /// <summary>
+        /// 营业执照图片。被代创建商户运营主体为个人账户必填,企业账户无需填写。图片最小5KB,最大5M,图片格式必须为:png、bmp、gif、jpg、jpeg。
+        /// </summary>
+        public FileItem BusinessLicensePic { get; set; }
+
+        /// <summary>
+        /// 营业期限
+        /// </summary>
+        public string DateLimitation { get; set; }
+
+        /// <summary>
+        /// 营业期限是否长期有效
+        /// </summary>
+        public Nullable<bool> LongTerm { get; set; }
+
+        /// <summary>
+        /// <a href="https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.59bgD2&treeId=222&articleId=105364&docType=1#s1">商家经营类目</a> 中的“经营类目编码”
+        /// </summary>
+        public string MccCode { get; set; }
+
+        /// <summary>
+        /// isv要代商户签约产品码,产品码是支付宝内部对产品的唯一标识
+        /// </summary>
+        public string ProductCode { get; set; }
+
+        /// <summary>
+        /// 店铺内景图片,最小5KB,最大5M,图片格式必须为:png、bmp、gif、jpg、jpeg。
+        /// </summary>
+        public FileItem ShopScenePic { get; set; }
+
+        /// <summary>
+        /// 店铺门头照图片,最小5KB,最大5M,图片格式必须为:png、bmp、gif、jpg、jpeg。
+        /// </summary>
+        public FileItem ShopSignBoardPic { get; set; }
+
+        /// <summary>
+        /// 企业特殊资质图片,可参考 <a href="https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.59bgD2&treeId=222&articleId=105364&docType=1#s1">商家经营类目</a> 中的“需要的特殊资质证书”。文件最小为 5KB,最大为5M,图片格式必须为:png、bmp、gif、jpg、jpeg。
+        /// </summary>
+        public FileItem SpecialLicensePic { get; set; }
+
+        /// <summary>
+        /// 网站首页截图,最小5KB,最大5M,图片格式必须为:png、bmp、gif、jpg、jpeg
+        /// </summary>
+        public FileItem WebHomeScreenshot { get; set; }
+
+        /// <summary>
+        /// 网站商品页截图,最小5KB,最大5M,图片格式必须为:png、bmp、gif、jpg、jpeg
+        /// </summary>
+        public FileItem WebItemScreenshot { get; set; }
+
+        /// <summary>
+        /// 网站支付页截图,最小5KB,最大5M,图片格式必须为:png、bmp、gif、jpg、jpeg
+        /// </summary>
+        public FileItem WebPayScreenshot { get; set; }
+
+        /// <summary>
+        /// 接入网址信息(1 app_name、app_demo;2 web_sites;3 alipay_life_name;4 wechat_official_account_name。1、2、3、4至少选择一个填写)
+        /// </summary>
+        public List<string> WebSites { get; set; }
+
+        /// <summary>
+        /// 接入网址的授权涵,格式为.doc .docx .pdf格式
+        /// </summary>
+        public FileItem WebSitesLoa { get; set; }
+
+        /// <summary>
+        /// 网站状态,枚举值为:已上线,未上线
+        /// </summary>
+        public string WebStatus { get; set; }
+
+        /// <summary>
+        /// 可以登录此网站的测试账户
+        /// </summary>
+        public string WebTestAccount { get; set; }
+
+        /// <summary>
+        /// 可以登录此网站的账户的密码。对应web_test_account的登录密码
+        /// </summary>
+        public string WebTestAccountPassword { get; set; }
+
+        /// <summary>
+        /// 微信公众号名称(1 app_name、app_demo;2 web_sites;3 alipay_life_name;4 wechat_official_account_name。1、2、3、4至少选择一个填写)
+        /// </summary>
+        public string WechatOfficialAccountName { get; set; }
+
+        #region IAopRequest Members
+		private bool needEncrypt=false;
+		private string apiVersion = "1.0";
+		private string terminalType;
+		private string terminalInfo;
+        private string prodCode;
+		private string notifyUrl;
+        private string returnUrl;
+		private AopObject bizModel;
+        private Dictionary<string, string> udfParams; //add user-defined text parameters
+
+    	 public void SetNeedEncrypt(bool needEncrypt){
+             this.needEncrypt=needEncrypt;
+        }
+
+        public bool GetNeedEncrypt(){
+
+            return this.needEncrypt;
+        }
+
+		public void SetNotifyUrl(string notifyUrl){
+            this.notifyUrl = notifyUrl;
+        }
+
+        public string GetNotifyUrl(){
+            return this.notifyUrl;
+        }
+
+        public void SetReturnUrl(string returnUrl){
+            this.returnUrl = returnUrl;
+        }
+
+        public string GetReturnUrl(){
+            return this.returnUrl;
+        }
+
+		public void SetTerminalType(String terminalType){
+			this.terminalType=terminalType;
+		}
+
+    	public string GetTerminalType(){
+    		return this.terminalType;
+    	}
+
+    	public void SetTerminalInfo(String terminalInfo){
+    		this.terminalInfo=terminalInfo;
+    	}
+
+    	public string GetTerminalInfo(){
+    		return this.terminalInfo;
+    	}
+
+        public void SetProdCode(String prodCode){
+            this.prodCode=prodCode;
+        }
+
+        public string GetProdCode(){
+            return this.prodCode;
+        }
+
+		public void SetApiVersion(string apiVersion){
+            this.apiVersion=apiVersion;
+        }
+
+        public string GetApiVersion(){
+            return this.apiVersion;
+        }
+
+        public string GetApiName()
+        {
+            return "alipay.open.agent.common.sign";
+        }
+
+        public void PutOtherTextParam(string key, string value) 
+        {
+            if(this.udfParams == null) 
+            {
+                this.udfParams = new Dictionary<string, string>();
+            }
+            this.udfParams.Add(key, value);
+        }
+
+        public IDictionary<string, string> GetParameters()
+        {
+            AopDictionary parameters = new AopDictionary();
+            parameters.Add("alipay_life_name", this.AlipayLifeName);
+            parameters.Add("app_name", this.AppName);
+            parameters.Add("batch_no", this.BatchNo);
+            parameters.Add("business_license_no", this.BusinessLicenseNo);
+            parameters.Add("date_limitation", this.DateLimitation);
+            parameters.Add("long_term", this.LongTerm);
+            parameters.Add("mcc_code", this.MccCode);
+            parameters.Add("product_code", this.ProductCode);
+            parameters.Add("web_sites", this.WebSites);
+            parameters.Add("web_status", this.WebStatus);
+            parameters.Add("web_test_account", this.WebTestAccount);
+            parameters.Add("web_test_account_password", this.WebTestAccountPassword);
+            parameters.Add("wechat_official_account_name", this.WechatOfficialAccountName);
+            if(udfParams != null) 
+            {
+                foreach (string key in this.udfParams.Keys)
+                {
+                    parameters.Add(key, this.udfParams[key]);
+                }
+            }
+            return parameters;
+        }
+		
+		public AopObject GetBizModel()
+        {
+            return this.bizModel;
+        }
+
+        public void SetBizModel(AopObject bizModel)
+        {
+            this.bizModel = bizModel;
+        }
+
+        #endregion
+
+        #region IAopUploadRequest Members
+
+        public IDictionary<string, FileItem> GetFileParameters()
+        {
+            IDictionary<string, FileItem> parameters = new Dictionary<string, FileItem>();
+            parameters.Add("app_demo", this.AppDemo);
+            parameters.Add("business_license_auth_pic", this.BusinessLicenseAuthPic);
+            parameters.Add("business_license_pic", this.BusinessLicensePic);
+            parameters.Add("shop_scene_pic", this.ShopScenePic);
+            parameters.Add("shop_sign_board_pic", this.ShopSignBoardPic);
+            parameters.Add("special_license_pic", this.SpecialLicensePic);
+            parameters.Add("web_home_screenshot", this.WebHomeScreenshot);
+            parameters.Add("web_item_screenshot", this.WebItemScreenshot);
+            parameters.Add("web_pay_screenshot", this.WebPayScreenshot);
+            parameters.Add("web_sites_loa", this.WebSitesLoa);
+            return parameters;
+        }
+
+        #endregion
+    }
+}

+ 126 - 0
AppStart/Alipay/Request/AlipayOpenAgentCommonsignConfirmRequest.cs

@@ -0,0 +1,126 @@
+using System;
+using Aop.Api.Domain;
+using System.Collections.Generic;
+using Aop.Api.Response;
+
+namespace Aop.Api.Request
+{
+    /// <summary>
+    /// AOP API: alipay.open.agent.commonsign.confirm
+    /// </summary>
+    public class AlipayOpenAgentCommonsignConfirmRequest : IAopRequest<AlipayOpenAgentCommonsignConfirmResponse>
+    {
+        /// <summary>
+        /// 代商户签约,提交信息确认接口
+        /// </summary>
+        public string BizContent { get; set; }
+
+        #region IAopRequest Members
+        private bool  needEncrypt=false;
+        private string apiVersion = "1.0";
+	    private string terminalType;
+	    private string terminalInfo;
+        private string prodCode;
+	    private string notifyUrl;
+        private string returnUrl;
+	    private AopObject bizModel;
+        private Dictionary<string, string> udfParams; //add user-defined text parameters
+
+		public void SetNeedEncrypt(bool needEncrypt){
+             this.needEncrypt=needEncrypt;
+        }
+
+        public bool GetNeedEncrypt(){
+
+            return this.needEncrypt;
+        }
+
+		public void SetNotifyUrl(string notifyUrl){
+            this.notifyUrl = notifyUrl;
+        }
+
+        public string GetNotifyUrl(){
+            return this.notifyUrl;
+        }
+
+        public void SetReturnUrl(string returnUrl){
+            this.returnUrl = returnUrl;
+        }
+
+        public string GetReturnUrl(){
+            return this.returnUrl;
+        }
+
+        public void SetTerminalType(String terminalType){
+			this.terminalType=terminalType;
+		}
+
+    	public string GetTerminalType(){
+    		return this.terminalType;
+    	}
+
+    	public void SetTerminalInfo(String terminalInfo){
+    		this.terminalInfo=terminalInfo;
+    	}
+
+    	public string GetTerminalInfo(){
+    		return this.terminalInfo;
+    	}
+
+        public void SetProdCode(String prodCode){
+            this.prodCode=prodCode;
+        }
+
+        public string GetProdCode(){
+            return this.prodCode;
+        }
+
+        public string GetApiName()
+        {
+            return "alipay.open.agent.commonsign.confirm";
+        }
+
+        public void SetApiVersion(string apiVersion){
+            this.apiVersion=apiVersion;
+        }
+
+        public string GetApiVersion(){
+            return this.apiVersion;
+        }
+
+        public void PutOtherTextParam(string key, string value) 
+        {
+            if(this.udfParams == null) 
+            {
+                this.udfParams = new Dictionary<string, string>();
+            }
+            this.udfParams.Add(key, value);
+        }
+
+        public IDictionary<string, string> GetParameters()
+        {
+            AopDictionary parameters = new AopDictionary();
+            parameters.Add("biz_content", this.BizContent);
+            if(udfParams != null) 
+            {
+                foreach (string key in this.udfParams.Keys)
+                {
+                    parameters.Add(key, this.udfParams[key]);
+                }
+            }
+            return parameters;
+        }
+
+		public AopObject GetBizModel()
+        {
+            return this.bizModel;
+        }
+
+        public void SetBizModel(AopObject bizModel)
+        {
+            this.bizModel = bizModel;
+        }
+
+        #endregion
+    }
+}

+ 12 - 0
AppStart/Alipay/Response/AlipayOpenAgentCommonSignResponse.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Xml.Serialization;
+
+namespace Aop.Api.Response
+{
+    /// <summary>
+    /// AlipayOpenAgentCommonSignResponse.
+    /// </summary>
+    public class AlipayOpenAgentCommonSignResponse : AopResponse
+    {
+    }
+}

+ 17 - 0
AppStart/Alipay/Response/AlipayOpenAgentCommonsignConfirmResponse.cs

@@ -0,0 +1,17 @@
+using System;
+using System.Xml.Serialization;
+
+namespace Aop.Api.Response
+{
+    /// <summary>
+    /// AlipayOpenAgentCommonsignConfirmResponse.
+    /// </summary>
+    public class AlipayOpenAgentCommonsignConfirmResponse : AopResponse
+    {
+        /// <summary>
+        /// 签约单号
+        /// </summary>
+        [XmlElement("order_no")]
+        public string OrderNo { get; set; }
+    }
+}

BIN
AppStart/Aliyun/.DS_Store


+ 12 - 0
AppStart/AppResultJson.cs

@@ -0,0 +1,12 @@
+using System;
+namespace MySystem
+{
+    public class AppResultJson
+    {
+        public string Info { get; set; }
+        public object Data { get; set; }
+        public object Other { get; set; }
+        public string Status { get; set; }
+        public int Timestamp { get; set; }
+    }
+}

+ 16 - 0
AppStart/GlobalExceptions.cs

@@ -0,0 +1,16 @@
+using System;
+using Library;
+using Microsoft.AspNetCore.Mvc.Filters;
+
+namespace MySystem
+{
+    public class GlobalExceptions : IExceptionFilter
+    {
+        public void OnException(ExceptionContext context)
+        {
+            string Message = context.Exception.Message;
+            string StackTrace = context.Exception.StackTrace;
+            function.WriteLog(DateTime.Now.ToString() + "\r\n" + Message + "\r\n" + StackTrace, "Global全局异常处理日志");
+        }
+    }
+}

BIN
AppStart/Helper/.DS_Store


+ 72 - 0
AppStart/Helper/ActRewardService.cs

@@ -0,0 +1,72 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class ActRewardService
+    {
+        public readonly static ActRewardService Instance = new ActRewardService();
+        private ActRewardService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void dosomething()
+        {
+            while (true)
+            {
+                string data = RedisDbconn.Instance.RPop<string>("ActRewardQueue");
+                if (!string.IsNullOrEmpty(data))
+                {
+                    try
+                    {
+                        JsonData jsonOj = JsonMapper.ToObject(data);
+                        int PosId = int.Parse(function.CheckInt(jsonOj["PosId"].ToString()));
+                        int UserId = int.Parse(function.CheckInt(jsonOj["UserId"].ToString()));
+                        decimal RewardAmount = decimal.Parse(function.CheckInt(jsonOj["RewardAmount"].ToString()));
+                        int ChangeType = int.Parse(function.CheckInt(jsonOj["ChangeType"].ToString()));
+                        WebCMSEntities db = new WebCMSEntities();
+                        PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId) ?? new PosMachinesTwo();
+                        PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PosMerchantInfo();
+                        Users user = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+                        int BuyTopUserId = 0;
+                        string ParentNav = user.ParentNav;
+                        if (!string.IsNullOrEmpty(ParentNav))
+                        {
+                            string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                            if (ParentNavList.Length > 1)
+                            {
+                                BuyTopUserId = int.Parse(ParentNavList[1]);
+                            }
+                            else if (ParentNavList.Length == 1)
+                            {
+                                BuyTopUserId = int.Parse(ParentNavList[0]);
+                            }
+                        }
+                        StatService.Instance.doActiveReward(db, merchant, pos, user.Id, user.ParentNav, BuyTopUserId, RewardAmount, ChangeType);
+                        db.Dispose();
+                    }
+                    catch (Exception ex)
+                    {                        
+                        function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "设置激活奖励异常");
+                    }
+                }
+                else
+                {
+                    Thread.Sleep(500);
+                }
+            }
+        }
+    }
+}

+ 98 - 0
AppStart/Helper/AddActService.cs

@@ -0,0 +1,98 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class AddActService
+    {
+        public readonly static AddActService Instance = new AddActService();
+        private AddActService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void dosomething()
+        {
+            while (true)
+            {
+                string data = RedisDbconn.Instance.RPop<string>("AddActQueue");
+                if (!string.IsNullOrEmpty(data))
+                {
+                    try
+                    {
+                        int PosId = int.Parse(function.CheckInt(data));                    
+                        WebCMSEntities db = new WebCMSEntities();
+                        PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId);
+                        if(pos != null)
+                        {
+                            decimal CheckMoney = 1000;
+                            int CheckDays = 30;
+                            DateTime now = DateTime.Now;
+                            //判断激活条件并激活
+                            DateTime TransferTime = pos.TransferTime == null ? DateTime.Now : pos.TransferTime.Value;
+                            if (pos.CreditTrade >= CheckMoney && pos.BuyUserId > 0 && pos.ActivationState == 0 && TransferTime.AddMinutes(-30) < pos.BindingTime)
+                            {
+                                pos.ActivationState = 1;
+                                pos.ActivationTime = DateTime.Now;
+                                function.WriteLog("机具" + pos.PosSn, "开机奖励在激活中监控");
+                                PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
+                                if (merchant != null)
+                                {
+                                    merchant.ActiveStatus = 1;
+                                    merchant.MerStandardDate = DateTime.Now;
+                                    db.SaveChanges();
+                                    function.WriteLog("商户" + merchant.KqMerNo, "开机奖励在激活中监控");
+
+                                    // 推荐王逻辑(激活)
+                                    string SendData = "{\"Kind\":\"3\",\"Data\":{\"UserId\":\"" + pos.BuyUserId + "\",\"PosId\":\"" + pos.Id + "\",\"TradeMonth\":\"" + DateTime.Now.ToString("yyyyMM") + "\"}}";
+                                    RedisDbconn.Instance.AddList("RecommendActStatQueue", SendData);
+
+                                    //发放开机奖励
+                                    function.WriteLog("首台" + pos.IsFirst, "开机奖励在激活中监控");
+                                    if(pos.IsFirst == 1 && pos.BindingTime > DateTime.Now.AddDays(-CheckDays))
+                                    {
+                                        RedisDbconn.Instance.AddList("OpenRewardQueue", pos.Id.ToString());
+                                    }
+                                }
+                                //发放大盟主奖励
+                                if(pos.LeaderUserId > 0 && pos.IsFirst == 1 && db.Leaders.Any(m => m.Id == pos.LeaderUserId && m.ExpiredDate > now) && pos.BindingTime > DateTime.Now.AddDays(-CheckDays))
+                                {
+                                    RedisDbconn.Instance.AddList("LeaderPrizeQueue", pos.Id);
+                                }
+                                //发放运营中心奖励
+                                if(pos.IsFirst == 1 && pos.BindingTime > DateTime.Now.AddDays(-CheckDays))
+                                {
+                                    RedisDbconn.Instance.AddList("OperatePrizeQueue", pos.Id);
+                                }
+                                AlipayPayBack2Service.Instance.ActReserveBack(pos.OpId, pos.OpReserve1, pos.OpReserve2, pos.OpReserve3);
+
+                                //统计激活数
+                                RedisDbconn.Instance.AddList("StatActQueue", "{\"TradeDate\":\"" + DateTime.Now.ToString("yyyyMMdd") + "\",\"UserId\":\"" + pos.BuyUserId + "\",\"BrandId\":\"" + pos.BrandId + "\"}");
+                            }
+                            db.Dispose();
+                        }
+                    }
+                    catch (Exception ex)
+                    {                        
+                        function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "划拨后检查机具激活状态并自动补录异常");
+                    }
+                }
+                else
+                {
+                    Thread.Sleep(30000);
+                }
+            }
+        }
+    }
+}

+ 1392 - 0
AppStart/Helper/AlipayPayBack2Service.cs

@@ -0,0 +1,1392 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class AlipayPayBack2Service
+    {
+        public readonly static AlipayPayBack2Service Instance = new AlipayPayBack2Service();
+        private AlipayPayBack2Service()
+        { }
+
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+        
+        private void dosomething()
+        { 
+            bool op = true;
+            while (op)
+            {
+                string content = RedisDbconn.Instance.RPop<string>("PayCallBack2");
+                if (!string.IsNullOrEmpty(content))
+                {
+                    try
+                    {
+                        sloveAlipayCallBack(content);
+                    }
+                    catch(Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "支付宝支付回调异常");
+                    }
+                }
+                else
+                {
+                    Thread.Sleep(2000);
+                }
+            }
+        }
+
+        public void sloveAlipayCallBack(string content)
+        { 
+            JsonData jsonObj = JsonMapper.ToObject(content);
+            string OrderNo = jsonObj["out_trade_no"].ToString();
+            string TradeNo = jsonObj["transaction_id"].ToString();
+            decimal TotalFee = decimal.Parse(function.CheckNum(jsonObj["total_fee"].ToString()));
+            WebCMSEntities db = new WebCMSEntities();
+            OrderForNo forNo = db.OrderForNo.FirstOrDefault(m => m.OrderNo == OrderNo);
+            if (forNo != null)
+            {
+                string[] ids = forNo.OrderIds.Split(',');
+                foreach (string idString in ids)
+                {
+                    int OrderId = int.Parse(idString);
+                    DoOrderV2(db, OrderId);
+                    Orders order = db.Orders.FirstOrDefault(m => m.Id == OrderId && m.Status > 0);
+                    if(order != null)
+                    {
+                        Products product = db.Products.FirstOrDefault(m => m.Id == order.ProductId) ?? new Products();
+                        if(product.ProductKind == 2)
+                        {
+                            order.Status = 2;
+                            order.SendStatus = 1;
+                            order.SendDate = DateTime.Now;
+                            db.SaveChanges();
+                        }
+                    }
+                }
+            }
+            db.Dispose();
+        }
+
+        #region 新订单流程
+        public void DoOrderV2(WebCMSEntities db, int OrderId)
+        {
+            Orders order = db.Orders.FirstOrDefault(m => m.Id == OrderId && m.Status <= 0);
+            if (order != null)
+            {
+                order.Status = 1;
+                order.PayDate = DateTime.Now;
+                order.PayStatus = 1;
+                db.SaveChanges();
+                if(order.ParentOrderId > 0)
+                {
+                    int total = db.Orders.Count(m => m.ParentOrderId == order.ParentOrderId);
+                    int paycount = db.Orders.Count(m => m.ParentOrderId == order.ParentOrderId && m.Status > 0);
+                    if(paycount >= total)
+                    {
+                        // order = db.Orders.FirstOrDefault(m => m.Id == order.ParentOrderId && m.Status == 0);
+                        // if (order != null)
+                        // {
+                        //     order.Status = 2;
+                        //     order.PayDate = DateTime.Now;
+                        //     order.PayStatus = 1;
+                        //     OrderId = order.Id;
+                        // }
+                        DoOrderV2(db, order.ParentOrderId);
+                    }
+                    return;
+                }
+
+                OrderProduct pro = db.OrderProduct.FirstOrDefault(m => m.OrderId == OrderId);
+                if (pro != null)
+                {
+                    order.ProductId = pro.ProductId;
+                    //扣减对应商品的库存
+                    Products product = db.Products.FirstOrDefault(m => m.Id == pro.ProductId);
+                    if(product != null)
+                    {
+                        product.Stock -= pro.ProductCount;
+                        product.BuyCount += pro.ProductCount;
+                    }
+                    db.SaveChanges();
+                    if(order.ErpMode > 0)
+                    {
+                        pro.ProductId = order.ProductId;
+                    }
+                    List<int> couponIds = new List<int>();
+                    if (pro.ProductId == 10 || pro.ProductId == 11 || pro.ProductId == 27 || pro.ProductId == 28 || pro.ProductId == 34 || pro.ProductId == -2)
+                    {
+                        order.Status = 2;
+                        int BuyCount = pro.ProductCount;
+                        int Kind = 0;
+                        int BeforeLeaderLevel = 0;
+                        if (pro.ProductId == 10 || pro.ProductId == 34)
+                        {
+                            Kind = 1;
+                        }
+                        else if (pro.ProductId == 11 || pro.ProductId == -2)
+                        {
+                            Kind = 2;
+                        }
+                        else if (pro.ProductId == 28)
+                        {
+                            Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId && m.LeaderLevel == 0);
+                            if(user != null)
+                            {
+                                BeforeLeaderLevel = user.LeaderLevel;
+                                user.LeaderLevel = 1;
+                            }
+                        }
+                        else if (pro.ProductId == 27)
+                        {
+                            Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId && m.LeaderLevel < 2);
+                            if(user != null)
+                            {
+                                BeforeLeaderLevel = user.LeaderLevel;
+                                user.LeaderLevel = 2;
+                            }
+                        }
+                        if(Kind <= 2 && (pro.ProductId == 10 || pro.ProductId == 11 || pro.ProductId == 34 || pro.ProductId == -2))
+                        {
+                            // 购买600一组机具券,返券
+                            int CouponCount = 0;
+                            if(Kind == 1 || Kind == 3)
+                            {
+                                CouponCount = 3 * pro.ProductCount;
+                            }
+                            else if(Kind == 2)
+                            {
+                                CouponCount = 2 * pro.ProductCount;
+                            }
+                            if(pro.ProductId == 34) //助利宝商机券购买,50张起购
+                            {
+                                CouponCount = 50 * pro.ProductCount;
+                            }
+                            string Codes = "";
+                            var coupons = db.PosCoupons.Where(m => m.IsLock == 0 && m.IsUse == 0 && m.UserId == 0 && m.QueryCount == Kind).OrderBy(m => m.Id).Take(CouponCount).ToList();
+                            int RecordId = 0;
+                            if(coupons.Count > 0 && (pro.ProductId == 34 || pro.ProductId == -2))
+                            {
+                                var adds = db.HelpProfitExchange.Add(new HelpProfitExchange()
+                                {
+                                    CreateDate = DateTime.Now, //创建时间
+                                    UserId = order.UserId,
+                                    ExchangeCount = coupons.Count,
+                                }).Entity;
+                                db.SaveChanges();
+                                RecordId = adds.Id;
+                            }
+                            foreach (var coupon in coupons) // TODO: 数量多的话,会慢
+                            {
+                                PosCoupons item = db.PosCoupons.FirstOrDefault(m => m.Id == coupon.Id);
+                                if (item != null)
+                                {
+                                    item.CreateDate = DateTime.Now;
+                                    item.UserId = order.UserId;
+                                    item.UpdateDate = DateTime.Now.AddDays(180);
+                                    if(pro.ProductId == 34 || pro.ProductId == -2)
+                                    {
+                                        item.HelpProfitFlag = 1;
+                                        db.HelpProfitExchangeDetail.Add(new HelpProfitExchangeDetail()
+                                        {
+                                            CreateDate = DateTime.Now, //创建时间
+                                            UserId = order.UserId,
+                                            PosCouponId = item.Id,
+                                            ExchangeCode = item.ExchangeCode,
+                                            RecordId = RecordId,
+                                        });
+                                    }
+                                    Codes += item.ExchangeCode + ",";
+                                    couponIds.Add(coupon.Id);
+                                }
+                            }
+                            order.SnNos = Codes.TrimEnd(',');
+                        }
+                        db.SaveChanges();
+                        if (pro.ProductId == 27 || pro.ProductId == 28)
+                        {
+                            //充值盟主储备金
+                            decimal TotalPrice = 10000;
+                            if(pro.ProductId == 27)
+                            {
+                                TotalPrice = 40000;
+                            }
+                            OpReserve(db, order, order.UserId, TotalPrice, 1);
+                            Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId) ?? new Users();
+                            if(pro.ProductId == 27)
+                            {
+                                OperateReserveBackFor(db, user.Id, 40000);
+                                //自留券数量清除
+                                CancelStayCoupon(db, order.UserId, 7);
+                                //预设大盟主职级
+                                LeaderPreUserLevel(db, order.UserId, 2);
+                                AddLeader(db, order.UserId, 2);
+                                decimal Prize = decimal.Parse(function.CheckNum(PublicFunction.GetPublicParam(db, "BigLeaderPrize")));
+                                if(Prize > 0 && BeforeLeaderLevel < 2 && user.UserType == 0)
+                                {
+                                    LeaderRecommendPrize(db, order, user.Id, Prize, 122);
+                                }
+                            }
+                        }
+                        if (pro.ProductId == 28) //购买小盟主,给上级大盟主返储备金
+                        {
+                            bool check = LeaderBack(db, order);
+                            Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId) ?? new Users();
+                            //自留券数量清除
+                            CancelStayCoupon(db, order.UserId, 5);
+                            // if (check) OperateReserveBackFor(db, user.Id, 10000);
+                            //预设小盟主职级
+                            LeaderPreUserLevel(db, order.UserId, 1);
+                            AddLeader(db, order.UserId, 1);
+                            decimal Prize = decimal.Parse(function.CheckNum(PublicFunction.GetPublicParam(db, "SmallLeaderPrize")));
+                            if(Prize > 0 && BeforeLeaderLevel < 1 && user.UserType == 0)
+                            {
+                                LeaderRecommendPrize(db, order, user.Id, Prize, 123);
+                            }
+                        }
+                    }
+                    // 购买盟主储蓄金
+                    if (pro.ProductId == 39 || pro.ProductId == 40)
+                    {
+                        order.Status = 2;
+                        //充值盟主储备金
+                        decimal TotalPrice = 10000;
+                        if(pro.ProductId == 39)
+                        {
+                            TotalPrice = 40000;
+                        }
+                        OpReserve(db, order, order.UserId, TotalPrice, 1);
+                        if(pro.ProductId == 39) //购买大盟主储蓄金,给上级运营中心返可提现金额
+                        {
+                            OperateReserveBackFor(db, order.UserId, 40000);
+                            AddLeader(db, order.UserId, 2);
+                            LeaderPreUserLevel(db, order.UserId, 2);
+                        }
+                        else if(pro.ProductId == 40) //购买小盟主储蓄金,给上级大盟主返储备金
+                        {
+                            LeaderBack(db, order);
+                            AddLeader(db, order.UserId, 1);
+                            LeaderPreUserLevel(db, order.UserId, 1);
+                        }
+                    }
+
+                    //推荐下单奖励
+                    List<int> LkbIds = new List<int>(); //来客吧组合包
+                    LkbIds.Add(77);
+                    LkbIds.Add(78);
+                    LkbIds.Add(79);
+                    if (pro.ProductId == 10 || pro.ProductId == 11 || LkbIds.Contains(pro.ProductId))
+                    {
+                        bool checkPrize = db.UserAccountRecord.Any(m => m.QueryCount == OrderId && m.ChangeType == 112);
+                        function.WriteLog("OrderId:" + OrderId, "推荐下单奖励监控日志");
+                        function.WriteLog("checkPrize:" + checkPrize, "推荐下单奖励监控日志");
+                        if (checkPrize)
+                        {
+                            Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId);
+                            if (user != null)
+                            {
+                                if(user.LeaderLevel > 0 || user.UserType == 1) //盟主或运营中心
+                                {
+                                    //获得100元奖励
+                                    OpAccount(db, order, order.UserId, 100, pro.ProductCount);
+                                }
+                            }
+                        }
+                        else
+                        {
+                            Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId);
+                            if (user != null)
+                            {
+                                bool directPrize = false; //直推奖标记
+                                bool bigLeaderPrize = false; //大盟主券标记
+                                bool operateFlag = false; //运营中心标记
+                                bool buyPrize = false; //返100购机奖励标记或返100购机奖励标记-运营中心
+                                int leaderFlag = 0; //返600备用金标记
+                                if(user.LeaderLevel > 0 || user.UserType == 1) //盟主或运营中心
+                                {
+                                    if(user.LeaderLevel > 0)
+                                    {
+                                        UserAccount acccount = db.UserAccount.FirstOrDefault(m => m.Id == order.UserId) ?? new UserAccount();
+                                        if(acccount.LeaderReserve >= order.TotalPrice)
+                                        {
+                                            if(order.PayMode == 4)
+                                            {
+                                                //扣减备用金
+                                                OpReserve(db, order, order.UserId, order.TotalPrice, 0, 0, "商城购机(储备金支付)");
+                                            }
+                                        }
+                                        string parentString = user.ParentNav + "," + order.UserId + ",";
+                                        string[] puids = parentString.Replace(",,", ",").Trim(',').Split(',');
+                                        Array.Reverse(puids);
+                                        bool getFlag = true;
+                                        foreach(string puid in puids)
+                                        {
+                                            int puidNum = int.Parse(function.CheckInt(puid));
+                                            Users puser = db.Users.FirstOrDefault(m => m.Id == puidNum) ?? new Users();
+                                            if(puser.LeaderLevel > 0 && getFlag)
+                                            {
+                                                UserAccount pacccount = db.UserAccount.FirstOrDefault(m => m.Id == puidNum) ?? new UserAccount();
+                                                if(pacccount.LeaderReserve >= 400 * pro.ProductCount)
+                                                {
+                                                    //获得100元奖励
+                                                    OpAccount(db, order, puidNum, 100, pro.ProductCount);
+                                                    getFlag = false;
+                                                    break;
+                                                }
+                                            }
+                                        }
+
+                                        //小盟主在有效期内购券后预设职级,仍为K5,但增加一条预设为K1的预设记录
+                                        if(user.LeaderLevel == 1)
+                                        {
+                                            DateTime now = DateTime.Now;
+                                            bool checkLeader = db.Leaders.Any(m => m.Id == user.Id && m.ExpiredDate > now);
+                                            if(checkLeader)
+                                            {
+                                                PreUserLevel(db, user.Id, 1, DateTime.Parse("2025-01-01 00:00:00"));
+                                            }
+                                        }
+                                    }
+                                    else if(user.UserType == 1)
+                                    {
+                                        //获得100元奖励
+                                        OpAccount(db, order, order.UserId, 100, pro.ProductCount);
+                                    }
+                                    //推荐奖励
+                                    DirectPrize(db, order.Id, order.UserId, pro.ProductCount);
+                                    //推荐下单上级获得30天的机具循环天数(盟主自己得)
+                                    var posList = db.PosMachinesTwo.Select(m => new { m.Id, m.UserId, m.BindingState, m.RecycEndDate }).Where(m => m.UserId == order.UserId && m.BindingState == 0 && m.RecycEndDate != null).ToList();
+                                    foreach (var subPos in posList)
+                                    {
+                                        PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == subPos.Id);
+                                        if (pos != null)
+                                        {
+                                            pos.RecycEndDate = pos.RecycEndDate.Value.AddDays(30);
+                                        }
+                                    }
+                                    db.SaveChanges();
+                                    if(order.PayMode == 4 && user.LeaderLevel > 0) //使用盟主储蓄金,并且是盟主
+                                    {
+                                        if(user.UserType == 1)
+                                        {
+                                            if(couponIds.Count > 0)
+                                            {
+                                                UserAccount acccount = db.UserAccount.FirstOrDefault(m => m.Id == user.Id) ?? new UserAccount();
+                                                foreach(int couponId in couponIds)
+                                                {
+                                                    PosCoupons coupon = db.PosCoupons.FirstOrDefault(m => m.Id == couponId);
+                                                    if(coupon != null)
+                                                    {
+                                                        if(acccount.LeaderReserve >= 400 * pro.ProductCount)
+                                                        {
+                                                            coupon.LeaderUserId = user.Id;
+                                                        }
+                                                        coupon.OpId = user.Id;
+                                                    }
+                                                }
+                                            }
+                                            db.SaveChanges();
+                                        }
+                                        else
+                                        {
+                                            //寻找最近运营中心额度大于0的运营中心
+                                            int PUserId = user.Id;
+                                            bool OperateFlag = true;
+                                            bool OncePrizeFlag1 = true;
+                                            while(PUserId > 0)
+                                            {
+                                                Users puser = db.Users.FirstOrDefault(m => m.Id == PUserId);
+                                                if(puser != null)
+                                                {
+                                                    if(puser.UserType == 1 && OperateFlag == true) //运营中心
+                                                    {
+                                                        if(couponIds.Count > 0)
+                                                        {
+                                                            UserAccount acccount = db.UserAccount.FirstOrDefault(m => m.Id == order.UserId) ?? new UserAccount();
+                                                            foreach(int couponId in couponIds)
+                                                            {
+                                                                PosCoupons coupon = db.PosCoupons.FirstOrDefault(m => m.Id == couponId);
+                                                                if(coupon != null)
+                                                                {
+                                                                    if(acccount.LeaderReserve >= 400 * pro.ProductCount)
+                                                                    {
+                                                                        coupon.LeaderUserId = user.Id;
+                                                                    }
+                                                                    coupon.OpId = puser.Id;
+                                                                }
+                                                            }
+                                                            db.SaveChanges();
+                                                            if(acccount.LeaderReserve >= 400 * pro.ProductCount && OncePrizeFlag1)
+                                                            {
+                                                                //扣减备用金
+                                                                OpReserve(db, order, order.UserId, 400 * pro.ProductCount, 2, 0, "商城购机");
+                                                                //返回到余额
+                                                                OpLeaderAccount(db, order, order.UserId, 400, pro.ProductCount);
+                                                                OncePrizeFlag1 = false;
+                                                            }
+                                                            OperateFlag = false;
+                                                        }
+                                                        else if(LkbIds.Contains(pro.ProductId)) //来客吧组合包
+                                                        {
+                                                            UserAccount acccount = db.UserAccount.FirstOrDefault(m => m.Id == order.UserId) ?? new UserAccount();
+                                                            if(acccount.LeaderReserve >= 400 * pro.ProductCount && OncePrizeFlag1)
+                                                            {
+                                                                //扣减备用金
+                                                                OpReserve(db, order, order.UserId, 400 * pro.ProductCount, 2, 0, "商城购机");
+                                                                //返回到余额
+                                                                OpLeaderAccount(db, order, order.UserId, 400, pro.ProductCount);
+                                                                OncePrizeFlag1 = false;
+                                                            }
+                                                            OperateFlag = false;
+                                                        }
+                                                    }
+                                                    PUserId = puser.ParentUserId;
+                                                }
+                                                else
+                                                {
+                                                    PUserId = 0;
+                                                }
+                                            }
+                                        }
+                                    }
+                                    else if(order.PayMode == 4 && user.UserType == 1) //使用盟主储蓄金,并且是运营中心
+                                    {
+                                        if(couponIds.Count > 0)
+                                        {
+                                            foreach(int couponId in couponIds)
+                                            {
+                                                PosCoupons coupon = db.PosCoupons.FirstOrDefault(m => m.Id == couponId);
+                                                if(coupon != null)
+                                                {
+                                                    coupon.OpId = user.Id;
+                                                }
+                                            }
+                                        } 
+                                        db.SaveChanges();
+                                        //寻找最近储蓄金充足的大盟主
+                                        int PUserId = user.Id;
+                                        bool LeaderFlag = true;
+                                        bool OncePrizeFlag2 = true;
+                                        while(PUserId > 0)
+                                        {
+                                            Users puser = db.Users.FirstOrDefault(m => m.Id == PUserId);
+                                            if(puser != null)
+                                            {
+                                                if(puser.LeaderLevel == 2 && LeaderFlag == true) //大盟主
+                                                {
+                                                    if(couponIds.Count > 0)
+                                                    {
+                                                        UserAccount pacccount = db.UserAccount.FirstOrDefault(m => m.Id == puser.Id) ?? new UserAccount();
+                                                        foreach(int couponId in couponIds)
+                                                        {
+                                                            PosCoupons coupon = db.PosCoupons.FirstOrDefault(m => m.Id == couponId);
+                                                            if(coupon != null && pacccount.LeaderReserve >= 400 * pro.ProductCount)
+                                                            {
+                                                                coupon.LeaderUserId = puser.Id;
+                                                            }
+                                                        }
+                                                        db.SaveChanges();
+                                                        UserAccount acccount = db.UserAccount.FirstOrDefault(m => m.Id == order.UserId) ?? new UserAccount();
+                                                        if(acccount.LeaderReserve >= 400 * pro.ProductCount && OncePrizeFlag2)
+                                                        {
+                                                            //扣减备用金
+                                                            OpReserve(db, order, order.UserId, 400 * pro.ProductCount, 2, 0, "商城购机");
+                                                            //返回到余额
+                                                            OpLeaderAccount(db, order, order.UserId, 400, pro.ProductCount);
+                                                            OncePrizeFlag2 = false;
+                                                        }
+                                                        LeaderFlag = false;
+                                                    }
+                                                    else if(LkbIds.Contains(pro.ProductId))
+                                                    {
+                                                        UserAccount acccount = db.UserAccount.FirstOrDefault(m => m.Id == order.UserId) ?? new UserAccount();
+                                                        if(acccount.LeaderReserve >= 400 * pro.ProductCount && OncePrizeFlag2)
+                                                        {
+                                                            //扣减备用金
+                                                            OpReserve(db, order, order.UserId, 400 * pro.ProductCount, 2, 0, "商城购机");
+                                                            //返回到余额
+                                                            OpLeaderAccount(db, order, order.UserId, 400, pro.ProductCount);
+                                                            OncePrizeFlag2 = false;
+                                                        }
+                                                        LeaderFlag = false;
+                                                    }
+                                                }
+                                                PUserId = puser.ParentUserId;
+                                            }
+                                            else
+                                            {
+                                                PUserId = 0;
+                                            }
+                                        }
+                                    }
+                                    else
+                                    {
+                                        //寻找最近储蓄金充足的大盟主及最近运营中心额度大于0的运营中心(含自身)
+                                        int PUserId = user.Id;
+                                        int LeaderFlag = 0;
+                                        bool OperateFlag = true;
+                                        bool OncePrizeFlag3 = true;
+                                        while(PUserId > 0)
+                                        {
+                                            Users puser = db.Users.FirstOrDefault(m => m.Id == PUserId);
+                                            if(puser != null)
+                                            {
+                                                if(puser.LeaderLevel > 0 && puser.LeaderLevel > LeaderFlag && LeaderFlag < 2) //大盟主
+                                                {
+                                                    if(couponIds.Count > 0)
+                                                    {
+                                                        if(puser.LeaderLevel == 2)
+                                                        {
+                                                            UserAccount pacccount = db.UserAccount.FirstOrDefault(m => m.Id == puser.Id) ?? new UserAccount();
+                                                            foreach(int couponId in couponIds)
+                                                            {
+                                                                PosCoupons coupon = db.PosCoupons.FirstOrDefault(m => m.Id == couponId);
+                                                                if(coupon != null && pacccount.LeaderReserve >= 400 * pro.ProductCount)
+                                                                {
+                                                                    coupon.LeaderUserId = puser.Id;
+                                                                }
+                                                            }
+                                                            db.SaveChanges();
+                                                        }
+                                                        UserAccount acccount = db.UserAccount.FirstOrDefault(m => m.Id == puser.Id) ?? new UserAccount();
+                                                        if(acccount.LeaderReserve >= 400 * pro.ProductCount && OncePrizeFlag3)
+                                                        {
+                                                            //扣减备用金
+                                                            OpReserve(db, order, puser.Id, 400 * pro.ProductCount, 2, 0, "商城购机");
+                                                            //返回到余额
+                                                            OpLeaderAccount(db, order, puser.Id, 400, pro.ProductCount);
+                                                            LeaderFlag = puser.LeaderLevel;
+                                                            OncePrizeFlag3 = false;
+                                                        }
+                                                    }
+                                                    else if(LkbIds.Contains(pro.ProductId))
+                                                    {
+                                                        UserAccount acccount = db.UserAccount.FirstOrDefault(m => m.Id == puser.Id) ?? new UserAccount();
+                                                        if(acccount.LeaderReserve >= 400 * pro.ProductCount && OncePrizeFlag3)
+                                                        {
+                                                            //扣减备用金
+                                                            OpReserve(db, order, puser.Id, 400 * pro.ProductCount, 2, 0, "商城购机");
+                                                            //返回到余额
+                                                            OpLeaderAccount(db, order, puser.Id, 400, pro.ProductCount);
+                                                            LeaderFlag = puser.LeaderLevel;
+                                                            OncePrizeFlag3 = false;
+                                                        }
+                                                    }
+                                                }
+                                                if(puser.UserType == 1 && OperateFlag == true) //运营中心
+                                                {
+                                                    if(couponIds.Count > 0)
+                                                    {
+                                                        foreach(int couponId in couponIds)
+                                                        {
+                                                            PosCoupons coupon = db.PosCoupons.FirstOrDefault(m => m.Id == couponId);
+                                                            if(coupon != null)
+                                                            {
+                                                                coupon.OpId = puser.Id;
+                                                            }
+                                                        }
+                                                        db.SaveChanges();
+                                                        OperateFlag = false;
+                                                    }
+                                                }
+                                                PUserId = puser.ParentUserId;
+                                            }
+                                            else
+                                            {
+                                                PUserId = 0;
+                                            }
+                                        }
+                                        //运营中心返额度(下单人自己是运营中心)
+                                        // OperateReserveBackFor(db, order.UserId, order.TotalPrice);
+                                    }
+                                    return;
+                                }
+                                int ParentUserId = user.ParentUserId;
+                                // List<int> proids = new List<int>();
+                                // proids.Add(10);
+                                // proids.Add(11);
+                                // 普通创客购买600一组的机具券
+                                bool OncePrizeFlag4 = true;
+                                while(ParentUserId > 0)
+                                {
+                                    Users puser = db.Users.FirstOrDefault(m => m.Id == ParentUserId) ?? new Users();
+                                    bool valid = Utils.Instance.IsStandardUser(ParentUserId);
+                                    function.WriteLog("是否有效创客:" + valid, "推荐下单奖励监控日志");
+                                    if (valid)
+                                    {
+                                        // 盟主直推奖励,可以每次下单获得
+                                        if(!directPrize)
+                                        {
+                                            DirectPrize(db, order.Id, ParentUserId, pro.ProductCount);
+                                            directPrize = true;
+                                        }
+
+                                        //推荐下单上级获得30天的机具循环天数
+                                        var posList = db.PosMachinesTwo.Select(m => new { m.Id, m.UserId, m.BindingState, m.RecycEndDate }).Where(m => m.UserId == ParentUserId && m.BindingState == 0 && m.RecycEndDate != null).ToList();
+                                        foreach (var subPos in posList)
+                                        {
+                                            PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == subPos.Id);
+                                            if (pos != null)
+                                            {
+                                                pos.RecycEndDate = pos.RecycEndDate.Value.AddDays(30);
+                                            }
+                                        }
+                                        db.SaveChanges();
+                                    }
+                                    if(puser.LeaderLevel > 0)
+                                    {
+                                        function.WriteLog("OrderId:" + order.Id, "监控大盟主购机奖励");
+                                        function.WriteLog("UserId:" + puser.Id, "监控大盟主购机奖励");
+                                        UserAccount acccount = db.UserAccount.FirstOrDefault(m => m.Id == puser.Id) ?? new UserAccount();
+                                        function.WriteLog("LeaderReserve:" + acccount.LeaderReserve, "监控大盟主购机奖励");
+                                        function.WriteLog("buyPrize:" + buyPrize, "监控大盟主购机奖励");
+                                        if(acccount.LeaderReserve >= 400 * pro.ProductCount && !buyPrize)
+                                        {
+                                            //购机奖励
+                                            OpAccount(db, order, puser.Id, 100, pro.ProductCount);
+                                            buyPrize = true;
+                                        }
+                                        function.WriteLog("LeaderReserve:" + acccount.LeaderReserve, "监控大盟主购机奖励");
+                                        function.WriteLog("leaderFlag:" + leaderFlag, "监控大盟主购机奖励");
+                                        function.WriteLog("OncePrizeFlag4:" + OncePrizeFlag4, "监控大盟主购机奖励");
+                                        function.WriteLog("-----------------------------", "监控大盟主购机奖励");
+                                        if(acccount.LeaderReserve >= 400 * pro.ProductCount && puser.LeaderLevel > leaderFlag && leaderFlag < 2 && OncePrizeFlag4)
+                                        {
+                                            //扣减备用金
+                                            OpReserve(db, order, puser.Id, 400 * pro.ProductCount, 2, order.UserId, "购机奖励");
+                                            //返回到余额
+                                            OpLeaderAccount(db, order, puser.Id, 400, pro.ProductCount);
+                                            leaderFlag = puser.LeaderLevel;
+                                            OncePrizeFlag4 = false;
+                                        }
+                                        //如果是小盟主,则查找该小盟主关联的大盟主储蓄金是否充足,是则给券打上关联大盟主标记
+                                        if(couponIds.Count > 0 && puser.LeaderLevel == 1 && !bigLeaderPrize)
+                                        {
+                                            LeaderAccountRecord leaderItem = db.LeaderAccountRecord.FirstOrDefault(m => m.Sort == puser.Id && m.LeaderId > 0 && m.LeaderReserve >= 400 * pro.ProductCount);
+                                            if(leaderItem != null)
+                                            {
+                                                leaderItem.LeaderReserve -= 400 * pro.ProductCount;
+                                                foreach(int couponId in couponIds)
+                                                {
+                                                    PosCoupons coupon = db.PosCoupons.FirstOrDefault(m => m.Id == couponId);
+                                                    if(coupon != null)
+                                                    {
+                                                        coupon.LeaderUserId = leaderItem.LeaderId;
+                                                    }
+                                                }
+                                                db.SaveChanges();
+                                                bigLeaderPrize = true;
+                                            }
+                                        }
+                                        //如果是大盟主,则标记大盟主标签
+                                        if(couponIds.Count > 0 && puser.LeaderLevel == 2 && acccount.LeaderReserve >= 400 * pro.ProductCount && !bigLeaderPrize)
+                                        {
+                                            foreach(int couponId in couponIds)
+                                            {
+                                                PosCoupons coupon = db.PosCoupons.FirstOrDefault(m => m.Id == couponId);
+                                                if(coupon != null)
+                                                {
+                                                    coupon.LeaderUserId = puser.Id;
+                                                }
+                                            }
+                                            db.SaveChanges();
+                                            bigLeaderPrize = true;
+                                        }
+                                    }
+                                    if(puser.UserType == 1)
+                                    {
+                                        UserAccount acccount = db.UserAccount.FirstOrDefault(m => m.Id == puser.Id) ?? new UserAccount();
+                                        if(!buyPrize)
+                                        {
+                                            //购机奖励
+                                            ChangeAccount(db, order, puser.Id, 100 * pro.ProductCount, 120);
+                                            buyPrize = true;
+                                        }
+                                        //标记标签
+                                        if(couponIds.Count > 0 && !operateFlag)
+                                        {
+                                            foreach(int couponId in couponIds)
+                                            {
+                                                PosCoupons coupon = db.PosCoupons.FirstOrDefault(m => m.Id == couponId);
+                                                if(coupon != null)
+                                                {
+                                                    coupon.OpId= puser.Id;
+                                                }
+                                            }
+                                            db.SaveChanges();
+                                            operateFlag = true;
+                                        }
+                                    }
+                                    ParentUserId = puser.ParentUserId;
+                                }
+                                //运营中心返额度
+                                // OperateReserveBackFor(db, order.UserId, order.TotalPrice);
+                            }
+                        }
+                        function.WriteLog("\r\n\r\n", "推荐下单奖励监控日志");
+                    }
+
+                    //推荐王
+                    if(pro.ProductId == 29)
+                    {
+                        RecommendMethod(order.UserId, order.CreateDate.Value.ToString("yyyyMM"));
+                    }
+                    //购买分仓临时额度
+                    if(pro.ProductId == 30 || pro.ProductId == 31 || pro.ProductId == 32)
+                    {
+                        string SendData = "{\"Kind\":\"1\",\"Data\":{\"OrderId\":\"" + order.Id + "\"}}";
+                        RedisDbconn.Instance.AddList("StoreApplyQueue", SendData);
+                    }
+                    //购买小分仓临时额度
+                    if(pro.ProductId == 56 || pro.ProductId == 57 || pro.ProductId == 58)
+                    {
+                        string SendData = "{\"Kind\":\"1\",\"Data\":{\"OrderId\":\"" + order.Id + "\"}}";
+                        RedisDbconn.Instance.AddList("PreStoreApplyQueue", SendData);
+                    }
+
+                }
+                else
+                {
+                    if(order.ProductId > 0 && order.ErpMode > 0)
+                    {
+                        //盟主储备金-升级/购买 ErpMode:1-升级,2-购买
+                        if(order.ErpMode > 0)
+                        {
+                            Users user = db.Users.FirstOrDefault(m => m.Id == order.UserId);
+                            if(user != null)
+                            {
+                                if(order.ErpMode == 1)
+                                {
+                                    user.LeaderLevel = 2;
+                                    db.SaveChanges();
+                                }
+                                OpReserve(db, order, order.UserId, order.TotalPrice, 1);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        //小盟主购买逻辑
+        public bool LeaderBack(WebCMSEntities db, Orders order)
+        {
+            int LeaderUserId = order.UserId;
+            int level = 0;
+            bool result = true;
+            while(LeaderUserId > 0)
+            {
+                level += 1;
+                Users user = db.Users.FirstOrDefault(m => m.Id == LeaderUserId);
+                if(user != null)
+                {
+                    decimal TotalPrice = 10000;
+                    if((user.LeaderLevel == 2 || user.UserType == 1) && level > 1)
+                    {
+                        if(user.LeaderLevel == 2 && result)
+                        {
+                            UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == LeaderUserId);
+                            if(account != null)
+                            {
+                                if(account.LeaderReserve >= TotalPrice)
+                                {
+                                    OpReserve(db, order, LeaderUserId, TotalPrice, 2, 0, "推荐小盟主");
+                                    OpLeaderAccount(db, order, LeaderUserId, TotalPrice, 1, 1);
+                                    LeaderUserId = 0;
+                                    result = false;
+                                }
+                                else
+                                {
+                                    LeaderUserId = user.ParentUserId;
+                                    // decimal LeaderReserve = account.LeaderReserve;
+                                    // OpReserve(db, order, LeaderUserId, LeaderReserve, 2, 0, "推荐小盟主");
+                                    // OpLeaderAccount(db, order, LeaderUserId, LeaderReserve);
+                                }
+                            }
+                        }
+                        if(user.UserType == 1 && result)
+                        {
+                            OpModels.WebCMSEntities opdb = new OpModels.WebCMSEntities();
+                            OpModels.UserAccount account = opdb.UserAccount.FirstOrDefault(m => m.Id == LeaderUserId) ?? new OpModels.UserAccount();
+                            if(account.TotalAmt > 0)
+                            {
+                                if(account.TotalAmt < TotalPrice)
+                                {
+                                    TotalPrice = account.TotalAmt;
+                                }
+                                if(TotalPrice > 0)
+                                {
+                                    OperateAmountChange(opdb, LeaderUserId, TotalPrice, 2, 1, "商城购机");
+                                    OperateAmountChange(opdb, LeaderUserId, TotalPrice, 1, 2, "商城购机");
+                                    LeaderUserId = 0;
+                                    result = false;
+                                }
+                            }
+                        }
+                    }
+                    else
+                    {
+                        LeaderUserId = user.ParentUserId;
+                    }
+                }
+                else
+                {
+                    LeaderUserId = 0;
+                }
+            }
+            return result;
+        }
+
+        //操作储备金
+        private int GetLeaderReserveRecordType(string Remark)
+        {
+            Dictionary<int, string> data = new Dictionary<int, string>();
+            data.Add(11, "兑换机具券,机具券兑换,系统增加(盟主储蓄金),系统扣减(盟主储蓄金),储备金购买");
+            data.Add(12, "系统增加(可提现余额),系统扣减(可提现余额)");
+            data.Add(13, "推荐大盟主,推荐小盟主,商城购机,购机奖励");
+            var item = data.FirstOrDefault(m => m.Value.Contains(Remark));
+            if(item.Key > 0)
+            {
+                return item.Key;
+            }
+            return 0;
+        }
+        public void OpReserve(WebCMSEntities db, Orders order, int UserId, decimal Money, int ChangeType, int SourceUserId = 0, string Remark = "储备金购买")
+        {
+            UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
+            if (account == null)
+            {
+                account = db.UserAccount.Add(new UserAccount()
+                {
+                    Id = UserId,
+                    UserId = UserId,
+                }).Entity;
+                db.SaveChanges();
+            }
+            decimal BeforeAmount = account.LeaderReserve; //变更前总金额
+            if(ChangeType == 1)
+            {
+                account.LeaderReserve += Money;
+            }
+            else
+            {
+                account.LeaderReserve -= Money;
+            }
+            decimal AfterAmount = account.LeaderReserve; //变更后总金额
+            LeaderReserveRecord add = db.LeaderReserveRecord.Add(new LeaderReserveRecord()
+            {
+                CreateDate = DateTime.Now,
+                ChangeType = ChangeType,
+                OrderId = order.Id,
+                Remark = Remark,
+                AfterAmt = AfterAmount,
+                BeforeAmt = BeforeAmount,
+                ChangeAmt = Money,
+                TradeDate = DateTime.Now.ToString("yyyyMMdd"),
+                TradeMonth = DateTime.Now.ToString("yyyyMM"),
+                UserId = UserId,
+                SourceUserId = SourceUserId,
+                Sort = GetLeaderReserveRecordType(Remark),
+            }).Entity;
+            db.SaveChanges();
+        }
+        //操作余额
+        public void OpAccount(WebCMSEntities db, Orders order, int UserId, decimal Money, int Count = 1)
+        {
+            UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
+            if (account == null)
+            {
+                account = db.UserAccount.Add(new UserAccount()
+                {
+                    Id = UserId,
+                    UserId = UserId,
+                }).Entity;
+                db.SaveChanges();
+            }
+            int ChangeType = 0;
+            if(Money == 600)
+            {
+                ChangeType = 117;
+            }
+            else if(Money == 100)
+            {
+                ChangeType = 118;
+            }
+            decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+            decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+            decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+            account.BalanceAmount += Money * Count;
+            account.TotalAmount += Money * Count;
+            decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+            decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+            decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+            UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+            {
+                CreateDate = DateTime.Now,
+                UpdateDate = DateTime.Now,
+                UserId = UserId, //创客
+                ChangeType = ChangeType, //变动类型
+                ChangeAmount = Money * Count, //变更金额
+                BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                QueryCount = order.Id,
+            }).Entity;
+            db.SaveChanges();
+        }
+        public void ChangeAccount(WebCMSEntities db, Orders order, int UserId, decimal Money, int ChangeType = 0, string Remark = "")
+        {
+            UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
+            if (account == null)
+            {
+                account = db.UserAccount.Add(new UserAccount()
+                {
+                    Id = UserId,
+                    UserId = UserId,
+                }).Entity;
+                db.SaveChanges();
+            }
+            decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+            decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+            decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+            account.BalanceAmount += Money;
+            if(Money > 0)
+            {
+                account.TotalAmount += Money;
+            }
+            decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+            decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+            decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+            UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+            {
+                CreateDate = DateTime.Now,
+                UpdateDate = DateTime.Now,
+                UserId = UserId, //创客
+                ChangeType = ChangeType, //变动类型
+                ChangeAmount = Math.Abs(Money), //变更金额
+                BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                QueryCount = order.Id,
+                Remark = Remark,
+            }).Entity;
+            db.SaveChanges();
+        }
+        //操作盟主可提现余额
+        public void OpLeaderAccount(WebCMSEntities db, Orders order, int UserId, decimal Money, int Count = 1, int Kind = 0)
+        {
+            UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
+            if (account == null)
+            {
+                account = db.UserAccount.Add(new UserAccount()
+                {
+                    Id = UserId,
+                    UserId = UserId,
+                }).Entity;
+                db.SaveChanges();
+            }
+            int ChangeType = 0;
+            if(Money == 400)
+            {
+                ChangeType = 117;
+            }
+            int LeaderId = 0;
+            decimal LeaderReserve = 0;
+            if(Kind == 1)
+            {
+                LeaderId = UserId;
+                LeaderReserve = Money * Count;
+            }
+            decimal BeforeLeaderBalanceAmount = account.LeaderBalanceAmount; //变更前余额
+            account.LeaderBalanceAmount += Money * Count;
+            decimal AfterLeaderBalanceAmount = account.LeaderBalanceAmount; //变更后余额
+            LeaderAccountRecord leaderAccountRecord = db.LeaderAccountRecord.Add(new LeaderAccountRecord()
+            {
+                CreateDate = DateTime.Now,
+                UpdateDate = DateTime.Now,
+                UserId = UserId, //创客
+                ChangeType = ChangeType, //变动类型
+                ChangeAmount = Money * Count, //变更金额
+                BeforeBalanceAmount = BeforeLeaderBalanceAmount, //变更前余额
+                AfterBalanceAmount = AfterLeaderBalanceAmount, //变更后余额
+                QueryCount = order.Id,
+                Sort = order.UserId,
+                LeaderId = LeaderId,
+                LeaderReserve = LeaderReserve,
+            }).Entity;
+            db.SaveChanges();
+        }
+        public void DirectPrize(WebCMSEntities db, int OrderId, int UserId, int Count = 1)
+        {
+            UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
+            if (account == null)
+            {
+                account = db.UserAccount.Add(new UserAccount()
+                {
+                    Id = UserId,
+                    UserId = UserId,
+                }).Entity;
+                db.SaveChanges();
+            }
+            decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+            decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+            decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+            account.BalanceAmount += 100 * Count;
+            account.TotalAmount += 100 * Count;
+            decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+            decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+            decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+            UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+            {
+                CreateDate = DateTime.Now,
+                UpdateDate = DateTime.Now,
+                UserId = UserId, //创客
+                ChangeType = 112, //变动类型
+                ChangeAmount = 100 * Count, //变更金额
+                BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                QueryCount = OrderId,
+            }).Entity;
+            db.SaveChanges();
+        }
+
+        // 推荐王逻辑(下单)
+        public void RecommendMethod(int UserId, string TradeMonth)
+        {
+            string SendData = "{\"Kind\":\"1\",\"Data\":{\"UserId\":\"" + UserId + "\",\"TradeMonth\":\"" + TradeMonth + "\"}}";
+            RedisDbconn.Instance.AddList("RecommendActStatQueue", SendData);
+        }
+
+
+        //操作运营中心额度
+        public void OperateReserveBackFor(WebCMSEntities maindb, int UserId, decimal Money)
+        {
+            OpModels.WebCMSEntities db = new OpModels.WebCMSEntities();
+            while(UserId > 0)
+            {
+                Users user = maindb.Users.FirstOrDefault(m => m.Id == UserId);
+                if(user != null)
+                {
+                    bool sys = db.SysAdmin.Any(m => m.UserId == UserId);
+                    if(sys)
+                    {
+                        OpModels.UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId) ?? new OpModels.UserAccount();
+                        if(account.TotalAmt <= 0)
+                        {
+                            return;
+                        }
+                        if(account.TotalAmt < Money)
+                        {
+                            Money = account.TotalAmt;
+                        }
+                        if(Money > 0)
+                        {
+                            OperateAmountChange(db, UserId, Money, 2, 1, "商城购机");
+                            OperateAmountChange(db, UserId, Money, 1, 2, "商城购机");
+                        }
+                        UserId = 0;
+                    }
+                    else
+                    {
+                        UserId = user.ParentUserId;
+                    }
+                }
+                else
+                {
+                    UserId = 0;
+                }
+            }
+            db.Dispose();
+        }
+        public void OperateReserveBack(int UserId, decimal Money)
+        {
+            OpModels.WebCMSEntities db = new OpModels.WebCMSEntities();
+            OpModels.UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId) ?? new OpModels.UserAccount();
+            if(account.TotalAmt <= 0)
+            {
+                return;
+            }
+            if(account.TotalAmt < Money)
+            {
+                Money = account.TotalAmt;
+            }
+            if(Money > 0)
+            {
+                OperateAmountChange(db, UserId, Money, 2, 1, "商城购机");
+                OperateAmountChange(db, UserId, Money, 1, 2, "商城购机");
+            }
+            db.Dispose();
+        }
+        public void ActReserveBack(int UserId, decimal OpReserve1, decimal OpReserve2, decimal OpReserve3)
+        {
+            OpModels.WebCMSEntities db = new OpModels.WebCMSEntities();
+            if(OpReserve1 > 0) OperateAmountChange(db, UserId, OpReserve1, 1, 1, "机具激活", true);
+            if(OpReserve2 > 0) OperateAmountChange(db, UserId, OpReserve2, 1, 2, "机具激活", true);
+            if(OpReserve3 > 0) OperateAmountChange(db, UserId, OpReserve3, 1, 3, "机具激活", true);
+            db.Dispose();
+        }
+        public void OperateAmountChange(OpModels.WebCMSEntities db, int UserId, decimal Money, int OperateType, int AmountType, string Remark = "", bool record = false)
+        {
+            OpModels.UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
+            if (account == null)
+            {
+                account = db.UserAccount.Add(new OpModels.UserAccount()
+                {
+                    Id = UserId,
+                    UserId = UserId,
+                }).Entity;
+                db.SaveChanges();
+            }
+            decimal BeforeAmount = account.ValidAmount + account.TotalAmt + account.ValidForGetAmount; //变更前总金额
+            if(OperateType == 1)
+            {
+                if(AmountType == 1)
+                {
+                    // BeforeAmount = account.TotalAmt;
+                    account.TotalAmt += Money;
+                    // AfterAmount = account.TotalAmt;
+                }
+                else if(AmountType == 2)
+                {
+                    // BeforeAmount = account.ValidForGetAmount;
+                    account.ValidForGetAmount += Money;
+                    // AfterAmount = account.ValidForGetAmount;
+                }
+                else
+                {
+                    // BeforeAmount = account.ValidAmount;
+                    account.ValidAmount += Money;
+                    // AfterAmount = account.ValidAmount;
+                }
+            }
+            else
+            {
+                if(AmountType == 1)
+                {
+                    // BeforeAmount = account.TotalAmt;
+                    account.TotalAmt -= Money;
+                    // AfterAmount = account.TotalAmt;
+                }
+                else if(AmountType == 2)
+                {
+                    // BeforeAmount = account.ValidForGetAmount;
+                    account.ValidForGetAmount -= Money;
+                    // AfterAmount = account.ValidForGetAmount;
+                }
+                else
+                {
+                    // BeforeAmount = account.ValidAmount;
+                    account.ValidAmount -= Money;
+                    // AfterAmount = account.ValidAmount;
+                }
+            }
+            decimal AfterAmount = account.ValidAmount + account.TotalAmt + account.ValidForGetAmount; //变更后总金额
+            if(record)
+            {
+                OpModels.AmountRecord add = db.AmountRecord.Add(new OpModels.AmountRecord()
+                {
+                    CreateDate = DateTime.Now,
+                    UpdateDate = DateTime.Now,
+                    OperateType = OperateType,
+                    AfterAmount = AfterAmount,
+                    BeforeAmount = BeforeAmount,
+                    UseAmount = Money,
+                    UserId = UserId,
+                    SeoDescription = Remark,
+                    Version = AmountType,
+                }).Entity;
+            }
+            db.SaveChanges();
+        }
+
+        #endregion
+
+
+        #region 盟主推荐奖励
+
+        public void LeaderRecommendPrize(WebCMSEntities db, Orders order, int UserId, decimal Money, int ChangeType)
+        {
+            int level = 0;
+            while(UserId > 0)
+            {
+                level += 1;
+                Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
+                if(user != null)
+                {
+                    if((user.UserType == 1 || user.LeaderLevel > 0) && level > 1)
+                    {
+                        ChangeAccount(db, order, UserId, Money, ChangeType);
+                        UserId = 0;
+                    }
+                    else
+                    {
+                        UserId = user.ParentUserId;
+                    }
+                }
+                else
+                {
+                    UserId = 0;
+                }
+            }
+            db.Dispose();
+        }
+
+        #endregion
+
+
+        #region 购买盟主预设职级
+
+        public void LeaderPreUserLevel(WebCMSEntities db, int UserId, int LeaderKind)
+        {
+            int Month = LeaderKind == 1 ? 6 : 9;
+            int Rank = LeaderKind == 1 ? 5 : 7;
+            LeaderRankWhite check = db.LeaderRankWhite.FirstOrDefault(m => m.Id == UserId);
+            if(check == null)
+            {
+                db.LeaderRankWhite.Add(new LeaderRankWhite()
+                {
+                    CreateDate = DateTime.Now, //设置时间
+                    UpdateDate = DateTime.Now.AddMonths(Month), //过期时间
+                    Rank = Rank,
+                    UserId = UserId, //用户
+                    Id = UserId,
+                });
+            }
+            else
+            {
+                if(check.Rank < Rank)
+                {
+                    check.Rank = Rank;
+                    check.UpdateDate = DateTime.Now.AddMonths(Month);
+                }
+                else if(check.Rank == Rank && check.UpdateDate < DateTime.Now.AddMonths(Month))
+                {
+                    check.UpdateDate = DateTime.Now.AddMonths(Month);
+                }
+            }
+            db.SaveChanges();
+        }
+
+        public void PreUserLevel(WebCMSEntities db, int UserId, int Rank, DateTime ExpiredDate)
+        {
+            LeaderRankWhite rank = db.LeaderRankWhite.FirstOrDefault(m => m.Id == UserId);
+            if(rank == null)
+            {
+                db.LeaderRankWhite.Add(new LeaderRankWhite()
+                {
+                    CreateDate = DateTime.Now, //设置时间
+                    UserId = UserId, //用户
+                    Id = UserId,
+                });
+                db.SaveChanges();
+            }
+            rank.Rank = Rank;
+            rank.UpdateDate = ExpiredDate;
+            db.SaveChanges();
+        }
+
+        //取消自留券数量
+        public void CancelStayCoupon(WebCMSEntities db, int UserId, int CheckLevel = 5)
+        {
+            int myLevel = Utils.Instance.GetUserLevel(UserId);
+            if(myLevel <= CheckLevel)
+            {
+                Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
+                if(user != null)
+                {
+                    user.Version = 0;
+                    db.SaveChanges();
+                }
+            }
+        }
+
+        #endregion
+
+        #region 记录盟主
+
+        public void AddLeader(WebCMSEntities db, int UserId, int LeaderLevel)
+        {
+            int Month = LeaderLevel == 1 ? 6 : 9;
+            Leaders leader = db.Leaders.FirstOrDefault(m => m.Id == UserId);
+            if(leader == null)
+            {
+                db.Leaders.Add(new Leaders()
+                {
+                    Id = UserId,
+                    CreateDate = DateTime.Now, //设置时间
+                    UserId = UserId, //用户
+                    LeaderLevel = LeaderLevel,
+                    LastBuyDate = DateTime.Now,
+                    ExpiredDate = DateTime.Now.AddMonths(Month),
+                });
+            }
+            else
+            {
+                leader.LeaderLevel = LeaderLevel;
+                leader.LastBuyDate = DateTime.Now;
+                leader.ExpiredDate = DateTime.Now.AddMonths(Month);
+            }
+            db.SaveChanges();
+            SendLeaderMsg(db, UserId);
+        }
+
+        #endregion
+
+        #region 盟主续费通知
+
+        public void SendLeaderMsg(WebCMSEntities db, int UserId)
+        {
+            string msg = "";
+            Users user = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+            DateTime now = DateTime.Now;
+            Leaders leader = db.Leaders.FirstOrDefault(m => m.Id == UserId);
+            if(leader != null)
+            {
+                if(leader.ExpiredDate >= now)
+                {
+                    msg = "尊敬的" + user.RealName + "盟主,恭喜您的盟主已成功开通";
+                }
+                else
+                {
+                    msg = "尊敬的" + user.RealName + "盟主,恭喜您重新成为盟主";
+                }
+            }
+            else
+            {
+                msg = "尊敬的" + user.RealName + "盟主,恭喜您的盟主已成功开通";
+            }
+            RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+            {
+                UserId = Convert.ToInt32(UserId), //创客
+                Title = "开通盟主提醒", //标题
+                Content = msg, //内容
+                Summary = msg,
+                CreateDate = DateTime.Now,
+            }));
+        }
+
+        #endregion
+
+    }
+}

+ 82 - 0
AppStart/Helper/AlipayPayBackService.cs

@@ -0,0 +1,82 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class AlipayPayBackService
+    {
+        public readonly static AlipayPayBackService Instance = new AlipayPayBackService();
+        private AlipayPayBackService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                dosomething();
+                // string Msg = "success";
+                // jobInfo.Status = Msg == "success" ? 1 : 0;
+                // jobInfo.Msg = Msg == "success" ? "执行完成" : Msg;
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "PublicBack");
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "public_err");
+                }
+                else
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public_service");
+                }
+            }
+        }
+
+        private void dosomething()
+        { 
+            bool op = true;
+            while (op)
+            {
+                string content = RedisDbconn.Instance.RPop<string>("PayCallBack");
+                if (!string.IsNullOrEmpty(content))
+                {
+                    JsonData jsonObj = JsonMapper.ToObject(content);
+                    string OrderNo = jsonObj["out_trade_no"].ToString();
+                    string TradeNo = jsonObj["transaction_id"].ToString();
+                    decimal TotalFee = decimal.Parse(function.CheckNum(jsonObj["total_fee"].ToString()));
+                    WebCMSEntities db = new WebCMSEntities();
+                    ConsumerOrderForNo forNo = db.ConsumerOrderForNo.FirstOrDefault(m => m.OrderNo == OrderNo);
+                    if (forNo != null)
+                    {
+                        ConsumerOrders order = db.ConsumerOrders.FirstOrDefault(m => m.Id == forNo.OrderIds && m.Status == 0);
+                        if (order != null)
+                        {
+                            order.Status = 1;
+                            order.UpdateDate = DateTime.Now;
+                            order.PayMoney = order.PayMoney;
+                            order.MaxDivi = order.MaxDivi;
+                            db.SaveChanges();
+                            RedisDbconn.Instance.AddList("ConsumerOrdersStat", order.Id);
+                            RedisDbconn.Instance.AddList("ConsumerOrders:Divi:List", order.Id.ToString());
+                            RedisDbconn.Instance.AddRightList("ConsumerOrders:Divi:" + order.MerchantId, order);
+                            // ConsumerOrdersStatService.Instance.Stat(order);
+                        }
+                    }
+                    db.Dispose();
+                }
+                else
+                {
+                    op = false;
+                }
+            }
+        }
+    }
+}

+ 73 - 0
AppStart/Helper/AutoOpOrderService.cs

@@ -0,0 +1,73 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.Models;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class AutoOpOrderService
+    {
+        public readonly static AutoOpOrderService Instance = new AutoOpOrderService();
+        private AutoOpOrderService()
+        { }
+
+        public void StartOrderCancel()
+        {
+            Thread th = new Thread(StartOrderCancelDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+        
+        private void StartOrderCancelDo()
+        { 
+            while (true)
+            {
+                try
+                {
+                    string conn = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
+                    string checkDate = DateTime.Now.AddMinutes(-20).ToString("yyyy-MM-dd HH:mm:ss");
+                    CustomerSqlConn.op("update OrderProduct set Status=-1 where OrderId in (select Id from Orders where Status=0 and CreateDate<'" + checkDate + "')", conn);
+                    CustomerSqlConn.op("update Orders set Status=-1 where Status=0 and CreateDate<'" + checkDate + "'", conn);
+                    Thread.Sleep(60000);
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "定时取消未支付订单异常");
+                }
+            }
+        }
+
+
+
+
+        public void StartOrderConfirm()
+        {
+            Thread th = new Thread(StartOrderConfirmDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+        
+        private void StartOrderConfirmDo()
+        { 
+            while (true)
+            {
+                try
+                {
+                    string conn = Library.ConfigurationManager.AppSettings["SqlConnStr"].ToString();
+                    string checkDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd HH:mm:ss");
+                    CustomerSqlConn.op("update Orders set Status=-1 where Status=2 and SendDate<'" + checkDate + "'", conn);
+                    Thread.Sleep(3600000);
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "定时自动确认收货异常");
+                }
+            }
+        }
+
+    }
+}

+ 116 - 0
AppStart/Helper/BalancePayBackService.cs

@@ -0,0 +1,116 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class BalancePayBackService
+    {
+        public readonly static BalancePayBackService Instance = new BalancePayBackService();
+        private BalancePayBackService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+        
+        private void dosomething()
+        {
+            while (true)
+            {
+                try
+                {
+                    string content = RedisDbconn.Instance.RPop<string>("BalancePayQueue");
+                    if (!string.IsNullOrEmpty(content))
+                    {
+                        sloveAlipayCallBack(content);
+                    }
+                    else
+                    {
+                        Thread.Sleep(2000);
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "商城订单余额支付异常");
+                    Thread.Sleep(2000);
+                }
+            }
+        }
+
+        public void sloveAlipayCallBack(string content)
+        {
+            int OrderId = int.Parse(function.CheckInt(content));
+            WebCMSEntities db = new WebCMSEntities();
+            Orders order = db.Orders.FirstOrDefault(m => m.Id == OrderId && m.PayMode == 3 && m.PayStatus == 0);
+            if (order != null)
+            {
+                decimal TotalPrice = order.TotalPrice;
+                if (order.UserId == 1)
+                {
+                    TotalPrice = 0.01M;
+                }
+                string ProductName = "";
+                List<OrderProduct> orderPros = db.OrderProduct.Where(m => m.OrderId == OrderId).ToList();
+                foreach(OrderProduct orderPro in orderPros)
+                {
+                    ProductName += orderPro.ProductName + ",";
+                }
+                if(ProductName.Length > 64)
+                {
+                    ProductName = ProductName.Substring(0, 64);
+                }
+                UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == order.UserId);
+                if (account != null)
+                {
+                    if(account.BalanceAmount >= TotalPrice)
+                    {
+                        decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                        decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                        decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                        account.BalanceAmount -= TotalPrice;
+                        decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                        decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                        decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                        db.SaveChanges();
+                        UserAccountRecord accountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                        {
+                            CreateDate = DateTime.Now,
+                            UpdateDate = DateTime.Now,
+                            UserId = order.UserId, //创客
+                            ChangeType = 20, //变动类型
+                            ChangeAmount = TotalPrice, //变更金额
+                            BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                            AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                            BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                            AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                            BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                            AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                            TransRecordNo = order.OrderNo, //交易流水编号
+                            Remark = "购买" + ProductName,
+                        }).Entity;
+                        db.SaveChanges();
+                        AlipayPayBack2Service.Instance.DoOrderV2(db, OrderId);
+                        Products product = db.Products.FirstOrDefault(m => m.Id == order.ProductId) ?? new Products();
+                        if(product.ProductKind == 2)
+                        {
+                            order.Status = 2;
+                            order.SendStatus = 1;
+                            order.SendDate = DateTime.Now;
+                            db.SaveChanges();
+                        }
+                    }
+                }
+            }
+            db.Dispose();
+        }
+    }
+}

+ 125 - 0
AppStart/Helper/ChangePosFeeQueue.cs

@@ -0,0 +1,125 @@
+using System;
+using System.Collections.Generic;
+using System.Threading;
+using System.Linq;
+using System.Data;
+using MySystem;
+using MySystem.Models;
+using Library;
+using LitJson;
+
+public class ChangePosFeeQueue
+{
+    public readonly static ChangePosFeeQueue Instance = new ChangePosFeeQueue();
+    private ChangePosFeeQueue()
+    {
+    }
+
+    public void StartEverTime()
+    {
+        Thread th = new Thread(ChangePosFeeQueueDo);
+        th.IsBackground = true;
+        th.Start();
+    }
+
+    private void ChangePosFeeQueueDo()
+    {
+        while (true)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            try
+            {
+                string data = RedisDbconn.Instance.RPop<string>("ChangePosFeeQueue");
+                if (!string.IsNullOrEmpty(data))
+                {
+                    function.WriteLog("data:" + data, "金控机具服务费调整日志");
+                    JsonData Info = JsonMapper.ToObject(data);
+                    string PosSnId = Info["PosSnId"].ToString(); //机具Id
+                    string BrandId = Info["BrandId"].ToString(); //品牌Id
+                    string Deposit = Info["Deposit"].ToString(); //服务费
+                    int bId = int.Parse(BrandId);
+
+                    //金控
+                    if (bId == 1 || bId == 3)
+                    {
+                        if (Deposit == "0") Deposit = "0";
+                        else if (Deposit == "99") Deposit = "99";
+                        else if (Deposit == "199") Deposit = "199";
+                        else if (Deposit == "299") Deposit = "299";
+                        ChangePosFeeUtil.SetJKDeposit(PosSnId.ToString(), Deposit);
+                    }
+                    //开店宝
+                    if (bId == 2)
+                    {
+                        if (Deposit == "0") Deposit = "470";
+                        else if (Deposit == "99") Deposit = "471";
+                        else if (Deposit == "199") Deposit = "472";
+                        else if (Deposit == "299") Deposit = "473";
+                        ChangePosFeeUtil.SetKDBDeposit(PosSnId.ToString(), Deposit);
+                    }
+                    //乐刷
+                    if (bId == 4 || bId == 5)
+                    {
+                        if (Deposit == "99") Deposit = "100";
+                        else if (Deposit == "199") Deposit = "200";
+                        else if (Deposit == "299") Deposit = "300";
+                        ChangePosFeeUtil.SetLSDeposit(PosSnId.ToString(), Deposit);
+                    }
+                    //立刷
+                    if (bId == 6)
+                    { 
+                        if (Deposit == "0") Deposit = "0";
+                        else if (Deposit == "99") Deposit = "99";
+                        else if (Deposit == "199") Deposit = "199";
+                        else if (Deposit == "249") Deposit = "249";
+                        ChangePosFeeUtil.SetLISDeposit(PosSnId.ToString(), Deposit);
+                    }
+                    //盛付通
+                    if (bId == 7)
+                    { 
+                        if (Deposit == "0") Deposit = "0";
+                        else if (Deposit == "99") Deposit = "99";
+                        else if (Deposit == "199") Deposit = "199";
+                        else if (Deposit == "299") Deposit = "299";
+                        ChangePosFeeUtil.SetSFTDeposit(PosSnId.ToString(), Deposit);
+                    }
+                    //海科
+                    if (bId == 8 || bId == 9)
+                    { 
+                        if (Deposit == "99") Deposit = "100";
+                        else if (Deposit == "199") Deposit = "200";
+                        else if (Deposit == "299") Deposit = "300";
+                        ChangePosFeeUtil.SetHKDeposit(PosSnId.ToString(), Deposit);
+                    }
+                    //联动
+                    if (bId == 10 || bId == 11)
+                    { 
+                         if (Deposit == "0") Deposit = "0";
+                        else if (Deposit == "99") Deposit = "99";
+                        else if (Deposit == "199") Deposit = "199";
+                        else if (Deposit == "299") Deposit = "299";
+                        ChangePosFeeUtil.SetLDDeposit(PosSnId.ToString(), Deposit);
+                    }
+                    //盒易付
+                    if (bId == 12 || bId == 13)
+                    { 
+                        if (Deposit == "0") Deposit = "0";
+                        else if (Deposit == "99") Deposit = "99";
+                        else if (Deposit == "199") Deposit = "199";
+                        else if (Deposit == "299") Deposit = "299";
+                        ChangePosFeeUtil.SetHYFDeposit(PosSnId.ToString(), Deposit);
+                    }
+                }
+                else
+                {
+                    Thread.Sleep(5000);
+                }
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "机具服务费调整线程异常");
+            }
+            db.Dispose();
+        }
+    }
+}

+ 569 - 0
AppStart/Helper/ChangePosFeeUtil.cs

@@ -0,0 +1,569 @@
+using MySystem.Models;
+using Library;
+using System.Collections.Generic;
+using System;
+using System.Linq;
+using LitJson;
+namespace MySystem
+{
+    /// <summary>
+    /// 调整机具服务费工具类
+    /// </summary>
+    public class ChangePosFeeUtil
+    {
+        public static WebCMSEntities db = new WebCMSEntities();
+        
+
+
+
+        #region 金控-设置押金
+        public static string SetJKDeposit(string SnIds, string DepositId)
+        {
+            // string DepositId = "299";
+            string check = RedisDbconn.Instance.Get<string>("SetJKPosDepositWait:" + SnIds);
+            if (!string.IsNullOrEmpty(check))
+            {
+                return "操作频繁,请稍后再试";
+            }
+            RedisDbconn.Instance.Set("SetJKPosDepositWait:" + SnIds, SnIds);
+            RedisDbconn.Instance.SetExpire("SetJKPosDepositWait:" + SnIds, 10);
+            Dictionary<string, object> Obj = new Dictionary<string, object>();
+            string[] SnIdList = SnIds.Split(',');
+            foreach (string SnId in SnIdList)
+            {
+                int SnIdNum = int.Parse(SnId);
+                PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == SnIdNum && m.BindingState == 0 && (string.IsNullOrEmpty(m.SeoKeyword) || m.SeoKeyword == "0"));
+                if (pos == null)
+                {
+                    return "机具" + pos.PosSn + "已设置押金,请勿重复设置";
+                }
+                function.WriteLog(DateTime.Now.ToString() + ":请求参数," + pos.PosSn + ":" + DepositId, "金控-设置押金-返回报文");
+                string content = function.GetWebRequest("http://sp.kexiaoshuang.com/api/test/SetDeposit?sn=" + pos.PosSn + "&num=" + DepositId);
+                function.WriteLog(DateTime.Now.ToString() + "\n" + content, "金控-设置押金-返回报文");
+                if (content == "fail")
+                {
+                    return "机具" + pos.PosSn + "设置失败";
+                }
+                JsonData jsonObj = JsonMapper.ToObject(content);
+                if (jsonObj["code"].ToString() != "000000")
+                {
+                    return jsonObj["message"].ToString();
+                }
+                content = jsonObj["data"].ToString();
+                content = PublicImportDataService.Instance.Decrypt(content);
+                function.WriteLog(DateTime.Now.ToString() + "\n" + content, "金控-设置押金-返回报文");
+                JsonData contentObj = JsonMapper.ToObject(content);
+                if (contentObj["respCode"].ToString() != "00")
+                {
+                    return contentObj["respMsg"].ToString();
+                }
+                var BeforeDeposit = 0;
+                if (string.IsNullOrEmpty(pos.PrizeParams))
+                {
+                    BeforeDeposit = 299;
+                }
+                else
+                {
+                    BeforeDeposit = int.Parse(pos.PrizeParams);
+                }
+                decimal amount = decimal.Parse(DepositId);
+                pos.PrizeParams = amount.ToString("f0");
+                db.SaveChanges();
+
+                //设置押金添加记录
+                PublicFunction.MerchantDepositSet(pos.BrandId, pos.BuyUserId, SnIdNum, pos.PosSn, BeforeDeposit, decimal.Parse(pos.PrizeParams), content);
+            }
+            return "设置成功";
+        }
+        #endregion
+
+
+
+        #region 开店宝-设置押金
+        public static string SetKDBDeposit(string SnIds, string DepositId)
+        {
+            // string DepositId = "473";
+            string check = RedisDbconn.Instance.Get<string>("SetKDBPosDepositWait:" + SnIds);
+            if (!string.IsNullOrEmpty(check))
+            {
+                return "操作频繁,请稍后再试";
+            }
+            RedisDbconn.Instance.Set("SetKDBPosDepositWait:" + SnIds, SnIds);
+            RedisDbconn.Instance.SetExpire("SetKDBPosDepositWait:" + SnIds, 10);
+            string[] SnIdList = SnIds.Split(',');
+            foreach (string SnId in SnIdList)
+            {
+                int SnIdNum = int.Parse(SnId);
+                PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == SnIdNum && m.BindingState == 0 && (string.IsNullOrEmpty(m.SeoKeyword) || m.SeoKeyword == "0"));
+                if (pos == null)
+                {
+                    return "机具" + pos.PosSn + "已设置押金,请勿重复设置";
+                }
+                function.WriteLog(DateTime.Now.ToString() + ":请求参数," + pos.PosSn + ":" + DepositId, "开店宝-设置押金-返回报文");
+                string content = PublicImportDataService.Instance.ModifyDeposit(pos.PosSn, DepositId);
+                if (content == "fail")
+                {
+                    return "机具" + pos.PosSn + "设置失败";
+                }
+                function.WriteLog(DateTime.Now.ToString() + "\n" + content, "开店宝-设置押金-返回报文");
+
+                var BeforeDeposit = 0;
+                if (string.IsNullOrEmpty(pos.PrizeParams))
+                {
+                    BeforeDeposit = 299;
+                }
+                else
+                {
+                    BeforeDeposit = int.Parse(pos.PrizeParams);
+                }
+                decimal amount = decimal.Parse(PublicImportDataService.Instance.GetDepositAmount(DepositId));
+                pos.PrizeParams = amount.ToString("f0");
+                db.SaveChanges();
+
+                //设置押金添加记录
+                PublicFunction.MerchantDepositSet(pos.BrandId, pos.BuyUserId, SnIdNum, pos.PosSn, BeforeDeposit, decimal.Parse(pos.PrizeParams), content);
+            }
+            return "设置成功";
+        }
+        #endregion
+
+
+
+        #region 乐刷-设置押金
+        public static string SetLSDeposit(string SnIds, string DepositId)
+        {
+            // string DepositId = "300";
+            string check = RedisDbconn.Instance.Get<string>("SetLSPosDepositWait:" + SnIds);
+            if (!string.IsNullOrEmpty(check))
+            {
+                return "操作频繁,请稍后再试";
+            }
+            RedisDbconn.Instance.Set("SetLSPosDepositWait:" + SnIds, SnIds);
+            RedisDbconn.Instance.SetExpire("SetLSPosDepositWait:" + SnIds, 10);
+            Dictionary<string, object> Obj = new Dictionary<string, object>();
+            string[] SnIdList = SnIds.Split(',');
+            foreach (string SnId in SnIdList)
+            {
+                int SnIdNum = int.Parse(SnId);
+                PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == SnIdNum && m.BindingState == 0 && (string.IsNullOrEmpty(m.SeoKeyword) || m.SeoKeyword == "0"));
+                if (pos == null)
+                {
+                    return "机具" + pos.PosSn + "已设置押金,请勿重复设置";
+                }
+                string OldId = "", NewId = "";
+                if (DepositId == "100")
+                {
+                    NewId = "704067039039856640";
+                }
+                else if (DepositId == "200")
+                {
+                    NewId = "709820183485095936";
+                }
+                else if (DepositId == "300")
+                {
+                    NewId = "709820390742437888";
+                }
+                string content = PublicImportDataService.Instance.QueryActiveForConfig(pos.PosSn, pos.BrandId);
+                JsonData jsonObj = JsonMapper.ToObject(content);
+                if (jsonObj["code"].ToString() == "0")
+                {
+                    OldId = jsonObj["data"]["posMarket"]["id"].ToString();
+                }
+                jsonObj = JsonMapper.ToObject(content);
+                function.WriteLog(DateTime.Now.ToString() + ":请求参数," + pos.PosSn + ":" + OldId + ":" + NewId, "乐刷-设置押金-返回报文");
+                content = PublicImportDataService.Instance.SetDepositForLS(pos.PosSn, OldId, NewId, pos.BrandId);
+                function.WriteLog(DateTime.Now.ToString() + "\n" + content, "乐刷-设置押金-返回报文");
+                if (content == "fail")
+                {
+                    return "机具" + pos.PosSn + "设置失败";
+                }
+                jsonObj = JsonMapper.ToObject(content);
+                if (jsonObj["code"].ToString() != "0")
+                {
+                    return jsonObj["msg"].ToString();
+                }
+                function.WriteLog(DateTime.Now.ToString() + "\n" + content, "乐刷-设置押金-返回报文");
+                var BeforeDeposit = 0;
+                if (string.IsNullOrEmpty(pos.PrizeParams))
+                {
+                    BeforeDeposit = 299;
+                }
+                else
+                {
+                    BeforeDeposit = int.Parse(pos.PrizeParams);
+                }
+                decimal amount = decimal.Parse(DepositId);
+                if (pos.BrandId == 4 || pos.BrandId == 5)
+                {
+                    amount -= 1;
+                }
+                pos.PrizeParams = amount.ToString("f0");
+                db.SaveChanges();
+
+                //设置押金添加记录
+                PublicFunction.MerchantDepositSet(pos.BrandId, pos.BuyUserId, SnIdNum, pos.PosSn, BeforeDeposit, decimal.Parse(pos.PrizeParams), content);
+            }
+            return "设置成功";
+        }
+        #endregion
+
+
+
+        #region 立刷-设置押金
+        public static string SetLISDeposit(string SnIds, string DepositId)
+        {
+            // string DepositId = "249";
+            string check = RedisDbconn.Instance.Get<string>("SetLISPosDepositWait:" + SnIds);
+            if (!string.IsNullOrEmpty(check))
+            {
+                return "操作频繁,请稍后再试";
+            }
+            RedisDbconn.Instance.Set("SetLISPosDepositWait:" + SnIds, SnIds);
+            RedisDbconn.Instance.SetExpire("SetLISPosDepositWait:" + SnIds, 10);
+            Dictionary<string, object> Obj = new Dictionary<string, object>();
+            string[] SnIdList = SnIds.Split(',');
+            foreach (string SnId in SnIdList)
+            {
+                int SnIdNum = int.Parse(SnId);
+                PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == SnIdNum && m.BindingState == 0 && (string.IsNullOrEmpty(m.SeoKeyword) || m.SeoKeyword == "0"));
+                if (pos == null)
+                {
+                    return "机具" + pos.PosSn + "已设置押金,请勿重复设置";
+                }
+                function.WriteLog(DateTime.Now.ToString() + ":请求参数," + pos.PosSn + ":" + DepositId, "立刷-设置押金-返回报文");
+                string content = PublicImportDataService.Instance.SetLiSDeposit(pos.PosSn, int.Parse(DepositId));
+                function.WriteLog(DateTime.Now.ToString() + "\n" + content, "立刷-设置押金-返回报文");
+                JsonData jsonObj = JsonMapper.ToObject(content);
+                if (jsonObj["ret_code"].ToString() != "00")
+                {
+                    return jsonObj["ret_msg"].ToString();
+                }
+                function.WriteLog(DateTime.Now.ToString() + "\n" + content, "立刷-设置押金-返回报文");
+                var BeforeDeposit = 0;
+                if (string.IsNullOrEmpty(pos.PrizeParams))
+                {
+                    if (RelationClass.GetKqProductBrandInfo(pos.BrandId) == "立刷云电签")
+                    {
+                        BeforeDeposit = 249;
+                    }
+                    else
+                    {
+                        BeforeDeposit = 299;
+                    }
+                }
+                else
+                {
+                    BeforeDeposit = int.Parse(pos.PrizeParams);
+                }
+                pos.PrizeParams = DepositId;
+                db.SaveChanges();
+
+                //设置押金添加记录
+                PublicFunction.MerchantDepositSet(pos.BrandId, pos.BuyUserId, SnIdNum, pos.PosSn, BeforeDeposit, decimal.Parse(pos.PrizeParams), content);
+            }
+            return "设置成功";
+        }
+        #endregion
+
+
+
+        #region 盛付通-设置押金
+        public static string SetSFTDeposit(string SnIds, string DepositId)
+        {
+            string check = RedisDbconn.Instance.Get<string>("SetSFTPosDepositWait:" + SnIds);
+            if (!string.IsNullOrEmpty(check))
+            {
+                return "操作频繁,请稍后再试";
+            }
+            RedisDbconn.Instance.Set("SetSFTPosDepositWait:" + SnIds, SnIds);
+            RedisDbconn.Instance.SetExpire("SetSFTPosDepositWait:" + SnIds, 10);
+            Dictionary<string, object> Obj = new Dictionary<string, object>();
+            string[] SnIdList = SnIds.Split(',');
+            foreach (string SnId in SnIdList)
+            {
+                int SnIdNum = int.Parse(SnId);
+                PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == SnIdNum && m.BindingState == 0 && (string.IsNullOrEmpty(m.SeoKeyword) || m.SeoKeyword == "0"));
+                if (pos == null)
+                {
+                    return "机具" + pos.PosSn + "已设置押金,请勿重复设置";
+                }
+                function.WriteLog(DateTime.Now.ToString() + ":请求参数," + pos.PosSn + ":" + DepositId, "盛付通-设置押金-返回报文");
+                string DepositIdString = DepositId;
+                if(DepositIdString == "0") DepositIdString = "000";
+                string content = PublicImportDataService.Instance.SetDepositForSft(pos.PosSn, "2024POS" + DepositIdString);
+                function.WriteLog(DateTime.Now.ToString() + "\n" + content, "盛付通-设置押金-返回报文");
+                JsonData jsonObj = JsonMapper.ToObject(content);
+                if (jsonObj["respCode"].ToString() != "00")
+                {
+                    return jsonObj["errorMsg"].ToString();
+                }
+                var BeforeDeposit = 0;
+                if (string.IsNullOrEmpty(pos.PrizeParams))
+                {
+                    BeforeDeposit = 299;
+                }
+                else
+                {
+                    BeforeDeposit = int.Parse(pos.PrizeParams);
+                }
+                pos.PrizeParams = DepositId.Replace("2024POS", "");
+                db.SaveChanges();
+
+                //设置押金添加记录
+                PublicFunction.MerchantDepositSet(pos.BrandId, pos.BuyUserId, SnIdNum, pos.PosSn, BeforeDeposit, decimal.Parse(pos.PrizeParams), content);
+            }
+            return "设置成功";
+        }
+        #endregion
+
+
+
+        #region 海科-设置押金
+        public static string SetHKDeposit(string SnIds, string DepositId)
+        {
+            // string DepositId = "300";
+            string check = RedisDbconn.Instance.Get<string>("SetHKPosDepositWait:" + SnIds);
+            if (!string.IsNullOrEmpty(check))
+            {
+                return "操作频繁,请稍后再试";
+            }
+            RedisDbconn.Instance.Set("SetHKPosDepositWait:" + SnIds, SnIds);
+            RedisDbconn.Instance.SetExpire("SetHkPosDepositWait:" + SnIds, 10);
+            Dictionary<string, object> Obj = new Dictionary<string, object>();
+            string[] SnIdList = SnIds.Split(',');
+            foreach (string SnId in SnIdList)
+            {
+                int SnIdNum = int.Parse(SnId);
+                PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == SnIdNum && m.BindingState == 0 && (string.IsNullOrEmpty(m.SeoKeyword) || m.SeoKeyword == "0"));
+                if (pos == null)
+                {
+                    return "机具" + pos.PosSn + "已设置押金,请勿重复设置";
+                }
+                string OldId = "", NewId = "";
+                if (DepositId == "100")
+                {
+                    NewId = pos.BrandId == 8 ? "202207011718129" : "202207011718197";
+                }
+                else if (DepositId == "200")
+                {
+                    NewId = pos.BrandId == 8 ? "747200504467566592" : "747199934126108672";
+                }
+                else if (DepositId == "300")
+                {
+                    NewId = pos.BrandId == 8 ? "747193472108732416" : "747193820156276736";
+                }
+                string content = PublicImportDataService.Instance.QueryActiveForConfigHK(pos.PosSn, pos.BrandId);
+                JsonData jsonObj = JsonMapper.ToObject(content);
+                if (jsonObj["code"].ToString() == "0")
+                {
+                    OldId = jsonObj["data"]["posMarket"]["id"].ToString();
+                }
+                jsonObj = JsonMapper.ToObject(content);
+                function.WriteLog(DateTime.Now.ToString() + ":请求参数," + pos.PosSn + ":" + OldId + ":" + NewId, "海科-设置押金-返回报文");
+                content = PublicImportDataService.Instance.SetDepositForHK(pos.PosSn, OldId, NewId, pos.BrandId);
+                function.WriteLog(DateTime.Now.ToString() + "\n" + content, "海科-设置押金-返回报文");
+                if (content == "fail")
+                {
+                    return "机具" + pos.PosSn + "设置失败";
+                }
+                jsonObj = JsonMapper.ToObject(content);
+                if (jsonObj["code"].ToString() != "0")
+                {
+                    return jsonObj["msg"].ToString();
+                }
+                decimal amount = decimal.Parse(DepositId);
+                var BeforeDeposit = 0;
+                if (string.IsNullOrEmpty(pos.PrizeParams))
+                {
+                    BeforeDeposit = 299;
+                }
+                else
+                {
+                    BeforeDeposit = int.Parse(pos.PrizeParams);
+                }
+                if (pos.BrandId == 8 || pos.BrandId == 9)
+                {
+                    amount -= 1;
+                }
+                pos.PrizeParams = amount.ToString("f0");
+                db.SaveChanges();
+
+                //设置押金添加记录
+                PublicFunction.MerchantDepositSet(pos.BrandId, pos.BuyUserId, SnIdNum, pos.PosSn, BeforeDeposit, decimal.Parse(pos.PrizeParams), content);
+
+            }
+            return "设置成功";
+        }
+        #endregion
+
+
+
+        #region 联动-设置押金
+        public static string SetLDDeposit(string SnIds, string DepositId)
+        {
+            // string DepositId = "299";
+            string check = RedisDbconn.Instance.Get<string>("SetLDPosDepositWait:" + SnIds);
+            if (!string.IsNullOrEmpty(check))
+            {
+                return "操作频繁,请稍后再试";
+            }
+            RedisDbconn.Instance.Set("SetLDPosDepositWait:" + SnIds, SnIds);
+            RedisDbconn.Instance.SetExpire("SetLDPosDepositWait:" + SnIds, 10);
+            Dictionary<string, object> Obj = new Dictionary<string, object>();
+            string[] SnIdList = SnIds.Split(',');
+            foreach (string SnId in SnIdList)
+            {
+                int SnIdNum = int.Parse(SnId);
+                PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == SnIdNum && m.BindingState == 0 && (string.IsNullOrEmpty(m.SeoKeyword) || m.SeoKeyword == "0"));
+                if (pos == null)
+                {
+                    return "机具" + pos.PosSn + "已设置押金,请勿重复设置";
+                }
+                function.WriteLog(DateTime.Now.ToString() + ":请求参数," + pos.PosSn + ":" + DepositId, "联动-设置押金-返回报文");
+                string content = PublicImportDataService.Instance.LDServiceFee(pos.PosSn, int.Parse(DepositId), pos.BrandId);
+                function.WriteLog(DateTime.Now.ToString() + "\n" + content, "联动-设置押金-返回报文");
+                JsonData jsonObj = JsonMapper.ToObject(content);
+                if (jsonObj["code"].ToString() != "000000")
+                {
+                    return jsonObj["msg"].ToString();
+                }
+                var BeforeDeposit = 0;
+                if (string.IsNullOrEmpty(pos.PrizeParams))
+                {
+                    BeforeDeposit = 299;
+                }
+                else
+                {
+                    BeforeDeposit = int.Parse(pos.PrizeParams);
+                }
+                decimal amount = decimal.Parse(DepositId);
+                pos.PrizeParams = amount.ToString("f0");
+                db.SaveChanges();
+
+                //设置押金添加记录
+                PublicFunction.MerchantDepositSet(pos.BrandId, pos.BuyUserId, SnIdNum, pos.PosSn, BeforeDeposit, decimal.Parse(pos.PrizeParams), content);
+            }
+            return "设置成功";
+        }
+        #endregion
+
+
+
+        #region 盒易付-设置押金
+        public static string SetHYFDeposit(string SnIds, string DepositId)
+        {
+            // string DepositId = "299";
+            string check = RedisDbconn.Instance.Get<string>("SetHYFPosDepositWait:" + SnIds);
+            if (!string.IsNullOrEmpty(check))
+            {
+                return "操作频繁,请稍后再试";
+            }
+            RedisDbconn.Instance.Set("SetHYFPosDepositWait:" + SnIds, SnIds);
+            RedisDbconn.Instance.SetExpire("SetHYFPosDepositWait:" + SnIds, 10);
+            Dictionary<string, object> Obj = new Dictionary<string, object>();
+            string[] SnIdList = SnIds.Split(',');
+            foreach (string SnId in SnIdList)
+            {
+                int SnIdNum = int.Parse(SnId);
+                PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == SnIdNum && m.BindingState == 0 && (string.IsNullOrEmpty(m.SeoKeyword) || m.SeoKeyword == "0"));
+                if (pos == null)
+                {
+                    return "机具" + pos.PosSn + "已设置押金,请勿重复设置";
+                }
+                function.WriteLog(DateTime.Now.ToString() + ":请求参数," + pos.PosSn + ":" + DepositId, "盒易付-设置押金-返回报文");
+                string content = PublicImportDataService.Instance.BoxServiceFee(pos.PosSn, DepositId);
+                function.WriteLog(DateTime.Now.ToString() + "\n" + content, "盒易付-设置押金-返回报文");
+                if (content == "fail")
+                {
+                    return "机具" + pos.PosSn + "设置失败";
+                }
+                JsonData jsonObj = JsonMapper.ToObject(content);
+                if (jsonObj["resultCode"].ToString() != "1")
+                {
+                    return jsonObj["errorDesc"].ToString();
+                }
+                var BeforeDeposit = 0;
+                if (string.IsNullOrEmpty(pos.PrizeParams))
+                {
+                    BeforeDeposit = 299;
+                }
+                else
+                {
+                    BeforeDeposit = int.Parse(pos.PrizeParams);
+                }
+                decimal amount = decimal.Parse(DepositId);
+                pos.PrizeParams = amount.ToString("f0");
+                db.SaveChanges();
+
+                //设置押金添加记录
+                PublicFunction.MerchantDepositSet(pos.BrandId, pos.BuyUserId, SnIdNum, pos.PosSn, BeforeDeposit, decimal.Parse(pos.PrizeParams), content);
+            }
+            return "设置成功";
+        }
+        #endregion
+
+
+
+        #region POSP-设置押金
+        public static string SetPosPDeposit(string SnIds, string DepositId)
+        {
+            // string DepositId = "299";
+            string check = RedisDbconn.Instance.Get<string>("SetPosPDepositWait:" + SnIds);
+            if (!string.IsNullOrEmpty(check))
+            {
+                return "操作频繁,请稍后再试";
+            }
+            RedisDbconn.Instance.Set("SetPosPDepositWait:" + SnIds, SnIds);
+            RedisDbconn.Instance.SetExpire("SetPosPDepositWait:" + SnIds, 10);
+            Dictionary<string, object> Obj = new Dictionary<string, object>();
+            string[] SnIdList = SnIds.Split(',');
+            foreach (string SnId in SnIdList)
+            {
+                int SnIdNum = int.Parse(SnId);
+                PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == SnIdNum && m.BindingState == 0 && (string.IsNullOrEmpty(m.SeoKeyword) || m.SeoKeyword == "0"));
+                if (pos == null)
+                {
+                    return "机具" + pos.PosSn + "已设置押金,请勿重复设置";
+                }
+                function.WriteLog(DateTime.Now.ToString() + ":请求参数," + pos.PosSn + ":" + DepositId, "POSP-设置押金-返回报文");
+                string content = ""; //PublicImportDataService.Instance.PospServiceFee(pos.PosSn, DepositId, "");
+                function.WriteLog(DateTime.Now.ToString() + "\n" + content, "POSP-设置押金-返回报文");
+                if (content == "fail")
+                {
+                    return "机具" + pos.PosSn + "设置失败";
+                }
+                JsonData jsonObj = JsonMapper.ToObject(content);
+                if (jsonObj["resultCode"].ToString() != "1")
+                {
+                    return jsonObj["errorDesc"].ToString();
+                }
+                var BeforeDeposit = 0;
+                if (string.IsNullOrEmpty(pos.PrizeParams))
+                {
+                    BeforeDeposit = 299;
+                }
+                else
+                {
+                    BeforeDeposit = int.Parse(pos.PrizeParams);
+                }
+                decimal amount = decimal.Parse(DepositId);
+                pos.PrizeParams = amount.ToString("f0");
+                db.SaveChanges();
+
+                //设置押金添加记录
+                PublicFunction.MerchantDepositSet(pos.BrandId, pos.BuyUserId, SnIdNum, pos.PosSn, BeforeDeposit, decimal.Parse(pos.PrizeParams), content);
+            }
+            return "设置成功";
+        }
+        #endregion
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    }
+}

+ 127 - 0
AppStart/Helper/CheckAlipaySignService.cs

@@ -0,0 +1,127 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+using System.Text.RegularExpressions;
+
+namespace MySystem
+{
+    public class CheckAlipaySignService
+    {
+        public readonly static CheckAlipaySignService Instance = new CheckAlipaySignService();
+        private CheckAlipaySignService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            try
+            {
+                PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
+                List<MerchantSign> deletes = new List<MerchantSign>();
+                List<MerchantSign> signs = RedisDbconn.Instance.GetList<MerchantSign>("AlipaySignList", 1, 10000000); // TODO: 换成mysql存储遍历
+                foreach (MerchantSign sign in signs)
+                {
+                    string content = new AlipayFunction().QuerySignStatus(sign.BusinessCode);
+                    JsonData dic = JsonMapper.ToObject(content);
+                    if (dic["alipay_open_agent_order_query_response"]["code"].ToString() == "10000")
+                    {
+                        if (dic["alipay_open_agent_order_query_response"]["order_status"].ToString() == "MERCHANT_CONFIRM")
+                        {
+                            string sign_url = dic["alipay_open_agent_order_query_response"]["confirm_url"].ToString();
+                            PxcModels.MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.QueryCount == 0);
+                            if (merchantadd != null)
+                            {
+                                merchantadd.QueryCount = 1;
+                                string confirm_url = "/static/alipay_confirm_url/";
+                                string fileName = function.MD5_16(Guid.NewGuid().ToString());
+                                function.CreateQRCode2(sign_url, fileName, "/bsserver_com" + confirm_url);
+                                string SignUrlList = function.CheckNull(merchantadd.SeoKeyword);
+                                if (string.IsNullOrEmpty(SignUrlList))
+                                {
+                                    SignUrlList = "Alipay:" + confirm_url + ";";
+                                }
+                                else
+                                {
+                                    SignUrlList = "Alipay:" + confirm_url+ ";" + SignUrlList;
+                                }
+                                merchantadd.SeoKeyword = SignUrlList;
+                                merchantadd.SeoTitle = dic["alipay_open_agent_order_query_response"]["merchant_pid"].ToString();
+                                db.SaveChanges();
+                                RedisDbconn.Instance.Set("MerchantAddInfo:" + sign.MerchantAddInfoId, merchantadd);
+                            }
+                        }
+                        else if (dic["alipay_open_agent_order_query_response"]["order_status"].ToString() == "MERCHANT_CONFIRM_SUCCESS")
+                        {
+                            PxcModels.MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.QueryCount < 2);
+                            if (merchantadd != null)
+                            {
+                                merchantadd.QueryCount = 2;
+                                db.SaveChanges();
+                                RedisDbconn.Instance.Set("MerchantAddInfo:" + sign.MerchantAddInfoId, merchantadd);
+                                if (merchantadd.Status == 2 && merchantadd.QueryCount == 2)
+                                {
+                                    PxcModels.MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                                    List<PxcModels.MerchantInfo> merchants = RedisDbconn.Instance.GetList<PxcModels.MerchantInfo>("TmpMerchantInfo:" + merchant.UserId, 1, 1000000);
+                                    PxcModels.MerchantInfo check = merchants.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                                    if (check != null)
+                                    {
+                                        merchants.Remove(check);
+                                        RedisDbconn.Instance.Clear("TmpMerchantInfo:" + merchant.UserId);
+                                        RedisDbconn.Instance.AddList("TmpMerchantInfo:" + merchant.UserId, merchants.ToArray());
+                                    }
+                                }
+                                deletes.Add(sign);
+                            }
+                        }
+                        else if (dic["alipay_open_agent_order_query_response"]["order_status"].ToString() == "MERCHANT_APPLY_ORDER_CANCELED")
+                        { 
+                            PxcModels.MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                            if (merchantadd != null)
+                            {
+                                string Season = function.CheckNull(merchantadd.SeoDescription);
+                                if (string.IsNullOrEmpty(Season))
+                                {
+                                    Season = "Alipay:" + dic["alipay_open_agent_order_query_response"]["reject_reason"].ToString() + ";";
+                                }
+                                else
+                                {
+                                    Season = Regex.Replace(Season, "Alipay:.*?;", "");
+                                    Season += "Alipay:" + dic["alipay_open_agent_order_query_response"]["reject_reason"].ToString() + ";";
+                                }
+                                merchantadd.SeoDescription = Season;
+                                merchantadd.QueryCount = -1;
+                                db.SaveChanges();
+                                RedisDbconn.Instance.Set("MerchantAddInfo:" + sign.MerchantAddInfoId, merchantadd);
+                                PxcModels.MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                                if (merchant != null)
+                                {
+                                    merchant.Status = -1;
+                                    RedisDbconn.Instance.Set("MerchantInfo:" + sign.MerchantAddInfoId, merchant);
+                                }
+                                deletes.Add(sign);
+                            }
+                        }
+                    }
+                }
+                if (deletes.Count > 0)
+                {
+                    foreach (MerchantSign delete in deletes)
+                    {
+                        signs.Remove(delete);
+                    }
+                    RedisDbconn.Instance.Clear("AliaySignList");
+                    RedisDbconn.Instance.AddList("AliaySignList", signs.ToArray());
+                }
+                // jobInfo.Status = 1;
+                // jobInfo.Msg = "执行完成";
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "PublicBack");
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public:merchant:signerr");
+            }
+        }
+    }
+}

+ 143 - 0
AppStart/Helper/CheckWeChatSignService.cs

@@ -0,0 +1,143 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+using System.Text.RegularExpressions;
+
+namespace MySystem
+{
+    public class CheckWeChatSignService
+    {
+        public readonly static CheckWeChatSignService Instance = new CheckWeChatSignService();
+        private CheckWeChatSignService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            try
+            {
+                PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
+                List<MerchantSign> deletes = new List<MerchantSign>();
+                List<MerchantSign> signs = RedisDbconn.Instance.GetList<MerchantSign>("WeChatSignList", 1, 10000000); // TODO: 换成mysql存储遍历
+                foreach (MerchantSign sign in signs)
+                {
+                    Dictionary<string, object> dic = new WeChatFunction().QueryMerchant(sign.BusinessCode);
+                    if (dic["applyment_state"].ToString() == "APPLYMENT_STATE_TO_BE_SIGNED")
+                    {
+                        string sign_url = dic["sign_url"].ToString();
+                        PxcModels.MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.Status == 0);
+                        if (merchantadd != null)
+                        {
+                            merchantadd.Status = 1;
+                            string SignUrlList = function.CheckNull(merchantadd.SeoKeyword);
+                            if (string.IsNullOrEmpty(SignUrlList))
+                            {
+                                SignUrlList = "WeChat:" + sign_url + ";";
+                            }
+                            else
+                            {
+                                SignUrlList += "WeChat:" + sign_url+ ";";
+                            }
+                            merchantadd.SeoKeyword = SignUrlList;
+                            PxcModels.MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                            if (merchantadd.Status > 0 && merchantadd.QueryCount > 0)
+                            {
+                                merchant.Status = 1;
+                            }
+                            db.SaveChanges();
+                            RedisDbconn.Instance.Set("MerchantAddInfo:" + sign.MerchantAddInfoId, merchantadd);
+                        }
+                    }
+                    else if (dic["applyment_state"].ToString() == "APPLYMENT_STATE_FINISHED")
+                    { 
+                        PxcModels.MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId && m.Status == 1);
+                        if (merchantadd != null)
+                        {
+                            merchantadd.Status = 2;
+                            RedisDbconn.Instance.Set("MerchantAddInfo:" + sign.MerchantAddInfoId, merchantadd);
+                            PxcModels.MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                            if (merchantadd.Status == 2 && merchantadd.QueryCount == 2)
+                            {
+                                merchant.Status = 2;
+                            }
+                            db.SaveChanges();
+                            if (merchantadd.Status == 2 && merchantadd.QueryCount == 2)
+                            {
+                                List<MerchantInfo> merchants = RedisDbconn.Instance.GetList<MerchantInfo>("TmpMerchantInfo:" + merchant.UserId, 1, 1000000);
+                                MerchantInfo check = merchants.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                                if (check != null)
+                                {
+                                    merchants.Remove(check);
+                                    RedisDbconn.Instance.Clear("TmpMerchantInfo:" + merchant.UserId);
+                                    RedisDbconn.Instance.AddList("TmpMerchantInfo:" + merchant.UserId, merchants.ToArray());
+                                }
+                            }
+                            deletes.Add(sign);
+                        }
+                    }
+                    else if (dic["applyment_state"].ToString() == "APPLYMENT_STATE_REJECTED")
+                    {
+                        PxcModels.MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                        if (merchantadd != null)
+                        {
+                            string Season = function.CheckNull(merchantadd.SeoDescription);
+                            if (string.IsNullOrEmpty(Season))
+                            {
+                                Season = "WeChat:" + dic["reject_reason"].ToString() + ";";
+                            }
+                            else
+                            {
+                                Season = Regex.Replace(Season, "WeChat:.*?;", "");
+                                Season += "WeChat:" + dic["reject_reason"].ToString() + ";";
+                            }
+                            merchantadd.SeoDescription = Season;
+                            merchantadd.Status = -1;
+                            db.SaveChanges();
+                            RedisDbconn.Instance.Set("MerchantAddInfo:" + sign.MerchantAddInfoId, merchantadd);
+                            PxcModels.MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                            if (merchant != null)
+                            {
+                                merchant.Status = -1;
+                                RedisDbconn.Instance.Set("MerchantInfo:" + sign.MerchantAddInfoId, merchant);
+                            }
+                            deletes.Add(sign);
+                        }
+                    }
+                    else
+                    {
+                        string sub_mchid = "";
+                        if (dic.ContainsKey("sub_mchid"))
+                        {
+                            sub_mchid = dic["sub_mchid"].ToString();
+                            PxcModels.MerchantAddInfo merchantadd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == sign.MerchantAddInfoId);
+                            if (merchantadd != null)
+                            {
+                                merchantadd.SubMchid = sub_mchid;
+                                db.SaveChanges();
+                                RedisDbconn.Instance.Set("MerchantAddInfo:" + sign.MerchantAddInfoId, merchantadd);
+                            }
+                        }
+                    }
+                }
+                if (deletes.Count > 0)
+                {
+                    foreach (MerchantSign delete in deletes)
+                    {
+                        signs.Remove(delete);
+                    }
+                    RedisDbconn.Instance.Clear("WeChatSignList");
+                    RedisDbconn.Instance.AddList("WeChatSignList", signs.ToArray());
+                }
+                // jobInfo.Status = 1;
+                // jobInfo.Msg = "执行完成";
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "PublicBack");
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public:merchant:signerr");
+            }
+        }
+    }
+}

+ 98 - 0
AppStart/Helper/ConsumerOrdersReturnDoService.cs

@@ -0,0 +1,98 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class ConsumerOrdersReturnDoService
+    {
+        public readonly static ConsumerOrdersReturnDoService Instance = new ConsumerOrdersReturnDoService();
+        private ConsumerOrdersReturnDoService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                DoRefund();
+                // string Msg = "success";
+                // jobInfo.Status = Msg == "success" ? 1 : 0;
+                // jobInfo.Msg = Msg == "success" ? "执行完成" : Msg;
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "PublicBack");
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "public_err");
+                }
+                else
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public_service");
+                }
+            }
+        }
+
+        private void DoRefund()
+        {
+            bool op = true;
+            while (op)
+            {
+                RefundItem item = RedisDbconn.Instance.RPop<RefundItem>("ConsumerOrdersStat");
+                if (item != null)
+                {
+                    bool success = false;
+                    WebCMSEntities db = new WebCMSEntities();
+                    if (item.PayMode == 1)
+                    {
+                        string resultString = new AlipayFunction().Refund(item.TradeNo, item.RefundMoney.ToString("f2"), "202202BB4fc8c2c03c914f2f87b6c678a77d7C03");
+                        JsonData jsonObj = JsonMapper.ToObject(resultString);
+                        if (jsonObj["alipay_trade_refund_response"]["code"].ToString() == "10000")
+                        { 
+                            success = true;
+                        }
+                    }
+                    else if (item.PayMode == 2)
+                    {
+                        string AppId = "wxe2c051b3e46c0f6f";
+                        string MchId = "1611167423";
+                        MerchantAddInfo merchantAdd = db.MerchantAddInfo.FirstOrDefault(m => m.Id == item.MerchantId) ?? new MerchantAddInfo();
+                        MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == item.MerchantId) ?? new MerchantInfo();
+                        string SubMchId = merchantAdd.SubMchid;
+                        string Description = merchant.Name;
+                        string RefundNo = DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
+                        Dictionary<string, string> dic = new WeChatFunction().Refund(AppId, MchId, SubMchId, item.RefundMoney, item.TotalMoney, item.TradeNo, RefundNo);
+                        if (dic.ContainsKey("status"))
+                        {
+                            if (dic["status"] == "SUCCESS")
+                            {
+                                success = true;
+                            }
+                        }
+                    }
+                    if (success)
+                    {
+                        ConsumerOrders order = db.ConsumerOrders.FirstOrDefault(m => m.Id == item.ProfitId);
+                        if (order != null)
+                        {
+                            order.Status = 1;
+                            db.SaveChanges();
+                        }
+                    }
+                    db.Dispose();
+                }
+                else
+                {
+                    op = false;
+                }
+            }
+        }
+    }
+}

+ 43 - 0
AppStart/Helper/ConsumerOrdersReturnStatService.cs

@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class ConsumerOrdersReturnStatService
+    {
+        public readonly static ConsumerOrdersReturnStatService Instance = new ConsumerOrdersReturnStatService();
+        private ConsumerOrdersReturnStatService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                ProfitHelper.Instance.StartListenTradeDo();
+                // string Msg = "success";
+                // jobInfo.Status = Msg == "success" ? 1 : 0;
+                // jobInfo.Msg = Msg == "success" ? "执行完成" : Msg;
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "PublicBack");
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "public_err");
+                }
+                else
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public_service");
+                }
+            }
+        }
+    }
+}

+ 190 - 0
AppStart/Helper/ConsumerOrdersStatService.cs

@@ -0,0 +1,190 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class ConsumerOrdersStatService
+    {
+        public readonly static ConsumerOrdersStatService Instance = new ConsumerOrdersStatService();
+        private ConsumerOrdersStatService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                dosomething();
+                // string Msg = "success";
+                // jobInfo.Status = Msg == "success" ? 1 : 0;
+                // jobInfo.Msg = Msg == "success" ? "执行完成" : Msg;
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "PublicBack");
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "public_err");
+                }
+                else
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public_service");
+                }
+            }
+        }
+
+        public void dosomething()
+        {
+            bool op = true;
+            while (op)
+            {
+                int OrderId = RedisDbconn.Instance.RPop<int>("ConsumerOrdersStat");
+                if (OrderId > 0)
+                {
+                    WebCMSEntities db = new WebCMSEntities();
+                    using (var tran = db.Database.BeginTransaction())
+                    {
+                        try
+                        {
+                            ConsumerOrders order = db.ConsumerOrders.FirstOrDefault(m => m.Id == OrderId);
+                            if (order != null)
+                            {
+                                int PayMode = order.PayMode;
+                                decimal PayMoney = order.PayMoney;
+                                string TradeMonth = order.UpdateDate.Value.ToString("yyyyMM");
+                                string TradeDate = order.UpdateDate.Value.ToString("yyyyMMdd");
+                                MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == order.MerchantId);
+                                if (merchant != null)
+                                {
+                                    merchant.LastConsumeDate = order.UpdateDate;
+                                    merchant.TotalConsumeCount += 1;
+                                    merchant.TotalOrder += 1;
+                                    merchant.TotalAmount += PayMoney;
+                                    db.SaveChanges();
+
+                                    RedisDbconn.Instance.AddNumber("TotalAmount:" + merchant.UserId, PayMoney);
+                                    decimal TotalAmount = RedisDbconn.Instance.Get<decimal>("TotalAmount:" + merchant.UserId);
+                                    RedisDbconn.Instance.AddNumber("TotalAmount:" + merchant.UserId + ":" + TradeMonth, PayMoney);
+                                    // 微信/支付宝
+                                    if (order.PayMode == 1)
+                                    {
+                                        RedisDbconn.Instance.AddInt("TotalOrder:Alipay:" + merchant.UserId + ":" + TradeMonth);
+                                    }
+                                    else if (order.PayMode == 2)
+                                    {
+                                        RedisDbconn.Instance.AddInt("TotalOrder:WeChat:" + merchant.UserId + ":" + TradeMonth);
+                                    }
+                                    // 活动、非活动
+                                    if (order.IsAct == 1)
+                                    {
+                                        RedisDbconn.Instance.AddNumber("TotalAmount:Active:" + merchant.UserId + ":" + TradeMonth, PayMoney);
+                                    }
+                                    else
+                                    {
+                                        RedisDbconn.Instance.AddNumber("TotalAmount:UnActive:" + merchant.UserId + ":" + TradeMonth, PayMoney);
+                                    }
+                                    // 判断激活商户,从绑定音箱码开始,30天内,活动交易额满1000为激活
+                                    int ActivationStatus = 0;
+                                    if (merchant.BindStatus == 1 && merchant.BindDate > DateTime.Now.AddDays(-30) && TotalAmount >= 1000)
+                                    {
+                                        merchant.ActivationStatus = 1;
+                                        merchant.ActivationDate = DateTime.Now;
+                                        db.SaveChanges();
+                                        ActivationStatus = 1;
+                                        RedisDbconn.Instance.AddInt("ActMerchantCount:" + merchant.UserId + ":" + TradeMonth);
+                                        RedisDbconn.Instance.AddInt("ActMerchantCount:" + merchant.UserId + ":" + TradeDate);
+                                        RedisDbconn.Instance.AddInt("ActMerchantCount:" + merchant.UserId + ":" + PayMode + ":" + TradeMonth);
+                                        RedisDbconn.Instance.AddInt("ActMerchantCount:" + merchant.UserId + ":" + PayMode + ":" + TradeDate);
+                                    }
+
+                                    // 遍历上级,累加团队数据
+                                    int UserId = merchant.UserId;
+                                    int Level = 0;
+                                    while (UserId > 0)
+                                    {
+                                        Level += 1;
+                                        Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
+                                        if (user != null)
+                                        {
+                                            if (Level >= 1)
+                                            {
+                                                RedisDbconn.Instance.AddNumber("TeamTotalAmount:" + UserId + ":" + TradeMonth, PayMoney);
+                                                // 微信/支付宝
+                                                if (order.PayMode == 1)
+                                                {
+                                                    RedisDbconn.Instance.AddInt("TeamTotalOrder:Alipay:" + UserId + ":" + TradeMonth);
+                                                }
+                                                else if (order.PayMode == 2)
+                                                {
+                                                    RedisDbconn.Instance.AddInt("TeamTotalOrder:WeChat:" + UserId + ":" + TradeMonth);
+                                                }
+                                                // 活动、非活动
+                                                if (order.IsAct == 1)
+                                                {
+                                                    RedisDbconn.Instance.AddNumber("TeamTotalAmount:Active:" + UserId + ":" + TradeMonth, PayMoney);
+                                                }
+                                                else
+                                                {
+                                                    RedisDbconn.Instance.AddNumber("TeamTotalAmount:UnActive:" + UserId + ":" + TradeMonth, PayMoney);
+                                                }
+
+                                                // 创客的激活商户累计
+                                                if (ActivationStatus == 1)
+                                                { 
+                                                    RedisDbconn.Instance.AddInt("ActMerchantCount:" + UserId + ":" + TradeMonth);
+                                                    RedisDbconn.Instance.AddInt("ActMerchantCount:" + UserId + ":" + TradeDate);
+                                                    RedisDbconn.Instance.AddInt("ActMerchantCount:" + UserId + ":" + PayMode + ":" + TradeMonth);
+                                                    RedisDbconn.Instance.AddInt("ActMerchantCount:" + UserId + ":" + PayMode + ":" + TradeDate);
+                                                }
+                                            }
+                                            UserId = user.ParentUserId;
+                                        }
+                                        else
+                                        {
+                                            UserId = 0;
+                                        }
+                                    }
+                                    
+                                    //创客所属商户交易额数据
+                                    RedisDbconn.Instance.AddNumber("MerchantTradeAmount:" + order.MerchantId + ":" + TradeMonth, order.PayMoney);
+                                    RedisDbconn.Instance.AddNumber("MerchantTradeAmount:" + order.MerchantId + ":" + TradeDate, order.PayMoney);
+                                    List<string> TradeMonths = RedisDbconn.Instance.GetList<string>("MerchantTradeList:" + order.MerchantId + ":" + TradeMonth, 1, 1000);
+                                    if (!TradeMonths.Contains(TradeDate))
+                                    {
+                                        RedisDbconn.Instance.AddList("MerchantTradeList:" + order.MerchantId + ":" + TradeMonth, TradeDate);
+                                    }
+                                }
+                                tran.Commit();
+                            }
+                        }
+                        catch (Exception ex)
+                        {
+                            tran.Rollback();
+                            function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public_service");
+                        }
+                    }
+                    db.Dispose();
+                }
+                else
+                {
+                    op = false;
+                }
+            }
+        }
+
+        public void StatCreatorData(int UserId, ConsumerOrders order)
+        {
+            string DateString = order.UpdateDate.Value.ToString("yyyyMMdd");
+            string MonthString = order.UpdateDate.Value.ToString("yyyyMM");
+            // RedisDbconn.Instance.AddNumber("TradeStat:" + UserId + ":" + DateString, order.PayMoney);
+            // RedisDbconn.Instance.AddNumber("TradeStat:" + UserId + ":" + MonthString, order.PayMoney);
+        }
+    }
+}

+ 37 - 0
AppStart/Helper/DelMySql/DeleteMySqlDataService.cs

@@ -0,0 +1,37 @@
+using System;
+using System.Linq;
+using MySystem.PxcModels;
+using Library;
+
+namespace MySystem
+{
+    public class DeleteMySqlDataService
+    {
+        public readonly static DeleteMySqlDataService Instance = new DeleteMySqlDataService();
+        private DeleteMySqlDataService()
+        { }
+
+        public void Start(string TableString)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            try
+            {
+                string[] data = TableString.Split(':');
+                int Id = int.Parse(function.CheckInt(data[1]));
+                string Table = data[0];
+                dbconn.op("delete from " + Table + " where Id=" + Id);
+                OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+                OtherMySqlConn.op("delete from " + Table + " where Id=" + Id);
+                // OtherMySqlConn.connstr = ;
+            }
+            catch (Exception ex)
+            {
+                ErrorMsg msg = new ErrorMsg();
+                msg.Time = DateTime.Now;
+                msg.ErrorContent = ex.ToString();
+                function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "Pop:MerchantInfo:Error");
+            }
+            db.Dispose();
+        }
+    }
+}

+ 90 - 0
AppStart/Helper/DepositReturnService.cs

@@ -0,0 +1,90 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class DepositReturnService
+    {
+        public readonly static DepositReturnService Instance = new DepositReturnService();
+        private DepositReturnService()
+        { }
+
+
+        public void Start()
+        {
+            Thread th = new Thread(StartListen);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void StartListen()
+        {
+            while(true)
+            {
+                try
+                {
+                    string content = RedisDbconn.Instance.RPop<string>("ToAlipayAccountQueue");
+                    if(!string.IsNullOrEmpty(content))
+                    {
+                        string[] idlist = content.Split(',');
+                        foreach(string id in idlist)
+                        {
+                            int IdNum = int.Parse(id);
+                            StartListenDo(IdNum);
+                        }
+                    }
+                    else
+                    {
+                        Thread.Sleep(60000);
+                    }
+                }
+                catch(Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "退还押金到支付宝余额异常");
+                    Thread.Sleep(600000);
+                }
+            }
+        }
+
+        public void StartListenDo(int Id)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            MerchantDepositReturns item = db.MerchantDepositReturns.FirstOrDefault(m => m.Id == Id);
+            if(item != null)
+            {
+                PosMerchantInfo mer = db.PosMerchantInfo.FirstOrDefault(m => m.Id == item.MerchantId) ?? new PosMerchantInfo();
+                string Name = item.OperateMan;
+                string AccountNo = item.AlipayAccountNo;
+                decimal ReturnAmount = item.ReturnAmount * 0.92M;
+                // decimal ReturnAmount = item.ReturnAmount / 1000;
+                // if(ReturnAmount < 0.1M)
+                // {
+                //     ReturnAmount = 0.1M;
+                // }
+                string Amount = ReturnAmount.ToString("f2");
+                PublicAccountSet set = db.PublicAccountSet.FirstOrDefault() ?? new PublicAccountSet();
+                string result = new Alipay.AlipayPublicMethod().TransferToAccount(set.AlipayAppId, set.AlipayPrivateKey,set.AlipayPublicKey, AccountNo, Amount, "达标奖到账", Name, "机具SN:" + mer.KqSnNo + ";商户姓名:" + mer.MerRealName);
+                if(result.StartsWith("success"))
+                {
+                    item.Status = 1;
+                    mer.StandardStatus = 1;
+                }
+                else
+                {
+                    item.Status = 2;
+                    item.SeoDescription = result;
+                    mer.StandardStatus = 101;
+                    mer.SeoDescription = result;
+                }
+                db.SaveChanges();
+            }
+            db.Dispose();
+        }
+    }
+}

+ 176 - 0
AppStart/Helper/DepositReturnStatService.cs

@@ -0,0 +1,176 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class DepositReturnStatService
+    {
+        public readonly static DepositReturnStatService Instance = new DepositReturnStatService();
+        private DepositReturnStatService()
+        { }
+
+
+        public void Start()
+        {
+            Thread th = new Thread(StartEverDay);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void StartEverDay()
+        {
+            while(true)
+            {
+                if(DateTime.Now.Day <= 15 && DateTime.Now.Hour > 1 && DateTime.Now.Hour < 13)
+                {
+                    try
+                    {
+                        StartEverDayDo();
+                    }
+                    catch(Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "每月统计押金达标数据异常");
+                    }
+                }
+                Thread.Sleep(60000);
+            }
+        }
+
+        public void StartEverDayDo()
+        {
+            string Month = DateTime.Now.ToString("yyyyMM");
+            string chk = function.ReadInstance("/DepositReturn/" + Month + ".txt");
+            if(!string.IsNullOrEmpty(chk))
+            {
+                return;
+            }
+            function.WritePage("/DepositReturn/", Month + ".txt", DateTime.Now.ToString());
+            WebCMSEntities db = new WebCMSEntities();
+            int startid = int.Parse(function.CheckInt(function.ReadInstance("/DepositReturn/" + Month + "MerchantId.txt")));
+            bool op = true;
+            while(op)
+            {
+                List<PosMerchantInfo> merchants = db.PosMerchantInfo.Where(m => m.Id > startid && m.ActiveStatus == 1 && m.StandardStatus == 0).OrderBy(m => m.Id).Take(50).ToList();
+                if(merchants.Count > 0)
+                {
+                    foreach(PosMerchantInfo merchant in merchants)
+                    {
+                        DoSomething(db, merchant);
+                        startid = merchant.Id;
+                    }
+                }
+                else
+                {
+                    op = false;
+                }
+                function.WritePage("/DepositReturn/", Month + "MerchantId.txt", startid.ToString());
+            }
+            db.Dispose();
+        }
+
+
+        public void StartEverTime()
+        {
+            Thread th = new Thread(StartEverTimeDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void StartEverTimeDo()
+        {
+            while(true)
+            {
+                try
+                {
+                    string content = RedisDbconn.Instance.RPop<string>("DepositReturnStatQueue");
+                    if(!string.IsNullOrEmpty(content))
+                    {
+                        int MerchantId = int.Parse(function.CheckInt(content));
+                        WebCMSEntities db = new WebCMSEntities();
+                        PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == MerchantId);
+                        if(merchant != null)
+                        {
+                            DoSomething(db, merchant);
+                        }
+                        db.Dispose();
+                    }
+                    else
+                    {
+                        Thread.Sleep(60000);
+                    }
+                }
+                catch(Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "统计单个商户押金达标数据异常");
+                }
+            }
+        }
+
+
+
+        public void DoSomething(WebCMSEntities db, PosMerchantInfo merchant)
+        {
+            function.WriteLog("商户ID:" + merchant.Id, "每月统计押金达标情况");
+            // string start = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
+            int StandardMonths = merchant.StandardMonths;
+            int StandardStatus = merchant.StandardStatus;
+            function.WriteLog("StandardMonths:" + StandardMonths, "每月统计押金达标情况");
+            function.WriteLog("StandardStatus:" + StandardStatus, "每月统计押金达标情况");    
+            DateTime ActDate = merchant.CreateDate.Value;
+            if(merchant.MerStandardDate == null)
+            {
+                PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == merchant.KqSnNo && m.ActivationState == 1 && m.ActivationTime != null);
+                if(pos != null)
+                {
+                    ActDate = pos.ActivationTime.Value;
+                }
+            }
+            else
+            {
+                ActDate = merchant.MerStandardDate.Value;
+            }
+            int MonthNum = StandardMonths;
+            for (int i = StandardMonths + 1; i <= 10; i++)
+            {
+                string TradeMonth = ActDate.AddMonths(i).ToString("yyyyMM");
+                if(int.Parse(TradeMonth) < int.Parse(DateTime.Now.ToString("yyyyMM")))
+                {
+                    decimal TradeAmount = 0;
+                    bool CheckAmount = db.PosMerchantTradeSummay.Any(m => m.MerchantId == merchant.Id && m.TradeMonth == TradeMonth);
+                    if(CheckAmount)
+                    {
+                        TradeAmount = db.PosMerchantTradeSummay.Where(m => m.MerchantId == merchant.Id && m.TradeMonth == TradeMonth).Sum(m => m.TradeAmount);
+                    }
+                    if(TradeAmount >= 10000)
+                    {
+                        MonthNum = i;
+                    }
+                    else
+                    {
+                        StandardStatus = -1;
+                        break;
+                    }
+                }
+            }
+            function.WriteLog("MonthNum:" + MonthNum, "每月统计押金达标情况"); 
+            if(MonthNum >= 10)
+            {
+                StandardStatus = 4;
+            }
+            function.WriteLog("StandardStatus:" + StandardStatus + "\n\n", "每月统计押金达标情况"); 
+            PosMerchantInfo edit = db.PosMerchantInfo.FirstOrDefault(m => m.Id == merchant.Id);
+            if(edit != null)
+            {
+                edit.StandardMonths = MonthNum;
+                edit.StandardStatus = StandardStatus;
+                db.SaveChanges();
+            }
+        }
+    }
+}

+ 123 - 0
AppStart/Helper/InstallmentDeductionService.cs

@@ -0,0 +1,123 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Threading;
+using MySystem.Models;
+using Library;
+
+namespace MySystem
+{
+    /// <summary>
+    /// 分期扣款(每月20号执行)
+    /// </summary>
+    public class InstallmentDeductionService
+    {
+        public readonly static InstallmentDeductionService Instance = new InstallmentDeductionService();
+        private InstallmentDeductionService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(doSomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void doSomething()
+        {
+            while (true)
+            {
+                if (DateTime.Now.Day == 20 && DateTime.Now.Hour > 2 && DateTime.Now.Hour < 19)
+                {
+                    try
+                    {
+                        string check = function.ReadInstance("/InstallmentDeduction/check" + DateTime.Now.ToString("yyyy-MM-20") + ".txt");
+                        if (string.IsNullOrEmpty(check))
+                        {
+                            function.WritePage("/InstallmentDeduction/", "check" + DateTime.Now.ToString("yyyy-MM-20") + ".txt", DateTime.Now.ToString("HH:mm:ss"));
+                            WebCMSEntities db = new WebCMSEntities();
+                            var startdate = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-20 00:00:00"));
+                            var enddate = startdate.AddDays(1);
+                            // var info = db.ToChargeBackRecordSub.Where(m => m.Status == 0 && m.StartDate >= startdate && m.StartDate < enddate).ToList();//分期扣款记录明细
+                            var info = db.ToChargeByStage.Where(m => m.Status == 0).ToList();//分期扣款记录
+                            foreach (var item in info)
+                            {
+                                var toChargeBackRecordSub = db.ToChargeBackRecordSub.FirstOrDefault(m => m.Status == 0 && m.ParentId == item.Id && m.StartDate >= startdate && m.StartDate < enddate) ?? new ToChargeBackRecordSub();
+                                if (toChargeBackRecordSub.Id > 0)
+                                {
+                                    var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == item.UserId);
+                                    if (userAccount == null)
+                                    {
+                                        userAccount = db.UserAccount.Add(new UserAccount()
+                                        {
+                                            Id = item.UserId,
+                                            UserId = item.UserId,
+                                        }).Entity;
+                                        db.SaveChanges();
+                                    }
+                                    toChargeBackRecordSub.Status = 2;
+                                    userAccount.ToChargeAmount += toChargeBackRecordSub.ChargeAmount;//增加预扣款
+                                    var toChargeBackRecord = db.ToChargeBackRecord.Add(new ToChargeBackRecord
+                                    {
+                                        CreateDate = DateTime.Now,
+                                        Sort = toChargeBackRecordSub.Id,
+                                        UserId = item.UserId,
+                                        ChargeAmount = toChargeBackRecordSub.ChargeAmount,
+                                        ChargeType = 2,//分期预扣款
+                                        Remark = toChargeBackRecordSub.Remark,
+
+                                    }).Entity;
+                                }
+
+                                // //只能存在一笔分期扣款记录(先前有的但是余额不够未扣除的则不添加新的)
+                                // var checks = db.ToChargeBackRecord.Any(m => m.Sort > 0 && (m.Status == 0 || m.Status == 3) && m.ChargeType == 2 && m.UserId == item.UserId);
+                                // if (!checks)
+                                // {
+                                //     string checkAdd = RedisDbconn.Instance.Get<string>("InstallmentDeductionAddRecord:" + item.UserId);
+                                //     if (string.IsNullOrEmpty(check))
+                                //     {
+                                //         var toChargeBackRecordSub = db.ToChargeBackRecordSub.FirstOrDefault(m => m.Status == 0 && m.ParentId == item.Id && m.StartDate >= startdate && m.StartDate < enddate) ?? new ToChargeBackRecordSub();
+                                //         if (toChargeBackRecordSub.Id > 0)
+                                //         {
+                                //             var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == item.UserId);
+                                //             if (userAccount == null)
+                                //             {
+                                //                 userAccount = db.UserAccount.Add(new UserAccount()
+                                //                 {
+                                //                     Id = item.UserId,
+                                //                     UserId = item.UserId,
+                                //                 }).Entity;
+                                //                 db.SaveChanges();
+                                //             }
+                                //             userAccount.ToChargeAmount += toChargeBackRecordSub.ChargeAmount;//增加预扣款
+                                //             var toChargeBackRecord = db.ToChargeBackRecord.Add(new ToChargeBackRecord
+                                //             {
+                                //                 CreateDate = DateTime.Now,
+                                //                 Sort = toChargeBackRecordSub.Id,
+                                //                 UserId = item.UserId,
+                                //                 ChargeAmount = toChargeBackRecordSub.ChargeAmount,
+                                //                 ChargeType = 2,//分期预扣款
+                                //                 Remark = "分期预扣款",
+
+                                //             }).Entity;
+                                //         }
+                                //     }
+                                //     RedisDbconn.Instance.Set("InstallmentDeductionAddRecord:" + item.UserId, "wait");
+                                //     RedisDbconn.Instance.SetExpire("InstallmentDeductionAddRecord:" + item.UserId, 300);
+                                // }
+                            }
+                            db.SaveChanges();
+
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "执行分期扣费异常");
+                    }
+                }
+                Thread.Sleep(10000);
+            }
+        }
+    }
+}

+ 66 - 0
AppStart/Helper/LeaderAmountMonthChangeQueue.cs

@@ -0,0 +1,66 @@
+using System;
+using System.Collections.Generic;
+using System.Threading;
+using System.Linq;
+using System.Data;
+using MySystem;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+/// <summary>
+/// 每月一号记录上月盟主储蓄金和可提现余额
+/// </summary>
+public class LeaderAmountMonthChangeQueue
+{
+    public readonly static LeaderAmountMonthChangeQueue Instance = new LeaderAmountMonthChangeQueue();
+    private LeaderAmountMonthChangeQueue()
+    {
+    }
+
+    public void Start()
+    {
+        Thread th = new Thread(StartDo);
+        th.IsBackground = true;
+        th.Start();
+    }
+
+    private void StartDo()
+    {
+        while (true)
+        {
+            if (DateTime.Now.Day == 1 && DateTime.Now.Hour > 1 && DateTime.Now.Hour < 10)
+            {
+                try
+                {
+                    string check = function.ReadInstance("/LeaderAmountMonthChange/check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt");
+                    if (string.IsNullOrEmpty(check))
+                    {
+                        function.WritePage("/LeaderAmountMonthChange/", "check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", DateTime.Now.ToString("HH:mm:ss"));
+                        WebCMSEntities db = new WebCMSEntities();
+                        var leaders = db.Leaders.Select(m => new { m.UserId, m.ExpiredDate }).ToList();
+                        foreach (var item in leaders)
+                        {
+                            var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == item.UserId) ?? new UserAccount();
+                            var leaderInfo = db.Leaders.FirstOrDefault(m => m.Id == item.UserId) ?? new Leaders();
+                            db.LeaderReconRecord.Add(new LeaderReconRecord()
+                            {
+                                CreateDate = DateTime.Now,
+                                UserId = item.UserId,
+                                StatMonth = DateTime.Now.ToString("yyyy-MM"),
+                                ReserveAmount = userAccount.LeaderReserve,
+                                BalanceAmount = userAccount.LeaderBalanceAmount
+                            });
+                            db.SaveChanges();
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "每月一号记录上月盟主储蓄金和可提现余额线程异常");
+                }
+            }
+            Thread.Sleep(60000);
+        }
+    }
+}

+ 142 - 0
AppStart/Helper/LeaderApplyCouponsHelper.cs

@@ -0,0 +1,142 @@
+using System;
+using System.Threading;
+using System.Linq;
+using System.Data;
+using Library;
+using MySystem.Models;
+using LitJson;
+using System.Collections.Generic;
+
+namespace MySystem
+{
+    public class LeaderApplyCouponsHelper
+    {
+        public readonly static LeaderApplyCouponsHelper Instance = new LeaderApplyCouponsHelper();
+        private LeaderApplyCouponsHelper()
+        {
+        }
+
+        public void Start()//启动
+        {
+            Thread thread = new Thread(doSomething);
+            thread.IsBackground = true;
+            thread.Start();
+        }
+
+        public void doSomething()
+        {
+            while (true)
+            {
+                string content = RedisDbconn.Instance.RPop<string>("LeaderApplyCouponsQueue");
+                if (!string.IsNullOrEmpty(content))
+                {
+                    try
+                    {
+                        var Id = int.Parse(content);
+                        WebCMSEntities db = new WebCMSEntities();
+                        var LeaderUserId = 0;
+                        var queryList = db.LeaderReserveRecord.FirstOrDefault(m => m.Id == Id) ?? new LeaderReserveRecord();
+                        var userInfo = db.Users.FirstOrDefault(m => m.Id == queryList.UserId) ?? new Users();
+                        if (userInfo.LeaderLevel == 2)
+                        {
+                            LeaderUserId = queryList.UserId;
+                        }
+                        else
+                        {
+                            string[] ParentNavList = userInfo.ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                            for (int j = ParentNavList.Length; j > 0; j--)
+                            {
+                                int userId = int.Parse(ParentNavList[j - 1]);
+                                var user = db.Users.FirstOrDefault(m => m.Id == userId) ?? new Users();
+                                //如果是小盟主,则查找该小盟主关联的大盟主储蓄金是否充足,是则给券打上关联大盟主标记
+                                if(user.LeaderLevel == 1)
+                                {
+                                    // LeaderAccountRecord leaderItem = db.LeaderAccountRecord.FirstOrDefault(m => m.Sort == user.Id && m.LeaderId > 0 && m.LeaderReserve >= 400 * pro.ProductCount);
+                                    // if(leaderItem != null)
+                                    // {
+                                    //     leaderItem.LeaderReserve -= 400 * pro.ProductCount;
+                                    //     foreach(int couponId in couponIds)
+                                    //     {
+                                    //         PosCoupons coupon = db.PosCoupons.FirstOrDefault(m => m.Id == couponId);
+                                    //         if(coupon != null)
+                                    //         {
+                                    //             coupon.LeaderUserId = leaderItem.LeaderId;
+                                    //         }
+                                    //     }
+                                    //     db.SaveChanges();
+                                    //     bigLeaderPrize = true;
+                                    // }
+                                }
+                                if (user.LeaderLevel == 2)
+                                {
+                                    LeaderUserId = userId;
+                                    break;
+                                }
+                                else
+                                {
+                                    continue;
+                                }
+                            }
+
+                        }
+
+                        JsonData ApplyList = JsonMapper.ToObject(queryList.SeoTitle);
+                        var SnList = "";
+                        for (int i = 0; i < ApplyList.Count; i++)
+                        {
+                            int num = Convert.ToInt32(ApplyList[i]["Num"].ToString());
+                            int type = Convert.ToInt32(ApplyList[i]["Type"].ToString());
+                            //电签
+                            if (type == 1)
+                            {
+                                var dposCoupons = db.PosCoupons.Where(m => m.QueryCount == 1 && m.UserId == 0 && m.LeaderUserId == 0 && m.IsUse == 0 && m.IsLock == 0 && m.OpId == 0).Take(num).ToList();//电签券
+                                foreach (var item in dposCoupons)
+                                {
+                                    var posCoupon = db.PosCoupons.FirstOrDefault(m => m.Id == item.Id) ?? new PosCoupons();
+                                    posCoupon.UserId = queryList.UserId;
+                                    posCoupon.LeaderUserId = LeaderUserId;
+                                    // SnList += posCoupon.ExchangeCode + ",";
+                                    db.UserSnDelayChange.Add(new UserSnDelayChange()
+                                    {
+                                        CreateDate = DateTime.Now,
+                                        QueryCount = Id,
+                                        SnNo = posCoupon.ExchangeCode,
+                                    });
+                                }
+                            }
+                            //大机
+                            if (type == 2)
+                            {
+                                var bposCoupons = db.PosCoupons.Where(m => m.QueryCount == 2 && m.UserId == 0 && m.LeaderUserId == 0 && m.IsUse == 0 && m.IsLock == 0 && m.OpId == 0).Take(num).ToList();//大机券
+                                foreach (var items in bposCoupons)
+                                {
+                                    var posCoupon = db.PosCoupons.FirstOrDefault(m => m.Id == items.Id) ?? new PosCoupons();
+                                    posCoupon.UserId = queryList.UserId;
+                                    posCoupon.LeaderUserId = LeaderUserId;
+                                    // SnList += posCoupon.ExchangeCode + ",";
+                                    db.UserSnDelayChange.Add(new UserSnDelayChange()
+                                    {
+                                        CreateDate = DateTime.Now,
+                                        QueryCount = Id,
+                                        SnNo = posCoupon.ExchangeCode,
+                                    });
+                                }
+                            }
+                            db.SaveChanges();
+                        }
+                        // queryList.SeoDescription = SnList.TrimEnd(',');
+                        db.SaveChanges();
+                    }
+                    catch (Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "盟主兑换机具券异常");
+                    }
+                }
+                else
+                {
+                    Thread.Sleep(5000);
+                }
+            }
+        }
+    }
+}

+ 585 - 0
AppStart/Helper/LeaderCompPrizeHelper.cs

@@ -0,0 +1,585 @@
+using System;
+using System.Threading;
+using System.Linq;
+using System.Data;
+using Library;
+using LitJson;
+using System.Collections.Generic;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class LeaderCompPrizeHelper
+    {
+        public readonly static LeaderCompPrizeHelper Instance = new LeaderCompPrizeHelper();
+        private LeaderCompPrizeHelper()
+        {
+        }
+
+        public void Start()//启动
+        {
+            Thread thread = new Thread(Listen);
+            thread.IsBackground = true;
+            thread.Start();
+        }
+
+        public void Listen()//启动
+        {
+            while(true)
+            {
+                if(DateTime.Now.Hour > 0 && DateTime.Now.Hour < 23)
+                {
+                    
+                    string check = function.ReadInstance("/LeaderComp/" + DateTime.Now.ToString("yyyyMMdd") + ".txt");
+                    if(string.IsNullOrEmpty(check))
+                    {
+                        function.WritePage("/LeaderComp/", DateTime.Now.ToString("yyyyMMdd") + ".txt", DateTime.Now.ToString());
+                        // if(DateTime.Now.Day == 1)
+                        // {
+                        //     Ready(DateTime.Now.AddMonths(-1).ToString("yyyy-MM"));
+                        //     Thread.Sleep(2000);
+                        //     CustomerSqlConn.op("insert into LeaderCompTradeStatBak select * from LeaderCompTradeStat;insert into LeaderCompTmpBak select * from LeaderCompTmp;insert into LeaderCompPrizeBak select * from LeaderCompPrize;insert into LeaderCompAddTradeBak select * from LeaderCompAddTrade;", MysqlConn.SqlConnStr);
+                        // }
+                        // // Ready(DateTime.Now.ToString("yyyy-MM"));
+                        Ready(DateTime.Now.ToString("yyyyMM"));
+                    }
+                }
+                Thread.Sleep(60000);
+            }
+        }
+
+        public void Ready(string curMonth)
+        {
+            CustomerSqlConn.op("delete from LeaderCompTradeStat;delete from LeaderCompTmp;delete from LeaderCompPrize;delete from LeaderCompAddTrade;", MysqlConn.SqlConnStr);
+            // Thread.Sleep(10000);
+            // DateTime Start = DateTime.Parse("2023-06-01 00:00:00");
+            // DateTime now = DateTime.Parse(curMonth + "-01 00:00:00");
+            // while(now > Start)
+            // {
+            //     string month = now.ToString("yyyyMM");
+            //     string checkMonth = Start.ToString("yyyyMM");
+            //     doSomething(month, checkMonth);
+            //     now = now.AddMonths(-1);
+            // }
+            // now = DateTime.Parse(curMonth + "-01 00:00:00");
+            // while(now > Start)
+            // {
+            //     string month = now.ToString("yyyyMM");
+            //     string checkMonth = Start.ToString("yyyyMM");
+            //     SendPrize(month, checkMonth);
+            //     now = now.AddMonths(-1);
+            // }
+            doSomething(curMonth, curMonth);
+            SendPrize(curMonth, curMonth);
+        }
+
+        public void doSomething(string month, string checkMonth)
+        {
+            try
+            {
+                WebCMSEntities db = new WebCMSEntities();
+                OpModels.WebCMSEntities opdb = new OpModels.WebCMSEntities();
+                MpMainModels.WebCMSEntities mpmaindb = new MpMainModels.WebCMSEntities();
+                MpMainModels2.WebCMSEntities mpmaindb2 = new MpMainModels2.WebCMSEntities();
+                string MonthString = month + "-" + checkMonth;
+
+                //统计交易增量
+                function.WriteLog(DateTime.Now.ToString(), "领导人达标奖励日志");
+
+
+                
+                //创客团队交易额
+                string sql = "";
+                int num = 0;
+                DataTable dt = CustomerSqlConn.dtable("select UserId,sum(HelpNonDirectTradeAmt + NotHelpNonDirectTradeAmt + ProfitNonDirectTradeAmt + HelpNonDirectDebitTradeAmt + NotHelpNonDirectDebitTradeAmt + ProfitNonDirectDebitTradeAmt) Amt from TradeDaySummary where Id>=15055757 and TradeMonth='" + month + "' and SeoTitle='team' and UserId>0 group by UserId", MysqlConn.ReadSqlConnStr);
+                foreach(DataRow dr in dt.Rows)
+                {
+                    int UserId = int.Parse(dr["UserId"].ToString());
+                    decimal TradeAmount = decimal.Parse(dr["Amt"].ToString());
+                    //码牌团队交易额(直联)
+                    bool check = mpmaindb.UserAmountSummary.Any(m => m.UserId == UserId && m.TradeMonth == month && m.SeoTitle == "team" && m.IsAct == 1);
+                    if (check)
+                    {
+                        TradeAmount += mpmaindb.UserAmountSummary.Where(m => m.UserId == UserId && m.TradeMonth == month && m.SeoTitle == "team" && m.IsAct == 1).Sum(m => m.TotalAmount) * 4;
+                    }
+                    check = mpmaindb.UserAmountSummary.Any(m => m.UserId == UserId && m.TradeMonth == month && m.SeoTitle == "team" && m.IsAct == 1);
+                    if (check)
+                    {
+                        TradeAmount += mpmaindb.UserAmountSummary.Where(m => m.UserId == UserId && m.TradeMonth == month && m.SeoTitle == "team" && m.IsAct == 1).Sum(m => m.TotalAmount);
+                    }
+                    //码牌团队交易额(银联)
+                    check = mpmaindb2.UserAmountSummary.Any(m => m.UserId == UserId && m.TradeMonth == month && m.SeoTitle == "team" && m.IsAct == 1);
+                    if (check)
+                    {
+                        TradeAmount += mpmaindb2.UserAmountSummary.Where(m => m.UserId == UserId && m.TradeMonth == month && m.SeoTitle == "team" && m.IsAct == 1).Sum(m => m.TotalAmount) * 4;
+                    }
+                    check = mpmaindb2.UserAmountSummary.Any(m => m.UserId == UserId && m.TradeMonth == month && m.SeoTitle == "team" && m.IsAct == 1);
+                    if (check)
+                    {
+                        TradeAmount += mpmaindb2.UserAmountSummary.Where(m => m.UserId == UserId && m.TradeMonth == month && m.SeoTitle == "team" && m.IsAct == 1).Sum(m => m.TotalAmount);
+                    }
+                    //广电卡扶持期按1万/张计入职级
+                    check = db.UserTradeMonthSummary.Any(m => m.UserId == UserId && m.TradeMonth == month && m.SeoTitle == "team" && m.BrandId == 14);
+                    if (check)
+                    {
+                        TradeAmount += db.UserTradeMonthSummary.Where(m => m.UserId == UserId && m.TradeMonth == month && m.SeoTitle == "team" && m.BrandId == 14).Sum(m => m.ActiveBuddyMerStatus) * 10000;
+                    }
+                    sql += "insert into LeaderCompTradeStat (CreateDate,UserId,StatMonth,TradeAmount) values (now(), " + UserId + ", '" + month + "-" + checkMonth + "', " + TradeAmount + ");\n";
+                    num += 1;
+                    if(num >= 200)
+                    {
+                        CustomerSqlConn.op(sql, MysqlConn.SqlConnStr);
+                        sql = "";
+                        num = 0;
+                    }
+                }
+
+
+                // DataTable dt = CustomerSqlConn.dtable("select CONCAT('insert into LeaderCompTradeStat (CreateDate,UserId,StatMonth,TradeAmount,SelfTradeAmount,CheckTradeAmount,CheckSelfTradeAmount) values (now(),', UserId,',\\\'" + month + "-" + checkMonth + "\\\',', amt" + month + ",',', samt" + month + ",',', amt" + checkMonth + ",',', samt" + checkMonth + ",');') from (select UserId,(case when amt" + month + " is null then 0 else amt" + month + " end) amt" + month + ",(case when samt" + month + " is null then 0 else samt" + month + " end) samt" + month + ",(case when amt" + checkMonth + " is null then 0 else amt" + checkMonth + " end) amt" + checkMonth + ",(case when samt" + checkMonth + " is null then 0 else samt" + checkMonth + " end) samt" + checkMonth + " from (select UserId,sum(HelpNonDirectTradeAmt + NotHelpNonDirectTradeAmt + ProfitNonDirectTradeAmt + HelpNonDirectDebitTradeAmt + NotHelpNonDirectDebitTradeAmt + ProfitNonDirectDebitTradeAmt) amt" + month + ",(select sum(HelpNonDirectTradeAmt + NotHelpNonDirectTradeAmt + ProfitNonDirectTradeAmt + HelpNonDirectDebitTradeAmt + NotHelpNonDirectDebitTradeAmt + ProfitNonDirectDebitTradeAmt) from TradeDaySummary" + checkMonth + " where SeoTitle='team' and UserId=main.UserId) amt" + checkMonth + ",(select sum(HelpDirectTradeAmt + NotHelpDirectTradeAmt + ProfitDirectTradeAmt + HelpDirectDebitTradeAmt + NotHelpDirectDebitTradeAmt + ProfitDirectDebitTradeAmt) from TradeDaySummary" + month + " where SeoTitle='self' and UserId=main.UserId) samt" + month + ",(select sum(HelpDirectTradeAmt + NotHelpDirectTradeAmt + ProfitDirectTradeAmt + HelpDirectDebitTradeAmt + NotHelpDirectDebitTradeAmt + ProfitDirectDebitTradeAmt) from TradeDaySummary" + checkMonth + " where SeoTitle='self' and UserId=main.UserId) samt" + checkMonth + " from TradeDaySummary" + month + " main where SeoTitle='team' and UserId>0 group by UserId) tb) tb2", MysqlConn.RdsStatSqlConnStr);
+
+
+                if(!string.IsNullOrEmpty(sql))
+                {
+                    CustomerSqlConn.op(sql, MysqlConn.SqlConnStr);
+                }
+                CustomerSqlConn.op("update LeaderCompTradeStat leader set ParentUserId=case when (select ParentUserId from Users where Id=leader.UserId) is null then 0 else (select ParentUserId from Users where Id=leader.UserId) end,ParentNav=(select ParentNav from Users where Id=leader.UserId) where StatMonth='" + MonthString + "' and UserId>1", MysqlConn.SqlConnStr);
+
+                function.WriteLog("start-----" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "领导人达标奖励日志");
+
+                //计算创客名下的达标人数,直推和间接
+                function.WriteLog("MonthString:" + MonthString, "领导人达标奖励日志");
+                
+                // DataTable stats = CustomerSqlConn.dtable("select SelfTradeAmount-CheckSelfTradeAmount from LeaderCompTradeStat p where StatMonth='" + MonthString + "'", MysqlConn.SqlConnStr);
+
+                List<LeaderCompTradeStat> stats = db.LeaderCompTradeStat.Where(m => m.StatMonth == MonthString).ToList();
+                function.WriteLog(stats.Count.ToString(), "领导人达标奖励日志");
+                foreach(LeaderCompTradeStat stat in stats)
+                {
+                    function.WriteLog("1-----" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "领导人达标奖励日志");
+                    decimal totalAmount = stat.TradeAmount; // - stat.CheckSelfTradeAmount; //当月交易
+                    // List<LeaderCompTradeStat> directs = stats.Where(m => m.ParentUserId == stat.UserId).ToList();
+                    // foreach(LeaderCompTradeStat direct in directs)
+                    // {
+                    //     decimal parentTotalAmount = direct.TradeAmount - direct.CheckTradeAmount;
+                    //     if(parentTotalAmount < 30000000)
+                    //     {
+                    //         totalAmount += parentTotalAmount;
+                    //     }
+                    // }
+                    // DataTable directs = CustomerSqlConn.dtable("select sum(TradeAmount) from LeaderCompTradeStat where ParentUserId=" + stat.UserId + " and StatMonth='" + MonthString + "' and TradeAmount<30000000", MysqlConn.SqlConnStr);
+                    // function.WriteLog("2-----" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "领导人达标奖励日志");
+                    // if(directs.Rows.Count > 0)
+                    // {
+                    //     totalAmount += decimal.Parse(function.CheckNum(directs.Rows[0][0].ToString()));
+                    // }
+
+                    function.WriteLog("UserId:" + stat.UserId, "领导人达标奖励日志");
+                    function.WriteLog("totalAmount:" + totalAmount, "领导人达标奖励日志");
+                    function.WriteLog("3-----" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "领导人达标奖励日志");
+                    LeaderCompTradeStat statEdit = db.LeaderCompTradeStat.FirstOrDefault(m => m.UserId == stat.UserId && m.StatMonth == MonthString);
+                    if(statEdit != null)
+                    {
+                        statEdit.ResultTradeAmount = totalAmount;
+                        // db.SaveChanges();
+                    }
+                    if(totalAmount >= 30000000 && !string.IsNullOrEmpty(stat.ParentNav))
+                    {
+                        function.WriteLog("4-----" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "领导人达标奖励日志");
+                        LeaderCompTmp tmp = db.LeaderCompTmp.FirstOrDefault(m => m.Id == stat.UserId);
+                        if(tmp == null)
+                        {
+                            tmp = db.LeaderCompTmp.Add(new LeaderCompTmp()
+                            {
+                                Id = stat.UserId,
+                                ParentUserId = stat.ParentUserId,
+                                ParentNav = stat.ParentNav
+                            }).Entity;
+                            db.SaveChanges();
+                        }
+                        Dictionary<string, object> EveryMonthData = new Dictionary<string, object>();
+                        if(!string.IsNullOrEmpty(tmp.EveryMonthData))
+                        {
+                            EveryMonthData = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, object>>(tmp.EveryMonthData);
+                        }
+                        if(!EveryMonthData.ContainsKey(MonthString))
+                        {
+                            EveryMonthData.Add(MonthString, 1);
+                        }
+                        else
+                        {
+                            EveryMonthData[MonthString] = 1;
+                        }
+                        tmp.EveryMonthData = Newtonsoft.Json.JsonConvert.SerializeObject(EveryMonthData);
+                        db.SaveChanges();
+                        function.WriteLog("5-----" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "领导人达标奖励日志");
+                        string[] parents = stat.ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                        Array.Reverse(parents);
+                        int index = 0;
+                        foreach(string parent in parents)
+                        {
+                            index += 1;
+                            int ParentUserId = int.Parse(function.CheckInt(parent));
+                            LeaderCompPrize prize = db.LeaderCompPrize.FirstOrDefault(m => m.UserId == ParentUserId && m.StatMonth == MonthString);
+                            if(prize == null)
+                            {
+                                Users user = db.Users.FirstOrDefault(m => m.Id == ParentUserId) ?? new Users();
+                                prize = db.LeaderCompPrize.Add(new LeaderCompPrize()
+                                {
+                                    CreateDate = DateTime.Now,
+                                    UserId = ParentUserId,
+                                    ParentUserId = user.ParentUserId,
+                                    ParentNav = user.ParentNav,
+                                    StatMonth = MonthString,
+                                }).Entity;
+                                db.SaveChanges();
+                            }
+                            if(index == 1)
+                            {
+                                prize.DirectCount += 1;
+                            }
+                            else
+                            {
+                                prize.NotDirectCount += 1;
+                            }
+                            db.SaveChanges();
+                        }
+                        function.WriteLog("6-----" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "领导人达标奖励日志");
+                    }
+                    // LeaderCompAddTrade addTrade = db.LeaderCompAddTrade.FirstOrDefault(m => m.UserId == stat.UserId && m.StatMonth == MonthString);
+                    // if(addTrade == null)
+                    // {
+                    //     addTrade = db.LeaderCompAddTrade.Add(new LeaderCompAddTrade()
+                    //     {
+                    //         CreateDate = DateTime.Now,
+                    //         UserId = stat.UserId,
+                    //         StatMonth = MonthString,
+                    //     }).Entity;
+                    //     db.SaveChanges();
+                    // }
+                    // addTrade.AddTradeAmount = totalAmount < 0 ? 0 : totalAmount;
+                    // db.SaveChanges();
+                    function.WriteLog("7-----" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "领导人达标奖励日志");
+                    function.WriteLog(DateTime.Now.ToString() + "------" + stat.UserId, "领导人达标奖励日志");
+                }
+                db.SaveChanges();
+                opdb.Dispose();
+                mpmaindb.Dispose();
+                mpmaindb2.Dispose();
+                function.WriteLog(DateTime.Now.ToString(), "领导人达标奖励日志");
+                
+                CustomerSqlConn.op("insert into LeaderCompAddTrade (UserId,StatMonth,CreateDate,AddTradeAmount) select UserId,StatMonth,now(),ResultTradeAmount from LeaderCompTradeStat where ResultTradeAmount>0 and StatMonth='" + MonthString + "'", MysqlConn.SqlConnStr);
+                
+                CustomerSqlConn.op("update LeaderCompTradeStat set ResultTradeAmount=0 where ResultTradeAmount<30000000 and StatMonth='" + MonthString + "'", MysqlConn.SqlConnStr);
+            }
+            catch(Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "领导达标人奖励异常");
+            }
+        }
+
+        private void SendPrize(string month, string checkDate)
+        {
+            string MonthFlag = month + "-" + checkDate;
+            function.WriteLog("发放奖励" + MonthFlag, "领导人达标奖励日志");
+            WebCMSEntities db = new WebCMSEntities();
+            OpModels.WebCMSEntities opdb = new OpModels.WebCMSEntities();
+            //计算运营中心或大盟主达标奖励
+            List<LeaderCompPrize> leaderPrizes = db.LeaderCompPrize.Where(m => m.StatMonth == MonthFlag).ToList();
+            function.WriteLog(leaderPrizes.Count.ToString(), "领导人达标奖励日志");
+            foreach(LeaderCompPrize leaderPrize in leaderPrizes)
+            {
+                function.WriteLog("发放人" + leaderPrize.UserId, "领导人达标奖励日志");
+                Users user = db.Users.FirstOrDefault(m => m.Id == leaderPrize.UserId) ?? new Users();
+                // if(user.UserType == 1)
+                // {
+                //     OpModels.SysAdmin opSys = opdb.SysAdmin.FirstOrDefault(m => m.UserId == user.Id);
+                //     if(opSys != null)
+                //     {
+                //         checkDate = opSys.CreateDate.Value.AddMonths(-1).ToString("yyyyMM");
+                //     }
+                // }
+                // else if(user.LeaderLevel == 2)
+                // {
+                //     Leaders leader = db.Leaders.FirstOrDefault(m => m.Id == user.Id);
+                //     if(leader != null)
+                //     {
+                //         checkDate = leader.LastBuyDate.Value.AddMonths(-1).ToString("yyyyMM");
+                //     }
+                // }
+                string CheckJson = "\"" + MonthFlag + "\":1";
+                function.WriteLog("CheckJson:" + CheckJson, "领导人达标奖励日志");
+                string NavUserId = "," + user.Id + ",";
+                int person = 0;
+                int directPerson = 0;
+                int totalPerson = db.LeaderCompTmp.Count(m => (m.ParentNav.Contains(NavUserId)) && m.EveryMonthData.Contains(CheckJson));
+                var subusers = db.Users.Select(m => new { m.Id, m.ParentUserId }).Where(m => m.ParentUserId == user.Id).ToList();
+                foreach(var subuser in subusers)
+                {
+                    string subNavUserId = "," + subuser.Id + ",";
+                    function.WriteLog("------subNavUserId:" + subNavUserId, "领导人达标奖励日志");
+                    if(db.LeaderCompTmp.Count(m => (m.ParentNav.Contains(subNavUserId) || m.Id == subuser.Id) && m.EveryMonthData.Contains(CheckJson)) > 0)
+                    {
+                        person += 1;
+                    }
+                    if(db.LeaderCompTmp.Any(m => m.Id == subuser.Id && m.EveryMonthData.Contains(CheckJson)))
+                    {
+                        directPerson += 1;
+                    }
+                }
+                function.WriteLog("directPerson:" + directPerson, "领导人达标奖励日志");
+                function.WriteLog("person" + person, "领导人达标奖励日志");
+                function.WriteLog("totalPerson" + totalPerson, "领导人达标奖励日志");
+
+                int maxPerson = person * person;
+                decimal CompPrize = 0;
+                if(totalPerson >= maxPerson)
+                {
+                    CompPrize = GetPrize(maxPerson - person, person);
+                }
+                else
+                {
+                    CompPrize = GetPrize(totalPerson - person, person);
+                }
+
+                LeaderCompPrize edit = db.LeaderCompPrize.FirstOrDefault(m => m.StatMonth == MonthFlag && m.UserId == leaderPrize.UserId);
+                if(edit != null)
+                {
+                    edit.DirectCount = directPerson;
+                    edit.NotDirectCount = totalPerson - person;
+                    edit.SecDirectCount = person;
+                    edit.CompPrize = CompPrize;
+                    function.WriteLog("已设置", "领导人达标奖励日志");
+                }
+                db.SaveChanges();
+            }
+            function.WriteLog(DateTime.Now.ToString(), "领导人达标奖励日志");
+            db.Dispose();
+            opdb.Dispose();
+        }
+
+        private decimal GetPrize(int count, int direct)
+        {
+            decimal prize = 0;
+            // if (count + direct >= 30)
+            // {
+            //     prize = 3000 * (count + direct * 2);
+            // }
+            // else if (count + direct >= 25)
+            // {
+            //     prize = 2500 * (count + direct * 2);
+            // }
+            // else if (count + direct >= 20)
+            // {
+            //     prize = 2000 * (count + direct * 2);
+            // }
+            // else if (count + direct >= 15)
+            // {
+            //     prize = 1500 * (count + direct * 2);
+            // }
+            // else if (count + direct >= 10)
+            // {
+            //     prize = 1000 * (count + direct * 2);
+            // }
+            // else if (count + direct >= 5)
+            // {
+            //     prize = 500 * (count + direct * 2);
+            // }
+            prize = 500 * count;
+            return prize;
+        }
+    
+    
+    
+    
+    
+    
+    
+    
+    
+        public void doEverday(string month, string checkMonth)
+        {
+            try
+            {
+                WebCMSEntities db = new WebCMSEntities();
+                OpModels.WebCMSEntities opdb = new OpModels.WebCMSEntities();
+                string MonthString = month + "-" + checkMonth;
+
+                //统计交易增量
+                function.WriteLog(DateTime.Now.ToString(), "领导人达标奖励日志");
+                DataTable dt = CustomerSqlConn.dtable("select CONCAT('insert into LeaderCompTradeStatBak (CreateDate,UserId,StatMonth,TradeAmount,SelfTradeAmount,CheckTradeAmount,CheckSelfTradeAmount) values (now(),', UserId,',\\\'" + month + "-" + checkMonth + "\\\',', amt" + month + ",',', samt" + month + ",',', amt" + checkMonth + ",',', samt" + checkMonth + ",');') from (select UserId,(case when amt" + month + " is null then 0 else amt" + month + " end) amt" + month + ",(case when samt" + month + " is null then 0 else samt" + month + " end) samt" + month + ",(case when amt" + checkMonth + " is null then 0 else amt" + checkMonth + " end) amt" + checkMonth + ",(case when samt" + checkMonth + " is null then 0 else samt" + checkMonth + " end) samt" + checkMonth + " from (select UserId,sum(HelpNonDirectTradeAmt + NotHelpNonDirectTradeAmt + ProfitNonDirectTradeAmt + HelpNonDirectDebitTradeAmt + NotHelpNonDirectDebitTradeAmt + ProfitNonDirectDebitTradeAmt) amt" + month + ",(select sum(HelpNonDirectTradeAmt + NotHelpNonDirectTradeAmt + ProfitNonDirectTradeAmt + HelpNonDirectDebitTradeAmt + NotHelpNonDirectDebitTradeAmt + ProfitNonDirectDebitTradeAmt) from TradeDaySummary" + checkMonth + " where SeoTitle='team' and UserId=main.UserId) amt" + checkMonth + ",(select sum(HelpDirectTradeAmt + NotHelpDirectTradeAmt + ProfitDirectTradeAmt + HelpDirectDebitTradeAmt + NotHelpDirectDebitTradeAmt + ProfitDirectDebitTradeAmt) from TradeDaySummary" + month + " where SeoTitle='self' and UserId=main.UserId) samt" + month + ",(select sum(HelpDirectTradeAmt + NotHelpDirectTradeAmt + ProfitDirectTradeAmt + HelpDirectDebitTradeAmt + NotHelpDirectDebitTradeAmt + ProfitDirectDebitTradeAmt) from TradeDaySummary" + checkMonth + " where SeoTitle='self' and UserId=main.UserId) samt" + checkMonth + " from TradeDaySummary" + month + " main where SeoTitle='team' and UserId>0 group by UserId) tb) tb2", MysqlConn.RdsStatSqlConnStr);
+                string sql = "";
+                int num = 0;
+                foreach(DataRow dr in dt.Rows)
+                {
+                    sql += dr[0].ToString();
+                    num += 1;
+                    if(num >= 200)
+                    {
+                        CustomerSqlConn.op(sql, MysqlConn.SqlConnStr);
+                        sql = "";
+                        num = 0;
+                    }
+                }
+                if(!string.IsNullOrEmpty(sql))
+                {
+                    CustomerSqlConn.op(sql, MysqlConn.SqlConnStr);
+                }
+                CustomerSqlConn.op("update LeaderCompTradeStatBak leader set ParentUserId=case when (select ParentUserId from Users where Id=leader.UserId) is null then 0 else (select ParentUserId from Users where Id=leader.UserId) end,ParentNav=(select ParentNav from Users where Id=leader.UserId) where StatMonth='" + month + "-" + checkMonth + "' and UserId>1", MysqlConn.SqlConnStr);
+
+                function.WriteLog(DateTime.Now.ToString(), "领导人达标奖励日志");
+
+                //计算创客名下的达标人数,直推和间接
+                function.WriteLog("MonthString:" + MonthString, "领导人达标奖励日志");
+                List<LeaderCompTradeStatBak> stats = db.LeaderCompTradeStatBak.Where(m => m.StatMonth == MonthString).ToList();
+                function.WriteLog(stats.Count.ToString(), "领导人达标奖励日志");
+                foreach(LeaderCompTradeStatBak stat in stats)
+                {
+                    decimal totalAmount = stat.SelfTradeAmount - stat.CheckSelfTradeAmount; //当月交易
+                    List<LeaderCompTradeStatBak> directs = stats.Where(m => m.ParentUserId == stat.UserId).ToList();
+                    foreach(LeaderCompTradeStatBak direct in directs)
+                    {
+                        decimal parentTotalAmount = direct.TradeAmount - direct.CheckTradeAmount;
+                        if(parentTotalAmount < 30000000)
+                        {
+                            totalAmount += parentTotalAmount;
+                        }
+                    }
+                    function.WriteLog("UserId:" + stat.UserId, "领导人达标奖励日志");
+                    function.WriteLog("totalAmount:" + totalAmount, "领导人达标奖励日志");
+                    if(totalAmount >= 30000000 && !string.IsNullOrEmpty(stat.ParentNav))
+                    {
+                        LeaderCompTradeStatBak statEdit = db.LeaderCompTradeStatBak.FirstOrDefault(m => m.UserId == stat.UserId && m.StatMonth == MonthString);
+                        if(statEdit != null)
+                        {
+                            statEdit.ResultTradeAmount = totalAmount;
+                            db.SaveChanges();
+                        }
+                        LeaderCompTmpBak tmp = db.LeaderCompTmpBak.FirstOrDefault(m => m.Id == stat.UserId);
+                        if(tmp == null)
+                        {
+                            tmp = db.LeaderCompTmpBak.Add(new LeaderCompTmpBak()
+                            {
+                                Id = stat.UserId,
+                                ParentUserId = stat.ParentUserId,
+                                ParentNav = stat.ParentNav
+                            }).Entity;
+                            db.SaveChanges();
+                        }
+                        Dictionary<string, object> EveryMonthData = new Dictionary<string, object>();
+                        if(!string.IsNullOrEmpty(tmp.EveryMonthData))
+                        {
+                            EveryMonthData = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, object>>(tmp.EveryMonthData);
+                        }
+                        if(!EveryMonthData.ContainsKey(MonthString))
+                        {
+                            EveryMonthData.Add(MonthString, 1);
+                        }
+                        else
+                        {
+                            EveryMonthData[MonthString] = 1;
+                        }
+                        tmp.EveryMonthData = Newtonsoft.Json.JsonConvert.SerializeObject(EveryMonthData);
+                        db.SaveChanges();
+                        string[] parents = stat.ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                        Array.Reverse(parents);
+                        int index = 0;
+                        foreach(string parent in parents)
+                        {
+                            index += 1;
+                            int ParentUserId = int.Parse(function.CheckInt(parent));
+                            LeaderCompPrizeBak prize = db.LeaderCompPrizeBak.FirstOrDefault(m => m.UserId == ParentUserId && m.StatMonth == MonthString);
+                            if(prize == null)
+                            {
+                                Users user = db.Users.FirstOrDefault(m => m.Id == ParentUserId) ?? new Users();
+                                prize = db.LeaderCompPrizeBak.Add(new LeaderCompPrizeBak()
+                                {
+                                    CreateDate = DateTime.Now,
+                                    UserId = ParentUserId,
+                                    ParentUserId = user.ParentUserId,
+                                    ParentNav = user.ParentNav,
+                                    StatMonth = MonthString,
+                                }).Entity;
+                                db.SaveChanges();
+                            }
+                            if(index == 1)
+                            {
+                                prize.DirectCount += 1;
+                            }
+                            else
+                            {
+                                prize.NotDirectCount += 1;
+                            }
+                            db.SaveChanges();
+                        }
+                    }
+                    function.WriteLog(DateTime.Now.ToString() + "------" + stat.UserId, "领导人达标奖励日志");
+                }
+                function.WriteLog(DateTime.Now.ToString(), "领导人达标奖励日志");
+                db.Dispose();
+            }
+            catch(Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "领导达标人奖励异常");
+            }
+        }
+
+        
+        private void SendPrizeEveryDay(string month, string checkDate)
+        {
+            string MonthFlag = month + "-" + checkDate;
+            WebCMSEntities db = new WebCMSEntities();
+            OpModels.WebCMSEntities opdb = new OpModels.WebCMSEntities();
+            //计算运营中心或大盟主达标奖励
+            List<LeaderCompPrizeBak> leaderPrizes = db.LeaderCompPrizeBak.Where(m => m.StatMonth == MonthFlag).ToList();
+            function.WriteLog(leaderPrizes.Count.ToString(), "领导人达标奖励日志");
+            foreach(LeaderCompPrizeBak leaderPrize in leaderPrizes)
+            {
+                Users user = db.Users.FirstOrDefault(m => m.Id == leaderPrize.UserId) ?? new Users();
+                string CheckJson = "\"" + MonthFlag + "\":1";
+                string NavUserId = "," + user.Id + ",";
+                int person = 0;
+                int directPerson = 0;
+                int totalPerson = db.LeaderCompTmpBak.Count(m => (m.ParentNav.Contains(NavUserId)) && m.EveryMonthData.Contains(CheckJson));
+                var subusers = db.Users.Select(m => new { m.Id, m.ParentUserId }).Where(m => m.ParentUserId == user.Id).ToList();
+                foreach(var subuser in subusers)
+                {
+                    string subNavUserId = "," + subuser.Id + ",";
+                    if(db.LeaderCompTmpBak.Count(m => (m.ParentNav.Contains(subNavUserId) || m.Id == subuser.Id) && m.EveryMonthData.Contains(CheckJson)) > 0)
+                    {
+                        person += 1;
+                    }
+                    if(db.LeaderCompTmpBak.Any(m => m.Id == subuser.Id && m.EveryMonthData.Contains(CheckJson)))
+                    {
+                        directPerson += 1;
+                    }
+                }
+
+                int maxPerson = person * person;
+                decimal CompPrize = 0;
+                if(totalPerson >= maxPerson)
+                {
+                    CompPrize = GetPrize(maxPerson - person, person);
+                }
+                else
+                {
+                    CompPrize = GetPrize(totalPerson - person, person);
+                }
+
+                LeaderCompPrizeBak edit = db.LeaderCompPrizeBak.FirstOrDefault(m => m.StatMonth == MonthFlag && m.UserId == leaderPrize.UserId);
+                if(edit != null)
+                {
+                    edit.DirectCount = directPerson;
+                    edit.NotDirectCount = totalPerson - person;
+                    edit.SecDirectCount = person;
+                    edit.CompPrize = CompPrize;
+                }
+                db.SaveChanges();
+            }
+            function.WriteLog(DateTime.Now.ToString(), "领导人达标奖励日志");
+            db.Dispose();
+            opdb.Dispose();
+        }
+
+    
+    }
+}

+ 95 - 0
AppStart/Helper/LeaderPrizeService.cs

@@ -0,0 +1,95 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class LeaderPrizeService
+    {
+        public readonly static LeaderPrizeService Instance = new LeaderPrizeService();
+        private LeaderPrizeService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void dosomething()
+        {
+            while (true)
+            {
+                string data = RedisDbconn.Instance.RPop<string>("LeaderPrizeQueue");
+                if (!string.IsNullOrEmpty(data))
+                {
+                    try
+                    {
+                        int PosId = int.Parse(function.CheckInt(data));
+                        WebCMSEntities db = new WebCMSEntities();
+                        PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId);
+                        if (pos != null)
+                        {
+                            decimal ChangeAmount = 10;
+                            if(pos.BrandId == 14)
+                            {
+                                ChangeAmount = 19 * 0.15M;
+                            }
+                            int LeaderUserId = pos.LeaderUserId;
+                            UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == LeaderUserId);
+                            if (account == null)
+                            {
+                                account = db.UserAccount.Add(new UserAccount()
+                                {
+                                    Id = LeaderUserId,
+                                    UserId = LeaderUserId,
+                                }).Entity;
+                                db.SaveChanges();
+                            }
+                            decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                            decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                            decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                            account.BalanceAmount += ChangeAmount;
+                            account.TotalAmount += ChangeAmount;
+                            decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                            decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                            decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                            UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                            {
+                                CreateDate = DateTime.Now,
+                                UpdateDate = DateTime.Now,
+                                UserId = LeaderUserId, //创客
+                                ChangeType = 116, //变动类型
+                                ChangeAmount = ChangeAmount, //变更金额
+                                BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                QueryCount = PosId,
+                            }).Entity;
+                            db.SaveChanges();
+                        }
+                        db.Dispose();
+                    }
+                    catch (Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "大盟主奖励异常");
+                    }
+                    Thread.Sleep(100);
+                }
+                else
+                {
+                    Thread.Sleep(60000);
+                }
+            }
+        }
+    }
+}

+ 115 - 0
AppStart/Helper/LeaderTimeoutSendMessageService.cs

@@ -0,0 +1,115 @@
+using System;
+using System.Collections.Generic;
+using System.Threading;
+using System.Linq;
+using System.Data;
+using MySystem;
+using MySystem.Models;
+using Library;
+using LitJson;
+using GraphQL;
+/// <summary>
+/// 盟主过期消息推送
+/// </summary>
+public class LeaderTimeoutSendMessageService
+{
+    public readonly static LeaderTimeoutSendMessageService Instance = new LeaderTimeoutSendMessageService();
+    private LeaderTimeoutSendMessageService()
+    {
+    }
+
+    public void Start()
+    {
+        Thread th = new Thread(doSomething);
+        th.IsBackground = true;
+        th.Start();
+    }
+
+    private void doSomething()
+    {
+        while (true)
+        {
+            if (DateTime.Now.Hour < 9)
+            {
+                try
+                {
+                    string check = function.ReadInstance("/LeaderTimeoutSendMessage/check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt");
+                    if (string.IsNullOrEmpty(check))
+                    {
+                        function.WritePage("/LeaderTimeoutSendMessage/", "check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", DateTime.Now.ToString("HH:mm:ss"));
+                        WebCMSEntities db = new WebCMSEntities();
+                        var leaders = db.Leaders.Select(m => new { m.UserId, m.ExpiredDate }).ToList();
+                        var time = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
+                        foreach (var item in leaders)
+                        {
+                            var user = db.Users.FirstOrDefault(m => m.Id == item.UserId) ?? new Users();
+                            var leaderTimeOutDate = DateTime.Parse(item.ExpiredDate.Value.ToString("yyyy-MM-dd"));
+                            var day = leaderTimeOutDate - time;
+                            if (time >= leaderTimeOutDate.AddDays(-5) && time <= leaderTimeOutDate)
+                            {
+                                string flag = RedisDbconn.Instance.Get<string>("MsgPersonalFirst" + item.UserId);
+                                if(string.IsNullOrEmpty(flag))
+                                {
+                                    RedisDbconn.Instance.Set("MsgPersonalFirst" + item.UserId, "1");
+                                    int timespan = 60 * 60 * 24 * 6;
+                                    RedisDbconn.Instance.SetExpire("MsgPersonalFirst" + item.UserId, timespan);
+                                    RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+                                    {
+                                        UserId = item.UserId, //创客
+                                        Title = "盟主权益即将到期提醒", //标题
+                                        Content = "<div class='f16'>尊敬的" + user.RealName + "盟主您好:<br/>您的盟主权益将在" + day.Days + "天后到期,为保障您的收益持续到账,请尽快续期!</ div > ",//内容
+                                        CreateDate = DateTime.Now,
+                                    }));
+                                }
+                            }
+                            if (time > leaderTimeOutDate && time <= leaderTimeOutDate.AddMonths(1))
+                            {
+                                int number = 1; //提示标记(第几次)
+                                int timespan = 60 * 60 * 24 * 8;
+                                TimeSpan ts = time - leaderTimeOutDate;
+                                if(ts.Days == 0 || ts.Days == 1) 
+                                {
+                                    number = 1;
+                                    timespan = 60 * 60 * 24 * 8;
+                                }
+                                if(ts.Days == 7 || ts.Days == 8) 
+                                {
+                                    number = 2;
+                                    timespan = 60 * 60 * 24 * 8;
+                                }
+                                if(ts.Days == 14 || ts.Days == 15) 
+                                {
+                                    number = 3;
+                                    timespan = 60 * 60 * 24 * 15;
+                                }
+                                if(ts.Days == 28 || ts.Days == 29) 
+                                {
+                                    number = 4;
+                                    timespan = 60 * 60 * 24 * 5;
+                                }
+                                string flag = RedisDbconn.Instance.Get<string>("MsgPersonalAfter:" + number + ":" + item.UserId);
+                                if(string.IsNullOrEmpty(flag))
+                                {
+                                    RedisDbconn.Instance.Set("MsgPersonalAfter:" + number + ":" + item.UserId, "1");
+                                    RedisDbconn.Instance.SetExpire("MsgPersonalAfter:" + number + ":" + item.UserId, timespan);
+                                    RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+                                    {
+                                        UserId = item.UserId, //创客
+                                        Title = "盟主权益到期提醒", //标题
+                                        Content = "<div class='f16'>尊敬的" + user.RealName + "盟主您好:<br/>您的盟主已经过期,重新开通后可恢复相关权益!</ div > ",//内容
+                                        CreateDate = DateTime.Now,
+                                    }));
+                                }
+                            }
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "盟主过期消息推送线程异常");
+                }
+            }
+            Thread.Sleep(1000);
+        }
+    }
+}

+ 163 - 0
AppStart/Helper/MakeReferenceQrCodeService.cs

@@ -0,0 +1,163 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+using System.Drawing.Imaging;
+using System.Drawing;
+
+namespace MySystem
+{
+    public class MakeReferenceQrCodeService
+    {
+        public readonly static MakeReferenceQrCodeService Instance = new MakeReferenceQrCodeService();
+        private MakeReferenceQrCodeService()
+        { }
+
+        public void StartListen()
+        {
+            Thread th = new Thread(Loop);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        private void Loop()
+        { 
+            bool op = true;
+            while (op)
+            {
+                string content = RedisDbconn.Instance.RPop<string>("MakeReferenceQrCode");
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Start(content);
+                }
+                else
+                {
+                    Thread.Sleep(5000);
+                }
+            }
+        }
+
+        public void Start(string uid)
+        {
+            try
+            {
+                int UserId = int.Parse(function.CheckInt(uid));
+                if (UserId > 0)
+                {
+                    WebCMSEntities db = new WebCMSEntities();
+                    Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
+                    if (user != null)
+                    {
+                        string resultpath = MergeQrCode(user);
+                        user.ReferenceQrCode = resultpath;
+                        db.SaveChanges();
+                        PxcModels.WebCMSEntities pxcdb = new PxcModels.WebCMSEntities();
+                        PxcModels.Users tmpuser = pxcdb.Users.FirstOrDefault(m => m.Id == UserId);
+                        if (tmpuser != null)
+                        {
+                            tmpuser.ReferenceQrCode = user.ReferenceQrCode;
+                            pxcdb.SaveChanges();
+                        }
+                        pxcdb.Dispose();
+                    }
+                    db.Dispose();
+                }
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public_service");
+            }
+        }
+        public string MergeQrCode(Users user, int pid = 0)
+        {
+            string BgPic = "QrCodeBg.png";
+            if (pid > 0)
+            {
+                BgPic = "QrCodeBg" + pid + ".png";
+            }
+            string path = function.CreateQRCode2(ConfigurationManager.AppSettings["SourceHost"].ToString() + "p/user-inviteregist-1?Id=" + user.Id, function.MD5_16(user.Id.ToString() + "9527"), "/bsserver_com/static/ReferenceQrCode/");
+            path = path.Replace("//", "/");
+            string resultpath = "/bsserver_com/static/ReferenceQrCode/" + function.MD5_16(user.Id.ToString() + "9527") + "Pic.png";
+            MakeQRCode(function.getPath("/static/" + BgPic), function.getPath(path), function.getPath(resultpath), user, pid);
+            return resultpath.Replace("bsserver_com/", "");
+        }
+
+        public void MakeQRCode(string sourcepath, string qrcode, string resultpath, Users us, int pid = 0)
+        {
+            System.Drawing.Image image = System.Drawing.Image.FromFile(sourcepath);
+            System.Drawing.Image qrcodepic = System.Drawing.Image.FromFile(qrcode);
+            //获取图片宽高
+            int Width = image.Width;
+            int Height = image.Height;
+            //创建一个位图文件
+            Bitmap BitmapResult = new Bitmap(Width, Height, PixelFormat.Format24bppRgb);
+            //在位图文件上填充一个矩形框
+            Graphics Grp = Graphics.FromImage(BitmapResult);
+            System.Drawing.Rectangle Rec = new System.Drawing.Rectangle(0, 0, Width, Height);
+            //定义一个白色的画刷
+            // SolidBrush mySolidBrush = new SolidBrush(System.Drawing.Color.White);
+            //Grp.Clear(Color.White);
+            //将矩形框填充为白色
+            // Grp.FillRectangle(mySolidBrush, Rec);
+            //向矩形框内填充Img
+
+            Grp.DrawImage(image, 0, 0, Rec, GraphicsUnit.Pixel);
+            Grp.DrawImage(qrcodepic, 340, 605, 326, 326);
+
+            //写字
+            Font f = new Font("PingFang SC", 34);
+            Font f2 = new Font("PingFang SC", 30);
+            Color color = Color.FromArgb(255, 255, 255, 255);
+            if (pid > 0 && pid != 2)
+            { 
+                color = Color.FromArgb(255, 0, 0, 0);
+            }
+            Brush b = new SolidBrush(color);
+            Brush b2 = new SolidBrush(color);
+            StringFormat sf = new StringFormat();
+            sf.LineAlignment = StringAlignment.Center;
+            sf.Alignment = StringAlignment.Center;
+            Grp.DrawString(us.RealName, f, b, new RectangleF()
+            {
+                X = 0,
+                Y = 980,
+                Width = Width,
+                Height = 50,
+            }, sf);
+            Grp.DrawString("推荐码:" + us.MakerCode, f2, b2, new RectangleF()
+            {
+                X = 0,
+                Y = 1030,
+                Width = Width,
+                Height = 50,
+            }, sf);
+            //返回位图文件
+            ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Png);
+            System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality;
+            EncoderParameters myEncoderParameters = new EncoderParameters(1);
+            EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L);//这里的50L用来设置保存时的图片质量
+            myEncoderParameters.Param[0] = myEncoderParameter;
+            BitmapResult.Save(resultpath, jpgEncoder, myEncoderParameters);
+            image.Dispose();
+            qrcodepic.Dispose();
+            Grp.Dispose();
+            BitmapResult.Dispose();
+        }
+
+        private ImageCodecInfo GetEncoder(ImageFormat format)
+        {
+            ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
+            foreach (ImageCodecInfo codec in codecs)
+            {
+                if (codec.FormatID == format.Guid)
+                {
+                    return codec;
+                }
+            }
+            return null;
+        }
+    }
+}

+ 241 - 0
AppStart/Helper/MerchantConfirmService.cs

@@ -0,0 +1,241 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text.RegularExpressions;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class MerchantConfirmService
+    {
+        public readonly static MerchantConfirmService Instance = new MerchantConfirmService();
+        private MerchantConfirmService()
+        { }
+
+        public void Start(string MerchantIdString, int Kind = 0)
+        {
+            try
+            {
+                int MerchantId = int.Parse(function.CheckInt(MerchantIdString));
+                PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
+                PxcModels.MerchantAddInfo AddInfo = db.MerchantAddInfo.FirstOrDefault(m => m.Id == MerchantId);
+                PxcModels.MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == MerchantId);
+                if (AddInfo != null && merchant != null)
+                {
+                    string BusinessCode = AddInfo.BusinessCode;
+                    if (string.IsNullOrEmpty(BusinessCode))
+                    { 
+                        BusinessCode = "KXS" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(5);
+                        AddInfo.BusinessCode = BusinessCode;
+                    }
+                    merchant.LoginPwd = function.MD532(AddInfo.MobilePhone.Substring(5));
+                    PxcModels.MerchantParamSet query = db.MerchantParamSet.FirstOrDefault(m => m.Id == MerchantId);
+                    if (query == null)
+                    {
+                        query = new PxcModels.MerchantParamSet();
+                        query.IsAll = 1;
+                        db.MerchantParamSet.Add(query);
+                        db.SaveChanges();
+                        RedisDbconn.Instance.Set("MerchantParamSet:" + MerchantId, query);
+                    }
+                    PxcModels.MerchantForMobile merchantForMobile = db.MerchantForMobile.FirstOrDefault(m => m.Mobile == AddInfo.MobilePhone);
+                    if (merchantForMobile == null)
+                    {
+                        merchantForMobile = db.MerchantForMobile.Add(new PxcModels.MerchantForMobile()
+                        {
+                            Mobile = AddInfo.MobilePhone,
+                        }).Entity;
+                        db.SaveChanges();
+                    }
+                    merchantForMobile.MerchantId = MerchantId;
+                    db.SaveChanges();
+                    List<MerchantInfo> merchants = RedisDbconn.Instance.GetList<MerchantInfo>("MerchantList:" + merchant.UserId, 1, 10000000);
+
+                    //微信
+                    if (Kind == 0 || Kind == 2)
+                    {
+                        string result = new WeChatFunction().MerchantCreate(AddInfo, merchant);
+                        if (result.Contains("\"applyment_id\":"))
+                        {
+                            JsonData jsonObj = JsonMapper.ToObject(result);
+                            AddInfo.ApplymentId = jsonObj["applyment_id"].ToString();
+                            AddInfo.Status = 0;
+                            db.SaveChanges();
+                            List<MerchantSign> signs = RedisDbconn.Instance.GetList<MerchantSign>("MerchantSignList", 1, 10000000);
+                            bool op = signs.Any(m => m.BusinessCode == BusinessCode);
+                            if (!op)
+                            {
+                                RedisDbconn.Instance.AddList("WeChatSignList", new MerchantSign()
+                                {
+                                    BusinessCode = BusinessCode,
+                                    MerchantAddInfoId = MerchantId,
+                                    Status = ""
+                                });
+                            }
+                            signs.Clear();
+                            if (merchants.Any(m => m.Id == merchant.Id) == false)
+                            {
+                                RedisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
+                            }
+                            else
+                            {
+                                PxcModels.MerchantAddInfo merchantAddInfo = RedisDbconn.Instance.Get<PxcModels.MerchantAddInfo>("MerchantAddInfo:" + MerchantId);
+                                if (merchantAddInfo != null)
+                                {
+                                    merchantAddInfo.ApplymentId = AddInfo.ApplymentId;
+                                    merchantAddInfo.Status = AddInfo.Status;
+                                    RedisDbconn.Instance.Set("MerchantAddInfo:" + MerchantId, merchantAddInfo);
+                                }
+                            }
+                        }
+                        else if (result.Contains("\"message\":"))
+                        {
+                            JsonData jsonObj = JsonMapper.ToObject(result);
+                            AddInfo.Status = -1;
+                            merchant.Status = -1;
+                            string Season = function.CheckNull(AddInfo.SeoDescription);
+                            if (string.IsNullOrEmpty(Season))
+                            {
+                                Season = "WeChat:" + jsonObj["message"].ToString() + ";";
+                            }
+                            else
+                            {
+                                Season = Regex.Replace(Season, "WeChat:.*?;", "");
+                                Season += "WeChat:" + jsonObj["message"].ToString() + ";";
+                            }
+                            AddInfo.SeoDescription = Season;
+                            db.SaveChanges();
+                            if (merchants.Any(m => m.Id == merchant.Id) == false)
+                            {
+                                RedisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
+                            }
+                            else
+                            {
+                                PxcModels.MerchantAddInfo merchantAddInfo = RedisDbconn.Instance.Get<PxcModels.MerchantAddInfo>("MerchantAddInfo:" + MerchantId);
+                                if (merchantAddInfo != null)
+                                {
+                                    merchantAddInfo.SeoDescription = AddInfo.SeoDescription;
+                                    merchantAddInfo.Status = AddInfo.Status;
+                                    RedisDbconn.Instance.Set("MerchantAddInfo:" + MerchantId, merchantAddInfo);
+                                }
+                            }
+                            List<MerchantSign> signs = RedisDbconn.Instance.GetList<MerchantSign>("WeChatSignList", 1, 10000000);
+                            MerchantSign sign = signs.FirstOrDefault(m => m.BusinessCode == BusinessCode);
+                            if (sign != null)
+                            {
+                                signs.Remove(sign);
+                                RedisDbconn.Instance.Clear("WeChatSignList");
+                                RedisDbconn.Instance.AddList("WeChatSignList", signs.ToArray());
+                            }
+                        }
+                    }
+
+                    //支付宝
+                    if (Kind == 0 || Kind == 1)
+                    {
+                        bool checkAlipay = true;
+                        string content = new AlipayFunction().GetBatchNo(AddInfo.CreateMan, AddInfo.IdCardName, AddInfo.MobilePhone, AddInfo.ContactEmail);
+                        JsonData json = JsonMapper.ToObject(content);
+                        if (json["alipay_open_agent_create_response"]["code"].ToString() == "10000")
+                        {
+                            string batch_no = json["alipay_open_agent_create_response"]["batch_no"].ToString();
+                            string Qualifications = AddInfo.Qualifications;
+                            if (!string.IsNullOrEmpty(Qualifications))
+                            {
+                                Qualifications = function.getPath("/bsserver_com" + Qualifications);
+                            }
+                            content = new AlipayFunction().CommonSign(batch_no, AddInfo.UpdateMan, AddInfo.LicenseNumber, function.getPath("/bsserver_com" + AddInfo.LicenseCopy), Qualifications);
+                            json = JsonMapper.ToObject(content);
+                            if (json["alipay_open_agent_common_sign_response"]["code"].ToString() == "10000")
+                            {
+                                content = new AlipayFunction().CommonSignConfirm(batch_no);
+                                json = JsonMapper.ToObject(content);
+                                if (json["alipay_open_agent_commonsign_confirm_response"]["code"].ToString() == "10000")
+                                {
+                                    AddInfo.QueryCount = 0;
+                                    AddInfo.SeoTitle = batch_no;
+                                    db.SaveChanges();
+                                    List<MerchantSign> signs = RedisDbconn.Instance.GetList<MerchantSign>("MerchantSignList", 1, 10000000);
+                                    bool op = signs.Any(m => m.BusinessCode == batch_no);
+                                    if (!op)
+                                    {
+                                        RedisDbconn.Instance.AddList("AlipaySignList", new MerchantSign()
+                                        {
+                                            BusinessCode = batch_no,
+                                            MerchantAddInfoId = MerchantId,
+                                            Status = ""
+                                        });
+                                    }
+                                    signs.Clear();
+                                    if (merchants.Any(m => m.Id == merchant.Id) == false)
+                                    {
+                                        RedisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
+                                    }
+                                }
+                                else
+                                {
+                                    checkAlipay = false;
+                                }
+                            }
+                            else
+                            {
+                                checkAlipay = false;
+                            }
+                        }
+                        else
+                        {
+                            checkAlipay = false;
+                        }
+                        if (!checkAlipay)
+                        {
+                            JsonData jsonObj = JsonMapper.ToObject(content);
+                            AddInfo.QueryCount = -1;
+                            merchant.Status = -1;
+                            string Season = function.CheckNull(AddInfo.SeoDescription);
+                            if (string.IsNullOrEmpty(Season))
+                            {
+                                Season = "Alipay:" + jsonObj["alipay_open_agent_create_response"]["sub_msg"].ToString() + ";";
+                            }
+                            else
+                            {
+                                Season = Regex.Replace(Season, "Alipay:.*?;", "");
+                                Season = "Alipay:" + jsonObj["alipay_open_agent_create_response"]["sub_msg"].ToString() + ";" + Season;
+                            }
+                            AddInfo.SeoDescription = Season;
+                            db.SaveChanges();
+                            if (merchants.Any(m => m.Id == merchant.Id) == false)
+                            {
+                                RedisDbconn.Instance.AddList("MerchantList:" + merchant.UserId, merchant);
+                            }
+                            else
+                            {
+                                PxcModels.MerchantAddInfo merchantAddInfo = RedisDbconn.Instance.Get<PxcModels.MerchantAddInfo>("MerchantAddInfo:" + MerchantId);
+                                if (merchantAddInfo != null)
+                                {
+                                    merchantAddInfo.SeoDescription = AddInfo.SeoDescription;
+                                    merchantAddInfo.QueryCount = AddInfo.QueryCount;
+                                    RedisDbconn.Instance.Set("MerchantAddInfo:" + MerchantId, merchantAddInfo);
+                                }
+                            }
+                            List<MerchantSign> signs = RedisDbconn.Instance.GetList<MerchantSign>("AlipaySignList", 1, 10000000);
+                            MerchantSign sign = signs.FirstOrDefault(m => m.BusinessCode == BusinessCode);
+                            if (sign != null)
+                            {
+                                signs.Remove(sign);
+                                RedisDbconn.Instance.Clear("AlipaySignList");
+                                RedisDbconn.Instance.AddList("AlipaySignList", signs.ToArray());
+                            }
+                        }
+                    }
+                }
+                db.Dispose();
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public_service");
+            }
+        }
+    }
+}

+ 81 - 0
AppStart/Helper/MerchantTypeSetService.cs

@@ -0,0 +1,81 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using MySystem.SpModels;
+
+namespace MySystem
+{
+    public class MerchantTypeSetService
+    {
+        public readonly static MerchantTypeSetService Instance = new MerchantTypeSetService();
+        private MerchantTypeSetService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                dosomething();
+                // string Msg = "success";
+                // jobInfo.Status = Msg == "success" ? 1 : 0;
+                // jobInfo.Msg = Msg == "success" ? "执行完成" : Msg;
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "PublicBack");
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "public_err");
+                }
+                else
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public_service");
+                }
+            }
+        }
+
+        public void dosomething()
+        {
+            // TODO: 每天扫描非商户型创客的持有机具数量
+            // WebCMSEntities spdb = new WebCMSEntities();
+            // PxcModels.WebCMSEntities db = new PxcModels.WebCMSEntities();
+            // DateTime yesterday = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") + " 00:00:00");
+            // DateTime today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00");
+            // List<BindRecord> binds = spdb.BindRecord.Where(m => m.CreateTime >= yesterday && m.CreateTime < today).ToList();
+            // foreach (BindRecord bind in binds)
+            // {
+            //     string Mobile = bind.MerNewSnNo;
+            //     string MerNo = bind.MerNo;
+            //     string BeforeNum = "";
+            //     string AfterNum = "";
+            //     if (Mobile.Contains("****") && Mobile.Length == 11)
+            //     {
+            //         BeforeNum = Mobile.Substring(0, 3);
+            //         AfterNum = Mobile.Substring(7);
+            //     }
+            //     string Name = bind.MerName;
+            //     PxcModels.Users user = db.Users.FirstOrDefault(m => m.Mobile.StartsWith(BeforeNum) && m.Mobile.EndsWith(AfterNum) && m.RealName == Name && m.AuthFlag == 1 && m.MerchantType == 0);
+            //     if (user != null)
+            //     {
+            //         user.MerchantType = 1;
+            //         PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == MerNo) ?? new PxcModels.PosMerchantInfo();
+            //         merchant.MerUserType = 1;
+            //         PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.BindMerchantId == merchant.Id);
+            //         if (pos != null)
+            //         {
+            //             pos.SeoTitle = user.Id.ToString(); // 记录商户型创客的Id
+            //         }
+            //         db.SaveChanges();
+            //     }
+            // }
+            // spdb.Dispose();
+            // db.Dispose();
+        }
+    }
+}

+ 53 - 0
AppStart/Helper/MessageCenterService.cs

@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class MessageCenterService
+    {
+        public readonly static MessageCenterService Instance = new MessageCenterService();
+        private MessageCenterService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void dosomething()
+        {
+            while (true)
+            {
+                string data = RedisDbconn.Instance.RPop<string>("MsgPersonalQueue");
+                if (!string.IsNullOrEmpty(data))
+                {
+                    try
+                    {
+                        WebCMSEntities db = new WebCMSEntities();
+                        MsgPersonal msg = Newtonsoft.Json.JsonConvert.DeserializeObject<MsgPersonal>(data);
+                        db.MsgPersonal.Add(msg);
+                        db.SaveChanges();
+                        db.Dispose();
+                    }
+                    catch (Exception ex)
+                    {
+                        
+                        function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "消息中心队列异常");
+                    }
+                }
+                else
+                {
+                    Thread.Sleep(60000);
+                }
+            }
+        }
+    }
+}

+ 83 - 0
AppStart/Helper/Operate/OperateAmountService.cs

@@ -0,0 +1,83 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.OpModels;
+
+namespace MySystem
+{
+    public class OperateAmountService
+    {
+        public readonly static OperateAmountService Instance = new OperateAmountService();
+        private OperateAmountService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void dosomething()
+        {
+            while (true)
+            {
+                string data = RedisDbconn.Instance.RPop<string>("OperateAmountQueue");
+                if (!string.IsNullOrEmpty(data))
+                {
+                    try
+                    {
+                        WebCMSEntities db = new WebCMSEntities();
+                        function.WriteLog(DateTime.Now.ToString() + "\r\n" + data + "\r\n\r\n", "运营中心返额度日志");
+                        JsonData jsonObj = JsonMapper.ToObject(data);
+                        int UserId = int.Parse(function.CheckInt(jsonObj["UserId"].ToString())); //运营中心所属人创客Id
+                        int DataId = int.Parse(function.CheckInt(jsonObj["DataId"].ToString())); //机具Id或机具券Id
+                        int Kind = int.Parse(function.CheckInt(jsonObj["Kind"].ToString())); //1-机具,2-机具券
+                        decimal Amount = decimal.Parse(function.CheckNum(jsonObj["Amount"].ToString()));
+                        
+                        UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
+                        if (account == null)
+                        {
+                            account = db.UserAccount.Add(new UserAccount()
+                            {
+                                Id = UserId,
+                                UserId = UserId,
+                            }).Entity;
+                            db.SaveChanges();
+                        }
+                        decimal BeforeAmount = account.ValidAmount; //变更前总金额
+                        account.ValidAmount += Amount;
+                        decimal AfterAmount = account.ValidAmount; //变更后总金额
+                        AmountRecord add = db.AmountRecord.Add(new AmountRecord()
+                        {
+                            CreateDate = DateTime.Now,
+                            UpdateDate = DateTime.Now,
+                            OperateType = 1,
+                            AfterAmount = AfterAmount,
+                            BeforeAmount = BeforeAmount,
+                            UseAmount = Amount,
+                            UserId = UserId,
+                            ApplyId = DataId,
+                            SeoDescription = Kind == 1 ? "机具激活返还" : "机具券兑换返还",
+                        }).Entity;
+                        db.SaveChanges();
+
+                        db.Dispose();
+                    }
+                    catch (Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "运营中心返额度异常");
+                    }
+                }
+                else
+                {
+                    Thread.Sleep(5000);
+                }
+            }
+        }
+    }
+}

+ 48 - 0
AppStart/Helper/Operate/OperateStockService.cs

@@ -0,0 +1,48 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.OpModels;
+
+namespace MySystem
+{
+    public class OperateStockService
+    {
+        public readonly static OperateStockService Instance = new OperateStockService();
+        private OperateStockService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void dosomething()
+        {
+            while (true)
+            {
+                try
+                {
+                    string sql = "";
+                    string conn = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+                    DataTable dt = CustomerSqlConn.dtable("select UserId,sum(LaveNum)+(select count(Id) from PreSendStockDetail where FromUserId=s.UserId and `Status`>=0 and `Status`<=1 and ApplyFlag=0) from StoreHouse s where `Status`>-1 group by UserId", conn);
+                    foreach(DataRow dr in dt.Rows)
+                    {
+                        sql += "update Users set StoreStock=" + dr[1].ToString() + " where Id=" + dr["UserId"].ToString() + ";";
+                    }
+                    CustomerSqlConn.op(sql, conn);
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "运营中心返额度异常");
+                }
+                Thread.Sleep(600000);
+            }
+        }
+    }
+}

+ 119 - 0
AppStart/Helper/OperatePrizeService.cs

@@ -0,0 +1,119 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class OperatePrizeService
+    {
+        public readonly static OperatePrizeService Instance = new OperatePrizeService();
+        private OperatePrizeService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void dosomething()
+        {
+            while (true)
+            {
+                string data = RedisDbconn.Instance.RPop<string>("OperatePrizeQueue");
+                if (!string.IsNullOrEmpty(data))
+                {
+                    try
+                    {
+                        int PosId = int.Parse(function.CheckInt(data));
+                        WebCMSEntities db = new WebCMSEntities();
+                        PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId);
+                        if (pos != null)
+                        {
+                            int OpId = 0;
+                            int UserId = pos.BuyUserId;
+                            while(UserId > 0)
+                            {
+                                Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
+                                if(user != null)
+                                {
+                                    if(user.UserType == 1)
+                                    {
+                                        OpId = user.Id;
+                                        UserId = 0;
+                                    }
+                                    else
+                                    {
+                                        UserId = user.ParentUserId;
+                                    }
+                                }
+                                else
+                                {
+                                    UserId = 0;
+                                }
+                            }
+                            if(OpId > 0)
+                            {
+                                decimal ChangeAmount = 5;
+                                if(pos.BrandId == 14)
+                                {
+                                    ChangeAmount = 19 * 0.05M;
+                                }
+                                UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == OpId);
+                                if (account == null)
+                                {
+                                    account = db.UserAccount.Add(new UserAccount()
+                                    {
+                                        Id = OpId,
+                                        UserId = OpId,
+                                    }).Entity;
+                                    db.SaveChanges();
+                                }
+                                decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                                decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                                decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                                account.BalanceAmount += ChangeAmount;
+                                account.TotalAmount += ChangeAmount;
+                                decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                                decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                                decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                                UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                                {
+                                    CreateDate = DateTime.Now,
+                                    UpdateDate = DateTime.Now,
+                                    UserId = OpId, //创客
+                                    ChangeType = 121, //变动类型
+                                    ChangeAmount = ChangeAmount, //变更金额
+                                    BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                    AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                    BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                    AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                    BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                    AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                    QueryCount = PosId,
+                                }).Entity;
+                                db.SaveChanges();
+                            }
+                        }
+                        db.Dispose();
+                    }
+                    catch (Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "运营中心奖励异常");
+                    }
+                    Thread.Sleep(100);
+                }
+                else
+                {
+                    Thread.Sleep(60000);
+                }
+            }
+        }
+    }
+}

+ 82 - 0
AppStart/Helper/OperateService.cs

@@ -0,0 +1,82 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Threading;
+using MySystem.PxcModels;
+using Library;
+
+namespace MySystem
+{
+    /// <summary>
+    /// 运营中心定时程序
+    /// </summary>
+    public class OperateService
+    {
+        public readonly static OperateService Instance = new OperateService();
+        private OperateService()
+        { }
+
+
+        #region 每天统计一次数据
+        public void Start()
+        {
+            Thread th = new Thread(doSomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void doSomething()
+        {
+            while (true)
+            {
+                if (DateTime.Now.Hour > 0 && DateTime.Now.Hour < 9)
+                {
+                    try
+                    {
+                        string Month = DateTime.Now.ToString("yyyyMM");
+                        string Date = DateTime.Now.ToString("yyyyMMdd");
+                        string check = function.ReadInstance("/Operate/" + Date + ".txt");
+                        if (string.IsNullOrEmpty(check))
+                        {
+                            function.WritePage("/Operate/", "" + Date + ".txt", DateTime.Now.ToString("HH:mm:ss"));
+                            WebCMSEntities db = new WebCMSEntities();
+
+                            //统计发货量
+                            DataTable dt = CustomerSqlConn.dtable("select CONCAT('update Users set ThisMonthSend=(select count(Id) from StoreStockChange where CreateDate>=\\'" + DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00\\' and TransType in (10,11) and OpId=',Id,') where Id=',Id,';') from Users where UserType=1", MysqlConn.SqlConnStr);
+                            foreach(DataRow dr in dt.Rows)
+                            {
+                                CustomerSqlConn.op(dr[0].ToString(), MysqlConn.SqlConnStr);
+                            }
+                            dt = CustomerSqlConn.dtable("select distinct CONCAT('update Users set ThisMonthSend=(select count(Id) from StoreStockChange where CreateDate>=\\'" + DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00\\' and TransType in (10,11) and StoreId in (select Id from StoreHouse where UserId=',QueryCount,') and OpId=',OpId,') where Id=', QueryCount,';') from StoreForOperate where Sort=0 and Status>-1", MysqlConn.OpSqlConnStr);
+                            foreach(DataRow dr in dt.Rows)
+                            {
+                                CustomerSqlConn.op(dr[0].ToString(), MysqlConn.SqlConnStr);
+                            }
+
+                            //统计库存
+                            Dictionary<int, int> StoreList = db.StoreHouse.Select(m => new { m.UserId, m.LaveNum }).Where(m => m.LaveNum > 0).GroupBy(m => m.UserId).Select(m => new { UserId = m.Key, Count = m.Count() }).ToDictionary(m => m.UserId, m => m.Count);
+                            foreach(int UserId in StoreList.Keys)
+                            {
+                                Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
+                                if(user != null)
+                                {
+                                    user.StoreStock += StoreList[UserId];
+                                }
+                            }
+                            db.SaveChanges();
+
+                            db.Dispose();
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "运营中心重置本月发货量异常");
+                    }
+                }
+                Thread.Sleep(800000);
+            }
+        }
+        #endregion
+    }
+}

+ 123 - 0
AppStart/Helper/OrderRefundService.cs

@@ -0,0 +1,123 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class OrderRefundService
+    {
+        public readonly static OrderRefundService Instance = new OrderRefundService();
+        private OrderRefundService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void dosomething()
+        {
+            while (true)
+            {
+                string data = RedisDbconn.Instance.RPop<string>("RefundQueue");
+                if (!string.IsNullOrEmpty(data))
+                {
+                    try
+                    {
+                        JsonData jsonOj = JsonMapper.ToObject(data);
+                        int OrderId = int.Parse(function.CheckInt(jsonOj["OrderId"].ToString()));
+                        string Operator = jsonOj["Operator"].ToString();
+                        decimal Amount = decimal.Parse(function.CheckNum(jsonOj["Amount"].ToString()));
+                        string Remark = jsonOj["Remark"].ToString();
+                        WebCMSEntities db = new WebCMSEntities();
+                        Orders order = db.Orders.FirstOrDefault(m => m.Id == OrderId);
+                        if(order != null)
+                        {
+                            bool op = true;
+                            decimal TotalPrice = order.TotalPrice;
+                            if(order.PayMode == 1)
+                            {
+                                PublicAccountSet set = db.PublicAccountSet.FirstOrDefault() ?? new PublicAccountSet();
+                                string result = new Alipay.AlipayPublicMethod().Refund(set.AlipayAppId, set.AlipayPrivateKey, set.AlipayPublicKey, order.OrderNo, Amount);
+                            }
+                            else if(order.PayMode == 3)
+                            {
+                                UserAccount user = db.UserAccount.FirstOrDefault(m => m.Id == order.UserId);
+                                if (user == null)
+                                {
+                                    user = db.UserAccount.Add(new UserAccount()
+                                    {
+                                        Id = order.UserId,
+                                        UserId = order.UserId,
+                                    }).Entity;
+                                    db.SaveChanges();
+                                }
+                                decimal BeforeTotalAmount = user.TotalAmount; //变更前总金额
+                                decimal BeforeFreezeAmount = user.FreezeAmount; //变更前冻结金额
+                                decimal BeforeBalanceAmount = user.BalanceAmount; //变更前余额
+                                user.BalanceAmount += Amount;
+                                decimal AfterTotalAmount = user.TotalAmount; //变更后总金额
+                                decimal AfterFreezeAmount = user.FreezeAmount; //变更后冻结金额
+                                decimal AfterBalanceAmount = user.BalanceAmount; //变更后余额
+                                db.UserAccountRecord.Add(new UserAccountRecord()
+                                {
+                                    CreateDate = DateTime.Now,
+                                    UpdateDate = DateTime.Now,
+                                    UserId = order.UserId, //创客
+                                    ChangeType = 21, //变动类型
+                                    ChangeAmount = Amount, //变更金额
+                                    BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                    AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                    BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                    AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                    BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                    AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                    QueryCount = order.Id,
+                                    Remark = Remark,
+                                });
+                            }
+                            if(op)
+                            {
+                                order.RefundStatus = 1;
+                                order.RefundActAmount = Amount;
+                                db.OrderRefund.Add(new OrderRefund()
+                                {
+                                    CreateDate = DateTime.Now,
+                                    Mobile = order.Mobile,
+                                    Amount = Amount,
+                                    SeoDescription = Remark,
+                                    ProductId = order.ProductId.ToString(),
+                                    OrderId = order.Id,
+                                    UserId = order.UserId,
+                                });
+                            }
+                            else
+                            {
+                                order.RefundStatus = 0;
+                                order.RefundReason = null;
+                                order.RefundActAmount = 0;
+                            }
+                            db.SaveChanges();
+                        }
+                        db.Dispose();
+                    }
+                    catch (Exception ex)
+                    {                        
+                        function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "订单退款异常");
+                    }
+                }
+                else
+                {
+                    Thread.Sleep(60000);
+                }
+            }
+        }
+    }
+}

+ 185 - 0
AppStart/Helper/PosExpiredHelper.cs

@@ -0,0 +1,185 @@
+using System;
+using System.Collections.Generic;
+using System.Threading;
+using System.Linq;
+using System.Data;
+using MySystem;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+public class PosExpiredHelper
+{
+    public readonly static PosExpiredHelper Instance = new PosExpiredHelper();
+    private PosExpiredHelper()
+    {
+    }
+
+    public void Start()
+    {
+        Thread th = new Thread(DoWorks);
+        th.IsBackground = true;
+        th.Start();
+    }
+
+    private void DoWorks()
+    {
+        while (true)
+        {
+            try
+            {
+                string content = RedisDbconn.Instance.RPop<string>("PosExpiredRingQueue");
+                if(!string.IsNullOrEmpty(content))
+                {
+                    WebCMSEntities db = new WebCMSEntities();
+                    DoSomething(db);
+                    db.Dispose();
+                }
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "过期机具提醒异常");
+            }
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "过期机具提醒日志");
+            Thread.Sleep(60000);
+        }
+    }
+
+    public void DoSomething(WebCMSEntities db)
+    {
+        DateTime now = DateTime.Now;
+        List<int> BuyUserIds = db.PosMachinesTwo.Select(m => new { m.BuyUserId, m.RecycEndDate, m.Status, m.BindingState }).Where(m => m.RecycEndDate < now && m.Status > -1 && m.BindingState == 0).ToList().Select(m => m.BuyUserId).ToList();
+        foreach(int BuyUserId in BuyUserIds)
+        {
+            RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+            {
+                UserId = Convert.ToInt32(BuyUserId), //创客
+                Title = "机具循环过期提醒", //标题
+                Content = "尊敬的创客您好<br />您的部分机具循环已过期,请在五日内完成激活或联系在线客服回寄该机具。", //内容
+                Summary = "尊敬的创客您好,您的部分机具循环已过期,请在五日内完成激活或联系在线客服回寄该机具。",
+                CreateDate = DateTime.Now,
+            }));
+        }
+    }
+
+
+
+
+
+    public void StartPay()
+    {
+        Thread th = new Thread(DoPay);
+        th.IsBackground = true;
+        th.Start();
+    }
+
+    private void DoPay()
+    {
+        while (true)
+        {
+            try
+            {
+                string content = RedisDbconn.Instance.RPop<string>("PosExpiredPayQueue");
+                if(!string.IsNullOrEmpty(content))
+                {
+                    WebCMSEntities db = new WebCMSEntities();
+                    using (var tran = db.Database.BeginTransaction())
+                    {
+                        try
+                        {
+                            GoPay(db, int.Parse(content));
+                            tran.Commit();
+                        }
+                        catch(Exception ex)
+                        {
+                            tran.Rollback();
+                            function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "过期机具扣费异常");
+                        }
+                    }
+                    db.Dispose();
+                }
+                else
+                {
+                    Thread.Sleep(60000);
+                }
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "过期机具扣费异常");
+            }
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "过期机具扣费日志");
+        }
+    }
+
+    public void GoPay(WebCMSEntities db, int UserId)
+    {
+        UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId) ?? new UserAccount();
+        decimal BalanceAmount = account.BalanceAmount;
+        List<int> BrandIdList = new List<int>();
+        BrandIdList.Add(3);
+        BrandIdList.Add(5);
+        BrandIdList.Add(9);
+        BrandIdList.Add(11);
+        DateTime now = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00").AddDays(-60);
+        Dictionary<int, decimal> UserList = new Dictionary<int, decimal>();
+        var PosList = db.PosMachinesTwo.Select(m => new { m.Id, m.BuyUserId, m.RecycEndDate, m.Status, m.BindingState, m.BrandId, m.ScanQrTrade }).Where(m => m.BuyUserId == UserId && m.RecycEndDate < now && m.Status > -1 && m.BindingState == 0 && m.ScanQrTrade < 999).OrderBy(m => m.Id).ToList();
+        if(PosList.Count > 0)
+        {
+            foreach(var Pos in PosList)
+            {
+                decimal PayMoney = 200;
+                if(BrandIdList.Contains(Pos.BrandId))
+                {
+                    PayMoney = 300;
+                }
+                PayMoney -= Pos.ScanQrTrade;
+                if(BalanceAmount > 0)
+                {
+                    if(BalanceAmount > PayMoney)
+                    {
+                        if(UserList.ContainsKey(Pos.BuyUserId))
+                        {
+                            UserList[Pos.BuyUserId] += PayMoney;
+                        }
+                        else
+                        {
+                            UserList.Add(Pos.BuyUserId, PayMoney);
+                        }
+                        BalanceAmount -= PayMoney;
+                    }
+                    else
+                    {
+                        PayMoney = BalanceAmount;
+                        if(UserList.ContainsKey(Pos.BuyUserId))
+                        {
+                            UserList[Pos.BuyUserId] += PayMoney;
+                        }
+                        else
+                        {
+                            UserList.Add(Pos.BuyUserId, PayMoney);
+                        }
+                        BalanceAmount = 0;
+                    }
+                    PosMachinesTwo EditPos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == Pos.Id);
+                    if(EditPos != null)
+                    {
+                        EditPos.ScanQrTrade += PayMoney;
+                        if(BrandIdList.Contains(Pos.BrandId) && EditPos.ScanQrTrade >= 300)
+                        {
+                            EditPos.ScanQrTrade = 999;
+                        }
+                        else if(!BrandIdList.Contains(Pos.BrandId) && EditPos.ScanQrTrade >= 200)
+                        {
+                            EditPos.ScanQrTrade = 999;
+                        }
+                    }
+                }
+            }
+            db.SaveChanges();
+        }
+        foreach(int UsrId in UserList.Keys)
+        {
+            AlipayPayBack2Service.Instance.ChangeAccount(db, new Orders(), UsrId, -UserList[UsrId], 124, "扣机具货款");
+        }
+    }
+}

+ 94 - 0
AppStart/Helper/PrePosRingService.cs

@@ -0,0 +1,94 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class PrePosRingService
+    {
+        public readonly static PrePosRingService Instance = new PrePosRingService();
+        private PrePosRingService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void dosomething()
+        {
+            while (true)
+            {
+                try
+                {
+                    if(DateTime.Now.Hour > 3 && DateTime.Now.Hour < 19)
+                    {
+                        string chk = function.ReadInstance("/PrePosRing/" + DateTime.Now.ToString("yyyyMMdd") + ".txt");
+                        if(string.IsNullOrEmpty(chk))
+                        {
+                            function.WritePage("/PrePosRing/", "" + DateTime.Now.ToString("yyyyMMdd") + ".txt", DateTime.Now.ToString());
+                            PrePosRing();
+                            PrePosRingForExpired();
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "预发机提醒异常");
+                }
+                Thread.Sleep(300000);
+            }
+        }
+
+        //已确认状态的预发机25天至29天未完成申请时每天一次弹窗提醒预发创客
+        private void PrePosRing()
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            DateTime start = DateTime.Parse(DateTime.Now.AddDays(-29).ToString("yyyy-MM-dd") + " 00:00:00");
+            DateTime end = DateTime.Parse(DateTime.Now.AddDays(-24).ToString("yyyy-MM-dd") + " 00:00:00");
+            var PrePosList = db.PreSendStockDetail.Where(m => m.ApplyFlag == 0 && m.CreateDate >= start && m.CreateDate < end && m.Status >= 0 && m.Status <= 1).ToList();
+            foreach(var Pos in PrePosList)
+            {
+                Dictionary<string, string> Item = new Dictionary<string, string>();
+                Item.Add("SnNo", Pos.SnNo);
+                Item.Add("PreDate", Pos.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss"));
+                string value = Newtonsoft.Json.JsonConvert.SerializeObject(Item);
+
+                RedisDbconn.Instance.AddList("PrePosRing:" + DateTime.Now.ToString("yyyyMMdd") + ":" + Pos.ToUserId, value);
+                int ExpireTime = 60 * 60 * 25;
+                RedisDbconn.Instance.SetExpire("PrePosRing:" + DateTime.Now.ToString("yyyyMMdd") + ":" + Pos.ToUserId, ExpireTime);
+            }
+            db.Dispose();
+        }
+
+        //20日前对预发机超30天未完成申请的创客每天新增一次弹窗
+        private void PrePosRingForExpired()
+        {
+            if(DateTime.Now.Day >= 15 && DateTime.Now.Day < 20)
+            {
+                WebCMSEntities db = new WebCMSEntities();
+                DateTime end = DateTime.Parse(DateTime.Now.AddDays(-29).ToString("yyyy-MM-dd") + " 00:00:00");
+                var PrePosList = db.PreSendStockDetail.Where(m => m.ApplyFlag == 0 && m.CreateDate < end && m.Status >= 0 && m.Status <= 1).ToList();
+                foreach(var Pos in PrePosList)
+                {
+                    Dictionary<string, string> Item = new Dictionary<string, string>();
+                    Item.Add("SnNo", Pos.SnNo);
+                    Item.Add("PreDate", Pos.CreateDate.Value.ToString("yyyy-MM-dd HH:mm:ss"));
+                    string value = Newtonsoft.Json.JsonConvert.SerializeObject(Item);
+                    
+                    RedisDbconn.Instance.AddList("PrePosRingForExpired:" + DateTime.Now.ToString("yyyyMMdd") + ":" + Pos.ToUserId, value);
+                    int ExpireTime = 60 * 60 * 25;
+                    RedisDbconn.Instance.SetExpire("PrePosRingForExpired:" + DateTime.Now.ToString("yyyyMMdd") + ":" + Pos.ToUserId, ExpireTime);
+                }
+                db.Dispose();
+            }
+        }
+    }
+}

+ 170 - 0
AppStart/Helper/PrePosWithholdService.cs

@@ -0,0 +1,170 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class PrePosWithholdService
+    {
+        public readonly static PrePosWithholdService Instance = new PrePosWithholdService();
+        private PrePosWithholdService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void dosomething()
+        {
+            while (true)
+            {
+                try
+                {
+                    if(DateTime.Now.Hour > 3 && DateTime.Now.Hour < 20 && DateTime.Now >= DateTime.Parse("2023-09-20 11:00:00"))
+                    {
+                        string chk = function.ReadInstance("/PrePosWithhold/" + DateTime.Now.ToString("yyyyMMdd") + ".txt");
+                        if(string.IsNullOrEmpty(chk))
+                        {
+                            function.WritePage("/PrePosWithhold/", "" + DateTime.Now.ToString("yyyyMMdd") + ".txt", DateTime.Now.ToString());
+                            PrePosWithhold();
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "预发机提醒异常");
+                }
+                Thread.Sleep(300000);
+            }
+        }
+
+        //预发机30天未完成申请时向预发创客增加一条预扣款
+        private void PrePosWithhold()
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            DateTime end = DateTime.Parse(DateTime.Now.AddDays(-29).ToString("yyyy-MM-dd") + " 00:00:00");
+            int Id = 0;
+            bool op = true;
+            while(op)
+            {
+                var PrePosList = db.PreSendStockDetail.Where(m => m.Id > Id && m.ApplyFlag == 0 && m.CreateDate < end && m.Status >= 0 && m.Status <= 1 && m.WithholdFlag == 0).OrderBy(m => m.Id).Take(20).ToList();
+                if(PrePosList.Count > 0)
+                {
+                    foreach(var Pos in PrePosList)
+                    {
+                        PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == Pos.SnId && m.BuyUserId == 0 && m.PreUserId > 0);
+                        if(pos != null)
+                        {
+                            KqProducts brand = db.KqProducts.FirstOrDefault(m => m.Id == Pos.BrandId) ?? new KqProducts();
+                            decimal ChargeAmount = brand.Kind == 2 ? 300 : 200;
+                            db.ToChargeBackRecord.Add(new ToChargeBackRecord
+                            {
+                                CreateDate = DateTime.Now,
+                                SeoTitle = "系统",
+                                SeoDescription = "预发机超时未申请扣款",
+                                Remark = "预发机超时未申请扣款",
+                                ChargeType = 1,
+                                ChargeAmount = ChargeAmount,
+                                UserId = Pos.ToUserId,
+                                Field1 = Pos.SnNo,
+                            });
+                            pos.WithholdFlag = 1;
+                            PreSendStockDetail pre = db.PreSendStockDetail.FirstOrDefault(m => m.Id == Pos.Id);
+                            if(pre != null)
+                            {
+                                pre.WithholdFlag = 1;
+                            }
+                            //增加账户预扣总额
+                            Utils.Instance.ToChargeAmount(Pos.ToUserId, ChargeAmount);
+                        }
+                        Id = Pos.Id;
+                    }
+                    db.SaveChanges();
+                }
+                else
+                {
+                    op = false;
+                }
+            }
+            db.Dispose();
+        }
+
+
+
+
+
+
+        // 含有【预】字标签的机具完成申请时
+        // ·若预扣款已扣,则返还创客余额
+        // ·若预扣款未扣,则删除该条预扣款
+        public void StartPre()
+        {
+            Thread th = new Thread(StartPreDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void StartPreDo()
+        {
+            while (true)
+            {
+                try
+                {
+                    string content = RedisDbconn.Instance.RPop<string>("PreWithholdQueue");
+                    if(!string.IsNullOrEmpty(content))
+                    {
+                        function.WriteLog("content:" + content, "每月统计押金达标情况");
+                        JsonData jsonObj = JsonMapper.ToObject(content);
+                        int UserId = int.Parse(function.CheckInt(jsonObj["UserId"].ToString()));
+                        string SnNo = jsonObj["SnNo"].ToString();
+                        WebCMSEntities db = new WebCMSEntities();
+                        decimal ChargeAmount = 0;
+                        bool doBack = true; //是否减少账户预扣总额
+                        ToChargeBackRecord back = db.ToChargeBackRecord.FirstOrDefault(m => m.UserId == UserId && m.Field1 == SnNo && m.Remark == "预发机超时未申请扣款");
+                        if(back != null)
+                        {
+                            function.WriteLog("预扣款数据:" + Newtonsoft.Json.JsonConvert.SerializeObject(back), "每月统计押金达标情况");
+                            ChargeAmount = back.ChargeAmount;
+                            function.WriteLog("预扣款是否已扣:" + back.Status, "每月统计押金达标情况");
+                            if(back.Status == 1)
+                            {
+                                Utils.Instance.OpAccount(back.UserId, ChargeAmount, 134, false);
+                                doBack = false;
+                            }
+                            db.ToChargeBackRecord.Remove(back);
+                            db.SaveChanges();
+                        }
+                        db.Dispose();
+
+                        //减少账户预扣总额
+                        function.WriteLog("是否减少账户预扣总额:" + doBack, "每月统计押金达标情况");
+                        if(doBack)
+                        {
+                            Utils.Instance.ToChargeAmount(UserId, -ChargeAmount);
+                            function.WriteLog("减少账户预扣总额:" + ChargeAmount, "每月统计押金达标情况");
+                        }
+
+                        Thread.Sleep(500);
+                    }
+                    else
+                    {
+                        Thread.Sleep(30000);
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "预发扣款机具申请异常");
+                    Thread.Sleep(300000);
+                }
+            }
+        }
+    }
+}

+ 203 - 0
AppStart/Helper/PreStoreApplyQueue.cs

@@ -0,0 +1,203 @@
+using System;
+using System.Collections.Generic;
+using System.Threading;
+using System.Linq;
+using System.Data;
+using MySystem;
+using MySystem.Models;
+using Library;
+using LitJson;
+
+public class PreStoreApplyHelper
+{
+    public readonly static PreStoreApplyHelper Instance = new PreStoreApplyHelper();
+    private PreStoreApplyHelper()
+    {
+    }
+
+    public void StartEverTime()
+    {
+        Thread th = new Thread(StartEverTimeDo);
+        th.IsBackground = true;
+        th.Start();
+    }
+
+    private void StartEverTimeDo()
+    {
+        while (true)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            try
+            {
+                string data = RedisDbconn.Instance.RPop<string>("PreStoreApplyQueue");
+                if (!string.IsNullOrEmpty(data))
+                {
+                    function.WriteLog("data:" + data, "创客预发额度变动日志");
+                    JsonData jsonObj = JsonMapper.ToObject(data);
+                    if (jsonObj["Kind"].ToString() == "1") // 购买创客预发临时额度
+                    {
+                        int OrderId = int.Parse(jsonObj["Data"]["OrderId"].ToString());
+                        Orders order = db.Orders.FirstOrDefault(m => m.Id == OrderId);
+                        if (order != null)
+                        {
+                            decimal TotalPrice = order.TotalPrice;
+                            AddAmount2(db, 1, order.UserId, TotalPrice, order.PayMode, 1, order.Id);
+                        }
+                    }
+                    else if (jsonObj["Kind"].ToString() == "2") // 增减创客预发临时额度
+                    {
+                        int UserId = int.Parse(jsonObj["Data"]["UserId"].ToString());
+                        decimal Amount = decimal.Parse(jsonObj["Data"]["Amount"].ToString());
+                        int OperateType = int.Parse(jsonObj["Data"]["OperateType"].ToString());
+                        AddAmount(db, 2, UserId, Amount, OperateType);
+                    }
+                    else if (jsonObj["Kind"].ToString() == "3") // 调低创客预发额度返回余额
+                    {
+                        int UserId = int.Parse(jsonObj["Data"]["UserId"].ToString());
+                        decimal Amount = decimal.Parse(jsonObj["Data"]["Amount"].ToString());
+                        int PayMode = int.Parse(jsonObj["Data"]["PayMode"].ToString());
+                        AddAmount2(db, 3, UserId, Amount, PayMode, 0);
+                        if (PayMode != 1)
+                        {
+                            decimal BalanceAmount = Amount;
+                            UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
+                            if (account == null)
+                            {
+                                account = db.UserAccount.Add(new UserAccount()
+                                {
+                                    Id = UserId,
+                                    UserId = UserId,
+                                }).Entity;
+                                db.SaveChanges();
+                            }
+                            decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                            decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                            decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                            account.BalanceAmount += BalanceAmount;
+                            decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                            decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                            decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                            UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                            {
+                                CreateDate = DateTime.Now,
+                                UpdateDate = DateTime.Now,
+                                UserId = UserId, //创客
+                                ChangeType = 130, //变动类型
+                                ChangeAmount = BalanceAmount, //变更金额
+                                BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                            }).Entity;
+                        }
+                    }
+                    db.SaveChanges();
+                }
+                else
+                {
+                    Thread.Sleep(5000);
+                }
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "创客预发临时额度变动线程异常");
+            }
+            db.Dispose();
+        }
+    }
+
+    public void AddAmount(WebCMSEntities db, int Kind, int UserId, decimal Amount, int OperateType = 1, int OrderId = 0)
+    {
+        UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
+        if (account == null)
+        {
+            account = db.UserAccount.Add(new UserAccount()
+            {
+                Id = UserId,
+                UserId = UserId,
+            }).Entity;
+            db.SaveChanges();
+        }
+        decimal BeforeTotalAmount = account.ValidPreAmount; //变更前总金额
+        if (OperateType == 1)
+        {
+            account.ValidPreAmount += Amount;
+        }
+        else
+        {
+            account.ValidPreAmount -= Amount;
+        }
+        decimal AfterTotalAmount = account.ValidPreAmount; //变更后总金额
+        PreAmountRecord preAmountRecord = db.PreAmountRecord.Add(new PreAmountRecord()
+        {
+            CreateDate = DateTime.Now,
+            UpdateDate = DateTime.Now,
+            OperateType = OperateType,
+            AfterAmount = AfterTotalAmount,
+            BeforeAmount = BeforeTotalAmount,
+            UseAmount = Amount,
+            UserId = UserId,
+            QueryCount = OrderId,
+            Sort = Kind,
+        }).Entity;
+        db.SaveChanges();
+    }
+
+    public void AddAmount2(WebCMSEntities db, int Kind, int UserId, decimal Amount, int PayMode, int OperateType = 1, int OrderId = 0)
+    {
+        UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
+        if (account == null)
+        {
+            account = db.UserAccount.Add(new UserAccount()
+            {
+                Id = UserId,
+                UserId = UserId,
+            }).Entity;
+            db.SaveChanges();
+        }
+        decimal BeforeTotalAmount = account.ValidPreAmount; //变更前总金额
+
+        if (OperateType == 1)
+        {
+            if (PayMode == 3)//余额
+            {
+                account.PreTempAmountForBalance += Amount;
+            }
+            else
+            {
+                account.PreTempAmount += Amount;
+            }
+            account.ValidPreAmount += Amount;
+        }
+        else
+        {
+            if (PayMode == 3)
+            {
+                account.PreTempAmountForBalance -= Amount;
+            }
+            else
+            {
+                account.PreTempAmount -= Amount;
+            }
+            account.ValidPreAmount -= Amount;
+        }
+        decimal AfterTotalAmount = account.ValidPreAmount; //变更后总金额
+        PreAmountRecord preAmountRecord = db.PreAmountRecord.Add(new PreAmountRecord()
+        {
+            CreateDate = DateTime.Now,
+            UpdateDate = DateTime.Now,
+            OperateType = OperateType,
+            AmountType = PayMode,
+            AfterAmount = AfterTotalAmount,
+            BeforeAmount = BeforeTotalAmount,
+            UseAmount = Amount,
+            UserId = UserId,
+            QueryCount = OrderId,
+            Sort = Kind,
+            PayMode = PayMode,
+        }).Entity;
+        db.SaveChanges();
+    }
+}

+ 121 - 0
AppStart/Helper/Profit/ActiveService.cs

@@ -0,0 +1,121 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class ActiveService
+    {
+        public readonly static ActiveService Instance = new ActiveService();
+        private ActiveService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                string Msg = CheckData();
+                // jobInfo.Status = Msg == "success" ? 1: 0;
+                // jobInfo.Msg = Msg == "success" ? "执行完成": Msg;
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "ActiveBack");
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "activeback_err");
+                }
+                else
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "activeback_service");
+                }
+            }
+        }
+
+        //检查机具扣费情况
+        private string CheckData()
+        {
+            DateTime StatDate = DateTime.Now.AddMonths(-1);
+            DateTime StartDate = DateTime.Parse(StatDate.ToString("yyyy-MM") + "-01 00:00:00");
+            DateTime EndDate = StartDate.AddMonths(1);
+            string TradeMonth = StatDate.ToString("yyyyMM");
+            WebCMSEntities db = new WebCMSEntities();
+            using (var tran = db.Database.BeginTransaction())
+            {
+                try
+                {
+                    List<ActiveReward> list = db.ActiveReward.Where(m => m.CreateDate >= StartDate && m.CreateDate < EndDate && m.Status == -1).ToList();
+                    foreach (ActiveReward sub in list)
+                    {
+                        ActiveReward edit = db.ActiveReward.FirstOrDefault(m => m.Id == sub.Id);
+                        if (edit != null)
+                        {
+                            edit.Status = 0;
+                            db.SaveChanges();
+                        }
+                        UserAccount account = db.UserAccount.FirstOrDefault(m => m.UserId == sub.UserId);
+                        if (account == null)
+                        {
+                            account = db.UserAccount.Add(new UserAccount()
+                            {
+                                Id = sub.UserId,
+                                CreateDate = DateTime.Now,
+                                UserId = sub.UserId,
+                                UserProperty = 0,
+                                UserType = 2,
+                            }).Entity;
+                            db.SaveChanges();
+                        }
+                        decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                        decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                        decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                        account.BalanceAmount += sub.RewardAmount;
+                        account.TotalAmount += sub.RewardAmount;
+                        decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                        decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                        decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                        db.SaveChanges();
+                        UserAccountRecord accountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                        {
+                            CreateDate = DateTime.Now,
+                            UpdateDate = DateTime.Now,
+                            UserId = sub.UserId, //创客
+                            ChangeType = 0, //变动类型
+                            ProductType = sub.BrandId, //产品类型
+                            ChangeAmount = sub.RewardAmount, //变更金额
+                            BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                            AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                            BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                            AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                            BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                            AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                        }).Entity;
+                        db.SaveChanges();
+
+                    }
+                    
+                    tran.Commit();
+                }
+                catch (Exception ex)
+                {
+                    tran.Rollback();
+                    ErrorMsg msg = new ErrorMsg()
+                    {
+                        Time = DateTime.Now,
+                        ErrorContent = ex.ToString(),
+                    };
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "ActiveServiceError");
+                }
+            }
+            db.Dispose();
+            return "success";
+        }
+    }
+}

+ 130 - 0
AppStart/Helper/Profit/DiviService.cs

@@ -0,0 +1,130 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class DiviService
+    {
+        public readonly static DiviService Instance = new DiviService();
+        private DiviService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                string Msg = CheckData();
+                // jobInfo.Status = Msg == "success" ? 1: 0;
+                // jobInfo.Msg = Msg == "success" ? "执行完成": Msg;
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "DiviBack");
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "diviback_err");
+                }
+                else
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "diviback_service");
+                }
+            }
+        }
+
+        //检查机具扣费情况
+        private string CheckData()
+        {
+            DateTime StatDate = DateTime.Now.AddMonths(-1);
+            DateTime StartDate = DateTime.Parse(StatDate.ToString("yyyy-MM") + "-01 00:00:00");
+            DateTime EndDate = StartDate.AddMonths(1);
+            string TradeMonth = StatDate.ToString("yyyyMM");
+            WebCMSEntities db = new WebCMSEntities();
+            using (var tran = db.Database.BeginTransaction())
+            {
+                try
+                {
+                    List<UserAccountRecord> list = db.UserAccountRecord.Where(m => m.CreateDate >= StartDate && m.CreateDate < EndDate && m.Status == -1).ToList();
+                    foreach (UserAccountRecord sub in list)
+                    {
+                        UserAccount account = db.UserAccount.FirstOrDefault(m => m.UserId == sub.UserId);
+                        if (account == null)
+                        {
+                            account = db.UserAccount.Add(new UserAccount()
+                            {
+                                Id = sub.UserId,
+                                CreateDate = DateTime.Now,
+                                UserId = sub.UserId,
+                                UserProperty = 0,
+                                UserType = 2,
+                            }).Entity;
+                            db.SaveChanges();
+                        }
+                        decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                        decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                        decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                        account.BalanceAmount += sub.ChangeAmount;
+                        account.TotalAmount += sub.ChangeAmount;
+                        decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                        decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                        decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                        UserAccountRecord edit = db.UserAccountRecord.FirstOrDefault(m => m.Id == sub.Id);
+                        if (edit != null)
+                        {
+                            edit.Status = 0;
+                            edit.BeforeTotalAmount += BeforeTotalAmount; //变更前总金额
+                            edit.AfterTotalAmount += AfterTotalAmount; //变更后总金额
+                            edit.BeforeFreezeAmount += BeforeFreezeAmount; //变更前冻结金额
+                            edit.AfterFreezeAmount += AfterFreezeAmount; //变更后冻结金额
+                            edit.BeforeBalanceAmount += BeforeBalanceAmount; //变更前余额
+                            edit.AfterBalanceAmount += AfterBalanceAmount; //变更后余额
+                        }
+                        db.SaveChanges();
+
+                        //首页-快联盟产品-收益查看-分红奖励
+                        List<TradeProfitItem> DiviList = RedisDbconn.Instance.GetList<TradeProfitItem>("TradeProfit:Divi:" + sub.UserId + ":" + sub.ProductType, 1, 1000000);
+                        TradeProfitItem Check = DiviList.FirstOrDefault(m => m.TradeMonthValue == TradeMonth);
+                        if (Check == null)
+                        {
+                            DiviList.Add(new TradeProfitItem()
+                            {
+                                TradeProfit = sub.ChangeAmount,
+                                TradeMonth = sub.CreateDate.Value.ToString("yyyy年MM月"),
+                                TradeMonthValue = sub.CreateDate.Value.ToString("yyyyMM"),
+                                CreateDate = DateTime.Now,
+                            });
+                        }
+                        else
+                        {
+                            Check.TradeProfit += sub.ChangeAmount;
+                        }
+                        RedisDbconn.Instance.Clear("TradeProfit:Divi:" + sub.UserId + ":" + sub.ProductType);
+                        RedisDbconn.Instance.AddList("TradeProfit:Divi:" + sub.UserId + ":" + sub.ProductType, DiviList.ToArray());
+
+                    }
+                    
+                    tran.Commit();
+                }
+                catch (Exception ex)
+                {
+                    tran.Rollback();
+                    ErrorMsg msg = new ErrorMsg()
+                    {
+                        Time = DateTime.Now,
+                        ErrorContent = ex.ToString(),
+                    };
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "DiviServiceError");
+                }
+            }
+            db.Dispose();
+            return "success";
+        }
+    }
+}

+ 164 - 0
AppStart/Helper/Profit/FluxService.cs

@@ -0,0 +1,164 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class FluxService
+    {
+        public readonly static FluxService Instance = new FluxService();
+        private FluxService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                string Msg = CheckFlux();
+                // jobInfo.Status = Msg == "success" ? 1: 0;
+                // jobInfo.Msg = Msg == "success" ? "执行完成": Msg;
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "FluxBack");
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "fluxback_err");
+                }
+                else
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "fluxback_service");
+                }
+            }
+        }
+
+        //检查机具扣费情况
+        private string CheckFlux()
+        {
+            DateTime StatDate = DateTime.Now.AddMonths(-1);
+            DateTime StartDate = DateTime.Parse(StatDate.ToString("yyyy-MM") + "-01 00:00:00");
+            DateTime EndDate = StartDate.AddMonths(1);
+            string TradeMonth = StatDate.ToString("yyyyMM");
+            WebCMSEntities db = new WebCMSEntities();
+            using (var tran = db.Database.BeginTransaction())
+            {
+                try
+                {
+                    List<FluxProfitSummary> list = db.FluxProfitSummary.Where(m => m.TradeMonth == TradeMonth && m.CheckStatus == 0).ToList();
+                    foreach (FluxProfitSummary sub in list)
+                    {
+                        int UserId = sub.UserId; //创客
+                        decimal FluxProfitAmt = sub.FluxProfitAmt; //交易分润
+                        decimal ActualProfit = 0;
+                        //核对
+                        bool check = db.FluxProfitDetail.Any(m => m.UserId == sub.UserId && m.TradeDate == sub.TradeMonth);
+                        if (check)
+                        {
+                            ActualProfit = db.FluxProfitDetail.Where(m => m.UserId == sub.UserId && m.TradeDate == sub.TradeMonth).Sum(m => m.FluxProfitAmt);
+                        }
+                        if (ActualProfit == FluxProfitAmt)
+                        {
+                            //核对成功
+                            FluxProfitSummary edit = db.FluxProfitSummary.FirstOrDefault(m => m.Id == sub.Id);
+                            if (edit != null)
+                            {
+                                edit.CheckStatus = 1;
+                                db.SaveChanges();
+                            }
+                            UserAccount account = db.UserAccount.FirstOrDefault(m => m.UserId == sub.UserId);
+                            if (account == null)
+                            {
+                                account = db.UserAccount.Add(new UserAccount()
+                                {
+                                    Id = sub.UserId,
+                                    CreateDate = DateTime.Now,
+                                    UserId = sub.UserId,
+                                    UserProperty = 0,
+                                    UserType = 2,
+                                }).Entity;
+                                db.SaveChanges();
+                            }
+                            decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                            decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                            decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                            account.BalanceAmount += FluxProfitAmt;
+                            account.TotalAmount += FluxProfitAmt;
+                            decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                            decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                            decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                            db.SaveChanges();
+                            UserAccountRecord accountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                            {
+                                CreateDate = DateTime.Now,
+                                UpdateDate = DateTime.Now,
+                                UserId = sub.UserId, //创客
+                                ChangeType = 60, //变动类型
+                                ProductType = sub.BrandId, //产品类型
+                                ChangeAmount = FluxProfitAmt, //变更金额
+                                BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                            }).Entity;
+                            db.SaveChanges();
+
+                            RedisDbconn.Instance.HAddNumber("TmpFluxProfit", sub.UserId + "_" + sub.BrandId + "_" + StatDate.ToString("yyyy年MM月") + "_" + StatDate.ToString("yyyyMM"), FluxProfitAmt);
+                        }
+                        else
+                        {
+                            ErrorMsg msg = new ErrorMsg()
+                            {
+                                Time = DateTime.Now,
+                                ErrorContent = "同步流量卡分佣失败,数据不一致",
+                                Obj = Newtonsoft.Json.JsonConvert.SerializeObject(sub),
+                            };
+                            RedisDbconn.Instance.AddList("FluxServiceWarning", msg);
+                        }
+                    }
+
+                    //首页-快联盟产品-收益查看-流量卡分佣
+                    Dictionary<string, decimal> datalist = RedisDbconn.Instance.HGetAll<decimal>("TmpFluxProfit");
+                    foreach (string key in datalist.Keys)
+                    {
+                        string[] fields = key.Split('_');
+                        string UserId = fields[0];
+                        string BrandId = fields[1];
+                        string TradeM = fields[2];
+                        string TradeMValue = fields[3];
+                        RedisDbconn.Instance.AddList("FluxProfitSummary:" + UserId + ":" + BrandId, new TradeProfitItem()
+                        {
+                            TradeProfit = datalist[key],
+                            TradeMonth = TradeM,
+                            TradeMonthValue = TradeMValue,
+                            CreateDate = DateTime.Now,
+                        });
+                    }
+                    RedisDbconn.Instance.Clear("TmpFluxProfit");
+                    
+                    tran.Commit();
+                }
+                catch (Exception ex)
+                {
+                    tran.Rollback();
+                    ErrorMsg msg = new ErrorMsg()
+                    {
+                        Time = DateTime.Now,
+                        ErrorContent = ex.ToString(),
+                    };
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "ProfitServiceError");
+                }
+            }
+            db.Dispose();
+            return "success";
+        }
+    }
+}

+ 245 - 0
AppStart/Helper/Profit/HelpProfitHelper.cs

@@ -0,0 +1,245 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Data;
+using MySystem.PxcModels;
+using Library;
+using System.Threading;
+using Microsoft.Extensions.Hosting;
+using System.Threading.Tasks;
+
+namespace MySystem
+{
+    public class HelpProfitHelper
+    {
+        public readonly static HelpProfitHelper Instance = new HelpProfitHelper();
+        private HelpProfitHelper()
+        {
+        }
+        
+        public void Start()
+        {
+            Thread th = new Thread(StartFor);
+            th.IsBackground = true;
+            th.Start();
+        }
+        public void StartFor()
+        {
+            while (true)
+            {
+                if(DateTime.Now.Day == 1 && DateTime.Now.Hour >= 2 && DateTime.Now.Hour <= 8)
+                {
+                    StatProfitEveryDay(DateTime.Now.AddMonths(-1).ToString("yyyyMM"));
+                }
+                Thread.Sleep(600000);
+            }
+        }
+        // public void StatProfitEveryDay(string Month)
+        // {
+        //     // string check = function.ReadInstance("/HelpProfitStat/" + Month + ".txt");
+        //     // if (!string.IsNullOrEmpty(check))
+        //     // {
+        //     //     return;
+        //     // }
+        //     // function.WritePage("/HelpProfitStat/", Month + ".txt", DateTime.Now.ToString());
+        //     WebCMSEntities db = new WebCMSEntities();
+        //     var orders = db.Orders.Select(m => new { m.UserId, m.Status, m.ProductId }).Where(m => m.Status > 0 && m.ProductId == 34).ToList();
+        //     int StartId = 0;
+        //     bool op = true;
+        //     while(op)
+        //     {
+        //         List<HelpProfitMerTradeSummay> list = db.HelpProfitMerTradeSummay.Where(m => m.Id > StartId && m.TradeMonth == Month).OrderBy(m => m.Id).Take(50).ToList();
+        //         if(list.Count > 0)
+        //         {
+        //             function.WriteLog("开始:" + DateTime.Now.ToString(), "助利宝分润日志");
+        //             function.WriteLog("总数:" + list.Count(), "助利宝分润日志");
+        //             int index = 0;
+        //             foreach(HelpProfitMerTradeSummay sub in list)
+        //             {
+        //                 index += 1;
+        //                 int MerchantId = sub.MerchantId;
+        //                 decimal TradeAmount = sub.TradeAmount;
+        //                 string TradeDate = sub.TradeDate;
+        //                 HelpProfitMerchantForUser merchant = db.HelpProfitMerchantForUser.FirstOrDefault(m => m.MerchantId == MerchantId);
+        //                 if(merchant != null)
+        //                 {
+        //                     int UserId = merchant.UserId;
+        //                     PosMerchantInfo mer = db.PosMerchantInfo.FirstOrDefault(m => m.Id == MerchantId) ?? new PosMerchantInfo();
+        //                     MachineForMerNo merFor = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == mer.KqMerNo) ?? new MachineForMerNo();
+        //                     PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == merFor.SnId) ?? new PosMachinesTwo();
+                            
+        //                     Users user = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+        //                     decimal money = TradeAmount * 0.0005M;
+        //                     decimal money2 = TradeAmount * 0.00005M;
+                            
+        //                     AddProfitRecord(db, user, pos, mer, TradeAmount, money, TradeDate, 1);
+        //                     db.SaveChanges();
+
+        //                     int ParentUserId = user.ParentUserId;
+        //                     while(ParentUserId > 0)
+        //                     {
+        //                         Users puser = db.Users.FirstOrDefault(m => m.Id == ParentUserId);
+        //                         if(puser != null)
+        //                         {
+        //                             bool checkorder = orders.Any(m => m.UserId == ParentUserId);
+        //                             if(checkorder)
+        //                             {
+        //                                 AddProfitRecord(db, puser, pos, mer, TradeAmount, money2, TradeDate, 112);
+        //                                 db.SaveChanges();
+        //                                 ParentUserId = 0;
+        //                             }
+        //                             else
+        //                             {
+        //                                 ParentUserId = puser.ParentUserId;
+        //                             }
+        //                         }
+        //                         else
+        //                         {
+        //                             ParentUserId = 0;
+        //                         }
+        //                     }
+        //                 }
+        //                 function.WriteLog(index + "--Id:" + sub.Id + ";MerchantId:" + sub.MerchantId + ";" + DateTime.Now.ToString(), "助利宝分润日志");
+        //             }
+        //         }
+        //         else
+        //         {
+        //             op = false;
+        //         }
+        //     }
+        //     db.Dispose();
+        //     function.WriteLog("结束:" + DateTime.Now.ToString(), "助利宝分润日志");
+        // }
+
+        // private void AddProfitRecord(WebCMSEntities db, Users puser, PosMachinesTwo pos, PosMerchantInfo merchant, decimal TradeAmount, decimal Prize, string TradeDate, int RewardType)
+        // {
+        //     if(Prize == 0)
+        //     {
+        //         return;
+        //     }
+        //     string RewardDesc = "助利宝分润";
+        //     if(RewardType == 112)
+        //     {
+        //         RewardDesc = "助利宝推荐分润";
+        //     }
+        //     string TradeMonth = TradeDate.Substring(0, 6);
+        //     HelpProfitRewardDetail detail = db.HelpProfitRewardDetail.Add(new HelpProfitRewardDetail()
+        //     {
+        //         CreateDate = DateTime.Now,
+        //         UpdateDate = DateTime.Now,
+        //         TradeMonth = TradeMonth, //交易月
+        //         SeoTitle = TradeDate,
+        //         UserId = puser.Id, //创客
+        //         BrandId = pos.BrandId, //品牌
+        //         ProductName = RelationClass.GetKqProductsInfo(pos.BrandId), //产品名称
+        //         MerchantId = pos.BindMerchantId, //商户
+        //         DirectUserId = merchant.UserId, //商户直属人
+        //         SnNo = pos.PosSn, //SN号
+        //         MerNo = merchant.KqMerNo, //渠道商户号
+        //         SnType = pos.PosSnType, //机具类型
+        //         StandardDate = pos.ActivationTime, //商户的激活日期
+        //         SnStoreId = pos.StoreId, //SN仓库
+        //         MerBuddyType = puser.MerchantType, //商户创客类型
+        //         RewardType = RewardType, //奖励类型
+        //         RewardTips = RewardDesc, //奖励描述
+        //         CreditTradeAmt = TradeAmount, //贷记卡交易总金额
+        //         CreditRewardAmount = Prize, //贷记卡交易奖励金额
+        //         RewardDesc = RewardDesc, //奖励描述
+        //     }).Entity;
+        //     db.HelpProfitReward.Add(new HelpProfitReward()
+        //     {
+        //         CreateDate = DateTime.Now,
+        //         UpdateDate = DateTime.Now,
+        //         TradeMonth = TradeMonth, //交易月
+        //         SeoTitle = TradeDate,
+        //         UserId = puser.Id, //创客
+        //         BrandId = pos.BrandId, //品牌
+        //         RewardType = RewardType, //奖励类型
+        //         CreditTradeAmt = TradeAmount, //贷记卡交易总金额
+        //         CreditRewardAmount = Prize, //贷记卡交易奖励金额
+        //         RewardDesc = RewardDesc, //奖励描述
+        //     });
+        // }
+
+        public void StatProfitEveryDay(string Month)
+        {
+            string check = function.ReadInstance("/HelpProfitStat/" + Month + ".txt");
+            if (!string.IsNullOrEmpty(check))
+            {
+                return;
+            }
+            function.WritePage("/HelpProfitStat/", Month + ".txt", DateTime.Now.ToString());
+            WebCMSEntities db = new WebCMSEntities();
+            OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+            var orders = db.Orders.Select(m => new { m.UserId, m.Status, m.ProductId }).Where(m => m.Status > 0 && m.ProductId == 34).ToList();
+            DataTable list = OtherMySqlConn.dtable("select UserId,sum(TradeAmount) from HelpProfitMerchantForUser u,HelpProfitMerTradeSummay s where u.MerchantId=s.MerchantId and TradeMonth='" + Month + "' group by UserId");
+            function.WriteLog("开始:" + DateTime.Now.ToString(), "助利宝分润日志");
+            function.WriteLog("总数:" + list.Rows.Count, "助利宝分润日志");
+            int index = 0;
+            foreach (DataRow sub in list.Rows)
+            {
+                index += 1;
+                int UserId = int.Parse(sub["UserId"].ToString());
+                decimal TradeAmount = decimal.Parse(sub[1].ToString());
+
+                Users user = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+                decimal money = TradeAmount * 0.0005M;
+                decimal money2 = TradeAmount * 0.00005M;
+
+                AddProfitRecord(db, user, TradeAmount, money, Month, 1);
+                db.SaveChanges();
+
+                int ParentUserId = user.ParentUserId;
+                while (ParentUserId > 0)
+                {
+                    Users puser = db.Users.FirstOrDefault(m => m.Id == ParentUserId);
+                    if (puser != null)
+                    {
+                        bool checkorder = orders.Any(m => m.UserId == ParentUserId);
+                        if (checkorder)
+                        {
+                            AddProfitRecord(db, puser, TradeAmount, money2, Month, 112);
+                            db.SaveChanges();
+                            ParentUserId = 0;
+                        }
+                        else
+                        {
+                            ParentUserId = puser.ParentUserId;
+                        }
+                    }
+                    else
+                    {
+                        ParentUserId = 0;
+                    }
+                }
+                function.WriteLog(index + "--UserId:" + UserId + ";TradeAmount:" + TradeAmount + ";" + DateTime.Now.ToString(), "助利宝分润日志");
+            }
+            db.Dispose();
+            function.WriteLog("结束:" + DateTime.Now.ToString(), "助利宝分润日志");
+        }
+
+        private void AddProfitRecord(WebCMSEntities db, Users puser, decimal TradeAmount, decimal Prize, string TradeMonth, int RewardType)
+        {
+            if(Prize == 0)
+            {
+                return;
+            }
+            string RewardDesc = "助利宝分润";
+            if(RewardType == 112)
+            {
+                RewardDesc = "助利宝推荐分润";
+            }
+            db.HelpProfitReward.Add(new HelpProfitReward()
+            {
+                CreateDate = DateTime.Now,
+                UpdateDate = DateTime.Now,
+                TradeMonth = TradeMonth, //交易月
+                UserId = puser.Id, //创客
+                RewardType = RewardType, //奖励类型
+                CreditTradeAmt = TradeAmount, //贷记卡交易总金额
+                CreditRewardAmount = Prize, //贷记卡交易奖励金额
+                RewardDesc = RewardDesc, //奖励描述
+            });
+        }
+    }
+}

+ 88 - 0
AppStart/Helper/Profit/HelpProfitPreMerchantHelper.cs

@@ -0,0 +1,88 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Data;
+using MySystem.PxcModels;
+using Library;
+using System.Threading;
+using Microsoft.Extensions.Hosting;
+using System.Threading.Tasks;
+
+namespace MySystem
+{
+    public class HelpProfitPreMerchantHelper
+    {
+        public readonly static HelpProfitPreMerchantHelper Instance = new HelpProfitPreMerchantHelper();
+        private HelpProfitPreMerchantHelper()
+        {
+        }
+
+        // A:前一天剩余数量
+        // B:第二天释放助利宝商户数量
+        // C(20):每次递减数量
+        // D(100):释放助利宝商户最大数量
+        // B = A - C < C ? D : A - C;
+        
+        public void Start()
+        {
+            Thread th = new Thread(StartFor);
+            th.IsBackground = true;
+            th.Start();
+        }
+        public void StartFor()
+        {
+            while (true)
+            {
+                if(DateTime.Now.Hour >= 15 && DateTime.Now.Hour <= 16)
+                {
+                    StatEveryDay(DateTime.Now.ToString("yyyyMMdd"));
+                }
+                Thread.Sleep(600000);
+            }
+        }
+        public void StatEveryDay(string Date)
+        {
+            string check = function.ReadInstance("/HelpProfitResetMerchant/" + Date + ".txt");
+            if (!string.IsNullOrEmpty(check))
+            {
+                return;
+            }
+            function.WritePage("/HelpProfitResetMerchant/", Date + ".txt", DateTime.Now.ToString());
+            DateTime start = DateTime.Parse(Date.Substring(0, 4) + "-" + Date.Substring(4, 2) + "-" + Date.Substring(6, 2) + " 00:00:00");
+            string Month1 = start.AddMonths(-1).ToString("yyyyMM");
+            string Month2 = start.AddMonths(-2).ToString("yyyyMM");
+            string Month3 = start.AddMonths(-3).ToString("yyyyMM");
+            OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+            HelpProfitRelease obj = new HelpProfitRelease();
+            string JsonParam = function.ReadInstance("/PublicParam/HelpProfitRelease.txt"); //json参数文件
+            if(string.IsNullOrEmpty(JsonParam))
+            {
+                obj.MerBrandId = "1";
+                obj.GetCount = 100;
+                obj.ExpandCount = 20;
+                obj.SourceCount = 100;
+                function.WritePage("/PublicParam/", "HelpProfitRelease.txt", Newtonsoft.Json.JsonConvert.SerializeObject(obj));
+            }
+            else
+            {
+                obj = Newtonsoft.Json.JsonConvert.DeserializeObject<HelpProfitRelease>(JsonParam);
+            }
+            int ExpandCount = obj.ExpandCount; //膨胀数量
+            int SourceCount = obj.SourceCount; //原始数量
+            int GetCount = obj.GetCount; //当前实际发放数量
+            string BrandId = obj.MerBrandId; //允许释放的品牌
+            List<int> HelpProfitMerchantIds = RedisDbconn.Instance.GetList<int>("HelpProfitMerchantIds", 1, SourceCount);
+            int CurrentLastCount = HelpProfitMerchantIds.Count; //前一天剩余数量
+            //计算第二天释放助利宝商户数量
+            GetCount = CurrentLastCount - ExpandCount < ExpandCount ? SourceCount : CurrentLastCount - ExpandCount;
+            obj.GetCount = GetCount;
+            function.WritePage("/PublicParam/", "HelpProfitRelease.txt", Newtonsoft.Json.JsonConvert.SerializeObject(obj));
+            RedisDbconn.Instance.Clear("HelpProfitMerchantIds");
+            DataTable dt = OtherMySqlConn.dtable("SELECT MerchantId,sum FROM( SELECT MerchantId,SUM(TradeAmount) sum FROM PosMerchantTradeSummay WHERE Id>=3809083 and MerchantId not in (select MerchantId from HelpProfitMerIds) AND BrandId in (" + BrandId + ") AND TradeMonth in ('" + Month1 + "','" + Month2 + "','" + Month3 + "') GROUP BY MerchantId)a WHERE a.sum/3 >= 20000 and a.sum/3 <= 60000 limit " + GetCount);
+            foreach(DataRow dr in dt.Rows)
+            {
+                RedisDbconn.Instance.AddList("HelpProfitMerchantIds", int.Parse(function.CheckInt(dr["MerchantId"].ToString())));
+            }
+        }
+    }
+}

+ 121 - 0
AppStart/Helper/Profit/OpenService.cs

@@ -0,0 +1,121 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class OpenService
+    {
+        public readonly static OpenService Instance = new OpenService();
+        private OpenService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                string Msg = CheckData();
+                // jobInfo.Status = Msg == "success" ? 1: 0;
+                // jobInfo.Msg = Msg == "success" ? "执行完成": Msg;
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "OpenBack");
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "openback_err");
+                }
+                else
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "openback_service");
+                }
+            }
+        }
+
+        //检查机具扣费情况
+        private string CheckData()
+        {
+            DateTime StatDate = DateTime.Now.AddMonths(-1);
+            DateTime StartDate = DateTime.Parse(StatDate.ToString("yyyy-MM") + "-01 00:00:00");
+            DateTime EndDate = StartDate.AddMonths(1);
+            string TradeMonth = StatDate.ToString("yyyyMM");
+            WebCMSEntities db = new WebCMSEntities();
+            using (var tran = db.Database.BeginTransaction())
+            {
+                try
+                {
+                    List<OpenReward> list = db.OpenReward.Where(m => m.TradeMonth == TradeMonth && m.CheckStatus == 0).ToList();
+                    foreach (OpenReward sub in list)
+                    {
+                        OpenReward edit = db.OpenReward.FirstOrDefault(m => m.Id == sub.Id);
+                        if (edit != null)
+                        {
+                            edit.CheckStatus = 1;
+                            db.SaveChanges();
+                        }
+                        UserAccount account = db.UserAccount.FirstOrDefault(m => m.UserId == sub.UserId);
+                        if (account == null)
+                        {
+                            account = db.UserAccount.Add(new UserAccount()
+                            {
+                                Id = sub.UserId,
+                                CreateDate = DateTime.Now,
+                                UserId = sub.UserId,
+                                UserProperty = 0,
+                                UserType = 2,
+                            }).Entity;
+                            db.SaveChanges();
+                        }
+                        decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                        decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                        decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                        account.BalanceAmount += sub.CreditRewardAmount;
+                        account.TotalAmount += sub.CreditRewardAmount;
+                        decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                        decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                        decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                        db.SaveChanges();
+                        UserAccountRecord accountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                        {
+                            CreateDate = DateTime.Now,
+                            UpdateDate = DateTime.Now,
+                            UserId = sub.UserId, //创客
+                            ChangeType = 50, //变动类型
+                            ProductType = sub.BrandId, //产品类型
+                            ChangeAmount = sub.CreditRewardAmount, //变更金额
+                            BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                            AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                            BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                            AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                            BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                            AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                        }).Entity;
+                        db.SaveChanges();
+
+                    }
+                    
+                    tran.Commit();
+                }
+                catch (Exception ex)
+                {
+                    tran.Rollback();
+                    ErrorMsg msg = new ErrorMsg()
+                    {
+                        Time = DateTime.Now,
+                        ErrorContent = ex.ToString(),
+                    };
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "StandardServiceError");
+                }
+            }
+            db.Dispose();
+            return "success";
+        }
+    }
+}

+ 523 - 0
AppStart/Helper/Profit/ProfitCheckHelper.cs

@@ -0,0 +1,523 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Data;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class ProfitCheckHelper
+    {
+        public readonly static ProfitCheckHelper Instance = new ProfitCheckHelper();
+        private ProfitCheckHelper()
+        { }
+
+        public void Start()
+        {
+            try
+            {
+                function.WriteLog("导出分润:" + DateTime.Now.ToString(), "分润结果检查");
+                ExportProfitData(); //导出分润
+                function.WriteLog("导出补贴:" + DateTime.Now.ToString(), "分润结果检查");
+                ExportSubsidyData(); //导出补贴
+                // function.WriteLog("检查分润:" + DateTime.Now.ToString(), "分润结果检查");
+                // CheckProfit(); //检查分润
+                // function.WriteLog("检查补贴:" + DateTime.Now.ToString(), "分润结果检查");
+                // CheckSubsidy(); //检查补贴
+                function.WriteLog("结束:" + DateTime.Now.ToString(), "分润结果检查");
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "分润结果检查异常");
+            }
+        }
+
+        public void ExportProfitData()
+        {
+            string Month = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
+            WebCMSEntities db = new WebCMSEntities();
+            string StartId = function.CheckInt(function.ReadInstance("/PublicParam/ProfitRewardRecordId/" + Month + ".txt"));
+            OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+            DataTable dt = OtherMySqlConn.dtable("select u.MakerCode,u.RealName,u.UserLevel,r.Rank,(case when ProfitType=1 then '直营' else '团队' end) as DirectFlag,k.Name,BrandId,CreditTradeAmt,CreditTradeProfit,QrCreditTradeAmt,QrCreditTradeProfit,NonQrCreditTradeAmt,NonQrCreditTradeProfit,HelpCreditTradeAmt,HelpCreditTradeProfit,NotHelpCreditTradeAmt,NotHelpCreditTradeProfit,ProfitCreditTradeAmt,ProfitCreditTradeProfit,DebitTradeAmt,DebitTradeProfit from (select UserId,ProfitType,BrandId,sum(CreditTradeAmt) as CreditTradeAmt,sum(CreditTradeProfit) as CreditTradeProfit,sum(QrCreditTradeAmt) as QrCreditTradeAmt,sum(QrCreditTradeProfit) as QrCreditTradeProfit,sum(NonQrCreditTradeAmt) as NonQrCreditTradeAmt,sum(NonQrCreditTradeProfit) as NonQrCreditTradeProfit,sum(HelpCreditTradeAmt) as HelpCreditTradeAmt,sum(HelpCreditTradeProfit) as HelpCreditTradeProfit,sum(NotHelpCreditTradeAmt) as NotHelpCreditTradeAmt,sum(NotHelpCreditTradeProfit) as NotHelpCreditTradeProfit,sum(ProfitCreditTradeAmt) as ProfitCreditTradeAmt,sum(ProfitCreditTradeProfit) as ProfitCreditTradeProfit,sum(ProfitCreditTradeAmt2) as ProfitCreditTradeAmt2,sum(ProfitCreditTradeProfit2) as ProfitCreditTradeProfit2,sum(DebitNonCapTradeAmt+DebitCapTradeAmt) as DebitTradeAmt,sum(DebitNonTradeCapProfit+DebitTradeCapProfit) as DebitTradeProfit from ProfitRewardRecord where Id>=" + StartId + " and TradeMonth='" + Month + "' GROUP BY UserId,ProfitType,BrandId) tb left join Users u on tb.UserId=u.Id LEFT JOIN KqProducts k ON k.Id=tb.BrandId left join UserRankWhite r on u.Id=r.Id and r.CreateDate<'" + DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00' and r.UpdateDate>'" + DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00' ORDER BY u.MakerCode");
+            function.WriteLog(DateTime.Now.ToString() + ":" + dt.Rows.Count, "分润结果检查");
+            int index = 0;
+            foreach(DataRow dr in dt.Rows)
+            {
+                index += 1;
+                string MakerCode = dr["MakerCode"].ToString();
+                string RealName = dr["RealName"].ToString();
+                int UserLevel = int.Parse(function.CheckInt(dr["UserLevel"].ToString()));
+                int Rank = int.Parse(function.CheckInt(dr["Rank"].ToString()));
+                string DirectFlag = dr["DirectFlag"].ToString();
+                string BrandName = dr["Name"].ToString();
+                int BrandId = int.Parse(function.CheckInt(dr["BrandId"].ToString()));
+                decimal CreditTradeAmt = decimal.Parse(function.CheckNum(dr["CreditTradeAmt"].ToString()));
+                decimal CreditTradeProfit = decimal.Parse(function.CheckNum(dr["CreditTradeProfit"].ToString()));
+                decimal QrCreditTradeAmt = decimal.Parse(function.CheckNum(dr["QrCreditTradeAmt"].ToString()));
+                decimal QrCreditTradeProfit = decimal.Parse(function.CheckNum(dr["QrCreditTradeProfit"].ToString()));
+                decimal NonQrCreditTradeAmt = decimal.Parse(function.CheckNum(dr["NonQrCreditTradeAmt"].ToString()));
+                decimal NonQrCreditTradeProfit = decimal.Parse(function.CheckNum(dr["NonQrCreditTradeProfit"].ToString()));
+                decimal HelpCreditTradeAmt = decimal.Parse(function.CheckNum(dr["HelpCreditTradeAmt"].ToString()));
+                decimal HelpCreditTradeProfit = decimal.Parse(function.CheckNum(dr["HelpCreditTradeProfit"].ToString()));
+                decimal NotHelpCreditTradeAmt = decimal.Parse(function.CheckNum(dr["NotHelpCreditTradeAmt"].ToString()));
+                decimal NotHelpCreditTradeProfit = decimal.Parse(function.CheckNum(dr["NotHelpCreditTradeProfit"].ToString()));
+                decimal ProfitCreditTradeAmt = decimal.Parse(function.CheckNum(dr["ProfitCreditTradeAmt"].ToString()));
+                decimal ProfitCreditTradeProfit = decimal.Parse(function.CheckNum(dr["ProfitCreditTradeProfit"].ToString()));
+                decimal ProfitCreditTradeAmt2 = decimal.Parse(function.CheckNum(dr["ProfitCreditTradeAmt2"].ToString()));
+                decimal ProfitCreditTradeProfit2 = decimal.Parse(function.CheckNum(dr["ProfitCreditTradeProfit2"].ToString()));
+                decimal DebitTradeAmt = decimal.Parse(function.CheckNum(dr["DebitTradeAmt"].ToString()));
+                decimal DebitTradeProfit = decimal.Parse(function.CheckNum(dr["DebitTradeProfit"].ToString()));
+                db.ProfitRewardExport.Add(new ProfitRewardExport()
+                {
+                    CreateDate = DateTime.Now,
+                    Sort = BrandId,
+                    SeoTitle = Month,
+                    MakerCode = MakerCode,
+                    RealName = RealName,
+                    UserLevel = UserLevel,
+                    Rank = Rank,
+                    DirectFlag = DirectFlag,
+                    BrandName = BrandName,
+                    CreditTradeAmt = CreditTradeAmt,
+                    CreditTradeProfit = CreditTradeProfit,
+                    QrCreditTradeAmt = QrCreditTradeAmt,
+                    QrCreditTradeProfit = QrCreditTradeProfit,
+                    NonQrCreditTradeAmt = NonQrCreditTradeAmt,
+                    NonQrCreditTradeProfit = NonQrCreditTradeProfit,
+                    HelpCreditTradeAmt = HelpCreditTradeAmt,
+                    HelpCreditTradeProfit = HelpCreditTradeProfit,
+                    NotHelpCreditTradeAmt = NotHelpCreditTradeAmt,
+                    NotHelpCreditTradeProfit = NotHelpCreditTradeProfit,
+                    ProfitCreditTradeAmt = ProfitCreditTradeAmt,
+                    ProfitCreditTradeProfit = ProfitCreditTradeProfit,
+                    ProfitCreditTradeAmt2 = ProfitCreditTradeAmt2,
+                    ProfitCreditTradeProfit2 = ProfitCreditTradeProfit2,
+                    DebitTradeAmt = DebitTradeAmt,
+                    DebitTradeProfit = DebitTradeProfit,
+                });
+                if(index % 200 == 0)
+                {
+                    db.SaveChanges();
+                }
+                function.WriteLog(DateTime.Now.ToString() + ":" + index, "分润结果检查");
+            }
+            db.SaveChanges();
+            db.Dispose();
+        }
+
+        public void ExportSubsidyData()
+        {
+            string Month = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
+            WebCMSEntities db = new WebCMSEntities();
+            string StartId = function.CheckInt(function.ReadInstance("/PublicParam/ProfitSubsidyDetailId/" + Month + ".txt"));
+            OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+            DataTable dt = OtherMySqlConn.dtable("select u.MakerCode,u.RealName,u.UserLevel,r.Rank,m.KqSnNo,m.MerchantName,(case when SubsidyType=1 then '直营' else '团队' end) as DirectFlag,k.Name,tb.BrandId,CreditTradeAmt,SubsidyProfit from (select SubsidyUserId,MerchantId,BrandId,SubsidyType,sum(CreditTradeAmt) as CreditTradeAmt,sum(SubsidyProfitRate) as SubsidyProfit from ProfitSubsidyDetail where Id>=" + StartId + " and TradeMonth='" + Month + "' GROUP BY SubsidyUserId,MerchantId,BrandId,SubsidyType) tb left join Users u on tb.SubsidyUserId=u.Id LEFT JOIN KqProducts k ON k.Id=tb.BrandId left join PosMerchantInfo m on tb.MerchantId=m.Id left join UserRankWhite r on u.Id=r.Id and r.CreateDate<'" + DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00' and r.UpdateDate>'" + DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00'");
+            function.WriteLog(DateTime.Now.ToString() + ":" + dt.Rows.Count, "分润结果检查");
+            int index = 0;
+            foreach(DataRow dr in dt.Rows)
+            {
+                index += 1;
+                string MakerCode = dr["MakerCode"].ToString();
+                string RealName = dr["RealName"].ToString();
+                int UserLevel = int.Parse(function.CheckInt(dr["UserLevel"].ToString()));
+                int Rank = int.Parse(function.CheckInt(dr["Rank"].ToString()));
+                string KqSnNo = dr["KqSnNo"].ToString();
+                string MerchantName = dr["MerchantName"].ToString();
+                string DirectFlag = dr["DirectFlag"].ToString();
+                string BrandName = dr["Name"].ToString();
+                int BrandId = int.Parse(function.CheckInt(dr["BrandId"].ToString()));
+                decimal CreditTradeAmt = decimal.Parse(function.CheckNum(dr["CreditTradeAmt"].ToString()));
+                decimal SubsidyProfit = decimal.Parse(function.CheckNum(dr["SubsidyProfit"].ToString()));
+                db.ProfitSubsidyExport.Add(new ProfitSubsidyExport()
+                {
+                    CreateDate = DateTime.Now,
+                    Sort = BrandId,
+                    SeoTitle = Month,
+                    MakerCode = MakerCode,
+                    RealName = RealName,
+                    UserLevel = UserLevel,
+                    Rank = Rank,
+                    KqSnNo = KqSnNo,
+                    MerchantName = MerchantName,
+                    DirectFlag = DirectFlag,
+                    BrandName = BrandName,
+                    CreditTradeAmt = CreditTradeAmt,
+                    SubsidyProfit = SubsidyProfit,
+                });
+                if(index % 200 == 0)
+                {
+                    db.SaveChanges();
+                }
+                function.WriteLog(DateTime.Now.ToString() + ":" + index, "分润结果检查");
+            }
+            db.SaveChanges();
+            db.Dispose();
+        }
+
+        public void CheckProfit()
+        {
+            DateTime now = DateTime.Now;
+            string Month = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
+            WebCMSEntities db = new WebCMSEntities();
+            bool checkOp = true;
+            int StartId = 0;
+            while(checkOp)
+            {
+                List<int> ids = new List<int>();
+                List<ProfitRewardExport> list = db.ProfitRewardExport.Where(m => m.SeoTitle == Month && m.Id > StartId && m.Status == 0).OrderBy(m => m.MakerCode).ThenBy(m => m.DirectFlag).ThenBy(m => m.BrandName).ThenBy(m => m.Id).Take(50).ToList();
+                function.WriteLog(DateTime.Now.ToString() + ":" + list.Count, "分润结果检查");
+                if(list.Count > 0)
+                {
+                    int index = 0;
+                    foreach(ProfitRewardExport sub in list)
+                    {
+                        index += 1;
+                        int BrandId = sub.Sort;
+                        string MakerCode = sub.MakerCode;
+                        decimal TotalProfit = 0;
+                        UserForMakerCode userForMakerCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == MakerCode) ?? new UserForMakerCode();
+                        int UserId = userForMakerCode.UserId;
+                        Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
+                        if(user == null)
+                        {
+                            user = db.Users.FirstOrDefault(m => m.MakerCode == MakerCode) ?? new Users();
+                            UserId = user.Id;
+                        }
+                        string LogString = function.ReadInstance("/ProfitDetailLog/" + Month + "/" + UserId + ".txt");
+                        LogString += "创客编号:" + user.MakerCode + ",创客名称:" + user.RealName + "\n";
+                        int UserLevel = GetLevel(db, UserId, user.UserLevel);
+                        LogString += "创客职级:K" + UserLevel + "\n";
+                        LogString += "分润类型:" + sub.DirectFlag + "\n";
+                        LogString += "分润品牌:" + sub.BrandName + "\n";
+                        if(sub.DirectFlag == "直营")
+                        {
+                            decimal HelpTradeAmt = 0;
+                            decimal NotHelpTradeAmt = 0;
+                            decimal ProfitTradeAmt = 0;
+                            decimal HelpProfit = 0;
+                            decimal NotHelpProfit = 0;
+                            decimal ProfitProfit = 0;
+                            bool check = db.TradeDaySummary.Any(m => m.UserId == user.Id && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "self" && m.HelpDirectTradeAmt > 0);
+                            if(check)
+                            {
+                                HelpTradeAmt = db.TradeDaySummary.Where(m => m.UserId == user.Id && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "self").Sum(m => m.HelpDirectTradeAmt);
+                            }
+                            LogString += "扶持期交易额:" + HelpTradeAmt + "\n";
+                            check = db.TradeDaySummary.Any(m => m.UserId == user.Id && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "self" && m.NotHelpDirectTradeAmt > 0);
+                            if(check)
+                            {
+                                NotHelpTradeAmt = db.TradeDaySummary.Where(m => m.UserId == user.Id && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "self").Sum(m => m.NotHelpDirectTradeAmt);
+                            }
+                            LogString += "稳定期交易额:" + NotHelpTradeAmt + "\n";
+                            check = db.TradeDaySummary.Any(m => m.UserId == user.Id && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "self" && m.ProfitDirectTradeAmt > 0);
+                            if(check)
+                            {
+                                ProfitTradeAmt = db.TradeDaySummary.Where(m => m.UserId == user.Id && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "self").Sum(m => m.ProfitDirectTradeAmt);
+                            }
+                            LogString += "盈利期交易额:" + ProfitTradeAmt + "\n";
+                            if(HelpTradeAmt > 0)
+                            {
+                                decimal percent = GetLevelProfit(BrandId, UserLevel, 1);
+                                HelpProfit = HelpTradeAmt * percent;
+                                LogString += "扶持期分润:" + HelpTradeAmt + " * " + percent + " = " + HelpProfit + "\n";
+                            }
+                            if(NotHelpTradeAmt > 0)
+                            {
+                                decimal percent = GetLevelProfit(BrandId, UserLevel, 0);
+                                NotHelpProfit = NotHelpTradeAmt * percent;
+                                LogString += "稳定期分润:" + NotHelpTradeAmt + " * " + percent + " = " + NotHelpProfit + "\n";
+                            }
+                            if(ProfitTradeAmt > 0)
+                            {
+                                decimal percent = GetLevelProfit(BrandId, UserLevel, 2);
+                                ProfitProfit = ProfitTradeAmt * percent;
+                                LogString += "盈利期分润:" + ProfitTradeAmt + " * " + percent + " = " + ProfitProfit + "\n";
+                            }
+                            TotalProfit += HelpProfit + NotHelpProfit + ProfitProfit;
+                            LogString += "总分润:" + TotalProfit + "\n";
+                        }
+                        else
+                        {
+                            var subusers = db.Users.Select(m => new { m.Id, m.ParentUserId, m.AuthFlag }).Where(m => m.ParentUserId == UserId && m.AuthFlag == 1).ToList();
+                            LogString += "直推人数:" + subusers.Count + "\n";
+                            foreach(var subuser in subusers)
+                            {
+                                Users suser = db.Users.FirstOrDefault(m => m.Id == subuser.Id) ?? new Users();
+                                LogString += "直推创客编号:" + suser.MakerCode + ",直推创客名称:" + suser.RealName + "\n";
+                                int sUserLevel = GetLevel(db, subuser.Id, suser.UserLevel);
+                                LogString += "直推创客职级:K" + sUserLevel + "\n";
+                                if(sUserLevel < UserLevel)
+                                {
+                                    decimal HelpTradeAmt = 0;
+                                    decimal NotHelpTradeAmt = 0;
+                                    decimal ProfitTradeAmt = 0;
+                                    decimal HelpProfit = 0;
+                                    decimal NotHelpProfit = 0;
+                                    decimal ProfitProfit = 0;
+                                    bool check = db.TradeDaySummary.Any(m => m.UserId == subuser.Id && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "team" && m.HelpNonDirectTradeAmt > 0);
+                                    if(check)
+                                    {
+                                        HelpTradeAmt = db.TradeDaySummary.Where(m => m.UserId == subuser.Id && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "team").Sum(m => m.HelpNonDirectTradeAmt);
+                                    }
+                                    LogString += "扶持期交易额:" + HelpTradeAmt + "\n";
+                                    check = db.TradeDaySummary.Any(m => m.UserId == subuser.Id && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "team" && m.NotHelpNonDirectTradeAmt > 0);
+                                    if(check)
+                                    {
+                                        NotHelpTradeAmt = db.TradeDaySummary.Where(m => m.UserId == subuser.Id && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "team").Sum(m => m.NotHelpNonDirectTradeAmt);
+                                    }
+                                    LogString += "稳定期交易额:" + NotHelpTradeAmt + "\n";
+                                    check = db.TradeDaySummary.Any(m => m.UserId == subuser.Id && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "team" && m.ProfitNonDirectTradeAmt > 0);
+                                    if(check)
+                                    {
+                                        ProfitTradeAmt = db.TradeDaySummary.Where(m => m.UserId == subuser.Id && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "team").Sum(m => m.ProfitNonDirectTradeAmt);
+                                    }
+                                    LogString += "盈利期交易额:" + ProfitTradeAmt + "\n";
+
+                                    string UserIdString = "," + subuser.Id + ",";
+                                    List<Users> busers = db.Users.Where(m => m.ParentNav.Contains(UserIdString) && m.AuthFlag == 1).ToList();
+                                    List<ProfitUsers> busernavs = new List<ProfitUsers>();
+                                    foreach (var buser in busers)
+                                    {
+                                        int bUserLevel = GetLevel(db, buser.Id, buser.UserLevel);
+                                        if(bUserLevel >= UserLevel)
+                                        {
+                                            busernavs.Add(new ProfitUsers()
+                                            {
+                                                UserId = buser.Id,
+                                                UserLevel = bUserLevel,
+                                                UserNav = buser.ParentNav,
+                                                MakerCode = buser.MakerCode,
+                                                RealName = buser.RealName,
+                                            });
+                                        }
+                                        if(bUserLevel > sUserLevel)
+                                        {
+                                            sUserLevel = bUserLevel;
+                                        }
+                                    }
+                                    string LogHelpTradeAmt = HelpTradeAmt.ToString();
+                                    string LogNotHelpTradeAmt = NotHelpTradeAmt.ToString();
+                                    string LogProfitTradeAmt = ProfitTradeAmt.ToString();
+                                    if(busernavs.Count > 0)
+                                    {
+                                        LogString += "团队中等级超过K" + UserLevel + ":\n";
+                                        LogString += "..................\n";
+                                        List<string> ParentNavs = new List<string>();
+                                        busernavs = busernavs.OrderBy(m => m.UserNav).ToList();
+                                        foreach(ProfitUsers busernav in busernavs)
+                                        {
+                                            bool op = true; //是否满足条件
+                                            string ParentNav = busernav.UserNav + "," + busernav.UserId + ",";
+                                            foreach (string subNav in ParentNavs)
+                                            {
+                                                if (ParentNav.StartsWith(subNav) && ParentNav != subNav)
+                                                {
+                                                    op = false;
+                                                }
+                                            }
+                                            if(op)
+                                            {
+                                                bool OtherCheck = db.TradeDaySummary.Any(m => m.UserId == busernav.UserId && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "team" && m.HelpNonDirectTradeAmt > 0);
+                                                decimal OtherHelpTradeAmt = 0;
+                                                decimal OtherNotHelpTradeAmt = 0;
+                                                decimal OtherProfitTradeAmt = 0;
+                                                if(OtherCheck)
+                                                {
+                                                    OtherHelpTradeAmt = db.TradeDaySummary.Where(m => m.UserId == busernav.UserId && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "team").Sum(m => m.HelpNonDirectTradeAmt);
+                                                }
+                                                OtherCheck = db.TradeDaySummary.Any(m => m.UserId == busernav.UserId && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "team" && m.NotHelpNonDirectTradeAmt > 0);
+                                                if(OtherCheck)
+                                                {
+                                                    OtherNotHelpTradeAmt = db.TradeDaySummary.Where(m => m.UserId == busernav.UserId && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "team").Sum(m => m.NotHelpNonDirectTradeAmt);
+                                                }
+                                                OtherCheck = db.TradeDaySummary.Any(m => m.UserId == busernav.UserId && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "team" && m.ProfitNonDirectTradeAmt > 0);
+                                                if(OtherCheck)
+                                                {
+                                                    OtherProfitTradeAmt = db.TradeDaySummary.Where(m => m.UserId == busernav.UserId && m.TradeMonth == Month && m.BrandId == BrandId && m.SeoTitle == "team").Sum(m => m.ProfitNonDirectTradeAmt);
+                                                }
+                                                HelpTradeAmt -= OtherHelpTradeAmt;
+                                                NotHelpTradeAmt -= OtherNotHelpTradeAmt;
+                                                ProfitTradeAmt -= OtherProfitTradeAmt;
+                                                LogString += "\n----创客编号:" + busernav.MakerCode + ",创客名称:" + busernav.RealName + "\n";
+                                                LogString += "----创客职级:" + busernav.UserLevel + "\n";
+                                                LogString += "----扶持期交易额:" + OtherHelpTradeAmt + "\n";
+                                                LogString += "----稳定期交易额:" + OtherNotHelpTradeAmt + "\n";
+                                                LogString += "----盈利期交易额:" + OtherProfitTradeAmt + "\n";
+                                                if(OtherHelpTradeAmt > 0)
+                                                {
+                                                    LogHelpTradeAmt += " - " + OtherHelpTradeAmt;
+                                                }
+                                                if(OtherNotHelpTradeAmt > 0)
+                                                {
+                                                    LogNotHelpTradeAmt += " - " + OtherNotHelpTradeAmt;
+                                                }
+                                                if(OtherProfitTradeAmt > 0)
+                                                {
+                                                    LogProfitTradeAmt += " - " + OtherProfitTradeAmt;
+                                                }
+                                            }
+                                            ParentNavs.Add(ParentNav);
+                                        }
+                                    }
+                                    if(HelpTradeAmt > 0)
+                                    {
+                                        decimal parentpercent = GetLevelProfit(BrandId, UserLevel, 1);
+                                        decimal percent = GetLevelProfit(BrandId, sUserLevel, 1);
+                                        HelpProfit = HelpTradeAmt * (parentpercent - percent);
+                                        if(LogHelpTradeAmt.Contains("-"))
+                                        {
+                                            LogHelpTradeAmt = "(" + LogHelpTradeAmt + ")";
+                                        }
+                                        LogString += "扶持期分润:" + LogHelpTradeAmt + " * (" + parentpercent + " - " + percent + ") = " + HelpProfit + "\n";
+                                    }
+                                    if(NotHelpTradeAmt > 0)
+                                    {
+                                        decimal parentpercent = GetLevelProfit(BrandId, UserLevel, 0);
+                                        decimal percent = GetLevelProfit(BrandId, sUserLevel, 0);
+                                        if(LogNotHelpTradeAmt.Contains("-"))
+                                        {
+                                            LogNotHelpTradeAmt = "(" + LogNotHelpTradeAmt + ")";
+                                        }
+                                        NotHelpProfit = NotHelpTradeAmt * (parentpercent - percent);
+                                        LogString += "稳定期分润:" + LogNotHelpTradeAmt + " * (" + parentpercent + " - " + percent + ") = " + NotHelpProfit + "\n";
+                                    }
+                                    if(ProfitTradeAmt > 0)
+                                    {
+                                        decimal parentpercent = GetLevelProfit(BrandId, UserLevel, 2);
+                                        decimal percent = GetLevelProfit(BrandId, sUserLevel, 2);
+                                        if(LogProfitTradeAmt.Contains("-"))
+                                        {
+                                            LogProfitTradeAmt = "(" + LogProfitTradeAmt + ")";
+                                        }
+                                        ProfitProfit = ProfitTradeAmt * (parentpercent - percent);
+                                        LogString += "盈利期分润:" + LogProfitTradeAmt + " * (" + parentpercent + " - " + percent + ") = " + ProfitProfit + "\n";
+                                    }
+                                    decimal SubTotalProfit = HelpProfit + NotHelpProfit + ProfitProfit;
+                                    TotalProfit += SubTotalProfit;
+                                    LogString += "总分润:" + SubTotalProfit + "\n";
+                                }
+                                LogString += "--------------------------------------------------------------\n";
+                            }
+                        }
+                        decimal CheckProfit = sub.CreditTradeProfit - TotalProfit;
+                        string Result = "通过";
+                        if(Math.Abs(CheckProfit) > 10)
+                        {
+                            Result = "分润有误";
+                        }
+                        LogString += "系统分润:" + sub.CreditTradeProfit + "\n";
+                        LogString += "核对分润:" + TotalProfit + "\n";
+                        LogString += "核对结果:" + Result + "\n";
+                        LogString += "===================================================================================\n\n\n";
+                        function.WritePage("/ProfitDetailLog/" + Month + "/", UserId + ".txt", LogString);
+                        ProfitRewardExport edit = db.ProfitRewardExport.FirstOrDefault(m => m.Id == sub.Id);
+                        if(edit != null)
+                        {
+                            edit.SeoKeyword = TotalProfit.ToString();
+                            edit.SeoDescription = Result;
+                            edit.Status = 1;
+                            db.SaveChanges();
+                        }
+                        StartId = sub.Id;
+                        function.WriteLog(DateTime.Now.ToString() + "-" + index, "分润结果检查");
+                    }
+                }
+                else
+                {
+                    checkOp = false;
+                }
+            }
+            db.Dispose();
+        }
+
+        public void CheckSubsidy()
+        {
+            DateTime now = DateTime.Now;
+            string Month = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
+            WebCMSEntities db = new WebCMSEntities();
+            bool op = true;
+            int StartId = 0;
+            while(op)
+            {
+                List<ProfitSubsidyExport> list = db.ProfitSubsidyExport.Where(m => m.SeoTitle == Month && m.Id > StartId).OrderBy(m => m.Id).Take(50).ToList();
+                if(list.Count > 0)
+                {
+                    foreach(ProfitSubsidyExport sub in list)
+                    {
+                        int BrandId = sub.Sort;
+                        string MakerCode = sub.MakerCode;
+                        UserForMakerCode userForMakerCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == MakerCode) ?? new UserForMakerCode();
+                        int UserId = userForMakerCode.UserId;
+                        Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
+                        if(user == null)
+                        {
+                            user = db.Users.FirstOrDefault(m => m.MakerCode == MakerCode) ?? new Users();
+                            UserId = user.Id;
+                        }
+                        MachineForSnNo machineForSn = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == sub.KqSnNo) ?? new MachineForSnNo();
+                        PosMachinesTwo machine = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machineForSn.SnId) ?? new PosMachinesTwo();
+                        int UserLevel = GetLevel(db, UserId, user.UserLevel);
+                        decimal HelpTradeAmt = 0;
+                        bool check = db.PosMerchantTradeSummay.Any(m => m.MerchantId == machine.BindMerchantId && m.TradeMonth == Month && m.BrandId == BrandId && m.TradeAmount > 0);
+                        if(check)
+                        {
+                            HelpTradeAmt = db.PosMerchantTradeSummay.Where(m => m.MerchantId == machine.BindMerchantId && m.TradeMonth == Month && m.BrandId == BrandId).Sum(m => m.TradeAmount);
+                        }
+                        decimal percent = GetLevelProfit(BrandId, UserLevel, 1);
+                        decimal HelpProfit = (0.001M - percent) * HelpTradeAmt;
+                        decimal CheckProfit = sub.SubsidyProfit - HelpProfit;
+                        string Result = "通过";
+                        if(Math.Abs(CheckProfit) > 0.01M)
+                        {
+                            Result = "补贴有误";
+                        }
+                        ProfitSubsidyExport edit = db.ProfitSubsidyExport.FirstOrDefault(m => m.Id == sub.Id);
+                        if(edit != null)
+                        {
+                            edit.SeoKeyword = HelpProfit.ToString();
+                            edit.SeoDescription = Result;
+                            edit.Status = 1;
+                            db.SaveChanges();
+                        }
+                        StartId = sub.Id;
+                    }
+                }
+                else
+                {
+                    op = false;
+                }
+            }
+            db.Dispose();
+        }
+
+        //获取创客当前等级
+        private int GetLevel(WebCMSEntities db, int UserId, int UserLevel)
+        {
+            DateTime now = DateTime.Now;
+            DateTime ThisMonth = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00");
+            UserRankWhite rank = db.UserRankWhite.FirstOrDefault(m => m.Id == UserId && m.CreateDate < ThisMonth && m.UpdateDate > now);
+            if (rank != null)
+            {
+                if (rank.Rank > UserLevel)
+                {
+                    UserLevel = rank.Rank;
+                }
+            }
+            return UserLevel;
+        }
+
+        //获取等级分润比例
+        private decimal GetLevelProfit(int BrandId, int UserLevel, int Help)
+        {
+            int LevelKindId = ProfitHelperV2.Instance.GetLevelKindId(BrandId, Help, 1);
+            ProfitObjectLevels objlevel = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId + ":" + UserLevel); //获取当前等级参数
+            if (objlevel != null)
+            {
+                return objlevel.Percents;
+            }
+            return 0;
+        }
+    }
+}

+ 2073 - 0
AppStart/Helper/Profit/ProfitHelper.cs

@@ -0,0 +1,2073 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Data;
+using MySystem.PxcModels;
+using Library;
+using System.Threading;
+using Microsoft.Extensions.Hosting;
+using System.Threading.Tasks;
+
+namespace MySystem
+{
+    public class ProfitHelper
+    {
+        public readonly static ProfitHelper Instance = new ProfitHelper();
+        private ProfitHelper()
+        {
+        }
+        
+        #region 激活队列
+        public void StartListenActiveDo(PosMachinesTwo pos)
+        { 
+            try
+            {
+                
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":" + ex.ToString(), "激活奖励服务异常");
+            }
+        }
+        #endregion
+
+        #region 消费队列(执行消费退款金额的统计)
+        public void StartListenTradeDo()
+        {
+            bool op = true;
+            while (op)
+            {
+                string orderidstring = RedisDbconn.Instance.RPop<string>("ConsumerOrders:Divi:List");
+                if (!string.IsNullOrEmpty(orderidstring))
+                {
+                    ReturnStat(orderidstring);
+                }
+                else
+                {
+                    op = false;
+                }
+            }
+        }
+
+        public void ReturnStat(string orderidstring)
+        { 
+            int OrderId = int.Parse(function.CheckInt(orderidstring));
+            WebCMSEntities db = new WebCMSEntities();
+            using (var tran = db.Database.BeginTransaction())
+            {
+                try
+                {
+                    ConsumerOrders order = db.ConsumerOrders.FirstOrDefault(m => m.Id == OrderId);
+                    if (order != null)
+                    {
+                        int PayMode = order.PayMode;
+                        decimal PayMoney = order.PayMoney;
+                        int MerchantId = order.MerchantId;
+                        MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == MerchantId);
+                        if (merchant != null)
+                        {
+                            int UserId = merchant.UserId;
+                            List<CustomTagSet> customTagSets = RedisDbconn.Instance.GetList<CustomTagSet>("CustomTagSet", 1, 1000); //获取公用配置参数集和
+                            //获取参数
+                            CustomTagSet profitPercentSet = customTagSets.FirstOrDefault(m => m.Tags == "CusumerProfitPercent") ?? new CustomTagSet();
+                            decimal profitPercent = decimal.Parse(function.CheckNum(profitPercentSet.Contents)); //基于收款金额的总分润比例;
+                            CustomTagSet cusumerFeePercentSet = customTagSets.FirstOrDefault(m => m.Tags == "CusumerFeePercent") ?? new CustomTagSet();
+                            decimal cusumerFeePercent = decimal.Parse(function.CheckNum(cusumerFeePercentSet.Contents)); //费率;
+                            CustomTagSet minProfitSet = customTagSets.FirstOrDefault(m => m.Tags == "MinProfit") ?? new CustomTagSet();
+                            decimal minProfit = decimal.Parse(function.CheckNum(minProfitSet.Contents)); //最小分润值;
+
+                            MerchantParamSet set = Newtonsoft.Json.JsonConvert.DeserializeObject<MerchantParamSet>(order.SeoDescription);
+                            int DiviPersons = set.DiviPersons; //单笔订单分红人数
+                            decimal DiviPercent = set.DiviPercent; //单人最大分红比例
+                            int ProfitDays = set.ProfitDays; //分红期限(天)
+                            decimal GetPercent = set.GetPercent / 100; //商家实收比例
+                            decimal MinPayMoney = set.MinPayMoney; //订单参与门槛
+                            int IsAll = set.IsAll; //是否收全额
+                            decimal TotalActual = 0;
+                            if (IsAll == 0 && PayMoney >= MinPayMoney && GetPercent < 1)
+                            {
+                                decimal DiviMoney = PayMoney * (1 - GetPercent - cusumerFeePercent - profitPercent);
+                                if (DiviMoney > 0)
+                                {
+                                    DiviMoney = DiviMoney / DiviPersons;
+                                    //付款人获取退款返现
+                                    // decimal GetMoney = order.MaxDivi - order.CurDivi;
+                                    // if (GetMoney >= DiviMoney)
+                                    // {
+                                    //     GetMoney = DiviMoney;
+                                    // }
+                                    // if (GetMoney > minProfit)
+                                    // {
+                                    //     order.CurDivi += GetMoney;
+                                    //     ConsumerProfit cprofit = db.ConsumerProfit.Add(new ConsumerProfit()
+                                    //     {
+                                    //         CreateDate = DateTime.Now,
+                                    //         ConsumerId = order.ConsumerId,
+                                    //         MerchantId = order.MerchantId,
+                                    //         OrderId = OrderId,
+                                    //         GetMoney = GetMoney,
+                                    //     }).Entity;
+                                    //     db.SaveChanges();
+                                    //     RedisDbconn.Instance.AddList("ConsumerOrdersStat", new RefundItem()
+                                    //     {
+                                    //         ProfitId = cprofit.Id,
+                                    //         TradeNo = order.OrderNo,
+                                    //         RefundMoney = GetMoney,
+                                    //         TotalMoney = PayMoney,
+                                    //         PayMode = order.PayMode,
+                                    //         MerchantId = order.MerchantId,
+                                    //     });
+                                    // }
+                                    List<int> deletes = new List<int>();
+                                    long CurDiviPersons = DiviPersons;
+                                    long QueueCount = RedisDbconn.Instance.Count("ConsumerOrders:Divi:" + MerchantId);
+                                    long CurQueueCount = QueueCount;
+                                    // int CheckNum = 0; //判断活动人数是否大于当前队列订单数来确认while循环的数量,如果是就少循环一次,判处自己的订单名额
+                                    if (CurDiviPersons >= CurQueueCount)
+                                    {
+                                        CurDiviPersons = CurQueueCount;
+                                    }
+                                    if (DiviPersons < QueueCount)
+                                    {
+                                        QueueCount = DiviPersons;
+                                    }
+                                    decimal OtherMoney = 0; // 退款金额>最大退款金额-当前退款金额,次金额应归还给商户
+                                    // 减去自己付的订单
+                                    // CurDiviPersons = CurDiviPersons - 1;
+                                    int OutCount = 0; // 出局人数
+                                    while (CurDiviPersons > 0)
+                                    {
+                                        ConsumerOrders suborder = RedisDbconn.Instance.RPop<ConsumerOrders>("ConsumerOrders:Divi:" + MerchantId);
+                                        if (suborder != null)
+                                        {
+                                            MerchantParamSet subset = Newtonsoft.Json.JsonConvert.DeserializeObject<MerchantParamSet>(order.SeoDescription);
+                                            int subProfitDays = subset.ProfitDays; //分红期限(天)
+                                            bool IsOut = suborder.UpdateDate.Value.AddDays(subProfitDays) < DateTime.Now ? true : false;
+                                            if (suborder.CurDivi < suborder.MaxDivi && !IsOut)
+                                            {
+                                                //如果没过期并且当前退款金额没超过最大退款金额,就执行
+                                                decimal GetMoney = suborder.MaxDivi - suborder.CurDivi;
+                                                decimal DiffMoney = 0;
+                                                if (GetMoney >= DiviMoney)
+                                                {
+                                                    GetMoney = DiviMoney;
+                                                }
+                                                else
+                                                {                                                     
+                                                    DiffMoney = DiviMoney - GetMoney;
+                                                }
+                                                if (GetMoney > minProfit)
+                                                {
+                                                    suborder.CurDivi += GetMoney;
+                                                    if (DiffMoney > 0)
+                                                    {
+                                                        OtherMoney += DiffMoney;
+                                                    }
+                                                    ConsumerProfit cprofit = db.ConsumerProfit.Add(new ConsumerProfit()
+                                                    {
+                                                        CreateDate = DateTime.Now,
+                                                        ConsumerId = suborder.ConsumerId,
+                                                        MerchantId = suborder.MerchantId,
+                                                        OrderId = OrderId,
+                                                        GetMoney = GetMoney,
+                                                    }).Entity;
+                                                    db.SaveChanges();
+                                                    RedisDbconn.Instance.AddList("ConsumerOrdersStat", new RefundItem()
+                                                    {
+                                                        ProfitId = cprofit.Id,
+                                                        TradeNo = order.OrderNo,
+                                                        RefundMoney = GetMoney,
+                                                        TotalMoney = PayMoney,
+                                                        PayMode = order.PayMode,
+                                                        MerchantId = order.MerchantId,
+                                                    });
+                                                    if (suborder.CurDivi < suborder.MaxDivi)
+                                                    {
+                                                        RedisDbconn.Instance.AddList("ConsumerOrders:Divi:" + MerchantId, suborder);
+                                                    }
+                                                    else
+                                                    {
+                                                        OutCount += 1;
+                                                    }
+                                                }
+                                            }
+                                            else
+                                            { 
+                                                //否者计算人数不计入退款名额
+                                                CurDiviPersons += 1;
+                                            }
+                                        }
+                                        CurDiviPersons -= 1;
+                                        QueueCount = RedisDbconn.Instance.Count("ConsumerOrders:Divi:" + MerchantId);
+                                        if (QueueCount == 0)
+                                        {
+                                            CurDiviPersons = 0;
+                                        }
+                                    }
+                                    long DoCount = DiviPersons > (QueueCount + OutCount) ? DiviPersons - QueueCount : 0;
+                                    decimal MerchantGetMoney = PayMoney * GetPercent;
+                                    decimal DoMoney = DoCount * DiviMoney;
+                                    TotalActual = PayMoney * GetPercent + DoCount * DiviMoney + OtherMoney;
+                                    function.WriteLog("返现金额:" + DiviMoney + ";返现人数:" + DiviPersons + ";返现商户:" + TotalActual + ";返现溢出:" + OtherMoney + ";商户应得金额:" + MerchantGetMoney + ";返现差额:" + DoMoney + ";", "消费者返现日志");
+
+                                    //创客分润
+                                    // DoProfit(db, order);
+
+                                    //代理商分润
+                                    // AgentProfit(db, order);
+                                }
+                            }
+                            else
+                            {
+                                TotalActual = PayMoney * (1 - cusumerFeePercent);
+                            }
+
+                            //统计商户数据
+                            string MonthString = order.UpdateDate.Value.ToString("yyyyMM");
+                            string DateString = order.UpdateDate.Value.ToString("yyyyMMdd");
+                            TotalActual = PublicFunction.NumberFormat(TotalActual);
+                            function.WriteLog(TotalActual.ToString(), "监控退款队列");
+                            merchant.TotalActual += TotalActual;
+                            db.SaveChanges();
+
+                            List<string> Dates = RedisDbconn.Instance.GetList<string>("ConsumerStat:" + MerchantId + ":" + MonthString, 1, 1000);
+                            if (!Dates.Contains(DateString))
+                            {
+                                RedisDbconn.Instance.AddList("ConsumerStat:" + MerchantId + ":" + MonthString, DateString);
+                            }
+                            MerchantIndexStat DateIndexStat = RedisDbconn.Instance.Get<MerchantIndexStat>("MerchantIndexStat:" + MerchantId + ":" + DateString) ?? new MerchantIndexStat();
+                            DateIndexStat.TotalOrder += 1;
+                            DateIndexStat.TotalAmount += PayMoney;
+                            DateIndexStat.TotalActual += TotalActual;
+                            if (order.PayMode == 1)
+                            {
+                                DateIndexStat.AlipayTotalAmount += PayMoney;
+                                DateIndexStat.AlipayTotalActual += TotalActual;
+                            }
+                            else if (order.PayMode == 2)
+                            {
+                                DateIndexStat.WeChatTotalAmount += PayMoney;
+                                DateIndexStat.WeChatTotalActual += TotalActual;
+                            }
+                            RedisDbconn.Instance.Set("MerchantIndexStat:" + MerchantId + ":" + DateString, DateIndexStat);
+
+                            List<string> Months = RedisDbconn.Instance.GetList<string>("ConsumerStat:" + MerchantId, 1, 1000);
+                            if (!Months.Contains(MonthString))
+                            {
+                                RedisDbconn.Instance.AddList("ConsumerStat:" + MerchantId, MonthString);
+                            }
+                            MerchantIndexStat MonthIndexStat = RedisDbconn.Instance.Get<MerchantIndexStat>("MerchantIndexStat:" + MerchantId + ":" + MonthString) ?? new MerchantIndexStat();
+                            MonthIndexStat.TotalOrder += 1;
+                            MonthIndexStat.TotalAmount += PayMoney;
+                            MonthIndexStat.TotalActual += TotalActual;
+                            if (order.PayMode == 1)
+                            {
+                                MonthIndexStat.AlipayTotalAmount += PayMoney;
+                                MonthIndexStat.AlipayTotalActual += TotalActual;
+                            }
+                            else if (order.PayMode == 2)
+                            {
+                                MonthIndexStat.WeChatTotalAmount += PayMoney;
+                                MonthIndexStat.WeChatTotalActual += TotalActual;
+                            }
+                            RedisDbconn.Instance.Set("MerchantIndexStat:" + MerchantId + ":" + MonthString, MonthIndexStat);
+
+                            //统计创客数据
+                            RedisDbconn.Instance.AddNumber("TeamTradeStat:" + UserId + ":" + MonthString, PayMoney);
+                            RedisDbconn.Instance.AddNumber("TeamTradeStat:" + UserId + ":" + DateString, PayMoney);
+                            RedisDbconn.Instance.AddNumber("TeamTradeStat:" + UserId + ":" + PayMode + ":" + DateString, PayMoney);
+                            RedisDbconn.Instance.AddNumber("TeamTradeStat:" + UserId + ":" + PayMode + ":" + DateString, PayMoney);
+
+                        }
+                    }
+                    tran.Commit();
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":" + ex.ToString(), "自定义分润程序监听队列异常");
+                    tran.Rollback();
+                }
+            }
+            db.Dispose();
+        }
+
+        //分润算法
+        public void DoProfit(WebCMSEntities dbnew, ConsumerOrders trade_record)
+        {
+            MerchantInfo merchant = dbnew.MerchantInfo.FirstOrDefault(m => m.Id == trade_record.MerchantId) ?? new MerchantInfo();
+            List<ProfitUsers> users = new List<ProfitUsers>();
+            int TopUserId = 0; //顶级创客Id
+            Users us = dbnew.Users.FirstOrDefault(a => a.Id == merchant.UserId);
+            if (us != null)
+            {
+                string uidstring = us.Id.ToString();
+                if (!string.IsNullOrEmpty(us.ParentNav))
+                {
+                    uidstring = us.ParentNav.Trim(',').Replace(",,", ",") + "," + uidstring;
+                    TopUserId = int.Parse(function.CheckInt(us.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]));
+                }
+                string[] uidlist = uidstring.Split(',');
+                Array.Reverse(uidlist);
+                foreach (string uidstr in uidlist)
+                {
+                    int puid = int.Parse(function.CheckInt(uidstr));
+                    Users pus = dbnew.Users.FirstOrDefault(a => a.Id == puid);
+                    if (pus != null)
+                    {
+                        users.Add(new ProfitUsers()
+                        {
+                            UserId = pus.Id,
+                            UserNav = pus.ParentNav,
+                            UserLevel = pus.UserLevel,
+                            CreateDate = pus.CreateDate.Value,
+                        });
+                    }
+                }
+            }
+            string TradeMonth = trade_record.CreateDate.Value.ToString("yyyyMM");
+            List<ProfitResult> list = new List<ProfitResult>();
+            list = StartProft(dbnew, trade_record, GetLevelKindId(1, 0, 1), users);
+            // using (var tran = dbnew.Database.BeginTransaction())
+            // {
+                try
+                {
+                    foreach (ProfitResult sub in list)
+                    {
+                        if (sub.Message == "分红奖励")
+                        { 
+                            UserAccountRecord accountRecord = dbnew.UserAccountRecord.Add(new UserAccountRecord()
+                            {
+                                CreateDate = DateTime.Now,
+                                UpdateDate = DateTime.Now,
+                                UserId = sub.UserId, //创客
+                                ChangeType = 11, //变动类型
+                                ProductType = 1, //产品类型
+                                ChangeAmount = sub.Money, //变更金额
+                                Status = -1,
+                            }).Entity;
+                            dbnew.SaveChanges();
+                        }
+                        else
+                        {
+                            int ProfitType = sub.UserId == merchant.UserId ? 0 : 1;
+                            ProfitRewardRecord editprofitrecord = dbnew.ProfitRewardRecord.FirstOrDefault(m => m.UserId == sub.UserId && m.MerchantId == trade_record.MerchantId && m.BrandId == 1 && m.ProfitType == ProfitType && m.TradeMonth == TradeMonth);
+                            if (editprofitrecord == null)
+                            {
+                                editprofitrecord = dbnew.ProfitRewardRecord.Add(new ProfitRewardRecord()
+                                {
+                                    CreateDate = DateTime.Now,
+                                    UserId = sub.UserId, //创客
+                                    MerchantId = trade_record.MerchantId, //商户
+                                    BrandId = 1, //品牌
+                                    ProfitType = ProfitType, //创客分润类型
+                                    TradeMonth = TradeMonth, //交易月
+                                    TopUserId = TopUserId, //顶级创客
+                                }).Entity;
+                                dbnew.SaveChanges();
+                                string RecordNo = "KPM";
+                                int RecordId = editprofitrecord.Id;
+                                string RecordIdString = RecordId.ToString();
+                                for (int i = 0; i < 14 - RecordId.ToString().Length; i++)
+                                {
+                                    RecordIdString = "0" + RecordIdString;
+                                }
+                                RecordNo += RecordIdString;
+                                editprofitrecord.RecordNo = RecordNo;
+                                dbnew.SaveChanges();
+                            }
+                            decimal TradeAmount = trade_record.PayMoney;
+                            editprofitrecord.TradeAmt += TradeAmount; //商户交易总额                            
+                            editprofitrecord.DebitCapTradeNum += 1; //商户借记卡封顶交易总笔数
+                            decimal ProfitMoney = sub.Money;
+                            dbnew.SaveChanges();
+
+                            dbnew.ProfitRecord.Add(new ProfitRecord()
+                            {
+                                CreateDate = DateTime.Now,
+                                UpdateDate = DateTime.Now,
+                                UserId = sub.UserId, //创客
+                                MerchantId = trade_record.MerchantId, //商户
+                                SnNo = trade_record.SnNo, //SN号
+                                TradeDate = trade_record.CreateDate, //交易日期
+                                ProfitAmount = sub.Money, //分润金额
+                                BrandId = 1, //品牌
+                                ParentNav = us.ParentNav, //上级创客集
+                                TradeId = trade_record.Id, //交易记录Id
+                            });
+                            dbnew.SaveChanges();
+                        }
+                    }
+                    dbnew.SaveChanges();
+                    // tran.Commit();
+                }
+                catch (Exception ex)
+                { 
+                    // tran.Rollback();
+                    ErrorMsg msg = new ErrorMsg()
+                    {
+                        Time = DateTime.Now,
+                        ErrorContent = ex.ToString(),
+                        Obj = Newtonsoft.Json.JsonConvert.SerializeObject(trade_record),
+                    };
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "MainServerProfitError");
+                }
+            // }
+        }
+
+        public void DoActives(WebCMSEntities dbnew, TradeRecord trade_record)
+        {
+            if (RedisDbconn.Instance.CheckKey("pobjact" + trade_record.Sort))
+            {
+                List<ProfitObjectsActives> objactives = RedisDbconn.Instance.GetList<ProfitObjectsActives>("pobjact" + trade_record.Sort);
+                if (objactives.Count > 0)
+                {
+                    string OtherCondition = " and Type=1";
+                    if (trade_record.Sort == 1) OtherCondition = " and Type<>1";
+                    else if (trade_record.Sort == 2) OtherCondition = " and Type<>1";
+                    else if (trade_record.Sort == 4) OtherCondition = " and Type=2";
+                    else if (trade_record.Sort == 11) OtherCondition = " and Type=2";
+                    else if (trade_record.Sort == 14) OtherCondition = " and (Type=1 or Type=3)";
+                    else if (trade_record.Sort == 6 || trade_record.Sort == 7 || trade_record.Sort == 18) OtherCondition = "";
+                    else if (trade_record.Sort == 29) OtherCondition = " and Type=2";
+                    PosMachinesTwo machine = dbnew.PosMachinesTwo.FirstOrDefault(m => m.PosSn == trade_record.SnNo) ?? new PosMachinesTwo();
+                    if (machine.ActivationState == 0)
+                    {
+                        return;
+                    }
+                    if (machine.BrandId == 0)
+                    {
+                        return;
+                    }
+                    Users user = dbnew.Users.FirstOrDefault(m => m.Id == machine.UserId) ?? new Users();
+                    Users buyuser = dbnew.Users.FirstOrDefault(m => m.Id == machine.BuyUserId) ?? new Users();
+                    Dictionary<string, ProfitUsers> Users = new Dictionary<string, ProfitUsers>();
+                    Users.Add("UserId", new ProfitUsers()
+                    {
+                        UserId = user.Id,
+                        UserNav = user.ParentNav,
+                        UserLevel = user.UserLevel,
+                    });
+                    Users.Add("BuyUserId", new ProfitUsers()
+                    {
+                        UserId = buyuser.Id,
+                        UserNav = buyuser.ParentNav,
+                        UserLevel = buyuser.UserLevel,
+                    });
+                    List<ProfitResult> list = StartActiveProft(dbnew, machine, trade_record.SnNo, trade_record.Sort, Users, new ActiveCheckData()
+                    {
+                        TableName = "TransactionRecord",
+                        StatField = "Money",
+                        CheckField = "pos_sn",
+                        OtherCondition = OtherCondition,
+                    });
+                    foreach (ProfitResult sub in list)
+                    {
+                        // dbnew.MybillTable.Add(new MybillTable()
+                        // {
+                        //     Content = sub.Message,
+                        //     Money = sub.Money,
+                        //     Type = 1,
+                        //     UserId = sub.UserId,
+                        //     UserNav = sub.UserNav,
+                        //     Kind = 2,
+                        //     CreateDate = DateTime.Now,
+                        //     SeoTitle = trade_record.SeoTitle,
+                        //     SeoKeyword = trade_record.SnNo,
+                        //     Sort = trade_record.Sort,
+                        //     Status = -3,
+                        // });
+                    }
+                    dbnew.SaveChanges();
+                }
+            }
+        }
+
+        //代理商分润算法
+        public void AgentProfit(WebCMSEntities db, ConsumerOrders order)
+        {
+            int MerchantId = order.MerchantId;
+            decimal PayMoney = order.PayMoney;
+            MerchantInfo merchant = db.MerchantInfo.FirstOrDefault(m => m.Id == MerchantId);
+            if (merchant != null)
+            {
+                List<CustomTagSet> customTagSets = RedisDbconn.Instance.GetList<CustomTagSet>("CustomTagSet", 1, 1000); //获取公用配置参数集和 // TODO: 后台配置
+                //获取代理商参数
+                CustomTagSet profitPercentSet = customTagSets.FirstOrDefault(m => m.Tags == "AgentProfitPercent") ?? new CustomTagSet();
+                decimal profitPercent = decimal.Parse(function.CheckNum(profitPercentSet.Contents)); //基于收款金额的总分润比例;
+                CustomTagSet makerProfitSet = customTagSets.FirstOrDefault(m => m.Tags == "AgentMakerProfit") ?? new CustomTagSet();
+                decimal makerProfit = decimal.Parse(function.CheckNum(makerProfitSet.Contents)); //创客分润比例;
+                CustomTagSet directProfitSet = customTagSets.FirstOrDefault(m => m.Tags == "AgentDirectProfit") ?? new CustomTagSet();
+                decimal directProfit = decimal.Parse(function.CheckNum(directProfitSet.Contents)); //直推分润比例;
+                CustomTagSet minProfitSet = customTagSets.FirstOrDefault(m => m.Tags == "MinProfit") ?? new CustomTagSet();
+                decimal minProfit = decimal.Parse(function.CheckNum(minProfitSet.Contents)); //最小分润值;
+
+                string MerAreas = merchant.Areas;
+                MerchantParamSet set = Newtonsoft.Json.JsonConvert.DeserializeObject<MerchantParamSet>(order.SeoDescription);
+                decimal ProfitMoney = PayMoney * (1 - set.DiviPercent) * profitPercent;
+                Users user = db.Users.FirstOrDefault(m => m.Id == merchant.UserId);
+                if (user != null)
+                {
+                    decimal ProfitAmount = ProfitMoney * makerProfit;
+                    if (ProfitAmount >= minProfit)
+                    {
+                        db.ProfitRecord.Add(new ProfitRecord()
+                        {
+                            CreateDate = DateTime.Now,
+                            UpdateDate = DateTime.Now,
+                            Remark = "分润奖励",
+                            UserId = user.Id, //创客
+                            MerchantId = MerchantId, //商户
+                            SnNo = order.SnNo, //SN号
+                            TradeDate = order.CreateDate, //交易日期
+                            ProfitAmount = ProfitAmount, //分润金额
+                            BrandId = 1, //品牌
+                            ParentNav = user.ParentNav, //上级创客集
+                            TradeId = order.Id, //交易记录Id
+                        });
+                        db.SaveChanges();
+                    }
+                }
+                Users puser = db.Users.FirstOrDefault(m => m.Id == user.ParentUserId);
+                if (puser != null)
+                {
+                    decimal ProfitAmount = ProfitMoney * directProfit;
+                    if (ProfitAmount >= minProfit)
+                    {
+                        db.ProfitRecord.Add(new ProfitRecord()
+                        {
+                            CreateDate = DateTime.Now,
+                            UpdateDate = DateTime.Now,
+                            Remark = "分润奖励",
+                            UserId = puser.Id, //创客
+                            MerchantId = MerchantId, //商户
+                            SnNo = order.SnNo, //SN号
+                            TradeDate = order.CreateDate, //交易日期
+                            ProfitAmount = ProfitAmount, //分润金额
+                            BrandId = 1, //品牌
+                            ParentNav = puser.ParentNav, //上级创客集
+                            TradeId = order.Id, //交易记录Id
+                        });
+                        db.SaveChanges();
+                    }
+                }
+                string[] areaList = MerAreas.Split(',');
+                decimal GetMoneyFlag = 0;
+                for (int i = 0; i < areaList.Length; i++)
+                {
+                    string CurAreas = "";
+                    for (int j = 0; j < areaList.Length - i; j++)
+                    {
+                        CurAreas += areaList[j] + ",";
+                    }
+                    CurAreas = CurAreas.TrimEnd(',');
+                    int AgentLevel = CurAreas.Split(',').Length;
+                    Users areaUser = db.Users.FirstOrDefault(m => m.AgentAreas == CurAreas && m.AgentLevel > AgentLevel);
+                    if (areaUser != null)
+                    {
+                        AgentLevelSet agentset = db.AgentLevelSet.FirstOrDefault(m => m.Id == AgentLevel) ?? new AgentLevelSet();
+                        decimal ProfitAmount = ProfitMoney * agentset.ProfitPercent;
+                        if (agentset.LevelDiff == 1)
+                        {
+                            ProfitAmount -= GetMoneyFlag;
+                        }
+                        if (ProfitAmount >= minProfit)
+                        {
+                            db.ProfitRecord.Add(new ProfitRecord()
+                            {
+                                CreateDate = DateTime.Now,
+                                UpdateDate = DateTime.Now,
+                                Remark = "分润奖励",
+                                UserId = puser.Id, //创客
+                                MerchantId = MerchantId, //商户
+                                SnNo = order.SnNo, //SN号
+                                TradeDate = order.CreateDate, //交易日期
+                                ProfitAmount = ProfitAmount, //分润金额
+                                BrandId = 1, //品牌
+                                ParentNav = puser.ParentNav, //上级创客集
+                                TradeId = order.Id, //交易记录Id
+                            });
+                            db.SaveChanges();
+                            GetMoneyFlag = ProfitAmount;
+                        }
+                        ProfitAmount = ProfitMoney * agentset.AreasProfitPercent;
+                        if (ProfitAmount >= minProfit)
+                        {
+                            db.ProfitRecord.Add(new ProfitRecord()
+                            {
+                                CreateDate = DateTime.Now,
+                                UpdateDate = DateTime.Now,
+                                Remark = "分润奖励",
+                                UserId = puser.Id, //创客
+                                MerchantId = MerchantId, //商户
+                                SnNo = order.SnNo, //SN号
+                                TradeDate = order.CreateDate, //交易日期
+                                ProfitAmount = ProfitAmount, //分润金额
+                                BrandId = 1, //品牌
+                                ParentNav = puser.ParentNav, //上级创客集
+                                TradeId = order.Id, //交易记录Id
+                            });
+                            db.SaveChanges();
+                        }
+                    }
+                }
+            }
+        }
+
+        // 收款金额:100
+        // 单笔退款金额 = (收款金额*返现比例 - 已返现金额) > (收款金额 - 收款金额*商家实收比例 - 收款金额*(1 - 商家实收比例)*10% - 手续费(收款金额*0.38%) ) / 返现人数 ? (收款金额 - 收款金额*商家实收比例 - 收款金额*(1 - 商家实收比例)*10% - 手续费(收款金额*0.38%)) / 返现人数 : (收款金额*返现比例 - 已返现金额)
+        // 分账金额: 收款金额*(1 - 商家实收比例)*10%
+        // 代理分润金额:   省:75%    市:65%    区县:55%   创客:30%    直推创客:5%
+        // 区域保护分润金额:省:5%     市:5%     区县:5%
+        // QE:
+        /*
+        条件1(跨区域开发商家):
+            A为四川省成都市金牛区代理,B为金牛区创客,C为B推荐的金牛区创客,D为四川省成都市代理,E为四川省代理,F为广东省深圳市南山区代理,G为广东省深圳市代理,H为广东省代理。
+            C推荐一个广东省深圳市南山区商家,交易金额1000元。
+        则:
+            C可得分润 = 分账金额 * 30%
+            B可得直推分润 = 分账金额 * 5%
+            A可得分润 = 分账金额 * (55% - 30%)
+            G可得分润 = 分账金额 * (65% - 55%)
+            H可得分润 = 分账金额 * (75% - 65%) 
+            F、G、H可再得区域保护分润 = 分账金额 * 5%
+
+            
+        条件2(同区域):
+            A为四川省成都市金牛区代理,B为金牛区创客,C为B推荐的金牛区创客,D为四川省成都市代理,E为四川省代理
+            C推荐一个四川省成都市金牛区商家,交易金额1000元。
+        则:
+            C可得分润 = 分账金额 * 30%
+            B可得直推分润 = 分账金额 * 5%
+            A可得分润 = 分账金额 * (55% - 30%)
+            D可得分润 = 分账金额 * (65% - 55%)
+            E可得分润 = 分账金额 * (75% - 65%) 
+            A、D、E可再得区域保护分润 = 分账金额 * 5%
+
+
+        条件3(代理断级):
+            B为金牛区创客,C为B推荐的金牛区创客,D为四川省成都市代理,E为四川省代理,F为广东省深圳市南山区代理,G为广东省深圳市代理,H为广东省代理。
+            C推荐一个广东省深圳市南山区商家,交易金额1000元。
+        则:
+            C可得分润 = 分账金额 * 30%
+            B可得直推分润 = 分账金额 * 5%
+            D可得分润 = 分账金额 * (65% - 30%)
+            H可得分润 = 分账金额 * (75% - 65%) 
+            F、G、H可再得区域保护分润 = 分账金额 * 5%
+
+        */
+
+        #endregion
+
+        #region 商户队列
+
+        public void StartListenMerchantDo(Dictionary<string, string> data, bool bind = false)
+        {
+            
+        }
+
+        #endregion
+
+        #region 绑定队列
+
+        public void StartListenBindDo(Dictionary<string, string> data)
+        {
+        }
+
+        #endregion      
+
+        #region 待分账队列
+
+        public void StartListenSplitAccount()
+        { 
+            bool op = true;
+            while (op)
+            {
+                try
+                {
+                    string orderidstring = RedisDbconn.Instance.Get<string>("ConsumerOrders:Divi:List");
+                    if (!string.IsNullOrEmpty(orderidstring))
+                    {
+                        int OrderId = int.Parse(function.CheckInt(orderidstring));
+                        WebCMSEntities db = new WebCMSEntities();
+                        ConsumerOrders order = db.ConsumerOrders.FirstOrDefault(m => m.Id == OrderId && m.Status == 1);
+                        if (order != null)
+                        {
+                            // TODO: 
+                        }
+                        db.Dispose();
+                    }
+                    else
+                    {
+                        op = false;
+                    }
+                }
+                catch (Exception ex)
+                {
+                    op = false;
+                    function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":" + ex.ToString(), "待分账队列异常");
+                }
+            }
+        }
+
+        #endregion
+
+
+
+
+        #region 分润算法
+        public List<ProfitResult> StartProft(WebCMSEntities dbnew, ConsumerOrders trade, int LevelKindId, List<ProfitUsers> users)
+        {
+            int BrandId = 1;
+            decimal TradeMoney = trade.PayMoney;
+            int BankCardType = 0; //银行卡类型:贷记卡-0,借记卡-1
+            int MerHelpFlag = 0; //扶持期-1,稳定期=0
+            List<UserLevelSet> levels = RedisDbconn.Instance.GetList<UserLevelSet>("pobjlevel");
+            List<ProfitResult> result = new List<ProfitResult>();
+            ProfitObjects obj = RedisDbconn.Instance.Get<ProfitObjects>("pobj" + BrandId);
+            if (obj.Status == 1) //判断分润是否开启
+            {
+                int maxLevel = obj.MaxLevel; //最大等级
+                int maxFloor = obj.MaxFloor; //最大层级
+                int maxContinueFloor = RedisDbconn.Instance.Get<int>("pobjconc" + BrandId); //最大继续分润层级
+                decimal diffLevelProfit = 0;  //等级级差
+                decimal diffDiviProfit = 0; //分红级差
+                int curLevel = 0; //当前层级的会员等级
+                for (int curFloor = 1; curFloor <= users.Count; curFloor++)
+                {
+                    ProfitUsers user = new ProfitUsers();
+                    if (curFloor <= users.Count)
+                    {
+                        user = users[curFloor - 1];
+                    }
+                    int UserLevel = 1; //user.UserLevel; //当前会员等级
+                    decimal utrade = RedisDbconn.Instance.Get<decimal>("TeamTradeStat:" + user.UserId + ":" + BrandId + ":" + DateTime.Now.ToString("yyMM"));
+                    UserLevelSet checklevel = levels.Where(m => m.UpLevelIntegral < utrade).OrderBy(m => m.Id).FirstOrDefault();
+                    if (checklevel != null)
+                    {
+                        UserLevel = checklevel.Id + 1;
+                    }
+                    //判断当前创客是否有直推的激活机具,并且在活动时间内
+                    if (UserLevel == maxLevel && UserLevel == curLevel)
+                    {
+                        break;
+                    }
+                    if (UserLevel <= maxLevel && UserLevel > curLevel)
+                    {
+                        ProfitObjectLevels objlevel = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId + ":" + UserLevel); //获取当前等级参数
+                        if (objlevel != null)
+                        {
+                            decimal getLevelProfit = 0;  //等级分润
+                            UserProfitSet profitSet = new UserProfitSet();
+                            if (objlevel.Percents > 0)
+                            {
+                                //获取创客分润规则,注册日开始算起,3个自然月内算扶持期
+                                decimal profitrate = 0;
+                                profitSet = dbnew.UserProfitSet.FirstOrDefault(m => m.UserId == user.UserId && m.BrandId == BrandId && m.CardType == BankCardType && m.HelpFlag == MerHelpFlag) ?? new UserProfitSet(); //获取创客分润规则-扶持期
+                                profitrate = profitSet.ProfitRate;
+                                profitrate = profitrate / 100;
+                                getLevelProfit += TradeMoney * objlevel.Percents * profitrate;
+                            }
+                            if (objlevel.AddProfitVal > 0)
+                            {
+                                //分红奖励:一个3000万,3000万以下市场总和大于1200万
+                                bool bigMarket = false;
+                                decimal smallMarket = 0;
+                                List<Users> directs = dbnew.Users.Where(m => m.ParentUserId == user.UserId).ToList();
+                                decimal BigMarketTradeAmt = int.Parse(RedisDbconn.Instance.Get<string>("pobjrule:" + BrandId + ":Dividends:BigMarketTradeAmt")); //大市场交易额
+                                decimal PassTradeAmt = int.Parse(RedisDbconn.Instance.Get<string>("pobjrule:" + BrandId + ":Dividends:PassTradeAmt")); //小市场交易超越额
+                                decimal UnitPrize = int.Parse(RedisDbconn.Instance.Get<string>("pobjrule:" + BrandId + ":Dividends:UnitPrize")); //单位奖励基数
+                                foreach (Users direct in directs)
+                                {
+                                    UserData userData = dbnew.UserData.FirstOrDefault(m => m.UserId == direct.Id) ?? new UserData();
+                                    if (userData.TotalOrderMoney >= BigMarketTradeAmt)
+                                    {
+                                        bigMarket = true;
+                                    }
+                                    else
+                                    {
+                                        smallMarket += userData.TotalOrderMoney;
+                                    }
+                                }
+                                if (bigMarket && smallMarket >= PassTradeAmt)
+                                { 
+                                    decimal DiviPrize = objlevel.AddProfitVal * TradeMoney / UnitPrize;
+                                    decimal checkmoney = DiviPrize;
+                                    DiviPrize -= diffDiviProfit;
+                                    if (objlevel.LevelDiff == 1)  //判断是否有级差
+                                    {
+                                        diffDiviProfit = checkmoney;
+                                    }
+                                    if (DiviPrize >= obj.MinProfitVal)
+                                    {
+                                        result.Add(new ProfitResult()
+                                        {
+                                            UserId = user.UserId,
+                                            UserNav = user.UserNav,
+                                            Money = DiviPrize,
+                                            Message = "分红奖励",
+                                        });
+                                    }
+                                }
+                            }
+                            decimal money = getLevelProfit;
+                            getLevelProfit -= diffLevelProfit;
+                            if (objlevel.LevelDiff == 1)  //判断是否有级差
+                            {
+                                diffLevelProfit = money;
+                            }
+                            if (getLevelProfit >= obj.MinProfitVal)
+                            {
+                                result.Add(new ProfitResult()
+                                {
+                                    UserId = user.UserId,
+                                    UserNav = user.UserNav,
+                                    Money = getLevelProfit,
+                                    ProfitRate = profitSet.ProfitRate,
+                                    ProfitPercent = profitSet.ProfitPercent,
+                                    AddOrSubRate = profitSet.AddOrSubRate,
+                                    ProfitRateBase = profitSet.ProfitRateBase,
+                                });
+                            }
+                        }
+                    }
+                    curLevel = UserLevel;
+                }
+            }
+            return result;
+        }
+        #endregion
+
+        #region 活动奖励算法
+        public List<ProfitResult> StartActiveProft(WebCMSEntities dbnew, PosMachinesTwo machine, string CheckObject, int ObjectId, Dictionary<string, ProfitUsers> Users, ActiveCheckData StatParam)
+        {
+            DateTime Start = machine.ActivationTime.Value;
+            List<ProfitResult> result = new List<ProfitResult>();
+            ProfitObjects obj = RedisDbconn.Instance.Get<ProfitObjects>("pobj" + ObjectId);
+            if (obj.Status == 1) //判断分润是否开启
+            {
+                List<ProfitObjectsActives> objactives = RedisDbconn.Instance.GetList<ProfitObjectsActives>("pobjact" + ObjectId);
+                foreach (ProfitObjectsActives objactive in objactives)
+                {
+                    if (objactive.StartDate <= DateTime.Now && objactive.EndDate >= DateTime.Now)
+                    {
+                        string UserKey = "UserId";
+                        decimal ProfitMoney = objactive.ProfitNumber;  //获得数
+                        decimal FinishNumber = objactive.FinishNumber; //完成数
+                        string CheckKey = CheckObject + "-" + objactive.Id;
+                        ProfitObjectsActiveCheck check = dbnew.ProfitObjectsActiveCheck.FirstOrDefault(m => m.CheckData == CheckKey);
+                        if (ProfitMoney > 0 && check == null)
+                        {
+                            int LimitDateKind = objactive.LimitDateKind; //时间限制类型 日月年/自定义
+                            if (LimitDateKind == 4)
+                            {
+                                DateTime LimitCustomerDate = objactive.LimitCustomerDate.Value; //过期时间
+                                if (LimitCustomerDate >= DateTime.Now)
+                                {
+                                    decimal totalTradeMoney = 0;
+                                    OtherMySqlConn.connstr = ConfigurationManager.AppSettings["OldSqlConnStr"].ToString();
+                                    string sqlstr = "select sum(" + StatParam.StatField + ") from " + StatParam.TableName + " where Id>=" + StatParam.StartId + " and " + StatParam.CheckField + "='" + CheckObject + "'" + StatParam.OtherCondition + " and CreateDate>='" + Start.ToString("yyyy-MM-dd HH:mm:ss") + "' and CreateDate<='" + LimitCustomerDate.ToString("yyyy-MM-dd HH:mm:ss") + "'";
+                                    DataTable dt = OtherMySqlConn.dtable(sqlstr);
+                                    if (dt.Rows.Count > 0)
+                                    {
+                                        totalTradeMoney = decimal.Parse(function.CheckNum(dt.Rows[0][0].ToString()));
+                                    }
+                                    // OtherMySqlConn.connstr = ;
+                                    if (totalTradeMoney >= FinishNumber && ProfitMoney >= obj.MinProfitVal)  //达到完成数,发放奖励
+                                    {
+                                        result.Add(new ProfitResult()
+                                        {
+                                            UserId = Users[UserKey].UserId,
+                                            UserNav = Users[UserKey].UserNav,
+                                            Money = ProfitMoney,
+                                        });
+                                        dbnew.ProfitObjectsActiveCheck.Add(new ProfitObjectsActiveCheck()
+                                        {
+                                            CheckData = CheckKey
+                                        });
+                                        dbnew.SaveChanges();
+                                    }
+                                }
+                            }
+                            else
+                            {
+                                int LimitDateVal = objactive.LimitDateVal; //时间限制值 日月年
+                                DateTime checkDate = Start;
+                                if (LimitDateKind == 1)
+                                {
+                                    checkDate = checkDate.AddDays(LimitDateVal);
+                                }
+                                else if (LimitDateKind == 2)
+                                {
+                                    checkDate = checkDate.AddMonths(LimitDateVal);
+                                }
+                                else if (LimitDateKind == 3)
+                                {
+                                    checkDate = checkDate.AddYears(LimitDateVal);
+                                }
+                                if (checkDate >= DateTime.Now)
+                                {
+                                    decimal totalTradeMoney = 0;
+                                    OtherMySqlConn.connstr = ConfigurationManager.AppSettings["OldSqlConnStr"].ToString();
+                                    string sql = "select sum(" + StatParam.StatField + ") from " + StatParam.TableName + " where Id>=" + StatParam.StartId + " and " + StatParam.CheckField + "='" + CheckObject + "'" + StatParam.OtherCondition + " and CreateDate>='" + Start.ToString("yyyy-MM-dd HH:mm:ss") + "' and CreateDate<='" + checkDate.ToString("yyyy-MM-dd HH:mm:ss") + "'";
+                                    DataTable dt = OtherMySqlConn.dtable(sql);
+                                    if (dt.Rows.Count > 0)
+                                    {
+                                        totalTradeMoney = decimal.Parse(function.CheckNum(dt.Rows[0][0].ToString()));
+                                    }
+                                    // OtherMySqlConn.connstr = ;
+                                    if (totalTradeMoney >= FinishNumber && ProfitMoney >= obj.MinProfitVal)  //达到完成数,发放奖励
+                                    {
+                                        result.Add(new ProfitResult()
+                                        {
+                                            UserId = Users[UserKey].UserId,
+                                            UserNav = Users[UserKey].UserNav,
+                                            Money = ProfitMoney,
+                                        });
+                                        dbnew.ProfitObjectsActiveCheck.Add(new ProfitObjectsActiveCheck()
+                                        {
+                                            CheckData = CheckKey
+                                        });
+                                        dbnew.SaveChanges();
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            return result;
+        }
+        #endregion
+
+        #region 激活奖励算法
+        public ProfitResult ActivationProft(PosMachinesTwo machine, ProfitUsers User)
+        {
+            int BrandId = machine.BrandId;
+            DateTime Start = machine.ActivationTime.Value;
+            ProfitResult result = new ProfitResult();
+            if (machine.PosSnType == 1 && machine.UserId != machine.BuyUserId) //循环机具,划拨给其他人,没有激活返现没有循环
+            { 
+                return result;
+            }
+            ProfitObjects obj = RedisDbconn.Instance.Get<ProfitObjects>("pobj" + BrandId);
+            if (obj.Status == 1) //判断分润是否开启
+            {
+                ProfitObjectActivations objact = RedisDbconn.Instance.Get<ProfitObjectActivations>("pobjacti" + BrandId);
+                if (objact.StartDate <= DateTime.Now && objact.EndDate >= DateTime.Now)
+                {
+                    int LimitDateKind = objact.LimitDateKind; //时间限制类型 日月年/自定义
+                    int LimitDateVal = objact.LimitDateVal; //时间限制值 日月年
+                    decimal ProfitMoney = objact.ProfitNumber;
+                    int MachineCount = objact.MachineCount;
+                    DateTime checkDate = Start;
+                    if (LimitDateKind == 1)
+                    {
+                        checkDate = checkDate.AddDays(LimitDateVal);
+                    }
+                    else if (LimitDateKind == 2)
+                    {
+                        checkDate = checkDate.AddMonths(LimitDateVal);
+                    }
+                    else if (LimitDateKind == 3)
+                    {
+                        checkDate = checkDate.AddYears(LimitDateVal);
+                    }
+                    else if (LimitDateKind == 4)
+                    {
+                        checkDate = objact.LimitCustomerDate.Value;
+                    }
+                    // if (DateTime.Now > checkDate && ProfitMoney > objact.ExpiredNumber)
+                    // {
+                    //     ProfitMoney = objact.ExpiredNumber;
+                    // }
+                    if (ProfitMoney >= obj.MinProfitVal)
+                    {
+                        result = new ProfitResult()
+                        {
+                            UserId = User.UserId,
+                            UserNav = User.UserNav,
+                            Money = ProfitMoney,
+                            MachineCount = MachineCount,
+                        };
+                    }
+                }
+            }
+            return result;
+        }
+        #endregion
+
+        #region 获取分润规则Id
+
+        private int GetLevelKindId(int BrandId, int Help, int BankCardType)
+        {
+            return RedisDbconn.Instance.Get<int>("pobjlv:kid:" + BrandId + ":" + Help + ":" + BankCardType);
+        }
+
+        #endregion
+
+
+
+
+
+
+
+
+        #region POS统计交易额
+        public void StartListenTradeDo(int tradeId, bool profit = true)
+        {
+            try
+            {
+                WebCMSEntities dbnew = new WebCMSEntities();
+                TradeRecord trade_record = dbnew.TradeRecord.FirstOrDefault(m => m.Id == tradeId);
+                if (trade_record != null)
+                {
+                    int BrandId = trade_record.BrandId;
+                    decimal TradeAmt = trade_record.TradeAmount;
+                    int BankCardTypeNum = trade_record.BankCardType; //1-贷记卡,0-借记卡,2-准贷记卡
+
+                    DateTime TradeDateTime = trade_record.CreateDate.Value;
+                    string monthString = TradeDateTime.ToString("yyyyMM");
+                    string dayString = TradeDateTime.ToString("yyyyMMdd");
+                    string NaturalMonthString = RedisDbconn.Instance.Get<string>("pobjrule:" + BrandId + ":HelpPolicy:NaturalMonth");
+                    int NaturalMonth = int.Parse(NaturalMonthString); //自然月
+
+                    MachineForSnNo machinefor = dbnew.MachineForSnNo.FirstOrDefault(m => m.SnNo == trade_record.SnNo) ?? new MachineForSnNo();
+                    PosMachinesTwo machine = dbnew.PosMachinesTwo.FirstOrDefault(m => m.Id == machinefor.SnId) ?? new PosMachinesTwo();
+                    Users user = dbnew.Users.FirstOrDefault(m => m.Id == machine.UserId) ?? new Users();
+                    int TopUserId = 0;
+                    if (!string.IsNullOrEmpty(user.ParentNav))
+                    {
+                        string[] navList = user.ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                        if (navList.Length > 1)
+                        {
+                            TopUserId = int.Parse(navList[1]);
+                        }
+                        else
+                        { 
+                            TopUserId = int.Parse(navList[0]);
+                        }
+                    }
+                    PosMerchantInfo merchant = dbnew.PosMerchantInfo.FirstOrDefault(m => m.Id == machine.BindMerchantId) ?? new PosMerchantInfo();
+                    List<UserLevelSet> levels = dbnew.UserLevelSet.ToList();
+
+                    using (var tran = dbnew.Database.BeginTransaction())
+                    {
+                        try
+                        {
+                            ulong DirectFlag = merchant.UserId == machine.UserId ? 1u : 0u; //是否直营
+                            ulong MerHelpFlag = 1; //扶持期、稳定期
+                            if (merchant.CreateDate.Value < DateTime.Now.AddMonths(-NaturalMonth))
+                            {
+                                MerHelpFlag = 0;
+                            }
+                            int HelpMonthCount = DateTime.Now.Month - merchant.CreateDate.Value.Month; //扶持期第几月
+                            if (HelpMonthCount < 0)
+                            {
+                                HelpMonthCount = 12 + DateTime.Now.Month - merchant.CreateDate.Value.Month;
+                            }
+                            int QrPayFlag = trade_record.QrPayFlag;
+                            decimal CreditTradeAmt = 0;
+                            decimal DebitNotCapTradeAmt = 0;
+                            decimal DebitCapTradeAmt = 0;
+                            int DebitCapTradeNum = 0;
+                            if (BankCardTypeNum == 1)
+                            {
+                                CreditTradeAmt = TradeAmt;
+                            }
+                            else if (BankCardTypeNum == 0)
+                            {
+                                //累计借记卡封顶或非封顶交易 // TODO:需优化,判断不太科学
+                                // decimal profitrate = 0;
+                                // if (user.CreateDate.Value.AddMonths(NaturalMonth) >= DateTime.Now)
+                                // {
+                                //     UserProfitSet profitSet = dbnew.UserProfitSet.FirstOrDefault(m => m.UserId == user.Id && m.BrandId == BrandId && m.CardType == BankCardTypeNum && m.HelpFlag == 1) ?? new UserProfitSet(); //获取创客分润规则-扶持期
+                                //     profitrate = profitSet.ProfitRate;
+                                // }
+                                // else
+                                // {
+                                //     UserProfitSet profitSet = dbnew.UserProfitSet.FirstOrDefault(m => m.UserId == user.Id && m.BrandId == BrandId && m.CardType == BankCardTypeNum && m.HelpFlag == 0) ?? new UserProfitSet(); //获取创客分润规则-非扶持期
+                                //     profitrate = profitSet.ProfitRate;
+                                // }
+                                // profitrate = profitrate / 100;
+                                // int UserLevel = user.UserLevel; //当前会员等级
+                                // decimal utrade = RedisDbconn.Instance.Get<decimal>("TeamTradeStat:" + user.Id + ":" + BrandId + ":" + DateTime.Now.ToString("yyMM"));
+                                // UserLevelSet checklevel = levels.Where(m => m.UpLevelIntegral < utrade).OrderBy(m => m.Id).FirstOrDefault();
+                                // if (checklevel != null)
+                                // {
+                                //     UserLevel = checklevel.Id + 1;
+                                // }
+                                // ProfitObjectLevels objlevel = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + GetLevelKindId(BrandId) + ":" + UserLevel); //获取当前等级参数
+                                // decimal getLevelProfit = TradeAmt * objlevel.Percents * profitrate;
+                                // if (getLevelProfit < 1)
+                                // {
+                                //     DebitNotCapTradeAmt = TradeAmt;
+                                // }
+                                // else
+                                // {
+                                //     DebitCapTradeAmt = TradeAmt;
+                                //     DebitCapTradeNum = 1;
+                                //     trade_record.CapFlag = 1;
+                                //     dbnew.SaveChanges();
+                                // }
+                                DebitNotCapTradeAmt = TradeAmt;
+                            }
+                            UserTradeMonthSummary editsummary = dbnew.UserTradeMonthSummary.FirstOrDefault(m => m.UserId == user.Id && m.TradeMonth == monthString && m.BrandId == BrandId && m.StatType == 0);
+                            if (editsummary == null)
+                            {
+                                dbnew.UserTradeMonthSummary.Add(new UserTradeMonthSummary()
+                                {
+                                    CreateDate = DateTime.Now,
+                                    UserId = user.Id, //创客
+                                    TradeMonth = monthString, //交易月
+                                    BrandId = BrandId, //品牌
+                                    StatType = 0, //交易统计类型
+                                    TradeAmt = TradeAmt, //商户交易总额
+                                    CreditTradeAmt = CreditTradeAmt, //商户贷记卡交易总金额
+                                    DebitNotCapTradeAmt = DebitNotCapTradeAmt, //商户非封顶借记卡交易总金额
+                                    DebitCapTradeAmt = DebitCapTradeAmt, //商户借记卡封顶交易总额
+                                    DebitCapTradeNum = DebitCapTradeNum, //商户借记卡封顶交易总笔数
+                                    MallPosOrderStatus = machine.PosSnType == 1 ? 0 : 1, //商城兑换机具状态
+                                    ActiveBuddyMerStatus = user.RealName == merchant.MerchantName ? 0 : 1, //激活创客同名商户
+                                });
+                            }
+                            else
+                            {
+                                editsummary.TradeAmt += TradeAmt;
+                                editsummary.CreditTradeAmt += CreditTradeAmt;
+                                editsummary.DebitNotCapTradeAmt += DebitNotCapTradeAmt;
+                                editsummary.DebitCapTradeAmt += DebitCapTradeAmt;
+                                editsummary.DebitCapTradeNum += DebitCapTradeNum;
+                            }
+                            TradeDaySummary editdaysum = dbnew.TradeDaySummary.FirstOrDefault(m => m.UserId == user.Id && m.TradeDate == dayString && m.BrandId == BrandId);
+                            if (editdaysum == null)
+                            {
+                                editdaysum = dbnew.TradeDaySummary.Add(new TradeDaySummary()
+                                {
+                                    CreateDate = DateTime.Now,
+                                    UserId = user.Id, //创客
+                                    TradeDate = dayString, //交易日
+                                    TradeMonth = monthString, //交易月
+                                    BrandId = BrandId, //品牌
+                                    TopUserId = TopUserId, //顶级创客
+                                }).Entity;
+                                dbnew.SaveChanges();
+                            }
+                            //分类统计交易额
+                            if (MerHelpFlag == 0)
+                            {
+                                if (DirectFlag == 1)
+                                {
+                                    editdaysum.NotHelpDirectTradeAmt = TradeAmt; //直营商户交易总额(非扶持期)
+                                    if (BankCardTypeNum == 1)
+                                    {
+                                        editdaysum.NotHelpDirectCreditTradeAmt += TradeAmt; //直营贷记卡交易总额(非扶持期)
+                                        if (QrPayFlag == 1)
+                                        {
+                                            editdaysum.NotHelpDirectQrCreditTradeAmt += TradeAmt; //直营云闪付贷记卡交易额(非扶持期)
+                                        }
+                                        else
+                                        {
+                                            editdaysum.NotHelpDirectNonQrCreditTradeAmt += TradeAmt; //直营非云闪付贷记卡交易额(非扶持期)
+                                        }
+                                    }
+                                    else
+                                    {
+                                        editdaysum.NotHelpDirectDebitTradeAmt += TradeAmt; //直营商户借记卡交易总额(非扶持期)
+                                        if (DebitCapTradeNum > 0)
+                                        {
+                                            editdaysum.NotHelpDirectDebitCapTradeAmt += TradeAmt; //直营商户借记卡封顶交易总金额(非扶持期)
+                                            editdaysum.NotHelpDirectDebitCapNum += 1; //直营商户借记卡封顶交易总数(非扶持期)
+                                        }
+                                        else
+                                        {
+                                            if (QrPayFlag == 1)
+                                            {
+                                                editdaysum.NotHelpDirectQrDebitTradeAmt += TradeAmt; //直营云闪付非封顶借记卡(非扶持期)
+                                            }
+                                            else
+                                            {
+                                                editdaysum.NotHelpDirectNonQrDebitTradeAmt += TradeAmt; //直营非云闪付非封顶借记卡(非扶持期)
+                                            }
+                                        }
+                                    }
+                                }
+                                else
+                                {
+                                    editdaysum.NotHelpNonDirectTradeAmt += TradeAmt; //非直营商户交易总额(非扶持期)
+                                    if (BankCardTypeNum == 1)
+                                    {
+                                        editdaysum.NotHelpNonDirectCreditTradeAmt += TradeAmt; //非直营贷记卡交易总额(非扶持期)
+                                        if (QrPayFlag == 1)
+                                        {
+                                            editdaysum.NotHelpNonDirectQrCreditTradeAmt += TradeAmt; //非直营云闪付贷记卡交易额(非扶持期)
+                                        }
+                                        else
+                                        {
+                                            editdaysum.NotHelpNonDirectNonQrCreditTradeAmt += TradeAmt; //非直营非云闪付贷记卡交易额(非扶持期)
+                                        }
+                                    }
+                                    else
+                                    {
+                                        editdaysum.NotHelpNonDirectDebitTradeAmt += TradeAmt; //非直营商户借记卡交易总额(非扶持期)
+                                        if (DebitCapTradeNum > 0)
+                                        {
+                                            editdaysum.NotHelpNonDirectDebitCapTradeAmt += TradeAmt; //非直营商户借记卡封顶交易总金额(非扶持期)
+                                            editdaysum.NotHelpNonDirectDebitCapNum += 1; //非直营商户借记卡封顶交易总数(非扶持期)
+                                        }
+                                        else
+                                        {
+                                            if (QrPayFlag == 1)
+                                            {
+                                                editdaysum.NotHelpNonDirectQrDebitTradeAmt += TradeAmt; //非直营云闪付非封顶借记卡(非扶持期)
+                                            }
+                                            else
+                                            {
+                                                editdaysum.NotHelpNonDirectNonQrDebitTradeAmt += TradeAmt; //非直营非云闪付非封顶借记卡(非扶持期)
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                            else
+                            {
+                                if (DirectFlag == 1)
+                                {
+                                    editdaysum.HelpDirectTradeAmt += TradeAmt; //直营商户交易总额(扶持期)
+                                    if (BankCardTypeNum == 1)
+                                    {
+                                        editdaysum.HelpDirectCreditTradeAmt += TradeAmt; //直营贷记卡交易总额(扶持期)
+                                        if (QrPayFlag == 1)
+                                        {
+                                            editdaysum.HelpDirectQrCreditTradeAmt += TradeAmt; //直营云闪付贷记卡交易额(扶持期)
+                                        }
+                                        else
+                                        {
+                                            editdaysum.HelpDirectNonQrCreditTradeAmt += TradeAmt; //直营非云闪付贷记卡交易额(扶持期)
+                                        }
+                                    }
+                                    else
+                                    {
+                                        editdaysum.HelpDirectDebitTradeAmt += TradeAmt; //直营商户借记卡交易总额(扶持期)
+                                        if (DebitCapTradeNum > 0)
+                                        {
+                                            editdaysum.HelpDirectDebitCapTradeAmt += TradeAmt; //直营商户借记卡封顶交易总金额(扶持期)
+                                            editdaysum.HelpDirectDebitCapNum += 1; //直营商户借记卡封顶交易总数(扶持期)
+                                        }
+                                        else
+                                        {
+                                            if (QrPayFlag == 1)
+                                            {
+                                                editdaysum.HelpDirectQrDebitTradeAmt += TradeAmt; //直营云闪付非封顶借记卡(扶持期)
+                                            }
+                                            else
+                                            {
+                                                editdaysum.HelpDirectNonQrDebitTradeAmt += TradeAmt; //直营非云闪付非封顶借记卡(扶持期)
+                                            }
+                                        }
+                                    }
+                                }
+                                else
+                                {
+                                    editdaysum.HelpNonDirectTradeAmt += TradeAmt; //非直营商户交易总额(扶持期)
+                                    if (BankCardTypeNum == 1)
+                                    {
+                                        editdaysum.HelpNonDirectCreditTradeAmt += TradeAmt; //非直营贷记卡交易总额(扶持期)
+                                        if (QrPayFlag == 1)
+                                        {
+                                            editdaysum.HelpNonDirectQrCreditTradeAmt += TradeAmt; //非直营云闪付贷记卡交易额(扶持期)
+                                        }
+                                        else
+                                        {
+                                            editdaysum.HelpNonDirectNonQrCreditTradeAmt += TradeAmt; //非直营非云闪付贷记卡交易额(扶持期)
+                                        }
+                                    }
+                                    else
+                                    {
+                                        editdaysum.HelpNonDirectDebitTradeAmt += TradeAmt; //非直营商户借记卡交易总额(扶持期)
+                                        if (DebitCapTradeNum > 0)
+                                        {
+                                            editdaysum.HelpNonDirectDebitCapTradeAmt += TradeAmt; //非直营商户借记卡封顶交易总金额(扶持期)
+                                            editdaysum.HelpNonDirectDebitCapNum += 1; //非直营商户借记卡封顶交易总数(扶持期)
+                                        }
+                                        else
+                                        {
+                                            if (QrPayFlag == 1)
+                                            {
+                                                editdaysum.HelpNonDirectQrDebitTradeAmt += TradeAmt; //非直营云闪付非封顶借记卡(扶持期)
+                                            }
+                                            else
+                                            {
+                                                editdaysum.HelpNonDirectNonQrDebitTradeAmt += TradeAmt; //非直营非云闪付非封顶借记卡(扶持期)
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                            UserTradeDaySummary userdaysum = dbnew.UserTradeDaySummary.FirstOrDefault(m => m.UserId == user.Id && m.TradeDate == dayString && m.BrandId == BrandId);
+                            if (userdaysum == null)
+                            {
+                                userdaysum = dbnew.UserTradeDaySummary.Add(new UserTradeDaySummary()
+                                {
+                                    CreateDate = DateTime.Now,
+                                    UserId = user.Id, //创客
+                                    TradeDate = dayString, //交易日
+                                    TradeMonth = monthString, //交易月
+                                    BrandId = BrandId, //品牌
+                                }).Entity;
+                                dbnew.SaveChanges();
+                            }
+                            if (DirectFlag == 1)
+                            {
+                                userdaysum.DirectTradeAmt += TradeAmt; //直营商户交易总额
+                                if (BankCardTypeNum == 0)
+                                {
+                                    userdaysum.DirectDebitTradeAmt += TradeAmt; //直营商户借记卡交易总额
+                                }
+                            }
+                            else
+                            {
+                                userdaysum.NonDirectTradeAmt += TradeAmt; //非直营商户交易总额
+                                if (BankCardTypeNum == 0)
+                                {
+                                    userdaysum.NonDirectDebitTradeAmt += TradeAmt; //非直营商户借记卡交易总额
+                                }
+                            }
+                            dbnew.SaveChanges();
+                            if (profit)
+                            {
+                                DoProfitForPos(dbnew, trade_record);
+                            }
+                            tran.Commit();
+                        }
+                        catch (Exception ex)
+                        {
+                            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":" + ex.ToString(), "自定义分润程序监听队列异常");
+                            tran.Rollback();
+                        }
+                    }
+                }
+                dbnew.Dispose();
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":" + ex.ToString(), "自定义分润程序监听队列异常");
+            }
+        }
+
+        public void DoProfitForPos(WebCMSEntities dbnew, TradeRecord trade_record)
+        { 
+            List<ProfitUsers> users = new List<ProfitUsers>();
+            int TopUserId = 0; //顶级创客Id
+            Users us = dbnew.Users.FirstOrDefault(a => a.Id == trade_record.UserId);
+            if (us != null)
+            {
+                string uidstring = us.Id.ToString();
+                string[] uidlist = { };
+                if (!string.IsNullOrEmpty(us.ParentNav))
+                {
+                    uidstring = us.ParentNav.Trim(',').Replace(",,", ",") + "," + uidstring;
+                    uidlist = uidstring.Split(',');
+                    if (uidlist.Length > 1)
+                    {
+                        TopUserId = int.Parse(function.CheckInt(uidlist[1]));
+                    }
+                    else
+                    { 
+                        TopUserId = int.Parse(function.CheckInt(uidlist[0]));
+                    }
+                }
+                Array.Reverse(uidlist);
+                foreach (string uidstr in uidlist)
+                {
+                    int puid = int.Parse(function.CheckInt(uidstr));
+                    Users pus = dbnew.Users.FirstOrDefault(a => a.Id == puid);
+                    if (pus != null)
+                    {
+                        users.Add(new ProfitUsers()
+                        {
+                            UserId = pus.Id,
+                            UserNav = pus.ParentNav,
+                            UserLevel = pus.UserLevel,
+                            CreateDate = pus.CreateDate.Value,
+                        });
+                    }
+                }
+            }
+            string TradeMonth = trade_record.TradeDate.Value.ToString("yyyyMM");
+            List<ProfitResult> list = new List<ProfitResult>();
+            list = StartProftForPos(dbnew, trade_record, users);
+            using (var tran = dbnew.Database.BeginTransaction())
+            {
+                try
+                {
+                    foreach (ProfitResult sub in list)
+                    {
+                        if (sub.Message == "分红奖励")
+                        { 
+                            UserAccountRecord accountRecord = dbnew.UserAccountRecord.Add(new UserAccountRecord()
+                            {
+                                CreateDate = DateTime.Now,
+                                UpdateDate = DateTime.Now,
+                                UserId = sub.UserId, //创客
+                                ChangeType = 11, //变动类型
+                                ProductType = trade_record.BrandId, //产品类型
+                                ChangeAmount = sub.Money, //变更金额
+                                Status = -1,
+                            }).Entity;
+                            dbnew.SaveChanges();
+                        }
+                        else
+                        {
+                            int ProfitType = sub.UserId == trade_record.UserId ? 0 : 1;
+                            ProfitRewardRecord editprofitrecord = dbnew.ProfitRewardRecord.FirstOrDefault(m => m.UserId == sub.UserId && m.MerchantId == trade_record.MerchantId && m.BrandId == trade_record.BrandId && m.ProfitType == ProfitType && m.TradeMonth == TradeMonth);
+                            if (editprofitrecord == null)
+                            {
+                                editprofitrecord = dbnew.ProfitRewardRecord.Add(new ProfitRewardRecord()
+                                {
+                                    CreateDate = DateTime.Now,
+                                    UserId = sub.UserId, //创客
+                                    MerchantId = trade_record.MerchantId, //商户
+                                    BrandId = trade_record.BrandId, //品牌
+                                    ProfitType = ProfitType, //创客分润类型
+                                    TradeMonth = TradeMonth, //交易月
+                                    TopUserId = TopUserId, //顶级创客
+                                }).Entity;
+                                dbnew.SaveChanges();
+                                string RecordNo = "KPM";
+                                int RecordId = editprofitrecord.Id;
+                                string RecordIdString = RecordId.ToString();
+                                for (int i = 0; i < 14 - RecordId.ToString().Length; i++)
+                                {
+                                    RecordIdString = "0" + RecordIdString;
+                                }
+                                RecordNo += RecordIdString;
+                                editprofitrecord.RecordNo = RecordNo;
+                                dbnew.SaveChanges();
+                            }
+                            // editprofitrecord.OtherTradeAmt = 0; //其他产品交易总金额
+                            // editprofitrecord.OtherCreditTradeAmt = 0; //其他产品贷记卡交易总金额
+                            // editprofitrecord.OtherDebitNotCapTradeAmt = 0; //其他产品借记卡非封顶交易总金额
+                            decimal TradeAmount = trade_record.TradeAmount;
+                            editprofitrecord.TradeAmt += TradeAmount; //商户交易总额
+                            if (trade_record.BankCardType == 0) editprofitrecord.CreditTradeAmt += TradeAmount; //贷记卡交易总金额
+                            if (trade_record.QrPayFlag == 1 && trade_record.BankCardType == 0) editprofitrecord.QrCreditTradeAmt += TradeAmount; //(云闪付)贷记卡交易总金额
+                            if (trade_record.QrPayFlag == 0 && trade_record.BankCardType == 0) editprofitrecord.NonQrCreditTradeAmt += TradeAmount; //(非云闪付)贷记卡交易总金额
+                            if (trade_record.MerHelpFlag == 0 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 0) editprofitrecord.NotHelpCreditTradeAmt += TradeAmount; //(非扶持期)(非云闪付)贷记卡交易总金额
+                            if (trade_record.MerHelpFlag == 1 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 0) editprofitrecord.HelpCreditTradeAmt += TradeAmount; //(扶持期)(非云闪付)贷记卡交易总金额
+                            if (sub.Money < 1 && trade_record.BankCardType == 1) editprofitrecord.DebitNonCapTradeAmt += TradeAmount; //商户非封顶借记卡交易总额
+                            if (sub.Money < 1 && trade_record.QrPayFlag == 1 && trade_record.BankCardType == 1) editprofitrecord.QrDebitNotCapTradeAmt += TradeAmount; //(云闪付)商户非封顶借记卡交易总额
+                            if (sub.Money < 1 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 1) editprofitrecord.NonQrDebitNotCapTradeAmt += TradeAmount; //(非云闪付)商户非封顶借记卡交易总额
+                            if (sub.Money < 1 && trade_record.MerHelpFlag == 0 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 1) editprofitrecord.NotHelpDebitNonCapTradeAmt += TradeAmount; //(非扶持期)(非云闪付)借记卡非封顶交易总金额
+                            if (sub.Money < 1 && trade_record.MerHelpFlag == 1 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 1) editprofitrecord.HelpDebitNonCapTradeAmt += TradeAmount; //(扶持期)(非云闪付)借记卡非封顶交易总金额
+                            if (sub.Money == 1 && trade_record.BankCardType == 1) editprofitrecord.DebitCapTradeAmt = TradeAmount; //商户借记卡封顶交易总额
+                            editprofitrecord.DebitCapTradeNum += 1; //商户借记卡封顶交易总笔数
+
+                            decimal ProfitMoney = sub.Money;
+                            ulong DirectFlag = trade_record.DirectFlag;
+                            editprofitrecord.TradeProfit += ProfitMoney; //交易分润
+                            if (trade_record.BankCardType == 0) editprofitrecord.CreditTradeProfit += ProfitMoney; //贷记卡分润总金额
+                            if (trade_record.QrPayFlag == 1 && trade_record.BankCardType == 0) editprofitrecord.QrCreditTradeProfit += ProfitMoney; //(云闪付)贷记卡交易分润
+                            if (trade_record.QrPayFlag == 0 && trade_record.BankCardType == 0) editprofitrecord.NonQrCreditTradeProfit += ProfitMoney; //(非云闪付)贷记卡交易分润
+                            if (trade_record.MerHelpFlag == 0 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 0) editprofitrecord.NotHelpCreditTradeProfit += ProfitMoney; //(非扶持期)(非云闪付)贷记卡分润总金额
+                            if (trade_record.MerHelpFlag == 1 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 0) editprofitrecord.HelpCreditTradeProfit += ProfitMoney; //(扶持期)(非云闪付)贷记卡分润总金额
+                            if (sub.Money < 1 && trade_record.BankCardType == 1) editprofitrecord.DebitNonTradeCapProfit += ProfitMoney; //借记卡非封顶交易分润总金额
+                            if (sub.Money < 1 && trade_record.QrPayFlag == 1 && trade_record.BankCardType == 1) editprofitrecord.QrDebitNonTradeCapProfit += ProfitMoney; //(云闪付)借记卡非封顶交易分润总金额
+                            if (sub.Money < 1 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 1) editprofitrecord.NonQrDebitNonTradeCapProfit += ProfitMoney; //(非云闪付)借记卡非封顶交易分润总金额
+                            if (sub.Money < 1 && trade_record.MerHelpFlag == 0 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 1) editprofitrecord.NotHelpDebitNonTradeCapProfit += ProfitMoney; //(非扶持期)(非云闪付)借记卡非封顶交易分润总金额
+                            if (sub.Money < 1 && trade_record.MerHelpFlag == 1 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 1) editprofitrecord.HelpDebitNonTradeCapProfit += ProfitMoney; //(扶持期)(非云闪付)借记卡非封顶交易分润总金额
+                            if (sub.Money == 1 && trade_record.BankCardType == 1) editprofitrecord.DebitTradeCapProfit += ProfitMoney; //借记卡封顶交易分润总金额
+                            if (sub.Money < 1 && DirectFlag == 1 && trade_record.BankCardType == 1) editprofitrecord.DebitCapSingleReward += ProfitMoney; //借记卡合伙人直营封顶交易奖励金额
+
+                            if (trade_record.MerHelpFlag == 0 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 0) editprofitrecord.NotHelpCreditProfitRate = sub.ProfitRate; //(非扶持期)(非云闪付)贷记卡商户交易对应分润比例
+                            if (trade_record.MerHelpFlag == 0 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 0) editprofitrecord.NotHelpCreditProfitStandardRate = sub.ProfitPercent; //(非扶持期)(非云闪付)贷记卡标准分润比例
+                            if (trade_record.MerHelpFlag == 0 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 0) editprofitrecord.NotHelpCreditAddOrSubRate = sub.AddOrSubRate; //(非扶持期)(非云闪付)贷记卡成本或增或减比例
+                            if (trade_record.MerHelpFlag == 1 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 0) editprofitrecord.HelpCreditProfitRate = sub.ProfitRate; //(扶持期)(非云闪付)贷记卡商户交易对应分润比例
+                            if (trade_record.MerHelpFlag == 1 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 0) editprofitrecord.HelpCreditProfitStandardRate = sub.ProfitPercent; //(扶持期)(非云闪付)贷记卡-标准分润比例
+                            if (trade_record.MerHelpFlag == 1 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 0) editprofitrecord.HelpCreditAddOrSubRate = sub.AddOrSubRate; //(扶持期)(非云闪付)贷记卡成本或增或减比例
+                            if (trade_record.MerHelpFlag == 0 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 1) editprofitrecord.NotHelpDebitProfitRate = sub.ProfitRate; //(非扶持期)(非云闪付)借记卡商户交易对应分润比例
+                            if (trade_record.MerHelpFlag == 0 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 1) editprofitrecord.NotHelpDebitProfitStandardRate = sub.ProfitPercent; //(非扶持期)(非云闪付)借记卡标准分润比例
+                            if (trade_record.MerHelpFlag == 0 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 1) editprofitrecord.NotHelpDebitAddOrSubRate = sub.AddOrSubRate; //(非扶持期)(非云闪付)借记卡成本或增或减比例
+                            if (trade_record.MerHelpFlag == 1 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 1) editprofitrecord.HelpDebitProfitRate = sub.ProfitRate; //(扶持期)(非云闪付)借记卡商户交易对应分润比例
+                            if (trade_record.MerHelpFlag == 1 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 1) editprofitrecord.HelpDebitProfitStandardRate = sub.ProfitPercent; //(扶持期)(非云闪付)借记卡-标准分润比例
+                            if (trade_record.MerHelpFlag == 1 && trade_record.QrPayFlag == 0 && trade_record.BankCardType == 1) editprofitrecord.HelpDebitAddOrSubRate = sub.AddOrSubRate; //(扶持期)(非云闪付)借记卡成本或增或减比例
+                            if (trade_record.QrPayFlag == 1 && trade_record.BankCardType == 0) editprofitrecord.QrCreditProfitRate = sub.ProfitRate; //(云闪付)贷记卡交易分润比例
+                            if (trade_record.QrPayFlag == 1 && trade_record.BankCardType == 0) editprofitrecord.QrCreditProfitStandardRate = sub.ProfitRateBase; //(云闪付)贷记卡分润基准
+                            editprofitrecord.QrCreditAddOrSubRate = sub.AddOrSubRate; //(云闪付)贷记卡分润比例或增或减
+                            if (sub.Money < 1 && trade_record.QrPayFlag == 1 && trade_record.BankCardType == 1) editprofitrecord.QrDebitProfitRate = sub.ProfitRate; //(云闪付)借记卡非封顶交易分润比例
+                            if (sub.Money < 1 && trade_record.QrPayFlag == 1 && trade_record.BankCardType == 1) editprofitrecord.QrDebitProfitStandardRate = sub.ProfitRateBase; //(云闪付)借记卡非封顶交易分润基准
+                            if (sub.Money < 1 && trade_record.QrPayFlag == 1 && trade_record.BankCardType == 1) editprofitrecord.QrDebitAddOrSubRate = sub.AddOrSubRate; //(云闪付)借记卡非封顶交易分润比例或增或减
+                            dbnew.SaveChanges();
+
+                            dbnew.ProfitRecord.Add(new ProfitRecord()
+                            {
+                                CreateDate = DateTime.Now,
+                                UpdateDate = DateTime.Now,
+                                UserId = sub.UserId, //创客
+                                MerchantId = trade_record.MerchantId, //商户
+                                MerNo = trade_record.MerNo, //渠道商户编号
+                                MerHelpFlag = trade_record.MerHelpFlag, //是否属于扶持周期内商户
+                                HelpMonthCount = trade_record.HelpMonthCount, //扶持第几个月
+                                MerBuddyType = trade_record.MerBuddyType, //商户创客类型
+                                SnNo = trade_record.SnNo, //SN号
+                                TradeDate = trade_record.TradeDate, //交易日期
+                                ProfitAmount = sub.Money, //分润金额
+                                QrPayFlag = trade_record.QrPayFlag, //云闪付标识
+                                CapFlag = trade_record.CapFlag, //借记卡封顶交易标志
+                                DirectFlag = trade_record.DirectFlag, //是否直营
+                                BrandId = trade_record.BrandId, //品牌
+                                ParentNav = us.ParentNav, //上级创客集
+                                TradeId = trade_record.Id, //交易记录Id
+                            });
+                            dbnew.SaveChanges();
+
+                            // Users user = dbnew.Users.FirstOrDefault(m => m.Id == sub.UserId);
+                            // if (user != null)
+                            // {
+                                // if (!string.IsNullOrEmpty(user.CloudPushDeviceId))
+                                // {
+                                //     new AliyunPushOld().Push("鑫创客通知", "您有一笔分润收益:" + sub.Money.ToString("f2"), "30", "NOTICE", user.DeviceType, user.CloudPushDeviceId, "1");
+                                // }
+                                // TODO:发送阿里云推送消息
+                            // }
+                        }
+                    }
+                    dbnew.SaveChanges();
+                    tran.Commit();
+                }
+                catch (Exception ex)
+                { 
+                    tran.Rollback();
+                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "POS分润异常");
+                }
+            }
+        }
+
+        #endregion
+        
+        #region POS分润算法
+        public List<ProfitResult> StartProftForPos(WebCMSEntities dbnew, TradeRecord trade, List<ProfitUsers> users)
+        {
+            // 级差
+            /*   
+                
+                K1 - K5:无大小市场要求,无押机分润比例为有押金机的70%,如K1的有押金机分润比例为万6,则无押机的分润比例为万4.2
+                                      机具激活大于90天,分润比例为原比例的70%
+
+                        if(is0y){
+                            分润比例为原比例的70%
+                        }
+                        if(ActivityDate > now - 90){
+                            分润比例为原比例的70%
+                        }
+                K6 - K9:
+                    K6:至少有1个直推大于3000万,且总交易额减去3000万大于1200万,则获得分红奖(月月红)直接级差
+                    K7:总交易额减去最大交易额的直推,大于4000万,则获得分红奖(月月红)直接级差
+                    K8:总交易额减去最大交易额的直推,大于12000万,则获得分红奖(月月红)直接级差
+                    K9:总交易额减去最大交易额的直推,大于32000万,则获得分红奖(月月红)直接级差
+
+                补贴:
+                    0押金无补贴
+                    机具激活90天内,机具所属创客获得万10置顶
+                    若创客为商户型创客,则机具UserId的创客获得万4分润
+
+            */
+
+
+            List<ProfitResult> result = new List<ProfitResult>();
+            int BrandId = trade.BrandId;
+            ProfitObjects obj = RedisDbconn.Instance.Get<ProfitObjects>("pobj" + BrandId);
+            if (obj.Status == 1) //判断分润是否开启
+            {
+                decimal TradeMoney = trade.TradeAmount;
+                int BankCardType = trade.BankCardType; //银行卡类型:贷记卡-1,借记卡-0
+                int MerHelpFlag = (int)trade.MerHelpFlag; //扶持期-1,稳定期=0
+                List<UserLevelSet> levels = dbnew.UserLevelSet.ToList();
+                int IncludeCurrentMonth = int.Parse(RedisDbconn.Instance.Get<string>("pobjrule:" + trade.BrandId + ":HelpPolicy:IncludeCurrentMonth")); //是否包含当前月
+                int NaturalMonth = int.Parse(RedisDbconn.Instance.Get<string>("pobjrule:" + trade.BrandId + ":HelpPolicy:NaturalMonth")); //自然月
+                if(IncludeCurrentMonth == 1) NaturalMonth -= 1;
+                if (BankCardType == 0)
+                {
+                    Users user = dbnew.Users.FirstOrDefault(m => m.Id == trade.UserId) ?? new Users();
+                    // UserProfitSet profitSet = profitSet = dbnew.UserProfitSet.FirstOrDefault(m => m.UserId == user.Id && m.BrandId == BrandId && m.CardType == BankCardType && m.HelpFlag == MerHelpFlag) ?? new UserProfitSet(); //获取创客分润规则-扶持期
+                    // profitrate = profitSet.ProfitRate;
+                    // profitrate = profitrate / 100;
+                    int UserLevel = user.UserLevel; //当前会员等级
+                    int HelpTime = 0;
+                    if (user.CreateDate.Value.AddMonths(NaturalMonth) > DateTime.Now)
+                    {
+                        HelpTime = 1;
+                    }
+                    int LevelKindId = GetLevelKindId(trade.BrandId, HelpTime, BankCardType);
+                    ProfitObjectLevels objlevel = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId + ":" + UserLevel); //获取当前等级参数
+                    decimal getLevelProfit = TradeMoney * objlevel.Percents;
+                    if(getLevelProfit > 1) getLevelProfit = 1;
+                    result.Add(new ProfitResult()
+                    {
+                        UserId = user.Id,
+                        UserNav = user.ParentNav,
+                        Money = getLevelProfit,
+                        ProfitRate = objlevel.Percents,
+                        // ProfitPercent = profitSet.ProfitPercent,
+                        // AddOrSubRate = profitSet.AddOrSubRate,
+                        // ProfitRateBase = profitSet.ProfitRateBase,
+                    });
+                    return result;
+                }
+                int maxLevel = obj.MaxLevel; //最大等级
+                int maxFloor = obj.MaxFloor; //最大层级
+                int maxContinueFloor = RedisDbconn.Instance.Get<int>("pobjconc" + BrandId); //最大继续分润层级
+                decimal diffLevelProfit = 0;  //等级级差
+                decimal diffDiviProfit = 0; //分红级差
+                // decimal diffFloorProfit = 0;  //层级级差
+                // int continueFloor = 0; //继续分润层级
+                int curLevel = 0; //当前层级的会员等级
+                for (int curFloor = 1; curFloor <= users.Count; curFloor++)
+                {
+                    ProfitUsers user = new ProfitUsers();
+                    if (curFloor <= users.Count)
+                    {
+                        user = users[curFloor - 1];
+                    }
+                    int UserLevel = user.UserLevel; //当前会员等级
+                    //判断当前创客是否有直推的激活机具,并且在活动时间内
+                    if (UserLevel == maxLevel && UserLevel == curLevel)
+                    {
+                        break;
+                    }
+                    if (UserLevel <= maxLevel && UserLevel > curLevel)
+                    {
+                        int HelpTime = 0;
+                        if (user.CreateDate.AddMonths(NaturalMonth) > DateTime.Now)
+                        {
+                            HelpTime = 1;
+                        }
+                        int LevelKindId = GetLevelKindId(trade.BrandId, HelpTime, BankCardType);
+                        ProfitObjectLevels objlevel = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId + ":" + UserLevel); //获取当前等级参数
+                        if (objlevel != null)
+                        {
+                            decimal getLevelProfit = 0;  //等级分润
+                            // UserProfitSet profitSet = new UserProfitSet();
+                            if (objlevel.Percents > 0)
+                            {
+                                //获取创客分润规则,注册日开始算起,3个自然月内算扶持期
+                                decimal profitrate = objlevel.Percents;
+                                // profitSet = dbnew.UserProfitSet.FirstOrDefault(m => m.UserId == user.UserId && m.BrandId == BrandId && m.CardType == BankCardType && m.HelpFlag == MerHelpFlag) ?? new UserProfitSet(); //获取创客分润规则-扶持期
+                                // profitrate = profitSet.ProfitRate;
+                                // profitrate = profitrate / 100;
+                                getLevelProfit += TradeMoney * objlevel.Percents * profitrate;
+                            }
+                            if (objlevel.AddProfitVal > 0)
+                            {
+                                //分红奖励:一个3000万,3000万以下市场总和大于1200万
+                                bool bigMarket = false;
+                                decimal smallMarket = 0;
+                                List<Users> directs = dbnew.Users.Where(m => m.ParentUserId == user.UserId).ToList();
+                                decimal BigMarketTradeAmt = int.Parse(RedisDbconn.Instance.Get<string>("pobjrule:" + trade.BrandId + ":Dividends:BigMarketTradeAmt")); //大市场交易额
+                                decimal PassTradeAmt = int.Parse(RedisDbconn.Instance.Get<string>("pobjrule:" + trade.BrandId + ":Dividends:PassTradeAmt")); //小市场交易超越额
+                                decimal UnitPrize = int.Parse(RedisDbconn.Instance.Get<string>("pobjrule:" + trade.BrandId + ":Dividends:UnitPrize")); //单位奖励基数
+                                foreach (Users direct in directs)
+                                {
+                                    UserData userData = dbnew.UserData.FirstOrDefault(m => m.UserId == direct.Id) ?? new UserData();
+                                    if (userData.TotalOrderMoney >= BigMarketTradeAmt)
+                                    {
+                                        bigMarket = true;
+                                    }
+                                    else
+                                    {
+                                        smallMarket += userData.TotalOrderMoney;
+                                    }
+                                }
+                                if (bigMarket && smallMarket >= PassTradeAmt)
+                                { 
+                                    decimal DiviPrize = objlevel.AddProfitVal * TradeMoney / UnitPrize;
+                                    decimal checkmoney = DiviPrize;
+                                    DiviPrize -= diffDiviProfit;
+                                    if (objlevel.LevelDiff == 1)  //判断是否有级差
+                                    {
+                                        diffDiviProfit = checkmoney;
+                                    }
+                                    if (DiviPrize >= obj.MinProfitVal)
+                                    {
+                                        result.Add(new ProfitResult()
+                                        {
+                                            UserId = user.UserId,
+                                            UserNav = user.UserNav,
+                                            Money = DiviPrize,
+                                            Message = "分红奖励",
+                                        });
+                                    }
+                                }
+                            }
+                            decimal money = getLevelProfit;
+                            getLevelProfit -= diffLevelProfit;
+                            if (objlevel.LevelDiff == 1)  //判断是否有级差
+                            {
+                                diffLevelProfit = money;
+                            }
+                            if (getLevelProfit >= obj.MinProfitVal)
+                            {
+                                result.Add(new ProfitResult()
+                                {
+                                    UserId = user.UserId,
+                                    UserNav = user.UserNav,
+                                    Money = getLevelProfit,
+                                    ProfitRate = objlevel.Percents,
+                                    // ProfitPercent = profitSet.ProfitPercent,
+                                    // AddOrSubRate = profitSet.AddOrSubRate,
+                                    // ProfitRateBase = profitSet.ProfitRateBase,
+                                });
+                            }
+                        }
+                    }
+                    curLevel = UserLevel;
+                }
+            }
+            return result;
+        }
+        public void StatProfit()
+        {
+            Thread th = new Thread(StatProfitDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+        public void StatProfitDo()
+        {
+            string Month = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
+            string check = function.ReadInstance("/ProfitStat/" + Month + ".txt");
+            if (!string.IsNullOrEmpty(check))
+            {
+                return;
+            }
+            function.WritePage("/ProfitStat/", Month + ".txt", DateTime.Now.ToString());
+            WebCMSEntities db = new WebCMSEntities();
+            List<int> BrandIds = db.KqProducts.OrderBy(m => m.Id).ToList().Select(m => m.Id).ToList();
+            foreach (int i in BrandIds) //品牌
+            {
+                for (int j = 0; j <= 1; j++) //卡类型
+                {
+                    int PageNum = 1;
+                    bool op = true;
+                    while(op)
+                    {
+                        List<ProfitResult> result = StartProftForPosByMonth(i, j, Month, PageNum);
+                        if(result.Count > 0)
+                        {
+                            foreach (ProfitResult sub in result)
+                            {
+                                int TopUserId = 0;
+                                if (!string.IsNullOrEmpty(sub.UserNav))
+                                {
+                                    string[] UserNavList = sub.UserNav.Trim(',').Replace(",,", ",").Split(',');
+                                    if (UserNavList.Length > 1)
+                                    {
+                                        TopUserId = int.Parse(UserNavList[1]);
+                                    }
+                                    else
+                                    {
+                                        TopUserId = int.Parse(UserNavList[0]);
+                                    }
+                                }
+                                string RecordNo = "P" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
+                                decimal ProfitAmt = sub.Money;
+                                decimal TradeAmt = sub.TradeAmount;
+                                decimal ProfitRate = sub.ProfitRate;
+                                if (sub.IsSubsidy == 1 && j == 1)
+                                {
+                                    decimal CreditTradeAmt = TradeAmt; //商户贷记卡交易总金额
+                                    decimal QrCreditTradeAmt = 0; //商户(云闪付)贷记卡交易总金额
+                                    decimal NonQrCreditTradeAmt = 0; //商户(非云闪付)贷记卡交易总金额
+                                    decimal CreditProfitRate = 0; //(非云闪付)贷记卡交易分润比例
+                                    decimal SubsidyProfit = 0; //商户(非云闪付)贷记卡交易分润补贴金额
+                                    if (sub.QrPayFlag == 1)
+                                    {
+                                        QrCreditTradeAmt = TradeAmt; //商户(云闪付)贷记卡交易总金额
+                                    }
+                                    else
+                                    { 
+                                        NonQrCreditTradeAmt = TradeAmt; //商户(非云闪付)贷记卡交易总金额
+                                        CreditProfitRate = ProfitRate; //(非云闪付)贷记卡交易分润比例
+                                        SubsidyProfit = ProfitAmt; //商户(非云闪付)贷记卡交易分润补贴金额
+                                    }
+                                    MachineForSnNo forSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == sub.PosSn) ?? new MachineForSnNo();
+                                    PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == forSnNo.SnId) ?? new PosMachinesTwo(); 
+                                    PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == sub.MerchantId) ?? new PosMerchantInfo();
+                                    db.ProfitSubsidyDetail.Add(new ProfitSubsidyDetail()
+                                    {
+                                        CreateDate = DateTime.Now,
+                                        UpdateDate = DateTime.Now,
+                                        RecordNo = RecordNo, //流水号
+                                        BrandId = sub.BrandId, //品牌
+                                        ProductName = RelationClass.GetKqProductBrandInfo(sub.BrandId), //产品名称
+                                        TradeMonth = Month, //交易月份
+                                        MerchantId = sub.MerchantId, //商户
+                                        MerNo = merchant.KqMerNo, //渠道商户编号
+                                        SnNo = sub.PosSn, //渠道SN号
+                                        MerRegTime = pos.BindingTime, //渠道注册时间
+                                        MerStandardDate = merchant.MerStandardDate, //商户激活时间
+                                        BelongUserId = merchant.UserId, //商户归属人
+                                        MerHelpFlag = sub.HelpFlag == 1 ? 1u : 0u, //是否属于扶持周期内商户
+                                        SubsidyUserId = sub.UserId, //补贴人
+                                        SubsidyType = sub.DirectFlag, //分润补贴类型
+                                        SubsidyProfitRate = sub.Money, //创客活动期内直营商户分润万分之十
+                                        CreditTradeAmt = CreditTradeAmt, //商户贷记卡交易总金额
+                                        QrCreditTradeAmt = QrCreditTradeAmt, //商户(云闪付)贷记卡交易总金额
+                                        NonQrCreditTradeAmt = NonQrCreditTradeAmt, //商户(非云闪付)贷记卡交易总金额
+                                        CreditProfitRate = CreditProfitRate, //(非云闪付)贷记卡交易分润比例
+                                        SubsidyProfit = SubsidyProfit, //商户(非云闪付)贷记卡交易分润补贴金额
+                                    });
+                                }
+                            }
+                            db.SaveChanges();
+                            PageNum += 1;
+                        }
+                        else
+                        {
+                            op = false;
+                        }
+                    }
+                }
+            }
+            db.Dispose();
+
+            HelpProfitHelper.Instance.StatProfitEveryDay(DateTime.Now.AddMonths(-1).ToString("yyyyMM")); //助利宝分润
+            ProfitCheckHelper.Instance.Start();
+        }
+        public List<ProfitResult> StartProftForPosByMonth(int BrandId, int BankCardType, string Month, int PageNum = 1)
+        {
+            // 级差
+            /*   
+                
+                K1 - K5:无大小市场要求,无押机分润比例为有押金机的70%,如K1的有押金机分润比例为万6,则无押机的分润比例为万4.2
+                                      机具激活大于90天,分润比例为原比例的70%
+
+                        if(is0y){
+                            分润比例为原比例的70%
+                        }
+                        if(ActivityDate > now - 90){
+                            分润比例为原比例的70%
+                        }
+                K6 - K9:
+                    K6:至少有1个直推大于3000万,且总交易额减去3000万大于1200万,则获得分红奖(月月红)直接级差
+                    K7:总交易额减去最大交易额的直推,大于4000万,则获得分红奖(月月红)直接级差
+                    K8:总交易额减去最大交易额的直推,大于12000万,则获得分红奖(月月红)直接级差
+                    K9:总交易额减去最大交易额的直推,大于32000万,则获得分红奖(月月红)直接级差
+
+                补贴:
+                    0押金无补贴
+                    机具激活90天内,机具所属创客获得万10置顶
+                    若创客为商户型创客,则机具UserId的创客获得万4分润
+
+                    //查分润
+                    select u.MakerCode,u.RealName,u.UserLevel,r.Rank,pos.SeoKeyword,p.KqSnNo,(case when ProfitType=1 then '直营' else '团队' end) as DirectFlag,
+                    k.Name,CreditTradeAmt,CreditTradeProfit,DebitTradeAmt,DebitTradeProfit,QrCreditTradeAmt,QrCreditTradeProfit from (
+                    select UserId,ProfitType,BrandId,MerchantId,
+                    sum(CreditTradeAmt) as CreditTradeAmt,
+                    sum(CreditTradeProfit) as CreditTradeProfit,
+                    sum(DebitNonCapTradeAmt+DebitCapTradeAmt) as DebitTradeAmt,
+                    sum(DebitNonTradeCapProfit+DebitTradeCapProfit) as DebitTradeProfit,
+                    sum(QrCreditTradeAmt) as QrCreditTradeAmt,
+                    sum(QrCreditTradeProfit) as QrCreditTradeProfit
+                    from ProfitRewardRecord where MerchantId>0
+                    GROUP BY UserId,ProfitType,BrandId,MerchantId
+                    ) tb 
+                    left join Users u on tb.UserId=u.Id 
+                    LEFT JOIN KqProducts k ON k.Id=tb.BrandId 
+                    left join PosMerchantInfo p on tb.MerchantId=p.Id 
+                    left join MachineForSnNo fp on fp.SnNo=p.KqSnNo 
+                    left join PosMachinesTwo pos on pos.Id=fp.SnId 
+                    left join UserRankWhite r on u.Id=r.Id 
+                    ORDER BY p.KqSnNo,u.MakerCode
+
+                    //查补贴
+                    select u.MakerCode,u.RealName,u.UserLevel,r.Rank,m.KqSnNo,m.MerchantName,(case when SubsidyType=1 then '直营' else '团队' end) as DirectFlag,
+                    k.Name,CreditTradeAmt,SubsidyProfit from (
+                    select SubsidyUserId,MerchantId,BrandId,SubsidyType,
+                    sum(CreditTradeAmt) as CreditTradeAmt,
+                    sum(SubsidyProfitRate) as SubsidyProfit
+                    from ProfitSubsidyDetail where TradeMonth='202208' 
+                    GROUP BY SubsidyUserId,MerchantId,BrandId,SubsidyType
+                    ) tb 
+                    left join Users u on tb.SubsidyUserId=u.Id 
+                    LEFT JOIN KqProducts k ON k.Id=tb.BrandId 
+                    left join PosMerchantInfo m on tb.MerchantId=m.Id 
+                    left join UserRankWhite r on u.Id=r.Id and r.CreateDate<'2022-09-01 00:00:00' and r.UpdateDate>'2022-09-01 00:00:00'
+
+                    // TODO:做到后台查询,换绑机器遗漏交易额补差
+                    select UserId,sum(TradeAmount) from TradeRecord where SnNo in (
+                    select PosSn from PosMachinesTwo where UserId=0 and BuyUserId=0 and CreditTrade>0
+                    ) and CreateDate>='2022-04-01 00:00:00' and CreateDate<'2022-05-01 00:00:00' and UserId>0 group by UserId
+
+            */
+
+            int PageSize = 200;
+            int SkipNum = (PageNum - 1) * PageSize;
+            string LimitString = " limit " + PageSize;
+            if(PageNum > 1)
+            {
+                LimitString = " limit " + SkipNum + "," + PageSize;
+            }
+            function.WriteLog(DateTime.Now.ToString(), "老规则分润日志");
+            function.WriteLog(BankCardType.ToString(), "老规则分润日志");
+            function.WriteLog(BrandId.ToString(), "老规则分润日志");
+            List<ProfitResult> result = new List<ProfitResult>();
+            ProfitObjects obj = RedisDbconn.Instance.Get<ProfitObjects>("pobj" + BrandId);
+            if (obj.Status == 1) //判断分润是否开启
+            {
+                string start = Month.Substring(0, 4) + "-" + Month.Substring(4, 2) + "-01 00:00:00";
+                string end = DateTime.Parse(start).AddMonths(1).ToString("yyyy-MM-dd HH:mm:ss");
+                DataTable dt = new DataTable();
+                if (BankCardType == 1)
+                {
+                    dt = ProfitHelperV2.Instance.GetDataTable("select SnNo,UserId,QrPayFlag,MerHelpFlag,TradeAmount,Version from TradeRecord" + Month + " where MerHelpFlag=1 and Version=0 and BrandId=" + BrandId + LimitString);
+                }
+                function.WriteLog("记录页数:" + PageNum.ToString(), "老规则分润日志");
+                function.WriteLog("记录条数:" + dt.Rows.Count.ToString(), "老规则分润日志");
+                foreach (DataRow dr in dt.Rows)
+                {
+                    WebCMSEntities dbnew = new WebCMSEntities();
+                    try
+                    {
+                        string SnNo = dr["SnNo"].ToString();
+                        int UserId = int.Parse(dr["UserId"].ToString());
+                        int HelpTime = int.Parse(dr["Version"].ToString()) == 1 ? 2 : int.Parse(dr["MerHelpFlag"].ToString());
+                        function.WriteLog("SnNo:" + SnNo, "老规则分润日志");
+                        function.WriteLog("UserId:" + UserId, "老规则分润日志");
+                        function.WriteLog("HelpTime:" + HelpTime, "老规则分润日志");
+                        MachineForSnNo forSnNo = dbnew.MachineForSnNo.FirstOrDefault(m => m.SnNo == SnNo) ?? new MachineForSnNo();
+                        PosMachinesTwo pos = dbnew.PosMachinesTwo.FirstOrDefault(m => m.Id == forSnNo.SnId) ?? new PosMachinesTwo();
+                        decimal Deposit = decimal.Parse(function.CheckNum(pos.SeoKeyword));
+                        if (pos.BindingState == 1 && Deposit > 0)
+                        {
+                            bool op = true;
+                            if(pos.BindingTime > DateTime.Parse("2023-10-01 00:00:00") && pos.BuyUserId == pos.UserId)
+                            {
+                                op = false;
+                            }
+                            if(op)
+                            {
+                                function.WriteLog("BindingState:" + pos.BindingState, "老规则分润日志");
+                                int QrPayFlag = int.Parse(dr["QrPayFlag"].ToString());
+                                decimal TradeAmt = decimal.Parse(dr[4].ToString());
+                                List<UserLevelSet> levels = dbnew.UserLevelSet.ToList();
+                                SubUser selfUser = ProfitHelperV2.Instance.GetUser(UserId, Month) ?? new SubUser();
+                                int Days = int.Parse(RedisDbconn.Instance.Get<string>("pobjrule:" + BrandId + ":HelpPolicy:Days")); //天数
+                                if (BankCardType != 0)
+                                {
+                                    int maxLevel = obj.MaxLevel; //最大等级
+                                    decimal diffLevelProfit = 0;  //等级级差
+                                    int curLevel = 0; //当前层级的会员等级
+                                    string ParentNav = selfUser.ParentNav;
+                                    if (string.IsNullOrEmpty(ParentNav) && pos.BuyUserId == 1 && pos.UserId == 1)
+                                    {
+                                        ParentNav = ",0,";
+                                    }
+                                    if (!string.IsNullOrEmpty(ParentNav))
+                                    {
+                                        ParentNav += "," + UserId + ",";
+                                        string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                                        Array.Reverse(ParentNavList); //反转顺序
+                                        int level = 0;
+                                        DateTime now = DateTime.Now;
+                                        DateTime ThisMonth = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00");
+                                        foreach (string UserIdString in ParentNavList)
+                                        {
+                                            level += 1;
+                                            int uid = int.Parse(UserIdString);
+                                            SubUser user = ProfitHelperV2.Instance.GetUser(uid, Month) ?? new SubUser();
+                                            int UserLevel = user.PreUserLevel > user.UserLevel ? user.PreUserLevel : user.UserLevel; //当前会员等级
+                                            if (curLevel == maxLevel) //判断当前创客是否有直推的激活机具,并且在活动时间内
+                                            {
+                                                break;
+                                            }
+                                            if (UserLevel <= maxLevel && UserLevel > curLevel)
+                                            {
+                                                function.WriteLog("UserLevel:" + UserLevel, "老规则分润日志");
+                                                function.WriteLog("curLevel:" + curLevel, "老规则分润日志");
+                                                int LevelKindId = GetLevelKindId(BrandId, HelpTime, 1);
+                                                ProfitObjectLevels objlevel = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId + ":" + UserLevel); //获取当前等级参数
+                                                if (objlevel != null)
+                                                {
+                                                    decimal getLevelProfit = 0;  //等级分润
+                                                    if (objlevel.Percents > 0)
+                                                    {
+                                                        //获取创客分润规则,注册日开始算起,3个自然月内算扶持期
+                                                        getLevelProfit += TradeAmt * objlevel.Percents;
+                                                    }
+                                                    if (objlevel.AddProfitVal > 0)
+                                                    {
+                                                        getLevelProfit += objlevel.AddProfitVal;
+                                                    }
+                                                    decimal money = getLevelProfit;
+                                                    getLevelProfit -= diffLevelProfit;
+                                                    if (objlevel.LevelDiff == 1)  //判断是否有级差
+                                                    {
+                                                        diffLevelProfit = money;
+                                                    }
+
+                                                    // 分润补贴
+                                                    if (HelpTime == 1 && level == 1)
+                                                    {
+                                                        function.WriteLog("ok", "老规则分润日志");
+                                                        int SubsidyUserId = pos.BuyUserId;
+                                                        SubUser subuser = ProfitHelperV2.Instance.GetUser(SubsidyUserId, Month) ?? new SubUser();
+                                                        int subUserLevel = subuser.PreUserLevel > subuser.UserLevel ? subuser.PreUserLevel : subuser.UserLevel;
+                                                        function.WriteLog("subUserLevel:" + subUserLevel, "老规则分润日志");
+                                                        if(subUserLevel < 5)
+                                                        {
+                                                            function.WriteLog("sub:ok:", "老规则分润日志");
+                                                            ProfitObjectLevels sublevel = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId + ":" + subUserLevel); //获取当前等级参数
+                                                            if (sublevel != null)
+                                                            {
+                                                                decimal otherPercent = 0.001M - sublevel.Percents;
+                                                                decimal otherMoney = TradeAmt * otherPercent;
+                                                                function.WriteLog("otherPercent:" + otherPercent, "老规则分润日志");
+                                                                function.WriteLog("otherMoney:" + otherMoney, "老规则分润日志");
+                                                                if (otherMoney >= obj.MinProfitVal)
+                                                                {
+                                                                    function.WriteLog("finish:" + SnNo, "老规则分润日志");
+                                                                    result.Add(new ProfitResult()
+                                                                    {
+                                                                        UserId = subuser.Id,
+                                                                        UserNav = subuser.ParentNav,
+                                                                        Money = PublicFunction.NumberFormat(otherMoney),
+                                                                        ProfitRate = otherPercent,
+                                                                        Message = "分润补贴",
+                                                                        BankCardType = BankCardType,
+                                                                        QrPayFlag = QrPayFlag,
+                                                                        DirectFlag = 1,
+                                                                        BrandId = pos.BrandId,
+                                                                        IsSubsidy = 1,
+                                                                        MerchantId = pos.BindMerchantId,
+                                                                        TradeAmount = TradeAmt,
+                                                                        HelpFlag = HelpTime,
+                                                                        PosSn = pos.PosSn,
+                                                                    });
+                                                                }
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                            curLevel = UserLevel;
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                        function.WriteLog("\n\n", "老规则分润日志");
+                    }
+                    catch (Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "每月统计分润异常");
+                    }
+                    dbnew.Dispose();
+                }
+            }
+            function.WriteLog(DateTime.Now.ToString(), "老规则分润日志");
+            function.WriteLog("\r\n\r\n", "老规则分润日志");
+            return result;
+        }
+        #endregion
+
+    }
+}

+ 1052 - 0
AppStart/Helper/Profit/ProfitHelperV2.cs

@@ -0,0 +1,1052 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Data;
+using MySystem.PxcModels;
+using Library;
+using System.Threading;
+using Microsoft.Extensions.Hosting;
+using System.Threading.Tasks;
+
+namespace MySystem
+{
+    public class ProfitHelperV2
+    {
+        public readonly static ProfitHelperV2 Instance = new ProfitHelperV2();
+        private ProfitHelperV2()
+        {
+        }
+        
+        #region 获取分润规则Id
+
+        public int GetLevelKindId(int BrandId, int Help, int BankCardType)
+        {
+            return RedisDbconn.Instance.Get<int>("pobjlv:kid:" + BrandId + ":" + Help + ":" + BankCardType);
+        }
+
+        #endregion
+        
+        #region POS分润算法
+        public void StatProfit()
+        {
+            Thread th = new Thread(StatProfitDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+        public void StatProfitDo()
+        {
+            while (true)
+            {
+                string content = RedisDbconn.Instance.RPop<string>("DoProfitQueue");
+                if(!string.IsNullOrEmpty(content) && DateTime.Now.Day < 14)
+                {
+                    StatProfiting();
+                }
+                else
+                {
+                    Thread.Sleep(60000);
+                }
+            }
+        }
+        public void StatProfiting()
+        {
+            string Month = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
+            string check = function.ReadInstance("/ProfitStat/" + Month + "-1.txt");
+            if (!string.IsNullOrEmpty(check))
+            {
+                return;
+            }
+            function.WritePage("/ProfitStat/", Month + "-1.txt", DateTime.Now.ToString());
+            try
+            {
+                WebCMSEntities db = new WebCMSEntities();
+                List<int> BrandIds = db.KqProducts.OrderBy(m => m.Id).ToList().Select(m => m.Id).ToList();
+                foreach (int i in BrandIds) //品牌
+                {
+                    for (int j = 0; j <= 1; j++) //卡类型
+                    {
+                        int PageNum = 1;
+                        bool op = true;
+                        while(op)
+                        {
+                            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":" + "BrandId:" + i + ",BankCardType:" + j + ",Month:" + Month + ",PageNum:" + PageNum, "分润监控日志");
+                            List<ProfitResult> result = new List<ProfitResult>();
+                            if(i == 14)
+                            {
+                                result = StartProftForSimByDate(Month, i, PageNum);
+                            }
+                            else
+                            {
+                                result = StartProftForPosByDate(i, j, Month, PageNum);
+                            }
+                            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":" + "result:" + result.Count, "分润监控日志");
+                            function.WriteLog("\r\n", "分润监控日志");
+                            if(result.Count > 0)
+                            {
+                                foreach (ProfitResult sub in result)
+                                {
+                                    int TopUserId = 0;
+                                    if (!string.IsNullOrEmpty(sub.UserNav))
+                                    {
+                                        string[] UserNavList = sub.UserNav.Trim(',').Replace(",,", ",").Split(',');
+                                        if (UserNavList.Length > 1)
+                                        {
+                                            TopUserId = int.Parse(UserNavList[1]);
+                                        }
+                                        else
+                                        {
+                                            TopUserId = int.Parse(UserNavList[0]);
+                                        }
+                                    }
+                                    string RecordNo = "P" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
+                                    decimal ProfitAmt = sub.Money;
+                                    decimal TradeAmt = sub.TradeAmount;
+                                    decimal ProfitRate = sub.ProfitRate;
+                                    if (sub.IsSubsidy == 1 && j == 1)
+                                    {
+                                    }
+                                    else
+                                    {
+                                        decimal CreditTradeAmt = 0;
+                                        decimal CreditTradeProfit = 0;
+                                        decimal QrCreditTradeAmt = 0;
+                                        decimal QrCreditProfitRate = 0;
+                                        decimal QrCreditProfitStandardRate = 0;
+                                        decimal QrCreditAddOrSubRate = 0;
+                                        decimal QrCreditTradeProfit = 0;
+                                        decimal NonQrCreditTradeAmt = 0;
+                                        decimal NotHelpCreditTradeAmt = 0;
+                                        decimal NotHelpCreditTradeProfit = 0;
+                                        decimal NotHelpCreditProfitRate = 0;
+                                        decimal NotHelpCreditProfitStandardRate = 0;
+                                        decimal NotHelpCreditAddOrSubRate = 0;
+                                        decimal HelpCreditTradeAmt = 0;
+                                        decimal NonQrCreditTradeProfit = 0;
+                                        decimal HelpCreditTradeProfit = 0;
+                                        decimal HelpCreditProfitRate = 0;
+                                        decimal HelpCreditProfitStandardRate = 0;
+                                        decimal HelpCreditAddOrSubRate = 0;
+                                        decimal DebitNonCapTradeAmt = 0;
+                                        decimal DebitCapTradeAmt = 0;
+                                        decimal QrDebitNotCapTradeAmt = 0;
+                                        decimal NonQrDebitNotCapTradeAmt = 0;
+                                        decimal NotHelpDebitNonCapTradeAmt = 0;
+                                        decimal HelpDebitNonCapTradeAmt = 0;
+                                        decimal DebitNonTradeCapProfit = 0;
+                                        decimal QrDebitNonTradeCapProfit = 0;
+                                        decimal NonQrDebitNonTradeCapProfit = 0;
+                                        decimal NotHelpDebitNonTradeCapProfit = 0;
+                                        decimal HelpDebitNonTradeCapProfit = 0;
+                                        decimal DebitTradeCapProfit = 0;
+                                        decimal NotHelpDebitProfitRate = 0;
+                                        decimal NotHelpDebitProfitStandardRate = 0;
+                                        decimal NotHelpDebitAddOrSubRate = 0;
+                                        decimal HelpDebitProfitRate = 0;
+                                        decimal HelpDebitProfitStandardRate = 0;
+                                        decimal HelpDebitAddOrSubRate = 0;
+                                        decimal DebitCapSingleReward = 0;
+                                        decimal QrDebitProfitRate = 0;
+                                        decimal QrDebitProfitStandardRate = 0;
+                                        decimal QrDebitAddOrSubRate = 0;
+                                        decimal ProfitCreditTradeProfit = 0;
+                                        decimal ProfitCreditProfitRate = 0;
+                                        decimal ProfitCreditTradeAmt = 0;
+                                        decimal ProfitCreditTradeProfit2 = 0;
+                                        decimal ProfitCreditProfitRate2 = 0;
+                                        decimal ProfitCreditTradeAmt2 = 0;
+                                        decimal ProfitDebitNonCapTradeAmt = 0;
+                                        decimal ProfitDebitNonTradeCapProfit = 0;
+                                        decimal ProfitDebitProfitRate = 0;
+                                        if (j == 1)
+                                        {
+                                            CreditTradeAmt = TradeAmt; //贷记卡交易总金额
+                                            CreditTradeProfit = ProfitAmt; //贷记卡分润总金额
+                                            if (sub.QrPayFlag == 1)
+                                            {
+                                                QrCreditTradeAmt = TradeAmt; //(云闪付)贷记卡交易总金额
+                                                QrCreditProfitRate = ProfitRate; //(云闪付)贷记卡交易分润比例
+                                                QrCreditTradeProfit = ProfitAmt; //(云闪付)贷记卡交易分润
+                                            }
+                                            else
+                                            {
+                                                NonQrCreditTradeAmt = TradeAmt; //(非云闪付)贷记卡交易总金额
+                                                NonQrCreditTradeProfit = ProfitAmt; //(非云闪付)贷记卡交易分润
+                                                if(sub.HelpFlag == 1)
+                                                {
+                                                    HelpCreditTradeProfit = ProfitAmt; //(扶持期)(非云闪付)贷记卡分润总金额
+                                                    HelpCreditProfitRate = ProfitRate; //(扶持期)(非云闪付)贷记卡商户交易对应分润比例
+                                                    HelpCreditTradeAmt = TradeAmt; //(扶持期)(非云闪付)贷记卡交易总金额
+                                                }
+                                                else if(sub.HelpFlag == 2)
+                                                {
+                                                    ProfitCreditTradeProfit = ProfitAmt; //(盈利期)(非云闪付)贷记卡分润总金额
+                                                    ProfitCreditProfitRate = ProfitRate; //(盈利期)(非云闪付)贷记卡商户交易对应分润比例
+                                                    ProfitCreditTradeAmt = TradeAmt; //(盈利期)(非云闪付)贷记卡交易总金额
+                                                }
+                                                else if(sub.HelpFlag == 3)
+                                                {
+                                                    ProfitCreditTradeProfit2 = ProfitAmt; //(盈利期)(非云闪付)贷记卡分润总金额
+                                                    ProfitCreditProfitRate2 = ProfitRate; //(盈利期)(非云闪付)贷记卡商户交易对应分润比例
+                                                    ProfitCreditTradeAmt2 = TradeAmt; //(盈利期)(非云闪付)贷记卡交易总金额
+                                                }
+                                                else
+                                                {
+                                                    NotHelpCreditTradeAmt = TradeAmt; //(非扶持期)(非云闪付)贷记卡交易总金额
+                                                    NotHelpCreditTradeProfit = ProfitAmt; //(非扶持期)(非云闪付)贷记卡分润总金额
+                                                    NotHelpCreditProfitRate = ProfitRate; //(非扶持期)(非云闪付)贷记卡商户交易对应分润比例
+                                                }
+                                            }
+                                        }
+                                        if (j == 0)
+                                        {
+                                            if (sub.Money < 1)
+                                            {
+                                                DebitNonCapTradeAmt = TradeAmt; //商户非封顶借记卡交易总额
+                                                DebitNonTradeCapProfit = ProfitAmt; //借记卡非封顶交易分润总金额
+                                            }
+                                            else
+                                            {
+                                                DebitCapTradeAmt = TradeAmt; //商户借记卡封顶交易总额
+                                                DebitCapSingleReward = ProfitAmt; //借记卡合伙人直营封顶交易奖励金额
+                                                DebitTradeCapProfit = ProfitAmt; //借记卡封顶交易分润总金额
+                                            }
+                                            if (sub.QrPayFlag == 1)
+                                            {
+                                                if (sub.Money < 1)
+                                                {
+                                                    QrDebitNotCapTradeAmt = TradeAmt; //(云闪付)商户非封顶借记卡交易总额
+                                                    QrDebitProfitRate = ProfitRate; //(云闪付)借记卡非封顶交易分润比例
+                                                    QrDebitNonTradeCapProfit = ProfitAmt; //(云闪付)借记卡非封顶交易分润总金额
+                                                }
+                                            }
+                                            else
+                                            {
+                                                if (sub.Money < 1)
+                                                {
+                                                    NonQrDebitNonTradeCapProfit = ProfitAmt; //(非云闪付)借记卡非封顶交易分润总金额
+                                                    NonQrDebitNotCapTradeAmt = TradeAmt; //(非云闪付)商户非封顶借记卡交易总额
+                                                }
+                                                if (sub.HelpFlag == 1)
+                                                {
+                                                    if (sub.Money < 1)
+                                                    {
+                                                        HelpDebitNonCapTradeAmt = TradeAmt; //(扶持期)(非云闪付)借记卡非封顶交易总金额
+                                                        HelpDebitNonTradeCapProfit = ProfitAmt; //(扶持期)(非云闪付)借记卡非封顶交易分润总金额
+                                                    }
+                                                    HelpDebitProfitRate = ProfitRate; //(扶持期)(非云闪付)借记卡商户交易对应分润比例
+                                                }
+                                                else if (sub.HelpFlag >= 2)
+                                                {
+                                                    if (sub.Money < 1)
+                                                    {
+                                                        ProfitDebitNonCapTradeAmt = TradeAmt; //(盈利期)(非云闪付)借记卡非封顶交易总金额
+                                                        ProfitDebitNonTradeCapProfit = ProfitAmt; //(盈利期)(非云闪付)借记卡非封顶交易分润总金额
+                                                    }
+                                                    ProfitDebitProfitRate = ProfitRate; //(盈利期)(非云闪付)借记卡商户交易对应分润比例
+                                                }
+                                                else
+                                                {
+                                                    if (sub.Money < 1)
+                                                    {
+                                                        NotHelpDebitNonCapTradeAmt = TradeAmt; //(非扶持期)(非云闪付)借记卡非封顶交易总金额
+                                                        NotHelpDebitNonTradeCapProfit = ProfitAmt; //(非扶持期)(非云闪付)借记卡非封顶交易分润总金额
+                                                    }
+                                                    NotHelpDebitProfitRate = ProfitRate; //(非扶持期)(非云闪付)借记卡商户交易对应分润比例
+                                                }
+                                            }
+                                        }
+                                        db.ProfitRewardRecord.Add(new ProfitRewardRecord()
+                                        {
+                                            CreateDate = DateTime.Now,
+                                            UpdateDate = DateTime.Now,
+                                            UserId = sub.UserId, //创客
+                                            MerchantId = sub.MerchantId, //商户
+                                            BrandId = sub.BrandId, //品牌
+                                            ProfitType = sub.DirectFlag, //创客分润类型
+                                            TradeAmt = sub.TradeAmount, //商户交易总额
+                                            TradeProfit = sub.Money, //交易分润
+                                            TradeMonth = Month, //交易月
+                                            RecordNo = RecordNo, //记录单号
+                                            TopUserId = TopUserId, //顶级创客
+                                            CreditTradeAmt = CreditTradeAmt, //贷记卡交易总金额
+                                            QrCreditTradeAmt = QrCreditTradeAmt, //(云闪付)贷记卡交易总金额
+                                            NonQrCreditTradeAmt = NonQrCreditTradeAmt, //(非云闪付)贷记卡交易总金额
+                                            NotHelpCreditTradeAmt = NotHelpCreditTradeAmt, //(非扶持期)(非云闪付)贷记卡交易总金额
+                                            HelpCreditTradeAmt = HelpCreditTradeAmt, //(扶持期)(非云闪付)贷记卡交易总金额
+                                            DebitNonCapTradeAmt = DebitNonCapTradeAmt, //商户非封顶借记卡交易总额
+                                            QrDebitNotCapTradeAmt = QrDebitNotCapTradeAmt, //(云闪付)商户非封顶借记卡交易总额
+                                            NonQrDebitNotCapTradeAmt = NonQrDebitNotCapTradeAmt, //(非云闪付)商户非封顶借记卡交易总额
+                                            NotHelpDebitNonCapTradeAmt = NotHelpDebitNonCapTradeAmt, //(非扶持期)(非云闪付)借记卡非封顶交易总金额
+                                            HelpDebitNonCapTradeAmt = HelpDebitNonCapTradeAmt, //(扶持期)(非云闪付)借记卡非封顶交易总金额
+                                            DebitCapTradeAmt = DebitCapTradeAmt, //商户借记卡封顶交易总额
+                                            CreditTradeProfit = CreditTradeProfit, //贷记卡分润总金额
+                                            QrCreditTradeProfit = QrCreditTradeProfit, //(云闪付)贷记卡交易分润
+                                            NonQrCreditTradeProfit = NonQrCreditTradeProfit, //(非云闪付)贷记卡交易分润
+                                            NotHelpCreditTradeProfit = NotHelpCreditTradeProfit, //(非扶持期)(非云闪付)贷记卡分润总金额
+                                            HelpCreditTradeProfit = HelpCreditTradeProfit, //(扶持期)(非云闪付)贷记卡分润总金额
+                                            DebitNonTradeCapProfit = DebitNonTradeCapProfit, //借记卡非封顶交易分润总金额
+                                            QrDebitNonTradeCapProfit = QrDebitNonTradeCapProfit, //(云闪付)借记卡非封顶交易分润总金额
+                                            NonQrDebitNonTradeCapProfit = NonQrDebitNonTradeCapProfit, //(非云闪付)借记卡非封顶交易分润总金额
+                                            NotHelpDebitNonTradeCapProfit = NotHelpDebitNonTradeCapProfit, //(非扶持期)(非云闪付)借记卡非封顶交易分润总金额
+                                            HelpDebitNonTradeCapProfit = HelpDebitNonTradeCapProfit, //(扶持期)(非云闪付)借记卡非封顶交易分润总金额
+                                            DebitTradeCapProfit = DebitTradeCapProfit, //借记卡封顶交易分润总金额
+                                            NotHelpCreditProfitRate = NotHelpCreditProfitRate, //(非扶持期)(非云闪付)贷记卡商户交易对应分润比例
+                                            NotHelpCreditProfitStandardRate = NotHelpCreditProfitStandardRate, //(非扶持期)(非云闪付)贷记卡标准分润比例
+                                            NotHelpCreditAddOrSubRate = NotHelpCreditAddOrSubRate, //(非扶持期)(非云闪付)贷记卡成本或增或减比例
+                                            HelpCreditProfitRate = HelpCreditProfitRate, //(扶持期)(非云闪付)贷记卡商户交易对应分润比例
+                                            HelpCreditProfitStandardRate = HelpCreditProfitStandardRate, //(扶持期)(非云闪付)贷记卡-标准分润比例
+                                            HelpCreditAddOrSubRate = HelpCreditAddOrSubRate, //(扶持期)(非云闪付)贷记卡成本或增或减比例
+                                            NotHelpDebitProfitRate = NotHelpDebitProfitRate, //(非扶持期)(非云闪付)借记卡商户交易对应分润比例
+                                            NotHelpDebitProfitStandardRate = NotHelpDebitProfitStandardRate, //(非扶持期)(非云闪付)借记卡标准分润比例
+                                            NotHelpDebitAddOrSubRate = NotHelpDebitAddOrSubRate, //(非扶持期)(非云闪付)借记卡成本或增或减比例
+                                            HelpDebitProfitRate = HelpDebitProfitRate, //(扶持期)(非云闪付)借记卡商户交易对应分润比例
+                                            HelpDebitProfitStandardRate = HelpDebitProfitStandardRate, //(扶持期)(非云闪付)借记卡-标准分润比例
+                                            HelpDebitAddOrSubRate = HelpDebitAddOrSubRate, //(扶持期)(非云闪付)借记卡成本或增或减比例
+                                            DebitCapSingleReward = DebitCapSingleReward, //借记卡合伙人直营封顶交易奖励金额
+                                            QrCreditProfitRate = QrCreditProfitRate, //(云闪付)贷记卡交易分润比例
+                                            QrCreditProfitStandardRate = QrCreditProfitStandardRate, //(云闪付)贷记卡分润基准
+                                            QrCreditAddOrSubRate = QrCreditAddOrSubRate, //(云闪付)贷记卡分润比例或增或减
+                                            QrDebitProfitRate = QrDebitProfitRate, //(云闪付)借记卡非封顶交易分润比例
+                                            QrDebitProfitStandardRate = QrDebitProfitStandardRate, //(云闪付)借记卡非封顶交易分润基准
+                                            QrDebitAddOrSubRate = QrDebitAddOrSubRate, //(云闪付)借记卡非封顶交易分润比例或增或减
+                                            ProfitCreditTradeProfit = ProfitCreditTradeProfit,  //(盈利期)(非云闪付)贷记卡分润总金额
+                                            ProfitCreditProfitRate = ProfitCreditProfitRate, //(盈利期)(非云闪付)贷记卡商户交易对应分润比例
+                                            ProfitCreditTradeAmt = ProfitCreditTradeAmt, //(盈利期)(非云闪付)贷记卡交易总金额
+                                            ProfitCreditTradeProfit2 = ProfitCreditTradeProfit2,  //(盈利期)(非云闪付)贷记卡分润总金额
+                                            ProfitCreditProfitRate2 = ProfitCreditProfitRate2, //(盈利期)(非云闪付)贷记卡商户交易对应分润比例
+                                            ProfitCreditTradeAmt2 = ProfitCreditTradeAmt2, //(盈利期)(非云闪付)贷记卡交易总金额
+                                            ProfitDebitNonCapTradeAmt = ProfitDebitNonCapTradeAmt, //(盈利期)(非云闪付)借记卡非封顶交易总金额
+                                            ProfitDebitNonTradeCapProfit = ProfitDebitNonTradeCapProfit, //(盈利期)(非云闪付)借记卡非封顶交易分润总金额
+                                            ProfitDebitProfitRate = ProfitDebitProfitRate, //(盈利期)(非云闪付)借记卡商户交易对应分润比例
+                                        });
+                                        // db.SaveChanges();
+                                    }
+                                }
+                                db.SaveChanges();
+                                PageNum += 1;
+                            }
+                            else
+                            {
+                                op = false;
+                            }
+                        }
+                    }
+                }
+                db.Dispose();
+            }
+            catch(Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "分润监控异常");
+            }
+
+            ProfitHelper.Instance.StatProfit();
+        }
+        public List<ProfitResult> StartProftForPosByDate(int BrandId, int BankCardType, string Month, int PageNum = 1)
+        {
+            // 级差
+            /*   
+                
+                K1 - K5:无大小市场要求,无押机分润比例为有押金机的70%,如K1的有押金机分润比例为万6,则无押机的分润比例为万4.2
+                                      机具激活大于90天,分润比例为原比例的70%
+
+                        if(is0y){
+                            分润比例为原比例的70%
+                        }
+                        if(ActivityDate > now - 90){
+                            分润比例为原比例的70%
+                        }
+                K6 - K9:
+                    K6:至少有1个直推大于3000万,且总交易额减去3000万大于1200万,则获得分红奖(月月红)直接级差
+                    K7:总交易额减去最大交易额的直推,大于4000万,则获得分红奖(月月红)直接级差
+                    K8:总交易额减去最大交易额的直推,大于12000万,则获得分红奖(月月红)直接级差
+                    K9:总交易额减去最大交易额的直推,大于32000万,则获得分红奖(月月红)直接级差
+
+                补贴:
+                    0押金无补贴
+                    机具激活90天内,机具所属创客获得万10置顶
+                    若创客为商户型创客,则机具UserId的创客获得万4分润
+
+                    //查分润
+                    select u.MakerCode,u.RealName,u.UserLevel,r.Rank,(case when ProfitType=1 then '直营' else '团队' end) as DirectFlag,
+                    k.Name,CreditTradeAmt,CreditTradeProfit,QrCreditTradeAmt,QrCreditTradeProfit,NonQrCreditTradeAmt,NonQrCreditTradeProfit,HelpCreditTradeAmt,HelpCreditTradeProfit,NotHelpCreditTradeAmt,NotHelpCreditTradeProfit,DebitTradeAmt,DebitTradeProfit from (
+                    select UserId,ProfitType,BrandId,
+                    sum(CreditTradeAmt) as CreditTradeAmt,
+                    sum(CreditTradeProfit) as CreditTradeProfit,
+                    sum(QrCreditTradeAmt) as QrCreditTradeAmt,
+                    sum(QrCreditTradeProfit) as QrCreditTradeProfit,
+                    sum(NonQrCreditTradeAmt) as NonQrCreditTradeAmt,
+                    sum(NonQrCreditTradeProfit) as NonQrCreditTradeProfit,
+                    sum(HelpCreditTradeAmt) as HelpCreditTradeAmt,
+                    sum(HelpCreditTradeProfit) as HelpCreditTradeProfit,
+                    sum(NotHelpCreditTradeAmt) as NotHelpCreditTradeAmt,
+                    sum(NotHelpCreditTradeProfit) as NotHelpCreditTradeProfit,
+                    sum(DebitNonCapTradeAmt+DebitCapTradeAmt) as DebitTradeAmt,
+                    sum(DebitNonTradeCapProfit+DebitTradeCapProfit) as DebitTradeProfit 
+                    from ProfitRewardRecord where TradeMonth='202208' 
+                    GROUP BY UserId,ProfitType,BrandId
+                    ) tb 
+                    left join Users u on tb.UserId=u.Id 
+                    LEFT JOIN KqProducts k ON k.Id=tb.BrandId 
+                    left join UserRankWhite r on u.Id=r.Id and r.CreateDate<'2022-09-01 00:00:00' and r.UpdateDate>'2022-09-01 00:00:00' 
+                    ORDER BY u.MakerCode
+
+                    //查补贴
+                    select u.MakerCode,u.RealName,u.UserLevel,r.Rank,(case when SubsidyType=1 then '直营' else '团队' end) as DirectFlag,
+                    k.Name,CreditTradeAmt,SubsidyProfit from (
+                    select SubsidyUserId,BrandId,SubsidyType,
+                    sum(CreditTradeAmt) as CreditTradeAmt,
+                    sum(SubsidyProfitRate) as SubsidyProfit
+                    from ProfitSubsidyDetail where TradeMonth='202206' 
+                    GROUP BY SubsidyUserId,BrandId,SubsidyType
+                    ) tb 
+                    left join Users u on tb.SubsidyUserId=u.Id 
+                    LEFT JOIN KqProducts k ON k.Id=tb.BrandId 
+                    left join UserRankWhite r on u.Id=r.Id 
+
+                    // TODO:做到后台查询,换绑机器遗漏交易额补差
+                    select UserId,sum(TradeAmount) from TradeRecord where SnNo in (
+                    select PosSn from PosMachinesTwo where UserId=0 and BuyUserId=0 and CreditTrade>0
+                    ) and CreateDate>='2022-04-01 00:00:00' and CreateDate<'2022-05-01 00:00:00' and UserId>0 group by UserId
+
+            */
+
+            int PageSize = 200;
+            int SkipNum = (PageNum - 1) * PageSize;
+            string LimitString = " limit " + PageSize;
+            if(PageNum > 1)
+            {
+                LimitString = " limit " + SkipNum + "," + PageSize;
+            }
+            List<ProfitResult> result = new List<ProfitResult>();
+            ProfitObjects obj = RedisDbconn.Instance.Get<ProfitObjects>("pobj" + BrandId);
+            if (obj.Status == 1) //判断分润是否开启
+            {
+                string sqlstr = "";
+                if (BankCardType == 1)
+                {
+                    sqlstr = "select UserId,QrPayFlag,HelpDirectTradeAmt,NotHelpDirectTradeAmt,ProfitDirectTradeAmt from CreditTradeDaySummary" + Month + " where BrandId=" + BrandId + LimitString;
+                }
+                if (BankCardType == 0)
+                {
+                    sqlstr = "select UserId,QrPayFlag,HelpDirectDebitTradeAmt,NotHelpDirectDebitTradeAmt,HelpDirectDebitCapTradeAmt,NotHelpDirectDebitCapTradeAmt,HelpDirectDebitCapNum,NotHelpDirectDebitCapNum,ProfitDirectDebitTradeAmt,ProfitDirectDebitCapTradeAmt,ProfitDirectDebitCapNum from DebitTradeDaySummary" + Month + " where BrandId=" + BrandId + LimitString;
+                }
+                function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":" + sqlstr, "分润监控日志");
+                DataTable dt = GetDataTable(sqlstr);
+                function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":" + dt.Rows.Count.ToString(), "分润监控日志");
+                if(dt.Rows.Count > 0)
+                {
+                    foreach (DataRow dr in dt.Rows)
+                    {
+                        WebCMSEntities dbnew = new WebCMSEntities();
+                        try
+                        {
+                            int UserId = int.Parse(dr["UserId"].ToString());
+                            int QrPayFlag = int.Parse(dr["QrPayFlag"].ToString());
+                            List<UserLevelSet> levels = dbnew.UserLevelSet.ToList();
+                            SubUser selfUser = GetUser(UserId, Month) ?? new SubUser();
+                            int Days = int.Parse(RedisDbconn.Instance.Get<string>("pobjrule:" + BrandId + ":HelpPolicy:Days")); //天数
+                            if (BankCardType == 0)
+                            {
+                                function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":借记卡", "分润监控日志");
+                                decimal HelpDirectDebitTradeAmt = decimal.Parse(dr[2].ToString()); //借记卡扶持期交易额
+                                decimal NotHelpDirectDebitTradeAmt = decimal.Parse(dr[3].ToString()); //借记卡稳定期交易额
+                                decimal ProfitDirectDebitTradeAmt = decimal.Parse(dr[8].ToString()); //借记卡扶持期交易额
+                                decimal HelpDirectDebitCapTradeAmt = decimal.Parse(dr[4].ToString()); //借记卡扶持期封顶交易额
+                                decimal NotHelpDirectDebitCapTradeAmt = decimal.Parse(dr[5].ToString()); //借记卡稳定期封顶交易额
+                                decimal ProfitDirectDebitCapTradeAmt = decimal.Parse(dr[9].ToString()); //借记卡扶持期封顶交易额
+                                int HelpDirectDebitCapNum = int.Parse(dr[6].ToString().Split('.')[0]); //借记卡扶持期封顶交易笔数
+                                int NotHelpDirectDebitCapNum = int.Parse(dr[7].ToString().Split('.')[0]); //借记卡稳定期封顶交易笔数
+                                int ProfitDirectDebitCapNum = int.Parse(dr[10].ToString().Split('.')[0]); //借记卡扶持期封顶交易笔数
+                                int UserLevel = selfUser.UserLevel; //当前会员等级
+                                decimal getLevelProfit = (HelpDirectDebitTradeAmt + NotHelpDirectDebitTradeAmt + ProfitDirectDebitTradeAmt - HelpDirectDebitCapTradeAmt - NotHelpDirectDebitCapTradeAmt - ProfitDirectDebitCapTradeAmt) * 0.0006M + HelpDirectDebitCapNum + NotHelpDirectDebitCapNum + ProfitDirectDebitCapNum;
+                                result.Add(new ProfitResult()
+                                {
+                                    UserId = selfUser.Id,
+                                    UserNav = selfUser.ParentNav,
+                                    Money = PublicFunction.NumberFormat(getLevelProfit),
+                                    ProfitRate = 0.0006M,
+                                    Message = "储蓄卡分润",
+                                    BankCardType = BankCardType,
+                                    QrPayFlag = QrPayFlag,
+                                    BrandId = BrandId,
+                                    DirectFlag = 1,
+                                    IsSubsidy = 0,
+                                    TradeAmount = HelpDirectDebitTradeAmt + NotHelpDirectDebitTradeAmt + ProfitDirectDebitTradeAmt,
+                                });
+                            }
+                            else
+                            {
+                                function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":贷记卡", "分润监控日志");
+                                decimal HelpDirectTradeAmt = decimal.Parse(dr[2].ToString()); //贷记卡扶持期交易额
+                                decimal NotHelpDirectTradeAmt = decimal.Parse(dr[3].ToString()); //贷记卡稳定期交易额
+                                decimal ProfitDirectTradeAmt = decimal.Parse(dr[4].ToString()); //贷记卡盈利期期交易额
+                                int maxLevel = obj.MaxLevel; //最大等级
+                                decimal diffLevelProfit = 0;  //等级级差
+                                int curLevel = 0; //当前层级的会员等级
+                                string ParentNav = selfUser.ParentNav;
+                                if (string.IsNullOrEmpty(ParentNav))
+                                {
+                                    ParentNav = ",0,";
+                                }
+                                function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":" + ParentNav, "分润监控日志");
+                                if (!string.IsNullOrEmpty(ParentNav))
+                                {
+                                    ParentNav += "," + UserId + ",";
+                                    string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                                    Array.Reverse(ParentNavList); //反转顺序
+                                    int level = 0;
+                                    DateTime now = DateTime.Now;
+                                    DateTime ThisMonth = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00");
+                                    function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":扶持期:" + HelpDirectTradeAmt, "分润监控日志");
+                                    if (HelpDirectTradeAmt > 0)
+                                    {
+                                        level = 0;
+                                        curLevel = 0;
+                                        diffLevelProfit = 0;  //等级级差
+                                        decimal checkProfit = HelpDirectTradeAmt * 0.0012M;
+                                        decimal curProfit = 0;
+                                        foreach (string UserIdString in ParentNavList)
+                                        {
+                                            level += 1;
+                                            int uid = int.Parse(UserIdString);
+                                            SubUser user = GetUser(uid, Month) ?? new SubUser();
+                                            int UserLevel = user.PreUserLevel > user.UserLevel ? user.PreUserLevel : user.UserLevel; //当前会员等级
+                                            if (curLevel == maxLevel) //判断当前创客是否有直推的激活机具,并且在活动时间内
+                                            {
+                                                break;
+                                            }
+                                            if (UserLevel <= maxLevel && UserLevel > curLevel)
+                                            {
+                                                int LevelKindId = GetLevelKindId(BrandId, 1, 1);
+                                                ProfitObjectLevels objlevel = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId + ":" + UserLevel); //获取当前等级参数
+                                                if (objlevel != null)
+                                                {
+                                                    decimal getLevelProfit = 0;  //等级分润
+                                                    if (objlevel.Percents > 0)
+                                                    {
+                                                        //获取创客分润规则,注册日开始算起,3个自然月内算扶持期
+                                                        getLevelProfit += HelpDirectTradeAmt * objlevel.Percents;
+                                                    }
+                                                    if (objlevel.AddProfitVal > 0)
+                                                    {
+                                                        getLevelProfit += objlevel.AddProfitVal;
+                                                    }
+                                                    decimal money = getLevelProfit;
+                                                    getLevelProfit -= diffLevelProfit;
+                                                    if (objlevel.LevelDiff == 1)  //判断是否有级差
+                                                    {
+                                                        diffLevelProfit = money;
+                                                    }
+                                                    if (getLevelProfit >= obj.MinProfitVal)
+                                                    {
+                                                        int DirectFlag = selfUser.Id == user.Id ? 1 : 0;
+                                                        result.Add(new ProfitResult()
+                                                        {
+                                                            UserId = user.Id,
+                                                            UserNav = user.ParentNav,
+                                                            Money = PublicFunction.NumberFormat(getLevelProfit),
+                                                            ProfitRate = objlevel.Percents,
+                                                            Message = "交易分润",
+                                                            BankCardType = BankCardType,
+                                                            QrPayFlag = QrPayFlag,
+                                                            DirectFlag = DirectFlag,
+                                                            BrandId = BrandId,
+                                                            IsSubsidy = 0,
+                                                            TradeAmount = HelpDirectTradeAmt,
+                                                            HelpFlag = 1,
+                                                        });
+                                                        curProfit += getLevelProfit;
+                                                        function.WriteLog(user.Id + "-" + UserLevel + "-" + HelpDirectTradeAmt + "-" + DirectFlag + "-扶持期分润:" + getLevelProfit, "分润监控日志");
+                                                    }
+                                                }
+                                            }
+                                            if(curLevel < UserLevel)
+                                            {
+                                                curLevel = UserLevel;
+                                            }
+                                        }
+                                        if(curProfit > checkProfit)
+                                        {
+                                            decimal more = curProfit - checkProfit;
+                                            function.WriteLog("超标了:" + more, "分润监控日志");
+                                        }
+                                    }
+                                    function.WriteLog("------------------------", "分润监控日志");
+                                    function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":稳定期:" + NotHelpDirectTradeAmt, "分润监控日志");
+                                    if (NotHelpDirectTradeAmt > 0)
+                                    {
+                                        level = 0;
+                                        curLevel = 0;
+                                        diffLevelProfit = 0;  //等级级差
+                                        foreach (string UserIdString in ParentNavList)
+                                        {
+                                            level += 1;
+                                            int uid = int.Parse(UserIdString);
+                                            SubUser user = GetUser(uid, Month) ?? new SubUser();
+                                            int UserLevel = user.PreUserLevel > user.UserLevel ? user.PreUserLevel : user.UserLevel; //当前会员等级
+                                            if (curLevel == maxLevel) //判断当前创客是否有直推的激活机具,并且在活动时间内
+                                            {
+                                                break;
+                                            }
+                                            if (UserLevel <= maxLevel && UserLevel > curLevel)
+                                            {
+                                                int LevelKindId = GetLevelKindId(BrandId, 0, 1);
+                                                ProfitObjectLevels objlevel = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId + ":" + UserLevel); //获取当前等级参数
+                                                if (objlevel != null)
+                                                {
+                                                    decimal getLevelProfit = 0;  //等级分润
+                                                    if (objlevel.Percents > 0)
+                                                    {
+                                                        //获取创客分润规则,注册日开始算起,3个自然月内算扶持期
+                                                        getLevelProfit += NotHelpDirectTradeAmt * objlevel.Percents;
+                                                    }
+                                                    if (objlevel.AddProfitVal > 0)
+                                                    {
+                                                        getLevelProfit += objlevel.AddProfitVal;
+                                                    }
+                                                    decimal money = getLevelProfit;
+                                                    getLevelProfit -= diffLevelProfit;
+                                                    if (objlevel.LevelDiff == 1)  //判断是否有级差
+                                                    {
+                                                        diffLevelProfit = money;
+                                                    }
+                                                    if (getLevelProfit >= obj.MinProfitVal)
+                                                    {
+                                                        result.Add(new ProfitResult()
+                                                        {
+                                                            UserId = user.Id,
+                                                            UserNav = user.ParentNav,
+                                                            Money = PublicFunction.NumberFormat(getLevelProfit),
+                                                            ProfitRate = objlevel.Percents,
+                                                            Message = "交易分润",
+                                                            BankCardType = BankCardType,
+                                                            QrPayFlag = QrPayFlag,
+                                                            BrandId = BrandId,
+                                                            DirectFlag = selfUser.Id == user.Id ? 1 : 0,
+                                                            IsSubsidy = 0,
+                                                            TradeAmount = NotHelpDirectTradeAmt,
+                                                            HelpFlag = 0,
+                                                        });
+                                                    }
+                                                }
+                                            }
+                                            if(curLevel < UserLevel)
+                                            {
+                                                curLevel = UserLevel;
+                                            }
+                                        }
+                                    }
+                                    function.WriteLog("------------------------", "分润监控日志");
+                                    function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":盈利期:" + ProfitDirectTradeAmt, "分润监控日志");
+                                    if (ProfitDirectTradeAmt > 0)
+                                    {
+                                        level = 0;
+                                        curLevel = 0;
+                                        diffLevelProfit = 0;  //等级级差
+                                        foreach (string UserIdString in ParentNavList)
+                                        {
+                                            level += 1;
+                                            int uid = int.Parse(UserIdString);
+                                            SubUser user = GetUser(uid, Month) ?? new SubUser();
+                                            int UserLevel = user.PreUserLevel > user.UserLevel ? user.PreUserLevel : user.UserLevel; //当前会员等级
+                                            if (curLevel == maxLevel) //判断当前创客是否有直推的激活机具,并且在活动时间内
+                                            {
+                                                break;
+                                            }
+                                            if (UserLevel <= maxLevel && UserLevel > curLevel)
+                                            {
+                                                int LevelKindId = GetLevelKindId(BrandId, 2, 1);
+                                                ProfitObjectLevels objlevel = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId + ":" + UserLevel); //获取当前等级参数
+                                                if (objlevel != null)
+                                                {
+                                                    decimal getLevelProfit = 0;  //等级分润
+                                                    if (objlevel.Percents > 0)
+                                                    {
+                                                        getLevelProfit += ProfitDirectTradeAmt * objlevel.Percents;
+                                                    }
+                                                    if (objlevel.AddProfitVal > 0)
+                                                    {
+                                                        getLevelProfit += objlevel.AddProfitVal;
+                                                    }
+                                                    decimal money = getLevelProfit;
+                                                    getLevelProfit -= diffLevelProfit;
+                                                    if (objlevel.LevelDiff == 1)  //判断是否有级差
+                                                    {
+                                                        diffLevelProfit = money;
+                                                    }
+                                                    if (getLevelProfit >= obj.MinProfitVal)
+                                                    {
+                                                        result.Add(new ProfitResult()
+                                                        {
+                                                            UserId = user.Id,
+                                                            UserNav = user.ParentNav,
+                                                            Money = PublicFunction.NumberFormat(getLevelProfit),
+                                                            ProfitRate = objlevel.Percents,
+                                                            Message = "交易分润",
+                                                            BankCardType = BankCardType,
+                                                            QrPayFlag = QrPayFlag,
+                                                            BrandId = BrandId,
+                                                            DirectFlag = selfUser.Id == user.Id ? 1 : 0,
+                                                            IsSubsidy = 0,
+                                                            TradeAmount = ProfitDirectTradeAmt,
+                                                            HelpFlag = 2,
+                                                        });
+                                                    }
+                                                }
+                                            }
+                                            if(curLevel < UserLevel)
+                                            {
+                                                curLevel = UserLevel;
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":over", "分润监控日志");
+                        }
+                        catch (Exception ex)
+                        {
+                            function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "每月统计分润异常");
+                        }
+                        dbnew.Dispose();
+                    }
+                }
+
+
+                sqlstr = "";
+                if (BankCardType == 1)
+                {
+                    sqlstr = "select UserId,QrPayFlag,ProfitDirectTradeAmt from CreditTradeDaySummary2" + Month + " where BrandId=" + BrandId + LimitString;
+                }
+                function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":" + sqlstr, "分润监控日志");
+                dt = GetDataTable(sqlstr);
+                function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":" + dt.Rows.Count.ToString(), "分润监控日志");
+                if(dt.Rows.Count > 0)
+                {
+                    foreach (DataRow dr in dt.Rows)
+                    {
+                        WebCMSEntities dbnew = new WebCMSEntities();
+                        try
+                        {
+                            int UserId = int.Parse(dr["UserId"].ToString());
+                            int QrPayFlag = int.Parse(dr["QrPayFlag"].ToString());
+                            List<UserLevelSet> levels = dbnew.UserLevelSet.ToList();
+                            SubUser selfUser = GetUser(UserId, Month) ?? new SubUser();
+                            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":贷记卡", "分润监控日志");
+                            decimal ProfitDirectTradeAmt = decimal.Parse(dr[2].ToString()); //贷记卡盈利期期交易额
+                            int maxLevel = obj.MaxLevel; //最大等级
+                            decimal diffLevelProfit = 0;  //等级级差
+                            int curLevel = 0; //当前层级的会员等级
+                            string ParentNav = selfUser.ParentNav;
+                            if (string.IsNullOrEmpty(ParentNav))
+                            {
+                                ParentNav = ",0,";
+                            }
+                            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":" + ParentNav, "分润监控日志");
+                            if (!string.IsNullOrEmpty(ParentNav))
+                            {
+                                ParentNav += "," + UserId + ",";
+                                string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                                Array.Reverse(ParentNavList); //反转顺序
+                                int level = 0;
+                                DateTime now = DateTime.Now;
+                                DateTime ThisMonth = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00");                                
+                                function.WriteLog("------------------------", "分润监控日志");
+                                function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":盈利期2:" + ProfitDirectTradeAmt, "分润监控日志");
+                                if (ProfitDirectTradeAmt > 0)
+                                {
+                                    level = 0;
+                                    curLevel = 0;
+                                    diffLevelProfit = 0;  //等级级差
+                                    foreach (string UserIdString in ParentNavList)
+                                    {
+                                        level += 1;
+                                        int uid = int.Parse(UserIdString);
+                                        SubUser user = GetUser(uid, Month) ?? new SubUser();
+                                        int UserLevel = user.PreUserLevel > user.UserLevel ? user.PreUserLevel : user.UserLevel; //当前会员等级
+                                        if (curLevel == maxLevel) //判断当前创客是否有直推的激活机具,并且在活动时间内
+                                        {
+                                            break;
+                                        }
+                                        if (UserLevel <= maxLevel && UserLevel > curLevel)
+                                        {
+                                            int LevelKindId = GetLevelKindId(BrandId, 3, 1);
+                                            ProfitObjectLevels objlevel = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId + ":" + UserLevel); //获取当前等级参数
+                                            if (objlevel != null)
+                                            {
+                                                decimal getLevelProfit = 0;  //等级分润
+                                                if (objlevel.Percents > 0)
+                                                {
+                                                    getLevelProfit += ProfitDirectTradeAmt * objlevel.Percents;
+                                                }
+                                                if (objlevel.AddProfitVal > 0)
+                                                {
+                                                    getLevelProfit += objlevel.AddProfitVal;
+                                                }
+                                                decimal money = getLevelProfit;
+                                                getLevelProfit -= diffLevelProfit;
+                                                if (objlevel.LevelDiff == 1)  //判断是否有级差
+                                                {
+                                                    diffLevelProfit = money;
+                                                }
+                                                if (getLevelProfit >= obj.MinProfitVal)
+                                                {
+                                                    result.Add(new ProfitResult()
+                                                    {
+                                                        UserId = user.Id,
+                                                        UserNav = user.ParentNav,
+                                                        Money = PublicFunction.NumberFormat(getLevelProfit),
+                                                        ProfitRate = objlevel.Percents,
+                                                        Message = "交易分润",
+                                                        BankCardType = BankCardType,
+                                                        QrPayFlag = QrPayFlag,
+                                                        BrandId = BrandId,
+                                                        DirectFlag = selfUser.Id == user.Id ? 1 : 0,
+                                                        IsSubsidy = 0,
+                                                        TradeAmount = ProfitDirectTradeAmt,
+                                                        HelpFlag = 3,
+                                                    });
+                                                }
+                                            }
+                                        }
+                                        if(curLevel < UserLevel)
+                                        {
+                                            curLevel = UserLevel;
+                                        }
+                                    }
+                                }
+                            }
+                            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":over", "分润监控日志");
+                        }
+                        catch (Exception ex)
+                        {
+                            function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "每月统计分润异常");
+                        }
+                        dbnew.Dispose();
+                    }
+                }
+            }
+            return result;
+        }
+
+        public List<ProfitResult> StartProftForSimByDate(string Month, int BrandId = 14, int PageNum = 1)
+        {
+            int PageSize = 200;
+            int SkipNum = (PageNum - 1) * PageSize;
+            string LimitString = " limit " + PageSize;
+            if(PageNum > 1)
+            {
+                LimitString = " limit " + SkipNum + "," + PageSize;
+            }
+            List<ProfitResult> result = new List<ProfitResult>();
+            ProfitObjects obj = RedisDbconn.Instance.Get<ProfitObjects>("pobj" + BrandId);
+            if (obj.Status == 1) //判断分润是否开启
+            {
+                string sqlstr = "select UserId,sum(HelpTradeAmount),sum(NotHelpTradeAmount) from SimCardDaySummary where TradeMonth='" + Month + "' and SeoTitle='self'" + LimitString;
+                function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":" + sqlstr, "广电卡分润监控日志");
+                DataTable dt = GetDataTable(sqlstr);
+                function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":" + dt.Rows.Count.ToString(), "广电卡分润监控日志");
+                if(dt.Rows.Count > 0)
+                {
+                    foreach (DataRow dr in dt.Rows)
+                    {
+                        WebCMSEntities dbnew = new WebCMSEntities();
+                        try
+                        {
+                            int UserId = int.Parse(dr["UserId"].ToString());
+                            List<UserLevelSet> levels = dbnew.UserLevelSet.ToList();
+                            SubUser selfUser = GetUser(UserId, Month) ?? new SubUser();
+                            int Days = int.Parse(RedisDbconn.Instance.Get<string>("pobjrule:" + BrandId + ":HelpPolicy:Days")); //天数
+                            
+                            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "", "广电卡分润监控日志");
+                            decimal HelpDirectTradeAmt = decimal.Parse(dr[1].ToString()); //扶持期交易额
+                            decimal NotHelpDirectTradeAmt = decimal.Parse(dr[2].ToString()); //稳定期交易额
+                            int maxLevel = obj.MaxLevel; //最大等级
+                            decimal diffLevelProfit = 0;  //等级级差
+                            int curLevel = 0; //当前层级的会员等级
+                            string ParentNav = selfUser.ParentNav;
+                            if (string.IsNullOrEmpty(ParentNav))
+                            {
+                                ParentNav = ",0,";
+                            }
+                            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":" + ParentNav, "广电卡分润监控日志");
+                            if (!string.IsNullOrEmpty(ParentNav))
+                            {
+                                ParentNav += "," + UserId + ",";
+                                string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                                Array.Reverse(ParentNavList); //反转顺序
+                                int level = 0;
+                                DateTime now = DateTime.Now;
+                                DateTime ThisMonth = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00");
+                                function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":扶持期:" + HelpDirectTradeAmt, "广电卡分润监控日志");
+                                if (HelpDirectTradeAmt > 0)
+                                {
+                                    level = 0;
+                                    curLevel = 0;
+                                    diffLevelProfit = 0;  //等级级差
+                                    decimal curProfit = 0;
+                                    foreach (string UserIdString in ParentNavList)
+                                    {
+                                        level += 1;
+                                        int uid = int.Parse(UserIdString);
+                                        SubUser user = GetUser(uid, Month) ?? new SubUser();
+                                        int UserLevel = user.PreUserLevel > user.UserLevel ? user.PreUserLevel : user.UserLevel; //当前会员等级
+                                        if (curLevel == maxLevel) //判断当前创客是否有直推的激活机具,并且在活动时间内
+                                        {
+                                            break;
+                                        }
+                                        if (UserLevel <= maxLevel && UserLevel > curLevel)
+                                        {
+                                            int LevelKindId = GetLevelKindId(BrandId, 1, 1);
+                                            ProfitObjectLevels objlevel = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId + ":" + UserLevel); //获取当前等级参数
+                                            if (objlevel != null)
+                                            {
+                                                decimal getLevelProfit = 0;  //等级分润
+                                                if (objlevel.Percents > 0)
+                                                {
+                                                    //获取创客分润规则,注册日开始算起,3个自然月内算扶持期
+                                                    getLevelProfit += HelpDirectTradeAmt * objlevel.Percents;
+                                                }
+                                                if (objlevel.AddProfitVal > 0)
+                                                {
+                                                    getLevelProfit += objlevel.AddProfitVal;
+                                                }
+                                                decimal money = getLevelProfit;
+                                                getLevelProfit -= diffLevelProfit;
+                                                if (objlevel.LevelDiff == 1)  //判断是否有级差
+                                                {
+                                                    diffLevelProfit = money;
+                                                }
+                                                if (getLevelProfit >= obj.MinProfitVal)
+                                                {
+                                                    int DirectFlag = selfUser.Id == user.Id ? 1 : 0;
+                                                    result.Add(new ProfitResult()
+                                                    {
+                                                        UserId = user.Id,
+                                                        UserNav = user.ParentNav,
+                                                        Money = PublicFunction.NumberFormat(getLevelProfit),
+                                                        ProfitRate = objlevel.Percents,
+                                                        Message = "交易分润",
+                                                        BankCardType = 0,
+                                                        QrPayFlag = 0,
+                                                        DirectFlag = DirectFlag,
+                                                        BrandId = BrandId,
+                                                        IsSubsidy = 0,
+                                                        TradeAmount = HelpDirectTradeAmt,
+                                                        HelpFlag = 1,
+                                                    });
+                                                    curProfit += getLevelProfit;
+                                                    function.WriteLog(user.Id + "-" + UserLevel + "-" + HelpDirectTradeAmt + "-" + DirectFlag + "-扶持期分润:" + getLevelProfit, "广电卡分润监控日志");
+                                                }
+                                            }
+                                        }
+                                        if(curLevel < UserLevel)
+                                        {
+                                            curLevel = UserLevel;
+                                        }
+                                    }
+                                }
+                                function.WriteLog("------------------------", "广电卡分润监控日志");
+                                function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":稳定期:" + NotHelpDirectTradeAmt, "广电卡分润监控日志");
+                                if (NotHelpDirectTradeAmt > 0)
+                                {
+                                    level = 0;
+                                    curLevel = 0;
+                                    diffLevelProfit = 0;  //等级级差
+                                    foreach (string UserIdString in ParentNavList)
+                                    {
+                                        level += 1;
+                                        int uid = int.Parse(UserIdString);
+                                        SubUser user = GetUser(uid, Month) ?? new SubUser();
+                                        int UserLevel = user.PreUserLevel > user.UserLevel ? user.PreUserLevel : user.UserLevel; //当前会员等级
+                                        if (curLevel == maxLevel) //判断当前创客是否有直推的激活机具,并且在活动时间内
+                                        {
+                                            break;
+                                        }
+                                        if (UserLevel <= maxLevel && UserLevel > curLevel)
+                                        {
+                                            int LevelKindId = GetLevelKindId(BrandId, 0, 1);
+                                            ProfitObjectLevels objlevel = RedisDbconn.Instance.Get<ProfitObjectLevels>("pobjlv" + LevelKindId + ":" + UserLevel); //获取当前等级参数
+                                            if (objlevel != null)
+                                            {
+                                                decimal getLevelProfit = 0;  //等级分润
+                                                if (objlevel.Percents > 0)
+                                                {
+                                                    //获取创客分润规则,注册日开始算起,3个自然月内算扶持期
+                                                    getLevelProfit += NotHelpDirectTradeAmt * objlevel.Percents;
+                                                }
+                                                if (objlevel.AddProfitVal > 0)
+                                                {
+                                                    getLevelProfit += objlevel.AddProfitVal;
+                                                }
+                                                decimal money = getLevelProfit;
+                                                getLevelProfit -= diffLevelProfit;
+                                                if (objlevel.LevelDiff == 1)  //判断是否有级差
+                                                {
+                                                    diffLevelProfit = money;
+                                                }
+                                                if (getLevelProfit >= obj.MinProfitVal)
+                                                {
+                                                    result.Add(new ProfitResult()
+                                                    {
+                                                        UserId = user.Id,
+                                                        UserNav = user.ParentNav,
+                                                        Money = PublicFunction.NumberFormat(getLevelProfit),
+                                                        ProfitRate = objlevel.Percents,
+                                                        Message = "交易分润",
+                                                        BankCardType = 0,
+                                                        QrPayFlag = 0,
+                                                        BrandId = BrandId,
+                                                        DirectFlag = selfUser.Id == user.Id ? 1 : 0,
+                                                        IsSubsidy = 0,
+                                                        TradeAmount = NotHelpDirectTradeAmt,
+                                                        HelpFlag = 0,
+                                                    });
+                                                }
+                                            }
+                                        }
+                                        if(curLevel < UserLevel)
+                                        {
+                                            curLevel = UserLevel;
+                                        }
+                                    }
+                                }
+                                function.WriteLog("------------------------", "广电卡分润监控日志");
+                            }
+                            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + ":over", "广电卡分润监控日志");
+                        }
+                        catch (Exception ex)
+                        {
+                            function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "广电卡分润异常");
+                        }
+                        dbnew.Dispose();
+                    }
+                }
+            }
+            return result;
+        }
+
+        #endregion
+
+        public SubUser GetUser(int UserId, string Month)
+        {
+            SubUser user = new SubUser();
+            DataTable dt = GetDataTable("select * from Users" + Month + " where Id=" + UserId);
+            if(dt.Rows.Count > 0)
+            {
+                user.Id = int.Parse(dt.Rows[0]["Id"].ToString());
+                user.ParentUserId = int.Parse(dt.Rows[0]["ParentUserId"].ToString());
+                user.ParentNav = dt.Rows[0]["ParentNav"].ToString();
+                user.UserLevel = int.Parse(dt.Rows[0]["UserLevel"].ToString());
+                user.PreUserLevel = int.Parse(dt.Rows[0]["PreUserLevel"].ToString());
+            }
+            return user;
+        }
+
+        public DataTable GetDataTable(string sqlstr)
+        {
+            DataTable dt = CustomerSqlConn.dtable(sqlstr, Library.ConfigurationManager.AppSettings["MainSqlConnStr"].ToString());
+            return dt;
+        }
+    }
+}

+ 178 - 0
AppStart/Helper/Profit/ProfitService.cs

@@ -0,0 +1,178 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class ProfitService
+    {
+        public readonly static ProfitService Instance = new ProfitService();
+        private ProfitService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                string Msg = Profit();
+                // jobInfo.Status = Msg == "success" ? 1: 0;
+                // jobInfo.Msg = Msg == "success" ? "执行完成": Msg;
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "ProfitBack");
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "profitback_err");
+                }
+                else
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "profitback_service");
+                }
+            }
+        }
+
+        //验证并同步到账户
+        private string Profit()
+        {
+            DateTime StatDate = DateTime.Now.AddMonths(-1);
+            DateTime StartDate = DateTime.Parse(StatDate.ToString("yyyy-MM") + "-01 00:00:00");
+            DateTime EndDate = StartDate.AddMonths(1);
+            string TradeMonth = StatDate.ToString("yyyyMM");
+            WebCMSEntities db = new WebCMSEntities();
+            using (var tran = db.Database.BeginTransaction())
+            {
+                try
+                {
+                    List<ProfitRewardRecord> list = db.ProfitRewardRecord.Where(m => m.TradeMonth == TradeMonth && m.CheckStatus == 0).ToList();
+                    foreach (ProfitRewardRecord sub in list)
+                    {
+                        int UserId = sub.UserId; //创客
+                        int MerchantId = sub.MerchantId; //商户
+                        int BrandId = sub.BrandId; //品牌
+                        int ProfitType = sub.ProfitType; //创客分润类型 直营-0,团队-1
+                        decimal ProfitMoney = sub.TradeProfit; //交易分润
+                        decimal ActualProfit = 0;
+                        if (ProfitType == 0)
+                        {
+                            bool check = db.ProfitRecord.Any(m => m.UserId == sub.UserId && m.MerchantId == sub.MerchantId && m.BrandId == sub.BrandId && m.TradeDate >= StartDate && m.TradeDate <= EndDate);
+                            if (check)
+                            {
+                                ActualProfit = db.ProfitRecord.Where(m => m.UserId == sub.UserId && m.MerchantId == sub.MerchantId && m.BrandId == sub.BrandId && m.TradeDate >= StartDate && m.TradeDate <= EndDate).Sum(m => m.ProfitAmount);
+                            }
+                        }
+                        else if (ProfitType == 1)
+                        {
+                            string UserIdString = "," + sub.UserId + ",";
+                            bool check = db.ProfitRecord.Any(m => m.ParentNav.Contains(UserIdString) && m.MerchantId == sub.MerchantId && m.BrandId == sub.BrandId && m.TradeDate >= StartDate && m.TradeDate <= EndDate);
+                            if (check)
+                            {
+                                ActualProfit = db.ProfitRecord.Where(m => m.ParentNav.Contains(UserIdString) && m.MerchantId == sub.MerchantId && m.BrandId == sub.BrandId && m.TradeDate >= StartDate && m.TradeDate <= EndDate).Sum(m => m.ProfitAmount);
+                            }
+                        }
+                        if (ActualProfit == ProfitMoney)
+                        {
+                            ProfitRewardRecord edit = db.ProfitRewardRecord.FirstOrDefault(m => m.Id == sub.Id);
+                            if (edit != null)
+                            {
+                                edit.CheckStatus = 1;
+                                db.SaveChanges();
+                            }
+                            UserAccount account = db.UserAccount.FirstOrDefault(m => m.UserId == sub.UserId);
+                            if (account == null)
+                            {
+                                account = db.UserAccount.Add(new UserAccount()
+                                {
+                                    Id = sub.UserId,
+                                    CreateDate = DateTime.Now,
+                                    UserId = sub.UserId,
+                                    UserProperty = 0,
+                                    UserType = 2,
+                                }).Entity;
+                                db.SaveChanges();
+                            }
+                            decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                            decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                            decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                            account.BalanceAmount += ProfitMoney;
+                            account.TotalAmount += ProfitMoney;
+                            decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                            decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                            decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                            db.SaveChanges();
+                            UserAccountRecord accountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                            {
+                                CreateDate = DateTime.Now,
+                                UpdateDate = DateTime.Now,
+                                UserId = sub.UserId, //创客
+                                ChangeType = 1, //变动类型
+                                ProductType = sub.BrandId, //产品类型
+                                ChangeAmount = ProfitMoney, //变更金额
+                                BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                TransRecordNo = sub.RecordNo, //交易流水编号
+                                Remark = "",
+                            }).Entity;
+                            db.SaveChanges();
+
+                            RedisDbconn.Instance.HAddNumber("TmpTradeProfit", sub.UserId + "_" + BrandId + "_" + StatDate.ToString("yyyy年MM月") + "分润_" + StatDate.ToString("yyyyMM"), ProfitMoney);
+                        }
+                        else
+                        {
+                            ErrorMsg msg = new ErrorMsg()
+                            {
+                                Time = DateTime.Now,
+                                ErrorContent = "同步交易分润失败,数据不一致",
+                                Obj = Newtonsoft.Json.JsonConvert.SerializeObject(sub),
+                            };
+                            RedisDbconn.Instance.AddList("ProfitServiceWarning", msg);
+                        }
+                    }
+
+                    //首页-快联盟产品-收益查看-交易分润
+                    Dictionary<string, decimal> datalist = RedisDbconn.Instance.HGetAll<decimal>("TmpTradeProfit");
+                    foreach (string key in datalist.Keys)
+                    {
+                        string[] fields = key.Split('_');
+                        string UserId = fields[0];
+                        string BrandId = fields[1];
+                        string TradeM = fields[2];
+                        string TradeMValue = fields[3];
+                        RedisDbconn.Instance.AddList("TradeProfit:" + UserId + ":" + BrandId, new TradeProfitItem()
+                        {
+                            TradeProfit = datalist[key],
+                            TradeMonth = TradeM,
+                            TradeMonthValue = TradeMValue,
+                            CreateDate = DateTime.Now,
+                        });
+                    }
+                    RedisDbconn.Instance.Clear("TmpTradeProfit");
+                    tran.Commit();
+                }
+                catch (Exception ex)
+                {
+                    tran.Rollback();
+                    ErrorMsg msg = new ErrorMsg()
+                    {
+                        Time = DateTime.Now,
+                        ErrorContent = ex.ToString(),
+                    };
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "ProfitServiceError");
+                }
+            }
+            db.Dispose();
+            return "success";
+        }
+    }
+}

+ 128 - 0
AppStart/Helper/Profit/StandardService.cs

@@ -0,0 +1,128 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class StandardService
+    {
+        public readonly static StandardService Instance = new StandardService();
+        private StandardService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                string Msg = CheckData();
+                // jobInfo.Status = Msg == "success" ? 1: 0;
+                // jobInfo.Msg = Msg == "success" ? "执行完成": Msg;
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "StandardBack");
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "standardback_err");
+                }
+                else
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "standardback_service");
+                }
+            }
+        }
+
+        //检查机具扣费情况
+        private string CheckData()
+        {
+            DateTime StatDate = DateTime.Now.AddMonths(-1);
+            DateTime StartDate = DateTime.Parse(StatDate.ToString("yyyy-MM") + "-01 00:00:00");
+            DateTime EndDate = StartDate.AddMonths(1);
+            string TradeMonth = StatDate.ToString("yyyyMM");
+            WebCMSEntities db = new WebCMSEntities();
+            using (var tran = db.Database.BeginTransaction())
+            {
+                try
+                {
+                    List<MerchantRebateDetail> list = db.MerchantRebateDetail.Where(m => m.TradeMonth == TradeMonth && m.SyncStatus == 0).ToList();
+                    foreach (MerchantRebateDetail sub in list)
+                    {
+                        MachineForMerNo machinefor = RedisDbconn.Instance.Get<MachineForMerNo>("MachineForMerNo:" + sub.SnNo) ?? new MachineForMerNo();
+                        PosMachines machine = RedisDbconn.Instance.Get<PosMachines>("PosMachines:" + machinefor.SnId) ?? new PosMachines();
+                        Users user = db.Users.FirstOrDefault(m => m.Id == machine.UserId) ?? new Users();
+                        int TopUserId = 0;
+                        if (!string.IsNullOrEmpty(user.ParentNav))
+                        {
+                            TopUserId = int.Parse(user.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
+                        }                        
+                        MerchantRebateDetail edit = db.MerchantRebateDetail.FirstOrDefault(m => m.Id == sub.Id);
+                        if (edit != null)
+                        {
+                            edit.SyncStatus = 1;
+                            db.SaveChanges();
+                        }
+                        UserAccount account = db.UserAccount.FirstOrDefault(m => m.UserId == user.Id);
+                        if (account == null)
+                        {
+                            account = db.UserAccount.Add(new UserAccount()
+                            {
+                                Id = user.Id,
+                                CreateDate = DateTime.Now,
+                                UserId = user.Id,
+                                UserProperty = 0,
+                                UserType = 2,
+                            }).Entity;
+                            db.SaveChanges();
+                        }
+                        decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                        decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                        decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                        account.BalanceAmount += sub.CreditRewardAmount;
+                        account.TotalAmount += sub.CreditRewardAmount;
+                        decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                        decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                        decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                        db.SaveChanges();
+                        UserAccountRecord accountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                        {
+                            CreateDate = DateTime.Now,
+                            UpdateDate = DateTime.Now,
+                            UserId = user.Id, //创客
+                            ChangeType = 40, //变动类型
+                            ProductType = sub.BrandId, //产品类型
+                            ChangeAmount = sub.CreditRewardAmount, //变更金额
+                            BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                            AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                            BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                            AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                            BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                            AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                        }).Entity;
+                        db.SaveChanges();
+                    }
+                    
+                    tran.Commit();
+                }
+                catch (Exception ex)
+                {
+                    tran.Rollback();
+                    ErrorMsg msg = new ErrorMsg()
+                    {
+                        Time = DateTime.Now,
+                        ErrorContent = ex.ToString(),
+                    };
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "StandardServiceError");
+                }
+            }
+            db.Dispose();
+            return "success";
+        }
+    }
+}

+ 39 - 0
AppStart/Helper/Profit/TeamTopService.cs

@@ -0,0 +1,39 @@
+using System.Threading;
+using System.Threading.Tasks;
+using System.Linq;
+using Microsoft.Extensions.Hosting;
+using MySystem.PxcModels;
+using MySystem;
+
+public class TeamTopService : BackgroundService
+{
+    protected override async Task ExecuteAsync(CancellationToken stoppingToken)
+    {
+        while (!stoppingToken.IsCancellationRequested)
+        {
+            int timespan = 1000 * 60 * 60;
+            await Task.Delay(timespan).ContinueWith(tsk =>
+            {
+                WebCMSEntities db = new WebCMSEntities();
+
+                //首页-特训营-排行榜-个人
+                var personTops = db.TeamPersonDayTop.Select(m => new { m.Id, m.ActMerNum }).OrderByDescending(m => m.ActMerNum).ToList();
+                RedisDbconn.Instance.Clear("TeamPersonDayTop");
+                foreach (var sub in personTops)
+                {
+                    RedisDbconn.Instance.AddList("TeamPersonDayTop", sub.Id);
+                }
+
+                //首页-特训营-排行榜-团队
+                var teamTops = db.TeamDayTop.Select(m => new { m.Id, m.ActMerNum }).OrderByDescending(m => m.ActMerNum).ToList();
+                RedisDbconn.Instance.Clear("TeamDayTop");
+                foreach (var sub in teamTops)
+                {
+                    RedisDbconn.Instance.AddList("TeamDayTop", sub.Id);
+                }
+
+                db.Dispose();
+            });
+        }
+    }
+}

+ 18 - 0
AppStart/Helper/Profit/TradeService.cs

@@ -0,0 +1,18 @@
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Extensions.Hosting;
+
+public class TradeService : BackgroundService
+{
+    protected override async Task ExecuteAsync(CancellationToken stoppingToken)
+    {
+        while (!stoppingToken.IsCancellationRequested)
+        {
+            int timespan = 50;
+            await Task.Delay(timespan).ContinueWith(tsk =>
+            {
+                // MySystem.ProfitHelper.Instance.StartListenTradeDo();
+            });
+        }
+    }
+}

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 440 - 0
AppStart/Helper/PublicImportDataService.cs


+ 200 - 0
AppStart/Helper/RSAForJava.cs

@@ -0,0 +1,200 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using Org.BouncyCastle.Asn1.Pkcs;
+using Org.BouncyCastle.Asn1.X509;
+using Org.BouncyCastle.Crypto.Generators;
+using Org.BouncyCastle.Crypto.Parameters;
+using Org.BouncyCastle.Math;
+using Org.BouncyCastle.Pkcs;
+using Org.BouncyCastle.Security;
+using Org.BouncyCastle.Crypto.Engines;
+using Org.BouncyCastle.X509;
+using Org.BouncyCastle.Crypto;
+using Org.BouncyCastle.Asn1;
+using Org.BouncyCastle.Crypto.Encodings;
+
+namespace MySystem
+{
+    public class RSAForJava
+    {
+
+        public RSAForJava()
+        {
+
+        }
+        /// <summary>
+        /// KEY 结构体
+        /// </summary>
+        public struct RSAKEY
+        {
+            /// <summary>
+            /// 公钥
+            /// </summary>
+            public string PublicKey
+            {
+                get;
+                set;
+            }
+            /// <summary>
+            /// 私钥
+            /// </summary>
+            public string PrivateKey
+            {
+                get;
+                set;
+            }
+        }
+        public RSAKEY GetKey()
+        {
+            //RSA密钥对的构造器  
+            RsaKeyPairGenerator keyGenerator = new RsaKeyPairGenerator();
+
+            //RSA密钥构造器的参数  
+            RsaKeyGenerationParameters param = new RsaKeyGenerationParameters(
+                Org.BouncyCastle.Math.BigInteger.ValueOf(3),
+                new Org.BouncyCastle.Security.SecureRandom(),
+                1024,   //密钥长度  
+                25);
+            //用参数初始化密钥构造器  
+            keyGenerator.Init(param);
+            //产生密钥对  
+            AsymmetricCipherKeyPair keyPair = keyGenerator.GenerateKeyPair();
+            //获取公钥和密钥  
+            AsymmetricKeyParameter publicKey = keyPair.Public;
+            AsymmetricKeyParameter privateKey = keyPair.Private;
+
+            SubjectPublicKeyInfo subjectPublicKeyInfo = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(publicKey);
+            PrivateKeyInfo privateKeyInfo = PrivateKeyInfoFactory.CreatePrivateKeyInfo(privateKey);
+
+
+            Asn1Object asn1ObjectPublic = subjectPublicKeyInfo.ToAsn1Object();
+
+            byte[] publicInfoByte = asn1ObjectPublic.GetEncoded("UTF-8");
+            Asn1Object asn1ObjectPrivate = privateKeyInfo.ToAsn1Object();
+            byte[] privateInfoByte = asn1ObjectPrivate.GetEncoded("UTF-8");
+
+            RSAKEY item = new RSAKEY()
+            {
+                PublicKey = Convert.ToBase64String(publicInfoByte),
+                PrivateKey = Convert.ToBase64String(privateInfoByte)
+            };
+            return item;
+        }
+        private AsymmetricKeyParameter GetPublicKeyParameter(string s)
+        {
+            s = s.Replace("\r", "").Replace("\n", "").Replace(" ", "");
+            byte[] publicInfoByte = Convert.FromBase64String(s);
+            Asn1Object pubKeyObj = Asn1Object.FromByteArray(publicInfoByte);//这里也可以从流中读取,从本地导入   
+            AsymmetricKeyParameter pubKey = PublicKeyFactory.CreateKey(publicInfoByte);
+            return pubKey;
+        }
+        private AsymmetricKeyParameter GetPrivateKeyParameter(string s)
+        {
+            s = s.Replace("\r", "").Replace("\n", "").Replace(" ", "");
+            byte[] privateInfoByte = Convert.FromBase64String(s);
+            // Asn1Object priKeyObj = Asn1Object.FromByteArray(privateInfoByte);//这里也可以从流中读取,从本地导入   
+            // PrivateKeyInfo privateKeyInfo = PrivateKeyInfoFactory.CreatePrivateKeyInfo(privateKey);
+            AsymmetricKeyParameter priKey = PrivateKeyFactory.CreateKey(privateInfoByte);
+            return priKey;
+        }
+        private AsymmetricKeyParameter GetPrivateKeyParameter2(string s)
+        {
+            s = s.Replace("\r", "").Replace("\n", "").Replace(" ", "");
+            byte[] privateInfoByte = System.Text.Encoding.UTF8.GetBytes(s);
+            // Asn1Object priKeyObj = Asn1Object.FromByteArray(privateInfoByte);//这里也可以从流中读取,从本地导入   
+            // PrivateKeyInfo privateKeyInfo = PrivateKeyInfoFactory.CreatePrivateKeyInfo(privateKey);
+            AsymmetricKeyParameter priKey = PrivateKeyFactory.CreateKey(privateInfoByte);
+            return priKey;
+        }
+        public string EncryptByPrivateKey(string s, string key)
+        {
+            //非对称加密算法,加解密用  
+            IAsymmetricBlockCipher engine = new Pkcs1Encoding(new RsaEngine());
+
+
+            //加密  
+
+            try
+            {
+                engine.Init(true, GetPrivateKeyParameter(key));
+                byte[] byteData = System.Text.Encoding.UTF8.GetBytes(s);
+                var ResultData = engine.ProcessBlock(byteData, 0, byteData.Length);
+                return Convert.ToBase64String(ResultData);
+                //Console.WriteLine("密文(base64编码):" + Convert.ToBase64String(testData) + Environment.NewLine);
+            }
+            catch (Exception ex)
+            {
+                return ex.Message;
+
+            }
+        }
+        public string DecryptByPublicKey(string s, string key)
+        {
+            s = s.Replace("\r", "").Replace("\n", "").Replace(" ", "");
+            //非对称加密算法,加解密用  
+            IAsymmetricBlockCipher engine = new Pkcs1Encoding(new RsaEngine());
+
+
+            //解密
+
+            try
+            {
+                engine.Init(false, GetPublicKeyParameter(key));
+                byte[] byteData = Convert.FromBase64String(s);
+                string result = "";
+                List<byte> cache = new List<byte>();
+                for (int i = 0; i < byteData.Length; i++)
+                {
+                    cache.Add(byteData[i]);
+                    if ((i + 1) % 256 == 0 || i + 1 == byteData.Length)
+                    {
+                        var ResultData = engine.ProcessBlock(cache.ToArray(), 0, cache.ToArray().Length);
+                        result += System.Text.Encoding.UTF8.GetString(ResultData);
+                        cache.Clear();
+                    }
+                }
+                return result;
+            }
+            catch (Exception ex)
+            {
+                return ex.Message;
+            }
+        }
+
+        public string DecryptByPrivateKey(string s, string key)
+        {
+            s = s.Replace("\r", "").Replace("\n", "").Replace(" ", "");
+            //非对称加密算法,加解密用  
+            IAsymmetricBlockCipher engine = new Pkcs1Encoding(new RsaEngine());
+
+
+            //解密
+
+            try
+            {
+                engine.Init(false, GetPrivateKeyParameter2(key));
+                byte[] byteData = Convert.FromBase64String(s);
+                string result = "";
+                List<byte> cache = new List<byte>();
+                for (int i = 0; i < byteData.Length; i++)
+                {
+                    cache.Add(byteData[i]);
+                    if ((i + 1) % 256 == 0 || i + 1 == byteData.Length)
+                    {
+                        var ResultData = engine.ProcessBlock(cache.ToArray(), 0, cache.ToArray().Length);
+                        result += System.Text.Encoding.UTF8.GetString(ResultData);
+                        cache.Clear();
+                    }
+                }
+                return result;
+            }
+            catch (Exception ex)
+            {
+                return ex.Message;
+            }
+        }
+    }
+}

+ 340 - 0
AppStart/Helper/RSAHelper.cs

@@ -0,0 +1,340 @@
+using System;
+using System.IO;
+using System.Security.Cryptography;
+using System.Text;
+
+namespace MySystem
+{
+    /// <summary>
+    /// RSA加解密 使用OpenSSL的公钥加密/私钥解密
+    /// 作者:李志强
+    /// 创建时间:2017年10月30日15:50:14
+    /// QQ:501232752
+    /// </summary>
+    public class RSAHelper
+	{
+		private readonly RSA _privateKeyRsaProvider;
+		private readonly RSA _publicKeyRsaProvider;
+		private readonly HashAlgorithmName _hashAlgorithmName;
+		private readonly Encoding _encoding;
+
+		/// <summary>
+		/// 实例化RSAHelper
+		/// </summary>
+		/// <param name="rsaType">加密算法类型 RSA SHA1;RSA2 SHA256 密钥长度至少为2048</param>
+		/// <param name="encoding">编码类型</param>
+		/// <param name="privateKey">私钥</param>
+		/// <param name="publicKey">公钥</param>
+		public RSAHelper(RSAType rsaType, Encoding encoding, string privateKey, string publicKey = null)
+		{
+			_encoding = encoding;
+			if (!string.IsNullOrEmpty(privateKey))
+			{
+				_privateKeyRsaProvider = CreateRsaProviderFromPrivateKey(privateKey);
+			}
+
+			if (!string.IsNullOrEmpty(publicKey))
+			{
+				_publicKeyRsaProvider = CreateRsaProviderFromPublicKey(publicKey);
+			}
+
+			_hashAlgorithmName = rsaType == RSAType.RSA ? HashAlgorithmName.SHA1 : HashAlgorithmName.SHA256;
+		}
+
+		#region 使用私钥签名
+
+		/// <summary>
+		/// 使用私钥签名
+		/// </summary>
+		/// <param name="data">原始数据</param>
+		/// <returns></returns>
+		public string Sign(string data)
+		{
+			byte[] dataBytes = _encoding.GetBytes(data);
+
+			var signatureBytes = _privateKeyRsaProvider.SignData(dataBytes, _hashAlgorithmName, RSASignaturePadding.Pkcs1);
+
+			return Convert.ToBase64String(signatureBytes);
+		}
+
+		#endregion
+
+		#region 使用公钥验证签名
+
+		/// <summary>
+		/// 使用公钥验证签名
+		/// </summary>
+		/// <param name="data">原始数据</param>
+		/// <param name="sign">签名</param>
+		/// <returns></returns>
+		public bool Verify(string data, string sign)
+		{
+			byte[] dataBytes = _encoding.GetBytes(data);
+			byte[] signBytes = Convert.FromBase64String(sign);
+
+			var verify = _publicKeyRsaProvider.VerifyData(dataBytes, signBytes, _hashAlgorithmName, RSASignaturePadding.Pkcs1);
+
+			return verify;
+		}
+
+		#endregion
+
+		#region 解密
+
+		public string Decrypt(string cipherText)
+		{
+			if (_privateKeyRsaProvider == null)
+			{
+				throw new Exception("_privateKeyRsaProvider is null");
+			}
+			return Encoding.UTF8.GetString(_privateKeyRsaProvider.Decrypt(Convert.FromBase64String(cipherText), RSAEncryptionPadding.Pkcs1));
+		}
+
+		#endregion
+
+		#region 加密
+
+		public string Encrypt(string text)
+		{
+			if (_publicKeyRsaProvider == null)
+			{
+				throw new Exception("_publicKeyRsaProvider is null");
+			}
+            #region 分段加密
+            byte[] dataToEncrypt = Encoding.UTF8.GetBytes(text);
+            int bufferSize = (_publicKeyRsaProvider.KeySize / 8) - 11;
+			byte[] buffer = new byte [bufferSize] ;
+			byte[] outBytes = null;
+			using (MemoryStream input = new MemoryStream(dataToEncrypt))
+            using (MemoryStream ouput = new MemoryStream())
+            {
+                while (true)
+                {
+                    int readLine = input.Read(buffer, 0, bufferSize);
+                    if (readLine <= 0)
+                    {
+                        break;
+                    }
+                    byte[] temp = new byte[readLine];
+                    Array.Copy(buffer, 0, temp, 0, readLine);
+                    byte[] encrypt = _publicKeyRsaProvider.Encrypt(temp, RSAEncryptionPadding.Pkcs1);
+                    ouput.Write(encrypt, 0, encrypt.Length);
+                }
+                outBytes = ouput.ToArray();
+            }
+            #endregion
+            return Convert.ToBase64String(outBytes);
+		}
+
+		#endregion
+
+		#region 使用私钥创建RSA实例
+
+		public RSA CreateRsaProviderFromPrivateKey(string privateKey)
+		{
+			var privateKeyBits = Convert.FromBase64String(privateKey);
+
+			var rsa = RSA.Create();
+			var rsaParameters = new RSAParameters();
+
+			using (BinaryReader binr = new BinaryReader(new MemoryStream(privateKeyBits)))
+			{
+				byte bt = 0;
+				ushort twobytes = 0;
+				twobytes = binr.ReadUInt16();
+				if (twobytes == 0x8130)
+					binr.ReadByte();
+				else if (twobytes == 0x8230)
+					binr.ReadInt16();
+				else
+					throw new Exception("Unexpected value read binr.ReadUInt16()");
+
+				twobytes = binr.ReadUInt16();
+				if (twobytes != 0x0102)
+					throw new Exception("Unexpected version");
+
+				bt = binr.ReadByte();
+				if (bt != 0x00)
+					throw new Exception("Unexpected value read binr.ReadByte()");
+
+				rsaParameters.Modulus = binr.ReadBytes(GetIntegerSize(binr));
+				rsaParameters.Exponent = binr.ReadBytes(GetIntegerSize(binr));
+				rsaParameters.D = binr.ReadBytes(GetIntegerSize(binr));
+				rsaParameters.P = binr.ReadBytes(GetIntegerSize(binr));
+				rsaParameters.Q = binr.ReadBytes(GetIntegerSize(binr));
+				rsaParameters.DP = binr.ReadBytes(GetIntegerSize(binr));
+				rsaParameters.DQ = binr.ReadBytes(GetIntegerSize(binr));
+				rsaParameters.InverseQ = binr.ReadBytes(GetIntegerSize(binr));
+			}
+
+			rsa.ImportParameters(rsaParameters);
+			return rsa;
+		}
+
+		#endregion
+
+		#region 使用公钥创建RSA实例
+
+		public RSA CreateRsaProviderFromPublicKey(string publicKeyString)
+		{
+			// encoded OID sequence for  PKCS #1 rsaEncryption szOID_RSA_RSA = "1.2.840.113549.1.1.1"
+			byte[] seqOid = { 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00 };
+			byte[] seq = new byte[15];
+
+			var x509Key = Convert.FromBase64String(publicKeyString);
+
+			// ---------  Set up stream to read the asn.1 encoded SubjectPublicKeyInfo blob  ------
+			using (MemoryStream mem = new MemoryStream(x509Key))
+			{
+				using (BinaryReader binr = new BinaryReader(mem))  //wrap Memory Stream with BinaryReader for easy reading
+				{
+					byte bt = 0;
+					ushort twobytes = 0;
+
+					twobytes = binr.ReadUInt16();
+					if (twobytes == 0x8130) //data read as little endian order (actual data order for Sequence is 30 81)
+						binr.ReadByte();    //advance 1 byte
+					else if (twobytes == 0x8230)
+						binr.ReadInt16();   //advance 2 bytes
+					else
+						return null;
+
+					seq = binr.ReadBytes(15);       //read the Sequence OID
+					if (!CompareBytearrays(seq, seqOid))    //make sure Sequence for OID is correct
+						return null;
+
+					twobytes = binr.ReadUInt16();
+					if (twobytes == 0x8103) //data read as little endian order (actual data order for Bit String is 03 81)
+						binr.ReadByte();    //advance 1 byte
+					else if (twobytes == 0x8203)
+						binr.ReadInt16();   //advance 2 bytes
+					else
+						return null;
+
+					bt = binr.ReadByte();
+					if (bt != 0x00)     //expect null byte next
+						return null;
+
+					twobytes = binr.ReadUInt16();
+					if (twobytes == 0x8130) //data read as little endian order (actual data order for Sequence is 30 81)
+						binr.ReadByte();    //advance 1 byte
+					else if (twobytes == 0x8230)
+						binr.ReadInt16();   //advance 2 bytes
+					else
+						return null;
+
+					twobytes = binr.ReadUInt16();
+					byte lowbyte = 0x00;
+					byte highbyte = 0x00;
+
+					if (twobytes == 0x8102) //data read as little endian order (actual data order for Integer is 02 81)
+						lowbyte = binr.ReadByte();  // read next bytes which is bytes in modulus
+					else if (twobytes == 0x8202)
+					{
+						highbyte = binr.ReadByte(); //advance 2 bytes
+						lowbyte = binr.ReadByte();
+					}
+					else
+						return null;
+					byte[] modint = { lowbyte, highbyte, 0x00, 0x00 };   //reverse byte order since asn.1 key uses big endian order
+					int modsize = BitConverter.ToInt32(modint, 0);
+
+					int firstbyte = binr.PeekChar();
+					if (firstbyte == 0x00)
+					{   //if first byte (highest order) of modulus is zero, don't include it
+						binr.ReadByte();    //skip this null byte
+						modsize -= 1;   //reduce modulus buffer size by 1
+					}
+
+					byte[] modulus = binr.ReadBytes(modsize);   //read the modulus bytes
+
+					if (binr.ReadByte() != 0x02)            //expect an Integer for the exponent data
+						return null;
+					int expbytes = (int)binr.ReadByte();        // should only need one byte for actual exponent data (for all useful values)
+					byte[] exponent = binr.ReadBytes(expbytes);
+
+					// ------- create RSACryptoServiceProvider instance and initialize with public key -----
+					var rsa = RSA.Create();
+					RSAParameters rsaKeyInfo = new RSAParameters
+					{
+						Modulus = modulus,
+						Exponent = exponent
+					};
+					rsa.ImportParameters(rsaKeyInfo);
+
+					return rsa;
+				}
+
+			}
+		}
+
+		#endregion
+
+		#region 导入密钥算法
+
+		private int GetIntegerSize(BinaryReader binr)
+		{
+			byte bt = 0;
+			int count = 0;
+			bt = binr.ReadByte();
+			if (bt != 0x02)
+				return 0;
+			bt = binr.ReadByte();
+
+			if (bt == 0x81)
+				count = binr.ReadByte();
+			else
+			if (bt == 0x82)
+			{
+				var highbyte = binr.ReadByte();
+				var lowbyte = binr.ReadByte();
+				byte[] modint = { lowbyte, highbyte, 0x00, 0x00 };
+				count = BitConverter.ToInt32(modint, 0);
+			}
+			else
+			{
+				count = bt;
+			}
+
+			while (binr.ReadByte() == 0x00)
+			{
+				count -= 1;
+			}
+			binr.BaseStream.Seek(-1, SeekOrigin.Current);
+			return count;
+		}
+
+		private bool CompareBytearrays(byte[] a, byte[] b)
+		{
+			if (a.Length != b.Length)
+				return false;
+			int i = 0;
+			foreach (byte c in a)
+			{
+				if (c != b[i])
+					return false;
+				i++;
+			}
+			return true;
+		}
+
+		#endregion
+
+	}
+
+	/// <summary>
+	/// RSA算法类型
+	/// </summary>
+	public enum RSAType
+	{
+		/// <summary>
+		/// SHA1
+		/// </summary>
+		RSA = 0,
+		/// <summary>
+		/// RSA2 密钥长度至少为2048
+		/// SHA256
+		/// </summary>
+		RSA2
+	}
+}

+ 47 - 0
AppStart/Helper/ReceiveProfitService.cs

@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class ReceiveProfitService
+    {
+        public readonly static ReceiveProfitService Instance = new ReceiveProfitService();
+        private ReceiveProfitService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                string OrderString = jobInfo.OrderString;
+                // string Msg = "success";
+                if (OrderString == "SplitAccount")
+                {
+                    string Table = OrderString.Split(':')[1];
+                    ProfitHelper.Instance.StartListenSplitAccount();
+                }
+                // jobInfo.Status = Msg == "success" ? 1 : 0;
+                // jobInfo.Msg = Msg == "success" ? "执行完成" : Msg;
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "PublicBack");
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "public_err");
+                }
+                else
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public_service");
+                }
+            }
+        }
+    }
+}

+ 47 - 0
AppStart/Helper/ReceiveTaskService.cs

@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class ReceiveTaskService
+    {
+        public readonly static ReceiveTaskService Instance = new ReceiveTaskService();
+        private ReceiveTaskService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                string OrderString = jobInfo.OrderString;
+                // string Msg = "success";
+                if (OrderString.StartsWith("Ap:") && OrderString.EndsWith(":Sycn"))
+                {
+                    string Table = OrderString.Split(':')[1];
+                    PublicTableHelper.Instance.Start(Table);
+                }
+                // jobInfo.Status = Msg == "success" ? 1 : 0;
+                // jobInfo.Msg = Msg == "success" ? "执行完成" : Msg;
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "PublicBack");
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "public_err");
+                }
+                else
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public_service");
+                }
+            }
+        }
+    }
+}

+ 161 - 0
AppStart/Helper/RecommendActStatService.cs

@@ -0,0 +1,161 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class RecommendActStatService
+    {
+        public readonly static RecommendActStatService Instance = new RecommendActStatService();
+        private RecommendActStatService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        // 统计数据条件
+        // 1.下单成功统计当前直推并未开机的创客表数据
+        // 2.推荐创客认证成功,统计直推创客表数据
+        // 3.机具激活,统计激活机具交易表
+        // 4.交易,统计激活机具交易表
+        public void dosomething()
+        {
+            while (true)
+            {
+                string data = RedisDbconn.Instance.RPop<string>("RecommendActStatQueue");
+                if (!string.IsNullOrEmpty(data) && DateTime.Now < DateTime.Parse("2023-10-01 00:00:00"))
+                {
+                    try
+                    {
+                        JsonData jsonObj = JsonMapper.ToObject(data);
+                        string Kind = jsonObj["Kind"].ToString(); //数据类型:1-购买推荐王订单,2-用户认证,3-机具激活,4-机具交易
+                        JsonData jsonData = jsonObj["Data"];
+                        WebCMSEntities db = new WebCMSEntities();
+                        if(Kind == "1")
+                        {
+                            int UserId = int.Parse(jsonData["UserId"].ToString());
+                            string TradeMonth = jsonData["TradeMonth"].ToString();
+                            DateTime StartTime = DateTime.Parse(TradeMonth.Substring(0, 4) + "-" + TradeMonth.Substring(4, 2) + "-01 00:00:00");
+                            DateTime EndTime = StartTime.AddMonths(1);
+                            List<Users> users = db.Users.Where(m => m.ParentUserId == UserId && m.AuthFlag == 1).ToList();
+                            foreach(Users user in users)
+                            {
+                                bool posCheck = db.PosMachinesTwo.Any(m => m.BuyUserId == user.Id && m.ActivationState == 1 && m.ActivationTime < StartTime);
+                                if(!posCheck)
+                                {
+                                    bool check = db.RecommendDirectUser.Any(m => m.UserId == UserId && m.DirectUserId == user.Id && m.TradeMonth == TradeMonth);
+                                    if(!check)
+                                    {
+                                        db.RecommendDirectUser.Add(new RecommendDirectUser()
+                                        {
+                                            CreateDate = DateTime.Now,
+                                            UserId = UserId,
+                                            DirectUserId = user.Id,
+                                            TradeMonth = TradeMonth,
+                                        });
+                                        db.SaveChanges();
+                                    }
+                                    var poslist = db.PosMachinesTwo.Select(m => new { m.BuyUserId, m.BindMerchantId, m.PosSn, m.ActivationState, m.ActivationTime }).Where(m => m.BuyUserId == user.Id && m.ActivationState == 1 && m.ActivationTime >= StartTime && m.ActivationTime < EndTime).ToList();
+                                    foreach(var pos in poslist)
+                                    {
+                                        bool chk = db.RecommendTradeSummary.Any(m => m.UserId == user.Id && m.TradeMonth == TradeMonth && m.PosSn == pos.PosSn);
+                                        if(!chk)
+                                        {
+                                            PosMerchantTradeSummay tradeSummay = db.PosMerchantTradeSummay.FirstOrDefault(m => m.MerchantId == pos.BindMerchantId && m.TradeMonth == TradeMonth) ?? new PosMerchantTradeSummay();
+                                            db.RecommendTradeSummary.Add(new RecommendTradeSummary()
+                                            {
+                                                CreateDate = DateTime.Now,
+                                                UserId = user.Id,
+                                                TradeMonth = TradeMonth,
+                                                PosSn = pos.PosSn,
+                                                TradeAmount = tradeSummay.TradeAmount,
+                                            });
+                                            db.SaveChanges();
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                        else if(Kind == "2")
+                        {
+                            int UserId = int.Parse(jsonData["UserId"].ToString());
+                            int DirectUserId = int.Parse(jsonData["DirectUserId"].ToString());
+                            string TradeMonth = jsonData["TradeMonth"].ToString();
+                            bool check = db.RecommendDirectUser.Any(m => m.UserId == UserId && m.DirectUserId == DirectUserId && m.TradeMonth == TradeMonth);
+                            if(!check)
+                            {
+                                db.RecommendDirectUser.Add(new RecommendDirectUser()
+                                {
+                                    CreateDate = DateTime.Now,
+                                    UserId = UserId,
+                                    DirectUserId = DirectUserId,
+                                    TradeMonth = TradeMonth,
+                                });
+                                db.SaveChanges();
+                            }
+                        }
+                        else if(Kind == "3")
+                        {
+                            int UserId = int.Parse(jsonData["UserId"].ToString());
+                            int PosId = int.Parse(jsonData["PosId"].ToString());
+                            string TradeMonth = jsonData["TradeMonth"].ToString();
+                            PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId);
+                            if(pos != null)
+                            {
+                                bool chk = db.RecommendTradeSummary.Any(m => m.UserId == UserId && m.TradeMonth == TradeMonth && m.PosSn == pos.PosSn);
+                                if(!chk)
+                                {
+                                    PosMerchantTradeSummay tradeSummay = db.PosMerchantTradeSummay.FirstOrDefault(m => m.MerchantId == pos.BindMerchantId && m.TradeMonth == TradeMonth) ?? new PosMerchantTradeSummay();
+                                    db.RecommendTradeSummary.Add(new RecommendTradeSummary()
+                                    {
+                                        CreateDate = DateTime.Now,
+                                        UserId = UserId,
+                                        TradeMonth = TradeMonth,
+                                        PosSn = pos.PosSn,
+                                        TradeAmount = tradeSummay.TradeAmount,
+                                    });
+                                    db.SaveChanges();
+                                }
+                            }
+                        }
+                        else if(Kind == "4")
+                        {
+                            int PosId = int.Parse(jsonData["PosId"].ToString());
+                            string TradeMonth = jsonData["TradeMonth"].ToString();
+                            decimal TradeAmount = decimal.Parse(jsonData["TradeAmount"].ToString());
+                            PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId);
+                            if(pos != null)
+                            {
+                                RecommendTradeSummary tradeSummay = db.RecommendTradeSummary.FirstOrDefault(m => m.PosSn == pos.PosSn && m.TradeMonth == TradeMonth);
+                                if(tradeSummay != null)
+                                {
+                                    tradeSummay.TradeAmount += TradeAmount;
+                                    db.SaveChanges();
+                                }
+                            }
+                        }
+                        db.Dispose();
+                    }
+                    catch (Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "推荐王数据统计异常");
+                    }
+                    Thread.Sleep(100);
+                }
+                else
+                {
+                    Thread.Sleep(600);
+                }
+            }
+        }
+    }
+}

+ 69 - 0
AppStart/Helper/ReservePayBackService.cs

@@ -0,0 +1,69 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class ReservePayBackService
+    {
+        public readonly static ReservePayBackService Instance = new ReservePayBackService();
+        private ReservePayBackService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+        
+        private void dosomething()
+        {
+            while (true)
+            {
+                try
+                {
+                    string content = RedisDbconn.Instance.RPop<string>("ReservePayQueue");
+                    if (!string.IsNullOrEmpty(content))
+                    {
+                        sloveAlipayCallBack(content);
+                    }
+                    else
+                    {
+                        Thread.Sleep(2000);
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "商城订单余额支付异常");
+                    Thread.Sleep(2000);
+                }
+            }
+        }
+
+        public void sloveAlipayCallBack(string content)
+        {
+            int OrderId = int.Parse(function.CheckInt(content));
+            WebCMSEntities db = new WebCMSEntities();
+            Orders order = db.Orders.FirstOrDefault(m => m.Id == OrderId && m.PayMode == 4 && m.PayStatus == 0);
+            if (order != null)
+            {
+                decimal TotalPrice = order.TotalPrice;
+                UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == order.UserId);
+                if (account != null)
+                {
+                    if(account.LeaderReserve >= TotalPrice)
+                    {
+                        AlipayPayBack2Service.Instance.DoOrderV2(db, OrderId);
+                    }
+                }
+            }
+            db.Dispose();
+        }
+    }
+}

+ 42 - 0
AppStart/Helper/ResetPosFirstFlagAndIsExecuteService.cs

@@ -0,0 +1,42 @@
+using System;
+using System.Collections.Generic;
+using System.Threading;
+using System.Linq;
+using System.Data;
+using MySystem;
+using MySystem.Models;
+using Library;
+using LitJson;
+/// <summary>
+/// 每月1号重置机具首个标记和是否执行首个标记
+/// </summary>
+public class ResetPosFirstFlagAndIsExecuteService
+{
+    public readonly static ResetPosFirstFlagAndIsExecuteService Instance = new ResetPosFirstFlagAndIsExecuteService();
+    private ResetPosFirstFlagAndIsExecuteService()
+    {
+    }
+
+    public void Start()
+    {
+        Thread th = new Thread(doSomething);
+        th.IsBackground = true;
+        th.Start();
+    }
+
+    private void doSomething()
+    {
+        while (true)
+        {
+            try
+            {                
+                DataTable dt = CustomerSqlConn.dtable("UPDATE PosMachinesTwo SET FirstFlag=1,IsExecute=1 WHERE IsExecute=0 AND Id IN(SELECT Id FROM(SELECT c.Id FROM(SELECT MerIdcardNo,MIN(Id) Id FROM PosMerchantInfo WHERE MerIdcardNo IS NOT NULL AND MerIdcardNo !='' AND MerIdcardNo NOT LIKE '%*%' GROUP BY MerIdcardNo)a LEFT JOIN (SELECT Id,MerIdcardNo,KqSnNo FROM PosMerchantInfo WHERE MerIdcardNo IS NOT NULL AND MerIdcardNo !='' AND MerIdcardNo NOT LIKE '%*%')b ON a.Id=b.Id LEFT JOIN (SELECT Id,PosSn FROM PosMachinesTwo) c ON b.KqSnNo=c.PosSn)d)", MysqlConn.SqlConnStr);
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "每月1号重置机具首个标记和是否执行首个标记线程异常");
+            }
+            Thread.Sleep(600000);
+        }
+    }
+}

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 824 - 0
AppStart/Helper/SetDepositPostService.cs


+ 221 - 0
AppStart/Helper/SetDepositService.cs

@@ -0,0 +1,221 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+using System.Security.Cryptography;
+using System.Text;
+
+namespace MySystem
+{
+    public class SetDepositService
+    {
+        public readonly static SetDepositService Instance = new SetDepositService();
+        private SetDepositService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void dosomething()
+        {
+            while (true)
+            {
+                string data = RedisDbconn.Instance.RPop<string>("SetDepositQueue");
+                if (!string.IsNullOrEmpty(data))
+                {
+                    try
+                    {
+                        WebCMSEntities db = new WebCMSEntities();
+                        JsonData jsonObj = JsonMapper.ToObject(data);
+                        string PosIds = jsonObj["PosId"].ToString();
+                        int Kind = int.Parse(function.CheckInt(jsonObj["Kind"].ToString()));
+                        int RecordId = 0;
+                        if(data.Contains("\"RecordId\""))
+                        {
+                            RecordId = int.Parse(function.CheckInt(jsonObj["RecordId"].ToString()));
+                        }
+                        string OpMan = jsonObj["OpMan"].ToString();
+                        if(!string.IsNullOrEmpty(PosIds))
+                        {
+                            List<int> ids = new List<int>();
+                            string[] PosIdList = PosIds.Split(',');
+                            foreach(string sub in PosIdList)
+                            {
+                                ids.Add(int.Parse(sub));
+                            }
+                            List<KqProducts> brands = db.KqProducts.ToList();
+                            List<PosMachinesTwo> poslist = db.PosMachinesTwo.Where(m => ids.Contains(m.Id)).ToList();
+                            List<int> mids = poslist.Select(m => m.BindMerchantId).ToList();
+                            List<PosMerchantInfo> merchantlist = db.PosMerchantInfo.Where(m => mids.Contains(m.Id)).ToList();
+                            Dictionary<int, List<PosMachinesTwo>> userPosList = new Dictionary<int, List<PosMachinesTwo>>();
+                            foreach(PosMachinesTwo pos in poslist)
+                            {
+                                PosMerchantInfo merchant = merchantlist.FirstOrDefault(m => m.Id == pos.BindMerchantId);
+                                if(merchant != null)
+                                {
+                                    decimal Fee = Kind == 1 ? 0.63M : 0.6M;
+                                    if(Kind == 0)
+                                    {
+                                        pos.UpFeeFlag = 1;
+                                        pos.UpFeeMan = OpMan;
+                                        pos.UpFeeDate = DateTime.Now;
+                                        merchant.Status = 1;
+                                        // merchant.SeoKeyword = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+                                    }
+                                    else if(Kind == 1)
+                                    {
+                                        pos.UpFeeFlag = 1;
+                                        pos.UpFeeMan = OpMan;
+                                        pos.UpFeeDate = DateTime.Now;
+                                        merchant.Status = 1;
+                                        // merchant.SeoKeyword = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+                                    }
+                                    else if(Kind == 2)
+                                    {
+                                        pos.DownFeeFlag = 1;
+                                        pos.DownFeeMan = OpMan;
+                                        pos.DownFeeDate = DateTime.Now;
+                                        if(pos.BrandId == 12 || pos.BrandId == 13)
+                                        {
+                                            pos.DownFee = 0.6M;
+                                        }
+                                        else
+                                        {
+                                            pos.DownFee = 0.63M;
+                                        }
+                                        merchant.Status = 0;
+                                        // merchant.SeoKeyword = "";
+                                        // SetRecordResult(db, RecordId, 1);
+                                    }
+                                    else if(Kind == 3)
+                                    {
+                                        pos.DownFeeFlag = 1;
+                                        pos.DownFeeMan = OpMan;
+                                        pos.DownFeeDate = DateTime.Now;
+                                        pos.DownFee = 0.6M;
+                                        merchant.Status = 0;
+                                        // merchant.SeoKeyword = "";
+                                        // SetRecordResult(db, RecordId, 1);
+                                    }
+                                    db.SaveChanges();
+                                    pos.QueryCount = Kind;
+                                    if(Kind > 1) //只有调降发消息
+                                    {
+                                        if(userPosList.ContainsKey(pos.BuyUserId))
+                                        {
+                                            userPosList[pos.BuyUserId].Add(pos);
+                                        }
+                                        else
+                                        {
+                                            List<PosMachinesTwo> subPos = new List<PosMachinesTwo>();
+                                            subPos.Add(pos);
+                                            userPosList.Add(pos.BuyUserId, subPos);
+                                        }
+                                    }
+                                    if(Kind > 1)
+                                    {
+                                        RedisDbconn.Instance.AddList("SetDepositPostQueue", data);
+                                    }
+                                }
+                            }
+                            foreach(int UserId in userPosList.Keys)
+                            {
+                                string snhtml = "", snhtml2 = "";
+                                foreach (var items in userPosList[UserId])
+                                {
+                                    var mer = merchantlist.FirstOrDefault(m => m.Id == items.BindMerchantId) ?? new PosMerchantInfo();
+                                    var brand = brands.FirstOrDefault(m => m.Id == items.BrandId) ?? new KqProducts();
+                                    if(items.QueryCount == 1)
+                                    {
+                                        snhtml += "<div style='margin-bottom: .48rem;'><div class='f16'>商户姓名:" + mer.MerRealName + "</div>";
+                                        snhtml += "<div class='f16'>机具品牌:" + brand.Name + "</div>";
+                                        snhtml += "<div class='f16'>SN:" + items.PosSn + "</div>";
+                                        string DownFeeDate = items.DownFeeDate == null ? "" : items.DownFeeDate.Value.ToString("yyyy-MM-dd HH:mm:ss");
+                                    }
+                                    else if(items.QueryCount == 2)
+                                    {
+                                        snhtml2 += "<div style='margin-bottom: .48rem;'><div class='f16'>商户姓名:" + mer.MerRealName + "</div>";
+                                        snhtml2 += "<div class='f16'>机具品牌:" + brand.Name + "</div>";
+                                        snhtml2 += "<div class='f16'>SN:" + items.PosSn + "</div>";
+                                        string DownFeeDate = items.DownFeeDate == null ? "" : items.DownFeeDate.Value.ToString("yyyy-MM-dd HH:mm:ss");
+                                        if(items.BrandId == 12 || items.BrandId == 13)
+                                        {
+                                            snhtml2 += "<div class='f16'>当前费率:0.6%</div>";
+                                        }
+                                        else
+                                        {
+                                            snhtml2 += "<div class='f16'>当前费率:0.63%</div>";
+                                        }
+                                        snhtml2 += "<div class='f16'>费率调整时间:" + DownFeeDate + "</div>";
+                                    }
+                                }
+                                if(!string.IsNullOrEmpty(snhtml))
+                                {
+                                    snhtml = "<div style='margin-bottom: .48rem;'>" + snhtml + "</div>";
+                                    // RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+                                    // {
+                                    //     UserId = Convert.ToInt32(UserId), //创客
+                                    //     Title = "商户费率变更通知", //标题
+                                    //     Content = "<div class='f16' style='margin-bottom: .72rem'>您的部分机具已绑定超过180天,刷卡费率已自动变更为0.63%,如需调整费率,请前往我的商户-商户详情中调整费率</div>" + snhtml, //内容
+                                    //     Summary = "您的部分机具已绑定超过180天,刷卡费率已自动变更为0.63%,如需调整费率,请前往我的商户-商户详情中调整费率",
+                                    //     CreateDate = DateTime.Now,
+                                    // }));
+                                    RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+                                    {
+                                        UserId = Convert.ToInt32(UserId), //创客
+                                        Title = "机具费率即将调升提醒", //标题
+                                        Content = "<div class='f16' style='margin-bottom: .72rem'>您的部分机具已绑定满88天,48小时后该机具刷卡费率将恢复0.63%,如需调整费率,请前往我的商户-商户详情中点击调整</div>" + snhtml, //内容
+                                        Summary = "您的部分机具已绑定满88天,48小时后该机具刷卡费率将恢复0.63%,如需调整费率,请前往我的商户-商户详情中点击调整",
+                                        CreateDate = DateTime.Now,
+                                    }));
+                                }
+                                else if(!string.IsNullOrEmpty(snhtml2))
+                                {
+                                    snhtml2 = "<div style='margin-bottom: .48rem;'>" + snhtml2 + "</div>";
+                                    RedisDbconn.Instance.AddList("MsgPersonalQueue", Newtonsoft.Json.JsonConvert.SerializeObject(new MsgPersonal()
+                                    {
+                                        UserId = Convert.ToInt32(UserId), //创客
+                                        Title = "商户费率变更通知", //标题
+                                        Content = "<div class='f16' style='margin-bottom: .72rem'>您的商户刷卡交易费率已变更成功!</div>" + snhtml2, //内容
+                                        Summary = "您的商户刷卡交易费率已变更成功!",
+                                        CreateDate = DateTime.Now,
+                                    }));
+                                }
+                            }
+                        }
+                        db.Dispose();
+                    }
+                    catch (Exception ex)
+                    {                        
+                        function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "设置费率队列异常");
+                    }
+                }
+                else
+                {
+                    Thread.Sleep(500);
+                }
+            }
+        }
+
+        private void SetRecordResult(WebCMSEntities db, int RecordId, int Status, string Note = "")
+        {
+            if(RecordId > 0)
+            {
+                PosMachinesFeeChangeRecord record = db.PosMachinesFeeChangeRecord.FirstOrDefault(m => m.Id == RecordId);
+                if(record != null)
+                {
+                    record.Status = Status;
+                    record.SeoDescription = Note;
+                }
+            }
+        }
+    }
+}

+ 78 - 0
AppStart/Helper/SetFeeFlagService.cs

@@ -0,0 +1,78 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Threading;
+using MySystem.Models;
+using Library;
+
+namespace MySystem
+{
+    /// <summary>
+    /// 设置机具费率标记并推送消息
+    /// </summary>
+    public class SetFeeFlagService
+    {
+        public readonly static SetFeeFlagService Instance = new SetFeeFlagService();
+        private SetFeeFlagService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(doSomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void doSomething()
+        {
+            while (true)
+            {
+                if (DateTime.Now.Hour > 0 && DateTime.Now.Hour < 19)
+                {
+                    try
+                    {
+                        string check = function.ReadInstance("/Fee/check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt");
+                        if (string.IsNullOrEmpty(check))
+                        {
+                            function.WritePage("/Fee/", "check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", DateTime.Now.ToString("HH:mm:ss"));
+                            WebCMSEntities db = new WebCMSEntities();
+                            List<int> BrandIds = db.KqProducts.Where(m => m.Status > 0).ToList().Select(m => m.Id).ToList();
+                            var date = DateTime.Now.AddDays(-85);
+                            bool op = true;
+                            int StartId = 0;
+                            while(op)
+                            {
+                                var posList = db.PosMachinesTwo.Select(m => new { m.Id, m.Status, m.BindingState, m.BindingTime, m.UpFeeFlag, m.DownFeeFlag, m.BrandId }).Where(m => m.Id > StartId && m.Status > -1 && m.BindingTime <= date && m.BindingState == 1 && m.UpFeeFlag == 0 && m.DownFeeFlag == 0 && BrandIds.Contains(m.BrandId)).OrderBy(m => m.Id).Take(100).ToList();
+                                function.WriteLog(DateTime.Now.ToString(), "85天提前通知创客费率调升");
+                                function.WriteLog(posList.Count.ToString(), "85天提前通知创客费率调升");
+                                if(posList.Count > 0)
+                                {
+                                    //循环修改机具费率调升标记
+                                    //统计需要推送消息的用户Id
+                                    foreach (var item in posList)
+                                    {
+                                        function.WriteLog(item.Id.ToString(), "85天提前通知创客费率调升");
+                                        string info = "{\"RecordId\":\"\",\"PosId\":\"" + item.Id + "\",\"Fee\": \"" + 0.63 + "\",\"Kind\": \"0\",\"OpMan\": \""+"系统"+"\"}";
+                                        RedisDbconn.Instance.AddList("SetDepositQueue", info);
+                                        StartId = item.Id;
+                                    }
+                                }
+                                else
+                                {
+                                    op = false;
+                                }
+                            }
+                            db.Dispose();
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "机具费率标记设置异常");
+                    }
+                }
+                Thread.Sleep(800000);
+            }
+        }
+    }
+}

+ 176 - 0
AppStart/Helper/StatDataService.cs

@@ -0,0 +1,176 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class StatDataService
+    {
+        public readonly static StatDataService Instance = new StatDataService();
+        private StatDataService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething2);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void dosomething()
+        {
+            bool op = true;
+            while (op)
+            {
+                try
+                {
+                    string UserId = function.ReadInstance("/stat/UserIdFlag.txt");
+                    if (string.IsNullOrEmpty(UserId))
+                    {
+                        UserId = "0";
+                    }
+                    WebCMSEntities db = new WebCMSEntities();
+                    DataTable dt = dbconn.dtable("select * from TmpUsers where Id>" + UserId + " order by Id limit 1000");
+                    foreach (DataRow dr in dt.Rows)
+                    {
+                        string Id = dr["Id"].ToString();
+                        string MakerCode = dr["MakerCode"].ToString();
+                        string RealName = dr["RealName"].ToString();
+                        string Mobile = dr["Mobile"].ToString();
+                        string UpRealName = dr["UpRealName"].ToString();
+                        string UpMakerCode = dr["UpMakerCode"].ToString();
+                        string TopRealName = dr["TopRealName"].ToString();
+                        string TopMakerCode = dr["TopMakerCode"].ToString();
+                        string UserLevel = dr["UserLevel"].ToString();
+                        if (string.IsNullOrEmpty(UserLevel))
+                        {
+                            UserLevel = "K1";
+                        }
+                        string Withdraw = dr["Withdraw"].ToString();
+                        string CreateDate = dr["CreateDate"].ToString();
+                        ulong AuthFlag = 0;
+                        DateTime AuthDate = DateTime.Parse("1900-01-01");
+                        if (!string.IsNullOrEmpty(RealName))
+                        { 
+                            AuthFlag = 1;
+                            AuthDate = DateTime.Now;
+                        }
+                        Users user = db.Users.Add(new Users()
+                        {
+                            LoginPwd = function.MD532(Mobile.Substring(7)),
+                            MakerCode = MakerCode,
+                            RealName = RealName,
+                            Mobile = Mobile,
+                            UserLevel = int.Parse(UserLevel.Replace("K", "")),
+                            SettleAmount = decimal.Parse(Withdraw),
+                            CreateDate = DateTime.Parse(CreateDate),
+                            SeoTitle = UpMakerCode,
+                            AuthFlag = AuthFlag,
+                            AuthDate = AuthDate,
+                        }).Entity;
+                        db.SaveChanges();
+                        // UserForMobile userFor = db.UserForMobile.FirstOrDefault(m => m.Mobile == Mobile);
+                        // if (userFor == null)
+                        // {
+                        //     userFor = new UserForMobile()
+                        //     {
+                        //         Mobile = Mobile,
+                        //     };
+                        //     db.SaveChanges();
+                        // }
+                        // userFor.UserId = user.Id;
+                        // UserForMakerCode userForCode = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == MakerCode);
+                        // if (userForCode == null)
+                        // {
+                        //     userForCode = new UserForMakerCode()
+                        //     {
+                        //        MakerCode = MakerCode,
+                        //     };
+                        //     db.SaveChanges();
+                        // }
+                        // userForCode.UserId = user.Id;
+                        // db.SaveChanges();
+                        function.WritePage("/stat/", "UserIdFlag.txt", Id);
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "导数据异常");
+                }
+                Thread.Sleep(200);
+            }
+        }
+
+        public void dosomething2()
+        {
+            bool op = true;
+            while (op)
+            {
+                try
+                {
+                    string UserId = function.ReadInstance("/stat/UIdFlag.txt");
+                    if (string.IsNullOrEmpty(UserId))
+                    {
+                        UserId = "0";
+                    }
+                    int Uid = int.Parse(UserId);
+                    WebCMSEntities db = new WebCMSEntities();
+                    List<int> userids = db.Users.Select(m => m.Id).Where(m => m > Uid).OrderBy(m => m).Take(100).ToList();
+                    foreach (int userid in userids)
+                    {
+                        int ParentUserId = userid;
+                        string NavString = "";
+                        while (ParentUserId > 0)
+                        {
+                            Users puser = db.Users.FirstOrDefault(m => m.Id == ParentUserId);
+                            if (puser != null)
+                            {
+                                NavString = "," + ParentUserId + "," + NavString;
+                                ParentUserId = puser.ParentUserId;
+                            }
+                            else
+                            {
+                                ParentUserId = 0;
+                            }
+                        }
+                        if (!string.IsNullOrEmpty(NavString))
+                        {
+                            string[] useridlist = NavString.Trim(',').Replace(",,", ",").Split(',');
+                            foreach (string useridstring in useridlist)
+                            {
+                                int SubUserId = int.Parse(useridstring);
+                                Users subUser = db.Users.FirstOrDefault(m => m.Id == SubUserId);
+                                if (subUser != null)
+                                {
+                                    subUser.ParentNav = NavString.Substring(0, NavString.IndexOf("," + useridstring + ","));
+                                }
+                            }
+                        }
+                        db.SaveChanges();
+                        function.WritePage("/stat/", "UIdFlag.txt", userid.ToString());
+                    }
+                    db.SaveChanges();
+                    db.Dispose();
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "执行上下级异常");
+                }
+                Thread.Sleep(200);
+            }
+        }
+
+        public void StatCreatorData(int UserId, ConsumerOrders order)
+        {
+            string DateString = order.UpdateDate.Value.ToString("yyyyMMdd");
+            string MonthString = order.UpdateDate.Value.ToString("yyyyMM");
+            // RedisDbconn.Instance.AddNumber("TradeStat:" + UserId + ":" + DateString, order.PayMoney);
+            // RedisDbconn.Instance.AddNumber("TradeStat:" + UserId + ":" + MonthString, order.PayMoney);
+        }
+    }
+}

+ 3081 - 0
AppStart/Helper/StatService.cs

@@ -0,0 +1,3081 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class StatService
+    {
+        public readonly static StatService Instance = new StatService();
+        private StatService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(StartDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void StartDo()
+        {
+            while(true)
+            {
+                try
+                {
+                    if(DateTime.Now.Hour > 0)
+                    {
+                        string doDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
+                        string flag = function.ReadInstance("/Stat/" + doDate + ".txt");
+                        if (string.IsNullOrEmpty(flag))
+                        {
+                            function.WritePage("/Stat/", doDate + ".txt", DateTime.Now.ToString("HH:mm:ss"));
+                            StartEverDay(doDate);
+                            StatMerchantTrade(doDate);
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "每天重置交易额异常");
+                }
+                Thread.Sleep(3600000);
+            }
+        }
+
+
+        public void StartActiveReward()
+        {
+            Thread th = new Thread(ActiveReward);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void ActiveReward()
+        {
+            while(true)
+            {
+                try
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":start", "实时处理激活奖励");
+                    dosomething3();
+                    function.WriteLog(DateTime.Now.ToString() + ":end\n\n", "实时处理激活奖励");
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "实时处理激活奖励异常");
+                }
+                Thread.Sleep(30000);
+            }
+        }
+
+        public void StartActiveReward1()
+        {
+            Thread th = new Thread(ActiveReward1);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void ActiveReward1()
+        {
+            while(true)
+            {
+                try
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":start", "实时处理0押激活奖励");
+                    activePrizeWithoutDeposit();
+                    // activePrizeWithoutDeposit6();
+                    function.WriteLog(DateTime.Now.ToString() + ":end\n\n", "实时处理0押激活奖励");
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "实时处理0押激活奖励异常");
+                }
+                Thread.Sleep(30000);
+            }
+        }
+
+        public void StartActiveReward2()
+        {
+            Thread th = new Thread(ActiveReward2);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void ActiveReward2()
+        {
+            while(true)
+            {
+                try
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":start", "实时处理盒易付0押激活奖励");
+                    activePrizeWithoutDeposit12();
+                    // activePrizeWithoutDeposit122();
+                    function.WriteLog(DateTime.Now.ToString() + ":end\n\n", "实时处理盒易付0押激活奖励");
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "实时处理盒易付0押激活奖励异常");
+                }
+                Thread.Sleep(30000);
+            }
+        }
+
+
+
+        //广电卡激活奖励
+        public void StartSimActive()
+        {
+            Thread th = new Thread(StartSimActiveListen);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void StartSimActiveListen()
+        {
+            while(true)
+            {
+                try
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":start", "实时处理广电卡激活奖励");
+                    StartSimActiveDo();
+                    function.WriteLog(DateTime.Now.ToString() + ":end\n\n", "实时处理广电卡激活奖励");
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "实时处理广电卡激活奖励异常");
+                }
+                Thread.Sleep(29000);
+            }
+        }
+
+        public void StartSimActiveDo(int posid = 0)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            DateTime yesterday = DateTime.Now.AddDays(-30);
+            IQueryable<PosMachinesTwo> posList = db.PosMachinesTwo.Where(m => m.ActivationState == 1 && m.BrandId == 14 && m.Detail != "1");
+            if (posid > 0)
+            {
+                posList = posList.Where(m => m.Id == posid);
+            }
+            else
+            {
+                posList = posList.Where(m => m.ActivationTime >= yesterday);
+            }
+            foreach (PosMachinesTwo pos in posList.ToList())
+            {
+                PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
+                if (merchant != null)
+                {
+                    string ParentNav = "";
+                    Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
+                    if (user != null)
+                    {
+                        int GetUserId = user.Id;
+                        ParentNav = user.ParentNav;
+                        int TopUserId = 0;
+                        if (!string.IsNullOrEmpty(ParentNav))
+                        {
+                            TopUserId = int.Parse(ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
+                        }
+                        decimal Amount = 19 * 1.5M;
+                        doActiveReward(db, merchant, pos, GetUserId, ParentNav, TopUserId, Amount);
+                        PosMachinesTwo item = db.PosMachinesTwo.FirstOrDefault(m => m.Id == pos.Id);
+                        if(item != null)
+                        {
+                            item.Detail = "1";
+                            db.SaveChanges();
+                        }
+                    }
+                }
+            }
+            db.Dispose();
+        }
+
+
+
+
+
+
+
+
+
+
+
+        public void clear()
+        {
+            RedisDbconn.Instance.Clear("TotalAmount*");
+            RedisDbconn.Instance.Clear("TotalCloudPayAmount*");
+            RedisDbconn.Instance.Clear("TotalPosAmount*");
+            RedisDbconn.Instance.Clear("TeamTotalAmount*");
+            RedisDbconn.Instance.Clear("TeamTotalCloudPayAmount*");
+            RedisDbconn.Instance.Clear("TeamTotalPosAmount*");
+
+            // RedisDbconn.Instance.Clear("TotalUser*");
+            // RedisDbconn.Instance.Clear("TeamTotalUser*");
+            // RedisDbconn.Instance.Clear("AddUser*");
+            // RedisDbconn.Instance.Clear("TeamAddUser*");
+
+            // RedisDbconn.Instance.Clear("TotalPosMerchant*");
+            // RedisDbconn.Instance.Clear("TeamTotalPosMerchant*");
+
+            RedisDbconn.Instance.Clear("MerTotalAmount*");
+        }
+
+
+        // 1. 前一天的绑定记录和创客信息匹配,设置商户型创客
+        public void dosomething1(string date)
+        {
+            // TODO: 每天扫描非商户型创客的持有机具数量
+            SpModels.WebCMSEntities spdb = new SpModels.WebCMSEntities();
+            WebCMSEntities db = new WebCMSEntities();
+            DateTime yesterday = DateTime.Parse(date + " 00:00:00");
+            DateTime today = DateTime.Parse(DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00");
+            List<SpModels.BindRecord> binds = spdb.BindRecord.Where(m => m.CreateTime >= yesterday && m.CreateTime < today).ToList();
+            foreach (SpModels.BindRecord bind in binds)
+            {
+                string Mobile = bind.MerNewSnNo;
+                string MerNo = bind.MerNo;
+                string BeforeNum = "";
+                string AfterNum = "";
+                if (Mobile.Contains("****") && Mobile.Length == 11)
+                {
+                    BeforeNum = Mobile.Substring(0, 3);
+                    AfterNum = Mobile.Substring(7);
+                }
+                string Name = bind.MerName;
+                if (bind.ProductType == "2")
+                {
+                    if (Name.Contains("-"))
+                    {
+                        Name = Name.Split('-')[1];
+                    }
+                    else if (Name.Contains("_"))
+                    {
+                        Name = Name.Split('_')[1];
+                    }
+                }
+                else if (bind.ProductType == "4")
+                {
+                    Name = bind.SeoTitle;
+                }
+                PxcModels.Users user = db.Users.FirstOrDefault(m => m.Mobile.StartsWith(BeforeNum) && m.Mobile.EndsWith(AfterNum) && m.RealName == Name && m.AuthFlag == 1 && m.MerchantType == 0);
+                if (user != null)
+                {
+                    bool checkPos = db.PosMachinesTwo.Any(m => m.UserId == user.Id);
+                    if (!checkPos)
+                    {
+                        PxcModels.MachineForSnNo forSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == bind.MerSnNo) ?? new PxcModels.MachineForSnNo();
+                        PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == forSnNo.SnId && m.UserId != user.Id);
+                        if (pos != null)
+                        {
+                            pos.UserId = user.Id;
+                            user.MerchantType = 1;
+                            PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == MerNo) ?? new PxcModels.PosMerchantInfo();
+                            merchant.UserId = user.Id;
+                            merchant.MerUserType = 1;
+                            pos.SeoTitle = user.Id.ToString(); // 记录商户型创客的Id
+                            db.SaveChanges();
+                        }
+                    }
+                }
+            }
+            spdb.Dispose();
+            db.Dispose();
+        }
+
+        // 1. 前一天的商户型创客,判断名下是否3台激活机器,是则变为非商户型创客
+        public void dosomething11(string date)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            DateTime yesterday = DateTime.Parse(date + " 00:00:00");
+            DateTime today = DateTime.Parse(DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00");
+            var users = db.Users.Select(m => new { m.Id, m.MerchantType }).Where(m => m.MerchantType == 1).ToList();
+            foreach (var user in users)
+            {
+                int machineCount = db.PosMachinesTwo.Count(m => m.UserId == user.Id && m.PosSnType == 0);
+                int couponCount = db.PosCoupons.Count(m => m.UserId == user.Id && m.IsUse == 0); //判断是否拥有3张券
+                if (machineCount + couponCount >= 3)
+                {
+                    Users edit = db.Users.FirstOrDefault(m => m.Id == user.Id);
+                    if (edit != null)
+                    {
+                        edit.MerchantType = 0;
+                        db.SaveChanges();
+                    }
+                }
+            }
+            db.Dispose();
+        }
+
+
+        public void testStatTrade(string date)
+        {
+            string yesterday = date + " 00:00:00";
+            string today = DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00";
+            string TradeMonth = DateTime.Parse(date).ToString("yyyyMM");
+            string TradeDate = DateTime.Parse(date).ToString("yyyyMMdd");
+            DataTable dt = dbconn.dtable("select UserId,BrandId,MerchantId,BankCardType,QrPayFlag,sum(TradeAmount) from TradeRecord where CreateDate>='" + yesterday + "' and CreateDate<'" + today + "' group by UserId,BrandId,MerchantId,BankCardType,QrPayFlag");
+            foreach (DataRow dr in dt.Rows)
+            {
+                int UserId = int.Parse(dr["UserId"].ToString()); //创客ID
+                int BrandId = int.Parse(dr["BrandId"].ToString()); //品牌
+                int MerchantId = int.Parse(dr["MerchantId"].ToString()); //商户Id
+                int BankCardType = int.Parse(dr["BankCardType"].ToString()); //卡类型
+                int QrPayFlag = int.Parse(dr["QrPayFlag"].ToString()); //云闪付
+                decimal TradeAmount = decimal.Parse(dr[5].ToString()); //当日交易额
+                string content = "{";
+                content += "\"DateString\":\"" + date + "\",";
+                content += "\"UserId\":\"" + UserId + "\",";
+                content += "\"BrandId\":\"" + BrandId + "\",";
+                content += "\"MerchantId\":\"" + MerchantId + "\",";
+                content += "\"BankCardType\":\"" + BankCardType + "\",";
+                content += "\"QrPayFlag\":\"" + QrPayFlag + "\",";
+                content += "\"TradeAmount\":\"" + TradeAmount + "\"";
+                content += "}";
+                RedisDbconn.Instance.AddList("TradeStatQueueTest", content);
+            }
+        }
+
+        // 3. 前一天的激活记录,根据创客类型,如果是商户型创客,则激活奖励的起始人从此人上级计算。如果不是,则从此人开始计算
+        public void dosomething3(int posid = 0)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            DateTime yesterday = DateTime.Now.AddDays(-1);
+            DateTime today = DateTime.Now.AddMinutes(-10);
+            IQueryable<PosMachinesTwo> posList = db.PosMachinesTwo.Where(m => m.ActivationState == 1 && !string.IsNullOrEmpty(m.SeoKeyword) && m.Detail != "1" && m.BrandId != 14);
+            if (posid > 0)
+            {
+                posList = posList.Where(m => m.Id == posid);
+            }
+            else
+            {
+                posList = posList.Where(m => m.ActivationTime >= yesterday && m.ActivationTime < today);
+            }
+            foreach (PosMachinesTwo pos in posList.ToList())
+            {
+                // PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && !string.IsNullOrEmpty(m.MerIdcardNo));
+                // PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && m.Sort == 1);
+                PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
+                if (merchant != null && pos.ActivationTime.Value <= pos.BindingTime.Value.AddDays(30))
+                {
+                    // PosMerchantOtherInfo otherInfo = db.PosMerchantOtherInfo.FirstOrDefault(m => m.CertId == merchant.MerIdcardNo && m.PrizeFlag1 == 0);
+                    // if (otherInfo != null)
+                    // {
+                    //     otherInfo.PrizeFlag1 = 1;
+                    //     db.SaveChanges();
+                    string ParentNav = "";
+                    Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
+                    if (user != null)
+                    {
+                        int GetUserId = user.Id;
+                        ParentNav = user.ParentNav;
+                        int TopUserId = 0;
+                        if (!string.IsNullOrEmpty(ParentNav))
+                        {
+                            TopUserId = int.Parse(ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
+                        }
+                        decimal ActPrize = decimal.Parse(function.CheckNum(pos.SeoKeyword));
+                        if (pos.BrandId == 1 || pos.BrandId == 3 || pos.BrandId == 4 || pos.BrandId == 5 || pos.BrandId == 6 || pos.BrandId == 8 || pos.BrandId == 9)
+                        {
+                            ActPrize = ActPrize / 100;
+                        }
+                        if (ActPrize > 0)
+                        {
+                            if (ActPrize == 99)
+                            {
+                                ActPrize = 100;
+                            }
+                            else if (ActPrize == 199)
+                            {
+                                ActPrize = 200;
+                            }
+                            else if (ActPrize == 299)
+                            {
+                                ActPrize = 300;
+                            }
+                            else if (ActPrize == 249)
+                            {
+                                ActPrize = 260;
+                            }
+                            if (GetUserId > 0)
+                            {
+                                doActiveReward(db, merchant, pos, GetUserId, ParentNav, TopUserId, ActPrize);
+                            }
+                        }
+                        else if(ActPrize == 0)
+                        {
+                            if(pos.BrandId == 6)
+                            {
+                                doActiveReward(db, merchant, pos, GetUserId, ParentNav, TopUserId, 50);
+                            }
+                        }
+                        PosMachinesTwo edit = db.PosMachinesTwo.FirstOrDefault(m => m.Id == pos.Id);
+                        if(edit != null)
+                        {
+                            edit.Detail = "1";
+                            db.SaveChanges();
+                        }
+                    }
+                    // }
+                }
+            }
+            db.Dispose();
+        }
+        //金控活动机返奖励
+        private void doJk30(WebCMSEntities db, PosMachinesTwo pos, PosMerchantInfo merchant, int GetUserId, string ParentNav, int TopUserId)
+        {
+            // DateTime start = DateTime.Parse("2022-04-06 00:00:00");
+            // DateTime end = DateTime.Parse("2022-07-05 00:00:00");
+            // if((pos.BrandId == 1 || pos.BrandId == 3) && pos.CreateDate >= start && pos.CreateDate < end)
+            // {
+            //     decimal amt = 0;
+            //     if(DateTime.Now < DateTime.Parse("2023-05-01 00:00:00"))
+            //     {
+            //         amt = 10;
+            //     }
+            //     if(amt > 0)
+            //     {
+            //         doActiveReward(db, merchant, pos, GetUserId, ParentNav, TopUserId, amt, 0, 1);
+            //     }
+            // }
+        }
+
+        //无押金激活奖励
+        public void activePrizeWithoutDeposit(int posid = 0)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            DateTime yesterday = DateTime.Now.AddDays(-1);
+            DateTime today = DateTime.Now.AddMinutes(-10);
+            IQueryable<PosMachinesTwo> posList = db.PosMachinesTwo.Where(m => m.ActivationState == 1 && string.IsNullOrEmpty(m.SeoKeyword) && m.BrandId != 12 && m.BrandId != 13 && m.BrandId != 6 && m.BrandId != 14 && m.Detail != "1");
+            if (posid > 0)
+            {
+                posList = posList.Where(m => m.Id == posid);
+            }
+            else
+            {
+                posList = posList.Where(m => m.ActivationTime >= yesterday && m.ActivationTime < today);
+            }
+            foreach (PosMachinesTwo pos in posList.ToList())
+            {
+                PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
+                if (merchant != null)
+                {
+                    string ParentNav = "";
+                    Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
+                    if (user != null)
+                    {
+                        int GetUserId = user.Id;
+                        ParentNav = user.ParentNav;
+                        int TopUserId = 0;
+                        if (!string.IsNullOrEmpty(ParentNav))
+                        {
+                            TopUserId = int.Parse(ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
+                        }
+                        if((pos.BrandId == 10 || pos.BrandId == 11) && DateTime.Now < DateTime.Parse("2023-05-01 00:00:00") && pos.IsFirst == 1) //首台无押金机返50
+                        {
+                            doActiveReward(db, merchant, pos, GetUserId, ParentNav, TopUserId, 50);
+                        }
+                        PosMachinesTwo edit = db.PosMachinesTwo.FirstOrDefault(m => m.Id == pos.Id);
+                        if(edit != null)
+                        {
+                            edit.Detail = "1";
+                            db.SaveChanges();
+                        }
+                    }
+                }
+            }
+            db.Dispose();
+        }
+
+        public void activePrizeWithoutDeposit6(int posid = 0)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            DateTime yesterday = DateTime.Now.AddDays(-30);
+            DateTime today = DateTime.Now.AddMinutes(-10);
+            IQueryable<PosMachinesTwo> posList = db.PosMachinesTwo.Where(m => m.ActivationState == 1 && m.CreditTrade >= 5000 && string.IsNullOrEmpty(m.SeoKeyword) && m.BrandId == 6 && m.Detail != "1");
+            if (posid > 0)
+            {
+                posList = posList.Where(m => m.Id == posid);
+            }
+            else
+            {
+                posList = posList.Where(m => m.ActivationTime >= yesterday && m.ActivationTime < today);
+            }
+            foreach (PosMachinesTwo pos in posList.ToList())
+            {
+                PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
+                if (merchant != null)
+                {
+                    string ParentNav = "";
+                    Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
+                    if (user != null)
+                    {
+                        int GetUserId = user.Id;
+                        ParentNav = user.ParentNav;
+                        int TopUserId = 0;
+                        if (!string.IsNullOrEmpty(ParentNav))
+                        {
+                            TopUserId = int.Parse(ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
+                        }
+                        // 立刷30天内刷满5000,无服务费机具,返50
+                        if (pos.BrandId == 6 && pos.BindingTime > DateTime.Now.AddDays(-30))
+                        {
+                            doActiveReward(db, merchant, pos, GetUserId, ParentNav, TopUserId, 50);
+                        }
+                        PosMachinesTwo edit = db.PosMachinesTwo.FirstOrDefault(m => m.Id == pos.Id);
+                        if(edit != null)
+                        {
+                            edit.Detail = "1";
+                            db.SaveChanges();
+                        }
+                    }
+                }
+            }
+            db.Dispose();
+        }
+
+        public void activePrizeWithoutDeposit12(int posid = 0)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            DateTime yesterday = DateTime.Now.AddDays(-30);
+            DateTime today = DateTime.Now.AddMinutes(-10);
+            IQueryable<PosMachinesTwo> posList = db.PosMachinesTwo.Where(m => m.ActivationState == 1 && m.IsFirst == 1 && m.CreditTrade >= 5000 && string.IsNullOrEmpty(m.SeoKeyword) && (m.BrandId == 12 || m.BrandId == 13) && m.Detail != "1");
+            if (posid > 0)
+            {
+                posList = posList.Where(m => m.Id == posid);
+            }
+            else
+            {
+                posList = posList.Where(m => m.ActivationTime >= yesterday && m.ActivationTime < today);
+            }
+            foreach (PosMachinesTwo pos in posList.ToList())
+            {
+                PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
+                if (merchant != null)
+                {
+                    string ParentNav = "";
+                    Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
+                    if (user != null)
+                    {
+                        int GetUserId = user.Id;
+                        ParentNav = user.ParentNav;
+                        int TopUserId = 0;
+                        if (!string.IsNullOrEmpty(ParentNav))
+                        {
+                            TopUserId = int.Parse(ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
+                        }
+                        //首台无押金机返50
+                        doActiveReward(db, merchant, pos, GetUserId, ParentNav, TopUserId, 50);
+                        PosMachinesTwo item = db.PosMachinesTwo.FirstOrDefault(m => m.Id == pos.Id);
+                        if(item != null)
+                        {
+                            item.Detail = "1";
+                            db.SaveChanges();
+                        }
+                    }
+                }
+            }
+            db.Dispose();
+        }
+
+
+        public void activePrizeWithoutDeposit122(int posid = 0)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            DateTime yesterday = DateTime.Now.AddDays(-30);
+            DateTime today = DateTime.Now.AddMinutes(-5);
+            DateTime checkTime = DateTime.Parse("2023-08-01 00:00:00");
+            IQueryable<PosMachinesTwo> posList = db.PosMachinesTwo.Where(m => m.ActivationState == 1 && m.IsFirst == 0 && m.CreditTrade >= 1000 && m.ActivationTime < checkTime && string.IsNullOrEmpty(m.SeoKeyword) && (m.BrandId == 12 || m.BrandId == 13) && m.Detail != "1");
+            if (posid > 0)
+            {
+                posList = posList.Where(m => m.Id == posid);
+            }
+            else
+            {
+                posList = posList.Where(m => m.ActivationTime >= yesterday && m.ActivationTime < today);
+            }
+            foreach (PosMachinesTwo pos in posList.ToList())
+            {
+                PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
+                if (merchant != null)
+                {
+                    string ParentNav = "";
+                    Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
+                    if (user != null)
+                    {
+                        int GetUserId = user.Id;
+                        ParentNav = user.ParentNav;
+                        int TopUserId = 0;
+                        if (!string.IsNullOrEmpty(ParentNav))
+                        {
+                            TopUserId = int.Parse(ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
+                        }
+                        string IdCard = merchant.MerIdcardNo;
+                        string IdCardStart = IdCard.Substring(0, 6);
+                        string IdCardEnd = IdCard.Substring(IdCard.Length - 4);
+                        string MerName = merchant.MerchantName;
+                        List<int> BrandIds = new List<int>();
+                        BrandIds.Add(4);
+                        BrandIds.Add(5);
+                        BrandIds.Add(8);
+                        BrandIds.Add(9);
+                        PosMerchantInfo other = db.PosMerchantInfo.FirstOrDefault(m => m.MerIdcardNo.StartsWith(IdCardStart) && m.MerIdcardNo.EndsWith(IdCardEnd) && m.MerchantName.Contains(MerName) && BrandIds.Contains(m.BrandId));
+                        if(other != null)
+                        {
+                            PosMachinesTwo checkpos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == other.KqSnNo && m.IsFirst == 1);
+                            if(checkpos != null)
+                            {
+                                doActiveReward(db, merchant, pos, GetUserId, ParentNav, TopUserId, 50);
+                                PosMachinesTwo edit = db.PosMachinesTwo.FirstOrDefault(m => m.Id == pos.Id);
+                                if(edit != null)
+                                {
+                                    edit.SeoKeyword = checkpos.SeoKeyword;
+                                    edit.UpFeeFlag = checkpos.UpFeeFlag;
+                                    edit.DownFeeFlag = checkpos.DownFeeFlag;
+                                    edit.UpFeeDate = checkpos.UpFeeDate;
+                                    edit.DownFeeDate = checkpos.DownFeeDate;
+                                    edit.BindingTime = checkpos.BindingTime;
+                                    edit.IsFirst = checkpos.IsFirst;
+                                    db.SaveChanges();
+                                    if(edit.UpFeeFlag == 1 && edit.DownFeeFlag == 0)
+                                    {
+                                        string info = "{\"RecordId\":\"\",\"PosId\":\"" + edit.Id + "\",\"Fee\": \"0.63\",\"Kind\": \"1\",\"OpMan\": \"系统\"}";
+                                        RedisDbconn.Instance.AddList("SetDepositPostQueue", info);
+                                    }
+                                }
+                            }
+                        }
+                        PosMachinesTwo item = db.PosMachinesTwo.FirstOrDefault(m => m.Id == pos.Id);
+                        if(item != null)
+                        {
+                            item.Detail = "1";
+                            db.SaveChanges();
+                        }
+                    }
+                }
+            }
+            db.Dispose();
+        }
+
+        public void doActiveReward(WebCMSEntities db, PosMerchantInfo merchant, PosMachinesTwo pos, int GetUserId, string ParentNav, int TopUserId, decimal ActPrize, int ChangeType = 0, int ActType = 0)
+        {
+            bool check = db.ActiveReward.Any(m => m.KqMerNo == merchant.KqMerNo && m.RewardAmount == ActPrize);
+            bool check1 = db.ActiveReward.Any(m => m.KqSnNo == pos.PosSn && m.RewardAmount == ActPrize);
+            if (!check && !check1)
+            {
+                function.WriteLog(DateTime.Now.ToString() + ":" + pos.PosSn, "实时处理激活奖励");
+                Users machineUser = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new Users();
+                db.ActiveReward.Add(new ActiveReward()
+                {
+                    CreateDate = DateTime.Now,
+                    UpdateDate = DateTime.Now,
+                    UserId = GetUserId, //创客
+                    MerchantId = pos.BindMerchantId, //商户
+                    StandardDate = pos.ActivationTime, //达标日期
+                    RewardAmount = ActPrize, //奖励金额
+                    BrandId = pos.BrandId, //品牌
+                    UserNav = ParentNav, //创客父级
+                    DirectBuddyNo = merchant.UserId, //商户直属创客
+                    KqMerNo = merchant.KqMerNo, //渠道商户编号
+                    KqSnNo = pos.PosSn, //渠道SN号
+                    SnType = pos.PosSnType, //机具类型
+                    SnApplyUserId = pos.BuyUserId, //机具申请创客
+                    ActType = ActType, //激活类型
+                    SnStoreId = pos.StoreId, //SN仓库
+                    RewardTips = "激活奖励", //奖励描述
+                    Remark = "激活奖励", //备注
+                    ActDate = pos.ActivationTime, //激活时间
+                    TopUserId = TopUserId, //顶级创客
+                    SeoTitle = machineUser.RealName,
+                });
+                db.SaveChanges();
+                string IdBrand = GetUserId + "_" + pos.BrandId;
+                UserMachineData userData = db.UserMachineData.FirstOrDefault(m => m.IdBrand == IdBrand);
+                if (userData == null)
+                {
+                    userData = db.UserMachineData.Add(new UserMachineData()
+                    {
+                        IdBrand = IdBrand,
+                    }).Entity;
+                    db.SaveChanges();
+                }
+                userData.ActProfit += ActPrize;
+                db.SaveChanges();
+                UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == GetUserId);
+                if (account == null)
+                {
+                    account = db.UserAccount.Add(new UserAccount()
+                    {
+                        Id = GetUserId,
+                        UserId = GetUserId,
+                    }).Entity;
+                    db.SaveChanges();
+                }
+                decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                account.BalanceAmount += ActPrize;
+                account.TotalAmount += ActPrize;
+                decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                {
+                    CreateDate = DateTime.Now,
+                    UpdateDate = DateTime.Now,
+                    UserId = GetUserId, //创客
+                    ChangeType = ChangeType, //变动类型
+                    ProductType = pos.BrandId, //产品类型
+                    ChangeAmount = ActPrize, //变更金额
+                    BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                    AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                    BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                    AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                    BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                    AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                }).Entity;
+                db.SaveChanges();
+
+                string dateString = pos.ActivationTime.Value.ToString("yyyyMMdd");
+                string monthString = pos.ActivationTime.Value.ToString("yyyyMM");
+                // 激活奖励列表
+                List<string> dates = RedisDbconn.Instance.GetList<string>("ActiveRewardDay:" + GetUserId + ":" + pos.BrandId);
+                if (!dates.Contains(dateString))
+                {
+                    RedisDbconn.Instance.AddList("ActiveRewardDay:" + GetUserId + ":" + pos.BrandId, dateString);
+                }
+                RedisDbconn.Instance.AddNumber("ActiveRewardAmt:" + GetUserId + ":" + pos.BrandId + ":" + dateString, ActPrize);
+
+                List<string> months = RedisDbconn.Instance.GetList<string>("ActiveRewardMonth:" + GetUserId + ":" + pos.BrandId);
+                if (!months.Contains(monthString))
+                {
+                    RedisDbconn.Instance.AddList("ActiveRewardMonth:" + GetUserId + ":" + pos.BrandId, monthString);
+                }
+                RedisDbconn.Instance.AddNumber("ActiveRewardAmt:" + GetUserId + ":" + pos.BrandId + ":" + monthString, ActPrize);
+
+                // 激活奖励详情
+                List<int> actPrizeList = RedisDbconn.Instance.GetList<int>("ActiveRewardDetail:" + GetUserId + ":" + pos.BrandId + ":" + dateString);
+                if (!actPrizeList.Contains(pos.BindMerchantId))
+                {
+                    RedisDbconn.Instance.AddList("ActiveRewardDetail:" + GetUserId + ":" + pos.BrandId + ":" + dateString, pos.BindMerchantId);
+                }
+                RedisDbconn.Instance.AddNumber("ActiveRewardAmt:mer:" + pos.BindMerchantId + ":" + pos.BrandId + ":" + dateString, ActPrize);
+
+                //收支明细
+                RedisDbconn.Instance.Clear("UserAccount:Income:" + GetUserId + ":" + monthString);
+            }
+        }
+
+
+        //根据商户信息发放激活奖励
+        public void dosomething32(int merid = 0)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            DateTime yesterday = DateTime.Now.AddHours(-3);
+            DateTime today = DateTime.Now;
+            IQueryable<PosMerchantInfo> merList = db.PosMerchantInfo.Where(m => m.ActiveStatus == 1 && !string.IsNullOrEmpty(m.SeoKeyword));
+            if (merid > 0)
+            {
+                merList = merList.Where(m => m.Id == merid);
+            }
+            else
+            {
+                merList = merList.Where(m => m.MerStandardDate >= yesterday && m.MerStandardDate < today);
+            }
+            foreach (PosMerchantInfo merchant in merList.ToList())
+            {
+                // PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && !string.IsNullOrEmpty(m.MerIdcardNo));
+                // PosMerchantOtherInfo otherInfo = db.PosMerchantOtherInfo.FirstOrDefault(m => m.CertId == merchant.MerIdcardNo && m.PrizeFlag1 == 0);
+                // if (otherInfo != null)
+                // {
+                //     otherInfo.PrizeFlag1 = 1;
+                //     db.SaveChanges();
+                MachineForMerNo forMerNo = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == merchant.MerchantNo) ?? new MachineForMerNo();
+                PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == forMerNo.SnId) ?? new PosMachinesTwo();
+                string ParentNav = "";
+                Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
+                if (user != null)
+                {
+                    int GetUserId = user.Id;
+                    ParentNav = user.ParentNav;
+                    int TopUserId = 0;
+                    if (!string.IsNullOrEmpty(ParentNav))
+                    {
+                        TopUserId = int.Parse(ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
+                    }
+                    decimal ActPrize = decimal.Parse(function.CheckNum(merchant.SeoKeyword));
+                    if (pos.BrandId == 1 || pos.BrandId == 3 || pos.BrandId == 4 || pos.BrandId == 5 || pos.BrandId == 6 || pos.BrandId == 8 || pos.BrandId == 9)
+                    {
+                        ActPrize = ActPrize / 100;
+                    }
+                    if (ActPrize > 0)
+                    {
+                        bool check = db.ActiveReward.Any(m => m.KqSnNo == pos.PosSn);
+                        if (!check)
+                        {
+                            if (ActPrize == 99)
+                            {
+                                ActPrize = 100;
+                            }
+                            else if (ActPrize == 199)
+                            {
+                                ActPrize = 200;
+                            }
+                            else if (ActPrize == 299)
+                            {
+                                ActPrize = 300;
+                            }
+                            Users machineUser = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new Users();
+                            db.ActiveReward.Add(new ActiveReward()
+                            {
+                                CreateDate = DateTime.Now,
+                                UpdateDate = DateTime.Now,
+                                UserId = GetUserId, //创客
+                                MerchantId = pos.BindMerchantId, //商户
+                                StandardDate = pos.ActivationTime, //达标日期
+                                RewardAmount = ActPrize, //奖励金额
+                                BrandId = pos.BrandId, //品牌
+                                UserNav = ParentNav, //创客父级
+                                DirectBuddyNo = merchant.UserId, //商户直属创客
+                                KqMerNo = merchant.KqMerNo, //渠道商户编号
+                                KqSnNo = pos.PosSn, //渠道SN号
+                                SnType = pos.PosSnType, //机具类型
+                                SnApplyUserId = pos.BuyUserId, //机具申请创客
+                                ActType = 0, //激活类型
+                                SnStoreId = pos.StoreId, //SN仓库
+                                RewardTips = "激活奖励", //奖励描述
+                                Remark = "激活奖励", //备注
+                                ActDate = pos.ActivationTime, //激活时间
+                                TopUserId = TopUserId, //顶级创客
+                                SeoTitle = machineUser.RealName,
+                            });
+                            db.SaveChanges();
+                            string IdBrand = GetUserId + "_" + pos.BrandId;
+                            UserMachineData userData = db.UserMachineData.FirstOrDefault(m => m.IdBrand == IdBrand);
+                            if (userData == null)
+                            {
+                                userData = db.UserMachineData.Add(new UserMachineData()
+                                {
+                                    IdBrand = IdBrand,
+                                }).Entity;
+                                db.SaveChanges();
+                            }
+                            userData.ActProfit += ActPrize;
+                            db.SaveChanges();
+                            UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == GetUserId);
+                            if (account == null)
+                            {
+                                account = db.UserAccount.Add(new UserAccount()
+                                {
+                                    Id = GetUserId,
+                                    UserId = GetUserId,
+                                }).Entity;
+                                db.SaveChanges();
+                            }
+                            decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                            decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                            decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                            account.BalanceAmount += ActPrize;
+                            account.TotalAmount += ActPrize;
+                            decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                            decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                            decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                            UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                            {
+                                CreateDate = DateTime.Now,
+                                UpdateDate = DateTime.Now,
+                                UserId = GetUserId, //创客
+                                ChangeType = 0, //变动类型
+                                ProductType = pos.BrandId, //产品类型
+                                ChangeAmount = ActPrize, //变更金额
+                                BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                            }).Entity;
+                            db.SaveChanges();
+
+                            string dateString = pos.ActivationTime.Value.ToString("yyyyMMdd");
+                            string monthString = pos.ActivationTime.Value.ToString("yyyyMM");
+                            // 激活奖励列表
+                            List<string> dates = RedisDbconn.Instance.GetList<string>("ActiveRewardDay:" + GetUserId + ":" + pos.BrandId);
+                            if (!dates.Contains(dateString))
+                            {
+                                RedisDbconn.Instance.AddList("ActiveRewardDay:" + GetUserId + ":" + pos.BrandId, dateString);
+                            }
+                            RedisDbconn.Instance.AddNumber("ActiveRewardAmt:" + GetUserId + ":" + pos.BrandId + ":" + dateString, ActPrize);
+
+                            List<string> months = RedisDbconn.Instance.GetList<string>("ActiveRewardMonth:" + GetUserId + ":" + pos.BrandId);
+                            if (!months.Contains(monthString))
+                            {
+                                RedisDbconn.Instance.AddList("ActiveRewardMonth:" + GetUserId + ":" + pos.BrandId, monthString);
+                            }
+                            RedisDbconn.Instance.AddNumber("ActiveRewardAmt:" + GetUserId + ":" + pos.BrandId + ":" + monthString, ActPrize);
+
+                            // 激活奖励详情
+                            List<int> actPrizeList = RedisDbconn.Instance.GetList<int>("ActiveRewardDetail:" + GetUserId + ":" + pos.BrandId + ":" + dateString);
+                            if (!actPrizeList.Contains(pos.BindMerchantId))
+                            {
+                                RedisDbconn.Instance.AddList("ActiveRewardDetail:" + GetUserId + ":" + pos.BrandId + ":" + dateString, pos.BindMerchantId);
+                            }
+                            RedisDbconn.Instance.AddNumber("ActiveRewardAmt:mer:" + pos.BindMerchantId + ":" + pos.BrandId + ":" + dateString, ActPrize);
+                        }
+                    }
+                }
+                // }
+            }
+            db.Dispose();
+        }
+
+
+
+        //3. 前一天的激活记录,根据创客类型,如果是商户型创客,则开机奖励的起始人从此人上级计算。如果不是,则从此人开始计算
+        public void dosomething4(string date)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            DateTime yesterday = DateTime.Parse(date + " 00:00:00");
+            DateTime today = DateTime.Parse(DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00");
+            List<PosMachinesTwo> posList = db.PosMachinesTwo.Where(m => m.ActivationState == 1 && m.ActivationTime >= yesterday && m.ActivationTime < today && !string.IsNullOrEmpty(m.SeoKeyword) && m.SeoKeyword != "0" && m.CreditTrade >= 1000).ToList();
+            foreach (PosMachinesTwo pos in posList)
+            {
+                if (pos.BindingTime > DateTime.Now.AddDays(-30))
+                {
+                    decimal ActPrize = decimal.Parse(function.CheckNum(pos.SeoKeyword));
+                    if (ActPrize > 0)
+                    {
+                        // PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && !string.IsNullOrEmpty(m.MerIdcardNo));
+                        // PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && m.Sort == 1);
+                        PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
+                        if (merchant != null)
+                        {
+                            // PosMerchantOtherInfo otherInfo = db.PosMerchantOtherInfo.FirstOrDefault(m => m.CertId == merchant.MerIdcardNo && m.PrizeFlag2 == 0);
+                            // if (otherInfo != null)
+                            // {
+                            //     otherInfo.PrizeFlag2 = 1;
+                            //     db.SaveChanges();
+                            // 从机具所属人上级开始分开机奖励
+                            Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
+                            if (user != null)
+                            {
+                                if (!string.IsNullOrEmpty(user.ParentNav))
+                                {
+                                    decimal Prize = 20;
+                                    string[] ParentNavs = user.ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                                    for (int i = ParentNavs.Length - 1; i >= 0; i--)
+                                    {
+                                        int UserId = int.Parse(ParentNavs[i]);
+                                        Users puser = db.Users.FirstOrDefault(m => m.Id == UserId && m.AuthFlag == 1);
+                                        if (puser != null && Prize > 0)
+                                        {
+                                            int machineCount = db.PosMachinesTwo.Count(m => m.BuyUserId == puser.Id && m.PosSnType == 0 && m.ActivationState == 0); //判断是否拥有3台兑换机
+                                            int ActiveCount = db.PosMachinesTwo.Count(m => m.BuyUserId == puser.Id && m.ActivationState == 1); //判断是否拥有3台激活机(不限购买或赠送)
+                                            int couponCount = db.PosCoupons.Count(m => m.UserId == puser.Id && m.IsUse == 0); //判断是否拥有3张券
+                                            // int BigCount = db.PosMachinesTwo.Count(m => m.UserId == puser.Id && m.BrandId == 3); //判断是否拥有2台大机
+                                            // int BigActiveCount = db.PosMachinesTwo.Count(m => m.UserId == puser.Id && m.ActivationState == 1 && m.BrandId == 3); //判断是否拥有2台激活大机(不限购买或赠送)
+                                            if (machineCount + ActiveCount + couponCount >= 3)
+                                            {
+                                                int pTopUserId = 0;
+                                                if (!string.IsNullOrEmpty(puser.ParentNav))
+                                                {
+                                                    pTopUserId = int.Parse(puser.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
+                                                }
+                                                Users machineUser = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new Users();
+                                                OpenRewardDetail detail = db.OpenRewardDetail.Add(new OpenRewardDetail()
+                                                {
+                                                    CreateDate = DateTime.Now,
+                                                    UpdateDate = DateTime.Now,
+                                                    TradeMonth = yesterday.ToString("yyyyMM"), //交易月
+                                                    TradeDate = yesterday, //达标日期
+                                                    UserId = puser.Id, //创客
+                                                    BrandId = pos.BrandId, //品牌
+                                                    ProductName = RelationClass.GetKqProductsInfo(pos.BrandId), //产品名称
+                                                    MerchantId = pos.BindMerchantId, //商户
+                                                    DirectUserId = merchant.UserId, //商户直属人
+                                                    SnNo = pos.PosSn, //SN号
+                                                    MerNo = merchant.KqMerNo, //渠道商户号
+                                                    SnType = pos.PosSnType, //机具类型
+                                                    StandardDate = pos.ActivationTime, //商户的激活日期
+                                                    SnStoreId = pos.StoreId, //SN仓库
+                                                    MerBuddyType = puser.MerchantType, //商户创客类型
+                                                    RewardType = 1, //奖励类型 1-开机直接奖励,2-开机间接奖励
+                                                    RewardTips = "开机奖励", //奖励描述
+                                                    CreditTradeAmt = pos.CreditTrade, //贷记卡交易总金额
+                                                    DebitTradeAmt = pos.DebitCardTrade, //借记卡交易总金额
+                                                    CreditRewardAmount = Prize, //贷记卡交易奖励金额
+                                                    RewardDesc = "开机奖励", //奖励描述
+                                                    TopUserId = pTopUserId, //顶级创客
+                                                    SeoTitle = machineUser.RealName,
+                                                }).Entity;
+                                                db.OpenReward.Add(new OpenReward()
+                                                {
+                                                    CreateDate = DateTime.Now,
+                                                    UpdateDate = DateTime.Now,
+                                                    TradeMonth = yesterday.ToString("yyyyMM"), //交易月
+                                                    TradeDate = DateTime.Now, //达标日期
+                                                    UserId = puser.Id, //创客
+                                                    BrandId = pos.BrandId, //品牌
+                                                    RewardType = 2, //奖励类型
+                                                    CreditTradeAmt = pos.CreditTrade, //贷记卡交易总金额
+                                                    DebitTradeAmt = pos.DebitCardTrade, //借记卡交易总金额
+                                                    CreditRewardAmount = Prize, //贷记卡交易奖励金额
+                                                    RewardDesc = "开机奖励", //奖励描述
+                                                    TopUserId = pTopUserId, //顶级创客
+                                                });
+                                                string IdBrand = puser.Id + "_" + pos.BrandId;
+                                                UserMachineData userData = db.UserMachineData.FirstOrDefault(m => m.IdBrand == IdBrand);
+                                                if (userData == null)
+                                                {
+                                                    userData = db.UserMachineData.Add(new UserMachineData()
+                                                    {
+                                                        IdBrand = IdBrand,
+                                                    }).Entity;
+                                                    db.SaveChanges();
+                                                }
+                                                userData.OpenProfit += Prize;
+                                                db.SaveChanges();
+                                                //账户入库
+                                                UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == puser.Id);
+                                                if (account == null)
+                                                {
+                                                    account = db.UserAccount.Add(new UserAccount()
+                                                    {
+                                                        Id = puser.Id,
+                                                        UserId = puser.Id,
+                                                    }).Entity;
+                                                    db.SaveChanges();
+                                                }
+                                                //收支明细入库
+                                                decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                                                decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                                                decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                                                account.BalanceAmount += Prize;
+                                                account.TotalAmount += Prize;
+                                                decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                                                decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                                                decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                                                UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                                                {
+                                                    CreateDate = DateTime.Now,
+                                                    UpdateDate = DateTime.Now,
+                                                    UserId = puser.Id, //创客
+                                                    ChangeType = 50, //变动类型
+                                                    ProductType = pos.BrandId, //产品类型
+                                                    ChangeAmount = Prize, //变更金额
+                                                    BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                                    AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                                    BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                                    AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                                    BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                                    AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                                }).Entity;
+                                                db.SaveChanges();
+
+                                                string dateString = yesterday.ToString("yyyyMMdd");
+                                                string monthString = yesterday.ToString("yyyyMM");
+                                                // 开机奖励列表
+                                                List<string> dates = RedisDbconn.Instance.GetList<string>("OpenRewardDay:" + puser.Id + ":" + pos.BrandId);
+                                                if (!dates.Contains(dateString))
+                                                {
+                                                    RedisDbconn.Instance.AddList("OpenRewardDay:" + puser.Id + ":" + pos.BrandId, dateString);
+                                                }
+                                                RedisDbconn.Instance.AddNumber("OpenRewardAmt:" + puser.Id + ":" + pos.BrandId + ":" + dateString, Prize);
+
+                                                List<string> months = RedisDbconn.Instance.GetList<string>("OpenRewardMonth:" + puser.Id + ":" + pos.BrandId);
+                                                if (!months.Contains(monthString))
+                                                {
+                                                    RedisDbconn.Instance.AddList("OpenRewardMonth:" + puser.Id + ":" + pos.BrandId, monthString);
+                                                }
+                                                RedisDbconn.Instance.AddNumber("OpenRewardAmt:" + puser.Id + ":" + pos.BrandId + ":" + monthString, Prize);
+
+                                                // 开机奖励详情
+                                                RedisDbconn.Instance.AddList("OpenRewardDetail:" + puser.Id + ":" + pos.BrandId + ":" + dateString, detail);
+
+                                                Prize = 0;
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                            // }
+                        }
+                    }
+                }
+            }
+            db.Dispose();
+        }
+
+        //实时获取开机奖励
+        public void StartOpenReward()
+        {
+            Thread th = new Thread(StartOpenRewardDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+        public void StartOpenRewardDo()
+        {
+            while(true)
+            {
+                string content = RedisDbconn.Instance.RPop<string>("OpenRewardQueue");
+                if(!string.IsNullOrEmpty(content))
+                {
+                    try
+                    {
+                        function.WriteLog("\n\n" + DateTime.Now.ToString() + "\nposid:" + content, "开机奖励发放日志");
+                        int PosId = int.Parse(content);
+                        Thread.Sleep(1000);
+                        WebCMSEntities db = new WebCMSEntities();
+                        PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId && m.ActivationState == 1 && ((!string.IsNullOrEmpty(m.SeoKeyword) && m.SeoKeyword != "0" && m.CreditTrade >= 1000) || m.BrandId == 14));
+                        if (pos != null)
+                        {
+                            function.WriteLog("sn:" + pos.PosSn, "开机奖励发放日志");
+                            if (pos.BindingTime > DateTime.Now.AddDays(-30))
+                            {
+                                decimal ActPrize = decimal.Parse(function.CheckNum(pos.SeoKeyword));
+                                function.WriteLog("押金:" + pos.SeoKeyword, "开机奖励发放日志");
+                                if (ActPrize > 0 || pos.BrandId == 14)
+                                {
+                                    PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
+                                    if (merchant != null)
+                                    {
+                                        function.WriteLog("商户:" + merchant.KqMerNo, "开机奖励发放日志");
+                                        Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
+                                        if (user != null)
+                                        {
+                                            function.WriteLog("所属人:" + user.MakerCode, "开机奖励发放日志");
+                                            string ParentNav = function.CheckNull(user.ParentNav) + "," + user.Id + ",";
+                                            if (!string.IsNullOrEmpty(ParentNav))
+                                            {
+                                                decimal Prize = 20;
+                                                if(pos.BrandId == 14)
+                                                {
+                                                    Prize = 19 * 0.3M;
+                                                }
+                                                string[] ParentNavs = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                                                for (int i = ParentNavs.Length - 1; i >= 0; i--)
+                                                {
+                                                    int UserId = int.Parse(ParentNavs[i]);
+                                                    Users puser = db.Users.FirstOrDefault(m => m.Id == UserId && m.AuthFlag == 1 && m.Status > -1);
+                                                    if (puser != null && Prize > 0)
+                                                    {
+                                                        function.WriteLog("上级:" + puser.MakerCode, "开机奖励发放日志");
+                                                        // int machineCount = db.PosMachinesTwo.Count(m => m.BuyUserId == puser.Id && m.PosSnType == 0 && m.ActivationState == 0); //判断是否拥有3台兑换机
+                                                        // int ActiveCount = db.PosMachinesTwo.Count(m => m.BuyUserId == puser.Id && m.ActivationState == 1); //判断是否拥有3台激活机(不限购买或赠送)
+                                                        // int couponCount = db.PosCoupons.Count(m => m.UserId == puser.Id && m.IsUse == 0); //判断是否拥有3张券
+                                                        // int BigCount = db.PosMachinesTwo.Count(m => m.UserId == puser.Id && m.BrandId == 3); //判断是否拥有2台大机
+                                                        // int BigActiveCount = db.PosMachinesTwo.Count(m => m.UserId == puser.Id && m.ActivationState == 1 && m.BrandId == 3); //判断是否拥有2台激活大机(不限购买或赠送)
+                                                        // function.WriteLog("条件:machineCount:" + machineCount + ",ActiveCount:" + ActiveCount + ",couponCount:" + couponCount + "", "开机奖励发放日志");
+                                                        // if (machineCount + ActiveCount + couponCount >= 3)
+                                                        function.WriteLog("条件:LeaderLevel:" + puser.LeaderLevel + ",UserType:" + puser.UserType, "开机奖励发放日志");
+                                                        if(puser.LeaderLevel > 0 || puser.UserType == 1)
+                                                        {
+                                                            bool leaderOp = true;
+                                                            if(puser.LeaderLevel > 0 && puser.UserType == 0)
+                                                            {
+                                                                DateTime now = DateTime.Now;
+                                                                leaderOp = db.Leaders.Any(m => m.Id == puser.Id && m.ExpiredDate >= now);
+                                                                function.WriteLog("条件:leaderOp:" + leaderOp, "开机奖励发放日志");
+                                                            }
+                                                            if(leaderOp)
+                                                            {
+                                                                function.WriteLog("满足条件", "开机奖励发放日志");
+                                                                int pTopUserId = 0;
+                                                                if (!string.IsNullOrEmpty(puser.ParentNav))
+                                                                {
+                                                                    pTopUserId = int.Parse(puser.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
+                                                                }
+                                                                Users machineUser = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new Users();
+                                                                OpenRewardDetail detail = db.OpenRewardDetail.Add(new OpenRewardDetail()
+                                                                {
+                                                                    CreateDate = DateTime.Now,
+                                                                    UpdateDate = DateTime.Now,
+                                                                    TradeMonth = DateTime.Now.ToString("yyyyMM"), //交易月
+                                                                    TradeDate = DateTime.Now, //达标日期
+                                                                    UserId = puser.Id, //创客
+                                                                    BrandId = pos.BrandId, //品牌
+                                                                    ProductName = RelationClass.GetKqProductsInfo(pos.BrandId), //产品名称
+                                                                    MerchantId = pos.BindMerchantId, //商户
+                                                                    DirectUserId = merchant.UserId, //商户直属人
+                                                                    SnNo = pos.PosSn, //SN号
+                                                                    MerNo = merchant.KqMerNo, //渠道商户号
+                                                                    SnType = pos.PosSnType, //机具类型
+                                                                    StandardDate = pos.ActivationTime, //商户的激活日期
+                                                                    SnStoreId = pos.StoreId, //SN仓库
+                                                                    MerBuddyType = puser.MerchantType, //商户创客类型
+                                                                    RewardType = 1, //奖励类型 1-开机直接奖励,2-开机间接奖励
+                                                                    RewardTips = "开机奖励", //奖励描述
+                                                                    CreditTradeAmt = pos.CreditTrade, //贷记卡交易总金额
+                                                                    DebitTradeAmt = pos.DebitCardTrade, //借记卡交易总金额
+                                                                    CreditRewardAmount = Prize, //贷记卡交易奖励金额
+                                                                    RewardDesc = "开机奖励", //奖励描述
+                                                                    TopUserId = pTopUserId, //顶级创客
+                                                                    SeoTitle = machineUser.RealName,
+                                                                }).Entity;
+                                                                db.OpenReward.Add(new OpenReward()
+                                                                {
+                                                                    CreateDate = DateTime.Now,
+                                                                    UpdateDate = DateTime.Now,
+                                                                    TradeMonth = DateTime.Now.ToString("yyyyMM"), //交易月
+                                                                    TradeDate = DateTime.Now, //达标日期
+                                                                    UserId = puser.Id, //创客
+                                                                    BrandId = pos.BrandId, //品牌
+                                                                    RewardType = 2, //奖励类型
+                                                                    CreditTradeAmt = pos.CreditTrade, //贷记卡交易总金额
+                                                                    DebitTradeAmt = pos.DebitCardTrade, //借记卡交易总金额
+                                                                    CreditRewardAmount = Prize, //贷记卡交易奖励金额
+                                                                    RewardDesc = "开机奖励", //奖励描述
+                                                                    TopUserId = pTopUserId, //顶级创客
+                                                                });
+                                                                string IdBrand = puser.Id + "_" + pos.BrandId;
+                                                                UserMachineData userData = db.UserMachineData.FirstOrDefault(m => m.IdBrand == IdBrand);
+                                                                if (userData == null)
+                                                                {
+                                                                    userData = db.UserMachineData.Add(new UserMachineData()
+                                                                    {
+                                                                        IdBrand = IdBrand,
+                                                                    }).Entity;
+                                                                    db.SaveChanges();
+                                                                }
+                                                                userData.OpenProfit += Prize;
+                                                                db.SaveChanges();
+                                                                //账户入库
+                                                                UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == puser.Id);
+                                                                if (account == null)
+                                                                {
+                                                                    account = db.UserAccount.Add(new UserAccount()
+                                                                    {
+                                                                        Id = puser.Id,
+                                                                        UserId = puser.Id,
+                                                                    }).Entity;
+                                                                    db.SaveChanges();
+                                                                }
+                                                                //收支明细入库
+                                                                decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                                                                decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                                                                decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                                                                account.BalanceAmount += Prize;
+                                                                account.TotalAmount += Prize;
+                                                                decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                                                                decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                                                                decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                                                                UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                                                                {
+                                                                    CreateDate = DateTime.Now,
+                                                                    UpdateDate = DateTime.Now,
+                                                                    UserId = puser.Id, //创客
+                                                                    ChangeType = 50, //变动类型
+                                                                    ProductType = pos.BrandId, //产品类型
+                                                                    ChangeAmount = Prize, //变更金额
+                                                                    BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                                                    AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                                                    BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                                                    AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                                                    BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                                                    AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                                                }).Entity;
+                                                                db.SaveChanges();
+
+                                                                string dateString = DateTime.Now.ToString("yyyyMMdd");
+                                                                string monthString = DateTime.Now.ToString("yyyyMM");
+                                                                // 开机奖励列表
+                                                                List<string> dates = RedisDbconn.Instance.GetList<string>("OpenRewardDay:" + puser.Id + ":" + pos.BrandId);
+                                                                if (!dates.Contains(dateString))
+                                                                {
+                                                                    RedisDbconn.Instance.AddList("OpenRewardDay:" + puser.Id + ":" + pos.BrandId, dateString);
+                                                                }
+                                                                RedisDbconn.Instance.AddNumber("OpenRewardAmt:" + puser.Id + ":" + pos.BrandId + ":" + dateString, Prize);
+
+                                                                List<string> months = RedisDbconn.Instance.GetList<string>("OpenRewardMonth:" + puser.Id + ":" + pos.BrandId);
+                                                                if (!months.Contains(monthString))
+                                                                {
+                                                                    RedisDbconn.Instance.AddList("OpenRewardMonth:" + puser.Id + ":" + pos.BrandId, monthString);
+                                                                }
+                                                                RedisDbconn.Instance.AddNumber("OpenRewardAmt:" + puser.Id + ":" + pos.BrandId + ":" + monthString, Prize);
+
+                                                                // 开机奖励详情
+                                                                RedisDbconn.Instance.AddList("OpenRewardDetail:" + puser.Id + ":" + pos.BrandId + ":" + dateString, detail);
+
+                                                                Prize = 0;
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                        }
+                                        // }
+                                    }
+                                }
+                            }
+                        }
+                        db.Dispose();
+                    }
+                    catch(Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "实时获取开机奖励异常");
+                    }
+                }
+                else
+                {
+                    Thread.Sleep(5000);
+                }
+            }
+        }
+
+        public void dosomething42(string date)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            DateTime yesterday = DateTime.Parse(date + " 00:00:00");
+            DateTime today = DateTime.Parse(DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00");
+            List<PosMerchantInfo> merList = db.PosMerchantInfo.Where(m => m.ActiveStatus == 1 && m.MerStandardDate >= yesterday && m.MerStandardDate < today && !string.IsNullOrEmpty(m.SeoKeyword) && m.SeoKeyword != "0").ToList();
+            foreach (PosMerchantInfo merchant in merList)
+            {
+                MachineForMerNo forMerNo = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == merchant.MerchantNo) ?? new MachineForMerNo();
+                PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == forMerNo.SnId) ?? new PosMachinesTwo();
+                if (pos.ActivationTime > DateTime.Now.AddDays(-20) && pos.CreditTrade >= 1000)
+                {
+                    decimal ActPrize = decimal.Parse(function.CheckNum(merchant.SeoKeyword));
+                    if (ActPrize > 0)
+                    {
+                        // PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && !string.IsNullOrEmpty(m.MerIdcardNo));
+                        // PosMerchantOtherInfo otherInfo = db.PosMerchantOtherInfo.FirstOrDefault(m => m.CertId == merchant.MerIdcardNo && m.PrizeFlag2 == 0);
+                        // if (otherInfo != null)
+                        // {
+                        //     otherInfo.PrizeFlag2 = 1;
+                        //     db.SaveChanges();
+                        // 从机具所属人上级开始分开机奖励
+                        Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId);
+                        if (user != null)
+                        {
+                            if (!string.IsNullOrEmpty(user.ParentNav))
+                            {
+                                decimal Prize = 20;
+                                string[] ParentNavs = user.ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                                for (int i = ParentNavs.Length - 1; i >= 0; i--)
+                                {
+                                    int UserId = int.Parse(ParentNavs[i]);
+                                    Users puser = db.Users.FirstOrDefault(m => m.Id == UserId && m.AuthFlag == 1);
+                                    if (puser != null && Prize > 0)
+                                    {
+                                        int machineCount = db.PosMachinesTwo.Count(m => m.BuyUserId == puser.Id && m.PosSnType == 0 && m.ActivationState == 0); //判断是否拥有3台兑换机
+                                        int ActiveCount = db.PosMachinesTwo.Count(m => m.BuyUserId == puser.Id && m.ActivationState == 1); //判断是否拥有3台激活机(不限购买或赠送)
+                                        int couponCount = db.PosCoupons.Count(m => m.UserId == puser.Id && m.IsUse == 0); //判断是否拥有3张券
+                                        // int BigCount = db.PosMachinesTwo.Count(m => m.UserId == puser.Id && m.BrandId == 3); //判断是否拥有2台大机
+                                        // int BigActiveCount = db.PosMachinesTwo.Count(m => m.UserId == puser.Id && m.ActivationState == 1 && m.BrandId == 3); //判断是否拥有2台激活大机(不限购买或赠送)
+                                        if (machineCount + ActiveCount + couponCount >= 3)
+                                        {
+                                            int pTopUserId = 0;
+                                            if (!string.IsNullOrEmpty(puser.ParentNav))
+                                            {
+                                                pTopUserId = int.Parse(puser.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
+                                            }
+                                            Users machineUser = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new Users();
+                                            OpenRewardDetail detail = db.OpenRewardDetail.Add(new OpenRewardDetail()
+                                            {
+                                                CreateDate = DateTime.Now,
+                                                UpdateDate = DateTime.Now,
+                                                TradeMonth = yesterday.ToString("yyyyMM"), //交易月
+                                                TradeDate = yesterday, //达标日期
+                                                UserId = puser.Id, //创客
+                                                BrandId = pos.BrandId, //品牌
+                                                ProductName = RelationClass.GetKqProductsInfo(pos.BrandId), //产品名称
+                                                MerchantId = pos.BindMerchantId, //商户
+                                                DirectUserId = merchant.UserId, //商户直属人
+                                                SnNo = pos.PosSn, //SN号
+                                                MerNo = merchant.KqMerNo, //渠道商户号
+                                                SnType = pos.PosSnType, //机具类型
+                                                StandardDate = pos.ActivationTime, //商户的激活日期
+                                                SnStoreId = pos.StoreId, //SN仓库
+                                                MerBuddyType = puser.MerchantType, //商户创客类型
+                                                RewardType = 1, //奖励类型 1-开机直接奖励,2-开机间接奖励
+                                                RewardTips = "开机奖励", //奖励描述
+                                                CreditTradeAmt = pos.CreditTrade, //贷记卡交易总金额
+                                                DebitTradeAmt = pos.DebitCardTrade, //借记卡交易总金额
+                                                CreditRewardAmount = Prize, //贷记卡交易奖励金额
+                                                RewardDesc = "开机奖励", //奖励描述
+                                                TopUserId = pTopUserId, //顶级创客
+                                                SeoTitle = machineUser.RealName,
+                                            }).Entity;
+                                            db.OpenReward.Add(new OpenReward()
+                                            {
+                                                CreateDate = DateTime.Now,
+                                                UpdateDate = DateTime.Now,
+                                                TradeMonth = yesterday.ToString("yyyyMM"), //交易月
+                                                TradeDate = DateTime.Now, //达标日期
+                                                UserId = puser.Id, //创客
+                                                BrandId = pos.BrandId, //品牌
+                                                RewardType = 2, //奖励类型
+                                                CreditTradeAmt = pos.CreditTrade, //贷记卡交易总金额
+                                                DebitTradeAmt = pos.DebitCardTrade, //借记卡交易总金额
+                                                CreditRewardAmount = Prize, //贷记卡交易奖励金额
+                                                RewardDesc = "开机奖励", //奖励描述
+                                                TopUserId = pTopUserId, //顶级创客
+                                            });
+                                            string IdBrand = puser.Id + "_" + pos.BrandId;
+                                            UserMachineData userData = db.UserMachineData.FirstOrDefault(m => m.IdBrand == IdBrand);
+                                            if (userData == null)
+                                            {
+                                                userData = db.UserMachineData.Add(new UserMachineData()
+                                                {
+                                                    IdBrand = IdBrand,
+                                                }).Entity;
+                                                db.SaveChanges();
+                                            }
+                                            userData.OpenProfit += Prize;
+                                            db.SaveChanges();
+                                            //账户入库
+                                            UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == puser.Id);
+                                            if (account == null)
+                                            {
+                                                account = db.UserAccount.Add(new UserAccount()
+                                                {
+                                                    Id = puser.Id,
+                                                    UserId = puser.Id,
+                                                }).Entity;
+                                                db.SaveChanges();
+                                            }
+                                            //收支明细入库
+                                            decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                                            decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                                            decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                                            account.BalanceAmount += Prize;
+                                            account.TotalAmount += Prize;
+                                            decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                                            decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                                            decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                                            UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                                            {
+                                                CreateDate = DateTime.Now,
+                                                UpdateDate = DateTime.Now,
+                                                UserId = puser.Id, //创客
+                                                ChangeType = 50, //变动类型
+                                                ProductType = pos.BrandId, //产品类型
+                                                ChangeAmount = Prize, //变更金额
+                                                BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                                AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                                BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                                AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                                BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                                AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                            }).Entity;
+                                            db.SaveChanges();
+
+                                            string dateString = yesterday.ToString("yyyyMMdd");
+                                            string monthString = yesterday.ToString("yyyyMM");
+                                            // 开机奖励列表
+                                            List<string> dates = RedisDbconn.Instance.GetList<string>("OpenRewardDay:" + puser.Id + ":" + pos.BrandId);
+                                            if (!dates.Contains(dateString))
+                                            {
+                                                RedisDbconn.Instance.AddList("OpenRewardDay:" + puser.Id + ":" + pos.BrandId, dateString);
+                                            }
+                                            RedisDbconn.Instance.AddNumber("OpenRewardAmt:" + puser.Id + ":" + pos.BrandId + ":" + dateString, Prize);
+
+                                            List<string> months = RedisDbconn.Instance.GetList<string>("OpenRewardMonth:" + puser.Id + ":" + pos.BrandId);
+                                            if (!months.Contains(monthString))
+                                            {
+                                                RedisDbconn.Instance.AddList("OpenRewardMonth:" + puser.Id + ":" + pos.BrandId, monthString);
+                                            }
+                                            RedisDbconn.Instance.AddNumber("OpenRewardAmt:" + puser.Id + ":" + pos.BrandId + ":" + monthString, Prize);
+
+                                            // 开机奖励详情
+                                            RedisDbconn.Instance.AddList("OpenRewardDetail:" + puser.Id + ":" + pos.BrandId + ":" + dateString, detail);
+
+                                            Prize -= 10;
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                        // }
+                    }
+                }
+            }
+            db.Dispose();
+        }
+
+
+        // 4. 前一天的流量卡记录和匹配
+        public void ListenFluxRecord()
+        {
+            Thread th = new Thread(ListenFluxRecordD0);
+            th.IsBackground = true;
+            th.Start();
+        }
+        public void ListenFluxRecordD0()
+        {
+            while(true)
+            {
+                if(DateTime.Now.Hour > 0)
+                {
+                    CheckFluxForTrade();
+                }
+                Thread.Sleep(600000);
+            }
+        }
+        public void doFluxRecord()
+        {
+            function.WriteLog(DateTime.Now.ToString(), "执行流量费返佣");
+            SpModels.WebCMSEntities spdb = new SpModels.WebCMSEntities();
+            WebCMSEntities db = new WebCMSEntities();
+            DateTime start = DateTime.Now.AddDays(-20);
+            List<SpModels.TradeFluxRecord> trades = spdb.TradeFluxRecord.Where(m => m.CreateDate >= start && m.Status == 1).ToList();
+            foreach (SpModels.TradeFluxRecord trade in trades)
+            {
+                try
+                {
+                    string OrderNo = trade.TradeSerialNo; //单号
+                    DateTime TradeDate = trade.CreateDate.Value;
+                    string TradeMonth = TradeDate.ToString("yyyyMM");
+                    decimal FeeAmount = trade.FeeAmount; //流量费
+                    if (trade.ProductType == "1" || trade.ProductType == "4" || trade.ProductType == "6" || trade.ProductType == "8" || trade.ProductType == "9")
+                    {
+                        FeeAmount = FeeAmount / 100;
+                    }
+                    string TradeSnNo = trade.TradeSnNo; //机具SN
+                    decimal FluxProfit = 0;
+                    if (trade.ProductType == "1" && FeeAmount == 60)
+                    {
+                        FluxProfit = 24;
+                    }
+                    else if (trade.ProductType == "7" && FeeAmount == 46)
+                    {
+                        FluxProfit = 10;
+                    }
+                    else if (trade.ProductType != "1" && FeeAmount == 48)
+                    {
+                        FluxProfit = 12;
+                    }
+                    else if (trade.ProductType != "1" && FeeAmount == 60)
+                    {
+                        FluxProfit = 24;
+                    }
+                    if (FluxProfit > 0)
+                    {
+                        MachineForSnNo forSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == TradeSnNo) ?? new MachineForSnNo();
+                        PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == forSnNo.SnId) ?? new PosMachinesTwo();
+                        // PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId && m.Sort == 1);
+                        PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId);
+                        if (merchant != null && pos.BrandId != 6)
+                        {
+                            bool checkExist = db.FluxProfitDetail.Any(m => m.MerNo == merchant.KqMerNo);
+                            if (!checkExist && decimal.Parse(function.CheckNum(pos.SeoKeyword)) > 0)
+                            {
+                                Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new Users();
+                                int GetUserId = user.Id;
+                                int TopUserId = 0;
+                                string ParentNav = user.ParentNav;
+                                if (!string.IsNullOrEmpty(ParentNav))
+                                {
+                                    string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                                    if (ParentNavList.Length > 1)
+                                    {
+                                        TopUserId = int.Parse(ParentNavList[1]);
+                                    }
+                                    else if (ParentNavList.Length == 1)
+                                    {
+                                        TopUserId = int.Parse(ParentNavList[0]);
+                                    }
+                                }
+                                FluxProfitSummary fluxProfit = db.FluxProfitSummary.FirstOrDefault(m => m.UserId == GetUserId && m.BrandId == pos.BrandId && m.TradeMonth == TradeMonth);
+                                if (fluxProfit == null)
+                                {
+                                    fluxProfit = db.FluxProfitSummary.Add(new FluxProfitSummary()
+                                    {
+                                        CreateDate = DateTime.Now,
+                                        UpdateDate = DateTime.Now,
+                                        UserId = GetUserId, //创客
+                                        BrandId = pos.BrandId,
+                                        TopUserId = TopUserId, //顶级创客
+                                        TradeMonth = TradeMonth, //交易月
+                                        MerUserType = user.MerchantType, //商户创客类型
+                                        Remark = "流量卡分佣", //备注
+                                    }).Entity;
+                                    db.SaveChanges();
+                                }
+                                fluxProfit.FluxProfitAmt += FluxProfit; //流量分润总金额
+                                db.FluxProfitDetail.Add(new FluxProfitDetail()
+                                {
+                                    CreateDate = DateTime.Now,
+                                    UpdateDate = DateTime.Now,
+                                    RecordNo = OrderNo, //单号
+                                    TradeDate = TradeDate.ToString("yyyyMMdd"), //交易日期
+                                    TradeTime = TradeDate.ToString("HHmmss"), //交易时间
+                                    TradeMonth = TradeMonth, //交易月
+                                    UserId = GetUserId, //创客
+                                    MerchantId = pos.BindMerchantId, //商户
+                                    MerchantUserId = pos.UserId, //商户直属人
+                                    MerNo = merchant.KqMerNo, //渠道商户编号
+                                    SnNo = pos.PosSn, //渠道SN号
+                                    FluxOrderNo = OrderNo, //流量扣费单号
+                                    TradeOrderNo = OrderNo, //交易流水号
+                                    TradeAmt = trade.TradeAmount, //商户交易额
+                                    FluxFeeAmt = FeeAmount, //流量费
+                                    FluxProfitAmt = FluxProfit, //流量分润总金额
+                                    PosType = pos.PosSnType.ToString(), //POS类型
+                                    Remark = "流量卡分佣", //备注
+                                    BrandId = pos.BrandId, //品牌
+                                    TopUserId = TopUserId, //顶级创客
+                                    MerUserType = user.MerchantType, //商户创客类型
+                                });
+                                string IdBrand = user.Id + "_" + pos.BrandId;
+                                UserMachineData userData = db.UserMachineData.FirstOrDefault(m => m.IdBrand == IdBrand);
+                                if (userData == null)
+                                {
+                                    userData = db.UserMachineData.Add(new UserMachineData()
+                                    {
+                                        IdBrand = IdBrand,
+                                    }).Entity;
+                                    db.SaveChanges();
+                                }
+                                userData.FluxProfit += FluxProfit;
+                                db.SaveChanges();
+                                UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == GetUserId);
+                                if (account == null)
+                                {
+                                    account = db.UserAccount.Add(new UserAccount()
+                                    {
+                                        Id = GetUserId,
+                                        UserId = GetUserId,
+                                    }).Entity;
+                                    db.SaveChanges();
+                                }
+                                decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
+                                decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
+                                decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
+                                account.BalanceAmount += FluxProfit;
+                                account.TotalAmount += FluxProfit;
+                                decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
+                                decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
+                                decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
+                                UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
+                                {
+                                    CreateDate = DateTime.Now,
+                                    UpdateDate = DateTime.Now,
+                                    UserId = GetUserId, //创客
+                                    ChangeType = 60, //变动类型
+                                    ProductType = pos.BrandId, //产品类型
+                                    ChangeAmount = FluxProfit, //变更金额
+                                    BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
+                                    AfterTotalAmount = AfterTotalAmount, //变更后总金额
+                                    BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
+                                    AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
+                                    BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
+                                    AfterBalanceAmount = AfterBalanceAmount, //变更后余额
+                                }).Entity;
+                                db.SaveChanges();
+                            }
+                            SpModels.TradeFluxRecord edit = spdb.TradeFluxRecord.FirstOrDefault(m => m.Id == trade.Id);
+                            if (edit != null)
+                            {
+                                edit.Status = 2;
+                                spdb.SaveChanges();
+                            }
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\n$" + trade.Id + "$\n" + ex.ToString(), "流量卡分佣异常");
+                }
+            }
+            spdb.Dispose();
+            db.Dispose();
+            function.WriteLog(DateTime.Now.ToString() + "\n", "执行流量费返佣");
+        }
+        public void CheckFluxForTrade()
+        {
+            function.WriteLog(DateTime.Now.ToString(), "扫描交易记录中的流量费");
+            SpModels.WebCMSEntities spdb = new SpModels.WebCMSEntities();
+            DateTime start = DateTime.Now.AddDays(-20);
+            int StartId = int.Parse(function.CheckInt(function.ReadInstance("/SycnSp/TradeRecordId.txt")));
+            List<string> BrandIds = new List<string>();
+            BrandIds.Add("1");
+            BrandIds.Add("10");
+            BrandIds.Add("12");
+            var list = spdb.TradeRecord.Select(m => new { m.Id, m.CreateDate, m.ProductType, m.Status }).Where(m => m.Id >= StartId && m.Status == 2 && m.CreateDate > start && BrandIds.Contains(m.ProductType)).OrderBy(m => m.CreateDate);
+            foreach (var sub in list.ToList())
+            {
+                try
+                {
+                    SpModels.TradeRecord trade = spdb.TradeRecord.FirstOrDefault(m => m.Id == sub.Id);
+                    if (trade != null)
+                    {
+                        if(trade.ProductType == "1") //金控
+                        {
+                            string content = trade.SeoDescription;
+                            if (!string.IsNullOrEmpty(content))
+                            {
+                                content = System.Web.HttpUtility.UrlDecode(content);
+                                JsonData jsonObj = JsonMapper.ToObject(content);
+                                decimal terminalDataFlowFee = decimal.Parse(function.CheckNum(jsonObj["terminalDataFlowFee"].ToString()));
+                                if (terminalDataFlowFee > 0)
+                                {
+                                    spdb.TradeFluxRecord.Add(new SpModels.TradeFluxRecord()
+                                    {
+                                        SeoDescription = trade.TradeSerialNo,
+                                        FeeAmount = terminalDataFlowFee,
+                                        TradeSerialNo = function.MD5_16(trade.TradeSerialNo),
+                                        CreateDate = trade.CreateDate,
+                                        TradeSnNo = trade.TradeSnNo,
+                                        ProductType = trade.ProductType,
+                                        Status = 1,
+                                    });
+                                    spdb.SaveChanges();
+                                }
+                            }
+                        }
+                        else if(trade.ProductType == "10" || trade.ProductType == "12") //10联动、12盒易付
+                        {
+                            if (trade.DigAmt > 0)
+                            {
+                                spdb.TradeFluxRecord.Add(new SpModels.TradeFluxRecord()
+                                {
+                                    SeoDescription = trade.TradeSerialNo,
+                                    FeeAmount = trade.DigAmt,
+                                    TradeSerialNo = function.MD5_16(trade.TradeSerialNo),
+                                    CreateDate = trade.CreateDate,
+                                    TradeSnNo = trade.TradeSnNo,
+                                    ProductType = trade.ProductType,
+                                    Status = 1,
+                                });
+                                spdb.SaveChanges();
+                            }
+                        }
+                        trade.Status = 3;
+                        spdb.SaveChanges();
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\n$" + sub.Id + "$\n" + ex.ToString(), "扫描交易记录中的流量费异常");
+                }
+            }
+            spdb.Dispose();
+            function.WriteLog(DateTime.Now.ToString() + "\n", "扫描交易记录中的流量费");
+
+            doFluxRecord();
+        }
+
+
+
+
+
+
+        // 每天统计头一天的交易额
+        public void StartEverDay(string date)
+        {
+            string TradeMonth = DateTime.Now.ToString("yyyyMM");
+            if(DateTime.Now.Day == 1)
+            {
+                TradeMonth = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
+            }
+            else if(DateTime.Now.Day == 2)
+            {
+                CustomerSqlConn.op("update Users set ThisMonthTrade=0 where ThisMonthTrade>0", MysqlConn.SqlConnStr);
+            }
+            DataTable list = CustomerSqlConn.dtable("select UserId,sum(HelpNonDirectTradeAmt+HelpNonDirectDebitTradeAmt+NotHelpNonDirectTradeAmt+NotHelpNonDirectDebitTradeAmt+ProfitNonDirectTradeAmt+ProfitNonDirectDebitTradeAmt) from (select UserId,HelpNonDirectTradeAmt,HelpNonDirectDebitTradeAmt,NotHelpNonDirectTradeAmt,NotHelpNonDirectDebitTradeAmt,ProfitNonDirectTradeAmt,ProfitNonDirectDebitTradeAmt from TradeDaySummary where Id>=9790000 and TradeMonth='" + TradeMonth + "' and SeoTitle='team' and UserId>0) tb group by UserId", MysqlConn.SqlConnStr);
+            foreach (DataRow dr in list.Rows)
+            {
+                string UserId = dr["UserId"].ToString();
+                string ThisMonthTrade = dr[1].ToString();
+                CustomerSqlConn.op("update Users set ThisMonthTrade=" + ThisMonthTrade + " where Id=" + UserId, MysqlConn.SqlConnStr);
+            }
+            // Thread th = new Thread(StatTradeAmountEverDay);
+            // th.IsBackground = true;
+            // th.Start(date);
+        }
+        public void StatTradeAmountEverDay(object sender)
+        {
+            string date = sender.ToString();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "执行昨天交易额日志");
+            WebCMSEntities db = new WebCMSEntities();
+            try
+            {
+                string TradeDate = date.Replace("-", "");
+                string TradeMonth = TradeDate.Substring(0, 6);
+                string start = date + " 00:00:00";
+                string end = DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00";
+                string startId = "0", endId = "9999999999";
+                List<string> uids = new List<string>();
+                DataTable startDt = OtherMySqlConn.dtable("select min(Id) from TradeRecord where CreateDate>='" + start + "'");
+                if (startDt.Rows.Count > 0)
+                {
+                    startId = startDt.Rows[0][0].ToString();
+                }
+                function.WriteLog(startId + "\n\n", "执行昨天交易额日志");
+                // DataTable endDt = OtherMySqlConn.dtable("select max(Id) from TradeRecord where CreateDate<'" + end + "'");
+                // if (endDt.Rows.Count > 0)
+                // {
+                //     endId = endDt.Rows[0][0].ToString();
+                // }
+                DataTable userDt = OtherMySqlConn.dtable("select Id,ParentNav from Users where Id in (select DISTINCT UserId from TradeRecord where Id>=" + startId + " and Id<=" + endId + " and CreateDate>='" + start + "' and CreateDate<'" + end + "')");
+                function.WriteLog("交易人数:" + userDt.Rows.Count + "\n\n", "执行昨天交易额日志");
+                foreach (DataRow userDr in userDt.Rows)
+                {
+                    int UserId = int.Parse(userDr["Id"].ToString());
+                    string ParentNav = userDr["ParentNav"].ToString();
+                    function.WriteLog(UserId + ":" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行昨天交易额日志");
+                    DataTable selfdt = OtherMySqlConn.dtable("select BrandId,BankCardType,QrPayFlag,sum(TradeAmount) from TradeRecord where Id>=" + startId + " and Id<=" + endId + " and CreateDate>='" + start + "' and CreateDate<'" + end + "' and UserId=" + UserId + " group by BrandId,BankCardType,QrPayFlag");
+                    function.WriteLog(UserId + ":" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行昨天交易额日志");
+                    foreach (DataRow selfDr in selfdt.Rows)
+                    {
+                        int BrandId = int.Parse(selfDr["BrandId"].ToString());
+                        int BankCardType = int.Parse(selfDr["BankCardType"].ToString());
+                        int QrPayFlag = int.Parse(selfDr["QrPayFlag"].ToString());
+                        decimal TradeAmount = decimal.Parse(selfDr[3].ToString());
+                        UserTradeDaySummary selfStat = db.UserTradeDaySummary.FirstOrDefault(m => m.UserId == UserId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.BrandId == BrandId && m.QueryCount == QrPayFlag && m.SeoTitle == "self");
+                        if (selfStat == null)
+                        {
+                            selfStat = db.UserTradeDaySummary.Add(new UserTradeDaySummary()
+                            {
+                                UserId = UserId,
+                                TradeMonth = TradeMonth,
+                                TradeDate = TradeDate,
+                                BrandId = BrandId,
+                                QueryCount = QrPayFlag,
+                                SeoTitle = "self",
+                            }).Entity;
+                            db.SaveChanges();
+                        }
+                        if (BankCardType == 0)
+                        {
+                            selfStat.DirectDebitTradeAmt += TradeAmount;
+                        }
+                        else if (BankCardType != 0)
+                        {
+                            selfStat.DirectTradeAmt += TradeAmount;
+                        }
+                        db.SaveChanges();
+                    }
+                    if (!string.IsNullOrEmpty(ParentNav))
+                    {
+                        ParentNav += "," + UserId + ",";
+                        string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                        foreach (string NavUserIdString in ParentNavList)
+                        {
+                            if (!uids.Contains(NavUserIdString + start))
+                            {
+                                uids.Add(NavUserIdString + start);
+                                int NavUserId = int.Parse(NavUserIdString);
+                                function.WriteLog(NavUserId + ":team:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行昨天交易额日志");
+                                DataTable teamDt = OtherMySqlConn.dtable("select BrandId,BankCardType,QrPayFlag,sum(TradeAmount) from TradeRecord where Id>=" + startId + " and Id<=" + endId + " and CreateDate>='" + start + "' and CreateDate<'" + end + "' and UserId in (select Id from Users where ParentNav like '%," + NavUserId + ",%' or Id=" + NavUserId + ") group by BrandId,BankCardType,QrPayFlag");
+                                function.WriteLog(NavUserId + ":team:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行昨天交易额日志");
+                                foreach (DataRow teamDr in teamDt.Rows)
+                                {
+                                    int BrandId = int.Parse(teamDr["BrandId"].ToString());
+                                    int BankCardType = int.Parse(teamDr["BankCardType"].ToString());
+                                    int QrPayFlag = int.Parse(teamDr["QrPayFlag"].ToString());
+                                    decimal TradeAmount = decimal.Parse(teamDr[3].ToString());
+                                    UserTradeDaySummary teamStat = db.UserTradeDaySummary.FirstOrDefault(m => m.UserId == NavUserId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.BrandId == BrandId && m.QueryCount == QrPayFlag && m.SeoTitle == "team");
+                                    if (teamStat == null)
+                                    {
+                                        teamStat = db.UserTradeDaySummary.Add(new UserTradeDaySummary()
+                                        {
+                                            UserId = NavUserId,
+                                            TradeMonth = TradeMonth,
+                                            TradeDate = TradeDate,
+                                            BrandId = BrandId,
+                                            QueryCount = QrPayFlag,
+                                            SeoTitle = "team",
+                                        }).Entity;
+                                        db.SaveChanges();
+                                    }
+                                    if (BankCardType == 0)
+                                    {
+                                        teamStat.NonDirectDebitTradeAmt += TradeAmount;
+                                    }
+                                    else if (BankCardType != 0)
+                                    {
+                                        teamStat.NonDirectTradeAmt += TradeAmount;
+                                    }
+                                    db.SaveChanges();
+                                }
+                            }
+                        }
+                    }
+                }
+                if (DateTime.Now.Day >= 2)
+                {
+                    Thread.Sleep(5000);
+                    DataTable list = OtherMySqlConn.dtable("select UserId,sum(NonDirectTradeAmt) from UserTradeDaySummary where TradeDate='" + TradeDate + "' GROUP BY UserId");
+                    foreach (DataRow dr in list.Rows)
+                    {
+                        string UserId = dr["UserId"].ToString();
+                        string ThisMonthTrade = dr[1].ToString();
+                        OtherMySqlConn.op("update Users set ThisMonthTrade=ThisMonthTrade+" + ThisMonthTrade + " where Id=" + UserId);
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "统计昨天的交易额异常");
+            }
+            db.Dispose();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行昨天交易额日志");
+
+            StatMerchantTrade(date);
+        }
+
+
+
+
+
+
+
+
+
+        //统计商户交易额
+        private void StatMerchantTrade(string date)
+        {
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "执行商户交易额日志");
+            // WebCMSEntities db = new WebCMSEntities();
+            try
+            {
+                string start = date + " 00:00:00";
+                string end = DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00";
+                CustomerSqlConn.op("insert into PosMerchantTradeSummay (MerchantId,BrandId,TradeDate,TradeMonth,TradeAmount,CreateDate)  select *,now() from (select MerchantId,BrandId,DATE_FORMAT(CreateDate,'%Y%m%d') as TradeDate,DATE_FORMAT(CreateDate,'%Y%m') as TradeMonth,sum(TradeAmount) as TradeAmount from TradeRecord where Id>=13000000 and CreateDate>='" + start + "' and CreateDate<'" + end + "' and ActStatus=1 group by MerchantId,BrandId,DATE_FORMAT(CreateDate,'%Y%m%d'),TradeDate,DATE_FORMAT(CreateDate,'%Y%m') order by MerchantId,BrandId,DATE_FORMAT(CreateDate,'%Y%m%d')) tb", MysqlConn.SqlConnStr);
+                RedisDbconn.Instance.Clear("PosMerchantAmount:*");
+                RedisDbconn.Instance.Clear("PosMerchantAmount:*:" + date.Replace("-", "").Substring(0, 6)); //商户当月交易
+                RedisDbconn.Instance.Clear("PosMerchantAmount:*:" + date.Replace("-", "")); //商户当日交易
+                // foreach (DataRow selfDr in selfdt.Rows)
+                // {
+                //     int BrandId = int.Parse(selfDr["BrandId"].ToString());
+                //     int MerchantId = int.Parse(selfDr["MerchantId"].ToString());
+                //     string TradeDate = selfDr["TradeDate"].ToString();
+                //     TradeDate = TradeDate.Replace("-", "");
+                //     string TradeMonth = TradeDate.Substring(0, 6);
+                //     decimal TradeAmount = decimal.Parse(selfDr["TradeAmount"].ToString());
+                //     PosMerchantTradeSummay merStat = db.PosMerchantTradeSummay.FirstOrDefault(m => m.MerchantId == MerchantId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.BrandId == BrandId);
+                //     if (merStat == null)
+                //     {
+                //         merStat = db.PosMerchantTradeSummay.Add(new PosMerchantTradeSummay()
+                //         {
+                //             MerchantId = MerchantId,
+                //             TradeMonth = TradeMonth,
+                //             TradeDate = TradeDate,
+                //             BrandId = BrandId,
+                //         }).Entity;
+                //         db.SaveChanges();
+                //     }
+                //     merStat.TradeAmount += TradeAmount;
+                //     db.SaveChanges();                    
+                // }
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "统计商户的交易额");
+            }
+            // db.Dispose();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行商户交易额日志");
+        }
+
+
+        // 5. 创客升级
+        public void StatUserLevel()
+        {
+            Thread th = new Thread(StatUserLevelDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+        public void StatUserLevelDo()
+        {
+            while (true)
+            {
+                if(DateTime.Now.Day < 15 && DateTime.Now.Hour >= 0)
+                {
+                    string Month = DateTime.Now.AddDays(-1).ToString("yyyy-MM");
+                    string flag = function.ReadInstance("/ProfitFlag/" + Month + ".txt");
+                    if (string.IsNullOrEmpty(flag))
+                    {
+                        function.WritePage("/ProfitFlag/", Month + ".txt", DateTime.Now.ToString("HH:mm:ss"));
+                        LogoutUserHelper.Instance.DoWorks(); //每月一号归档注销创客,把伞下创客归到注销创客的上级
+                        StatUserLevelStartNew();
+                    }
+                }
+                Thread.Sleep(600000);
+            }
+        }
+        public void StatUserLevelStart()
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            MpMainModels.WebCMSEntities mpmaindb = new MpMainModels.WebCMSEntities();
+            try
+            {
+                OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+                function.WriteLog(DateTime.Now.ToString(), "创客升级日志");
+                DateTime start = DateTime.Parse(DateTime.Now.AddMonths(-1).ToString("yyyy-MM") + "-01 00:00:00");
+                DateTime end = start.AddDays(1);
+                string TradeMonth = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
+                List<UserLevelSet> sets = db.UserLevelSet.ToList();
+                bool op = true;
+                int startid = 0;
+                while(op)
+                {
+                    var users = db.Users.Select(m => new { m.Id, m.AuthFlag }).Where(m => m.Id > startid && m.AuthFlag == 1).OrderBy(m => m.Id).Take(500).ToList();
+                    function.WriteLog(users.Count.ToString(), "创客升级日志");
+                    if(users.Count > 0)
+                    {
+                        foreach (var subuser in users)
+                        {
+                            Users user = db.Users.FirstOrDefault(m => m.Id == subuser.Id);
+                            if (user != null)
+                            {
+                                int BeforeLevel = user.UserLevel;
+                                int AfterLevel = 0;
+                                decimal TradeAmount = 0;
+                                //创客团队交易额
+                                bool check = db.TradeDaySummary.Any(m => m.UserId == user.Id && m.TradeMonth == TradeMonth && m.SeoTitle == "team");
+                                if (check)
+                                {
+                                    TradeAmount += db.TradeDaySummary.Where(m => m.UserId == user.Id && m.TradeMonth == TradeMonth && m.SeoTitle == "team").Sum(m => m.HelpNonDirectTradeAmt + m.HelpNonDirectDebitTradeAmt + m.NotHelpNonDirectTradeAmt + m.NotHelpNonDirectDebitTradeAmt + m.ProfitNonDirectTradeAmt + m.ProfitNonDirectDebitTradeAmt);
+                                }
+                                //助利宝团队交易额
+                                DataTable checkdt = OtherMySqlConn.dtable("SELECT SUM(TradeAmount) TradeAmount FROM HelpProfitMerTradeSummay WHERE (MerchantId IN(SELECT MerchantId FROM HelpProfitMerIds WHERE UserId IN(SELECT Id from Users WHERE ParentNav like '%," + user.Id + ",%' OR Id=" + user.Id + "))) AND TradeMonth=" + TradeMonth + "");
+                                if (checkdt.Rows.Count > 0)
+                                {
+                                    TradeAmount += decimal.Parse(function.CheckNum(checkdt.Rows[0]["TradeAmount"].ToString()));
+                                }
+                                //码牌团队交易额
+                                check = mpmaindb.UserAmountSummary.Any(m => m.UserId == user.Id && m.TradeMonth == TradeMonth && m.SeoTitle == "team");
+                                if (check)
+                                {
+                                    TradeAmount += mpmaindb.UserAmountSummary.Where(m => m.UserId == user.Id && m.TradeMonth == TradeMonth && m.SeoTitle == "team").Sum(m => m.TotalAmount);
+                                }
+                                UserLevelSet set = sets.FirstOrDefault(m => m.UpLevelGrowth <= TradeAmount && m.UpLevelIntegral > TradeAmount);
+                                if (set != null)
+                                {
+                                    AfterLevel = set.Id;
+                                }
+
+                                // K6以上计算小市场是否达标
+                                // 升级逻辑
+                                bool upFlag = true;
+                                if(AfterLevel > 5)
+                                {
+                                    DataTable dt = OtherMySqlConn.dtable("select UserId,sum(HelpNonDirectTradeAmt+NotHelpNonDirectTradeAmt+ProfitNonDirectTradeAmt+HelpNonDirectDebitTradeAmt+NotHelpNonDirectDebitTradeAmt+ProfitNonDirectDebitTradeAmt) from TradeDaySummary where UserId in (select Id from Users where ParentUserId=" + user.Id + ") and TradeMonth='" + TradeMonth + "' and SeoTitle='team' group by UserId order by sum(HelpNonDirectTradeAmt+NotHelpNonDirectTradeAmt+ProfitNonDirectTradeAmt+HelpNonDirectDebitTradeAmt+ProfitNonDirectDebitTradeAmt) desc");
+                                    int index = 0;
+                                    decimal TradeAmt = 0;
+                                    decimal BigTradeAmt = 0;
+                                    foreach(DataRow dr in dt.Rows)
+                                    {
+                                        index += 1;
+                                        if(index == 1)
+                                        {
+                                            BigTradeAmt = decimal.Parse(dr[1].ToString());
+                                        }
+                                        else if(index > 1)
+                                        {
+                                            TradeAmt += decimal.Parse(dr[1].ToString());
+                                        }
+                                    }
+                                    if(TradeAmt < 12000000 || BigTradeAmt < 30000000)
+                                    {
+                                        if(AfterLevel > BeforeLevel && BeforeLevel >= 5) //保级,只升不降
+                                        {
+                                            AfterLevel = BeforeLevel;
+                                        }
+                                        else if(AfterLevel > BeforeLevel && BeforeLevel < 5)
+                                        {
+                                            AfterLevel = 5;
+                                        }
+                                        else if(BeforeLevel > 5)
+                                        {
+                                            AfterLevel = 5;
+                                        }
+                                        else
+                                        {
+                                            upFlag = false;
+                                        }
+                                    }
+                                }
+                                if (AfterLevel > BeforeLevel && AfterLevel > 1 && upFlag)
+                                {
+                                    function.WriteLog("升级:" + user.Id.ToString() + BeforeLevel + "->" + AfterLevel, "创客升级日志");
+                                    user.UserLevel = AfterLevel;
+                                    DateTime checkTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00");
+                                    UserRank rank = db.UserRank.FirstOrDefault(m => m.CreateDate >= checkTime && m.UserId == user.Id);
+                                    if(rank == null)
+                                    {
+                                        db.UserRank.Add(new UserRank()
+                                        {
+                                            CreateDate = DateTime.Now,
+                                            UpdateDate = DateTime.Now,
+                                            UserId = user.Id, //创客
+                                            WhiteRank = BeforeLevel,
+                                            Rank = AfterLevel, //当前等级
+                                            StatYear = DateTime.Now.Year, //统计年份
+                                            StatMonth = DateTime.Now.Month, //统计月份
+                                            TradeAmt = TradeAmount, //团队交易总额
+                                            UpgradeFlag = 1, //升级标识
+                                            OperateDate = DateTime.Now, //操作时间
+                                            Status = 1,
+                                        });
+                                        db.SaveChanges();
+                                    }
+                                    else
+                                    {
+                                        rank.TradeAmt = TradeAmount;
+                                        rank.Rank = AfterLevel;
+                                        db.SaveChanges();
+                                    }
+                                }
+                                // 降级逻辑
+                                if(!upFlag && AfterLevel > 5)
+                                {
+                                    AfterLevel = 5;
+                                }
+                                if (AfterLevel < BeforeLevel && BeforeLevel > 1)
+                                {
+                                    function.WriteLog(user.MakerCode + "-" + user.RealName + ":K" + BeforeLevel + "->K" + AfterLevel, "创客降级日志");
+                                    user.UserLevel = AfterLevel;
+                                    DateTime checkTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00");
+                                    UserRank rank = db.UserRank.FirstOrDefault(m => m.CreateDate >= checkTime && m.UserId == user.Id);
+                                    if(rank == null)
+                                    {
+                                        db.UserRank.Add(new UserRank()
+                                        {
+                                            CreateDate = DateTime.Now,
+                                            UpdateDate = DateTime.Now,
+                                            UserId = user.Id, //创客
+                                            WhiteRank = BeforeLevel,
+                                            Rank = AfterLevel, //当前等级
+                                            StatYear = DateTime.Now.Year, //统计年份
+                                            StatMonth = DateTime.Now.Month, //统计月份
+                                            TradeAmt = TradeAmount, //团队交易总额
+                                            UpgradeFlag = 0, //升级标识
+                                            OperateDate = DateTime.Now, //操作时间
+                                            Status = 1,
+                                        });
+                                        db.SaveChanges();
+                                    }
+                                    else
+                                    {
+                                        rank.TradeAmt = TradeAmount;
+                                        rank.Rank = AfterLevel;
+                                        rank.Status = 1;
+                                        db.SaveChanges();
+                                    }
+                                }
+                            }
+                            startid = subuser.Id;
+                        }
+                        function.WriteLog(startid.ToString(), "创客升级日志");
+                    }
+                    else
+                    {
+                        op = false;
+                    }
+                }
+                function.WriteLog(DateTime.Now.ToString(), "创客升级日志");
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(ex.ToString(), "创客升级异常");
+            }
+            db.Dispose();
+            mpmaindb.Dispose();
+
+            RedisDbconn.Instance.AddList("DoTableEveryMonthQueue", "1");
+        }
+
+        public void StatUserLevelStartNew()
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            MpMainModels.WebCMSEntities mpmaindb = new MpMainModels.WebCMSEntities();
+            MpMainModels2.WebCMSEntities mpmaindb2 = new MpMainModels2.WebCMSEntities();
+            try
+            {
+                OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+                function.WriteLog(DateTime.Now.ToString(), "创客升级日志");
+                DateTime start = DateTime.Parse(DateTime.Now.AddMonths(-1).ToString("yyyy-MM") + "-01 00:00:00");
+                DateTime end = start.AddDays(1);
+                string TradeMonth = DateTime.Now.AddMonths(-1).ToString("yyyyMM");
+                List<UserLevelSet> sets = db.UserLevelSet.ToList();
+                bool op = true;
+                int startid = 138681;
+                while(op)
+                {
+                    var users = db.Users.Select(m => new { m.Id, m.AuthFlag }).Where(m => m.Id > startid && m.AuthFlag == 1).OrderBy(m => m.Id).Take(500).ToList();
+                    function.WriteLog(users.Count.ToString(), "创客升级日志");
+                    if(users.Count > 0)
+                    {
+                        foreach (var subuser in users)
+                        {
+                            Users user = db.Users.FirstOrDefault(m => m.Id == subuser.Id);
+                            if (user != null)
+                            {
+                                int BeforeLevel = user.UserLevel;
+                                int AfterLevel = 0;
+                                decimal TradeAmount = 0;
+                                //创客团队交易额
+                                bool check = db.TradeDaySummary.Any(m => m.UserId == user.Id && m.TradeMonth == TradeMonth && m.SeoTitle == "team");
+                                if (check)
+                                {
+                                    TradeAmount += db.TradeDaySummary.Where(m => m.UserId == user.Id && m.TradeMonth == TradeMonth && m.SeoTitle == "team").Sum(m => m.HelpNonDirectTradeAmt + m.HelpNonDirectDebitTradeAmt + m.NotHelpNonDirectTradeAmt + m.NotHelpNonDirectDebitTradeAmt + m.ProfitNonDirectTradeAmt + m.ProfitNonDirectDebitTradeAmt);
+                                }
+                                //助利宝团队交易额
+                                DataTable checkdt = OtherMySqlConn.dtable("SELECT SUM(TradeAmount) TradeAmount FROM HelpProfitMerTradeSummay WHERE (MerchantId IN(SELECT MerchantId FROM HelpProfitMerIds WHERE UserId IN(SELECT Id from Users WHERE ParentNav like '%," + user.Id + ",%' OR Id=" + user.Id + "))) AND TradeMonth=" + TradeMonth + "");
+                                if (checkdt.Rows.Count > 0)
+                                {
+                                    TradeAmount += decimal.Parse(function.CheckNum(checkdt.Rows[0]["TradeAmount"].ToString()));
+                                }
+                                //码牌团队交易额(直联)
+                                check = mpmaindb.UserAmountSummary.Any(m => m.UserId == user.Id && m.TradeMonth == TradeMonth && m.SeoTitle == "team");
+                                if (check)
+                                {
+                                    TradeAmount += mpmaindb.UserAmountSummary.Where(m => m.UserId == user.Id && m.TradeMonth == TradeMonth && m.SeoTitle == "team" && m.IsAct == 1).Sum(m => m.TotalAmount) * 4;
+                                }
+                                //码牌团队交易额(银联)
+                                check = mpmaindb2.UserAmountSummary.Any(m => m.UserId == user.Id && m.TradeMonth == TradeMonth && m.SeoTitle == "team");
+                                if (check)
+                                {
+                                    TradeAmount += mpmaindb2.UserAmountSummary.Where(m => m.UserId == user.Id && m.TradeMonth == TradeMonth && m.SeoTitle == "team" && m.IsAct == 1).Sum(m => m.TotalAmount) * 4;
+                                }
+                                //广电卡扶持期按1万/张计入职级
+                                check = db.UserTradeMonthSummary.Any(m => m.UserId == user.Id && m.TradeMonth == TradeMonth && m.SeoTitle == "team" && m.BrandId == 14);
+                                if (check)
+                                {
+                                    TradeAmount += db.UserTradeMonthSummary.Where(m => m.UserId == user.Id && m.TradeMonth == TradeMonth && m.SeoTitle == "team" && m.BrandId == 14).Sum(m => m.ActiveBuddyMerStatus) * 10000;
+                                }
+                                UserLevelSet set = sets.FirstOrDefault(m => m.UpLevelGrowth <= TradeAmount && m.UpLevelIntegral > TradeAmount);
+                                if (set != null)
+                                {
+                                    AfterLevel = set.Id;
+                                }
+
+                                // K6以上计算小市场是否达标
+                                // 升级逻辑
+                                bool upFlag = true;
+                                if(AfterLevel > 5)
+                                {
+                                    DataTable dt = OtherMySqlConn.dtable("select UserId,sum(HelpNonDirectTradeAmt+NotHelpNonDirectTradeAmt+ProfitNonDirectTradeAmt+HelpNonDirectDebitTradeAmt+NotHelpNonDirectDebitTradeAmt+ProfitNonDirectDebitTradeAmt) from TradeDaySummary where UserId in (select Id from Users where ParentUserId=" + user.Id + ") and TradeMonth='" + TradeMonth + "' and SeoTitle='team' group by UserId order by sum(HelpNonDirectTradeAmt+NotHelpNonDirectTradeAmt+ProfitNonDirectTradeAmt+HelpNonDirectDebitTradeAmt+ProfitNonDirectDebitTradeAmt) desc");
+                                    int index = 0;
+                                    decimal TradeAmt = 0;
+                                    decimal BigTradeAmt = 0;
+                                    foreach(DataRow dr in dt.Rows)
+                                    {
+                                        index += 1;
+                                        if(index == 1)
+                                        {
+                                            BigTradeAmt = decimal.Parse(dr[1].ToString());
+                                        }
+                                        else if(index > 1)
+                                        {
+                                            TradeAmt += decimal.Parse(dr[1].ToString());
+                                        }
+                                    }
+                                    if(TradeAmt < 12000000 || BigTradeAmt < 30000000)
+                                    {
+                                        if(AfterLevel > BeforeLevel && BeforeLevel >= 5) //保级,只升不降
+                                        {
+                                            AfterLevel = BeforeLevel;
+                                        }
+                                        else if(AfterLevel > BeforeLevel && BeforeLevel < 5)
+                                        {
+                                            AfterLevel = 5;
+                                        }
+                                        else if(BeforeLevel > 5)
+                                        {
+                                            AfterLevel = 5;
+                                        }
+                                        else
+                                        {
+                                            upFlag = false;
+                                        }
+                                    }
+                                }
+                                if (AfterLevel > BeforeLevel && AfterLevel > 0 && upFlag)
+                                {
+                                    function.WriteLog("升级:" + user.Id.ToString() + BeforeLevel + "->" + AfterLevel, "创客升级日志");
+                                    user.UserLevel = AfterLevel;
+                                    DateTime checkTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00");
+                                    UserRank rank = db.UserRank.FirstOrDefault(m => m.CreateDate >= checkTime && m.UserId == user.Id);
+                                    if(rank == null)
+                                    {
+                                        db.UserRank.Add(new UserRank()
+                                        {
+                                            CreateDate = DateTime.Now,
+                                            UpdateDate = DateTime.Now,
+                                            UserId = user.Id, //创客
+                                            WhiteRank = BeforeLevel,
+                                            Rank = AfterLevel, //当前等级
+                                            StatYear = DateTime.Now.Year, //统计年份
+                                            StatMonth = DateTime.Now.Month, //统计月份
+                                            TradeAmt = TradeAmount, //团队交易总额
+                                            UpgradeFlag = 1, //升级标识
+                                            OperateDate = DateTime.Now, //操作时间
+                                            Status = 1,
+                                        });
+                                        db.SaveChanges();
+                                    }
+                                    else
+                                    {
+                                        rank.TradeAmt = TradeAmount;
+                                        rank.Rank = AfterLevel;
+                                        db.SaveChanges();
+                                    }
+                                    UserRankWhite rankWhite = db.UserRankWhite.FirstOrDefault(m => m.Id == user.Id);
+                                    if(rankWhite != null)
+                                    {
+                                        if(Utils.Instance.GetUserLevel(user.Id) >= rankWhite.Rank)
+                                        {
+                                            user.Version = 0;
+                                            db.SaveChanges();
+                                        }
+                                    }
+                                }
+                                // 降级逻辑
+                                if(!upFlag && AfterLevel > 5)
+                                {
+                                    AfterLevel = 5;
+                                }
+                                // 如果是达标创客,只能降级到K1
+                                if(AfterLevel == 0 && Utils.Instance.IsStandardUser(user.Id))
+                                {
+                                    AfterLevel = 1;
+                                }
+                                if (AfterLevel < BeforeLevel && BeforeLevel > 0)
+                                {
+                                    function.WriteLog(user.MakerCode + "-" + user.RealName + ":K" + BeforeLevel + "->K" + AfterLevel, "创客降级日志");
+                                    user.UserLevel = AfterLevel;
+                                    DateTime checkTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00");
+                                    UserRank rank = db.UserRank.FirstOrDefault(m => m.CreateDate >= checkTime && m.UserId == user.Id);
+                                    if(rank == null)
+                                    {
+                                        db.UserRank.Add(new UserRank()
+                                        {
+                                            CreateDate = DateTime.Now,
+                                            UpdateDate = DateTime.Now,
+                                            UserId = user.Id, //创客
+                                            WhiteRank = BeforeLevel,
+                                            Rank = AfterLevel, //当前等级
+                                            StatYear = DateTime.Now.Year, //统计年份
+                                            StatMonth = DateTime.Now.Month, //统计月份
+                                            TradeAmt = TradeAmount, //团队交易总额
+                                            UpgradeFlag = 0, //升级标识
+                                            OperateDate = DateTime.Now, //操作时间
+                                            Status = 1,
+                                        });
+                                        db.SaveChanges();
+                                    }
+                                    else
+                                    {
+                                        rank.TradeAmt = TradeAmount;
+                                        rank.Rank = AfterLevel;
+                                        rank.Status = 1;
+                                        db.SaveChanges();
+                                    }
+                                    UserRankWhite rankWhite = db.UserRankWhite.FirstOrDefault(m => m.Id == user.Id);
+                                    if(rankWhite != null)
+                                    {
+                                        if(Utils.Instance.GetUserLevel(user.Id) < rankWhite.Rank)
+                                        {
+                                            user.Version = 3;
+                                            db.SaveChanges();
+                                        }
+                                    }
+                                }
+                            }
+                            startid = subuser.Id;
+                        }
+                        function.WriteLog(startid.ToString(), "创客升级日志");
+                    }
+                    else
+                    {
+                        op = false;
+                    }
+                }
+                //查找K0创客,如果商城下单购买一组机具券,则预设为K1
+                List<int> productIds = new List<int>();
+                productIds.Add(10);
+                productIds.Add(11);
+                op = true;
+                startid = 0;
+                while(op)
+                {
+                    var users = db.Users.Select(m => new { m.Id, m.AuthFlag, m.UserLevel }).Where(m => m.Id > startid && m.AuthFlag == 1 && m.UserLevel == 0).OrderBy(m => m.Id).Take(50).ToList();
+                    if(users.Count > 0)
+                    {
+                        foreach (var subuser in users)
+                        {
+                            bool hasOrder = db.Orders.Any(m => m.UserId == subuser.Id && m.Status > 0 && productIds.Contains(m.ProductId));
+                            if(hasOrder)
+                            {
+                                Utils.Instance.LeaderPreUserLevel(subuser.Id, 1, DateTime.Parse("2025-01-01 00:00:00"));
+                                db.UserRank.Add(new UserRank()
+                                {
+                                    CreateDate = DateTime.Now,
+                                    UpdateDate = DateTime.Now,
+                                    UserId = subuser.Id, //创客
+                                    WhiteRank = 0,
+                                    Rank = 1, //当前等级
+                                    StatYear = DateTime.Now.Year, //统计年份
+                                    StatMonth = DateTime.Now.Month, //统计月份
+                                    TradeAmt = 0, //团队交易总额
+                                    UpgradeFlag = 1, //升级标识
+                                    OperateDate = DateTime.Now, //操作时间
+                                    Status = 1,
+                                });
+                                Users user = db.Users.FirstOrDefault(m => m.Id == subuser.Id);
+                                if(user != null)
+                                {
+                                    user.Version = 3;
+                                }
+                                db.SaveChanges();
+                            }
+                        }
+                    }
+                    else
+                    {
+                        op = false;
+                    }
+                }
+                function.WriteLog(DateTime.Now.ToString(), "创客升级日志");
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(ex.ToString(), "创客升级异常");
+            }
+            db.Dispose();
+            mpmaindb.Dispose();
+            mpmaindb2.Dispose();
+
+            RedisDbconn.Instance.AddList("DoTableEveryMonthQueue", "1");
+        }
+
+
+        // 统计创客激活数
+        public void StartPosActNum()
+        {
+            Thread th = new Thread(StartPosActNumFor);
+            th.IsBackground = true;
+            th.Start();
+        }
+        public void StartPosActNumFor()
+        {
+            // DateTime end = DateTime.Parse("2022-06-15 00:00:00");
+            // DateTime check = DateTime.Parse("2022-06-14");
+            // while (check <= end)
+            // {
+            //     StartPosActNumDo(check.ToString("yyyy-MM-dd"));
+            //     check = check.AddDays(1);
+            // }
+            while (true)
+            {
+                if(DateTime.Now.Hour >= 2)
+                {
+                    StartPosActNumEverTime();
+                }
+                Thread.Sleep(100);
+            }
+        }
+        public void StartPosActNumDo(object sender)
+        {
+            string date = sender.ToString();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "执行创客激活数日志");
+            WebCMSEntities db = new WebCMSEntities();
+            try
+            {
+                string TradeDate = date.Replace("-", "");
+                string TradeMonth = TradeDate.Substring(0, 6);
+                string start = date + " 00:00:00";
+                string end = DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00";
+                List<string> uids = new List<string>();
+                DataTable userDt = OtherMySqlConn.dtable("select Id,ParentNav from Users where Id in (select DISTINCT BuyUserId from PosMachinesTwo where QueryCount=0 and ActivationState=1 and ActivationTime>='" + start + "' and ActivationTime<'" + end + "')");
+                function.WriteLog("人数:" + userDt.Rows.Count + "\n\n", "执行创客激活数日志");
+                foreach (DataRow userDr in userDt.Rows)
+                {
+                    int UserId = int.Parse(userDr["Id"].ToString());
+                    string ParentNav = userDr["ParentNav"].ToString();
+                    function.WriteLog(UserId + ":" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行创客激活数日志");
+                    DataTable selfdt = OtherMySqlConn.dtable("select BrandId,count(Id) from PosMachinesTwo where QueryCount=0 and ActivationState=1 and ActivationTime>='" + start + "' and ActivationTime<'" + end + "' and BuyUserId=" + UserId + " group by BrandId");
+                    function.WriteLog(UserId + ":" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行创客激活数日志");
+                    foreach (DataRow selfDr in selfdt.Rows)
+                    {
+                        int BrandId = int.Parse(selfDr["BrandId"].ToString());
+                        int QrPayFlag = 0;
+                        int ActCount = int.Parse(selfDr[1].ToString());
+                        UserTradeDaySummary selfStat = db.UserTradeDaySummary.FirstOrDefault(m => m.UserId == UserId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.BrandId == BrandId && m.QueryCount == QrPayFlag && m.SeoTitle == "self");
+                        if (selfStat == null)
+                        {
+                            selfStat = db.UserTradeDaySummary.Add(new UserTradeDaySummary()
+                            {
+                                UserId = UserId,
+                                TradeMonth = TradeMonth,
+                                TradeDate = TradeDate,
+                                BrandId = BrandId,
+                                QueryCount = QrPayFlag,
+                                SeoTitle = "self",
+                            }).Entity;
+                            db.SaveChanges();
+                        }
+                        selfStat.DirectDebitCapNum += ActCount;
+                        db.SaveChanges();
+                    }
+                    if (!string.IsNullOrEmpty(ParentNav))
+                    {
+                        ParentNav += "," + UserId + ",";
+                        string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                        foreach (string NavUserIdString in ParentNavList)
+                        {
+                            if (!uids.Contains(NavUserIdString + start))
+                            {
+                                uids.Add(NavUserIdString + start);
+                                int NavUserId = int.Parse(NavUserIdString);
+                                function.WriteLog(NavUserId + ":team:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行创客激活数日志");
+                                DataTable teamDt = OtherMySqlConn.dtable("select BrandId,count(Id) from PosMachinesTwo where QueryCount=0 and ActivationState=1 and ActivationTime>='" + start + "' and ActivationTime<'" + end + "' and BuyUserId in (select Id from Users where ParentNav like '%," + NavUserId + ",%' or Id=" + NavUserId + ") group by BrandId");
+                                function.WriteLog(NavUserId + ":team:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行创客激活数日志");
+                                foreach (DataRow teamDr in teamDt.Rows)
+                                {
+                                    int BrandId = int.Parse(teamDr["BrandId"].ToString());
+                                    int QrPayFlag = 0;
+                                    int ActCount = int.Parse(teamDr[1].ToString());
+                                    UserTradeDaySummary teamStat = db.UserTradeDaySummary.FirstOrDefault(m => m.UserId == NavUserId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.BrandId == BrandId && m.QueryCount == QrPayFlag && m.SeoTitle == "team");
+                                    if (teamStat == null)
+                                    {
+                                        teamStat = db.UserTradeDaySummary.Add(new UserTradeDaySummary()
+                                        {
+                                            UserId = NavUserId,
+                                            TradeMonth = TradeMonth,
+                                            TradeDate = TradeDate,
+                                            BrandId = BrandId,
+                                            QueryCount = QrPayFlag,
+                                            SeoTitle = "team",
+                                        }).Entity;
+                                        db.SaveChanges();
+                                    }
+                                    teamStat.NonDirectDebitCapNum += ActCount;
+                                    db.SaveChanges();
+                                }
+                            }
+                        }
+                    }
+                }
+                OtherMySqlConn.op("update PosMachinesTwo set QueryCount=1 where QueryCount=0 and ActivationState=1 and ActivationTime>='" + start + "' and ActivationTime<'" + end + "'");
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "执行创客激活数异常");
+            }
+            db.Dispose();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行创客激活数日志");
+            Thread.Sleep(60000);
+        }
+        public void StartPosActNumEverTime()
+        {
+            OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "实时执行创客激活数日志");
+            WebCMSEntities db = new WebCMSEntities();
+            try
+            {
+                DataTable idsDt = OtherMySqlConn.dtable("select Id from PosMachinesTwo where QueryCount=0 and ActivationState=1 and ActivationTime is not null and BuyUserId>0 limit 50");
+                if(idsDt.Rows.Count > 0)
+                {
+                    string ids = "";
+                    foreach (DataRow idsDr in idsDt.Rows)
+                    {
+                        ids += idsDr["Id"].ToString() + ",";
+                    }
+                    DataTable userDt = OtherMySqlConn.dtable("select BuyUserId,BrandId,DATE_FORMAT(ActivationTime, '%Y%m%d'),count(Id) from PosMachinesTwo where Id in (" + ids.TrimEnd(',') + ") group by BuyUserId,BrandId,DATE_FORMAT(ActivationTime, '%Y%m%d')");
+                    if (userDt.Rows.Count > 0)
+                    {
+                        function.WriteLog("人数:" + userDt.Rows.Count + "\n\n", "实时执行创客激活数日志");
+                        foreach (DataRow userDr in userDt.Rows)
+                        {
+                            int UserId = int.Parse(userDr["BuyUserId"].ToString());
+                            int BrandId = int.Parse(userDr["BrandId"].ToString());
+                            string TradeDate = userDr[2].ToString();
+                            int ActCount = int.Parse(function.CheckInt(userDr[3].ToString()));
+                            int QrPayFlag = 0;
+                            string TradeMonth = TradeDate.Substring(0, 6);
+                            string date = TradeDate.Substring(0, 4) + "-" + TradeDate.Substring(4, 2) + "-" + TradeDate.Substring(6, 2);
+                            string start = date + " 00:00:00";
+                            string end = DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00";
+                            Users user = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+                            string ParentNav = user.ParentNav;
+                            UserTradeDaySummary selfStat = db.UserTradeDaySummary.FirstOrDefault(m => m.UserId == UserId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.BrandId == BrandId && m.QueryCount == QrPayFlag && m.SeoTitle == "self");
+                            if (selfStat == null)
+                            {
+                                selfStat = db.UserTradeDaySummary.Add(new UserTradeDaySummary()
+                                {
+                                    UserId = UserId,
+                                    TradeMonth = TradeMonth,
+                                    TradeDate = TradeDate,
+                                    BrandId = BrandId,
+                                    QueryCount = QrPayFlag,
+                                    SeoTitle = "self",
+                                }).Entity;
+                                db.SaveChanges();
+                            }
+                            selfStat.DirectDebitCapNum += ActCount;
+                            ParentNav += "," + UserId + ",";
+                            if (!string.IsNullOrEmpty(ParentNav))
+                            {
+                                string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                                foreach (string NavUserIdString in ParentNavList)
+                                {
+                                    int NavUserId = int.Parse(NavUserIdString);
+                                    UserTradeDaySummary teamStat = db.UserTradeDaySummary.FirstOrDefault(m => m.UserId == NavUserId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.BrandId == BrandId && m.QueryCount == QrPayFlag && m.SeoTitle == "team");
+                                    if (teamStat == null)
+                                    {
+                                        teamStat = db.UserTradeDaySummary.Add(new UserTradeDaySummary()
+                                        {
+                                            UserId = NavUserId,
+                                            TradeMonth = TradeMonth,
+                                            TradeDate = TradeDate,
+                                            BrandId = BrandId,
+                                            QueryCount = QrPayFlag,
+                                            SeoTitle = "team",
+                                        }).Entity;
+                                        db.SaveChanges();
+                                    }
+                                    teamStat.NonDirectDebitCapNum += ActCount;
+                                }
+                            }
+                        }
+                        db.SaveChanges();
+                        OtherMySqlConn.op("update PosMachinesTwo set QueryCount=1 where Id in (" + ids.TrimEnd(',') + ")");
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "实时执行创客激活数异常");
+            }
+            db.Dispose();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "实时执行创客激活数日志");
+        }
+
+        // 统计新增创客数
+        public void StartNewUserNum()
+        {
+            Thread th = new Thread(StartNewUserNumFor);
+            th.IsBackground = true;
+            th.Start();
+        }
+        public void StartNewUserNumFor()
+        {
+            // DateTime end = DateTime.Parse("2022-06-15 00:00:00");
+            // DateTime check = DateTime.Parse("2022-06-14");
+            // while (check <= end)
+            // {
+            //     StartNewUserNumDo(check.ToString("yyyy-MM-dd"));
+            //     check = check.AddDays(1);
+            // }
+            while (true)
+            {
+                if(DateTime.Now.Hour >= 2)
+                {
+                    StartNewUserNumEverTime();
+                }
+                Thread.Sleep(120000);
+            }
+        }
+        public void StartNewUserNumDo(object sender)
+        {
+            OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+            string date = sender.ToString();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "执行新增创客数日志");
+            WebCMSEntities db = new WebCMSEntities();
+            try
+            {
+                string StatDate = date.Replace("-", "");
+                string StatMonth = StatDate.Substring(0, 6);
+                string start = date + " 00:00:00";
+                string end = DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00";
+                List<string> uids = new List<string>();
+                DataTable userDt = OtherMySqlConn.dtable("select Id,ParentNav from Users where QueryCount=0 and AuthFlag=1 and AuthDate>='" + start + "' and AuthDate<'" + end + "'");
+                function.WriteLog("人数:" + userDt.Rows.Count + "\n\n", "执行新增创客数日志");
+                foreach (DataRow userDr in userDt.Rows)
+                {
+                    int UserId = int.Parse(userDr["Id"].ToString());
+                    string ParentNav = userDr["ParentNav"].ToString();
+                    function.WriteLog(UserId + ":" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行新增创客数日志");
+                    DataTable selfdt = OtherMySqlConn.dtable("select count(Id) from Users where QueryCount=0 and AuthFlag=1 and AuthDate>='" + start + "' and AuthDate<'" + end + "' and ParentUserId=" + UserId + "");
+                    function.WriteLog(UserId + ":" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行新增创客数日志");
+                    foreach (DataRow selfDr in selfdt.Rows)
+                    {
+                        int AddCount = int.Parse(selfDr[0].ToString());
+                        PullnewSummary selfStat = db.PullnewSummary.FirstOrDefault(m => m.UserId == UserId && m.StatMonth == StatMonth && m.StatDate == StatDate && m.SeoTitle == "self");
+                        if (selfStat == null)
+                        {
+                            selfStat = db.PullnewSummary.Add(new PullnewSummary()
+                            {
+                                UserId = UserId,
+                                StatMonth = StatMonth,
+                                StatDate = StatDate,
+                                SeoTitle = "self",
+                            }).Entity;
+                            db.SaveChanges();
+                        }
+                        selfStat.RecUserAuthNum += AddCount;
+                        db.SaveChanges();
+                    }
+                    if (!string.IsNullOrEmpty(ParentNav))
+                    {
+                        ParentNav += "," + UserId + ",";
+                        string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                        foreach (string NavUserIdString in ParentNavList)
+                        {
+                            if (!uids.Contains(NavUserIdString + start))
+                            {
+                                uids.Add(NavUserIdString + start);
+                                int NavUserId = int.Parse(NavUserIdString);
+                                function.WriteLog(NavUserId + ":team:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行新增创客数日志");
+                                DataTable teamDt = OtherMySqlConn.dtable("select count(Id) from Users where QueryCount=0 and AuthFlag=1 and AuthDate>='" + start + "' and AuthDate<'" + end + "' and ParentNav like '%," + NavUserId + ",%'");
+                                function.WriteLog(NavUserId + ":team:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行新增创客数日志");
+                                foreach (DataRow teamDr in teamDt.Rows)
+                                {
+                                    int AddCount = int.Parse(teamDr[0].ToString());
+                                    PullnewSummary teamStat = db.PullnewSummary.FirstOrDefault(m => m.UserId == NavUserId && m.StatMonth == StatMonth && m.StatDate == StatDate && m.SeoTitle == "team");
+                                    if (teamStat == null)
+                                    {
+                                        teamStat = db.PullnewSummary.Add(new PullnewSummary()
+                                        {
+                                            UserId = NavUserId,
+                                            StatMonth = StatMonth,
+                                            StatDate = StatDate,
+                                            SeoTitle = "team",
+                                        }).Entity;
+                                        db.SaveChanges();
+                                    }
+                                    teamStat.RecUserAuthNum += AddCount;
+                                    db.SaveChanges();
+                                }
+                            }
+                        }
+                    }
+                }
+                OtherMySqlConn.op("update Users set QueryCount=1 where QueryCount=0 and AuthFlag=1 and AuthDate>='" + start + "' and AuthDate<'" + end + "'");
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "执行新增创客数异常");
+            }
+            db.Dispose();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行新增创客数日志");
+            Thread.Sleep(60000);
+        }
+        public void StartNewUserNumEverTime()
+        {
+            OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "实时执行新增创客数日志");
+            WebCMSEntities db = new WebCMSEntities();
+            try
+            {
+                DataTable idsDt = OtherMySqlConn.dtable("select Id from Users where QueryCount=0 and AuthFlag=1 and AuthDate is not null limit 50");
+                if(idsDt.Rows.Count > 0)
+                {
+                    string ids = "";
+                    foreach (DataRow idsDr in idsDt.Rows)
+                    {
+                        ids += idsDr["Id"].ToString() + ",";
+                    }
+                    DataTable userDt = OtherMySqlConn.dtable("select ParentUserId,DATE_FORMAT(AuthDate, '%Y%m%d'),count(Id) from Users where Id in (" + ids.TrimEnd(',') + ") group by ParentUserId,DATE_FORMAT(AuthDate, '%Y%m%d')");
+                    if(userDt.Rows.Count > 0)
+                    {
+                        function.WriteLog("人数:" + userDt.Rows.Count + "\n\n", "实时执行新增创客数日志");
+                        foreach (DataRow userDr in userDt.Rows)
+                        {
+                            string StatDate = userDr[1].ToString();
+                            int UserId = int.Parse(userDr["ParentUserId"].ToString());
+                            string StatMonth = StatDate.Substring(0, 6);
+                            string date = StatDate.Substring(0, 4) + "-" + StatDate.Substring(4, 2) + "-" + StatDate.Substring(6, 2);
+                            string start = date + " 00:00:00";
+                            string end = DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00";
+                            int AddCount = int.Parse(userDr[2].ToString());
+                            Users user = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+                            string ParentNav = user.ParentNav;
+                            PullnewSummary selfStat = db.PullnewSummary.FirstOrDefault(m => m.UserId == UserId && m.StatMonth == StatMonth && m.StatDate == StatDate && m.SeoTitle == "self");
+                            if (selfStat == null)
+                            {
+                                selfStat = db.PullnewSummary.Add(new PullnewSummary()
+                                {
+                                    UserId = UserId,
+                                    StatMonth = StatMonth,
+                                    StatDate = StatDate,
+                                    SeoTitle = "self",
+                                }).Entity;
+                                db.SaveChanges();
+                            }
+                            selfStat.RecUserAuthNum += AddCount;
+                            ParentNav += "," + UserId + ",";
+                            if (!string.IsNullOrEmpty(ParentNav))
+                            {
+                                string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                                foreach (string NavUserIdString in ParentNavList)
+                                {
+                                    int NavUserId = int.Parse(NavUserIdString);                            
+                                    PullnewSummary teamStat = db.PullnewSummary.FirstOrDefault(m => m.UserId == NavUserId && m.StatMonth == StatMonth && m.StatDate == StatDate && m.SeoTitle == "team");
+                                    if (teamStat == null)
+                                    {
+                                        teamStat = db.PullnewSummary.Add(new PullnewSummary()
+                                        {
+                                            UserId = NavUserId,
+                                            StatMonth = StatMonth,
+                                            StatDate = StatDate,
+                                            SeoTitle = "team",
+                                        }).Entity;
+                                        db.SaveChanges();
+                                    }
+                                    teamStat.RecUserAuthNum += AddCount;
+                                }
+                            }
+                        }
+                        db.SaveChanges();
+                        OtherMySqlConn.op("update Users set QueryCount=1 where Id in (" + ids.TrimEnd(',') + ")");
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "实时执行新增创客数异常");
+            }
+            db.Dispose();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "实时执行新增创客数日志");
+        }
+
+
+
+        // 每天统计头一天的收益
+        public void StatProfit()
+        {
+            Thread th = new Thread(StatProfitDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+        public void StatProfitDo()
+        {
+            // DateTime end = DateTime.Parse("2022-06-16 00:00:00");
+            // DateTime check = DateTime.Parse("2022-06-16");
+            // while (check <= end)
+            // {
+            //     StatProfitEverDay(check.ToString("yyyy-MM-dd"));
+            //     Thread.Sleep(1000);
+            //     check = check.AddDays(1);
+            // }
+            while (true)
+            {
+                if(DateTime.Now.Hour >= 2)
+                {
+                    StatProfitEverDayEverTime();
+                }
+                Thread.Sleep(120000);
+            }
+        }
+        public void StatProfitEverDay(object sender)
+        {
+            OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+            string date = sender.ToString();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "执行昨天收益日志");
+            WebCMSEntities db = new WebCMSEntities();
+            try
+            {
+                string TradeDate = date.Replace("-", "");
+                string TradeMonth = TradeDate.Substring(0, 6);
+                string start = date + " 00:00:00";
+                string end = DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00";
+                string startId = "0";
+                List<string> uids = new List<string>();
+                DataTable startDt = OtherMySqlConn.dtable("select min(Id) from UserAccountRecord where CreateDate>='" + start + "'");
+                if (startDt.Rows.Count > 0)
+                {
+                    startId = startDt.Rows[0][0].ToString();
+                }
+                function.WriteLog(startId + "\n\n", "执行昨天收益日志");
+                DataTable userDt = OtherMySqlConn.dtable("select Id,ParentNav from Users where Id in (select DISTINCT UserId from UserAccountRecord where Id>=" + startId + " and CreateDate>='" + start + "' and CreateDate<'" + end + "')");
+                function.WriteLog("交易人数:" + userDt.Rows.Count + "\n\n", "执行昨天收益日志");
+                foreach (DataRow userDr in userDt.Rows)
+                {
+                    int UserId = int.Parse(userDr["Id"].ToString());
+                    string ParentNav = userDr["ParentNav"].ToString();
+                    function.WriteLog(UserId + ":" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行昨天收益日志");
+                    DataTable selfdt = OtherMySqlConn.dtable("select ChangeType,ProductType,sum(ChangeAmount) from UserAccountRecord where Id>=" + startId + " and CreateDate>='" + start + "' and CreateDate<'" + end + "' and UserId=" + UserId + " group by ChangeType,ProductType");
+                    function.WriteLog(UserId + ":" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行昨天收益日志");
+                    foreach (DataRow selfDr in selfdt.Rows)
+                    {
+                        int ChangeType = int.Parse(selfDr["ChangeType"].ToString());
+                        int ProductType = int.Parse(selfDr["ProductType"].ToString());
+                        decimal ProfitAmount = decimal.Parse(selfDr[2].ToString());
+                        UserRebateDetail selfStat = db.UserRebateDetail.FirstOrDefault(m => m.UserId == UserId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.RebateType == ChangeType && m.ProductType == ProductType && m.SeoTitle == "self");
+                        if (selfStat == null)
+                        {
+                            selfStat = db.UserRebateDetail.Add(new UserRebateDetail()
+                            {
+                                UserId = UserId,
+                                TradeMonth = TradeMonth,
+                                TradeDate = TradeDate,
+                                RebateType = ChangeType,
+                                ProductType = ProductType,
+                                SeoTitle = "self",
+                            }).Entity;
+                            db.SaveChanges();
+                        }
+                        selfStat.CreditRewardAmount += ProfitAmount;
+                        db.SaveChanges();
+                    }
+                    if (!string.IsNullOrEmpty(ParentNav))
+                    {
+                        ParentNav += "," + UserId + ",";
+                        string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                        foreach (string NavUserIdString in ParentNavList)
+                        {
+                            if (!uids.Contains(NavUserIdString + start))
+                            {
+                                uids.Add(NavUserIdString + start);
+                                int NavUserId = int.Parse(NavUserIdString);
+                                function.WriteLog(NavUserId + ":team:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行昨天收益日志");
+                                DataTable teamDt = OtherMySqlConn.dtable("select ChangeType,ProductType,sum(ChangeAmount) from UserAccountRecord where Id>=" + startId + " and CreateDate>='" + start + "' and CreateDate<'" + end + "' and UserId in (select Id from Users where ParentNav like '%," + NavUserId + ",%' or Id=" + NavUserId + ") group by ChangeType,ProductType");
+                                function.WriteLog(NavUserId + ":team:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行昨天收益日志");
+                                foreach (DataRow teamDr in teamDt.Rows)
+                                {
+                                    int ChangeType = int.Parse(teamDr["ChangeType"].ToString());
+                                    int ProductType = int.Parse(teamDr["ProductType"].ToString());
+                                    decimal ProfitAmount = decimal.Parse(teamDr[2].ToString());
+                                    UserRebateDetail teamStat = db.UserRebateDetail.FirstOrDefault(m => m.UserId == NavUserId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.RebateType == ChangeType && m.ProductType == ProductType && m.SeoTitle == "team");
+                                    if (teamStat == null)
+                                    {
+                                        teamStat = db.UserRebateDetail.Add(new UserRebateDetail()
+                                        {
+                                            UserId = NavUserId,
+                                            TradeMonth = TradeMonth,
+                                            TradeDate = TradeDate,
+                                            RebateType = ChangeType,
+                                            ProductType = ProductType,
+                                            SeoTitle = "team",
+                                        }).Entity;
+                                        db.SaveChanges();
+                                    }
+                                    teamStat.CreditRewardAmount += ProfitAmount;
+                                    db.SaveChanges();
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "统计昨天收益异常");
+            }
+            db.Dispose();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "执行昨天收益日志");
+        }
+
+        public void StatProfitEverDayEverTime()
+        {
+            OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "实时统计收益日志");
+            WebCMSEntities db = new WebCMSEntities();
+            try
+            {
+                string startId = function.ReadInstance("/UserAccountRecord/Id.txt");
+                if(string.IsNullOrEmpty(startId))
+                {
+                    startId = "160653";
+                }
+                DataTable idsDt = OtherMySqlConn.dtable("select Id from UserAccountRecord where Id>=" + startId + " and QueryCount=0 order by Id limit 50");
+                if(idsDt.Rows.Count > 0)
+                {
+                    string ids = "";
+                    foreach (DataRow idsDr in idsDt.Rows)
+                    {
+                        ids += idsDr["Id"].ToString() + ",";
+                        startId = idsDr["Id"].ToString();
+                    }
+                    DataTable userDt = OtherMySqlConn.dtable("select UserId,ChangeType,ProductType,DATE_FORMAT(CreateDate, '%Y%m%d'),sum(ChangeAmount)  from UserAccountRecord where Id in (" + ids.TrimEnd(',') + ") group by UserId,ChangeType,ProductType,DATE_FORMAT(CreateDate, '%Y%m%d')");
+                    if (userDt.Rows.Count > 0)
+                    {
+                        function.WriteLog("收益人数:" + userDt.Rows.Count + "\n\n", "实时统计收益日志");
+                        foreach (DataRow userDr in userDt.Rows)
+                        {
+                            int UserId = int.Parse(userDr["UserId"].ToString());
+                            int ChangeType = int.Parse(userDr["ChangeType"].ToString());
+                            int ProductType = int.Parse(userDr["ProductType"].ToString());
+                            string TradeDate = userDr[3].ToString();
+                            decimal ProfitAmount = decimal.Parse(userDr[4].ToString());
+                            string TradeMonth = TradeDate.Substring(0, 6);
+                            string date = TradeDate.Substring(0, 4) + "-" + TradeDate.Substring(4, 2) + "-" + TradeDate.Substring(6, 2);
+                            string start = date + " 00:00:00";
+                            string end = DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00";
+                            Users user = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+                            string ParentNav = user.ParentNav;
+                            UserRebateDetail selfStat = db.UserRebateDetail.FirstOrDefault(m => m.UserId == UserId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.RebateType == ChangeType && m.ProductType == ProductType && m.SeoTitle == "self");
+                            if (selfStat == null)
+                            {
+                                selfStat = db.UserRebateDetail.Add(new UserRebateDetail()
+                                {
+                                    UserId = UserId,
+                                    TradeMonth = TradeMonth,
+                                    TradeDate = TradeDate,
+                                    RebateType = ChangeType,
+                                    ProductType = ProductType,
+                                    SeoTitle = "self",
+                                }).Entity;
+                                db.SaveChanges();
+                            }
+                            selfStat.CreditRewardAmount += ProfitAmount;
+                            ParentNav += "," + UserId + ",";
+                            if (!string.IsNullOrEmpty(ParentNav))
+                            {
+                                string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                                foreach (string NavUserIdString in ParentNavList)
+                                {
+                                    int NavUserId = int.Parse(NavUserIdString);
+                                    UserRebateDetail teamStat = db.UserRebateDetail.FirstOrDefault(m => m.UserId == NavUserId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.RebateType == ChangeType && m.ProductType == ProductType && m.SeoTitle == "team");
+                                    if (teamStat == null)
+                                    {
+                                        teamStat = db.UserRebateDetail.Add(new UserRebateDetail()
+                                        {
+                                            UserId = NavUserId,
+                                            TradeMonth = TradeMonth,
+                                            TradeDate = TradeDate,
+                                            RebateType = ChangeType,
+                                            ProductType = ProductType,
+                                            SeoTitle = "team",
+                                        }).Entity;
+                                        db.SaveChanges();
+                                    }
+                                    teamStat.CreditRewardAmount += ProfitAmount;
+                                }
+                            }
+                        }
+                        db.SaveChanges();
+                        OtherMySqlConn.op("update UserAccountRecord set QueryCount=1 where Id in (" + ids.TrimEnd(',') + ")");
+                        function.WritePage("/UserAccountRecord/", "Id.txt", startId);
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "实时统计收益异常");
+            }
+            db.Dispose();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "实时统计收益日志");
+        }
+
+
+
+
+
+
+
+        #region 判断品牌互斥条件,根据身份证号
+
+        public bool CheckRepeatByBrand(WebCMSEntities db, int MerchantId)
+        {
+            int check = db.PosMachinesTwo.Count(m => m.Status > -1 && m.BindMerchantId == MerchantId);
+
+            return false;
+        }
+
+        #endregion
+
+    }
+}

+ 189 - 0
AppStart/Helper/StatServiceTmp.cs

@@ -0,0 +1,189 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class StatServiceTmp
+    {
+        public readonly static StatServiceTmp Instance = new StatServiceTmp();
+        private StatServiceTmp()
+        { }
+
+
+        public void Start()
+        {
+            Thread th = new Thread(StartEverDay);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        // 每天统计头一天的交易额
+        public void StartEverDay()
+        {
+            string chk = function.ReadInstance("/log/临时重置盛付通交易额.txt");
+            if(string.IsNullOrEmpty(chk))
+            {
+                function.WritePage("/log/", "临时重置盛付通交易额.txt", DateTime.Now.ToString());
+                OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+                DateTime end = DateTime.Parse("2022-06-23 00:00:00");
+                DateTime check = DateTime.Parse("2022-06-14");
+                while (check <= end)
+                {
+                    StatTradeAmountEverDay(check.ToString("yyyy-MM-dd"));
+                    check = check.AddDays(1);
+                    Thread.Sleep(1000);
+                }
+            }
+        }
+        public void StatTradeAmountEverDay(object sender)
+        {
+            string date = sender.ToString();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "临时重置交易额日志");
+            WebCMSEntities db = new WebCMSEntities();
+            try
+            {
+                string TradeDate = date.Replace("-", "");
+                string TradeMonth = TradeDate.Substring(0, 6);
+                string start = date + " 00:00:00";
+                string end = DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00";
+                string startId = "0", endId = "9999999999";
+                List<string> uids = new List<string>();
+                DataTable startDt = OtherMySqlConn.dtable("select min(Id) from TradeRecord where CreateDate>='" + start + "'");
+                if (startDt.Rows.Count > 0)
+                {
+                    startId = startDt.Rows[0][0].ToString();
+                }
+                function.WriteLog(startId + "\n\n", "临时重置交易额日志");
+                DataTable userDt = OtherMySqlConn.dtable("select Id,ParentNav from Users where Id in (select DISTINCT UserId from TradeRecord where Id>=" + startId + " and Id<=" + endId + " and CreateDate>='" + start + "' and CreateDate<'" + end + "' and BrandId=7)");
+                function.WriteLog("交易人数:" + userDt.Rows.Count + "\n\n", "临时重置交易额日志");
+                foreach (DataRow userDr in userDt.Rows)
+                {
+                    int UserId = int.Parse(userDr["Id"].ToString());
+                    string ParentNav = userDr["ParentNav"].ToString();
+                    function.WriteLog(UserId + ":" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "临时重置交易额日志");
+                    DataTable selfdt = OtherMySqlConn.dtable("select BrandId,BankCardType,QrPayFlag,sum(TradeAmount) from TradeRecord where Id>=" + startId + " and Id<=" + endId + " and CreateDate>='" + start + "' and CreateDate<'" + end + "' and UserId=" + UserId + " and BrandId=7 group by BrandId,BankCardType,QrPayFlag");
+                    function.WriteLog(UserId + ":" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "临时重置交易额日志");
+                    OtherMySqlConn.op("delete from UserTradeDaySummary where UserId=" + UserId + " and TradeMonth='" + TradeMonth + "' and TradeDate='" + TradeDate + "' and BrandId=7 and SeoTitle='self'");
+                    foreach (DataRow selfDr in selfdt.Rows)
+                    {
+                        int BrandId = int.Parse(selfDr["BrandId"].ToString());
+                        int BankCardType = int.Parse(selfDr["BankCardType"].ToString());
+                        int QrPayFlag = int.Parse(selfDr["QrPayFlag"].ToString());
+                        decimal TradeAmount = decimal.Parse(selfDr[3].ToString());
+                        UserTradeDaySummary selfStat = db.UserTradeDaySummary.FirstOrDefault(m => m.UserId == UserId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.BrandId == BrandId && m.QueryCount == QrPayFlag && m.SeoTitle == "self");
+                        if (selfStat == null)
+                        {
+                            selfStat = db.UserTradeDaySummary.Add(new UserTradeDaySummary()
+                            {
+                                UserId = UserId,
+                                TradeMonth = TradeMonth,
+                                TradeDate = TradeDate,
+                                BrandId = BrandId,
+                                QueryCount = QrPayFlag,
+                                SeoTitle = "self",
+                            }).Entity;
+                            db.SaveChanges();
+                        }
+                        if (BankCardType == 0)
+                        {
+                            selfStat.DirectDebitTradeAmt += TradeAmount;
+                        }
+                        else if (BankCardType != 0)
+                        {
+                            selfStat.DirectTradeAmt += TradeAmount;
+                        }
+                        db.SaveChanges();
+                    }
+                    if (!string.IsNullOrEmpty(ParentNav))
+                    {
+                        ParentNav += "," + UserId + ",";
+                        string[] ParentNavList = ParentNav.Trim(',').Replace(",,", ",").Split(',');
+                        foreach (string NavUserIdString in ParentNavList)
+                        {
+                            if (!uids.Contains(NavUserIdString + start))
+                            {
+                                uids.Add(NavUserIdString + start);
+                                int NavUserId = int.Parse(NavUserIdString);
+                                function.WriteLog(NavUserId + ":team:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "临时重置交易额日志");
+                                DataTable teamDt = OtherMySqlConn.dtable("select BrandId,BankCardType,QrPayFlag,sum(TradeAmount) from TradeRecord where Id>=" + startId + " and Id<=" + endId + " and CreateDate>='" + start + "' and CreateDate<'" + end + "' and UserId in (select Id from Users where ParentNav like '%," + NavUserId + ",%' or Id=" + NavUserId + ") and BrandId=7 group by BrandId,BankCardType,QrPayFlag");
+                                function.WriteLog(NavUserId + ":team:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "临时重置交易额日志");
+                                OtherMySqlConn.op("delete from UserTradeDaySummary where UserId=" + NavUserId + " and TradeMonth='" + TradeMonth + "' and TradeDate='" + TradeDate + "' and BrandId=7 and SeoTitle='team'");
+                                foreach (DataRow teamDr in teamDt.Rows)
+                                {
+                                    int BrandId = int.Parse(teamDr["BrandId"].ToString());
+                                    int BankCardType = int.Parse(teamDr["BankCardType"].ToString());
+                                    int QrPayFlag = int.Parse(teamDr["QrPayFlag"].ToString());
+                                    decimal TradeAmount = decimal.Parse(teamDr[3].ToString());
+                                    UserTradeDaySummary teamStat = db.UserTradeDaySummary.FirstOrDefault(m => m.UserId == NavUserId && m.TradeMonth == TradeMonth && m.TradeDate == TradeDate && m.BrandId == BrandId && m.QueryCount == QrPayFlag && m.SeoTitle == "team");
+                                    if (teamStat == null)
+                                    {
+                                        teamStat = db.UserTradeDaySummary.Add(new UserTradeDaySummary()
+                                        {
+                                            UserId = NavUserId,
+                                            TradeMonth = TradeMonth,
+                                            TradeDate = TradeDate,
+                                            BrandId = BrandId,
+                                            QueryCount = QrPayFlag,
+                                            SeoTitle = "team",
+                                        }).Entity;
+                                        db.SaveChanges();
+                                    }
+                                    if (BankCardType == 0)
+                                    {
+                                        teamStat.NonDirectDebitTradeAmt += TradeAmount;
+                                    }
+                                    else if (BankCardType != 0)
+                                    {
+                                        teamStat.NonDirectTradeAmt += TradeAmount;
+                                    }
+                                    db.SaveChanges();
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "临时重置交易额异常");
+            }
+            db.Dispose();
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "临时重置交易额日志");
+
+            StatMerchantTrade(date);
+        }
+
+        
+
+        //统计商户交易额
+        private void StatMerchantTrade(string date)
+        {
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), "执行商户交易额日志");
+            try
+            {
+                string TradeDate = date.Replace("-", "");
+                string start = date + " 00:00:00";
+                string end = DateTime.Parse(date).AddDays(1).ToString("yyyy-MM-dd") + " 00:00:00";
+                OtherMySqlConn.op("delete from PosMerchantTradeSummay where TradeDate='" + TradeDate + "' and BrandId=7");
+                OtherMySqlConn.op("insert into PosMerchantTradeSummay (MerchantId,BrandId,TradeDate,TradeMonth,TradeAmount,CreateDate)  select *,now() from (select MerchantId,BrandId,DATE_FORMAT(CreateDate,'%Y%m%d') as TradeDate,DATE_FORMAT(CreateDate,'%Y%m') as TradeMonth,sum(TradeAmount) as TradeAmount from TradeRecord where CreateDate>='" + start + "' and CreateDate<'" + end + "' and BrandId=7 group by MerchantId,BrandId,DATE_FORMAT(CreateDate,'%Y%m%d'),TradeDate,DATE_FORMAT(CreateDate,'%Y%m') order by MerchantId,BrandId,DATE_FORMAT(CreateDate,'%Y%m%d')) tb");
+                RedisDbconn.Instance.Clear("PosMerchantAmount:*");
+                RedisDbconn.Instance.Clear("PosMerchantAmount:*:" + date.Replace("-", "").Substring(0, 6)); //商户当月交易
+                RedisDbconn.Instance.Clear("PosMerchantAmount:*:" + date.Replace("-", "")); //商户当日交易
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "临时重置商户的交易额");
+            }
+            function.WriteLog(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "\n\n", "临时重置商户交易额日志");
+        }
+
+
+
+    }
+}

+ 101 - 0
AppStart/Helper/StatStoreDataService.cs

@@ -0,0 +1,101 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class StatStoreDataService
+    {
+        public readonly static StatStoreDataService Instance = new StatStoreDataService();
+        private StatStoreDataService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(dosomething);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void dosomething()
+        {
+            // bool op = true;
+            // while (op)
+            // {
+                try
+                {
+                    WebCMSEntities db = new WebCMSEntities();
+                    DataTable dt = dbconn.dtable("select * from TmpStoreHouse where Status='正常' order by Id");
+                    foreach (DataRow dr in dt.Rows)
+                    {
+                        string Id = dr["Id"].ToString();
+                        string StoreCode = dr["StoreCode"].ToString();
+                        string StoreName = dr["StoreName"].ToString();
+                        string StoreAddress = dr["StoreAddress"].ToString();
+                        string ManageMakerCode = dr["ManageMakerCode"].ToString();
+                        string Manager = dr["Manager"].ToString();
+                        string ManageMobile = dr["ManageMobile"].ToString();
+                        string ManageEmail = dr["ManageEmail"].ToString();
+                        string MakerCode = dr["MakerCode"].ToString();
+                        string LimitMakerCode = dr["LimitMakerCode"].ToString();
+                        string StoreKind = dr["StoreKind"].ToString();
+                        string Status = dr["Status"].ToString();
+                        string CreateMan = dr["CreateMan"].ToString();
+                        string CreateDate = dr["CreateDate"].ToString();
+                        UserForMakerCode manageUser = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == ManageMakerCode) ?? new UserForMakerCode();
+                        UserForMakerCode userFor = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == MakerCode) ?? new UserForMakerCode();
+                        UserForMakerCode limitFor = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == LimitMakerCode) ?? new UserForMakerCode();
+                        StoreHouse store = db.StoreHouse.Add(new StoreHouse()
+                        {
+                            StoreNo = StoreCode,
+                            StoreName = StoreName,
+                            Address = StoreAddress,
+                            ManageMobile = ManageMobile,
+                            ManagerEmail = ManageEmail,
+                            StoreKind = StoreKind == "灵动总部" ? 1 : 0,
+                            Status = 1,
+                            CreateMan = CreateMan,
+                            CreateDate = DateTime.Parse(CreateDate),
+                            ManageUserId = manageUser.UserId,
+                            UserId = userFor.UserId,
+                            LimitTopUserId = limitFor.UserId.ToString(),
+                        }).Entity;
+                        db.SaveChanges();
+                        StoreForCode storeFor = db.StoreForCode.FirstOrDefault(m => m.Code == StoreCode);
+                        if (storeFor == null)
+                        {
+                            storeFor = db.StoreForCode.Add(new StoreForCode()
+                            {
+                                Code = StoreCode,
+                            }).Entity;
+                            db.SaveChanges();
+                        }
+                        storeFor.StoreId = store.Id;
+                        StoreForName storeForName = db.StoreForName.FirstOrDefault(m => m.Name == StoreName);
+                        if (storeForName == null)
+                        {
+                            storeForName = db.StoreForName.Add(new StoreForName()
+                            {
+                               Name = StoreName,
+                            }).Entity;
+                            db.SaveChanges();
+                        }
+                        storeForName.StoreId = store.Id;
+                        db.SaveChanges();
+                        function.WritePage("/stat/", "StoreIdFlag.txt", Id);
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "导仓库数据异常");
+                }
+                Thread.Sleep(200);
+            // }
+        }
+    }
+}

+ 161 - 0
AppStart/Helper/StatTimerService.cs

@@ -0,0 +1,161 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class StatTimerService
+    {
+        public readonly static StatTimerService Instance = new StatTimerService();
+        private StatTimerService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            try
+            {
+                dosomething();
+                // string Msg = "success";
+                // jobInfo.Status = Msg == "success" ? 1 : 0;
+                // jobInfo.Msg = Msg == "success" ? "执行完成" : Msg;
+                // RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "PublicBack");
+            }
+            catch (Exception ex)
+            {
+                function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public_service");
+            }
+        }
+
+        public void dosomething()
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            string yesterday = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd HH:mm:ss");
+            string today = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+
+            // 统计商户激活数据
+            DataTable dt = dbconn.dtable("select UserId,BrandId,MerStandardDate from PosMerchantInfo where MerStandardDate>='" + yesterday + "' and MerStandardDate<'" + today + "' and QueryCount=0");
+            dbconn.op("update PosMerchantInfo set QueryCount=1 where MerStandardDate>='" + yesterday + "' and MerStandardDate<'" + today + "' and QueryCount=0");
+            foreach (DataRow dr in dt.Rows)
+            {
+                DateTime date = DateTime.Parse(dr["MerStandardDate"].ToString());
+                string TradeMonth = date.ToString("yyyyMM");
+                string TradeDate = date.ToString("yyyyMMdd");
+                int UserId = int.Parse(dr["UserId"].ToString()); //创客ID
+                int BrandId = int.Parse(dr["BrandId"].ToString()); //品牌
+                int MerchantCount = 1;
+                int Level = 0;
+                while (UserId > 0)
+                {
+                    Level += 1;
+                    Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
+                    if (user != null)
+                    {
+                        if (user.AuthFlag == 1)
+                        {
+                            if (Level == 1)
+                            {
+                                RedisDbconn.Instance.AddInt("TotalPosMerchant:" + UserId + ":" + TradeDate, MerchantCount); //累计激活POS机商户
+                                RedisDbconn.Instance.AddInt("TotalPosMerchant:" + UserId + ":" + TradeMonth, MerchantCount); //累计激活POS机商户
+                                RedisDbconn.Instance.AddInt("TotalPosMerchant:" + UserId + ":" + BrandId + ":" + TradeDate, MerchantCount); //累计激活POS机商户
+                                RedisDbconn.Instance.AddInt("TotalPosMerchant:" + UserId + ":" + BrandId + ":" + TradeMonth, MerchantCount); //累计激活POS机商户
+                            }
+                            RedisDbconn.Instance.AddInt("TeamTotalPosMerchant:" + UserId + ":" + TradeDate, MerchantCount); //累计激活POS机商户
+                            RedisDbconn.Instance.AddInt("TeamTotalPosMerchant:" + UserId + ":" + TradeMonth, MerchantCount); //累计激活POS机商户
+                            RedisDbconn.Instance.AddInt("TeamTotalPosMerchant:" + UserId + ":" + BrandId + ":" + TradeDate, MerchantCount); //累计激活POS机商户
+                            RedisDbconn.Instance.AddInt("TeamTotalPosMerchant:" + UserId + ":" + BrandId + ":" + TradeMonth, MerchantCount); //累计激活POS机商户
+                        }
+                        UserId = user.ParentUserId;
+                    }
+                    else
+                    { 
+                        UserId = 0;
+                    }
+                }
+            }
+            db.Dispose();
+        }
+
+        public void ResetUserData()
+        {
+            RedisDbconn.Instance.Clear("TotalUser:*");
+            RedisDbconn.Instance.Clear("TeamTotalUser:*");
+            RedisDbconn.Instance.Clear("AddUser:*");
+            RedisDbconn.Instance.Clear("TeamAddUser:*");
+            WebCMSEntities db = new WebCMSEntities();
+            // 统计创客数据
+            DataTable dt = dbconn.dtable("select Id,AuthFlag from Users where AuthFlag=1 order by Id");
+            foreach (DataRow dr in dt.Rows)
+            {
+                int UserId = int.Parse(dr["Id"].ToString()); //创客ID
+                DateTime date = DateTime.Parse(dr["AuthFlag"].ToString());
+                string TradeMonth = date.ToString("yyyyMM");
+                string TradeDate = date.ToString("yyyyMMdd");
+                int Level = 0;
+                while (UserId > 0)
+                {
+                    Level += 1;
+                    Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
+                    if (user != null)
+                    {
+                        if (user.AuthFlag == 1)
+                        {
+                            if (Level == 1)
+                            {
+                                RedisDbconn.Instance.AddInt("TotalUser:" + UserId); //累计总创客                
+                                RedisDbconn.Instance.AddInt("AddUser:" + UserId + ":" + TradeDate); //新增创客       
+                                RedisDbconn.Instance.AddInt("AddUser:" + UserId + ":" + TradeMonth); //新增创客
+                            }
+                            RedisDbconn.Instance.AddInt("TeamTotalUser:" + UserId); //累计总创客                
+                            RedisDbconn.Instance.AddInt("TeamAddUser:" + UserId + ":" + TradeDate); //新增创客
+                            RedisDbconn.Instance.AddInt("TeamAddUser:" + UserId + ":" + TradeMonth); //新增创客
+                        }
+                        UserId = user.ParentUserId;
+                    }
+                }
+            }
+            db.Dispose();
+        }
+
+        public void SetUserData(int uid)
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            // 统计创客数据
+            DataTable dt = dbconn.dtable("select Id,AuthFlag from Users where Id=" + uid + " and AuthFlag=1 order by Id");
+            if (dt.Rows.Count > 0)
+            {
+                DataRow dr = dt.Rows[0];
+                int UserId = int.Parse(dr["Id"].ToString()); //创客ID
+                DateTime date = DateTime.Parse(dr["AuthFlag"].ToString());
+                string TradeMonth = date.ToString("yyyyMM");
+                string TradeDate = date.ToString("yyyyMMdd");
+                int Level = 0;
+                while (UserId > 0)
+                {
+                    Level += 1;
+                    Users user = db.Users.FirstOrDefault(m => m.Id == UserId);
+                    if (user != null)
+                    {
+                        if (user.AuthFlag == 1)
+                        {
+                            if (Level == 1)
+                            {
+                                RedisDbconn.Instance.AddInt("TotalUser:" + UserId); //累计总创客                
+                                RedisDbconn.Instance.AddInt("AddUser:" + UserId + ":" + TradeDate); //新增创客       
+                                RedisDbconn.Instance.AddInt("AddUser:" + UserId + ":" + TradeMonth); //新增创客
+                            }
+                            RedisDbconn.Instance.AddInt("TeamTotalUser:" + UserId); //累计总创客                
+                            RedisDbconn.Instance.AddInt("TeamAddUser:" + UserId + ":" + TradeDate); //新增创客
+                            RedisDbconn.Instance.AddInt("TeamAddUser:" + UserId + ":" + TradeMonth); //新增创客
+                        }
+                        UserId = user.ParentUserId;
+                    }
+                }
+            }
+            db.Dispose();
+        }
+    }
+}

+ 61 - 0
AppStart/Helper/SycnActiveRewardService.cs

@@ -0,0 +1,61 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class SycnActiveRewardService
+    {
+        public readonly static SycnActiveRewardService Instance = new SycnActiveRewardService();
+        private SycnActiveRewardService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                string OrderString = jobInfo.OrderString;
+                if (OrderString.StartsWith("Sp:") && OrderString.EndsWith(":Sycn"))
+                {
+                    string TableName = OrderString.Split(':')[1];
+                    string Msg = "";
+                    bool op = true;
+                    while (op)
+                    {
+                        string data = RedisDbconn.Instance.RPop<string>(TableName);
+                        if(!string.IsNullOrEmpty(data))
+                        {
+                            Dictionary<string, string> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
+                            // ProfitHelper.Instance.StartListenActiveDo(dic);
+                        }
+                        else
+                        {
+                            op = false;
+                        }
+                    }
+                    jobInfo.Status = Msg == "success" ? 1 : 0;
+                    jobInfo.Msg = Msg == "success" ? "执行完成" : Msg;
+                    RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "SycnTableDataBack");
+                }
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "public_err");
+                }
+                else
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public_service");
+                }
+            }
+        }
+    }
+}

+ 68 - 0
AppStart/Helper/SycnMerchantInfoService.cs

@@ -0,0 +1,68 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using MySystem.PxcModels;
+using Library;
+using LitJson;
+
+namespace MySystem
+{
+    public class SycnMerchantInfoService
+    {
+        public readonly static SycnMerchantInfoService Instance = new SycnMerchantInfoService();
+        private SycnMerchantInfoService()
+        { }
+
+        public void Start(JobMqMsg jobInfo)
+        {
+            string content = "";
+            try
+            {
+                string OrderString = jobInfo.OrderString;
+                if (OrderString.StartsWith("Sp:") && OrderString.EndsWith(":Sycn"))
+                {
+                    string TableName = OrderString.Split(':')[1];
+                    string Msg = "";
+                    bool op = true;
+                    while (op)
+                    {
+                        string data = RedisDbconn.Instance.RPop<string>(TableName);
+                        if(!string.IsNullOrEmpty(data))
+                        {
+                            Dictionary<string, string> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(data);
+                            if (TableName.StartsWith("kq_"))
+                            {
+                                ProfitHelper.Instance.StartListenMerchantDo(dic, true);
+                            }
+                            else
+                            { 
+                                ProfitHelper.Instance.StartListenMerchantDo(dic);
+                            }
+                        }
+                        else
+                        {
+                            op = false;
+                        }
+                    }
+                    jobInfo.Status = Msg == "success" ? 1 : 0;
+                    jobInfo.Msg = Msg == "success" ? "执行完成" : Msg;
+                    RabbitMQClient.Instance.SendMsg(Newtonsoft.Json.JsonConvert.SerializeObject(jobInfo), "SycnTableDataBack");
+                }
+            }
+            catch (Exception ex)
+            {
+                if (!string.IsNullOrEmpty(content))
+                {
+                    Dictionary<string, string> data = new Dictionary<string, string>();
+                    data.Add("ErrTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+                    data.Add("ErrMsg", ex.ToString());
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(data), "public_err");
+                }
+                else
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "public_service");
+                }
+            }
+        }
+    }
+}

+ 57 - 0
AppStart/Helper/SycnMerchantTradeService.cs

@@ -0,0 +1,57 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class SycnMerchantTradeService
+    {
+        public readonly static SycnMerchantTradeService Instance = new SycnMerchantTradeService();
+        private SycnMerchantTradeService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(StartDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void StartDo()
+        {
+            while (true)
+            {
+                try
+                {
+                    string content = RedisDbconn.Instance.RPop<string>("SycnMerchantTradeQueue");
+                    if(!string.IsNullOrEmpty(content))
+                    {
+                        function.WriteLog("content:" + content, "同步商户交易额");
+                        JsonData jsonObj = JsonMapper.ToObject(content);
+                        int OldPosId = int.Parse(function.CheckInt(jsonObj["OldPosId"].ToString()));
+                        int NewPosId = int.Parse(function.CheckInt(jsonObj["NewPosId"].ToString()));
+                        if(OldPosId != NewPosId)
+                        {
+                            CustomerSqlConn.op("update PosMerchantTradeSummay set MerchantId=" + NewPosId + " where MerchantId=" + OldPosId, MysqlConn.SqlConnStr);
+                        }
+                        Thread.Sleep(500);
+                    }
+                    else
+                    {
+                        Thread.Sleep(60000);
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "同步商户交易额异常");
+                    Thread.Sleep(300000);
+                }
+            }
+        }
+    }
+}

+ 69 - 0
AppStart/Helper/SycnMysql/ConsumerOpenIdsHelper.cs

@@ -0,0 +1,69 @@
+using Library;
+using MySystem.PxcModels;
+using System;
+using System.Linq;
+
+namespace MySystem
+{
+    public class ConsumerOpenIdsHelper
+    {
+        public readonly static ConsumerOpenIdsHelper Instance = new ConsumerOpenIdsHelper();
+        private ConsumerOpenIdsHelper()
+        { }
+
+        public string Start()
+        {
+            bool op = true;
+            WebCMSEntities db = new WebCMSEntities();
+            string result = "";
+            int total = 0;
+            while (op)
+            {
+                ConsumerOpenIds PopData = new ConsumerOpenIds();
+                try
+                {
+                    //获取apserver待同步的数据,执行入库
+                    PopData = RedisDbconn.Instance.RPop<ConsumerOpenIds>("Pop:ConsumerOpenIds");
+                    if (PopData != null)
+                    {
+                        ConsumerOpenIds checkExist = db.ConsumerOpenIds.FirstOrDefault(m => m.OpenId == PopData.OpenId);
+                        if (checkExist != null)
+                        {
+                            checkExist = PopData;
+                        }
+                        else
+                        {
+                            db.ConsumerOpenIds.Add(PopData);
+                        }
+                        total += 1;
+                        if (total >= 20)
+                        {
+                            total = 0;
+                            db.SaveChanges();
+                        }
+                        if (string.IsNullOrEmpty(result)) result = "success";
+                    }
+                    else
+                    {
+                        if (total > 0)
+                        {
+                            db.SaveChanges();
+                        }
+                        op = false;
+                    }
+                }
+                catch (Exception ex)
+                {
+                    ErrorMsg msg = new ErrorMsg();
+                    msg.Obj = PopData;
+                    msg.Time = DateTime.Now;
+                    msg.ErrorContent = ex.ToString();
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "Pop:ConsumerOpenIds:Error");
+                    result = "有异常,请查看Pop:ConsumerOpenIds:Error队列";
+                }
+            }
+            db.Dispose();
+            return result;
+        }
+    }
+}

+ 67 - 0
AppStart/Helper/SycnMysql/ConsumerOrdersHelper.cs

@@ -0,0 +1,67 @@
+using Library;
+using MySystem.PxcModels;
+using System;
+using System.Linq;
+
+namespace MySystem
+{
+    public class ConsumerOrdersHelper
+    {
+        public readonly static ConsumerOrdersHelper Instance = new ConsumerOrdersHelper();
+        private ConsumerOrdersHelper()
+        { }
+
+        public string Start()
+        {
+            bool op = true;
+            WebCMSEntities db = new WebCMSEntities();
+            string result = "";
+            // int total = 0;
+            while (op)
+            {
+                ConsumerOrders PopData = new ConsumerOrders();
+                try
+                {
+                    //获取apserver待同步的数据,执行入库
+                    PopData = RedisDbconn.Instance.RPop<ConsumerOrders>("Pop:ConsumerOrders");
+                    if (PopData != null)
+                    {
+                        ConsumerOrders checkExist = db.ConsumerOrders.FirstOrDefault(m => m.Id == PopData.Id);
+                        if (checkExist != null)
+                        {
+                            checkExist = PopData;
+                            db.SaveChanges();
+                        }
+                        else
+                        {
+                            ConsumerOrders item = db.ConsumerOrders.Add(PopData).Entity;
+                            db.SaveChanges();
+                            RedisDbconn.Instance.AddList("ConsumerOrders:Divi:" + PopData.MerchantId, item);
+                            RedisDbconn.Instance.AddList("ConsumerOrders:Divi:List", item.Id.ToString());
+                        }
+                        // if (total >= 20)
+                        // {
+                        //     total = 0;
+                        // }
+                        if (string.IsNullOrEmpty(result)) result = "success";
+                    }
+                    else
+                    {
+                        op = false;
+                    }
+                }
+                catch (Exception ex)
+                {
+                    ErrorMsg msg = new ErrorMsg();
+                    msg.Obj = PopData;
+                    msg.Time = DateTime.Now;
+                    msg.ErrorContent = ex.ToString();
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "Pop:ConsumerOrders:Error");
+                    result = "有异常,请查看Pop:ConsumerOrders:Error队列";
+                }
+            }
+            db.Dispose();
+            return result;
+        }
+    }
+}

+ 69 - 0
AppStart/Helper/SycnMysql/ConsumersHelper.cs

@@ -0,0 +1,69 @@
+using Library;
+using MySystem.PxcModels;
+using System;
+using System.Linq;
+
+namespace MySystem
+{
+    public class ConsumersHelper
+    {
+        public readonly static ConsumersHelper Instance = new ConsumersHelper();
+        private ConsumersHelper()
+        { }
+
+        public string Start()
+        {
+            bool op = true;
+            WebCMSEntities db = new WebCMSEntities();
+            string result = "";
+            int total = 0;
+            while (op)
+            {
+                Consumers PopData = new Consumers();
+                try
+                {
+                    //获取apserver待同步的数据,执行入库
+                    PopData = RedisDbconn.Instance.RPop<Consumers>("Pop:Consumers");
+                    if (PopData != null)
+                    {
+                        Consumers checkExist = db.Consumers.FirstOrDefault(m => m.Id == PopData.Id);
+                        if (checkExist != null)
+                        {
+                            checkExist = PopData;
+                        }
+                        else
+                        {
+                            db.Consumers.Add(PopData);
+                        }
+                        total += 1;
+                        if (total >= 20)
+                        {
+                            total = 0;
+                            db.SaveChanges();
+                        }
+                        if (string.IsNullOrEmpty(result)) result = "success";
+                    }
+                    else
+                    {
+                        if (total > 0)
+                        {
+                            db.SaveChanges();
+                        }
+                        op = false;
+                    }
+                }
+                catch (Exception ex)
+                {
+                    ErrorMsg msg = new ErrorMsg();
+                    msg.Obj = PopData;
+                    msg.Time = DateTime.Now;
+                    msg.ErrorContent = ex.ToString();
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "Pop:Consumers:Error");
+                    result = "有异常,请查看Pop:Consumers:Error队列";
+                }
+            }
+            db.Dispose();
+            return result;
+        }
+    }
+}

+ 65 - 0
AppStart/Helper/SycnMysql/MachineApplyHelper.cs

@@ -0,0 +1,65 @@
+using Library;
+using MySystem.PxcModels;
+using System;
+using System.Linq;
+
+namespace MySystem
+{
+    public class MachineApplyHelper
+    {
+        public readonly static MachineApplyHelper Instance = new MachineApplyHelper();
+        private MachineApplyHelper()
+        { }
+
+        public string Start()
+        {
+            bool op = true;
+            WebCMSEntities db = new WebCMSEntities();
+            string result = "";
+            int total = 0;
+            while (op)
+            {
+                MachineApply PopData = new MachineApply();
+                try
+                {
+                    //获取apserver待同步的数据,执行入库
+                    PopData = RedisDbconn.Instance.RPop<MachineApply>("Pop:MachineApply");
+                    if (PopData != null)
+                    {
+                        MachineApply checkExist = db.MachineApply.FirstOrDefault(m => m.Id == PopData.Id);
+                        if (checkExist != null)
+                        {
+                            checkExist = PopData;
+                        }
+                        else
+                        {
+                            db.MachineApply.Add(PopData);
+                        }
+                        if (total >= 20)
+                        {
+                            total = 0;
+                            db.SaveChanges();
+                        }
+                        if (string.IsNullOrEmpty(result)) result = "success";
+                    }
+                    else
+                    {
+                        db.SaveChanges();
+                        op = false;
+                    }
+                }
+                catch (Exception ex)
+                {
+                    ErrorMsg msg = new ErrorMsg();
+                    msg.Obj = PopData;
+                    msg.Time = DateTime.Now;
+                    msg.ErrorContent = ex.ToString();
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "Pop:MachineApply:Error");
+                    result = "有异常,请查看Pop:MachineApply:Error队列";
+                }
+            }
+            db.Dispose();
+            return result;
+        }
+    }
+}

+ 69 - 0
AppStart/Helper/SycnMysql/MerchantParamSetHelper.cs

@@ -0,0 +1,69 @@
+using Library;
+using MySystem.PxcModels;
+using System;
+using System.Linq;
+
+namespace MySystem
+{
+    public class MerchantParamSetHelper
+    {
+        public readonly static MerchantParamSetHelper Instance = new MerchantParamSetHelper();
+        private MerchantParamSetHelper()
+        { }
+
+        public string Start()
+        {
+            bool op = true;
+            WebCMSEntities db = new WebCMSEntities();
+            string result = "";
+            int total = 0;
+            while (op)
+            {
+                MerchantParamSet PopData = new MerchantParamSet();
+                try
+                {
+                    //获取apserver待同步的数据,执行入库
+                    PopData = RedisDbconn.Instance.RPop<MerchantParamSet>("Pop:MerchantParamSet");
+                    if (PopData != null)
+                    {
+                        MerchantParamSet checkExist = db.MerchantParamSet.FirstOrDefault(m => m.Id == PopData.Id);
+                        if (checkExist != null)
+                        {
+                            checkExist = PopData;
+                        }
+                        else
+                        {
+                            db.MerchantParamSet.Add(PopData);
+                        }
+                        total += 1;
+                        if (total >= 20)
+                        {
+                            total = 0;
+                            db.SaveChanges();
+                        }
+                        if (string.IsNullOrEmpty(result)) result = "success";
+                    }
+                    else
+                    {
+                        if (total > 0)
+                        {
+                            db.SaveChanges();
+                        }
+                        op = false;
+                    }
+                }
+                catch (Exception ex)
+                {
+                    ErrorMsg msg = new ErrorMsg();
+                    msg.Obj = PopData;
+                    msg.Time = DateTime.Now;
+                    msg.ErrorContent = ex.ToString();
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "Pop:MerchantParamSet:Error");
+                    result = "有异常,请查看Pop:MerchantParamSet:Error队列";
+                }
+            }
+            db.Dispose();
+            return result;
+        }
+    }
+}

+ 65 - 0
AppStart/Helper/SycnMysql/OrderProductHelper.cs

@@ -0,0 +1,65 @@
+using Library;
+using MySystem.PxcModels;
+using System;
+using System.Linq;
+
+namespace MySystem
+{
+    public class OrderProductHelper
+    {
+        public readonly static OrderProductHelper Instance = new OrderProductHelper();
+        private OrderProductHelper()
+        { }
+
+        public string Start()
+        {
+            bool op = true;
+            WebCMSEntities db = new WebCMSEntities();
+            string result = "";
+            int total = 0;
+            while (op)
+            {
+                OrderProduct PopData = new OrderProduct();
+                try
+                {
+                    //获取apserver待同步的数据,执行入库
+                    PopData = RedisDbconn.Instance.RPop<OrderProduct>("Pop:OrderProduct");
+                    if (PopData != null)
+                    {
+                        OrderProduct checkExist = db.OrderProduct.FirstOrDefault(m => m.Id == PopData.Id);
+                        if (checkExist != null)
+                        {
+                            checkExist = PopData;
+                        }
+                        else
+                        {
+                            db.OrderProduct.Add(PopData);
+                        }
+                        if (total >= 20)
+                        {
+                            total = 0;
+                            db.SaveChanges();
+                        }
+                        if (string.IsNullOrEmpty(result)) result = "success";
+                    }
+                    else
+                    {
+                        db.SaveChanges();
+                        op = false;
+                    }
+                }
+                catch (Exception ex)
+                {
+                    ErrorMsg msg = new ErrorMsg();
+                    msg.Obj = PopData;
+                    msg.Time = DateTime.Now;
+                    msg.ErrorContent = ex.ToString();
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "Pop:OrderProduct:Error");
+                    result = "有异常,请查看Pop:OrderProduct:Error队列";
+                }
+            }
+            db.Dispose();
+            return result;
+        }
+    }
+}

+ 65 - 0
AppStart/Helper/SycnMysql/OrdersHelper.cs

@@ -0,0 +1,65 @@
+using Library;
+using MySystem.PxcModels;
+using System;
+using System.Linq;
+
+namespace MySystem
+{
+    public class OrdersHelper
+    {
+        public readonly static OrdersHelper Instance = new OrdersHelper();
+        private OrdersHelper()
+        { }
+
+        public string Start()
+        {
+            bool op = true;
+            WebCMSEntities db = new WebCMSEntities();
+            string result = "";
+            int total = 0;
+            while (op)
+            {
+                Orders PopData = new Orders();
+                try
+                {
+                    //获取apserver待同步的数据,执行入库
+                    PopData = RedisDbconn.Instance.RPop<Orders>("Pop:Orders");
+                    if (PopData != null)
+                    {
+                        Orders checkExist = db.Orders.FirstOrDefault(m => m.Id == PopData.Id);
+                        if (checkExist != null)
+                        {
+                            checkExist = PopData;
+                        }
+                        else
+                        {
+                            db.Orders.Add(PopData);
+                        }
+                        if (total >= 20)
+                        {
+                            total = 0;
+                            db.SaveChanges();
+                        }
+                        if (string.IsNullOrEmpty(result)) result = "success";
+                    }
+                    else
+                    {
+                        db.SaveChanges();
+                        op = false;
+                    }
+                }
+                catch (Exception ex)
+                {
+                    ErrorMsg msg = new ErrorMsg();
+                    msg.Obj = PopData;
+                    msg.Time = DateTime.Now;
+                    msg.ErrorContent = ex.ToString();
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "Pop:Orders:Error");
+                    result = "有异常,请查看Pop:Orders:Error队列";
+                }
+            }
+            db.Dispose();
+            return result;
+        }
+    }
+}

+ 33 - 0
AppStart/Helper/SycnMysql/PopService.cs

@@ -0,0 +1,33 @@
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Extensions.Hosting;
+using MySystem;
+
+public class PopService : BackgroundService
+{
+    protected override async Task ExecuteAsync(CancellationToken stoppingToken)
+    {
+        while (!stoppingToken.IsCancellationRequested)
+        {
+            int timespan = 500;
+            await Task.Delay(timespan).ContinueWith(tsk =>
+            {
+                Start();
+            });
+        }
+    }
+
+    private void Start()
+    {
+        string data = RedisDbconn.Instance.RPop<string>("MainPopWaitList");
+        if (!string.IsNullOrEmpty(data))
+        {
+            JobMqMsg job = Newtonsoft.Json.JsonConvert.DeserializeObject<JobMqMsg>(data);
+            ReceiveTaskService.Instance.Start(job);
+        }
+        else
+        {
+            Thread.Sleep(2000);
+        }
+    }
+}

+ 65 - 0
AppStart/Helper/SycnMysql/PosMachinesHelper.cs

@@ -0,0 +1,65 @@
+using Library;
+using MySystem.PxcModels;
+using System;
+using System.Linq;
+
+namespace MySystem
+{
+    public class PosMachinesHelper
+    {
+        public readonly static PosMachinesHelper Instance = new PosMachinesHelper();
+        private PosMachinesHelper()
+        { }
+
+        public string Start()
+        {
+            bool op = true;
+            WebCMSEntities db = new WebCMSEntities();
+            string result = "success";
+            int total = 0;
+            while (op)
+            {
+                PosMachines PopData = new PosMachines();
+                try
+                {
+                    //获取apserver待同步的数据,执行入库
+                    PopData = RedisDbconn.Instance.RPop<PosMachines>("Pop:PosMachines");
+                    if (PopData != null)
+                    {
+                        PosMachines checkExist = db.PosMachines.FirstOrDefault(m => m.Id == PopData.Id);
+                        if (checkExist != null)
+                        {
+                            checkExist = PopData;
+                        }
+                        else
+                        {
+                            db.PosMachines.Add(PopData);
+                        }
+                        if (total >= 20)
+                        {
+                            total = 0;
+                            db.SaveChanges();
+                        }
+                        if (string.IsNullOrEmpty(result)) result = "success";
+                    }
+                    else
+                    {
+                        db.SaveChanges();
+                        op = false;
+                    }
+                }
+                catch (Exception ex)
+                {
+                    ErrorMsg msg = new ErrorMsg();
+                    msg.Obj = PopData;
+                    msg.Time = DateTime.Now;
+                    msg.ErrorContent = ex.ToString();
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "Pop:PosMachines:Error");
+                    result = "有异常,请查看Pop:PosMachines:Error队列";
+                }
+            }
+            db.Dispose();
+            return result;
+        }
+    }
+}

+ 65 - 0
AppStart/Helper/SycnMysql/ProductsHelper.cs

@@ -0,0 +1,65 @@
+using Library;
+using MySystem.PxcModels;
+using System;
+using System.Linq;
+
+namespace MySystem
+{
+    public class ProductsHelper
+    {
+        public readonly static ProductsHelper Instance = new ProductsHelper();
+        private ProductsHelper()
+        { }
+
+        public string Start()
+        {
+            bool op = true;
+            WebCMSEntities db = new WebCMSEntities();
+            string result = "";
+            int total = 0;
+            while (op)
+            {
+                Products PopData = new Products();
+                try
+                {
+                    //获取apserver待同步的数据,执行入库
+                    PopData = RedisDbconn.Instance.RPop<Products>("Pop:Products");
+                    if (PopData != null)
+                    {
+                        Products checkExist = db.Products.FirstOrDefault(m => m.Id == PopData.Id);
+                        if (checkExist != null)
+                        {
+                            checkExist = PopData;
+                        }
+                        else
+                        {
+                            db.Products.Add(PopData);
+                        }
+                        if (total >= 20)
+                        {
+                            total = 0;
+                            db.SaveChanges();
+                        }
+                        if (string.IsNullOrEmpty(result)) result = "success";
+                    }
+                    else
+                    {
+                        db.SaveChanges();
+                        op = false;
+                    }
+                }
+                catch (Exception ex)
+                {
+                    ErrorMsg msg = new ErrorMsg();
+                    msg.Obj = PopData;
+                    msg.Time = DateTime.Now;
+                    msg.ErrorContent = ex.ToString();
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "Pop:Products:Error");
+                    result = "有异常,请查看Pop:Products:Error队列";
+                }
+            }
+            db.Dispose();
+            return result;
+        }
+    }
+}

+ 115 - 0
AppStart/Helper/SycnMysql/PublicTableHelper.cs

@@ -0,0 +1,115 @@
+using MySystem.PxcModels;
+using System;
+using System.Data;
+using Library;
+
+namespace MySystem
+{
+    public class PublicTableHelper
+    {
+        public readonly static PublicTableHelper Instance = new PublicTableHelper();
+        private PublicTableHelper()
+        { }
+
+        public string Start(string table)
+        {
+            bool op = true;
+            OtherMySqlConn.connstr = Library.ConfigurationManager.AppSettings["Pxc1SqlConnStr"].ToString();
+            string result = "success";
+            int startId = 0; //RedisDbconn.Instance.Get<int>("Start" + table + "Id");
+            // int total = 0;
+            while (op)
+            {
+                try
+                {
+                    DataTable dt = OtherMySqlConn.dtable("select * from " + table + " where Id>" + startId + " order by Id");
+                    if (dt.Rows.Count > 0)
+                    {
+                        foreach (DataRow dr in dt.Rows)
+                        {
+                            startId = int.Parse(function.CheckInt(dr["Id"].ToString()));
+                            string fields = "";
+                            string values = "";
+                            DataTable localTable = dbconn.dtable("select * from " + table + " where Id=" + startId);
+                            if (localTable.Rows.Count > 0)
+                            {
+                                foreach (DataColumn dc in localTable.Columns)
+                                {
+                                    if (!string.IsNullOrEmpty(dr[dc.ColumnName].ToString()))
+                                    {
+                                        if (dc.DataType == typeof(int) || dc.DataType == typeof(decimal) || dc.DataType == typeof(ulong))
+                                        {
+                                            fields += dc.ColumnName + "=" + dr[dc.ColumnName].ToString() + ",";
+                                        }
+                                        else
+                                        {
+                                            string val = "";
+                                            if (dc.DataType == typeof(DateTime))
+                                            {
+                                                val = DateTime.Parse(dr[dc.ColumnName].ToString()).ToString("yyyy-MM-dd HH:mm:ss");
+                                            }
+                                            else
+                                            {
+                                                val = dr[dc.ColumnName].ToString();
+                                            }
+                                            fields += dc.ColumnName + "='" + val + "',";
+                                        }
+                                    }
+                                }
+                                fields = fields.TrimEnd(',');
+                                string sql = "update " + table + " set " + fields + " where Id=" + startId;
+                                dbconn.op(sql);
+                            }
+                            else
+                            {
+                                foreach (DataColumn dc in localTable.Columns)
+                                {
+                                    if (!string.IsNullOrEmpty(dr[dc.ColumnName].ToString()))
+                                    {
+                                        fields += dc.ColumnName + ",";
+                                        if (dc.DataType == typeof(int) || dc.DataType == typeof(decimal) || dc.DataType == typeof(ulong))
+                                        {
+                                            values += dr[dc.ColumnName].ToString() + ",";
+                                        }
+                                        else
+                                        {
+                                            string val = "";
+                                            if (dc.DataType == typeof(DateTime))
+                                            {
+                                                val = DateTime.Parse(dr[dc.ColumnName].ToString()).ToString("yyyy-MM-dd HH:mm:ss");
+                                            }
+                                            else
+                                            {
+                                                val = dr[dc.ColumnName].ToString();
+                                            }
+                                            values += "'" + val + "',";
+                                        }
+                                    }
+                                }
+                                fields = fields.TrimEnd(',');
+                                values = values.TrimEnd(',');
+                                string sql = "insert into " + table + " (" + fields + ") values (" + values + ")";
+                                dbconn.op(sql);
+                            }
+                            startId = int.Parse(function.CheckInt(dr["Id"].ToString()));
+                        }
+                    }
+                    else
+                    {
+                        op = false;
+                        RedisDbconn.Instance.Set("Start" + table + "Id", startId);
+                    }
+                }
+                catch (Exception ex)
+                {
+                    ErrorMsg msg = new ErrorMsg();
+                    msg.Time = DateTime.Now;
+                    msg.ErrorContent = ex.ToString();
+                    RedisDbconn.Instance.AddList(table + ":Error", msg);
+                }
+            }
+            // OtherMySqlConn.connstr = ;
+            return result;
+        }
+    }
+}

+ 64 - 0
AppStart/Helper/SycnMysql/StoreChangeHistoryHelper.cs

@@ -0,0 +1,64 @@
+using Library;
+using MySystem.PxcModels;
+using System;
+using System.Linq;
+
+namespace MySystem
+{
+    public class StoreChangeHistoryHelper
+    {
+        public readonly static StoreChangeHistoryHelper Instance = new StoreChangeHistoryHelper();
+        private StoreChangeHistoryHelper()
+        { }
+
+        public string Start()
+        {
+            bool op = true;
+            WebCMSEntities db = new WebCMSEntities();
+            string result = "success";
+            int total = 0;
+            while (op)
+            {
+                StoreChangeHistory PopData = new StoreChangeHistory();
+                try
+                {
+                    //获取apserver待同步的数据,执行入库
+                    PopData = RedisDbconn.Instance.RPop<StoreChangeHistory>("Pop:StoreChangeHistory");
+                    if (PopData != null)
+                    {
+                        // StoreChangeHistory checkExist = db.StoreChangeHistory.FirstOrDefault(m => m.Id == PopData.Id);
+                        // if (checkExist != null)
+                        // {
+                        //     checkExist = PopData;
+                        // }
+                        // else
+                        // {
+                            db.StoreChangeHistory.Add(PopData);
+                        // }
+                        if (total >= 20)
+                        {
+                            total = 0;
+                            db.SaveChanges();
+                        }
+                    }
+                    else
+                    {
+                        db.SaveChanges();
+                        op = false;
+                    }
+                }
+                catch (Exception ex)
+                {
+                    ErrorMsg msg = new ErrorMsg();
+                    msg.Obj = PopData;
+                    msg.Time = DateTime.Now;
+                    msg.ErrorContent = ex.ToString();
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "Pop:StoreChangeHistory:Error");
+                    result = "有异常,请查看Pop:StoreChangeHistory:Error队列";
+                }
+            }
+            db.Dispose();
+            return result;
+        }
+    }
+}

+ 68 - 0
AppStart/Helper/SycnMysql/StoreStockChangeHelper.cs

@@ -0,0 +1,68 @@
+using Library;
+using MySystem.PxcModels;
+using System;
+using System.Linq;
+
+namespace MySystem
+{
+    public class StoreStockChangeHelper
+    {
+        public readonly static StoreStockChangeHelper Instance = new StoreStockChangeHelper();
+        private StoreStockChangeHelper()
+        { }
+
+        public string Start()
+        {
+            bool op = true;
+            WebCMSEntities db = new WebCMSEntities();
+            string result = "";
+            int total = 0;
+            while (op)
+            {
+                StoreStockChange PopData = new StoreStockChange();
+                try
+                {
+                    //获取apserver待同步的数据,执行入库
+                    PopData = RedisDbconn.Instance.RPop<StoreStockChange>("Pop:StoreStockChange");
+                    if (PopData != null)
+                    {
+                        // StoreStockChange checkExist = db.StoreStockChange.FirstOrDefault(m => m.Id == PopData.Id);
+                        // if (checkExist != null)
+                        // {
+                        //     checkExist = PopData;
+                        // }
+                        // else
+                        // {
+                            db.StoreStockChange.Add(PopData);
+                        // }
+                        if (total >= 20)
+                        {
+                            total = 0;
+                            db.SaveChanges();
+                        }
+                        if (PopData.TransType == 11)
+                        {
+                        }
+                        if (string.IsNullOrEmpty(result)) result = "success";
+                    }
+                    else
+                    {
+                        db.SaveChanges();
+                        op = false;
+                    }
+                }
+                catch (Exception ex)
+                {
+                    ErrorMsg msg = new ErrorMsg();
+                    msg.Obj = PopData;
+                    msg.Time = DateTime.Now;
+                    msg.ErrorContent = ex.ToString();
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "Pop:StoreStockChange:Error");
+                    result = "有异常,请查看Pop:StoreStockChange:Error队列";
+                }
+            }
+            db.Dispose();
+            return result;
+        }
+    }
+}

+ 65 - 0
AppStart/Helper/SycnMysql/TeamApplyHelper.cs

@@ -0,0 +1,65 @@
+using Library;
+using MySystem.PxcModels;
+using System;
+using System.Linq;
+
+namespace MySystem
+{
+    public class TeamApplyHelper
+    {
+        public readonly static TeamApplyHelper Instance = new TeamApplyHelper();
+        private TeamApplyHelper()
+        { }
+
+        public string Start()
+        {
+            bool op = true;
+            WebCMSEntities db = new WebCMSEntities();
+            string result = "";
+            int total = 0;
+            while (op)
+            {
+                TeamApply PopData = new TeamApply();
+                try
+                {
+                    //获取apserver待同步的数据,执行入库
+                    PopData = RedisDbconn.Instance.RPop<TeamApply>("Pop:TeamApply");
+                    if (PopData != null)
+                    {
+                        TeamApply checkExist = db.TeamApply.FirstOrDefault(m => m.Id == PopData.Id);
+                        if (checkExist != null)
+                        {
+                            checkExist = PopData;
+                        }
+                        else
+                        {
+                            db.TeamApply.Add(PopData);
+                        }
+                        if (total >= 20)
+                        {
+                            total = 0;
+                            db.SaveChanges();
+                        }
+                        if (string.IsNullOrEmpty(result)) result = "success";
+                    }
+                    else
+                    {
+                        db.SaveChanges();
+                        op = false;
+                    }
+                }
+                catch (Exception ex)
+                {
+                    ErrorMsg msg = new ErrorMsg();
+                    msg.Obj = PopData;
+                    msg.Time = DateTime.Now;
+                    msg.ErrorContent = ex.ToString();
+                    function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "Pop:TeamApply:Error");
+                    result = "有异常,请查看Pop:TeamApply:Error队列";
+                }
+            }
+            db.Dispose();
+            return result;
+        }
+    }
+}

Vissa filer visades inte eftersom för många filer har ändrats