Commit 3b101b11 by 王悦

add推送管理、组织结构监控

parent ae750f27
...@@ -5,71 +5,81 @@ var settings = require("../../../../config/settings"); ...@@ -5,71 +5,81 @@ var settings = require("../../../../config/settings");
const CtlBase = require("../../ctl.base"); const CtlBase = require("../../ctl.base");
class CompanyCtl extends CtlBase { class CompanyCtl extends CtlBase {
constructor() { constructor() {
super("common", CtlBase.getServiceName(CompanyCtl)); super("common", CtlBase.getServiceName(CompanyCtl));
this.userSve = system.getObject("service.auth.userSve"); this.userSve = system.getObject("service.auth.userSve");
}
async update(p, q, req) {
let u = await super.update(p, q, req)
//缓存失效
await this.cacheManager["CompanyCache"].invalidate(p.companykey)
let company = await this.cacheManager["CompanyCache"].cache(p.companykey)
return system.getResult(company)
}
async getMyApps(p, q, req) {
let userfind = await this.cacheManager["UserCache"].cache(p.username)
let isSuper = userfind.isSuper
if (userfind.company.appids && userfind.company.appids != "") {
let appsarray = userfind.company.appids.split(",")
let appidsquery = appsarray.map(astr => {
return astr.split("|")[0]
})
let apps = await this.service.getMyApps(appidsquery, isSuper)
return system.getResult(apps)
} else {
return []
} }
}
async bindApps(p, q, req) { async update(p, q, req) {
let appids = p.appids let u = await super.update(p, q, req)
let cmpid = p.postcmpid //缓存失效
let appids2 = appids.map(item => { await this.cacheManager["CompanyCache"].invalidate(p.companykey)
return item.appid + "|" + item.title let company = await this.cacheManager["CompanyCache"].cache(p.companykey)
}) return system.getResult(company)
let appidstrs = appids2.join(",") }
await this.service.bindApps(appidstrs, cmpid)
return system.getResult(appids) async getMyApps(p, q, req) {
} let userfind = await this.cacheManager["UserCache"].cache(p.username)
async setOrgs(p, q, req) { let isSuper = userfind.isSuper
//let companynew=await this.service.findById(p.company_id) if (userfind.company.appids && userfind.company.appids != "") {
let orgs = await this.service.setOrgs(p) let appsarray = userfind.company.appids.split(",")
return system.getResult(orgs) let appidsquery = appsarray.map(astr => {
} return astr.split("|")[0]
async getOrgs(p, q, req) { })
//let companynew=await this.cacheManager["CompanyCache"].cache(req.xctx.fromcompanykey) let apps = await this.service.getMyApps(appidsquery, isSuper)
let companynew = await this.service.findById(p.company_id); return system.getResult(apps)
const userData = await this.userSve.findById(p.userid); } else {
let orgjsonstr = companynew.orgJson; return []
let rtnjson = null; }
if (orgjsonstr && orgjsonstr != "") { }
rtnjson = JSON.parse(companynew.orgJson);
} else { async bindApps(p, q, req) {
rtnjson = []; let appids = p.appids
let cmpid = p.postcmpid
let appids2 = appids.map(item => {
return item.appid + "|" + item.title
})
let appidstrs = appids2.join(",")
await this.service.bindApps(appidstrs, cmpid)
return system.getResult(appids)
}
async setOrgs(p, q, req) {
//let companynew=await this.service.findById(p.company_id)
let orgs = await this.service.setOrgs(p)
return system.getResult(orgs)
}
async getOrgs(p, q, req) {
//let companynew=await this.cacheManager["CompanyCache"].cache(req.xctx.fromcompanykey)
let companynew = await this.service.findById(p.company_id);
const userData = await this.userSve.findById(p.userid);
let orgjsonstr = companynew.orgJson;
let rtnjson = null;
if (orgjsonstr && orgjsonstr != "") {
rtnjson = JSON.parse(companynew.orgJson);
} else {
rtnjson = [];
}
if (userData) {
if (userData.isAdmin || userData.isSuper) {
return system.getResult({orgJson: rtnjson});
} else {
return system.getResult({orgJson: this.service.buildOrgs(rtnjson, userData.ptags)});
}
} else {
return system.getResult({orgJson: []});
}
} }
if (userData) {
if (userData.isAdmin || userData.isSuper) { async getWatchOrgNodes(p, q, req) {
return system.getResult({ orgJson: rtnjson }); return await this.service.getWatchOrgNodes(p.company_id);
} else {
return system.getResult({ orgJson: this.service.buildOrgs(rtnjson, userData.ptags) });
}
} else {
return system.getResult({ orgJson: [] });
} }
}
async refQuery(pobj, qobj, req) { async refQuery(pobj, qobj, req) {
let rtn = await this.service.refQuery(pobj); let rtn = await this.service.refQuery(pobj);
return rtn return rtn
} }
} }
module.exports = CompanyCtl; module.exports = CompanyCtl;
var system = require("../../../system")
const http = require("http")
const querystring = require('querystring');
var settings = require("../../../../config/settings");
const CtlBase = require("../../ctl.base");
class PushCtl extends CtlBase {
constructor() {
super("common", CtlBase.getServiceName(PushCtl));
}
async findAndCountAll(pobj, qobj, req) {
let query = {
pageSize: pobj.pageInfo.pageSize,
pageIndex: pobj.pageInfo.pageNo
};
if (pobj.messageBody)
query.messageBody = pobj.messageBody;
if (pobj.identify_code)
query.identifyCode = pobj.identify_code;
if (pobj.request_id)
query.requestIdInfo = pobj.request_id;
let actionType;
switch (pobj.bizpath) {
case "/sysmag/pushfail":
actionType = "getPushFailureList";
break;
case "/sysmag/pusherror":
actionType = "getPushErrorList";
break
}
let rtn = await system.postJsonTypeReq(settings.pushUrl(), {
"actionType": actionType,
"actionBody": query
});
if (rtn.statusCode === 200) {
rtn = rtn.data;
if (rtn && rtn.status === 1) {
return system.getResult({
results: {
count: rtn.totalCount,
rows: rtn && rtn.data || []
}
});
} else {
return system.getResultFail(rtn && rtn.message || '请联系管理员');
}
} else {
return system.getResultFail(rtn)
}
}
async repush(pobj, qobj, req) {
let rtn = await system.postJsonTypeReq(settings.pushUrl(), {
"actionType": "pushAgainFailureLog",
"actionBody": {
id: pobj.id
}
});
if (rtn.statusCode === 200) {
return rtn.data;
} else {
return system.getResultFail(rtn)
}
}
}
module.exports = PushCtl;
...@@ -53,6 +53,13 @@ var settings = { ...@@ -53,6 +53,13 @@ var settings = {
return "http://logs-sytxpublic-msgq-service/api/queueAction/producer/springBoard"; return "http://logs-sytxpublic-msgq-service/api/queueAction/producer/springBoard";
} }
}, },
pushUrl: function () {
if (this.env == "localhost") {
return "http://192.168.1.128:4018/api/queueAction/producer/springBoard";
} else {
return "http://logs-sytxpublic-msgq-service/api/queueAction/producer/springBoard";
}
},
pmappname: "center-app", pmappname: "center-app",
pmappid: 1, pmappid: 1,
pmcompanyid: 1, pmcompanyid: 1,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment