1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package product
- import (
- "eta/eta_mini_ht_api/common/exception"
- merchantService "eta/eta_mini_ht_api/domian/merchant"
- "github.com/shopspring/decimal"
- "time"
- )
- type ProductDTO struct {
- Title string
- Description string
- Price decimal.Decimal
- CoverSrc string
- RiskLevel string
- Type string
- BeginDate string
- EndDate string
- }
- func GetProductInfoById(productId int) (product ProductDTO, err error) {
- merchantProduct, err := merchantService.GetMerchantProductById(productId)
- if err != nil {
- err = exception.NewWithException(exception.ProductInfoError, err.Error())
- return
- }
- product = convertToProductDTO(merchantProduct)
- return
- }
- func convertToProductDTO(product merchantService.MerchantProductDTO) (productDTO ProductDTO) {
- beginDate := time.Now()
- endDate := beginDate.Add(time.Duration(product.ValidDays) * 24 * time.Hour)
- productDTO = ProductDTO{
- Title: product.Title,
- Description: product.Description,
- Price: product.Price,
- RiskLevel: product.RiskLevel,
- CoverSrc: product.CoverSrc,
- Type: product.Type,
- BeginDate: beginDate.Format(time.DateOnly),
- EndDate: endDate.Format(time.DateOnly),
- }
- return
- }
|