This commit is contained in:
laodaming 2023-06-05 12:21:15 +08:00
parent f7e7e2d85c
commit 19f988eccd
7 changed files with 34 additions and 11 deletions

View File

@ -57,8 +57,8 @@ type Items {
Cover string `json:"cover"` Cover string `json:"cover"`
Intro string `json:"intro"` Intro string `json:"intro"`
CoverImg string `json:"cover_img"` CoverImg string `json:"cover_img"`
IsEnv uint32 `json:"isEnv"` IsEnv int64 `json:"isEnv"`
IsMicro uint32 `json:"isMicro"` IsMicro int64 `json:"isMicro"`
SizeNum uint32 `json:"sizeNum"` SizeNum uint32 `json:"sizeNum"`
MiniPrice float64 `json:"miniPrice"` MiniPrice float64 `json:"miniPrice"`
CoverDefault string `json:"coverDefault"` CoverDefault string `json:"coverDefault"`

View File

@ -10,6 +10,7 @@ import (
"github.com/zeromicro/go-zero/rest/httpx" "github.com/zeromicro/go-zero/rest/httpx"
) )
// 获取产品详情
func GetProductInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { func GetProductInfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) { return func(w http.ResponseWriter, r *http.Request) {
//检测登录权限 //检测登录权限

View File

@ -10,6 +10,7 @@ import (
"github.com/zeromicro/go-zero/rest/httpx" "github.com/zeromicro/go-zero/rest/httpx"
) )
// 获取产品列表
func GetProductListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { func GetProductListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) { return func(w http.ResponseWriter, r *http.Request) {
//检测登录权限 //检测登录权限

View File

@ -2,7 +2,12 @@ package logic
import ( import (
"context" "context"
"errors"
"fusenapi/model"
"fusenapi/utils/auth" "fusenapi/utils/auth"
"fusenapi/utils/image"
"github.com/zeromicro/go-zero/core/stores/sqlc"
"strings"
"fusenapi/product/internal/svc" "fusenapi/product/internal/svc"
"fusenapi/product/internal/types" "fusenapi/product/internal/types"
@ -24,10 +29,26 @@ func NewGetProductInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Ge
} }
} }
// 获取产品详情
func (l *GetProductInfoLogic) GetProductInfo(req *types.GetProductInfoReq, loginInfo auth.UserInfo) (resp *types.Response, err error) { func (l *GetProductInfoLogic) GetProductInfo(req *types.GetProductInfoReq, loginInfo auth.UserInfo) (resp *types.Response, err error) {
//校验前台登录情况 //校验前台登录情况
if loginInfo.UserId == 0 { if loginInfo.UserId == 0 {
return &types.Response{Code: 402, Message: "please sign in"}, nil return &types.Response{Code: 402, Message: "please sign in"}, nil
} }
req.Pid = strings.Trim(req.Pid, " ")
req.ClientNo = strings.Trim(req.ClientNo, " ")
if req.Size > 0 {
req.Size = image.GetCurrentSize(req.Size)
}
//获取产品详情
productModel := model.NewFsProductModel(l.svcCtx.MysqlConn)
productInfo, err := productModel.FindOneBySn(l.ctx, req.Pid)
if err != nil && !errors.Is(err, sqlc.ErrNotFound) {
logx.Error(err)
return &types.Response{Code: 510, Message: "failed to get product info"}, nil
}
if productInfo == nil {
return &types.Response{Code: 510, Message: "product not found"}, nil
}
return return
} }

View File

@ -12,7 +12,7 @@ import (
"fusenapi/utils/auth" "fusenapi/utils/auth"
"fusenapi/utils/format" "fusenapi/utils/format"
"fusenapi/utils/image" "fusenapi/utils/image"
"github.com/zeromicro/go-zero/core/stores/sqlx" "github.com/zeromicro/go-zero/core/stores/sqlc"
"sort" "sort"
"strings" "strings"
"time" "time"
@ -59,7 +59,7 @@ func (l *GetProductListLogic) GetProductList(req *types.GetProductListReq, login
//查询用户信息 //查询用户信息
userModel := model.NewFsUserModel(l.svcCtx.MysqlConn) userModel := model.NewFsUserModel(l.svcCtx.MysqlConn)
userInfo, err := userModel.FindOne(l.ctx, loginInfo.UserId) userInfo, err := userModel.FindOne(l.ctx, loginInfo.UserId)
if err != nil && !errors.Is(err, sqlx.ErrNotFound) { if err != nil && !errors.Is(err, sqlc.ErrNotFound) {
logx.Error(err) logx.Error(err)
return &types.Response{Code: 510, Message: "get user info err"}, nil return &types.Response{Code: 510, Message: "get user info err"}, nil
} }
@ -118,7 +118,7 @@ func (l *GetProductListLogic) GetProductList(req *types.GetProductListReq, login
//获取分类 //获取分类
tagsModel := model.NewFsTagsModel(l.svcCtx.MysqlConn) tagsModel := model.NewFsTagsModel(l.svcCtx.MysqlConn)
tagInfo, err := tagsModel.FindOne(l.ctx, req.Cid) tagInfo, err := tagsModel.FindOne(l.ctx, req.Cid)
if err != nil && !errors.Is(err, sqlx.ErrNotFound) { if err != nil && !errors.Is(err, sqlc.ErrNotFound) {
logx.Error(err) logx.Error(err)
return &types.Response{Code: 510, Message: "get classification err "}, nil return &types.Response{Code: 510, Message: "get classification err "}, nil
} }
@ -145,10 +145,10 @@ func (l *GetProductListLogic) GetProductList(req *types.GetProductListReq, login
Cover: v.Cover, Cover: v.Cover,
Intro: v.Intro.String, Intro: v.Intro.String,
CoverImg: v.CoverImg, CoverImg: v.CoverImg,
IsEnv: 1, IsEnv: v.IsProtection,
IsMicro: 1, IsMicro: v.IsMicrowave,
SizeNum: 1, SizeNum: 1,
MiniPrice: format.FentoDollar(minPrice), MiniPrice: format.CentoDollar(minPrice),
} }
if req.Size > 0 { if req.Size > 0 {
coverSlice := strings.Split(v.Cover, ".") coverSlice := strings.Split(v.Cover, ".")

View File

@ -45,8 +45,8 @@ type Items struct {
Cover string `json:"cover"` Cover string `json:"cover"`
Intro string `json:"intro"` Intro string `json:"intro"`
CoverImg string `json:"cover_img"` CoverImg string `json:"cover_img"`
IsEnv uint32 `json:"isEnv"` IsEnv int64 `json:"isEnv"`
IsMicro uint32 `json:"isMicro"` IsMicro int64 `json:"isMicro"`
SizeNum uint32 `json:"sizeNum"` SizeNum uint32 `json:"sizeNum"`
MiniPrice float64 `json:"miniPrice"` MiniPrice float64 `json:"miniPrice"`
CoverDefault string `json:"coverDefault"` CoverDefault string `json:"coverDefault"`

View File

@ -6,7 +6,7 @@ import (
) )
// 美分转美元 // 美分转美元
func FentoDollar(price int64) float64 { func CentoDollar(price int64) float64 {
str := fmt.Sprintf("%.2f", float64(price)/float64(100)) str := fmt.Sprintf("%.2f", float64(price)/float64(100))
dollar, _ := strconv.ParseFloat(str, 64) dollar, _ := strconv.ParseFloat(str, 64)
return dollar return dollar