1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288 |
- import 'notification.m.dart';
- import 'liveConsultation.m.dart';
- import 'package:fis_jsonrpc/utils.dart';
- class BaseLabelInfoDTO extends BaseDTO{
- String? code;
- String? name;
- String? parentCode;
- BaseLabelInfoDTO({
- this.code,
- this.name,
- this.parentCode,
- DateTime? createTime,
- DateTime? updateTime,
- }) : super(
- createTime: createTime,
- updateTime: updateTime,
- );
- factory BaseLabelInfoDTO.fromJson(Map<String, dynamic> map) {
- return BaseLabelInfoDTO(
- code: map['Code'],
- name: map['Name'],
- parentCode: map['ParentCode'],
- createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
- updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(code != null)
- map['Code'] = code;
- if(name != null)
- map['Name'] = name;
- if(parentCode != null)
- map['ParentCode'] = parentCode;
- return map;
- }
- }
- enum LabelTypeEnum {
- Unknown,
- CaseLabel,
- CourseLabel,
- }
- class LabelLanguageConfigDTO {
- String? name;
- String? languageCode;
- LabelLanguageConfigDTO({
- this.name,
- this.languageCode,
- });
- factory LabelLanguageConfigDTO.fromJson(Map<String, dynamic> map) {
- return LabelLanguageConfigDTO(
- name: map['Name'],
- languageCode: map['LanguageCode'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(name != null) {
- map['Name'] = name;
- }
- if(languageCode != null) {
- map['LanguageCode'] = languageCode;
- }
- return map;
- }
- }
- class CourseLabelDTO extends BaseLabelInfoDTO{
- String? languageCode;
- LabelTypeEnum type;
- OrganizationPatientTypeEnum useObjectType;
- bool isLastLevel;
- List<CourseLabelDTO>? childLabels;
- List<LabelLanguageConfigDTO>? labelLanguageConfigs;
- CourseLabelDTO({
- this.languageCode,
- this.type = LabelTypeEnum.Unknown,
- this.useObjectType = OrganizationPatientTypeEnum.Person,
- this.isLastLevel = false,
- this.childLabels,
- this.labelLanguageConfigs,
- String? code,
- String? name,
- String? parentCode,
- DateTime? createTime,
- DateTime? updateTime,
- }) : super(
- code: code,
- name: name,
- parentCode: parentCode,
- createTime: createTime,
- updateTime: updateTime,
- );
- factory CourseLabelDTO.fromJson(Map<String, dynamic> map) {
- return CourseLabelDTO(
- languageCode: map['LanguageCode'],
- type: LabelTypeEnum.values.firstWhere((e) => e.index == map['Type']),
- useObjectType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['UseObjectType']),
- isLastLevel: map['IsLastLevel'],
- childLabels: map['ChildLabels'] != null ? (map['ChildLabels'] as List).map((e)=>CourseLabelDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- labelLanguageConfigs: map['LabelLanguageConfigs'] != null ? (map['LabelLanguageConfigs'] as List).map((e)=>LabelLanguageConfigDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- code: map['Code'],
- name: map['Name'],
- parentCode: map['ParentCode'],
- createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
- updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(languageCode != null)
- map['LanguageCode'] = languageCode;
- map['Type'] = type.index;
- map['UseObjectType'] = useObjectType.index;
- map['IsLastLevel'] = isLastLevel;
- if(childLabels != null)
- map['ChildLabels'] = childLabels;
- if(labelLanguageConfigs != null)
- map['LabelLanguageConfigs'] = labelLanguageConfigs;
- return map;
- }
- }
- class QueryCourseLabelListRequest extends TokenRequest{
- String? name;
- String? languageCode;
- LabelTypeEnum type;
- String? parentCode;
- QueryCourseLabelListRequest({
- this.name,
- this.languageCode,
- this.type = LabelTypeEnum.Unknown,
- this.parentCode,
- String? token,
- }) : super(
- token: token,
- );
- factory QueryCourseLabelListRequest.fromJson(Map<String, dynamic> map) {
- return QueryCourseLabelListRequest(
- name: map['Name'],
- languageCode: map['LanguageCode'],
- type: LabelTypeEnum.values.firstWhere((e) => e.index == map['Type']),
- parentCode: map['ParentCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(name != null)
- map['Name'] = name;
- if(languageCode != null)
- map['LanguageCode'] = languageCode;
- map['Type'] = type.index;
- if(parentCode != null)
- map['ParentCode'] = parentCode;
- return map;
- }
- }
- enum CourseTypeEnum {
- Unknown,
- LiveCourse,
- Multimedia,
- }
- enum CourseAudienceTypeEnum {
- Unknown,
- PublicClass,
- PrivateClass,
- }
- enum CourseAppearTypeEnum {
- Unknown,
- Independent,
- Album,
- }
- class ApplyCourseRequest extends TokenRequest{
- String? name;
- String? courseIntro;
- String? teacherCode;
- String? cover;
- DateTime? startTime;
- int duration;
- CourseTypeEnum courseType;
- CourseAudienceTypeEnum audienceType;
- String? coursewareToken;
- List<String>? caseLabelCodes;
- List<String>? courseLabelCodes;
- List<String>? userGroupCodes;
- double price;
- List<String>? courseVideoCodes;
- List<String>? courseMaterialCodes;
- List<String>? bindExams;
- bool isSmallClass;
- List<String>? assistants;
- List<String>? experts;
- bool isAgentCourse;
- List<String>? courseAlbumCodes;
- CourseAppearTypeEnum courseAppearType;
- ApplyCourseRequest({
- this.name,
- this.courseIntro,
- this.teacherCode,
- this.cover,
- this.startTime,
- this.duration = 0,
- this.courseType = CourseTypeEnum.Unknown,
- this.audienceType = CourseAudienceTypeEnum.Unknown,
- this.coursewareToken,
- this.caseLabelCodes,
- this.courseLabelCodes,
- this.userGroupCodes,
- this.price = 0,
- this.courseVideoCodes,
- this.courseMaterialCodes,
- this.bindExams,
- this.isSmallClass = false,
- this.assistants,
- this.experts,
- this.isAgentCourse = false,
- this.courseAlbumCodes,
- this.courseAppearType = CourseAppearTypeEnum.Unknown,
- String? token,
- }) : super(
- token: token,
- );
- factory ApplyCourseRequest.fromJson(Map<String, dynamic> map) {
- return ApplyCourseRequest(
- name: map['Name'],
- courseIntro: map['CourseIntro'],
- teacherCode: map['TeacherCode'],
- cover: map['Cover'],
- startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
- duration: map['Duration'],
- courseType: CourseTypeEnum.values.firstWhere((e) => e.index == map['CourseType']),
- audienceType: CourseAudienceTypeEnum.values.firstWhere((e) => e.index == map['AudienceType']),
- coursewareToken: map['CoursewareToken'],
- caseLabelCodes: map['CaseLabelCodes']?.cast<String>().toList(),
- courseLabelCodes: map['CourseLabelCodes']?.cast<String>().toList(),
- userGroupCodes: map['UserGroupCodes']?.cast<String>().toList(),
- price: double.parse(map['Price'].toString()),
- courseVideoCodes: map['CourseVideoCodes']?.cast<String>().toList(),
- courseMaterialCodes: map['CourseMaterialCodes']?.cast<String>().toList(),
- bindExams: map['BindExams']?.cast<String>().toList(),
- isSmallClass: map['IsSmallClass'],
- assistants: map['Assistants']?.cast<String>().toList(),
- experts: map['Experts']?.cast<String>().toList(),
- isAgentCourse: map['IsAgentCourse'],
- courseAlbumCodes: map['CourseAlbumCodes']?.cast<String>().toList(),
- courseAppearType: CourseAppearTypeEnum.values.firstWhere((e) => e.index == map['CourseAppearType']),
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(name != null)
- map['Name'] = name;
- if(courseIntro != null)
- map['CourseIntro'] = courseIntro;
- if(teacherCode != null)
- map['TeacherCode'] = teacherCode;
- if(cover != null)
- map['Cover'] = cover;
- if(startTime != null)
- map['StartTime'] = JsonRpcUtils.dateFormat(startTime!);
- map['Duration'] = duration;
- map['CourseType'] = courseType.index;
- map['AudienceType'] = audienceType.index;
- if(coursewareToken != null)
- map['CoursewareToken'] = coursewareToken;
- if(caseLabelCodes != null)
- map['CaseLabelCodes'] = caseLabelCodes;
- if(courseLabelCodes != null)
- map['CourseLabelCodes'] = courseLabelCodes;
- if(userGroupCodes != null)
- map['UserGroupCodes'] = userGroupCodes;
- map['Price'] = price;
- if(courseVideoCodes != null)
- map['CourseVideoCodes'] = courseVideoCodes;
- if(courseMaterialCodes != null)
- map['CourseMaterialCodes'] = courseMaterialCodes;
- if(bindExams != null)
- map['BindExams'] = bindExams;
- map['IsSmallClass'] = isSmallClass;
- if(assistants != null)
- map['Assistants'] = assistants;
- if(experts != null)
- map['Experts'] = experts;
- map['IsAgentCourse'] = isAgentCourse;
- if(courseAlbumCodes != null)
- map['CourseAlbumCodes'] = courseAlbumCodes;
- map['CourseAppearType'] = courseAppearType.index;
- return map;
- }
- }
- enum CourseViewRangeEnum {
- All,
- Domestic,
- Overseas,
- }
- enum CourseExaminationTypeEnum {
- Practice,
- Exam,
- }
- class BaseCourseExaminationDTO {
- String? code;
- String? name;
- bool isRelease;
- CourseExaminationTypeEnum examinationType;
- DateTime? startTime;
- int examDuration;
- double totalScore;
- BaseCourseExaminationDTO({
- this.code,
- this.name,
- this.isRelease = false,
- this.examinationType = CourseExaminationTypeEnum.Practice,
- this.startTime,
- this.examDuration = 0,
- this.totalScore = 0,
- });
- factory BaseCourseExaminationDTO.fromJson(Map<String, dynamic> map) {
- return BaseCourseExaminationDTO(
- code: map['Code'],
- name: map['Name'],
- isRelease: map['IsRelease'],
- examinationType: CourseExaminationTypeEnum.values.firstWhere((e) => e.index == map['ExaminationType']),
- startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
- examDuration: map['ExamDuration'],
- totalScore: double.parse(map['TotalScore'].toString()),
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(code != null) {
- map['Code'] = code;
- }
- if(name != null) {
- map['Name'] = name;
- }
- map['IsRelease'] = isRelease;
- map['ExaminationType'] = examinationType.index;
- if(startTime != null) {
- map['StartTime'] = JsonRpcUtils.dateFormat(startTime!);
- }
- map['ExamDuration'] = examDuration;
- map['TotalScore'] = totalScore;
- return map;
- }
- }
- enum QuestionTypeEnum {
- placeHolder_0,
- Judge,
- SingleChoice,
- MultipleChoice,
- ShortAnswer,
- }
- class QuestionOptionDTO {
- String? code;
- String? content;
- bool trueOrFalse;
- QuestionOptionDTO({
- this.code,
- this.content,
- this.trueOrFalse = false,
- });
- factory QuestionOptionDTO.fromJson(Map<String, dynamic> map) {
- return QuestionOptionDTO(
- code: map['Code'],
- content: map['Content'],
- trueOrFalse: map['TrueOrFalse'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(code != null) {
- map['Code'] = code;
- }
- if(content != null) {
- map['Content'] = content;
- }
- map['TrueOrFalse'] = trueOrFalse;
- return map;
- }
- }
- class QuestionFileDTO {
- String? sourceUrl;
- String? previewImageUrl;
- String? coverImageUrl;
- DateTime? createTime;
- String? creatorCode;
- RemedicalFileDataTypeEnum fileDataType;
- QuestionFileDTO({
- this.sourceUrl,
- this.previewImageUrl,
- this.coverImageUrl,
- this.createTime,
- this.creatorCode,
- this.fileDataType = RemedicalFileDataTypeEnum.VinnoVidSingle,
- });
- factory QuestionFileDTO.fromJson(Map<String, dynamic> map) {
- return QuestionFileDTO(
- sourceUrl: map['SourceUrl'],
- previewImageUrl: map['PreviewImageUrl'],
- coverImageUrl: map['CoverImageUrl'],
- createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
- creatorCode: map['CreatorCode'],
- fileDataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['FileDataType']),
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(sourceUrl != null) {
- map['SourceUrl'] = sourceUrl;
- }
- if(previewImageUrl != null) {
- map['PreviewImageUrl'] = previewImageUrl;
- }
- if(coverImageUrl != null) {
- map['CoverImageUrl'] = coverImageUrl;
- }
- if(createTime != null) {
- map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
- }
- if(creatorCode != null) {
- map['CreatorCode'] = creatorCode;
- }
- map['FileDataType'] = fileDataType.index;
- return map;
- }
- }
- class CourseExaminationQuestionDTO {
- String? code;
- String? stem;
- QuestionTypeEnum questionType;
- List<QuestionOptionDTO>? questionOptionList;
- List<QuestionFileDTO>? fileList;
- bool trueOrFalse;
- double score;
- CourseExaminationQuestionDTO({
- this.code,
- this.stem,
- this.questionType = QuestionTypeEnum.Judge,
- this.questionOptionList,
- this.fileList,
- this.trueOrFalse = false,
- this.score = 0,
- });
- factory CourseExaminationQuestionDTO.fromJson(Map<String, dynamic> map) {
- return CourseExaminationQuestionDTO(
- code: map['Code'],
- stem: map['Stem'],
- questionType: QuestionTypeEnum.values.firstWhere((e) => e.index == map['QuestionType']),
- questionOptionList: map['QuestionOptionList'] != null ? (map['QuestionOptionList'] as List).map((e)=>QuestionOptionDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- fileList: map['FileList'] != null ? (map['FileList'] as List).map((e)=>QuestionFileDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- trueOrFalse: map['TrueOrFalse'],
- score: double.parse(map['Score'].toString()),
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(code != null) {
- map['Code'] = code;
- }
- if(stem != null) {
- map['Stem'] = stem;
- }
- map['QuestionType'] = questionType.index;
- if(questionOptionList != null) {
- map['QuestionOptionList'] = questionOptionList;
- }
- if(fileList != null) {
- map['FileList'] = fileList;
- }
- map['TrueOrFalse'] = trueOrFalse;
- map['Score'] = score;
- return map;
- }
- }
- class CourseExaminationDTO extends BaseCourseExaminationDTO{
- List<CourseExaminationQuestionDTO>? questionList;
- int submitLimitCount;
- int passingScore;
- CourseExaminationDTO({
- this.questionList,
- this.submitLimitCount = 0,
- this.passingScore = 0,
- String? code,
- String? name,
- bool isRelease = false,
- CourseExaminationTypeEnum examinationType = CourseExaminationTypeEnum.Practice,
- DateTime? startTime,
- int examDuration = 0,
- double totalScore = 0,
- }) : super(
- code: code,
- name: name,
- isRelease: isRelease,
- examinationType: examinationType,
- startTime: startTime,
- examDuration: examDuration,
- totalScore: totalScore,
- );
- factory CourseExaminationDTO.fromJson(Map<String, dynamic> map) {
- return CourseExaminationDTO(
- questionList: map['QuestionList'] != null ? (map['QuestionList'] as List).map((e)=>CourseExaminationQuestionDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- submitLimitCount: map['SubmitLimitCount'],
- passingScore: map['PassingScore'],
- code: map['Code'],
- name: map['Name'],
- isRelease: map['IsRelease'],
- examinationType: CourseExaminationTypeEnum.values.firstWhere((e) => e.index == map['ExaminationType']),
- startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
- examDuration: map['ExamDuration'],
- totalScore: double.parse(map['TotalScore'].toString()),
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(questionList != null)
- map['QuestionList'] = questionList;
- map['SubmitLimitCount'] = submitLimitCount;
- map['PassingScore'] = passingScore;
- return map;
- }
- }
- enum StudentCourseStatusEnum {
- All,
- SignUp,
- NoSignUp,
- Joined,
- Ended,
- MyCreated,
- }
- enum LearnerStatusEnum {
- Unknown,
- NoApproval,
- Accept,
- Reject,
- }
- class StudentInfoDTO {
- String? code;
- String? name;
- String? phone;
- bool isPay;
- StudentCourseStatusEnum signCourseStatus;
- LearnerStatusEnum learnerStatus;
- StudentInfoDTO({
- this.code,
- this.name,
- this.phone,
- this.isPay = false,
- this.signCourseStatus = StudentCourseStatusEnum.All,
- this.learnerStatus = LearnerStatusEnum.Unknown,
- });
- factory StudentInfoDTO.fromJson(Map<String, dynamic> map) {
- return StudentInfoDTO(
- code: map['Code'],
- name: map['Name'],
- phone: map['Phone'],
- isPay: map['IsPay'],
- signCourseStatus: StudentCourseStatusEnum.values.firstWhere((e) => e.index == map['SignCourseStatus']),
- learnerStatus: LearnerStatusEnum.values.firstWhere((e) => e.index == map['LearnerStatus']),
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(code != null) {
- map['Code'] = code;
- }
- if(name != null) {
- map['Name'] = name;
- }
- if(phone != null) {
- map['Phone'] = phone;
- }
- map['IsPay'] = isPay;
- map['SignCourseStatus'] = signCourseStatus.index;
- map['LearnerStatus'] = learnerStatus.index;
- return map;
- }
- }
- class ScreenSharingChannelDTO {
- int rtcRoomId;
- int sdkAppId;
- String? userCode;
- String? userSign;
- LiveDataDTO? liveData;
- ScreenSharingChannelDTO({
- this.rtcRoomId = 0,
- this.sdkAppId = 0,
- this.userCode,
- this.userSign,
- this.liveData,
- });
- factory ScreenSharingChannelDTO.fromJson(Map<String, dynamic> map) {
- return ScreenSharingChannelDTO(
- rtcRoomId: map['RtcRoomId'],
- sdkAppId: map['SdkAppId'],
- userCode: map['UserCode'],
- userSign: map['UserSign'],
- liveData: map['LiveData'] != null ? LiveDataDTO.fromJson(map['LiveData']) : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- map['RtcRoomId'] = rtcRoomId;
- map['SdkAppId'] = sdkAppId;
- if(userCode != null) {
- map['UserCode'] = userCode;
- }
- if(userSign != null) {
- map['UserSign'] = userSign;
- }
- if(liveData != null) {
- map['LiveData'] = liveData;
- }
- return map;
- }
- }
- class BaseCourseInfoDTO {
- String? code;
- String? name;
- String? courseIntro;
- String? teacherCode;
- String? teacherName;
- String? cover;
- DateTime? startTime;
- int duration;
- DateTime? actualStartTime;
- DateTime? actualEndTime;
- CourseTypeEnum courseType;
- CourseAudienceTypeEnum audienceType;
- String? coursewareToken;
- CourseStatusEnum status;
- CourseViewRangeEnum viewRange;
- String? creatorCode;
- String? organizationCode;
- DateTime? createTime;
- double price;
- List<String>? courseLabelCodes;
- List<String>? caseLabelCodes;
- List<String>? userGroupCodes;
- List<String>? courseVideoCodes;
- List<String>? courseMaterialCodes;
- List<CourseExaminationDTO>? bindExams;
- bool isSmallClass;
- List<StudentInfoDTO>? assistants;
- List<StudentInfoDTO>? experts;
- bool isAgentCourse;
- List<String>? courseAlbumCodes;
- CourseAppearTypeEnum courseAppearType;
- bool isStick;
- int sort;
- int playCount;
- int signInCount;
- String? defaultVideoToken;
- LiveDataDTO? courseChannel;
- LiveDataDTO? othersScreenSharingChannel;
- ScreenSharingChannelDTO? rtcScreenSharingChannel;
- BaseCourseInfoDTO({
- this.code,
- this.name,
- this.courseIntro,
- this.teacherCode,
- this.teacherName,
- this.cover,
- this.startTime,
- this.duration = 0,
- this.actualStartTime,
- this.actualEndTime,
- this.courseType = CourseTypeEnum.Unknown,
- this.audienceType = CourseAudienceTypeEnum.Unknown,
- this.coursewareToken,
- this.status = CourseStatusEnum.Unknown,
- this.viewRange = CourseViewRangeEnum.All,
- this.creatorCode,
- this.organizationCode,
- this.createTime,
- this.price = 0,
- this.courseLabelCodes,
- this.caseLabelCodes,
- this.userGroupCodes,
- this.courseVideoCodes,
- this.courseMaterialCodes,
- this.bindExams,
- this.isSmallClass = false,
- this.assistants,
- this.experts,
- this.isAgentCourse = false,
- this.courseAlbumCodes,
- this.courseAppearType = CourseAppearTypeEnum.Unknown,
- this.isStick = false,
- this.sort = 0,
- this.playCount = 0,
- this.signInCount = 0,
- this.defaultVideoToken,
- this.courseChannel,
- this.othersScreenSharingChannel,
- this.rtcScreenSharingChannel,
- });
- factory BaseCourseInfoDTO.fromJson(Map<String, dynamic> map) {
- return BaseCourseInfoDTO(
- code: map['Code'],
- name: map['Name'],
- courseIntro: map['CourseIntro'],
- teacherCode: map['TeacherCode'],
- teacherName: map['TeacherName'],
- cover: map['Cover'],
- startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
- duration: map['Duration'],
- actualStartTime: map['ActualStartTime'] != null ? DateTime.parse(map['ActualStartTime']) : null,
- actualEndTime: map['ActualEndTime'] != null ? DateTime.parse(map['ActualEndTime']) : null,
- courseType: CourseTypeEnum.values.firstWhere((e) => e.index == map['CourseType']),
- audienceType: CourseAudienceTypeEnum.values.firstWhere((e) => e.index == map['AudienceType']),
- coursewareToken: map['CoursewareToken'],
- status: CourseStatusEnum.values.firstWhere((e) => e.index == map['Status']),
- viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
- creatorCode: map['CreatorCode'],
- organizationCode: map['OrganizationCode'],
- createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
- price: double.parse(map['Price'].toString()),
- courseLabelCodes: map['CourseLabelCodes']?.cast<String>().toList(),
- caseLabelCodes: map['CaseLabelCodes']?.cast<String>().toList(),
- userGroupCodes: map['UserGroupCodes']?.cast<String>().toList(),
- courseVideoCodes: map['CourseVideoCodes']?.cast<String>().toList(),
- courseMaterialCodes: map['CourseMaterialCodes']?.cast<String>().toList(),
- bindExams: map['BindExams'] != null ? (map['BindExams'] as List).map((e)=>CourseExaminationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- isSmallClass: map['IsSmallClass'],
- assistants: map['Assistants'] != null ? (map['Assistants'] as List).map((e)=>StudentInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- experts: map['Experts'] != null ? (map['Experts'] as List).map((e)=>StudentInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- isAgentCourse: map['IsAgentCourse'],
- courseAlbumCodes: map['CourseAlbumCodes']?.cast<String>().toList(),
- courseAppearType: CourseAppearTypeEnum.values.firstWhere((e) => e.index == map['CourseAppearType']),
- isStick: map['IsStick'],
- sort: map['Sort'],
- playCount: map['PlayCount'],
- signInCount: map['SignInCount'],
- defaultVideoToken: map['DefaultVideoToken'],
- courseChannel: map['CourseChannel'] != null ? LiveDataDTO.fromJson(map['CourseChannel']) : null,
- othersScreenSharingChannel: map['OthersScreenSharingChannel'] != null ? LiveDataDTO.fromJson(map['OthersScreenSharingChannel']) : null,
- rtcScreenSharingChannel: map['RtcScreenSharingChannel'] != null ? ScreenSharingChannelDTO.fromJson(map['RtcScreenSharingChannel']) : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(code != null) {
- map['Code'] = code;
- }
- if(name != null) {
- map['Name'] = name;
- }
- if(courseIntro != null) {
- map['CourseIntro'] = courseIntro;
- }
- if(teacherCode != null) {
- map['TeacherCode'] = teacherCode;
- }
- if(teacherName != null) {
- map['TeacherName'] = teacherName;
- }
- if(cover != null) {
- map['Cover'] = cover;
- }
- if(startTime != null) {
- map['StartTime'] = JsonRpcUtils.dateFormat(startTime!);
- }
- map['Duration'] = duration;
- if(actualStartTime != null) {
- map['ActualStartTime'] = JsonRpcUtils.dateFormat(actualStartTime!);
- }
- if(actualEndTime != null) {
- map['ActualEndTime'] = JsonRpcUtils.dateFormat(actualEndTime!);
- }
- map['CourseType'] = courseType.index;
- map['AudienceType'] = audienceType.index;
- if(coursewareToken != null) {
- map['CoursewareToken'] = coursewareToken;
- }
- map['Status'] = status.index;
- map['ViewRange'] = viewRange.index;
- if(creatorCode != null) {
- map['CreatorCode'] = creatorCode;
- }
- if(organizationCode != null) {
- map['OrganizationCode'] = organizationCode;
- }
- if(createTime != null) {
- map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
- }
- map['Price'] = price;
- if(courseLabelCodes != null) {
- map['CourseLabelCodes'] = courseLabelCodes;
- }
- if(caseLabelCodes != null) {
- map['CaseLabelCodes'] = caseLabelCodes;
- }
- if(userGroupCodes != null) {
- map['UserGroupCodes'] = userGroupCodes;
- }
- if(courseVideoCodes != null) {
- map['CourseVideoCodes'] = courseVideoCodes;
- }
- if(courseMaterialCodes != null) {
- map['CourseMaterialCodes'] = courseMaterialCodes;
- }
- if(bindExams != null) {
- map['BindExams'] = bindExams;
- }
- map['IsSmallClass'] = isSmallClass;
- if(assistants != null) {
- map['Assistants'] = assistants;
- }
- if(experts != null) {
- map['Experts'] = experts;
- }
- map['IsAgentCourse'] = isAgentCourse;
- if(courseAlbumCodes != null) {
- map['CourseAlbumCodes'] = courseAlbumCodes;
- }
- map['CourseAppearType'] = courseAppearType.index;
- map['IsStick'] = isStick;
- map['Sort'] = sort;
- map['PlayCount'] = playCount;
- map['SignInCount'] = signInCount;
- if(defaultVideoToken != null) {
- map['DefaultVideoToken'] = defaultVideoToken;
- }
- if(courseChannel != null) {
- map['CourseChannel'] = courseChannel;
- }
- if(othersScreenSharingChannel != null) {
- map['OthersScreenSharingChannel'] = othersScreenSharingChannel;
- }
- if(rtcScreenSharingChannel != null) {
- map['RtcScreenSharingChannel'] = rtcScreenSharingChannel;
- }
- return map;
- }
- }
- class BaseUserGroupDTO extends BaseDTO{
- String? code;
- String? name;
- String? shortCode;
- BaseUserGroupDTO({
- this.code,
- this.name,
- this.shortCode,
- DateTime? createTime,
- DateTime? updateTime,
- }) : super(
- createTime: createTime,
- updateTime: updateTime,
- );
- factory BaseUserGroupDTO.fromJson(Map<String, dynamic> map) {
- return BaseUserGroupDTO(
- code: map['Code'],
- name: map['Name'],
- shortCode: map['ShortCode'],
- createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
- updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(code != null)
- map['Code'] = code;
- if(name != null)
- map['Name'] = name;
- if(shortCode != null)
- map['ShortCode'] = shortCode;
- return map;
- }
- }
- enum UploadFileTypeEnum {
- Unknown,
- EXE,
- APK,
- IPA,
- ZIP,
- DAT,
- RAR,
- PNG,
- ICON,
- BMP,
- JPEG,
- JPG,
- GIF,
- WEBP,
- TIFF,
- IMG,
- PDF,
- DOC,
- DOCX,
- XLS,
- XLSX,
- MP4,
- MSI,
- VID,
- DICOM,
- PPT,
- PPTX,
- M4V,
- FVID,
- }
- class VideoInfoDTO {
- String? code;
- String? name;
- String? videoToken;
- String? poster;
- String? vodFileId;
- int duration;
- double videoSize;
- DateTime? createTime;
- String? creatorCode;
- String? creatorName;
- UploadFileTypeEnum fodderType;
- bool isPublic;
- CourseViewRangeEnum viewRange;
- int playCount;
- String? srcFileToken;
- VideoInfoDTO({
- this.code,
- this.name,
- this.videoToken,
- this.poster,
- this.vodFileId,
- this.duration = 0,
- this.videoSize = 0,
- this.createTime,
- this.creatorCode,
- this.creatorName,
- this.fodderType = UploadFileTypeEnum.Unknown,
- this.isPublic = false,
- this.viewRange = CourseViewRangeEnum.All,
- this.playCount = 0,
- this.srcFileToken,
- });
- factory VideoInfoDTO.fromJson(Map<String, dynamic> map) {
- return VideoInfoDTO(
- code: map['Code'],
- name: map['Name'],
- videoToken: map['VideoToken'],
- poster: map['Poster'],
- vodFileId: map['VodFileId'],
- duration: map['Duration'],
- videoSize: double.parse(map['VideoSize'].toString()),
- createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
- creatorCode: map['CreatorCode'],
- creatorName: map['CreatorName'],
- fodderType: UploadFileTypeEnum.values.firstWhere((e) => e.index == map['FodderType']),
- isPublic: map['IsPublic'],
- viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
- playCount: map['PlayCount'],
- srcFileToken: map['SrcFileToken'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(code != null) {
- map['Code'] = code;
- }
- if(name != null) {
- map['Name'] = name;
- }
- if(videoToken != null) {
- map['VideoToken'] = videoToken;
- }
- if(poster != null) {
- map['Poster'] = poster;
- }
- if(vodFileId != null) {
- map['VodFileId'] = vodFileId;
- }
- map['Duration'] = duration;
- map['VideoSize'] = videoSize;
- if(createTime != null) {
- map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
- }
- if(creatorCode != null) {
- map['CreatorCode'] = creatorCode;
- }
- if(creatorName != null) {
- map['CreatorName'] = creatorName;
- }
- map['FodderType'] = fodderType.index;
- map['IsPublic'] = isPublic;
- map['ViewRange'] = viewRange.index;
- map['PlayCount'] = playCount;
- if(srcFileToken != null) {
- map['SrcFileToken'] = srcFileToken;
- }
- return map;
- }
- }
- class BaseCourseAlbumDTO {
- String? code;
- String? name;
- BaseCourseAlbumDTO({
- this.code,
- this.name,
- });
- factory BaseCourseAlbumDTO.fromJson(Map<String, dynamic> map) {
- return BaseCourseAlbumDTO(
- code: map['Code'],
- name: map['Name'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(code != null) {
- map['Code'] = code;
- }
- if(name != null) {
- map['Name'] = name;
- }
- return map;
- }
- }
- class CourseInfoDetailDTO extends BaseCourseInfoDTO{
- List<BaseLabelInfoDTO>? caseLabels;
- List<BaseLabelInfoDTO>? courseLabels;
- List<BaseUserGroupDTO>? userGroups;
- List<VideoInfoDTO>? courseVideos;
- List<VideoInfoDTO>? courseMaterials;
- List<BaseCourseAlbumDTO>? courseAlbums;
- bool needPay;
- StudentCourseStatusEnum signCourseStatus;
- bool isPay;
- bool isParticipant;
- bool isAssistant;
- String? courseLiveUrl;
- String? courseShareUrl;
- CourseInfoDetailDTO({
- this.caseLabels,
- this.courseLabels,
- this.userGroups,
- this.courseVideos,
- this.courseMaterials,
- this.courseAlbums,
- this.needPay = false,
- this.signCourseStatus = StudentCourseStatusEnum.All,
- this.isPay = false,
- this.isParticipant = false,
- this.isAssistant = false,
- this.courseLiveUrl,
- this.courseShareUrl,
- String? code,
- String? name,
- String? courseIntro,
- String? teacherCode,
- String? teacherName,
- String? cover,
- DateTime? startTime,
- int duration = 0,
- DateTime? actualStartTime,
- DateTime? actualEndTime,
- CourseTypeEnum courseType = CourseTypeEnum.Unknown,
- CourseAudienceTypeEnum audienceType = CourseAudienceTypeEnum.Unknown,
- String? coursewareToken,
- CourseStatusEnum status = CourseStatusEnum.Unknown,
- CourseViewRangeEnum viewRange = CourseViewRangeEnum.All,
- String? creatorCode,
- String? organizationCode,
- DateTime? createTime,
- double price = 0,
- List<String>? courseLabelCodes,
- List<String>? caseLabelCodes,
- List<String>? userGroupCodes,
- List<String>? courseVideoCodes,
- List<String>? courseMaterialCodes,
- List<CourseExaminationDTO>? bindExams,
- bool isSmallClass = false,
- List<StudentInfoDTO>? assistants,
- List<StudentInfoDTO>? experts,
- bool isAgentCourse = false,
- List<String>? courseAlbumCodes,
- CourseAppearTypeEnum courseAppearType = CourseAppearTypeEnum.Unknown,
- bool isStick = false,
- int sort = 0,
- int playCount = 0,
- int signInCount = 0,
- String? defaultVideoToken,
- LiveDataDTO? courseChannel,
- LiveDataDTO? othersScreenSharingChannel,
- ScreenSharingChannelDTO? rtcScreenSharingChannel,
- }) : super(
- code: code,
- name: name,
- courseIntro: courseIntro,
- teacherCode: teacherCode,
- teacherName: teacherName,
- cover: cover,
- startTime: startTime,
- duration: duration,
- actualStartTime: actualStartTime,
- actualEndTime: actualEndTime,
- courseType: courseType,
- audienceType: audienceType,
- coursewareToken: coursewareToken,
- status: status,
- viewRange: viewRange,
- creatorCode: creatorCode,
- organizationCode: organizationCode,
- createTime: createTime,
- price: price,
- courseLabelCodes: courseLabelCodes,
- caseLabelCodes: caseLabelCodes,
- userGroupCodes: userGroupCodes,
- courseVideoCodes: courseVideoCodes,
- courseMaterialCodes: courseMaterialCodes,
- bindExams: bindExams,
- isSmallClass: isSmallClass,
- assistants: assistants,
- experts: experts,
- isAgentCourse: isAgentCourse,
- courseAlbumCodes: courseAlbumCodes,
- courseAppearType: courseAppearType,
- isStick: isStick,
- sort: sort,
- playCount: playCount,
- signInCount: signInCount,
- defaultVideoToken: defaultVideoToken,
- courseChannel: courseChannel,
- othersScreenSharingChannel: othersScreenSharingChannel,
- rtcScreenSharingChannel: rtcScreenSharingChannel,
- );
- factory CourseInfoDetailDTO.fromJson(Map<String, dynamic> map) {
- return CourseInfoDetailDTO(
- caseLabels: map['CaseLabels'] != null ? (map['CaseLabels'] as List).map((e)=>BaseLabelInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- courseLabels: map['CourseLabels'] != null ? (map['CourseLabels'] as List).map((e)=>BaseLabelInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- userGroups: map['UserGroups'] != null ? (map['UserGroups'] as List).map((e)=>BaseUserGroupDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- courseVideos: map['CourseVideos'] != null ? (map['CourseVideos'] as List).map((e)=>VideoInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- courseMaterials: map['CourseMaterials'] != null ? (map['CourseMaterials'] as List).map((e)=>VideoInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- courseAlbums: map['CourseAlbums'] != null ? (map['CourseAlbums'] as List).map((e)=>BaseCourseAlbumDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- needPay: map['NeedPay'],
- signCourseStatus: StudentCourseStatusEnum.values.firstWhere((e) => e.index == map['SignCourseStatus']),
- isPay: map['IsPay'],
- isParticipant: map['IsParticipant'],
- isAssistant: map['IsAssistant'],
- courseLiveUrl: map['CourseLiveUrl'],
- courseShareUrl: map['CourseShareUrl'],
- code: map['Code'],
- name: map['Name'],
- courseIntro: map['CourseIntro'],
- teacherCode: map['TeacherCode'],
- teacherName: map['TeacherName'],
- cover: map['Cover'],
- startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
- duration: map['Duration'],
- actualStartTime: map['ActualStartTime'] != null ? DateTime.parse(map['ActualStartTime']) : null,
- actualEndTime: map['ActualEndTime'] != null ? DateTime.parse(map['ActualEndTime']) : null,
- courseType: CourseTypeEnum.values.firstWhere((e) => e.index == map['CourseType']),
- audienceType: CourseAudienceTypeEnum.values.firstWhere((e) => e.index == map['AudienceType']),
- coursewareToken: map['CoursewareToken'],
- status: CourseStatusEnum.values.firstWhere((e) => e.index == map['Status']),
- viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
- creatorCode: map['CreatorCode'],
- organizationCode: map['OrganizationCode'],
- createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
- price: double.parse(map['Price'].toString()),
- courseLabelCodes: map['CourseLabelCodes']?.cast<String>().toList(),
- caseLabelCodes: map['CaseLabelCodes']?.cast<String>().toList(),
- userGroupCodes: map['UserGroupCodes']?.cast<String>().toList(),
- courseVideoCodes: map['CourseVideoCodes']?.cast<String>().toList(),
- courseMaterialCodes: map['CourseMaterialCodes']?.cast<String>().toList(),
- bindExams: map['BindExams'] != null ? (map['BindExams'] as List).map((e)=>CourseExaminationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- isSmallClass: map['IsSmallClass'],
- assistants: map['Assistants'] != null ? (map['Assistants'] as List).map((e)=>StudentInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- experts: map['Experts'] != null ? (map['Experts'] as List).map((e)=>StudentInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- isAgentCourse: map['IsAgentCourse'],
- courseAlbumCodes: map['CourseAlbumCodes']?.cast<String>().toList(),
- courseAppearType: CourseAppearTypeEnum.values.firstWhere((e) => e.index == map['CourseAppearType']),
- isStick: map['IsStick'],
- sort: map['Sort'],
- playCount: map['PlayCount'],
- signInCount: map['SignInCount'],
- defaultVideoToken: map['DefaultVideoToken'],
- courseChannel: map['CourseChannel'] != null ? LiveDataDTO.fromJson(map['CourseChannel']) : null,
- othersScreenSharingChannel: map['OthersScreenSharingChannel'] != null ? LiveDataDTO.fromJson(map['OthersScreenSharingChannel']) : null,
- rtcScreenSharingChannel: map['RtcScreenSharingChannel'] != null ? ScreenSharingChannelDTO.fromJson(map['RtcScreenSharingChannel']) : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(caseLabels != null)
- map['CaseLabels'] = caseLabels;
- if(courseLabels != null)
- map['CourseLabels'] = courseLabels;
- if(userGroups != null)
- map['UserGroups'] = userGroups;
- if(courseVideos != null)
- map['CourseVideos'] = courseVideos;
- if(courseMaterials != null)
- map['CourseMaterials'] = courseMaterials;
- if(courseAlbums != null)
- map['CourseAlbums'] = courseAlbums;
- map['NeedPay'] = needPay;
- map['SignCourseStatus'] = signCourseStatus.index;
- map['IsPay'] = isPay;
- map['IsParticipant'] = isParticipant;
- map['IsAssistant'] = isAssistant;
- if(courseLiveUrl != null)
- map['CourseLiveUrl'] = courseLiveUrl;
- if(courseShareUrl != null)
- map['CourseShareUrl'] = courseShareUrl;
- return map;
- }
- }
- enum QueryCourseApprovalStatusEnum {
- All,
- NotApproval,
- Approved,
- }
- class FindCoursePagesRequest extends PageRequest{
- String? keyword;
- List<String>? courseLabels;
- DateTime? startTime;
- DateTime? endTime;
- String? teacherCode;
- String? participantCode;
- String? languageCode;
- QueryCourseApprovalStatusEnum courseApprovalStatus;
- bool justPastVideo;
- FindCoursePagesRequest({
- this.keyword,
- this.courseLabels,
- this.startTime,
- this.endTime,
- this.teacherCode,
- this.participantCode,
- this.languageCode,
- this.courseApprovalStatus = QueryCourseApprovalStatusEnum.All,
- this.justPastVideo = false,
- int pageIndex = 0,
- int pageSize = 0,
- String? token,
- }) : super(
- pageIndex: pageIndex,
- pageSize: pageSize,
- token: token,
- );
- factory FindCoursePagesRequest.fromJson(Map<String, dynamic> map) {
- return FindCoursePagesRequest(
- keyword: map['Keyword'],
- courseLabels: map['CourseLabels']?.cast<String>().toList(),
- startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
- endTime: map['EndTime'] != null ? DateTime.parse(map['EndTime']) : null,
- teacherCode: map['TeacherCode'],
- participantCode: map['ParticipantCode'],
- languageCode: map['LanguageCode'],
- courseApprovalStatus: QueryCourseApprovalStatusEnum.values.firstWhere((e) => e.index == map['CourseApprovalStatus']),
- justPastVideo: map['JustPastVideo'],
- pageIndex: map['PageIndex'],
- pageSize: map['PageSize'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(keyword != null)
- map['Keyword'] = keyword;
- if(courseLabels != null)
- map['CourseLabels'] = courseLabels;
- if(startTime != null)
- map['StartTime'] = JsonRpcUtils.dateFormat(startTime!);
- if(endTime != null)
- map['EndTime'] = JsonRpcUtils.dateFormat(endTime!);
- if(teacherCode != null)
- map['TeacherCode'] = teacherCode;
- if(participantCode != null)
- map['ParticipantCode'] = participantCode;
- if(languageCode != null)
- map['LanguageCode'] = languageCode;
- map['CourseApprovalStatus'] = courseApprovalStatus.index;
- map['JustPastVideo'] = justPastVideo;
- return map;
- }
- }
- class DeleteCourseByCodeRequest extends TokenRequest{
- String? code;
- DeleteCourseByCodeRequest({
- this.code,
- String? token,
- }) : super(
- token: token,
- );
- factory DeleteCourseByCodeRequest.fromJson(Map<String, dynamic> map) {
- return DeleteCourseByCodeRequest(
- code: map['Code'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(code != null)
- map['Code'] = code;
- return map;
- }
- }
- class UpdateCourseRequest extends TokenRequest{
- String? code;
- String? name;
- String? courseIntro;
- String? teacherCode;
- String? cover;
- DateTime? startTime;
- int duration;
- CourseTypeEnum courseType;
- CourseAudienceTypeEnum audienceType;
- String? coursewareToken;
- List<String>? caseLabelCodes;
- List<String>? courseLabelCodes;
- List<String>? userGroupCodes;
- double price;
- List<String>? courseVideoCodes;
- List<String>? bindExams;
- bool isSmallClass;
- List<String>? assistants;
- List<String>? experts;
- bool isAgentCourse;
- List<String>? courseAlbumCodes;
- CourseAppearTypeEnum courseAppearType;
- List<String>? courseMaterialCodes;
- UpdateCourseRequest({
- this.code,
- this.name,
- this.courseIntro,
- this.teacherCode,
- this.cover,
- this.startTime,
- this.duration = 0,
- this.courseType = CourseTypeEnum.Unknown,
- this.audienceType = CourseAudienceTypeEnum.Unknown,
- this.coursewareToken,
- this.caseLabelCodes,
- this.courseLabelCodes,
- this.userGroupCodes,
- this.price = 0,
- this.courseVideoCodes,
- this.bindExams,
- this.isSmallClass = false,
- this.assistants,
- this.experts,
- this.isAgentCourse = false,
- this.courseAlbumCodes,
- this.courseAppearType = CourseAppearTypeEnum.Unknown,
- this.courseMaterialCodes,
- String? token,
- }) : super(
- token: token,
- );
- factory UpdateCourseRequest.fromJson(Map<String, dynamic> map) {
- return UpdateCourseRequest(
- code: map['Code'],
- name: map['Name'],
- courseIntro: map['CourseIntro'],
- teacherCode: map['TeacherCode'],
- cover: map['Cover'],
- startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
- duration: map['Duration'],
- courseType: CourseTypeEnum.values.firstWhere((e) => e.index == map['CourseType']),
- audienceType: CourseAudienceTypeEnum.values.firstWhere((e) => e.index == map['AudienceType']),
- coursewareToken: map['CoursewareToken'],
- caseLabelCodes: map['CaseLabelCodes']?.cast<String>().toList(),
- courseLabelCodes: map['CourseLabelCodes']?.cast<String>().toList(),
- userGroupCodes: map['UserGroupCodes']?.cast<String>().toList(),
- price: double.parse(map['Price'].toString()),
- courseVideoCodes: map['CourseVideoCodes']?.cast<String>().toList(),
- bindExams: map['BindExams']?.cast<String>().toList(),
- isSmallClass: map['IsSmallClass'],
- assistants: map['Assistants']?.cast<String>().toList(),
- experts: map['Experts']?.cast<String>().toList(),
- isAgentCourse: map['IsAgentCourse'],
- courseAlbumCodes: map['CourseAlbumCodes']?.cast<String>().toList(),
- courseAppearType: CourseAppearTypeEnum.values.firstWhere((e) => e.index == map['CourseAppearType']),
- courseMaterialCodes: map['CourseMaterialCodes']?.cast<String>().toList(),
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(code != null)
- map['Code'] = code;
- if(name != null)
- map['Name'] = name;
- if(courseIntro != null)
- map['CourseIntro'] = courseIntro;
- if(teacherCode != null)
- map['TeacherCode'] = teacherCode;
- if(cover != null)
- map['Cover'] = cover;
- if(startTime != null)
- map['StartTime'] = JsonRpcUtils.dateFormat(startTime!);
- map['Duration'] = duration;
- map['CourseType'] = courseType.index;
- map['AudienceType'] = audienceType.index;
- if(coursewareToken != null)
- map['CoursewareToken'] = coursewareToken;
- if(caseLabelCodes != null)
- map['CaseLabelCodes'] = caseLabelCodes;
- if(courseLabelCodes != null)
- map['CourseLabelCodes'] = courseLabelCodes;
- if(userGroupCodes != null)
- map['UserGroupCodes'] = userGroupCodes;
- map['Price'] = price;
- if(courseVideoCodes != null)
- map['CourseVideoCodes'] = courseVideoCodes;
- if(bindExams != null)
- map['BindExams'] = bindExams;
- map['IsSmallClass'] = isSmallClass;
- if(assistants != null)
- map['Assistants'] = assistants;
- if(experts != null)
- map['Experts'] = experts;
- map['IsAgentCourse'] = isAgentCourse;
- if(courseAlbumCodes != null)
- map['CourseAlbumCodes'] = courseAlbumCodes;
- map['CourseAppearType'] = courseAppearType.index;
- if(courseMaterialCodes != null)
- map['CourseMaterialCodes'] = courseMaterialCodes;
- return map;
- }
- }
- class FindCourseByCodeRequest extends TokenRequest{
- String? code;
- String? languageCode;
- FindCourseByCodeRequest({
- this.code,
- this.languageCode,
- String? token,
- }) : super(
- token: token,
- );
- factory FindCourseByCodeRequest.fromJson(Map<String, dynamic> map) {
- return FindCourseByCodeRequest(
- code: map['Code'],
- languageCode: map['LanguageCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(code != null)
- map['Code'] = code;
- if(languageCode != null)
- map['LanguageCode'] = languageCode;
- return map;
- }
- }
- class FindMyCoursePagesRequest extends PageRequest{
- String? keyword;
- StudentCourseStatusEnum queryStatus;
- FindMyCoursePagesRequest({
- this.keyword,
- this.queryStatus = StudentCourseStatusEnum.All,
- int pageIndex = 0,
- int pageSize = 0,
- String? token,
- }) : super(
- pageIndex: pageIndex,
- pageSize: pageSize,
- token: token,
- );
- factory FindMyCoursePagesRequest.fromJson(Map<String, dynamic> map) {
- return FindMyCoursePagesRequest(
- keyword: map['Keyword'],
- queryStatus: StudentCourseStatusEnum.values.firstWhere((e) => e.index == map['QueryStatus']),
- pageIndex: map['PageIndex'],
- pageSize: map['PageSize'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(keyword != null)
- map['Keyword'] = keyword;
- map['QueryStatus'] = queryStatus.index;
- return map;
- }
- }
- class CourseAlbumDTO extends BaseCourseAlbumDTO{
- String? cover;
- List<String>? courseCodes;
- String? introduction;
- List<String>? courseLabelCodes;
- String? teacherCode;
- String? teacherName;
- CourseViewRangeEnum viewRange;
- double price;
- DateTime? createTime;
- int sort;
- bool isStick;
- CourseAlbumDTO({
- this.cover,
- this.courseCodes,
- this.introduction,
- this.courseLabelCodes,
- this.teacherCode,
- this.teacherName,
- this.viewRange = CourseViewRangeEnum.All,
- this.price = 0,
- this.createTime,
- this.sort = 0,
- this.isStick = false,
- String? code,
- String? name,
- }) : super(
- code: code,
- name: name,
- );
- factory CourseAlbumDTO.fromJson(Map<String, dynamic> map) {
- return CourseAlbumDTO(
- cover: map['Cover'],
- courseCodes: map['CourseCodes']?.cast<String>().toList(),
- introduction: map['Introduction'],
- courseLabelCodes: map['CourseLabelCodes']?.cast<String>().toList(),
- teacherCode: map['TeacherCode'],
- teacherName: map['TeacherName'],
- viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
- price: double.parse(map['Price'].toString()),
- createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
- sort: map['Sort'],
- isStick: map['IsStick'],
- code: map['Code'],
- name: map['Name'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(cover != null)
- map['Cover'] = cover;
- if(courseCodes != null)
- map['CourseCodes'] = courseCodes;
- if(introduction != null)
- map['Introduction'] = introduction;
- if(courseLabelCodes != null)
- map['CourseLabelCodes'] = courseLabelCodes;
- if(teacherCode != null)
- map['TeacherCode'] = teacherCode;
- if(teacherName != null)
- map['TeacherName'] = teacherName;
- map['ViewRange'] = viewRange.index;
- map['Price'] = price;
- if(createTime != null)
- map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
- map['Sort'] = sort;
- map['IsStick'] = isStick;
- return map;
- }
- }
- class UserGroupDTO extends BaseUserGroupDTO{
- int maxPeople;
- String? creatorCode;
- String? creatorName;
- List<StudentInfoDTO>? students;
- int courseCount;
- int practiceCount;
- int examCount;
- int studentCount;
- bool isAgent;
- bool isOldPlatformData;
- UserGroupDTO({
- this.maxPeople = 0,
- this.creatorCode,
- this.creatorName,
- this.students,
- this.courseCount = 0,
- this.practiceCount = 0,
- this.examCount = 0,
- this.studentCount = 0,
- this.isAgent = false,
- this.isOldPlatformData = false,
- String? code,
- String? name,
- String? shortCode,
- DateTime? createTime,
- DateTime? updateTime,
- }) : super(
- code: code,
- name: name,
- shortCode: shortCode,
- createTime: createTime,
- updateTime: updateTime,
- );
- factory UserGroupDTO.fromJson(Map<String, dynamic> map) {
- return UserGroupDTO(
- maxPeople: map['MaxPeople'],
- creatorCode: map['CreatorCode'],
- creatorName: map['CreatorName'],
- students: map['Students'] != null ? (map['Students'] as List).map((e)=>StudentInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- courseCount: map['CourseCount'],
- practiceCount: map['PracticeCount'],
- examCount: map['ExamCount'],
- studentCount: map['StudentCount'],
- isAgent: map['IsAgent'],
- isOldPlatformData: map['IsOldPlatformData'],
- code: map['Code'],
- name: map['Name'],
- shortCode: map['ShortCode'],
- createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
- updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- map['MaxPeople'] = maxPeople;
- if(creatorCode != null)
- map['CreatorCode'] = creatorCode;
- if(creatorName != null)
- map['CreatorName'] = creatorName;
- if(students != null)
- map['Students'] = students;
- map['CourseCount'] = courseCount;
- map['PracticeCount'] = practiceCount;
- map['ExamCount'] = examCount;
- map['StudentCount'] = studentCount;
- map['IsAgent'] = isAgent;
- map['IsOldPlatformData'] = isOldPlatformData;
- return map;
- }
- }
- class QueryUserGroupPageRequest extends PageRequest{
- String? keyword;
- String? teacherCode;
- bool? isOldPlatformData;
- QueryUserGroupPageRequest({
- this.keyword,
- this.teacherCode,
- this.isOldPlatformData,
- int pageIndex = 0,
- int pageSize = 0,
- String? token,
- }) : super(
- pageIndex: pageIndex,
- pageSize: pageSize,
- token: token,
- );
- factory QueryUserGroupPageRequest.fromJson(Map<String, dynamic> map) {
- return QueryUserGroupPageRequest(
- keyword: map['Keyword'],
- teacherCode: map['TeacherCode'],
- isOldPlatformData: map['IsOldPlatformData'],
- pageIndex: map['PageIndex'],
- pageSize: map['PageSize'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(keyword != null)
- map['Keyword'] = keyword;
- if(teacherCode != null)
- map['TeacherCode'] = teacherCode;
- if(isOldPlatformData != null)
- map['IsOldPlatformData'] = isOldPlatformData;
- return map;
- }
- }
- class UserGroupRequest extends TokenRequest{
- String? code;
- String? name;
- int maxPeople;
- String? creatorCode;
- List<StudentInfoDTO>? students;
- List<String>? removeStudentCodes;
- bool isAgent;
- bool notValidateRepeat;
- UserGroupRequest({
- this.code,
- this.name,
- this.maxPeople = 0,
- this.creatorCode,
- this.students,
- this.removeStudentCodes,
- this.isAgent = false,
- this.notValidateRepeat = false,
- String? token,
- }) : super(
- token: token,
- );
- factory UserGroupRequest.fromJson(Map<String, dynamic> map) {
- return UserGroupRequest(
- code: map['Code'],
- name: map['Name'],
- maxPeople: map['MaxPeople'],
- creatorCode: map['CreatorCode'],
- students: map['Students'] != null ? (map['Students'] as List).map((e)=>StudentInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- removeStudentCodes: map['RemoveStudentCodes']?.cast<String>().toList(),
- isAgent: map['IsAgent'],
- notValidateRepeat: map['NotValidateRepeat'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(code != null)
- map['Code'] = code;
- if(name != null)
- map['Name'] = name;
- map['MaxPeople'] = maxPeople;
- if(creatorCode != null)
- map['CreatorCode'] = creatorCode;
- if(students != null)
- map['Students'] = students;
- if(removeStudentCodes != null)
- map['RemoveStudentCodes'] = removeStudentCodes;
- map['IsAgent'] = isAgent;
- map['NotValidateRepeat'] = notValidateRepeat;
- return map;
- }
- }
- class UserGroupFilterRequest extends TokenRequest{
- String? userGroupCode;
- String? creatorCode;
- String? keyword;
- List<String>? studentCodes;
- UserGroupFilterRequest({
- this.userGroupCode,
- this.creatorCode,
- this.keyword,
- this.studentCodes,
- String? token,
- }) : super(
- token: token,
- );
- factory UserGroupFilterRequest.fromJson(Map<String, dynamic> map) {
- return UserGroupFilterRequest(
- userGroupCode: map['UserGroupCode'],
- creatorCode: map['CreatorCode'],
- keyword: map['Keyword'],
- studentCodes: map['StudentCodes']?.cast<String>().toList(),
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(userGroupCode != null)
- map['UserGroupCode'] = userGroupCode;
- if(creatorCode != null)
- map['CreatorCode'] = creatorCode;
- if(keyword != null)
- map['Keyword'] = keyword;
- if(studentCodes != null)
- map['StudentCodes'] = studentCodes;
- return map;
- }
- }
- class SaveVideoRequest extends TokenRequest{
- String? courseCode;
- int category;
- String? code;
- String? name;
- String? videoToken;
- String? vodFileId;
- String? poster;
- int duration;
- double videoSize;
- String? creatorCode;
- String? creatorName;
- UploadFileTypeEnum fodderType;
- bool isPublic;
- CourseViewRangeEnum viewRange;
- SaveVideoRequest({
- this.courseCode,
- this.category = 0,
- this.code,
- this.name,
- this.videoToken,
- this.vodFileId,
- this.poster,
- this.duration = 0,
- this.videoSize = 0,
- this.creatorCode,
- this.creatorName,
- this.fodderType = UploadFileTypeEnum.Unknown,
- this.isPublic = false,
- this.viewRange = CourseViewRangeEnum.All,
- String? token,
- }) : super(
- token: token,
- );
- factory SaveVideoRequest.fromJson(Map<String, dynamic> map) {
- return SaveVideoRequest(
- courseCode: map['CourseCode'],
- category: map['Category'],
- code: map['Code'],
- name: map['Name'],
- videoToken: map['VideoToken'],
- vodFileId: map['VodFileId'],
- poster: map['Poster'],
- duration: map['Duration'],
- videoSize: double.parse(map['VideoSize'].toString()),
- creatorCode: map['CreatorCode'],
- creatorName: map['CreatorName'],
- fodderType: UploadFileTypeEnum.values.firstWhere((e) => e.index == map['FodderType']),
- isPublic: map['IsPublic'],
- viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(courseCode != null)
- map['CourseCode'] = courseCode;
- map['Category'] = category;
- if(code != null)
- map['Code'] = code;
- if(name != null)
- map['Name'] = name;
- if(videoToken != null)
- map['VideoToken'] = videoToken;
- if(vodFileId != null)
- map['VodFileId'] = vodFileId;
- if(poster != null)
- map['Poster'] = poster;
- map['Duration'] = duration;
- map['VideoSize'] = videoSize;
- if(creatorCode != null)
- map['CreatorCode'] = creatorCode;
- if(creatorName != null)
- map['CreatorName'] = creatorName;
- map['FodderType'] = fodderType.index;
- map['IsPublic'] = isPublic;
- map['ViewRange'] = viewRange.index;
- return map;
- }
- }
- class FindVideoPagesRequest extends PageRequest{
- String? keyword;
- String? courseCode;
- int category;
- UploadFileTypeEnum fodderType;
- bool isJustQueryMyUpload;
- FindVideoPagesRequest({
- this.keyword,
- this.courseCode,
- this.category = 0,
- this.fodderType = UploadFileTypeEnum.Unknown,
- this.isJustQueryMyUpload = false,
- int pageIndex = 0,
- int pageSize = 0,
- String? token,
- }) : super(
- pageIndex: pageIndex,
- pageSize: pageSize,
- token: token,
- );
- factory FindVideoPagesRequest.fromJson(Map<String, dynamic> map) {
- return FindVideoPagesRequest(
- keyword: map['Keyword'],
- courseCode: map['CourseCode'],
- category: map['Category'],
- fodderType: UploadFileTypeEnum.values.firstWhere((e) => e.index == map['FodderType']),
- isJustQueryMyUpload: map['IsJustQueryMyUpload'],
- pageIndex: map['PageIndex'],
- pageSize: map['PageSize'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(keyword != null)
- map['Keyword'] = keyword;
- if(courseCode != null)
- map['CourseCode'] = courseCode;
- map['Category'] = category;
- map['FodderType'] = fodderType.index;
- map['IsJustQueryMyUpload'] = isJustQueryMyUpload;
- return map;
- }
- }
- class DeleteVideoRequest extends TokenRequest{
- String? code;
- String? courseCode;
- DeleteVideoRequest({
- this.code,
- this.courseCode,
- String? token,
- }) : super(
- token: token,
- );
- factory DeleteVideoRequest.fromJson(Map<String, dynamic> map) {
- return DeleteVideoRequest(
- code: map['Code'],
- courseCode: map['CourseCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(code != null)
- map['Code'] = code;
- if(courseCode != null)
- map['CourseCode'] = courseCode;
- return map;
- }
- }
- class BuyCourseResult {
- String? courseCode;
- String? paymentOrderCode;
- String? orderTitle;
- double orderAmount;
- String? payUrl;
- BuyCourseResult({
- this.courseCode,
- this.paymentOrderCode,
- this.orderTitle,
- this.orderAmount = 0,
- this.payUrl,
- });
- factory BuyCourseResult.fromJson(Map<String, dynamic> map) {
- return BuyCourseResult(
- courseCode: map['CourseCode'],
- paymentOrderCode: map['PaymentOrderCode'],
- orderTitle: map['OrderTitle'],
- orderAmount: double.parse(map['OrderAmount'].toString()),
- payUrl: map['PayUrl'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(courseCode != null) {
- map['CourseCode'] = courseCode;
- }
- if(paymentOrderCode != null) {
- map['PaymentOrderCode'] = paymentOrderCode;
- }
- if(orderTitle != null) {
- map['OrderTitle'] = orderTitle;
- }
- map['OrderAmount'] = orderAmount;
- if(payUrl != null) {
- map['PayUrl'] = payUrl;
- }
- return map;
- }
- }
- enum PayTypeEnum {
- Alipay_PAGE,
- Alipay_WAP,
- WeChat_PAGE,
- WeChat_WAP,
- Paypal,
- }
- class BuyCourseRequest extends TokenRequest{
- String? courseCode;
- int quantity;
- PayTypeEnum payType;
- BuyCourseRequest({
- this.courseCode,
- this.quantity = 0,
- this.payType = PayTypeEnum.Alipay_PAGE,
- String? token,
- }) : super(
- token: token,
- );
- factory BuyCourseRequest.fromJson(Map<String, dynamic> map) {
- return BuyCourseRequest(
- courseCode: map['CourseCode'],
- quantity: map['Quantity'],
- payType: PayTypeEnum.values.firstWhere((e) => e.index == map['PayType']),
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(courseCode != null)
- map['CourseCode'] = courseCode;
- map['Quantity'] = quantity;
- map['PayType'] = payType.index;
- return map;
- }
- }
- enum PayStatusEnum {
- NoPay,
- InPayment,
- Paid,
- }
- class PaymentCallbackRequest extends TokenRequest{
- String? paymentOrderCode;
- PayStatusEnum payStatus;
- DateTime? payTime;
- PaymentCallbackRequest({
- this.paymentOrderCode,
- this.payStatus = PayStatusEnum.NoPay,
- this.payTime,
- String? token,
- }) : super(
- token: token,
- );
- factory PaymentCallbackRequest.fromJson(Map<String, dynamic> map) {
- return PaymentCallbackRequest(
- paymentOrderCode: map['PaymentOrderCode'],
- payStatus: PayStatusEnum.values.firstWhere((e) => e.index == map['PayStatus']),
- payTime: map['PayTime'] != null ? DateTime.parse(map['PayTime']) : null,
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(paymentOrderCode != null)
- map['PaymentOrderCode'] = paymentOrderCode;
- map['PayStatus'] = payStatus.index;
- if(payTime != null)
- map['PayTime'] = JsonRpcUtils.dateFormat(payTime!);
- return map;
- }
- }
- class SignUpCourseRequest extends TokenRequest{
- String? courseOrAlbumCode;
- CourseAppearTypeEnum courseAppearType;
- SignUpCourseRequest({
- this.courseOrAlbumCode,
- this.courseAppearType = CourseAppearTypeEnum.Unknown,
- String? token,
- }) : super(
- token: token,
- );
- factory SignUpCourseRequest.fromJson(Map<String, dynamic> map) {
- return SignUpCourseRequest(
- courseOrAlbumCode: map['CourseOrAlbumCode'],
- courseAppearType: CourseAppearTypeEnum.values.firstWhere((e) => e.index == map['CourseAppearType']),
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(courseOrAlbumCode != null)
- map['CourseOrAlbumCode'] = courseOrAlbumCode;
- map['CourseAppearType'] = courseAppearType.index;
- return map;
- }
- }
- class CancelSignUpCourseRequest extends TokenRequest{
- String? courseOrAlbumCode;
- CancelSignUpCourseRequest({
- this.courseOrAlbumCode,
- String? token,
- }) : super(
- token: token,
- );
- factory CancelSignUpCourseRequest.fromJson(Map<String, dynamic> map) {
- return CancelSignUpCourseRequest(
- courseOrAlbumCode: map['CourseOrAlbumCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(courseOrAlbumCode != null)
- map['CourseOrAlbumCode'] = courseOrAlbumCode;
- return map;
- }
- }
- enum QueryCourseFileCategoryEnum {
- All,
- CourseWare,
- }
- class FindVideoFilesCourseTypeByPageRequest extends PageRequest{
- String? keyword;
- CourseTypeEnum courseType;
- QueryCourseFileCategoryEnum courseFileCategoryEnum;
- FindVideoFilesCourseTypeByPageRequest({
- this.keyword,
- this.courseType = CourseTypeEnum.Unknown,
- this.courseFileCategoryEnum = QueryCourseFileCategoryEnum.All,
- int pageIndex = 0,
- int pageSize = 0,
- String? token,
- }) : super(
- pageIndex: pageIndex,
- pageSize: pageSize,
- token: token,
- );
- factory FindVideoFilesCourseTypeByPageRequest.fromJson(Map<String, dynamic> map) {
- return FindVideoFilesCourseTypeByPageRequest(
- keyword: map['Keyword'],
- courseType: CourseTypeEnum.values.firstWhere((e) => e.index == map['CourseType']),
- courseFileCategoryEnum: QueryCourseFileCategoryEnum.values.firstWhere((e) => e.index == map['CourseFileCategoryEnum']),
- pageIndex: map['PageIndex'],
- pageSize: map['PageSize'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(keyword != null)
- map['Keyword'] = keyword;
- map['CourseType'] = courseType.index;
- map['CourseFileCategoryEnum'] = courseFileCategoryEnum.index;
- return map;
- }
- }
- class PublishCourseExaminationPaperRequest extends TokenRequest{
- String? code;
- String? courseCode;
- DateTime? startTime;
- PublishCourseExaminationPaperRequest({
- this.code,
- this.courseCode,
- this.startTime,
- String? token,
- }) : super(
- token: token,
- );
- factory PublishCourseExaminationPaperRequest.fromJson(Map<String, dynamic> map) {
- return PublishCourseExaminationPaperRequest(
- code: map['Code'],
- courseCode: map['CourseCode'],
- startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(code != null)
- map['Code'] = code;
- if(courseCode != null)
- map['CourseCode'] = courseCode;
- if(startTime != null)
- map['StartTime'] = JsonRpcUtils.dateFormat(startTime!);
- return map;
- }
- }
- class FindCourseExaminationPapersRequest extends TokenRequest{
- String? courseCode;
- FindCourseExaminationPapersRequest({
- this.courseCode,
- String? token,
- }) : super(
- token: token,
- );
- factory FindCourseExaminationPapersRequest.fromJson(Map<String, dynamic> map) {
- return FindCourseExaminationPapersRequest(
- courseCode: map['CourseCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(courseCode != null)
- map['CourseCode'] = courseCode;
- return map;
- }
- }
- class FindCourseExaminationPaperByCodeRequest extends TokenRequest{
- String? code;
- String? courseCode;
- FindCourseExaminationPaperByCodeRequest({
- this.code,
- this.courseCode,
- String? token,
- }) : super(
- token: token,
- );
- factory FindCourseExaminationPaperByCodeRequest.fromJson(Map<String, dynamic> map) {
- return FindCourseExaminationPaperByCodeRequest(
- code: map['Code'],
- courseCode: map['CourseCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(code != null)
- map['Code'] = code;
- if(courseCode != null)
- map['CourseCode'] = courseCode;
- return map;
- }
- }
- class StudentSetExaminationAnswerDTO {
- String? questionCode;
- String? answer;
- List<String>? files;
- List<String>? optionCodeList;
- StudentSetExaminationAnswerDTO({
- this.questionCode,
- this.answer,
- this.files,
- this.optionCodeList,
- });
- factory StudentSetExaminationAnswerDTO.fromJson(Map<String, dynamic> map) {
- return StudentSetExaminationAnswerDTO(
- questionCode: map['QuestionCode'],
- answer: map['Answer'],
- files: map['Files']?.cast<String>().toList(),
- optionCodeList: map['OptionCodeList']?.cast<String>().toList(),
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(questionCode != null) {
- map['QuestionCode'] = questionCode;
- }
- if(answer != null) {
- map['Answer'] = answer;
- }
- if(files != null) {
- map['Files'] = files;
- }
- if(optionCodeList != null) {
- map['OptionCodeList'] = optionCodeList;
- }
- return map;
- }
- }
- class SubmitCourseExaminationPaperRequest extends TokenRequest{
- String? courseCode;
- String? code;
- List<StudentSetExaminationAnswerDTO>? answers;
- SubmitCourseExaminationPaperRequest({
- this.courseCode,
- this.code,
- this.answers,
- String? token,
- }) : super(
- token: token,
- );
- factory SubmitCourseExaminationPaperRequest.fromJson(Map<String, dynamic> map) {
- return SubmitCourseExaminationPaperRequest(
- courseCode: map['CourseCode'],
- code: map['Code'],
- answers: map['Answers'] != null ? (map['Answers'] as List).map((e)=>StudentSetExaminationAnswerDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(courseCode != null)
- map['CourseCode'] = courseCode;
- if(code != null)
- map['Code'] = code;
- if(answers != null)
- map['Answers'] = answers;
- return map;
- }
- }
- class BaseStudentExaminationDTO {
- String? code;
- String? examinationCode;
- String? studentCode;
- String? studentName;
- double totalScore;
- BaseStudentExaminationDTO({
- this.code,
- this.examinationCode,
- this.studentCode,
- this.studentName,
- this.totalScore = 0,
- });
- factory BaseStudentExaminationDTO.fromJson(Map<String, dynamic> map) {
- return BaseStudentExaminationDTO(
- code: map['Code'],
- examinationCode: map['ExaminationCode'],
- studentCode: map['StudentCode'],
- studentName: map['StudentName'],
- totalScore: double.parse(map['TotalScore'].toString()),
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(code != null) {
- map['Code'] = code;
- }
- if(examinationCode != null) {
- map['ExaminationCode'] = examinationCode;
- }
- if(studentCode != null) {
- map['StudentCode'] = studentCode;
- }
- if(studentName != null) {
- map['StudentName'] = studentName;
- }
- map['TotalScore'] = totalScore;
- return map;
- }
- }
- class FindCourseStudentExaminationPagesRequest extends PageRequest{
- String? courseCode;
- String? keyword;
- FindCourseStudentExaminationPagesRequest({
- this.courseCode,
- this.keyword,
- int pageIndex = 0,
- int pageSize = 0,
- String? token,
- }) : super(
- pageIndex: pageIndex,
- pageSize: pageSize,
- token: token,
- );
- factory FindCourseStudentExaminationPagesRequest.fromJson(Map<String, dynamic> map) {
- return FindCourseStudentExaminationPagesRequest(
- courseCode: map['CourseCode'],
- keyword: map['Keyword'],
- pageIndex: map['PageIndex'],
- pageSize: map['PageSize'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(courseCode != null)
- map['CourseCode'] = courseCode;
- if(keyword != null)
- map['Keyword'] = keyword;
- return map;
- }
- }
- class ExaminationAnswerDTO {
- String? questionCode;
- QuestionTypeEnum questionType;
- String? answer;
- List<String>? files;
- List<String>? optionCodeList;
- bool isCorrect;
- double score;
- ExaminationAnswerDTO({
- this.questionCode,
- this.questionType = QuestionTypeEnum.Judge,
- this.answer,
- this.files,
- this.optionCodeList,
- this.isCorrect = false,
- this.score = 0,
- });
- factory ExaminationAnswerDTO.fromJson(Map<String, dynamic> map) {
- return ExaminationAnswerDTO(
- questionCode: map['QuestionCode'],
- questionType: QuestionTypeEnum.values.firstWhere((e) => e.index == map['QuestionType']),
- answer: map['Answer'],
- files: map['Files']?.cast<String>().toList(),
- optionCodeList: map['OptionCodeList']?.cast<String>().toList(),
- isCorrect: map['IsCorrect'],
- score: double.parse(map['Score'].toString()),
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(questionCode != null) {
- map['QuestionCode'] = questionCode;
- }
- map['QuestionType'] = questionType.index;
- if(answer != null) {
- map['Answer'] = answer;
- }
- if(files != null) {
- map['Files'] = files;
- }
- if(optionCodeList != null) {
- map['OptionCodeList'] = optionCodeList;
- }
- map['IsCorrect'] = isCorrect;
- map['Score'] = score;
- return map;
- }
- }
- class StudentExaminationDetailDTO extends BaseStudentExaminationDTO{
- CourseExaminationDTO? examination;
- List<ExaminationAnswerDTO>? studentAnswers;
- StudentExaminationDetailDTO({
- this.examination,
- this.studentAnswers,
- String? code,
- String? examinationCode,
- String? studentCode,
- String? studentName,
- double totalScore = 0,
- }) : super(
- code: code,
- examinationCode: examinationCode,
- studentCode: studentCode,
- studentName: studentName,
- totalScore: totalScore,
- );
- factory StudentExaminationDetailDTO.fromJson(Map<String, dynamic> map) {
- return StudentExaminationDetailDTO(
- examination: map['Examination'] != null ? CourseExaminationDTO.fromJson(map['Examination']) : null,
- studentAnswers: map['StudentAnswers'] != null ? (map['StudentAnswers'] as List).map((e)=>ExaminationAnswerDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- code: map['Code'],
- examinationCode: map['ExaminationCode'],
- studentCode: map['StudentCode'],
- studentName: map['StudentName'],
- totalScore: double.parse(map['TotalScore'].toString()),
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(examination != null)
- map['Examination'] = examination;
- if(studentAnswers != null)
- map['StudentAnswers'] = studentAnswers;
- return map;
- }
- }
- class FindStudentExaminationByCodeRequest extends TokenRequest{
- String? code;
- FindStudentExaminationByCodeRequest({
- this.code,
- String? token,
- }) : super(
- token: token,
- );
- factory FindStudentExaminationByCodeRequest.fromJson(Map<String, dynamic> map) {
- return FindStudentExaminationByCodeRequest(
- code: map['Code'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(code != null)
- map['Code'] = code;
- return map;
- }
- }
- class TeacherSetExaminationAnswerDTO {
- String? questionCode;
- bool isCorrect;
- double score;
- TeacherSetExaminationAnswerDTO({
- this.questionCode,
- this.isCorrect = false,
- this.score = 0,
- });
- factory TeacherSetExaminationAnswerDTO.fromJson(Map<String, dynamic> map) {
- return TeacherSetExaminationAnswerDTO(
- questionCode: map['QuestionCode'],
- isCorrect: map['IsCorrect'],
- score: double.parse(map['Score'].toString()),
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(questionCode != null) {
- map['QuestionCode'] = questionCode;
- }
- map['IsCorrect'] = isCorrect;
- map['Score'] = score;
- return map;
- }
- }
- class SubmitReviewStudentExaminationRequest extends TokenRequest{
- String? code;
- List<TeacherSetExaminationAnswerDTO>? answers;
- SubmitReviewStudentExaminationRequest({
- this.code,
- this.answers,
- String? token,
- }) : super(
- token: token,
- );
- factory SubmitReviewStudentExaminationRequest.fromJson(Map<String, dynamic> map) {
- return SubmitReviewStudentExaminationRequest(
- code: map['Code'],
- answers: map['Answers'] != null ? (map['Answers'] as List).map((e)=>TeacherSetExaminationAnswerDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(code != null)
- map['Code'] = code;
- if(answers != null)
- map['Answers'] = answers;
- return map;
- }
- }
- class FindMyCourseStudentExaminationResultPagesRequest extends PageRequest{
- String? courseCode;
- String? keyword;
- FindMyCourseStudentExaminationResultPagesRequest({
- this.courseCode,
- this.keyword,
- int pageIndex = 0,
- int pageSize = 0,
- String? token,
- }) : super(
- pageIndex: pageIndex,
- pageSize: pageSize,
- token: token,
- );
- factory FindMyCourseStudentExaminationResultPagesRequest.fromJson(Map<String, dynamic> map) {
- return FindMyCourseStudentExaminationResultPagesRequest(
- courseCode: map['CourseCode'],
- keyword: map['Keyword'],
- pageIndex: map['PageIndex'],
- pageSize: map['PageSize'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(courseCode != null)
- map['CourseCode'] = courseCode;
- if(keyword != null)
- map['Keyword'] = keyword;
- return map;
- }
- }
- class FindMyCourseStudentExaminationResultRequest extends TokenRequest{
- String? code;
- FindMyCourseStudentExaminationResultRequest({
- this.code,
- String? token,
- }) : super(
- token: token,
- );
- factory FindMyCourseStudentExaminationResultRequest.fromJson(Map<String, dynamic> map) {
- return FindMyCourseStudentExaminationResultRequest(
- code: map['Code'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(code != null)
- map['Code'] = code;
- return map;
- }
- }
- class LiveCourseBaseResult {
- String? courseCode;
- LiveCourseBaseResult({
- this.courseCode,
- });
- factory LiveCourseBaseResult.fromJson(Map<String, dynamic> map) {
- return LiveCourseBaseResult(
- courseCode: map['CourseCode'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(courseCode != null) {
- map['CourseCode'] = courseCode;
- }
- return map;
- }
- }
- class InitiateLiveCourseResult extends LiveCourseBaseResult{
- String? initiatorCode;
- int roomNo;
- TransactionStatusEnum liveProtocol;
- int appId;
- String? userSign;
- int heartRateInterval;
- List<LiveCourseMember>? memberLiveDatas;
- LiveDataDTO? courseChannel;
- LiveDataDTO? othersScreenSharingChannel;
- ScreenSharingChannelDTO? rtcScreenSharingChannel;
- InitiateLiveCourseResult({
- this.initiatorCode,
- this.roomNo = 0,
- this.liveProtocol = TransactionStatusEnum.Applied,
- this.appId = 0,
- this.userSign,
- this.heartRateInterval = 0,
- this.memberLiveDatas,
- this.courseChannel,
- this.othersScreenSharingChannel,
- this.rtcScreenSharingChannel,
- String? courseCode,
- }) : super(
- courseCode: courseCode,
- );
- factory InitiateLiveCourseResult.fromJson(Map<String, dynamic> map) {
- return InitiateLiveCourseResult(
- initiatorCode: map['InitiatorCode'],
- roomNo: map['RoomNo'],
- liveProtocol: TransactionStatusEnum.values.firstWhere((e) => e.index == map['LiveProtocol']),
- appId: map['AppId'],
- userSign: map['UserSign'],
- heartRateInterval: map['HeartRateInterval'],
- memberLiveDatas: map['MemberLiveDatas'] != null ? (map['MemberLiveDatas'] as List).map((e)=>LiveCourseMember.fromJson(e as Map<String,dynamic>)).toList() : null,
- courseChannel: map['CourseChannel'] != null ? LiveDataDTO.fromJson(map['CourseChannel']) : null,
- othersScreenSharingChannel: map['OthersScreenSharingChannel'] != null ? LiveDataDTO.fromJson(map['OthersScreenSharingChannel']) : null,
- rtcScreenSharingChannel: map['RtcScreenSharingChannel'] != null ? ScreenSharingChannelDTO.fromJson(map['RtcScreenSharingChannel']) : null,
- courseCode: map['CourseCode'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(initiatorCode != null)
- map['InitiatorCode'] = initiatorCode;
- map['RoomNo'] = roomNo;
- map['LiveProtocol'] = liveProtocol.index;
- map['AppId'] = appId;
- if(userSign != null)
- map['UserSign'] = userSign;
- map['HeartRateInterval'] = heartRateInterval;
- if(memberLiveDatas != null)
- map['MemberLiveDatas'] = memberLiveDatas;
- if(courseChannel != null)
- map['CourseChannel'] = courseChannel;
- if(othersScreenSharingChannel != null)
- map['OthersScreenSharingChannel'] = othersScreenSharingChannel;
- if(rtcScreenSharingChannel != null)
- map['RtcScreenSharingChannel'] = rtcScreenSharingChannel;
- return map;
- }
- }
- class InitiateLiveCourseRequest extends TokenRequest{
- String? courseCode;
- InitiateLiveCourseRequest({
- this.courseCode,
- String? token,
- }) : super(
- token: token,
- );
- factory InitiateLiveCourseRequest.fromJson(Map<String, dynamic> map) {
- return InitiateLiveCourseRequest(
- courseCode: map['CourseCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(courseCode != null)
- map['CourseCode'] = courseCode;
- return map;
- }
- }
- class JoinLiveCourseResult extends LiveCourseBaseResult{
- String? userCode;
- int roomNo;
- TransactionStatusEnum liveProtocol;
- int appId;
- String? userSign;
- List<LiveCourseMember>? memberLiveDatas;
- List<LiveCourseMember>? deviceLiveDatas;
- int heartRateInterval;
- LiveDataDTO? courseChannel;
- ShareInfoDTO? shareInfo;
- LiveDataDTO? othersScreenSharingChannel;
- ScreenSharingChannelDTO? rtcScreenSharingChannel;
- JoinLiveCourseResult({
- this.userCode,
- this.roomNo = 0,
- this.liveProtocol = TransactionStatusEnum.Applied,
- this.appId = 0,
- this.userSign,
- this.memberLiveDatas,
- this.deviceLiveDatas,
- this.heartRateInterval = 0,
- this.courseChannel,
- this.shareInfo,
- this.othersScreenSharingChannel,
- this.rtcScreenSharingChannel,
- String? courseCode,
- }) : super(
- courseCode: courseCode,
- );
- factory JoinLiveCourseResult.fromJson(Map<String, dynamic> map) {
- return JoinLiveCourseResult(
- userCode: map['UserCode'],
- roomNo: map['RoomNo'],
- liveProtocol: TransactionStatusEnum.values.firstWhere((e) => e.index == map['LiveProtocol']),
- appId: map['AppId'],
- userSign: map['UserSign'],
- memberLiveDatas: map['MemberLiveDatas'] != null ? (map['MemberLiveDatas'] as List).map((e)=>LiveCourseMember.fromJson(e as Map<String,dynamic>)).toList() : null,
- deviceLiveDatas: map['DeviceLiveDatas'] != null ? (map['DeviceLiveDatas'] as List).map((e)=>LiveCourseMember.fromJson(e as Map<String,dynamic>)).toList() : null,
- heartRateInterval: map['HeartRateInterval'],
- courseChannel: map['CourseChannel'] != null ? LiveDataDTO.fromJson(map['CourseChannel']) : null,
- shareInfo: map['ShareInfo'] != null ? ShareInfoDTO.fromJson(map['ShareInfo']) : null,
- othersScreenSharingChannel: map['OthersScreenSharingChannel'] != null ? LiveDataDTO.fromJson(map['OthersScreenSharingChannel']) : null,
- rtcScreenSharingChannel: map['RtcScreenSharingChannel'] != null ? ScreenSharingChannelDTO.fromJson(map['RtcScreenSharingChannel']) : null,
- courseCode: map['CourseCode'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(userCode != null)
- map['UserCode'] = userCode;
- map['RoomNo'] = roomNo;
- map['LiveProtocol'] = liveProtocol.index;
- map['AppId'] = appId;
- if(userSign != null)
- map['UserSign'] = userSign;
- if(memberLiveDatas != null)
- map['MemberLiveDatas'] = memberLiveDatas;
- if(deviceLiveDatas != null)
- map['DeviceLiveDatas'] = deviceLiveDatas;
- map['HeartRateInterval'] = heartRateInterval;
- if(courseChannel != null)
- map['CourseChannel'] = courseChannel;
- if(shareInfo != null)
- map['ShareInfo'] = shareInfo;
- if(othersScreenSharingChannel != null)
- map['OthersScreenSharingChannel'] = othersScreenSharingChannel;
- if(rtcScreenSharingChannel != null)
- map['RtcScreenSharingChannel'] = rtcScreenSharingChannel;
- return map;
- }
- }
- class JoinLiveCourseRequest extends InitiateLiveCourseRequest{
- String? deviceCode;
- JoinLiveCourseRequest({
- this.deviceCode,
- String? courseCode,
- String? token,
- }) : super(
- courseCode: courseCode,
- token: token,
- );
- factory JoinLiveCourseRequest.fromJson(Map<String, dynamic> map) {
- return JoinLiveCourseRequest(
- deviceCode: map['DeviceCode'],
- courseCode: map['CourseCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(deviceCode != null)
- map['DeviceCode'] = deviceCode;
- return map;
- }
- }
- class StudentLivePullUrlResult {
- String? rtmpPullUrl;
- String? httpPullUrl;
- String? hlsPullUrl;
- StudentLivePullUrlResult({
- this.rtmpPullUrl,
- this.httpPullUrl,
- this.hlsPullUrl,
- });
- factory StudentLivePullUrlResult.fromJson(Map<String, dynamic> map) {
- return StudentLivePullUrlResult(
- rtmpPullUrl: map['RtmpPullUrl'],
- httpPullUrl: map['HttpPullUrl'],
- hlsPullUrl: map['HlsPullUrl'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(rtmpPullUrl != null) {
- map['RtmpPullUrl'] = rtmpPullUrl;
- }
- if(httpPullUrl != null) {
- map['HttpPullUrl'] = httpPullUrl;
- }
- if(hlsPullUrl != null) {
- map['HlsPullUrl'] = hlsPullUrl;
- }
- return map;
- }
- }
- class LiveHeartRateResult {
- String? liveCode;
- LiveHeartRateResult({
- this.liveCode,
- });
- factory LiveHeartRateResult.fromJson(Map<String, dynamic> map) {
- return LiveHeartRateResult(
- liveCode: map['LiveCode'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(liveCode != null) {
- map['LiveCode'] = liveCode;
- }
- return map;
- }
- }
- class LiveHeartRateRequest extends TokenRequest{
- String? liveCode;
- LiveHeartRateRequest({
- this.liveCode,
- String? token,
- }) : super(
- token: token,
- );
- factory LiveHeartRateRequest.fromJson(Map<String, dynamic> map) {
- return LiveHeartRateRequest(
- liveCode: map['LiveCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(liveCode != null)
- map['LiveCode'] = liveCode;
- return map;
- }
- }
- class LeaveLiveCourseRequest extends InitiateLiveCourseRequest{
- LeaveLiveCourseRequest({
- String? courseCode,
- String? token,
- }) : super(
- courseCode: courseCode,
- token: token,
- );
- factory LeaveLiveCourseRequest.fromJson(Map<String, dynamic> map) {
- return LeaveLiveCourseRequest(
- courseCode: map['CourseCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- return map;
- }
- }
- class SetMuteLiveCourseRequest extends InitiateLiveCourseRequest{
- bool isMute;
- SetMuteLiveCourseRequest({
- this.isMute = false,
- String? courseCode,
- String? token,
- }) : super(
- courseCode: courseCode,
- token: token,
- );
- factory SetMuteLiveCourseRequest.fromJson(Map<String, dynamic> map) {
- return SetMuteLiveCourseRequest(
- isMute: map['IsMute'],
- courseCode: map['CourseCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- map['IsMute'] = isMute;
- return map;
- }
- }
- class SetVideoLiveCourseRequest extends InitiateLiveCourseRequest{
- bool isOpened;
- SetVideoLiveCourseRequest({
- this.isOpened = false,
- String? courseCode,
- String? token,
- }) : super(
- courseCode: courseCode,
- token: token,
- );
- factory SetVideoLiveCourseRequest.fromJson(Map<String, dynamic> map) {
- return SetVideoLiveCourseRequest(
- isOpened: map['IsOpened'],
- courseCode: map['CourseCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- map['IsOpened'] = isOpened;
- return map;
- }
- }
- class ControlParameterInCourseRequest extends InitiateLiveCourseRequest{
- List<AdditionParameterDTO>? parameters;
- ControlDeviceParameterEnum controlType;
- ControlParameterInCourseRequest({
- this.parameters,
- this.controlType = ControlDeviceParameterEnum.Start,
- String? courseCode,
- String? token,
- }) : super(
- courseCode: courseCode,
- token: token,
- );
- factory ControlParameterInCourseRequest.fromJson(Map<String, dynamic> map) {
- return ControlParameterInCourseRequest(
- parameters: map['Parameters'] != null ? (map['Parameters'] as List).map((e)=>AdditionParameterDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- controlType: ControlDeviceParameterEnum.values.firstWhere((e) => e.index == map['ControlType']),
- courseCode: map['CourseCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(parameters != null)
- map['Parameters'] = parameters;
- map['ControlType'] = controlType.index;
- return map;
- }
- }
- class UploadRemoteExamRequest extends TokenRequest{
- String? deviceUniqueCode;
- String? previewFileToken;
- String? fileToken;
- int fileSize;
- String? coverImageToken;
- String? applicationCategory;
- String? application;
- RemedicalFileDataTypeEnum fileDataType;
- MeasuredResultsDTO? measuredResult;
- ScanImageDTO? commentResult;
- UploadRemoteExamRequest({
- this.deviceUniqueCode,
- this.previewFileToken,
- this.fileToken,
- this.fileSize = 0,
- this.coverImageToken,
- this.applicationCategory,
- this.application,
- this.fileDataType = RemedicalFileDataTypeEnum.VinnoVidSingle,
- this.measuredResult,
- this.commentResult,
- String? token,
- }) : super(
- token: token,
- );
- factory UploadRemoteExamRequest.fromJson(Map<String, dynamic> map) {
- return UploadRemoteExamRequest(
- deviceUniqueCode: map['DeviceUniqueCode'],
- previewFileToken: map['PreviewFileToken'],
- fileToken: map['FileToken'],
- fileSize: map['FileSize'],
- coverImageToken: map['CoverImageToken'],
- applicationCategory: map['ApplicationCategory'],
- application: map['Application'],
- fileDataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['FileDataType']),
- measuredResult: map['MeasuredResult'] != null ? MeasuredResultsDTO.fromJson(map['MeasuredResult']) : null,
- commentResult: map['CommentResult'] != null ? ScanImageDTO.fromJson(map['CommentResult']) : null,
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(deviceUniqueCode != null)
- map['DeviceUniqueCode'] = deviceUniqueCode;
- if(previewFileToken != null)
- map['PreviewFileToken'] = previewFileToken;
- if(fileToken != null)
- map['FileToken'] = fileToken;
- map['FileSize'] = fileSize;
- if(coverImageToken != null)
- map['CoverImageToken'] = coverImageToken;
- if(applicationCategory != null)
- map['ApplicationCategory'] = applicationCategory;
- if(application != null)
- map['Application'] = application;
- map['FileDataType'] = fileDataType.index;
- if(measuredResult != null)
- map['MeasuredResult'] = measuredResult;
- if(commentResult != null)
- map['CommentResult'] = commentResult;
- return map;
- }
- }
- class RemoteExaminationDTO extends BaseDTO{
- String? code;
- String? deviceCode;
- String? userCode;
- String? application;
- String? previewUrl;
- String? imageUrl;
- String? coverImageUrl;
- String? originImageUrl;
- int imageSize;
- RemedicalFileDataTypeEnum fileDataType;
- MeasuredResultsDTO? measuredResult;
- ScanImageDTO? commentResult;
- bool isDelete;
- RemoteExaminationDTO({
- this.code,
- this.deviceCode,
- this.userCode,
- this.application,
- this.previewUrl,
- this.imageUrl,
- this.coverImageUrl,
- this.originImageUrl,
- this.imageSize = 0,
- this.fileDataType = RemedicalFileDataTypeEnum.VinnoVidSingle,
- this.measuredResult,
- this.commentResult,
- this.isDelete = false,
- DateTime? createTime,
- DateTime? updateTime,
- }) : super(
- createTime: createTime,
- updateTime: updateTime,
- );
- factory RemoteExaminationDTO.fromJson(Map<String, dynamic> map) {
- return RemoteExaminationDTO(
- code: map['Code'],
- deviceCode: map['DeviceCode'],
- userCode: map['UserCode'],
- application: map['Application'],
- previewUrl: map['PreviewUrl'],
- imageUrl: map['ImageUrl'],
- coverImageUrl: map['CoverImageUrl'],
- originImageUrl: map['OriginImageUrl'],
- imageSize: map['ImageSize'],
- fileDataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['FileDataType']),
- measuredResult: map['MeasuredResult'] != null ? MeasuredResultsDTO.fromJson(map['MeasuredResult']) : null,
- commentResult: map['CommentResult'] != null ? ScanImageDTO.fromJson(map['CommentResult']) : null,
- isDelete: map['IsDelete'],
- createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
- updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(code != null)
- map['Code'] = code;
- if(deviceCode != null)
- map['DeviceCode'] = deviceCode;
- if(userCode != null)
- map['UserCode'] = userCode;
- if(application != null)
- map['Application'] = application;
- if(previewUrl != null)
- map['PreviewUrl'] = previewUrl;
- if(imageUrl != null)
- map['ImageUrl'] = imageUrl;
- if(coverImageUrl != null)
- map['CoverImageUrl'] = coverImageUrl;
- if(originImageUrl != null)
- map['OriginImageUrl'] = originImageUrl;
- map['ImageSize'] = imageSize;
- map['FileDataType'] = fileDataType.index;
- if(measuredResult != null)
- map['MeasuredResult'] = measuredResult;
- if(commentResult != null)
- map['CommentResult'] = commentResult;
- map['IsDelete'] = isDelete;
- return map;
- }
- }
- class RemoteExaminationPageDTO extends RemoteExaminationDTO{
- String? deviceName;
- RemoteExaminationPageDTO({
- this.deviceName,
- String? code,
- String? deviceCode,
- String? userCode,
- String? application,
- String? previewUrl,
- String? imageUrl,
- String? coverImageUrl,
- String? originImageUrl,
- int imageSize = 0,
- RemedicalFileDataTypeEnum fileDataType = RemedicalFileDataTypeEnum.VinnoVidSingle,
- MeasuredResultsDTO? measuredResult,
- ScanImageDTO? commentResult,
- bool isDelete = false,
- DateTime? createTime,
- DateTime? updateTime,
- }) : super(
- code: code,
- deviceCode: deviceCode,
- userCode: userCode,
- application: application,
- previewUrl: previewUrl,
- imageUrl: imageUrl,
- coverImageUrl: coverImageUrl,
- originImageUrl: originImageUrl,
- imageSize: imageSize,
- fileDataType: fileDataType,
- measuredResult: measuredResult,
- commentResult: commentResult,
- isDelete: isDelete,
- createTime: createTime,
- updateTime: updateTime,
- );
- factory RemoteExaminationPageDTO.fromJson(Map<String, dynamic> map) {
- return RemoteExaminationPageDTO(
- deviceName: map['DeviceName'],
- code: map['Code'],
- deviceCode: map['DeviceCode'],
- userCode: map['UserCode'],
- application: map['Application'],
- previewUrl: map['PreviewUrl'],
- imageUrl: map['ImageUrl'],
- coverImageUrl: map['CoverImageUrl'],
- originImageUrl: map['OriginImageUrl'],
- imageSize: map['ImageSize'],
- fileDataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['FileDataType']),
- measuredResult: map['MeasuredResult'] != null ? MeasuredResultsDTO.fromJson(map['MeasuredResult']) : null,
- commentResult: map['CommentResult'] != null ? ScanImageDTO.fromJson(map['CommentResult']) : null,
- isDelete: map['IsDelete'],
- createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
- updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(deviceName != null)
- map['DeviceName'] = deviceName;
- return map;
- }
- }
- class AddStudentInCourseUserGroupRequest extends TokenRequest{
- String? userGroupCode;
- String? shortCode;
- AddStudentInCourseUserGroupRequest({
- this.userGroupCode,
- this.shortCode,
- String? token,
- }) : super(
- token: token,
- );
- factory AddStudentInCourseUserGroupRequest.fromJson(Map<String, dynamic> map) {
- return AddStudentInCourseUserGroupRequest(
- userGroupCode: map['UserGroupCode'],
- shortCode: map['ShortCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(userGroupCode != null)
- map['UserGroupCode'] = userGroupCode;
- if(shortCode != null)
- map['ShortCode'] = shortCode;
- return map;
- }
- }
- class StudentLeaveCourseUserGroupRequest extends TokenRequest{
- String? userGroupCode;
- StudentLeaveCourseUserGroupRequest({
- this.userGroupCode,
- String? token,
- }) : super(
- token: token,
- );
- factory StudentLeaveCourseUserGroupRequest.fromJson(Map<String, dynamic> map) {
- return StudentLeaveCourseUserGroupRequest(
- userGroupCode: map['UserGroupCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(userGroupCode != null)
- map['UserGroupCode'] = userGroupCode;
- return map;
- }
- }
- class StudyCompletedRequest {
- String? courseCode;
- String? studentCode;
- StudyCompletedRequest({
- this.courseCode,
- this.studentCode,
- });
- factory StudyCompletedRequest.fromJson(Map<String, dynamic> map) {
- return StudyCompletedRequest(
- courseCode: map['CourseCode'],
- studentCode: map['StudentCode'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(courseCode != null) {
- map['CourseCode'] = courseCode;
- }
- if(studentCode != null) {
- map['StudentCode'] = studentCode;
- }
- return map;
- }
- }
- class AddCourseAlbumRequest extends TokenRequest{
- String? name;
- List<String>? courseCodes;
- String? cover;
- String? introduction;
- List<String>? courseLabelCodes;
- int sort;
- bool isStick;
- String? teacherCode;
- String? teacherName;
- CourseViewRangeEnum viewRange;
- double price;
- AddCourseAlbumRequest({
- this.name,
- this.courseCodes,
- this.cover,
- this.introduction,
- this.courseLabelCodes,
- this.sort = 0,
- this.isStick = false,
- this.teacherCode,
- this.teacherName,
- this.viewRange = CourseViewRangeEnum.All,
- this.price = 0,
- String? token,
- }) : super(
- token: token,
- );
- factory AddCourseAlbumRequest.fromJson(Map<String, dynamic> map) {
- return AddCourseAlbumRequest(
- name: map['Name'],
- courseCodes: map['CourseCodes']?.cast<String>().toList(),
- cover: map['Cover'],
- introduction: map['Introduction'],
- courseLabelCodes: map['CourseLabelCodes']?.cast<String>().toList(),
- sort: map['Sort'],
- isStick: map['IsStick'],
- teacherCode: map['TeacherCode'],
- teacherName: map['TeacherName'],
- viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
- price: double.parse(map['Price'].toString()),
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(name != null)
- map['Name'] = name;
- if(courseCodes != null)
- map['CourseCodes'] = courseCodes;
- if(cover != null)
- map['Cover'] = cover;
- if(introduction != null)
- map['Introduction'] = introduction;
- if(courseLabelCodes != null)
- map['CourseLabelCodes'] = courseLabelCodes;
- map['Sort'] = sort;
- map['IsStick'] = isStick;
- if(teacherCode != null)
- map['TeacherCode'] = teacherCode;
- if(teacherName != null)
- map['TeacherName'] = teacherName;
- map['ViewRange'] = viewRange.index;
- map['Price'] = price;
- return map;
- }
- }
- class DeleteCourseAlbumRequest {
- String? courseAlbumCode;
- DeleteCourseAlbumRequest({
- this.courseAlbumCode,
- });
- factory DeleteCourseAlbumRequest.fromJson(Map<String, dynamic> map) {
- return DeleteCourseAlbumRequest(
- courseAlbumCode: map['CourseAlbumCode'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(courseAlbumCode != null) {
- map['CourseAlbumCode'] = courseAlbumCode;
- }
- return map;
- }
- }
- class CourseCommonInfoDTO extends BaseCourseAlbumDTO{
- String? cover;
- String? introduction;
- List<String>? courseLabels;
- String? teacherCode;
- String? teacherName;
- CourseViewRangeEnum viewRange;
- double price;
- CourseTypeEnum courseType;
- List<BaseUserGroupDTO>? userGroupList;
- List<BaseCourseAlbumDTO>? courseAlbumList;
- StudentCourseStatusEnum signCourseStatus;
- bool isPay;
- DateTime? createTime;
- CourseCommonInfoDTO({
- this.cover,
- this.introduction,
- this.courseLabels,
- this.teacherCode,
- this.teacherName,
- this.viewRange = CourseViewRangeEnum.All,
- this.price = 0,
- this.courseType = CourseTypeEnum.Unknown,
- this.userGroupList,
- this.courseAlbumList,
- this.signCourseStatus = StudentCourseStatusEnum.All,
- this.isPay = false,
- this.createTime,
- String? code,
- String? name,
- }) : super(
- code: code,
- name: name,
- );
- factory CourseCommonInfoDTO.fromJson(Map<String, dynamic> map) {
- return CourseCommonInfoDTO(
- cover: map['Cover'],
- introduction: map['Introduction'],
- courseLabels: map['CourseLabels']?.cast<String>().toList(),
- teacherCode: map['TeacherCode'],
- teacherName: map['TeacherName'],
- viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
- price: double.parse(map['Price'].toString()),
- courseType: CourseTypeEnum.values.firstWhere((e) => e.index == map['CourseType']),
- userGroupList: map['UserGroupList'] != null ? (map['UserGroupList'] as List).map((e)=>BaseUserGroupDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- courseAlbumList: map['CourseAlbumList'] != null ? (map['CourseAlbumList'] as List).map((e)=>BaseCourseAlbumDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- signCourseStatus: StudentCourseStatusEnum.values.firstWhere((e) => e.index == map['SignCourseStatus']),
- isPay: map['IsPay'],
- createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
- code: map['Code'],
- name: map['Name'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(cover != null)
- map['Cover'] = cover;
- if(introduction != null)
- map['Introduction'] = introduction;
- if(courseLabels != null)
- map['CourseLabels'] = courseLabels;
- if(teacherCode != null)
- map['TeacherCode'] = teacherCode;
- if(teacherName != null)
- map['TeacherName'] = teacherName;
- map['ViewRange'] = viewRange.index;
- map['Price'] = price;
- map['CourseType'] = courseType.index;
- if(userGroupList != null)
- map['UserGroupList'] = userGroupList;
- if(courseAlbumList != null)
- map['CourseAlbumList'] = courseAlbumList;
- map['SignCourseStatus'] = signCourseStatus.index;
- map['IsPay'] = isPay;
- if(createTime != null)
- map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
- return map;
- }
- }
- class CourseAlbumExtendDTO extends BaseCourseAlbumDTO{
- List<CourseInfoDetailDTO>? courseInfos;
- int signInCount;
- String? cover;
- List<String>? courseCodes;
- String? introduction;
- List<String>? courseLabelCodes;
- List<String>? courseLabelNames;
- String? teacherCode;
- String? teacherName;
- CourseViewRangeEnum viewRange;
- double price;
- DateTime? createTime;
- int sort;
- bool isStick;
- StudentCourseStatusEnum signCourseStatus;
- bool isPay;
- CourseAlbumExtendDTO({
- this.courseInfos,
- this.signInCount = 0,
- this.cover,
- this.courseCodes,
- this.introduction,
- this.courseLabelCodes,
- this.courseLabelNames,
- this.teacherCode,
- this.teacherName,
- this.viewRange = CourseViewRangeEnum.All,
- this.price = 0,
- this.createTime,
- this.sort = 0,
- this.isStick = false,
- this.signCourseStatus = StudentCourseStatusEnum.All,
- this.isPay = false,
- String? code,
- String? name,
- }) : super(
- code: code,
- name: name,
- );
- factory CourseAlbumExtendDTO.fromJson(Map<String, dynamic> map) {
- return CourseAlbumExtendDTO(
- courseInfos: map['CourseInfos'] != null ? (map['CourseInfos'] as List).map((e)=>CourseInfoDetailDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
- signInCount: map['SignInCount'],
- cover: map['Cover'],
- courseCodes: map['CourseCodes']?.cast<String>().toList(),
- introduction: map['Introduction'],
- courseLabelCodes: map['CourseLabelCodes']?.cast<String>().toList(),
- courseLabelNames: map['CourseLabelNames']?.cast<String>().toList(),
- teacherCode: map['TeacherCode'],
- teacherName: map['TeacherName'],
- viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
- price: double.parse(map['Price'].toString()),
- createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
- sort: map['Sort'],
- isStick: map['IsStick'],
- signCourseStatus: StudentCourseStatusEnum.values.firstWhere((e) => e.index == map['SignCourseStatus']),
- isPay: map['IsPay'],
- code: map['Code'],
- name: map['Name'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(courseInfos != null)
- map['CourseInfos'] = courseInfos;
- map['SignInCount'] = signInCount;
- if(cover != null)
- map['Cover'] = cover;
- if(courseCodes != null)
- map['CourseCodes'] = courseCodes;
- if(introduction != null)
- map['Introduction'] = introduction;
- if(courseLabelCodes != null)
- map['CourseLabelCodes'] = courseLabelCodes;
- if(courseLabelNames != null)
- map['CourseLabelNames'] = courseLabelNames;
- if(teacherCode != null)
- map['TeacherCode'] = teacherCode;
- if(teacherName != null)
- map['TeacherName'] = teacherName;
- map['ViewRange'] = viewRange.index;
- map['Price'] = price;
- if(createTime != null)
- map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
- map['Sort'] = sort;
- map['IsStick'] = isStick;
- map['SignCourseStatus'] = signCourseStatus.index;
- map['IsPay'] = isPay;
- return map;
- }
- }
- class FindCourseAlbumByCodeRequest extends TokenRequest{
- String? courseAlbumCode;
- String? languageCode;
- FindCourseAlbumByCodeRequest({
- this.courseAlbumCode,
- this.languageCode,
- String? token,
- }) : super(
- token: token,
- );
- factory FindCourseAlbumByCodeRequest.fromJson(Map<String, dynamic> map) {
- return FindCourseAlbumByCodeRequest(
- courseAlbumCode: map['CourseAlbumCode'],
- languageCode: map['LanguageCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(courseAlbumCode != null)
- map['CourseAlbumCode'] = courseAlbumCode;
- if(languageCode != null)
- map['LanguageCode'] = languageCode;
- return map;
- }
- }
- class TeacherAddStudentsInUserGroupsRequest extends TokenRequest{
- String? userGroupCode;
- List<String>? studentCodes;
- TeacherAddStudentsInUserGroupsRequest({
- this.userGroupCode,
- this.studentCodes,
- String? token,
- }) : super(
- token: token,
- );
- factory TeacherAddStudentsInUserGroupsRequest.fromJson(Map<String, dynamic> map) {
- return TeacherAddStudentsInUserGroupsRequest(
- userGroupCode: map['UserGroupCode'],
- studentCodes: map['StudentCodes']?.cast<String>().toList(),
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(userGroupCode != null)
- map['UserGroupCode'] = userGroupCode;
- if(studentCodes != null)
- map['StudentCodes'] = studentCodes;
- return map;
- }
- }
- class JoinClassApprovedRequest extends TokenRequest{
- String? userGroupCode;
- List<String>? students;
- JoinClassApprovedRequest({
- this.userGroupCode,
- this.students,
- String? token,
- }) : super(
- token: token,
- );
- factory JoinClassApprovedRequest.fromJson(Map<String, dynamic> map) {
- return JoinClassApprovedRequest(
- userGroupCode: map['UserGroupCode'],
- students: map['Students']?.cast<String>().toList(),
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(userGroupCode != null)
- map['UserGroupCode'] = userGroupCode;
- if(students != null)
- map['Students'] = students;
- return map;
- }
- }
- class JoinClassRejectedRequest extends TokenRequest{
- String? userGroupCode;
- List<String>? students;
- JoinClassRejectedRequest({
- this.userGroupCode,
- this.students,
- String? token,
- }) : super(
- token: token,
- );
- factory JoinClassRejectedRequest.fromJson(Map<String, dynamic> map) {
- return JoinClassRejectedRequest(
- userGroupCode: map['UserGroupCode'],
- students: map['Students']?.cast<String>().toList(),
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(userGroupCode != null)
- map['UserGroupCode'] = userGroupCode;
- if(students != null)
- map['Students'] = students;
- return map;
- }
- }
- class UserGroupStudentsDTO {
- String? code;
- String? name;
- String? userGroupCode;
- String? phone;
- bool isPay;
- LearnerStatusEnum learnerStatus;
- String? organizationName;
- UserGroupStudentsDTO({
- this.code,
- this.name,
- this.userGroupCode,
- this.phone,
- this.isPay = false,
- this.learnerStatus = LearnerStatusEnum.Unknown,
- this.organizationName,
- });
- factory UserGroupStudentsDTO.fromJson(Map<String, dynamic> map) {
- return UserGroupStudentsDTO(
- code: map['Code'],
- name: map['Name'],
- userGroupCode: map['UserGroupCode'],
- phone: map['Phone'],
- isPay: map['IsPay'],
- learnerStatus: LearnerStatusEnum.values.firstWhere((e) => e.index == map['LearnerStatus']),
- organizationName: map['OrganizationName'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = Map<String, dynamic>();
- if(code != null) {
- map['Code'] = code;
- }
- if(name != null) {
- map['Name'] = name;
- }
- if(userGroupCode != null) {
- map['UserGroupCode'] = userGroupCode;
- }
- if(phone != null) {
- map['Phone'] = phone;
- }
- map['IsPay'] = isPay;
- map['LearnerStatus'] = learnerStatus.index;
- if(organizationName != null) {
- map['OrganizationName'] = organizationName;
- }
- return map;
- }
- }
- class FindStudentListRequest extends TokenRequest{
- String? userGroupCode;
- LearnerStatusEnum learnerStatus;
- FindStudentListRequest({
- this.userGroupCode,
- this.learnerStatus = LearnerStatusEnum.Unknown,
- String? token,
- }) : super(
- token: token,
- );
- factory FindStudentListRequest.fromJson(Map<String, dynamic> map) {
- return FindStudentListRequest(
- userGroupCode: map['UserGroupCode'],
- learnerStatus: LearnerStatusEnum.values.firstWhere((e) => e.index == map['LearnerStatus']),
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(userGroupCode != null)
- map['UserGroupCode'] = userGroupCode;
- map['LearnerStatus'] = learnerStatus.index;
- return map;
- }
- }
- class CreateVideosRequest extends TokenRequest{
- List<SaveVideoRequest>? videoList;
- CreateVideosRequest({
- this.videoList,
- String? token,
- }) : super(
- token: token,
- );
- factory CreateVideosRequest.fromJson(Map<String, dynamic> map) {
- return CreateVideosRequest(
- videoList: map['VideoList'] != null ? (map['VideoList'] as List).map((e)=>SaveVideoRequest.fromJson(e as Map<String,dynamic>)).toList() : null,
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(videoList != null)
- map['VideoList'] = videoList;
- return map;
- }
- }
- class GetUserPagesRequest extends PageRequest{
- String? queryType;
- String? keyword;
- String? queryState;
- List<String>? excludeUserCodes;
- String? languageCode;
- List<String>? roleCodes;
- bool? isAgent;
- GetUserPagesRequest({
- this.queryType,
- this.keyword,
- this.queryState,
- this.excludeUserCodes,
- this.languageCode,
- this.roleCodes,
- this.isAgent,
- int pageIndex = 0,
- int pageSize = 0,
- String? token,
- }) : super(
- pageIndex: pageIndex,
- pageSize: pageSize,
- token: token,
- );
- factory GetUserPagesRequest.fromJson(Map<String, dynamic> map) {
- return GetUserPagesRequest(
- queryType: map['QueryType'],
- keyword: map['Keyword'],
- queryState: map['QueryState'],
- excludeUserCodes: map['ExcludeUserCodes']?.cast<String>().toList(),
- languageCode: map['LanguageCode'],
- roleCodes: map['RoleCodes']?.cast<String>().toList(),
- isAgent: map['IsAgent'],
- pageIndex: map['PageIndex'],
- pageSize: map['PageSize'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(queryType != null)
- map['QueryType'] = queryType;
- if(keyword != null)
- map['Keyword'] = keyword;
- if(queryState != null)
- map['QueryState'] = queryState;
- if(excludeUserCodes != null)
- map['ExcludeUserCodes'] = excludeUserCodes;
- if(languageCode != null)
- map['LanguageCode'] = languageCode;
- if(roleCodes != null)
- map['RoleCodes'] = roleCodes;
- if(isAgent != null)
- map['IsAgent'] = isAgent;
- return map;
- }
- }
- class SetShareInLiveCourseRequest extends InitiateLiveCourseRequest{
- CourseShareStates currentShareState;
- CourseShareType currentShareType;
- String? currentShareMemberCode;
- SetShareInLiveCourseRequest({
- this.currentShareState = CourseShareStates.Opened,
- this.currentShareType = CourseShareType.Window,
- this.currentShareMemberCode,
- String? courseCode,
- String? token,
- }) : super(
- courseCode: courseCode,
- token: token,
- );
- factory SetShareInLiveCourseRequest.fromJson(Map<String, dynamic> map) {
- return SetShareInLiveCourseRequest(
- currentShareState: CourseShareStates.values.firstWhere((e) => e.index == map['CurrentShareState']),
- currentShareType: CourseShareType.values.firstWhere((e) => e.index == map['CurrentShareType']),
- currentShareMemberCode: map['CurrentShareMemberCode'],
- courseCode: map['CourseCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- map['CurrentShareState'] = currentShareState.index;
- map['CurrentShareType'] = currentShareType.index;
- if(currentShareMemberCode != null)
- map['CurrentShareMemberCode'] = currentShareMemberCode;
- return map;
- }
- }
- class FindMyOrganizationExpertsRequest extends TokenRequest{
- String? name;
- FindMyOrganizationExpertsRequest({
- this.name,
- String? token,
- }) : super(
- token: token,
- );
- factory FindMyOrganizationExpertsRequest.fromJson(Map<String, dynamic> map) {
- return FindMyOrganizationExpertsRequest(
- name: map['Name'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(name != null)
- map['Name'] = name;
- return map;
- }
- }
- class SendLiveInteractiveBoardDataRequest extends TokenRequest{
- String? roomId;
- bool isClear;
- String? boardData;
- SendLiveInteractiveBoardDataRequest({
- this.roomId,
- this.isClear = false,
- this.boardData,
- String? token,
- }) : super(
- token: token,
- );
- factory SendLiveInteractiveBoardDataRequest.fromJson(Map<String, dynamic> map) {
- return SendLiveInteractiveBoardDataRequest(
- roomId: map['RoomId'],
- isClear: map['IsClear'],
- boardData: map['BoardData'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(roomId != null)
- map['RoomId'] = roomId;
- map['IsClear'] = isClear;
- if(boardData != null)
- map['BoardData'] = boardData;
- return map;
- }
- }
- class SendCourseEntryNoticeRequest extends TokenRequest{
- String? clientId;
- String? noticeData;
- SendCourseEntryNoticeRequest({
- this.clientId,
- this.noticeData,
- String? token,
- }) : super(
- token: token,
- );
- factory SendCourseEntryNoticeRequest.fromJson(Map<String, dynamic> map) {
- return SendCourseEntryNoticeRequest(
- clientId: map['ClientId'],
- noticeData: map['NoticeData'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(clientId != null)
- map['ClientId'] = clientId;
- if(noticeData != null)
- map['NoticeData'] = noticeData;
- return map;
- }
- }
- class DeviceLeaveLiveCourseRequest extends JoinLiveCourseRequest{
- DeviceLeaveLiveCourseRequest({
- String? deviceCode,
- String? courseCode,
- String? token,
- }) : super(
- deviceCode: deviceCode,
- courseCode: courseCode,
- token: token,
- );
- factory DeviceLeaveLiveCourseRequest.fromJson(Map<String, dynamic> map) {
- return DeviceLeaveLiveCourseRequest(
- deviceCode: map['DeviceCode'],
- courseCode: map['CourseCode'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- return map;
- }
- }
- class UpdateCourseAlbumRequest extends TokenRequest{
- String? name;
- String? courseAlbumCode;
- List<String>? courseCodes;
- String? cover;
- String? introduction;
- List<String>? courseLabelCodes;
- int sort;
- bool isStick;
- String? teacherCode;
- String? teacherName;
- CourseViewRangeEnum viewRange;
- double price;
- UpdateCourseAlbumRequest({
- this.name,
- this.courseAlbumCode,
- this.courseCodes,
- this.cover,
- this.introduction,
- this.courseLabelCodes,
- this.sort = 0,
- this.isStick = false,
- this.teacherCode,
- this.teacherName,
- this.viewRange = CourseViewRangeEnum.All,
- this.price = 0,
- String? token,
- }) : super(
- token: token,
- );
- factory UpdateCourseAlbumRequest.fromJson(Map<String, dynamic> map) {
- return UpdateCourseAlbumRequest(
- name: map['Name'],
- courseAlbumCode: map['CourseAlbumCode'],
- courseCodes: map['CourseCodes']?.cast<String>().toList(),
- cover: map['Cover'],
- introduction: map['Introduction'],
- courseLabelCodes: map['CourseLabelCodes']?.cast<String>().toList(),
- sort: map['Sort'],
- isStick: map['IsStick'],
- teacherCode: map['TeacherCode'],
- teacherName: map['TeacherName'],
- viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
- price: double.parse(map['Price'].toString()),
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(name != null)
- map['Name'] = name;
- if(courseAlbumCode != null)
- map['CourseAlbumCode'] = courseAlbumCode;
- if(courseCodes != null)
- map['CourseCodes'] = courseCodes;
- if(cover != null)
- map['Cover'] = cover;
- if(introduction != null)
- map['Introduction'] = introduction;
- if(courseLabelCodes != null)
- map['CourseLabelCodes'] = courseLabelCodes;
- map['Sort'] = sort;
- map['IsStick'] = isStick;
- if(teacherCode != null)
- map['TeacherCode'] = teacherCode;
- if(teacherName != null)
- map['TeacherName'] = teacherName;
- map['ViewRange'] = viewRange.index;
- map['Price'] = price;
- return map;
- }
- }
- class ChangeVideoNameRequest extends TokenRequest{
- String? videoCode;
- String? newName;
- ChangeVideoNameRequest({
- this.videoCode,
- this.newName,
- String? token,
- }) : super(
- token: token,
- );
- factory ChangeVideoNameRequest.fromJson(Map<String, dynamic> map) {
- return ChangeVideoNameRequest(
- videoCode: map['VideoCode'],
- newName: map['NewName'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(videoCode != null)
- map['VideoCode'] = videoCode;
- if(newName != null)
- map['NewName'] = newName;
- return map;
- }
- }
- class AddCoursePlayCountRequest extends TokenRequest{
- String? code;
- AddCoursePlayCountRequest({
- this.code,
- String? token,
- }) : super(
- token: token,
- );
- factory AddCoursePlayCountRequest.fromJson(Map<String, dynamic> map) {
- return AddCoursePlayCountRequest(
- code: map['Code'],
- token: map['Token'],
- );
- }
- Map<String, dynamic> toJson() {
- final map = super.toJson();
- if(code != null)
- map['Code'] = code;
- return map;
- }
- }
|