owl-cli 6.214.0 → 7.0.0

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 (191) hide show
  1. package/examples/models/owlsys/backendSession.json +52 -0
  2. package/examples/models/owlsys/orgBatch/org_admin_batch_import/api/src/eventhandlers/afterAdd.jsx +10 -0
  3. package/examples/models/owlsys/orgBatch/org_admin_batch_import/api/src/tasks/batchImport.jsx +318 -0
  4. package/examples/models/owlsys/orgBatch/org_admin_batch_import.json +75 -0
  5. package/examples/models/owlsys/orgBatch/org_batch_export/api/src/eventhandlers/batchExport.jsx +24 -0
  6. package/examples/models/owlsys/orgBatch/org_batch_export/api/src/tasks/batchExport.jsx +375 -0
  7. package/examples/models/owlsys/orgBatch/org_batch_export.json +102 -0
  8. package/examples/models/owlsys/orgBatch/org_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
  9. package/examples/models/owlsys/orgBatch/org_batch_import/api/src/plugins/downTemplate.jsx +79 -0
  10. package/examples/models/owlsys/orgBatch/org_batch_import/api/src/tasks/batchImport.jsx +424 -0
  11. package/examples/models/owlsys/orgBatch/org_batch_import.json +82 -0
  12. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/eventhandlers/batchUpdate.jsx +24 -0
  13. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/plugins/downTemplate.jsx +54 -0
  14. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/tasks/batchUpdate.jsx +924 -0
  15. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid.json +82 -0
  16. package/examples/models/owlsys/orgBatch/org_batch_update/api/src/eventhandlers/batchUpdate.jsx +24 -0
  17. package/examples/models/owlsys/orgBatch/org_batch_update/api/src/plugins/downTemplate.jsx +79 -0
  18. package/examples/models/owlsys/orgBatch/org_batch_update/api/src/tasks/batchUpdate.jsx +472 -0
  19. package/examples/models/owlsys/orgBatch/org_batch_update.json +81 -0
  20. package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/eventhandlers/batchUpdate.jsx +24 -0
  21. package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/plugins/downTemplate.jsx +54 -0
  22. package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/tasks/batchUpdate.jsx +509 -0
  23. package/examples/models/owlsys/orgBatch/org_batch_update_parentid.json +82 -0
  24. package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/eventhandlers/batchUpdate.jsx +24 -0
  25. package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/plugins/downTemplate.jsx +61 -0
  26. package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/tasks/doUpdateTask.jsx +299 -0
  27. package/examples/models/owlsys/orgBatch/org_batch_update_state.json +81 -0
  28. package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
  29. package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/plugins/downTemplate.jsx +52 -0
  30. package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/tasks/batchImport.jsx +297 -0
  31. package/examples/models/owlsys/orgBatch/orguser_batch_import.json +82 -0
  32. package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/eventhandlers/batchImport.jsx +24 -0
  33. package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/plugins/downTemplate.jsx +58 -0
  34. package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/tasks/batchUpdate.jsx +345 -0
  35. package/examples/models/owlsys/orgBatch/orguser_batch_update.json +82 -0
  36. package/examples/models/owlsys/organization/business_circle.json +144 -0
  37. package/examples/models/owlsys/organization/business_circle_application.json +50 -0
  38. package/examples/models/owlsys/organization/createSiteOrder.json +50 -0
  39. package/examples/models/owlsys/organization/entity.json +64 -0
  40. package/examples/models/owlsys/organization/merchant_apply/api/src/plugins/doCertifyToNotPass.jsx +68 -0
  41. package/examples/models/owlsys/organization/merchant_apply/api/src/plugins/doCertifyToPass.jsx +135 -0
  42. package/examples/models/owlsys/organization/merchant_apply.json +561 -0
  43. package/examples/models/owlsys/organization/merchant_user.json +55 -0
  44. package/examples/models/owlsys/organization/orgAdminGroups.json +179 -0
  45. package/examples/models/owlsys/organization/org_admin_groups/api/src/plugins/addUserToGroup.jsx +65 -0
  46. package/examples/models/owlsys/organization/org_admin_groups/api/src/plugins/createNewUser.jsx +9 -0
  47. package/examples/models/owlsys/organization/org_certify_log/api/src/plugins/doCertifyToNotPass.jsx +66 -0
  48. package/examples/models/owlsys/organization/org_certify_log/api/src/plugins/doCertifyToPass.jsx +94 -0
  49. package/examples/models/owlsys/organization/org_certify_log.json +78 -0
  50. package/examples/models/owlsys/organization/org_entity.json +60 -0
  51. package/examples/models/owlsys/organization/org_modules.json +117 -0
  52. package/examples/models/owlsys/organization/org_source.json +30 -0
  53. package/examples/models/owlsys/organization/org_user.json +81 -0
  54. package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/doCheckBeforeAddOrUpdate.jsx +32 -0
  55. package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/doCheckBeforeDelete.jsx +19 -0
  56. package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/setIdByOrgType.jsx +47 -0
  57. package/examples/models/owlsys/organization/orgs/api/src/plugins/toOrg.jsx +48 -0
  58. package/examples/models/owlsys/organization/orgs.json +671 -0
  59. package/examples/models/owlsys/organization/platformAdminGroups.json +78 -0
  60. package/examples/models/owlsys/organization/website/api/src/plugins/syncToOrg.jsx +27 -0
  61. package/examples/models/owlsys/organization/website.json +104 -0
  62. package/examples/models/owlsys/permissions/permission.json +165 -0
  63. package/examples/models/owlsys/permissions/roles.json +48 -0
  64. package/examples/models/owlsys/permissions/tablelevelpermission.json +42 -0
  65. package/examples/models/owlsys/server_token.json +38 -0
  66. package/examples/models/owlsys/session.json +57 -0
  67. package/examples/models/owlsys/tasks/process_job.json +94 -0
  68. package/examples/models/owlsys/tasks/process_job_checklog.json +66 -0
  69. package/examples/models/owlsys/tasks/process_job_log.json +34 -0
  70. package/examples/models/owlsys/user/address.json +52 -0
  71. package/examples/models/owlsys/user/mall_u/api/src/plugins/changePassword.jsx +133 -0
  72. package/examples/models/owlsys/user/mall_u_category/api/src/eventHandlers/autoSetFullPath_addAfter.jsx +25 -0
  73. package/examples/models/owlsys/user/mall_u_category/api/src/eventHandlers/autoSetFullPath_updateBefore.jsx +23 -0
  74. package/examples/models/owlsys/user/mall_user_logout/api/src/eventhandlers/updateUserState.jsx +25 -0
  75. package/examples/models/owlsys/user/org_user_address.json +46 -0
  76. package/examples/models/owlsys/user/org_user_address_default.json +48 -0
  77. package/examples/models/owlsys/user/org_user_invoice.json +56 -0
  78. package/examples/models/owlsys/user/user.json +458 -0
  79. package/examples/models/owlsys/user/user_address.json +46 -0
  80. package/examples/models/owlsys/user/user_address_default.json +48 -0
  81. package/examples/models/owlsys/user/user_batch_base_export/api/src/eventhandlers/batchExport.jsx +24 -0
  82. package/examples/models/owlsys/user/user_batch_base_export/api/src/tasks/batchExport.jsx +240 -0
  83. package/examples/models/owlsys/user/user_batch_base_export.json +97 -0
  84. package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/eventhandlers/batchExport.jsx +24 -0
  85. package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/plugins/downTemplate.jsx +47 -0
  86. package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/tasks/batchExportTask.jsx +208 -0
  87. package/examples/models/owlsys/user/user_batch_export_bigmember_info.json +83 -0
  88. package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/eventhandlers/batchExport.jsx +24 -0
  89. package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/plugins/downTemplate.jsx +44 -0
  90. package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/tasks/batchExportTask.jsx +262 -0
  91. package/examples/models/owlsys/user/user_batch_export_by_userid.json +83 -0
  92. package/examples/models/owlsys/user/user_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
  93. package/examples/models/owlsys/user/user_batch_import/api/src/tasks/doAddUserTask.jsx +250 -0
  94. package/examples/models/owlsys/user/user_batch_import.json +76 -0
  95. package/examples/models/owlsys/user/user_batch_update_category/api/src/eventhandlers/batchUpdate.jsx +24 -0
  96. package/examples/models/owlsys/user/user_batch_update_category/api/src/tasks/doUpdateUserTask.jsx +191 -0
  97. package/examples/models/owlsys/user/user_batch_update_category.json +77 -0
  98. package/examples/models/owlsys/user/user_batch_update_password/api/src/eventhandlers/batchUpdate.jsx +24 -0
  99. package/examples/models/owlsys/user/user_batch_update_password/api/src/plugins/downTemplate.jsx +48 -0
  100. package/examples/models/owlsys/user/user_batch_update_password/api/src/tasks/doUpdateUserTask.jsx +140 -0
  101. package/examples/models/owlsys/user/user_batch_update_password.json +82 -0
  102. package/examples/models/owlsys/user/user_batch_update_state/api/src/eventhandlers/batchUpdate.jsx +24 -0
  103. package/examples/models/owlsys/user/user_batch_update_state/api/src/tasks/doUpdateUserTask.jsx +140 -0
  104. package/examples/models/owlsys/user/user_batch_update_state.json +75 -0
  105. package/examples/models/owlsys/user/user_category.json +96 -0
  106. package/examples/models/owlsys/user/user_education.json +56 -0
  107. package/examples/models/owlsys/user/user_income.json +56 -0
  108. package/examples/models/owlsys/user/user_industry.json +56 -0
  109. package/examples/models/owlsys/user/user_invoice.json +88 -0
  110. package/examples/models/owlsys/user/user_logout.json +65 -0
  111. package/examples/models/owlsys/user/user_purchased_merchant.json +41 -0
  112. package/examples/models/owlsys/user/user_source.json +57 -0
  113. package/examples/models/owlsys/user/user_third_openid.json +64 -0
  114. package/examples/models/owlsys/user/user_third_openid_source.json +55 -0
  115. package/examples/models/owlsys/user/user_update_log.json +69 -0
  116. package/examples/models/owlsys/user_logs/app_logs.json +48 -0
  117. package/examples/models/owlsys/user_logs/history_p.json +77 -0
  118. package/examples/models/owlsys/user_logs/recent_apps.json +37 -0
  119. package/examples/models/owlsys/user_logs/user_login_error_log.json +65 -0
  120. package/examples/models/owlsys/user_logs/user_login_log.json +64 -0
  121. package/examples/owlsysApps/commonService/build.xml +29 -0
  122. package/examples/owlsysApps/commonService/src/meta.json +10 -0
  123. package/examples/owlsysApps/commonService/src/services/BackendSessionUtil.jsx +84 -0
  124. package/examples/owlsysApps/commonService/src/services/CommonUtil.jsx +165 -0
  125. package/examples/owlsysApps/commonService/src/services/LoginUtil.jsx +44 -0
  126. package/examples/owlsysApps/commonService/src/services/PasswordUtil.jsx +62 -0
  127. package/examples/owlsysApps/commonService/src/services/SessionUtil.jsx +87 -0
  128. package/examples/owlsysApps/owlPermission/build.xml +29 -0
  129. package/examples/owlsysApps/owlPermission/src/icon.png +0 -0
  130. package/examples/owlsysApps/owlPermission/src/meta.json +9 -0
  131. package/examples/owlsysApps/owlPermission/src/services/RolesService.jsx +173 -0
  132. package/examples/owlsysApps/owlPermission/src/services/permissionService.jsx +93 -0
  133. package/examples/owlsysApps/owlShell/build.xml +28 -0
  134. package/examples/owlsysApps/owlShell/package-lock.json +3 -0
  135. package/examples/owlsysApps/owlShell/src/consts.jsx +36 -0
  136. package/examples/owlsysApps/owlShell/src/handlers/add_app_log.jsx +31 -0
  137. package/examples/owlsysApps/owlShell/src/handlers/changePassword.jsx +54 -0
  138. package/examples/owlsysApps/owlShell/src/handlers/getCurrentOrg.jsx +45 -0
  139. package/examples/owlsysApps/owlShell/src/handlers/getCurrentUser.jsx +168 -0
  140. package/examples/owlsysApps/owlShell/src/handlers/getPermissions.jsx +39 -0
  141. package/examples/owlsysApps/owlShell/src/handlers/getRoles.jsx +10 -0
  142. package/examples/owlsysApps/owlShell/src/handlers/getSpec.jsx +65 -0
  143. package/examples/owlsysApps/owlShell/src/handlers/getViewTemplate.jsx +53 -0
  144. package/examples/owlsysApps/owlShell/src/handlers/get_recent_apps.jsx +45 -0
  145. package/examples/owlsysApps/owlShell/src/handlers/leftMenuHandler.jsx +360 -0
  146. package/examples/owlsysApps/owlShell/src/handlers/loadSettings.jsx +32 -0
  147. package/examples/owlsysApps/owlShell/src/handlers/login.jsx +400 -0
  148. package/examples/owlsysApps/owlShell/src/handlers/logout.jsx +27 -0
  149. package/examples/owlsysApps/owlShell/src/handlers/meanLogin.jsx +231 -0
  150. package/examples/owlsysApps/owlShell/src/handlers/organization/create_site.jsx +52 -0
  151. package/examples/owlsysApps/owlShell/src/handlers/organization/getSiteOrder.jsx +32 -0
  152. package/examples/owlsysApps/owlShell/src/handlers/organization/getUserSites.jsx +29 -0
  153. package/examples/owlsysApps/owlShell/src/handlers/organization/getWebSite.jsx +49 -0
  154. package/examples/owlsysApps/owlShell/src/handlers/organization/saveSite.jsx +42 -0
  155. package/examples/owlsysApps/owlShell/src/handlers/refreshApps.jsx +533 -0
  156. package/examples/owlsysApps/owlShell/src/handlers/set_recent_apps.jsx +44 -0
  157. package/examples/owlsysApps/owlShell/src/handlers/switchOrgs.jsx +99 -0
  158. package/examples/owlsysApps/owlShell/src/handlers/switchRole.jsx +64 -0
  159. package/examples/owlsysApps/owlShell/src/icon.png +0 -0
  160. package/examples/owlsysApps/owlShell/src/include/checklogin.jsx +108 -0
  161. package/examples/owlsysApps/owlShell/src/jobs/create_site_jobs.jsx +172 -0
  162. package/examples/owlsysApps/owlShell/src/jobs/refresh_apps_jobs.jsx +628 -0
  163. package/examples/owlsysApps/owlShell/src/meta.json +16 -0
  164. package/examples/owlsysApps/owlShell/src/pages/addHistory.jsx +35 -0
  165. package/examples/owlsysApps/owlShell/src/pages/common/include_head.jsx +8 -0
  166. package/examples/owlsysApps/owlShell/src/pages/common/include_head.jsxp +4 -0
  167. package/examples/owlsysApps/owlShell/src/pages/home.html +0 -0
  168. package/examples/owlsysApps/owlShell/src/pages/index.jsx +39 -0
  169. package/examples/owlsysApps/owlShell/src/pages/index.jsxp +16 -0
  170. package/examples/owlsysApps/owlShell/src/pages/leftMenu.jsx +204 -0
  171. package/examples/owlsysApps/owlShell/src/pages/leftMenu.jsxp +84 -0
  172. package/examples/owlsysApps/owlShell/src/pages/logOut.jsx +35 -0
  173. package/examples/owlsysApps/owlShell/src/pages/login/checkShopAdmin.jsx +69 -0
  174. package/examples/owlsysApps/owlShell/src/pages/login/checkWarehouseAdmin.jsx +66 -0
  175. package/examples/owlsysApps/owlShell/src/pages/login/shopLogin.jsx +14 -0
  176. package/examples/owlsysApps/owlShell/src/pages/login/shopLogin.jsxp +99 -0
  177. package/examples/owlsysApps/owlShell/src/pages/login/shopLoginOk.jsx +85 -0
  178. package/examples/owlsysApps/owlShell/src/pages/login/warehouseLogin.jsx +13 -0
  179. package/examples/owlsysApps/owlShell/src/pages/login/warehouseLogin.jsxp +100 -0
  180. package/examples/owlsysApps/owlShell/src/pages/login/warehouseLoginOk.jsx +72 -0
  181. package/examples/owlsysApps/owlShell/src/pages/main.jsx +34 -0
  182. package/examples/owlsysApps/owlShell/src/pages/main.jsxp +84 -0
  183. package/examples/owlsysApps/owlShell/src/pages/subMain.jsx +23 -0
  184. package/examples/owlsysApps/owlShell/src/pages/subMain.jsxp +38 -0
  185. package/examples/owlsysApps/owlShell/src/pages/test.jsx +1 -0
  186. package/examples/owlsysApps/owlShell/src/pages/updatePassword.jsx +18 -0
  187. package/examples/owlsysApps/owlShell/src/pages/viewHistory.jsx +120 -0
  188. package/examples/owlsysApps/owlShell/src/utils/PermissionUtil.jsx +47 -0
  189. package/examples/owlsysApps/owlShell/src/utils/RolesUtils.jsx +152 -0
  190. package/examples/owlsysApps/owlShell/src/utils/verifyAdminUtil.jsx +40 -0
  191. package/package.json +1 -1
@@ -0,0 +1,140 @@
1
+ //#import Util.js
2
+ //#import DateUtil.js
3
+ //#import excel.js
4
+ //#import $owl_mall_u:services/modelService.jsx
5
+ //#import $owl_user_batch_update_password:services/modelService.jsx
6
+ //#import $owlService:services/user/UserLogUtil.jsx
7
+
8
+ ;(function () {
9
+
10
+ var jBatchImport = owl_user_batch_update_passwordService.get(batchId);
11
+
12
+ var logMsg = "";
13
+ var total = 0;
14
+ var totalSuccess = 0;
15
+ var totalFailed = 0;
16
+ var beginTime = (new Date()).getTime();
17
+ try {
18
+
19
+ var jFile = jBatchImport.file;
20
+ if (!jFile || jFile.length == 0 || !jFile[0].url) {
21
+ logMsg = appendLog(logMsg, "缺少Excel文件");
22
+ return;
23
+ }
24
+ var filePath = jFile[0].url;
25
+
26
+ var jData = Excel.parse(filePath);
27
+ if (!jData) {
28
+ logMsg = appendLog(logMsg, "读取Excel文件失败");
29
+ return;
30
+ }
31
+ if (!jData.sheets || jData.sheets.length == 0) {
32
+ logMsg = appendLog(logMsg, "Excel中的sheet为空");
33
+ return;
34
+ }
35
+
36
+ var sheet = jData.sheets[0];
37
+ var rows = sheet.rows;
38
+
39
+ for (var j = 1; j < rows.length; j++) {
40
+ try {
41
+ total++;
42
+
43
+ var row = rows[j];
44
+ var cells = row.cells;
45
+ var uid = getCellValue(cells, 0);
46
+ var mobile = getCellValue(cells, 1);
47
+ var loginId = getCellValue(cells, 2);
48
+ var password = getCellValue(cells, 3);
49
+
50
+ if (uid == "" && mobile == "" && loginId == "") {
51
+ logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:关键的【会员内部ID】,【会员手机号】,【会员登录ID】不能同时为空");
52
+ totalFailed++;
53
+ continue;
54
+ }
55
+ if (!password) {
56
+ logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:关键的【新密码】不能为空");
57
+ totalFailed++;
58
+ continue;
59
+ }
60
+
61
+ var jUser;
62
+ if (uid) {
63
+ jUser = owl_mall_uService.get(uid);
64
+ if (!jUser) {
65
+ logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:ID为【" + uid + "】的用户不存在");
66
+ totalFailed++;
67
+ continue;
68
+ }
69
+ } else if (mobile) {
70
+ jUser = owl_mall_uService.getUniqueObj("mobile", mobile);
71
+ if (!jUser) {
72
+ logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:手机号为【" + mobile + "】的用户不存在");
73
+ totalFailed++;
74
+ continue;
75
+ }
76
+ } else {
77
+ jUser = owl_mall_uService.getUniqueObj("loginId", loginId);
78
+ if (!jUser) {
79
+ logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:登录ID为【" + loginId + "】的用户不存在");
80
+ totalFailed++;
81
+ continue;
82
+ }
83
+ }
84
+ var userId = jUser.id;
85
+
86
+ var random = Math.random();
87
+ jUser.passwordhash = DigestUtil.sha1(password + random);
88
+ jUser.random = random;
89
+ delete jUser.pwdV;
90
+
91
+ owl_mall_uService.update(jUser);
92
+
93
+ UserLogUtil.addUserLog("1", userId, "", "", jBatchImport.owl_createUserId, "", "批量修改会员登录密码", "", "");
94
+ totalSuccess++;
95
+
96
+ logMsg = appendLog(logMsg, "第[" + j + "]行 " + "操作成功");
97
+ } catch (e) {
98
+ totalFailed++;
99
+ logMsg = appendLog(logMsg, "第[" + j + "]行 操作失败,失败原因:" + e);
100
+ }
101
+ }
102
+
103
+ } catch (e) {
104
+ $.log("user_batch_update_password....doUpdateUserTask.jsx....error=" + e);
105
+ logMsg = appendLog(logMsg, "操作出现异常,异常信息为:" + e);
106
+ } finally {
107
+ var endTime = (new Date()).getTime();
108
+ var logInfo = "总耗时=" + (endTime - beginTime) + "毫秒";
109
+ logInfo += "。总处理数量=" + total;
110
+ logInfo += "。成功处理数量=" + totalSuccess;
111
+ logInfo += "; 未处理总数量=" + totalFailed;
112
+
113
+ logMsg = appendLog(logMsg, "");
114
+ logMsg = appendLog(logMsg, logInfo);
115
+
116
+ jBatchImport.updated_num = totalSuccess;
117
+ jBatchImport.msg = logMsg;
118
+ owl_user_batch_update_passwordService.update(jBatchImport);
119
+ }
120
+
121
+ })();
122
+
123
+ function appendLog(logInfo, s) {
124
+ if (logInfo) {
125
+ return logInfo + "\n" + s;
126
+ }
127
+ return s;
128
+ }
129
+
130
+ function getCellValue(cells, index) {
131
+ for (var i = 0; i < cells.length; i++) {
132
+ var jCell = cells[i];
133
+ if (jCell.columnIndex == index) {
134
+ if (jCell.value) {
135
+ return jCell.value;
136
+ }
137
+ }
138
+ }
139
+ return "";
140
+ }
@@ -0,0 +1,82 @@
1
+ {
2
+ "base_info": {
3
+ "#meta": {
4
+ "fieldLabel": "基本信息",
5
+ "showTitle": "no",
6
+ "includeKey": "no",
7
+ "position": "card",
8
+ "span": 3
9
+ },
10
+ "id": "string(128),formSize:2,listSize:8,searchable:true,disabled:true;内部ID",
11
+ "blank1": "space,formSize:6;空白",
12
+ "file": "file,size:5M,exts:xlsx#xls,maxFileCount:1,formSize:8,require:true;Excel文件",
13
+ "updated_num": "number(6),formSize:8,disabled:true;发生修改数量",
14
+ "msg": "string(128),formSize:8,multiline:T,showList:false;处理结果"
15
+ },
16
+ "other_info": {
17
+ "#meta": {
18
+ "fieldLabel": "其他信息",
19
+ "showTitle": "no",
20
+ "includeKey": "no",
21
+ "position": "card",
22
+ "span": 1
23
+ },
24
+ "owl_createTime": "date,formSize:8,disabled:true,listSize:10;操作时间",
25
+ "owl_createUserId": "string(18),formSize:8,listSize:8,disabled:true;操作人"
26
+ },
27
+
28
+ "_t": "user_batch_update_password",
29
+ "#meta": {
30
+ "rem": "批量修改登录密码",
31
+ "projectName": "批量修改会员",
32
+ "parent": [
33
+ "platform"
34
+ ],
35
+ "visitType": [
36
+ "platform"
37
+ ],
38
+ "exLists": [
39
+ {
40
+ "name": "默认列表",
41
+ "code": "defaultList",
42
+ "buttons":{
43
+ "showAdd": true,
44
+ "showDel": false,
45
+ "showRecycle": false
46
+ },
47
+ "expandIconColumnIndex":1,
48
+ "list": ["id","updated_num","owl_createTime","owl_createUserId"]
49
+ }
50
+ ],
51
+ "pos": 5,
52
+ "group": {
53
+ "id": "mall_user",
54
+ "name": "会员管理",
55
+ "icon": "user",
56
+ "pos": 6,
57
+ "level2": {
58
+ "id": "user_batch_update",
59
+ "name": "会员批量管理",
60
+ "icon": "outline",
61
+ "pos": 16
62
+ }
63
+ },
64
+ "eventHandlers": [
65
+ {
66
+ "handlerId":"user_batch_update_password_eventHandlers_batchUpdate",
67
+ "pageId":"eventhandlers/batchUpdate.jsx",
68
+ "throwException":true,
69
+ "eventName": "user_batch_update_password_add_after",
70
+ "description":"新增后,自动导入"
71
+ }
72
+ ],
73
+ "formPlugins": [
74
+ {
75
+ "label": "下载模板",
76
+ "id": "user_batch_update_password_downTemplate",
77
+ "action": "/owl_user_batch_update_password/plugins/downTemplate.jsx",
78
+ "responseAction": "showMessage"
79
+ }
80
+ ]
81
+ }
82
+ }
@@ -0,0 +1,24 @@
1
+ //#import Util.js
2
+ //#import jobs.js
3
+ ;
4
+ (function () {
5
+ var data = ctx.get("data");
6
+
7
+ var when = new Date().getTime();
8
+ var postData = {batchId: data.id};
9
+ JobsService.submitTask("owl_user_batch_update_state", "tasks/doUpdateUserTask.jsx", postData, when);
10
+ })();
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
@@ -0,0 +1,140 @@
1
+ //#import Util.js
2
+ //#import DateUtil.js
3
+ //#import excel.js
4
+ //#import $owl_mall_u:services/modelService.jsx
5
+ //#import $owl_user_batch_update_state:services/modelService.jsx
6
+
7
+ ;(function () {
8
+
9
+ var jBatchImport = owl_user_batch_update_stateService.get(batchId);
10
+
11
+ var logMsg = "";
12
+ var total = 0;
13
+ var totalSuccess = 0;
14
+ var totalFailed = 0;
15
+ var beginTime = (new Date()).getTime();
16
+ try {
17
+
18
+ var jFile = jBatchImport.file;
19
+ if (!jFile || jFile.length == 0 || !jFile[0].url) {
20
+ logMsg = appendLog(logMsg, "缺少Excel文件");
21
+ return;
22
+ }
23
+ var filePath = jFile[0].url;
24
+
25
+ var jData = Excel.parse(filePath);
26
+ if (!jData) {
27
+ logMsg = appendLog(logMsg, "读取Excel文件失败");
28
+ return;
29
+ }
30
+ if (!jData.sheets || jData.sheets.length == 0) {
31
+ logMsg = appendLog(logMsg, "Excel中的sheet为空");
32
+ return;
33
+ }
34
+
35
+ var actionType = jBatchImport.actionType;
36
+
37
+ var sheet = jData.sheets[0];
38
+ var rows = sheet.rows;
39
+
40
+ for (var j = 1; j < rows.length; j++) {
41
+ try {
42
+ total++;
43
+
44
+ var row = rows[j];
45
+ var cells = row.cells;
46
+ var uid = getCellValue(cells, 0);
47
+ var mobile = getCellValue(cells, 1);
48
+ var loginId = getCellValue(cells, 2);
49
+
50
+ if (uid == "" && mobile == "" && loginId == "") {
51
+ logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:关键的【会员内部ID】,【会员手机号】,【会员登录ID】不能同时为空");
52
+ totalFailed++;
53
+ continue;
54
+ }
55
+
56
+ var jUser;
57
+ if (uid) {
58
+ jUser = owl_mall_uService.get(uid);
59
+ if (!jUser) {
60
+ logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:ID为【" + uid + "】的用户不存在");
61
+ totalFailed++;
62
+ continue;
63
+ }
64
+ } else if (mobile) {
65
+ jUser = owl_mall_uService.getUniqueObj("mobile", mobile);
66
+ if (!jUser) {
67
+ logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:手机号为【" + mobile + "】的用户不存在");
68
+ totalFailed++;
69
+ continue;
70
+ }
71
+ } else {
72
+ jUser = owl_mall_uService.getUniqueObj("loginId", loginId);
73
+ if (!jUser) {
74
+ logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:登录ID为【" + loginId + "】的用户不存在");
75
+ totalFailed++;
76
+ continue;
77
+ }
78
+ }
79
+
80
+ if (jUser.isEnable == actionType) {
81
+ logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:用户已经是【" + getStateName(jUser.isEnable) + "】状态");
82
+ totalFailed++;
83
+ continue;
84
+ }
85
+
86
+ jUser.isEnable = actionType;
87
+ owl_mall_uService.update(jUser);
88
+ totalSuccess++;
89
+
90
+ logMsg = appendLog(logMsg, "第[" + j + "]行 " + "操作成功");
91
+ } catch (e) {
92
+ totalFailed++;
93
+ logMsg = appendLog(logMsg, "第[" + j + "]行 操作失败,失败原因:" + e);
94
+ }
95
+ }
96
+
97
+ } catch (e) {
98
+ $.log("\nuser_batch_update_state....doUpdateUserTask.jsx....error=" + e);
99
+ logMsg = appendLog(logMsg, "操作出现异常,异常信息为:" + e);
100
+ } finally {
101
+ var endTime = (new Date()).getTime();
102
+ var logInfo = "总耗时=" + (endTime - beginTime) + "毫秒";
103
+ logInfo += "。总处理数量=" + total;
104
+ logInfo += "。成功处理数量=" + totalSuccess;
105
+ logInfo += "; 未处理总数量=" + totalFailed;
106
+
107
+ logMsg = appendLog(logMsg, "");
108
+ logMsg = appendLog(logMsg, logInfo);
109
+
110
+ jBatchImport.msg = logMsg;
111
+ owl_user_batch_update_stateService.update(jBatchImport);
112
+ }
113
+
114
+ })();
115
+
116
+ function appendLog(logInfo, s) {
117
+ if (logInfo) {
118
+ return logInfo += "\n" + s;
119
+ }
120
+ return s;
121
+ }
122
+
123
+ function getCellValue(cells, index) {
124
+ for (var i = 0; i < cells.length; i++) {
125
+ var jCell = cells[i];
126
+ if (jCell.columnIndex == index) {
127
+ if (jCell.value) {
128
+ return jCell.value;
129
+ }
130
+ }
131
+ }
132
+ return "";
133
+ }
134
+
135
+ function getStateName(state) {
136
+ if (state == "1") {
137
+ return "正常";
138
+ }
139
+ return "冻结";
140
+ }
@@ -0,0 +1,75 @@
1
+ {
2
+ "base_info": {
3
+ "#meta": {
4
+ "fieldLabel": "基本信息",
5
+ "showTitle": "no",
6
+ "includeKey": "no",
7
+ "position": "card",
8
+ "span": 3
9
+ },
10
+ "id": "string(128),formSize:2,listSize:8,searchable:true,disabled:true;内部ID",
11
+ "blank1": "space,formSize:6;空白",
12
+ "actionType":"choice,formSize:2,values:0_批量冻结/1_批量解冻,searchable:true,require:true;操作类型",
13
+ "blank3": "space,formSize:6;空白",
14
+ "file": "file,size:5M,exts:xlsx#xls,maxFileCount:1,formSize:8,require:true;Excel文件",
15
+ "msg": "string(128),formSize:8,multiline:T,showList:false;处理结果"
16
+ },
17
+ "other_info": {
18
+ "#meta": {
19
+ "fieldLabel": "其他信息",
20
+ "showTitle": "no",
21
+ "includeKey": "no",
22
+ "position": "card",
23
+ "span": 1
24
+ },
25
+ "owl_createTime": "date,formSize:8,disabled:true,listSize:10;操作时间",
26
+ "owl_createUserId": "string(18),formSize:8,listSize:8,disabled:true;操作人"
27
+ },
28
+
29
+ "_t": "user_batch_update_state",
30
+ "#meta": {
31
+ "rem": "批量冻结/解冻会员",
32
+ "projectName": "批量冻结/解冻会员",
33
+ "parent": [
34
+ "platform"
35
+ ],
36
+ "visitType": [
37
+ "platform"
38
+ ],
39
+ "exLists": [
40
+ {
41
+ "name": "默认列表",
42
+ "code": "defaultList",
43
+ "buttons":{
44
+ "showAdd": true,
45
+ "showDel": false,
46
+ "showRecycle": false
47
+ },
48
+ "expandIconColumnIndex":1,
49
+ "list": ["id","actionType","owl_createTime","owl_createUserId"]
50
+ }
51
+ ],
52
+ "pos": 1,
53
+ "group": {
54
+ "id": "mall_user",
55
+ "name": "会员管理",
56
+ "icon": "user",
57
+ "pos": 6,
58
+ "level2": {
59
+ "id": "user_batch_update",
60
+ "name": "会员批量管理",
61
+ "icon": "outline",
62
+ "pos": 16
63
+ }
64
+ },
65
+ "eventHandlers": [
66
+ {
67
+ "handlerId":"user_batch_update_state_eventHandlers_batchUpdate",
68
+ "pageId":"eventhandlers/batchUpdate.jsx",
69
+ "throwException":true,
70
+ "eventName": "user_batch_update_state_add_after",
71
+ "description":"新增后,自动导入"
72
+ }
73
+ ]
74
+ }
75
+ }
@@ -0,0 +1,96 @@
1
+ {
2
+ "base_info": {
3
+ "#meta": {
4
+ "fieldLabel": "其他信息",
5
+ "showTitle": "no",
6
+ "position": "card",
7
+ "includeKey": "no",
8
+ "span": 2
9
+ },
10
+ "id":"string(16),listSize:16,searchable:true,unique:true,disabled:true,formSize:4;分类Id",
11
+ "pos":"string(16),listSize:6,defaultValue:100,searchable:false,required:true,formSize:2;排序",
12
+ "status":"choice,values:waiting_等待生效/active_生效/inactive_失效,formSize:2,listSize:4;状态",
13
+ "name":"string(16),listSize:12,searchable:true,required:true,formSize:4;分类名称",
14
+ "blank1": "space,formSize:4;空白",
15
+ "parent_id": "string(16),searchable:true,disabled:false,formSize:4;上级分类Id",
16
+ "parent_name": "string(16),searchable:true,disabled:true,formSize:4;上级分类名称",
17
+ "category_path": "string(16),searchable:false,disabled:true,formSize:8;分类全称"
18
+ },
19
+
20
+ "icon_info": {
21
+ "#meta": {
22
+ "fieldLabel": "图片信息",
23
+ "showTitle": "no",
24
+ "position": "card",
25
+ "includeKey": "no",
26
+ "span": 1
27
+ },
28
+ "icon": "image,spec:300x300,size:5M,exts:png#jpg#gif#jpeg,listTab:04,maxFileCount:1,listSize:4,formSize:1,labelCol:1;图片"
29
+ },
30
+
31
+ "ext_info": {
32
+ "#meta": {
33
+ "fieldLabel": "其他信息",
34
+ "showTitle": "no",
35
+ "position": "card",
36
+ "includeKey": "no",
37
+ "span": 1
38
+ },
39
+ "_orgId": "string(12),formSize:8,listSize:10,searchable:true,disabled:true;所属商家ID",
40
+ "owl_createTime":"date,formSize:8,listSize:9,searchable:true,disabled:true;创建时间",
41
+ "owl_createUserId":"string(10),formSize:8,listSize:10,searchable:true,disabled:true;创建人"
42
+ },
43
+
44
+ "_t":"mall_u_category",
45
+ "#meta":{
46
+ "rem":"会员分类",
47
+ "projectName":"会员分类",
48
+ "parent":["platform"],
49
+ "isTree":true,
50
+ "isPublic": true,
51
+ "parentField": "parent_id",
52
+ "visitType": [
53
+ "platform"
54
+ ],
55
+ "pos": 1,
56
+ "group": {
57
+ "id": "mall_user",
58
+ "name": "会员管理",
59
+ "icon": "user",
60
+ "pos": 6,
61
+ "level2": {
62
+ "id": "user_setting",
63
+ "name": "会员综合设置",
64
+ "icon": "outline",
65
+ "pos": 20
66
+ }
67
+ },
68
+ "eventHandlers": [
69
+ {
70
+ "handlerId": "mall_u_category_eventHandlers_autoSetFullPath_addAfter",
71
+ "pageId": "eventHandlers/autoSetFullPath_addAfter.jsx",
72
+ "throwException": true,
73
+ "eventName": "mall_u_category_add_after",
74
+ "description": "添加后自动生成完整的分类全称"
75
+ },
76
+ {
77
+ "handlerId": "mall_u_category_eventHandlers_autoSetFullPath_updateAfter",
78
+ "pageId": "eventHandlers/autoSetFullPath_updateBefore.jsx",
79
+ "throwException": true,
80
+ "eventName": "mall_u_category_update_before",
81
+ "description": "修改前后自动生成完整的分类全称"
82
+ }
83
+ ],
84
+ "export":[
85
+ {
86
+ "label":"导出完整",
87
+ "mainTitleFormat":{"background":"#474747","color":"#cccccc"},
88
+ "subTitleFormat":{"background":"#777777","color":"#ffffff"},
89
+ "subRecordFormat":{"background":"#ffffff","color":"#000000"},
90
+ "mainRecordFormat":{"background":"#555555","color":"#FFFFFF"},
91
+ "key":"completeDoc",
92
+ "fields":["*"]
93
+ }
94
+ ]
95
+ }
96
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "id": "string(64),listSize:18,tab:01,disabled:true,formSize:2;内部ID",
3
+ "education_key": "string(128),listSize:16,tab:04,searchable:true,required:true,formSize:2;教育程度ID",
4
+ "education_name": "string(64),listSize:16,tab:05,searchable:true,required:true,formSize:2;教育程度名称",
5
+ "_t": "mall_user_education",
6
+ "#meta": {
7
+ "id": "<%=#education_key%>",
8
+ "push": true,
9
+ "rem": "教育程度",
10
+ "projectName": "教育程度",
11
+ "parent": [
12
+ "platform"
13
+ ],
14
+ "visitType": [
15
+ "platform"
16
+ ],
17
+ "pos": 4,
18
+ "group": {
19
+ "id": "mall_user",
20
+ "name": "会员管理",
21
+ "icon": "user",
22
+ "pos": 6,
23
+ "level2": {
24
+ "id": "user_setting",
25
+ "name": "会员综合设置",
26
+ "icon": "outline",
27
+ "pos": 20
28
+ }
29
+ },
30
+ "export": [
31
+ {
32
+ "label": "导出完整",
33
+ "mainTitleFormat": {
34
+ "background": "#474747",
35
+ "color": "#cccccc"
36
+ },
37
+ "subTitleFormat": {
38
+ "background": "#777777",
39
+ "color": "#ffffff"
40
+ },
41
+ "subRecordFormat": {
42
+ "background": "#ffffff",
43
+ "color": "#000000"
44
+ },
45
+ "mainRecordFormat": {
46
+ "background": "#555555",
47
+ "color": "#FFFFFF"
48
+ },
49
+ "key": "completeDoc",
50
+ "fields": [
51
+ "*"
52
+ ]
53
+ }
54
+ ]
55
+ }
56
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "id": "string(64),listSize:18,tab:01,disabled:true,formSize:2;内部ID",
3
+ "income_key": "string(128),listSize:16,tab:04,searchable:true,required:true,formSize:2;收入ID",
4
+ "income_name": "string(64),listSize:16,tab:05,searchable:true,required:true,formSize:2;收入名称",
5
+ "_t": "mall_user_income",
6
+ "#meta": {
7
+ "id": "<%=#income_key%>",
8
+ "push": true,
9
+ "rem": "月收入",
10
+ "projectName": "月收入",
11
+ "parent": [
12
+ "platform"
13
+ ],
14
+ "visitType": [
15
+ "platform"
16
+ ],
17
+ "pos": 3,
18
+ "group": {
19
+ "id": "mall_user",
20
+ "name": "会员管理",
21
+ "icon": "user",
22
+ "pos": 6,
23
+ "level2": {
24
+ "id": "user_setting",
25
+ "name": "会员综合设置",
26
+ "icon": "outline",
27
+ "pos": 20
28
+ }
29
+ },
30
+ "export": [
31
+ {
32
+ "label": "导出完整",
33
+ "mainTitleFormat": {
34
+ "background": "#474747",
35
+ "color": "#cccccc"
36
+ },
37
+ "subTitleFormat": {
38
+ "background": "#777777",
39
+ "color": "#ffffff"
40
+ },
41
+ "subRecordFormat": {
42
+ "background": "#ffffff",
43
+ "color": "#000000"
44
+ },
45
+ "mainRecordFormat": {
46
+ "background": "#555555",
47
+ "color": "#FFFFFF"
48
+ },
49
+ "key": "completeDoc",
50
+ "fields": [
51
+ "*"
52
+ ]
53
+ }
54
+ ]
55
+ }
56
+ }