7167-testToMaster_2414 #2244
|
@ -292,7 +292,411 @@ INSERT INTO `hedera`.`tpvConfig` (currency, terminal, transactionType, maxAmount
|
||||||
*/
|
*/
|
||||||
INSERT INTO hedera.tpvMerchantEnable (merchantFk, companyFk)
|
INSERT INTO hedera.tpvMerchantEnable (merchantFk, companyFk)
|
||||||
VALUES (1, 442);
|
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
|
-- XXX
|
||||||
|
|
||||||
SET foreign_key_checks = 1;
|
SET foreign_key_checks = 1;
|
||||||
|
|
|
@ -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