midway-fatcms 0.0.1-beta.2 → 0.0.1-beta.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/.eslintrc.json +12 -0
  2. package/.prettierrc.js +4 -0
  3. package/README.md +7 -0
  4. package/dist/config/config.default.js +52 -15
  5. package/dist/configuration.d.ts +1 -0
  6. package/dist/configuration.js +33 -8
  7. package/dist/controller/base/BaseApiController.d.ts +1 -1
  8. package/dist/controller/base/BaseApiController.js +14 -6
  9. package/dist/controller/gateway/AsyncTaskController.d.ts +14 -0
  10. package/dist/controller/gateway/AsyncTaskController.js +108 -0
  11. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +3 -3
  12. package/dist/controller/gateway/CrudMtdGatewayController.js +9 -6
  13. package/dist/controller/gateway/CrudStdGatewayController.d.ts +5 -5
  14. package/dist/controller/gateway/DocGatewayController.js +14 -9
  15. package/dist/controller/gateway/PublicApiController.js +4 -6
  16. package/dist/controller/gateway/StaticController.d.ts +2 -0
  17. package/dist/controller/gateway/StaticController.js +59 -40
  18. package/dist/controller/helpers.controller.d.ts +1 -1
  19. package/dist/controller/home.controller.js +2 -2
  20. package/dist/controller/manage/AnyApiMangeApi.js +2 -2
  21. package/dist/controller/manage/AppLogMangeApi.js +2 -2
  22. package/dist/controller/manage/AppMangeApi.js +2 -2
  23. package/dist/controller/manage/AppPageMangeApi.js +2 -2
  24. package/dist/controller/manage/AppSchemaHistoryApi.js +2 -2
  25. package/dist/controller/manage/CrudMethodsMangeApi.js +2 -2
  26. package/dist/controller/manage/CrudStandardDesignApi.d.ts +1 -1
  27. package/dist/controller/manage/CrudStandardDesignApi.js +78 -75
  28. package/dist/controller/manage/DataDictManageApi.d.ts +1 -1
  29. package/dist/controller/manage/DataDictManageApi.js +1 -1
  30. package/dist/controller/manage/DeployManageApi.d.ts +1 -1
  31. package/dist/controller/manage/DeployManageApi.js +38 -34
  32. package/dist/controller/manage/DocLibManageApi.js +2 -2
  33. package/dist/controller/manage/DocManageApi.js +2 -2
  34. package/dist/controller/manage/FileManageApi.js +1 -1
  35. package/dist/controller/manage/LowCodeTplManageApi.js +2 -2
  36. package/dist/controller/manage/MenuManageApi.js +2 -2
  37. package/dist/controller/manage/ProxyApiMangeApi.js +2 -2
  38. package/dist/controller/manage/SuperAdminManageApi.d.ts +2 -2
  39. package/dist/controller/manage/SuperAdminManageApi.js +12 -8
  40. package/dist/controller/manage/SysConfigMangeApi.d.ts +1 -1
  41. package/dist/controller/manage/SysConfigMangeApi.js +8 -6
  42. package/dist/controller/manage/SystemInfoManageApi.d.ts +1 -1
  43. package/dist/controller/manage/SystemInfoManageApi.js +7 -1
  44. package/dist/controller/manage/UserAccountManageApi.d.ts +2 -2
  45. package/dist/controller/manage/UserAccountManageApi.js +7 -2
  46. package/dist/controller/manage/WorkbenchMangeApi.js +3 -3
  47. package/dist/controller/myinfo/AuthController.d.ts +0 -4
  48. package/dist/controller/myinfo/AuthController.js +1 -54
  49. package/dist/controller/render/AppRenderController.js +10 -4
  50. package/dist/controller/test.controller.d.ts +1 -1
  51. package/dist/controller/test.controller.js +5 -5
  52. package/dist/index.d.ts +34 -4
  53. package/dist/index.js +34 -4
  54. package/dist/libs/crud-pro/CrudPro.d.ts +1 -0
  55. package/dist/libs/crud-pro/CrudPro.js +5 -0
  56. package/dist/libs/crud-pro/defaultConfigs.js +2 -0
  57. package/dist/libs/crud-pro/interfaces.d.ts +7 -1
  58. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +2 -1
  59. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +8 -1
  60. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +8 -0
  61. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +1 -1
  62. package/dist/libs/crud-pro/models/ResModel.d.ts +16 -0
  63. package/dist/libs/crud-pro/models/ResModel.js +2 -0
  64. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +1 -1
  65. package/dist/libs/crud-pro/models/TransactionSqlServer.js +1 -1
  66. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +1 -0
  67. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +27 -15
  68. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +13 -17
  69. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +1 -1
  70. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +10 -12
  71. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +14 -23
  72. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +7 -6
  73. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +2 -6
  74. package/dist/libs/crud-pro/services/CrudProServiceBase.js +3 -2
  75. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +1 -0
  76. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +32 -7
  77. package/dist/libs/crud-pro/utils/DatabaseName.js +24 -3
  78. package/dist/libs/crud-pro/utils/MixinUtils.js +1 -1
  79. package/dist/libs/crud-pro/utils/ValidateUtils.js +1 -1
  80. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +2 -2
  81. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -0
  82. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
  83. package/dist/libs/global-config/global-config.d.ts +45 -0
  84. package/dist/libs/global-config/global-config.js +33 -0
  85. package/dist/libs/utils/errorToString.d.ts +2 -0
  86. package/dist/libs/utils/errorToString.js +57 -0
  87. package/dist/libs/utils/fatcms-request.js +2 -2
  88. package/dist/middleware/forbidden.middleware.js +4 -20
  89. package/dist/middleware/global.middleware.js +8 -1
  90. package/dist/models/AsyncTaskModel.d.ts +69 -0
  91. package/dist/models/AsyncTaskModel.js +26 -0
  92. package/dist/models/RedisKeys.d.ts +8 -0
  93. package/dist/models/RedisKeys.js +11 -0
  94. package/dist/models/SystemTables.d.ts +1 -3
  95. package/dist/models/SystemTables.js +2 -4
  96. package/dist/schedule/anonymousContext.d.ts +13 -0
  97. package/dist/schedule/anonymousContext.js +59 -0
  98. package/dist/schedule/index.d.ts +4 -3
  99. package/dist/schedule/index.js +8 -67
  100. package/dist/schedule/runSchedule.d.ts +15 -0
  101. package/dist/schedule/runSchedule.js +68 -0
  102. package/dist/schedule/scheduleNames.d.ts +13 -0
  103. package/dist/schedule/scheduleNames.js +17 -0
  104. package/dist/service/AuthService.js +8 -5
  105. package/dist/service/EnumInfoService.js +7 -4
  106. package/dist/service/FileCenterService.js +13 -9
  107. package/dist/service/SysConfigService.js +4 -2
  108. package/dist/service/UserAccountService.js +10 -6
  109. package/dist/service/UserSessionService.js +2 -1
  110. package/dist/service/VisitStatService.d.ts +1 -1
  111. package/dist/service/VisitStatService.js +20 -27
  112. package/dist/service/WorkbenchService.js +4 -2
  113. package/dist/service/anyapi/AnyApiService.js +4 -2
  114. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +37 -0
  115. package/dist/service/asyncTask/AsyncTaskRunnerService.js +232 -0
  116. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
  117. package/dist/service/asyncTask/AsyncTaskService.js +34 -0
  118. package/dist/service/crudstd/CrudStdService.d.ts +2 -1
  119. package/dist/service/crudstd/CrudStdService.js +48 -3
  120. package/dist/service/curd/CrudProQuick.d.ts +24 -0
  121. package/dist/service/curd/CrudProQuick.js +105 -0
  122. package/dist/service/curd/CurdMixByAccountService.js +12 -6
  123. package/dist/service/curd/CurdMixByDictService.js +4 -2
  124. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +10 -1
  125. package/dist/service/curd/CurdMixByLinkToCustomService.js +72 -24
  126. package/dist/service/curd/CurdMixBySysConfigService.js +4 -2
  127. package/dist/service/curd/CurdMixByWorkbenchService.js +4 -2
  128. package/dist/service/curd/CurdMixService.d.ts +1 -1
  129. package/dist/service/curd/CurdMixService.js +2 -2
  130. package/dist/service/curd/CurdMixUtils.d.ts +7 -0
  131. package/dist/service/curd/CurdMixUtils.js +65 -28
  132. package/dist/service/curd/CurdProService.d.ts +2 -10
  133. package/dist/service/curd/CurdProService.js +31 -146
  134. package/dist/service/curd/fixCfgModel.d.ts +3 -0
  135. package/dist/service/curd/fixCfgModel.js +107 -0
  136. package/dist/service/proxyapi/ProxyApiLoadService.js +7 -4
  137. package/dist/views/404_app.html +31 -0
  138. package/dist/views/404_workbench.html +34 -0
  139. package/dist/views/static/favicon.ico +0 -0
  140. package/package.json +9 -2
  141. package/src/config/config.default.ts +58 -27
  142. package/src/configuration.ts +42 -9
  143. package/src/controller/base/BaseApiController.ts +26 -19
  144. package/src/controller/gateway/AnyApiGatewayController.ts +1 -1
  145. package/src/controller/gateway/AsyncTaskController.ts +83 -0
  146. package/src/controller/gateway/CrudMtdGatewayController.ts +17 -13
  147. package/src/controller/gateway/CrudStdGatewayController.ts +4 -4
  148. package/src/controller/gateway/DocGatewayController.ts +25 -17
  149. package/src/controller/gateway/FileController.ts +8 -9
  150. package/src/controller/gateway/ProxyApiGatewayController.ts +4 -4
  151. package/src/controller/gateway/PublicApiController.ts +19 -22
  152. package/src/controller/gateway/StaticController.ts +234 -242
  153. package/src/controller/helpers.controller.ts +1 -1
  154. package/src/controller/home.controller.ts +8 -15
  155. package/src/controller/manage/AnyApiMangeApi.ts +11 -11
  156. package/src/controller/manage/AppLogMangeApi.ts +5 -5
  157. package/src/controller/manage/AppMangeApi.ts +7 -7
  158. package/src/controller/manage/AppPageMangeApi.ts +5 -5
  159. package/src/controller/manage/AppSchemaHistoryApi.ts +3 -3
  160. package/src/controller/manage/CrudMethodsMangeApi.ts +5 -5
  161. package/src/controller/manage/CrudStandardDesignApi.ts +106 -113
  162. package/src/controller/manage/DataDictManageApi.ts +5 -5
  163. package/src/controller/manage/DeployManageApi.ts +85 -89
  164. package/src/controller/manage/DocLibManageApi.ts +5 -5
  165. package/src/controller/manage/DocManageApi.ts +10 -10
  166. package/src/controller/manage/FileManageApi.ts +1 -1
  167. package/src/controller/manage/LowCodeTplManageApi.ts +2 -2
  168. package/src/controller/manage/MenuManageApi.ts +10 -15
  169. package/src/controller/manage/ProxyApiMangeApi.ts +2 -2
  170. package/src/controller/manage/SuperAdminManageApi.ts +14 -13
  171. package/src/controller/manage/SysConfigMangeApi.ts +11 -11
  172. package/src/controller/manage/SystemInfoManageApi.ts +11 -6
  173. package/src/controller/manage/UserAccountManageApi.ts +10 -4
  174. package/src/controller/manage/WorkbenchMangeApi.ts +8 -8
  175. package/src/controller/myinfo/AuthController.ts +6 -72
  176. package/src/controller/render/AppRenderController.ts +24 -21
  177. package/src/controller/test.controller.ts +18 -18
  178. package/src/index.ts +38 -4
  179. package/src/libs/crud-pro/CrudPro.ts +7 -0
  180. package/src/libs/crud-pro/defaultConfigs.ts +2 -0
  181. package/src/libs/crud-pro/interfaces.ts +10 -3
  182. package/src/libs/crud-pro/models/ExecuteContext.ts +3 -3
  183. package/src/libs/crud-pro/models/ExecuteContextFunc.ts +11 -1
  184. package/src/libs/crud-pro/models/RequestCfgModel.ts +1 -1
  185. package/src/libs/crud-pro/models/RequestModel.ts +1 -1
  186. package/src/libs/crud-pro/models/ResModel.ts +19 -0
  187. package/src/libs/crud-pro/models/SqlCfgModel.ts +2 -2
  188. package/src/libs/crud-pro/models/Transaction.ts +8 -9
  189. package/src/libs/crud-pro/models/TransactionPostgres.ts +1 -1
  190. package/src/libs/crud-pro/models/TransactionSqlServer.ts +8 -13
  191. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +32 -23
  192. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +38 -54
  193. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +26 -45
  194. package/src/libs/crud-pro/services/CrudProGenSqlService.ts +23 -40
  195. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +25 -29
  196. package/src/libs/crud-pro/services/CrudProServiceBase.ts +5 -9
  197. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +36 -9
  198. package/src/libs/crud-pro/utils/DatabaseName.ts +35 -15
  199. package/src/libs/crud-pro/utils/DateTimeUtils.ts +2 -2
  200. package/src/libs/crud-pro/utils/MixinUtils.ts +1 -1
  201. package/src/libs/crud-pro/utils/ValidateUtils.ts +1 -3
  202. package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +1 -1
  203. package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +3 -3
  204. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +3 -3
  205. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +2 -2
  206. package/src/libs/crud-pro/utils/sqlConvert/convertMix.ts +26 -0
  207. package/src/libs/global-config/global-config.ts +78 -0
  208. package/src/libs/utils/crypto-utils.ts +2 -4
  209. package/src/libs/utils/errorToString.ts +61 -0
  210. package/src/libs/utils/fatcms-request.ts +9 -21
  211. package/src/libs/utils/ordernum-utils.ts +2 -6
  212. package/src/libs/utils/parseConfig.ts +7 -15
  213. package/src/middleware/forbidden.middleware.ts +6 -25
  214. package/src/middleware/global.middleware.ts +18 -16
  215. package/src/models/AsyncTaskModel.ts +79 -0
  216. package/src/models/RedisKeys.ts +13 -0
  217. package/src/models/SystemTables.ts +1 -4
  218. package/src/models/bizmodels.ts +1 -2
  219. package/src/schedule/anonymousContext.ts +79 -0
  220. package/src/schedule/index.ts +11 -72
  221. package/src/schedule/runSchedule.ts +83 -0
  222. package/src/schedule/scheduleNames.ts +21 -0
  223. package/src/service/AuthService.ts +13 -8
  224. package/src/service/EnumInfoService.ts +8 -3
  225. package/src/service/FileCenterService.ts +12 -6
  226. package/src/service/SysConfigService.ts +10 -6
  227. package/src/service/UserAccountService.ts +14 -4
  228. package/src/service/UserSessionService.ts +5 -4
  229. package/src/service/VisitStatService.ts +57 -70
  230. package/src/service/WorkbenchService.ts +7 -2
  231. package/src/service/anyapi/AnyApiService.ts +11 -8
  232. package/src/service/asyncTask/AsyncTaskRunnerService.ts +255 -0
  233. package/src/service/asyncTask/AsyncTaskService.ts +21 -0
  234. package/src/service/base/BaseService.ts +2 -2
  235. package/src/service/crudstd/CrudStdService.ts +60 -5
  236. package/src/service/curd/CrudProQuick.ts +137 -0
  237. package/src/service/curd/CurdMixByAccountService.ts +14 -6
  238. package/src/service/curd/CurdMixByDictService.ts +8 -2
  239. package/src/service/curd/CurdMixByLinkToCustomService.ts +101 -50
  240. package/src/service/curd/CurdMixBySysConfigService.ts +7 -2
  241. package/src/service/curd/CurdMixByWorkbenchService.ts +6 -2
  242. package/src/service/curd/CurdMixService.ts +3 -3
  243. package/src/service/curd/CurdMixUtils.ts +82 -39
  244. package/src/service/curd/CurdProService.ts +45 -189
  245. package/src/service/curd/fixCfgModel.ts +139 -0
  246. package/src/service/proxyapi/ProxyApiLoadService.ts +12 -3
  247. package/src/views/404_app.html +31 -0
  248. package/src/views/404_workbench.html +34 -0
  249. package/src/views/static/favicon.ico +0 -0
  250. package/tsconfig.json +32 -0
  251. package/dist/controller/medstatistic/MedAdminController.d.ts +0 -35
  252. package/dist/controller/medstatistic/MedAdminController.js +0 -205
  253. package/dist/controller/medstatistic/MedClientController.d.ts +0 -28
  254. package/dist/controller/medstatistic/MedClientController.js +0 -188
  255. package/dist/controller/medstatistic/MedMessageService.d.ts +0 -19
  256. package/dist/controller/medstatistic/MedMessageService.js +0 -95
  257. package/dist/controller/medstatistic/MedScoreService.d.ts +0 -21
  258. package/dist/controller/medstatistic/MedScoreService.js +0 -107
  259. package/dist/controller/medstatistic/constants.d.ts +0 -32
  260. package/dist/controller/medstatistic/constants.js +0 -43
  261. package/src/controller/medstatistic/MedAdminController.ts +0 -221
  262. package/src/controller/medstatistic/MedClientController.ts +0 -188
  263. package/src/controller/medstatistic/MedMessageService.ts +0 -89
  264. package/src/controller/medstatistic/MedScoreService.ts +0 -108
  265. package/src/controller/medstatistic/constants.ts +0 -63
@@ -1,32 +0,0 @@
1
- declare const DEFAULT_SECTION_ID = 10002;
2
- declare const TARGET_OBJECT_TYPE_BBS_TOPIC = 1;
3
- declare const TARGET_OBJECT_TYPE_BBS_REPLY = 2;
4
- declare const TARGET_OBJECT_TYPE_BBS_GUIDE = 3;
5
- declare const TARGET_OBJECT_TYPE_CONTACT_US = 4;
6
- declare const TARGET_OBJECT_TYPE_USER_AUTHENTICATION = 5;
7
- export { DEFAULT_SECTION_ID, TARGET_OBJECT_TYPE_BBS_TOPIC, TARGET_OBJECT_TYPE_BBS_REPLY, TARGET_OBJECT_TYPE_BBS_GUIDE, TARGET_OBJECT_TYPE_CONTACT_US, TARGET_OBJECT_TYPE_USER_AUTHENTICATION };
8
- export declare const MED_STATISTIC_DB = "medstatistic";
9
- export declare enum MsgStatus {
10
- unread = 0,
11
- read = 1
12
- }
13
- export declare enum MsgType {
14
- unknown = 0,
15
- user_auth_pass = 1,
16
- bbs_post_be_like = 2,
17
- bbs_post_be_reply = 3,
18
- bbs_post_be_violation = 4,
19
- bbs_reply_be_like = 5,
20
- bbs_reply_be_reply = 6,
21
- bbs_reply_be_violation = 7,
22
- contact_us_be_reply = 8,
23
- bbs_post_be_favorite = 9
24
- }
25
- export declare function isMsgType(value: number): boolean;
26
- export interface IMedTargetObj {
27
- target_object_id: number;
28
- target_object_type: number;
29
- }
30
- export interface ISendUserReceivedMsg extends IMedTargetObj {
31
- msg_type: MsgType;
32
- }
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isMsgType = exports.MsgType = exports.MsgStatus = exports.MED_STATISTIC_DB = exports.TARGET_OBJECT_TYPE_USER_AUTHENTICATION = exports.TARGET_OBJECT_TYPE_CONTACT_US = exports.TARGET_OBJECT_TYPE_BBS_GUIDE = exports.TARGET_OBJECT_TYPE_BBS_REPLY = exports.TARGET_OBJECT_TYPE_BBS_TOPIC = exports.DEFAULT_SECTION_ID = void 0;
4
- const DEFAULT_SECTION_ID = 10002;
5
- exports.DEFAULT_SECTION_ID = DEFAULT_SECTION_ID;
6
- const TARGET_OBJECT_TYPE_BBS_TOPIC = 1; // bbs_topic (1)
7
- exports.TARGET_OBJECT_TYPE_BBS_TOPIC = TARGET_OBJECT_TYPE_BBS_TOPIC;
8
- const TARGET_OBJECT_TYPE_BBS_REPLY = 2; // bbs_reply (2)
9
- exports.TARGET_OBJECT_TYPE_BBS_REPLY = TARGET_OBJECT_TYPE_BBS_REPLY;
10
- const TARGET_OBJECT_TYPE_BBS_GUIDE = 3; // bbs_reply (3) // 教程
11
- exports.TARGET_OBJECT_TYPE_BBS_GUIDE = TARGET_OBJECT_TYPE_BBS_GUIDE;
12
- const TARGET_OBJECT_TYPE_CONTACT_US = 4; // // 联系我们
13
- exports.TARGET_OBJECT_TYPE_CONTACT_US = TARGET_OBJECT_TYPE_CONTACT_US;
14
- const TARGET_OBJECT_TYPE_USER_AUTHENTICATION = 5; // // 用户身份认证
15
- exports.TARGET_OBJECT_TYPE_USER_AUTHENTICATION = TARGET_OBJECT_TYPE_USER_AUTHENTICATION;
16
- exports.MED_STATISTIC_DB = "medstatistic";
17
- // 状态;0 未读, 1 已读
18
- var MsgStatus;
19
- (function (MsgStatus) {
20
- MsgStatus[MsgStatus["unread"] = 0] = "unread";
21
- MsgStatus[MsgStatus["read"] = 1] = "read"; // 增加
22
- })(MsgStatus = exports.MsgStatus || (exports.MsgStatus = {}));
23
- // 状态;0 未读, 1 已读
24
- var MsgType;
25
- (function (MsgType) {
26
- MsgType[MsgType["unknown"] = 0] = "unknown";
27
- MsgType[MsgType["user_auth_pass"] = 1] = "user_auth_pass";
28
- MsgType[MsgType["bbs_post_be_like"] = 2] = "bbs_post_be_like";
29
- MsgType[MsgType["bbs_post_be_reply"] = 3] = "bbs_post_be_reply";
30
- MsgType[MsgType["bbs_post_be_violation"] = 4] = "bbs_post_be_violation";
31
- MsgType[MsgType["bbs_reply_be_like"] = 5] = "bbs_reply_be_like";
32
- MsgType[MsgType["bbs_reply_be_reply"] = 6] = "bbs_reply_be_reply";
33
- MsgType[MsgType["bbs_reply_be_violation"] = 7] = "bbs_reply_be_violation";
34
- MsgType[MsgType["contact_us_be_reply"] = 8] = "contact_us_be_reply";
35
- MsgType[MsgType["bbs_post_be_favorite"] = 9] = "bbs_post_be_favorite";
36
- })(MsgType = exports.MsgType || (exports.MsgType = {}));
37
- function isMsgType(value) {
38
- if (typeof value === "undefined") {
39
- return false;
40
- }
41
- return Object.values(MsgType).includes(value);
42
- }
43
- exports.isMsgType = isMsgType;
@@ -1,221 +0,0 @@
1
- import {Controller, Inject, Post} from '@midwayjs/core';
2
- import {Context} from '@midwayjs/koa';
3
- import * as _ from 'lodash';
4
- import {BaseApiController} from '../base/BaseApiController';
5
- import {AuthService} from '../../service/AuthService';
6
- import {CommonResult} from '../../libs/utils/common-dto';
7
- import {WorkbenchService} from "../../service/WorkbenchService";
8
- import {checkPermission} from "../../middleware/permission.middleware";
9
- import {SysConfigService} from "../../service/SysConfigService";
10
- import {parseJsonObject} from "../../libs/utils/functions";
11
- import {CommonException} from "../../libs/crud-pro/exceptions";
12
- import { KeysOfSimpleSQL } from "../../libs/crud-pro/models/keys";
13
- import {generateOrderNumber} from "../../libs/utils/ordernum-utils";
14
- import {MedScoreService, UpdateScorePM} from "./MedScoreService";
15
- import {DateTimeUtils} from "../../libs/crud-pro/utils/DateTimeUtils";
16
- import {MedMessageService} from "./MedMessageService";
17
- import {TARGET_OBJECT_TYPE_USER_AUTHENTICATION, MsgType} from "./constants";
18
-
19
-
20
- const MED_STATISTIC_DB = "medstatistic";
21
-
22
- interface IUserRechargeRule {
23
- score: number;
24
- authentication_score: number;
25
- recharge_package: any[];
26
- vip_package: any[]
27
- }
28
-
29
- /**
30
- * medstatistic 管理端
31
- */
32
- @Controller('/ns/api/medadmin')
33
- export class MedAdminController extends BaseApiController {
34
- @Inject()
35
- protected ctx: Context;
36
-
37
- @Inject()
38
- protected authService: AuthService;
39
-
40
- @Inject()
41
- protected workbenchService: WorkbenchService;
42
-
43
- @Inject()
44
- protected sysConfigService: SysConfigService;
45
-
46
- @Inject()
47
- protected medScoreService: MedScoreService;
48
-
49
- @Inject()
50
- protected medMessageService: MedMessageService;
51
-
52
- /**
53
- * 审批后自动充值30个积分
54
- */
55
- @Post('/recharge_by_authentication_success', {middleware: [checkPermission("BizOperationUserAdmin")]})
56
- async recharge_by_authentication_success(): Promise<CommonResult> {
57
- const body = this.ctx.request.body as any; // {user_id}
58
- const user_id = parseInt(body.user_id); // med的C端用户user_id
59
- if (!user_id) {
60
- throw new CommonException("user_id不存在")
61
- }
62
-
63
-
64
- const authRes = await this.curdMixService.executeCrudByCfg({
65
- condition: {
66
- user_id: user_id,
67
- },
68
- },
69
- {
70
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
71
- sqlTable: "fa_user_authentication",
72
- sqlDatabase: MED_STATISTIC_DB,
73
- });
74
-
75
-
76
- const authResOne = authRes.getOneObj();
77
- if (!authResOne || `${authResOne.status}` !== '1') {
78
- throw new CommonException("未提交认证资料或认证审批未通过")
79
- }
80
-
81
- const RECHARGE_TYPE_FOR_AUTH = '3';
82
-
83
- // 查询之前有没有通过积分认证获得积分
84
- const fa_user_rechargeRes = await this.curdMixService.executeCrudByCfg({
85
- condition: {
86
- user_id: user_id,
87
- type: RECHARGE_TYPE_FOR_AUTH
88
- },
89
- },
90
- {
91
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
92
- sqlTable: "fa_user_recharge",
93
- sqlDatabase: MED_STATISTIC_DB,
94
- });
95
-
96
-
97
- const fa_user_rechargeResOne = fa_user_rechargeRes.getOneObj();
98
- if (fa_user_rechargeResOne) {
99
- return CommonResult.errorRes("用户已经获得认证积分");
100
- }
101
-
102
-
103
- const rechargeRule = await this.get_med_user_recharge_rule();
104
-
105
- // 插入充值记录
106
- await this.curdMixService.executeCrudByCfg({
107
- data: {
108
- user_id: user_id,
109
- type: RECHARGE_TYPE_FOR_AUTH,
110
- paid:1,
111
- order_no: generateOrderNumber('CZ'),
112
- money: 0,
113
- score: rechargeRule.authentication_score,
114
- pay_time: DateTimeUtils.getCurrentTimeStampSecond(),
115
- createtime: DateTimeUtils.getCurrentTimeStampSecond(),
116
- },
117
- },
118
- {
119
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_INSERT,
120
- sqlTable: "fa_user_recharge",
121
- sqlDatabase: MED_STATISTIC_DB,
122
- });
123
-
124
-
125
- // 查询用户信息
126
- const userRes = await this.curdMixService.executeCrudByCfg({
127
- condition: {
128
- id: user_id,
129
- },
130
- },
131
- {
132
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
133
- sqlTable: "fa_user",
134
- sqlDatabase: MED_STATISTIC_DB,
135
- });
136
- const userOne = userRes.getOneObj();
137
- if (!userOne) {
138
- return CommonResult.errorRes("用户信息没有查询到");
139
- }
140
-
141
- // 更新用户日志。
142
- await this.medScoreService.updateScore(user_id, UpdateScorePM.increase, rechargeRule.authentication_score, "用户认证通过获得积分")
143
-
144
- // 更新认证状态
145
- await this.curdMixService.executeCrudByCfg({
146
- condition: {
147
- id: user_id,
148
- },
149
- data: {
150
- is_authentication: 1
151
- }
152
- },
153
- {
154
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_UPDATE,
155
- sqlTable: "fa_user",
156
- sqlDatabase: MED_STATISTIC_DB,
157
- });
158
-
159
-
160
-
161
-
162
- // 发送消息
163
- // title:string, content: string, received_by: string | number, msgObj: ISendUserReceivedMsg
164
- const title = "您的身份认证请求,已经审批通过";
165
- await this.medMessageService.insertMessage(title, title, user_id, {
166
- target_object_id: authResOne.id,
167
- target_object_type: TARGET_OBJECT_TYPE_USER_AUTHENTICATION,
168
- msg_type: MsgType.user_auth_pass
169
- });
170
-
171
- return CommonResult.successMsg('用户认证审批通过获得积分' + rechargeRule.authentication_score);
172
- }
173
-
174
-
175
- /**
176
- * 将DB中的数据同步到Redis,因为PHP的程序需要。
177
- */
178
- @Post('/sync_med_user_recharge_rule_to_redis', {middleware: [checkPermission("BizOperationUserAdmin")]})
179
- async sync_med_user_recharge_rule_to_redis() {
180
- const ruleObj = await this.get_med_user_recharge_rule();
181
- await this.redisService.set("score", ruleObj.score);
182
- await this.redisService.set("authentication_score", ruleObj.authentication_score);
183
- await this.redisService.set("recharge_package", JSON.stringify(ruleObj.recharge_package.map((obj0) => {
184
- const obj:any = {}
185
- obj.score = "" + obj0.score;
186
- obj.price = "" + obj0.price;
187
- return obj;
188
- })));
189
- await this.redisService.set("vip_package", JSON.stringify(ruleObj.vip_package.map((obj0) => {
190
- const obj:any = {}
191
- obj.score = "" + obj0.score;
192
- obj.day = "" + obj0.day;
193
- return obj;
194
- })));
195
-
196
- return CommonResult.successRes("SUCCESS")
197
- }
198
-
199
-
200
- async get_med_user_recharge_rule(): Promise<IUserRechargeRule> {
201
-
202
- const rowObj = await this.sysConfigService.getSysConfigOne("med_user_recharge_rule");
203
-
204
- const configContentObj = parseJsonObject(rowObj.config_content)
205
- const configContentData = configContentObj.data || {};
206
- const recharge_package = configContentData.recharge_package || [];
207
- const vip_package = configContentData.vip_package || [];
208
-
209
- const authentication_score: number = Number(_.get(configContentData, 'score_setting.authentication_score')) || 30
210
- const score: number = Number(_.get(configContentData, 'score_setting.score')) || 1
211
-
212
- return {
213
- score,
214
- authentication_score,
215
- recharge_package,
216
- vip_package
217
- }
218
- }
219
-
220
-
221
- }
@@ -1,188 +0,0 @@
1
- import { Controller, Inject, Post } from '@midwayjs/core';
2
- import { Context } from '@midwayjs/koa';
3
- import { BaseApiController } from '../base/BaseApiController';
4
- import { AuthService } from '../../service/AuthService';
5
- import { CommonResult } from '../../libs/utils/common-dto';
6
- import {WorkbenchService} from "../../service/WorkbenchService";
7
- import {KeysOfSimpleSQL} from "../../libs/crud-pro/models/keys";
8
- import {MedMessageService} from "./MedMessageService";
9
- import {CurdProService} from "../../service/curd/CurdProService";
10
- import {ISendUserReceivedMsg, MsgType, TARGET_OBJECT_TYPE_BBS_REPLY, TARGET_OBJECT_TYPE_BBS_TOPIC} from "./constants";
11
- import {checkLogin} from "../../middleware/permission.middleware";
12
- const MED_STATISTIC_DB = "medstatistic";
13
-
14
- /**
15
- * medstatistic 用户端
16
- */
17
- @Controller('/ns/api/medclient' , {middleware: [checkLogin()]})
18
- export class MedClientController extends BaseApiController {
19
- @Inject()
20
- protected ctx: Context;
21
-
22
- @Inject()
23
- protected authService: AuthService;
24
-
25
- @Inject()
26
- protected workbenchService: WorkbenchService;
27
-
28
- @Inject()
29
- protected curdProService: CurdProService;
30
-
31
- @Inject()
32
- protected medMessageService: MedMessageService;
33
-
34
- /**
35
- * 充值
36
- */
37
- @Post('/recharge')
38
- async recharge(): Promise<CommonResult> {
39
- // const body = this.ctx.request.body as any; // {user_id}
40
- // const pay_type = body.pay_type; // 类型:1=微信,2=支付宝,3=授权
41
- // const recharge_type = body.recharge_type; // 充值方式:1=套餐,2=自定义积分
42
- // const package_price = body.package_price; // 套餐充值 package_price 元人民币
43
- // const custom_score = body.custom_score; // 自定义充值 custom_score 元人民币
44
- //
45
- //
46
- return null;
47
- }
48
-
49
-
50
-
51
- /**
52
- * 获取用户收到的消息。只需要登录即可
53
- */
54
- @Post('/send_user_received_message')
55
- async send_user_received_message(): Promise<CommonResult> {
56
- const msgObj = this.ctx.request.body as any as ISendUserReceivedMsg; // {user_id}
57
- const { msg_type , target_object_id, target_object_type} = msgObj || {}
58
-
59
- // title:string, content: string, received_by: string | number, msgObj: ISendUserReceivedMsg
60
-
61
- if (target_object_type === TARGET_OBJECT_TYPE_BBS_TOPIC) {
62
- const topicObj = await this.getBBSTopic(target_object_id)
63
- // 点赞了一篇帖子,发送消息 给作者
64
- if ( msg_type === MsgType.bbs_post_be_like) {
65
- const title = "您的帖子收到了点赞"
66
- const content = `《${topicObj.title}》`
67
- await this.medMessageService.insertMessage(title,content,topicObj.created_by, msgObj);
68
- return CommonResult.successRes("OK");
69
- }
70
-
71
- // 回复了一篇帖子,发送消息 给作者
72
- if ( msg_type === MsgType.bbs_post_be_reply) {
73
- const title = "您的帖子收到了回复"
74
- const content = `《${topicObj.title}》`
75
- await this.medMessageService.insertMessage(title,content,topicObj.created_by, msgObj);
76
- return CommonResult.successRes("OK");
77
- }
78
-
79
- // 回复帖子被判定为违规
80
- if ( msg_type === MsgType.bbs_post_be_violation) {
81
- const title = "您的帖子被判定为违规"
82
- const content = `《${topicObj.title}》`
83
- await this.medMessageService.insertMessage(title,content,topicObj.created_by, msgObj);
84
- return CommonResult.successRes("OK");
85
- }
86
-
87
- // 您的帖子被收藏
88
- if ( msg_type === MsgType.bbs_post_be_favorite) {
89
- const title = "您的帖子被收藏"
90
- const content = `《${topicObj.title}》`
91
- await this.medMessageService.insertMessage(title,content,topicObj.created_by, msgObj);
92
- return CommonResult.successRes("OK");
93
- }
94
- }
95
-
96
-
97
- if (target_object_type === TARGET_OBJECT_TYPE_BBS_REPLY) {
98
- const topicObj = await this.getBBSReply(target_object_id)
99
- // 点赞了一篇帖子,发送消息 给作者
100
- if ( msg_type === MsgType.bbs_reply_be_like) {
101
- const title = "您的评论收到了点赞"
102
- const content = `《${topicObj.title}》`
103
- await this.medMessageService.insertMessage(title,content,topicObj.created_by, msgObj);
104
- return CommonResult.successRes("OK");
105
- }
106
-
107
- // 回复了一篇帖子,发送消息 给作者
108
- if ( msg_type === MsgType.bbs_reply_be_reply) {
109
- const title = "您的评论收到了回复"
110
- const content = `《${topicObj.title}》`
111
- await this.medMessageService.insertMessage(title,content,topicObj.created_by, msgObj);
112
- return CommonResult.successRes("OK");
113
- }
114
-
115
- // 回复帖子被判定为违规
116
- if ( msg_type === MsgType.bbs_reply_be_violation) {
117
- const title = "您的评论被判定为违规"
118
- const content = `《${topicObj.title}》`
119
- await this.medMessageService.insertMessage(title,content,topicObj.created_by, msgObj);
120
- return CommonResult.successRes("OK");
121
- }
122
- }
123
-
124
-
125
-
126
- // 联系我们 收到了回复
127
- if (msg_type === MsgType.contact_us_be_reply) {
128
- const contactObj = await this.get_fa_contact(target_object_id);
129
- this.logInfo("contact_us_be_reply==> " + JSON.stringify(contactObj));
130
- if (contactObj && contactObj.created_by) {
131
- const title = "您的主动联系收到了回复"
132
- const content = contactObj.mark || "";
133
- await this.medMessageService.insertMessage(title,content,contactObj.created_by, msgObj);
134
- return CommonResult.successRes("OK");
135
- }
136
- }
137
-
138
-
139
- return CommonResult.successRes("NULL");
140
- }
141
-
142
-
143
- private async get_fa_contact(fa_contact_id: number){
144
- const topicRes = await this.curdMixService.executeCrudByCfg({
145
- condition: {
146
- id: fa_contact_id,
147
- },
148
- },
149
- {
150
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
151
- sqlTable: "fa_contact",
152
- sqlDatabase: MED_STATISTIC_DB,
153
- });
154
- return topicRes.getOneObj();
155
- }
156
-
157
- private async getBBSTopic(topicId: number){
158
- const topicRes = await this.curdMixService.executeCrudByCfg({
159
- condition: {
160
- id: topicId,
161
- },
162
- },
163
- {
164
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
165
- sqlTable: "fatbiz_bbs_topic",
166
- sqlDatabase: MED_STATISTIC_DB,
167
- });
168
- return topicRes.getOneObj();
169
- }
170
-
171
-
172
- private async getBBSReply(replyId: number){
173
- const topicRes = await this.curdMixService.executeCrudByCfg({
174
- condition: {
175
- id: replyId,
176
- },
177
- },
178
- {
179
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
180
- sqlTable: "fatbiz_bbs_replies",
181
- sqlDatabase: MED_STATISTIC_DB,
182
- });
183
- return topicRes.getOneObj();
184
- }
185
-
186
-
187
-
188
- }
@@ -1,89 +0,0 @@
1
- import {Inject,Provide} from '@midwayjs/core';
2
- import {Context} from '@midwayjs/koa';
3
- import {AuthService} from '../../service/AuthService';
4
- import {WorkbenchService} from "../../service/WorkbenchService";
5
- import {SysConfigService} from "../../service/SysConfigService";
6
- import {KeysOfSimpleSQL} from "../../libs/crud-pro/models/keys";
7
- import {BaseService} from "../../service/base/BaseService";
8
- import {CurdProService} from "../../service/curd/CurdProService";
9
- import * as md5 from 'md5';
10
- import {CommonException} from "../../libs/crud-pro/exceptions";
11
- import {ISendUserReceivedMsg, isMsgType, MED_STATISTIC_DB, MsgStatus} from "./constants";
12
-
13
-
14
- /**
15
- * medstatistic 管理端
16
- */
17
- @Provide()
18
- export class MedMessageService extends BaseService {
19
- @Inject()
20
- protected ctx: Context;
21
-
22
- @Inject()
23
- protected authService: AuthService;
24
-
25
- @Inject()
26
- protected workbenchService: WorkbenchService;
27
-
28
- @Inject()
29
- protected sysConfigService: SysConfigService;
30
-
31
- @Inject()
32
- protected curdProService: CurdProService;
33
-
34
-
35
- async insertMessage(title:string, content: string, received_by: string | number, msgObj: ISendUserReceivedMsg): Promise<any> {
36
- try {
37
- return this.insertMessageInner(title,content,received_by,msgObj);
38
- } catch (e) {
39
- this.logWarn("[MedMessageService]insertMessageInner失败",e)
40
- return Promise.resolve(e);
41
- }
42
- }
43
-
44
- private async insertMessageInner(title:string, content: string, received_by: string | number, msgObj: ISendUserReceivedMsg): Promise<any> {
45
-
46
- if (!isMsgType(msgObj.msg_type)) {
47
- throw new CommonException("PARAM_IS_NOT_VALID","msg_type 不正确");
48
- }
49
-
50
- const msg_type = msgObj.msg_type;
51
-
52
- const userInfo = this.ctx.userSession.getSessionInfo();
53
-
54
-
55
- const msg_key = md5(`${userInfo.accountId}_${userInfo.accountType}_${received_by}_${msg_type}_${msgObj.target_object_type}_${msgObj.target_object_id}`);
56
-
57
- // 插入日志
58
- const insertMessageRes = await this.curdProService.executeCrudByCfg({
59
- data: {
60
- title: title,
61
- content: content,
62
- content_length: content.length,
63
- msg_status: MsgStatus.unread,
64
- msg_type: msg_type,
65
- msg_key: msg_key,
66
- status: 1,
67
- target_object_type: msgObj.target_object_type,
68
- target_object_id: msgObj.target_object_id,
69
- received_by: received_by,
70
- received_account_type: 'medstatistic', // 接收用户只能是
71
- created_by: userInfo.accountId,
72
- created_account_type: userInfo.accountType,
73
- created_nickname: userInfo.nickName,
74
- created_avatar: userInfo.avatar,
75
- }
76
- },
77
- {
78
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_INSERT,
79
- sqlTable: "fatbiz_bbs_message",
80
- sqlDatabase: MED_STATISTIC_DB,
81
- });
82
-
83
-
84
- return {
85
- insertMessageRes,
86
- }
87
- }
88
-
89
- }
@@ -1,108 +0,0 @@
1
- import {Inject,Provide} from '@midwayjs/core';
2
- import {Context} from '@midwayjs/koa';
3
- import {AuthService} from '../../service/AuthService';
4
- import {WorkbenchService} from "../../service/WorkbenchService";
5
- import {SysConfigService} from "../../service/SysConfigService";
6
- import {CommonException} from "../../libs/crud-pro/exceptions";
7
- import {KeysOfSimpleSQL} from "../../libs/crud-pro/models/keys";
8
- import {BaseService} from "../../service/base/BaseService";
9
- import {CurdProService} from "../../service/curd/CurdProService";
10
-
11
-
12
- const MED_STATISTIC_DB = "medstatistic";
13
-
14
-
15
-
16
- // 类型:1=增加,0=减少
17
- export enum UpdateScorePM {
18
- decrease = 0, // 减少
19
- increase = 1 // 增加
20
- }
21
-
22
-
23
- /**
24
- * medstatistic 管理端
25
- */
26
- @Provide()
27
- export class MedScoreService extends BaseService {
28
- @Inject()
29
- protected ctx: Context;
30
-
31
- @Inject()
32
- protected authService: AuthService;
33
-
34
- @Inject()
35
- protected workbenchService: WorkbenchService;
36
-
37
- @Inject()
38
- protected sysConfigService: SysConfigService;
39
-
40
- @Inject()
41
- protected curdProService: CurdProService;
42
-
43
-
44
-
45
- async updateScore(user_id:number, pm: UpdateScorePM, score: number, memo: string): Promise<any> {
46
-
47
- // 查询用户信息
48
- const userRes = await this.curdProService.executeCrudByCfg({
49
- condition: {
50
- id: user_id,
51
- },
52
- },
53
- {
54
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
55
- sqlTable: "fa_user",
56
- sqlDatabase: MED_STATISTIC_DB,
57
- });
58
- const userOne = userRes.getOneObj();
59
-
60
- if (!userOne) {
61
- throw new CommonException('USER_NOT_EXIST',"用户信息没有查询到")
62
- }
63
-
64
- const beforeScore = Math.max(0, parseInt(userOne.score) || 0);
65
-
66
- const afterScore = pm === UpdateScorePM.decrease ? (beforeScore - score): (beforeScore + score);
67
-
68
- // 插入日志
69
- const insertLogRes = await this.curdProService.executeCrudByCfg({
70
- data: {
71
- user_id: user_id,
72
- pm: pm,
73
- score: score,
74
- before: beforeScore,
75
- after: afterScore,
76
- memo: memo,
77
- createtime: Math.floor(Date.now() / 1000),
78
- }
79
- },
80
- {
81
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_INSERT,
82
- sqlTable: "fa_user_score_log",
83
- sqlDatabase: MED_STATISTIC_DB,
84
- });
85
-
86
- // 更新User余额
87
- const updateUserRes = await this.curdProService.executeCrudByCfg({
88
- condition: {
89
- id: user_id,
90
- },
91
- data: {
92
- score: afterScore,
93
- }
94
- },
95
- {
96
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_UPDATE,
97
- sqlTable: "fa_user",
98
- sqlDatabase: MED_STATISTIC_DB,
99
- });
100
-
101
-
102
- return {
103
- insertLogRes,
104
- updateUserRes
105
- }
106
- }
107
-
108
- }