$value) { $str .= $key . $value; } $str .= $secret; $sign = md5($str); return $sign; } /** * @param $actId int 活动id,可以在联盟活动列表中查看获取 * @param $sid string 推广位ID * @param $linkType int 链接类型(1、h5链接2、deeplink(唤起)链接3、中间页唤起链接4、微信小程序唤起路径) * @param $appkey string appkey */ public static function generateLink($actId,$sid,$linkType,$appkey) { $url = "https://runion.meituan.com/generateLink"; $params = [ "actId"=>$actId, "key"=>$appkey, "sid"=>$sid, "linkType"=>$linkType, "sign"=>"" ]; $sign = self::generateSign($params); $params["sign"] = $sign; $res = HttpCurl::getCurl($url,$params); if($res["status"]!=0){ throw new CommonException(ErrorEnum::ERROR_MEITUAN_LINK); } return $res["data"]; } /** * 领券结果查询接口 * @param CouponListParamBean $couponListParamBean */ public static function couponList(CouponListParamBean $couponListParamBean) { $url = "https://runion.meituan.com/api/couponList"; $params = [ "key"=>$couponListParamBean->getAppkey(), "ts"=>time(), "type"=>$couponListParamBean->getType(), "sign"=>"", "startTime"=>$couponListParamBean->getStartTime(), "endTime"=>$couponListParamBean->getEndTime(), "page"=>$couponListParamBean->getPage(), "limit"=>$couponListParamBean->getLimit(), "sid"=>$couponListParamBean->getSid() ]; $sign = self::generateSign($params); $params["sign"] = $sign; $res = HttpCurl::getCurl($url,$params); return $res; } /** * 获取订单列表接口 * @param OrderListParamBean $orderListParamBean */ public static function orderList(OrderListParamBean $orderListParamBean) { $url = "https://runion.meituan.com/api/orderList"; $params = [ "key"=>$orderListParamBean->getAppkey(), "ts"=>time(), "type"=>$orderListParamBean->getType(), "sign"=>"", "startTime"=>$orderListParamBean->getStartTime(), "endTime"=>$orderListParamBean->getEndTime(), "page"=>$orderListParamBean->getPage(), "limit"=>$orderListParamBean->getLimit(), "queryTimeType"=>$orderListParamBean->getQueryTimeType() ]; $sign = self::generateSign($params); $params["sign"] = $sign; $res = HttpCurl::getCurl($url,$params); return $res; } /** * 生成小程序二维码 * @param $sid string 推广为ID * @param $actId int 活动ID */ public static function miniCode($sid,$actId) { $url = "https://runion.meituan.com/miniCode"; $params = [ "sid"=>$sid, "actId"=>$actId, "sign"=>"" ]; $sign = self::generateSign($params); $params["sign"] = $sign; $res = HttpCurl::getCurl($url,$params); return $res; } /** * 根据订单编号获取单个订单 * @param $orderNumber string 订单编号 * @param $key string 媒体appKey * @param $type string 订单类型 */ public static function queryOrderByOrderNumber($orderNumber,$key,$type) { $url = "https://runion.meituan.com/api/rtnotify"; $params = [ "key"=>$key, "oid"=>$orderNumber, "full"=>1, "type"=>$type, "sign"=>"" ]; $sign = self::generateSign($params); $params["sign"] = $sign; $res = HttpCurl::getCurl($url,$params); return $res; } /** * 获取美团推广链接 * @param $userId string 用户ID * @param $spreadId string 推广位 * @param $actId string 活动ID * @param $linkType string 链接类型 */ public static function getMeituanWaimaiUrl($userId, $spreadId, $actId, $linkType) { $key = "meituanUrl:".$userId."linktype:".$linkType."actid:".$actId; $val = self::getCacheFromRedis($key); if($val){ return $val; } //不存在则从官方获取 $val = self::generateLink($actId,$spreadId,$linkType,env("MEITUAN_LIANMENG_KEY")); self::setRedisCache($key,$val,0); return $val; } }