Compare commits
1 Commits
2ca07f03ce
...
countries_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2fd9472db1 |
@@ -44,8 +44,7 @@ func (h *CartsHandler) AddNewCart(c fiber.Ctx) error {
|
|||||||
JSON(response.Make(nullable.GetNil(""), 0, responseErrors.GetErrorCode(c, responseErrors.ErrInvalidBody)))
|
JSON(response.Make(nullable.GetNil(""), 0, responseErrors.GetErrorCode(c, responseErrors.ErrInvalidBody)))
|
||||||
}
|
}
|
||||||
|
|
||||||
name := c.Query("name")
|
new_cart, err := h.cartsService.CreateNewCart(userID)
|
||||||
new_cart, err := h.cartsService.CreateNewCart(userID, name)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return c.Status(responseErrors.GetErrorStatus(err)).
|
return c.Status(responseErrors.GetErrorStatus(err)).
|
||||||
JSON(response.Make(nullable.GetNil(""), 0, responseErrors.GetErrorCode(c, err)))
|
JSON(response.Make(nullable.GetNil(""), 0, responseErrors.GetErrorCode(c, err)))
|
||||||
|
|||||||
@@ -112,7 +112,6 @@ var columnMappingListProducts map[string]string = map[string]string{
|
|||||||
"quantity": "bp.quantity",
|
"quantity": "bp.quantity",
|
||||||
"is_favorite": "bp.is_favorite",
|
"is_favorite": "bp.is_favorite",
|
||||||
"is_new": "bp.is_new",
|
"is_new": "bp.is_new",
|
||||||
"is_oem": "bp.is_oem",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *ProductsHandler) AddToFavorites(c fiber.Ctx) error {
|
func (h *ProductsHandler) AddToFavorites(c fiber.Ctx) error {
|
||||||
|
|||||||
@@ -12,8 +12,7 @@ type ProductInList struct {
|
|||||||
PriceTaxExcl float64 `gorm:"column:price_tax_excl" json:"price_tax_excl"`
|
PriceTaxExcl float64 `gorm:"column:price_tax_excl" json:"price_tax_excl"`
|
||||||
PriceTaxIncl float64 `gorm:"column:price_tax_incl" json:"price_tax_incl"`
|
PriceTaxIncl float64 `gorm:"column:price_tax_incl" json:"price_tax_incl"`
|
||||||
IsFavorite bool `gorm:"column:is_favorite" json:"is_favorite"`
|
IsFavorite bool `gorm:"column:is_favorite" json:"is_favorite"`
|
||||||
IsNew bool `gorm:"column:is_new" json:"is_new"`
|
IsNew uint `gorm:"column:is_new" json:"is_new"`
|
||||||
IsOEM bool `gorm:"column:is_oem" json:"is_oem"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type ProductFilters struct {
|
type ProductFilters struct {
|
||||||
|
|||||||
@@ -3,11 +3,12 @@ package cartsRepo
|
|||||||
import (
|
import (
|
||||||
"git.ma-al.com/goc_daniel/b2b/app/db"
|
"git.ma-al.com/goc_daniel/b2b/app/db"
|
||||||
"git.ma-al.com/goc_daniel/b2b/app/model"
|
"git.ma-al.com/goc_daniel/b2b/app/model"
|
||||||
|
constdata "git.ma-al.com/goc_daniel/b2b/app/utils/const_data"
|
||||||
)
|
)
|
||||||
|
|
||||||
type UICartsRepo interface {
|
type UICartsRepo interface {
|
||||||
CartsAmount(user_id uint) (uint, error)
|
CartsAmount(user_id uint) (uint, error)
|
||||||
CreateNewCart(user_id uint, name string) (model.CustomerCart, error)
|
CreateNewCart(user_id uint) (model.CustomerCart, error)
|
||||||
RemoveCart(user_id uint, cart_id uint) error
|
RemoveCart(user_id uint, cart_id uint) error
|
||||||
UserHasCart(user_id uint, cart_id uint) (bool, error)
|
UserHasCart(user_id uint, cart_id uint) (bool, error)
|
||||||
UpdateCartName(user_id uint, cart_id uint, new_name string) error
|
UpdateCartName(user_id uint, cart_id uint, new_name string) error
|
||||||
@@ -36,7 +37,10 @@ func (repo *CartsRepo) CartsAmount(user_id uint) (uint, error) {
|
|||||||
return amt, err
|
return amt, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (repo *CartsRepo) CreateNewCart(user_id uint, name string) (model.CustomerCart, error) {
|
func (repo *CartsRepo) CreateNewCart(user_id uint) (model.CustomerCart, error) {
|
||||||
|
var name string
|
||||||
|
name = constdata.DEFAULT_NEW_CART_NAME
|
||||||
|
|
||||||
cart := model.CustomerCart{
|
cart := model.CustomerCart{
|
||||||
UserID: user_id,
|
UserID: user_id,
|
||||||
Name: &name,
|
Name: &name,
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package localeSelectorRepo
|
|||||||
import (
|
import (
|
||||||
"git.ma-al.com/goc_daniel/b2b/app/db"
|
"git.ma-al.com/goc_daniel/b2b/app/db"
|
||||||
"git.ma-al.com/goc_daniel/b2b/app/model"
|
"git.ma-al.com/goc_daniel/b2b/app/model"
|
||||||
|
"git.ma-al.com/goc_daniel/b2b/app/model/dbmodel"
|
||||||
)
|
)
|
||||||
|
|
||||||
type UILocaleSelectorRepo interface {
|
type UILocaleSelectorRepo interface {
|
||||||
@@ -25,7 +26,9 @@ func (r *LocaleSelectorRepo) GetLanguages() ([]model.Language, error) {
|
|||||||
func (r *LocaleSelectorRepo) GetCountriesAndCurrencies() ([]model.Country, error) {
|
func (r *LocaleSelectorRepo) GetCountriesAndCurrencies() ([]model.Country, error) {
|
||||||
var countries []model.Country
|
var countries []model.Country
|
||||||
err := db.Get().
|
err := db.Get().
|
||||||
Preload("PSCurrency").
|
Select("*").
|
||||||
|
Preload("Currency").
|
||||||
|
Joins("LEFT JOIN " + dbmodel.TableNamePsCountryLang + " AS cl ON cl." + dbmodel.PsCountryLangCols.IDCountry.Col() + " = b2b_countries.ps_id_country AND cl." + dbmodel.PsCountryLangCols.IDLang.Col() + " = 2").
|
||||||
Find(&countries).Error
|
Find(&countries).Error
|
||||||
return countries, err
|
return countries, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -122,19 +122,6 @@ func (repo *ProductsRepo) Find(langID uint, userID uint, p find.Paging, filt *fi
|
|||||||
Group("product_id"),
|
Group("product_id"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
|
||||||
Name: "oems",
|
|
||||||
Subquery: exclause.Subquery{
|
|
||||||
DB: db.DB.
|
|
||||||
Table("b2b_oems").
|
|
||||||
Select(`
|
|
||||||
product_id AS product_id,
|
|
||||||
COUNT(*) > 0 AS is_customers_oem
|
|
||||||
`).
|
|
||||||
Where("user_id = ?", userID).
|
|
||||||
Group("product_id"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
Name: "new_product_days",
|
Name: "new_product_days",
|
||||||
Subquery: exclause.Subquery{
|
Subquery: exclause.Subquery{
|
||||||
@@ -163,7 +150,6 @@ func (repo *ProductsRepo) Find(langID uint, userID uint, p find.Paging, filt *fi
|
|||||||
pl.name AS name,
|
pl.name AS name,
|
||||||
ps.id_category_default AS category_id,
|
ps.id_category_default AS category_id,
|
||||||
p.reference AS reference,
|
p.reference AS reference,
|
||||||
p.is_oem AS is_oem,
|
|
||||||
sa.quantity AS quantity,
|
sa.quantity AS quantity,
|
||||||
COALESCE(f.is_favorite, 0) AS is_favorite,
|
COALESCE(f.is_favorite, 0) AS is_favorite,
|
||||||
CASE
|
CASE
|
||||||
@@ -180,9 +166,7 @@ func (repo *ProductsRepo) Find(langID uint, userID uint, p find.Paging, filt *fi
|
|||||||
Joins("LEFT JOIN favorites f ON f.product_id = ps.id_product").
|
Joins("LEFT JOIN favorites f ON f.product_id = ps.id_product").
|
||||||
Joins("LEFT JOIN ps_stock_available sa ON sa.id_product = ps.id_product AND sa.id_product_attribute = 0").
|
Joins("LEFT JOIN ps_stock_available sa ON sa.id_product = ps.id_product AND sa.id_product_attribute = 0").
|
||||||
Joins("LEFT JOIN new_product_days npd ON 1 = 1").
|
Joins("LEFT JOIN new_product_days npd ON 1 = 1").
|
||||||
Joins("LEFT JOIN oems ON oems.product_id = ps.id_product").
|
|
||||||
Where("ps.active = ?", 1).
|
Where("ps.active = ?", 1).
|
||||||
Where("(p.is_oem = 0 OR oems.is_customers_oem > 0)").
|
|
||||||
Group("ps.id_product"),
|
Group("ps.id_product"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -198,8 +182,7 @@ func (repo *ProductsRepo) Find(langID uint, userID uint, p find.Paging, filt *fi
|
|||||||
COALESCE(v.variants_number, 0) AS variants_number,
|
COALESCE(v.variants_number, 0) AS variants_number,
|
||||||
bp.quantity AS quantity,
|
bp.quantity AS quantity,
|
||||||
bp.is_favorite AS is_favorite,
|
bp.is_favorite AS is_favorite,
|
||||||
bp.is_new AS is_new,
|
bp.is_new AS is_new
|
||||||
bp.is_oem AS is_oem
|
|
||||||
`, config.Get().Image.ImagePrefix).
|
`, config.Get().Image.ImagePrefix).
|
||||||
Joins("JOIN ps_product_lang pl ON pl.id_product = bp.product_id AND pl.id_lang = ?", langID).
|
Joins("JOIN ps_product_lang pl ON pl.id_product = bp.product_id AND pl.id_lang = ?", langID).
|
||||||
Joins("JOIN ps_image_shop ims ON ims.id_product = bp.product_id AND ims.cover = 1").
|
Joins("JOIN ps_image_shop ims ON ims.id_product = bp.product_id AND ims.cover = 1").
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ func New() *CartsService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *CartsService) CreateNewCart(user_id uint, name string) (model.CustomerCart, error) {
|
func (s *CartsService) CreateNewCart(user_id uint) (model.CustomerCart, error) {
|
||||||
var cart model.CustomerCart
|
var cart model.CustomerCart
|
||||||
|
|
||||||
customers_carts_amount, err := s.repo.CartsAmount(user_id)
|
customers_carts_amount, err := s.repo.CartsAmount(user_id)
|
||||||
@@ -28,12 +28,8 @@ func (s *CartsService) CreateNewCart(user_id uint, name string) (model.CustomerC
|
|||||||
return cart, responseErrors.ErrMaxAmtOfCartsReached
|
return cart, responseErrors.ErrMaxAmtOfCartsReached
|
||||||
}
|
}
|
||||||
|
|
||||||
if name == "" {
|
|
||||||
name = constdata.DEFAULT_NEW_CART_NAME
|
|
||||||
}
|
|
||||||
|
|
||||||
// create new cart for customer
|
// create new cart for customer
|
||||||
cart, err = s.repo.CreateNewCart(user_id, name)
|
cart, err = s.repo.CreateNewCart(user_id)
|
||||||
|
|
||||||
return cart, nil
|
return cart, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -231,54 +231,21 @@ func (s *MenuService) GetTopMenu(languageId uint, roleId uint) ([]*model.B2BTopM
|
|||||||
|
|
||||||
func (s *MenuService) appendAdditional(all_categories *[]model.ScannedCategory, id_lang uint, iso_code string) {
|
func (s *MenuService) appendAdditional(all_categories *[]model.ScannedCategory, id_lang uint, iso_code string) {
|
||||||
for i := 0; i < len(*all_categories); i++ {
|
for i := 0; i < len(*all_categories); i++ {
|
||||||
(*all_categories)[i].Filter = "category_id_eq=" + strconv.Itoa(int((*all_categories)[i].CategoryID))
|
(*all_categories)[i].Filter = "category_id_in=" + strconv.Itoa(int((*all_categories)[i].CategoryID))
|
||||||
}
|
}
|
||||||
|
|
||||||
// the new products category
|
var additional model.ScannedCategory
|
||||||
var new_products_category model.ScannedCategory
|
additional.CategoryID = 10001
|
||||||
new_products_category.CategoryID = constdata.ADDITIONAL_CATEGORIES_INDEX + 1
|
additional.Name = "New Products"
|
||||||
new_products_category.Name = "New Products"
|
additional.Active = 1
|
||||||
new_products_category.Active = 1
|
additional.Position = 10
|
||||||
new_products_category.Position = 10
|
additional.ParentID = 2
|
||||||
new_products_category.ParentID = 2
|
additional.IsRoot = 0
|
||||||
new_products_category.IsRoot = 0
|
additional.LinkRewrite = i18n.T___(id_lang, "category.new_products")
|
||||||
new_products_category.LinkRewrite = i18n.T___(id_lang, "category.new_products")
|
additional.IsoCode = iso_code
|
||||||
new_products_category.IsoCode = iso_code
|
|
||||||
|
|
||||||
new_products_category.Visited = false
|
additional.Visited = false
|
||||||
new_products_category.Filter = "is_new_eq=true"
|
additional.Filter = "is_new_in=true"
|
||||||
|
|
||||||
*all_categories = append(*all_categories, new_products_category)
|
*all_categories = append(*all_categories, additional)
|
||||||
|
|
||||||
// the oem products category
|
|
||||||
var oem_products_category model.ScannedCategory
|
|
||||||
oem_products_category.CategoryID = constdata.ADDITIONAL_CATEGORIES_INDEX + 2
|
|
||||||
oem_products_category.Name = "OEM Products"
|
|
||||||
oem_products_category.Active = 1
|
|
||||||
oem_products_category.Position = 11
|
|
||||||
oem_products_category.ParentID = 2
|
|
||||||
oem_products_category.IsRoot = 0
|
|
||||||
oem_products_category.LinkRewrite = i18n.T___(id_lang, "category.oem_products")
|
|
||||||
oem_products_category.IsoCode = iso_code
|
|
||||||
|
|
||||||
oem_products_category.Visited = false
|
|
||||||
oem_products_category.Filter = "is_oem_eq=true"
|
|
||||||
|
|
||||||
*all_categories = append(*all_categories, oem_products_category)
|
|
||||||
|
|
||||||
// the favorite products category
|
|
||||||
var favorite_products_category model.ScannedCategory
|
|
||||||
favorite_products_category.CategoryID = constdata.ADDITIONAL_CATEGORIES_INDEX + 3
|
|
||||||
favorite_products_category.Name = "Favourite Products" // British English version.
|
|
||||||
favorite_products_category.Active = 1
|
|
||||||
favorite_products_category.Position = 12
|
|
||||||
favorite_products_category.ParentID = 2
|
|
||||||
favorite_products_category.IsRoot = 0
|
|
||||||
favorite_products_category.LinkRewrite = i18n.T___(id_lang, "category.favorite_products")
|
|
||||||
favorite_products_category.IsoCode = iso_code
|
|
||||||
|
|
||||||
favorite_products_category.Visited = false
|
|
||||||
favorite_products_category.Filter = "is_favorite_eq=true"
|
|
||||||
|
|
||||||
*all_categories = append(*all_categories, favorite_products_category)
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ const ADMIN_NOTIFICATION_LANGUAGE = 2
|
|||||||
|
|
||||||
// CATEGORY_TREE_ROOT_ID corresponds to id_category in ps_category which has is_root_category=1
|
// CATEGORY_TREE_ROOT_ID corresponds to id_category in ps_category which has is_root_category=1
|
||||||
const CATEGORY_TREE_ROOT_ID = 2
|
const CATEGORY_TREE_ROOT_ID = 2
|
||||||
const ADDITIONAL_CATEGORIES_INDEX = 10000
|
|
||||||
|
|
||||||
// since arrays can not be const
|
// since arrays can not be const
|
||||||
var CATEGORY_BLACKLIST = []uint{250}
|
var CATEGORY_BLACKLIST = []uint{250}
|
||||||
|
|||||||
@@ -95,6 +95,4 @@ type Product struct {
|
|||||||
Category string `gorm:"column:category" json:"category"`
|
Category string `gorm:"column:category" json:"category"`
|
||||||
|
|
||||||
IsFavorite bool `gorm:"column:is_favorite" json:"is_favorite"`
|
IsFavorite bool `gorm:"column:is_favorite" json:"is_favorite"`
|
||||||
IsOEM bool `gorm:"column:is_oem" json:"is_oem"`
|
|
||||||
IsNew bool `gorm:"column:is_new" json:"is_new"`
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ info:
|
|||||||
|
|
||||||
http:
|
http:
|
||||||
method: GET
|
method: GET
|
||||||
url: "{{bas_url}}/restricted/product/list?p=1&elems=30&reference=~NC100&is_new_eq=0&is_favorite_eq=false&is_oem_eq=FALSE"
|
url: "{{bas_url}}/restricted/product/list?p=1&elems=30&reference=~NC100"
|
||||||
params:
|
params:
|
||||||
- name: p
|
- name: p
|
||||||
value: "1"
|
value: "1"
|
||||||
@@ -27,12 +27,11 @@ http:
|
|||||||
- name: is_new_eq
|
- name: is_new_eq
|
||||||
value: "0"
|
value: "0"
|
||||||
type: query
|
type: query
|
||||||
|
disabled: true
|
||||||
- name: is_favorite_eq
|
- name: is_favorite_eq
|
||||||
value: "false"
|
value: "false"
|
||||||
type: query
|
type: query
|
||||||
- name: is_oem_eq
|
disabled: true
|
||||||
value: "FALSE"
|
|
||||||
type: query
|
|
||||||
body:
|
body:
|
||||||
type: json
|
type: json
|
||||||
data: ""
|
data: ""
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
info:
|
info:
|
||||||
name: addresses
|
name: addresses
|
||||||
type: folder
|
type: folder
|
||||||
seq: 9
|
seq: 10
|
||||||
|
|
||||||
request:
|
request:
|
||||||
auth: inherit
|
auth: inherit
|
||||||
|
|||||||
@@ -5,11 +5,7 @@ info:
|
|||||||
|
|
||||||
http:
|
http:
|
||||||
method: GET
|
method: GET
|
||||||
url: http://localhost:3000/api/v1/restricted/carts/add-new-cart?name=carttt
|
url: http://localhost:3000/api/v1/restricted/carts/add-new-cart
|
||||||
params:
|
|
||||||
- name: name
|
|
||||||
value: carttt
|
|
||||||
type: query
|
|
||||||
auth: inherit
|
auth: inherit
|
||||||
|
|
||||||
settings:
|
settings:
|
||||||
|
|||||||
7
bruno/b2b_daniel/list/folder.yml
Normal file
7
bruno/b2b_daniel/list/folder.yml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
info:
|
||||||
|
name: list
|
||||||
|
type: folder
|
||||||
|
seq: 3
|
||||||
|
|
||||||
|
request:
|
||||||
|
auth: inherit
|
||||||
24
bruno/b2b_daniel/list/list-products.yml
Normal file
24
bruno/b2b_daniel/list/list-products.yml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
info:
|
||||||
|
name: list-products
|
||||||
|
type: http
|
||||||
|
seq: 1
|
||||||
|
|
||||||
|
http:
|
||||||
|
method: GET
|
||||||
|
url: http://localhost:3000/api/v1/restricted/list/list-products?p=1&elems=10&target_user_id=2
|
||||||
|
params:
|
||||||
|
- name: p
|
||||||
|
value: "1"
|
||||||
|
type: query
|
||||||
|
- name: elems
|
||||||
|
value: "10"
|
||||||
|
type: query
|
||||||
|
- name: target_user_id
|
||||||
|
value: "2"
|
||||||
|
type: query
|
||||||
|
|
||||||
|
settings:
|
||||||
|
encodeUrl: true
|
||||||
|
timeout: 0
|
||||||
|
followRedirects: true
|
||||||
|
maxRedirects: 5
|
||||||
21
bruno/b2b_daniel/list/list-users.yml
Normal file
21
bruno/b2b_daniel/list/list-users.yml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
info:
|
||||||
|
name: list-users
|
||||||
|
type: http
|
||||||
|
seq: 1
|
||||||
|
|
||||||
|
http:
|
||||||
|
method: GET
|
||||||
|
url: http://localhost:3000/api/v1/restricted/list/list-users?p=1&elems=10
|
||||||
|
params:
|
||||||
|
- name: p
|
||||||
|
value: "1"
|
||||||
|
type: query
|
||||||
|
- name: elems
|
||||||
|
value: "10"
|
||||||
|
type: query
|
||||||
|
|
||||||
|
settings:
|
||||||
|
encodeUrl: true
|
||||||
|
timeout: 0
|
||||||
|
followRedirects: true
|
||||||
|
maxRedirects: 5
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
info:
|
info:
|
||||||
name: orders
|
name: orders
|
||||||
type: folder
|
type: folder
|
||||||
seq: 10
|
seq: 11
|
||||||
|
|
||||||
request:
|
request:
|
||||||
auth: inherit
|
auth: inherit
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
info:
|
info:
|
||||||
name: product-translation
|
name: product-translation
|
||||||
type: folder
|
type: folder
|
||||||
seq: 3
|
seq: 2
|
||||||
|
|
||||||
request:
|
request:
|
||||||
auth: inherit
|
auth: inherit
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
info:
|
info:
|
||||||
name: storage-old
|
name: storage-old
|
||||||
type: folder
|
type: folder
|
||||||
seq: 2
|
seq: 1
|
||||||
|
|
||||||
request:
|
request:
|
||||||
auth: inherit
|
auth: inherit
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
info:
|
info:
|
||||||
name: storage-restricted
|
name: storage-restricted
|
||||||
type: folder
|
type: folder
|
||||||
seq: 8
|
seq: 9
|
||||||
|
|
||||||
request:
|
request:
|
||||||
auth: inherit
|
auth: inherit
|
||||||
|
|||||||
@@ -161,16 +161,6 @@ CREATE TABLE IF NOT EXISTS b2b_favorites (
|
|||||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
||||||
|
|
||||||
|
|
||||||
-- oems
|
|
||||||
CREATE TABLE IF NOT EXISTS b2b_oems (
|
|
||||||
user_id BIGINT UNSIGNED NOT NULL,
|
|
||||||
product_id INT UNSIGNED NOT NULL,
|
|
||||||
PRIMARY KEY (user_id, product_id),
|
|
||||||
CONSTRAINT fk_oems_customer FOREIGN KEY (user_id) REFERENCES b2b_customers(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
||||||
CONSTRAINT fk_oems_product FOREIGN KEY (product_id) REFERENCES ps_product(id_product) ON DELETE CASCADE ON UPDATE CASCADE
|
|
||||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
|
||||||
|
|
||||||
|
|
||||||
-- refresh_tokens
|
-- refresh_tokens
|
||||||
CREATE TABLE IF NOT EXISTS b2b_refresh_tokens (
|
CREATE TABLE IF NOT EXISTS b2b_refresh_tokens (
|
||||||
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
|||||||
@@ -379,19 +379,10 @@ BEGIN
|
|||||||
m.name AS manufacturer,
|
m.name AS manufacturer,
|
||||||
cl.name AS category,
|
cl.name AS category,
|
||||||
|
|
||||||
p.is_oem,
|
|
||||||
EXISTS(
|
EXISTS(
|
||||||
SELECT 1 FROM b2b_favorites f
|
SELECT 1 FROM b2b_favorites f
|
||||||
WHERE f.user_id = p_id_customer AND f.product_id = p_id_product
|
WHERE f.user_id = p_id_customer AND f.product_id = p_id_product
|
||||||
) AS is_favorite,
|
) AS is_favorite
|
||||||
CASE
|
|
||||||
WHEN ps.date_add >= DATE_SUB(
|
|
||||||
NOW(),
|
|
||||||
INTERVAL COALESCE(CAST(ps_configuration.value AS SIGNED), 20) DAY
|
|
||||||
) AND ps.active = 1
|
|
||||||
THEN 1
|
|
||||||
ELSE 0
|
|
||||||
END AS is_new
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -409,8 +400,6 @@ BEGIN
|
|||||||
AND cl.id_shop = p_id_shop
|
AND cl.id_shop = p_id_shop
|
||||||
LEFT JOIN ps_manufacturer m
|
LEFT JOIN ps_manufacturer m
|
||||||
ON m.id_manufacturer = p.id_manufacturer
|
ON m.id_manufacturer = p.id_manufacturer
|
||||||
LEFT JOIN ps_configuration
|
|
||||||
ON ps_configuration.name = PS_NB_DAYS_NEW_PRODUCT
|
|
||||||
|
|
||||||
WHERE p.id_product = p_id_product
|
WHERE p.id_product = p_id_product
|
||||||
LIMIT 1;
|
LIMIT 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user