CouponAssetClass.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. namespace bizHd\coupon\classes;
  3. use bizHd\goods\services\GoodsCategoryService;
  4. use bizHd\goods\services\GoodsStyleService;
  5. use common\components\business;
  6. use common\components\stringUtil;
  7. use common\components\wxUtil;
  8. use common\services\xhTMessageService;
  9. use Yii;
  10. use bizHd\base\classes\BaseClass;
  11. class CouponAssetClass extends BaseClass
  12. {
  13. public static $baseFile = '\bizHd\coupon\models\CouponAsset';
  14. //新人注册获取优惠券 ssh 2020.5.5
  15. public static function giveCoupon($user, $merchant, $userAsset)
  16. {
  17. $userId = $user['id'];
  18. $sjId = $merchant['id'];
  19. $asset = self::getByCondition(['sjId' => $sjId]);
  20. $time = time();
  21. $date = date("Y-m-d H:i:s");
  22. //商家开启注册会员送券
  23. if (isset($asset['switch']) && $asset['switch'] == 1) {
  24. //客户没有消费过 且没有领过优惠券 且登陆了手机号 且关注了公众号
  25. if ($userAsset['getCouponNum'] == 0 && $userAsset['totalBuyNum'] == 0 && !empty($user['mobile'])) {
  26. $duration = $asset['duration'];
  27. $deadline = $time + $duration * 86400;
  28. $amount = $asset['amount'];
  29. $mobile = isset($user['mobile']) ? $user['mobile'] : '';
  30. $addData['userId'] = $userId;
  31. $addData['sjId'] = $sjId;
  32. $addData['mobile'] = $mobile;
  33. $addData['name'] = '新人优惠券';
  34. $addData['miniCost'] = $asset['miniCost'];
  35. $addData['amount'] = $amount;
  36. $addData['beginTime'] = $time;
  37. $addData['deadline'] = $deadline;
  38. $addData['source'] = 0;
  39. $addData['status'] = 0;
  40. $addData['addTime'] = $time;
  41. $addData['createTime'] = $date;
  42. CouponClass::add($addData);
  43. if (isset($user['subscribe']) && $user['subscribe'] == 1) {
  44. self::wxNotice($user, $merchant);
  45. } else {
  46. //还未关注公众号的等关注公众号之后通知
  47. $key = 'get_a_new_coupon_to_notice_' . $userId;
  48. Yii::$app->redis->executeCommand('SET', [$key, 'yes']);
  49. }
  50. }
  51. }
  52. }
  53. //获得新优惠券通知 ssh 2020.5.29
  54. public static function wxNotice($user, $merchant)
  55. {
  56. $sjId = $merchant['id'];
  57. $tm = xhTMessageService::getList($sjId);
  58. $shortTempId = 'OPENTM207422813';//收入提醒
  59. $tempId = isset($tm[$shortTempId]) ? $tm[$shortTempId] : '';
  60. $openId = isset($user['openId']) ? $user['openId'] : '';
  61. $miniOpenId = isset($user['miniOpenId']) ? $user['miniOpenId'] : '';
  62. if (!empty($tempId) && !empty($openId)) {
  63. $data = [
  64. "touser" => $openId,
  65. "template_id" => $tempId,
  66. "url" => Yii::$app->params['mallDomain'] . '/#/pages/coupon/list?account=' . $sjId,
  67. "data" => [
  68. "first" => ["value" => "恭喜,您获得一张优惠劵。", "color" => "#173177"],
  69. "keyword1" => ["value" => '查看', "color" => "#173177"],
  70. "keyword2" => ["value" => '优惠劵', "color" => "#173177"],
  71. "keyword3" => ["value" => date("Y-m-d H:i"), "color" => "#173177"],
  72. "remark" => ["value" => "点击查看详情", "color" => "#173177"]
  73. ]
  74. ];
  75. if (!empty($miniOpenId)) {
  76. $data['miniprogram']['appid'] = $merchant['miniAppId'];
  77. $data['miniprogram']['pagepath'] = 'pages/coupon/list';
  78. }
  79. wxUtil::sendTaskInform($data, $merchant);
  80. }
  81. }
  82. }