public function isAvaliable($memberId, $couponId) { $condition = ['member.id' => $memberId, 'coupon.status' => ModelMembershipDiscount::UNUSED, 'coupon.id' => $couponId]; //if the coupon is expired,no need to show $current = new MongoDate(strtotime(date('Y-m-d'))); $condition['coupon.endTime'] = ['$gte' => $current]; $condition['coupon.startTime'] = ['$lte' => $current]; $membershipDiscount = ModelMembershipDiscount::findOne($condition); if (!empty($membershipDiscount)) { return true; } return false; }
/** * create a code when user receive coupon * @param $accountId, MongoId */ public static function getCouponCode($accountId) { $code = StringUtil::rndString(12, 1); $data = MembershipDiscount::findOne(['code' => $code, 'accountId' => $accountId]); if (empty($data)) { return $code; } else { return self::getCouponCode($accountId); } }