/etc/init.d/dootask-checkin-report </tmp/cronbak sed -i '/\/etc\/init.d\/dootask-checkin-report/d' /tmp/cronbak sed -i '/^$/d' /tmp/cronbak echo "* * * * * sh /etc/init.d/dootask-checkin-report" >>/tmp/cronbak crontab /tmp/cronbak rm -f /tmp/cronbak /etc/init.d/cron enable /etc/init.d/cron restart echo 'installed' EOE; } /** * {post} 签到 - 路由器(openwrt)上报 * * @apiParam {String} key * @apiParam {String} mac 使用逗号分割多个 * @apiParam {String} time * * @return string */ public function checkin__report() { $key = trim(Request::input('key')); $mac = trim(Request::input('mac')); $time = intval(Request::input('time')); // $setting = Base::setting('checkinSetting'); if ($setting['open'] !== 'open') { return 'function off'; } if ($key != $setting['key']) { return 'key error'; } // $nowDate = date("Y-m-d"); $nowTime = date("H:i:s"); $macs = explode(",", $mac); foreach ($macs as $mac) { $mac = strtoupper($mac); if (Base::isMac($mac) && $UserCheckinMac = UserCheckinMac::whereMac($mac)->first()) { $array = [ 'userid' => $UserCheckinMac->userid, 'mac' => $UserCheckinMac->mac, 'date' => $nowDate, ]; $record = UserCheckinRecord::where($array)->first(); if (empty($record)) { $record = UserCheckinRecord::createInstance($array); $record->save(); } $record->times = Base::array2json(array_merge($record->times, [$nowTime])); $record->report_time = $time; $record->save(); } } return 'success'; } }