<?php /** * Created by PhpStorm. * User: yingcai * Date: 2018/2/1 * Time: 上午9:46 */ namespace VcySDK; class Order { /** * 接口调用类 * * @var object */ private $serv = null; /** * 订单列表获取接口 * %s = {apiDomain}/b/{enumber}/{thirdIdentifier} * * @var string */ const ORDER_LIST_URL = '%s/order/list'; /** * 订单详情获取接口 * %s = {apiDomain}/b/{enumber}/{thirdIdentifier} * * @var string */ const ORDER_DETAIL_URL = '%s/order/get'; /** * 添加订单接口 * %s = {apiDomain}/b/{enumber}/{thirdIdentifier} * * @var string */ const ORDER_ADD_URL = '%s/order/add'; /** * 编辑订单接口 * %s = {apiDomain}/b/{enumber}/{thirdIdentifier} * * @var string */ const ORDER_UPDATE_URL = '%s/order/update'; /** * 删除订单接口 * %s = {apiDomain}/b/{enumber}/{thirdIdentifier} * * @var string */ const ORDER_DELETE_URL = '%s/order/delete'; /** * 购买直播订单列表接口(购买直播成功的订单) * %s = {apiDomain}/b/{enumber}/{thirdIdentifier} * * @var string */ const ORDER_LIVE_CAST_URL = '%s/order-app-user/list'; /** * 获取商品购买规则接口 * %s = {apiDomain}/s/{thirdIdentifier} * * @var string */ const PRODUCT_RULE_URL = '%s/product/get-by-key'; /** * 获取商品列表接口 * %s = {apiDomain}/s/{thirdIdentifier} * * @var string */ const PRODUCT_LIST_URL = '%s/product/list'; /** * 获取累计购买并发数和已消费并发数 * %s = {apiDomain}/b/{enumber}{thirdIdentifier} * * @var string */ const ORDER_LIVE_CAST_BASIC_INFO = '%s/order-live-cast/basic-info'; /** * 获取即将失效的并发订单列表 * %s = {apiDomain}/b/{enumber}{thirdIdentifier} * * @var string */ const ORDER_LIVE_CAST_AVAILABLE_LIST = '%s/order-live-cast/available-list'; /** * 并发人数扣减接口 * %s = {apiDomain}/b/{enumber}{thirdIdentifier} * * @var string */ const LIVE_CAST_EXPEND_URL = '%s/live-cast-expend/consum'; /** * 获取直播消耗记录列表接口 * %s = {apiDomain}/b/{enumber}{thirdIdentifier} * * @var string */ const LIVE_CAST_EXPEND_LIST_URL = '%s/live-cast-expend/list'; /** * 可使用订单列表(包括正在生效的订单) * %s = {apiDomain}/b/{enumber}{thirdIdentifier} * * @var string */ const ORDER_VALID_LIST_URL = '%s/order-app-user/list'; /** * 获取应用授权人数接口 * %s = {apiDomain}/b/{enterprise} * * @var string */ const GET_ALLOW_USER_TOTAL = '%s/plugin/get-allow-user-total'; /** * 获取企业有效的业绩比拼订单列表 * %s = {apiDomain}/b/{enumber}{thirdIdentifier} * * @var string */ const SALE_VALID_ORDER_LIST = '%s/compete/detail'; /** * 初始化 * * @param Service $serv 接口调用类 */ public function __construct($serv) { $this->serv = $serv; } /** * 获取订单列表 * * @param array $condition 查询条件数据 * @param mixed $orders 排序字段 * @param int $page 当前页码 * @param int $perpage 每页记录数 * * @return boolean|multitype: */ public function fetchOrderList($condition = [], $page = 1, $perpage = 30, $orders = []) { // 查询参数 $condition = $this->serv->mergeListApiParams($condition, $orders, $page, $perpage); return $this->serv->postSDK(self::ORDER_LIST_URL, $condition, 'generateApiUrlB'); } /** * 获取订单详情 * * @param array $params 所需参数 * @return boolean|multitype: */ public function fetchOrder($params) { return $this->serv->postSDK(self::ORDER_DETAIL_URL, $params, 'generateApiUrlB'); } /** * 添加订单 * * @param array $params 所需参数 * @return boolean|multitype: */ public function addOrder($params) { return $this->serv->postSDK(self::ORDER_ADD_URL, $params, 'generateApiUrlB'); } /** * 编辑订单 * * @param array $params 所需参数 * @return boolean|multitype: */ public function updateOrder($params) { return $this->serv->postSDK(self::ORDER_UPDATE_URL, $params, 'generateApiUrlB'); } /** * 删除订单 * * @param string $params 所需参数 * @return boolean|multitype: */ public function deleteOrder($params) { return $this->serv->postSDK(self::ORDER_DELETE_URL, $params, 'generateApiUrlB'); } /** * 获取购买直播订单列表 * * @param array $condition 查询条件数据 * @param mixed $orders 排序字段 * @param int $page 当前页码 * @param int $perpage 每页记录数 * * @return boolean|multitype: */ public function fetchOrderLiveList($condition = [], $orders = [], $page = 1, $perpage = 30) { // 查询参数 $condition = $this->serv->mergeListApiParams($condition, $orders, $page, $perpage); return $this->serv->postSDK(self::ORDER_LIVE_CAST_URL, $condition, 'generateApiUrlB'); } /** * 获取累计购买并发数和已消费并发数 * * @param string $params 所需参数 * @return boolean|multitype: */ public function getLiveCastBasic($params) { return $this->serv->postSDK(self::ORDER_LIVE_CAST_BASIC_INFO, $params, 'generateApiUrlB'); } /** * 获取即将失效的并发订单列表 * * @param array $params 所需参数 * @return boolean|multitype: */ public function FetchAllLiveCastAvailable($params) { return $this->serv->postSDK(self::ORDER_LIVE_CAST_AVAILABLE_LIST, $params, 'generateApiUrlB'); } /** * 获取商品购买规则 * * @param array $params 所需参数 * @return boolean|multitype: */ public function fetchProductRule($params) { return $this->serv->postSDK(self::PRODUCT_RULE_URL, $params, 'generateApiUrlSP'); } /** * 可使用订单列表(包括正在生效的订单) * * @param array $params 所需参数 * @return boolean|multitype: */ public function fetchValidOrderList($params) { return $this->serv->postSDK(self::ORDER_VALID_LIST_URL, $params, 'generateApiUrlB'); } /** * 获取商品列表 * * @param array $condition 查询条件数据 * @param mixed $orders 排序字段 * @param int $page 当前页码 * @param int $perpage 每页记录数 * * @return boolean|multitype: */ public function fetchProductList($condition = [], $page = 1, $perpage = 30, $orders = []) { // 查询参数 $condition = $this->serv->mergeListApiParams($condition, $orders, $page, $perpage); return $this->serv->postSDK(self::PRODUCT_LIST_URL, $condition, 'generateApiUrlSP'); } /** * 直播并发人数消耗接口 * * @param array $params 所需参数 * @return boolean|multitype: */ public function LiveCaseExpend($params) { return $this->serv->postSDK(self::LIVE_CAST_EXPEND_URL, $params, 'generateApiUrlB'); } /** * 获取直播消耗记录列表接口 * * @param array $condition 查询条件数据 * + int type 查询列表类型(0=全部(默认),1=直播消耗,2=已失效) * @param mixed $orders 排序字段 * @param int $page 当前页码 * @param int $perpage 每页记录数 * * @return boolean|multitype: */ public function fetchLiveCaseExpendList($condition = [], $page = 1, $perpage = 30, $orders = []) { // 查询参数 $condition = $this->serv->mergeListApiParams($condition, $orders, $page, $perpage); return $this->serv->postSDK(self::LIVE_CAST_EXPEND_LIST_URL, $condition, 'generateApiUrlB'); } /** * 获取应用授权人数接口 * * @param array $params 所需参数 * + string plIdentifier 应用标识 * @return boolean|multitype: */ public function GetAllowUserTotal($params) { try { return $this->serv->postSDK(self::GET_ALLOW_USER_TOTAL, $params, 'generateApiUrlE'); } catch (Exception $e) { if ($e->getSdkCode() == 'NOT_FIND_AGENT') { return []; } } } /** * 获取业绩比拼有效的订单 * * @param array $params 所需参数 * @return boolean|multitype: */ public function FetchAllSaleValidOrder($params = []) { return $this->serv->postSDK(self::SALE_VALID_ORDER_LIST, $params, 'generateApiUrlB'); } }