Commit 92242122 by 宋毅

tj

parent a99d50c7
...@@ -5,6 +5,7 @@ const sha256 = require('sha256'); ...@@ -5,6 +5,7 @@ const sha256 = require('sha256');
const md5 = require("MD5"); const md5 = require("MD5");
class APIBase { class APIBase {
constructor() { constructor() {
this.execClientNew = system.getObject("util.execClientNew");
this.restClient = system.getObject("util.restClient"); this.restClient = system.getObject("util.restClient");
this.redisClient = system.getObject("util.redisClient"); this.redisClient = system.getObject("util.redisClient");
this.cacheManager = system.getObject("db.common.cacheManager"); this.cacheManager = system.getObject("db.common.cacheManager");
...@@ -31,26 +32,29 @@ class APIBase { ...@@ -31,26 +32,29 @@ class APIBase {
if (cacheRes) { if (cacheRes) {
return JSON.parse(cacheRes); return JSON.parse(cacheRes);
} }
var rtn = await this[methodname](pobj, query, req); var result = await this[methodname](pobj, query, req);
this.logCtl.createDb({ this.logCtl.createDb({
appid: req.app.id, appid: req.app.id,
appkey: req.app.uappKey, appkey: req.app.uappKey,
requestId: req.requestId, requestId: req.requestId,
op: req.classname + "/" + methodname, op: req.classname + "/" + methodname,
content: JSON.stringify(pobj), content: JSON.stringify(pobj),
resultInfo: JSON.stringify(rtn), resultInfo: JSON.stringify(result),
clientIp: req.clientIp, clientIp: req.clientIp,
agent: req.uagent, agent: req.uagent,
opTitle: "api服务提供方appKey:" + settings.appKey, opTitle: "api服务提供方appKey:" + settings.appKey,
}); });
rtn.requestId = req.requestId; result.requestId = req.requestId;
if(this.cacheMethodList.indexOf(methodname)>=0 && rtn.status && rtn.status==0){ if (this.cacheMethodList.indexOf(methodname) >= 0 && result.status && result.status == 0) {
//保存缓存 //保存缓存
await this.redisClient.setWithEx(shaStr, JSON.stringify(rtn), 3600); await this.redisClient.setWithEx(shaStr, JSON.stringify(result), 3600);
} }
return rtn; result.requestId = pobj.RequestId ? pobj.RequestId : pobj.requestId || this.getUUID();
var tmpResult = pobj.actionType && pobj.actionType.indexOf("List") < 0 ? result : { status: result.status, message: result.message, requestId: result.requestId };
this.execClientNew.execLogs("reqPath:" + req.path, pobj, "center-channel-doexecMethod", tmpResult, null);
return result;
} catch (e) { } catch (e) {
console.log(e.stack, "api调用出现异常,请联系管理员..........") console.log(e.stack, "api调用出现异常,请联系管理员..........");
this.logCtl.createDb({ this.logCtl.createDb({
appid: req.app.id, appid: req.app.id,
appkey: req.app.uappKey, appkey: req.app.uappKey,
...@@ -62,16 +66,17 @@ class APIBase { ...@@ -62,16 +66,17 @@ class APIBase {
agent: req.uagent, agent: req.uagent,
opTitle: "api调用出现异常,请联系管理员error,appKey:" + settings.appKey, opTitle: "api调用出现异常,请联系管理员error,appKey:" + settings.appKey,
}); });
this.logCtl.error({ // this.logCtl.error({
appid: req.app.id, // appid: req.app.id,
appkey: req.app.uappKey, // appkey: req.app.uappKey,
requestId: req.requestId, // requestId: req.requestId,
op: req.classname + "/" + methodname, // op: req.classname + "/" + methodname,
content: e.stack, // content: e.stack,
clientIp: pobj.clientIp, // clientIp: pobj.clientIp,
agent: req.uagent, // agent: req.uagent,
optitle: "api调用出现异常,请联系管理员", // optitle: "api调用出现异常,请联系管理员",
}); // });
this.execClientNew.execLogs("reqPath异常:" + req.path, pobj, "center-channel-doexecMethod", tmpResult, null);
var rtnerror = system.getResultFail(-200, "出现异常,error:" + e.stack); var rtnerror = system.getResultFail(-200, "出现异常,error:" + e.stack);
rtnerror.requestId = req.requestId; rtnerror.requestId = req.requestId;
return rtnerror; return rtnerror;
...@@ -83,10 +88,23 @@ class APIBase { ...@@ -83,10 +88,23 @@ class APIBase {
async restPostUrl(pobj, url) { async restPostUrl(pobj, url) {
var rtn = await this.restClient.execPost(pobj, url); var rtn = await this.restClient.execPost(pobj, url);
if (!rtn || !rtn.stdout) { if (!rtn || !rtn.stdout) {
return system.getResult(null, "restPost data is empty"); return system.getResult(null, "restPost data is empty");
} }
var result = JSON.parse(rtn.stdout); var result = JSON.parse(rtn.stdout);
return result; return result;
} }
/**
* 带超时时间的post请求
* @param {*} req 请求信息
* @param {*} params 请求数据-json格式
* @param {*} url 请求地址
* @param {*} ContentType 请求头类型,默认application/json
* @param {*} headData 请求头内容-json格式,如:请求头中传递token,格式:{token:"9098902q849q0434q09439"}
* @param {*} timeOut 超时时间
*/
async execPostByTimeOut(req, params, url, ContentType, headData, timeOut = 60) {
const result = await this.execClientNew.execPostTimeOutByBusiness('sve.base', params, url, ContentType, headData, timeOut, req);
return result;
}
} }
module.exports = APIBase; module.exports = APIBase;
...@@ -23,7 +23,7 @@ class ProductAPI extends WEBBase { ...@@ -23,7 +23,7 @@ class ProductAPI extends WEBBase {
var opResult = null; var opResult = null;
switch (action_type) { switch (action_type) {
case "getIndustryInfo":// 获取行业信息 case "getIndustryInfo":// 获取行业信息
opResult = await this.utilsUcommuneSve.getUserInfo(pobj, pobj.actionBody); opResult = await this.utilsUcommuneSve.getUserInfo(req, pobj, pobj.actionBody);
break; break;
case "placeOrder":// 提交订单 case "placeOrder":// 提交订单
opResult = await this.utilsUcommuneSve.getOrderList(pobj, pobj.actionBody); opResult = await this.utilsUcommuneSve.getOrderList(pobj, pobj.actionBody);
......
...@@ -23,7 +23,7 @@ class ProductAPI extends WEBBase { ...@@ -23,7 +23,7 @@ class ProductAPI extends WEBBase {
var opResult = null; var opResult = null;
switch (action_type) { switch (action_type) {
case "getUserInfo":// 根据优客token获取用户信息,生成userPin返回前端 actionBody case "getUserInfo":// 根据优客token获取用户信息,生成userPin返回前端 actionBody
opResult = await this.utilsUcommuneSve.getUserInfo(pobj, pobj.actionBody); opResult = await this.utilsUcommuneSve.getUserInfo(req, pobj, pobj.actionBody);
break; break;
case "orderTotalSum":// addOrder后进入支付页面获取支付金额 case "orderTotalSum":// addOrder后进入支付页面获取支付金额
opResult = await this.utilsUcommuneSve.orderTotalSum(pobj, pobj.actionBody); opResult = await this.utilsUcommuneSve.orderTotalSum(pobj, pobj.actionBody);
......
...@@ -29,18 +29,17 @@ class AccessAuthAPI extends WEBBase { ...@@ -29,18 +29,17 @@ class AccessAuthAPI extends WEBBase {
switch (action_type) { switch (action_type) {
// sy // sy
case "test"://测试 case "test"://测试
var rpcParam = { // var rpcParam = {
accessKeyId: "LTAI4Fgz1uoUpfHpa79iq3XV", // accessKeyId: "LTAI4Fgz1uoUpfHpa79iq3XV",
accessKeySecret: "up8vlX0wzwCVtRAjKRXsCrFta6CHOY", // accessKeySecret: "up8vlX0wzwCVtRAjKRXsCrFta6CHOY",
endpoint: "https://trademark.aliyuncs.com", // endpoint: "https://trademark.aliyuncs.com",
apiVersion: "2019-09-02" // apiVersion: "2019-09-02"
}; // };
opResult = await this.utilsTmAliyunSve.getAliOssInfo(null, "ATTORNEY", rpcParam); // opResult = await this.utilsTmAliyunSve.getAliOssInfo(null, "ATTORNEY", rpcParam);
// opResult = system.getResultSuccess(null, "测试成功"); // opResult = system.getResultSuccess(null, "测试成功");
opResult = system.getResultSuccess(null, "测试成功"); opResult = system.getResultSuccess(null, "测试成功");
break; break;
case "getTokenInfo"://渠道通过账户进行登录,有则返回用户信息,没有则创建用户 case "getTokenInfo"://渠道通过账户进行登录,有则返回用户信息,没有则创建用户
opResult = system.getResultSuccess({ opResult = system.getResultSuccess({
app_code: pobj.appInfo.app_code, app_code: pobj.appInfo.app_code,
app_hosts: pobj.appInfo.app_hosts, app_hosts: pobj.appInfo.app_hosts,
...@@ -48,10 +47,9 @@ class AccessAuthAPI extends WEBBase { ...@@ -48,10 +47,9 @@ class AccessAuthAPI extends WEBBase {
uapp_key: pobj.appInfo.uapp_key, uapp_key: pobj.appInfo.uapp_key,
id: pobj.appInfo.id id: pobj.appInfo.id
}) })
break; break;
case "getNeedUserPinByChannelUserId"://渠道通过账户进行登录,有则返回用户信息,没有则创建用户 case "getNeedUserPinByChannelUserId"://渠道通过账户进行登录,有则返回用户信息,没有则创建用户
var tmpOpResult = await this.utilsAuthSve.getLoginByUserName(pobj, pobj.actionBody); var tmpOpResult = await this.utilsAuthSve.getLoginByUserName(req, pobj, pobj.actionBody);
if (tmpOpResult.status != 0 && tmpOpResult.status != 2060) { if (tmpOpResult.status != 0 && tmpOpResult.status != 2060) {
return tmpOpResult; return tmpOpResult;
} }
...@@ -70,7 +68,7 @@ class AccessAuthAPI extends WEBBase { ...@@ -70,7 +68,7 @@ class AccessAuthAPI extends WEBBase {
opResult.data.typeCode = needResult.data.typeCode opResult.data.typeCode = needResult.data.typeCode
break; break;
case "getLoginByUserName"://渠道通过账户进行登录,有则返回用户信息,没有则创建用户 case "getLoginByUserName"://渠道通过账户进行登录,有则返回用户信息,没有则创建用户
var tmpOpResult = await this.utilsAuthSve.getLoginByUserName(pobj, pobj.actionBody); var tmpOpResult = await this.utilsAuthSve.getLoginByUserName(req, pobj, pobj.actionBody);
if (tmpOpResult.status != 0 && tmpOpResult.status != 2060) { if (tmpOpResult.status != 0 && tmpOpResult.status != 2060) {
return tmpOpResult; return tmpOpResult;
} }
...@@ -80,16 +78,16 @@ class AccessAuthAPI extends WEBBase { ...@@ -80,16 +78,16 @@ class AccessAuthAPI extends WEBBase {
opResult.data.userpin = tmpOpResult.data.userpin; opResult.data.userpin = tmpOpResult.data.userpin;
} }
break; break;
case "getVerifyCode"://获取默认模板的手机验证码 case "getVerifyCode"://获取默认模板的手机验证码---已优化
opResult = await this.utilsAuthSve.getVerifyCodeByMoblie(pobj, pobj.actionBody); opResult = await this.utilsAuthSve.getVerifyCodeByMoblie(req, pobj, pobj.actionBody);
if (opResult.status == 0) { if (opResult.status == 0) {
return system.getResultSuccess() return system.getResultSuccess()
} }
break; break;
case "userPinByLgoin"://通过账户和密码登录 case "userPinByLgoin"://通过账户和密码登录---已优化
opResult = await this.utilsAuthSve.getReqUserPinByLgoin(pobj, pobj.actionBody); opResult = await this.utilsAuthSve.getReqUserPinByLgoin(req, pobj, pobj.actionBody);
if (opResult.status == 0) { if (opResult.status == 0) {
return system.getResultSuccess({ userpin: pobj.actionBody.userpin }) return opResult;
} }
break; break;
case "userTestLogin": // 假登陆 case "userTestLogin": // 假登陆
...@@ -98,30 +96,30 @@ class AccessAuthAPI extends WEBBase { ...@@ -98,30 +96,30 @@ class AccessAuthAPI extends WEBBase {
} else { } else {
return system.getResultFail(-1, '用户名或密码错误') return system.getResultFail(-1, '用户名或密码错误')
} }
case "userPinByLgoinVcode"://通过短信登录信息 case "userPinByLgoinVcode"://通过短信登录信息---已优化
pobj.actionBody.reqType = "login"; pobj.actionBody.reqType = "login";
opResult = await this.utilsAuthSve.getReqUserPinByLgoinVcode(pobj, pobj.actionBody); opResult = await this.utilsAuthSve.getReqUserPinByLgoinVcode(pobj, pobj.actionBody);
if (opResult.status == 0) { if (opResult.status == 0) {
return system.getResultSuccess({ userpin: pobj.actionBody.userpin }) return system.getResultSuccess({ userpin: pobj.actionBody.userpin })
} }
break; break;
case "userPinByRegister"://通过短信注册信息 case "userPinByRegister"://通过短信注册信息---已优化
pobj.actionBody.reqType = "reg"; pobj.actionBody.reqType = "reg";
opResult = await this.utilsAuthSve.getReqUserPinByLgoinVcode(pobj, pobj.actionBody); opResult = await this.utilsAuthSve.getReqUserPinByLgoinVcode(pobj, pobj.actionBody);
if (opResult.status == 0) { if (opResult.status == 0) {
return system.getResultSuccess({ userpin: pobj.actionBody.userpin }) return system.getResultSuccess({ userpin: pobj.actionBody.userpin })
} }
break; break;
case "putUserPwdByMobile"://通过手机验证码修改用户密码 case "putUserPwdByMobile"://通过手机验证码修改用户密码---已优化
opResult = await this.utilsAuthSve.putUserPwdByMobile(pobj, pobj.actionBody); opResult = await this.utilsAuthSve.putUserPwdByMobile(pobj, pobj.actionBody);
break; break;
case "getLoginInfo"://通过userpin获取用户登录信息 case "getLoginInfo"://通过userpin获取用户登录信息--已经废弃,在路由中处理了
opResult = await this.utilsAuthSve.getLoginInfo(pobj, pobj.actionBody); opResult = await this.utilsAuthSve.getLoginInfo(pobj, pobj.actionBody);
break; break;
case "channelUserLogin": case "channelUserLogin":
opResult = await this.utilsAuthSve.channelUserLogin(pobj,pobj.actionBody,req); opResult = await this.utilsAuthSve.channelUserLogin(pobj, pobj.actionBody, req);
break; break;
case "logout"://用户退出 case "logout"://用户退出--已经废弃,前端自己进行移除userpin信息
opResult = await this.utilsAuthSve.userLogout(pobj, pobj.actionBody); opResult = await this.utilsAuthSve.userLogout(pobj, pobj.actionBody);
break; break;
default: default:
...@@ -140,10 +138,7 @@ class AccessAuthAPI extends WEBBase { ...@@ -140,10 +138,7 @@ class AccessAuthAPI extends WEBBase {
var token = this.getUUID(); var token = this.getUUID();
pobj.actionBody.reqType = "hosts"; pobj.actionBody.reqType = "hosts";
var opResult = await this.utilsAuthSve.getReqTokenByHosts(pobj.actionBody, token); var opResult = await this.utilsAuthSve.getReqTokenByHosts(pobj.actionBody, token);
if (opResult.status != 0) { return opResult;
return opResult;
}
return system.getResultSuccess({ token: token })
} }
/** /**
* 接口跳转-POST请求 * 接口跳转-POST请求
...@@ -153,10 +148,7 @@ class AccessAuthAPI extends WEBBase { ...@@ -153,10 +148,7 @@ class AccessAuthAPI extends WEBBase {
var token = this.getUUID(); var token = this.getUUID();
pobj.actionBody.reqType = "appkey"; pobj.actionBody.reqType = "appkey";
var opResult = await this.utilsAuthSve.getReqTokenByHosts(pobj.actionBody, token); var opResult = await this.utilsAuthSve.getReqTokenByHosts(pobj.actionBody, token);
if (opResult.status != 0) { return opResult;
return opResult;
}
return system.getResultSuccess({ token: token })
} }
} }
module.exports = AccessAuthAPI; module.exports = AccessAuthAPI;
\ No newline at end of file
...@@ -42,7 +42,7 @@ class ChannelAccessAuthAPI extends WEBBase { ...@@ -42,7 +42,7 @@ class ChannelAccessAuthAPI extends WEBBase {
pobj.actionBody.channelUserId = aliUserResult.data.channelUserId; pobj.actionBody.channelUserId = aliUserResult.data.channelUserId;
pobj.actionBody.isAdmin = aliUserResult.data.isAdmin; pobj.actionBody.isAdmin = aliUserResult.data.isAdmin;
pobj.actionBody.isSuper = aliUserResult.data.isSuper; pobj.actionBody.isSuper = aliUserResult.data.isSuper;
var tmpOpResult = await this.utilsAuthSve.getLoginByUserName(pobj, pobj.actionBody); var tmpOpResult = await this.utilsAuthSve.getLoginByUserName(req, pobj, pobj.actionBody);
if (tmpOpResult.status != 0 && tmpOpResult.status != 2060) { if (tmpOpResult.status != 0 && tmpOpResult.status != 2060) {
return tmpOpResult; return tmpOpResult;
} }
......
...@@ -32,7 +32,7 @@ class AccessAuthAPI extends APIBase { ...@@ -32,7 +32,7 @@ class AccessAuthAPI extends APIBase {
opResult = system.getResultSuccess(null, "测试成功"); opResult = system.getResultSuccess(null, "测试成功");
break; break;
case "getLoginByUserName"://渠道通过账户进行登录,有则返回用户信息,没有则创建用户 case "getLoginByUserName"://渠道通过账户进行登录,有则返回用户信息,没有则创建用户
var tmpOpResult = await this.utilsAuthSve.getLoginByUserName(pobj, pobj.actionBody); var tmpOpResult = await this.utilsAuthSve.getLoginByUserName(req, pobj, pobj.actionBody);
if (tmpOpResult.status != 0 && tmpOpResult.status != 2060) { if (tmpOpResult.status != 0 && tmpOpResult.status != 2060) {
return tmpOpResult; return tmpOpResult;
} }
...@@ -43,15 +43,15 @@ class AccessAuthAPI extends APIBase { ...@@ -43,15 +43,15 @@ class AccessAuthAPI extends APIBase {
} }
break; break;
case "getVerifyCode"://获取默认模板的手机验证码 case "getVerifyCode"://获取默认模板的手机验证码
opResult = await this.utilsAuthSve.getVerifyCodeByMoblie(pobj, pobj.actionBody); opResult = await this.utilsAuthSve.getVerifyCodeByMoblie(req, pobj, pobj.actionBody);
if (opResult.status == 0) { if (opResult.status == 0) {
return system.getResultSuccess() return system.getResultSuccess()
} }
break; break;
case "userPinByLgoin"://通过账户和密码登录 case "userPinByLgoin"://通过账户和密码登录
opResult = await this.utilsAuthSve.getReqUserPinByLgoin(pobj, pobj.actionBody); opResult = await this.utilsAuthSve.getReqUserPinByLgoin(req, pobj, pobj.actionBody);
if (opResult.status == 0) { if (opResult.status == 0) {
return system.getResultSuccess({ userpin: pobj.actionBody.userpin }) return opResult;
} }
break; break;
case "userPinByLgoinVcode"://通过短信登录信息 case "userPinByLgoinVcode"://通过短信登录信息
......
...@@ -2,53 +2,53 @@ var APIBase = require("../../api.base"); ...@@ -2,53 +2,53 @@ var APIBase = require("../../api.base");
var system = require("../../../system"); var system = require("../../../system");
var settings = require("../../../../config/settings"); var settings = require("../../../../config/settings");
class edi extends APIBase { class edi extends APIBase {
constructor() { constructor() {
super(); super();
this.centerorderSve = system.getObject("service.common.centerorderSve"); this.centerorderSve = system.getObject("service.common.centerorderSve");
this.utilsOrderSve = system.getObject("service.utilsSve.utilsOrderSve"); this.utilsOrderSve = system.getObject("service.utilsSve.utilsOrderSve");
this.utilsNeedSve = system.getObject("service.utilsSve.utilsNeedSve"); this.utilsNeedSve = system.getObject("service.utilsSve.utilsNeedSve");
} }
/** /**
* 接口跳转-POST请求 * 接口跳转-POST请求
* action_process 执行的流程 * action_process 执行的流程
* action_type 执行的类型 * action_type 执行的类型
* action_body 执行的参数 * action_body 执行的参数
*/ */
async springBoard(pobj, qobj, req) { async springBoard(pobj, qobj, req) {
if (!pobj.actionType) { if (!pobj.actionType) {
return system.getResult(null, "actionType参数不能为空"); return system.getResult(null, "actionType参数不能为空");
}
var result = await this.opActionProcess(pobj, pobj.actionType, pobj.actionBody, req);
return result;
} }
async opActionProcess(pobj, action_type, action_body, req) { var result = await this.opActionProcess(pobj, pobj.actionType, pobj.actionBody, req);
var opResult = null; return result;
switch (action_type) { }
case "submitNeedAliEsp": async opActionProcess(pobj, action_type, action_body, req) {
opResult = await this.utilsNeedSve.submitNeedAliEsp(pobj,pobj.actionBody); var opResult = null;
break; switch (action_type) {
case "needCloseAliEsp": case "submitNeedAliEsp":
opResult = await this.utilsNeedSve.needCloseAliEsp(pobj,pobj.actionBody); opResult = await this.utilsNeedSve.submitNeedAliEsp(pobj, pobj.actionBody);
break; break;
case "produceNoticeAliEsp": case "needCloseAliEsp":
opResult = await this.utilsNeedSve.ediNotify(pobj, pobj.actionBody); opResult = await this.utilsNeedSve.needCloseAliEsp(pobj, pobj.actionBody);
if (opResult.status == 0) { break;
opResult = await this.utilsNeedSve.produceNoticeAliEsp(pobj,pobj.actionBody); case "produceNoticeAliEsp":
} opResult = await this.utilsNeedSve.ediNotify(pobj, pobj.actionBody);
break; if (opResult.status == 0) {
case "soulutionFeebackAliEsp": opResult = await this.utilsNeedSve.produceNoticeAliEsp(req, pobj, pobj.actionBody);
// opResult = await this.utilsNeedSve.ediNotify(pobj, pobj.actionBody);
// opResult = await this.utilsNeedSve.soulutionFeebackAliEsp(pobj,pobj.actionBody);
pobj.actionType = "receiveFeedback"
opResult = await this.centerorderSve.reqCenterOrderApi(pobj);
break;
default:
opResult = system.getResult(null, "action_type参数错误");
break;
} }
return opResult; break;
case "soulutionFeebackAliEsp":
// opResult = await this.utilsNeedSve.ediNotify(pobj, pobj.actionBody);
// opResult = await this.utilsNeedSve.soulutionFeebackAliEsp(pobj,pobj.actionBody);
pobj.actionType = "receiveFeedback"
opResult = await this.centerorderSve.reqCenterOrderApi(pobj);
break;
default:
opResult = system.getResult(null, "action_type参数错误");
break;
} }
return opResult;
}
} }
module.exports = edi; module.exports = edi;
\ No newline at end of file
const CacheBase = require("../cache.base"); const CacheBase = require("../cache.base");
const system = require("../../system"); const system = require("../../system");
const settings = require("../../../config/settings"); const settings = require("../../../config/settings");
class AppTokenByHostsCache extends CacheBase { class AppTokenByHostsCache extends CacheBase {//----废弃--sy-2020-10-21
constructor() { constructor() {
super(); super();
this.restClient = system.getObject("util.restClient"); this.restClient = system.getObject("util.restClient");
...@@ -16,7 +16,7 @@ class AppTokenByHostsCache extends CacheBase { ...@@ -16,7 +16,7 @@ class AppTokenByHostsCache extends CacheBase {
var actionBody = val; var actionBody = val;
var acckapp = await this.restClient.execPost(actionBody, settings.centerAppUrl() + "auth/accessAuth/getTokenByHosts"); var acckapp = await this.restClient.execPost(actionBody, settings.centerAppUrl() + "auth/accessAuth/getTokenByHosts");
var result = acckapp.stdout; var result = acckapp.stdout;
console.log(acckapp.stdout, "AppTokenByHostsCache............. acckapp.stdout.........."); // console.log(acckapp.stdout, "AppTokenByHostsCache............. acckapp.stdout..........");
if (result) { if (result) {
var tmp = JSON.parse(result); var tmp = JSON.parse(result);
return tmp; return tmp;
......
...@@ -3,10 +3,13 @@ const moment = require('moment') ...@@ -3,10 +3,13 @@ const moment = require('moment')
const settings = require("../../config/settings"); const settings = require("../../config/settings");
const md5 = require("MD5"); const md5 = require("MD5");
const uuidv4 = require('uuid/v4'); const uuidv4 = require('uuid/v4');
const cryptoJS = require('crypto-js');
class AppServiceBase { class AppServiceBase {
constructor() { constructor() {
this.restClient = system.getObject("util.restClient"); this.restClient = system.getObject("util.restClient");
this.execClient = system.getObject("util.execClient"); this.execClientNew = system.getObject("util.execClientNew");
this.execClient = system.getObject('util.execClient');
this.cacheManager = system.getObject("db.common.cacheManager"); this.cacheManager = system.getObject("db.common.cacheManager");
this.pushlogSve = system.getObject("service.common.pushlogSve"); this.pushlogSve = system.getObject("service.common.pushlogSve");
this.pushlogFailType = { OLDRPC: 1, NEWRPC: 2, FAILLOG: 3, FQ: 4 }; this.pushlogFailType = { OLDRPC: 1, NEWRPC: 2, FAILLOG: 3, FQ: 4 };
...@@ -365,7 +368,7 @@ class AppServiceBase { ...@@ -365,7 +368,7 @@ class AppServiceBase {
返回20位业务订单号 返回20位业务订单号
prefix:业务前缀 prefix:业务前缀
*/ */
async getBusUid(prefix) { async getBusUid(prefix) {
prefix = (prefix || ""); prefix = (prefix || "");
if (prefix) { if (prefix) {
prefix = prefix.toUpperCase(); prefix = prefix.toUpperCase();
...@@ -383,7 +386,7 @@ class AppServiceBase { ...@@ -383,7 +386,7 @@ class AppServiceBase {
len:返回长度 len:返回长度
radix:参与计算的长度,最大为62 radix:参与计算的长度,最大为62
*/ */
async getUidInfo(len, radix) { async getUidInfo(len, radix) {
var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');//长度62,到yz长度为长36 var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');//长度62,到yz长度为长36
var uuid = [], i; var uuid = [], i;
radix = radix || chars.length; radix = radix || chars.length;
...@@ -407,5 +410,58 @@ class AppServiceBase { ...@@ -407,5 +410,58 @@ class AppServiceBase {
var u = uuid.replace(/\-/g, ""); var u = uuid.replace(/\-/g, "");
return u; return u;
} }
/**
* 加密信息
* @param {*} encrypt_key
* @param {*} encrypt_secret
* @param {*} opStr
*/
async encryptStr(encrypt_key, encrypt_secret, opStr) {
if (!opStr) {
return system.getResult(null, "opStr is empty");
}
let keyHex = cryptoJS.enc.Utf8.parse(encrypt_key);
let ivHex = cryptoJS.enc.Utf8.parse(encrypt_secret.substring(0, 8));
var cipherStr = cryptoJS.TripleDES.encrypt(opStr, keyHex, { iv: ivHex }).toString();
return cipherStr;
}
/**
* 解密信息
* @param {*} encrypt_key
* @param {*} encrypt_secret
* @param {*} opStr
*/
async decryptStr(encrypt_key, encrypt_secret, opStr) {
if (!opStr) {
return system.getResult(null, "opStr is empty");
}
try {
let keyHex = cryptoJS.enc.Utf8.parse(encrypt_key);
let ivHex = cryptoJS.enc.Utf8.parse(encrypt_secret.substring(0, 8));
var bytes = cryptoJS.TripleDES.decrypt(opStr, keyHex, {
iv: ivHex
});
var plaintext = bytes.toString(cryptoJS.enc.Utf8);
if (!plaintext) {
return system.getResult(null, "解密失败" + opStr);
}
return system.getResultSuccess(plaintext);
} catch (error) {
return system.getResultFail(-200, "解密异常:" + opStr);
}
}
/**
* 带超时时间的post请求
* @param {*} req 请求信息
* @param {*} params 请求数据-json格式
* @param {*} url 请求地址
* @param {*} ContentType 请求头类型,默认application/json
* @param {*} headData 请求头内容-json格式,如:请求头中传递token,格式:{token:"9098902q849q0434q09439"}
* @param {*} timeOut 超时时间
*/
async execPostByTimeOut(req, params, url, ContentType, headData, timeOut = 60) {
const result = await this.execClientNew.execPostTimeOutByBusiness('sve.base', params, url, ContentType, headData, timeOut, req);
return result;
}
} }
module.exports = AppServiceBase; module.exports = AppServiceBase;
...@@ -22,10 +22,11 @@ class UtilsUcommuneService extends AppServiceBase { ...@@ -22,10 +22,11 @@ class UtilsUcommuneService extends AppServiceBase {
/** /**
* 根据优客token获取用户信息,生成userPin返回前端 * 根据优客token获取用户信息,生成userPin返回前端
* @param {*} req
* @param {*} pobj * @param {*} pobj
* @param {*} actionBody userToken 为优客工厂的userToken * @param {*} actionBody userToken 为优客工厂的userToken
*/ */
async getUserInfo(pobj, actionBody) { async getUserInfo(req, pobj, actionBody) {
this.logCtl.info({ this.logCtl.info({
optitle: "优客免登接口", optitle: "优客免登接口",
op: "center-app/app/base/service/impl/utilsSve/utilsUcommuneSve.js/getUserInfo", op: "center-app/app/base/service/impl/utilsSve/utilsUcommuneSve.js/getUserInfo",
...@@ -46,7 +47,7 @@ class UtilsUcommuneService extends AppServiceBase { ...@@ -46,7 +47,7 @@ class UtilsUcommuneService extends AppServiceBase {
pobj.actionBody.mobile = result.data.mobile; pobj.actionBody.mobile = result.data.mobile;
pobj.actionBody.headUrl = result.data.headImg; pobj.actionBody.headUrl = result.data.headImg;
pobj.actionBody.userpin = pobj.actionBody.userpin || this.getUUID(); pobj.actionBody.userpin = pobj.actionBody.userpin || this.getUUID();
var tmpOpResult = await this.utilsAuthSve.getLoginByUserName(pobj, pobj.actionBody); var tmpOpResult = await this.utilsAuthSve.getLoginByUserName(req, pobj, pobj.actionBody);
if (tmpOpResult.status != 0 && tmpOpResult.status != 2060) { if (tmpOpResult.status != 0 && tmpOpResult.status != 2060) {
return tmpOpResult; return tmpOpResult;
} }
......
module.exports = {
PDICT: {
encrypt_key: "202006242013DDD90880",
encrypt_secret: "25455136E3BCA24335C3142C72D90990",
secret_prefix: "CENTERAPP",
token_secret_dev: "1E15FB63A004635A9BFB66BFA0637E99",//dev
token_secret_prod: "25455136E3BCA24335C3142C72D88990",//prod
webMustUserpinList: ["serviceProviderSubmitMaterial", "closeOrderDelivery", "serviceProviderNotification", "tmConfirm", "getNeedSolutionDetailByUser",
"getProgrammeInfoByChannelNeedNo", "submitIcpProgramme", "submitIcpMaterial", "acceptIcpPartnerNotification", "abolishIcpProgramme",
"addOrder", "getH5PayUrl", "getOrderQrCode", "queryOrderStatus", "getOrderInfo", "getOrderDeliveryInfo", "getOrderDetails",
"getOrderDeliveryFlowInfo", "getOrderDeliveryFlowList", "getOrderLogInfo", "updateContacts", "updateTmOrder", "delOrder", "submitProgramme",
"getProgrammeListByUser", "getProgrammeInfoByNeedNo", "abolishProgramme", "getAliPayInfo", "getPaidLogoListByUser", "getCollectibleLogoListByUser",
"collectLogo", "getLogoMaterial", "cancelCollectLogo", "icpNotify", "createName", "getNameDetail", "orderConfirm",
"orderTotalSum", "collect", "reg", "orderCheck", "getReOrderList", "getOfficalList", "addReviewList", "opSubmitNeed", "opNeedClose", "opNeedList",
"getItemByNeedNo", "opNeedDetailByChannelNo", "getNeedListUser", "manualEvaluation", "diagnosisInfo", "check", "enterpriseInfo", "diagnosisDetail",
"submitIcpIntention", "queryIntentionList", "confirmIcpIntention", "tmAccept", "tmStatus", "needBatchUpload",
"serviceSubmitOption", "submitWangwenSolution", "closeNeed", "recordLog", "recordLogList", "foodServiceSubmitOption", "submitFoodSolution",
"foodCloseNeed", "foodRecordLog", "foodRecordLogList", "getParamsFor360", "addOrderWeb", "getPayRecords", "getLoginInfo"
],
apiMustUserpinList: ["submitNeed", "paySuccess", "icpNotify", "getLoginInfo"]
}
}
...@@ -3,7 +3,7 @@ var settings = { ...@@ -3,7 +3,7 @@ var settings = {
host: "121.36.3.35", host: "121.36.3.35",
port: 8967, port: 8967,
password: "Gongsibao2018", password: "Gongsibao2018",
db: 5, db: 4,
}, },
database: { database: {
dbname: "igirl_api", dbname: "igirl_api",
......
...@@ -22,7 +22,14 @@ var settings = { ...@@ -22,7 +22,14 @@ var settings = {
cacheprefix: "centerChannel", cacheprefix: "centerChannel",
usertimeout: 3600,//单位秒 usertimeout: 3600,//单位秒
basepath: path.normalize(path.join(__dirname, '../..')), basepath: path.normalize(path.join(__dirname, '../..')),
port: process.env.NODE_PORT || 4012, port: process.env.NODE_PORT || 4012,
//记录日志地址
opNewLogUrl() {
if (this.env == 'dev') {
return 'http://192.168.18.101:4019/api/queueAction/producer/springBoard';
}
return 'http://logs-sytxpublic-msgq-service/api/queueAction/producer/springBoard';
},
fbQueryUrl: function () { fbQueryUrl: function () {
if (this.env == 'dev' || this.env == 'test') { if (this.env == 'dev' || this.env == 'test') {
return 'http://43.247.184.92:15505' return 'http://43.247.184.92:15505'
...@@ -36,7 +43,7 @@ var settings = { ...@@ -36,7 +43,7 @@ var settings = {
} else { } else {
return "http://sytxpublic-msgq-service/api/queueAction/producer/springBoard"; return "http://sytxpublic-msgq-service/api/queueAction/producer/springBoard";
} }
}, },
entProfileUrl: function () { entProfileUrl: function () {
if (this.env == "dev") { if (this.env == "dev") {
return "https://entprofile.gongsibao.com/"; return "https://entprofile.gongsibao.com/";
...@@ -57,7 +64,7 @@ var settings = { ...@@ -57,7 +64,7 @@ var settings = {
} else { } else {
return "http://aliossjava-service/getNames"; return "http://aliossjava-service/getNames";
} }
}, },
tmtransactionUrl: function () { tmtransactionUrl: function () {
if (this.env == "dev") { if (this.env == "dev") {
...@@ -66,7 +73,7 @@ var settings = { ...@@ -66,7 +73,7 @@ var settings = {
return "http://center-tmtransaction-service"; return "http://center-tmtransaction-service";
} }
}, },
qifuPayAfterH5JumpUrl: function () { qifuPayAfterH5JumpUrl: function () {
if (this.env == "dev") { if (this.env == "dev") {
return "http://tm.qifu.gongsibao.com:4012/#/home/indent_list"; return "http://tm.qifu.gongsibao.com:4012/#/home/indent_list";
...@@ -80,22 +87,22 @@ var settings = { ...@@ -80,22 +87,22 @@ var settings = {
} else { } else {
return "http://tm.qifu.gongsibao.com/#/home/indent_list"; return "http://tm.qifu.gongsibao.com/#/home/indent_list";
} }
}, },
qifuH5PayNotifyUrl: function () { qifuH5PayNotifyUrl: function () {
if (this.env == "dev") { if (this.env == "dev") {
// return "http://gsb.qifu.gongsibao.com:4012/tlpay/notify"; // return "http://gsb.qifu.gongsibao.com:4012/tlpay/notify";
return "http://gsb.qifu-dev.gongsibao.com/tlpay/notify"// 2020 0804 lin 修改测试环境tl回调地址 return "http://gsb.qifu-dev.gongsibao.com/tlpay/notify"// 2020 0804 lin 修改测试环境tl回调地址
} else { } else {
return "http://gsb.qifu.gongsibao.com/tlpay/notify"; return "http://gsb.qifu.gongsibao.com/tlpay/notify";
} }
}, },
qifubaoUrl: function () {//企服宝(交付系统) qifubaoUrl: function () {//企服宝(交付系统)
if (this.env == "dev") { if (this.env == "dev") {
return "http://xxxx:xxxx/"; return "http://xxxx:xxxx/";
} else { } else {
return ""; return "";
} }
}, },
paasUrl: function () { paasUrl: function () {
if (this.env == "dev") { if (this.env == "dev") {
return "http://p.apps.com:4001/"; return "http://p.apps.com:4001/";
...@@ -142,12 +149,12 @@ var settings = { ...@@ -142,12 +149,12 @@ var settings = {
} }
}, },
centerChannelUrl: function () { centerChannelUrl: function () {
if (this.env == "dev") { if (this.env == "dev") {
return "http://60.205.209.94:4012/" return "http://60.205.209.94:4012/"
} else { } else {
// return "channel的正式环境" 6.30修改目前只用作生成alipay/wx的通知回调地址 // return "channel的正式环境" 6.30修改目前只用作生成alipay/wx的通知回调地址
return "http://youke.qifu.gongsibao.com/" return "http://youke.qifu.gongsibao.com/"
} }
}, },
gatewayUrl: function () { gatewayUrl: function () {
if (this.env == "dev") { if (this.env == "dev") {
...@@ -163,24 +170,24 @@ var settings = { ...@@ -163,24 +170,24 @@ var settings = {
return "http://center-order-service/"; return "http://center-order-service/";
} }
}, },
igirlWeburl: function(){ igirlWeburl: function () {
if (this.env == "dev") { if (this.env == "dev") {
return "http://127.0.0.1:3000/"; return "http://127.0.0.1:3000/";
} else { } else {
return "http://igirl-service/"; return "http://igirl-service/";
} }
}, },
centerCacheUrl:function(){ centerCacheUrl: function () {
if(this.env=='dev'){ if (this.env == 'dev') {
return "http://123.57.217.203:30005/"; return "http://123.57.217.203:30005/";
}else{ } else {
return "http://specialprofile-service/" return "http://specialprofile-service/"
} }
}, },
fileDealUrl:function(){ fileDealUrl: function () {
if(this.env=='dev'){ if (this.env == 'dev') {
return "http://43.247.184.92:15503"; return "http://43.247.184.92:15503";
}else{ } else {
return "http://43.247.184.92:15503" return "http://43.247.184.92:15503"
} }
}, },
...@@ -199,7 +206,7 @@ var settings = { ...@@ -199,7 +206,7 @@ var settings = {
return "http://43.247.184.94:7200/"; return "http://43.247.184.94:7200/";
} }
}, },
certificationUrl:function () { certificationUrl: function () {
if (this.env == "dev") { if (this.env == "dev") {
return "http://43.247.184.92:15506/";// return "http://43.247.184.92:15506/";//
} else { } else {
...@@ -224,7 +231,7 @@ var settings = { ...@@ -224,7 +231,7 @@ var settings = {
if (this.env == "dev") { if (this.env == "dev") {
return "https://m-dev.ucommune.com/"// 优客测试环境 return "https://m-dev.ucommune.com/"// 优客测试环境
} else { } else {
// return "https://m.ucommune.com/"// 优客正式环境 // return "https://m.ucommune.com/"// 优客正式环境
return "https://m.ucommune.com/"// 6.29lin修改为测试环境。原因优客 目前还没有正式环境 return "https://m.ucommune.com/"// 6.29lin修改为测试环境。原因优客 目前还没有正式环境
} }
}, },
...@@ -293,25 +300,25 @@ var settings = { ...@@ -293,25 +300,25 @@ var settings = {
}; };
} }
}, },
alipay: function() {// 没有在使用 确定不需要后会去掉 alipay: function () {// 没有在使用 确定不需要后会去掉
return new AlipaySdk({ return new AlipaySdk({
// appId: payConfig.ali.appId,
// privateKey: payConfig.ali.privateKey,
// alipayPublicKey: payConfig.ali.publicKey,
// appId: payConfig.ali.appId,
// privateKey: payConfig.ali.privateKey,
// alipayPublicKey: payConfig.ali.publicKey,
}); });
}, },
wxpay: function() {// 没有在使用 确定不需要后会去掉 wxpay: function () {// 没有在使用 确定不需要后会去掉
return WXPay({ return WXPay({
appid: 'wx6f3ebe44defe336a', appid: 'wx6f3ebe44defe336a',
mch_id: '1232813602', mch_id: '1232813602',
partner_key: 'sinotone2014sinotone2014sinotone', //微信商户平台API密钥 partner_key: 'sinotone2014sinotone2014sinotone', //微信商户平台API密钥
//pfx: fs.readFileSync('./wxpay_cert.p12'), //微信商户平台证书 //pfx: fs.readFileSync('./wxpay_cert.p12'), //微信商户平台证书
//pfx: "sinotone2014sinotone2014sinotone" //pfx: "sinotone2014sinotone2014sinotone"
}) })
// const config = { // const config = {
// appid: 'wx6f3ebe44defe336a', // appid: 'wx6f3ebe44defe336a',
// mchid: '1232813602', // mchid: '1232813602',
...@@ -319,15 +326,15 @@ var settings = { ...@@ -319,15 +326,15 @@ var settings = {
// }; // };
// return new tenpay(config); // return new tenpay(config);
}, },
paySecret: function() { paySecret: function () {
if (this.env == "dev") { if (this.env == "dev") {
// return "ab53dfb909e4c32a"; // return "ab53dfb909e4c32a";
return "34cdecaac35b1d8d"// 7.1之前测试环境的secret无法使用,测试/正式全部使用同一个secret return "34cdecaac35b1d8d"// 7.1之前测试环境的secret无法使用,测试/正式全部使用同一个secret
} else { } else {
return "34cdecaac35b1d8d";// 6.29lin新增 小黑给的secret return "34cdecaac35b1d8d";// 6.29lin新增 小黑给的secret
} }
}, },
ucommuneOperatorPhone: function() { ucommuneOperatorPhone: function () {
if (this.env == "dev") { if (this.env == "dev") {
return "13911391996"// 7.7修改测试环境优客 辅助/担保订单推送业务员手机号 return "13911391996"// 7.7修改测试环境优客 辅助/担保订单推送业务员手机号
} else { } else {
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
"express": "^4.16.2", "express": "^4.16.2",
"express-session": "^1.15.6", "express-session": "^1.15.6",
"gm": "^1.23.1", "gm": "^1.23.1",
"jsonwebtoken": "^8.5.1",
"marked": "^0.7.0", "marked": "^0.7.0",
"method-override": "^2.3.10", "method-override": "^2.3.10",
"mongoose": "^5.7.1", "mongoose": "^5.7.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