Commit e0513e66 by Sxy

Merge branch 'gsb-icp-deliver' of gitlab.gongsibao.com:jiangyong/zhichan into gsb-icp-deliver

parents dac8fa8f 01ae31e9
...@@ -17,8 +17,6 @@ class CtlBase { ...@@ -17,8 +17,6 @@ class CtlBase {
return system.getResult(up); return system.getResult(up);
} }
async create(pobj, qobj, req) { async create(pobj, qobj, req) {
console.log('---------------------aaa------------------');
console.log(res);
const up = await this.service.create(pobj); const up = await this.service.create(pobj);
return system.getResult(up); return system.getResult(up);
} }
......
var system = require("../../../system") var system = require("../../../system")
const http = require("http") const http = require("http")
const querystring = require('querystring'); const querystring = require('querystring');
var settings=require("../../../../config/settings"); var settings = require("../../../../config/settings");
const CtlBase = require("../../ctl.base"); const CtlBase = require("../../ctl.base");
class AuthCtl extends CtlBase{ const axios = require("axios");
constructor(){
super("auth",CtlBase.getServiceName(AuthCtl)); class AuthCtl extends CtlBase {
} constructor() {
async saveAuths(pobj,query,req){ super("auth", CtlBase.getServiceName(AuthCtl));
var auths=pobj.auths; this.redisClient = system.getObject("util.redisClient");
var xrtn=await this.service.saveAuths(auths,pobj.app_id,pobj.company_id); }
return system.getResult(xrtn); async saveAuths(pobj, query, req) {
} var auths = pobj.auths;
async findAuthsByRoles(pobj,query,req){ var xrtn = await this.service.saveAuths(auths, pobj.app_id, pobj.company_id);
var roleids=pobj.roleids; return system.getResult(xrtn);
var xrtn=await this.service.findAuthsByRole(roleids,pobj.app_id,pobj.company_id); }
return system.getResult(xrtn); async findAuthsByRoles(pobj, query, req) {
} var roleids = pobj.roleids;
var xrtn = await this.service.findAuthsByRole(roleids, pobj.app_id, pobj.company_id);
return system.getResult(xrtn);
}
/**
* 易代账获取初始化token
* @param {*} code
*/
async getOpenToken(body) {
const url = `${settings.ydzUrl()}/auth/getToken`
const ydzKey = settings.ydzKey();
let params = {
grantType: "authorization_code",
appKey: ydzKey.appKey,
redirectUri: "",
code: body.code
}
const res = await this.getRequest(url, params);
if (res.data.code == 200) {
let ydzToken = {
access_token: res.data.result.access_token,
refresh_token: res.data.result.refresh_token
}
const addRedisResult = await this.redisClient.setWithEx('ydzToken', JSON.stringify(ydzToken), 6 * 24 * 60 * 60);
// const getRedisResult = await this.redisClient.get('ydzToken');
return system.getResult(addRedisResult);
} else {
return system.getResultFail(201, res.data.message);
}
}
/**
* 刷新opentoken(access_token)
*/
async refreshToken() {
const url = `${settings.ydzUrl()}/auth/refreshToken`
const ydzKey = settings.ydzKey();
const getRedisResult = JSON.parse(await this.redisClient.get('ydzToken')).refresh_token;
let params = {
grantType: "refresh_token",
appKey: ydzKey.appKey,
refreshToken: getRedisResult
}
const res = await this.getRequest(url, params);
if (res.data.code == 200) {
let ydzToken = {
access_token: res.data.result.access_token,
refresh_token: res.data.result.refresh_token
}
const addRedisResult = await this.redisClient.setWithEx('ydzToken', JSON.stringify(ydzToken), 6 * 24 * 60 * 60);
// const getRedisResult = await this.redisClient.get('ydzToken');
return system.getResult(addRedisResult);
} else {
return system.getResultFail(201, res.data.message);
}
}
/**
* 公用get请求
* @param {*} url
* @param {*} data
*/
async getRequest(url, data = {}) {
try {
console.log(` ${url} : 请求信息 ------- `);
console.log(JSON.stringify(data));
const res = await axios.get(url, {
params: data,
headers: {
"Content-Type": "application/json",
}
});
return res;
} catch (err) {
console.log(` ${url} : 返回错误信息 ------- `);
console.log(err)
throw (err)
}
}
} }
module.exports=AuthCtl; module.exports = AuthCtl;
\ No newline at end of file
...@@ -65,13 +65,15 @@ module.exports = (db, DataTypes) => { ...@@ -65,13 +65,15 @@ module.exports = (db, DataTypes) => {
} }
// companyInfo: { // 对象 // companyInfo: { // 对象
// companyName // 公司名称 // corpName // 公司名称
// taxpayerType // 纳税性质 NORMAL_TAXPAYER 一般纳税人; SMALL_TAXPAYER 小规模纳税人 // taxpayerTypeEnum // 纳税性质 NORMAL_TAXPAYER 一般纳税人; SMALL_TAXPAYER 小规模纳税人
// acctgSystemId // 会计制度 10001=2013 小企业会计准 则;10002=2007 企业会计准 则;10003=民间非营利组织会 计制度; 10004=工会会计制度 // acctgSystemId // 会计制度 10001=2013 小企业会计准 则;10002=2007 企业会计准 则;10003=民间非营利组织会 计制度; 10004=工会会计制度
// companyForm // 企业形式 1 公司; 2 合伙企业; 3 个独; 4 个体工商户 // enterpriseFormEnum // 企业形式:CORPORATION 公司;PARTNERSHIP_OR_SOLE 合伙企业/个独/个体工商户;OTHERS 其他企业"
// industry //所属行业 // taxIndustryId //所属行业
// taxpayerNumber // 税号 // taxNo // 税号
// companyArea // 公司区域 // taxiationArea // 公司区域
// serviceTypeEnum //"服务类型:枚举型,包括ACCOUTING-记账服务、INDUSTRY_COMMERCE-工商服务、BOTH-记账与工商服务"
// taxClaimMethodEnum //申报方式:TAX_DECLARATION-税款申报;ZERO_DECLARATION-零申报;
// } // }
}, { }, {
......
...@@ -5,7 +5,6 @@ const System = require("../../../system"); ...@@ -5,7 +5,6 @@ const System = require("../../../system");
const moment = require("moment"); const moment = require("moment");
const TOQFT = require("../../../utils/toQft"); const TOQFT = require("../../../utils/toQft");
class ServicebillService extends ServiceBase { class ServicebillService extends ServiceBase {
constructor() { constructor() {
super("agriculture", ServiceBase.getDaoName(ServicebillService)); super("agriculture", ServiceBase.getDaoName(ServicebillService));
...@@ -58,7 +57,7 @@ class ServicebillService extends ServiceBase { ...@@ -58,7 +57,7 @@ class ServicebillService extends ServiceBase {
const res = await this.dao.update(obj); const res = await this.dao.update(obj);
const findOne = await this.dao.findOne({ id: obj.id }); const findOne = await this.dao.findOne({ id: obj.id });
let backData = {}; let backData = {};
if (findOne) { if (res && findOne) {
backData.bizId = findOne.bizId; backData.bizId = findOne.bizId;
backData.auditResult = findOne.status; backData.auditResult = findOne.status;
backData.orderNo = findOne.orderNo; backData.orderNo = findOne.orderNo;
...@@ -92,33 +91,28 @@ class ServicebillService extends ServiceBase { ...@@ -92,33 +91,28 @@ class ServicebillService extends ServiceBase {
return data; return data;
} }
mappingYDZ(findService) { mappingYDZ(findService) {
let setData = { let setData = {};
custName: findService.contactName, //客户名称 setData.accountBook = {};
corpName: findService.companyInfo.companyName, //企业名称 for (let key in findService.companyInfo) {
taxiationArea: findService.companyInfo.companyArea, //报税地区 setData[key] = findService.companyInfo[key];
taxIndustryId: findService.companyInfo.industry, //行业 if (key == 'acctgSystemId' || key == 'taxpayerTypeEnum') {
serviceTypeEnum: "ACCOUTING", // 服务类型:枚举型,包括ACCOUTING-记账服务、INDUSTRY_COMMERCE-工商服务、BOTH-记账与工商服务。 setData.accountBook[key] = findService.companyInfo[key];
taxNo: findService.companyInfo.taxpayerNumber, // 税号
accountantEmployeeId: findService.accountantAgentAccountId, //所属会计 易代账ID
taxClaimMethodEnum: "TAX_DECLARATION", //申报方式:TAX_DECLARATION-税款申报;ZERO_DECLARATION-零申报;
isBuild: true, //是否建账
accountBook: {
name: `gsb_${findService.bizId}`, //账套名称
acctgSystemId: findService.companyInfo.acctgSystemId, //会计制度;包括:10001=2013小企业会计准则;10002=2007企业会计准则;10003=民间非营利组织会计制度;10004=工会会计制度
openingPeriod: moment().year(), //开账期间
taxpayerTypeEnum: findService.taxpayerType, //纳税性质,枚举包括:NORMAL_TAXPAYER=一般纳税人;SMALL_TAXPAYER=小规模纳税人
acctgTransGroupEnum: 'ACCTG' //凭证类别,枚举包括:ACCTG=记账凭证等;RECEIPT_PAYMENT_TRANSFER=收付转凭证
} }
} }
setData.custName = findService.companyInfo.corpName; //客户名称
setData.accountantEmployeeId = findService.accountantAgentAccountId; //所属会计 易代账ID
setData.isBuild = true;
setData.accountBook.name = findService.companyInfo.corpName; //账套名称
setData.accountBook.openingPeriod = `${moment().year()}${moment().month()+1}`; //开账期间 当年当月,格式是 “YYYYMM”
return setData; return setData;
} }
mappingSetToQiFuTong(setInfo, findService) { mappingSetToQiFuTong(setInfo, findService) {
let toQFTSetData = { let toQFTSetData = {
bizId: findService.bizId, bizId: findService.bizId,
subjectId: setInfo.custId, custId: setInfo.custId,
bookId: setInfo.assocTenantId, bookId: setInfo.assocTenantId,
bkDomainName: setInfo.bkDomainName, bkDomainName: setInfo.bkDomainName,
contactName: setInfo.customer.contactName, contactName: findService.companyInfo.companyName,
contactMobile: setInfo.customer.contactMobile, contactMobile: setInfo.customer.contactMobile,
timeUnit: findService.timeUnit, timeUnit: findService.timeUnit,
quantity: findService.quantity, quantity: findService.quantity,
......
...@@ -2,6 +2,7 @@ const axios = require("axios"); ...@@ -2,6 +2,7 @@ const axios = require("axios");
const settings = require("../../config/settings"); const settings = require("../../config/settings");
const system = require("../system"); const system = require("../system");
const ydzUrl = settings.ydzUrl(); const ydzUrl = settings.ydzUrl();
const redisClient = system.getObject("util.redisClient");
/** /**
* 请求易代账 * 请求易代账
...@@ -10,27 +11,20 @@ const ydzUrl = settings.ydzUrl(); ...@@ -10,27 +11,20 @@ const ydzUrl = settings.ydzUrl();
const pushYiDaZhang = async(data = {}) => { const pushYiDaZhang = async(data = {}) => {
const { appKey, appSecret } = settings.ydzKey(); const { appKey, appSecret } = settings.ydzKey();
// const openToken = await getOpenTokenByAppKey(appKey, appSecret); const openToken = JSON.parse(await redisClient.get('ydzToken')).access_token;
console.log('----------------------------open-----------------------');
console.log(openToken);
const header = { const header = {
"Content-Type": "application/json", "Content-Type": "application/json",
"appKey": appKey, "appKey": appKey,
"appSecret": appSecret, "appSecret": appSecret,
"openToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NfdG9rZW4iOiJlYzQ4OTFjZS05OWIzLTQzNjAtYjMyMi04MzUyOWMxMGQ5ZjQiLCJzdWIiOiJpc3YiLCJhdWQiOiJpc3YiLCJuYmYiOjE2MDQ5NzgzOTksImFwcElkIjoiMTA2NSIsInNjb3BlIjoiYXV0aF9hbGwiLCJpc3MiOiJjaGFuamV0IiwiZXhwIjoxNjA1NDk2Nzk5LCJ1c2VySWQiOiI2MTAwMDQzMjU3NSIsImlhdCI6MTYwNDk3ODM5OSwib3JnSWQiOiI5MDAwMTIwNTYyNSIsIm9yZ0FjY291bnQiOiJ1MzEzbWN2czR5d2EifQ.gPpIvM75vL39RrcNNW3jWMw28z-5nj0JNOyHjA8LvGI" "openToken": openToken
} }
const manageId = await getManageIdByOpenToken(header); const manageId = await getManageIdByOpenToken(header);
const pushYDZResult = await postRequest(`${ydzUrl}/ydz/easyacctg/customer/create/${manageId}`, data, header); const pushYDZResult = await postRequest(`${ydzUrl}/ydz/easyacctg/customer/create/${manageId}`, data, header);
return pushYDZResult; return pushYDZResult;
} }
const getOpenTokenByAppKey = async(appKey, appSecret) => {
const data = await this.postRequest(`${ydzUrl}/api/opreceive/accessAuth/getAppTokenByAppKey`, {
"Content-Type": "application/json",
"appKey": appKey,
"appSecret": appSecret
});
return data.token
}
const getManageIdByOpenToken = async(headers) => { const getManageIdByOpenToken = async(headers) => {
const url = `${ydzUrl}/ydz/setup/openAccess/MainTenant/findMainTenant` const url = `${ydzUrl}/ydz/setup/openAccess/MainTenant/findMainTenant`
const rs = await getRequest(url, {}, headers); const rs = await getRequest(url, {}, headers);
...@@ -69,7 +63,7 @@ const postRequest = async(url, data, headers = {}) => { ...@@ -69,7 +63,7 @@ const postRequest = async(url, data, headers = {}) => {
} }
} catch (err) { } catch (err) {
console.log(` ${url} : 返回错误信息 ------- `); console.log(` ${url} : 返回错误信息 ------- `);
console.log(err) console.log(err);
throw (err) throw (err)
} }
} }
...@@ -85,7 +79,7 @@ const getRequest = async(url, data, headers = {}) => { ...@@ -85,7 +79,7 @@ const getRequest = async(url, data, headers = {}) => {
return res.data; return res.data;
} catch (err) { } catch (err) {
console.log(` ${url} : 返回错误信息 ------- `); console.log(` ${url} : 返回错误信息 ------- `);
console.log(err) console.log(err);
throw (err) throw (err)
} }
} }
...@@ -93,7 +87,6 @@ const getRequest = async(url, data, headers = {}) => { ...@@ -93,7 +87,6 @@ const getRequest = async(url, data, headers = {}) => {
module.exports = { module.exports = {
pushYiDaZhang, pushYiDaZhang,
getManageIdByOpenToken, getManageIdByOpenToken,
// getAppTokenByAppKey,
postRequest, postRequest,
getRequest getRequest
} }
\ No newline at end of file
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