Commit b4104a53 by 宋毅

增加订单推送修改状态

parent e66d70cf
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
<excludeFolder url="file://$MODULE_DIR$/temp" />
<excludeFolder url="file://$MODULE_DIR$/tmp" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/center-order.iml" filepath="$PROJECT_DIR$/.idea/center-order.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>
\ No newline at end of file
var APIBase = require("../../api.base");
var system = require("../../../system");
var settings = require("../../../../config/settings");
class OrderAPI extends APIBase {
constructor() {
super();
this.orderinfoSve = system.getObject("service.dbcorder.orderinfoSve");
}
/**
* 接口跳转-POST请求
* action_process 执行的流程
......@@ -22,9 +24,13 @@ class OrderAPI extends APIBase {
var result = await this.opActionProcess(pobj, pobj.actionType, req);
return result;
}
async opActionProcess(pobj, action_type, req) {
var opResult = null;
switch (action_type) {
case "updateOrderPushStatus"://更新订单推送状态
opResult = await this.orderinfoSve.updateOrderPushStatus(pobj.actionBody);
break;
case "addOrder"://创建订单
this.execClientNew.execLogs("center-order-addOrder-info-1:" + req.path, pobj, "center-order-doexecMethod", null, null);
opResult = await this.addOrder(pobj, pobj.actionBody);
......@@ -98,7 +104,7 @@ class OrderAPI extends APIBase {
opResult = await this.orderinfoSve.tmConfirm(pobj);
break;
case "bulkCreateOrders":
opResult = await this.orderinfoSve.bulkCreateOrders(pobj,req);
opResult = await this.orderinfoSve.bulkCreateOrders(pobj, req);
break;
default:
opResult = system.getResult(null, "action_type参数错误");
......@@ -146,6 +152,7 @@ class OrderAPI extends APIBase {
var refOpResult = await this.reflexAction(interface_info, pobj);
return refOpResult;
}
async reflexAction(interface_info, pobj) {
var refResult = null;
pobj.interface_params = interface_info.params;
......@@ -160,12 +167,12 @@ class OrderAPI extends APIBase {
var params = [pobj];
this.execClientNew.execLogs("center-order-addOrder-reflexAction-info-2:", params, "center-order-doexecMethod", null, null);
refResult = await invokeObj[interface_info.method_name].apply(invokeObj, params);
}
else if (interface_info.interface_type == "yc") {
} else if (interface_info.interface_type == "yc") {
}
return refResult;
}
}
module.exports = OrderAPI;
\ No newline at end of file
......@@ -6,6 +6,7 @@ class TaskAction extends APIBase {
super();
this.orderinfoSve = system.getObject("service.dbcorder.orderinfoSve");
this.opneedinfoSve = system.getObject("service.dbneed.opneedinfoSve");
this.orderproductSve = system.getObject("service.dbcorder.orderproductSve");
}
/**
* 接口跳转-POST请求
......@@ -18,5 +19,10 @@ class TaskAction extends APIBase {
return result;
}
async taskProduct(pobj, qobj, req) {
var result = await this.orderproductSve.syncProductData();
return result;
}
}
module.exports = TaskAction;
\ No newline at end of file
......@@ -35,5 +35,48 @@ class OrderProductDao extends Dao {
raw: true
});
}
/**
* 根据ids 获取需求
* @param ids
* @returns {Promise<void>}
*/
async getNeedsByIds(ids){
let needs = await this.findAll({
where: {
channelNeedNo: {
[Op.in]:ids
}
},
attributes: [
"id",
"uapp_id",
"needNo",
"channelNeedNo",
"channelUserId",
"followManUserId",
"followManMobile",
"city",
"province",
"publishContent",
"publishName",
"publishMobile",
"notes",
"followContent",
"disposeNotes",
"status",
"typeCode",
"typeName",
"channelTypeCode",
"channelTypeName",
"publisherOnlyCode",
"followManName",
"followManOnlyCode",
"created_at"
],
raw: true
})
return needs;
}
}
module.exports = OrderProductDao;
......@@ -70,7 +70,7 @@ module.exports = {
//凭单类型
"direction_type": { "sr": "收", "zc": "支" },
"push_return_type": { "0": "推送失败", "1": "推送成功" },
"push_chance_type": { "wts": "推送", "yts": "已推送", "ygj": "已跟进", "ycd": "已成单", "ygb": "已关闭" },
"push_chance_type": { "wts": "推送", "yts": "已推送", "ygj": "已跟进", "ycd": "已成单", "ygb": "已关闭" },
"policy_type": { 'fzbt': '租金减免', 'jrdk': '金融贷款', 'zdfc': '行政措施', 'ssjm': '税收优惠', 'rlzy': '人力资源' },
"customer_intention": { "dgj": "待跟进", "yyx": "有意向", "wyx": "无意向" },
"solution_status": { "dqr": "待确认", "ybh": "用户驳回", "ywc": "已完成", "yzf": "已作废" },
......
......@@ -5,6 +5,7 @@ const ServiceBase = require("../../sve.base");
const uuidv4 = require('uuid/v4');
const sequelize = require('sequelize');
const platformConfig = require("../../../db/metadata/apps/platform.js");
class OrderInfoService extends ServiceBase {
constructor() {
super("dbcorder", ServiceBase.getDaoName(OrderInfoService));
......@@ -19,11 +20,36 @@ class OrderInfoService extends ServiceBase {
this.push360Sve = system.getObject('service.common.push360Sve');
}
/**
* 修改需求商机推送状态
* @param actionBody
* @returns {Promise<void>}
*/
async updateOrderPushStatus(actionBody) {
let channelOrderNo = actionBody.orderNo;
let setObj = {
pushStatus: actionBody.pushStatus
}
if (actionBody.pushNumber && actionBody.pushNumber > 0) {
setObj.isPushNum = actionBody.pushNumber;
}
let whereObj = {
where: {
channelOrderNo: channelOrderNo
}
}
if (channelOrderNo) {
this.dao.updateByWhere(setObj, whereObj);
}
return system.getResultSuccess();
}
//--------------------task----------------start-------------------
async taskSyncOrderStatus(){
let sql="SELECT * FROM `c_order_info_fq` LIMIT 300";
var result =await this.customQuery(sql);
async taskSyncOrderStatus() {
let sql = "SELECT * FROM `c_order_info_fq` LIMIT 300";
var result = await this.customQuery(sql);
}
//--------------------task--------------ednd---------------------
......@@ -160,6 +186,7 @@ class OrderInfoService extends ServiceBase {
}//渠道购买存在购买者手机号
var orderReceiptVoucher = await this.orderReceiptVoucherDao.create(orderReceiptVoucherObj, t);
}
/**
* 创建商标订单
* @param {*} pobj
......@@ -306,7 +333,6 @@ class OrderInfoService extends ServiceBase {
}
async createTmOrder(pobj) {
var packagingTmResult = await this.packagingTmDeliveryData(pobj, pobj.actionBody);
if (packagingTmResult.status != 0) {
......@@ -499,16 +525,19 @@ class OrderInfoService extends ServiceBase {
// }
return system.getResultSuccess(deliveryData);
}
async createLogoOrder(pobj) {
var packagingTmResult = await this.packagingLogoDeliveryData(pobj, pobj.actionBody);
if (packagingTmResult.status != 0) {
return packagingTmResult;
}
if (pobj.actionBody.deliveryData.color_description) {
pobj.actionBody.deliveryData.color_description = pobj.actionBody.deliveryData.color_description.replace(/\"/g, "\\\"");;
pobj.actionBody.deliveryData.color_description = pobj.actionBody.deliveryData.color_description.replace(/\"/g, "\\\"");
;
}
if (pobj.actionBody.deliveryData.font_description) {
pobj.actionBody.deliveryData.font_description = pobj.actionBody.deliveryData.font_description.replace(/\"/g, "\\\"");;
pobj.actionBody.deliveryData.font_description = pobj.actionBody.deliveryData.font_description.replace(/\"/g, "\\\"");
;
}
pobj.actionBody.deliveryData.itemCode = "znlogosjcp";
var sql = "SELECT * FROM " +
......@@ -534,6 +563,7 @@ class OrderInfoService extends ServiceBase {
});
});
}
/**
* 创建其他订单
* @param {*} pobj
......@@ -543,7 +573,7 @@ class OrderInfoService extends ServiceBase {
return await self.db.transaction(async function (t) {
var orderNo = await self.getBusUid("ot" + pobj.appInfo.uapp_id);
if (pobj.actionBody.channelOrder && pobj.actionBody.channelOrder.channelOrderNo) {
var rtn = await self.dao.findOne({ channelOrderNo: pobj.actionBody.channelOrder.channelOrderNo }, t);
var rtn = await self.dao.findOne({channelOrderNo: pobj.actionBody.channelOrder.channelOrderNo}, t);
if (rtn) {
return system.getResultSuccess({
orderNo: rtn.orderNo,
......@@ -573,7 +603,7 @@ class OrderInfoService extends ServiceBase {
return await self.db.transaction(async function (t) {
var orderNo = await self.getBusUid("ot" + pobj.appInfo.uapp_id);
if (pobj.actionBody.channelOrder && pobj.actionBody.channelOrder.channelOrderNo) {
var count = await self.dao.findCount({ where: { channelOrderNo: pobj.actionBody.channelOrder.channelOrderNo } });
var count = await self.dao.findCount({where: {channelOrderNo: pobj.actionBody.channelOrder.channelOrderNo}});
if (count > 0) {
return system.getResultFail(-1, "订单不能重复创建s");
}
......@@ -641,7 +671,7 @@ class OrderInfoService extends ServiceBase {
var self = this;
return await self.db.transaction(async function (t) {
var orderNo = await self.getBusUid("ic" + pobj.appInfo.uapp_id);
var needsolutioninfo = await self.needsolutionDao.findOne({ channelSolutionNo: pobj.actionBody.solutionBizId }, t)
var needsolutioninfo = await self.needsolutionDao.findOne({channelSolutionNo: pobj.actionBody.solutionBizId}, t)
pobj.actionBody.channelOrder = {
channelServiceNo: pobj.actionBody.orderNo,
channelOrderNo: pobj.actionBody.orderNo,
......@@ -650,7 +680,7 @@ class OrderInfoService extends ServiceBase {
}
var item = await self.createOrder(pobj, orderNo, t);
// needsolutioninfo.status = "ywc";
await self.needsolutionDao.update({ id: needsolutioninfo.id, status: "dqr" }, t);
await self.needsolutionDao.update({id: needsolutioninfo.id, status: "dqr"}, t);
self.dao.addOrderDelivery(pobj.actionBody.deliveryData, orderNo, t);
return system.getResultSuccess({
orderNo: orderNo,
......@@ -662,9 +692,10 @@ class OrderInfoService extends ServiceBase {
}
//接收方案状态及支付信息
async receiveSolutionPayInfo(channelSolutionNo, status, orderPrice, self, t) {
var needsolutioninfo = await self.needsolutionDao.findOne({ channelSolutionNo: channelSolutionNo }, t);
var needsolutioninfo = await self.needsolutionDao.findOne({channelSolutionNo: channelSolutionNo}, t);
if (!needsolutioninfo || !needsolutioninfo.id) {
return system.getResultFail(-400, "未知方案");
}
......@@ -691,7 +722,6 @@ class OrderInfoService extends ServiceBase {
//----------------------订单创建-----------end----------------------
//=================================修改订单信息==============end======================================
async updateContacts(pobj, actionBody) {//修改订单联系人
......@@ -725,7 +755,7 @@ class OrderInfoService extends ServiceBase {
if (actionBody.orderContact.fax) {
updateFields['fax'] = actionBody.orderContact.fax
}
this.ordercontactsDao.updateByWhere(updateFields, { where: { sourceOrderNo: actionBody.orderNo } });
this.ordercontactsDao.updateByWhere(updateFields, {where: {sourceOrderNo: actionBody.orderNo}});
if (actionBody.notes) {
actionBody.isGetContact = 0;
var itemResult = await this.getOrderDeliveryInfo(pobj, actionBody);
......@@ -736,7 +766,7 @@ class OrderInfoService extends ServiceBase {
}
}
}//修改备注
var resultParams = { orderStatus: orderItem.orderStatus };
var resultParams = {orderStatus: orderItem.orderStatus};
if (orderItem.orderStatus < 4) {
var orderProductItem = await this.orderproductDao.getItemInfoByOrderNo(actionBody.orderNo);
if (orderProductItem) {
......@@ -745,6 +775,7 @@ class OrderInfoService extends ServiceBase {
}
return system.getResultSuccess(resultParams);
}
async updateTmOrder(pobj, actionBody) {//修改商标订单信息
var orderItem = await this.dao.getItemStatusByOrderNo(actionBody.orderNo, pobj.appInfo.uapp_id);
if (!orderItem) {
......@@ -849,7 +880,7 @@ class OrderInfoService extends ServiceBase {
}
if (putOrderProductItem.channelItemAppendName) {
self.orderproductDao.updateByWhere(putOrderProductItem, { where: { sourceOrderNo: actionBody.orderNo } });
self.orderproductDao.updateByWhere(putOrderProductItem, {where: {sourceOrderNo: actionBody.orderNo}});
}
}
if (tipsMsg) {
......@@ -923,8 +954,7 @@ class OrderInfoService extends ServiceBase {
const nclThree = tempNclList[g].nclThree;
tempNclList[g].nclPublicExpense = Number(tempNclList[g].nclPublicExpense) + (nclThree.length - 10) * Number(price_additions_item.public_expense);
}
}
else {
} else {
if (price_additions_item) {
isUpdateProduct++;
delete product_info["price_additions_item"];
......@@ -948,11 +978,11 @@ class OrderInfoService extends ServiceBase {
pfProfitSum: pfProfitSum,//decimal(12,2) //订单平台毛利润总额((100-渠道利润分成比例)/100 * 订单毛利润总额)
channelProfitSum: channelProfitSum//decimal(12,2) //订单渠道分成毛利润总额(订单毛利润总额-平台毛利润总额)
}
self.updateByWhere(putOrderFields, { where: { orderNo: actionBody.orderNo } }, t);
self.orderReceiptVoucherDao.updateByWhere({ totalSum: totalSum }, { where: { sourceOrderNo: actionBody.orderNo } }, t);
self.updateByWhere(putOrderFields, {where: {orderNo: actionBody.orderNo}}, t);
self.orderReceiptVoucherDao.updateByWhere({totalSum: totalSum}, {where: {sourceOrderNo: actionBody.orderNo}}, t);
}
if (isUpdateProduct > 0) {
self.orderproductDao.updateByWhere({ serviceItemSnapshot: JSON.stringify(product_info) }, { where: { sourceOrderNo: actionBody.orderNo } }, t);
self.orderproductDao.updateByWhere({serviceItemSnapshot: JSON.stringify(product_info)}, {where: {sourceOrderNo: actionBody.orderNo}}, t);
}
});
}//未付款进行订单金额修改
......@@ -991,26 +1021,31 @@ class OrderInfoService extends ServiceBase {
sql = sql.replace('\n', '');
this.customQuery(sql);
}
async addOrderDelivery(data, orderNo, t) {//新增交付信息
await this.dao.addOrderDelivery(data, orderNo, t);
}
async getOrderDelivery(orderNo) {//查询交付信息
var sql = "select * from `c_order_delivery` where sourceOrderNo='" + orderNo + "'";
return await this.customQuery(sql);
}
async delOrder(pobj, actionBody) {//删除订单
await this.dao.delOrderByOrderNo(actionBody.orderNo, pobj.appInfo.uapp_id, pobj.userInfo.channel_userid);
return system.getResultSuccess();
}
//baidureg关闭订单 2020-12-20
async delOrders(pobj, actionBody) {//删除订单
var i;
var len = actionBody.orderNo.length
for(i=0;i<len;i++){
for (i = 0; i < len; i++) {
await this.dao.delOrderByOrderNo(actionBody.orderNo[i], pobj.appInfo.uapp_id, pobj.userInfo.channel_userid);
}
return system.getResultSuccess();
}
// 2020 0918 lin 新增 根据OrderStatus查询订单
async queryVOrderByOrderStatusAndItemCode(pobj, actionBody) {
var sql = "select `id`,`isSolution`,`orderNo`,`channelServiceNo`,`channelOrderNo`,`channelUserId`,`ownerUserId`,`payTime`,`quantity`,`serviceQuantity`,`orderStatusName`,`orderStatus`,`totalSum`,`payTotalSum`,`refundSum`,"
......@@ -1039,12 +1074,13 @@ class OrderInfoService extends ServiceBase {
// 2020 0923 lin 新增 根据id修改orderStatus,目前用来商标交易更新订单状态
async updateOrderStatusById(pobj, actionBody) {
var orderInfo = await this.dao.model.update({ orderStatus: actionBody.orderStatus }, { where: { id: actionBody.orderId } })
var orderInfo = await this.dao.model.update({orderStatus: actionBody.orderStatus}, {where: {id: actionBody.orderId}})
if (!orderInfo) {
return system.getResult(null, "修改失败");
}
return system.getResultSuccess(orderInfo);
}
//=================================修改订单信息==============end======================================
......@@ -1071,6 +1107,7 @@ class OrderInfoService extends ServiceBase {
}
return system.getResultSuccess(param);
}
/**
* 修改订单收款信息
* @param {*} pobj
......@@ -1079,7 +1116,7 @@ class OrderInfoService extends ServiceBase {
async putReceiptVoucherInfo(pobj, actionBody) {
var isPut = actionBody.isPut || "";
if (isPut > 0) {
await this.orderReceiptVoucherDao.updateByWhere(actionBody.setField, { where: { id: actionBody.receiptVoucherId } });
await this.orderReceiptVoucherDao.updateByWhere(actionBody.setField, {where: {id: actionBody.receiptVoucherId}});
}
return system.getResultSuccess();
}
......@@ -1092,13 +1129,13 @@ class OrderInfoService extends ServiceBase {
actionBody:
{
delivery_content: {},
order_info: { orderStatus: 2 },
order_info: {orderStatus: 2},
product_info: {}
}
};
var sql = "select * from c_order_delivery where sourceOrderNo=:sourceOrderNo";
var paramWhere = { sourceOrderNo: actionBody.orderNo };
var paramWhere = {sourceOrderNo: actionBody.orderNo};
var list = await this.customQuery(sql, paramWhere);
if (list && list.length > 0) {
if (list[0].deliveryContent) {
......@@ -1209,25 +1246,25 @@ class OrderInfoService extends ServiceBase {
* @param pobj
* @returns {Promise<void>}
*/
async getOrdersStatisticsByUappId(pobj){
async getOrdersStatisticsByUappId(pobj) {
let ac = pobj.actionBody;
let sql = `SELECT uapp_id,count(*) count,DATE_FORMAT(created_at,'%Y-%m-%d') time FROM c_order_info WHERE deleted_at is null `;
let whereParam = {};
if(ac.start&&ac.end){
if (ac.start && ac.end) {
sql += ` AND created_at >= :start AND created_at <= :end`;
whereParam.start = ac.start;
whereParam.end = ac.end;
}
if(ac.type_code){
if (ac.type_code) {
sql += ` AND typeCode = :type_code`;
whereParam.type_code = ac.type_code;
}
if(ac.status){
if (ac.status) {
sql += ` AND status = :status`;
whereParam.status = ac.status;
}
sql += ` GROUP BY uapp_id,DATE_FORMAT(created_at,'%Y-%m-%d') ORDER BY created_at ASC`
let result = await this.customQuery(sql,whereParam);
let result = await this.customQuery(sql, whereParam);
return system.getResultSuccess(result);
}
......@@ -1236,53 +1273,54 @@ class OrderInfoService extends ServiceBase {
* @param pobj
* @returns {Promise<void>}
*/
async getOrdersStatisticsByProduct(pobj){
async getOrdersStatisticsByProduct(pobj) {
let ac = pobj.actionBody;
let sql = `SELECT b.itemCode typeCode,a.uapp_id,count( * ) count FROM c_order_info a left join c_order_product b on a.orderNo = b.sourceOrderNo WHERE b.itemCode is not null `;
let whereParams = {};
if(ac.start&&ac.end){
if (ac.start && ac.end) {
sql += ` and a.created_at >= :start and a.created_at <= :end `;
whereParams.start = ac.start;
whereParams.end = ac.end;
}
sql += ` GROUP BY b.itemCode,a.uapp_id`;
let result = await this.customQuery(sql,whereParams);
let result = await this.customQuery(sql, whereParams);
return system.getResultSuccess(result);
}
/**
* 订单对比
* @param pobj
* @returns {Promise<void>}
*/
async getOrdersComparison(pobj){
let ab =pobj.actionBody;
async getOrdersComparison(pobj) {
let ab = pobj.actionBody;
let sql1 = `select count(*) count from c_order_info a left join c_order_product b on a.orderNo = b.sourceOrderNo where a.deleted_at is null `;
let whereParams = {};
if(ab.startNow&&ab.endNow){
if (ab.startNow && ab.endNow) {
sql1 += ` and a.created_at >= :start and a.created_at <= :end`;
whereParams.start = ab.startNow;
whereParams.end = ab.endNow;
}
if(ab.uapp_id){
if (ab.uapp_id) {
sql1 += ` and a.uapp_id = :uapp_id`;
whereParams.uapp_id = ab.uapp_id;
}
if(ab.type_code){
if (ab.type_code) {
sql1 += ` and b.itemCode = :type_code`;
whereParams.type_code = ab.type_code;
}
let totalRet1 = await this.customQuery(sql1,whereParams);
if(ab.startLast&&ab.endLast){
let totalRet1 = await this.customQuery(sql1, whereParams);
if (ab.startLast && ab.endLast) {
whereParams.start = ab.startLast;
whereParams.end = ab.endLast;
}
let totalRet2 = await this.customQuery(sql1,whereParams);
let result ={
now:{
total:totalRet1[0].count,
let totalRet2 = await this.customQuery(sql1, whereParams);
let result = {
now: {
total: totalRet1[0].count,
},
last:{
total:totalRet2[0].count,
last: {
total: totalRet2[0].count,
}
}
return system.getResultSuccess(result);
......@@ -1293,7 +1331,7 @@ class OrderInfoService extends ServiceBase {
* @param pobj
* @returns {Promise<void>}
*/
async getOrdersComparisonList(pobj){
async getOrdersComparisonList(pobj) {
let ab = pobj.actionBody;
let pageSize = Number(ab.pageSize || 20);
let pageIndex = Number(ab.pageIndex || 1);
......@@ -1320,46 +1358,46 @@ class OrderInfoService extends ServiceBase {
WHERE
a.deleted_at IS NULL`;
let totalSql = `select count(DISTINCT(a.orderNo)) count from c_order_info a left join c_order_product b on a.orderNo = b.sourceOrderNo LEFT JOIN center_order.c_order_contacts c on a.orderNo = c.sourceOrderNo where a.deleted_at is null `
let whereParams ={};
if(ab.start&&ab.end){
let whereParams = {};
if (ab.start && ab.end) {
listSql += ` and a.created_at >= :start and a.created_at <= :end`;
totalSql += ` and a.created_at >= :start and a.created_at <= :end`;
whereParams.start = ab.start;
whereParams.end = ab.end;
}
if(ab.uapp_id){
if (ab.uapp_id) {
listSql += ` and a.uapp_id = :uapp_id`;
totalSql += ` and a.uapp_id = :uapp_id`;
whereParams.uapp_id = ab.uapp_id;
}
if(ab.type_code){
if (ab.type_code) {
listSql += ` and b.itemCode = :type_code`;
totalSql += ` and b.itemCode = :type_code`;
whereParams.type_code = ab.type_code;
}
if(ab.fuzzy_code){
if (ab.fuzzy_code) {
listSql += ` and ( a.orderNo like :fuzzy_code or a.channelOrderNo like :fuzzy_code or c.mobile like :fuzzy_code)`;
totalSql += ` and ( a.orderNo like :fuzzy_code or a.channelOrderNo like :fuzzy_code or c.mobile like :fuzzy_code)`;
whereParams.fuzzy_code = "%"+ab.fuzzy_code+"%";
whereParams.fuzzy_code = "%" + ab.fuzzy_code + "%";
}
listSql += ` order by a.created_at desc`;
if(pageSize != -1){
if (pageSize != -1) {
listSql += ` limit ${pageSize} offset ${from}`;
}
let result = await this.customQuery(listSql,whereParams);
let total = await this.customQuery(totalSql,whereParams);
result = result.map(t =>{
if(t.itemName.endsWith('市')){
let result = await this.customQuery(listSql, whereParams);
let total = await this.customQuery(totalSql, whereParams);
result = result.map(t => {
if (t.itemName.endsWith('市')) {
t.itemName = '公司注册';
}
if(t.itemName.endsWith('区')){
if (t.itemName.endsWith('区')) {
t.itemName = '云上园区注册';
}
return t;
})
let data ={
total:total[0].count,
rows:result
let data = {
total: total[0].count,
rows: result
}
return system.getResult(data);
}
......@@ -1383,7 +1421,7 @@ class OrderInfoService extends ServiceBase {
async getOrderServiceNoByOrderNo(pobj, actionBody) {//根据订单号获取订单信息
var sql = "select `orderNo`,orderServiceNo from v_order where orderNo=:orderNo LIMIT 1";
var paramWhere = { orderNo: actionBody.orderNo };
var paramWhere = {orderNo: actionBody.orderNo};
var list = await this.customQuery(sql, paramWhere);
if (!list || list.length == 0) {
return system.getResult(null, "订单数据为空,30200");
......@@ -1396,7 +1434,7 @@ class OrderInfoService extends ServiceBase {
var sql = "select `orderNo`,`channelServiceNo`,`channelOrderNo`,`channelUserId`,`ownerUserId`,`payTime`,`quantity`,`serviceQuantity`,`orderStatusName`,`orderStatus`,`totalSum`,`payTotalSum`,`refundSum`," +
" `invoiceApplyStatus`,`opNotes`,`notes`,`channelItemCode`,`channelItemName`,`price`,priceDesc,priceTypeName,channelItemAppendName,`serviceItemCode`,`picUrl`,`serviceItemSnapshot`,`orderSnapshot`,created_at from " +
" v_order where uapp_id=:uapp_id and orderNo=:orderNo LIMIT 1";
var paramWhere = { uapp_id: pobj.appInfo.uapp_id, orderNo: actionBody.orderNo };
var paramWhere = {uapp_id: pobj.appInfo.uapp_id, orderNo: actionBody.orderNo};
var list = await this.customQuery(sql, paramWhere);
if (!list || list.length == 0) {
return system.getResult(null, "订单数据为空,30200");
......@@ -1416,7 +1454,7 @@ class OrderInfoService extends ServiceBase {
async getOrderByChannelOrderNo(pobj, actionBody) {// 根据渠道订单号获取订单
var app = pobj.appInfo;
let orderItem = await this.findOne({ channelOrderNo: actionBody.bizId, uapp_id: app.uapp_id });
let orderItem = await this.findOne({channelOrderNo: actionBody.bizId, uapp_id: app.uapp_id});
if (!orderItem) {
return system.getResult(null, "order data is empty");
}
......@@ -1426,7 +1464,7 @@ class OrderInfoService extends ServiceBase {
async getOrderDeliveryInfo(pobj, actionBody) {//获取订单交付信息
var sql = "select * from c_order_delivery where sourceOrderNo=:sourceOrderNo";
var paramWhere = { sourceOrderNo: actionBody.orderNo };
var paramWhere = {sourceOrderNo: actionBody.orderNo};
var list = await this.customQuery(sql, paramWhere);
var result = system.getResultSuccess();
result.data = {};
......@@ -1444,9 +1482,10 @@ class OrderInfoService extends ServiceBase {
}//是否获取联系人,isGetContact有值则不获取
return result;
}
async getOrderDeliveryFlowInfo(pobj, actionBody) {//获取订单交付流程信息
var sql = "select * from c_delivery_official_flow where sourceOrderNo=:sourceOrderNo";
var paramWhere = { sourceOrderNo: actionBody.sourceOrderNo };
var paramWhere = {sourceOrderNo: actionBody.sourceOrderNo};
var list = await this.customQuery(sql, paramWhere);
var result = system.getResultSuccess();
if (list && list.length > 0) {
......@@ -1456,9 +1495,10 @@ class OrderInfoService extends ServiceBase {
}
return result;
}
async getOrderDeliveryFlowList(pobj, actionBody) {//获取订单交付流程列表信息
var sql = "select * from c_delivery_official_flow where sourceOrderNo IN(:sourceOrderNo)";
var paramWhere = { sourceOrderNo: actionBody.sourceOrderNoList };
var paramWhere = {sourceOrderNo: actionBody.sourceOrderNoList};
var list = await this.customQuery(sql, paramWhere);
var tmpList = [];
if (list && list.length > 0) {
......@@ -1474,6 +1514,7 @@ class OrderInfoService extends ServiceBase {
}
return system.getResultSuccess(tmpList);
}
async getOrderLogInfo(pobj, actionBody) {//获取订单日志信息
var list = await this.flowlogDao.getlogListBySourceOrderNo(actionBody.sourceOrderNo);
return system.getResultSuccess(list);
......@@ -1540,13 +1581,12 @@ class OrderInfoService extends ServiceBase {
await this.flowlogDao.create(orderLog);
var sql = null;
if (addi > 0) {
await this.dao.updateByWhere({ orderStatus: 4 }, { where: { id: item.id } });
await this.dao.updateByWhere({orderStatus: 4}, {where: {id: item.id}});
sql = "INSERT INTO `c_delivery_official_flow` (`sourceOrderNo`,`officialFlow`) VALUE('" +
actionBody.orderNo + "','" + JSON.stringify(updateDeliveryInfo) + "')";
}
else {
} else {
if (updateDeliveryInfo.orderDeliveryStatusName == "证件邮寄环节") {
await this.dao.updateByWhere({ orderStatus: 8 }, { where: { id: item.id } });
await this.dao.updateByWhere({orderStatus: 8}, {where: {id: item.id}});
}
sql = "UPDATE `c_delivery_official_flow` SET officialFlow ='" + JSON.stringify(updateDeliveryInfo) + "' where sourceOrderNo='" + actionBody.orderNo + "'";
sql = sql.replace('\n', '');
......@@ -1646,7 +1686,7 @@ class OrderInfoService extends ServiceBase {
try {
await self.db.transaction(async function (t) {
if (Object.keys(updateOrderFields).length > 0) {
self.updateByWhere(updateOrderFields, { where: { orderNo: actionBody.orderNo } }, t);
self.updateByWhere(updateOrderFields, {where: {orderNo: actionBody.orderNo}}, t);
}
await self.flowlogDao.create(orderLog, t);
});
......@@ -1688,8 +1728,7 @@ class OrderInfoService extends ServiceBase {
tmStatusName: actionBody.tmStatusName
});
addi++;
}
else {
} else {
flowList = deliveryFlowInfo.data;
}
var dataIndex = flowList.findIndex(f => f.tmStatus == actionBody.tmStatus);
......@@ -1706,8 +1745,7 @@ class OrderInfoService extends ServiceBase {
if (addi > 0) {
sql = "INSERT INTO `c_delivery_official_flow` (`sourceOrderNo`,`officialFlow`) VALUE('" +
actionBody.officialInfo.tmRegistNum + "','" + JSON.stringify(flowList) + "')";
}
else {
} else {
sql = "UPDATE `c_delivery_official_flow` SET officialFlow ='" + JSON.stringify(flowList) + "' where sourceOrderNo='" + actionBody.officialInfo.tmRegistNum + "'";
sql = sql.replace('\n', '');
}
......@@ -1725,7 +1763,7 @@ class OrderInfoService extends ServiceBase {
}
var self = this;
await self.db.transaction(async function (t) {
await self.dao.updateByWhere({ orderStatus: 2, payTime: new Date() }, { where: { orderNo: parmas.orderNo } }, t);
await self.dao.updateByWhere({orderStatus: 2, payTime: new Date()}, {where: {orderNo: parmas.orderNo}}, t);
var putFields = {
auditStatus: "tg",
accountType: parmas.pay_type,
......@@ -1736,7 +1774,7 @@ class OrderInfoService extends ServiceBase {
buyerAliLogonId: parmas.buyer_logon_id || "",//买家支付宝账号
notes: parmas.paytime || ""//备注下支付时间
};
await self.orderReceiptVoucherDao.updateByWhere(putFields, { where: { sourceOrderNo: parmas.orderNo } }, t);
await self.orderReceiptVoucherDao.updateByWhere(putFields, {where: {sourceOrderNo: parmas.orderNo}}, t);
var orderLog = {
uapp_id: appInfo.uapp_id,
sourceOrderNo: parmas.orderNo,
......@@ -1785,7 +1823,10 @@ class OrderInfoService extends ServiceBase {
}
var self = this;
await self.db.transaction(async function (t) {
await self.dao.updateByWhere({ orderStatus: 2, payTime: parmas.gmt_payment }, { where: { orderNo: parmas.orderNo } }, t);
await self.dao.updateByWhere({
orderStatus: 2,
payTime: parmas.gmt_payment
}, {where: {orderNo: parmas.orderNo}}, t);
var putFields = {
auditStatus: "tg",
accountType: parmas.pay_type,
......@@ -1797,7 +1838,7 @@ class OrderInfoService extends ServiceBase {
updated_at: parmas.gmt_payment,//该笔交易的买家付款时间。格式为yyyy-MM-dd HH:mm:ss。
notes: parmas.gmt_create || ""//该笔交易创建的时间。格式为yyyy-MM-dd HH:mm:ss。
};
await self.orderReceiptVoucherDao.updateByWhere(putFields, { where: { sourceOrderNo: parmas.orderNo } }, t);
await self.orderReceiptVoucherDao.updateByWhere(putFields, {where: {sourceOrderNo: parmas.orderNo}}, t);
var orderLog = {
uapp_id: appInfo.uapp_id,
sourceOrderNo: parmas.orderNo,
......@@ -1839,7 +1880,7 @@ class OrderInfoService extends ServiceBase {
if (applyAddr.indexOf(addArr[i]) >= 0) {
var sql = "update c_order_region set count=count+1 where province=:province";
// 修改条件 省名字相同,appid相同
var paramWhere = { where: { province: addArr[i], uapp_id: item.uapp_id } };
var paramWhere = {where: {province: addArr[i], uapp_id: item.uapp_id}};
var updateFields = {
count: sequelize.literal('count+1')
}
......@@ -1867,7 +1908,10 @@ class OrderInfoService extends ServiceBase {
}
var self = this;
await self.db.transaction(async function (t) {
await self.dao.updateByWhere({ orderStatus: 2, payTime: parmas.time_end }, { where: { orderNo: parmas.orderNo } }, t);
await self.dao.updateByWhere({
orderStatus: 2,
payTime: parmas.time_end
}, {where: {orderNo: parmas.orderNo}}, t);
var putFields = {
auditStatus: "tg",
accountType: parmas.pay_type,
......@@ -1879,7 +1923,7 @@ class OrderInfoService extends ServiceBase {
updated_at: parmas.time_end,//该笔交易的买家付款时间。格式为yyyy-MM-dd HH:mm:ss。
notes: parmas.gmt_create || ""//该笔交易创建的时间。格式为yyyy-MM-dd HH:mm:ss。
};
await self.orderReceiptVoucherDao.updateByWhere(putFields, { where: { sourceOrderNo: parmas.orderNo } }, t);
await self.orderReceiptVoucherDao.updateByWhere(putFields, {where: {sourceOrderNo: parmas.orderNo}}, t);
var orderLog = {
uapp_id: appInfo.uapp_id,
sourceOrderNo: parmas.orderNo,
......@@ -1926,12 +1970,15 @@ class OrderInfoService extends ServiceBase {
if (item.orderStatus > 1) {
return system.getResultSuccess(null, "order status is pay!");
}
if(item.payTotalSum > parmas.payTotalSum){
return system.getResultFail(-1,'支付金额有误!')
if (item.payTotalSum > parmas.payTotalSum) {
return system.getResultFail(-1, '支付金额有误!')
}
var self = this;
await self.db.transaction(async function (t) {
await self.dao.updateByWhere({ orderStatus: 2, payTime: parmas.time_end }, { where: { orderNo: parmas.orderNo } }, t);
await self.dao.updateByWhere({
orderStatus: 2,
payTime: parmas.time_end
}, {where: {orderNo: parmas.orderNo}}, t);
var putFields = {
auditStatus: "tg",
accountType: parmas.pay_type,
......@@ -1943,7 +1990,7 @@ class OrderInfoService extends ServiceBase {
updated_at: new Date(),//该笔交易的买家付款时间。格式为yyyy-MM-dd HH:mm:ss。
notes: parmas.gmt_create || ""//该笔交易创建的时间。格式为yyyy-MM-dd HH:mm:ss。
};
await self.orderReceiptVoucherDao.updateByWhere(putFields, { where: { sourceOrderNo: parmas.orderNo } }, t);
await self.orderReceiptVoucherDao.updateByWhere(putFields, {where: {sourceOrderNo: parmas.orderNo}}, t);
var orderLog = {
uapp_id: appInfo.uapp_id,
sourceOrderNo: parmas.orderNo,
......@@ -1981,6 +2028,7 @@ class OrderInfoService extends ServiceBase {
}
return system.getResultSuccess(resultParams);
}
//-------------------------------服务商通知订单流程-------------end----------------
//商标方案确认
async tmConfirm(pobj) {
......@@ -2008,7 +2056,7 @@ class OrderInfoService extends ServiceBase {
}
//获取订单信息
var orderinfo = await this.dao.model.findOne({
where: { orderNo: orderNo, uapp_id: app.uapp_id }, raw: true
where: {orderNo: orderNo, uapp_id: app.uapp_id}, raw: true
});
if (!orderinfo || !orderinfo.id) {
return system.getResultFail(-110, "未知订单信息");
......@@ -2091,7 +2139,7 @@ class OrderInfoService extends ServiceBase {
async tmRefuse(pobj) {
var ab = pobj.actionBody;
var app = pobj.appInfo;
var orderinfo = await this.findOne({ channelOrderNo: ab.bizId, uapp_id: app.uapp_id });
var orderinfo = await this.findOne({channelOrderNo: ab.bizId, uapp_id: app.uapp_id});
if (!orderinfo) {
return system.getResultFail(-6001, "订单不存在");
}
......@@ -2108,7 +2156,7 @@ class OrderInfoService extends ServiceBase {
//智能选择 尼斯类获取
async getNclByCode(pobj) {
var sql = "select `business_code`,`ncl_content` from b_business_ncl where business_code=:business_code LIMIT 1";
var paramWhere = { business_code: pobj.actionBody.businessCode };
var paramWhere = {business_code: pobj.actionBody.businessCode};
var result = await this.customQuery(sql, paramWhere);
if (Object.keys(result).length == 0) {
return system.getResultFail(-1, 'find err');
......@@ -2178,7 +2226,7 @@ class OrderInfoService extends ServiceBase {
* @param pobj
* @returns {Promise<void>}
*/
async bulkCreateOrders(pobj,req) {
async bulkCreateOrders(pobj, req) {
let ordersArr = [];
let contactsArr = [];
let productsArr = [];
......@@ -2198,9 +2246,9 @@ class OrderInfoService extends ServiceBase {
}*/
let sql = 'select channelOrderNo from c_order_info where uapp_id = :uapp_id';
let whereParam = {
uapp_id:uapp_id
uapp_id: uapp_id
}
let ret = await this.customQuery(sql,whereParam);
let ret = await this.customQuery(sql, whereParam);
let existIds = ret.map(item => {
return item.channelOrderNo;
})
......@@ -2216,19 +2264,19 @@ class OrderInfoService extends ServiceBase {
orderStatus: 2,//订单状态: 1: 待付款, 2: 已付款, 4: 待服务, 8: 已完成
totalSum: order.price, //订单总额(产品价格×优惠费率×订单件数)
payTotalSum: order.price,
created_at:order.createdAt
created_at: order.createdAt
}
if (order.status == '已签收' || order.status == '服务已完成') {
orderObj['orderStatus'] = 8;
}
ordersArr.push(orderObj);
if(order.personName && order.personMobile){
if (order.personName && order.personMobile) {
let customerContactObj = {
uapp_id: uapp_id,
sourceOrderNo: order.number,
contactName: order.personName || "",
mobile: order.personMobile,
created_at:order.createdAt
created_at: order.createdAt
};
contactsArr.push(customerContactObj);
}
......@@ -2256,24 +2304,25 @@ class OrderInfoService extends ServiceBase {
price: order.price,//定价
quantity: 1,// 订单数量(即产品的倍数,默认值为1)
opPayType: "10",// 操作付款类型:00: 创建订单, 10: 补单
created_at:order.createdAt
created_at: order.createdAt
};
productsArr.push(orderProductObj);
}
let orRet = null;
if(ordersArr.length >0){
if (ordersArr.length > 0) {
orRet = await this.dao.bulkCreate(ordersArr);
if(orRet.length ==0){
return system.getResultFail(-1,'保存订单失败');
if (orRet.length == 0) {
return system.getResultFail(-1, '保存订单失败');
}
}
if(contactsArr.length>0){
if (contactsArr.length > 0) {
this.ordercontactsDao.bulkCreate(contactsArr);
}
if(productsArr.length>0){
if (productsArr.length > 0) {
this.orderproductDao.bulkCreate(productsArr);
}
return system.getResultSuccess(orRet);
}
}
module.exports = OrderInfoService;
\ No newline at end of file
const System = require("../../../system");
const system = require("../../../system");
const Dao = require("../../dao.base");
const ServiceBase = require("../../sve.base");
class OrderProductService extends ServiceBase {
constructor() {
super("dbcorder", ServiceBase.getDaoName(OrderProductService));
}
async syncProductData() {
let sql = "SELECT * FROM `c_order_product_fq` LIMIT 300";
var list = await this.customQuery(sql);
if (!result || result.length == 0) {
return system.getResultFail(-1, "暂无数据要进行处理")
}
let sourceOrderNoList = list.map((item) => { return item.sourceOrderNo });
//根据ids 获取企服通需求
let needs = await this.needinfoDao.getNeedsByIds(sourceOrderNoList);
for (let index = 0; index < result.length; index++) {
const element = result[index];
if (element) {
}
}
}
}
module.exports = OrderProductService;
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