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"`
Intro string `json:"intro"`
CoverImg string `json:"cover_img"`
IsEnv uint32 `json:"isEnv"`
IsMicro uint32 `json:"isMicro"`
IsEnv int64 `json:"isEnv"`
IsMicro int64 `json:"isMicro"`
SizeNum uint32 `json:"sizeNum"`
MiniPrice float64 `json:"miniPrice"`
CoverDefault string `json:"coverDefault"`

View File

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

View File

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

View File

@ -2,7 +2,12 @@ package logic
import (
"context"
"errors"
"fusenapi/model"
"fusenapi/utils/auth"
"fusenapi/utils/image"
"github.com/zeromicro/go-zero/core/stores/sqlc"
"strings"
"fusenapi/product/internal/svc"
"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) {
//校验前台登录情况
if loginInfo.UserId == 0 {
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
}

View File

@ -12,7 +12,7 @@ import (
"fusenapi/utils/auth"
"fusenapi/utils/format"
"fusenapi/utils/image"
"github.com/zeromicro/go-zero/core/stores/sqlx"
"github.com/zeromicro/go-zero/core/stores/sqlc"
"sort"
"strings"
"time"
@ -59,7 +59,7 @@ func (l *GetProductListLogic) GetProductList(req *types.GetProductListReq, login
//查询用户信息
userModel := model.NewFsUserModel(l.svcCtx.MysqlConn)
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)
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)
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)
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,
Intro: v.Intro.String,
CoverImg: v.CoverImg,
IsEnv: 1,
IsMicro: 1,
IsEnv: v.IsProtection,
IsMicro: v.IsMicrowave,
SizeNum: 1,
MiniPrice: format.FentoDollar(minPrice),
MiniPrice: format.CentoDollar(minPrice),
}
if req.Size > 0 {
coverSlice := strings.Split(v.Cover, ".")

View File

@ -45,8 +45,8 @@ type Items struct {
Cover string `json:"cover"`
Intro string `json:"intro"`
CoverImg string `json:"cover_img"`
IsEnv uint32 `json:"isEnv"`
IsMicro uint32 `json:"isMicro"`
IsEnv int64 `json:"isEnv"`
IsMicro int64 `json:"isMicro"`
SizeNum uint32 `json:"sizeNum"`
MiniPrice float64 `json:"miniPrice"`
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))
dollar, _ := strconv.ParseFloat(str, 64)
return dollar