Commit 7d01cbf8 by 孙亚楠

dd

parent 2ca917ab
......@@ -79,8 +79,12 @@ class ActionAPI extends APIBase {
case "resetOrderProcess": // 创建来源订单
opResult = await this.oorderSve.resetOrderProcess(action_body);
break;
case "aliOrderPageAll": // 阿里全部订单
opResult = await this.oorderSve.aliOrderPageAll(action_body);
break;
case "aliOrderPage": // 阿里我的业务订单
opResult = await this.oorderSve.aliOrderPage(action_body);
break;
case "productDics": // 查询产品字典
opResult = await this.oproductSve.productDics(action_body);
break;
......
......@@ -91,5 +91,8 @@ class BusinessmenDao extends Dao {
return system.getResult(null,`系统错误 错误信息 ${error}`);
}
}
}
module.exports = BusinessmenDao;
\ No newline at end of file
......@@ -127,6 +127,24 @@ class ObusinessmenDao extends Dao {
return list[0];
}
/**
* 根据order_id 查个体户信息
* @param ids
* @returns {Promise<void>}
*/
async getByOrderIds(ids){
if(!ids || ids.length == 0){
return {};
}
let sql = `select * from o_businessmen where 1=1 and order_id in (:ids)`;
let list = await this.customQuery(sql, {ids:ids});
let map = {};
for(let item of list) {
map[item.order_id] = item;
}
return map;
}
}
module.exports = ObusinessmenDao;
\ No newline at end of file
......@@ -151,5 +151,72 @@ class OorderDao extends Dao {
return result;
}
/**
* 计数
* @param params
* @returns {Promise<void>}
*/
async aliCountOrder(params){
var result = {};
var sql = [];
sql.push("SELECT");
sql.push("COUNT(1) AS count");
sql.push("FROM `o_order` t1 inner join `o_order_deliver` t2 on t1.deliver_id = t2.id");
sql.push("WHERE 1 = 1");
this.aliSetParams(sql,params);
sql.push("ORDER BY t1.created_at DESC");
sql.push("LIMIT :startRow, :pageSize");
let list = await this.customQuery(sql.join(" "), params);
if(!list || list.length==0){
return {count:0};
}
return list[0];
}
/**
* ali全部订单设置参数
* @param params
*/
aliSetParams(sql,params){
if(params.deliver_id){
sql.push(`AND t2.deliver_id = :deliver_id`);
}
if (params.id) {
sql.push("AND t1.id = :id");
}
if (params.status) {
sql.push("AND t1.status = :status");
}
if (params.createdBegin) {
sql.push("AND t1.created_at >= :createdBegin");
}
if (params.createdEnd) {
sql.push("AND t1.created_at <= :createdEnd");
}
}
/**
* ali 全部订单
* @param params
* @returns {Promise<void>}
*/
async aliOrderPageAll(params){
var result = {};
var sql = [];
sql.push("SELECT");
sql.push("t1.*,t3.name");
sql.push("FROM `o_order` t1 inner join `o_order_deliver` t2 on t1.deliver_id = t2.id inner join o_process t3 on t1.product_id = t3.product_id ");
sql.push("WHERE 1 = 1 and t1.status = t3.status ");
this.aliSetParams(sql,params);
sql.push("ORDER BY t1.created_at DESC");
sql.push("LIMIT :startRow, :pageSize");
let list = await this.customQuery(sql.join(" "), params);
if(!list || list.length==0){
return {count:0};
}
return list;
}
}
module.exports = OorderDao;
\ No newline at end of file
......@@ -344,5 +344,23 @@ class OorderdeliverDao extends Dao {
return await this.customQuery(sql.join(" "), params);
}
/**
* 根据id去查所又的交付信息
* @param ids
* @returns {Promise<void>}
*/
async getByOrderIds(ids){
if(!ids || ids.length == 0){
return {};
}
let sql = `select * from o_order_deliver where 1=1 and order_id in (:ids)`;
let list = await this.customQuery(sql, {ids:ids});
let map = {};
for(let item of list) {
map[item.order_id] = item;
}
return map;
}
}
module.exports = OorderdeliverDao;
\ No newline at end of file
......@@ -5,5 +5,18 @@ class OorderinforegDao extends Dao {
super(Dao.getModelName(OorderinforegDao));
}
async getByIds(ids){
if(!ids || ids.length == 0){
return {};
}
let sql = `select * from o_order_info_reg where 1=1 and id in (:ids)`;
let list = await this.customQuery(sql, {ids:ids});
let map = {};
for(let item of list) {
map[item.id] = item;
}
return map;
}
}
module.exports = OorderinforegDao;
\ No newline at end of file
......@@ -54,6 +54,10 @@ module.exports = function (db, DataTypes) {
customer_id: { type: DataTypes.STRING, field: 'customer_id', allowNull: true },
create_account_time: { type: DataTypes.DATE, field: 'create_account_time', allowNull: true },
invoice_content: { type: DataTypes.STRING, field: 'invoice_content', allowNull: true },
company_id: { type: DataTypes.STRING, field: 'company_id', allowNull: true ,comment:"公司id-财务系统"},
deliver_id: { type: DataTypes.STRING, field: 'deliver_id', allowNull: true ,comment:"交付商id"},
delier_user_id: { type: DataTypes.STRING, field: 'delier_user_id', allowNull: true ,comment:"交付商用户id"},
deliver_user_path: { type: DataTypes.STRING, field: 'deliver_user_path', allowNull: true ,comment:"交付商组织机构path"},
created_at: { type: DataTypes.DATE, field: 'created_at', allowNull: false, defaultValue: DataTypes.NOW },
updated_at: { type: DataTypes.DATE, field: 'updated_at', allowNull: false, defaultValue: DataTypes.NOW },
deleted_at: { type: DataTypes.DATE, field: 'deleted_at', allowNull: true }
......
......@@ -18,7 +18,7 @@ module.exports = function (db, DataTypes) {
deliver_mail_img: {type: DataTypes.STRING, field: 'deliver_mail_img', allowNull: true, defaultValue:'', comment:'交付商交付快递单号图片' },
completed_at: { type: DataTypes.DATE, field: 'completed_at', allowNull: true, comment:'订单的完成时间' },
operator_id: { type: DataTypes.STRING, field: 'operator_id', allowNull: true, comment:'业务员id' },
operator_path: { type: DataTypes.STRING, field: 'operator_path', allowNull: true, comment:'交付商业务员组织机构path' },
created_at: { type: DataTypes.DATE, field: 'created_at', allowNull: false, defaultValue: DataTypes.NOW },
updated_at: { type: DataTypes.DATE, field: 'updated_at', allowNull: false, defaultValue: DataTypes.NOW },
deleted_at: { type: DataTypes.DATE, field: 'deleted_at', allowNull: true }
......
......@@ -67,7 +67,7 @@ class OorderService extends ServiceBase {
order.contact_mobile = this.trim(params.contact_mobile);
order.customer_name = this.trim(params.customer_name);
order.saas_deliver_api = this.trim(params.saas_deliver_api);
order.ali_deliver_api = this.trim(params.ali_deliver_api) || "";
// 验证订单是否存在
let exists = await this.dao.findOne({ source_id: order.source_id, source_no: order.source_no });
if (exists) {
......@@ -85,8 +85,15 @@ class OorderService extends ServiceBase {
return system.getResult(null, "产品错误");
}
let productItemIds = [];
if (params.chooseItems && params.chooseItems.length > 0) {
for (let productId of params.chooseItems) {
productItemIds.push(Number(productId));
}
}
// 构建订单流程列表
let orderProcessList = await this.buildOrderProcess(order.product_id);
let orderProcessList = await this.buildOrderProcess(order.product_id, productItemIds);
if (!orderProcessList || orderProcessList.length == 0) {
return system.getResult(null, "产品流程未配置");
}
......@@ -107,9 +114,18 @@ class OorderService extends ServiceBase {
orderReg.id = order.id;
await self.oorderinforegDao.create(orderReg, t);
// return order;
});
//如果存在交付商ID 则需要创建交付商记录 并更新订单表的交付商信息
if(params.deliver_id){
let _oorderdeliver = await self.oorderdeliverDao.create({
order_id:order.id,
deliver_id:self.trim(params.deliver_id),
deliver_name:self.trim(params.deliver_name),
deliver_divide:self.trim(params.deliver_divide) || 0
}, t);
await self.dao.update({id:order.id,deliver_id:_oorderdeliver.id},t);
}
});
await this.getOrderProcessStatus(order.id, order.status);
return system.getResult(order);
}
......@@ -743,6 +759,116 @@ class OorderService extends ServiceBase {
return system.getResult(error);
}
}
/**
* 阿里 全部订单列表
* @param params
* @returns {Promise<void>}
*
* 订单编号
* 办理进度
* 创建时间
*/
async aliOrderPageAll(params){
if(!params.deliver_id){
return system.getResult(null,`参数错误 交付商ID不能为空`);
}
params.currentPage = Number(params.currentPage || 1);
params.pageSize = Number(params.pageSize || 10);
params.startRow = (params.currentPage - 1) * params.pageSize;
try{
let countRes = await this.dao.aliCountOrder(params);
if(countRes.count==0){
return system.getResult({count: 0, row: []});
}
let list =await this.dao.aliOrderPageAll(params);
let ids = [],statausArray =[];
for (let item of list) {
ids.push(item.id);
statausArray.push({status: item.status, product_id: item.product_id});
}
//格式化订单详细
await this.aliFormateOrderInfoReg(list,ids);
//格式化订单交付商详细
await this.aliFormateOrderDeliver(list,ids);
//格式化个体户信息
await this.aliFormateOrderBusinessmen(list,ids);
//格式化状态
// await this.aliFormateOrderStatus(statausArray);
for(let element of list){
this.handleDate(element, ["created_at", "assign_time"], null, -8);
this.handleDate(element.orderDeliver, ["created_at", "completed_at"], null, -8);
this.handleDate(element.obusinessmen, ["created_at", "reg_date","tax_reg_day", "service_begin_time","service_end_time","sign_time","create_account_time"], null, -8);
if(element.obusinessmen.common_tax_ladder ){
element.obusinessmen.common_tax_ladder = JSON.parse(element.obusinessmen.common_tax_ladder);
}
if(element.obusinessmen.common_other_ladder ){
element.obusinessmen.common_other_ladder = JSON.parse(element.obusinessmen.common_other_ladder);
}
if(element.obusinessmen.special_tax_ladder ){
element.obusinessmen.special_tax_ladder = JSON.parse(element.obusinessmen.special_tax_ladder);
}
if(element.obusinessmen.special_other_ladder ){
element.obusinessmen.special_other_ladder = JSON.parse(element.obusinessmen.special_other_ladder);
}
element.price = system.f2y(element.price);
element.orderDeliver.deliver_divide = system.f2y(element.orderDeliver.deliver_divide);
element.orderInfoReg.capital = system.f2y(element.orderInfoReg.capital);
}
return system.getResult({count: countRes.count, row: list});
}catch (e) {
console.log(e);
return system.getResult(null,`系统错误`)
}
}
async aliFormateOrderInfoReg(list,ids){
let orderInfoRegsMap = await this.oorderinforegDao.getByIds(ids);
for(let item of list){
item.orderInfoReg = orderInfoRegsMap[item.id] || {};
}
}
async aliFormateOrderDeliver(list,ids){
let orderDeliverMap = await this.oorderdeliverDao.getByOrderIds(ids);
for(let item of list){
item.orderDeliver = orderDeliverMap[item.id] || {};
}
}
async aliFormateOrderBusinessmen(list,ids){
let obusinessmenMap = await this.obusinessmenDao.getByOrderIds(ids);
for(let item of list){
item.obusinessmen = obusinessmenMap[item.id] || {};
}
}
/**
* 格式化订单状态
* @param list
* @param ids
* @returns {Promise<void>}
*/
/* async aliFormateOrderStatus(list){
let statusMap = await this.oprocessDao.getByOrderStatus(statusArray);
for(let item of list){
item.obusinessmen = obusinessmenMap[item.id] || {};
}
}*/
/**
* 阿里我的业务订单
* @param params
* @returns {Promise<void>}
*/
async aliOrderPage(params){
}
}
module.exports = OorderService;
\ No newline at end of file
......@@ -156,33 +156,41 @@ class OorderstatusService extends ServiceBase {
if (!_oorderinforeg) {
return system.getResult(null, `订单异常 订单明细不存在,请联系管理员`);
}
let _oorderinforegProperty = {id: _oorderinforeg.id};
//更新订单子表
_oorderinforeg.legal_name = this.trim(params.legal_name);
_oorderinforeg.id_card = this.trim(params.id_card);
_oorderinforeg.legal_mobile = this.trim(params.legal_mobile);
_oorderinforeg.names = this.trim(params.names);
_oorderinforeg.capital = this.trim(params.capital);
_oorderinforeg.domicile_id = this.trim(params.domicile_id);
_oorderinforeg.domicile_name = this.trim(params.domicile_name);
_oorderinforeg.business_scope_id = this.trim(params.business_scope_id);
_oorderinforeg.business_type = this.trim(params.business_type);
_oorderinforeg.business_scope = this.trim(params.business_scope);
_oorderinforeg.idcard_front = this.trim(params.idcard_front);
_oorderinforeg.idcard_back = this.trim(params.idcard_back);
_oorderinforeg.other_file = this.trim(params.other_file);
_oorderinforeg.guest_mail_addr = this.trim(params.guest_mail_addr);
_oorderinforeg.guest_mail_to = this.trim(params.guest_mail_to);
_oorderinforeg.guest_mail_mobile = this.trim(params.guest_mail_mobile);
_oorderinforegProperty.legal_name = this.trim(params.legal_name);
_oorderinforegProperty.id_card = this.trim(params.id_card);
_oorderinforegProperty.legal_mobile = this.trim(params.legal_mobile);
_oorderinforegProperty.names = this.trim(params.names);
_oorderinforegProperty.capital = this.trim(params.capital);
_oorderinforegProperty.domicile_id = this.trim(params.domicile_id);
_oorderinforegProperty.domicile_name = this.trim(params.domicile_name);
_oorderinforegProperty.business_scope_id = this.trim(params.business_scope_id);
_oorderinforegProperty.business_type = this.trim(params.business_type);
_oorderinforegProperty.business_scope = this.trim(params.business_scope);
_oorderinforegProperty.idcard_front = this.trim(params.idcard_front);
_oorderinforegProperty.idcard_back = this.trim(params.idcard_back);
_oorderinforegProperty.other_file = this.trim(params.other_file);
_oorderinforegProperty.guest_mail_addr = this.trim(params.guest_mail_addr);
_oorderinforegProperty.guest_mail_to = this.trim(params.guest_mail_to);
_oorderinforegProperty.guest_mail_mobile = this.trim(params.guest_mail_mobile);
//更新主表
params._order.service_items = this.trim(params.service_items);
params._order.service_remark = this.trim(params.service_remark);
params._order.status = this.trim(params.status);
let _order={
status : this.trim(params.status),
id:_oorderinforeg.id
}
if(params.service_items){
_order.service_items = this.trim(params.service_items);
}
if(params.service_remark){
_order.service_remark = this.trim(params.service_remark);
}
try {
//开启事务
await this.db.transaction(async t => {
await _oorderinforeg.save();
await params._order.save();
await this.oorderinforegDao.update(_oorderinforegProperty,t);
await this.dao.update(_order,t);
});
return system.getResultSuccess();
} catch (error) {
......@@ -250,10 +258,9 @@ class OorderstatusService extends ServiceBase {
// if(!params.guest_accpet_file){
// return system.getResult(null,`参数错误 客户验收文件不能为空`);
// }
if (!params.service_items) {
return system.getResult(null, `参数错误 服务项不能为空`);
}
// if (!params.service_items) {
// return system.getResult(null, `参数错误 服务项不能为空`);
// }
}
......@@ -506,6 +513,7 @@ class OorderstatusService extends ServiceBase {
}
let orderdeliverProperty = {};
orderdeliverProperty.operator_id = this.trim(params.operator_id);
orderdeliverProperty.operator_path = this.trim(params.operator_path);
orderdeliverProperty.id = _oorderdeliver.id;
let orderProperty = {};
......@@ -613,9 +621,11 @@ class OorderstatusService extends ServiceBase {
_obusinessmenProperty.legal_name = _orderInfo.legal_name;
_obusinessmenProperty.legal_mobile = _orderInfo.legal_mobile;
_obusinessmenProperty.legal_idcard = _orderInfo.id_card;
_obusinessmenProperty.bd_id = this.trim(_order.bd_id);
_obusinessmenProperty.bd_id =Number(_order.bd_id || 0) ;
_obusinessmenProperty.bd_path = this.trim(_order.bd_path);
_obusinessmenProperty.deliver_id = this.trim(params.deliver_id);
_obusinessmenProperty.delier_user_id = this.trim(params.delier_user_id);
_obusinessmenProperty.deliver_user_path= this.trim(params.deliver_user_path);
let orderProperty = {};
orderProperty.id = _order.id;
orderProperty.status = this.trim(params.status);
......@@ -1031,6 +1041,42 @@ class OorderstatusService extends ServiceBase {
}
}
/**
* 阿里建账
* @param params
* @returns {Promise<void>}
*/
async accountCreation(params){
if (!params.province) {
return system.getResult(null, `参数错误 省份不能为空`);
}
let obusinessmen = await this.obusinessmenDao.model.findOne({
where:{
order_id:params._order.id
}
});
if(!obusinessmen){
return system.getResult(null, `个体户不存在`);
}
let orderProperty = {};
orderProperty.status = this.trim(params.status);
orderProperty.id = params._order.id;
let _obusinessmenProperty = {};
_obusinessmenProperty.province = this.trim(params.province);
_obusinessmenProperty.id = obusinessmen.id;
try {
await this.db.transaction(async t => {
await this.obusinessmenDao.update(_obusinessmenProperty, t);
await this.dao.update(orderProperty, t);
});
return system.getResultSuccess();
} catch (error) {
console.log(error);
return system.getResult(null, `系统错误 错误信息${error}`);
}
}
}
module.exports = OorderstatusService;
\ 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