nueva rama
gitea/salix/pipeline/pr-dev This commit looks good
Details
gitea/salix/pipeline/pr-dev This commit looks good
Details
This commit is contained in:
parent
625922275c
commit
0eaeb2e805
|
@ -292,6 +292,410 @@ INSERT INTO `hedera`.`tpvConfig` (currency, terminal, transactionType, maxAmount
|
|||
*/
|
||||
INSERT INTO hedera.tpvMerchantEnable (merchantFk, companyFk)
|
||||
VALUES (1, 442);
|
||||
-- XXX: floranet
|
||||
|
||||
INSERT INTO vn.intrastat(id, description, taxClassFk, taxCodeFk)
|
||||
VALUES(6031970, 'Flores y capullos frescos (Otras: ramos, coronas)', 1, 63);
|
||||
|
||||
-- Generación de items
|
||||
SELECT id
|
||||
INTO @FNR
|
||||
FROM vn.itemType
|
||||
WHERE code = 'FNR';
|
||||
|
||||
SELECT id
|
||||
INTO @FNP
|
||||
FROM vn.itemType
|
||||
WHERE code = 'FNP';
|
||||
|
||||
DELETE
|
||||
FROM vn.item
|
||||
WHERE typeFk IN (@FNR,@FNP);
|
||||
|
||||
SELECT MAX(id) + 1
|
||||
INTO @item
|
||||
FROM vn.item;
|
||||
|
||||
INSERT INTO vn.item
|
||||
(
|
||||
id,
|
||||
name,
|
||||
longName,
|
||||
`size`,
|
||||
originFk,
|
||||
intrastatFk,
|
||||
typeFk,
|
||||
inkFk,
|
||||
image,
|
||||
description
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Ramo Terranova',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin ORDER BY RAND() LIMIT 1),
|
||||
6031970,
|
||||
@FNR,
|
||||
(SELECT id FROM vn.ink ORDER BY RAND() LIMIT 1),
|
||||
'https://drive.google.com/file/d/1CwtEK5_GReAzconaJsPTCXxV7zajbTos/view?usp=drive_link',
|
||||
CONCAT('Hemos elegido una selección de flores muy especiales para realizar ',
|
||||
'esta composición: brásicas, flor de cera, astrantia, espigas, lisiantum, ',
|
||||
'paniculata eucaliptus.')
|
||||
),
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Ramo Tasmania',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin WHERE code = 'SPA'),
|
||||
6031970,
|
||||
@FNR,
|
||||
(SELECT id FROM vn.ink ORDER BY RAND() LIMIT 1),
|
||||
'https://drive.google.com/file/d/1_149uYZ-sehw3vWH68Quttk8QJe5T_bG/view?usp=drive_link',
|
||||
CONCAT('La elegancia de este ramo es por la elección de todas las flores que lo componen: ',
|
||||
'eringium, verdes variados, rosas proteas, margaritas, astrantia, esta selección de ',
|
||||
'flores será un acierto seguro para hacer un regalo muy especial.')
|
||||
),
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Ramo Pasion',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin WHERE code = 'SPA'),
|
||||
6031970,
|
||||
@FNR,
|
||||
(SELECT id FROM vn.ink ORDER BY RAND() LIMIT 1),
|
||||
'https://drive.google.com/file/d/1-dH1UilV-nOH9XNK23uooZoezlwMT-Jq/view?usp=drive_link',
|
||||
CONCAT('La unión de las rosas rojas con el lilium rosa hace de este ramo uno de ',
|
||||
'los más especiales , el juego de las dos tonalidades con los diferentes verdes ',
|
||||
'que cuidadosamente selecionamos para darle el toque final a la composicion hace ',
|
||||
'que este ramo sea al mismo tiempo elegante y atrevido, para amantes de lo inesperado ',
|
||||
'que quieren decorar alguna estancia de su hogar o hacer un ragalo muy especial')
|
||||
),
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Ramo Florencia',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin WHERE code = 'SPA'),
|
||||
6031970,
|
||||
@FNR,
|
||||
(SELECT id FROM vn.ink ORDER BY RAND() LIMIT 1),
|
||||
'https://drive.google.com/file/d/1PWKo5N8kg8H3xQtELdeQTQIc1HMZCc1P/view?usp=drive_link',
|
||||
CONCAT('Este ramo evoca los colores del atardecer en Florencia, las rosas ramificadas ',
|
||||
'de pitimini con diferentes tonalidades y la paniculata nos transpotan al ambiente ',
|
||||
'sofisticado del norte de Italia y la frescura de los verdes variados nos recuerda ',
|
||||
'a la campiña italiana .Este ramo es ideal para regalar pensando en alguien muy especial.')
|
||||
),
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Ramo Atardecer',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin WHERE code = 'SPA'),
|
||||
6031970,
|
||||
@FNR,
|
||||
(SELECT id FROM vn.ink WHERE name = 'Yellow'),
|
||||
'https://drive.google.com/file/d/1eM4gtftQuXN5xUjAHIRUYNPZNmuHVRA_/view?usp=drive_link',
|
||||
CONCAT('Las rosas amarillas simbolizan la alegría de vivir, la calidez ,el ',
|
||||
'optimismo y la energía, por eso son el regalo perfecto para una ocasión muy ',
|
||||
'especial o para celebrar la alegría de una amistad o de un encuentro, a estas ',
|
||||
'preciosas rosas les añadimos un toque desenfadado a través de los verdes ',
|
||||
'variados que unidos a la belleza de la rosa que seguro serán una apuesta segura.')
|
||||
),
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Ramo Arcoíris',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin WHERE code = 'SPA'),
|
||||
6031970,
|
||||
@FNR,
|
||||
(SELECT id FROM vn.ink ORDER BY RAND() LIMIT 1),
|
||||
'https://drive.google.com/file/d/1Hxk5yqo7891gfK1VKIYfWxO5a_0K2Qej/view?usp=drive_link',
|
||||
CONCAT('Llega la primavera a tu casa con el ramo Arco Iris , conseguirás iluminar ',
|
||||
'cualquier estancia gracias a la combinacón de las gerberas holandesas de gran ',
|
||||
'tamaño con colores muy vivos que a su vez contrastan a la perfección con las ',
|
||||
'margaritas coconut y el estatice variado, todo ello acompañado de verdes entre ',
|
||||
'los que destaca el ruscus danae , para dulcificar la explosión de color , ',
|
||||
'añadimos paniculata , una flor sencilla pero que aporta gran armonía al ramo')
|
||||
),
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Ramo Provenza',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin WHERE code = 'SPA'),
|
||||
6031970,
|
||||
@FNR,
|
||||
(SELECT id FROM vn.ink ORDER BY RAND() LIMIT 1),
|
||||
'https://drive.google.com/file/d/1TA9SBwjqnrEqG1bzwDL37sxtX9CNyLJk/view?usp=drive_link',
|
||||
CONCAT('La delicada composición de este ramo escogida de forma minuciosa hecho ',
|
||||
'con liliums rosa, lisiantum blanco y rosas de color rosa todo ello unificado ',
|
||||
'con una selección de maravillosos verdes variados, hacen que esta combinación ',
|
||||
'sea muy especial para decorar cualquier estancia de tu casa a la que aportará una luz especial.')
|
||||
),
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Ramo Alegria',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin WHERE code = 'SPA'),
|
||||
6031970,
|
||||
@FNR,
|
||||
(SELECT id FROM vn.ink ORDER BY RAND() LIMIT 1),
|
||||
'https://drive.google.com/file/d/1sOf2isj84P9OxR3E3x6n2PjPnWVamLCE/view?usp=drive_link',
|
||||
CONCAT('Hemos elegido el nombre de Alegría para este ramo ya que sus intensos ',
|
||||
'y variados colores nos producen esa sensación, la combinación de rosas blancas ',
|
||||
', alstroemeria rosa unida a la paniculata tambien de color rosa y a la sutileza ',
|
||||
'de la combinación de verdes variados, hace de este ramo una opción perfecta de ',
|
||||
'regalo que a todo el mundo le gusta por su armoniosa combinacion de colores.')
|
||||
),
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Planta Orquídeas ',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin WHERE code = 'SPA'),
|
||||
6031970,
|
||||
@FNP,
|
||||
(SELECT id FROM vn.ink ORDER BY RAND() LIMIT 1),
|
||||
'https://drive.google.com/file/d/14BIkDDonFaIiTyJer1CWju1YzZNzt3XQ/view?usp=drive_link',
|
||||
CONCAT('Elegimos personalmente en nuestra tienda dos plantas de orquídeas ',
|
||||
'con las mejores características combinadas con diferentes elementos de ',
|
||||
'decoración consiguiendo una composición ideal para cualquier ambiente.El ',
|
||||
'recipiente de cerámica se puede utilizar para múltiples funciones y sacar ',
|
||||
'de el las dos plantas de orquídeas para colocarlas en dos puntos diferentes ',
|
||||
'de nuestro hogar, ya que se respeta siempre las macetas originales de cada orquídea')
|
||||
),
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Planta Kentia',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin WHERE code = 'SPA'),
|
||||
6031970,
|
||||
@FNP,
|
||||
(SELECT id FROM vn.ink ORDER BY RAND() LIMIT 1),
|
||||
'https://drive.google.com/file/d/1rKe2RicfWha-VIm1LbbXckbA41glA99K/view?usp=drive_link',
|
||||
CONCAT('La Kentia es una de las plantas más decorativas debido al porte que ',
|
||||
'le otorgan sus largas finas hojas arqueadas, ideal para un regalo que dejará ',
|
||||
'sin palabras a quien lo reciba o para decorar una estancia de tu hogar, ',
|
||||
'desde un espacio super moderno hasta el ambiente más clásico. Nuestras Kentias ',
|
||||
'proceden de uno de los mejores productores de kentias del mundo, con el añadido ',
|
||||
'de ser un producto nacional producido en Canarias de una calidad extrema.')
|
||||
),
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Planta Calathea',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin WHERE code = 'SPA'),
|
||||
6031970,
|
||||
@FNP,
|
||||
(SELECT id FROM vn.ink ORDER BY RAND() LIMIT 1),
|
||||
'https://drive.google.com/file/d/11CKm5rqVFVPOELciuyXUrkc2oeTHJzBE/view?usp=drive_link',
|
||||
CONCAT('Esta planta originaria de América tropical, principalmente de Brasil y Perú ',
|
||||
', son plantas ideales para embellecer el interior de una estancia . Debido a su ',
|
||||
'llamativo y original colorido, tambien es un regalo perfecto para ',
|
||||
'cualquier compromiso que tengamos .')
|
||||
),
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Planta Anthurium ',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin WHERE code = 'SPA'),
|
||||
6031970,
|
||||
@FNP,
|
||||
(SELECT id FROM vn.ink WHERE name = 'Red'),
|
||||
'https://drive.google.com/file/d/1j4il_N9VJGaP4f6CPZM0u6GjxwIeYcBt/view?usp=drive_link',
|
||||
CONCAT('Nos encanta el color rojo de sus flores .Esta planta original de ',
|
||||
'Costa Rica ,proviene de las zonas tropicales de America Central y del Sur, ',
|
||||
'su llamativo color alegrará cualquier celebración')
|
||||
),
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Ramo Mindanao',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin WHERE code = 'SPA'),
|
||||
6031970,
|
||||
@FNR,
|
||||
(SELECT id FROM vn.ink ORDER BY RAND() LIMIT 1),
|
||||
'https://drive.google.com/file/d/1lsGDuC6xmv3SyGukfLTVYsQvbGf1Bzxy/view?usp=drive_link',
|
||||
CONCAT('La combinación de rosas ramificadas amarillas, las hortensias blancas, ',
|
||||
'el estatice, el limonium Tanacetum y los verdes variados hace de este ramo uno ',
|
||||
'de los que más gustan tanto si es para regalar como para decorar un rincón de tu casa.')
|
||||
),
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Ramo Guinea',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin WHERE code = 'SPA'),
|
||||
6031970,
|
||||
@FNR,
|
||||
(SELECT id FROM vn.ink ORDER BY RAND() LIMIT 1),
|
||||
'https://drive.google.com/file/d/1MtF0oghv-ahogaAaVpJNzDiIfyeCCmAi/view?usp=drive_link',
|
||||
CONCAT('Hemos elegido una selección de flores muy especiales para realizar esta composición:',
|
||||
' brásicas, flor de cera, astrantia, espigas, lisiantum, paniculata eucaliptus.')
|
||||
),
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Ramo Eterno',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin WHERE code = 'SPA'),
|
||||
6031970,
|
||||
@FNR,
|
||||
(SELECT id FROM vn.ink ORDER BY RAND() LIMIT 1),
|
||||
'https://drive.google.com/file/d/1AOMqlZAKqImnnWSmeq1DW1Krj78mACCG/view?usp=drive_link',
|
||||
CONCAT('La perfecta combinación de los diferentes tonos de estatice y el eucaliptus ',
|
||||
'cinerea hacen de este ramo un recuerdo inolvidable ya que ambos materiales son de ',
|
||||
'larga duración por lo que podrás conservar tu ramo junto con las bonitas vivencias ',
|
||||
'de ese día durante mucho tiempo, además le añadimos un toque especial que le dan ',
|
||||
'las raices las cuales combinan con los tonos del ramo, unas bonitas cintas del colores ',
|
||||
'rematan el acabado del ramo. Este ramo se puede secar y mantenerse en perfecto estado.')
|
||||
),
|
||||
(
|
||||
@item := @item + 1,
|
||||
@r := 'Ramo Cielo',
|
||||
@r,
|
||||
20 + CEIL(RAND() * 55),
|
||||
(SELECT id FROM vn.origin WHERE code = 'SPA'),
|
||||
6031970,
|
||||
@FNR,
|
||||
(SELECT id FROM vn.ink ORDER BY RAND() LIMIT 1),
|
||||
'https://drive.google.com/file/d/168DikIOwVT5OO4BHARBoWwLB1wjpAS7s/view?usp=drive_link',
|
||||
CONCAT('Las hortensias son unas de las flores más elegantes que existen y ',
|
||||
'la combinación que proponemos para este ramo te resultará de lo más armoniosa ',
|
||||
', ya que intercalamos flores de mayor tamaño como las hortensias azules y ',
|
||||
'blancas junto con flores más pequeñas y delicadas como el estatice , todo ello',
|
||||
' combinado con el eucaliptus cinerea que te aportará un sueve aroma en toda ',
|
||||
'la estancia, el atado del ramo es de rafia natural, siguiendo la tonalidad ',
|
||||
'clara de todo el conjunto. ')
|
||||
);
|
||||
|
||||
-- Ramo Terranova: 1er elemento
|
||||
INSERT INTO vn.item(
|
||||
name,
|
||||
longName,
|
||||
`size`,
|
||||
stems,
|
||||
inkFk,
|
||||
intrastatFk,
|
||||
typeFk,
|
||||
originFk)
|
||||
SELECT
|
||||
@r:= 'Rosa roja',
|
||||
@r,
|
||||
60,
|
||||
1,
|
||||
'RED',
|
||||
6031970,
|
||||
id,
|
||||
1
|
||||
FROM vn.itemType
|
||||
WHERE code LIKE 'FNE';
|
||||
|
||||
SELECT LAST_INSERT_ID() INTO @itemFk;
|
||||
|
||||
INSERT INTO floranet.`element`
|
||||
SET itemFk = @itemFk;
|
||||
|
||||
INSERT INTO floranet.builder(
|
||||
itemFk,
|
||||
elementFk,
|
||||
quantity)
|
||||
SELECT
|
||||
id,
|
||||
@itemFk,
|
||||
12
|
||||
FROM vn.item
|
||||
WHERE name = 'Ramo Terranova';
|
||||
|
||||
-- Ramo Terranova: 2º elemento
|
||||
|
||||
INSERT INTO vn.item(
|
||||
name,
|
||||
longName,
|
||||
`size`,
|
||||
stems,
|
||||
inkFk,
|
||||
intrastatFk,
|
||||
typeFk,
|
||||
originFk)
|
||||
SELECT
|
||||
@r:= 'Hoja de helecho',
|
||||
@r,
|
||||
60,
|
||||
1,
|
||||
'BAS',
|
||||
6031970,
|
||||
id,
|
||||
1
|
||||
FROM vn.itemType
|
||||
WHERE code LIKE 'FNE';
|
||||
|
||||
SELECT LAST_INSERT_ID() INTO @itemFk;
|
||||
|
||||
INSERT INTO floranet.`element`
|
||||
SET itemFk = @itemFk;
|
||||
|
||||
INSERT INTO floranet.builder(
|
||||
itemFk,
|
||||
elementFk,
|
||||
quantity)
|
||||
SELECT
|
||||
id,
|
||||
@itemFk,
|
||||
4
|
||||
FROM vn.item
|
||||
WHERE name = 'Ramo Terranova';
|
||||
|
||||
|
||||
-- Ramo Terranova: 3er elemento
|
||||
INSERT INTO vn.item(
|
||||
name,
|
||||
longName,
|
||||
`size`,
|
||||
stems,
|
||||
inkFk,
|
||||
intrastatFk,
|
||||
typeFk,
|
||||
originFk)
|
||||
SELECT
|
||||
@r:= 'Paniculata',
|
||||
@r,
|
||||
60,
|
||||
1,
|
||||
'SLV',
|
||||
6031970,
|
||||
id,
|
||||
1
|
||||
FROM vn.itemType
|
||||
WHERE code LIKE 'FNE';
|
||||
|
||||
SELECT LAST_INSERT_ID() INTO @itemFk;
|
||||
|
||||
INSERT INTO floranet.`element`
|
||||
SET itemFk = @itemFk;
|
||||
|
||||
INSERT INTO floranet.builder(
|
||||
itemFk,
|
||||
elementFk,
|
||||
quantity)
|
||||
SELECT
|
||||
id,
|
||||
@itemFk,
|
||||
5
|
||||
FROM vn.item
|
||||
WHERE name = 'Ramo Terranova';
|
||||
|
||||
|
||||
|
||||
-- XXX
|
||||
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE
|
||||
DEFINER=`root`@`localhost`
|
||||
EVENT `floranet`.`clean`
|
||||
ON SCHEDULE EVERY 1 DAY
|
||||
STARTS '2024-01-01 23:00:00.000'
|
||||
ON COMPLETION PRESERVE
|
||||
ENABLE
|
||||
DO
|
||||
BEGIN
|
||||
DELETE
|
||||
FROM `order`
|
||||
WHERE created < CURDATE()
|
||||
AND isPaid = FALSE;
|
||||
|
||||
DELETE c.*
|
||||
FROM catalogue c
|
||||
LEFT JOIN `order` o ON o.catalogueFk = c.id
|
||||
WHERE c.created < CURDATE()
|
||||
AND o.id IS NULL;
|
||||
END$$
|
||||
DELIMITER ;
|
|
@ -0,0 +1,52 @@
|
|||
DROP PROCEDURE IF EXISTS floranet.catalogue_get;
|
||||
|
||||
DELIMITER $$
|
||||
$$
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE floranet.catalogue_get(vLanded DATE, vPostalCode VARCHAR(15))
|
||||
READS SQL DATA
|
||||
BEGIN
|
||||
/**
|
||||
* Returns list, price and all the stuff regarding the floranet items
|
||||
*
|
||||
* @param vLanded Delivery date
|
||||
* @param vPostalCode Delivery address postal code
|
||||
*/
|
||||
DECLARE vLastCatalogueFk INT;
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
SELECT * FROM catalogue FOR UPDATE;
|
||||
|
||||
SELECT MAX(id) INTO vLastCatalogueFk
|
||||
FROM catalogue;
|
||||
|
||||
INSERT INTO catalogue(
|
||||
name,
|
||||
price,
|
||||
itemFk,
|
||||
dated,
|
||||
postalCode,
|
||||
`type`,
|
||||
image,
|
||||
description
|
||||
)
|
||||
SELECT i.name,
|
||||
i.`size`,
|
||||
i.id,
|
||||
vLanded,
|
||||
vPostalCode,
|
||||
it.name,
|
||||
i.image,
|
||||
i.description
|
||||
FROM vn.item i
|
||||
JOIN vn.itemType it ON it.id = i.typeFk
|
||||
WHERE it.code IN ('FNR','FNP');
|
||||
|
||||
SELECT *
|
||||
FROM catalogue
|
||||
WHERE id > IFNULL(vLastCatalogueFk,0);
|
||||
|
||||
COMMIT;
|
||||
|
||||
END$$
|
||||
DELIMITER ;
|
|
@ -0,0 +1,25 @@
|
|||
DROP PROCEDURE IF EXISTS floranet.order_confirm;
|
||||
|
||||
DELIMITER $$
|
||||
$$
|
||||
|
||||
CREATE DEFINER=`root`@`localhost`PROCEDURE floranet.order_confirm(vCatalogueFk INT)
|
||||
READS SQL DATA
|
||||
|
||||
BEGIN
|
||||
/** Update order.isPaid field
|
||||
*
|
||||
* @param vCatalogueFk floranet.catalogue.id
|
||||
*
|
||||
* @returns floranet.order.isPaid
|
||||
*/
|
||||
UPDATE `order`
|
||||
SET isPaid = TRUE,
|
||||
payed = NOW()
|
||||
WHERE catalogueFk = vCatalogueFk;
|
||||
|
||||
SELECT isPaid
|
||||
FROM `order`
|
||||
WHERE catalogueFk = vCatalogueFk;
|
||||
END$$
|
||||
DELIMITER ;
|
|
@ -0,0 +1,42 @@
|
|||
DROP PROCEDURE IF EXISTS floranet.order_put;
|
||||
|
||||
DELIMITER $$
|
||||
$$
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE floranet.order_put(vOrder JSON)
|
||||
READS SQL DATA
|
||||
BEGIN
|
||||
/**
|
||||
* Get and process an order
|
||||
*
|
||||
* @param vOrder Data of the order
|
||||
*
|
||||
* Customer data: <customerName>, <email>, <customerPhone>
|
||||
*
|
||||
* Item data: <catalogueFk>, <message>
|
||||
*
|
||||
* Delivery data: <deliveryName>, <address>, <deliveryPhone>
|
||||
*
|
||||
*/
|
||||
INSERT IGNORE INTO `order`(
|
||||
catalogueFk,
|
||||
customerName,
|
||||
email,
|
||||
customerPhone,
|
||||
message,
|
||||
deliveryName,
|
||||
address,
|
||||
deliveryPhone
|
||||
)
|
||||
VALUES (JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.catalogueFk')),
|
||||
JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.customerName')),
|
||||
JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.email')),
|
||||
JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.customerPhone')),
|
||||
JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.message')),
|
||||
JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.deliveryName')),
|
||||
JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.address')),
|
||||
JSON_UNQUOTE(JSON_EXTRACT(vOrder,'$.deliveryPhone'))
|
||||
);
|
||||
|
||||
SELECT LAST_INSERT_ID() orderFk;
|
||||
END$$
|
||||
DELIMITER ;
|
|
@ -0,0 +1,14 @@
|
|||
|
||||
CREATE SCHEMA IF NOT EXISTS `floranet`;
|
||||
|
||||
CREATE ROLE IF NOT EXISTS 'floranet' ;
|
||||
|
||||
GRANT Create temporary tables ON floranet.* TO 'floranet';
|
||||
|
||||
GRANT Execute ON floranet.* TO 'floranet';
|
||||
|
||||
GRANT Lock tables ON floranet.* TO 'floranet';
|
||||
|
||||
CREATE USER IF NOT EXISTS 'floranet'@'%';
|
||||
|
||||
GRANT floranet TO floranet@'%';
|
|
@ -0,0 +1,61 @@
|
|||
CREATE OR REPLACE TABLE floranet.`builder` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`itemFk` int(11) NOT NULL,
|
||||
`elementFk` int(11) NOT NULL,
|
||||
`quantity` int(10) unsigned NOT NULL DEFAULT 1,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `builder_FK` (`itemFk`),
|
||||
KEY `builder_FK_1` (`elementFk`),
|
||||
CONSTRAINT `builder_FK` FOREIGN KEY (`itemFk`) REFERENCES `vn`.`item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Links handmade products with their elements';
|
||||
|
||||
CREATE OR REPLACE TABLE floranet.`element` (
|
||||
`itemFk` int(11) NOT NULL,
|
||||
`typeFk` smallint(5) unsigned DEFAULT NULL,
|
||||
`size` int(11) DEFAULT NULL,
|
||||
`inkFk` char(3) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
|
||||
`originFk` tinyint(2) unsigned DEFAULT NULL,
|
||||
`name` varchar(30) DEFAULT NULL,
|
||||
`quantity` int(11) NOT NULL DEFAULT 1,
|
||||
PRIMARY KEY (`itemFk`),
|
||||
KEY `element_FK` (`itemFk`),
|
||||
KEY `element_FK_1` (`typeFk`),
|
||||
KEY `element_FK_2` (`inkFk`),
|
||||
KEY `element_FK_3` (`originFk`),
|
||||
CONSTRAINT `element_FK` FOREIGN KEY (`itemFk`) REFERENCES `vn`.`item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `element_FK_1` FOREIGN KEY (`typeFk`) REFERENCES `vn`.`itemType` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `element_FK_2` FOREIGN KEY (`inkFk`) REFERENCES `vn`.`ink` (`id`) ON UPDATE CASCADE,
|
||||
CONSTRAINT `element_FK_3` FOREIGN KEY (`originFk`) REFERENCES `vn`.`origin` (`id`) ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Filtro para localizar posibles items que coincidan con la descripción';
|
||||
|
||||
ALTER TABLE floranet.builder ADD CONSTRAINT `builder_FK_1` FOREIGN KEY (`elementFk`) REFERENCES `element` (`itemFk`) ON UPDATE CASCADE;
|
||||
|
||||
CREATE OR REPLACE TABLE floranet.catalogue
|
||||
(id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(50),
|
||||
price DECIMAL(10,2) NOT NULL,
|
||||
itemFk INT NOT NULL,
|
||||
dated DATE,
|
||||
postalCode VARCHAR(12),
|
||||
`type` VARCHAR(50),
|
||||
image VARCHAR(255),
|
||||
description TEXT,
|
||||
created TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
payed DATETIME,
|
||||
FOREIGN KEY (itemFk) REFERENCES vn.item(id) ON DELETE RESTRICT ON UPDATE CASCADE);
|
||||
|
||||
|
||||
CREATE OR REPLACE TABLE floranet.`order`
|
||||
(id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
catalogueFk INT UNIQUE,
|
||||
customerName VARCHAR(100),
|
||||
email VARCHAR(100),
|
||||
customerPhone VARCHAR(15),
|
||||
message VARCHAR(255),
|
||||
deliveryName VARCHAR(100),
|
||||
address VARCHAR(200),
|
||||
deliveryPhone VARCHAR(100),
|
||||
isPaid BOOL NOT NULL DEFAULT FALSE,
|
||||
payed DATETIME,
|
||||
created TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (catalogueFk) REFERENCES catalogue(id) ON DELETE RESTRICT ON UPDATE CASCADE);
|
Loading…
Reference in New Issue