package logic import ( "context" "lone-services/pkg/utils" "lone-services/rpc/express/pb" "lone-services/services/express/internal/svc" "lone-services/services/express/validator" "github.com/zeromicro/go-zero/core/logx" ) type ExpressCompanyLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger BaseLogic } func NewExpressCompanyLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ExpressCompanyLogic { return &ExpressCompanyLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } // ExpressCompany 获取可选的打印公司 func (l *ExpressCompanyLogic) ExpressCompany(in *express.ExpressCompanyRequest) (*express.Response, error) { var v validator.CompanyItemsValidator if fail := l.checkParams(in, &v); fail != nil { return fail, nil } adminInfo := utils.GetUserFromCtx(l.ctx) if adminInfo.ID < utils.NumberOne { return l.fail(utils.ErrorNoLoginInfo) } sf := utils.GetConfigInt("transit.sf_send_code_" + in.Code) jd := utils.GetConfigInt("transit.jd_send_code_" + in.Code) if sf < utils.NumberOne || jd < utils.NumberOne { return l.fail(utils.ErrorNotFund) } type retData struct { Name string `json:"name"` Id int `json:"id"` } var data []retData data = append(data, retData{ Name: "顺丰", Id: sf, }) data = append(data, retData{ Name: "京东", Id: jd, }) return l.ok(data) }