flexbiz-server
Version:
Flexible Server
17 lines (16 loc) • 7.83 kB
JavaScript
'use strict';const async=require("async"),model=global.getModel("bds_nhadat"),controller=require("../../controllers/controller"),trangthai=global.getModel("trangthai"),building=global.getModel("bds_building"),floordetail=global.getModel("bds_floordetail"),dmdt=global.getModel("dmdt"),utils=require("../../libs/utils");
module.exports=function($contr_router$$){const $updateFloor$$=function($user$$,$obj$$,$next$$){let $_item$$={};$_item$$.mieu_ta_goc=$obj$$.mieu_ta;$_item$$.so_phong_goc=$obj$$.so_phong;$_item$$.so_wc_goc=$obj$$.so_wc;$_item$$.noi_that_goc=$obj$$.noi_that;$_item$$.dien_tich_phong_thuy_goc=$obj$$.dien_tich_phong_thuy;$_item$$.dien_tich_tim_tuong_goc=$obj$$.dien_tich_tim_tuong;$_item$$.huong_ban_cong_goc=$obj$$.huong_ban_cong;$_item$$.huong_cua_chinh_goc=$obj$$.huong_cua_chinh;$_item$$.nh_nd_goc=$obj$$.nh_nd;
$_item$$.noi_that_goc_en=$obj$$.noi_that_en;$_item$$.mieu_ta_goc_en=$obj$$.mieu_ta_en;$_item$$.noi_that_goc_en=$obj$$.noi_that_en;$_item$$.huong_ban_cong_goc_en=$obj$$.huong_ban_cong_en;$_item$$.huong_cua_chinh_goc_en=$obj$$.huong_cua_chinh_en;floordetail.find({id_app:$obj$$.id_app,ma_nd:$obj$$.ma_nd,ma_dt:$obj$$.ma_dt,building_code:$obj$$.building_code},($e$$,$rs$$)=>{$rs$$.forEach(async $r$$=>{await floordetail.updateOne({_id:$r$$._id},$_item$$)})});$next$$(null,$obj$$)};$contr_router$$=new controller($contr_router$$,
model,"nhadat",{sort:{stt:1,ma_nd:1},unique:["ma_nd"],assignWiths:[{field:"nh_nd",ref_collection:"bds_nhomnhadat",ref_field:"ma_nhom",ref_module:"nhomnhadat"}],notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()||"add"==($options$$.action||"").toLowerCase()&&"1"==($options$$.obj||{}).trang_thai?!0:!1,onFinding:function($user$$,$condition$$,$next$$,$options$$){$options$$.req.query.wishlist||($options$$.req.query.wishlist=$condition$$.wishlist);delete $condition$$.wishlist;
Array.isArray($condition$$.phan_loai)&&(0<$condition$$.phan_loai.length?$condition$$.phan_loai={$in:$condition$$.phan_loai}:delete $condition$$.phan_loai);async.series({wishlist:$callback$$=>{if($options$$.req.query.wishlist){let $query_wishlist$$={id_app:$condition$$.id_app,user:$user$$.email};$condition$$.ma_nd&&($query_wishlist$$.ma_vt=$condition$$.ma_nd);global.getModel("ecomwishlist").find($query_wishlist$$,{ma_vt:1}).lean().then($ws$$=>{$condition$$.ma_nd=$ws$$.map($w$$=>$w$$.ma_vt);$callback$$()}).catch($e$$=>
{$callback$$($e$$)})}else $callback$$()},find_ten_dt:function($callback$$){$condition$$.ten_dt&&!$condition$$.ma_dt?dmdt.find({id_app:$user$$.current_id_app,ten_dt:{$regex:$condition$$.ten_dt,$options:"i"}},{ma_dt:1}).lean().exec(function($e$$,$dts$$){if($e$$)return $callback$$($e$$);delete $condition$$.ten_dt;$condition$$.ma_dt={$in:$dts$$.map($d$$=>$d$$.ma_dt)};$callback$$()}):$callback$$()}},function($e$$){if($e$$)return $next$$($e$$);$next$$(null,$condition$$)})},onView:function($user$$,$items$$,
$next$$,$options$$){async.series({wish:$callback$$=>{$options$$&&$options$$.req&&$options$$.req.query&&($options$$.req.query.wishlist||!$options$$.req.query.fields||0<=$options$$.req.query.fields.indexOf("wish"))?$items$$.filter($i$$=>$i$$.id_app).joinModel2(null,"ecomwishlist",[{where:$item$$=>({id_app:$item$$.id_app,user:$user$$.email,ma_vt:$item$$.ma_nd}),setFields:($item$$,$ref$$)=>{$item$$.wish=$ref$$._id?!0:!1;$item$$.id_wish=$ref$$._id}}],async function($rs$$){async.map($items$$,async $item$$=>
{let $comment_number$$=await global.getModel("comment").countDocuments({id_app:$user$$.current_id_app,id_product:$item$$._id});$item$$.comment_number=$comment_number$$},()=>{$callback$$(null,$rs$$)})}):$callback$$()},phu_trach:$callback$$=>{$items$$.filter($item$$=>$item$$.phu_trach).joinModel2($user$$.current_id_app,"participant",{where:{id_app:"id_app",phu_trach:"email"},fields:[{ten_phu_trach:"name",phone:"phone"}]},function(){$callback$$(null)})},dt:$callback$$=>{$items$$.filter($item$$=>$item$$.ma_dt).joinModel2(null,
dmdt,{where:{id_app:"id_app",ma_dt:"ma_dt"},fields:["ten_dt","tinh_thanh","quan_huyen","dia_chi"]},function(){$callback$$(null)})},building:$callback$$=>{$items$$.filter($item$$=>$item$$.building_code).joinModel2(null,building,{where:{id_app:"id_app",building_code:"building_code"},fields:"building_name"},function(){$callback$$(null)})},loai:$callback$$=>{$items$$.filter($item$$=>$item$$.nh_nd).joinModel2($user$$.current_id_app,"nhomnhadat",{where:{nh_nd:"ma_nhom"},fields:["ten_nhom",{color_nhom:"color"}]},
function(){$callback$$(null)})},trangthai:$callback$$=>{$items$$.joinModel2(null,trangthai,[{where:$a$$=>({ma_ct:"NHADAT",ma_trang_thai:$a$$.trang_thai}),fields:["ten_trang_thai","color"]}],function(){$callback$$()})}},()=>{$items$$.forEach($r$$=>{$r$$.ban||($r$$.ban={});$r$$.thue||($r$$.thue={})});$next$$(null,$items$$)})},onCreating:async($address_user$$,$obj$$,$next$$)=>{$obj$$.gia_ban_m2=$obj$$.dien_tich?Math.round(($obj$$.gia_ban||0)/$obj$$.dien_tich):0;if(!$obj$$.location){let $address2$$=$address_user$$=
`${$obj$$.dia_chi}`.toLowerCase();$obj$$.xa_phuong&&0>$address_user$$.indexOf($obj$$.xa_phuong.toLowerCase())?$address_user$$=`${$address_user$$}, ${$obj$$.xa_phuong.toLowerCase()}`:$obj$$.xa_phuong&&($address2$$=$address2$$.split($obj$$.xa_phuong.toLowerCase()).join(""));$obj$$.quan_huyen&&0>$address_user$$.indexOf($obj$$.quan_huyen.toLowerCase())&&($address_user$$=`${$address_user$$}, ${$obj$$.quan_huyen.toLowerCase()}`,$address2$$=`${$address2$$}, ${$obj$$.quan_huyen.toLowerCase()}`);$obj$$.tinh_thanh&&
0>$address_user$$.indexOf($obj$$.tinh_thanh.toLowerCase())&&($address_user$$=`${$address_user$$}, ${$obj$$.tinh_thanh.toLowerCase()}`,$address2$$=`${$address2$$}, ${$obj$$.tinh_thanh.toLowerCase()}`);$obj$$.location=await utils.getLocationByAddress($address_user$$,$address2$$)}$next$$(null,$obj$$)},onUpdating:async($address$jscomp$1_user$$,$data$$,$obj$$,$next$$)=>{$data$$.dien_tich&&($data$$.gia_ban=$data$$.gia_ban||$obj$$.gia_ban,$data$$.gia_ban_m2=Math.round($data$$.gia_ban/$data$$.dien_tich));
$data$$.location=$data$$.location||$obj$$.location;$data$$.dia_chi=$data$$.dia_chi||$obj$$.dia_chi;$data$$.xa_phuong=$data$$.xa_phuong||$obj$$.xa_phuong;$data$$.quan_huyen=$data$$.quan_huyen||$obj$$.quan_huyen;$data$$.tinh_thanh=$data$$.tinh_thanh||$obj$$.tinh_thanh;if(!$data$$.location){let $address2$$=$address$jscomp$1_user$$=`${$data$$.dia_chi}`.toLowerCase();$data$$.xa_phuong&&0>$address$jscomp$1_user$$.indexOf($data$$.xa_phuong.toLowerCase())?$address$jscomp$1_user$$=`${$address$jscomp$1_user$$}, ${$data$$.xa_phuong.toLowerCase()}`:
$data$$.xa_phuong&&($address2$$=$address2$$.split($data$$.xa_phuong.toLowerCase()).join(""));$data$$.quan_huyen&&0>$address$jscomp$1_user$$.indexOf($data$$.quan_huyen.toLowerCase())&&($address$jscomp$1_user$$=`${$address$jscomp$1_user$$}, ${$data$$.quan_huyen.toLowerCase()}`,$address2$$=`${$address2$$}, ${$data$$.quan_huyen.toLowerCase()}`);$data$$.tinh_thanh&&0>$address$jscomp$1_user$$.indexOf($data$$.tinh_thanh.toLowerCase())&&($address$jscomp$1_user$$=`${$address$jscomp$1_user$$}, ${$data$$.tinh_thanh.toLowerCase()}`,
$address2$$=`${$address2$$}, ${$data$$.tinh_thanh.toLowerCase()}`);$data$$.location=await utils.getLocationByAddress($address$jscomp$1_user$$,$address2$$)}$next$$(null,$data$$,$obj$$)},onCreated:$updateFloor$$,onUpdated:$updateFloor$$});$contr_router$$.validating=async($id_app_user$$,$obj$$,$next$$,$options$$={})=>{if("add"!=$options$$.action||$obj$$.ma_nd)$next$$(null,$obj$$);else{$id_app_user$$=$id_app_user$$.current_id_app;try{let $ma_nd$$=await model.asyncCreateCode($id_app_user$$,"BDS");if(!$ma_nd$$)return $next$$("Kh\u00f4ng th\u1ec3 t\u1ea1o m\u00e3 kh\u00e1ch h\u00e0ng");
$obj$$.ma_nd=$ma_nd$$;$next$$(null,$obj$$)}catch($e$$){$next$$(`Kh\u00f4ng th\u1ec3 t\u1ea1o m\u00e3 s\u1ea3n ph\u1ea9m BDS, L\u1ed7i: ${$e$$.message||$e$$.error||$e$$}`)}}};$contr_router$$.route()};