feat: 🤪 语言类型和商品类型枚举

feat: 🤪 商品查询接口去除token
main
tian 2 years ago
parent 143b722316
commit 9174ae0f25

@ -3,6 +3,7 @@ package goods
import (
"github.com/gin-gonic/gin"
"go.uber.org/zap"
common "pychr/common/consts"
"pychr/global"
"pychr/model/common/response"
"pychr/model/goods"
@ -149,3 +150,35 @@ func (goodsShowApi *GoodsShowApi) GetGoodsShowList(c *gin.Context) {
}, "获取成功", c)
}
}
func (goodsShowApi *GoodsShowApi) GetLangTypeEnum(c *gin.Context) {
m := common.GetLangTypeReverseIntMap()
list := make([]goods.BaseData, 0)
for k, v := range m {
t := goods.BaseData{
ID: v,
Name: k,
}
list = append(list, t)
}
response.OkWithDetailed(response.PageResult{
List: list,
Total: int64(len(list)),
}, "获取成功", c)
}
func (goodsShowApi *GoodsShowApi) GetGoodsTypeEnum(c *gin.Context) {
m := common.GetGoodsTypeReverseIntMap()
list := make([]goods.BaseData, 0)
for k, v := range m {
t := goods.BaseData{
ID: v,
Name: k,
}
list = append(list, t)
}
response.OkWithDetailed(response.PageResult{
List: list,
Total: int64(len(list)),
}, "获取成功", c)
}

@ -1 +1,29 @@
package common
// GoodsType 类型
//
//go:generate stringer -type=GoodsType --linecomment
//go:generate generate --file=consts.go --type=GoodsType
type GoodsType int
const (
GoodsTypeSolidDoor GoodsType = 1 // 实木门
GoodsTypeCompositeDoor GoodsType = 2 // 复合板门
GoodsTypeChair GoodsType = 3 // 椅子
GoodsTypeCombo GoodsType = 4 // 组合
GoodsTypeVanity GoodsType = 5 // 浴室柜
GoodsTypeCloset GoodsType = 6 // 衣柜
GoodsTypeMDKitchen GoodsType = 7 // 现代橱柜
GoodsTypeCCKitchen GoodsType = 8 // 古典橱柜
)
// LangType 文字类型
//
//go:generate stringer -type=LangType --linecomment
//go:generate generate --file=consts.go --type=LangType
type LangType int
const (
LangTypeChinese LangType = 1 // 中文
LangTypeEnglish LangType = 2 // 英文
)

@ -0,0 +1,36 @@
package common
func GetGoodsTypeMap() (r map[GoodsType]string) {
l := []GoodsType{GoodsTypeSolidDoor, GoodsTypeCompositeDoor, GoodsTypeChair, GoodsTypeCombo, GoodsTypeVanity, GoodsTypeCloset, GoodsTypeMDKitchen, GoodsTypeCCKitchen}
r = make(map[GoodsType]string)
for _, k := range l {
r[k] = k.ToString()
}
return r
}
func GetGoodsTypeReverseMap() (r map[string]GoodsType) {
l := []GoodsType{GoodsTypeSolidDoor, GoodsTypeCompositeDoor, GoodsTypeChair, GoodsTypeCombo, GoodsTypeVanity, GoodsTypeCloset, GoodsTypeMDKitchen, GoodsTypeCCKitchen}
r = make(map[string]GoodsType)
for _, k := range l {
r[k.ToString()] = k
}
return r
}
func GetGoodsTypeReverseIntMap() (r map[string]int) {
l := []GoodsType{GoodsTypeSolidDoor, GoodsTypeCompositeDoor, GoodsTypeChair, GoodsTypeCombo, GoodsTypeVanity, GoodsTypeCloset, GoodsTypeMDKitchen, GoodsTypeCCKitchen}
r = make(map[string]int)
for _, k := range l {
r[k.ToString()] = int(k)
}
return r
}
func (t GoodsType) Check() bool {
l := []GoodsType{GoodsTypeSolidDoor, GoodsTypeCompositeDoor, GoodsTypeChair, GoodsTypeCombo, GoodsTypeVanity, GoodsTypeCloset, GoodsTypeMDKitchen, GoodsTypeCCKitchen}
for i := range l {
if l[i] == t {
return true
}
}
return false
}

@ -0,0 +1,31 @@
// Code generated by "stringer -type=GoodsType --linecomment"; DO NOT EDIT.
package common
import "strconv"
func _() {
// An "invalid array index" compiler error signifies that the constant values have changed.
// Re-run the stringer command to generate them again.
var x [1]struct{}
_ = x[GoodsTypeSolidDoor-1]
_ = x[GoodsTypeCompositeDoor-2]
_ = x[GoodsTypeChair-3]
_ = x[GoodsTypeCombo-4]
_ = x[GoodsTypeVanity-5]
_ = x[GoodsTypeCloset-6]
_ = x[GoodsTypeMDKitchen-7]
_ = x[GoodsTypeCCKitchen-8]
}
const _GoodsType_name = "实木门复合板门椅子组合浴室柜衣柜现代橱柜古典橱柜"
var _GoodsType_index = [...]uint8{0, 6, 12}
func (i GoodsType) ToString() string {
i -= 1
if i < 0 || i >= GoodsType(len(_GoodsType_index)-1) {
return "GoodsType(" + strconv.FormatInt(int64(i+1), 10) + ")"
}
return _GoodsType_name[_GoodsType_index[i]:_GoodsType_index[i+1]]
}

@ -0,0 +1,36 @@
package common
func GetLangTypeMap() (r map[LangType]string) {
l := []LangType{LangTypeChinese, LangTypeEnglish}
r = make(map[LangType]string)
for _, k := range l {
r[k] = k.ToString()
}
return r
}
func GetLangTypeReverseMap() (r map[string]LangType) {
l := []LangType{LangTypeChinese, LangTypeEnglish}
r = make(map[string]LangType)
for _, k := range l {
r[k.ToString()] = k
}
return r
}
func GetLangTypeReverseIntMap() (r map[string]int) {
l := []LangType{LangTypeChinese, LangTypeEnglish}
r = make(map[string]int)
for _, k := range l {
r[k.ToString()] = int(k)
}
return r
}
func (t LangType) Check() bool {
l := []LangType{LangTypeChinese, LangTypeEnglish}
for i := range l {
if l[i] == t {
return true
}
}
return false
}

@ -0,0 +1,25 @@
// Code generated by "stringer -type=LangType --linecomment"; DO NOT EDIT.
package common
import "strconv"
func _() {
// An "invalid array index" compiler error signifies that the constant values have changed.
// Re-run the stringer command to generate them again.
var x [1]struct{}
_ = x[LangTypeChinese-1]
_ = x[LangTypeEnglish-2]
}
const _LangType_name = "中文英文"
var _LangType_index = [...]uint8{0, 6, 12}
func (i LangType) ToString() string {
i -= 1
if i < 0 || i >= LangType(len(_LangType_index)-1) {
return "LangType(" + strconv.FormatInt(int64(i+1), 10) + ")"
}
return _LangType_name[_LangType_index[i]:_LangType_index[i+1]]
}

@ -101,6 +101,7 @@ func Routers() *gin.Engine {
{
goodsRouter := router.RouterGroupApp.Goods
goodsRouter.InitGoodsShowRouter(PrivateGroup)
goodsRouter.InitPubGoodsShowRouter(PublicGroup)
}
global.GVA_LOG.Info("router register success")

@ -2,21 +2,24 @@
package goods
import (
common "pychr/common/consts"
"pychr/global"
)
// 商品 结构体 GoodsShow
type GoodsShow struct {
global.GVA_MODEL
LangType int `json:"langType" form:"langType" gorm:"column:lang_type;comment:语言类型 1中文 2英文;size:10;" binding:"required"` // 语言类型 1中文 2英文
GoodsMainPic string `json:"goodsMainPic" form:"goodsMainPic" gorm:"column:goods_main_pic;comment:商品主图;size:191;"` // 商品主图
Name string `json:"name" form:"name" gorm:"column:name;comment:商品名称;size:191;" binding:"required"` // 商品名称
BriefIntroduction string `json:"briefIntroduction" form:"briefIntroduction" gorm:"column:brief_introduction;comment:简介;size:191;"` // 简介
Type int `json:"type" form:"type" gorm:"column:type;comment:类型;size:10;" binding:"required"` // 类型
MainIntroduction string `json:"mainIntroduction" form:"mainIntroduction" gorm:"column:main_introduction;comment:主介绍;size:191;"` // 主介绍
GoodsAssistantPic string `json:"goodsAssistantPic" form:"goodsAssistantPic" gorm:"column:goods_assistantPic;comment:商品副图;size:191;"` // 商品副图
SecondIntroductionTitle string `json:"secondIntroductionTitle" form:"secondIntroductionTitle" gorm:"column:second_introduction_title;comment:副介绍标题;size:191;"` // 副介绍标题
SecondIntroduction string `json:"secondIntroduction" form:"secondIntroduction" gorm:"column:second_introduction;comment:副介绍,逗号拼接;size:191;"` // 副介绍,逗号拼接
LangType common.LangType `json:"langType" form:"langType" gorm:"column:lang_type;comment:语言类型 1中文 2英文;size:10;" binding:"required"` // 语言类型 1中文 2英文
LangTypeName string `json:"langTypeName" form:"langTypeName"` // 语言类型名称
GoodsMainPic string `json:"goodsMainPic" form:"goodsMainPic" gorm:"column:goods_main_pic;comment:商品主图;size:191;"` // 商品主图
Name string `json:"name" form:"name" gorm:"column:name;comment:商品名称;size:191;" binding:"required"` // 商品名称
BriefIntroduction string `json:"briefIntroduction" form:"briefIntroduction" gorm:"column:brief_introduction;comment:简介;size:191;"` // 简介
Type int `json:"type" form:"type" gorm:"column:type;comment:类型;size:10;" binding:"required"` // 类型
TypeName string `json:"typeName"` // 类型名称
MainIntroduction string `json:"mainIntroduction" form:"mainIntroduction" gorm:"column:main_introduction;comment:主介绍;size:191;"` // 主介绍
GoodsAssistantPic string `json:"goodsAssistantPic" form:"goodsAssistantPic" gorm:"column:goods_assistantPic;comment:商品副图;size:191;"` // 商品副图
SecondIntroductionTitle string `json:"secondIntroductionTitle" form:"secondIntroductionTitle" gorm:"column:second_introduction_title;comment:副介绍标题;size:191;"` // 副介绍标题
SecondIntroduction string `json:"secondIntroduction" form:"secondIntroduction" gorm:"column:second_introduction;comment:副介绍,逗号拼接;size:191;"` // 副介绍,逗号拼接
}
// TableName 商品 GoodsShow自定义表名 goods_show
@ -25,3 +28,10 @@ func (GoodsShow) TableName() string {
}
type GoodsShowList []GoodsShow
type BaseData struct {
ID int `json:"id"`
Code string `json:"code"`
Name string `json:"name"`
Default bool `json:"default"`
}

@ -25,3 +25,14 @@ func (s *GoodsShowRouter) InitGoodsShowRouter(Router *gin.RouterGroup) {
goodsShowRouterWithoutRecord.GET("getGoodsShowList", goodsShowApi.GetGoodsShowList) // 获取商品列表
}
}
func (s *GoodsShowRouter) InitPubGoodsShowRouter(Router *gin.RouterGroup) {
goodsShowRouterWithoutRecord := Router.Group("pubGoodsShow")
var goodsShowApi = v1.ApiGroupApp.GoodsApiGroup.GoodsShowApi
{
goodsShowRouterWithoutRecord.GET("goodsTypeEnum", goodsShowApi.GetGoodsTypeEnum) // 获取商品类型
goodsShowRouterWithoutRecord.GET("langTypeEnum", goodsShowApi.GetLangTypeEnum) // 获取语言类型
goodsShowRouterWithoutRecord.GET("findGoodsShow", goodsShowApi.FindGoodsShow) // 根据ID获取商品
goodsShowRouterWithoutRecord.GET("getGoodsShowList", goodsShowApi.GetGoodsShowList) // 获取商品列表
}
}

Loading…
Cancel
Save