fcode.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 2017/4/6
  6. * Time: 下午1:41
  7. */
  8. require_once(BASE_ROOT_PATH . '/helper/fcode/operator.php');
  9. require_once(BASE_ROOT_PATH . '/helper/fcode/mfcode.php');
  10. require_once(BASE_ROOT_PATH . '/helper/session_helper.php');
  11. require_once(BASE_ROOT_PATH . '/helper/third_author/wxauthor.php');
  12. require_once(BASE_ROOT_PATH . '/helper/login_helper.php');
  13. require_once(BASE_ROOT_PATH . '/helper/url_helper.php');
  14. class fcodeControl extends mobileControl
  15. {
  16. public function __construct()
  17. {
  18. parent::__construct();
  19. }
  20. public function indexOp()
  21. {
  22. $common_id = intval($_GET['common_id']);
  23. $batch_code = $_GET['batch_code'];
  24. $status = intval($_GET['status']);
  25. $mobile = empty(session_helper::mobile()) ? $_GET['mobile'] : session_helper::mobile();
  26. if(session_helper::need_wechat_author()) {
  27. $author = new thrid_author\wxauthor();
  28. $url = author_url::fcode_url($common_id,$batch_code);
  29. $url = $author->enter($url);
  30. return self::outsuccess(['direct_uri' => $url],"redirect");
  31. }
  32. if($common_id <= 0 || empty($batch_code)) {
  33. return self::outerr(errcode::ErrParamter,"错误的参数","fcode/error");
  34. }
  35. $oper = new fcode\operator($common_id,$batch_code,$mobile,session_helper::session_id());
  36. $fcode = $oper->grabed();
  37. $goods = $this->goods($common_id);
  38. if($fcode == false)
  39. {
  40. if(empty($goods)) {
  41. return self::outsuccess(array('error' => "商品已经下架,请关注其它F码"),"fcode/error",'wap');
  42. }
  43. elseif($status < 0) {
  44. return self::outsuccess(array('error' => "该商品F码已经被抢光~"),"fcode/error",'wap');
  45. }
  46. else {
  47. $name = $goods['goods_name'];
  48. $price = $goods['goods_price'];
  49. $image = $goods['goods_image'];
  50. $image = cthumb($image, 1280, 6);
  51. return self::outsuccess(array('name' => $name,'price' => $price,'image' => $image,
  52. 'common_id' => $common_id,'batch_code' => $batch_code), "fcode/index",'wap');
  53. }
  54. }
  55. else
  56. {
  57. $name = $goods['goods_name'];
  58. $price = $goods['goods_price'];
  59. $image = $goods['goods_image'];
  60. $image = cthumb($image, 1280, 6);
  61. $fcoder = new fcode\mfcode($fcode);
  62. if($fcoder->binded())
  63. {
  64. return self::outsuccess(array('fcode' => $fcode,'name' => $name,'price' => $price,'image' => $image),
  65. "fcode/success",'wap');
  66. }
  67. else
  68. {
  69. if(session_helper::logined())
  70. {
  71. $oper->bind($fcode);
  72. $fcode = $oper->grabed();
  73. return self::outsuccess(array('fcode' => $fcode,'name' => $name,'price' => $price,'image' => $image),
  74. "fcode/success",'wap');
  75. } else {
  76. return self::outsuccess(array('fcode' => $fcode,'name' => $name,'price' => $price,'image' => $image),
  77. "fcode/bind",'wap');
  78. }
  79. }
  80. }
  81. }
  82. private function goods($common_id)
  83. {
  84. $goods_id = commonid_helper::instance()->one_goods($common_id);
  85. if($goods_id == false) return [];
  86. $mod = Model('goods');
  87. $goods = $mod->find($goods_id);
  88. return $goods;
  89. }
  90. public function openOp()
  91. {
  92. $common_id = intval($_GET['common_id']);
  93. $batch_code = $_GET['batch_code'];
  94. if($common_id <= 0 || empty($batch_code)) {
  95. $url = BASE_SITE_URL . "/mobile/index.php?act=fcode&op=index&common_id={$common_id}&batch_code={$batch_code}";
  96. return self::outsuccess(['url' => $url]);
  97. }
  98. $oper = new fcode\operator($common_id,$batch_code,session_helper::mobile(),session_helper::session_id());
  99. $fcode = $oper->grabed();
  100. if($fcode == false)
  101. {
  102. $fcode = $oper->grab();
  103. if($fcode == false) {
  104. $url = BASE_SITE_URL . "/mobile/index.php?act=fcode&op=index&common_id={$common_id}&batch_code={$batch_code}&status=-1";
  105. return self::outsuccess(['url' => $url]);
  106. }
  107. }
  108. $url = BASE_SITE_URL . "/mobile/index.php?act=fcode&op=index&common_id={$common_id}&batch_code={$batch_code}";
  109. return self::outsuccess(['url' => $url]);
  110. }
  111. public function bindOp()
  112. {
  113. $common_id = intval($_GET['common_id']);
  114. $batch_code = $_GET['batch_code'];
  115. if($common_id <= 0 || empty($batch_code)) {
  116. return self::outerr(errcode::ErrParamter,"错误的参数");
  117. }
  118. $mobile = $_GET['mobile'];
  119. $validator = new Validator();
  120. $validator->setValidate(Validator::verify_mobile($mobile));
  121. $err = $validator->validate();
  122. if ($err != '') {
  123. return self::outerr(errcode::ErrParamter, $err);
  124. }
  125. $oper = new fcode\operator($common_id,$batch_code,$mobile,session_helper::session_id());
  126. $fcode = $oper->grabed();
  127. if($fcode == false) {
  128. return self::outerr(errcode::ErrParamter, "您没有该批次商品的F码.");
  129. }
  130. $fcoder = new \fcode\mfcode($fcode);
  131. if($fcoder->binded()) {
  132. return self::outsuccess(null);
  133. }
  134. if(!isset($_GET['code']) || empty($_GET['code'])) {
  135. return self::outerr(errcode::ErrParamter, "请输入验证码.");
  136. }
  137. $code = $_GET['code'];
  138. $ret = sms_helper::check_code(Sms::getfcode_code,$code,$mobile);
  139. if(is_array($ret)) {
  140. return self::outerr($ret['code'], $ret['msg']);
  141. }
  142. else
  143. {
  144. login_helper::onBinded($mobile,session_helper::relay_id());
  145. $oper->bind($fcode);
  146. return self::outsuccess(null);
  147. }
  148. }
  149. }