VoucherController.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. namespace app\modules\admin\controllers\alipay;
  8. use app\modules\admin\controllers\BaseController;
  9. use app\modules\admin\models\AlipayThirdForm;
  10. use app\modules\admin\models\alipay\Voucher;
  11. use app\modules\admin\models\CouponForm;
  12. use \app\models\AlipayAcitvityVoucherOrder;
  13. class VoucherController extends BaseController
  14. {
  15. //查询支付券活动
  16. public function actionList() {
  17. $form = new Voucher();
  18. $form->attributes = post_params();
  19. $form->mini_id = post_params("id")??get_params("id");
  20. $form->store_id = get_store_id();
  21. $res = $form->search();
  22. return $this->asJson($res);
  23. }
  24. //查询支付券活动详情
  25. public function actionQuery() {
  26. $form = new AlipayThirdForm();
  27. $form->mini_id = post_params("id")??get_params("id");
  28. $activity_id = input_params('alipay_activity_id');
  29. $res = $form->AlipayMarketingActivityVoucherQuery($activity_id);
  30. return $this->asJson($res);
  31. }
  32. //停止优惠券
  33. public function actionStop() {
  34. $form = new AlipayThirdForm();
  35. $form->mini_id = post_params("id")??get_params("id");
  36. $activity_id = input_params('alipay_activity_id');
  37. $out_biz_no = microtime(true);
  38. $res = $form->AlipayMarketingActivityVoucherStop($activity_id, $out_biz_no);
  39. return $this->asJson($res);
  40. }
  41. //删除支付券活动
  42. public function actionRemove() {
  43. $form = new Voucher();
  44. $form->mini_id = post_params("id")??get_params("id");
  45. $form->alipay_activity_id = input_params('alipay_activity_id');
  46. $res = $form->remove();
  47. return $this->asJson($res);
  48. }
  49. //激活优惠券
  50. public function actionPublish() {
  51. $form = new AlipayThirdForm();
  52. $form->mini_id = post_params("id")??get_params("id");
  53. $activity_id = input_params('alipay_activity_id');
  54. $out_biz_no = microtime(true);
  55. $res = $form->AlipayMarketingActivityVoucherPublish($activity_id, $out_biz_no);
  56. return $this->asJson($res);
  57. }
  58. //创建支付券活动
  59. public function actionCreate() {
  60. $form = new Voucher();
  61. $form->mini_id = post_params("id")??get_params("id");
  62. $form->store_id = get_store_id();
  63. $params = array_merge(post_params(), [
  64. 'mini_app_path' => input_params('mini_app_path', '/user/my_coupon/my_coupon'),
  65. ]);
  66. $res = $form->create($params);
  67. return $this->asJson($res);
  68. }
  69. //修改支付券活动
  70. public function actionModify() {
  71. $form = new Voucher();
  72. $form->mini_id = post_params("id")??get_params("id");
  73. $form->store_id = get_store_id();
  74. $activity_id = input_params('alipay_activity_id');
  75. $publish_end_time = input_params('publish_end_time') ?? null;
  76. $valid_end_time = input_params('valid_end_time') ?? null;
  77. $valid_days_after_receive = input_params('valid_days_after_receive') ?? null;
  78. $res = $form->modify($activity_id, $publish_end_time, $valid_end_time, $valid_days_after_receive);
  79. return $this->asJson($res);
  80. }
  81. //追加券数量
  82. public function actionAppend() {
  83. $form = new AlipayThirdForm();
  84. $form->mini_id = post_params("id")??get_params("id");
  85. $activity_id = input_params('alipay_activity_id');
  86. $voucher_quantity = input_params('voucher_quantity');
  87. $out_biz_no = microtime(true);
  88. $res = $form->AlipayMarketingActivityVoucherAppend($activity_id, $voucher_quantity, $out_biz_no);
  89. return $this->asJson($res);
  90. }
  91. //测试核销券通知
  92. public function actionUsedNotify() {
  93. $biz = [
  94. 'id' => 'USED_2021042400826001508407723739',
  95. 'activity_id' => '2022092200826004625316193634',
  96. 'event_time' => '1619338271',
  97. 'voucher_id' => '2021072900073002214009F8QHR3',
  98. 'user_id' => '核销的支付宝user_id',
  99. 'trade_no' => '2021042322001426261436764012',
  100. ];
  101. $res = AlipayAcitvityVoucherOrder::usedNotify($biz);
  102. return $res;
  103. }
  104. }