aligo_send.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. !#/usr/bin/php -q
  2. <?php
  3. /*
  4. * 관리자 승인완료된 건을 매일 15:00에 수집된 예약 발송 테이블 데이터를 발송한다
  5. * 실행시간
  6. * 매일 15:00 실행
  7. */
  8. // ini_set('max_execution_time', 600);
  9. include $_SERVER['DOCUMENT_ROOT'].'/common/lib/comm.php';
  10. include $_SERVER['DOCUMENT_ROOT'].'/common/lib/aligo.php';
  11. if($_SERVER['REMOTE_ADDR'] == '220.86.24.199') {
  12. }
  13. $aligo = new Aligo();
  14. // $aligo->getToken();
  15. $aligo->getHourToken();
  16. //
  17. $token = $aligo->getAccessToken(); //token은 실제 방송시에 얻어서 발송 처리
  18. //status 0: 발송대기, 2: 발송중, 9: 발송완료
  19. $sql = "SELECT *
  20. FROM aligo_send
  21. WHERE type = '1'
  22. AND status = '0'
  23. AND reserve_date < now()
  24. ";
  25. //status = 0;
  26. // echo $sql;
  27. // exit;
  28. $res = mysql_query($sql);
  29. //발송대기중인 데이터 읽어옴
  30. while($col = mysql_fetch_array($res)) {
  31. if($col['status'] != "0") continue;
  32. //발송중으로 변경
  33. $status_sql = "update aligo_send set
  34. status = 2
  35. , token = '{$token}'
  36. where cd_aligo = '".$col['cd_aligo']."' ";
  37. // echo $status_sql;
  38. // exit;
  39. $status_res = mysql_query($status_sql);
  40. //업데이트 됐다면
  41. if($status_res) {
  42. $ALIGO_DATA = array();
  43. $ALIGO_DATA['senderkey'] = $col['senderkey'];
  44. $ALIGO_DATA['recv_phone'] = $col['phone'];
  45. $ALIGO_DATA['subject'] = $col['subject'];
  46. $ALIGO_DATA['message'] = $col['message'];
  47. $response = $aligo->send_cron_sell_confirm_to_aap($ALIGO_DATA);
  48. unset($ALIGO_DATA);
  49. $response_sql = "update aligo_send set
  50. status = 9
  51. , send_date = now()
  52. , token = '".$token."'
  53. , code = '".$response['code']."'
  54. , msg = '".$response['message']."'
  55. where cd_aligo = '".$col['cd_aligo']."'";
  56. // echo $response_sql;
  57. mysql_query($response_sql, $connect);
  58. }
  59. }
  60. echo 'End';