convert.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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 fcodeOp()
  23. {
  24. $fileds = ['appid','appkey','convert_sn','convert_type','batch_code','commonid','time','mobile','return_url'];
  25. $fCallBack = true;
  26. $appid = $_GET['appid'];
  27. $convert_sn = $_GET['convert_sn'];
  28. $return_url = $_GET['return_url'];
  29. if($this->check_parmas($_GET,$fileds) === false) {
  30. $errmsg = ["title" => "请求参数异常","msg"=> "请不要随意修改参数哦"];
  31. goto ErrorHandle;
  32. }
  33. $convert = new openapi\Convertor($fileds);
  34. $fSucc = $convert->verify($_GET);
  35. if($fSucc === false) {
  36. $errmsg = ["title" => "请求参数异常","msg"=> "请不要随意修改参数哦"];
  37. goto ErrorHandle;
  38. }
  39. $convert_type = $_GET['convert_type'];
  40. if($convert_type == 'fcode')
  41. {
  42. $batch_code = $_GET['batch_code'];
  43. $common_id = intval($_GET['commonid']);
  44. if(empty($batch_code) || $common_id <= 0) {
  45. $errmsg = ["title" => "商品下架","msg"=> "没有找到要兑换的商品哦"];
  46. goto ErrorHandle;
  47. }
  48. $find = $convert->exist($_GET['convert_sn'],$_GET['appid']);
  49. if($find) {
  50. $fCallBack = false;
  51. $errmsg = ["title" => "商品下架","msg"=> "没有找到要兑换的商品哦"];
  52. goto ErrorHandle;
  53. }
  54. $mobile = $_GET['mobile'];
  55. if(!session_helper::logined())
  56. {
  57. $mobile_loginner = new login\mobile_log($mobile);
  58. if($mobile_loginner->ismember()) {
  59. $mobile_loginner->login();
  60. } else {
  61. $mobile_loginner->register('',0,$mobile);
  62. $mobile_loginner->login();
  63. }
  64. }
  65. $oper = new fcode\operator($common_id,$batch_code,$mobile,'');
  66. $fcode = $oper->send();
  67. if($fcode == false) {
  68. $errmsg = ["title" => "兑换失败","msg"=> "这个商品已经被兑换完了"];
  69. goto ErrorHandle;
  70. }
  71. else {
  72. $return_url = $_GET['return_url'];
  73. QueueClient::push('OnGoodsConvert',['appid' => $appid,'convert_sn' => $convert_sn,'return_url' => $return_url,'success' => true]);
  74. $convert->add_fcode($_GET['appid'],$_GET['convert_sn'],$_GET['batch_code'],$_GET['commonid'],$fcode,$_GET['mobile']);
  75. return self::outsuccess(["title" => "兑换成功","msg"=> "您已经成功兑换商品"],"convert/success");
  76. }
  77. }
  78. else {
  79. $errmsg = ["title" => "红包兑换","msg"=> "这个业务还没有开启哦"];
  80. goto ErrorHandle;
  81. }
  82. ErrorHandle:
  83. if($fCallBack) {
  84. QueueClient::push('OnGoodsConvert',['appid' => $appid,'convert_sn' => $convert_sn,'return_url' => $return_url,'success' => false]);
  85. }
  86. return self::outsuccess($errmsg,"convert/error");
  87. }
  88. private function check_parmas($input,$fields)
  89. {
  90. foreach ($fields as $key)
  91. {
  92. if(!array_key_exists($key,$input)) return false;
  93. else {
  94. if(empty($input[$key])) return false;
  95. }
  96. }
  97. return true;
  98. }
  99. }