package iot import ( "context" "git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/logic/iot/simcardbatch/datacut" "git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/model" "git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/service" ) type sIotTSimCardDataCut struct { submitter *datacut.Submitter } func NewIotTSimCardDataCut() *sIotTSimCardDataCut { return &sIotTSimCardDataCut{submitter: datacut.NewSubmitter(datacut.OperationDataCut)} } func init() { service.RegisterIotTSimCardDataCut(NewIotTSimCardDataCut()) } func (s *sIotTSimCardDataCut) DownloadExcelTemplate(ctx context.Context) error { return writeDataTemplate(ctx, "sim_card_data_cut_template") } func (s *sIotTSimCardDataCut) SubmitExcel(ctx context.Context, in *model.TSimCardDataCutExcelSubmitParam) (*model.TSimCardDataCutExcelSubmitRes, error) { if in == nil { in = &model.TSimCardDataCutExcelSubmitParam{} } file, err := dataUploadFile(ctx) if err != nil { return nil, err } result, err := s.submitter.SubmitExcel(ctx, file, in.TrafficCutoffThreshold, in.Remark) if err != nil { return nil, err } return dataCutSubmitResponse(result), nil } func (s *sIotTSimCardDataCut) SubmitInput(ctx context.Context, in *model.TSimCardDataCutInputSubmitParam) (*model.TSimCardDataCutInputSubmitRes, error) { if in == nil { in = &model.TSimCardDataCutInputSubmitParam{} } result, err := s.submitter.SubmitInput(ctx, in.Input, in.TrafficCutoffThreshold, in.Remark) if err != nil { return nil, err } return dataCutSubmitResponse(result), nil } func dataCutSubmitResponse(result *datacut.SubmitResult) *model.TSimCardDataCutExcelSubmitRes { res := &model.TSimCardDataCutExcelSubmitRes{} if result == nil { return res } res.BatchNo = result.BatchNo res.BatchType = result.BatchType res.BatchAsyncStatus = result.BatchAsyncStatus res.Total = result.Total return res }