Commit 6fc755e9 authored by suntengda's avatar suntengda

add 拼单小程序活动列表新版接口 并发调用订单接口

parent 02372220
...@@ -190,7 +190,9 @@ class MarketingController extends Base ...@@ -190,7 +190,9 @@ class MarketingController extends Base
*/ */
public function pindan_active_and_ready_listAction() public function pindan_active_and_ready_listAction()
{ {
$list = MarketingService::getPindanActiveAndReadyList(); $page = $this->params['page'] ?? 1;
$pageSize = $this->params['page_size'] ?? 50;
$list = MarketingService::getPindanActiveAndReadyList($page,$pageSize);
$this->success(['result' => $list]); $this->success(['result' => $list]);
} }
......
...@@ -541,17 +541,33 @@ class MarketingService ...@@ -541,17 +541,33 @@ class MarketingService
private static function _fillSkuAndOrderInfo($marketingIds,$list) { private static function _fillSkuAndOrderInfo($marketingIds,$list) {
//获取活动的sku列表 //获取活动的sku列表
$skuList = self::getGoodsSkuListByMarketingIds($marketingIds); $skuList = self::getGoodsSkuListByMarketingIds($marketingIds);
//获取活动支付用户列表 //获取活动支付用户列表
$orderUser = self::getMarketingOrderUser(['marketing_id' => $marketingIds]); $orderUser = self::getMarketingOrderUser(['marketing_id' => $marketingIds]);
//获取活动支付用户数 //获取活动支付用户数
$buyNum = self::getHaveBuyGoodsUserCount(['marketing_id' => $marketingIds]); $buyNum = self::getHaveBuyGoodsUserCount(['marketing_id' => $marketingIds]);
//并行调用order统计接口
$urls['order_user'] = config('interface', 'order.marketing.marketing_user');
$urls['buy_num'] = config('interface', 'order.order.have_buy_goods_user_count');
$params['order_user'] = $params['buy_num'] = ['marketing_id' => $marketingIds];
$encryptRes = HttpUtil::concurrencyPost($urls, $params);
if (!empty($encryptRes)) {
foreach ($encryptRes as $key => $item) {
if (!empty($item["response"])) {
$data[$key] = $item['response']['result'];
}
}
}
//组合sku和order信息 //组合sku和order信息
foreach ($list as &$listPart) { foreach ($list as &$listPart) {
foreach ($listPart as $marketingId => &$value) { foreach ($listPart as $marketingId => &$value) {
$value['sku_list'] = $skuList[$marketingId] ?? []; $value['sku_list'] = $skuList[$marketingId] ?? [];
$value['order_user'] = $orderUser[$marketingId] ?? []; $value['order_user'] = $data['order_user'][$marketingId] ?? [];
$value['participate_number'] = $buyNum[$marketingId] ?? 0; $value['participate_number'] = $data['buy_num'][$marketingId] ?? 0;
} }
unset($value); unset($value);
$listPart = array_values($listPart); $listPart = array_values($listPart);
...@@ -1389,11 +1405,20 @@ class MarketingService ...@@ -1389,11 +1405,20 @@ class MarketingService
{ {
$marketingGoodsList = MarketingGoods::marketingGoodsList(['marketing_id' => $marketingIds, "ORDER" => ["id" => "ASC"]]); $marketingGoodsList = MarketingGoods::marketingGoodsList(['marketing_id' => $marketingIds, "ORDER" => ["id" => "ASC"]]);
$goodsSkuList = []; $goodsSkuList = $picUrl =[];
if (!empty($marketingGoodsList)) { if (!empty($marketingGoodsList)) {
$goodsSkuId = array_column($marketingGoodsList , 'goods_sku_id'); $goodsSkuId = array_column($marketingGoodsList , 'goods_sku_id');
$goodsSkuList = PindanGoodsSku::select('*', ['goods_sku_id' => $goodsSkuId]); $goodsSkuList = PindanGoodsSku::select('*', ['goods_sku_id' => $goodsSkuId]);
$goodsSkuList = array_column((array)$goodsSkuList, null, "goods_sku_id"); $goodsSkuList = array_column((array)$goodsSkuList, null, "goods_sku_id");
$picIds = [];
if(!empty($goodsSkuList)) {
foreach ($goodsSkuList as $index => $item) {
$item['desc_pic_url'] = explode(',',$item['desc_pic_url']) ?: [];
$picIds = array_merge($picIds,$item['desc_pic_url']);
}
$picUrl = Ks3Api::concurrencyPicEncryptUrl($picIds);
}
} }
$list = []; $list = [];
...@@ -1409,7 +1434,10 @@ class MarketingService ...@@ -1409,7 +1434,10 @@ class MarketingService
$list[$value['marketing_id']][$key] = $value; $list[$value['marketing_id']][$key] = $value;
$item = $goodsSkuList[$value["goods_sku_id"]]; $item = $goodsSkuList[$value["goods_sku_id"]];
$list[$value['marketing_id']][$key]['goods_name'] = $item['goods_name']; $list[$value['marketing_id']][$key]['goods_name'] = $item['goods_name'];
$list[$value['marketing_id']][$key]["desc_pic_url_list"] = GoodsService::getUrlList($item["desc_pic_url"]);
foreach ($goodsSkuList[$value["goods_sku_id"]]['desc_pic_url'] as $picId) {
$list[$value['marketing_id']][$key]["desc_pic_url_list"][] = $picUrl[$picId];
}
$list[$value['marketing_id']][$key]["original_price"] = empty($item["original_price"]) ? '' : sprintf("%.2f", (int)$item["original_price"] / 100); $list[$value['marketing_id']][$key]["original_price"] = empty($item["original_price"]) ? '' : sprintf("%.2f", (int)$item["original_price"] / 100);
$list[$value['marketing_id']][$key]["price"] = sprintf("%.2f", $item["price"] / 100); $list[$value['marketing_id']][$key]["price"] = sprintf("%.2f", $item["price"] / 100);
$needSoldNum && $list[$value['marketing_id']][$key]["all_have_buy_goods_count"] = $soldNum[$value["goods_sku_id"]] ?? 0; $needSoldNum && $list[$value['marketing_id']][$key]["all_have_buy_goods_count"] = $soldNum[$value["goods_sku_id"]] ?? 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment