convert.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 2018/12/12
  6. * Time: 10:47 AM
  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. require_once(BASE_ROOT_PATH . '/helper/openapi/KeyManager.php');
  15. require_once(BASE_ROOT_PATH . '/helper/openapi/Convertor.php');
  16. class convertControl extends mobileControl
  17. {
  18. public function __construct()
  19. {
  20. parent::__construct();
  21. }
  22. public function userOp()
  23. {
  24. $fileds = ['appid','appkey','convert_sn','convert_type','time','mobile','return_url'];
  25. $appid = $_GET['appid'];
  26. $convert_sn = $_GET['convert_sn'];
  27. $return_url = $_GET['return_url'];
  28. if($this->check_parmas($_GET,$fileds) === false) {
  29. $errmsg = ["title" => "请求参数异常","msg"=> "请不要随意修改参数哦"];
  30. goto ErrorHandle;
  31. }
  32. $convert = new openapi\Convertor($fileds);
  33. $fSucc = $convert->verify($_GET);
  34. if($fSucc === false) {
  35. $errmsg = ["title" => "请求参数异常","msg"=> "请不要随意修改参数哦"];
  36. goto ErrorHandle;
  37. }
  38. $convert_type = $_GET['convert_type'];
  39. if($convert_type == 'user')
  40. {
  41. $find = $convert->exist($_GET['convert_sn'],$_GET['appid']);
  42. $mobile = $_GET['mobile'];
  43. if(!session_helper::logined())
  44. {
  45. $mobile_loginner = new login\mobile_log($mobile);
  46. if($mobile_loginner->ismember()) {
  47. $mobile_loginner->login();
  48. } else {
  49. $mobile_loginner->register('',0,$mobile);
  50. $mobile_loginner->login();
  51. }
  52. }
  53. if(!$find) {
  54. $convert->add_user($appid,$convert_sn,$mobile);
  55. account_helper::add_bonus(30,300,[session_helper::memberid()],"鑫福卡美妆红包",0,60);
  56. $mod_member = Model('member');
  57. $mod_member->editMember(['member_id' => session_helper::memberid()],['rewared_inviter' => 1]);
  58. $return_url = $_GET['return_url'];
  59. QueueClient::push('OnGoodsConvert',['appid' => $appid,'convert_sn' => $convert_sn,'return_url' => $return_url,'success' => true]);
  60. }
  61. $url = url_helper::mshop_special(1451);
  62. //$url = url_helper::mshop_index();
  63. return self::outsuccess(['direct_uri' => $url],"redirect");
  64. }
  65. else {
  66. $errmsg = ["title" => "红包兑换","msg"=> "这个业务还没有开启哦"];
  67. goto ErrorHandle;
  68. }
  69. ErrorHandle:
  70. QueueClient::push('OnGoodsConvert',['appid' => $appid,'convert_sn' => $convert_sn,'return_url' => $return_url,'success' => false]);
  71. return self::outsuccess($errmsg,"convert/error");
  72. }
  73. public function fcodeOp()
  74. {
  75. $fileds = ['appid','appkey','convert_sn','convert_type','batch_code','commonid','time','mobile','return_url'];
  76. $fCallBack = true;
  77. $appid = $_GET['appid'];
  78. $convert_sn = $_GET['convert_sn'];
  79. $return_url = $_GET['return_url'];
  80. if($this->check_parmas($_GET,$fileds) === false) {
  81. $errmsg = ["title" => "请求参数异常","msg"=> "请不要随意修改参数哦"];
  82. goto ErrorHandle;
  83. }
  84. $convert = new openapi\Convertor($fileds);
  85. $fSucc = $convert->verify($_GET);
  86. if($fSucc === false) {
  87. $errmsg = ["title" => "请求参数异常","msg"=> "请不要随意修改参数哦"];
  88. goto ErrorHandle;
  89. }
  90. $convert_type = $_GET['convert_type'];
  91. if($convert_type == 'fcode')
  92. {
  93. $batch_code = $_GET['batch_code'];
  94. $common_id = intval($_GET['commonid']);
  95. if(empty($batch_code) || $common_id <= 0) {
  96. $errmsg = ["title" => "商品下架","msg"=> "没有找到要兑换的商品哦"];
  97. goto ErrorHandle;
  98. }
  99. $find = $convert->exist($_GET['convert_sn'],$_GET['appid']);
  100. if($find) {
  101. $fCallBack = false;
  102. $errmsg = ["title" => "商品下架","msg"=> "没有找到要兑换的商品哦"];
  103. goto ErrorHandle;
  104. }
  105. $mobile = $_GET['mobile'];
  106. if(!session_helper::logined())
  107. {
  108. $mobile_loginner = new login\mobile_log($mobile);
  109. if($mobile_loginner->ismember()) {
  110. $mobile_loginner->login();
  111. } else {
  112. $mobile_loginner->register('',0,$mobile);
  113. $mobile_loginner->login();
  114. }
  115. }
  116. $oper = new fcode\operator($common_id,$batch_code,$mobile,'');
  117. $fcode = $oper->send();
  118. if($fcode == false) {
  119. $errmsg = ["title" => "兑换失败","msg"=> "这个商品已经被兑换完了"];
  120. goto ErrorHandle;
  121. }
  122. else {
  123. $return_url = $_GET['return_url'];
  124. QueueClient::push('OnGoodsConvert',['appid' => $appid,'convert_sn' => $convert_sn,'return_url' => $return_url,'success' => true]);
  125. $convert->add_fcode($_GET['appid'],$_GET['convert_sn'],$_GET['batch_code'],$_GET['commonid'],$fcode,$_GET['mobile']);
  126. return self::outsuccess(["title" => "兑换成功","msg"=> "您已经成功兑换商品"],"convert/success");
  127. }
  128. }
  129. else {
  130. $errmsg = ["title" => "红包兑换","msg"=> "这个业务还没有开启哦"];
  131. goto ErrorHandle;
  132. }
  133. ErrorHandle:
  134. if($fCallBack) {
  135. QueueClient::push('OnGoodsConvert',['appid' => $appid,'convert_sn' => $convert_sn,'return_url' => $return_url,'success' => false]);
  136. }
  137. return self::outsuccess($errmsg,"convert/error");
  138. }
  139. private function check_parmas($input,$fields)
  140. {
  141. foreach ($fields as $key)
  142. {
  143. if(!array_key_exists($key,$input)) {
  144. return false;
  145. }
  146. else
  147. {
  148. if(empty($input[$key])) {
  149. return false;
  150. }
  151. }
  152. }
  153. return true;
  154. }
  155. }