ResultController.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace App\Http\Controllers\Admin\Sms;
  3. use Illuminate\Http\Request;
  4. use App\Http\Controllers\Controller;
  5. use App\Models\SmsResult;
  6. use App\Models\DTO\SearchData;
  7. class ResultController extends Controller
  8. {
  9. private SmsResult $smsResultModel;
  10. public function __construct(SmsResult $smsResult)
  11. {
  12. $this->smsResultModel = $smsResult;
  13. }
  14. /**
  15. * SMS > 전송 결과
  16. * @method GET
  17. * @see /admin/sms/result
  18. */
  19. public function index(Request $request)
  20. {
  21. $params = SearchData::fromRequest($request);
  22. $smsResultData = $this->smsResultModel->data($params);
  23. if ($smsResultData->rows > 0) {
  24. $num = listNum($smsResultData->total, $params->page, $params->perPage);
  25. foreach ($smsResultData->list as $i => $row) {
  26. $row->num = $num--;
  27. $row->callNum = ($row->call_num ?: '-');
  28. $row->totalCount = number_format($row->total_count);
  29. $row->successCount = number_format($row->success_count);
  30. $row->failedCount = number_format($row->failed_count);
  31. $row->reserveAt = dateBr($row->reserve_at, '-');
  32. $row->createdAt = dateBr($row->created_at);
  33. $smsResultData->list[$i] = $row;
  34. }
  35. }
  36. return view('admin.sms.result.index', [
  37. 'smsResultData' => $smsResultData,
  38. 'params' => $params
  39. ]);
  40. }
  41. /**
  42. * SMS > 전송 결과 삭제
  43. * @method DELETE
  44. * @see /admin/sms/result/destroy
  45. */
  46. public function destroy(Request $request)
  47. {
  48. $chk = $request->post('chk');
  49. if ($chk) {
  50. foreach ($chk as $resultID) {
  51. $this->smsResultModel->find($resultID)->delete();
  52. }
  53. }
  54. $message = '전송 결과가 삭제되었습니다.';
  55. return redirect()->route('admin.sms.result.index')->with('message', $message);
  56. }
  57. }