love_php/app/Services/SaasVipService.php
2026-04-02 09:20:51 +08:00

87 lines
2.8 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace App\Services;
use App\Models\Message;
use App\Models\SaasMemberVipSpreadCarrier;
use App\Models\Server\SaasMemberUser;
use App\Models\Server\TouristOrder;
use App\Utils\Messenger as Messengers;
use Illuminate\Support\Carbon;
class SaasVipService
{
/**
* 检查是否购买Vip
* @param $merchant_id
* @param $merchant_user_id
* @param $level_id
* @return bool
*/
public function checkBuyVip($merchant_id, $merchant_user_id, $level_id): bool
{
$expire_time = SaasMemberUser::where('merchant_id', $merchant_id)
->where('merchant_user_id', $merchant_user_id)
->where('member_level_id', $level_id)
->value('expire_time');
if ($expire_time) {
$expire = Carbon::parse($expire_time)->timestamp;
} else {
$expire = 0;
}
if ($expire > Carbon::now()->timestamp) {
return true;
} else {
return false;
}
}
/**
* 获取最后一条购买的对应Vip订单
* @param $merchant_id
* @param $merchant_user_id
* @param $level_id
* @return mixed
*/
public function getBuyVipOrder($merchant_id, $merchant_user_id, $level_id)
{
$where = [
['type', '=', 'member'],
['merchant_id', '=', $merchant_id],
['account_id', '=', $merchant_user_id],
['type_id', '=', $level_id],
];
return TouristOrder::where($where)->whereIn('pay_status', [1, 4])->orderBy('id', 'desc')->first();
}
/**
* 联系短信
* @param $vip_user_spread_carrier_id
* @param $mobile
* @return bool
*/
public function contactSms($vip_user_spread_carrier_id, $mobile)
{
if (empty($mobile) || empty($vip_user_spread_carrier_id)) {
return false;
}
$spread_carrier = SaasMemberVipSpreadCarrier::find($vip_user_spread_carrier_id);
if ($spread_carrier) {
$param = "id={$spread_carrier->fulink_user_id}&from_merchant_id={$spread_carrier->spread_merchant_id}";
$url = \CommonUtilsService::getWecharLink("/pages/home/information", $param);
$short_url_data = \CommonUtilsService::shortUrl(env('APP_URL') . '/h5/#/jump_url?url=' . $url);
$url = $short_url_data['url'] ?? '';
$content = "恭喜你成为高级会员,请点击{$url} 查看Ta的信息快点去认识Ta吧 (一定记得要领取会员权益哦~)";
Message::create([
'phone' => $mobile,
'message' => $content,
'confirmed' => 1,
'ip' => request() ? request()->ip() : '127.0.0.1',
]);
Messengers::sendSMS($mobile, $content);
return true;
}
return false;
}
}