Commit 1b11abe8 by 宋毅

Merge branch 'center-order' of gitlab.gongsibao.com:jiangyong/zhichan into center-order

parents 11a1ec40 7bc96c63
...@@ -6,6 +6,8 @@ class IcAPI extends APIBase { ...@@ -6,6 +6,8 @@ class IcAPI extends APIBase {
super(); super();
// this.utilsProductSve = system.getObject("service.utilsSve.utilsProductSve"); // this.utilsProductSve = system.getObject("service.utilsSve.utilsProductSve");
this.needsolutionSve = system.getObject("service.dbneed.needsolutionSve"); this.needsolutionSve = system.getObject("service.dbneed.needsolutionSve");
this.needinfoSve = system.getObject("service.dbneed.needinfoSve");
this.orderinfoSve = system.getObject("service.dbcorder.orderinfoSve");
} }
/** /**
* 接口跳转-POST请求 * 接口跳转-POST请求
...@@ -17,7 +19,7 @@ class IcAPI extends APIBase { ...@@ -17,7 +19,7 @@ class IcAPI extends APIBase {
if (!pobj.actionType) { if (!pobj.actionType) {
return system.getResult(null, "actionType参数不能为空"); return system.getResult(null, "actionType参数不能为空");
} }
if(pobj.actionType=='getPolicyNeedList' || pobj.actionType=='submitPolicyNeedNotes' ){ if (pobj.actionType == 'getPolicyNeedList' || pobj.actionType == 'submitPolicyNeedNotes') {
if (!pobj.userInfo) { if (!pobj.userInfo) {
return system.getResult(system.noLogin, "user no login!"); return system.getResult(system.noLogin, "user no login!");
} }
...@@ -30,7 +32,7 @@ class IcAPI extends APIBase { ...@@ -30,7 +32,7 @@ class IcAPI extends APIBase {
} }
async opActionProcess(pobj, action_type, req) { async opActionProcess(pobj, action_type, req) {
var opResult = null; var opResult = null;
switch (action_type) { switch (action_type) {
case "submitProgramme"://提交公司注册方案 case "submitProgramme"://提交公司注册方案
opResult = await this.needsolutionSve.submitProgramme(pobj); opResult = await this.needsolutionSve.submitProgramme(pobj);
break; break;
...@@ -49,6 +51,15 @@ class IcAPI extends APIBase { ...@@ -49,6 +51,15 @@ class IcAPI extends APIBase {
case "abolishProgramme"://服务商方案作废 case "abolishProgramme"://服务商方案作废
opResult = await this.needsolutionSve.abolishProgramme(pobj); opResult = await this.needsolutionSve.abolishProgramme(pobj);
break; break;
case "submitSolution"://提交需求
opResult = await this.needinfoSve.createicneedinfo(pobj);
break;
case "paySuccess"://支付成功回调
opResult = await this.orderinfoSve.createsolutionOrder(pobj);
break;
case "solutionClose"://需求关闭
opResult = await this.needinfoSve.solutionClose(pobj);
break;
default: default:
opResult = system.getResult(null, "action_type参数错误"); opResult = system.getResult(null, "action_type参数错误");
break; break;
......
...@@ -69,10 +69,10 @@ module.exports = { ...@@ -69,10 +69,10 @@ module.exports = {
//凭单类型 //凭单类型
"direction_type": { "sr": "收", "zc": "支" }, "direction_type": { "sr": "收", "zc": "支" },
"push_return_type": { "0": "推送失败", "1": "推送成功" }, "push_return_type": { "0": "推送失败", "1": "推送成功" },
"push_chance_type": { "wts": "未推送", "yts": "已推送", "ygj": "已跟进", "ycd": "已成单" }, "push_chance_type": { "wts": "未推送", "yts": "已推送", "ygj": "已跟进", "ycd": "已成单","ygb" :"已关闭"},
"policy_type":{'fzbt':'租金减免','jrdk':'金融贷款','zdfc':'行政措施','ssjm':'税收优惠','rlzy':'人力资源'}, "policy_type":{'fzbt':'租金减免','jrdk':'金融贷款','zdfc':'行政措施','ssjm':'税收优惠','rlzy':'人力资源'},
"customer_intention":{"dgj":"待跟进","yyx":"有意向","wyx":"无意向"}, "customer_intention":{"dgj":"待跟进","yyx":"有意向","wyx":"无意向"},
"solution_status":{"ytj":"已提交","yfk":"已付款","yzf":"已作废","ytk":"已退款"}, "solution_status":{"dqr":"待确认","ywc":"已完成","yzf":"已作废"},
}, },
} }
......
...@@ -31,6 +31,10 @@ module.exports = (db, DataTypes) => { ...@@ -31,6 +31,10 @@ module.exports = (db, DataTypes) => {
}, },
city: DataTypes.STRING(50), // 城市 city: DataTypes.STRING(50), // 城市
province: DataTypes.STRING(50), // 省份 province: DataTypes.STRING(50), // 省份
typeCode: DataTypes.STRING(50), //类型编码',
typeName: DataTypes.STRING(50), //类型名称',
channelTypeCode: DataTypes.STRING(50), //渠道类型编码',
channelTypeName: DataTypes.STRING(50), //渠道类型名称',
}, { }, {
paranoid: true,//假的删除 paranoid: true,//假的删除
underscored: true, underscored: true,
......
...@@ -11,13 +11,13 @@ class NeedinfoService extends ServiceBase { ...@@ -11,13 +11,13 @@ class NeedinfoService extends ServiceBase {
} }
async needinfo2fq(pobj) { async needinfo2fq(pobj) {
pobj.actionBody.needNo=await this.getBusUid("n"); pobj.actionBody.needNo = await this.getBusUid("n");
pobj.actionBody.uapp_id=pobj.appInfo.id; pobj.actionBody.uapp_id = pobj.appInfo.id;
var needinfo = await this.dao.create(pobj.actionBody); var needinfo = await this.dao.create(pobj.actionBody);
var pobj = { var pobj = {
"idempotentId": needinfo.needNo, "idempotentId": needinfo.needNo,
"idempotentSource": needinfo.chanceType_code, "idempotentSource": needinfo.chanceType_code,
"idempotentSourceName": pobj.appInfo.app_name+"_"+pobj.actionBody.chanceTypeName, "idempotentSourceName": pobj.appInfo.app_name + "_" + pobj.actionBody.chanceTypeName,
"phone": needinfo.publishMobile, "phone": needinfo.publishMobile,
"remark": needinfo.notes, "remark": needinfo.notes,
"customerName": needinfo.publishName "customerName": needinfo.publishName
...@@ -34,6 +34,55 @@ class NeedinfoService extends ServiceBase { ...@@ -34,6 +34,55 @@ class NeedinfoService extends ServiceBase {
// } // }
} }
// intentionBizId
// mobile
// userName
// description
// area
// type
// ext
async createicneedinfo(pobj, actionBody) {
var needNo = await this.getBusUid("n");
if (actionBody.intentionBizId) {
return system.getResult(null, "intentionBizId不能为空");
}
if (actionBody.mobile) {
return system.getResult(null, "mobile不能为空");
}
if (actionBody.type) {
return system.getResult(null, "type不能为空");
}
var nobj = {
uapp_id: pobj.appInfo.uapp_id,
channelNeedNo: actionBody.intentionBizId,
needNo: needNo,
channelUserId: pobj.userInfo.channel_userid,
publishName: actionBody.userName,
publishContent: actionBody.description,
publishMobile: actionBody.mobile,
city: actionBody.area,
disposeNotes: actionBody.ext,
channelTypeCode: actionBody.type
}
return await this.dao.create(nobj);
}
async solutionClose(pobj) {
if (actionBody.intentionBizId) {
return system.getResult(null, "intentionBizId不能为空");
}
var needinfo = await this.findOne({ channelNeedNo: actionBody.intentionBizId });
needinfo.status = "ygb";
var self=this;
return await self.db.transaction(async function (t) {
await self.update(needinfo,t);
var needsolutioninfo = await self.needsolutionDao.findOne({ channelNeedNo: pobj.actionBody.intentionBizId }, t)
needsolutioninfo.status = "yzf";
await self.needsolutionDao.update(needsolutioninfo, t);
// await
})
}
async flowinfo(obj) { async flowinfo(obj) {
} }
......
...@@ -35,6 +35,44 @@ class NeedsolutionService extends ServiceBase { ...@@ -35,6 +35,44 @@ class NeedsolutionService extends ServiceBase {
if(!ab.solutionContent.solution){ if(!ab.solutionContent.solution){
return system.getResultFail(-104,"业务方案信息不能为空"); return system.getResultFail(-104,"业务方案信息不能为空");
} }
var solution = ab.solutionContent.solution;
if(bizType=="companyreg"){//普通公司注册
if(!solution.companyName){
return system.getResultFail(-105,"公司名称不能为空");
}
if(!solution.city){
return system.getResultFail(-106,"注册城市不能为空");
}
if(!solution.area){
return system.getResultFail(-107,"注册区域不能为空");
}
if(!solution.companyCategory){
return system.getResultFail(-108,"纳税人类型不能为空");
}
if(!solution.companyType){
return system.getResultFail(-109,"公司性质不能为空");
}
if(!solution.orgType){
return system.getResultFail(-110,"组织类型不能为空");
}
if(!solution.industryType){
return system.getResultFail(-111,"从事行业不能为空");
}
if(!solution.scope){
return system.getResultFail(-112,"经营范围不能为空");
}
}
if(bizType=="companyreg_cloud"){//云上公司注册
if(!solution.park){
return system.getResultFail(-113,"注册园区不能为空");
}
if(!solution.registerType){
return system.getResultFail(-114,"注册类型不能为空");
}
if(!solution.productType){
return system.getResultFail(-115,"产品类型不能为空");
}
}
//获取需求信息 //获取需求信息
var needinfo = await this.needinfoDao.model.findOne({ var needinfo = await this.needinfoDao.model.findOne({
where:{needNo:ab.needNo},raw:true where:{needNo:ab.needNo},raw:true
...@@ -45,7 +83,7 @@ class NeedsolutionService extends ServiceBase { ...@@ -45,7 +83,7 @@ class NeedsolutionService extends ServiceBase {
ab["channelNeedNo"] = needinfo.channelNeedNo; ab["channelNeedNo"] = needinfo.channelNeedNo;
var solutionNo = await this.getBusUid("ns"); var solutionNo = await this.getBusUid("ns");
ab["solutionNo"] = solutionNo; ab["solutionNo"] = solutionNo;
ab["status"] = "ytj"; ab["status"] = "dqr";
ab.solutionContent = JSON.stringify(ab.solutionContent); ab.solutionContent = JSON.stringify(ab.solutionContent);
var od = await this.dao.create(ab); var od = await this.dao.create(ab);
if(od && od.id){ if(od && od.id){
...@@ -142,42 +180,42 @@ class NeedsolutionService extends ServiceBase { ...@@ -142,42 +180,42 @@ class NeedsolutionService extends ServiceBase {
paramWhere.status = ab.status; paramWhere.status = ab.status;
} }
if(bizType=="companyreg"){//普通公司注册 if(bizType=="companyreg"){//普通公司注册
if (ab.entName) {//企业名称 if (ab.companyName) {//企业名称
sql = sql+" and solutionContent->'$.solution.entName' = :entName"; sql = sql+" and solutionContent->'$.solution.companyName' = :companyName";
sqlCount = sqlCount+" and solutionContent->'$.solution.entName' = :entName"; sqlCount = sqlCount+" and solutionContent->'$.solution.companyName' = :companyName";
paramWhere.entName = ab.entName; paramWhere.companyName = ab.companyName;
}// }//
if (ab.organizationType) {//组织类型 if (ab.orgType) {//组织类型
sql = sql+" and solutionContent->'$.solution.organizationType' = :organizationType"; sql = sql+" and solutionContent->'$.solution.orgType' = :orgType";
sqlCount = sqlCount+" and solutionContent->'$.solution.organizationType' = :organizationType"; sqlCount = sqlCount+" and solutionContent->'$.solution.orgType' = :orgType";
paramWhere.organizationType = ab.organizationType; paramWhere.orgType = ab.orgType;
} }
if (ab.entNature) {//公司性质 if (ab.companyType) {//公司性质
sql = sql+" and solutionContent->'$.solution.entNature' = :entNature"; sql = sql+" and solutionContent->'$.solution.companyType' = :companyType";
sqlCount = sqlCount+" and solutionContent->'$.solution.entNature' = :entNature"; sqlCount = sqlCount+" and solutionContent->'$.solution.companyType' = :companyType";
paramWhere.entNature = ab.entNature; paramWhere.companyType = ab.companyType;
} }
if (ab.city) {//城市 if (ab.city) {//城市
sql = sql+" and solutionContent->'$.solution.city' = :city"; sql = sql+" and solutionContent->'$.solution.city' = :city";
sqlCount = sqlCount+" and solutionContent->'$.solution.city' = :city"; sqlCount = sqlCount+" and solutionContent->'$.solution.city' = :city";
paramWhere.city = ab.city; paramWhere.city = ab.city;
} }
if (ab.province) {//省份 if (ab.area) {//区域
sql = sql+" and solutionContent->'$.solution.province' = :province"; sql = sql+" and solutionContent->'$.solution.area' = :area";
sqlCount = sqlCount+" and solutionContent->'$.solution.province' = :province"; sqlCount = sqlCount+" and solutionContent->'$.solution.area' = :area";
paramWhere.province = ab.province; paramWhere.area = ab.area;
} }
if (ab.taxpayerType) {//纳税人类型 if (ab.companyCategory) {//纳税人类型
sql = sql+" and solutionContent->'$.solution.taxpayerType' = :taxpayerType"; sql = sql+" and solutionContent->'$.solution.companyCategory' = :companyCategory";
sqlCount = sqlCount+" and solutionContent->'$.solution.taxpayerType' = :taxpayerType"; sqlCount = sqlCount+" and solutionContent->'$.solution.companyCategory' = :companyCategory";
paramWhere.taxpayerType = ab.taxpayerType; paramWhere.companyCategory = ab.companyCategory;
} }
} }
if(bizType=="companyreg_cloud"){//云上公司注册 if(bizType=="companyreg_cloud"){//云上公司注册
if (ab.regPark) {//注册园区 if (ab.park) {//注册园区
sql = sql+" and solutionContent->'$.solution.regPark' = :regPark"; sql = sql+" and solutionContent->'$.solution.park' = :park";
sqlCount = sqlCount+" and solutionContent->'$.solution.regPark' = :regPark"; sqlCount = sqlCount+" and solutionContent->'$.solution.park' = :park";
paramWhere.regPark = ab.regPark; paramWhere.park = ab.park;
} }
if (ab.productType) {//产品类型 if (ab.productType) {//产品类型
sql = sql+" and solutionContent->'$.solution.productType' = :productType"; sql = sql+" and solutionContent->'$.solution.productType' = :productType";
...@@ -217,13 +255,13 @@ class NeedsolutionService extends ServiceBase { ...@@ -217,13 +255,13 @@ class NeedsolutionService extends ServiceBase {
if(ab.operateType=="INVALID"){// INVALID:作废 if(ab.operateType=="INVALID"){// INVALID:作废
status="yzf"; status="yzf";
}else if(ab.operateType=="REFUND"){// REFUND:退款 }else if(ab.operateType=="REFUND"){// REFUND:退款
status="ytk"; status="yzf";
}else if(ab.operateType=="PAID"){// PAID:支付 }else if(ab.operateType=="PAID"){// PAID:支付
status="yfk"; status="ywc";
}else{ }else{
return system.getResultFail(-104,"操作类型有误"); return system.getResultFail(-104,"操作类型有误");
} }
var solution_status={"ytj":"已提交","yfk":"已付款","yzf":"已作废","ytk":"已退款"}; var solution_status={"dqr":"待确认","ywc":"已完成","yzf":"已作废"};
solutionContent["deliveryStatus"] = status; solutionContent["deliveryStatus"] = status;
solutionContent["deliveryStatusName"] = solution_status[status]; solutionContent["deliveryStatusName"] = solution_status[status];
solutionContent["updated"] = new Date(); solutionContent["updated"] = new Date();
...@@ -254,12 +292,85 @@ class NeedsolutionService extends ServiceBase { ...@@ -254,12 +292,85 @@ class NeedsolutionService extends ServiceBase {
if(!ns || !ns.id){ if(!ns || !ns.id){
return system.getResultFail(-102,"未知方案"); return system.getResultFail(-102,"未知方案");
} }
if(ns.status!="dqr"){
return system.getResultFail(-103,"方案状态错误,只能废弃待确认方案");
}
await this.dao.update({id:ns.id,status:"yzf"});//方案废弃 await this.dao.update({id:ns.id,status:"yzf"});//方案废弃
return system.getResultSuccess(); return system.getResultSuccess();
} }
//根据需求关闭方案(关闭需求后调用)
async abolishProgrammeByNeed(pobj){
var ab = pobj.actionBody;
var app = pobj.appInfo;
if(!app || !app.uapp_id){
return system.getResultFail(-100,"未知渠道");
}
if(!ab.intentionBizId){
return system.getResultFail(-101,"需求编号不能为空");
}
//获取需求信息
var needinfo = await this.needinfoDao.model.findOne({
where:{channelNeedNo:ab.intentionBizId,uapp_id:app.uapp_id},raw:true
});
if(!needinfo || !needinfo.id){
return system.getResultFail(-201,"未知需求信息");
}
//获取方案信息
var ns = await this.dao.model.findAll({
where:{needNo:needinfo.needNo},raw:true
});
for(var i=0;i<ns.length;i++){
var fa = ns[i];
if(fa.status=="ywc"){
return system.getResultFail(-103,"方案状态错误,不能废弃已完成方案");
}
}
await this.dao.model.update({status:"yzf"}, { where: {needNo:needinfo.needNo} });//方案废弃
return system.getResultSuccess();
}
//立即支付下单保存方案
async createSolutionByOrder(pobj){
var ab = pobj.actionBody;
var app = pobj.appInfo;
if(!app || !app.uapp_id){
return system.getResultFail(-100,"未知渠道");
}
if(!ab.solutionBizid){
return system.getResultFail(-101,"需求编号不能为空");
}
var needinfo = await this.needinfoDao.model.findOne({
where:{channelNeedNo:ab.intentionBizId,uapp_id:app.uapp_id},raw:true
});
if(!needinfo || !needinfo.id){
return system.getResultFail(-102,"未知需求信息");
}
var solution = {
"companyName":ab.companyName,
"area":ab.area,
"city": ab.city,
"companyCategory": ab.companyCategory,
"companyType": ab.companyType,
"orgType" :ab.orgType,
"industryType": ab,industryType,
"scope": ab.scope,
"remark":ab.remark
}
}
} }
module.exports = NeedsolutionService; module.exports = NeedsolutionService;
\ No newline at end of file
// orderNo
// orderPrice
// phone
// companyName
// city
// area
// companyCategory
// companyType
// orgType
// industryType
// scope
// remark
// solutionBizid
\ 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