87 lines
2.8 KiB
PHP
87 lines
2.8 KiB
PHP
<?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;
|
||
}
|
||
} |