owl-cli 6.214.0 → 7.1.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 (192) hide show
  1. package/bin/owl-init.js +26 -5
  2. package/examples/models/owlsys/backendSession.json +52 -0
  3. package/examples/models/owlsys/orgBatch/org_admin_batch_import/api/src/eventhandlers/afterAdd.jsx +10 -0
  4. package/examples/models/owlsys/orgBatch/org_admin_batch_import/api/src/tasks/batchImport.jsx +318 -0
  5. package/examples/models/owlsys/orgBatch/org_admin_batch_import.json +75 -0
  6. package/examples/models/owlsys/orgBatch/org_batch_export/api/src/eventhandlers/batchExport.jsx +24 -0
  7. package/examples/models/owlsys/orgBatch/org_batch_export/api/src/tasks/batchExport.jsx +375 -0
  8. package/examples/models/owlsys/orgBatch/org_batch_export.json +102 -0
  9. package/examples/models/owlsys/orgBatch/org_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
  10. package/examples/models/owlsys/orgBatch/org_batch_import/api/src/plugins/downTemplate.jsx +79 -0
  11. package/examples/models/owlsys/orgBatch/org_batch_import/api/src/tasks/batchImport.jsx +424 -0
  12. package/examples/models/owlsys/orgBatch/org_batch_import.json +82 -0
  13. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/eventhandlers/batchUpdate.jsx +24 -0
  14. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/plugins/downTemplate.jsx +54 -0
  15. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/tasks/batchUpdate.jsx +924 -0
  16. package/examples/models/owlsys/orgBatch/org_batch_repair_parentid.json +82 -0
  17. package/examples/models/owlsys/orgBatch/org_batch_update/api/src/eventhandlers/batchUpdate.jsx +24 -0
  18. package/examples/models/owlsys/orgBatch/org_batch_update/api/src/plugins/downTemplate.jsx +79 -0
  19. package/examples/models/owlsys/orgBatch/org_batch_update/api/src/tasks/batchUpdate.jsx +472 -0
  20. package/examples/models/owlsys/orgBatch/org_batch_update.json +81 -0
  21. package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/eventhandlers/batchUpdate.jsx +24 -0
  22. package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/plugins/downTemplate.jsx +54 -0
  23. package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/tasks/batchUpdate.jsx +509 -0
  24. package/examples/models/owlsys/orgBatch/org_batch_update_parentid.json +82 -0
  25. package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/eventhandlers/batchUpdate.jsx +24 -0
  26. package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/plugins/downTemplate.jsx +61 -0
  27. package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/tasks/doUpdateTask.jsx +299 -0
  28. package/examples/models/owlsys/orgBatch/org_batch_update_state.json +81 -0
  29. package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
  30. package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/plugins/downTemplate.jsx +52 -0
  31. package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/tasks/batchImport.jsx +297 -0
  32. package/examples/models/owlsys/orgBatch/orguser_batch_import.json +82 -0
  33. package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/eventhandlers/batchImport.jsx +24 -0
  34. package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/plugins/downTemplate.jsx +58 -0
  35. package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/tasks/batchUpdate.jsx +345 -0
  36. package/examples/models/owlsys/orgBatch/orguser_batch_update.json +82 -0
  37. package/examples/models/owlsys/organization/business_circle.json +144 -0
  38. package/examples/models/owlsys/organization/business_circle_application.json +50 -0
  39. package/examples/models/owlsys/organization/createSiteOrder.json +50 -0
  40. package/examples/models/owlsys/organization/entity.json +64 -0
  41. package/examples/models/owlsys/organization/merchant_apply/api/src/plugins/doCertifyToNotPass.jsx +68 -0
  42. package/examples/models/owlsys/organization/merchant_apply/api/src/plugins/doCertifyToPass.jsx +135 -0
  43. package/examples/models/owlsys/organization/merchant_apply.json +561 -0
  44. package/examples/models/owlsys/organization/merchant_user.json +55 -0
  45. package/examples/models/owlsys/organization/orgAdminGroups.json +179 -0
  46. package/examples/models/owlsys/organization/org_admin_groups/api/src/plugins/addUserToGroup.jsx +65 -0
  47. package/examples/models/owlsys/organization/org_admin_groups/api/src/plugins/createNewUser.jsx +9 -0
  48. package/examples/models/owlsys/organization/org_certify_log/api/src/plugins/doCertifyToNotPass.jsx +66 -0
  49. package/examples/models/owlsys/organization/org_certify_log/api/src/plugins/doCertifyToPass.jsx +94 -0
  50. package/examples/models/owlsys/organization/org_certify_log.json +78 -0
  51. package/examples/models/owlsys/organization/org_entity.json +60 -0
  52. package/examples/models/owlsys/organization/org_modules.json +117 -0
  53. package/examples/models/owlsys/organization/org_source.json +30 -0
  54. package/examples/models/owlsys/organization/org_user.json +81 -0
  55. package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/doCheckBeforeAddOrUpdate.jsx +32 -0
  56. package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/doCheckBeforeDelete.jsx +19 -0
  57. package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/setIdByOrgType.jsx +47 -0
  58. package/examples/models/owlsys/organization/orgs/api/src/plugins/toOrg.jsx +48 -0
  59. package/examples/models/owlsys/organization/orgs.json +671 -0
  60. package/examples/models/owlsys/organization/platformAdminGroups.json +78 -0
  61. package/examples/models/owlsys/organization/website/api/src/plugins/syncToOrg.jsx +27 -0
  62. package/examples/models/owlsys/organization/website.json +104 -0
  63. package/examples/models/owlsys/permissions/permission.json +165 -0
  64. package/examples/models/owlsys/permissions/roles.json +48 -0
  65. package/examples/models/owlsys/permissions/tablelevelpermission.json +42 -0
  66. package/examples/models/owlsys/server_token.json +38 -0
  67. package/examples/models/owlsys/session.json +57 -0
  68. package/examples/models/owlsys/tasks/process_job.json +94 -0
  69. package/examples/models/owlsys/tasks/process_job_checklog.json +66 -0
  70. package/examples/models/owlsys/tasks/process_job_log.json +34 -0
  71. package/examples/models/owlsys/user/address.json +52 -0
  72. package/examples/models/owlsys/user/mall_u/api/src/plugins/changePassword.jsx +133 -0
  73. package/examples/models/owlsys/user/mall_u_category/api/src/eventHandlers/autoSetFullPath_addAfter.jsx +25 -0
  74. package/examples/models/owlsys/user/mall_u_category/api/src/eventHandlers/autoSetFullPath_updateBefore.jsx +23 -0
  75. package/examples/models/owlsys/user/mall_user_logout/api/src/eventhandlers/updateUserState.jsx +25 -0
  76. package/examples/models/owlsys/user/org_user_address.json +46 -0
  77. package/examples/models/owlsys/user/org_user_address_default.json +48 -0
  78. package/examples/models/owlsys/user/org_user_invoice.json +56 -0
  79. package/examples/models/owlsys/user/user.json +458 -0
  80. package/examples/models/owlsys/user/user_address.json +46 -0
  81. package/examples/models/owlsys/user/user_address_default.json +48 -0
  82. package/examples/models/owlsys/user/user_batch_base_export/api/src/eventhandlers/batchExport.jsx +24 -0
  83. package/examples/models/owlsys/user/user_batch_base_export/api/src/tasks/batchExport.jsx +240 -0
  84. package/examples/models/owlsys/user/user_batch_base_export.json +97 -0
  85. package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/eventhandlers/batchExport.jsx +24 -0
  86. package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/plugins/downTemplate.jsx +47 -0
  87. package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/tasks/batchExportTask.jsx +208 -0
  88. package/examples/models/owlsys/user/user_batch_export_bigmember_info.json +83 -0
  89. package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/eventhandlers/batchExport.jsx +24 -0
  90. package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/plugins/downTemplate.jsx +44 -0
  91. package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/tasks/batchExportTask.jsx +262 -0
  92. package/examples/models/owlsys/user/user_batch_export_by_userid.json +83 -0
  93. package/examples/models/owlsys/user/user_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
  94. package/examples/models/owlsys/user/user_batch_import/api/src/tasks/doAddUserTask.jsx +250 -0
  95. package/examples/models/owlsys/user/user_batch_import.json +76 -0
  96. package/examples/models/owlsys/user/user_batch_update_category/api/src/eventhandlers/batchUpdate.jsx +24 -0
  97. package/examples/models/owlsys/user/user_batch_update_category/api/src/tasks/doUpdateUserTask.jsx +191 -0
  98. package/examples/models/owlsys/user/user_batch_update_category.json +77 -0
  99. package/examples/models/owlsys/user/user_batch_update_password/api/src/eventhandlers/batchUpdate.jsx +24 -0
  100. package/examples/models/owlsys/user/user_batch_update_password/api/src/plugins/downTemplate.jsx +48 -0
  101. package/examples/models/owlsys/user/user_batch_update_password/api/src/tasks/doUpdateUserTask.jsx +140 -0
  102. package/examples/models/owlsys/user/user_batch_update_password.json +82 -0
  103. package/examples/models/owlsys/user/user_batch_update_state/api/src/eventhandlers/batchUpdate.jsx +24 -0
  104. package/examples/models/owlsys/user/user_batch_update_state/api/src/tasks/doUpdateUserTask.jsx +140 -0
  105. package/examples/models/owlsys/user/user_batch_update_state.json +75 -0
  106. package/examples/models/owlsys/user/user_category.json +96 -0
  107. package/examples/models/owlsys/user/user_education.json +56 -0
  108. package/examples/models/owlsys/user/user_income.json +56 -0
  109. package/examples/models/owlsys/user/user_industry.json +56 -0
  110. package/examples/models/owlsys/user/user_invoice.json +88 -0
  111. package/examples/models/owlsys/user/user_logout.json +65 -0
  112. package/examples/models/owlsys/user/user_purchased_merchant.json +41 -0
  113. package/examples/models/owlsys/user/user_source.json +57 -0
  114. package/examples/models/owlsys/user/user_third_openid.json +64 -0
  115. package/examples/models/owlsys/user/user_third_openid_source.json +55 -0
  116. package/examples/models/owlsys/user/user_update_log.json +69 -0
  117. package/examples/models/owlsys/user_logs/app_logs.json +48 -0
  118. package/examples/models/owlsys/user_logs/history_p.json +77 -0
  119. package/examples/models/owlsys/user_logs/recent_apps.json +37 -0
  120. package/examples/models/owlsys/user_logs/user_login_error_log.json +65 -0
  121. package/examples/models/owlsys/user_logs/user_login_log.json +64 -0
  122. package/examples/owlsysApps/commonService/build.xml +29 -0
  123. package/examples/owlsysApps/commonService/src/meta.json +10 -0
  124. package/examples/owlsysApps/commonService/src/services/BackendSessionUtil.jsx +84 -0
  125. package/examples/owlsysApps/commonService/src/services/CommonUtil.jsx +165 -0
  126. package/examples/owlsysApps/commonService/src/services/LoginUtil.jsx +44 -0
  127. package/examples/owlsysApps/commonService/src/services/PasswordUtil.jsx +62 -0
  128. package/examples/owlsysApps/commonService/src/services/SessionUtil.jsx +87 -0
  129. package/examples/owlsysApps/owlPermission/build.xml +29 -0
  130. package/examples/owlsysApps/owlPermission/src/icon.png +0 -0
  131. package/examples/owlsysApps/owlPermission/src/meta.json +9 -0
  132. package/examples/owlsysApps/owlPermission/src/services/RolesService.jsx +173 -0
  133. package/examples/owlsysApps/owlPermission/src/services/permissionService.jsx +93 -0
  134. package/examples/owlsysApps/owlShell/build.xml +28 -0
  135. package/examples/owlsysApps/owlShell/package-lock.json +3 -0
  136. package/examples/owlsysApps/owlShell/src/consts.jsx +36 -0
  137. package/examples/owlsysApps/owlShell/src/handlers/add_app_log.jsx +31 -0
  138. package/examples/owlsysApps/owlShell/src/handlers/changePassword.jsx +54 -0
  139. package/examples/owlsysApps/owlShell/src/handlers/getCurrentOrg.jsx +45 -0
  140. package/examples/owlsysApps/owlShell/src/handlers/getCurrentUser.jsx +168 -0
  141. package/examples/owlsysApps/owlShell/src/handlers/getPermissions.jsx +39 -0
  142. package/examples/owlsysApps/owlShell/src/handlers/getRoles.jsx +10 -0
  143. package/examples/owlsysApps/owlShell/src/handlers/getSpec.jsx +65 -0
  144. package/examples/owlsysApps/owlShell/src/handlers/getViewTemplate.jsx +53 -0
  145. package/examples/owlsysApps/owlShell/src/handlers/get_recent_apps.jsx +45 -0
  146. package/examples/owlsysApps/owlShell/src/handlers/leftMenuHandler.jsx +360 -0
  147. package/examples/owlsysApps/owlShell/src/handlers/loadSettings.jsx +32 -0
  148. package/examples/owlsysApps/owlShell/src/handlers/login.jsx +400 -0
  149. package/examples/owlsysApps/owlShell/src/handlers/logout.jsx +27 -0
  150. package/examples/owlsysApps/owlShell/src/handlers/meanLogin.jsx +231 -0
  151. package/examples/owlsysApps/owlShell/src/handlers/organization/create_site.jsx +52 -0
  152. package/examples/owlsysApps/owlShell/src/handlers/organization/getSiteOrder.jsx +32 -0
  153. package/examples/owlsysApps/owlShell/src/handlers/organization/getUserSites.jsx +29 -0
  154. package/examples/owlsysApps/owlShell/src/handlers/organization/getWebSite.jsx +49 -0
  155. package/examples/owlsysApps/owlShell/src/handlers/organization/saveSite.jsx +42 -0
  156. package/examples/owlsysApps/owlShell/src/handlers/refreshApps.jsx +533 -0
  157. package/examples/owlsysApps/owlShell/src/handlers/set_recent_apps.jsx +44 -0
  158. package/examples/owlsysApps/owlShell/src/handlers/switchOrgs.jsx +99 -0
  159. package/examples/owlsysApps/owlShell/src/handlers/switchRole.jsx +64 -0
  160. package/examples/owlsysApps/owlShell/src/icon.png +0 -0
  161. package/examples/owlsysApps/owlShell/src/include/checklogin.jsx +108 -0
  162. package/examples/owlsysApps/owlShell/src/jobs/create_site_jobs.jsx +172 -0
  163. package/examples/owlsysApps/owlShell/src/jobs/refresh_apps_jobs.jsx +628 -0
  164. package/examples/owlsysApps/owlShell/src/meta.json +16 -0
  165. package/examples/owlsysApps/owlShell/src/pages/addHistory.jsx +35 -0
  166. package/examples/owlsysApps/owlShell/src/pages/common/include_head.jsx +8 -0
  167. package/examples/owlsysApps/owlShell/src/pages/common/include_head.jsxp +4 -0
  168. package/examples/owlsysApps/owlShell/src/pages/home.html +0 -0
  169. package/examples/owlsysApps/owlShell/src/pages/index.jsx +39 -0
  170. package/examples/owlsysApps/owlShell/src/pages/index.jsxp +16 -0
  171. package/examples/owlsysApps/owlShell/src/pages/leftMenu.jsx +204 -0
  172. package/examples/owlsysApps/owlShell/src/pages/leftMenu.jsxp +84 -0
  173. package/examples/owlsysApps/owlShell/src/pages/logOut.jsx +35 -0
  174. package/examples/owlsysApps/owlShell/src/pages/login/checkShopAdmin.jsx +69 -0
  175. package/examples/owlsysApps/owlShell/src/pages/login/checkWarehouseAdmin.jsx +66 -0
  176. package/examples/owlsysApps/owlShell/src/pages/login/shopLogin.jsx +14 -0
  177. package/examples/owlsysApps/owlShell/src/pages/login/shopLogin.jsxp +99 -0
  178. package/examples/owlsysApps/owlShell/src/pages/login/shopLoginOk.jsx +85 -0
  179. package/examples/owlsysApps/owlShell/src/pages/login/warehouseLogin.jsx +13 -0
  180. package/examples/owlsysApps/owlShell/src/pages/login/warehouseLogin.jsxp +100 -0
  181. package/examples/owlsysApps/owlShell/src/pages/login/warehouseLoginOk.jsx +72 -0
  182. package/examples/owlsysApps/owlShell/src/pages/main.jsx +34 -0
  183. package/examples/owlsysApps/owlShell/src/pages/main.jsxp +84 -0
  184. package/examples/owlsysApps/owlShell/src/pages/subMain.jsx +23 -0
  185. package/examples/owlsysApps/owlShell/src/pages/subMain.jsxp +38 -0
  186. package/examples/owlsysApps/owlShell/src/pages/test.jsx +1 -0
  187. package/examples/owlsysApps/owlShell/src/pages/updatePassword.jsx +18 -0
  188. package/examples/owlsysApps/owlShell/src/pages/viewHistory.jsx +120 -0
  189. package/examples/owlsysApps/owlShell/src/utils/PermissionUtil.jsx +47 -0
  190. package/examples/owlsysApps/owlShell/src/utils/RolesUtils.jsx +152 -0
  191. package/examples/owlsysApps/owlShell/src/utils/verifyAdminUtil.jsx +40 -0
  192. package/package.json +1 -1
@@ -0,0 +1,924 @@
1
+ //#import Util.js
2
+ //#import excel.js
3
+ //#import $owl_orgs:services/modelService.jsx
4
+ //#import $owl_mall_off:services/modelService.jsx
5
+ //#import $owl_product_images:services/modelService.jsx
6
+ //#import $owl_product_batch_export_org:services/modelService.jsx
7
+ //#import $owl_product_batch_import:services/modelService.jsx
8
+ //#import $owl_product_batch_updatecategory:services/modelService.jsx
9
+ //#import $owl_product_batch_update_tag:services/modelService.jsx
10
+ //#import $owl_sku_batch_update:services/modelService.jsx
11
+ //#import $owl_sku_batch_update_special_price:services/modelService.jsx
12
+ //#import $owl_org_category:services/modelService.jsx
13
+ //#import $owl_p_guarantee:services/modelService.jsx
14
+ //#import $owl_p_activity_tag:services/modelService.jsx
15
+ //#import $owl_mall_o:services/modelService.jsx
16
+ //#import $owl_return_order:services/modelService.jsx
17
+ //#import $owl_refund_order:services/modelService.jsx
18
+ //#import $owl_mall_order_package:services/modelService.jsx
19
+ //#import $owl_batch_add_reason_refundorder:services/modelService.jsx
20
+ //#import $owl_order_batch_export_org:services/modelService.jsx
21
+ //#import $owl_refundorder_batch_export_org:services/modelService.jsx
22
+ //#import $owl_delivery_price_template:services/modelService.jsx
23
+ //#import $owl_warehouse:services/modelService.jsx
24
+ //#import $owl_discount_ticket_type:services/modelService.jsx
25
+ //#import $owl_discount_ticket:services/modelService.jsx
26
+ //#import $owl_discount_ticket_type_count:services/modelService.jsx
27
+ //#import $owl_discount_ticket_type_give_count:services/modelService.jsx
28
+ //#import $owl_discount_ticket_give_log:services/modelService.jsx
29
+ //#import $owl_discount_ticket_log:services/modelService.jsx
30
+ //#import $owl_org_mobile_api_privilege:services/modelService.jsx
31
+ //#import $owl_mall_p:services/modelService.jsx
32
+ //#import $owl_mall_sku:services/modelService.jsx
33
+ //#import $owl_mall_u:services/modelService.jsx
34
+ //#import $owl_mall_delivery_point:services/modelService.jsx
35
+ //#import $owl_full_discount:services/modelService.jsx
36
+ //#import $owl_full_number_discount:services/modelService.jsx
37
+ //#import $owl_page_project:services/modelService.jsx
38
+ //#import $owl_page_directory:services/modelService.jsx
39
+ //#import $owl_page:services/modelService.jsx
40
+ //#import $owl_mall_global_notice:services/modelService.jsx
41
+ //#import $owl_org_batch_repair_parentid:services/modelService.jsx
42
+ //#import $owlService:services/org/OrgUtil.jsx
43
+
44
+ ;(function () {
45
+
46
+ var jBatchImport = owl_org_batch_repair_parentidService.get(batchId);
47
+
48
+ var logMsg = "";
49
+ var total = 0;
50
+ var totalSuccess = 0;
51
+ var totalFailed = 0;
52
+ var beginTime = (new Date()).getTime();
53
+ try {
54
+ var orgId = jBatchImport._orgId;
55
+ logMsg = appendLog(logMsg, "商家ID=" + orgId);
56
+ if (orgId != "0") {
57
+ logMsg = appendLog(logMsg, "操作终止,原因是:该功能只支持在平台后台操作");
58
+ return;
59
+ }
60
+
61
+ var productIdList = [];
62
+ var lineNumName = "行";
63
+ var jFile = jBatchImport.file;
64
+ if (!jFile || jFile.length == 0 || !jFile[0].url) {
65
+ logMsg = appendLog(logMsg, "操作终止,原因是:缺少Excel文件");
66
+ return;
67
+ }
68
+ var filePath = jFile[0].url;
69
+
70
+ var jData = Excel.parse(filePath);
71
+ if (!jData) {
72
+ logMsg = appendLog(logMsg, "操作终止,原因是:读取Excel文件失败");
73
+ return;
74
+ }
75
+ if (!jData.sheets || jData.sheets.length == 0) {
76
+ logMsg = appendLog(logMsg, "操作终止,原因是:Excel中的sheet为空");
77
+ return;
78
+ }
79
+
80
+ var sheet = jData.sheets[0];
81
+ var rows = sheet.rows;
82
+ for (var i = 1; i < rows.length; i++) {
83
+ var row = rows[i];
84
+ var cells = row.cells;
85
+
86
+ try {
87
+ total++;
88
+
89
+ var merchantId = getCellValue(cells, 0);
90
+ var merchantName = getCellValue(cells, 1);
91
+ var oriParentId = getCellValue(cells, 2);
92
+ var oriParentName = getCellValue(cells, 3);
93
+ var newParentId = getCellValue(cells, 4);
94
+ var newParentName = getCellValue(cells, 5);
95
+
96
+ if (merchantId.indexOf("owl_orgs_") < 0) {
97
+ logMsg = appendLog(logMsg, "第[" + i + "]" + lineNumName + "操作终止,原因是:关键的组织ID【" + merchantId + "】格式不合法");
98
+ totalFailed++;
99
+ return;
100
+ }
101
+ if (newParentId.indexOf("owl_orgs_") < 0) {
102
+ logMsg = appendLog(logMsg, "第[" + i + "]" + lineNumName + "操作终止,原因是:关键的新父组织ID【" + newParentId + "】格式不合法");
103
+ totalFailed++;
104
+ return;
105
+ }
106
+
107
+ var jMerchant = owl_orgsService.get(merchantId);
108
+ if (!jMerchant) {
109
+ logMsg = appendLog(logMsg, "第[" + i + "]" + lineNumName + "操作终止,原因是:ID为【" + merchantId + "】的组织不存在");
110
+ totalFailed++;
111
+ return;
112
+ }
113
+ var jParentOrg = owl_orgsService.get(newParentId);
114
+ if (!jParentOrg) {
115
+ logMsg = appendLog(logMsg, "第[" + i + "]" + lineNumName + "操作终止,原因是:ID为【" + newParentId + "】的父组织不存在");
116
+ totalFailed++;
117
+ return;
118
+ }
119
+ if (jMerchant.orgType != "org") {
120
+ logMsg = appendLog(logMsg, "第[" + i + "]" + lineNumName + "操作终止,原因是:ID为【" + newParentId + "】机构不属于组织机构类型");
121
+ totalFailed++;
122
+ return;
123
+ }
124
+ if (jMerchant.parent_id == jParentOrg.id) {
125
+ logMsg = appendLog(logMsg, "第[" + i + "]" + lineNumName + "操作终止,原因是:组织【" + merchantId + "】的所属父组织已经是【" + newParentId + "】,无需调整。");
126
+ // totalFailed++;
127
+ // return;
128
+ } else {
129
+ var parentPathIds = OrgUtil.getSaveOrgIds(jParentOrg.id);
130
+ $.log("org_batch_repair_parentid.jsx...doRepairOrg...【compare1】...orgId=" + merchantId + "...parentPathIds1=" + JSON.stringify(parentPathIds));
131
+ var fullPathIds = [];
132
+ if (parentPathIds) {
133
+ fullPathIds = fullPathIds.concat(parentPathIds);
134
+ fullPathIds.push(merchantId);
135
+ } else {
136
+ fullPathIds = [merchantId];
137
+ }
138
+ $.log("org_batch_repair_parentid.jsx...doRepairOrg...【compare2】...orgId=" + merchantId + "...parentPathIds2=" + JSON.stringify(parentPathIds));
139
+ $.log("org_batch_repair_parentid.jsx...doRepairOrg...【compare3】...orgId=" + merchantId + "...fullPathIds=" + JSON.stringify(fullPathIds));
140
+
141
+ var parentPathNames = [];
142
+ var fullPathName = "";
143
+
144
+ if (jParentOrg.parentPathNames) {
145
+ parentPathNames = jParentOrg.parentPathNames.push(jParentOrg.name);
146
+ } else {
147
+ parentPathNames = [jParentOrg.name];
148
+ }
149
+ if (jParentOrg.fullPathName) {
150
+ fullPathName = jParentOrg.fullPathName + jMerchant.name;
151
+ } else {
152
+ fullPathName = jMerchant.name;
153
+ }
154
+
155
+ jMerchant.parent_id = jParentOrg.id;
156
+ jMerchant.parent_name = jParentOrg.name;
157
+ jMerchant._orgId = jParentOrg.id;
158
+ jMerchant._orgIds = parentPathIds;
159
+ jMerchant.parentPathIds = parentPathIds;
160
+ jMerchant.parentPathNames = parentPathNames;
161
+ jMerchant.fullPathIds = fullPathIds;
162
+ jMerchant.fullPathName = fullPathName;
163
+ owl_orgsService.update(jMerchant);
164
+
165
+ totalSuccess++;
166
+ logMsg = appendLog(logMsg, "第[" + i + "]" + lineNumName + "商家调整成功。");
167
+ }
168
+
169
+ $.log("org_batch_repair_parentid.jsx...repair...##begin##...orgId=" + merchantId);
170
+
171
+ var merchantResult = doRepairMerchant(merchantId);
172
+ logMsg = appendLog(logMsg, "商家=" + merchantResult.totalUpdated);
173
+ logMsg = appendLogInline(logMsg, "商品=" + merchantResult.total_product);
174
+ logMsg = appendLogInline(logMsg, "SKU=" + merchantResult.total_sku);
175
+ logMsg = appendLogInline(logMsg, "特价=" + merchantResult.total_mall_off);
176
+ logMsg = appendLogInline(logMsg, "商品图片组=" + merchantResult.total_product_images);
177
+ logMsg = appendLogInline(logMsg, "商品导出=" + merchantResult.total_product_batch_export_org);
178
+ logMsg = appendLogInline(logMsg, "商品批量导入=" + merchantResult.total_product_batch_import);
179
+ logMsg = appendLogInline(logMsg, "商品批量修改分类=" + merchantResult.total_product_batch_updatecategory);
180
+ logMsg = appendLogInline(logMsg, "批量修改商品标签=" + merchantResult.total_product_batch_update_tag);
181
+ logMsg = appendLogInline(logMsg, "SKU批量修改=" + merchantResult.total_sku_batch_update);
182
+ logMsg = appendLogInline(logMsg, "SKU批量修改特价=" + merchantResult.total_sku_batch_update_special_price);
183
+ logMsg = appendLogInline(logMsg, "店铺分类=" + merchantResult.total_org_category);
184
+ logMsg = appendLogInline(logMsg, "商品保障=" + merchantResult.total_p_guarantee);
185
+ logMsg = appendLogInline(logMsg, "商品活动标签=" + merchantResult.total_p_activity_tag);
186
+ logMsg = appendLogInline(logMsg, "订单=" + merchantResult.total_mall_o);
187
+ logMsg = appendLogInline(logMsg, "退货单=" + merchantResult.total_return_order);
188
+ logMsg = appendLogInline(logMsg, "退款单=" + merchantResult.total_refund_order);
189
+ logMsg = appendLogInline(logMsg, "包裹单=" + merchantResult.total_mall_order_package);
190
+ logMsg = appendLogInline(logMsg, "批量生成其他原因退款单=" + merchantResult.total_batch_add_reason_refundorder);
191
+ logMsg = appendLogInline(logMsg, "订单导出=" + merchantResult.total_order_batch_export_org);
192
+ logMsg = appendLogInline(logMsg, "退款单导出=" + merchantResult.total_refundorder_batch_export_org);
193
+ logMsg = appendLogInline(logMsg, "订单运费模板=" + merchantResult.total_delivery_price_template);
194
+ logMsg = appendLogInline(logMsg, "仓库管理=" + merchantResult.total_warehouse);
195
+ logMsg = appendLogInline(logMsg, "券活动=" + merchantResult.total_discount_ticket_type);
196
+ logMsg = appendLogInline(logMsg, "优惠券=" + merchantResult.total_discount_ticket);
197
+ logMsg = appendLogInline(logMsg, "券活动数量=" + merchantResult.total_discount_ticket_type_count);
198
+ logMsg = appendLogInline(logMsg, "用户领券数量=" + merchantResult.total_discount_ticket_type_give_count);
199
+ logMsg = appendLogInline(logMsg, "领券记录=" + merchantResult.total_discount_ticket_give_log);
200
+ logMsg = appendLogInline(logMsg, "优惠券日志=" + merchantResult.total_discount_ticket_log);
201
+ logMsg = appendLogInline(logMsg, "自提点=" + merchantResult.total_mall_delivery_point);
202
+ logMsg = appendLogInline(logMsg, "满减规则=" + merchantResult.total_full_discount);
203
+ logMsg = appendLogInline(logMsg, "N件N折=" + merchantResult.total_full_number_discount);
204
+ logMsg = appendLogInline(logMsg, "页面数=" + merchantResult.total_page);
205
+ logMsg = appendLogInline(logMsg, "页面目录=" + merchantResult.total_page_directory);
206
+ logMsg = appendLogInline(logMsg, "页面项目=" + merchantResult.total_page_project);
207
+ logMsg = appendLogInline(logMsg, "全局公告=" + merchantResult.total_mall_global_notice);
208
+ logMsg = appendLogInline(logMsg, "API权限=" + merchantResult.total_org_mobile_api_privilege);
209
+
210
+ $.log("org_batch_repair_parentid.jsx...repair...##end##...orgId=" + merchantId);
211
+ } catch (e) {
212
+ totalFailed++;
213
+ logMsg = appendLog(logMsg, "第[" + i + "]" + lineNumName + " 操作失败,失败原因:" + e);
214
+ }
215
+ }
216
+
217
+ } catch (e) {
218
+ $.log("org_batch_repair_parentid....batchUpdate.jsx....error=" + e);
219
+ logMsg = appendLog(logMsg, "操作出现异常,异常信息为:" + e);
220
+ } finally {
221
+ var endTime = (new Date()).getTime();
222
+ var logInfo = "总耗时=" + (endTime - beginTime) + "毫秒";
223
+ logInfo += "。总行数=" + total;
224
+ logInfo += ",共成功处理数量=" + totalSuccess;
225
+ logInfo += ",未成功总数量=" + totalFailed;
226
+
227
+ logMsg = appendLog(logMsg, "");
228
+ logMsg = appendLog(logMsg, logInfo);
229
+
230
+ jBatchImport.msg = logMsg;
231
+ owl_org_batch_repair_parentidService.update(jBatchImport);
232
+ }
233
+
234
+ })();
235
+
236
+ function appendLog(logInfo, s) {
237
+ if (logInfo) {
238
+ return logInfo + "\n" + s;
239
+ }
240
+ return s;
241
+ }
242
+
243
+ function appendLogInline(logInfo, s) {
244
+ if (logInfo) {
245
+ return logInfo + "," + s;
246
+ }
247
+ return s;
248
+ }
249
+
250
+ function getCellValue(cells, index) {
251
+ for (var i = 0; i < cells.length; i++) {
252
+ var jCell = cells[i];
253
+ if (jCell.columnIndex == index) {
254
+ if (jCell.value) {
255
+ return jCell.value;
256
+ }
257
+ }
258
+ }
259
+ return "";
260
+ }
261
+
262
+ function doRepairMerchant(orgId) {
263
+ var searchArgs = {};
264
+ searchArgs._orgId = orgId;//这里注意不能是_orgIds,否则会出现重复修复的操作
265
+ $.log("org_batch_repair_parentid.jsx...doRepairMerchant...orgId=" + orgId + "....searchArgs=" + JSON.stringify(searchArgs));
266
+
267
+ var pageLimit = 500;
268
+ var totalRecords = owl_orgsService.count(null, searchArgs, null);
269
+ var totalPages = (totalRecords + pageLimit - 1) / pageLimit;
270
+ $.log("org_batch_repair_parentid.jsx....orgId=" + orgId + "...totalPages=" + totalPages + "...totalRecords=" + totalRecords);
271
+
272
+ if (totalRecords > 10000) {
273
+ var jResult = {};
274
+ jResult.code = "0";
275
+ jResult.msg = "总数超过了10000";
276
+ return jResult;
277
+ }
278
+
279
+ var total = 0;
280
+ var totalNull = 0;
281
+ var totalNullParent = 0;
282
+ var totalOk = 0;
283
+ var totalUpdated = 0;
284
+ var totalIdError = 0;
285
+
286
+ var total_product = 0;
287
+ var total_sku = 0;
288
+ var total_mall_o = 0;
289
+ var total_return_order = 0;
290
+ var total_refund_order = 0;
291
+ var total_mall_order_package = 0;
292
+ var total_mall_delivery_point = 0;
293
+ var total_full_discount = 0;
294
+ var total_full_number_discount = 0;
295
+ var total_page = 0;
296
+ var total_page_directory = 0;
297
+ var total_page_project = 0;
298
+ var total_mall_global_notice = 0;
299
+
300
+ var total_mall_off = 0;
301
+ var total_product_images = 0;
302
+ var total_product_batch_export_org = 0;
303
+ var total_product_batch_import = 0;
304
+ var total_product_batch_updatecategory = 0;
305
+ var total_product_batch_update_tag = 0;
306
+ var total_sku_batch_update = 0;
307
+ var total_sku_batch_update_special_price = 0;
308
+ var total_org_category = 0;
309
+ var total_p_guarantee = 0;
310
+ var total_p_activity_tag = 0;
311
+ var total_batch_add_reason_refundorder = 0;
312
+ var total_order_batch_export_org = 0;
313
+ var total_refundorder_batch_export_org = 0;
314
+ var total_delivery_price_template = 0;
315
+ var total_warehouse = 0;
316
+ var total_discount_ticket_type = 0;
317
+ var total_discount_ticket = 0;
318
+ var total_discount_ticket_type_count = 0;
319
+ var total_discount_ticket_type_give_count = 0;
320
+ var total_discount_ticket_give_log = 0;
321
+ var total_discount_ticket_log = 0;
322
+ var total_org_mobile_api_privilege = 0;
323
+
324
+ for (var k = 1; k <= totalPages; k++) {
325
+ var start = (k - 1) * pageLimit;
326
+ $.log("org_batch_repair_parentid.jsx...doRepairMerchant...orgId=" + orgId + "...start=" + start);
327
+
328
+ var recordList = searchMerchant(searchArgs, start, pageLimit);
329
+ var size = recordList.length;
330
+ if (size > 0) {
331
+ for (var i = 0; i < size; i++) {
332
+ var jMerchant = recordList[i];
333
+ total++;
334
+
335
+ if (jMerchant.id == orgId) {
336
+ //如果是机构自己,就不要继续了
337
+ continue;
338
+ }
339
+ if (jMerchant.enableState == "N") {
340
+ //冻结的商家,暂时先不做修复
341
+ continue;
342
+ }
343
+
344
+ if (jMerchant.id == "owl_orgs__m_3190001_o") {
345
+ //只先修复这个商家
346
+ continue;
347
+ }
348
+
349
+ jMerchant = owl_orgsService.get(jMerchant.id);
350
+ try {
351
+ var merchantId = jMerchant.id;
352
+ if (jMerchant.id.indexOf("owl_orgs_") < 0) {
353
+ totalIdError++;
354
+ $.log("org_batch_repair_parentid.jsx...doRepairMerchant...id error.....merchantId=" + jMerchant.id);
355
+ continue;
356
+ }
357
+
358
+ var jParentOrg = owl_orgsService.get(jMerchant.parent_id);
359
+ if (!jParentOrg) {
360
+ totalNullParent++;
361
+ $.log("org_batch_repair_parentid.jsx...doRepairMerchant...jParentOrg is null.....merchantId=" + jMerchant.id + "...jMerchant.parent_id=" + jMerchant.parent_id);
362
+ continue;
363
+ }
364
+
365
+ var parentPathIds = OrgUtil.getSaveOrgIds(jParentOrg.id);
366
+ $.log("org_batch_repair_parentid.jsx...doRepairMerchant...【compare1】...merchantId=" + merchantId + "...parentPathIds1=" + JSON.stringify(parentPathIds));
367
+ var fullPathIds = [];
368
+ if (parentPathIds) {
369
+ fullPathIds = fullPathIds.concat(parentPathIds);
370
+ fullPathIds.push(merchantId);
371
+ } else {
372
+ fullPathIds = [merchantId];
373
+ }
374
+ $.log("org_batch_repair_parentid.jsx...doRepairMerchant...【compare1】...merchantId=" + merchantId + "...parentPathIds2=" + JSON.stringify(parentPathIds));
375
+
376
+ $.log("org_batch_repair_parentid.jsx...doRepairMerchant...【compare2】...merchantId=" + jMerchant.id + "...fullPathIds=" + JSON.stringify(fullPathIds) + "...jMerchant._orgIds=" + JSON.stringify(jMerchant._orgIds));
377
+ if (!isCompleteSame(jMerchant._orgIds, fullPathIds)) {
378
+ var parentPathNames = [];
379
+ var fullPathName = "";
380
+ if (jParentOrg.parentPathNames) {
381
+ parentPathNames = jParentOrg.parentPathNames.push(jParentOrg.name);
382
+ } else {
383
+ parentPathNames = [jParentOrg.name];
384
+ }
385
+
386
+ if (jParentOrg.fullPathName) {
387
+ fullPathName = jParentOrg.fullPathName + jMerchant.name;
388
+ } else {
389
+ fullPathName = jMerchant.name;
390
+ }
391
+
392
+ jMerchant.parent_id = jParentOrg.id;
393
+ jMerchant.parent_name = jParentOrg.name;
394
+ jMerchant._orgId = jParentOrg.id;
395
+ jMerchant._orgIds = fullPathIds;
396
+ jMerchant.parentPathIds = parentPathIds;
397
+ jMerchant.parentPathNames = parentPathNames;
398
+ jMerchant.fullPathIds = fullPathIds;
399
+ jMerchant.fullPathName = fullPathName;
400
+ owl_orgsService.update(jMerchant);
401
+ totalUpdated++;
402
+ $.log("org_batch_repair_parentid.jsx...doRepairMerchant...merchant repaired...merchantId=" + jMerchant.id);
403
+ } else {
404
+ totalOk++;
405
+ $.log("org_batch_repair_parentid.jsx...doRepairMerchant...is ok.....merchantId=" + jMerchant.id);
406
+ }
407
+
408
+
409
+ $.log("org_batch_repair_parentid.jsx...begin...orgId=" + orgId + "...merchantId=" + merchantId + "...orgIds=" + JSON.stringify(jMerchant.fullPathIds));
410
+ //修复商品和sku
411
+ var productResult = doRepairProduct(jMerchant.id, jMerchant.fullPathIds);
412
+ $.log("org_batch_repair_parentid.jsx...doRepairProduct...orgId=" + jMerchant.id + "...productResult=" + JSON.stringify(productResult));
413
+ total_product += productResult.totalUpdated;
414
+ total_sku += productResult.totalSkuRepaired;
415
+
416
+ //修复特价
417
+ var mall_offResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_mall_offService, "mall_off");
418
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=mall_off...orgId=" + jMerchant.id + "...mall_offResult=" + JSON.stringify(mall_offResult));
419
+ total_mall_off += mall_offResult.totalUpdated;
420
+
421
+ //修复商品图片组
422
+ var product_imagesResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_product_imagesService, "product_images");
423
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=product_images...orgId=" + jMerchant.id + "...product_imagesResult=" + JSON.stringify(product_imagesResult));
424
+ total_product_images += product_imagesResult.totalUpdated;
425
+
426
+ //修复商品导出
427
+ var product_batch_export_orgResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_product_batch_export_orgService, "product_batch_export_org");
428
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=product_batch_export_org...orgId=" + jMerchant.id + "...product_batch_export_orgResult=" + JSON.stringify(product_batch_export_orgResult));
429
+ total_product_batch_export_org += product_batch_export_orgResult.totalUpdated;
430
+
431
+ //商品批量导入
432
+ var product_batch_importResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_product_batch_importService, "product_batch_import");
433
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=product_batch_import...orgId=" + jMerchant.id + "...product_batch_importResult=" + JSON.stringify(product_batch_importResult));
434
+ total_product_batch_import += product_batch_importResult.totalUpdated;
435
+
436
+ //商品批量修改分类
437
+ var product_batch_updatecategoryResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_product_batch_updatecategoryService, "product_batch_updatecategory");
438
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=product_batch_updatecategory...orgId=" + jMerchant.id + "...product_batch_updatecategoryResult=" + JSON.stringify(product_batch_updatecategoryResult));
439
+ total_product_batch_updatecategory += product_batch_updatecategoryResult.totalUpdated;
440
+
441
+ //批量修改商品标签
442
+ var product_batch_update_tagResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_product_batch_update_tagService, "product_batch_update_tag");
443
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=product_batch_update_tag...orgId=" + jMerchant.id + "...product_batch_update_tagResult=" + JSON.stringify(product_batch_update_tagResult));
444
+ total_product_batch_update_tag += product_batch_update_tagResult.totalUpdated;
445
+
446
+ //SKU批量修改
447
+ var sku_batch_updateResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_sku_batch_updateService, "sku_batch_update");
448
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=sku_batch_update...orgId=" + jMerchant.id + "...sku_batch_updateResult=" + JSON.stringify(sku_batch_updateResult));
449
+ total_sku_batch_update += sku_batch_updateResult.totalUpdated;
450
+
451
+ //SKU批量修改特价
452
+ var sku_batch_update_special_priceResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_sku_batch_update_special_priceService, "sku_batch_update_special_price");
453
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=sku_batch_update_special_price...orgId=" + jMerchant.id + "...sku_batch_update_special_priceResult=" + JSON.stringify(sku_batch_update_special_priceResult));
454
+ total_sku_batch_update_special_price += sku_batch_update_special_priceResult.totalUpdated;
455
+
456
+ //店铺分类
457
+ var org_categoryResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_org_categoryService, "org_category");
458
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=org_category...orgId=" + jMerchant.id + "...org_categoryResult=" + JSON.stringify(org_categoryResult));
459
+ total_org_category += org_categoryResult.totalUpdated;
460
+
461
+ //商品保障
462
+ var p_guaranteeResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_p_guaranteeService, "p_guarantee");
463
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=p_guarantee...orgId=" + jMerchant.id + "...p_guaranteeResult=" + JSON.stringify(p_guaranteeResult));
464
+ total_p_guarantee += p_guaranteeResult.totalUpdated;
465
+
466
+ //商品活动标签
467
+ var p_activity_tagResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_p_activity_tagService, "p_activity_tag");
468
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=p_activity_tag...orgId=" + jMerchant.id + "...p_activity_tagResult=" + JSON.stringify(p_activity_tagResult));
469
+ total_p_activity_tag += p_activity_tagResult.totalUpdated;
470
+
471
+ //修复订单
472
+ var orderResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_mall_oService, "mall_o");
473
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=mall_o...orgId=" + jMerchant.id + "...orderResult=" + JSON.stringify(orderResult));
474
+ total_mall_o += orderResult.totalUpdated;
475
+
476
+ //修复退货单
477
+ var return_orderResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_return_orderService, "return_order");
478
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=return_order...orgId=" + jMerchant.id + "...return_orderResult=" + JSON.stringify(return_orderResult));
479
+ total_return_order += return_orderResult.totalUpdated;
480
+
481
+ //修复退款单
482
+ var refund_orderResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_refund_orderService, "refund_order");
483
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=refund_order...orgId=" + jMerchant.id + "...refund_orderResult=" + JSON.stringify(refund_orderResult));
484
+ total_refund_order += refund_orderResult.totalUpdated;
485
+
486
+ //修复包裹单
487
+ var mall_order_packageResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_mall_order_packageService, "mall_order_package");
488
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=mall_order_package...orgId=" + jMerchant.id + "...mall_order_packageResult=" + JSON.stringify(mall_order_packageResult));
489
+ total_mall_order_package += mall_order_packageResult.totalUpdated;
490
+
491
+ //批量生成其他原因退款单
492
+ var batch_add_reason_refundorderResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_batch_add_reason_refundorderService, "batch_add_reason_refundorder");
493
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=batch_add_reason_refundorder...orgId=" + jMerchant.id + "...batch_add_reason_refundorderResult=" + JSON.stringify(batch_add_reason_refundorderResult));
494
+ total_batch_add_reason_refundorder += batch_add_reason_refundorderResult.totalUpdated;
495
+
496
+ //订单导出
497
+ var order_batch_export_orgResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_order_batch_export_orgService, "order_batch_export_org");
498
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=order_batch_export_org...orgId=" + jMerchant.id + "...order_batch_export_orgResult=" + JSON.stringify(order_batch_export_orgResult));
499
+ total_order_batch_export_org += order_batch_export_orgResult.totalUpdated;
500
+
501
+ //退款单导出
502
+ var refundorder_batch_export_orgResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_refundorder_batch_export_orgService, "refundorder_batch_export_org");
503
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=refundorder_batch_export_org...orgId=" + jMerchant.id + "...refundorder_batch_export_orgResult=" + JSON.stringify(refundorder_batch_export_orgResult));
504
+ total_refundorder_batch_export_org += refundorder_batch_export_orgResult.totalUpdated;
505
+
506
+ //订单运费模板
507
+ var delivery_price_templateResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_delivery_price_templateService, "delivery_price_template");
508
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=delivery_price_template...orgId=" + jMerchant.id + "...delivery_price_templateResult=" + JSON.stringify(delivery_price_templateResult));
509
+ total_delivery_price_template += delivery_price_templateResult.totalUpdated;
510
+
511
+ //仓库管理
512
+ var warehouseResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_warehouseService, "warehouse");
513
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=warehouse...orgId=" + jMerchant.id + "...warehouseResult=" + JSON.stringify(warehouseResult));
514
+ total_warehouse += warehouseResult.totalUpdated;
515
+
516
+ //券活动
517
+ var discount_ticket_typeResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_discount_ticket_typeService, "discount_ticket_type");
518
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=discount_ticket_type...orgId=" + jMerchant.id + "...discount_ticket_typeResult=" + JSON.stringify(discount_ticket_typeResult));
519
+ total_discount_ticket_type += discount_ticket_typeResult.totalUpdated;
520
+
521
+ //优惠券
522
+ var discount_ticketResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_discount_ticketService, "discount_ticket");
523
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=discount_ticket...orgId=" + jMerchant.id + "...discount_ticketResult=" + JSON.stringify(discount_ticketResult));
524
+ total_discount_ticket += discount_ticketResult.totalUpdated;
525
+
526
+ //券活动数量
527
+ var discount_ticket_type_countResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_discount_ticket_type_countService, "discount_ticket_type_count");
528
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=discount_ticket_type_count...orgId=" + jMerchant.id + "...discount_ticket_type_countResult=" + JSON.stringify(discount_ticket_type_countResult));
529
+ total_discount_ticket_type_count += discount_ticket_type_countResult.totalUpdated;
530
+
531
+ //用户领券数量
532
+ var discount_ticket_type_give_countResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_discount_ticket_type_give_countService, "discount_ticket_type_give_count");
533
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=discount_ticket_type_give_count...orgId=" + jMerchant.id + "...discount_ticket_type_give_countResult=" + JSON.stringify(discount_ticket_type_give_countResult));
534
+ total_discount_ticket_type_give_count += discount_ticket_type_give_countResult.totalUpdated;
535
+
536
+ //领券记录
537
+ var discount_ticket_give_logResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_discount_ticket_give_logService, "discount_ticket_give_log");
538
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=discount_ticket_give_log...orgId=" + jMerchant.id + "...discount_ticket_give_logResult=" + JSON.stringify(discount_ticket_give_logResult));
539
+ total_discount_ticket_give_log += discount_ticket_give_logResult.totalUpdated;
540
+
541
+ //优惠券日志
542
+ var discount_ticket_logResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_discount_ticket_logService, "discount_ticket_log");
543
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=discount_ticket_log...orgId=" + jMerchant.id + "...discount_ticket_logResult=" + JSON.stringify(discount_ticket_logResult));
544
+ total_discount_ticket_log += discount_ticket_logResult.totalUpdated;
545
+
546
+ //修复自提点
547
+ var deliveryPointResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_mall_delivery_pointService, "mall_delivery_point");
548
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=mall_delivery_point...orgId=" + jMerchant.id + "...deliveryPointResult=" + JSON.stringify(deliveryPointResult));
549
+ total_mall_delivery_point += deliveryPointResult.totalUpdated;
550
+
551
+ //修复满减规则
552
+ var fullDiscountResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_full_discountService, "full_discount");
553
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=full_discount...orgId=" + jMerchant.id + "...fullDiscountResult=" + JSON.stringify(fullDiscountResult));
554
+ total_full_discount += fullDiscountResult.totalUpdated;
555
+
556
+ //修复N件N折
557
+ var full_number_discountResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_full_number_discountService, "full_number_discount");
558
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=full_number_discount...orgId=" + jMerchant.id + "...full_number_discountResult=" + JSON.stringify(full_number_discountResult));
559
+ total_full_number_discount += full_number_discountResult.totalUpdated;
560
+
561
+ //修复页面
562
+ var pageResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_pageService, "page");
563
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=page...orgId=" + jMerchant.id + "...pageResult=" + JSON.stringify(pageResult));
564
+ total_page += pageResult.totalUpdated;
565
+
566
+ //修复页面目录
567
+ var page_directoryResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_page_directoryService, "page_directory");
568
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=page_directory...orgId=" + jMerchant.id + "...page_directoryResult=" + JSON.stringify(page_directoryResult));
569
+ total_page_directory += page_directoryResult.totalUpdated;
570
+
571
+ //修复页面项目
572
+ var page_projectResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_page_projectService, "page_project");
573
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=page_project...orgId=" + jMerchant.id + "...page_projectResult=" + JSON.stringify(page_projectResult));
574
+ total_page_project += page_projectResult.totalUpdated;
575
+
576
+ //修复全局公告
577
+ var globalNoticeResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_mall_global_noticeService, "mall_global_notice");
578
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=mall_global_notice...orgId=" + jMerchant.id + "...globalNoticeResult=" + JSON.stringify(globalNoticeResult));
579
+ total_mall_global_notice += globalNoticeResult.totalUpdated;
580
+
581
+ //API权限
582
+ var org_mobile_api_privilegeResult = doRepairCommon(jMerchant.id, jMerchant.fullPathIds, owl_org_mobile_api_privilegeService, "org_mobile_api_privilege");
583
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=org_mobile_api_privilege...orgId=" + jMerchant.id + "...org_mobile_api_privilegeResult=" + JSON.stringify(org_mobile_api_privilegeResult));
584
+ total_org_mobile_api_privilege += org_mobile_api_privilegeResult.totalUpdated;
585
+
586
+ $.log("org_batch_repair_parentid.jsx...end...orgId=" + orgId + "...merchantId=" + merchantId + "...orgIds=" + JSON.stringify(jMerchant.fullPathIds));
587
+ } catch (e) {
588
+ $.log("org_batch_repair_parentid.jsx...doRepairMerchant...orgId=" + orgId + "...error=" + e + "...merchantId=" + jMerchant.id);
589
+ }
590
+ }
591
+ }
592
+ }
593
+
594
+ var jResult = {};
595
+ jResult.code = "0";
596
+ jResult.total = total;
597
+ jResult.totalOk = totalOk;
598
+ jResult.totalNull = totalNull;
599
+ jResult.totalNullParent = totalNullParent;
600
+ jResult.totalUpdated = totalUpdated;
601
+ jResult.totalIdError = totalIdError;
602
+
603
+ jResult.total_product = total_product;
604
+ jResult.total_sku = total_product;
605
+ jResult.total_mall_o = total_mall_o;
606
+ jResult.total_return_order = total_return_order;
607
+ jResult.total_refund_order = total_refund_order;
608
+ jResult.total_mall_order_package = total_mall_order_package;
609
+ jResult.total_mall_delivery_point = total_mall_delivery_point;
610
+ jResult.total_full_discount = total_full_discount;
611
+ jResult.total_full_number_discount = total_full_number_discount;
612
+ jResult.total_page = total_page;
613
+ jResult.total_page_directory = total_page_directory;
614
+ jResult.total_page_project = total_page_project;
615
+ jResult.total_mall_global_notice = total_mall_global_notice;
616
+ jResult.total_mall_off = total_mall_off;
617
+ jResult.total_product_images = total_product_images;
618
+ jResult.total_product_batch_export_org = total_product_batch_export_org;
619
+ jResult.total_product_batch_import = total_product_batch_import;
620
+ jResult.total_product_batch_updatecategory = total_product_batch_updatecategory;
621
+ jResult.total_product_batch_update_tag = total_product_batch_update_tag;
622
+ jResult.total_sku_batch_update = total_sku_batch_update;
623
+ jResult.total_sku_batch_update_special_price = total_sku_batch_update_special_price;
624
+ jResult.total_org_category = total_org_category;
625
+ jResult.total_p_guarantee = total_p_guarantee;
626
+ jResult.total_p_activity_tag = total_p_activity_tag;
627
+ jResult.total_batch_add_reason_refundorder = total_batch_add_reason_refundorder;
628
+ jResult.total_order_batch_export_org = total_order_batch_export_org;
629
+ jResult.total_refundorder_batch_export_org = total_refundorder_batch_export_org;
630
+ jResult.total_delivery_price_template = total_delivery_price_template;
631
+ jResult.total_warehouse = total_warehouse;
632
+ jResult.total_discount_ticket_type = total_discount_ticket_type;
633
+ jResult.total_discount_ticket = total_discount_ticket;
634
+ jResult.total_discount_ticket_type_count = total_discount_ticket_type_count;
635
+ jResult.total_discount_ticket_type_give_count = total_discount_ticket_type_give_count;
636
+ jResult.total_discount_ticket_give_log = total_discount_ticket_give_log;
637
+ jResult.total_discount_ticket_log = total_discount_ticket_log;
638
+ jResult.total_org_mobile_api_privilege = total_org_mobile_api_privilege;
639
+ return jResult;
640
+ }
641
+
642
+ function doRepairCommon(orgId, orgIds, commonService, typeName) {
643
+ var searchArgs = {};
644
+ searchArgs._orgId = orgId;
645
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=" + typeName + "...orgId=" + orgId + "....searchArgs=" + JSON.stringify(searchArgs));
646
+
647
+ var pageLimit = 500;
648
+ var totalRecords = commonService.count(null, searchArgs, null);
649
+ var totalPages = (totalRecords + pageLimit - 1) / pageLimit;
650
+ $.log("org_batch_repair_parentid.jsx....orgId=" + orgId + "...totalPages=" + totalPages + "...totalRecords=" + totalRecords);
651
+
652
+ if (totalRecords > 50000) {
653
+ var jResult = {};
654
+ jResult.code = "0";
655
+ jResult.msg = "总数超过了50000";
656
+ return jResult;
657
+ }
658
+
659
+ var total = 0;
660
+ var totalNull = 0;
661
+ var totalUpdated = 0;
662
+ var totalIdError = 0;
663
+
664
+ for (var k = 1; k <= totalPages; k++) {
665
+ var start = (k - 1) * pageLimit;
666
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=" + typeName + "...orgId=" + orgId + "...start=" + start);
667
+
668
+ var recordList = searchCommon(commonService, searchArgs, start, pageLimit);
669
+ var size = recordList.length;
670
+ if (size > 0) {
671
+ for (var i = 0; i < size; i++) {
672
+ var jOrder = recordList[i];
673
+ total++;
674
+
675
+ try {
676
+ if (jOrder.id.indexOf("owl_" + typeName + "_") < 0) {
677
+ totalIdError++;
678
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=" + typeName + "...id error.....pid=" + jOrder.id);
679
+ continue;
680
+ }
681
+
682
+ var orderOrgIds = jOrder._orgIds;
683
+ if (!orderOrgIds || !isCompleteSame(orgIds, orderOrgIds)) {
684
+ jOrder = commonService.get(jOrder.id);
685
+ if (!jOrder || jOrder.del == "T") {
686
+ totalNull++;
687
+ continue;
688
+ }
689
+ var orderOrgIds = jOrder._orgIds;
690
+ if (!orderOrgIds || !isCompleteSame(orgIds, orderOrgIds)) {
691
+ jOrder._orgIds = orgIds;
692
+ commonService.update(jOrder);
693
+ totalUpdated++;
694
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=" + typeName + " repaired...id=" + jOrder.id + "...objOrgIds=" + JSON.stringify(orderOrgIds));
695
+ }
696
+ }
697
+ } catch (e) {
698
+ $.log("org_batch_repair_parentid.jsx...doRepairCommon=" + typeName + "...orgId=" + orgId + "...error=" + e + "...pid=" + jOrder.id);
699
+ }
700
+ }
701
+ }
702
+ }
703
+
704
+ var jResult = {};
705
+ jResult.code = "0";
706
+ jResult.total = total;
707
+ jResult.totalNull = totalNull;
708
+ jResult.totalUpdated = totalUpdated;
709
+ jResult.totalIdError = totalIdError;
710
+ return jResult;
711
+ }
712
+
713
+ function doRepairProduct(orgId, orgIds) {
714
+ var searchArgs = {};
715
+ searchArgs._orgId = orgId;
716
+ $.log("org_batch_repair_parentid.jsx...doRepairProduct...orgId=" + orgId + "....searchArgs=" + JSON.stringify(searchArgs));
717
+
718
+ var pageLimit = 500;
719
+ var totalRecords = owl_mall_pService.count(null, searchArgs, null);
720
+ var totalPages = (totalRecords + pageLimit - 1) / pageLimit;
721
+ $.log("org_batch_repair_parentid.jsx....orgId=" + orgId + "...totalPages=" + totalPages + "...totalRecords=" + totalRecords);
722
+
723
+ if (totalRecords > 50000) {
724
+ var jResult = {};
725
+ jResult.code = "0";
726
+ jResult.msg = "总数超过了50000";
727
+ return jResult;
728
+ }
729
+
730
+ var total = 0;
731
+ var totalNull = 0;
732
+ var totalUpdated = 0;
733
+ var totalIdError = 0;
734
+ var totalSkuRepaired = 0;
735
+
736
+ for (var k = 1; k <= totalPages; k++) {
737
+ var start = (k - 1) * pageLimit;
738
+ $.log("org_batch_repair_parentid.jsx...doRepairProduct...orgId=" + orgId + "...start=" + start);
739
+
740
+ var recordList = searchProducts(searchArgs, start, pageLimit);
741
+ var size = recordList.length;
742
+ if (size > 0) {
743
+ for (var i = 0; i < size; i++) {
744
+ var jProduct = recordList[i];
745
+ total++;
746
+
747
+ try {
748
+ if (jProduct.id.indexOf("owl_mall_p_") < 0) {
749
+ totalIdError++;
750
+ $.log("org_batch_repair_parentid.jsx...doRepairProduct...id error.....pid=" + jProduct.id);
751
+ continue;
752
+ }
753
+
754
+ var productOrgIds = jProduct._orgIds;
755
+ if (!productOrgIds || !isCompleteSame(orgIds, productOrgIds)) {
756
+ jProduct = owl_mall_pService.get(jProduct.id);
757
+ if (!jProduct || jProduct.del == "T") {
758
+ totalNull++;
759
+ continue;
760
+ }
761
+ var productOrgIds = jProduct._orgIds;
762
+ if (!productOrgIds || !isCompleteSame(orgIds, productOrgIds)) {
763
+ jProduct._orgIds = orgIds;
764
+ owl_mall_pService.update(jProduct);
765
+ totalUpdated++;
766
+ $.log("org_batch_repair_parentid.jsx...doRepairProduct...product repaired...pid=" + jProduct.id + "...productOrgIds=" + JSON.stringify(productOrgIds));
767
+ }
768
+ }
769
+
770
+ var skuRepaired = repairSkuList(orgIds, jProduct);
771
+ totalSkuRepaired += skuRepaired;
772
+ } catch (e) {
773
+ $.log("org_batch_repair_parentid.jsx...doRepairProduct...orgId=" + orgId + "...error=" + e + "...pid=" + jProduct.id);
774
+ }
775
+ }
776
+ }
777
+ }
778
+
779
+ var jResult = {};
780
+ jResult.code = "0";
781
+ jResult.total = total;
782
+ jResult.totalNull = totalNull;
783
+ jResult.totalUpdated = totalUpdated;
784
+ jResult.totalIdError = totalIdError;
785
+ jResult.totalSkuRepaired = totalSkuRepaired;
786
+ return jResult;
787
+ }
788
+
789
+ function searchCommon(commonService, searchArgs, from, pageSize) {
790
+ var sr = commonService.search(null, searchArgs, null, from, pageSize, [{"owl_createTime": {order: "desc"}}]);
791
+ if (sr.state == 'ok') {
792
+ return sr.list;
793
+ }
794
+ return [];
795
+ }
796
+
797
+ function searchProducts(searchArgs, from, pageSize) {
798
+ var sr = owl_mall_pService.search(null, searchArgs, null, from, pageSize, [{"owl_createTime": {order: "desc"}}]);
799
+ if (sr.state == 'ok') {
800
+ return sr.list;
801
+ }
802
+ return [];
803
+ }
804
+
805
+ function searchMerchant(searchArgs, from, pageSize) {
806
+ var sr = owl_orgsService.search(null, searchArgs, null, from, pageSize, [{"owl_createTime": {order: "desc"}}]);
807
+ if (sr.state == 'ok') {
808
+ return sr.list;
809
+ }
810
+ return [];
811
+ }
812
+
813
+ function getSkuList(jProduct) {
814
+ var searchArgs = {
815
+ "product_id": jProduct.id
816
+ }
817
+ var skuResult = owl_mall_skuService.search(null, searchArgs, "", 0, 1000, [{"owl_createTime": {order: "desc"}}]);
818
+ if (skuResult.state == 'ok') {
819
+ return skuResult.list;
820
+ }
821
+ return [];
822
+ }
823
+
824
+ function repairSkuList(orgIds, jProduct) {
825
+ var skuList = getSkuList(jProduct);
826
+ var totalRepaired = 0;
827
+ for (var k = 0; k < skuList.length; k++) {
828
+ var jSku = skuList[k];
829
+ if (jSku.product_id != jProduct.id) {
830
+ continue;
831
+ }
832
+ if (jSku._orgId != jProduct._orgId) {
833
+ continue;
834
+ }
835
+
836
+ var skuOrgIds = jSku._orgIds;
837
+ if (skuOrgIds) {
838
+ if (isCompleteSame(orgIds, skuOrgIds)) {
839
+ continue;
840
+ }
841
+ }
842
+
843
+ jSku = owl_mall_skuService.get(jSku.id);
844
+ if (!jSku || jSku.del == "T") {
845
+ continue;
846
+ }
847
+
848
+ var skuOrgIds = jSku._orgIds;
849
+ if (skuOrgIds) {
850
+ if (isCompleteSame(orgIds, skuOrgIds)) {
851
+ continue;
852
+ }
853
+ }
854
+
855
+ if (!getSkuSellPrice(jSku, jProduct)) {
856
+ jSku.publish_state = "0";
857
+ }
858
+
859
+ jSku._orgIds = orgIds;
860
+ owl_mall_skuService.update(jSku);
861
+ totalRepaired++;
862
+
863
+ $.log("org_batch_repair_parentid.jsx...repairSkuList...sku repaired...pid=" + jProduct.id + "...skuId=" + jSku.id + "...skuOrgIds=" + JSON.stringify(skuOrgIds));
864
+ }
865
+ return totalRepaired;
866
+ }
867
+
868
+ function getSkuSellPrice(jSku, jProduct) {
869
+ if (jSku) {
870
+ if (jSku.price_info && jSku.price_info.sell_price) {
871
+ return jSku.price_info.sell_price;
872
+ }
873
+ }
874
+ if (jProduct) {
875
+ if (jProduct && jProduct.price_info && jProduct.price_info.sell_price) {
876
+ return jProduct.price_info.sell_price;
877
+ }
878
+ }
879
+ return "";
880
+ }
881
+
882
+ function isCompleteSame(list1, list2) {
883
+ list1 = toNewList(list1);
884
+ list2 = toNewList(list2);
885
+ if (list1.length != list2.length) {
886
+ return false;
887
+ }
888
+
889
+ for (var i = 0; i < list1.length; i++) {
890
+ if (!isExist(list2, list1[i])) {
891
+ return false;
892
+ }
893
+ }
894
+ for (var i = 0; i < list2.length; i++) {
895
+ if (!isExist(list1, list2[i])) {
896
+ return false;
897
+ }
898
+ }
899
+ return true;
900
+ }
901
+
902
+ function isExist(list, id) {
903
+ for (var i = 0; i < list.length; i++) {
904
+ if (list[i] == "0") {
905
+ continue;
906
+ }
907
+ if (list[i] == id) {
908
+ return true;
909
+ }
910
+ }
911
+ return false;
912
+ }
913
+
914
+ function toNewList(list) {
915
+ var newList = [];
916
+ for (var i = 0; i < list.length; i++) {
917
+ if (list[i] == "0") {
918
+ continue;
919
+ }
920
+ newList.push(list[i]);
921
+ }
922
+ return newList;
923
+ }
924
+