Mandato BidSubmit
Valida la entrada del mandato BidCreateForm
y del mandato BidUpdateForm. Si los
parámetros necesarios son válidos, se crea una nueva fila en la tabla
BID.
Si se actualiza una oferta existente, se crea una nueva fila en la tabla
BIDLOG para que refleje los datos de la oferta existente. El campo de mensaje de la oferta en esta nueva fila de BIDLOG se establecen en Reemplazada.
Valores de parámetros
- http://nombre_sistpral/vía de acceso/
- El nombre totalmente calificado del servidor WebSphere Commerce
y la vía de acceso de configuración.
- aucrfn
- El número de referencia de la subasta para la que se está
sometiendo una oferta.
- bidrfn
- El número de referencia de la nueva oferta que se está sometiendo.
- bidquant
- La cantidad de productos para los que se oferta.
- bidval
- El precio que está dispuesto a pagar el postor para cada producto.
- cardBrand
- El tipo de tarjeta de crédito.
- cardNumber
- El número de la tarjeta de crédito.
- cardExpiryMonth
- El mes de caducidad de la tarjeta de crédito.
- cardExpiryYear
- El año de caducidad de la tarjeta de crédito.
- bidauthflg
- El distintivo de autorización. Autoriza una deducción de la tarjeta de
crédito especificada. El único valor aceptado actualmente es on (habilitado).
- bidshprfn
- El número de referencia de la dirección de envío.
- bidbillrfn
- El número de referencia de la dirección de facturación.
- redirecturl
- El URL al que se llama cuando el mandato se completa satisfactoriamente.
- bidshpmod
- El número de referencia de la modalidad de envío.
- bidquantyflg
- El distintivo de cantidad parcial. Por omisión, es necesaria la cantidad
completa, a menos que se especifique lo contrario.
- bidcreatetime
- La hora a la que se ha creado la oferta o la oferta automática. El
valor por omisión se establece en la hora actual del sistema (servidor).
- bid_action
- La acción que ha de llevar a cabo la oferta: crear o actualizar.
Comportamiento
- Busca la subasta en base al número de referencia de subasta
especificado y verifica que el estado de la subasta sea Actual.
- Comprueba que el valor de la oferta especificado por el cliente
cumpla con los requisitos del mejor valor de oferta.
- En las subastas de oferta a la baja, comprueba que el número de artículos solicitados sea mayor o igual a la cantidad que hay en subasta actualmente.
- Llama al mandato de tarea CheckBidderQualification para determinar si el
cliente tiene autorización para pujar en esta subasta. El mandato de tarea
comprueba si el cliente está registrado.
- Llama al mandato de tarea CheckBidderStatus para comprobar que el
cliente ha visto las normas de la subasta.
- Si se llama desde el mandato BidUpdateForm, comprueba que el tipo de
subasta no sea de oferta a la baja.
- Llama al mandato de tarea CheckBidUpdateAuthorization
para determinar si las normas de subasta permiten la actualización de
la oferta automática y si el comprador está autorizado a actualizarla. El ID de propietario de la oferta debe coincidir con el ID del cliente.
- Llama al mandato de tarea CheckGenBidRef para validar el número de referencia de oferta.
- Si el tipo de subasta no es de oferta a la baja, llama al mandato de tarea CheckBidControl para determinar si se han seguido las normas de subasta.
- Llama al mandato CheckCCNumber para validar el número de tarjeta de crédito y la fecha de caducidad.
- Llama al mandato DataCrypt para cifrar el número de tarjeta de crédito.
- Llama a AddressAccessBean y AddressBookAccessBean para validar las direcciones de facturación y de envío. Llama a ShipModeAccessBean para validar el número de referencia de modalidad de envío.
- Si se está actualizando una oferta automática, crea una nueva fila en la tabla BIDLOG con los mismos valores de campo que en la oferta existente y establece el campo de mensaje de oferta en Reemplazada.
Para una nueva oferta, crea una nueva fila en la tabla BID y establece sus campos según los datos de entrada del usuario.
- En las subastas de oferta abierta y de oferta en pliego cerrado,
llama al mandato de tarea DoDepositPayment para registrar el depósito en
la tabla BIDPAYMENT.
Tenga en cuenta que el depósito sólo queda registrado en esta tabla; no se
recoge ni aplica a ningún pedido. Debe implementar su propia tarea reemplazable para poder procesar el depósito.
- Llama a MemberAuctionRelationAccessBean para añadir la subasta a la
galería de subastas, si no está presente todavía.
- Redirige al URL especificado.
Condiciones de excepción
- Un número de referencia de subasta no válido da como resultado una
excepción de clave de subasta no válida.
- Un estado de subasta distinto a Actual da como resultado una excepción
de subasta no actual.
- Un postor no calificado da como resultado una excepción de usuario no registrado.


