UNPKG

flexbiz-server

Version:

Flexible Server

11 lines (10 loc) 4.72 kB
const model=global.getModel("assneedtobuy"),controller=require("../../controllers/controller"),Trangthai=global.getModel("trangthai"),{isSupperAdmin}=require("../../libs/utils"),async=require("async"); module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"assneedtobuy",{sort:{date_created:-1},notNeedRight:!0,requireOtp:($data$$,$options$$)=>isSupperAdmin($options$$.user.email.toLowerCase())?!1:!0,onFinding:async($user$$,$condition$$,$next$$)=>{$next$$(null,$condition$$)},onView:async($user$$,$items$$,$next$$)=>{async.mapSeries($items$$,($item$$,$cb$$)=>{setImmediate(async()=>{try{await model.updateNeedToBy($item$$)}catch($e$$){Logger.error("view asssell", $e$$)}$cb$$(null,$item$$)})},async()=>{await $items$$.asyncJoinModel2(null,Trangthai,{where:$item$$=>({ma_ct:"ASSNEEDTOBUY",ma_trang_thai:$item$$.trang_thai}),fields:["ten_trang_thai","color"]});$next$$(null,$items$$)})},onCreating:async($id_app_user$$,$NeedToBuy$$,$next$$)=>{var $creator_period_totalMoney$$=$NeedToBuy$$.creator;if(!await global.getModel("asskey").findOne({id_app:$id_app_user$$.current_id_app,username:$id_app_user$$.email,address:$creator_period_totalMoney$$}).lean())return $next$$("\u0110\u1ecba ch\u1ec9 v\u00ed n\u00e0y kh\u00f4ng thu\u1ed9c v\u1ec1 b\u1ea1n"); $id_app_user$$=$id_app_user$$.current_id_app;$creator_period_totalMoney$$=await global.getModel("assperiod").findOne({id_app:$id_app_user$$,id:$NeedToBuy$$.id_period});if(!$creator_period_totalMoney$$)return $next$$("Kh\u00f4ng t\u1ed3n t\u1ea1i g\u00f3i \u0111\u1ea7u t\u01b0");$NeedToBuy$$.id_product=$creator_period_totalMoney$$.id_product;$NeedToBuy$$.gia_mua=$creator_period_totalMoney$$.gia;$NeedToBuy$$.ky_han=$creator_period_totalMoney$$.ky_han;$NeedToBuy$$.cho_phep_rut_von=$creator_period_totalMoney$$.cho_phep_rut_von; $NeedToBuy$$.lai_suat_truoc_han=$creator_period_totalMoney$$.lai_suat_truoc_han;$NeedToBuy$$.cho_phep_chuyen_nhuong=$creator_period_totalMoney$$.cho_phep_chuyen_nhuong;$NeedToBuy$$.so_luong_da_mua=0;$NeedToBuy$$.so_luong_con_lai=$NeedToBuy$$.so_luong;$creator_period_totalMoney$$=$NeedToBuy$$.so_luong*$NeedToBuy$$.gia_mua;try{await global.getModel("assbank").sendCoinsFromAccountToSystem($id_app_user$$,$NeedToBuy$$.creator,$creator_period_totalMoney$$,$NeedToBuy$$.denom,{...$NeedToBuy$$.toObject(), event:"NEEDTOBUY",memo:`Chuy\u1ec3n ${$creator_period_totalMoney$$}${$NeedToBuy$$.denom} l\u00ean s\u00e0n ch\u1edd kh\u1edbp l\u1ec7nh`})}catch($e$$){return $next$$($e$$)}$next$$(null,$NeedToBuy$$)},onCreated:async($user$$,$obj$$,$next$$)=>{$obj$$.id=$obj$$._id.toString();await model.updateOne({_id:$obj$$._id},{id:$obj$$.id});$next$$(null,$obj$$)}});$contr_router$$.deleting=async function($id_app$jscomp$1_user$$,$obj$$,$next$$){if(isSupperAdmin($id_app$jscomp$1_user$$.email.toLowerCase()))return $next$$(null, $obj$$);if($id_app$jscomp$1_user$$.email!==$obj$$.user_created)return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n c\u1eadp nh\u1eadt");$id_app$jscomp$1_user$$=$obj$$.id_app;if($obj$$.so_luong_con_lai>0&&$obj$$.trang_thai=="0"){const $totalMoney$$=$obj$$.so_luong_con_lai*$obj$$.gia_mua;try{return await global.getModel("assbank").sendCoinsFromSystemToAccount($id_app$jscomp$1_user$$,$obj$$.creator,$totalMoney$$,$obj$$.denom,{...$obj$$,event:"SELL-CANCEL",memo:`Hu\u1ef7 l\u1ec7nh mua. Nh\u1eadn ${$totalMoney$$}${$obj$$.denom} c\u00f2n l\u1ea1i`}), await model.updateOne({_id:$obj$$._id},{trang_thai:9}),$next$$("\u0110\u00e3 hu\u1ef7 th\u00e0nh c\u00f4ng l\u1ec7nh n\u00e0y")}catch($e$$){return $next$$($e$$)}}return $next$$("B\u1ea1n kh\u00f4ng th\u1ec3 xo\u00e1 l\u1ec7nh n\u00e0y")};$contr_router$$.updating=async function($id_app$jscomp$2_user$$,$data$$,$obj$$,$next$$){if($id_app$jscomp$2_user$$.email!==$obj$$.user_created&&!isSupperAdmin($id_app$jscomp$2_user$$.email.toLowerCase()))return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n c\u1eadp nh\u1eadt"); if($data$$.id_period!=void 0&&$data$$.id_period!==$obj$$.id_period)return $next$$("Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt g\u00f3i \u0111\u1ea7u t\u01b0");$id_app$jscomp$2_user$$=$obj$$.id_app;if($obj$$.so_luong_con_lai>0&&$obj$$.trang_thai=="0"&&$data$$.trang_thai==9){const $totalMoney$$=$obj$$.so_luong_con_lai*$obj$$.gia_mua;try{return await global.getModel("assbank").sendCoinsFromSystemToAccount($id_app$jscomp$2_user$$,$obj$$.creator,$totalMoney$$,$obj$$.denom,{...$obj$$.toObject(),event:"SELL-CANCEL", memo:`Hu\u1ef7 l\u1ec7nh mua. Nh\u1eadn ${$totalMoney$$}${$obj$$.denom} c\u00f2n l\u1ea1i`}),$data$$={so_luong_con_lai:0,trang_thai:9},$next$$(null,$data$$,$obj$$)}catch($e$$){return $next$$($e$$)}}$next$$("Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt l\u1ec7nh n\u00e0y")};$contr_router$$.route()};