where('parent_id', $localGroupId)->where('shop_id', $shop->id)->first(); $groupGoods = GroupGoods::query() ->where('group_id', $group->id) ->with(['goodsSku:id,stock']) ->orderBy('sort') ->get(); $goodsSkus = []; $operator = substr($shop->ratio, 0, 1); $ratio = (float)trim(substr($shop->ratio, 1)); foreach ($groupGoods as $item) { $priceInFen = $item['price_in_fen']; // 常规数值 switch ($operator) { case '+': $priceInFen += $ratio; break; case '-': $priceInFen -= $ratio; break; case '*': $priceInFen *= $ratio; break; case '/': $priceInFen /= $ratio; break; } $priceInFen *= 100; $goodsSkus[] = [ 'category_name' => $item['category_name'], 'goods_desc' => ' ', 'goods_name' => $item['goods_name'], 'limit_buy' => $item['limit_buy'], 'market_price' => $priceInFen, 'sku_list' => [[ 'external_sku_id' => $item['external_sku_id'], 'price_in_fen' => $priceInFen, 'quantity_type' => 0, 'spec_id_list' => [], 'total_quantity' => $item['goodsSku']['stock'], ]] ]; } $appendParams = [ 'end_time' => $group->getOriginal('end_time'), 'goods_list' => json_encode($goodsSkus, 256), 'is_save_preview' => $group['is_save_preview'], 'start_time' => $group->getOriginal('start_time'), 'title' => $group['title'], ]; return [$type, $appendParams]; } public static function queryGroupStatus($localGroupId, $shopId) { $type = 'pdd.ktt.group.query.status'; $group = GroupsModel::query()->where('parent_id', $localGroupId)->where('shop_id', $shopId)->first(); $appendParams = [ 'activity_no' => $group->activity_no ]; return [$type, $appendParams]; } public static function queryGroup() { $type = 'pdd.ktt.group.query.list'; $time = DateTimeUtils::getMicroTime(); $appendParams = [ 'end_update_time' => $time, 'page' => 1, 'size' => 10, 'start_update_time' => $time - 3600 * 24 * 6 * 1000 ]; return [$type, $appendParams]; } }