Commit 440c9800 by 王昆

gsb

parent 1fe866c5
var APIBase = require("../../api.base");
var system = require("../../../system");
var settings = require("../../../../config/settings");
class ActionAPI extends APIBase {
constructor() {
super();
this.iborderSve = system.getObject("service.order.iborderSve");
this.iborderdeliverSve = system.getObject("service.order.iborderdeliverSve");
this.businessmenSve = system.getObject("service.business.businessmenSve");
this.businessmencontractSve = system.getObject("service.business.businessmencontractSve");
}
/**
* 接口跳转
* action_process 执行的流程
* action_type 执行的类型
* action_body 执行的参数
*/
async springboard(pobj, qobj, req) {
var result;
if (!pobj.action_process) {
return system.getResult(null, "action_process参数不能为空");
}
if (!pobj.action_type) {
return system.getResult(null, "action_type参数不能为空");
}
console.log(pobj.action_process, pobj.action_type, pobj.action_body, "---------------- this is order micro sve --------------------");
try {
result = await this.handleRequest(pobj.action_process, pobj.action_type, pobj.action_body);
} catch (error) {
console.log(error);
}
return result;
}
async handleRequest(action_process, action_type, action_body) {
var opResult = null;
switch (action_type) {
// 订单
case "addOrder":
opResult = await this.iborderSve.apiAdd(action_body);
break;
case "updOrder":
opResult = await this.iborderSve.apiUpd(action_body);
break;
case "allOrderList":
opResult = await this.iborderSve.apiAllList(action_body);
break;
case "orderInfo":
opResult = await this.iborderSve.apiInfo(action_body);
break;
case "orderInfoAll":
opResult = await this.iborderSve.apiAllInfo(action_body);
break;
case "byChannelOrderId":
opResult = await this.iborderSve.apiByChannelOrderId(action_body);
break;
case "orderEdit":
opResult = await this.iborderSve.apiEdit(action_body);
break;
case "orderAssign":
opResult = await this.iborderSve.apiAssign(action_body);
break;
case "myOrderPage":
opResult = await this.iborderSve.apiMyPage(action_body);
break;
case "orderPay":
opResult = await this.iborderSve.apiOrderPay(action_body);
break;
case "orderClose":
opResult = await this.iborderSve.apiOrderClose(action_body);
break;
case "closeOrderById":
opResult = await this.iborderSve.apiCloseById(action_body);
break;
case "orderComplete":
opResult = await this.iborderSve.apiComplete(action_body);
break;
case "orderByDeliverId":
opResult = await this.iborderSve.apiByDeliverId(action_body);
break;
// 订单办理
case "orderDeliverList":
opResult = await this.iborderdeliverSve.apiPage(action_body);
break;
case "orderDeliverHandle":
opResult = await this.iborderdeliverSve.apiHandle(action_body);
break;
case "orderDeliverInfo":
opResult = await this.iborderdeliverSve.apiInfo(action_body);
break;
case "orderDeliverEdit":
opResult = await this.iborderdeliverSve.apiEdit(action_body);
break;
case "orderDeliverAudit":
opResult = await this.iborderdeliverSve.apiAudit(action_body);
break;
case "orderDeliverClose":
opResult = await this.iborderdeliverSve.apiClose(action_body);
break;
// 个体户管理
case "businessmenByOrderId":
opResult = await this.businessmenSve.apiByOrderId(action_body);
break;
case "businessmenByChannelOrderNo":
opResult = await this.businessmenSve.apiByChannelOrderNo(action_body);
break;
case "businessmenNameList":
opResult = await this.businessmenSve.apiNameList(action_body);
break;
case "businessmenPage":
opResult = await this.businessmenSve.apiPage(action_body);
break;
case "businessmenInfo":
opResult = await this.businessmenSve.apiInfo(action_body);
break;
case "businessmenSign":
opResult = await this.businessmenSve.apiSign(action_body);
break;
case "businessmenSignPage":
opResult = await this.businessmenSve.apiSignPage(action_body);
break;
case "businessmenInfoPage":
opResult = await this.businessmenSve.apiInfoPage(action_body);
break;
case "businessmenUserPage":
opResult = await this.businessmenSve.apiUserPage(action_body);
break;
case "businessmenDeliverPage":
opResult = await this.businessmenSve.apiDeliverPage(action_body);
break;
case "addBusinessmenContract":
opResult = await this.businessmenSve.apiAddContract(action_body);
break;
case "businessmenCompleteMapByCreditCodes":
opResult = await this.businessmenSve.apiCompleteMapByCreditCodes(action_body);
break;
// 统计数据
case "statTransData":
opResult = await this.iborderSve.apiStatTransData(action_body);
break;
case "statBusinessData":
opResult = await this.iborderSve.apiStatBusinessData(action_body);
break;
case "statDeliverData":
opResult = await this.iborderdeliverSve.apiStatDeliverData(action_body);
break;
default:
opResult = system.getResult(null, "action_type参数错误");
break;
}
return opResult;
}
exam() {
return `<pre><pre/>`;
}
classDesc() {
return {
groupName: "op",
groupDesc: "元数据服务包",
name: "ActionAPI",
desc: "此类是对外提供接口服务",
exam: "",
};
}
methodDescs() {
return [{
methodDesc: `<pre><pre/>`,
methodName: "springboard",
paramdescs: [{
paramDesc: "请求的行为,传递如:sjb",
paramName: "action_process",
paramType: "string",
defaultValue: null,
},
{
paramDesc: "业务操作类型,详情见方法中的描述",
paramName: "action_type",
paramType: "string",
defaultValue: null,
},
{
paramDesc: "业务操作类型的参数,action_body必须传递的参数有,times_tamp(时间戳,类型int)、sign(签名,类型string),其余的为业务需要的参数",
paramName: "action_body",
paramType: "json",
defaultValue: null,
}
],
rtnTypeDesc: `<pre><pre/>`,
rtnType: `<pre><pre/>`
}];
}
}
module.exports = ActionAPI;
\ No newline at end of file
const system = require("../../../system");
const Dao = require("../../dao.base");
class BusinessmenDao extends Dao {
constructor() {
super(Dao.getModelName(BusinessmenDao));
this.bstatusMap = {
"2000": "办理中",
"2010": "待签约",
"2020": "已完成",
}
this.gstatusMap = {
"2000": "办理中",
"2020": "已完成",
}
this.dstatusMap = {
"2000": "办理中",
"2020": "已完成",
}
}
async nameList(bstatuses) {
var sql = "SELECT id, name FROM " + this.model.tableName + " WHERE 1 = 1 ";
var params = {};
if (bstatuses && bstatuses.length > 0) {
sql = sql + " AND bstatus IN (:bstatuses) ";
params.bstatuses = bstatuses;
}
return this.customQuery(sql, params);
}
async getByOrderId(orderId, attrs) {
if (!orderId) {
return null;
}
attrs = attrs || "*";
var sql = "SELECT " + attrs + " FROM " + this.model.tableName + " where order_id = :orderId ";
var list = await this.customQuery(sql, {
orderId: orderId
});
return list && list.length > 0 ? list[0] : null;
}
async getByChannelOrderNo(merchantId, channelOrderNo, attrs) {
if (!merchantId || !channelOrderNo) {
return null;
}
var params = {
merchantId: merchantId,
channelOrderNo: channelOrderNo,
}
attrs = attrs || "*";
var sql = "SELECT " + attrs + " FROM " + this.model.tableName + " where merchant_id = :merchantId AND channelOrderNo = :channelOrderNo LIMIT 1";
var list = await this.customQuery(sql, params);
return list && list.length > 0 ? list[0] : null;
}
async getByCreditCodes(params, attrs) {
var creditCodes = params.creditCodes;
var statuses = params.statuses;
var result = {};
if (!creditCodes || creditCodes.length == 0) {
return result;
}
attrs = attrs || "*";
var sql = "SELECT " + attrs + " FROM " + this.model.tableName + " where creditCode IN (:creditCodes) ";
if (statuses && statuses.length > 0) {
sql = sql + " AND bstatus IN (:statuses) "
}
return await this.customQuery(sql, params);
}
async getMapByCreditCodes(params, attrs) {
var result = {};
var list = this.getByCreditCodes(params, attrs);
if (!list) {
return result;
}
for (var item of list) {
result[item.creditCode] = item;
}
return result;
}
}
module.exports = BusinessmenDao;
\ No newline at end of file
const system=require("../../../system");
const Dao=require("../../dao.base");
class BusinessmencontractDao extends Dao{
constructor(){
super(Dao.getModelName(BusinessmencontractDao));
}
}
module.exports=BusinessmencontractDao;
const system=require("../../../system");
const Dao=require("../../dao.base");
class BusinessmeninvoicecontentDao extends Dao{
constructor(){
super(Dao.getModelName(BusinessmeninvoicecontentDao));
}
async delByBusinessmenId(businessmenId, t) {
var sql = "DELETE FROM " + this.model.tableName + " WHERE businessmen_id = :businessmenId";
var list = await this.customUpdate(sql, {
businessmenId: businessmenId
}, t) || [null];
return list[0];
}
async mapByBusinessmenIds(businessmenIds, attrs) {
var result = {};
if (!businessmenIds || businessmenIds.length == 0) {
return result;
}
attrs = attrs || "*";
var sql = "SELECT businessmen_id, invoicecontent_id, invoicecontentName FROM " + this.model.tableName + " where businessmen_id IN (:businessmenIds) ";
var list = await this.customQuery(sql, {
businessmenIds: businessmenIds
});
if(!list) {
return result;
}
for(var item of list) {
var lst = result[item.businessmen_id];
if(!lst) {
lst = [];
}
lst.push(item);
result[item.businessmen_id] = lst;
}
return result;
}
}
module.exports=BusinessmeninvoicecontentDao;
const system = require("../../../system");
const Dao = require("../../dao.base");
class IborderdeliverDao extends Dao {
constructor() {
super(Dao.getModelName(IborderdeliverDao));
this.statusMap = {
"1030": "待处理",
"1040": "关闭订单",
"1050": "执照办理中",
"1060": "已出执照",
"1070": "刻章办理中",
"1080": "已刻章",
"1090": "银行开户中",
"1100": "银行卡已开户",
"1110": "税务报道中",
"1120": "已税务报道",
"1130": "待审核",
"1140": "审核失败",
"1150": "审核通过",
"1160": "已邮寄",
};
}
async findAssignedOrder(orderId) {
var sql = "SELECT * FROM `ib_order_deliver` WHERE order_id = :orderId AND `status` <> '1040' LIMIT 1";
var list = await this.customQuery(sql, {
orderId: orderId
});
return list && list.length > 0 ? list[0] : null;
}
async findMapByOrderIds(orderIds) {
var result = {};
var sql = "SELECT * FROM `ib_order_deliver` WHERE order_id IN (:orderIds) AND `status` <> '1040' LIMIT 1";
var list = await this.customQuery(sql, {
orderIds: orderIds
});
if (!list || list.length == 0) {
return result;
}
for (var item of list) {
await this.setRowCodeName(item, "status");
result[item.order_id] = item;
}
return result;
}
async findMapByOrderIds(orderIds) {
var result = {};
var sql = "SELECT * FROM `ib_order_deliver` WHERE order_id IN (:orderIds) AND `status` <> '9000'";
var list = await this.customQuery(sql, {
orderIds: orderIds
});
if (!list || list.length == 0) {
return result;
}
for (var item of list) {
await this.setRowCodeName(item, "status");
result[item.order_id] = item;
}
return result;
}
async findMapByIds(ids) {
var result = {};
var sql = "SELECT * FROM `ib_order_deliver` WHERE id IN (:ids)";
var list = await this.customQuery(sql, {
ids: ids
});
if (!list || list.length == 0) {
return result;
}
for (var item of list) {
await this.setRowCodeName(item, "status");
result[item.id] = item;
}
return result;
}
async countStat(params) {
var sql = [];
sql.push("SELECT");
sql.push("COUNT(DISTINCT deliver_id) AS total");
sql.push("FROM `ib_order_deliver`");
sql.push("WHERE 1 = 1");
this.setCondition(params, sql);
var list = await this.customQuery(sql.join(" "), params);
return list && list.length > 0 ? (list[0].total || 0) : 0;
}
async queryStat(params, startRow, pageSize) {
var sql = [];
// SELECT deliver_id, deliverName, SUM(deliverDivide) AS servicePrice FROM `ib_order_deliver` GROUP BY deliver_id;
sql.push("SELECT");
sql.push("deliver_id, deliverName, SUM(deliverDivide) AS servicePrice");
sql.push("FROM `ib_order_deliver` ");
sql.push("WHERE 1 = 1");
this.setCondition(params, sql);
sql.push("GROUP BY deliver_id");
sql.push("LIMIT :startRow, :pageSize");
params.startRow = startRow;
params.pageSize = pageSize;
var list = await this.customQuery(sql.join(" "), params);
return list;
}
async statDeliverByStatus(params) {
var sql = [];
sql.push("SELECT");
sql.push("deliver_id, `status`, COUNT(1) AS orderCount");
sql.push("FROM `ib_order_deliver`");
sql.push("WHERE 1 = 1");
if(params.deliverIds) {
sql.push("AND deliver_id IN (:deliverIds)")
}
if (params.begin) {
sql.push("AND created_at >= :begin");
}
if (params.end) {
sql.push("AND created_at <= :end");
}
sql.push("GROUP BY `status`");
var result = {};
var list = await this.customQuery(sql.join(" "), params);
if (!list || list.length == 0) {
return result;
}
for (var item of list) {
result[item.deliver_id + "_" + item.status] = item.orderCount || 0;
}
return result;
}
setCondition(params, sql) {
if (params.begin) {
sql.push("AND created_at >= :begin");
}
if (params.end) {
sql.push("AND created_at <= :end");
}
}
}
module.exports = IborderdeliverDao;
\ No newline at end of file
const system = require("../../../system");
const settings = require("../../../../config/settings");
module.exports = (db, DataTypes) => {
return db.define("businessmen", {
order_id: DataTypes.STRING(32),
merchant_id: DataTypes.STRING(32),
channelOrderNo: DataTypes.STRING(64),
// 业务状态: 2000办理中, 2010待签约, 2020已完成
bstatus: DataTypes.STRING(10),
// 客户状态: 2000办理中, 2020已完成
gstatus: DataTypes.STRING(10),
// 客户状态: 2000办理中, 2020已完成
dstatus: DataTypes.STRING(10),
legalName: DataTypes.STRING(20),
legalMobile: DataTypes.STRING(20),
legalIdcard: DataTypes.STRING(30),
name: DataTypes.STRING(100),
creditCode: DataTypes.STRING(100),
businessPlace: DataTypes.STRING(100),
businessScope: DataTypes.STRING(500),
regDate: DataTypes.DATE,
businessImg: DataTypes.STRING(300),
gongzhang: DataTypes.STRING(300),
caiwuzhang: DataTypes.STRING(300),
fapiaozhang: DataTypes.STRING(300),
hetongzhang: DataTypes.STRING(300),
farenzhang: DataTypes.STRING(300),
isBank: {
type: DataTypes.BOOLEAN,
defaultValue: false
},
bankName: DataTypes.STRING(50),
bankNo: DataTypes.STRING(30),
bank: DataTypes.STRING(100),
bankImg: DataTypes.STRING(300),
caImg: DataTypes.STRING(300),
taxRegDay: DataTypes.DATE,
taxOrg: DataTypes.STRING(100),
courierNo: DataTypes.STRING(100),
courierImg: DataTypes.STRING(100),
contractStartData: DataTypes.DATE,
contractEndData: DataTypes.DATE,
contract: DataTypes.STRING(300), //个体户合同
notes: DataTypes.STRING, //备注
opNotes: DataTypes.STRING, //操作备注
// 个体户签约相关字段
taxUpType: DataTypes.STRING,
addValueUpType: DataTypes.STRING,
costRate: DataTypes.INTEGER,
taxRate: DataTypes.INTEGER,
serviceRate: DataTypes.INTEGER,
signNotes: DataTypes.STRING,
commonTaxLadder: DataTypes.STRING(1000),
commonOtherLadder: DataTypes.STRING(1000),
specialTaxLadder: DataTypes.STRING(1000),
specialOtherLadder: DataTypes.STRING(1000),
signTime: DataTypes.DATE,
bdId: DataTypes.STRING,
bdPath: DataTypes.STRING,
userId: DataTypes.STRING,
}, {
paranoid: true, //假的删除
underscored: true,
version: true,
freezeTableName: true,
//freezeTableName: true,
// define the table's name
tableName: 'ib_businessmen',
validate: {},
indexes: [
// Create a unique index on email
// {
// unique: true,
// fields: ['email']
// },
//
// // Creates a gin index on data with the jsonb_path_ops operator
// {
// fields: ['data'],
// using: 'gin',
// operator: 'jsonb_path_ops'
// },
//
// // By default index name will be [table]_[fields]
// // Creates a multi column partial index
// {
// name: 'public_by_author',
// fields: ['author', 'status'],
// where: {
// status: 'public'
// }
// },
//
// // A BTREE index with a ordered field
// {
// name: 'title_index',
// method: 'BTREE',
// fields: ['author', {attribute: 'title', collate: 'en_US', order: 'DESC', length: 5}]
// }
]
});
}
\ No newline at end of file
const system = require("../../../system");
const settings = require("../../../../config/settings");
module.exports = (db, DataTypes) => {
return db.define("businessmencontract", {
businessmen_id: DataTypes.STRING(32),
merchant_id: DataTypes.STRING(32),
contractStartData: DataTypes.DATE,
contractEndData: DataTypes.DATE,
contract: DataTypes.STRING(300),//个体户合同
}, {
paranoid: true, //假的删除
underscored: true,
version: true,
freezeTableName: true,
//freezeTableName: true,
// define the table's name
tableName: 'ib_businessmen_contract',
validate: {},
indexes: [
// Create a unique index on email
// {
// unique: true,
// fields: ['email']
// },
//
// // Creates a gin index on data with the jsonb_path_ops operator
// {
// fields: ['data'],
// using: 'gin',
// operator: 'jsonb_path_ops'
// },
//
// // By default index name will be [table]_[fields]
// // Creates a multi column partial index
// {
// name: 'public_by_author',
// fields: ['author', 'status'],
// where: {
// status: 'public'
// }
// },
//
// // A BTREE index with a ordered field
// {
// name: 'title_index',
// method: 'BTREE',
// fields: ['author', {attribute: 'title', collate: 'en_US', order: 'DESC', length: 5}]
// }
]
});
}
\ No newline at end of file
const system = require("../../../system");
const settings = require("../../../../config/settings");
module.exports = (db, DataTypes) => {
return db.define("businessmeninvoicecontent", {
businessmen_id: DataTypes.STRING(32),
invoicecontent_id: DataTypes.STRING(32),
invoicecontentName: DataTypes.STRING(32),
}, {
paranoid: true, //假的删除
underscored: true,
version: true,
freezeTableName: true,
//freezeTableName: true,
// define the table's name
tableName: 'ib_businessmen_invoicecontent',
validate: {},
indexes: [
// Create a unique index on email
// {
// unique: true,
// fields: ['email']
// },
//
// // Creates a gin index on data with the jsonb_path_ops operator
// {
// fields: ['data'],
// using: 'gin',
// operator: 'jsonb_path_ops'
// },
//
// // By default index name will be [table]_[fields]
// // Creates a multi column partial index
// {
// name: 'public_by_author',
// fields: ['author', 'status'],
// where: {
// status: 'public'
// }
// },
//
// // A BTREE index with a ordered field
// {
// name: 'title_index',
// method: 'BTREE',
// fields: ['author', {attribute: 'title', collate: 'en_US', order: 'DESC', length: 5}]
// }
]
});
}
\ No newline at end of file
const system = require("../../../system");
const settings = require("../../../../config/settings");
const uiconfig = system.getUiConfig2(settings.appKey);
module.exports = (db, DataTypes) => {
return db.define("iborderdeliver", {
order_id: DataTypes.STRING(32),
// 办理状态 1030待处理, 1040关闭订单, 1050执照办理中, 1060已出执照, 1070刻章办理中,
// 1080已刻章, 1090银行开户中, 1100银行卡已开户, 1110税务报道中, 1120已税务报道,
// 1130提交审核, 1140审核失败, 1150审核通过, 1160已邮寄
status: DataTypes.STRING(10),
deliver_id: DataTypes.STRING(32),
deliverName: DataTypes.STRING(50),
deliverDivide: DataTypes.BIGINT,
auditRemark: DataTypes.STRING,
content: DataTypes.STRING,
addressee: DataTypes.STRING,
mobile: DataTypes.STRING,
addr: DataTypes.STRING,
auditUser: DataTypes.STRING,
auditResult: DataTypes.STRING,
breakReason: DataTypes.STRING(300),
}, {
paranoid: true, //假的删除
underscored: true,
version: true,
freezeTableName: true,
//freezeTableName: true,
// define the table's name
tableName: 'ib_order_deliver',
validate: {},
indexes: [
// Create a unique index on email
// {
// unique: true,
// fields: ['email']
// },
//
// // Creates a gin index on data with the jsonb_path_ops operator
// {
// fields: ['data'],
// using: 'gin',
// operator: 'jsonb_path_ops'
// },
//
// // By default index name will be [table]_[fields]
// // Creates a multi column partial index
// {
// name: 'public_by_author',
// fields: ['author', 'status'],
// where: {
// status: 'public'
// }
// },
//
// // A BTREE index with a ordered field
// {
// name: 'title_index',
// method: 'BTREE',
// fields: ['author', {attribute: 'title', collate: 'en_US', order: 'DESC', length: 5}]
// }
]
});
}
\ No newline at end of file
const system = require("../../../system");
const ServiceBase = require("../../sve.base")
const settings = require("../../../../config/settings")
class BusinessmenService extends ServiceBase {
constructor() {
super("business", ServiceBase.getDaoName(BusinessmenService));
this.businessmeninvoicecontentDao = system.getObject("db.business.businessmeninvoicecontentDao");
}
async api(params) {
try {
return await this.saveSign(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiNameList(params) {
try {
return await this.nameList(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiInfoPage(params) {
try {
return await this.infoPage(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiSignPage(params) {
try {
return await this.signPage(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiPage(params) {
try {
return await this.page(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiInfo(params) {
try {
return await this.info(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiSign(params) {
try {
return await this.sign(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiUserPage(params) {
try {
return await this.userPage(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiDeliverPage(params) {
try {
return await this.deliverPage(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiByOrderId(params) {
try {
return await this.byOrderId(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiByChannelOrderNo(params) {
try {
return await this.byChannelOrderNo(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiCompleteMapByCreditCodes(params) {
try {
return await this.getCompleteMapByCreditCodes(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiAddContract(params) {
try {
return await this.addContract(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
// -----------------------以此间隔,上面为API,下面为service---------------------------------
async method(params) {
return system.getResultSuccess();
}
async addContract(params) {
var merchantId = params.merchant_id || params.merchantId;
var channelOrderNo = this.trim(params.channelOrderNo);
var businessmen = await this.dao.findOne({
merchant_id: merchantId,
channelOrderNo: channelOrderNo,
});
if (!businessmen) {
return system.getResult(null, "个体户不存在");
}
businessmen.contract = this.trim(params.contract);
businessmen.contractStartData = params.contractStartData;
businessmen.contractEndData = params.contractEndData;
await businessmen.save();
return system.getResultSuccess();
}
async byOrderId(params) {
var businessmen = await this.dao.getByOrderId(param.orderId);
if (businessmen) {
await this.dao.setRowCodeName(businessmen, "bstatus");
await this.dao.setRowCodeName(businessmen, "gstatus");
await this.dao.setRowCodeName(businessmen, "dstatus");
this.handleDate(businessmen, ["created_at", "updated_at", "signTime"], "YYYY-MM-DD HH:mm:ss", -8);
this.handleDate(businessmen, ["regDate", "taxRegDay", "contractEndData", "contractStartData"], "YYYY-MM-DD", -8);
}
return system.getResultSuccess(businessmen);
}
async byChannelOrderNo(params) {
var businessmen = await this.dao.getByChannelOrderNo(params.merchantId, params.channelOrderNo);
if (businessmen) {
await this.dao.setRowCodeName(businessmen, "bstatus");
await this.dao.setRowCodeName(businessmen, "gstatus");
await this.dao.setRowCodeName(businessmen, "dstatus");
this.handleDate(businessmen, ["created_at", "updated_at", "signTime"], "YYYY-MM-DD HH:mm:ss", -8);
this.handleDate(businessmen, ["regDate", "taxRegDay", "contractEndData", "contractStartData"], "YYYY-MM-DD", -8);
}
return system.getResultSuccess(businessmen);
}
async nameList(params) {
var list = await this.dao.nameList(params.bstatuses);
return system.getResultSuccess(list);
}
async page(params) {
var currentPage = Number(params.currentPage || 1);
var pageSize = Number(params.pageSize || 10);
var orderId = this.trim(params.orderId);
var bstatus = this.trim(params.bstatus);
var merchantId = this.trim(params.merchantId);
var where = {};
var orderby = [
["id", 'desc']
];
if (params.businessmenId) {
where.id = params.businessmenId;
}
if (merchantId) {
where.merchant_id = merchantId;
}
if (orderId) {
where.order_id = orderId;
}
if (bstatus) {
where.bstatus = bstatus;
}
this.addWhereTime(where, 'created_at', params.createdBegin, params.createdEnd);
var page = await this.getPageList(currentPage, pageSize, where, orderby);
if (page && page.rows) {
for (var row of page.rows) {
await this.dao.setRowCodeName(row, "bstatus");
await this.dao.setRowCodeName(row, "gstatus");
await this.dao.setRowCodeName(row, "dstatus");
this.handleDate(row, ["created_at", "updated_at", "signTime"], null, -8);
this.handleDate(row, ["regDate", "taxRegDay"], "YYYY-MM-DD", -8);
}
// 设置开票内容
await this.setInvoiceContent(page.rows);
}
return system.getResultSuccess(page);
}
async signPage(params) {
var currentPage = Number(params.currentPage || 1);
var pageSize = Number(params.pageSize || 10);
var orderId = this.trim(params.orderId);
var status = this.trim(params.status);
var merchantId = this.trim(params.merchantId);
var where = {};
var orderby = [
["id", 'desc']
];
if (params.businessmenId) {
where.id = params.businessmenId;
}
where.bstatus = "2020";
this.addWhereTime(where, 'created_at', params.createdBegin, params.createdEnd);
var page = await this.getPageList(currentPage, pageSize, where, orderby);
if (page && page.rows) {
for (var row of page.rows) {
this.handleDate(row, ["created_at", "updated_at", "signTime"], null, -8);
this.handleDate(row, ["regDate", "taxRegDay"], "YYYY-MM-DD", -8);
}
await this.setInvoiceContent(page.rows);
}
return system.getResultSuccess(page);
}
async getCompleteMapByCreditCodes(params) {
var result = {};
var attrs = "id, creditCode, name, isBank, taxOrg, taxUpType, addValueUpType, costRate, " +
"taxRate, serviceRate,commonTaxLadder,commonOtherLadder,specialTaxLadder,specialOtherLadder";
var condition = {
creditCodes: params.creditCodes,
statuses: ["2020"],
}
var list = await this.dao.getByCreditCodes(condition, attrs);
if (!list || list.length == 0) {
return result;
}
var ids = [];
for (var item of list) {
ids.push(item.id);
}
var icmap = await this.businessmeninvoicecontentDao.mapByBusinessmenIds(ids);
for (var item of list) {
item.invoicecontents = icmap[item.id] || [];
result[item.creditCode] = item;
}
return system.getResultSuccess(result);
}
async infoPage(params) {
var currentPage = Number(params.currentPage || 1);
var pageSize = Number(params.pageSize || 10);
var merchantId = this.trim(params.merchantId);
var orderId = this.trim(params.orderId);
var status = this.trim(params.status);
// TODO 有可能根据这个鸡巴玩意进行查询
var deliverId = this.trim(params.deliverId);
var where = {};
var orderby = [
["id", 'desc']
];
if (params.businessmenId) {
where.id = params.businessmenId;
}
if (merchantId) {
where.merchant_id = merchantId;
}
if (orderId) {
where.order_id = orderId;
}
if (status) {
where.status = status;
}
var attrs = ["id", "order_id", "legalName", "creditCode", "status"];
this.addWhereTime(where, 'created_at', params.createdBegin, params.createdEnd);
var page = await this.getPageList(currentPage, pageSize, where, orderby, attrs);
if (page && page.rows) {
for (var row of page.rows) {
await this.dao.setRowCodeName(row, "status");
}
}
return system.getResultSuccess(page);
}
async userPage(params) {
var currentPage = Number(params.currentPage || 1);
var pageSize = Number(params.pageSize || 10);
var userId = this.trim(params.userId);
var orderId = this.trim(params.orderId);
var gstatuses = params.gstatuses;
var where = {};
if (userId) {
where.userId = userId;
}
if (orderId) {
where.order_id = orderId;
}
if (gstatuses && gstatuses.length > 0) {
where.gstatus = {
[this.db.Op.in]: gstatuses
}
}
var orderby = [
["id", 'desc']
];
this.addWhereTime(where, 'created_at', params.createdBegin, params.createdEnd);
var page = await this.getPageList(currentPage, pageSize, where, orderby);
if (page && page.rows) {
for (var row of page.rows) {
await this.dao.setRowCodeName(row, "bstatus");
await this.dao.setRowCodeName(row, "gstatus");
await this.dao.setRowCodeName(row, "dstatus");
this.handleDate(row, ["created_at", "updated_at"], null, -8);
this.handleDate(row, ["regDate", "taxRegDay"], "YYYY-MM-DD", -8);
}
}
return system.getResultSuccess(page);
}
async deliverPage(params) {
var currentPage = Number(params.currentPage || 1);
var pageSize = Number(params.pageSize || 10);
var deliverId = this.trim(params.deliverId);
var orderId = this.trim(params.orderId);
var dstatus = params.dstatus;
var where = {};
if (deliverId) {
// TODO 查询个体户下所有订单id
}
if (orderId) {
where.order_id = orderId;
}
if (dstatus) {
where.dstatus = dstatus
}
var orderby = [
["id", 'desc']
];
this.addWhereTime(where, 'created_at', params.createdBegin, params.createdEnd);
var page = await this.getPageList(currentPage, pageSize, where, orderby);
if (page && page.rows) {
for (var row of page.rows) {
await this.dao.setRowCodeName(row, "dstatus");
this.handleDate(row, ["created_at", "updated_at"], null, -8);
this.handleDate(row, ["regDate", "taxRegDay"], "YYYY-MM-DD", -8);
}
}
return system.getResultSuccess(page);
}
async info(params) {
var info = await this.dao.getById(params.id);
await this.dao.setRowCodeName(info, "bstatus");
await this.dao.setRowCodeName(info, "gstatus");
await this.dao.setRowCodeName(info, "dstatus");
this.handleDate(info, ["created_at", "updated_at"], null, -8);
this.handleDate(info, ["regDate", "taxRegDay"], "YYYY-MM-DD", -8);
await this.setInvoiceContent([info]);
return system.getResultSuccess(info);
}
async sign(params) {
var bm = await this.dao.findById(params.id);
if (!bm) {
return system.getResult(null, "个体户不存在");
}
if (bm.bstatus != "2010" && bm.bstatus != "2020") {
return system.getResult(null, "个体户状态错误,不允许进行签约");
}
bm.bstatus = "2020";
bm.gstatus = "2020";
bm.taxUpType = params.taxUpType || "1";
bm.addValueUpType = params.addValueUpType || "1";
bm.costRate = params.costRate;
bm.taxRate = params.taxRate;
bm.serviceRate = params.serviceRate;
bm.signNotes = this.trim(params.signNotes);
bm.commonTaxLadder = params.commonTaxLadder || "";
bm.commonOtherLadder = params.commonOtherLadder || "";
bm.specialTaxLadder = params.specialTaxLadder || "";
bm.specialOtherLadder = params.specialOtherLadder || "";
bm.signTime = new Date();
await bm.save();
var iclist = params.invoicecontents || [];
await this.businessmeninvoicecontentDao.delByBusinessmenId(bm.id);
var icobjs = [];
for(var ic of iclist) {
if(!ic) {
continue;
}
delete ic.id;
ic.businessmen_id = bm.id;
icobjs.push(ic);
}
if(icobjs.length > 0) {
await this.businessmeninvoicecontentDao.bulkCreate(icobjs);
}
return system.getResultSuccess();
}
async setInvoiceContent(rows) {
if (!rows || rows.length == 0) {
return;
}
var ids = [];
for (var row of rows) {
ids.push(row.id);
}
var icmap = await this.businessmeninvoicecontentDao.mapByBusinessmenIds(ids);
for (var row of rows) {
ids.push(row.id);
row.invoicecontents = icmap[row.id] || [];
}
}
}
module.exports = BusinessmenService;
// var task=new UserService();
// task.getUserStatisticGroupByApp().then(function(result){
// console.log((result));
// }).catch(function(e){
// console.log(e);
// });
\ No newline at end of file
const system = require("../../../system");
const ServiceBase = require("../../sve.base")
const settings = require("../../../../config/settings")
const moment = require("moment");
class IborderService extends ServiceBase {
constructor() {
super("order", ServiceBase.getDaoName(IborderService));
this.iborderdeliverDao = system.getObject("db.order.iborderdeliverDao");
this.microsveClient = system.getObject("util.microsve.microsveClient");
this.businessmenDao = system.getObject("db.business.businessmenDao");
}
async api(params) {
try {
return await this.saveSign(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiAllList(params) {
try {
return await this.allList(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiAdd(params) {
try {
return await this.add(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiUpd(params) {
try {
return await this.upd(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiInfo(params) {
try {
return await this.info(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiAllInfo(params) {
try {
return await this.infoAll(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiAssign(params) {
try {
return await this.assign(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiEdit(params) {
try {
return await this.edit(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiMyPage(params) {
try {
return await this.myPage(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiOrderPay(params) {
try {
return await this.orderPay(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiByChannelOrderId(params) {
try {
return await this.byChannelOrderId(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiOrderClose(params) {
try {
return await this.orderClose(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiCloseById(params) {
try {
return await this.closeById(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiComplete(params) {
try {
return await this.complete(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiByDeliverId(params) {
try {
return await this.byDeliverId(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiStatTransData(params) {
try {
return await this.statTransData(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiStatBusinessData(params) {
try {
return await this.statBusinessData(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
// -----------------------以此间隔,上面为API,下面为service---------------------------------
async statTransData(params) {
var result = {
orderCount: 0,
orderPrice: 0,
};
var type = Number(params.type || 1);
var begin, end;
// 取开始时间
if (type == 1) {
begin = moment().format("YYYY-MM") + "-01 00:00:00";
} else if (type == 2) {
begin = moment().subtract(1, "months").format("YYYY-MM") + "-01 00:00:00";
}
// echart数据
var days = [];
var dayCounts = [];
var priceCounts = [];
// 处理查询业务
if (type == 1 || type == 2) { // 取结束时间
end = moment(begin).add(1, "months").subtract(1, 'days').format("YYYY-MM-DD") + " 23:59:59";
days = this.getDays(end);
// 按天统计
var dayMap = await this.dao.statDayByTime(begin, end);
//days = this.getDays(end);
for (var day of days) {
var ditem = dayMap[day] || {};
dayCounts.push(ditem.orderCount || 0);
priceCounts.push(system.f2y(ditem.orderPrice || 0));
}
} else {
var monthMap = await this.dao.statMonthByTime(begin, end);
var bm = monthMap.begin || "";
var em = monthMap.end || "";
if (bm && em) {
// 开始月份-结束月份所有月份
var curMonth = bm;
while (true) {
days.push(curMonth);
if (curMonth == em) {
break;
}
curMonth = moment(curMonth + "-01").add(1, "month").format("YYYY-MM");
}
}
for (var day of days) {
var ditem = monthMap[day] || {};
dayCounts.push(ditem.orderCount || 0);
priceCounts.push(system.f2y(ditem.orderPrice || 0));
}
}
var orderData = await this.dao.statOrderByTime(begin, end) || {};
result.orderCount = orderData.orderCount;
result.orderPrice = system.f2y(orderData.orderPrice);
result.days = days;
result.dayCounts = dayCounts;
result.priceCounts = priceCounts;
return system.getResultSuccess(result);
}
getDays(end) {
var days = [];
var month = moment(end).format("YYYY-MM");
var endDay = Number(moment(end).format("DD"));
for (var i = 1; i <= endDay; i++) {
if (i < 10) {
days.push(month + "-0" + i);
} else {
days.push(month + "-" + i);
}
}
return days;
}
async statBusinessData(params) {
var result = {};
var type = Number(params.type || 1);
// 查 已完成订单,待分配订单,待审核订单,办理中订单
var begin, end;
// 取开始时间
if (type == 1) {
begin = moment().format("YYYY-MM") + "-01 00:00:00";
end = moment(begin).add(1, "months").subtract(1, 'days').format("YYYY-MM-DD") + " 23:59:59";
} else if (type == 2) {
begin = moment().subtract(1, "months").format("YYYY-MM") + "-01 00:00:00";
end = moment(begin).add(1, "months").subtract(1, 'days').format("YYYY-MM-DD") + " 23:59:59";
}
// 先按照订单状态查他妈的
var statMap = await this.dao.statByStatus(begin, end);
// 所有状态
// "1000": "未付款", "1010": "订单关闭", "1020": "待分配", "1030": "待处理", "1040": "交付商关闭",
// "1050": "执照办理中", "1060": "已出执照", "1070": "刻章办理中", "1080": "已刻章", "1090": "银行开户中",
// "1100": "银行卡已开户", "1110": "税务报道中", "1120": "已税务报道", "1130": "待审核", "1140": "审核失败",
// "1150": "审核通过", "1160": "已邮寄", "1170": "已完成",
//
// 已完成 1100
result.completeCount = this.addStatCount(statMap, ['1100']);
// 待分配
result.toApplyCount = this.addStatCount(statMap, ['1020']);
// 待审核 1130 1140
result.toAuditCount = this.addStatCount(statMap, ['1130']);
// 办理中 1030, 1050, 1060, 1070, 1080, 1090, 1100, 1110, 1120, 1130, 1140, 1150, 1160
result.handlingCount = this.addStatCount(statMap, ["1030", "1050", "1060", "1070", "1080", "1090", "1100", "1110", "1120", "1130", "1140", "1150", "1160"]);
return system.getResultSuccess(result);
}
addStatCount(statusMap, statuses) {
var count = 0;
if(!statuses) {
return count;
}
for(var status of statuses) {
count = count + Number(statusMap[status] || 0);
}
return count;
}
async byDeliverId(params) {
var od = await this.dao.findOne({
orderDeliverId: params.orderDeliverId
});
return system.getResultSuccess(od);
}
async orderPay(params) {
var order = await this.findById(params.id);
if (!order) {
return system.getResult(null, "订单不存在");
}
var busiStatus = await this.orderBusinessStatus.findOrderBusinessStatus(order.status);
if (busiStatus.next != "1020") {
return system.getResult(null, "当前订单不允许支付");
}
var nextBusi = await this.orderBusinessStatus.findOrderBusinessStatus(busiStatus.next);
order.status = nextBusi.status;
order.ostatus = nextBusi.ostatus;
await order.save();
return system.getResultSuccess();
}
async add(params) {
var order = {};
order.price = Number(params.price || 300000);
order.status = "1000";
var merchantId = params.merchantId || params.merchant_id;
if (merchantId) {
var exists = await this.dao.findOne({
merchant_id: this.trim(merchantId),
channelOrderNo: this.trim(params.channelOrderNo),
});
if (exists) {
return system.getResult(null, "订单号【" + params.channelOrderNo + "】重复");
}
var merchantData = await this.microsveClient.call("merchant", "getById", {
"id": merchantId
});
if (merchantData.status != 0) {
return merchantData;
}
var merchant = merchantData.data;
if (!merchant.mustPay) {
order.price = 0;
order.status = "1020";
}
}
var busiStatus = await this.orderBusinessStatus.findOrderBusinessStatus(order.status);
if (busiStatus) {
order.ostatus = busiStatus.ostatus;
}
// 商户id
order.merchant_id = this.trim(merchantId);
// 三方渠道号
order.channelOrderNo = this.trim(params.channelOrderNo);
// 订单资料信息
order.legalName = this.trim(params.legalName);
order.legalMobile = this.trim(params.legalMobile);
order.legalImg = this.trim(params.legalImg);
order.idcard = this.trim(params.idcard);
order.idcardFront = this.trim(params.idcardFront);
order.idcardBack = this.trim(params.idcardBack);
order.bankNo = this.trim(params.bankNo);
order.bank = this.trim(params.bank);
order.bankImg = this.trim(params.bankImg);
order.names = this.trim(params.names);
order.capital = this.trim(params.capital);
order.domicile_id = this.trim(params.domicileId);
order.domicileName = this.trim(params.domicileName);
// 个体户经营范围
order.businessScope_id = this.trim(params.businessScopeId);
order.businessType = this.trim(params.businessType);
order.businessScope = this.trim(params.businessScope);
order.bdId = this.trim(params.bdId);
order.bdPath = this.trim(params.bdId);
// 邮寄地址
order.mailAddr = this.trim(params.mailAddr);
order.mailTo = this.trim(params.mailTo);
order.mailMobile = this.trim(params.mailMobile);
order.userId = this.trim(params.userId);
order = await this.dao.create(order);
return system.getResultSuccess({
orderNo: order.id
});
}
async upd(params) {
var merchantId = params.merchantId || params.merchant_id;
var order = await this.dao.findOne({
merchant_id: this.trim(merchantId),
channelOrderNo: this.trim(params.channelOrderNo),
});
if (!order) {
return system.getResult(null, "订单不存在");
}
// 商户id
order.merchant_id = this.trim(merchantId);
// 订单资料信息
order.legalName = this.trim(params.legalName);
order.legalMobile = this.trim(params.legalMobile);
order.legalImg = this.trim(params.legalImg);
order.idcard = this.trim(params.idcard);
order.idcardFront = this.trim(params.idcardFront);
order.idcardBack = this.trim(params.idcardBack);
order.bankNo = this.trim(params.bankNo);
order.bank = this.trim(params.bank);
order.bankImg = this.trim(params.bankImg);
order.names = this.trim(params.names);
order.capital = this.trim(params.capital);
order.domicile_id = this.trim(params.domicileId);
order.domicileName = this.trim(params.domicileName);
// 个体户经营范围
order.businessScope_id = this.trim(params.businessScopeId);
order.businessType = this.trim(params.businessType);
order.businessScope = this.trim(params.businessScope);
// 邮寄地址
order.mailAddr = this.trim(params.mailAddr);
order.mailTo = this.trim(params.mailTo);
order.mailMobile = this.trim(params.mailMobile);
order = await order.save();
return system.getResultSuccess({
orderNo: order.id
});
}
// 全部订单
async allList(params) {
var currentPage = Number(params.currentPage || 1);
var pageSize = Number(params.pageSize || 10);
var merchantId = this.trim(params.merchantId);
var channelOrderNo = this.trim(params.channelOrderNo);
var orderId = this.trim(params.orderId);
var status = this.trim(params.status);
var where = {};
var orderby = [
["id", 'desc']
];
if (merchantId) {
where.merchant_id = merchantId;
}
if (orderId) {
where.id = orderId;
}
if (status) {
where.status = status
}
this.addWhereTime(where, 'created_at', params.createdBegin, params.createdEnd);
this.addWhereTime(where, 'assignTime', params.assignBegin, params.assignEnd);
var page = await this.getPageList(currentPage, pageSize, where, orderby, null);
if (page && page.rows) {
for (var row of page.rows) {
await this.dao.setRowCodeName(row, "status");
await this.dao.setRowCodeName(row, "ostatus");
await this.dao.setRowCodeName(row, "deliverType");
this.handleDate(row, ["created_at", "assignTime"], null, -8);
}
// 设置交付商
await this.setDeliver(page.rows);
}
return system.getResultSuccess(page);
}
async setDeliver(rows) {
if (!rows || rows.length == 0) {
return;
}
var orderDeliverIds = [];
for (var row of rows) {
orderDeliverIds.push(row.orderDeliverId);
}
var deliverMap = await this.iborderdeliverDao.findMapByIds(orderDeliverIds);
for (var row of rows) {
row.deliver = deliverMap[row.orderDeliverId] || {};
this.handleDate(row.deliver, ["created_at", "updated_at"], null, -8);
}
}
async myPage(params) {
var currentPage = Number(params.currentPage || 1);
var pageSize = Number(params.pageSize || 10);
var bdId = this.trim(params.bdId);
var userId = this.trim(params.userId);
var bdPath = this.trim(params.bdPath);
var ostatuses = params.ostatuses;
var where = {};
var orderby = [
["id", 'desc']
];
if (bdId) {
where.merchant_id = bdId;
}
if (bdPath && bdPath.length > 0) {
where.id = {
[this.db.Op.like]: bdPath + "%"
}
}
if (userId) {
where.userId = userId;
}
if (ostatuses && ostatuses.length > 0) {
where.ostatus = {
[this.db.Op.in]: ostatuses
}
}
this.addWhereTime(where, 'created_at', params.createdBegin, params.createdEnd);
var page = await this.getPageList(currentPage, pageSize, where, orderby, null);
if (page && page.rows) {
for (var row of page.rows) {
await this.dao.setRowCodeName(row, "status");
await this.dao.setRowCodeName(row, "ostatus");
await this.dao.setRowCodeName(row, "deliverType");
this.handleDate(row, ["created_at", "assignTime"], null, -8);
}
}
return system.getResultSuccess(page);
}
async info(params) {
var row = await this.dao.getById(params.id);
if (!row) {
return system.getResult(null, "订单不存在");
}
await this.dao.setRowCodeName(row, "status");
await this.dao.setRowCodeName(row, "deliverType");
this.handleDate(row, ["created_at", "assignTime"], null, -8);
return system.getResultSuccess(row);
}
async byChannelOrderId(params) {
var merchantId = params.merchantId || params.merchant_id;
var row = await this.dao.model.findOne({
where: {
merchant_id: merchantId,
channelOrderNo: this.trim(params.channelOrderNo),
},
raw: true
});
if (!row) {
return system.getResult(null, "订单不存在");
}
await this.dao.setRowCodeName(row, "status");
await this.dao.setRowCodeName(row, "ostatus");
await this.dao.setRowCodeName(row, "deliverType");
this.handleDate(row, ["created_at", "assignTime"], null, -8);
return system.getResultSuccess(row);
}
async infoAll(params) {
var row = await this.dao.getById(params.id);
if (!row) {
return system.getResult(null, "订单不存在");
}
await this.dao.setRowCodeName(row, "status");
await this.dao.setRowCodeName(row, "deliverType");
this.handleDate(row, ["created_at", "assignTime"], null, -8);
// 个体户
var businessmen = await this.businessmenDao.getByOrderId(params.id);
if (businessmen) {
await this.businessmenDao.setRowCodeName(businessmen, "bstatus");
await this.businessmenDao.setRowCodeName(businessmen, "gstatus");
await this.businessmenDao.setRowCodeName(businessmen, "dstatus");
this.handleDate(businessmen, ["created_at", "updated_at"], null, -8);
}
row.businessmen = businessmen || {};
// 交付商
row.deliver = await this.iborderdeliverDao.getById(row.orderDeliverId) || {};
await this.iborderdeliverDao.setRowCodeName(row.deliver, "status");
this.handleDate(row.deliver, ["created_at", "updated_at"], null, -8);
return system.getResultSuccess(row);
}
// 订单编辑,只编辑指定几个字段,暂时只有merchant_id和价格
async edit(params) {
var id = params.id;
var merchantId = this.trim(params.merchantId);
var price = Number(params.price || 0);
var order = await this.findById(id);
if (!order) {
return system.getResult(null, "订单不存在");
}
order.merchant_id = merchantId;
if ("1000" == order.status) {
order.price = price;
}
order = await order.save();
return system.getResultSuccess();
}
// 订单分配
async assign(params) {
var orderId = this.trim(params.id);
var order = await this.findById(orderId);
if (!order) {
return system.getResult(null, "订单不存在");
}
if (order.status != "1020") {
return system.getResult(null, "该订单状态不允许分配,请刷新重试");
}
if (order.orderDeliverId) {
return system.getResult(null, "该订单已分配,不允许再次分配");
}
order.status = "1030";
order.assignTime = new Date();
order.assignUcname = this.trim(params.assignUcname);
var orderDeliver = {};
orderDeliver.order_id = orderId;
orderDeliver.status = "1030";
orderDeliver.deliver_id = this.trim(params.deliverId);
orderDeliver.deliverName = this.trim(params.deliverName);
orderDeliver.deliverDivide = Number(params.deliverDivide || 0);
// 创建交付商订单
orderDeliver = await this.iborderdeliverDao.create(orderDeliver);
order.orderDeliverId = orderDeliver.id;
// 订单更改状态
await order.save();
return system.getResultSuccess();
}
async updPrice(params) {
var orderId = this.trim(params.orderId);
var merchantId = this.trim(params.merchantId);
var price = Number(params.price || 0);
var order = await this.findById(orderId);
if (!order) {
return system.getResult(null, "订单不存在");
}
order.price = price;
order.merchant_id = merchant;
await order.save();
return system.getResultSuccess();
}
async closeById(params) {
var order = await this.dao.findById(params.id);
if (!order) {
return system.getResult(null, "订单不存在");
}
if (order.status != 1000) {
var statusName = await this.dao.getRowCodeName(order, "ostatus");
return system.getResult(null, "订单状态处于【" + statusName + "】,不允许关闭");
}
var busiStatus = await this.orderBusinessStatus.findOrderBusinessStatus("1010");
order.status = busiStatus.status;
order.ostatus = busiStatus.ostatus;
await order.save();
return system.getResultSuccess({
orderNo: order.id
});
}
async orderClose(params) {
var order = await this.dao.findOne({
merchant_id: this.trim(params.merchantId),
channelOrderNo: this.trim(params.channelOrderNo),
});
if (!order) {
return system.getResult(null, "订单不存在");
}
if (order.status != 1000) {
var statusName = await this.dao.getRowCodeName(order, "ostatus");
return system.getResult(null, "订单状态处于【" + statusName + "】,不允许关闭");
}
var busiStatus = await this.orderBusinessStatus.findOrderBusinessStatus("1010");
order.status = busiStatus.status;
order.ostatus = busiStatus.ostatus;
await order.save();
return system.getResultSuccess({
orderNo: order.id
});
}
async complete(params) {
var order = await this.dao.findById(params.id);
if (!order) {
return system.getResult(null, "订单不存在");
}
await this.dao.setRowCodeName(order, "status");
if (order.status != "1160") {
return system.getResult(null, "订单状态错误【" + order.statusName + "】,不允许该状态下完成订单");
}
var businessmen = await this.businessmenDao.getByOrderId(params.id);
var self = this;
await this.db.transaction(async function (t) {
var orderFields = {
status: "1170",
ostatus: "1170",
id: order.id,
deliverType: self.trim(params.deliverType),
deliverNo: self.trim(params.deliverNo),
deliverImg: self.trim(params.deliverImg),
}
await self.dao.update(orderFields, t);
await self.businessmenDao.update({
id: businessmen.id,
bstatus: "2010",
}, t);
return 1;
});
return system.getResultSuccess();
}
}
module.exports = IborderService;
// var task=new UserService();
// task.getUserStatisticGroupByApp().then(function(result){
// console.log((result));
// }).catch(function(e){
// console.log(e);
// });
\ No newline at end of file
const system = require("../../../system");
const ServiceBase = require("../../sve.base")
const settings = require("../../../../config/settings")
const moment = require("moment");
class IborderdeliverService extends ServiceBase {
constructor() {
super("order", ServiceBase.getDaoName(IborderdeliverService));
this.iborderDao = system.getObject("db.order.iborderDao");
this.businessmenDao = system.getObject("db.business.businessmenDao");
}
async api(params) {
try {
return await this.saveSign(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiPage(params) {
try {
return await this.page(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiInfo(params) {
try {
return await this.info(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiEdit(params) {
try {
return await this.edit(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiClose(params) {
try {
return await this.close(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiHandle(params) {
try {
var id = params.id;
var status = params.status;
var dorder = await this.dao.findById(id);
if (!dorder) {
return system.getResult(null, "订单不存在");
}
var order = await this.iborderDao.findById(dorder.order_id);
await this.iborderDao.setRowCodeName(order, "status");
var busiStatus = await this.orderBusinessStatus.findOrderBusinessStatus(order.status);
var nextObj = await this.orderBusinessStatus.findOrderBusinessStatus(busiStatus.next);
if (status == '1130') {
if (order.status != '1120' && order.status != '1140') {
return system.getResult(null, "订单状态【" + order.statusName + "】,不允许提交审核");
}
nextObj = await this.orderBusinessStatus.findOrderBusinessStatus("1130");
} else if (status != busiStatus.next && busiStatus.next) {
if (!nextObj) {
return system.getResult(null, "订单进度错误");
}
return system.getResult(null, "订单状态错误,应该新建【" + nextObj.name + "】进度");
}
params.nextObj = nextObj;
// "1050": "执照办理中", "1060": "已出执照",
// "1070": "刻章办理中", "1080": "已刻章",
// "1090": "银行开户中", "1100": "银行卡已开户",
// "1110": "税务报道中", "1120": "已税务报道",
// "1130": "提交审核", "1140": "审核失败", "1150": "审核通过",
// "1160": "已邮寄",
switch (params.status) {
case "1050": // 执照办理中
case "1070": // 刻章办理中
case "1090": // 银行开户中
case "1110": // 税务报道中
return await this.changeStatus(params, dorder, order);
case "1060": { // 已出执照
return await this.status1060(params, dorder, order);
}
case "1080": { // 已刻章
return await this.status1080(params, dorder, order);
}
case "1100": { // 银行已开户
return await this.status1100(params, dorder, order);
}
case "1120": { // 已税务报道
return await this.status1120(params, dorder, order);
}
case "1130": { // 提交审核
return await this.status1130(params, dorder, order);
}
case "1160": { // 已邮寄
return await this.status1160(params, dorder, order);
}
default:
return system.getResult(null, "无法识别订单状态");
}
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiAudit(params) {
try {
return await this.audit(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiStatDeliverData(params) {
try {
return await this.statDeliverData(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
// -----------------------以此间隔,上面为API,下面为service---------------------------------
async statDeliverData(params) {
var currentPage = Number(params.currentPage || 1);
var pageSize = Number(params.pageSize || 10);
// 处理时间
var type = Number(params.type || 1);
var begin, end;
// 取开始时间
if (type == 1) {
begin = moment().format("YYYY-MM") + "-01 00:00:00";
end = moment(begin).add(1, "months").subtract(1, 'days').format("YYYY-MM-DD") + " 23:59:59";
} else if (type == 2) {
begin = moment().subtract(1, "months").format("YYYY-MM") + "-01 00:00:00";
end = moment(begin).add(1, "months").subtract(1, 'days').format("YYYY-MM-DD") + " 23:59:59";
}
var condition = {
begin: begin,
end: end,
}
// 查总数
var total = await this.dao.countStat(condition);
if (total == 0) {
return system.getResultSuccess({
count: 0,
rows: []
});
}
// 查条数
var startRow = (currentPage - 1) * pageSize;
var list = await this.dao.queryStat(condition, startRow, pageSize);
// 设置已完成数量、办理中数量
var deliverIds = [];
for (var item of list) {
deliverIds.push(item.deliver_id);
}
var dstatusMap = await this.dao.statDeliverByStatus({
begin: begin,
end: end,
deliverIds: deliverIds
});
for (var item of list) {
item.completeCount = this.addStatCount(dstatusMap, item.deliver_id, ['1160']);
item.handlingCount = this.addStatCount(dstatusMap, item.deliver_id, ["1030", "1050", "1060", "1070", "1080", "1090", "1100", "1110", "1120", "1130", "1140", "1150"]);
}
return system.getResultSuccess({
count: total,
rows: list
});
}
addStatCount(statusMap, deliver_id, statuses) {
var count = 0;
if (!statuses || statuses.length == 0) {
return count;
}
for (var status of statuses) {
count = count + Number(statusMap[deliver_id + "_" + status] || 0);
}
return count;
}
async info(params) {
var id = params.id;
var deliverOrder = await this.dao.getById(id);
var order = await this.iborderDao.getById(deliverOrder.order_id);
var businessmen = await this.businessmenDao.getByOrderId(deliverOrder.order_id);
await this.dao.setRowCodeName(deliverOrder, "status");
await this.iborderDao.setRowCodeName(order, "status");
await this.businessmenDao.setRowCodeName(businessmen, "status");
this.handleDate(deliverOrder, ["created_at", "updated_at"], null, -8);
this.handleDate(order, ["created_at", "updated_at", "assignTime"], null, -8);
this.handleDate(businessmen, ["created_at", "updated_at"], null, -8);
this.handleDate(businessmen, ["regDate", "taxRegDay"], "YYYY-MM-DD", -8);
system.f2y4list([order], ["price"]);
system.f2y4list([deliverOrder], ["deliverDivide"]);
return system.getResultSuccess({
deliverOrder: deliverOrder,
order: order,
businessmen: businessmen,
});
}
async page(params) {
var currentPage = Number(params.currentPage || 1);
var pageSize = Number(params.pageSize || 10);
var deliverId = this.trim(params.deliverId);
var orderId = this.trim(params.orderId);
var status = this.trim(params.status);
var merchantId = this.trim(params.merchantId);
var where = {};
var orderby = [
["id", 'desc']
];
if (deliverId) {
where.deliver_id = deliverId;
}
if (merchantId) {
where.merchant_id = merchantId;
}
if (orderId) {
where.order_id = orderId;
}
if (status) {
where.status = status;
}
this.addWhereTime(where, 'created_at', params.createdBegin, params.createdEnd);
var page = await this.getPageList(currentPage, pageSize, where, orderby);
if (page && page.rows) {
for (var row of page.rows) {
await this.dao.setRowCodeName(row, "status");
// 下一个状态
var nextObj = await this.orderBusinessStatus.findOrderNextBusinessStatus(row.status);
row.nextStatus = nextObj.status;
row.nextStatusName = nextObj.name;
this.handleDate(row, ["created_at"], null, -8);
}
await this.setOrder(page.rows, "`id`, `legalName`, `legalMobile`, `price`, `idcard`");
}
return system.getResultSuccess(page);
}
async setOrder(rows, attrs) {
if (!rows || rows.length == 0) {
return;
}
var ids = [];
for (var row of rows) {
ids.push(row.order_id);
}
var map = await this.iborderDao.getMapByIds(ids, attrs);
for (var row of rows) {
row.order = map[row.order_id] || {}
}
}
async changeStatus(params, dorder, order) {
var nextObj = params.nextObj;
order.status = nextObj.status;
order.ostatus = nextObj.ostatus;
dorder.status = nextObj.dstatus;
await order.save();
await dorder.save();
return system.getResultSuccess();
}
async status1060(params, dorder, order) {
var current = "1060";
if (!params.name) {
return system.getResult(null, "请输入个体工商户名称");
}
if (!params.creditCode) {
return system.getResult(null, "请输入统一社会信用代码");
}
if (!params.businessPlace) {
return system.getResult(null, "请输入经营场所");
}
if (!params.businessScope) {
return system.getResult(null, "请输入经营范围");
}
if (!params.regDate) {
return system.getResult(null, "请输入注册日期");
}
if (!params.businessImg) {
return system.getResult(null, "请上传执照照片");
}
var businessmen = await this.businessmenDao.findOne({
order_id: order.id
});
if (!businessmen) {
businessmen = {};
}
var self = this;
var v = await this.db.transaction(async function (t) {
var updateFields = {};
updateFields.name = self.trim(params.name);
updateFields.creditCode = self.trim(params.creditCode);
updateFields.businessPlace = self.trim(params.businessPlace);
updateFields.businessScope = self.trim(params.businessScope);
updateFields.regDate = params.regDate;
updateFields.businessImg = self.trim(params.businessImg);
updateFields.order_id = self.trim(order.id);
updateFields.merchant_id = self.trim(order.merchant_id);
updateFields.channelOrderNo = self.trim(order.channelOrderNo);
updateFields.legalName = self.trim(order.legalName);
updateFields.legalMobile = self.trim(order.legalMobile);
updateFields.legalIdcard = self.trim(order.idcard);
if (businessmen.id) {
updateFields.id = businessmen.id;
await self.businessmenDao.update(updateFields, t);
} else {
updateFields.bstatus = "2000";
updateFields.gstatus = "2000";
updateFields.dstatus = "2000";
await self.businessmenDao.create(updateFields, t);
}
await self.updateOrderStatusTranscation(dorder, params.nextObj, t);
return 1;
});
return system.getResultSuccess(v);
}
async status1080(params, dorder, order) {
var current = "1080";
var businessmen = await this.businessmenDao.findOne({
order_id: order.id
});
if (!businessmen) {
return system.getResult(null, "个体户订单不存在");
}
var self = this;
var v = await this.db.transaction(async function (t) {
var updateFields = {};
updateFields.id = businessmen.id;
updateFields.gongzhang = self.trim(params.gongzhang);
updateFields.caiwuzhang = self.trim(params.caiwuzhang);
updateFields.businessImg = self.trim(params.businessImg);
updateFields.fapiaozhang = self.trim(params.fapiaozhang);
updateFields.hetongzhang = self.trim(params.hetongzhang);
updateFields.farenzhang = self.trim(params.farenzhang);
await self.businessmenDao.update(updateFields, t);
await self.updateOrderStatusTranscation(dorder, params.nextObj, t);
return 1;
});
return system.getResultSuccess(v);
}
async status1100(params, dorder, order) {
var businessmen = await this.businessmenDao.findOne({
order_id: order.id
});
if (!businessmen) {
return system.getResult(null, "个体户订单那不存在");
}
var self = this;
var v = await this.db.transaction(async function (t) {
var updateFields = {};
updateFields.id = businessmen.id;
updateFields.isBank = params.isBank ? true : fasle;
updateFields.bankName = self.trim(params.bankName);
updateFields.bankNo = self.trim(params.bankNo);
updateFields.bank = self.trim(params.bank);
updateFields.bankImg = self.trim(params.bankImg);
await self.businessmenDao.update(updateFields, t);
await self.updateOrderStatusTranscation(dorder, params.nextObj, t);
return 1;
});
return system.getResultSuccess(v);
}
async status1120(params, dorder, order) {
var businessmen = await this.businessmenDao.findOne({
order_id: order.id
});
if (!businessmen) {
return system.getResult(null, "个体户订单那不存在");
}
var self = this;
var v = await this.db.transaction(async function (t) {
var updateFields = {};
updateFields.id = businessmen.id;
updateFields.caImg = params.caImg;
updateFields.taxRegDay = params.taxRegDay;
updateFields.taxOrg = params.taxOrg;
await self.businessmenDao.update(updateFields, t);
await self.updateOrderStatusTranscation(dorder, params.nextObj, t);
return 1;
});
//推送
return system.getResultSuccess(v);
}
// 提交审核
async status1130(params, dorder, order) {
var self = this;
var v = await this.db.transaction(async function (t) {
await self.updateOrderStatusTranscation(dorder, params.nextObj, t);
return 1;
});
return system.getResultSuccess(v);
}
async status1160(params, dorder, order) {
var businessmen = await this.businessmenDao.findOne({
order_id: order.id
});
if (!businessmen) {
return system.getResult(null, "个体户订单不存在");
}
var nextObj = params.nextObj;
var self = this;
var v = await this.db.transaction(async function (t) {
var updateFields = {};
updateFields.id = businessmen.id;
updateFields.dstatus = "2020";
updateFields.courierNo = params.courierNo;
updateFields.courierImg = params.courierImg;
await self.businessmenDao.update(updateFields, t);
await self.iborderDao.update({
id: dorder.order_id,
status: "1160",
}, t);
await self.dao.update({
id: dorder.id,
status: "1160"
});
return 1;
});
return system.getResultSuccess(v);
}
async audit(params) {
if (params.status != "1140" && params.status != "1150") {
return system.getResult(null, "订单审核状态填写错误");
}
var dorder = await this.findById(params.id);
if (!dorder) {
return system.getResult(null, "订单不存在");
};
await this.dao.setRowCodeName(dorder, "status");
if (dorder.status != "1130") {
return system.getResult(null, "订单状态【" + dorder.statusName + "】,不允许审核");
}
var self = this;
await this.db.transaction(async function (t) {
var updateFields = {};
updateFields.id = params.id;
updateFields.status = params.status;
updateFields.auditRemark = self.trim(params.auditRemark);
updateFields.content = self.trim(params.content);
updateFields.addressee = self.trim(params.addressee);
updateFields.mobile = self.trim(params.mobile);
updateFields.addr = self.trim(params.addr);
updateFields.auditUser = self.trim(params.auditUser);
updateFields.auditResult = params.status == "1140" ? "审核失败" : "审核成功";
await self.dao.update(updateFields, t);
await self.iborderDao.update({
id: dorder.order_id,
status: params.status
}, t);
});
return system.getResultSuccess();
}
async updateOrderStatusTranscation(dorder, statusObj, t) {
if (!statusObj) {
return;
}
var orderFields = {
id: dorder.order_id
};
if (statusObj.status) {
orderFields.status = statusObj.status;
}
if (statusObj.ostatus) {
orderFields.ostatus = statusObj.ostatus;
}
await this.iborderDao.update(orderFields, t);
var dorderFileds = {
id: dorder.id
};
if (statusObj.dstatus) {
dorderFileds.status = statusObj.dstatus;
await this.dao.update(dorderFileds, t);
}
}
async updateBusiness(status, businessmen, border, t) {
await this.businessmenDao.update(businessmen, t);
await this.iborderDao.update({
status: status,
id: border.order_id
}, t);
await this.dao.update({
status: status,
id: border.id
}, t);
}
async edit(params) {
var orderParams = params.order;
var bmParams = params.businessmen;
var orderEdit = {};
var bmEdit = {};
orderEdit.id = orderParams.id;
orderEdit.legalName = this.trim(orderParams.legalName);
orderEdit.idcard = this.trim(orderParams.idcard);
orderEdit.legalMobile = this.trim(orderParams.legalMobile);
orderEdit.bankNo = this.trim(orderParams.bankNo);
orderEdit.capital = this.trim(orderParams.capital);
orderEdit.names = this.trim(orderParams.names);
orderEdit.businessType = this.trim(orderParams.businessType);
orderEdit.businessScope = this.trim(orderParams.businessScope);
orderEdit.idcardFront = this.trim(orderParams.idcardFront);
orderEdit.idcardBack = this.trim(orderParams.idcardBack);
bmEdit.id = this.trim(bmParams.id);
// 执照信息
bmEdit.name = this.trim(bmParams.name);
bmEdit.creditCode = this.trim(bmParams.creditCode);
bmEdit.businessPlace = this.trim(bmParams.businessPlace);
bmEdit.legalName = this.trim(bmParams.legalName);
bmEdit.legalMobile = this.trim(bmParams.legalMobile);
bmEdit.legalIdcard = this.trim(bmParams.legalIdcard);
bmEdit.regDate = this.trim(bmParams.regDate);
bmEdit.businessScope = this.trim(bmParams.businessScope);
bmEdit.businessImg = this.trim(bmParams.businessImg);
// 刻章
bmEdit.gongzhang = this.trim(bmParams.gongzhang);
bmEdit.caiwuzhang = this.trim(bmParams.caiwuzhang);
bmEdit.fapiaozhang = this.trim(bmParams.fapiaozhang);
bmEdit.hetongzhang = this.trim(bmParams.hetongzhang);
bmEdit.farenzhang = this.trim(bmParams.farenzhang);
// 开户信息
bmEdit.isBank = bmParams.isBank ? true : false;
bmEdit.bankName = this.trim(bmParams.bankName);
bmEdit.bankNo = this.trim(bmParams.bankNo);
bmEdit.bank = this.trim(bmParams.bank);
bmEdit.bankImg = this.trim(bmParams.bankImg);
// 税务报道
bmEdit.caImg = this.trim(bmParams.caImg);
bmEdit.taxRegDay = this.trim(bmParams.taxRegDay);
bmEdit.taxOrg = this.trim(bmParams.taxOrg);
// 邮寄信息
bmEdit.courierNo = this.trim(bmParams.courierNo);
bmEdit.courierImg = this.trim(bmParams.courierImg);
var self = this;
await this.db.transaction(async function (t) {
await self.iborderDao.update(orderEdit, t);
await self.businessmenDao.update(bmEdit, t);
return 1;
});
return system.getResultSuccess();
}
async close(params) {
var od = await this.findById(params.id);
var order = await this.iborderDao.findById(od.order_id);
if (!od) {
return system.getResult(null, od);
}
if (od.status == "1040") {
return system.getResultSuccess();
}
await this.dao.setRowCodeName(od, "status");
if (od.status != "1030") {
return system.getResult(null, "订单处于【" + od.statusName + "】状态, 不允许关闭");
}
od.status = "1040";
od.breakReason = this.trim(params.breakReason);
await od.save();
order.orderDeliverId = "";
order.status = "1020";
await order.save();
return system.getResultSuccess();
}
}
module.exports = IborderdeliverService;
// var task=new UserService();
// task.getUserStatisticGroupByApp().then(function(result){
// console.log((result));
// }).catch(function(e){
// console.log(e);
// });
\ No newline at end of file
const system = require("../../system");
const uuidv4 = require('uuid/v4');
const md5 = require("MD5");
const settings = require("../../../config/settings");
class MicrosveClient {
constructor() {
this.logCtl = system.getObject("web.common.oplogCtl");
this.restClient = system.getObject("util.restClient");
this.micro = system.microsetting();
}
async call(sveName, apiName, params) {
var errorMsg;
var reqUrl = this.micro[sveName];
if(!reqUrl) {
return system.getResult(null, "未找到【" + sveName + "】服务,请检查settings文件是否存在");
}
if(!apiName) {
return system.getResult(null, "apiName不能为空");
}
try {
var params = {
"action_process": "xgg-sve-order",
"action_type": apiName,
"action_body": params || {},
}
var rs = await this.restClient.execPost(params, reqUrl);
if (rs && rs.stdout) {
return JSON.parse(rs.stdout);
}
return system.getResult(null, rs);
} catch (error) {
console.log(error)
this.logCtl.error({
optitle: "微服务请求失败",
op: "sveName = " + sveName + "; apiName = " + apiName,
content: "params = " + JSON.stringify(params),
clientIp: ""
});
return system.getResult(null, error.message);
}
}
}
module.exports = MicrosveClient;
node_modules/
\ No newline at end of file
var APIBase = require("../../api.base");
var system = require("../../../system");
var settings = require("../../../../config/settings");
class ActionAPI extends APIBase {
constructor() {
super();
}
/**
* 接口跳转
* action_process 执行的流程
* action_type 执行的类型
* action_body 执行的参数
*/
async springboard(pobj, qobj, req) {
var result;
if (!pobj.action_process) {
return system.getResult(null, "action_process参数不能为空");
}
if (!pobj.action_type) {
return system.getResult(null, "action_type参数不能为空");
}
console.log(pobj.action_process, pobj.action_type, pobj.action_body, "---------------- this is order micro sve --------------------");
try {
result = await this.handleRequest(pobj.action_process, pobj.action_type, pobj.action_body);
} catch (error) {
console.log(error);
}
return result;
}
async handleRequest(action_process, action_type, action_body) {
var opResult = null;
switch (action_type) {
// 订单
case "addOrder":
break;
}
return opResult;
}
exam() {
return `<pre><pre/>`;
}
classDesc() {
return {
groupName: "op",
groupDesc: "元数据服务包",
name: "ActionAPI",
desc: "此类是对外提供接口服务",
exam: "",
};
}
methodDescs() {
return [{
methodDesc: `<pre><pre/>`,
methodName: "springboard",
paramdescs: [{
paramDesc: "请求的行为,传递如:sjb",
paramName: "action_process",
paramType: "string",
defaultValue: null,
},
{
paramDesc: "业务操作类型,详情见方法中的描述",
paramName: "action_type",
paramType: "string",
defaultValue: null,
},
{
paramDesc: "业务操作类型的参数,action_body必须传递的参数有,times_tamp(时间戳,类型int)、sign(签名,类型string),其余的为业务需要的参数",
paramName: "action_body",
paramType: "json",
defaultValue: null,
}
],
rtnTypeDesc: `<pre><pre/>`,
rtnType: `<pre><pre/>`
}];
}
}
module.exports = ActionAPI;
\ No newline at end of file
......@@ -3,47 +3,6 @@ const Dao = require("../../dao.base");
class IborderDao extends Dao {
constructor() {
super(Dao.getModelName(IborderDao));
this.statusMap = {
"1000": "未付款",
"1010": "订单关闭",
"1020": "待分配",
"1030": "待处理",
"1040": "交付商关闭",
"1050": "执照办理中",
"1060": "已出执照",
"1070": "刻章办理中",
"1080": "已刻章",
"1090": "银行开户中",
"1100": "银行卡已开户",
"1110": "税务报道中",
"1120": "已税务报道",
"1130": "待审核",
"1140": "审核失败",
"1150": "审核通过",
"1160": "已邮寄",
"1170": "已完成",
};
this.ostatusMap = {
"1000": "未付款",
"1010": "订单关闭",
"1030": "待处理",
"1050": "执照办理中",
"1060": "已出执照",
"1070": "刻章办理中",
"1080": "已刻章",
"1090": "银行开户中",
"1100": "银行卡已开户",
"1110": "税务报道中",
"1120": "已税务报道",
"1170": "已完成",
};
this.deliverTypeMap = {
"10": "交付商交付",
"20": "平台交付",
"30": "平台保存无需交付",
}
}
async statOrderByTime(begin, end) {
......
const system = require("../../../system");
const ServiceBase = require("../../sve.base")
const settings = require("../../../../config/settings")
class BusinessmencontractService extends ServiceBase {
const moment = require("moment");
class IborderService extends ServiceBase {
constructor() {
super("business", ServiceBase.getDaoName(BusinessmencontractService));
super("order", ServiceBase.getDaoName(IborderService));
}
async api(params) {
try {
return await this.xxx(params);
return await this.m(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
async apiAdd(params) {
try {
return await this.apiSave(params);
} catch (error) {
console.log(error);
return system.getResult(null, "接口异常");
}
}
// -----------------------以此间隔,上面为API,下面为service---------------------------------
async add(params) {
return system.getResultSuccess();
}
async method(params) {
return system.getResultSuccess();
}
async m(params) {}
}
module.exports = BusinessmencontractService;
module.exports = IborderService;
// var task=new UserService();
// task.getUserStatisticGroupByApp().then(function(result){
// console.log((result));
......
......@@ -6,13 +6,13 @@ var settings={
db:10,
},
database:{
dbname : "xgg-order",
user: "write",
password: "write",
config: {
dbname : "xgg-uc",
user: "root",
password: "root",
config: {
// host: '43.247.184.35',
// port: 8899,
host: '192.168.18.237',
host: '192.168.18.110',
port: 3306,
dialect: 'mysql',
......
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