You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
zhishifufei_php/extend/service/CrmebPlatService.php

250 lines
6.0 KiB

10 months ago
<?php
// +----------------------------------------------------------------------
// | 天诚科技 [ 刘海东 17600099397赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2020 https://www.tczxkj.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed 该系统并不是自由软件,未经许可不能去掉相关版权
// +----------------------------------------------------------------------
// | Author:甘肃天诚志信电子商务有限公司 刘海东 联系电话维系17600099397
// +----------------------------------------------------------------------
namespace service;
class CrmebPlatService
{
/**
* 验证码
*/
const PLAT_CODE = 'user/code';
/**
* 平台注册
*/
const PLAT_OPEN = 'user/register';
/**
* 用户信息
*/
const PLAT_USER_INFO = 'user/info';
/**
* 修改密码
*/
const PLAT_USER_MODIFY = 'user/modify';
/**
* 找回秘钥
*/
const PLAT_USER_FORGET = 'user/forget';
/**
* 消费记录
*/
const PLAT_BILL = 'user/bill';
/**
* 用量记录
*/
const PlAT_RRCORD = 'user/record';
/**
* 套餐列表
*/
const MEAL_LIST = 'meal/list';
/**
* 支付二维码
*/
const MEAL_CODE = 'meal/code';
/**
* 账号
* @var null
*/
protected $account = NULL;
/**
* 秘钥
* @var null
*/
protected $sercet = NULL;
/**
* access_token
* @var null
*/
protected $accessToken = NULL;
public function __construct($account = '', $sercet = '')
{
$this->accessToken = $this->getAccessToken($account, $sercet);
}
protected function getAccessToken($account, $sercet)
{
$this->account = $account ? $account : SystemConfigService::get('sms_account');
$this->sercet = $sercet ? $sercet : SystemConfigService::get('sms_token');
return new AccessTokenServeService($this->account, $this->sercet);
}
/**
* 获取验证码
* @param $phone
* @return bool|mixed
*/
public function code($phone)
{
$param = [
'phone' => $phone
];
return $this->accessToken->httpRequest(self::PLAT_CODE, $param, 'POST', false);
}
/**
* 注册
* @param $account
* @param $phone
* @param $password
* @param $verify_code
* @return bool
*/
public function register($account, $phone, $password, $verify_code)
{
$param = [
'account' => $account,
'phone' => $phone,
'password' => md5($password),
'verify_code' => $verify_code
];
$result = $this->accessToken->httpRequest(self::PLAT_OPEN, $param, 'POST', false);
return $result;
}
/**
* 登录
* @param $account
* @param $secret
* @return mixed
*/
public function login($account, $secret)
{
$token = $this->getAccessToken($account, $secret)->getToken();
return $token;
}
/**
* 退出登录
* @param $account
* @param $secret
* @return mixed
*/
public function loginOut()
{
return $this->accessToken->destroyToken();
}
/**
* 用户详情
* @return mixed
*/
public function info()
{
$result = $this->accessToken->httpRequest(self::PLAT_USER_INFO);
return $result;
}
/**
* 修改秘钥
* @param $account
* @param $phone
* @param $password
* @param $verify_code
* @return bool
*/
public function modify($account, $phone, $password, $verify_code)
{
$param = [
'account' => $account,
'phone' => $phone,
'password' => md5($password),
'verify_code' => $verify_code
];
return $this->accessToken->httpRequest(self::PLAT_USER_MODIFY, $param, 'POST', false);
}
/**
* 找回秘钥
* @param $phone
* @param $verify_code
* @return mixed
*/
public function forget($phone, $verify_code)
{
$param = [
'phone' => $phone,
'verify_code' => $verify_code
];
$result = $this->accessToken->httpRequest(self::PLAT_USER_FORGET, $param, 'POST', false);
return $result;
}
/**
* 获取消费记录
* @param int $page
* @param int $limit
* @return mixed
*/
public function bill($page = 0, $limit = 10)
{
$param = [
'page' => $page,
'limit' => $limit
];
$result = $this->accessToken->httpRequest(self::PLAT_BILL, $param);
return $result;
}
/**
* 获取用量记录
* @param string $type
* @param int $page
* @param int $limit
* @return array|mixed
*/
public function record($type = 'sms', $page = 0, $limit = 10)
{
$param = [
'type' => $type,
'page' => $page,
'limit' => $limit
];
$result = $this->accessToken->httpRequest(self::PlAT_RRCORD, $param);
return $result;
}
/**
* 套餐列表
* @param string $type
* @return array|bool|mixed
*/
public function meal($type = 'sms')
{
$param = [
'type' => $type
];
return $this->accessToken->httpRequest(self::MEAL_LIST, $param);
}
/**
* 获取支付二维码
* @param $type
* @param $meal_id
* @param $price
* @param $num
* @param string $pay_type
* @return array|mixed
*/
public function pay($type, $meal_id, $price, $num, $pay_type = 'weixin')
{
$param = [
'type' => $type,
'meal_id' => $meal_id,
'price' => $price,
'num' => $num,
'pay_type' => $pay_type
];
return $this->accessToken->httpRequest(self::MEAL_CODE, $param);
}
}