时间筛选错误

This commit is contained in:
邓皓元 2019-03-18 14:58:07 +08:00
parent 6bc496da55
commit f14c4170fe
9 changed files with 27 additions and 7 deletions

View File

@ -5,6 +5,7 @@ use App\Core\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
use App\Domains\Virtual\Repositories\OrderCardPartitionRepository;
use App\Domains\Virtual\Services\PackageService;
class CardController extends Controller
{
@ -34,12 +35,22 @@ class CardController extends Controller
$cards = $this->orderCardPartitionRepository->selectRaw('distinct on (sim) sim')->withConditions($conditions)->paginate($limit);
$services = $this->orderCardPartitionRepository->select('MIN(service_start_at),MAX(service_end_at)')
->withConditions(['sim' => $cards->pluck('sim')->toArray()])->groupBy('sim')->get();
$services = $this->orderCardPartitionRepository->selectRaw('MIN(service_start_at),MAX(service_end_at)')
->whereIn('sim', $cards->pluck('sim')->toArray())->groupBy('sim')->get()->keyBy('sim');
$time = Carbon::now()->format('Y-m-d H:i:s');
$packages = $this->orderCardPartitionRepository->selectRaw('distinct on (sim) package_id')
->where('service_start_at', '<=', $time);
->whereIn('sim', $cards->pluck('sim')->toArray())
->where('service_start_at', '<=', $time)->orderBy('sim')->orderBy('service_start_at', 'desc')
->get()->keyBy('sim');
$cards->map(function ($item) use ($services, $packages) {
$item->service_start_at = $services[$item->sim]['service_start_at'] ?? '';
$item->service_end_at = $services[$item->sim]['service_end_at'] ?? '';
$item->package_id = $packages[$item->sim]['package_id'] ?? 0;
$item->package_name = PackageService::load($item->package_id)['package_name'] ?? '';
});
return $cards;
}
}

View File

@ -24,6 +24,7 @@ $router->group(['prefix' => 'companies', 'as' => 'companies'], function ($router
$router->get('/bootstrap', ['as' => 'bootstrap', 'uses' => 'BootstrapController@index']);
$router->get('/products', ['as' => 'products', 'uses' => 'BootstrapController@products']);
$router->get('/cards', ['as' => 'cards', 'uses' => 'CardController@index']);
$router->get('/orders/paginate', ['as' => 'orders/paginate', 'uses' => 'OrderController@paginate']);
$router->get('/orders/show/{id}', ['as' => 'orders/show', 'uses' => 'OrderController@show']);

View File

@ -151,7 +151,9 @@ class PackageService extends Service
public static function load($id)
{
if (!self::$packages) {
self::$packages = app(PackageRepository::class)->select(['id', 'sn', 'name', 'carrier_operator', 'flows', 'service_months', 'status'])->withTrashed()->get()->keyBy('id');
self::$packages = app(PackageRepository::class)
->select(['id', 'sn', 'name', 'carrier_operator', 'flows', 'service_months', 'status'])
->withTrashed()->get()->keyBy('id');
}
return self::$packages[$id];

View File

@ -299,7 +299,7 @@ export default {
this.$store.dispatch('initOrder');
}
let params = this.parseParams({ times: this.params.times, type: this.params.type });
let params = this.parseParams({ time: this.params.time, type: this.params.type });
if (force) {
this.$store.commit('SET_ORDER_PARAMS', {});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=\favicon.ico><script src=\config.js></script><title></title><link href=/css/chunk-3e2248ef.ced8e72d.css rel=prefetch><link href=/css/chunk-4020ddf0.e734d292.css rel=prefetch><link href=/js/chunk-00ae0766.3874cd10.js rel=prefetch><link href=/js/chunk-07a274ec.c3ad5dec.js rel=prefetch><link href=/js/chunk-3e2248ef.43fc323a.js rel=prefetch><link href=/js/chunk-4020ddf0.d5ad4039.js rel=prefetch><link href=/css/app.d71a8195.css rel=preload as=style><link href=/css/chunk-vendors.3c3b2e85.css rel=preload as=style><link href=/js/app.8e8f3cf6.js rel=preload as=script><link href=/js/chunk-vendors.ed6443e8.js rel=preload as=script><link href=/css/chunk-vendors.3c3b2e85.css rel=stylesheet><link href=/css/app.d71a8195.css rel=stylesheet></head><body><noscript><strong>很抱歉如果没有启用JavaScript程序不能正常工作若要继续使用请启用它。</strong></noscript><div id=app></div><script src=/js/chunk-vendors.ed6443e8.js></script><script src=/js/app.8e8f3cf6.js></script></body></html>
<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=\favicon.ico><script src=\config.js></script><title></title><link href=/css/chunk-3e2248ef.ced8e72d.css rel=prefetch><link href=/css/chunk-4020ddf0.e734d292.css rel=prefetch><link href=/js/chunk-00ae0766.3874cd10.js rel=prefetch><link href=/js/chunk-07a274ec.c3ad5dec.js rel=prefetch><link href=/js/chunk-3e2248ef.43fc323a.js rel=prefetch><link href=/js/chunk-4020ddf0.0472bfa0.js rel=prefetch><link href=/css/app.d71a8195.css rel=preload as=style><link href=/css/chunk-vendors.3c3b2e85.css rel=preload as=style><link href=/js/app.599887c0.js rel=preload as=script><link href=/js/chunk-vendors.ed6443e8.js rel=preload as=script><link href=/css/chunk-vendors.3c3b2e85.css rel=stylesheet><link href=/css/app.d71a8195.css rel=stylesheet></head><body><noscript><strong>很抱歉如果没有启用JavaScript程序不能正常工作若要继续使用请启用它。</strong></noscript><div id=app></div><script src=/js/chunk-vendors.ed6443e8.js></script><script src=/js/app.599887c0.js></script></body></html>