| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package vo
- import (
- "demo/configs"
- "demo/data/domain"
- )
- type GoodsSkuQuery struct {
- SkuName string `xorm:"sku_name" json:"skuName"` // 255 0 注释:商品sku名字
- PriceStart float64 `xorm:"price" json:"price"` // 10 2 注释:现在价格区间
- PriceEnd float64 `xorm:"price" json:"price"` // 10 2 注释:现在价格区间
- HistoricalPricesStart float64 `xorm:"historical_prices" json:"historicalPrices"`
- HistoricalPricesEnd float64 `xorm:"historical_prices" json:"historicalPrices"`
- InventoryNumberStart int64 `xorm:"inventory_number" json:"inventoryNumber"`
- InventoryNumberEnd int64 `xorm:"inventory_number" json:"inventoryNumber"`
- CommodityAreaId int64 `xorm:"commodity_area_id" json:"commodityAreaId"`
- GoodsId int64 `xorm:"goods_id" json:"goodsId"`
- }
- func GetGoodsSkuList(query GoodsSkuQuery, pageNum, pageSize int) (BaseListVo, error) {
- var arr []domain.GoodsSku
- session := configs.Engine.Table("goods_sku").Limit(pageSize, (pageNum-1)*pageSize)
- if query.SkuName != "" {
- session.Where("sku_name = ?", query.SkuName)
- }
- if query.PriceStart != 0 && query.PriceEnd != 0 {
- session.And("price >= ? && price <= ?", query.PriceStart, query.PriceEnd)
- }
- if query.HistoricalPricesStart != 0 && query.HistoricalPricesEnd != 0 {
- session.And("historical_prices >= ? && historical_prices <= ?", query.HistoricalPricesStart, query.HistoricalPricesEnd)
- }
- if query.InventoryNumberStart != 0 && query.InventoryNumberEnd != 0 {
- session.And("inventory_number >= ? && inventory_number <= ?", query.InventoryNumberStart, query.InventoryNumberEnd)
- }
- Count, err := session.FindAndCount(&arr, &query)
- var vo BaseListVo
- if err != nil {
- return vo, err
- }
- if err != nil {
- return vo, err
- }
- vo.PageNum = pageNum
- vo.PageSize = pageSize
- vo.List = make([]any, len(arr))
- for i, v := range arr {
- vo.List[i] = v
- }
- vo.Total = int(Count)
- return vo, nil
- }
|