JutuikeUtil.php 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. <?php
  2. namespace App\Http\Utils\Jutuike;
  3. use App\Exceptions\CommonException;
  4. use App\Http\Bean\Util\Jutuike\GetOrderListParamBean;
  5. use App\Http\Bean\Util\Jutuike\GoodsListParamBean;
  6. use App\Http\Bean\Util\Jutuike\GoodsSearchParamBean;
  7. use App\Http\Enum\ErrorEnum;
  8. use App\Http\Utils\BaseUtil;
  9. use App\Http\Utils\LoggerFactoryUtil;
  10. use function Complex\theta;
  11. use Tool\ShanTaoTool\HttpCurl;
  12. /**
  13. * jutuike工具类
  14. * Class JutuikeUtil
  15. * @package App\Http\Utils\Jutuike
  16. */
  17. class JutuikeUtil extends BaseUtil
  18. {
  19. /**
  20. * @var string 平台接口地址
  21. */
  22. static $baseUrl = "http://api.jutuike.com/";
  23. /**
  24. * @var string 电商聚合接口地址
  25. */
  26. static $baseJuheurl = "http://api.act.jutuike.com/";
  27. /**
  28. * 获取活动列表
  29. */
  30. public static function getActList($page=1)
  31. {
  32. $url = self::$baseUrl."union/act_list";
  33. $params = [
  34. "apikey"=>env("JU_TUI_KE_API_KEY"),
  35. "page"=>$page,
  36. "pageSize"=>100
  37. ];
  38. $res = HttpCurl::getCurl($url,$params);
  39. return $res;
  40. }
  41. /**
  42. * 获取订单列表
  43. * @param GetOrderListParamBean $getOrderListParamBean
  44. */
  45. public static function getOrderList(GetOrderListParamBean $getOrderListParamBean)
  46. {
  47. $url = self::$baseUrl."union/orders";
  48. $params = [
  49. "apikey"=>env("JU_TUI_KE_API_KEY")
  50. ];
  51. if ($getOrderListParamBean->getStartTime()){
  52. $params["start_time"] = $getOrderListParamBean->getStartTime();
  53. }
  54. if ($getOrderListParamBean->getEndTime()){
  55. $params["end_time"] = $getOrderListParamBean->getEndTime();
  56. }
  57. if ($getOrderListParamBean->getQueryType()){
  58. $params["query_type"] = $getOrderListParamBean->getQueryType();
  59. }
  60. if ($getOrderListParamBean->getStatus()){
  61. $params["status"] = $getOrderListParamBean->getStatus();
  62. }
  63. if ($getOrderListParamBean->getOrderSn()){
  64. $params["order_sn"] = $getOrderListParamBean->getOrderSn();
  65. }
  66. if ($getOrderListParamBean->getPage()){
  67. $params["page"] = $getOrderListParamBean->getPage();
  68. }
  69. if ($getOrderListParamBean->getPageSize()){
  70. $params["pageSize"] = $getOrderListParamBean->getPageSize();
  71. }
  72. $res = HttpCurl::getCurl($url,$params);
  73. return $res;
  74. }
  75. /**
  76. * 获取活动转链接口
  77. * @param $sid string 推广位
  78. * @param $actId int 活动ID
  79. */
  80. public static function transferAct($sid,$actId)
  81. {
  82. $url = self::$baseUrl."union/act";
  83. $params = [
  84. "apikey"=>env("JU_TUI_KE_API_KEY"),
  85. "sid"=>$sid,
  86. "act_id"=>$actId
  87. ];
  88. $res = HttpCurl::getCurl($url,$params);
  89. if($res["code"]!=1){
  90. $instance = new LoggerFactoryUtil(JutuikeUtil::class);
  91. $instance->info("活动ID:".$actId);
  92. $instance->info("推广位ID:".$sid);
  93. $instance->info("上游返回数据:".json_encode($res));
  94. throw new CommonException(ErrorEnum::ERROR_TRANS_LINK);
  95. }
  96. return $res["data"]["h5"];
  97. }
  98. /**
  99. * 获取转链的商品信息
  100. * @param $linkurl 转链url
  101. */
  102. public static function transferGoodsLink($linkurl)
  103. {
  104. $url = self::$baseJuheurl."union/wn_convert";
  105. $params = [
  106. "pub_id"=>env("JU_TUI_KE_PUB_ID"),
  107. "content"=>$linkurl,
  108. ];
  109. $res = HttpCurl::postCurl($url,$params);
  110. if($res["code"]!=1){
  111. $instance = new LoggerFactoryUtil(JutuikeUtil::class);
  112. $instance->info("上游返回数据:".json_encode($res));
  113. throw new CommonException(ErrorEnum::ERROR_TRANS_LINK);
  114. }
  115. return $res["data"];
  116. }
  117. /**
  118. * 转链API接口
  119. * @param $goodsId 商品ID
  120. * @param $sid 推广位ID
  121. * @param string $source 来源 jd-京东,vip-唯品会,pdd-拼多多,kaola-考拉,taobao-淘宝 默认vip
  122. */
  123. public static function convert($goodsId,$sid,$source="taobao")
  124. {
  125. $url = self::$baseJuheurl."union/convert";
  126. $params = [
  127. "pub_id"=>env("JU_TUI_KE_PUB_ID"),
  128. "goodsId"=>$goodsId,
  129. "sid"=>$sid,
  130. "source"=>$source,
  131. ];
  132. $res = HttpCurl::postCurl($url,$params);
  133. if($res["code"]!=1){
  134. $instance = new LoggerFactoryUtil(JutuikeUtil::class);
  135. $instance->info("上游返回数据:".json_encode($res));
  136. throw new CommonException(ErrorEnum::ERROR_TRANS_LINK);
  137. }
  138. return $res["data"];
  139. }
  140. /**
  141. * 获取平台分类接口
  142. * @param string $source
  143. */
  144. public static function goodsCategory($source)
  145. {
  146. $url = self::$baseJuheurl."union/goods_category";
  147. $params = [
  148. "pub_id"=>env("JU_TUI_KE_PUB_ID"),
  149. ];
  150. $params["source"] = $source;
  151. $res = HttpCurl::postCurl($url,$params);
  152. if($res["code"]!=1){
  153. $instance = new LoggerFactoryUtil(JutuikeUtil::class);
  154. $instance->info("上游返回数据:".json_encode($res));
  155. throw new CommonException(ErrorEnum::ERROR_TRANS_LINK);
  156. }
  157. return $res["data"];
  158. }
  159. /**
  160. * 获取商品列表
  161. * @param GoodsListParamBean $goodsListParamBean
  162. */
  163. public static function goodsList(GoodsListParamBean $goodsListParamBean)
  164. {
  165. $url = self::$baseJuheurl."union/query_goods";
  166. $params = [
  167. "pub_id"=>env("JU_TUI_KE_PUB_ID"),
  168. "source"=>$goodsListParamBean->getSource(),
  169. "cat"=>$goodsListParamBean->getCat(),
  170. "page"=>$goodsListParamBean->getPage(),
  171. "pageSize"=>$goodsListParamBean->getPageSize(),
  172. ];
  173. $res = HttpCurl::postCurl($url,$params);
  174. if($res["code"]!=1){
  175. $instance = new LoggerFactoryUtil(JutuikeUtil::class);
  176. $instance->info("上游返回数据:".json_encode($res));
  177. throw new CommonException(ErrorEnum::ERROR_TRANS_LINK);
  178. }
  179. return $res["data"];
  180. }
  181. /**
  182. * 商品搜索接口
  183. * @param GoodsSearchParamBean $goodsSearchParamBean
  184. */
  185. public static function goodsSearch(GoodsSearchParamBean $goodsSearchParamBean)
  186. {
  187. $url = self::$baseJuheurl."union/search";
  188. $params = [
  189. "pub_id"=>env("JU_TUI_KE_PUB_ID"),
  190. "sid"=>$goodsSearchParamBean->getSource(),
  191. "source"=>$goodsSearchParamBean->getSource(),
  192. "keyword"=>$goodsSearchParamBean->getKeyword(),
  193. "sort"=>$goodsSearchParamBean->getSort(),
  194. "page"=>$goodsSearchParamBean->getPage(),
  195. "pageSize"=>$goodsSearchParamBean->getPageSize(),
  196. ];
  197. $res = HttpCurl::postCurl($url,$params);
  198. if($res["code"]!=1){
  199. $instance = new LoggerFactoryUtil(JutuikeUtil::class);
  200. $instance->info("上游返回数据:".json_encode($res));
  201. throw new CommonException(ErrorEnum::ERROR_TRANS_LINK);
  202. }
  203. return $res["data"];
  204. }
  205. /**
  206. * 电商平台列表接口
  207. */
  208. public static function plateformList()
  209. {
  210. $url = self::$baseJuheurl."union/platform";
  211. $params = [
  212. "pub_id"=>env("JU_TUI_KE_PUB_ID")
  213. ];
  214. $res = HttpCurl::postCurl($url,$params);
  215. if($res["code"]!=1){
  216. $instance = new LoggerFactoryUtil(JutuikeUtil::class);
  217. $instance->info("上游返回数据:".json_encode($res));
  218. throw new CommonException(ErrorEnum::ERROR_TRANS_LINK);
  219. }
  220. return $res["data"];
  221. }
  222. }