retail.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. require_once(BASE_ROOT_PATH . '/vapi/control/sapi.php');
  3. class retailControl extends vbaseControl
  4. {
  5. public function __construct()
  6. {
  7. parent::__construct();
  8. }
  9. private function check_params($params)
  10. {
  11. $channel_code = $params['channel_code'];
  12. if(empty($channel_code)) {
  13. return [false, "渠道信息有误."];
  14. }
  15. $province = $params['province'] ?? '';
  16. $city = $params['city'] ?? '';
  17. $area = $params['area'] ?? '';
  18. $address = $params['address'] ?? '';
  19. if(empty($province) || empty($city) || empty($area) || empty($address)) {
  20. return [false, "地址信息有误."];
  21. }
  22. $applicant_name = $params['applicant_name'];
  23. $contact_phone = $params['contact_phone'];
  24. if(empty($applicant_name) || empty($contact_phone)) {
  25. return [false, "联系人信息有误."];
  26. }
  27. if(!preg_match('/^1\d{10}$/', $contact_phone)) {
  28. return [false, "联系人电话格式有误."];
  29. }
  30. $retail = Model('')->table('retail')->where(['contact_phone' => $contact_phone])->find();
  31. if(!empty($retail)) {
  32. return [false, "此联系电话已申请过."];
  33. }
  34. $id_card = $_POST['id_card'];
  35. if (!preg_match('#^\d{17}(\d|X)$#', $id_card)) {
  36. return [false, "身份证号格式错误."];
  37. }
  38. $insert = [
  39. 'channel_code' => $channel_code, 'province' => $province, 'city' => $city, 'area' => $area,
  40. 'address' => $address, 'applicant_name' => $applicant_name, 'contact_phone' => $contact_phone,
  41. 'id_card' => $id_card, 'create_time' => time(), 'retail_sn' => $this->make_sn()
  42. ];
  43. return [true, $insert];
  44. }
  45. public function retail_recordOp()
  46. {
  47. [$success, $params] = $this->check_params($_POST);
  48. if ($success === false) {
  49. return self::outerr(300, $params);
  50. }
  51. $resp = Model('')->table('retail')->insert($params);
  52. if ($resp) {
  53. $sapi = new sapi();
  54. $body = ['pageId' => $_POST['pageId'], 'tid' => $_POST['tid'], 'lbid' => $_POST['lbid']];
  55. $resp = $sapi->send($body);
  56. Log::record("sapi result {$resp}", Log::DEBUG);
  57. return self::outsuccess([]);
  58. } else {
  59. return self::outerr(301, "录入信息失败.");
  60. }
  61. }
  62. private function make_sn()
  63. {
  64. return 'CARD' . mt_rand(1000, 9999)
  65. . sprintf('%010d', time())
  66. . sprintf('%06d', (float)microtime() * 1000000);
  67. }
  68. }