goodsspecaddlogic.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package logic
  2. import (
  3. "context"
  4. "fmt"
  5. "bp.jydev.jianyu360.cn/BaseService/goodsCenter/public/entity"
  6. "bp.jydev.jianyu360.cn/BaseService/goodsCenter/rpc/internal/svc"
  7. "bp.jydev.jianyu360.cn/BaseService/goodsCenter/rpc/pb"
  8. "github.com/zeromicro/go-zero/core/logx"
  9. )
  10. type GoodsSpecAddLogic struct {
  11. ctx context.Context
  12. svcCtx *svc.ServiceContext
  13. logx.Logger
  14. }
  15. func NewGoodsSpecAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GoodsSpecAddLogic {
  16. return &GoodsSpecAddLogic{
  17. ctx: ctx,
  18. svcCtx: svcCtx,
  19. Logger: logx.WithContext(ctx),
  20. }
  21. }
  22. // 新增商品规格
  23. func (l *GoodsSpecAddLogic) GoodsSpecAdd(in *pb.GoodsSpecAddReq) (*pb.StatusResp, error) {
  24. // todo: add your logic here and delete this line
  25. resp := &pb.StatusResp{}
  26. goods_spec := &entity.Base_goods_spec_struct{
  27. Appid: in.GoodsSpec.Appid,
  28. Name: in.GoodsSpec.Name,
  29. Goods_code: in.GoodsSpec.GoodsCode,
  30. Origin_price: in.GoodsSpec.OriginPrice,
  31. Actual_price: in.GoodsSpec.ActualPrice, //实际价格
  32. Sku_max: in.GoodsSpec.SkuMax, //sku最大份数
  33. Calculation_type: in.GoodsSpec.CalculationType, //权益计算类型 1:按量 2:sku(个人默认授权,企业手动需要授权)
  34. Calculation_formula: in.GoodsSpec.CalculationFormula, //单价计算,sku*单价 $number * $price
  35. Calculation_mode: in.GoodsSpec.CalculationMode, //1:一口价 2:公式计价 3:阶梯计价
  36. Tag: in.GoodsSpec.Tag, //标签、自定义值 用于分组
  37. Remark: in.GoodsSpec.Remark, //备注
  38. Googds_spec: in.GoodsSpec.GoodsSpecChild,
  39. }
  40. status, err := goods_spec.Add()
  41. if err != nil {
  42. l.Error(fmt.Sprintf("%+v", in), err.Error())
  43. resp.ErrorMsg = err.Error()
  44. resp.ErrorCode = -1
  45. }
  46. resp.Status = status
  47. return resp, nil
  48. }