/** * @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]); } } }
/** * 回收分享的亲水值 * 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']; } } }
/** * 展示领取的信息 * @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' => []]; } }