関数
GroupItem::createGroupItem( int $groupId, int $welitemSkuMetaId, float $priceModifier, string $itemLabel = '', int $itemQuantity = 1, int $position )
パラメータ パラメータ
- $groupId
(数値) (必須)
- $welitemSkuMetaId
(数値) (必須)
- $priceModifier
(float) (必須)
- $itemLabel
(文字列) (任意)
- $itemQuantity
(数値) (任意)
- $position
(数値) (必須)
ファイル: src/API/GroupItem.php
public static function createGroupItem( $groupId, $welitemSkuMetaId, $priceModifier, $itemLabel = '', $itemQuantity = 1, $position = 0 ) { global $wpdb, $usces; $groupId = (int)$groupId; $welitemSkuMetaId = (int)$welitemSkuMetaId; $priceModifier = (float)$priceModifier; $itemQuantity = (int)$itemQuantity; $itemLabel = !empty($itemLabel) ? (string)$itemLabel : ''; $csgit = Schema::getComboSetGroupItemsTable(); $cgroup = API\ComboGroup::getComboGroupById($groupId); if ($cgroup === null) { return Master::getErrorStore()->getErrorResponse( ErrorStore::COMBO_GROUP_NOT_FOUND, [$groupId], [], [$groupId] ); } $cgroupcset = API\ComboSet::getComboSetById($cgroup->getComboSetId()); if ($cgroupcset instanceof GenericError) { return $cgroupcset; } $postId = Utils::getSkuPostId($welitemSkuMetaId); if ($postId instanceof GenericError) { return $postId; } $comboSet = ComboSet::getComboSetBySkuMetaId($welitemSkuMetaId); if ($comboSet instanceof ComboSetType) { return Master::getErrorStore()->getErrorResponse(ErrorStore::SKU_IS_COMBO_SET); } $welitemctype = (string)$usces->getItemChargingType($postId); $csetctype = (string)$usces->getItemChargingType($cgroupcset->getPostId()); if (strtolower($csetctype) === 'once' && strtolower($welitemctype) === 'continue') { $mvars = [__('Normal Charging', 'dlseller'), __('Continuation Charging', 'dlseller')]; $error = Master::getErrorStore()->getErrorResponse( ErrorStore::INVALID_CHARGE_TYPE_COMBINATION, $mvars, [], $mvars ); $error->setLogger(new Logger())->setData([ 'comboSet' => $cgroupcset->getDataForLog(), 'welitemSkuMetaId' => $welitemSkuMetaId, ]); return $error; } if (empty($position)) { $items = self::getAllGroupItemsByComboGroupId($groupId); if (!empty($items)) { $position = count($items); } } $curtime = Utils::getCurrentUTCDateTimeString(); $res = $wpdb->insert( $csgit, [ 'group_id' => $groupId, 'welitem_sku_meta_id' => $welitemSkuMetaId, 'item_label' => $itemLabel, 'item_quantity' => $itemQuantity, 'price_modifier' => $priceModifier, 'position' => $position, 'created_at' => $curtime, 'updated_at' => $curtime, ], ['%d', '%d', '%s', '%d', '%f', '%d', '%s', '%s'] ); if (empty($res)) { return Master::getErrorStore()->getErrorResponse(ErrorStore::INTERNAL_SERVER_ERROR); } http_response_code(200); return self::getGroupItemById($wpdb->insert_id); }