sale_proc.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. <?php
  2. include $_SERVER["DOCUMENT_ROOT"].'/common/lib/comm.php';
  3. include $_SERVER['DOCUMENT_ROOT'].'/common/lib/aligo.php';
  4. include $_SERVER['DOCUMENT_ROOT'].'/common/user_chk_m.php';
  5. //관리자 변경으로 휴대폰이 바뀌는 경우가 생김
  6. //각 페이지에서 관리되던 전화번호를 /common/lib/comm.php에서 관리하게 변경
  7. // $admin_phone = "010-4813-2508"; //SMS 전달 받을 관리자 번호
  8. $table_name = "member_master";
  9. $PageNo = trim(avoid_crack($_REQUEST["PageNo"]));
  10. $mode = trim(avoid_crack($_POST["mode"]));
  11. $cd_dealer = trim(avoid_crack($_POST["cd_dealer"]));
  12. $cd_dealerid = trim(avoid_crack($_POST["cd_dealerid"]));
  13. $cd_dealer_p = trim(avoid_crack($_POST["cd_dealer_p"]));
  14. $nm_pass = trim(avoid_crack($_POST["nm_pass"]));
  15. $ds_type = trim(avoid_crack($_POST["ds_type"]));
  16. $ds_usertype = trim(avoid_crack($_POST["ds_usertype"]));
  17. $ds_level = trim(avoid_crack($_POST["ds_level"]));
  18. $nm_company = trim(avoid_crack($_POST["nm_company"]));
  19. $nm_name = trim(avoid_crack($_POST["nm_name"]));
  20. $nm_birth = trim(avoid_crack($_POST["nm_birth"]));
  21. $nm_tel_01 = trim(avoid_crack($_POST["nm_tel_01"]));
  22. $nm_tel_02 = trim(avoid_crack($_POST["nm_tel_02"]));
  23. $nm_tel_03 = trim(avoid_crack($_POST["nm_tel_03"]));
  24. $nm_hp_01 = trim(avoid_crack($_POST["nm_hp_01"]));
  25. $nm_hp_02 = trim(avoid_crack($_POST["nm_hp_02"]));
  26. $nm_hp_03 = trim(avoid_crack($_POST["nm_hp_03"]));
  27. $nm_fax_01 = trim(avoid_crack($_POST["nm_fax_01"]));
  28. $nm_fax_02 = trim(avoid_crack($_POST["nm_fax_02"]));
  29. $nm_fax_03 = trim(avoid_crack($_POST["nm_fax_03"]));
  30. $nm_email = trim(avoid_crack($_POST["nm_email"]));
  31. $nm_email_01 = trim(avoid_crack($_POST["nm_email1"]));
  32. $nm_email_02 = trim(avoid_crack($_POST["nm_email2"]));
  33. $nm_zip = trim(avoid_crack($_POST["nm_zip"]));
  34. $nm_addr = trim(avoid_crack($_POST["nm_addr"]));
  35. $nm_addr_sub = trim(avoid_crack($_POST["nm_addr_sub"]));
  36. $nm_etc_01 = trim(avoid_crack($_POST["nm_etc_01"]));
  37. $nm_etc_02 = trim(avoid_crack($_POST["nm_etc_02"]));
  38. $nm_etc_03 = trim(avoid_crack($_POST["nm_etc_03"]));
  39. $ds_status = trim(avoid_crack($_POST["ds_status"]));
  40. $nm_company_biz = trim(avoid_crack($_POST["nm_company_biz"]));
  41. $nm_name_biz = trim(avoid_crack($_POST["nm_name_biz"]));
  42. $nm_no_biz = trim(avoid_crack($_POST["nm_no_biz"]));
  43. $nm_date_biz = trim(avoid_crack($_POST["nm_date_biz"]));
  44. $nm_type_biz = trim(avoid_crack($_POST["nm_type_biz"]));
  45. $nm_condition_biz = trim(avoid_crack($_POST["nm_condition_biz"]));
  46. $nm_tel_biz_01 = trim(avoid_crack($_POST["nm_tel_biz_01"]));
  47. $nm_tel_biz_02 = trim(avoid_crack($_POST["nm_tel_biz_02"]));
  48. $nm_tel_biz_03 = trim(avoid_crack($_POST["nm_tel_biz_03"]));
  49. $nm_hp_biz_01 = trim(avoid_crack($_POST["nm_hp_biz_01"]));
  50. $nm_hp_biz_02 = trim(avoid_crack($_POST["nm_hp_biz_02"]));
  51. $nm_hp_biz_03 = trim(avoid_crack($_POST["nm_hp_biz_03"]));
  52. $nm_fax_biz_01 = trim(avoid_crack($_POST["nm_fax_biz_01"]));
  53. $nm_fax_biz_02 = trim(avoid_crack($_POST["nm_fax_biz_02"]));
  54. $nm_fax_biz_03 = trim(avoid_crack($_POST["nm_fax_biz_03"]));
  55. $nm_email_biz = trim(avoid_crack($_POST["nm_email_biz"]));
  56. $nm_zip_biz = trim(avoid_crack($_POST["nm_zip_biz"]));
  57. $nm_addr_biz = trim(avoid_crack($_POST["nm_addr_biz"]));
  58. $nm_addr_sub_biz = trim(avoid_crack($_POST["nm_addr_sub_biz"]));
  59. $ds_company_bp1 = trim(avoid_crack($_POST["ds_company_bp1"]));
  60. $ds_branch1 = trim(avoid_crack($_POST["ds_branch1"]));
  61. $ds_company_bp2 = trim(avoid_crack($_POST["ds_company_bp2"]));
  62. $ds_branch2 = trim(avoid_crack($_POST["ds_branch2"]));
  63. $ds_company_bp3 = trim(avoid_crack($_POST["ds_company_bp3"]));
  64. $ds_branch3 = trim(avoid_crack($_POST["ds_branch3"]));
  65. $ds_company_bp = trim(avoid_crack($_POST["ds_company_bp"]));
  66. $ds_branch = trim(avoid_crack($_POST["ds_branch"]));
  67. // $nm_area = trim(avoid_crack($_POST["nm_area"]));
  68. if ($mode == "Update"){
  69. // $nm_area = trim(avoid_crack(implode(",",$_POST["nm_area"])));
  70. }else{
  71. $nm_area = trim(avoid_crack($_POST["nm_area"]));
  72. }
  73. $nm_title = trim(avoid_crack($_POST["nm_title"]));
  74. $nm_file = trim(avoid_crack($_POST["nm_file"]));
  75. $nm_etc = trim(avoid_crack($_POST["nm_etc"]));
  76. $dt_insert = trim(avoid_crack($_POST["dt_insert"]));
  77. $nm_insert = trim(avoid_crack($_POST["nm_insert"]));
  78. $dt_update = trim(avoid_crack($_POST["dt_update"]));
  79. $nm_update = trim(avoid_crack($_POST["nm_update"]));
  80. $ds_delind = trim(avoid_crack($_POST["ds_delind"]));
  81. $cd_sale = trim(avoid_crack($_POST["cd_sale"]));
  82. $nm_price = trim(avoid_crack($_POST["nm_price"]));
  83. $nm_score_postscript = trim(avoid_crack($_POST["nm_score_postscript"]));
  84. $nm_cont_postscript = trim(avoid_crack($_POST["nm_cont_postscript"]));
  85. $s_cd_user = $_SESSION['s_cd_user'];
  86. $s_cd_userid = $_SESSION['s_cd_userid'];
  87. // $cd_procid = $_SESSION[admin_cd_dealerid];
  88. // $PageNo = trim(avoid_crack($_POST["PageNo"]));
  89. //아래 path 는 안씀
  90. $upload_path = $_SERVER['DOCUMENT_ROOT'].UPLOAD_PATH."member/";
  91. $RES = array('CODE'=>'9999', 'MSG'=>'');
  92. try {
  93. switch($mode) {
  94. //낙찰하기 AAP
  95. case "TenderSuccessAAP" :
  96. $cd_sale = trim(avoid_crack($_POST["cd_sale"]));
  97. $cd_tender = trim(avoid_crack($_POST["cd_tender"]));
  98. $nm_price = trim(avoid_crack($_POST["nm_price"]));
  99. $sale_sql = "SELECT s.*
  100. , b.nm_model
  101. , d.nm_brand
  102. , aap.nm_hp as aap_nm_hp
  103. FROM sale_master s
  104. INNER JOIN car_master c ON c.cd_car = s.cd_car
  105. LEFT OUTER JOIN car_model b on (c.cd_model = b.cd_model)
  106. LEFT OUTER JOIN car_brand d on (c.cd_brand = d.cd_brand)
  107. LEFT OUTER JOIN aap_master aap on aap.cd_dealer = s.cd_aap_dealer
  108. WHERE s.cd_sale = '$cd_sale'
  109. AND s.is_staff = 'N'
  110. AND s.cd_user = '{$_SESSION['s_cd_user']}'
  111. AND s.ds_delind = 'N'
  112. LIMIT 1";
  113. // echo $sale_sql;
  114. // exit;
  115. $sale_res = mysql_query($sale_sql);
  116. $sale_col = mysql_fetch_array($sale_res);
  117. if(empty($sale_col['cd_sale'])) {
  118. throw new Exception("낙찰가능한 차량이 아닙니다.\n새로고침 후에 이용해 주세요", "9990");
  119. }
  120. if($sale_col['ds_status'] != "E0") {
  121. throw new Exception("낙찰가능한 차량이 아닙니다.\n새로고침 후에 이용해 주세요", "9989");
  122. }
  123. // 낙찰 내역 확인
  124. $exist_sql = "SELECT * FROM tender_master WHERE cd_sale = '". $cd_sale . "' and ds_status = 'Z0' and ds_delind = 'N' LIMIT 1 ";
  125. $exist_result = mysql_query($exist_sql,$connect);
  126. $exist_col = mysql_fetch_array($exist_result);
  127. //기존 낙찰된 내역 초기화
  128. if (!empty($exist_col['cd_tender'])) {
  129. $cd_tender_old = $exist_col['cd_tender'];
  130. //이건 다시 확인해 봐야함
  131. //기존 모든 낙찰자를 변경할지 어떨지
  132. // $sql="UPDATE tender_master set
  133. // ds_status = 'A0'
  134. // , dt_update = now()
  135. // , nm_update = '$s_cd_userid'
  136. // where cd_tender = '$cd_tender_old' ";
  137. //
  138. // $result = mysql_query($sql,$connect);
  139. $sql="UPDATE tender_master set
  140. ds_status = 'A0'
  141. , dt_update = now()
  142. , nm_update = '$s_cd_userid'
  143. where cd_sale = '$cd_sale' ";
  144. $result = mysql_query($sql,$connect);
  145. if(!$result) {
  146. throw new Exception("낙찰에 실패 하였습니다.잠시후 다시 시도해 주세요.", "9990");
  147. }
  148. }
  149. //현재 낙찰자 변경
  150. $sql="UPDATE tender_master set
  151. ds_status = 'Z0'
  152. , dt_update = now()
  153. , nm_update = '$s_cd_userid'
  154. where cd_tender = '$cd_tender'";
  155. // echo $sql;
  156. // exit;
  157. $result = mysql_query($sql,$connect);
  158. if(!$result) {
  159. throw new Exception("낙찰에 실패 하였습니다.잠시후 다시 시도해 주세요.", "9990");
  160. }
  161. //sale_master 변경
  162. $sql="update sale_master as a
  163. inner join tender_master as b
  164. on (
  165. a.cd_sale = b.cd_sale
  166. and b.cd_tender = $cd_tender
  167. )
  168. set
  169. a.ds_status = 'Z0'
  170. , a.dt_success = now()
  171. , a.nm_price = b.nm_price
  172. , a.dt_update = now()
  173. , a.nm_update = '$s_cd_userid'
  174. ";
  175. //, a.ds_status_contract_step1 = 'Y'
  176. // echo $sql;
  177. // exit;
  178. $result = mysql_query($sql,$connect);
  179. if(!$result) {
  180. throw new Exception("낙찰에 실패 하였습니다.잠시후 다시 시도해 주세요.", "9990");
  181. }
  182. $tender_sql = "SELECT * FROM tender_master
  183. WHERE cd_sale = '$cd_sale' AND ds_status = 'Z0' AND ds_delind = 'N' LIMIT 1";
  184. $tender_res = mysql_query($tender_sql);
  185. $tender = mysql_fetch_array($tender_res);
  186. # 1. 낙찰 AAP에게
  187. $aligo = new Aligo();
  188. $aligo->getToken();
  189. $ALIGO_DATA = array();
  190. $ALIGO_DATA['car_brand'] = $sale_col['nm_brand'];
  191. $ALIGO_DATA['car_model'] = $sale_col['nm_model'];
  192. $ALIGO_DATA['price'] = $tender['nm_price'];
  193. $ALIGO_DATA['vat'] = $tender['nm_commission'];
  194. $ALIGO_DATA['recv_phone'] = $sale_col['aap_nm_hp'];
  195. // print_r($ALIGO_DATA);
  196. // exit;
  197. $response = $aligo->send_sa_sell_complete_to_aap($ALIGO_DATA);
  198. unset($ALIGO_DATA);
  199. if($response['code'] != "0") {
  200. // echo $response['message'];
  201. }
  202. # 2. 관리자에게
  203. foreach($admin_phone as $phone) {
  204. if(!empty($phone)) {
  205. $ALIGO_DATA = array();
  206. $ALIGO_DATA['price'] = $tender['nm_ex_vat_price'];
  207. $ALIGO_DATA['car_brand'] = $sale_col['nm_brand'];
  208. $ALIGO_DATA['car_model'] = $sale_col['nm_model'];
  209. $ALIGO_DATA['recv_phone'] = $phone;
  210. // print_r($ALIGO_DATA);
  211. $response = $aligo->send_sa_sell_complete_to_admin($ALIGO_DATA);
  212. // print_r($response);
  213. unset($ALIGO_DATA);
  214. }
  215. }
  216. // print_r($response);
  217. // exit;
  218. if($response['code'] != "0") {
  219. // echo $response['message'];
  220. }
  221. $RES['CODE'] = "0000";
  222. $RES['MSG'] = "정상";
  223. break;
  224. //거래완료 유카로
  225. case "TenderEndAAP" :
  226. $cd_sale = trim(avoid_crack($_POST["cd_sale"]));
  227. $cd_tender = trim(avoid_crack($_POST["cd_tender"]));
  228. // $sql="UPDATE tender_master SET
  229. // ds_status = 'Z0'
  230. // , dt_update = now()
  231. // , nm_update = '$s_cd_userid'
  232. // WHERE cd_tender = $cd_tender";
  233. //
  234. // $result = mysql_query($sql,$connect);
  235. $sale_sql = "SELECT * FROM sale_master a WHERE cd_sale = '$cd_sale' AND cd_user = '$s_cd_user' AND is_staff = 'N' LIMIT 1";
  236. $sale_res = mysql_query($sale_sql);
  237. $sale_col = mysql_fetch_array($sale_res);
  238. if(empty($sale_col['cd_sale'])) {
  239. throw new Exception("본인 차량만 거래완료 처리할 수 있습니다.\n새로고침 후에 이용해 주세요", "9990");
  240. }
  241. if($sale_col['ds_status'] != "Z0") {
  242. throw new Exception("거래중상태에서만 거래완료 처리할 수 있습니다.\n새로고침 후에 이용해 주세요", "9990");
  243. }
  244. if(!($sale_col['ds_status_contract_step1'] == "Y" && $sale_col['ds_status_contract_step2'] == "Y" && $sale_col['ds_status_contract_step3'] == "Y" && $sale_col['ds_status_contract_step4'] == "Y")) {
  245. throw new Exception("거래진행상황이 거래마무리까지 완료되어야 거래완료 처리할 수 있습니다.\n새로고침 후에 이용해 주세요", "9990");
  246. }
  247. $tender_sql = "SELECT * FROM tender_master a WHERE a.cd_sale = '".$cd_sale."' and ds_status = 'Z0' and ds_delind ='N' LIMIT 1";
  248. $tender_res = mysql_query($tender_sql);
  249. $tender_col = mysql_fetch_array($tender_res);
  250. if(empty($tender_col['cd_tender'])) {
  251. throw new Exception("낙찰된 AAP가 있을 경우에만 거래완료 처리할 수 있습니다.\n새로고침 후에 이용해 주세요", "9990");
  252. }
  253. $dt_end = date("Y-m-d");
  254. $sql="update sale_master set
  255. ds_status = 'ZS'
  256. , ds_aap_status = 'ZS'
  257. , ds_status_contract_step5 = 'Y'
  258. , dt_end = '$dt_end'
  259. , dt_update = now()
  260. , nm_update = '$s_cd_userid'
  261. WHERE cd_sale = $cd_sale";
  262. // echo $sql;
  263. // exit;
  264. //, nm_price = '$nm_price'
  265. $result = mysql_query($sql,$connect);
  266. if(!$result) {
  267. throw new Exception("거래완료 처리에 실패 하였습니다.잠시후 다시 시도해 주세요.", "9990");
  268. }
  269. $RES['CODE'] = "0000";
  270. $RES['MSG'] = "정상";
  271. break;
  272. default :
  273. AlertBack("지정되지않은 요청입니다");
  274. break;
  275. }
  276. }catch(Exception $e){
  277. $RES['CODE'] = $e->getCode();
  278. $RES['MSG'] = $e->getMessage();
  279. }
  280. @mysql_close($connect);
  281. echo json_encode($RES);
  282. exit;
  283. ?>