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.
- package/bin/owl-init.js +26 -5
- package/examples/models/owlsys/backendSession.json +52 -0
- package/examples/models/owlsys/orgBatch/org_admin_batch_import/api/src/eventhandlers/afterAdd.jsx +10 -0
- package/examples/models/owlsys/orgBatch/org_admin_batch_import/api/src/tasks/batchImport.jsx +318 -0
- package/examples/models/owlsys/orgBatch/org_admin_batch_import.json +75 -0
- package/examples/models/owlsys/orgBatch/org_batch_export/api/src/eventhandlers/batchExport.jsx +24 -0
- package/examples/models/owlsys/orgBatch/org_batch_export/api/src/tasks/batchExport.jsx +375 -0
- package/examples/models/owlsys/orgBatch/org_batch_export.json +102 -0
- package/examples/models/owlsys/orgBatch/org_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
- package/examples/models/owlsys/orgBatch/org_batch_import/api/src/plugins/downTemplate.jsx +79 -0
- package/examples/models/owlsys/orgBatch/org_batch_import/api/src/tasks/batchImport.jsx +424 -0
- package/examples/models/owlsys/orgBatch/org_batch_import.json +82 -0
- package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/eventhandlers/batchUpdate.jsx +24 -0
- package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/plugins/downTemplate.jsx +54 -0
- package/examples/models/owlsys/orgBatch/org_batch_repair_parentid/api/src/tasks/batchUpdate.jsx +924 -0
- package/examples/models/owlsys/orgBatch/org_batch_repair_parentid.json +82 -0
- package/examples/models/owlsys/orgBatch/org_batch_update/api/src/eventhandlers/batchUpdate.jsx +24 -0
- package/examples/models/owlsys/orgBatch/org_batch_update/api/src/plugins/downTemplate.jsx +79 -0
- package/examples/models/owlsys/orgBatch/org_batch_update/api/src/tasks/batchUpdate.jsx +472 -0
- package/examples/models/owlsys/orgBatch/org_batch_update.json +81 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/eventhandlers/batchUpdate.jsx +24 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/plugins/downTemplate.jsx +54 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_parentid/api/src/tasks/batchUpdate.jsx +509 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_parentid.json +82 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/eventhandlers/batchUpdate.jsx +24 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/plugins/downTemplate.jsx +61 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_state/api/src/tasks/doUpdateTask.jsx +299 -0
- package/examples/models/owlsys/orgBatch/org_batch_update_state.json +81 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/plugins/downTemplate.jsx +52 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_import/api/src/tasks/batchImport.jsx +297 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_import.json +82 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/eventhandlers/batchImport.jsx +24 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/plugins/downTemplate.jsx +58 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_update/api/src/tasks/batchUpdate.jsx +345 -0
- package/examples/models/owlsys/orgBatch/orguser_batch_update.json +82 -0
- package/examples/models/owlsys/organization/business_circle.json +144 -0
- package/examples/models/owlsys/organization/business_circle_application.json +50 -0
- package/examples/models/owlsys/organization/createSiteOrder.json +50 -0
- package/examples/models/owlsys/organization/entity.json +64 -0
- package/examples/models/owlsys/organization/merchant_apply/api/src/plugins/doCertifyToNotPass.jsx +68 -0
- package/examples/models/owlsys/organization/merchant_apply/api/src/plugins/doCertifyToPass.jsx +135 -0
- package/examples/models/owlsys/organization/merchant_apply.json +561 -0
- package/examples/models/owlsys/organization/merchant_user.json +55 -0
- package/examples/models/owlsys/organization/orgAdminGroups.json +179 -0
- package/examples/models/owlsys/organization/org_admin_groups/api/src/plugins/addUserToGroup.jsx +65 -0
- package/examples/models/owlsys/organization/org_admin_groups/api/src/plugins/createNewUser.jsx +9 -0
- package/examples/models/owlsys/organization/org_certify_log/api/src/plugins/doCertifyToNotPass.jsx +66 -0
- package/examples/models/owlsys/organization/org_certify_log/api/src/plugins/doCertifyToPass.jsx +94 -0
- package/examples/models/owlsys/organization/org_certify_log.json +78 -0
- package/examples/models/owlsys/organization/org_entity.json +60 -0
- package/examples/models/owlsys/organization/org_modules.json +117 -0
- package/examples/models/owlsys/organization/org_source.json +30 -0
- package/examples/models/owlsys/organization/org_user.json +81 -0
- package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/doCheckBeforeAddOrUpdate.jsx +32 -0
- package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/doCheckBeforeDelete.jsx +19 -0
- package/examples/models/owlsys/organization/orgs/api/src/eventHandlers/setIdByOrgType.jsx +47 -0
- package/examples/models/owlsys/organization/orgs/api/src/plugins/toOrg.jsx +48 -0
- package/examples/models/owlsys/organization/orgs.json +671 -0
- package/examples/models/owlsys/organization/platformAdminGroups.json +78 -0
- package/examples/models/owlsys/organization/website/api/src/plugins/syncToOrg.jsx +27 -0
- package/examples/models/owlsys/organization/website.json +104 -0
- package/examples/models/owlsys/permissions/permission.json +165 -0
- package/examples/models/owlsys/permissions/roles.json +48 -0
- package/examples/models/owlsys/permissions/tablelevelpermission.json +42 -0
- package/examples/models/owlsys/server_token.json +38 -0
- package/examples/models/owlsys/session.json +57 -0
- package/examples/models/owlsys/tasks/process_job.json +94 -0
- package/examples/models/owlsys/tasks/process_job_checklog.json +66 -0
- package/examples/models/owlsys/tasks/process_job_log.json +34 -0
- package/examples/models/owlsys/user/address.json +52 -0
- package/examples/models/owlsys/user/mall_u/api/src/plugins/changePassword.jsx +133 -0
- package/examples/models/owlsys/user/mall_u_category/api/src/eventHandlers/autoSetFullPath_addAfter.jsx +25 -0
- package/examples/models/owlsys/user/mall_u_category/api/src/eventHandlers/autoSetFullPath_updateBefore.jsx +23 -0
- package/examples/models/owlsys/user/mall_user_logout/api/src/eventhandlers/updateUserState.jsx +25 -0
- package/examples/models/owlsys/user/org_user_address.json +46 -0
- package/examples/models/owlsys/user/org_user_address_default.json +48 -0
- package/examples/models/owlsys/user/org_user_invoice.json +56 -0
- package/examples/models/owlsys/user/user.json +458 -0
- package/examples/models/owlsys/user/user_address.json +46 -0
- package/examples/models/owlsys/user/user_address_default.json +48 -0
- package/examples/models/owlsys/user/user_batch_base_export/api/src/eventhandlers/batchExport.jsx +24 -0
- package/examples/models/owlsys/user/user_batch_base_export/api/src/tasks/batchExport.jsx +240 -0
- package/examples/models/owlsys/user/user_batch_base_export.json +97 -0
- package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/eventhandlers/batchExport.jsx +24 -0
- package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/plugins/downTemplate.jsx +47 -0
- package/examples/models/owlsys/user/user_batch_export_bigmember_info/api/src/tasks/batchExportTask.jsx +208 -0
- package/examples/models/owlsys/user/user_batch_export_bigmember_info.json +83 -0
- package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/eventhandlers/batchExport.jsx +24 -0
- package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/plugins/downTemplate.jsx +44 -0
- package/examples/models/owlsys/user/user_batch_export_by_userid/api/src/tasks/batchExportTask.jsx +262 -0
- package/examples/models/owlsys/user/user_batch_export_by_userid.json +83 -0
- package/examples/models/owlsys/user/user_batch_import/api/src/eventhandlers/batchImport.jsx +24 -0
- package/examples/models/owlsys/user/user_batch_import/api/src/tasks/doAddUserTask.jsx +250 -0
- package/examples/models/owlsys/user/user_batch_import.json +76 -0
- package/examples/models/owlsys/user/user_batch_update_category/api/src/eventhandlers/batchUpdate.jsx +24 -0
- package/examples/models/owlsys/user/user_batch_update_category/api/src/tasks/doUpdateUserTask.jsx +191 -0
- package/examples/models/owlsys/user/user_batch_update_category.json +77 -0
- package/examples/models/owlsys/user/user_batch_update_password/api/src/eventhandlers/batchUpdate.jsx +24 -0
- package/examples/models/owlsys/user/user_batch_update_password/api/src/plugins/downTemplate.jsx +48 -0
- package/examples/models/owlsys/user/user_batch_update_password/api/src/tasks/doUpdateUserTask.jsx +140 -0
- package/examples/models/owlsys/user/user_batch_update_password.json +82 -0
- package/examples/models/owlsys/user/user_batch_update_state/api/src/eventhandlers/batchUpdate.jsx +24 -0
- package/examples/models/owlsys/user/user_batch_update_state/api/src/tasks/doUpdateUserTask.jsx +140 -0
- package/examples/models/owlsys/user/user_batch_update_state.json +75 -0
- package/examples/models/owlsys/user/user_category.json +96 -0
- package/examples/models/owlsys/user/user_education.json +56 -0
- package/examples/models/owlsys/user/user_income.json +56 -0
- package/examples/models/owlsys/user/user_industry.json +56 -0
- package/examples/models/owlsys/user/user_invoice.json +88 -0
- package/examples/models/owlsys/user/user_logout.json +65 -0
- package/examples/models/owlsys/user/user_purchased_merchant.json +41 -0
- package/examples/models/owlsys/user/user_source.json +57 -0
- package/examples/models/owlsys/user/user_third_openid.json +64 -0
- package/examples/models/owlsys/user/user_third_openid_source.json +55 -0
- package/examples/models/owlsys/user/user_update_log.json +69 -0
- package/examples/models/owlsys/user_logs/app_logs.json +48 -0
- package/examples/models/owlsys/user_logs/history_p.json +77 -0
- package/examples/models/owlsys/user_logs/recent_apps.json +37 -0
- package/examples/models/owlsys/user_logs/user_login_error_log.json +65 -0
- package/examples/models/owlsys/user_logs/user_login_log.json +64 -0
- package/examples/owlsysApps/commonService/build.xml +29 -0
- package/examples/owlsysApps/commonService/src/meta.json +10 -0
- package/examples/owlsysApps/commonService/src/services/BackendSessionUtil.jsx +84 -0
- package/examples/owlsysApps/commonService/src/services/CommonUtil.jsx +165 -0
- package/examples/owlsysApps/commonService/src/services/LoginUtil.jsx +44 -0
- package/examples/owlsysApps/commonService/src/services/PasswordUtil.jsx +62 -0
- package/examples/owlsysApps/commonService/src/services/SessionUtil.jsx +87 -0
- package/examples/owlsysApps/owlPermission/build.xml +29 -0
- package/examples/owlsysApps/owlPermission/src/icon.png +0 -0
- package/examples/owlsysApps/owlPermission/src/meta.json +9 -0
- package/examples/owlsysApps/owlPermission/src/services/RolesService.jsx +173 -0
- package/examples/owlsysApps/owlPermission/src/services/permissionService.jsx +93 -0
- package/examples/owlsysApps/owlShell/build.xml +28 -0
- package/examples/owlsysApps/owlShell/package-lock.json +3 -0
- package/examples/owlsysApps/owlShell/src/consts.jsx +36 -0
- package/examples/owlsysApps/owlShell/src/handlers/add_app_log.jsx +31 -0
- package/examples/owlsysApps/owlShell/src/handlers/changePassword.jsx +54 -0
- package/examples/owlsysApps/owlShell/src/handlers/getCurrentOrg.jsx +45 -0
- package/examples/owlsysApps/owlShell/src/handlers/getCurrentUser.jsx +168 -0
- package/examples/owlsysApps/owlShell/src/handlers/getPermissions.jsx +39 -0
- package/examples/owlsysApps/owlShell/src/handlers/getRoles.jsx +10 -0
- package/examples/owlsysApps/owlShell/src/handlers/getSpec.jsx +65 -0
- package/examples/owlsysApps/owlShell/src/handlers/getViewTemplate.jsx +53 -0
- package/examples/owlsysApps/owlShell/src/handlers/get_recent_apps.jsx +45 -0
- package/examples/owlsysApps/owlShell/src/handlers/leftMenuHandler.jsx +360 -0
- package/examples/owlsysApps/owlShell/src/handlers/loadSettings.jsx +32 -0
- package/examples/owlsysApps/owlShell/src/handlers/login.jsx +400 -0
- package/examples/owlsysApps/owlShell/src/handlers/logout.jsx +27 -0
- package/examples/owlsysApps/owlShell/src/handlers/meanLogin.jsx +231 -0
- package/examples/owlsysApps/owlShell/src/handlers/organization/create_site.jsx +52 -0
- package/examples/owlsysApps/owlShell/src/handlers/organization/getSiteOrder.jsx +32 -0
- package/examples/owlsysApps/owlShell/src/handlers/organization/getUserSites.jsx +29 -0
- package/examples/owlsysApps/owlShell/src/handlers/organization/getWebSite.jsx +49 -0
- package/examples/owlsysApps/owlShell/src/handlers/organization/saveSite.jsx +42 -0
- package/examples/owlsysApps/owlShell/src/handlers/refreshApps.jsx +533 -0
- package/examples/owlsysApps/owlShell/src/handlers/set_recent_apps.jsx +44 -0
- package/examples/owlsysApps/owlShell/src/handlers/switchOrgs.jsx +99 -0
- package/examples/owlsysApps/owlShell/src/handlers/switchRole.jsx +64 -0
- package/examples/owlsysApps/owlShell/src/icon.png +0 -0
- package/examples/owlsysApps/owlShell/src/include/checklogin.jsx +108 -0
- package/examples/owlsysApps/owlShell/src/jobs/create_site_jobs.jsx +172 -0
- package/examples/owlsysApps/owlShell/src/jobs/refresh_apps_jobs.jsx +628 -0
- package/examples/owlsysApps/owlShell/src/meta.json +16 -0
- package/examples/owlsysApps/owlShell/src/pages/addHistory.jsx +35 -0
- package/examples/owlsysApps/owlShell/src/pages/common/include_head.jsx +8 -0
- package/examples/owlsysApps/owlShell/src/pages/common/include_head.jsxp +4 -0
- package/examples/owlsysApps/owlShell/src/pages/home.html +0 -0
- package/examples/owlsysApps/owlShell/src/pages/index.jsx +39 -0
- package/examples/owlsysApps/owlShell/src/pages/index.jsxp +16 -0
- package/examples/owlsysApps/owlShell/src/pages/leftMenu.jsx +204 -0
- package/examples/owlsysApps/owlShell/src/pages/leftMenu.jsxp +84 -0
- package/examples/owlsysApps/owlShell/src/pages/logOut.jsx +35 -0
- package/examples/owlsysApps/owlShell/src/pages/login/checkShopAdmin.jsx +69 -0
- package/examples/owlsysApps/owlShell/src/pages/login/checkWarehouseAdmin.jsx +66 -0
- package/examples/owlsysApps/owlShell/src/pages/login/shopLogin.jsx +14 -0
- package/examples/owlsysApps/owlShell/src/pages/login/shopLogin.jsxp +99 -0
- package/examples/owlsysApps/owlShell/src/pages/login/shopLoginOk.jsx +85 -0
- package/examples/owlsysApps/owlShell/src/pages/login/warehouseLogin.jsx +13 -0
- package/examples/owlsysApps/owlShell/src/pages/login/warehouseLogin.jsxp +100 -0
- package/examples/owlsysApps/owlShell/src/pages/login/warehouseLoginOk.jsx +72 -0
- package/examples/owlsysApps/owlShell/src/pages/main.jsx +34 -0
- package/examples/owlsysApps/owlShell/src/pages/main.jsxp +84 -0
- package/examples/owlsysApps/owlShell/src/pages/subMain.jsx +23 -0
- package/examples/owlsysApps/owlShell/src/pages/subMain.jsxp +38 -0
- package/examples/owlsysApps/owlShell/src/pages/test.jsx +1 -0
- package/examples/owlsysApps/owlShell/src/pages/updatePassword.jsx +18 -0
- package/examples/owlsysApps/owlShell/src/pages/viewHistory.jsx +120 -0
- package/examples/owlsysApps/owlShell/src/utils/PermissionUtil.jsx +47 -0
- package/examples/owlsysApps/owlShell/src/utils/RolesUtils.jsx +152 -0
- package/examples/owlsysApps/owlShell/src/utils/verifyAdminUtil.jsx +40 -0
- package/package.json +1 -1
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
//#import Util.js
|
|
2
|
+
//#import DigestUtil.js
|
|
3
|
+
//#import excel.js
|
|
4
|
+
//#import $owl_mall_u:services/modelService.jsx
|
|
5
|
+
//#import $owl_user_batch_import:services/modelService.jsx
|
|
6
|
+
//#import $owlService:services/common/CommonUtil.jsx
|
|
7
|
+
//#import $commonService:services/UserChoiseUtil.jsx
|
|
8
|
+
|
|
9
|
+
;(function () {
|
|
10
|
+
|
|
11
|
+
var jBatchImport = owl_user_batch_importService.get(batchId);
|
|
12
|
+
|
|
13
|
+
var logMsg = "";
|
|
14
|
+
var total = 0;
|
|
15
|
+
var totalSuccess = 0;
|
|
16
|
+
var totalFailed = 0;
|
|
17
|
+
var beginTime = (new Date()).getTime();
|
|
18
|
+
try {
|
|
19
|
+
|
|
20
|
+
var jFile = jBatchImport.file;
|
|
21
|
+
if (!jFile || jFile.length == 0 || !jFile[0].url) {
|
|
22
|
+
logMsg = appendLog(logMsg, "缺少Excel文件");
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
var filePath = jFile[0].url;
|
|
26
|
+
|
|
27
|
+
var jData = Excel.parse(filePath);
|
|
28
|
+
if (!jData) {
|
|
29
|
+
logMsg = appendLog(logMsg, "读取Excel文件失败");
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (!jData.sheets || jData.sheets.length == 0) {
|
|
33
|
+
logMsg = appendLog(logMsg, "Excel中的sheet为空");
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
var isCheckLoginId = jBatchImport.isCheckNullLoginId == "n";
|
|
38
|
+
var isCheckEmail = jBatchImport.isCheckNullEmail == "n";
|
|
39
|
+
var isCheckMobile = jBatchImport.isCheckNullMobile == "n";
|
|
40
|
+
|
|
41
|
+
var sheet = jData.sheets[0];
|
|
42
|
+
var rows = sheet.rows;
|
|
43
|
+
|
|
44
|
+
for (var j = 1; j < rows.length; j++) {
|
|
45
|
+
try {
|
|
46
|
+
total++;
|
|
47
|
+
|
|
48
|
+
var row = rows[j];
|
|
49
|
+
var cells = row.cells;
|
|
50
|
+
var loginId = getCellValue(cells, 0);
|
|
51
|
+
var email = getCellValue(cells, 1);
|
|
52
|
+
var mobile = getCellValue(cells, 2);
|
|
53
|
+
var password = getCellValue(cells, 3);
|
|
54
|
+
var realName = getCellValue(cells, 4);
|
|
55
|
+
var nickName = getCellValue(cells, 5);
|
|
56
|
+
var source = getCellValue(cells, 6);
|
|
57
|
+
var parentId = getCellValue(cells, 7);
|
|
58
|
+
|
|
59
|
+
if (loginId == "" && email == "" && mobile == "" && password == "" && realName == "" && nickName == ""
|
|
60
|
+
&& source == "") {
|
|
61
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:当前行为空行");
|
|
62
|
+
totalFailed++;
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (loginId == "" && email == "" && mobile == "") {
|
|
67
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:登陆ID、邮箱、手机号码不能同时为空");
|
|
68
|
+
totalFailed++;
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (!source) {
|
|
73
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:会员来源不能为空");
|
|
74
|
+
totalFailed++;
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
var jSource = UserChoiseUtil.getSourceByName(source);
|
|
80
|
+
if (!jSource) {
|
|
81
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:来源【" + source + "】尚未定义");
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
var jUser = null;
|
|
86
|
+
if (loginId) {
|
|
87
|
+
jUser = owl_mall_uService.getUniqueObj("loginId", loginId);
|
|
88
|
+
if (jUser) {
|
|
89
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:登录ID为【" + loginId + "】的用户已经存在");
|
|
90
|
+
totalFailed++;
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
} else {
|
|
94
|
+
if (isCheckLoginId) {
|
|
95
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:在不允许登录ID为空的情况下,登录ID为空");
|
|
96
|
+
totalFailed++;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (mobile) {
|
|
102
|
+
if (!CommonUtil.checkMobile(mobile)) {
|
|
103
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:手机号码【" + mobile + "】格式不正确");
|
|
104
|
+
totalFailed++;
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
jUser = owl_mall_uService.getUniqueObj("mobile", mobile);
|
|
109
|
+
if (jUser) {
|
|
110
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:手机号码为【" + mobile + "】的用户已经存在");
|
|
111
|
+
totalFailed++;
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
} else {
|
|
115
|
+
if (isCheckMobile) {
|
|
116
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:在不允许手机号码为空的情况下,手机号码为空");
|
|
117
|
+
totalFailed++;
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (email) {
|
|
123
|
+
jUser = owl_mall_uService.getUniqueObj("email", email);
|
|
124
|
+
if (jUser) {
|
|
125
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:邮箱为【" + email + "】的用户已经存在");
|
|
126
|
+
totalFailed++;
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
} else {
|
|
130
|
+
if (isCheckEmail) {
|
|
131
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:在不允许电子邮箱为空的情况下,电子邮箱为空");
|
|
132
|
+
totalFailed++;
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
var jParentUser = null;
|
|
139
|
+
if (parentId) {
|
|
140
|
+
if (parentId.indexOf("owl_mall_u_") > -1) {
|
|
141
|
+
jParentUser = owl_mall_uService.get(parentId);
|
|
142
|
+
} else {
|
|
143
|
+
jParentUser = owl_mall_uService.getUniqueObj("mobile", parentId);
|
|
144
|
+
if (!jParentUser) {
|
|
145
|
+
jParentUser = owl_mall_uService.getUniqueObj("loginId", parentId);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
if (!jParentUser) {
|
|
149
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:推荐人【" + parentId + "】不存在");
|
|
150
|
+
totalFailed++;
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
jUser = {};
|
|
156
|
+
jUser.loginId = loginId;
|
|
157
|
+
jUser.email = email;
|
|
158
|
+
jUser.mobile = mobile;
|
|
159
|
+
jUser.password = password;
|
|
160
|
+
jUser.realName = realName;
|
|
161
|
+
jUser.nickName = nickName;
|
|
162
|
+
jUser.source_isOnline = jSource.is_online;
|
|
163
|
+
jUser.source_id = jSource.id;
|
|
164
|
+
jUser.source_name = jSource.name;
|
|
165
|
+
if (jParentUser) {
|
|
166
|
+
jUser.recommendedUserId = jParentUser.id;
|
|
167
|
+
}
|
|
168
|
+
if(password) {
|
|
169
|
+
var random = Math.random();
|
|
170
|
+
jUser.passwordhash = DigestUtil.sha1(password + random);
|
|
171
|
+
jUser.random = random;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
jUser = owl_mall_uService.add(jUser);
|
|
175
|
+
|
|
176
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入成功");
|
|
177
|
+
totalSuccess++;
|
|
178
|
+
|
|
179
|
+
} catch (e) {
|
|
180
|
+
totalFailed++;
|
|
181
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 导入失败,失败原因:" + e);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
} catch (e) {
|
|
186
|
+
$.log("\nuser_batch_import....doAddUserTask.jsx....error=" + e);
|
|
187
|
+
logMsg = appendLog(logMsg, "导入出现异常,异常信息为:" + e);
|
|
188
|
+
} finally {
|
|
189
|
+
var endTime = (new Date()).getTime();
|
|
190
|
+
var logInfo = "总耗时=" + (endTime - beginTime) + "毫秒";
|
|
191
|
+
logInfo += "。总行数=" + total;
|
|
192
|
+
logInfo += "。共成功导入数量=" + totalSuccess;
|
|
193
|
+
logInfo += "; 未导入总数量=" + totalFailed;
|
|
194
|
+
|
|
195
|
+
logMsg = appendLog(logMsg, "");
|
|
196
|
+
logMsg = appendLog(logMsg, logInfo);
|
|
197
|
+
|
|
198
|
+
jBatchImport.msg = logMsg;
|
|
199
|
+
owl_user_batch_importService.update(jBatchImport);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
})();
|
|
203
|
+
|
|
204
|
+
function getGenderValue(gender) {
|
|
205
|
+
if (gender && gender != "") {
|
|
206
|
+
if (gender == "男") {
|
|
207
|
+
return "0"
|
|
208
|
+
} else if (gender == "女") {
|
|
209
|
+
return "1"
|
|
210
|
+
} else if (gender == "保密") {
|
|
211
|
+
return "2"
|
|
212
|
+
} else {
|
|
213
|
+
throw "性别为【" + gender + "】格式不正确,必须为:男、女、保密";
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return "";
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
function getMarriageValue(marriage) {
|
|
220
|
+
if (marriage && marriage != "") {
|
|
221
|
+
if (marriage == "已婚") {
|
|
222
|
+
return "1"
|
|
223
|
+
} else if (marriage == "未婚") {
|
|
224
|
+
return "0"
|
|
225
|
+
} else {
|
|
226
|
+
throw "婚姻状态为【" + marriage + "】格式不正确,必须为:已婚、未婚";
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return "";
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
function appendLog(logInfo, s) {
|
|
234
|
+
if (logInfo) {
|
|
235
|
+
return logInfo += "\n" + s;
|
|
236
|
+
}
|
|
237
|
+
return s;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
function getCellValue(cells, index) {
|
|
241
|
+
for (var i = 0; i < cells.length; i++) {
|
|
242
|
+
var jCell = cells[i];
|
|
243
|
+
if (jCell.columnIndex == index) {
|
|
244
|
+
if (jCell.value) {
|
|
245
|
+
return jCell.value;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
return "";
|
|
250
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
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:12,searchable:true,disabled:true;内部ID",
|
|
11
|
+
"isCheckNullMobile":"choice,formSize:1,listSize:10,values:y_是/n_否,defaultValue:n,searchable:true;是否允许手机号码为空",
|
|
12
|
+
"isCheckNullLoginId":"choice,formSize:1,listSize:10,values:y_是/n_否,defaultValue:n,searchable:true;是否允许登录ID为空",
|
|
13
|
+
"isCheckNullEmail":"choice,formSize:1,listSize:10,values:y_是/n_否,defaultValue:y,searchable:true;是否允许电子邮箱为空",
|
|
14
|
+
"blank3": "space,formSize:3;空白",
|
|
15
|
+
"file": "file,size:5M,exts:xlsx#xls,maxFileCount:1,formSize:8;Excel文件",
|
|
16
|
+
"msg": "string(128),formSize:8,multiline:T,showList:false;处理结果"
|
|
17
|
+
},
|
|
18
|
+
"other_info": {
|
|
19
|
+
"#meta": {
|
|
20
|
+
"fieldLabel": "其他信息",
|
|
21
|
+
"showTitle": "no",
|
|
22
|
+
"includeKey": "no",
|
|
23
|
+
"position": "card",
|
|
24
|
+
"span": 1
|
|
25
|
+
},
|
|
26
|
+
"owl_createTime": "date,formSize:8,disabled:true,listSize:10;操作时间",
|
|
27
|
+
"owl_createUserId": "string(18),formSize:8,listSize:8,disabled:true;操作人"
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
"_t": "user_batch_import",
|
|
31
|
+
"#meta": {
|
|
32
|
+
"rem": "批量导入会员",
|
|
33
|
+
"projectName": "批量导入会员",
|
|
34
|
+
"parent": [
|
|
35
|
+
"platform"
|
|
36
|
+
],
|
|
37
|
+
"visitType": [
|
|
38
|
+
"platform"
|
|
39
|
+
],
|
|
40
|
+
"exLists": [
|
|
41
|
+
{
|
|
42
|
+
"name": "默认列表",
|
|
43
|
+
"code": "defaultList",
|
|
44
|
+
"buttons":{
|
|
45
|
+
"showAdd": true,
|
|
46
|
+
"showDel": false,
|
|
47
|
+
"showRecycle": false
|
|
48
|
+
},
|
|
49
|
+
"expandIconColumnIndex":1,
|
|
50
|
+
"list": ["id","isCheckNullMobile","isCheckNullLoginId","isCheckNullEmail","owl_createTime","owl_createUserId"]
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"pos": 1,
|
|
54
|
+
"group": {
|
|
55
|
+
"id": "mall_user",
|
|
56
|
+
"name": "会员管理",
|
|
57
|
+
"icon": "user",
|
|
58
|
+
"pos": 6,
|
|
59
|
+
"level2": {
|
|
60
|
+
"id": "user_batch_update",
|
|
61
|
+
"name": "会员批量管理",
|
|
62
|
+
"icon": "outline",
|
|
63
|
+
"pos": 16
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"eventHandlers": [
|
|
67
|
+
{
|
|
68
|
+
"handlerId":"user_batch_import_eventHandlers_batchImport",
|
|
69
|
+
"pageId":"eventhandlers/batchImport.jsx",
|
|
70
|
+
"throwException":true,
|
|
71
|
+
"eventName": "user_batch_import_add_after",
|
|
72
|
+
"description":"新增后,自动导入"
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
}
|
package/examples/models/owlsys/user/user_batch_update_category/api/src/eventhandlers/batchUpdate.jsx
ADDED
|
@@ -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_category", "tasks/doUpdateUserTask.jsx", postData, when);
|
|
10
|
+
})();
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
package/examples/models/owlsys/user/user_batch_update_category/api/src/tasks/doUpdateUserTask.jsx
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
//#import Util.js
|
|
2
|
+
//#import DateUtil.js
|
|
3
|
+
//#import excel.js
|
|
4
|
+
//#import $owl_mall_u:services/modelService.jsx
|
|
5
|
+
//#import $owl_mall_u_category:services/modelService.jsx
|
|
6
|
+
//#import $owl_user_batch_update_category:services/modelService.jsx
|
|
7
|
+
|
|
8
|
+
;(function () {
|
|
9
|
+
|
|
10
|
+
var jBatchImport = owl_user_batch_update_categoryService.get(batchId);
|
|
11
|
+
|
|
12
|
+
var logMsg = "";
|
|
13
|
+
var total = 0;
|
|
14
|
+
var totalAdd = 0;
|
|
15
|
+
var totalRemove = 0;
|
|
16
|
+
var totalSkip = 0;
|
|
17
|
+
var totalError = 0;
|
|
18
|
+
var beginTime = (new Date()).getTime();
|
|
19
|
+
try {
|
|
20
|
+
|
|
21
|
+
var jFile = jBatchImport.file;
|
|
22
|
+
if (!jFile || jFile.length == 0 || !jFile[0].url) {
|
|
23
|
+
logMsg = appendLog(logMsg, "缺少Excel文件");
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
var filePath = jFile[0].url;
|
|
27
|
+
|
|
28
|
+
var jData = Excel.parse(filePath);
|
|
29
|
+
if (!jData) {
|
|
30
|
+
logMsg = appendLog(logMsg, "读取Excel文件失败");
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (!jData.sheets || jData.sheets.length == 0) {
|
|
34
|
+
logMsg = appendLog(logMsg, "Excel中的sheet为空");
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
var actionType = jBatchImport.actionType;
|
|
39
|
+
var toUserGroupId = jBatchImport.categoryId;
|
|
40
|
+
|
|
41
|
+
var jUserCategory = owl_mall_u_categoryService.get(toUserGroupId);
|
|
42
|
+
if (!jUserCategory) {
|
|
43
|
+
logMsg = appendLog(logMsg, "目标会员组不存在");
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
var sheet = jData.sheets[0];
|
|
48
|
+
var rows = sheet.rows;
|
|
49
|
+
|
|
50
|
+
for (var j = 1; j < rows.length; j++) {
|
|
51
|
+
try {
|
|
52
|
+
total++;
|
|
53
|
+
|
|
54
|
+
var row = rows[j];
|
|
55
|
+
var cells = row.cells;
|
|
56
|
+
var uid = getCellValue(cells, 0);
|
|
57
|
+
var groupBeginTime = getCellValue(cells, 1);
|
|
58
|
+
var groupEndTime = getCellValue(cells, 2);
|
|
59
|
+
|
|
60
|
+
if (uid == "") {
|
|
61
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:关键的userId为空");
|
|
62
|
+
totalSkip++;
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
var jUser = owl_mall_uService.get(uid);
|
|
67
|
+
if (!jUser) {
|
|
68
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 " + "导入终止,原因是:ID为【" + uid + "】的用户不存在");
|
|
69
|
+
totalSkip++;
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
uid = jUser.id;
|
|
73
|
+
|
|
74
|
+
if (actionType == "add") {
|
|
75
|
+
var longGroupBeginTime = "";
|
|
76
|
+
if (groupBeginTime) {
|
|
77
|
+
longGroupBeginTime = DateUtil.getLongTime(groupBeginTime)
|
|
78
|
+
}
|
|
79
|
+
var longGroupEndTime = "";
|
|
80
|
+
if (groupEndTime) {
|
|
81
|
+
longGroupEndTime = DateUtil.getLongTime(groupEndTime);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
//todo:判断用户是否已经在这个组里面
|
|
85
|
+
|
|
86
|
+
addUserToGroup(jUser, jUserCategory, longGroupBeginTime, longGroupEndTime);
|
|
87
|
+
owl_mall_uService.update(jUser);
|
|
88
|
+
totalAdd++;
|
|
89
|
+
|
|
90
|
+
logInfo = "第" + (j + 1) + "行 添加到会员组【" + toUserGroupId + "】成功";
|
|
91
|
+
logMsg = appendLog(logMsg, logInfo);
|
|
92
|
+
} else if (actionType == "remove") {
|
|
93
|
+
var isUpdated = removeUserGroup(jUser, jUserCategory);
|
|
94
|
+
if (isUpdated) {
|
|
95
|
+
owl_mall_uService.update(jUser);
|
|
96
|
+
}
|
|
97
|
+
totalRemove++;
|
|
98
|
+
|
|
99
|
+
logInfo = "第" + (j + 1) + "行 从目标会员组【" + toUserGroupId + "】中删除成功";
|
|
100
|
+
logMsg = appendLog(logMsg, logInfo);
|
|
101
|
+
} else {
|
|
102
|
+
totalSkip++;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
} catch (e) {
|
|
106
|
+
totalError++;
|
|
107
|
+
logMsg = appendLog(logMsg, "第[" + j + "]行 导入失败,失败原因:" + e);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
} catch (e) {
|
|
112
|
+
$.log("\nuser_batch_update_category....doUpdateUserTask.jsx....error=" + e);
|
|
113
|
+
logMsg = appendLog(logMsg, "导入出现异常,异常信息为:" + e);
|
|
114
|
+
} finally {
|
|
115
|
+
var endTime = (new Date()).getTime();
|
|
116
|
+
var logInfo = "总耗时=" + (endTime - beginTime) + "毫秒";
|
|
117
|
+
logInfo += "。总处理数量=" + total;
|
|
118
|
+
logInfo += ",成功添加到目标会员组总数量=" + totalAdd;
|
|
119
|
+
logInfo += ",从目标会员组中删除总数量=" + totalRemove;
|
|
120
|
+
logInfo += ",忽略跳过总数量=" + totalSkip;
|
|
121
|
+
logInfo += ",修改出现异常总数量=" + totalError;
|
|
122
|
+
|
|
123
|
+
logMsg = appendLog(logMsg, "");
|
|
124
|
+
logMsg = appendLog(logMsg, logInfo);
|
|
125
|
+
|
|
126
|
+
jBatchImport.msg = logMsg;
|
|
127
|
+
owl_user_batch_update_categoryService.update(jBatchImport);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
})();
|
|
131
|
+
|
|
132
|
+
function appendLog(logInfo, s) {
|
|
133
|
+
if (logInfo) {
|
|
134
|
+
return logInfo += "\n" + s;
|
|
135
|
+
}
|
|
136
|
+
return s;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
function getCellValue(cells, index) {
|
|
140
|
+
for (var i = 0; i < cells.length; i++) {
|
|
141
|
+
var jCell = cells[i];
|
|
142
|
+
if (jCell.columnIndex == index) {
|
|
143
|
+
if (jCell.value) {
|
|
144
|
+
return jCell.value;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return "";
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
function addUserToGroup(jUser, jUserCategory, beginTime, endTime) {
|
|
152
|
+
var user_categories = jUser.user_categories;
|
|
153
|
+
if (!user_categories) {
|
|
154
|
+
user_categories = [];
|
|
155
|
+
jUser.user_categories = user_categories;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
var jCategory = {
|
|
159
|
+
"id": jUserCategory.id,
|
|
160
|
+
"name": jUserCategory.name
|
|
161
|
+
};
|
|
162
|
+
if (beginTime) {
|
|
163
|
+
jCategory.beginTime = beginTime;
|
|
164
|
+
}
|
|
165
|
+
if (endTime) {
|
|
166
|
+
jCategory.endTime = endTime;
|
|
167
|
+
}
|
|
168
|
+
user_categories.push(jCategory);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
function removeUserGroup(jUser, jUserCategory) {
|
|
173
|
+
var user_categories = jUser.user_categories;
|
|
174
|
+
if (user_categories && user_categories.length > 0) {
|
|
175
|
+
var newList = [];
|
|
176
|
+
var isUpdated = false;
|
|
177
|
+
for (var i = 0; i < user_categories.length; i++) {
|
|
178
|
+
var jCat = user_categories[i];
|
|
179
|
+
if (jCat.id == jUserCategory.id) {
|
|
180
|
+
isUpdated = true;
|
|
181
|
+
continue;
|
|
182
|
+
}
|
|
183
|
+
newList.push(jCat);
|
|
184
|
+
}
|
|
185
|
+
if (isUpdated) {
|
|
186
|
+
jUser.user_categories = newList;
|
|
187
|
+
return true;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
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
|
+
"categoryId": "string(16),isId:true,searchable:true,formSize:2,hidden:true;目标会员组ID",
|
|
13
|
+
"categoryPath": "linkId,formSize:2,listSize:8,datasource:mall_u_category,displayField:category_path,fields:id/category_path,toFields:categoryId/categoryPath,require:true;目标会员组",
|
|
14
|
+
"actionType":"choice,formSize:1,values:add_添加到目标会员组/remove_从目标会员组中删除,defaultValue:add,searchable:true,require:true;操作类型",
|
|
15
|
+
"blank3": "space,formSize:5;空白",
|
|
16
|
+
"file": "file,size:5M,exts:xlsx#xls,maxFileCount:1,formSize:8,require:true;Excel文件",
|
|
17
|
+
"msg": "string(128),formSize:8,multiline:T,showList:false;处理结果"
|
|
18
|
+
},
|
|
19
|
+
"other_info": {
|
|
20
|
+
"#meta": {
|
|
21
|
+
"fieldLabel": "其他信息",
|
|
22
|
+
"showTitle": "no",
|
|
23
|
+
"includeKey": "no",
|
|
24
|
+
"position": "card",
|
|
25
|
+
"span": 1
|
|
26
|
+
},
|
|
27
|
+
"owl_createTime": "date,formSize:8,disabled:true,listSize:10;操作时间",
|
|
28
|
+
"owl_createUserId": "string(18),formSize:8,listSize:8,disabled:true;操作人"
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
"_t": "user_batch_update_category",
|
|
32
|
+
"#meta": {
|
|
33
|
+
"rem": "批量修改会员分类",
|
|
34
|
+
"projectName": "批量修改会员分类",
|
|
35
|
+
"parent": [
|
|
36
|
+
"platform"
|
|
37
|
+
],
|
|
38
|
+
"visitType": [
|
|
39
|
+
"platform"
|
|
40
|
+
],
|
|
41
|
+
"exLists": [
|
|
42
|
+
{
|
|
43
|
+
"name": "默认列表",
|
|
44
|
+
"code": "defaultList",
|
|
45
|
+
"buttons":{
|
|
46
|
+
"showAdd": true,
|
|
47
|
+
"showDel": false,
|
|
48
|
+
"showRecycle": false
|
|
49
|
+
},
|
|
50
|
+
"expandIconColumnIndex":1,
|
|
51
|
+
"list": ["id","categoryPath","actionType","owl_createTime","owl_createUserId"]
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"pos": 1,
|
|
55
|
+
"group": {
|
|
56
|
+
"id": "mall_user",
|
|
57
|
+
"name": "会员管理",
|
|
58
|
+
"icon": "user",
|
|
59
|
+
"pos": 6,
|
|
60
|
+
"level2": {
|
|
61
|
+
"id": "user_batch_update",
|
|
62
|
+
"name": "会员批量管理",
|
|
63
|
+
"icon": "outline",
|
|
64
|
+
"pos": 16
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"eventHandlers": [
|
|
68
|
+
{
|
|
69
|
+
"handlerId":"user_batch_update_category_eventHandlers_batchUpdate",
|
|
70
|
+
"pageId":"eventhandlers/batchUpdate.jsx",
|
|
71
|
+
"throwException":true,
|
|
72
|
+
"eventName": "user_batch_update_category_add_after",
|
|
73
|
+
"description":"新增后,自动导入"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
}
|
package/examples/models/owlsys/user/user_batch_update_password/api/src/eventhandlers/batchUpdate.jsx
ADDED
|
@@ -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_password", "tasks/doUpdateUserTask.jsx", postData, when);
|
|
10
|
+
})();
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
package/examples/models/owlsys/user/user_batch_update_password/api/src/plugins/downTemplate.jsx
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
//#import excel.js
|
|
2
|
+
//#import $owl_download_template:services/modelService.jsx
|
|
3
|
+
|
|
4
|
+
function main() {
|
|
5
|
+
var params = JSON.parse($body);
|
|
6
|
+
|
|
7
|
+
var id = "owl_download_template_user_batch_update_password_v0";
|
|
8
|
+
var jDownloadTemplate = owl_download_templateService.get(id);
|
|
9
|
+
var fileUrl = "";
|
|
10
|
+
if (!jDownloadTemplate) {
|
|
11
|
+
var index = 0;
|
|
12
|
+
var titles = [
|
|
13
|
+
{"index": index++, "columnWidth": "20", "field": "userId", "title": "会员ID"},
|
|
14
|
+
{"index": index++, "columnWidth": "20", "field": "mobile", "title": "手机号"},
|
|
15
|
+
{"index": index++, "columnWidth": "20", "field": "loginId", "title": "登录账号"},
|
|
16
|
+
{"index": index++, "columnWidth": "20", "field": "password", "title": "新密码"}
|
|
17
|
+
];
|
|
18
|
+
var recordList = [
|
|
19
|
+
{
|
|
20
|
+
userId: "owl_mall_u_50000",
|
|
21
|
+
password: "123456"
|
|
22
|
+
}
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
var file_type_name = "批量修改会员登录密码模板";
|
|
26
|
+
|
|
27
|
+
fileUrl = Excel.createExcelList(file_type_name, titles, recordList);
|
|
28
|
+
|
|
29
|
+
jDownloadTemplate = {};
|
|
30
|
+
jDownloadTemplate.file_type_id = "user_batch_update_password";
|
|
31
|
+
jDownloadTemplate.file_type_name = file_type_name;
|
|
32
|
+
jDownloadTemplate.file = {url: fileUrl, name: file_type_name};
|
|
33
|
+
owl_download_templateService.add(jDownloadTemplate);
|
|
34
|
+
} else {
|
|
35
|
+
fileUrl = jDownloadTemplate.file.url;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
var ret = {
|
|
39
|
+
state: 'ok',
|
|
40
|
+
action: 'navigate',
|
|
41
|
+
target: "_blank",
|
|
42
|
+
url: fileUrl
|
|
43
|
+
}
|
|
44
|
+
out.print(JSON.stringify(ret));
|
|
45
|
+
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
main();
|