/**
  * @param $job
  * @param $data
  */
 public function fire($job, $data)
 {
     $job->delete();
     if (!empty($data['share_id'])) {
         $user_share_log = new UserShareLog();
         $user_share_log_rt = $user_share_log->where('id', $data['share_id'])->first();
         if ($user_share_log_rt->status == UserShareLog::SHARE_OK) {
             $user_share_log->where('id', $data['share_id'])->update(['status' => UserShareLog::SHARE_NO]);
             $user_ry = $user_share_log_rt->share_water_count - $user_share_log_rt->share_receive;
             $user_financial = new UserFinancial();
             $user_rt = $user_financial->where('user_id', $user_share_log_rt->user_id)->first();
             $user_financial->where('user_id', $user_share_log_rt->user_id)->update(['water_count' => $user_rt->water_count + $user_ry, 'send_water' => $user_rt->send_water - $user_ry]);
         }
     }
 }
Exemplo n.º 2
0
 /**
  * 回收分享的亲水值
  * Execute the console command.
  * @return mixed
  */
 public function fire()
 {
     $i = 0;
     while (true) {
         $user_share_water = new UserShareLog();
         $rt = $user_share_water->where('status', UserShareLog::SHARE_OK)->where('id', '>', $i)->orderBy('id', 'asc')->limit($this->limit)->get()->toArray();
         if (empty($rt)) {
             break;
         }
         foreach ($rt as $v) {
             if (strtotime($v['created_at']) - time() >= UserShareLog::getSystemTime()) {
                 $user_share_water->where('id', $v['id'])->update(['status' => UserShareLog::SHARE_NO]);
                 $user_ry = $v['share_water_count'] - $v['share_receive'];
                 if ($user_ry > 0) {
                     $user_financial = new UserFinancial();
                     $user_rt = $user_financial->where('user_id', $v['user_id'])->first();
                     $user_financial->where('user_id', $v['user_id'])->update(['water_count' => $user_rt->water_count + $user_ry, 'send_water' => $user_rt->send_water - $user_ry]);
                 }
             }
             $i = $v['id'];
         }
     }
 }
Exemplo n.º 3
0
 /**
  * 展示领取的信息
  * @param $code
  * @return array
  */
 public function shareShow($code)
 {
     $e = explode('-', $code);
     if (count($e) == 2) {
         $user_share_log = new UserShareLog();
         $user_share_log_tr = $user_share_log->where('share_time', $e[0])->first();
         $user_share_receive_log = new UserShareReceiveLog();
         $u_s_r_l = $user_share_receive_log->where('share_id', $user_share_log_tr->id)->get()->toArray();
         $user_ids = [];
         foreach ($u_s_r_l as $v) {
             array_push($user_ids, $v['share_receive_user_id']);
         }
         $user_base = new UserBase();
         $user_rt = $user_base->whereIn('user_id', $user_ids)->get()->toArray();
         foreach ($u_s_r_l as &$r) {
             $r['created_at'] = date('m.d H:s', strtotime($r['created_at']));
             foreach ($user_rt as $u) {
                 if ($r['share_receive_user_id'] == $u['user_id']) {
                     $r['user_name'] = !empty($u['user_name']) ? $u['user_name'] : '匿名';
                 }
             }
         }
         return ['status' => true, 'message' => '返回成功', 'info' => $u_s_r_l];
     } else {
         return ['status' => false, 'message' => '非法参数', 'info' => []];
     }
 }