예제 #1
0
 /**
  * 计算黑水值
  * Execute the console command.
  * @return mixed
  */
 public function fire()
 {
     $i = 0;
     $black_water_val = (int) getenv('BLACK_WATER');
     while (true) {
         $result = UserBase::where('user_id', '>', $i)->orderBy('user_id', 'asc')->limit($this->limit)->get()->toArray();
         if (empty($result)) {
             break;
         }
         foreach ($result as $value) {
             $user_login_log = UserLoginLog::where('user_id', $value['user_id'])->where('date', date('Ymd', strtotime('-1 day')))->first();
             if (empty($user_login_log)) {
                 $user_black_water = new UserBlackWater();
                 $user_black_water_result = $user_black_water->where('user_id', $value['user_id'])->first();
                 if (empty($user_black_water_result)) {
                     $user_black_water->user_id = $value['user_id'];
                     $user_black_water->black_water = $black_water_val;
                     $user_black_water->save();
                 } else {
                     $user_black_water->where('user_id', $value['user_id'])->update(['black_water' => $user_black_water_result->black_water + $black_water_val]);
                 }
             }
             $i = $value['user_id'];
         }
     }
 }
예제 #2
0
 protected function formatUsers($users)
 {
     if (!$users) {
         return [];
     }
     $user_list = [];
     $user_ids = [];
     foreach ($users as $user) {
         $user_ids[] = $user->user_id;
         if ($user->type == UserBase::TYPE_ADMIN) {
             $type_text = '管理员';
         } elseif ($user->type == UserBase::TYPE_BUSINESS) {
             $type_text = '商家';
         } else {
             $type_text = '用户';
         }
         $user_list[] = array_merge($user->toArray(), ['type_text' => $type_text, 'status_text' => $user->isOpen() ? '已激活' : '未激活', 'is_active' => $user->isOpen(), 'image_url' => '', 'image_url_real1' => '', 'image_url_real2' => '', 'image_url_real3' => '', 'water_count' => 0, 'black_water' => 0, 'send_water' => 0, 'public_count' => 0, 'giving' => 0, 'user_address' => '', 'user_desc' => '', 'user_http' => '', 'user_company_lat' => '', 'user_company_lng' => '']);
     }
     //获得头像信息
     $user_image_rt = UserImage::whereIn('user_id', $user_ids)->get();
     foreach ($user_list as &$user) {
         foreach ($user_image_rt as $user_image_rt_v) {
             if ($user_image_rt_v->type == 1 && $user['user_id'] == $user_image_rt_v->user_id) {
                 $user['image_url'] = $user_image_rt_v->path();
             } elseif ($user_image_rt_v->type == 2 && $user['user_id'] == $user_image_rt_v->user_id) {
                 $user['image_url_real1'] = $user_image_rt_v->path();
             } elseif (empty($user['image_url_real2']) && $user_image_rt_v->type == 3 && $user['user_id'] == $user_image_rt_v->user_id) {
                 $user['image_url_real2'] = $user_image_rt_v->path();
             } elseif ($user_image_rt_v->type == 3 && $user['user_id'] == $user_image_rt_v->user_id) {
                 $user['image_url_real3'] = $user_image_rt_v->path();
             }
         }
     }
     //获得亲水值
     $user_financial_rt = UserFinancial::whereIn('user_id', $user_ids)->get();
     foreach ($user_list as &$user) {
         foreach ($user_financial_rt as $user_financial_rt_v) {
             if ($user['user_id'] == $user_financial_rt_v->user_id) {
                 $user['water_count'] = $user_financial_rt_v->water_count;
                 $user['send_water'] = $user_financial_rt_v->send_water;
                 $user['public_count'] = $user_financial_rt_v->public_count;
                 $user['giving'] = $user_financial_rt_v->giving;
             }
         }
     }
     //获得黑水值
     $user_black_rt = UserBlackWater::whereIn('user_id', $user_ids)->get();
     foreach ($user_list as &$user) {
         foreach ($user_black_rt as $user_black_rt_v) {
             if ($user['user_id'] == $user_black_rt_v->user_id) {
                 $user['black_water'] = $user_black_rt_v->send_water;
             }
         }
     }
     //获得公司信息
     $user_company_extend_rt = UserCompanyExtend::whereIn('user_id', $user_ids)->get();
     foreach ($user_list as &$user) {
         foreach ($user_company_extend_rt as $user_company_extend_rt_v) {
             if ($user['user_id'] == $user_company_extend_rt_v->user_id) {
                 $user['user_address'] = $user_company_extend_rt_v->user_address;
                 $user['user_company_name'] = $user_company_extend_rt_v->user_company_name;
                 $user['user_desc'] = $user_company_extend_rt_v->user_desc;
                 $user['user_http'] = $user_company_extend_rt_v->user_http;
                 $user['user_company_lat'] = $user_company_extend_rt_v->user_company_lat;
                 $user['user_company_lng'] = $user_company_extend_rt_v->user_company_lng;
             }
         }
     }
     return $user_list;
 }
예제 #3
0
 /**
  * 水银行信息
  * @param $user_id
  * @return array
  */
 public function bankInfo($user_id)
 {
     $data = [];
     $user_black_water = UserBlackWater::where('user_id', $user_id)->first();
     $data['water_num'] = empty($user_black_water) ? 0 : $user_black_water->black_water;
     $user_financial = new UserFinancial();
     $data['person_water'] = $user_financial->sum('water_count');
     $user_financial_result = $user_financial->where('user_id', $user_id)->first();
     $data['protect_num'] = $user_financial_result ? $user_financial_result->water_count : 0;
     $data['water_rank'] = UserRank::getUserRank($user_id);
     return ['status' => true, 'message' => 'success', 'info' => $data];
 }