package logic import ( "micro-bundle/internal/dao" "micro-bundle/internal/model" "micro-bundle/pb/bundle" "micro-bundle/pkg/msg" "github.com/aliyun/alibaba-cloud-sdk-go/sdk/utils" ) // 增值套餐创建 func CreateValueAddBundle(req *bundle.CreateValueAddBundleRequest) (res *bundle.CreateValueAddBundleResponse, err error) { res = &bundle.CreateValueAddBundleResponse{} savedAmount := float32(req.Num * (msg.OriginalPrice - msg.DiscountPrice)) totalPrice := float32(req.Num * msg.DiscountPrice) valueAddBundleProfile := &model.ValueAddBundleProfile{ UUID: utils.GetUUID(), Num: req.Num, OriginalPrice: msg.OriginalPrice, DiscountPrice: msg.DiscountPrice, SavedAmount: savedAmount, TotalPrice: totalPrice, Type: msg.Custom, } err = dao.CreateValueAddBundle(valueAddBundleProfile) if err != nil { res.Msg = msg.ErrorCreateValueAddBundleInfo return res, err } res.Uuid = valueAddBundleProfile.UUID res.TotalPrice = totalPrice res.SavedAmount = savedAmount res.Msg = msg.SuccessCreateValueAddBundleInfo return } // 增值套餐列表 func ValueAddBundleList(req *bundle.ValueAddBundleListRequest) (res *bundle.ValueAddBundleListResponse, err error) { res = &bundle.ValueAddBundleListResponse{} valueAddBundleProfile, err := dao.ValueAddBundleList() if err != nil { res.Msg = msg.ErrorGetValueAddBundleList return res, err } for _, valueAddBundle := range valueAddBundleProfile { res.Data = append(res.Data, &bundle.ValueAddBundleProfile{ Uuid: valueAddBundle.UUID, Num: valueAddBundle.Num, OriginalPrice: valueAddBundle.OriginalPrice, DiscountPrice: valueAddBundle.DiscountPrice, TotalPrice: valueAddBundle.TotalPrice, SavedAmount: valueAddBundle.SavedAmount, DiscountPriceStatus: valueAddBundle.DiscountPriceStatus, Choose: valueAddBundle.Choose, }) } res.OriginalPrice = msg.OriginalPrice res.Total = int32(len(valueAddBundleProfile)) res.Msg = "SUCCESS" return } // 增值套餐详情 func ValueAddBundleDetail(req *bundle.ValueAddBundleDetailRequest) (res *bundle.ValueAddBundleDetailResponse, err error) { res = &bundle.ValueAddBundleDetailResponse{} valueAddBundleProfile := &model.ValueAddBundleProfile{} valueAddBundleProfile, err = dao.ValueAddBundleDetail(req.Uuid) if err != nil { res.Msg = msg.ErrorGetValueAddBundleInfo return res, err } res.Data = &bundle.ValueAddBundleProfile{ Uuid: valueAddBundleProfile.UUID, Num: valueAddBundleProfile.Num, OriginalPrice: valueAddBundleProfile.OriginalPrice, DiscountPrice: valueAddBundleProfile.DiscountPrice, TotalPrice: valueAddBundleProfile.TotalPrice, SavedAmount: valueAddBundleProfile.SavedAmount, DiscountPriceStatus: valueAddBundleProfile.DiscountPriceStatus, Choose: valueAddBundleProfile.Choose, } res.Msg = "SUCCESS" return }