MGrantCoupon.Class.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: XiaoMing
  5. * Date: 2019/12/24
  6. * Time: 14:43
  7. */
  8. namespace Jobs\Model\MTopic\Market;
  9. use Jobs\Dao\DCoupon;
  10. use Jobs\Dao\DUserCoupon;
  11. use Mall\Framework\Core\StatusCode;
  12. class MGrantCoupon
  13. {
  14. use MCoupon;
  15. private $objDUserCoupon;
  16. private $objDCoupon;
  17. private $onlineEnterpriseId;
  18. /**
  19. * MGrantCoupon constructor.
  20. * @throws \Exception
  21. */
  22. public function __construct()
  23. {
  24. echo '定向发放优惠券:' . date('Y-d-d H:i:s') . ': ';
  25. $this->objDUserCoupon = new DUserCoupon();
  26. $this->objDCoupon = new DCoupon();
  27. $this->objDUserCoupon->setSearchIndex('user_coupon_search')->setType('user_coupon');;
  28. }
  29. /**
  30. * @param $params
  31. * @throws \Exception
  32. */
  33. public function push($params)
  34. {
  35. $this->onlineEnterpriseId = $params['enterpriseId'];
  36. // 计算分表
  37. $this->objDUserCoupon->setTable($this->objDUserCoupon->get_Table() . '_' . $params['enterpriseId']);
  38. $this->objDCoupon->setTable($this->objDCoupon->get_Table() . '_' . $params['enterpriseId']);
  39. $extends = '';
  40. if (!empty($params['customerId'])) {
  41. $extends = ' AND FIND_IN_SET(' . $params['customerId'] . ',customerIds)';
  42. }
  43. $coupon = self::selectCoupon($this->objDCoupon, ['grantType' => StatusCode::$grantType['grant']], $extends);
  44. $checkCoupon = self::checkCoupon($this->objDUserCoupon, $coupon, $params);
  45. self::add($this->objDUserCoupon, $checkCoupon, $params);
  46. self::receiveNumIncr($this->objDCoupon, $checkCoupon, $params);
  47. }
  48. }