package common import ( "context" "github.com/gogf/gf/v2/errors/gerror" "github.com/gogf/gf/v2/frame/g" v1 "git.5iot.com/iotlcm-public/iotlcm-openapi/api/common/v1" "git.5iot.com/iotlcm-public/iotlcm-openapi/internal/model" "git.5iot.com/iotlcm-public/iotlcm-openapi/internal/service" ) func (c *ControllerV1) Renew(ctx context.Context, req *v1.RenewReq) (res *v1.RenewRes, err error) { output, err := service.Common().SubmitRenew(ctx, &req.CommonRenewParam) if err != nil { return nil, err } return &v1.RenewRes{CommonRenewRes: *output}, nil } func (c *ControllerV1) TrafficCutoffConfig(ctx context.Context, req *v1.TrafficCutoffConfigReq) (res *v1.TrafficCutoffConfigRes, err error) { if req == nil { return nil, gerror.New("请求参数不能为空") } req.CommonTrafficCutoffConfigParam.IdempotencyKey = g.RequestFromCtx(ctx).Header.Get("Idempotency-Key") output, err := service.Common().SubmitTrafficCutoffConfig(ctx, &req.CommonTrafficCutoffConfigParam) if err != nil { return nil, err } return &v1.TrafficCutoffConfigRes{CommonTrafficCutoffConfigRes: *output}, nil } func (c *ControllerV1) SimSubscribe(ctx context.Context, req *v1.SimSubscribeReq) (res *v1.SingleRenewRes, err error) { if req == nil { return nil, gerror.New("请求参数不能为空") } output, err := service.Common().SubmitSingleRenew(ctx, model.CommonRenewCard{ Iccid: req.Iccid, Msisdn: req.Msisdn, Imsi: req.Imsi, PackageId: req.PackageId, }, req.AppId, req.PackageId, req.Remark, req.Validity) if err != nil { return &v1.SingleRenewRes{CommonSingleRenewRes: model.CommonSingleRenewRes{ OrderId: "0", OrderSn: "", Iccid: req.Iccid, Status: "failed", ErrorCode: "RENEW_FAILED", ErrorMessage: err.Error(), }}, nil } return &v1.SingleRenewRes{CommonSingleRenewRes: *output}, nil } func (c *ControllerV1) BatchSimSubscribe(ctx context.Context, req *v1.BatchSimSubscribeReq) (res *v1.RenewRes, err error) { if req == nil { return nil, gerror.New("请求参数不能为空") } output, err := service.Common().SubmitBatchRenew(ctx, req.AppId, req.Cards, req.Iccid, req.PackageId, req.Remark, req.Validity) if err != nil { return nil, err } return &v1.RenewRes{CommonRenewRes: *output}, nil } func (c *ControllerV1) SimTrafficCutoff(ctx context.Context, req *v1.SimTrafficCutoffReq) (res *v1.SingleTrafficCutoffRes, err error) { if req == nil { return nil, gerror.New("请求参数不能为空") } output, err := service.Common().SubmitSingleTrafficCutoffConfig(ctx, &req.CommonTrafficCutoffSingleParam) if err != nil { threshold := req.TrafficCutoffThreshold if req.TrafficCutoffStatus == 0 { threshold = 0 } return &v1.SingleTrafficCutoffRes{CommonSingleTrafficCutoffRes: model.CommonSingleTrafficCutoffRes{ Success: false, Iccid: req.Iccid, Msisdn: req.Msisdn, Imsi: req.Imsi, TrafficCutoffStatus: req.TrafficCutoffStatus, TrafficCutoffThreshold: threshold, TrafficCutoffThresholdUnit: "MB", Message: err.Error(), ErrorCode: "TRAFFIC_CUTOFF_FAILED", }}, nil } return &v1.SingleTrafficCutoffRes{CommonSingleTrafficCutoffRes: *output}, nil } func (c *ControllerV1) BatchSimTrafficCutoff(ctx context.Context, req *v1.BatchSimTrafficCutoffReq) (res *v1.TrafficCutoffConfigRes, err error) { if req == nil { return nil, gerror.New("请求参数不能为空") } req.CommonTrafficCutoffConfigParam.IdempotencyKey = g.RequestFromCtx(ctx).Header.Get("Idempotency-Key") output, err := service.Common().SubmitTrafficCutoffConfig(ctx, &req.CommonTrafficCutoffConfigParam) if err != nil { return nil, err } return &v1.TrafficCutoffConfigRes{CommonTrafficCutoffConfigRes: *output}, nil } func trafficCutoffStatusName(status int) string { switch status { case 1: return "已开启" case 2: return "已关闭" default: return "删除" } }