Models.cs 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775
  1. using System;
  2. using System.Collections.Generic;
  3. using Newtonsoft.Json;
  4. using Org.BouncyCastle.Asn1.X509;
  5. namespace JiaZhiQuan.Common
  6. {
  7. public class UserInfoBase
  8. {
  9. public string id { get; set; }
  10. public string alias { get; set; }
  11. public int authType { get; set; }
  12. public string authName { get; set; }
  13. public string domainTalent { get; set; }
  14. public int vip { get; set; }
  15. public string headImage { get; set; }
  16. public string description { get; set; }
  17. public string publicTags { get; set; }
  18. public string official { get; set; }
  19. public string curProvince { get; set; }
  20. /// <summary>
  21. /// 用户下载自己内容时,是否加水印,默认为0,即不加
  22. /// </summary>
  23. public int watermark { get; set; }
  24. }
  25. public class UserInfoBaseWithFocusState : UserInfoBase
  26. {
  27. /// <summary>
  28. /// 当前用户是否关注此用户
  29. /// </summary>
  30. public int focused { get; set; }
  31. /// <summary>
  32. /// 此用户是当前用户的粉丝
  33. /// </summary>
  34. public int isFan { get; set; }
  35. /// <summary>
  36. /// 用户成长等级
  37. /// </summary>
  38. public int level { get; set; }
  39. }
  40. public class UserInfoBaseWithPost : UserInfoBaseWithFocusState
  41. {
  42. public bool status { get; set; }
  43. /// <summary>
  44. /// 最新的三条笔记数据
  45. /// </summary>
  46. public List<PostThumbnails> posts { get; set; }
  47. }
  48. /// <summary>
  49. /// 笔记数据
  50. /// </summary>
  51. public class PostThumbnails
  52. {
  53. public long id { get; set; }
  54. public long userId { get; set; }
  55. public string title { get; set; }
  56. public string thumbnails { get; set; }
  57. public int categoryType { get; set; }
  58. public int type { get; set; }
  59. }
  60. /// <summary>
  61. /// 用户后台查询
  62. /// </summary>
  63. public class UserInfoFull : UserInfoBase
  64. {
  65. public int mpRole { get; set; }
  66. public int superior { get; set; }
  67. public string username { get; set; }
  68. }
  69. public class PostContentVideoObject
  70. {
  71. public int width { get; set; }
  72. public int height { get; set; }
  73. public string thumbnail { get; set; }
  74. public float duration { get; set; }
  75. public string url { get; set; }
  76. public string videoId { get; set; }
  77. }
  78. public class PostContentDetailObject
  79. {
  80. /// <summary>
  81. /// 0 为文本 1为图片 2为HTML
  82. /// </summary>
  83. public int type { get; set; }
  84. public string content { get; set; }
  85. public int width { get; set; }
  86. public int height { get; set; }
  87. }
  88. public class PostContentObject
  89. {
  90. public PostContentVideoObject video { get; set; }
  91. public List<PostContentDetailObject> detail { get; set; }
  92. }
  93. public class AppVersion
  94. {
  95. /// <summary>
  96. /// 最小版本号
  97. /// </summary>
  98. public string minVersion { get; set; }
  99. /// <summary>
  100. /// 最新版本号
  101. /// </summary>
  102. public string latestVersion { get; set; }
  103. /// <summary>
  104. /// 最新的版本号名称
  105. /// </summary>
  106. public string latestVersionName { get; set; }
  107. /// <summary>
  108. /// 版本更新描述
  109. /// </summary>
  110. public string description { get; set; }
  111. /// <summary>
  112. /// 下载链接,仅Android有效
  113. /// </summary>
  114. public string download { get; set; }
  115. }
  116. public class AppPushTaskModel
  117. {
  118. public int id { get; set; }
  119. public string title { get; set; }
  120. public string alert { get; set; }
  121. public int platform { get; set; }
  122. public string audience { get; set; }
  123. public string extras { get; set; }
  124. public DateTime expiredAt { get; set; }
  125. public int badge { get; set; }
  126. public int pushStyle { get; set; }
  127. public string pushImg { get; set; }
  128. }
  129. public class UserMessagePushConfig
  130. {
  131. /// <summary>
  132. /// 不接受所有通知
  133. /// </summary>
  134. public bool all { get; set; }
  135. /// <summary>
  136. /// 不接受赞消息通知
  137. /// </summary>
  138. public bool thumbsup { get; set; }
  139. /// <summary>
  140. /// 不接受新粉丝消息通知
  141. /// </summary>
  142. public bool newfan { get; set; }
  143. /// <summary>
  144. /// 不接受评论消息通知
  145. /// </summary>
  146. public bool comment { get; set; }
  147. /// <summary>
  148. /// 不接受@消息通知
  149. /// </summary>
  150. public bool at { get; set; }
  151. /// <summary>
  152. /// 不接受关注人发布新内容消息通知
  153. /// </summary>
  154. public bool focusPost { get; set; }
  155. /// <summary>
  156. /// 不接受系统通知
  157. /// </summary>
  158. public bool sys { get; set; }
  159. /// <summary>
  160. /// 不接受推荐通知
  161. /// </summary>
  162. public bool recommend { get; set; }
  163. /// <summary>
  164. /// 不接受关注圈子的新动态通知
  165. /// </summary>
  166. public bool followTopic { get; set; }
  167. }
  168. public class PostCommentSetting
  169. {
  170. /// <summary>
  171. /// 禁止所有不能评论
  172. /// </summary>
  173. public int all { get; set; }
  174. /// <summary>
  175. /// 仅粉丝可以评论
  176. /// </summary>
  177. public int notFans { get; set; }
  178. /// <summary>
  179. /// 仅自己关注的可评论
  180. /// </summary>
  181. public int notFocused { get; set; }
  182. /// <summary>
  183. /// 禁止非自己
  184. /// </summary>
  185. public int notSelf { get; set; }
  186. }
  187. public class PostCommentState : PostCommentSetting
  188. {
  189. /// <summary>
  190. /// 自己能否评论
  191. /// </summary>
  192. public int canComment { get; set; }
  193. }
  194. /// <summary>
  195. /// 用户隐私设置
  196. /// </summary>
  197. public class UserPrivacySetting
  198. {
  199. /// <summary>
  200. /// 点赞记录是否隐藏
  201. /// </summary>
  202. public bool likePostRecordsHidden { get; set; }
  203. /// <summary>
  204. /// 收藏记录是否隐藏
  205. /// </summary>
  206. public bool collectPostRecordsHidden { get; set; }
  207. /// <summary>
  208. /// 关注列表是否隐藏
  209. /// </summary>
  210. public bool focusRecordsHidden { get; set; }
  211. /// <summary>
  212. /// 粉丝列表是否隐藏
  213. /// </summary>
  214. public bool fansHidden { get; set; }
  215. /// <summary>
  216. /// 个性化推荐是否关闭
  217. /// </summary>
  218. public bool personalRecommend { get; set; }
  219. /// <summary>
  220. ///是否开启水印
  221. /// </summary>
  222. public bool watermark { get; set; }
  223. public static UserPrivacySetting InstanceByIntValue(int value)
  224. {
  225. return new UserPrivacySetting
  226. {
  227. likePostRecordsHidden = (value & 0b1) == 0b1,
  228. collectPostRecordsHidden = (value & 0b10) == 0b10,
  229. focusRecordsHidden = (value & 0b100) == 0b100,
  230. fansHidden = (value & 0b1000) == 0b1000,
  231. personalRecommend = (value & 0b10000) == 0b10000,
  232. watermark = (value & 0b100000) == 0b100000,
  233. };
  234. }
  235. public int GetIntValue()
  236. {
  237. return (likePostRecordsHidden ? 0b1 : 0b0)
  238. | (collectPostRecordsHidden ? 0b10 : 0b0)
  239. | (focusRecordsHidden ? 0b100 : 0b0)
  240. | (fansHidden ? 0b1000 : 0b0)
  241. | (personalRecommend ? 0b10000 : 0b0)
  242. | (watermark ? 0b100000 : 0b0);
  243. }
  244. }
  245. public class UserTagModel
  246. {
  247. public DateTime createDate { get; set; }
  248. public string tag { get; set; }
  249. public int count { get; set; }
  250. public double hot { get; set; }
  251. }
  252. public class VideoUploadState
  253. {
  254. /// <summary>
  255. /// 0 待上传或上传中 1 完成
  256. /// </summary>
  257. public int uploadState { get; set; }
  258. /// <summary>
  259. /// 如果 长宽为0,则表示视频分析未完成
  260. /// </summary>
  261. public int width { get; set; }
  262. public int height { get; set; }
  263. }
  264. public class DateRange
  265. {
  266. public string startDate { get; set; }
  267. public string endDate { get; set; }
  268. }
  269. #region 活动配置Model
  270. /// <summary>
  271. /// 活动答题的配置
  272. /// </summary>
  273. public class ActivityDtConfig
  274. {
  275. /// <summary>
  276. /// 活动头图,一张
  277. /// </summary>
  278. public string headerImage { get; set; }
  279. /// <summary>
  280. /// 一天内最多可答题次数
  281. /// </summary>
  282. public int totalTimesPerDay { get; set; }
  283. /// <summary>
  284. /// 答题最大时间
  285. /// </summary>
  286. public float maxSecs { get; set; } = 1999.99f;
  287. /// <summary>
  288. /// 每次的题目数量
  289. /// </summary>
  290. public int qaCount { get; set; }
  291. /// <summary>
  292. /// 题库类型编码列表
  293. /// </summary>
  294. public List<int> qaTagIds { get; set; }
  295. /// <summary>
  296. /// 每次答对数量与奖励的对应关系,如果无对应关系表示不奖励价值币
  297. /// </summary>
  298. public Dictionary<int, int> correctCountAndPointsMap { get; set; }
  299. }
  300. /// <summary>
  301. /// 活动晒笔记的配置
  302. /// </summary>
  303. public class ActivitySbjConfig
  304. {
  305. /// <summary>
  306. /// 活动一天可参与多少次
  307. /// </summary>
  308. public int totalTimesPerDay { get; set; } = 1;
  309. /// <summary>
  310. /// 0 不限 1 仅图文 2 仅视频
  311. /// </summary>
  312. public int contentType { get; set; } = 0;
  313. /// <summary>
  314. /// 0 不限 大于0 则限定为某一个topic下的
  315. /// </summary>
  316. public int topicId { get; set; }
  317. /// <summary>
  318. /// 奖励的价值币数量
  319. /// </summary>
  320. public int points { get; set; }
  321. /// <summary>
  322. /// 活动头图,一张
  323. /// </summary>
  324. public string headerImage { get; set; }
  325. /// <summary>
  326. /// 活动页面展示的标题
  327. /// </summary>
  328. public string title { get; set; }
  329. /// <summary>
  330. /// 活动页面展示的描述
  331. /// </summary>
  332. public string description { get; set; }
  333. }
  334. /// <summary>
  335. /// 活动邀请好友的配置
  336. /// </summary>
  337. public class ActivityYqhyConfig
  338. {
  339. /// <summary>
  340. /// 全局背景色
  341. /// </summary>
  342. public string globalBackgroundColor { get; set; }
  343. /// <summary>
  344. /// 活动头图,一张
  345. /// </summary>
  346. public string headerImage { get; set; }
  347. /// <summary>
  348. /// 活动尾图,多张
  349. /// </summary>
  350. public List<string> footerImages { get; set; }
  351. /// <summary>
  352. /// 活动配置的奖励项列表
  353. /// </summary>
  354. public List<int> rewardIds { get; set; }
  355. /// <summary>
  356. /// 排行榜数据一致时,0 排名并列 1 率先完成的排名在前,ID越低越优先
  357. /// </summary>
  358. public int orderType { get; set; }
  359. /// <summary>
  360. /// 排行榜结构,是否可以展开
  361. /// </summary>
  362. public bool expandable { get; set; }
  363. /// <summary>
  364. /// 默认显示多少名(条)
  365. /// </summary>
  366. public int defaultVisibleCount { get; set; }
  367. /// <summary>
  368. /// 展开后显示多少名(条)
  369. /// </summary>
  370. public int expandedVisibleCount { get; set; }
  371. /// <summary>
  372. /// 是否将“获利邀请”算入活动数据
  373. /// </summary>
  374. public bool ignoreProfit { get; set; }
  375. }
  376. /// <summary>
  377. /// 活动每日话题配置中话题配置项
  378. /// </summary>
  379. public class ActivityMrhtConfigTopicItem
  380. {
  381. /// <summary>
  382. /// 话题编号
  383. /// </summary>
  384. public int topicId { get; set; }
  385. /// <summary>
  386. /// 活动哪一天
  387. /// </summary>
  388. public DateTime date { get; set; }
  389. }
  390. /// <summary>
  391. /// 活动每日话题的配置
  392. /// </summary>
  393. public class ActivityMrhtConfig
  394. {
  395. /// <summary>
  396. /// 全局背景色
  397. /// </summary>
  398. public string globalBackgroundColor { get; set; }
  399. /// <summary>
  400. /// 活动头图,一张
  401. /// </summary>
  402. public string headerImage { get; set; }
  403. /// <summary>
  404. /// 活动尾图,多张
  405. /// </summary>
  406. public List<string> footerImages { get; set; }
  407. /// <summary>
  408. /// 活动配置的奖励项列表
  409. /// </summary>
  410. public List<int> rewardIds { get; set; }
  411. /// <summary>
  412. /// 排行榜数据一致时,0 排名并列 1 率先完成的排名在前,ID越低越优先
  413. /// </summary>
  414. public int orderType { get; set; }
  415. /// <summary>
  416. /// 排行榜结构,是否可以展开
  417. /// </summary>
  418. public bool expandable { get; set; }
  419. /// <summary>
  420. /// 默认显示多少名
  421. /// </summary>
  422. public int defaultVisibleCount { get; set; }
  423. /// <summary>
  424. /// 展开后显示多少名
  425. /// </summary>
  426. public int expandedVisibleCount { get; set; }
  427. /// <summary>
  428. /// 是否开启【看看别人怎么写】
  429. /// </summary>
  430. public bool recommendPosts { get; set; }
  431. /// <summary>
  432. /// 活动日对应的话题配置,如果找不到,则查找前一个日期的话题
  433. /// </summary>
  434. public List<ActivityMrhtConfigTopicItem> topics { get; set; }
  435. }
  436. /// <summary>
  437. /// 活动阅读量大比拼的配置
  438. /// </summary>
  439. public class ActivityYdldbpConfig
  440. {
  441. /// <summary>
  442. /// 全局背景色
  443. /// </summary>
  444. public string globalBackgroundColor { get; set; }
  445. /// <summary>
  446. /// 活动头图,一张
  447. /// </summary>
  448. public string headerImage { get; set; }
  449. /// <summary>
  450. /// 活动尾图,多张
  451. /// </summary>
  452. public List<string> footerImages { get; set; }
  453. /// <summary>
  454. /// 活动配置的奖励项列表
  455. /// </summary>
  456. public List<int> rewardIds { get; set; }
  457. /// <summary>
  458. /// 排行榜结构,是否可以展开
  459. /// </summary>
  460. public bool expandable { get; set; }
  461. /// <summary>
  462. /// 默认显示多少名
  463. /// </summary>
  464. public int defaultVisibleCount { get; set; }
  465. /// <summary>
  466. /// 展开后显示多少名
  467. /// </summary>
  468. public int expandedVisibleCount { get; set; }
  469. }
  470. public class ActivityDakaConfig
  471. {
  472. /// <summary>
  473. /// 全局背景色
  474. /// </summary>
  475. public string globalBackgroundColor { get; set; }
  476. /// <summary>
  477. /// 活动头图,一张
  478. /// </summary>
  479. public string headerImage { get; set; }
  480. /// <summary>
  481. /// 活动尾图,多张
  482. /// </summary>
  483. public List<string> footerImages { get; set; }
  484. /// <summary>
  485. /// 终极抽奖是否启用
  486. /// </summary>
  487. public bool finalDrawEnabled { get; set; }
  488. /// <summary>
  489. /// 终极抽奖开始时间
  490. /// </summary>
  491. public DateTime? finalDrawStartTime { get; set; }
  492. /// <summary>
  493. /// 终极抽奖结束时间
  494. /// </summary>
  495. public DateTime? finalDrawEndTime { get; set; }
  496. /// <summary>
  497. /// 普通抽奖模板编号
  498. /// </summary>
  499. public int normalTempId { get; set; }
  500. /// <summary>
  501. /// 普通抽奖面板图片
  502. /// </summary>
  503. public string normalPanelImage { get; set; }
  504. /// <summary>
  505. /// 普通抽奖指针图片
  506. /// </summary>
  507. public string normalIndicatorImage { get; set; }
  508. /// <summary>
  509. /// 打卡一次获取普通抽奖次数
  510. /// </summary>
  511. public int normalDrawTimes { get; set; } = 1;
  512. /// <summary>
  513. /// 终极抽奖模板编号
  514. /// </summary>
  515. public int finalTempId { get; set; }
  516. /// <summary>
  517. /// 终极抽奖面板图片
  518. /// </summary>
  519. public string finalPanelImage { get; set; }
  520. /// <summary>
  521. /// 终极抽奖指针图片
  522. /// </summary>
  523. public string finalIndicatorImage { get; set; }
  524. /// <summary>
  525. /// 价值币购买次数是否开启
  526. /// </summary>
  527. public bool boughtEnabled { get; set; }
  528. /// <summary>
  529. /// 一次购买所需价值币
  530. /// </summary>
  531. public int points { get; set; }
  532. /// <summary>
  533. /// 单日最大购买次数
  534. /// </summary>
  535. public int maxBoughtTimesPerDay { get; set; }
  536. /// <summary>
  537. /// 奖池列表图片
  538. /// </summary>
  539. public string prizeListImage { get; set; }
  540. /// <summary>
  541. /// 最终奖池列表图片
  542. /// </summary>
  543. public string finalPrizeListImage { get; set; }
  544. }
  545. #endregion 活动配置Model
  546. /// <summary>
  547. /// 网页爬取行情程序,在Redis存入的实时行情数据项结构
  548. /// </summary>
  549. public class QTLiveData
  550. {
  551. public string 名称 { get; set; }
  552. public DateTime 数据刷新时间 { get; set; }
  553. public Decimal? 当前价格 { get; set; }
  554. public Decimal? 今开 { get; set; }
  555. public Decimal? 昨收 { get; set; }
  556. public Decimal? 最高 { get; set; }
  557. public Decimal? 最低 { get; set; }
  558. /// <summary>
  559. /// 百分比
  560. /// </summary>
  561. public Decimal? 涨跌幅 { get; set; }
  562. /// <summary>
  563. /// 涨跌多少
  564. /// </summary>
  565. public Decimal? 涨跌额 { get; set; }
  566. /// <summary>
  567. /// 百分比
  568. /// </summary>
  569. public Decimal? 换手 { get; set; }
  570. /// <summary>
  571. /// 百分比
  572. /// </summary>
  573. public Decimal? 振幅 { get; set; }
  574. public string 成交量 { get; set; }
  575. public string 成交额 { get; set; }
  576. }
  577. /// <summary>
  578. /// 从AKShare获取的停牌信息
  579. /// </summary>
  580. public class QTSuspensionData
  581. {
  582. public string 代码 { get; set; }
  583. public string 名称 { get; set; }
  584. public DateTime? 停牌时间 { get; set; }
  585. public DateTime? 停牌截止时间 { get; set; }
  586. /// <summary>
  587. /// 如果值为【盘中停牌】,则表示仅只是部分交易时段停牌,当天还是交易的
  588. /// </summary>
  589. public string 停牌期限 { get; set; }
  590. public string 停牌原因 { get; set; }
  591. public string 所属市场 { get; set; }
  592. public DateTime? 预计复牌时间 { get; set; }
  593. }
  594. /// <summary>
  595. /// 奖励发放实体
  596. /// </summary>
  597. public class ReceiveReward
  598. {
  599. /// <summary>
  600. /// 来源id
  601. /// </summary>
  602. public int sourceId { get; set; }
  603. /// <summary>
  604. /// 来源名称
  605. /// </summary>
  606. public string sourceName { get; set; }
  607. /// <summary>
  608. /// 商品id
  609. /// </summary>
  610. public long goodsId { get; set; }
  611. /// <summary>
  612. /// 商品类型
  613. /// </summary>
  614. public int goodsType { get; set; }
  615. /// <summary>
  616. /// 商品数量
  617. /// </summary>
  618. public int goodsQuantity { get; set; }
  619. /// <summary>
  620. /// 商品缩略图
  621. /// </summary>
  622. public string goodsThumbnail { get; set; }
  623. /// <summary>
  624. /// 商品名称
  625. /// </summary>
  626. public string goodsTitle { get; set; }
  627. /// <summary>
  628. /// 用户id
  629. /// </summary>
  630. public long userId { get; set; }
  631. /// <summary>
  632. /// 奖励id 如果是打卡,n_activity_drawpool_temp_goods表的id
  633. /// </summary>
  634. public int rewardId { get; set; }
  635. /// <summary>
  636. /// 是否支付宝红包
  637. /// </summary>
  638. public bool isAlipayRed { get; set; }
  639. }
  640. public class SysMessageRecordTask
  641. {
  642. public int id { get; set; }
  643. public int messageId { get; set; }
  644. public string cont { get; set; }
  645. public DateTime execTime { get; set; }
  646. public int state { get; set; }
  647. public DateTime createAt { get; set; }
  648. }
  649. public class SysMessageRecord
  650. {
  651. public int id { get; set; }
  652. public string title { get; set; }
  653. public string pushTitle { get; set; }
  654. public string targets { get; set; }
  655. public string content { get; set; }
  656. public string pushContent { get; set; }
  657. public DateTime createAt { get; set; }
  658. public DateTime pushSendAt { get; set; }
  659. public string pushStyle { get; set; }
  660. public string pushImg { get; set; }
  661. public string image { get; set; }
  662. public string actionType { get; set; }
  663. public string actionSubType { get; set; }
  664. public string actionLink { get; set; }
  665. }
  666. }