flexbiz-server
Version:
Flexible Server
9 lines (8 loc) • 2.84 kB
JavaScript
'use strict';const _global=require("../global"),async=require("async"),group=global.getModel("group"),{parentPort,workerData}=require("worker_threads"),prototypes=require("../libs/prototypes.js"),_=require("lodash");
let onImport=function($user$$,$data$$,$columns$$,$next$$){$data$$.groupBy("group_name",[],function($e$$,$gs$$){if($e$$)return $next$$($e$$);async.map($gs$$,($r$$,$callback$$)=>{if(!$r$$.group_name)return $callback$$();$r$$.group_name=$r$$.group_name.toString().trim();group.findOneAndUpdate({id_app:$user$$.current_id_app,group_type:"CUSTOMER",group_name:$r$$.group_name},{group_name:$r$$.group_name,group_type:"CUSTOMER",status:!0},{new:!0,upsert:!0},function($e$$,$n$$){if($e$$)return $callback$$($e$$);
$r$$.nh_kh=$n$$._id.toString();$callback$$(null)})},$e$jscomp$0$$=>{if($e$jscomp$0$$)return $next$$($e$jscomp$0$$);async.map($data$$,function($r$$,$callback$jscomp$0$$){async.parallel({nhom:function($callback$$){$r$$.group_name&&!$r$$.nh_kh?($r$$.group_name=$r$$.group_name.toString().trim(),group.findOne({id_app:$user$$.current_id_app,group_type:"CUSTOMER",group_name:$r$$.group_name},function($e$$,$n$$){if($e$$)return $callback$$($e$$);$r$$.nh_kh=$n$$._id.toString();$callback$$(null)})):$callback$$()}},
function($e$$){$callback$jscomp$0$$($e$$)})},function($e$$){$next$$($e$$,$data$$)})})})},connect2Db=!1;
parentPort.on("message",$msg$$=>{if($msg$$&&_.isString($msg$$))try{$msg$$=JSON.parse($msg$$)}catch($e$$){console.error($e$$);parentPort.postMessage({error:"msg is not valid"});return}if($msg$$&&$msg$$.user){console.log("worker handle data customer...");if($msg$$.configs&&_.isString($msg$$.configs))try{$msg$$.configs=JSON.parse($msg$$.configs)}catch($e$$){delete $msg$$.configs,console.info($e$$)}var $configs$$=$msg$$.configs||require("../configs");connect2Db||(mongoose.connect($configs$$.database.url,
{useNewUrlParser:!0}),connect2Db=!0);onImport($msg$$.user,$msg$$.data,$msg$$.columns,function($e$$,$data$$){parentPort.postMessage({error:$e$$,data:$data$$,columns:$msg$$.columns,id_task:$msg$$.id_task})})}else parentPort.postMessage({error:"msg is not valid"})});
workerData&&(()=>{let $msg$$=workerData;if(_.isString($msg$$))try{$msg$$=JSON.parse($msg$$)}catch($e$$){console.error($e$$);parentPort.postMessage({error:"msg is not valid"});return}if($msg$$.data){console.log("worker handle data dmkh...");if($msg$$.configs&&_.isString($msg$$.configs))try{$msg$$.configs=JSON.parse($msg$$.configs)}catch($e$$){delete $msg$$.configs,console.info($e$$)}var $configs$$=$msg$$.configs||require("../configs");mongoose.connect($configs$$.database.url,{useNewUrlParser:!0});
onImport($msg$$.user,$msg$$.data,$msg$$.columns,function($e$$,$data$$){parentPort.postMessage({error:$e$$,data:$data$$,columns:$msg$$.columns,id_task:$msg$$.id_task})})}})();setInterval(()=>{parentPort.postMessage("pong")},5E3);