flexbiz-server 12.1.4 → 12.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/server/auths/local.js +6 -6
- package/server/global.js +3 -2
- package/server/models/listinfo.js +6 -2
- package/server/modules/lists/ls-assproduct.js +10 -7
- package/server/modules/reports/calc-tinhgiatb.js +3 -2
- package/server/modules/reports/calc-tinhgiathanh.js +6 -5
- package/server/modules/systems/sys-user.js +9 -9
- package/server/modules/vouchers/vo-pn6.js +2 -2
package/package.json
CHANGED
package/server/auths/local.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
global.getModel("otp"),DIGITS="0123456789",jwt=require("jsonwebtoken");function generateOTP(){let $OTP$$="";for(let $i$$=0;6>$i$$;$i$$++)$OTP$$+=DIGITS[Math.floor(10*Math.random())];return $OTP$$}
|
|
3
3
|
function generateToken($user$$){var $body_n_n$$={email:$user$$.email};configs.APP_SECRET?jwt.sign({user:$body_n_n$$},configs.APP_SECRET):($body_n_n$$=new Date,_crypto.createHash("md5").update($user$$.email+$body_n_n$$.toISOString()).digest("hex"));$body_n_n$$=new Date;return _crypto.createHash("md5").update($user$$.email+$body_n_n$$.toISOString()).digest("hex")}
|
|
4
4
|
function saveOTP($Phone$$,$otp_code$$,$callback$$,$expires$$=5){let $expire_time$$=new Date;$expire_time$$.setMinutes($expire_time$$.getMinutes()+$expires$$);OTP.create({phone:$Phone$$,otp:$otp_code$$,expire_time:$expire_time$$},($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$.toObject())})}
|
|
5
|
-
function findByUsername($username$$,$fn$$){if(!$username$$)return $fn$$("B\u1ea1n ch\u01b0a nh\u1eadp t\u00e0i kho\u1ea3n");User.findOne({$or:[{email:$username$$}
|
|
5
|
+
function findByUsername($username$$,$fn$$){if(!$username$$)return $fn$$("B\u1ea1n ch\u01b0a nh\u1eadp t\u00e0i kho\u1ea3n");User.findOne({$or:[{email:$username$$}]},function($error$$,$result$$){return!$error$$&&$result$$&&$result$$.local?$fn$$(null,$result$$):$fn$$($error$$||`T\u00e0i kho\u1ea3n ${$username$$} kh\u00f4ng t\u1ed3n t\u1ea1i`)})}
|
|
6
6
|
module.exports=async function($app$$,$passport$$){const $rateLimiter$$=await global.createRateLimiterMiddleware(configs.limitRequest.auth||{},"auth");$passport$$.use(new BasicStrategy(function($username$$,$password$$,$done$$){if(!$username$$)return $done$$("B\u1ea1n ch\u01b0a nh\u1eadp t\u00e0i kho\u1ea3n");$username$$=$username$$.trim().toLowerCase();setImmediate(function(){findByUsername($username$$,function($err$$,$user$$){if($err$$)return $done$$($err$$);if(!$user$$)return $done$$("T\u00e0i kho\u1ea3n "+
|
|
7
7
|
$username$$+" ch\u01b0a \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd.");if($user$$.local.rspassword)if($user$$.validRspassword($password$$))$user$$.local.password=$user$$.local.rspassword,$user$$.local.rspassword=void 0,User.findOneAndUpdate({email:$user$$.email},{local:$user$$.local},($e$$,$rs$$)=>{if($e$$)return console.error("Can't update password",$user$$.email,$e$$);console.log("updated new password",$user$$.email,$rs$$)});else{if(!$user$$.validPassword($password$$))return $done$$("M\u1eadt kh\u1ea9u kh\u00f4ng ch\u00ednh x\u00e1c.")}else{if(!$user$$.local.password)return $done$$("M\u1eadt kh\u1ea9u cho ng\u01b0\u1eddi d\u00f9ng n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i. H\u00e3y s\u1eed d\u1ee5ng t\u00ednh n\u0103ng kh\u00f4i ph\u1ee5c m\u1eadt kh\u1ea9u \u0111\u1ec3 \u0111\u1eb7t l\u1ea1i m\u1eadt kh\u1ea9u cho ng\u01b0\u1eddi d\u00f9ng n\u00e0y");
|
|
8
8
|
if(!$user$$.validPassword($password$$))return $done$$("M\u1eadt kh\u1ea9u kh\u00f4ng ch\u00ednh x\u00e1c.")}return $done$$(null,$user$$)})})}));$app$$.get("/send-otp/:phone",$rateLimiter$$,async($req_url$$,$res$$)=>{const $Phone$$=$req_url$$.params.phone.trim();if(!await User.findOne({email:$Phone$$}))return $res$$.status(400).send({error:`T\u00e0i kho\u1ea3n ${$Phone$$} kh\u00f4ng t\u1ed3n t\u1ea1i`});const $otp_code$$=generateOTP();validator.isEmail($Phone$$)?email.sendHtml({to:{address:$Phone$$},
|
|
@@ -25,13 +25,13 @@ $req$$.session;$group_id$jscomp$1_session$$[$req$$.t_session]=0;$group_id$jscomp
|
|
|
25
25
|
$req$$.query.group_id;const $app$$=await App.findById($id_app$$),$group$$=await UserGroup.findOne({_id:$group_id$jscomp$1_session$$,is_customer_group:!0});$app$$&&$group$$&&Participant.createParticipant({id_app:$id_app$$,email:$user$$.email,name:$user$$.name,group_id:$group_id$jscomp$1_session$$,active:!0},$cust$jscomp$1_e$$=>{if($cust$jscomp$1_e$$)return console.log("can't add user",$user$$.email,"to company",$app$$.name);$cust$jscomp$1_e$$={ten_kh:$user$$.name,email:$user$$.email,id_app:$id_app$$,
|
|
26
26
|
user_created:$user$$.email,user_updated:$user$$.email,kh_yn:!0,of_user:$user$$.email};validator.isMobilePhone($user$$.email,["vi-VN"])&&($cust$jscomp$1_e$$.dien_thoai=$user$$.email);try{Customer.asyncCreateCustomer($cust$jscomp$1_e$$)}catch($e$$){console.log("Auto create new customer with error:",$e$$.message)}})}const $accessToken$$=generateToken($user$$);let $session_created$$;$req$$.cookies&&($session_created$$=$req$$.cookies.uid);(new Token({email:$user$$.email,session_created:$session_created$$,
|
|
27
27
|
token:$accessToken$$,agent:$agent$$,ip:"",once:1==$req$$.query.once||"true"==$req$$.query.once||"1"===$req$$.query.once?!0:!1})).save(function($e$$,$rs$$){if($e$$)return $res$$.status(500).send($e$$);$res$$.send({token:$accessToken$$,once:$rs$$.once})})});$app$$.get("/check-user/:email",$rateLimiter$$,function($req$$,$res$$){User.findOne({email:$req$$.params.email},{email:1,name:1,picture:1}).lean().exec(function($e$$,$user$$){if($e$$)return $res$$.status(400).send($e$$);$res$$.send($user$$)})});
|
|
28
|
-
$app$$.post("/signup",$rateLimiter$$,async($req$$,$res$$)=>{let $body$$=$req$$.body;$body$$.json&&($body$$=JSON.parse($body$$.json));if(!$body$$)return $res$$.status(400).send("Kh\u00f4ng c\u00f3 n\u1ed9i dung");if(!$body$$.email)return $res$$.status(400).send("L\u1ed7i: B\u1ea1n ch\u01b0a nh\u1eadp t\u00e0i kho\u1ea3n");$body$$.email=$body$$.email.trim().toLowerCase();if(!$body$$.name)return $res$$.status(400).send("L\u1ed7i: H\u1ecd v\u00e0 t\u00ean ch\u01b0a nh\u1eadp");User.findOne({
|
|
29
|
-
|
|
30
|
-
$
|
|
28
|
+
$app$$.post("/signup",$rateLimiter$$,async($req$$,$res$$)=>{let $body$$=$req$$.body;$body$$.json&&($body$$=JSON.parse($body$$.json));if(!$body$$)return $res$$.status(400).send("Kh\u00f4ng c\u00f3 n\u1ed9i dung");if(!$body$$.email)return $res$$.status(400).send("L\u1ed7i: B\u1ea1n ch\u01b0a nh\u1eadp t\u00e0i kho\u1ea3n");$body$$.email=$body$$.email.trim().toLowerCase();if(!$body$$.name)return $res$$.status(400).send("L\u1ed7i: H\u1ecd v\u00e0 t\u00ean ch\u01b0a nh\u1eadp");User.findOne({email:$body$$.email},
|
|
29
|
+
function($error$jscomp$1$$,$result$$){if($error$jscomp$1$$)return $res$$.status(400).send($error$jscomp$1$$);if($result$$){if($result$$.local&&$result$$.local.email==$body$$.email||$result$$.email===$body$$.email)return $res$$.status(400).send("L\u1ed7i: T\u00e0i kho\u1ea3n "+$body$$.email+" \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd");$result$$.local||($result$$.local={})}else $result$$=new User,$result$$.email=$body$$.email,$result$$.local={};$result$$.local.email=$body$$.email;$result$$.local.name=
|
|
30
|
+
$body$$.name;$result$$.partner=$body$$.partner;$body$$.email2&&validator.isEmail($body$$.email2)&&($result$$.email2=$body$$.email2);$result$$.name=$result$$.local.name;$body$$.picture?$result$$.local.picture=$body$$.picture:$result$$.local.picture||($result$$.local.picture="/images/avatar.jpg");let $password$$;if($body$$.password){if($body$$.rePassword!==$body$$.password)return $res$$.status(400).send("L\u1ed7i: M\u1eadt kh\u1ea9u x\u00e1c nh\u1eadn kh\u00f4ng ch\u00ednh x\u00e1c");if(!User.teststrengthPassword($body$$.password))return $res$$.status(400).send("L\u1ed7i: M\u1eadt kh\u1ea9u ph\u1ea3i c\u00f3 \u00edt nh\u1ea5t 6 k\u00fd t\u1ef1 v\u00e0 bao g\u1ed3m \u00edt nh\u1ea5t m\u1ed9t ch\u1eef s\u1ed1, m\u1ed9t ch\u1eef hoa v\u00e0 m\u1ed9t ch\u1eef th\u01b0\u1eddng");
|
|
31
31
|
$password$$=$body$$.password}else $password$$=_crypto.createHash("md5").update($result$$.email+(new Date).toISOString()).digest("hex");$result$$.local.password=$result$$.generateHash($password$$);$result$$.save(function($app$jscomp$3_error$$,$newUser$$){if($app$jscomp$3_error$$)return $res$$.status(400).send("L\u1ed7i: Kh\u00f4ng th\u1ec3 \u0111\u0103ng k\u00fd");log.create({id_app:"SIGNUP",id_func:"SIGNUP",action:"SIGNUP"},$result$$.email,$req$$.header("user-agent"),$req$$);if($body$$.cty_name){$app$jscomp$3_error$$=
|
|
32
32
|
new App;$app$jscomp$3_error$$.user_created=$result$$.email;$app$jscomp$3_error$$.user_updated=$result$$.email;$app$jscomp$3_error$$.name=$body$$.cty_name;var $d$jscomp$1_now$$=new Date;$app$jscomp$3_error$$.ngay_dn=new Date($d$jscomp$1_now$$.getFullYear(),0,1);$app$jscomp$3_error$$.ngay_ks=new Date($d$jscomp$1_now$$.getFullYear()-1,12,0);$app$jscomp$3_error$$.nam_bd=$d$jscomp$1_now$$.getFullYear();$app$jscomp$3_error$$.ngay_ky1=new Date($d$jscomp$1_now$$.getFullYear(),0,1);$d$jscomp$1_now$$=new Date;
|
|
33
|
-
$d$jscomp$1_now$$.setMonth($d$jscomp$1_now$$.getMonth()+3);$app$jscomp$3_error$$.expire_date=new Date($d$jscomp$1_now$$);$app$jscomp$3_error$$.save(function($error$jscomp$0$$,$obj$$){if($error$jscomp$0$$)return console.log("Khong tao duoc new app: "+$error$jscomp$0$$);require("../libs/initDatabase").init($obj$$._id,function($error$$){$error$$&&console.log("Can't init database \n"+$error$$)})})}$body$$.id_app&&App.findById($body$$.id_app,($e$jscomp$0$$,$app$$)=>{if($e$jscomp$0$$||!$app$$)return console.
|
|
34
|
-
$body$$.id_app,$e$jscomp$0$$);Participant.createParticipant({id_app:$body$$.id_app,email:$body$$.email,group_id:$body$$.group_id,active:!0},$cust$jscomp$2_e$$=>{if($cust$jscomp$2_e$$)return console.
|
|
33
|
+
$d$jscomp$1_now$$.setMonth($d$jscomp$1_now$$.getMonth()+3);$app$jscomp$3_error$$.expire_date=new Date($d$jscomp$1_now$$);$app$jscomp$3_error$$.save(function($error$jscomp$0$$,$obj$$){if($error$jscomp$0$$)return console.log("Khong tao duoc new app: "+$error$jscomp$0$$);require("../libs/initDatabase").init($obj$$._id,function($error$$){$error$$&&console.log("Can't init database \n"+$error$$)})})}$body$$.id_app&&App.findById($body$$.id_app,($e$jscomp$0$$,$app$$)=>{if($e$jscomp$0$$||!$app$$)return console.error("Can't find app",
|
|
34
|
+
$body$$.id_app,$e$jscomp$0$$);Participant.createParticipant({id_app:$body$$.id_app,email:$body$$.email,group_id:$body$$.group_id,active:!0},$cust$jscomp$2_e$$=>{if($cust$jscomp$2_e$$)return console.error("can't add user",$body$$.email,"to company",$app$$.name);$cust$jscomp$2_e$$={ten_kh:$body$$.name,email:$newUser$$.email,id_app:$body$$.id_app,user_created:$newUser$$.email,user_updated:$newUser$$.email,kh_yn:!0,of_user:$newUser$$.email};try{Customer.asyncCreateCustomer($cust$jscomp$2_e$$)}catch($e$$){console.log("Auto create new customer with error:",
|
|
35
35
|
$e$$.message)}})});validator.isEmail($body$$.email)&&!$body$$.password?(loadTemplate("thong tin dang nhap.html",{email:$result$$.email,password:$password$$,receiver_name:$body$$.name},function($error$jscomp$0$$,$html$$){if($error$jscomp$0$$)return console.log($error$jscomp$0$$);email.sendHtml({to:{name:$result$$.name,address:$result$$.email},subject:"Th\u00f4ng tin t\u00e0i kho\u1ea3n",html:$html$$},function($error$$){$error$$&&console.error("Khong the gui email thon tin tai khoan cho nguoi dung\n"+
|
|
36
36
|
$error$$)})}),$res$$.send("T\u00e0i kho\u1ea3n c\u1ee7a b\u1ea1n \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea1o. Ki\u1ec3m tra email \u0111\u1ec3 l\u1ea5y th\u00f4ng tin \u0111\u0103ng nh\u1eadp")):$res$$.send("T\u00e0i kho\u1ea3n "+$body$$.email+" \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea1o")})})});$app$$.get("/resetpassword",$rateLimiter$$,async($req$$,$res$$)=>{let $address$$=$req$$.query.email;if(!$address$$)return $res$$.status(400).send("Y\u00eau c\u1ea7u m\u1ed9t email");$address$$=$address$$.toLowerCase();
|
|
37
37
|
User.findOne({$or:[{"local.email":$address$$},{email:$address$$},{email2:$address$$}]},function($error$jscomp$2$$,$result$$){if($error$jscomp$2$$)return $res$$.status(400).send($error$jscomp$2$$);if(!$result$$)return $res$$.status(400).send(`T\u00e0i kho\u1ea3n ${$address$$} ch\u01b0a \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd`);let $newpassword$$=_crypto.createHash("md5").update((new Date).toISOString()).digest("hex");$result$$.local.rspassword=$result$$.generateHash($newpassword$$);$result$$.save(function($error$jscomp$1$$){if($error$jscomp$1$$)return $res$$.status(400).send($error$jscomp$1$$);
|
package/server/global.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';const prototypes=require("./libs/prototypes.js"),async=require("async"),TransactionPool=require("./libs/BlockchainTransactionPool"),leanID=require("./libs/mongooseLeanId"),deletePost=require("./libs/mongooseDeletePost"),fs=require("fs");global.blockchainTransactionPool=new TransactionPool;global.new_schedules=[];global.rootDir=__dirname;global.ctrlVouchers={};global.controllers={};global.report_controllers={};global.postingVouchers={};global.cacheDatas={};global.clientIO={};
|
|
2
2
|
global.model_books="socai sokho sokhott sokhokhongton sosanxuat vatvao vatra tdttno tdttco vsocai socaitmp".split(" ");global.webPush=require("web-push");global.mongoose=require("mongoose");global.mongoose.plugin(leanID);global.mongoose.plugin(deletePost);global.Schema=global.mongoose.Schema;global.mongoose.set("useFindAndModify",!1);global.mongoose.set("useCreateIndex",!0);
|
|
3
|
-
global.getModel=$model_name$$=>{$model_name$$=$model_name$$.split(".js")[0];"kbmpttct"===$model_name$$&&($model_name$$="kbmPttct");"kbmtkgtgt"===$model_name$$&&($model_name$$="kbmTkgtgt");"token"===$model_name$$&&($model_name$$="tokens");"bn1"===$model_name$$&&($model_name$$="pc1");"bc1"===$model_name$$&&($model_name$$="pt1");var $
|
|
4
|
-
"/"+$model_name$$+".js";if(fs.existsSync($
|
|
3
|
+
global.getModel=$model_name$$=>{$model_name$$=$model_name$$.split(".js")[0];"kbmpttct"===$model_name$$&&($model_name$$="kbmPttct");"kbmtkgtgt"===$model_name$$&&($model_name$$="kbmTkgtgt");"token"===$model_name$$&&($model_name$$="tokens");"bn1"===$model_name$$&&($model_name$$="pc1");"bc1"===$model_name$$&&($model_name$$="pt1");var $_requireFields_model_model_path_mySchema$$=mongoose.models[$model_name$$];if($_requireFields_model_model_path_mySchema$$)return $_requireFields_model_model_path_mySchema$$;
|
|
4
|
+
$_requireFields_model_model_path_mySchema$$=(((global.configs||{}).paths||{}).models||"./models")+"/"+$model_name$$+".js";if(fs.existsSync($_requireFields_model_model_path_mySchema$$))return require($_requireFields_model_model_path_mySchema$$);$_requireFields_model_model_path_mySchema$$=__dirname+"/models/"+$model_name$$+".js";if(fs.existsSync($_requireFields_model_model_path_mySchema$$))return require($_requireFields_model_model_path_mySchema$$);console.error("model",$model_name$$,"is not exists. create new model");
|
|
5
|
+
$_requireFields_model_model_path_mySchema$$={...require("./models/listinfo").requireFields};$_requireFields_model_model_path_mySchema$$=new global.Schema($_requireFields_model_model_path_mySchema$$,{strict:!1});return global.mongoose.model($model_name$$,$_requireFields_model_model_path_mySchema$$)};global.getLib=$lib_name$$=>require("./libs/"+$lib_name$$);
|
|
5
6
|
const pointSchema=new global.mongoose.Schema({type:{type:String,enum:["Point"],required:!0,default:"Point"},coordinates:{type:[Number],required:!0}}),polygonSchema=new global.mongoose.Schema({type:{type:String,enum:["Polygon"],required:!0,default:"Polygon"},coordinates:{type:[[[Number]]],required:!0}});global.customTypes={Point:pointSchema,Polygon:polygonSchema};const EventEmitter=require("events");class GlobalEmitter extends EventEmitter{}global.globalEvents=new GlobalEmitter;
|
|
6
7
|
const Message=global.getModel("message"),Notification=global.getModel("notification"),User=global.getModel("user"),Sysconfig=global.getModel("sysconfig");global.getSysConfig=async $cf_code$$=>{if($cf_code$$=await Sysconfig.findOne({code:$cf_code$$}))return $cf_code$$.value};global.asyncCountUnRead=async $email$$=>new Promise($resolve$$=>{setImmediate(()=>{Message.countDocuments({email:$email$$,read:!1},($e$$,$rs$$)=>{$resolve$$($rs$$||0)})})});
|
|
7
8
|
global.alertMessage=function($email$$){setImmediate(()=>{Message.countDocuments({email_owner:$email$$,email_receiver:$email$$,read:!1},function($error$$,$count$$){$error$$?console.log($error$$):User.emitEvent($email$$,"message:count",$count$$,!1)})})};
|
|
@@ -142,7 +142,7 @@ listinfoSchema.index({status: 1});
|
|
|
142
142
|
listinfoSchema.index({user_created: 1,visible_to: 1,visible_to_users: 1});
|
|
143
143
|
|
|
144
144
|
const model = global.mongoose.models.listinfo || global.mongoose.model('listinfo', listinfoSchema);
|
|
145
|
-
const requireFields ={
|
|
145
|
+
const requireFields= model.requireFields ={
|
|
146
146
|
id_app:{type:String,required:true},
|
|
147
147
|
exfields:global.Schema.Types.Mixed,
|
|
148
148
|
status: {type: Boolean, default: true},
|
|
@@ -249,12 +249,16 @@ model.createSchema = (info)=>{
|
|
|
249
249
|
return mySchema;
|
|
250
250
|
}
|
|
251
251
|
model.updateModel = (info,_newModel)=>{
|
|
252
|
-
console.log("update model...")
|
|
252
|
+
//console.log("update model...")
|
|
253
253
|
if(info.toObject) info = info.toObject();
|
|
254
254
|
if(!info.create_model) return null;
|
|
255
255
|
let model_code = info.api_code || info.model_code || info.code;
|
|
256
256
|
if(!_newModel) _newModel = global.mongoose.models[model_code];
|
|
257
257
|
if(!_newModel) return;
|
|
258
|
+
if(!_newModel.schema){
|
|
259
|
+
console.error("model does not have schema",_newModel);
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
258
262
|
|
|
259
263
|
const api_code = info.api_code || info.code;
|
|
260
264
|
const _newList = global.controllers[api_code.toUpperCase()]
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
'use strict';const model=global.getModel("assproduct"),Trangthai=global.getModel("trangthai"),financialroadmap=global.getModel("financialroadmap"),controller=require("../../controllers/controller"),{isSupperAdmin}=require("../../libs/utils"),{createTx,getTxStatus,bcQuery}=require("../../libs/blockchainconnect"),async=require("async");
|
|
2
|
-
module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"assproduct",{sort:{date_created:-1},notNeedRight:!0,onFinding:async($user$$,$condition$$,$next$$)=>{$next$$(null,$condition$$)},onView:($user$$,$items$$,$next$$)=>{async.map($items$$.filter($item$$=>($item$$.id||0==$item$$.id)&&"9"!=$item$$.trang_thai),async $item$$=>{try{
|
|
3
|
-
Number($
|
|
4
|
-
{console.log("
|
|
5
|
-
$
|
|
6
|
-
|
|
7
|
-
{
|
|
8
|
-
|
|
2
|
+
module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"assproduct",{sort:{date_created:-1},notNeedRight:!0,onFinding:async($user$$,$condition$$,$next$$)=>{$next$$(null,$condition$$)},onView:($user$$,$items$$,$next$$)=>{async.map($items$$.filter($item$$=>($item$$.id||0==$item$$.id)&&"9"!=$item$$.trang_thai),async $item$jscomp$0$$=>{try{var $ivs_period_het_hoat_dong$$=await bcQuery("product/"+$item$jscomp$0$$.id);$item$jscomp$0$$.co_phan=$ivs_period_het_hoat_dong$$.Product.coPhan;
|
|
3
|
+
$item$jscomp$0$$.token=$ivs_period_het_hoat_dong$$.Product.token;$item$jscomp$0$$.so_luong=Number($ivs_period_het_hoat_dong$$.Product.soLuong);$item$jscomp$0$$.so_luong_goi_dau_tu=Number($ivs_period_het_hoat_dong$$.Product.soLuongGoiDauTu);$item$jscomp$0$$.tong_gia_tri_goi_dau_tu=Number($ivs_period_het_hoat_dong$$.Product.tongGiaTriGoiDauTu);$item$jscomp$0$$.da_dau_tu=Number($ivs_period_het_hoat_dong$$.Product.daDauTu);$item$jscomp$0$$.gia_tri_da_dau_tu=Number($ivs_period_het_hoat_dong$$.Product.giaTriDaDauTu);
|
|
4
|
+
$item$jscomp$0$$.da_dau_tu=Number($ivs_period_het_hoat_dong$$.Period.daDauTu);model.updateMany({_id:$item$jscomp$0$$._id},$item$jscomp$0$$).then($rs$$=>{console.log("update product",$rs$$)})}catch($e$$){console.error("view assproduct",$e$$),$e$$.message&&"3"==$e$$.message.code&&(model.deleteOne({_id:$item$jscomp$0$$._id}).then(()=>{console.log("deleted product",$item$jscomp$0$$)}),$item$jscomp$0$$.not_found=!0)}$ivs_period_het_hoat_dong$$=await global.getModel("assperiod").find({id_app:$item$jscomp$0$$.id_app,
|
|
5
|
+
id_product:$item$jscomp$0$$.id.toString(),hoat_dong:!1});$item$jscomp$0$$.tong_so_token_unactive=$ivs_period_het_hoat_dong$$.map($item$$=>$item$$.tong_so_token).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$item$jscomp$0$$.tong_gia_tri_unactive=$ivs_period_het_hoat_dong$$.map($item$$=>$item$$.tong_so_token*$item$$.gia).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$item$jscomp$0$$.da_dau_tu_unactive=$ivs_period_het_hoat_dong$$.map($item$$=>$item$$.da_dau_tu).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$item$jscomp$0$$.gia_tri_da_dau_tu_unactive=
|
|
6
|
+
$ivs_period_het_hoat_dong$$.map($item$$=>$item$$.da_dau_tu*$item$$.gia).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$item$jscomp$0$$.so_luong_goi_dau_tu=$item$jscomp$0$$.so_luong_goi_dau_tu-$item$jscomp$0$$.tong_so_token_unactive+$item$jscomp$0$$.da_dau_tu_unactive;$item$jscomp$0$$.tong_gia_tri_goi_dau_tu=$item$jscomp$0$$.tong_gia_tri_goi_dau_tu-$item$jscomp$0$$.tong_gia_tri_unactive+$item$jscomp$0$$.gia_tri_da_dau_tu_unactive},async()=>{$items$$=$items$$.filter($i$$=>!$i$$.not_found);$items$$.joinModel2(null,
|
|
7
|
+
Trangthai,[{where:$a$$=>({ma_trang_thai:$a$$.trang_thai,ma_ct:"ASSPRODUCT"}),fields:["ten_trang_thai","color"]}],function(){$items$$.filter($item$$=>$item$$.id||0==$item$$.id).joinModel2($user$$.current_id_app,financialroadmap,[{where:$a$$=>({code:$a$$.id}),fields:[{frm_id:"_id"}]}],function(){$next$$(null,$items$$)})})})},onCreating:async($user$$,$obj$$,$next$$)=>{if("9"===$obj$$.trang_thai)return $next$$(null,$obj$$);createTx($user$$.current_id_app,$user$$.token,{values:{creator:$obj$$.creator,
|
|
8
|
+
tenSanPham:$obj$$.ten_san_pham,mieuTa:"",tongDienTich:"",chuDauTu:$obj$$.chu_dau_tu,giaTriHienTai:$obj$$.gia_tri_hien_tai,diaChi:$obj$$.dia_chi,hienTrang:"",viTri:"",thietKe:"",tienNghi:"",hinhAnh:"",video:"",duocChuyenThanhCP:$obj$$.duoc_chuyen_thanh_cp,coPhan:$obj$$.co_phan||!1,token:$obj$$.token,soLuong:Number($obj$$.so_luong||0)},typeUrl:"/pvtruong.flexzen.flexzen.MsgCreateProduct",from_address:$obj$$.creator,memo:"Ph\u00e1t h\u00e0nh "+$obj$$.ten_san_pham}).then(async $rs$$=>{if($rs$$.code){if(5===
|
|
9
|
+
$rs$$.code)return $next$$("B\u1ea1n kh\u00f4ng \u0111\u1ee7 ti\u1ec1n \u0111\u1ec3 th\u1ef1c hi\u1ec7n giao d\u1ecbch n\u00e0y");console.error($rs$$);return $next$$($rs$$.rawLog||"Kh\u00f4ng th\u1ec3 t\u1ea1o d\u1ef1 \u00e1n n\u00e0y")}try{let $tx$$=await getTxStatus($rs$$.transactionHash),$id$$=((((($tx$$.logs.find($l$$=>$l$$.events)||{}).events||[]).find($e$$=>"message"===$e$$.type)||{}).attributes||[]).find($a$$=>"id"===$a$$.key)||{}).value;void 0!==$id$$?($obj$$.id=$id$$,$next$$(null,$obj$$)):
|
|
10
|
+
(console.error($tx$$),$next$$("Kh\u00f4ng th\u1ec3 t\u1ea1o s\u1ea3n ph\u1ea9m n\u00e0y"))}catch($e$$){console.error($e$$),$next$$($e$$.message||$e$$.error||$e$$)}}).catch($e$$=>{console.error($e$$);$next$$($e$$.message||$e$$.error||$e$$)})}});$contr_router$$.deleting=function($user$$,$obj$$,$fn$$){if(!isSupperAdmin($user$$.email.toLowerCase()))return $fn$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n x\u00f3a s\u1ea3n ph\u1ea9m n\u00e0y n\u00e0y");$fn$$(null,$obj$$)};$contr_router$$.updating=function($user$$,
|
|
11
|
+
$data$$,$_obj$$,$fn$$){var $obj$jscomp$21_values$$=$_obj$$.toObject?$_obj$$.toObject():$_obj$$;if($user$$.email!==$obj$jscomp$21_values$$.user_created)return console.log("update product",$obj$jscomp$21_values$$.trang_thai,$obj$jscomp$21_values$$.ten_san_pham),$fn$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n c\u1eadp nh\u1eadt s\u1ea3n ph\u1ea9m n\u00e0y");if("9"==$data$$.trang_thai&&"9"!=$obj$jscomp$21_values$$.trang_thai)return $fn$$("Kh\u00f4ng th\u1ec3 chuy\u1ec3n v\u1ec1 tr\u1ea1ng th\u00e1i ch\u01b0a \u0111\u01b0\u1ee3c ph\u00e1t h\u00e0nh t\u1eeb tr\u1ea1ng th\u00e1i \u0111\u00e3 \u0111\u01b0\u1ee3c ph\u00e1t h\u00e0nh");
|
|
9
12
|
if("9"==$data$$.trang_thai)return $fn$$(null,$data$$,$obj$jscomp$21_values$$);if(void 0!=$data$$.co_phan&&$data$$.co_phan!=$obj$jscomp$21_values$$.co_phan)return $fn$$("Kh\u00f4ng th\u1ec3 \u0111\u1ed5i ki\u1ec3u d\u1ef1 \u00e1n (c\u1ed5 ph\u1ea7n ho\u1eb7c kh\u00f4ng c\u1ed5 ph\u1ea7n");$data$$.trang_thai=$data$$.trang_thai||$obj$jscomp$21_values$$.trang_thai;$data$$.co_phan=$obj$jscomp$21_values$$.co_phan;if($data$$.creator&&$data$$.creator!==$obj$jscomp$21_values$$.creator)return $fn$$("Kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p s\u1eeda \u0111\u1ecba ch\u1ec9 v\u00ed ng\u01b0\u1eddi t\u1ea1o");
|
|
10
13
|
if($data$$.token&&$data$$.token!==$obj$jscomp$21_values$$.token)return $fn$$("Kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p s\u1eeda t\u00ean token");let $from_address$$=$obj$jscomp$21_values$$.creator,$typeUrl$$,$memo$$;"9"!==$obj$jscomp$21_values$$.trang_thai?($memo$$="C\u1eadp nh\u1eadt "+$data$$.ten_san_pham||$obj$jscomp$21_values$$.ten_san_pham,$typeUrl$$="/pvtruong.flexzen.flexzen.MsgUpdateProduct",$obj$jscomp$21_values$$={creator:$obj$jscomp$21_values$$.creator,id:Number($obj$jscomp$21_values$$.id),
|
|
11
14
|
tenSanPham:$data$$.ten_san_pham||$obj$jscomp$21_values$$.ten_san_pham,mieuTa:"",tongDienTich:"",chuDauTu:$data$$.chu_dau_tu||$obj$jscomp$21_values$$.chu_dau_tu,giaTriHienTai:$data$$.gia_tri_hien_tai||$obj$jscomp$21_values$$.gia_tri_hien_tai,diaChi:$data$$.dia_chi||$obj$jscomp$21_values$$.dia_chi,hienTrang:"",viTri:"",thietKe:"",tienNghi:"",hinhAnh:"",video:"",duocChuyenThanhCP:$data$$.duoc_chuyen_thanh_cp||$obj$jscomp$21_values$$.duoc_chuyen_thanh_cp}):($memo$$="Ph\u00e1t h\u00e0nh "+$data$$.ten_san_pham||
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
'use strict';const async=require("async"),tinhgiatb=require("../../libs/tinhgiatb"),controller=require("../../controllers/controllerRPT");
|
|
2
|
-
module.exports=function($router$$){new controller($router$$,"tinhgiatb",function($
|
|
3
|
-
$
|
|
2
|
+
module.exports=function($router$$){new controller($router$$,"tinhgiatb",async function($_app_ngay_ks_req$$,$callback$$){const $query$$=$_app_ngay_ks_req$$.query;if(!$query$$.nam||!$query$$.tu_thang||!$query$$.den_thang)return $callback$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: nam,tu_thang,den_thang");const $moment$$=require("moment");$_app_ngay_ks_req$$=await global.getModel("app").findOne({_id:$_app_ngay_ks_req$$.user.current_id_app});if(!$_app_ngay_ks_req$$)return $callback$$("C\u00f4ng ty n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");
|
|
3
|
+
$_app_ngay_ks_req$$=$moment$$($_app_ngay_ks_req$$.ngay_ks).startOf("date").toDate();let $tu_ngay$$=$moment$$([Number($query$$.nam),Number($query$$.tu_thang)-1,1]).startOf("month").toDate();if($_app_ngay_ks_req$$.getTime()>=$tu_ngay$$.getTime())return $callback$$(`\u0110\u00e3 kh\u00f3a s\u1ed5 \u0111\u1ebfn ng\u00e0y ${$moment$$($_app_ngay_ks_req$$).format("DD/MM/YYYY")}`);const $query_dmvt$$={id_app:$query$$.id_app};async.parallel([$vcallback$$=>{$callback$$(null,null,"begin");const $zquery$$=Object.assign({},
|
|
4
|
+
$query$$,$query_dmvt$$);tinhgiatb($zquery$$,function($error$$,$results$$){if($error$$)return $vcallback$$($error$$);$callback$$(null,$results$$,"data");$vcallback$$(null)})}],$e$$=>{if($e$$)return console.log("Error tinh gia trung binh",$e$$),$callback$$($e$$);$callback$$(null,null,"end")})},{stream:!0})};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';const gt_ctgt=global.getModel("gt_ctgt"),dmvt=global.getModel("dmvt"),xoadulieucu=require("../../libs/tinhGtXoa"),tinhgiathanhtt=require("../../libs/tinhGtTrucTiep"),tinhsoluong=require("../../libs/tinhGtSltk"),taphopcppstk=require("../../libs/tinhGtThcppstk"),phanbotheosl=require("../../libs/tinhGtPhanboSltp"),phanbotheoyt=require("../../libs/tinhGtPhanboYtcp"),capnhatpnk=require("../../libs/tinhGtCapnhatPNK"),controller=require("../../controllers/controllerRPT");
|
|
2
|
-
module.exports=function($router$$){new controller($router$$,"tinhgiathanh",function($
|
|
3
|
-
|
|
4
|
-
$
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
module.exports=function($router$$){new controller($router$$,"tinhgiathanh",async function($_app_ngay_ks_req$$,$callback$$){const $condition$$=$_app_ngay_ks_req$$.query;if(!$condition$$.nam||!$condition$$.thang)return $callback$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: nam,thang");$condition$$.nam=Number($condition$$.nam);$condition$$.thang=Number($condition$$.thang);const $moment$$=require("moment");$_app_ngay_ks_req$$=await global.getModel("app").findOne({_id:$_app_ngay_ks_req$$.user.current_id_app});
|
|
3
|
+
if(!$_app_ngay_ks_req$$)return $callback$$("C\u00f4ng ty n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");$_app_ngay_ks_req$$=$moment$$($_app_ngay_ks_req$$.ngay_ks).startOf("date").toDate();let $tu_ngay$$=$moment$$([Number($condition$$.nam),Number($condition$$.thang)-1,1]).startOf("month").toDate();if($_app_ngay_ks_req$$.getTime()>=$tu_ngay$$.getTime())return $callback$$(`\u0110\u00e3 kh\u00f3a s\u1ed5 \u0111\u1ebfn ng\u00e0y ${$moment$$($_app_ngay_ks_req$$).format("DD/MM/YYYY")}`);(new Promise(($resolve$$,
|
|
4
|
+
$reject$$)=>{xoadulieucu($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resolve$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{tinhsoluong($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{taphopcppstk($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{tinhgiathanhtt($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);
|
|
5
|
+
$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{phanbotheosl($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{phanbotheoyt($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{phanbotheoyt($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{capnhatpnk($condition$$,
|
|
6
|
+
($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>{let $cond$$={id_app:$condition$$.id_app,nam:$condition$$.nam,thang:$condition$$.thang};$condition$$.ma_bp&&($cond$$.ma_bp=$condition$$.ma_bp.toUpperCase());$condition$$.id_lenhsx&&global.mongoose.Types.ObjectId.isValid($condition$$.id_lenhsx)&&($cond$$.id_lenhsx=$condition$$.id_lenhsx);gt_ctgt.find($cond$$).lean().exec(async($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);await $rs$$.asyncJoinModel2($condition$$.id_app,dmvt,
|
|
7
|
+
[{where:{ma_sp:"ma_vt"},fields:[{name:"ten_sp",value:"ten_vt"}]}]);await $rs$$.asyncJoinModel2($condition$$.id_app,global.getModel("lenhsx"),[{where:{id_lenhsx:"_id"},fields:[{so_lenh_sx:"so_ct"}]}]);$callback$$(null,$rs$$)})}).catch($e$$=>{console.log("error",$e$$);$callback$$($e$$)})})};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
'use strict';const User=global.getModel("user"),log=global.getModel("log"),Customer=global.getModel("customer"),Endpoint=global.getModel("endpoint"),getNotifies=require("../../libs/getNotifies"),redisCache=require("../../libs/redis-cache"),underscore=require("underscore"),async=require("async"),fs=require("fs"),{isSupperAdmin}=require("../../libs/utils"),permission=require("../../libs/permission"),path=require("path"),Token=global.getModel("token"),gm=require("gm").subClass({imageMagick:!0}),
|
|
2
|
-
require("request"),findByToken=User.findByToken;
|
|
1
|
+
'use strict';const User=global.getModel("user"),log=global.getModel("log"),Customer=global.getModel("customer"),Endpoint=global.getModel("endpoint"),getNotifies=require("../../libs/getNotifies"),redisCache=require("../../libs/redis-cache"),underscore=require("underscore"),async=require("async"),fs=require("fs"),{isSupperAdmin}=require("../../libs/utils"),permission=require("../../libs/permission"),validator=require("validator"),path=require("path"),Token=global.getModel("token"),gm=require("gm").subClass({imageMagick:!0}),
|
|
2
|
+
request=require("request"),findByToken=User.findByToken;
|
|
3
3
|
module.exports=function($router$$){const $usersAdmin$$=configs.admins;$router$$.route("/user").get(function($req$$,$res$$){const $access_token$$=$req$$.query.access_token;findByToken($access_token$$,$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,function($e$$,$user$$){if($e$$)return $res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$});$user$$?($user$$.local=$user$$.local||{},$user$$.address=$user$$.local.address?$user$$.local.address:"",$user$$.phone=$user$$.local.phone?
|
|
4
4
|
$user$$.local.phone:"",$user$$.has_pin=$user$$.local.pin?!0:!1,$user$$.token=$access_token$$,$user$$.admin=underscore.contains($usersAdmin$$,$user$$.email)||isSupperAdmin($user$$.email.toLowerCase()),!$user$$.picture&&$user$$.local.picture&&($user$$.picture=$user$$.local.picture),console.log(JSON.stringify($user$$)),delete $user$$.tokens,delete $user$$.facebook,delete $user$$.google,delete $user$$.password,delete $user$$.pin,delete $user$$.local.pin,delete $user$$.local.rePassword,delete $user$$.local.password,
|
|
5
5
|
$res$$.send($user$$)):$res$$.status(404).send({error:"Token kh\u00f4ng t\u1ed3n t\u1ea1i"})})});$router$$.route("/profile").get(function($req$$,$res$$){const $email$$=$req$$.query.email,$query$$={};async.parallel({e:function($callback$$){$email$$?($query$$.email=$email$$,User.findOne($query$$).lean().exec(function($error$$,$user$$){if($error$$)return $callback$$($error$$);$callback$$(null,$user$$)})):$callback$$()},t:function($callback$$){$email$$?$callback$$():findByToken($req$$.query.access_token,
|
|
@@ -20,13 +20,13 @@ $res$$){let $access_token$$=$req$$.query.access_token;if(!$req$$.files.fileuploa
|
|
|
20
20
|
configs.paths.templates||$path$$.dirname($path$$.dirname(__dirname))+"/templates";$root_dir_templates$$+="/";findByToken($access_token$$,$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,function($error$jscomp$0$$,$user$$){if($error$jscomp$0$$)return $res$$.status(400).send({error:$error$jscomp$0$$.message||$error$jscomp$0$$.error||$error$jscomp$0$$});$user$$?fs.readFile($req$$.files.fileupload.path,function($err$$,$data$$){if($err$$)return $res$$($err$$);fs.existsSync($root_dir_templates$$+
|
|
21
21
|
"excels")||fs.mkdirSync($root_dir_templates$$+"excels");let $newPath$$="excels/"+$user$$._id.toString()+"_"+$path$$.basename($req$$.files.fileupload.path);fs.unlink($req$$.files.fileupload.path,$e$$=>{$e$$&&console.error($e$$)});console.log("uploading template file",$root_dir_templates$$+$newPath$$);fs.writeFile($root_dir_templates$$+$newPath$$,$data$$,function($error$$){if($error$$)return console.error("Error upload file",$error$$),$res$$.status(404).send($error$$);$error$$="/templates/"+$newPath$$;
|
|
22
22
|
console.log("Updated a file to ",$root_dir_templates$$+$newPath$$);if($req$$.query.json)return $res$$.send({fileUrl:$error$$});$res$$.writeHead(200,{"Content-Type":"text/html"});$res$$.end("<html><head><title>"+$error$$+"</title></head><body>success</body></html>")})}):$res$$.status(404).send({error:"Not found"})})}else $res$$.status(400).send("Ch\u1ec9 ch\u1ea5p nh\u1eadn c\u00e1c \u0111\u1ecbnh d\u1ea1ng file: xlsx,xml")});$router$$.route("/updateprofile").post(function($req$$,$res$$){findByToken($req$$.query.access_token,
|
|
23
|
-
$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,async($error$jscomp$10_user$$,$_user$$)=>{if($error$jscomp$10_user$$)return $res$$.status(400).send({error:$error$jscomp$10_user$$.message||$error$jscomp$10_user$$.error||$error$jscomp$10_user$$});if($_user$$){$error$jscomp$10_user$$={local:$_user$$.local||{},email:$_user$$.email,name:$_user$$.name};let $profile$$=$req$$.body;if($profile$$.local)for($
|
|
24
|
-
$profile$$.local[$
|
|
25
|
-
$
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
$rs$$.name,$
|
|
29
|
-
$
|
|
23
|
+
$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,async($error$jscomp$10_user$$,$_user$$)=>{if($error$jscomp$10_user$$)return $res$$.status(400).send({error:$error$jscomp$10_user$$.message||$error$jscomp$10_user$$.error||$error$jscomp$10_user$$});if($_user$$){$error$jscomp$10_user$$={local:$_user$$.local||{},email:$_user$$.email,name:$_user$$.name};let $profile$$=$req$$.body;if($profile$$.local)for($_phone_key$$ in $profile$$.local)"_id"!==$_phone_key$$&&($error$jscomp$10_user$$.local[$_phone_key$$]=
|
|
24
|
+
$profile$$.local[$_phone_key$$],void 0==$profile$$[$_phone_key$$]&&($profile$$[$_phone_key$$]=$profile$$.local[$_phone_key$$]));$profile$$.name&&($error$jscomp$10_user$$.local.name=$profile$$.name,$error$jscomp$10_user$$.name=$profile$$.name);var $_phone_key$$=$profile$$.phone;if($_phone_key$$){let $tmp_u$$=await User.findOne({"local.phone":$_phone_key$$});if($tmp_u$$&&$tmp_u$$.email!==$error$jscomp$10_user$$.email)return $res$$.status(400).send({error:`S\u1ed1 \u0111i\u1ec7n tho\u1ea1i ${$_phone_key$$} \u0111\u00e3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng`})}void 0!=
|
|
25
|
+
$_phone_key$$&&($error$jscomp$10_user$$.local.phone=$_phone_key$$);void 0!=$profile$$.address&&($error$jscomp$10_user$$.local.address=$profile$$.address);void 0!=$profile$$.zalo&&($error$jscomp$10_user$$.local.zalo=$profile$$.zalo);void 0!=$profile$$.whatsapp&&($error$jscomp$10_user$$.local.whatsapp=$profile$$.whatsapp);void 0!=$profile$$.facebook&&($error$jscomp$10_user$$.local.facebook=$profile$$.facebook);void 0!=$profile$$.company&&($error$jscomp$10_user$$.local.company=$profile$$.company);void 0!=
|
|
26
|
+
$profile$$.picture&&($error$jscomp$10_user$$.local.picture=$profile$$.picture);if(void 0!=$profile$$.email2){if($profile$$.email2&&!validator.isEmail($profile$$.email2))return $res$$.status(400).send({error:`Email ${$profile$$.email2} kh\u00f4ng h\u1ee3p l\u1ec7`});$error$jscomp$10_user$$.email2=$profile$$.email2}$error$jscomp$10_user$$.user_updated=$req$$.user.email;$error$jscomp$10_user$$.date_updated=new Date;User.findByIdAndUpdate($_user$$._id,$error$jscomp$10_user$$,async function($error$$,$rs$$){if($error$$||
|
|
27
|
+
!$rs$$)return $res$$.status(400).send({error:$error$$||"User kh\u00f4ng t\u1ed3n t\u1ea1i"});log.create({id_app:"CHANGEPROFILE",id_func:"CHANGEPROFILE",action:"CHANGEPROFILE"},$_user$$.email,$req$$.header("user-agent"),$req$$);console.log("update customer of user",$rs$$.email);Customer.findOne({of_user:$rs$$.email,ma_kh:$rs$$.email.toUpperCase()},($e$jscomp$0$$,$cust$$)=>{$cust$$?($cust$$.ten_kh=$rs$$.name,$cust$$.save(($e$$,$_cust$$)=>{if($e$$)return console.error("can't update ten_kh for user",
|
|
28
|
+
$rs$$.name,$e$$);global.clientRedis.set("stp:"+$_cust$$._id.toString(),"")})):console.error("Not found customer of user",$rs$$.email)});$_user$$=await User.findById($_user$$._id).lean();redisCache.set("user",$_user$$,function($e$$){$e$$?console.error($e$$):console.log("cache user infomation to redis");$res$$.send("\u0110\u00e3 c\u1eadp nh\u1eadt th\u00e0nh c\u00f4ng")})})}else $res$$.status(404).send({error:"Not found"})})});$router$$.route("/changepasswordByAdmin").post(function($req$$,$res$$){let $body$$=
|
|
29
|
+
$req$$.body;if(!$body$$.newPassword)return $res$$.status(400).send({error:"B\u1ea1n ch\u01b0a nh\u1eadp m\u1eadt kh\u1ea9u m\u1edbi"});if($body$$.newPassword){if($body$$.reNewPassword!==$body$$.newPassword)return $res$$.status(400).send({error:"M\u1eadt kh\u1ea9u x\u00e1c nh\u1eadn kh\u00f4ng ch\u00ednh x\u00e1c"});if(!User.teststrengthPassword($body$$.newPassword))return $res$$.status(400).send({error:"M\u1eadt kh\u1ea9u ph\u1ea3i c\u00f3 \u00edt nh\u1ea5t 6 k\u00fd t\u1ef1 v\u00e0 bao g\u1ed3m \u00edt nh\u1ea5t m\u1ed9t ch\u1eef s\u1ed1, m\u1ed9t ch\u1eef hoa v\u00e0 m\u1ed9t ch\u1eef th\u01b0\u1eddng"})}findByToken($req$$.query.access_token,
|
|
30
30
|
$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,function($error$jscomp$0$$,$user$$){if($error$jscomp$0$$)return $res$$.status(400).send({error:$error$jscomp$0$$.message||$error$jscomp$0$$.error||$error$jscomp$0$$});if(!$user$$)return $res$$.status(400).send({error:"token kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb"});if(underscore.contains($usersAdmin$$,$user$$.email)||isSupperAdmin($user$$.email.toLowerCase()))User.findOne({email:$body$$.email},function($e$jscomp$0$$,$u$$){if($e$jscomp$0$$||
|
|
31
31
|
!$u$$)return $res$$.status(400).send({error:$body$$.email+" ch\u01b0a \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd"});$u$$.local.password=$u$$.generateHash($body$$.newPassword);$u$$.local.rspassword=null;$u$$.save(function($error$$){if($error$$)return $res$$.status(400).send($error$$);Token.deleteMany({email:$body$$.email,ip:{$in:["",null,void 0]}},$e$$=>{$e$$&&console.log("error when remove old tokens",$e$$)});log.create({id_app:"CHANGEPASSWORD",id_func:"CHANGEPASSWORD",action:"CHANGEPASSWORD"},$u$$.email,
|
|
32
32
|
$req$$.header("user-agent"),$req$$);redisCache.set("user",$u$$.toObject(),function($e$$){$e$$?console.error($e$$):console.log("cache user infomation to redis")});$res$$.send({message:"\u0110\u00e3 c\u1eadp nh\u1eadt th\u00e0nh c\u00f4ng"})})});else return $res$$.status(400).send({error:"B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n thay \u0111\u1ed5i m\u1eadt kh\u1ea9u c\u1ee7a ng\u01b0\u1eddi s\u1eed d\u1ee5ng n\u00e0y"})})});$router$$.route("/delete").get(function($req$$,$res$$){findByToken($req$$.query.access_token,
|
|
@@ -3,8 +3,8 @@ trangthai=global.getModel("trangthai"),controller=require("../../controllers/con
|
|
|
3
3
|
0;$i_i$jscomp$1_i$$<$obj$$.vatvaos.length;$i_i$jscomp$1_i$$++)$detail_vatra_vatvao$$=$obj$$.vatvaos[$i_i$jscomp$1_i$$],$detail_vatra_vatvao$$.line=$i_i$jscomp$1_i$$,"VND"==$obj$$.ma_nt&&($detail_vatra_vatvao$$.t_thue=Math.roundBy($detail_vatra_vatvao$$.t_thue_nt,0));if($obj$$.vatras)for($i_i$jscomp$1_i$$=0;$i_i$jscomp$1_i$$<$obj$$.vatras.length;$i_i$jscomp$1_i$$++)$detail_vatra_vatvao$$=$obj$$.vatras[$i_i$jscomp$1_i$$],$detail_vatra_vatvao$$.line=$i_i$jscomp$1_i$$,"VND"==$obj$$.ma_nt&&($detail_vatra_vatvao$$.t_thue=
|
|
4
4
|
Math.roundBy($detail_vatra_vatvao$$.t_thue_nt,0));$fn$$()};
|
|
5
5
|
module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,sort:{ngay_ct:-1,so_ct:-1}});$contr_router$$.route();$contr_router$$.post=function($obj$$,$fn$$){$fn$$||($fn$$=function(){});async.parallel({post_vatvao:function($callback$$){(new PostBook($obj$$,$obj$$.vatvaos,Vatvao)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})},post_vatra:function($callback$$){(new PostBook($obj$$,$obj$$.vatras,Vatra)).run(function($e$$,$rs$$){$callback$$($e$$,
|
|
6
|
-
$rs$$)})},post_socai:function($callback$$){const $details_sc$$=[];$obj$$.vatvaos.forEach(function($v_vatvao$$){$v_vatvao$$={...$v_vatvao$$};$v_vatvao$$.tk_no=$v_vatvao$$.tk_thue_no;$v_vatvao$$.tk_co=$v_vatvao$$.tk_du_thue;$v_vatvao$$.tien_nt=$v_vatvao$$.t_thue_nt;$v_vatvao$$.tien=$v_vatvao$$.t_thue;$v_vatvao$$.ma_kh=$v_vatvao$$.ma_kh_cn||$
|
|
7
|
-
$v$jscomp$1_vatra$$.tk_du_thue;$v$jscomp$1_vatra$$.tk_co=$v$jscomp$1_vatra$$.tk_thue_co;$v$jscomp$1_vatra$$.tien_nt=$v$jscomp$1_vatra$$.t_thue_nt;$v$jscomp$1_vatra$$.tien=$v$jscomp$1_vatra$$.t_thue;$v$jscomp$1_vatra$$.ma_kh=$v$jscomp$1_vatra$$.ma_kh_cn||$
|
|
6
|
+
$rs$$)})},post_socai:function($callback$$){const $details_sc$$=[];$obj$$.vatvaos.forEach(function($v_vatvao$$){$v_vatvao$$={...$v_vatvao$$};$v_vatvao$$.tk_no=$v_vatvao$$.tk_thue_no;$v_vatvao$$.tk_co=$v_vatvao$$.tk_du_thue;$v_vatvao$$.tien_nt=$v_vatvao$$.t_thue_nt;$v_vatvao$$.tien=$v_vatvao$$.t_thue;$v_vatvao$$.ma_kh=$v_vatvao$$.ma_kh_cn||$obj$$.ma_kh;$details_sc$$.push($v_vatvao$$)});$obj$$.vatras.forEach(function($v$jscomp$1_vatra$$){$v$jscomp$1_vatra$$={...$v$jscomp$1_vatra$$};$v$jscomp$1_vatra$$.tk_no=
|
|
7
|
+
$v$jscomp$1_vatra$$.tk_du_thue;$v$jscomp$1_vatra$$.tk_co=$v$jscomp$1_vatra$$.tk_thue_co;$v$jscomp$1_vatra$$.tien_nt=$v$jscomp$1_vatra$$.t_thue_nt;$v$jscomp$1_vatra$$.tien=$v$jscomp$1_vatra$$.t_thue;$v$jscomp$1_vatra$$.ma_kh=$v$jscomp$1_vatra$$.ma_kh_cn||$obj$$.ma_kh;$details_sc$$.push($v$jscomp$1_vatra$$)});$obj$$.details.forEach(function($d$$){$obj$$.ma_kh&&!$d$$.ma_kh_co&&($d$$.ma_kh_co=$obj$$.ma_kh);$details_sc$$.push({...$d$$})});if($obj$$.tk_tien_cl&&0<$obj$$.details.length&&$obj$$.t_tien_cl_nt){const $cl$$=
|
|
8
8
|
{...$obj$$};$cl$$.tk_co=$obj$$.details[0].tk_co;0<$cl$$.t_tien_cl_nt?($cl$$.tien_nt=$cl$$.t_tien_cl_nt,$cl$$.tien=Math.roundBy($cl$$.t_tien_cl_nt*$cl$$.ty_gia,0),$cl$$.tk_no=$cl$$.tk_tien_cl):($cl$$.tien_nt=Math.abs($cl$$.t_tien_cl_nt),$cl$$.tien=Math.abs(Math.roundBy($cl$$.t_tien_cl_nt*$cl$$.ty_gia,0)),$cl$$.tk_no=$cl$$.tk_co,$cl$$.tk_co=$cl$$.tk_tien_cl);$details_sc$$.push($cl$$)}(new PostSocai($obj$$,$details_sc$$)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})}},function($e$$,$rs$$){$fn$$($e$$,
|
|
9
9
|
$rs$$)})};$contr_router$$.creating=function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);$obj$$.id_pt1="";$obj$$.id_pc1="";valid_detail($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$obj$$)})};$contr_router$$.updating=function($user$$,$data$$,$obj$$,$next$$){valid_detail($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$data$$,$obj$$)})};$contr_router$$.on("saved",function($obj$$){$obj$$.id_pc2&&pc2.updateMany({_id:$obj$$.id_pc2},
|
|
10
10
|
{id_pn6:$obj$$._id.toString(),trang_thai:"7"},($e$$,$rs$$)=>{console.log("update pc2",$rs$$)})});$contr_router$$.on("deleted",function($obj$$){$obj$$.id_pc2&&pc2.updateMany({_id:$obj$$.id_pc2},{id_pn6:""},()=>{pc2.updateMany({_id:$obj$$.id_pc2,trang_thai:"7"},{trang_thai:"5"},($e$$,$rs$$)=>{console.log("update pc2",$rs$$)})})});$contr_router$$.view=function($user$$,$items$$,$fn$$){let $id_app$$=$user$$.current_id_app;async.parallel({dv:function($callback$$){$items$$.filter($item$$=>$item$$.ma_dvcs).joinModel($id_app$$,
|