题目提交后显示答题分析

提交后显示答案
beetlsql3-dev
Mlxa0324 2 years ago
parent 883bf37c04
commit 4e3ae09167

@ -417,7 +417,7 @@ public class CoreBaseService<T> {
try { try {
String display = ""; String display = "";
Method methodByName = ReflectUtil.getMethodByName(bean.getClass(), "get" + StrUtil.upperFirst(dict.value())); Method methodByName = ReflectUtil.getMethodByName(field.getType(), "get" + StrUtil.upperFirst(dict.value()));
Assert.notNull(methodByName, field.getName() + " 缺少getter方法"); Assert.notNull(methodByName, field.getName() + " 缺少getter方法");
Object enumValue = ReflectUtil.invoke(field.get(ext), methodByName); Object enumValue = ReflectUtil.invoke(field.get(ext), methodByName);
if (ObjectUtil.isNotEmpty(enumValue)) { if (ObjectUtil.isNotEmpty(enumValue)) {

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?PowerDesigner AppLocale="UTF16" ID="{BA33ABB7-B246-4DB0-85DE-396EDDB46458}" Label="" LastModificationDate="1664461421" Name="cjks" Objects="1205" Symbols="114" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?> <?PowerDesigner AppLocale="UTF16" ID="{BA33ABB7-B246-4DB0-85DE-396EDDB46458}" Label="" LastModificationDate="1664863184" Name="cjks" Objects="1079" Symbols="91" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
<!-- do not edit this file --> <!-- do not edit this file -->
<Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object"> <Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@ -4245,8 +4245,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o12"> <o:ExtendedDependencySymbol Id="o12">
<a:CreationDate>1661873621</a:CreationDate> <a:CreationDate>1661873621</a:CreationDate>
<a:ModificationDate>1662047569</a:ModificationDate> <a:ModificationDate>1662047569</a:ModificationDate>
<a:Rect>((246268,43472), (264930,44072))</a:Rect> <a:Rect>((246268,43682), (266029,44282))</a:Rect>
<a:ListOfPoints>((246268,43775),(262159,43775),(262159,43772),(264930,43772))</a:ListOfPoints> <a:ListOfPoints>((246268,43775),(262159,43775),(262159,43982),(266029,43982))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4266,8 +4266,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o16"> <o:ExtendedDependencySymbol Id="o16">
<a:CreationDate>1661873633</a:CreationDate> <a:CreationDate>1661873633</a:CreationDate>
<a:ModificationDate>1663942424</a:ModificationDate> <a:ModificationDate>1663942424</a:ModificationDate>
<a:Rect>((276082,55755), (276682,70644))</a:Rect> <a:Rect>((276072,55453), (276672,70644))</a:Rect>
<a:ListOfPoints>((276382,70644),(276382,55755))</a:ListOfPoints> <a:ListOfPoints>((276372,70644),(276372,55453))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4287,8 +4287,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o19"> <o:ExtendedDependencySymbol Id="o19">
<a:CreationDate>1661955336</a:CreationDate> <a:CreationDate>1661955336</a:CreationDate>
<a:ModificationDate>1662048056</a:ModificationDate> <a:ModificationDate>1662048056</a:ModificationDate>
<a:Rect>((262886,18534), (281960,23328))</a:Rect> <a:Rect>((262886,18534), (283315,23535))</a:Rect>
<a:ListOfPoints>((262886,18534),(262886,23028),(281960,23028))</a:ListOfPoints> <a:ListOfPoints>((262886,18534),(262886,23235),(283315,23235))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4329,8 +4329,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o26"> <o:ExtendedDependencySymbol Id="o26">
<a:CreationDate>1661960819</a:CreationDate> <a:CreationDate>1661960819</a:CreationDate>
<a:ModificationDate>1662647010</a:ModificationDate> <a:ModificationDate>1662647010</a:ModificationDate>
<a:Rect>((307769,27554), (308637,43057))</a:Rect> <a:Rect>((306801,27571), (307812,43062))</a:Rect>
<a:ListOfPoints>((307769,43057),(307769,35670),(308337,35670),(308337,27554))</a:ListOfPoints> <a:ListOfPoints>((307812,43062),(307812,35670),(307101,35670),(307101,27571))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4391,8 +4391,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o36"> <o:ExtendedDependencySymbol Id="o36">
<a:CreationDate>1662020600</a:CreationDate> <a:CreationDate>1662020600</a:CreationDate>
<a:ModificationDate>1663511274</a:ModificationDate> <a:ModificationDate>1663511274</a:ModificationDate>
<a:Rect>((308526,-926), (328444,24981))</a:Rect> <a:Rect>((307242,-926), (328444,25106))</a:Rect>
<a:ListOfPoints>((328444,-926),(328444,11662),(308826,11662),(308826,24981))</a:ListOfPoints> <a:ListOfPoints>((328444,-926),(328444,11662),(307542,11662),(307542,25106))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4412,8 +4412,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o39"> <o:ExtendedDependencySymbol Id="o39">
<a:CreationDate>1662020790</a:CreationDate> <a:CreationDate>1662020790</a:CreationDate>
<a:ModificationDate>1662647017</a:ModificationDate> <a:ModificationDate>1662647017</a:ModificationDate>
<a:Rect>((284883,31246), (286110,48451))</a:Rect> <a:Rect>((285142,31108), (286521,48461))</a:Rect>
<a:ListOfPoints>((286110,48451),(286110,37421),(285183,37421),(285183,31246))</a:ListOfPoints> <a:ListOfPoints>((285142,48461),(285142,37421),(286221,37421),(286221,31108))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4433,8 +4433,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o41"> <o:ExtendedDependencySymbol Id="o41">
<a:CreationDate>1662045015</a:CreationDate> <a:CreationDate>1662045015</a:CreationDate>
<a:ModificationDate>1664295296</a:ModificationDate> <a:ModificationDate>1664295296</a:ModificationDate>
<a:Rect>((248596,52557), (276561,53260))</a:Rect> <a:Rect>((248596,52379), (276525,53260))</a:Rect>
<a:ListOfPoints>((248596,53260),(262008,53260),(262008,52857),(276561,52857))</a:ListOfPoints> <a:ListOfPoints>((248596,53260),(262008,53260),(262008,52679),(276525,52679))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4454,8 +4454,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o44"> <o:ExtendedDependencySymbol Id="o44">
<a:CreationDate>1662046228</a:CreationDate> <a:CreationDate>1662046228</a:CreationDate>
<a:ModificationDate>1662647031</a:ModificationDate> <a:ModificationDate>1662647031</a:ModificationDate>
<a:Rect>((302015,-1243), (302615,27790))</a:Rect> <a:Rect>((301371,-1243), (302023,27797))</a:Rect>
<a:ListOfPoints>((302023,-1243),(302023,15258),(302315,15258),(302315,27790))</a:ListOfPoints> <a:ListOfPoints>((302023,-1243),(302023,15258),(301671,15258),(301671,27797))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4474,9 +4474,9 @@ Shadow=0</a:DisplayPreferences>
</o:ExtendedDependencySymbol> </o:ExtendedDependencySymbol>
<o:ExtendedDependencySymbol Id="o47"> <o:ExtendedDependencySymbol Id="o47">
<a:CreationDate>1662047541</a:CreationDate> <a:CreationDate>1662047541</a:CreationDate>
<a:ModificationDate>1662047695</a:ModificationDate> <a:ModificationDate>1664863137</a:ModificationDate>
<a:Rect>((250779,30697), (297018,31870))</a:Rect> <a:Rect>((250779,30569), (296894,32209))</a:Rect>
<a:ListOfPoints>((250779,31870),(278057,31870),(278057,30997),(297018,30997))</a:ListOfPoints> <a:ListOfPoints>((250779,32209),(278057,32209),(278057,30869),(296894,30869))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4496,8 +4496,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o50"> <o:ExtendedDependencySymbol Id="o50">
<a:CreationDate>1662048005</a:CreationDate> <a:CreationDate>1662048005</a:CreationDate>
<a:ModificationDate>1662048061</a:ModificationDate> <a:ModificationDate>1662048061</a:ModificationDate>
<a:Rect>((230014,25632), (295754,27797))</a:Rect> <a:Rect>((230014,25717), (295754,28276))</a:Rect>
<a:ListOfPoints>((230014,27797),(230014,25932),(295754,25932))</a:ListOfPoints> <a:ListOfPoints>((230014,28276),(230014,26017),(295754,26017))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4517,8 +4517,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o53"> <o:ExtendedDependencySymbol Id="o53">
<a:CreationDate>1662647833</a:CreationDate> <a:CreationDate>1662647833</a:CreationDate>
<a:ModificationDate>1662647877</a:ModificationDate> <a:ModificationDate>1662647877</a:ModificationDate>
<a:Rect>((284029,14785), (284830,27625))</a:Rect> <a:Rect>((284830,14785), (285751,27639))</a:Rect>
<a:ListOfPoints>((284830,14785),(284830,20457),(284329,20457),(284329,27625))</a:ListOfPoints> <a:ListOfPoints>((284830,14785),(284830,20457),(285451,20457),(285451,27639))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4556,8 +4556,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o59"> <o:ExtendedDependencySymbol Id="o59">
<a:CreationDate>1662810688</a:CreationDate> <a:CreationDate>1662810688</a:CreationDate>
<a:ModificationDate>1663748414</a:ModificationDate> <a:ModificationDate>1663748414</a:ModificationDate>
<a:Rect>((296433,28995), (338650,29922))</a:Rect> <a:Rect>((296366,28995), (338650,29852))</a:Rect>
<a:ListOfPoints>((338650,28995),(319044,28995),(319044,29622),(296433,29622))</a:ListOfPoints> <a:ListOfPoints>((338650,28995),(319044,28995),(319044,29552),(296366,29552))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4577,8 +4577,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o61"> <o:ExtendedDependencySymbol Id="o61">
<a:CreationDate>1662865795</a:CreationDate> <a:CreationDate>1662865795</a:CreationDate>
<a:ModificationDate>1663518168</a:ModificationDate> <a:ModificationDate>1663518168</a:ModificationDate>
<a:Rect>((286927,15194), (337794,23674))</a:Rect> <a:Rect>((287794,15194), (337794,23866))</a:Rect>
<a:ListOfPoints>((337794,15194),(319320,15194),(319320,23374),(286927,23374))</a:ListOfPoints> <a:ListOfPoints>((337794,15194),(319320,15194),(319320,23566),(287794,23566))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4598,8 +4598,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o64"> <o:ExtendedDependencySymbol Id="o64">
<a:CreationDate>1664451291</a:CreationDate> <a:CreationDate>1664451291</a:CreationDate>
<a:ModificationDate>1664451291</a:ModificationDate> <a:ModificationDate>1664451291</a:ModificationDate>
<a:Rect>((242400,17940), (284580,26940))</a:Rect> <a:Rect>((241808,17898), (285677,26995))</a:Rect>
<a:ListOfPoints>((242400,17940),(242400,26640),(284580,26640))</a:ListOfPoints> <a:ListOfPoints>((241808,17898),(241808,26695),(285677,26695))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4618,8 +4618,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o67"> <o:ExtendedDependencySymbol Id="o67">
<a:CreationDate>1664451372</a:CreationDate> <a:CreationDate>1664451372</a:CreationDate>
<a:ModificationDate>1664451372</a:ModificationDate> <a:ModificationDate>1664451372</a:ModificationDate>
<a:Rect>((206700,6900), (233940,18540))</a:Rect> <a:Rect>((206557,6841), (234162,18485))</a:Rect>
<a:ListOfPoints>((206700,6900),(206700,18240),(233940,18240))</a:ListOfPoints> <a:ListOfPoints>((206557,6841),(206557,18185),(234162,18185))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4638,8 +4638,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o70"> <o:ExtendedDependencySymbol Id="o70">
<a:CreationDate>1664453932</a:CreationDate> <a:CreationDate>1664453932</a:CreationDate>
<a:ModificationDate>1664453932</a:ModificationDate> <a:ModificationDate>1664453932</a:ModificationDate>
<a:Rect>((234320,-16131), (248051,15668))</a:Rect> <a:Rect>((234477,-16251), (248093,15721))</a:Rect>
<a:ListOfPoints>((248051,-16131),(234620,-16131),(234620,15668))</a:ListOfPoints> <a:ListOfPoints>((248093,-16251),(234777,-16251),(234777,15721))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4658,8 +4658,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o73"> <o:ExtendedDependencySymbol Id="o73">
<a:CreationDate>1664461421</a:CreationDate> <a:CreationDate>1664461421</a:CreationDate>
<a:ModificationDate>1664461421</a:ModificationDate> <a:ModificationDate>1664461421</a:ModificationDate>
<a:Rect>((290881,-26780), (299893,-3621))</a:Rect> <a:Rect>((290808,-26815), (299893,-3621))</a:Rect>
<a:ListOfPoints>((290881,-26780),(290881,-10490),(299593,-10490),(299593,-3621))</a:ListOfPoints> <a:ListOfPoints>((290808,-26815),(290808,-10490),(299593,-10490),(299593,-3621))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4679,7 +4679,7 @@ Shadow=0</a:DisplayPreferences>
<a:CreationDate>1623769194</a:CreationDate> <a:CreationDate>1623769194</a:CreationDate>
<a:ModificationDate>1664366507</a:ModificationDate> <a:ModificationDate>1664366507</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((-9459,51176), (6463,66472))</a:Rect> <a:Rect>((-8713,51503), (5717,66145))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -4704,7 +4704,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623769937</a:CreationDate> <a:CreationDate>1623769937</a:CreationDate>
<a:ModificationDate>1662650462</a:ModificationDate> <a:ModificationDate>1662650462</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((-9331,11854), (6591,25350))</a:Rect> <a:Rect>((-8585,12140), (5845,25064))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -4756,7 +4756,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623770338</a:CreationDate> <a:CreationDate>1623770338</a:CreationDate>
<a:ModificationDate>1662650462</a:ModificationDate> <a:ModificationDate>1662650462</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((-9283,-14307), (6639,89))</a:Rect> <a:Rect>((-8537,-14000), (5893,-218))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -4835,7 +4835,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623826338</a:CreationDate> <a:CreationDate>1623826338</a:CreationDate>
<a:ModificationDate>1664366507</a:ModificationDate> <a:ModificationDate>1664366507</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((40688,49404), (68722,57500))</a:Rect> <a:Rect>((42066,49567), (67344,57337))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -4860,7 +4860,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623828456</a:CreationDate> <a:CreationDate>1623828456</a:CreationDate>
<a:ModificationDate>1661907266</a:ModificationDate> <a:ModificationDate>1661907266</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((8540,1660), (34844,17856))</a:Rect> <a:Rect>((9827,2008), (33557,17508))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -4885,7 +4885,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623828633</a:CreationDate> <a:CreationDate>1623828633</a:CreationDate>
<a:ModificationDate>1661907266</a:ModificationDate> <a:ModificationDate>1661907266</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((10906,-10357), (31586,-461))</a:Rect> <a:Rect>((11900,-10153), (30592,-665))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -4910,7 +4910,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623828682</a:CreationDate> <a:CreationDate>1623828682</a:CreationDate>
<a:ModificationDate>1661907266</a:ModificationDate> <a:ModificationDate>1661907266</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((10673,-24326), (31353,-14430))</a:Rect> <a:Rect>((11667,-24122), (30359,-14634))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -4960,7 +4960,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623828770</a:CreationDate> <a:CreationDate>1623828770</a:CreationDate>
<a:ModificationDate>1661907266</a:ModificationDate> <a:ModificationDate>1661907266</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((14749,18471), (33699,35567))</a:Rect> <a:Rect>((15653,18839), (32795,35199))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -4985,7 +4985,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623840859</a:CreationDate> <a:CreationDate>1623840859</a:CreationDate>
<a:ModificationDate>1661907266</a:ModificationDate> <a:ModificationDate>1661907266</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((32440,-12234), (49660,2162))</a:Rect> <a:Rect>((33254,-11927), (48846,1855))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5010,7 +5010,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623841366</a:CreationDate> <a:CreationDate>1623841366</a:CreationDate>
<a:ModificationDate>1661907266</a:ModificationDate> <a:ModificationDate>1661907266</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((32317,-26863), (49537,-12467))</a:Rect> <a:Rect>((33131,-26556), (48723,-12774))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5035,7 +5035,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623842834</a:CreationDate> <a:CreationDate>1623842834</a:CreationDate>
<a:ModificationDate>1664366507</a:ModificationDate> <a:ModificationDate>1664366507</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((72334,37006), (96042,69402))</a:Rect> <a:Rect>((73486,37723), (94890,68685))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5060,7 +5060,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623845173</a:CreationDate> <a:CreationDate>1623845173</a:CreationDate>
<a:ModificationDate>1664366507</a:ModificationDate> <a:ModificationDate>1664366507</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((96277,49454), (124745,66550))</a:Rect> <a:Rect>((97679,49822), (123343,66182))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5085,7 +5085,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623845296</a:CreationDate> <a:CreationDate>1623845296</a:CreationDate>
<a:ModificationDate>1664366507</a:ModificationDate> <a:ModificationDate>1664366507</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((96086,38154), (115036,48050))</a:Rect> <a:Rect>((96990,38358), (114132,47846))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5110,7 +5110,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623859429</a:CreationDate> <a:CreationDate>1623859429</a:CreationDate>
<a:ModificationDate>1664366507</a:ModificationDate> <a:ModificationDate>1664366507</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((125031,49262), (151335,67258))</a:Rect> <a:Rect>((126318,49651), (150048,66869))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5135,7 +5135,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623859834</a:CreationDate> <a:CreationDate>1623859834</a:CreationDate>
<a:ModificationDate>1664366507</a:ModificationDate> <a:ModificationDate>1664366507</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((125429,37287), (146109,48083))</a:Rect> <a:Rect>((126423,37512), (145115,47858))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5187,7 +5187,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623860248</a:CreationDate> <a:CreationDate>1623860248</a:CreationDate>
<a:ModificationDate>1662449601</a:ModificationDate> <a:ModificationDate>1662449601</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((73569,-8788), (94683,8308))</a:Rect> <a:Rect>((74587,-8420), (93665,7940))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5212,7 +5212,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623860509</a:CreationDate> <a:CreationDate>1623860509</a:CreationDate>
<a:ModificationDate>1662971416</a:ModificationDate> <a:ModificationDate>1662971416</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((94707,-8538), (111495,7658))</a:Rect> <a:Rect>((95498,-8190), (110704,7310))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5237,7 +5237,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623861067</a:CreationDate> <a:CreationDate>1623861067</a:CreationDate>
<a:ModificationDate>1662971416</a:ModificationDate> <a:ModificationDate>1662971416</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((113499,8387), (139803,26383))</a:Rect> <a:Rect>((114786,8776), (138516,25994))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5262,7 +5262,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623861149</a:CreationDate> <a:CreationDate>1623861149</a:CreationDate>
<a:ModificationDate>1662971416</a:ModificationDate> <a:ModificationDate>1662971416</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((116611,-4663), (137291,6133))</a:Rect> <a:Rect>((117605,-4438), (136297,5908))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5287,7 +5287,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623861203</a:CreationDate> <a:CreationDate>1623861203</a:CreationDate>
<a:ModificationDate>1662449601</a:ModificationDate> <a:ModificationDate>1662449601</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((140356,-5055), (155846,8441))</a:Rect> <a:Rect>((141079,-4769), (155123,8155))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5312,7 +5312,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623861290</a:CreationDate> <a:CreationDate>1623861290</a:CreationDate>
<a:ModificationDate>1662971416</a:ModificationDate> <a:ModificationDate>1662971416</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((116311,-17563), (136991,-6767))</a:Rect> <a:Rect>((117305,-17338), (135997,-6992))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5364,7 +5364,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623862594</a:CreationDate> <a:CreationDate>1623862594</a:CreationDate>
<a:ModificationDate>1661907266</a:ModificationDate> <a:ModificationDate>1661907266</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((57397,-26488), (70291,-14792))</a:Rect> <a:Rect>((57984,-26243), (69704,-15037))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5389,7 +5389,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623862978</a:CreationDate> <a:CreationDate>1623862978</a:CreationDate>
<a:ModificationDate>1662650462</a:ModificationDate> <a:ModificationDate>1662650462</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((-37002,-12538), (-9400,958))</a:Rect> <a:Rect>((-35647,-12252), (-10755,672))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5414,7 +5414,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623863676</a:CreationDate> <a:CreationDate>1623863676</a:CreationDate>
<a:ModificationDate>1662650462</a:ModificationDate> <a:ModificationDate>1662650462</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((-43569,-23338), (-30675,-14342))</a:Rect> <a:Rect>((-42982,-23154), (-31262,-14526))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5439,7 +5439,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623864141</a:CreationDate> <a:CreationDate>1623864141</a:CreationDate>
<a:ModificationDate>1662650462</a:ModificationDate> <a:ModificationDate>1662650462</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((-29673,-23338), (-9857,-14342))</a:Rect> <a:Rect>((-28723,-23154), (-10807,-14526))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5464,7 +5464,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623895431</a:CreationDate> <a:CreationDate>1623895431</a:CreationDate>
<a:ModificationDate>1662650462</a:ModificationDate> <a:ModificationDate>1662650462</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((-57383,-23188), (-44489,-14192))</a:Rect> <a:Rect>((-56796,-23004), (-45076,-14376))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5489,7 +5489,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1625926250</a:CreationDate> <a:CreationDate>1625926250</a:CreationDate>
<a:ModificationDate>1664366507</a:ModificationDate> <a:ModificationDate>1664366507</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((42339,28637), (66913,46633))</a:Rect> <a:Rect>((43536,29026), (65716,46244))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5514,7 +5514,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1627129933</a:CreationDate> <a:CreationDate>1627129933</a:CreationDate>
<a:ModificationDate>1664366507</a:ModificationDate> <a:ModificationDate>1664366507</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((97381,67314), (114169,74510))</a:Rect> <a:Rect>((98172,67457), (113378,74367))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5589,7 +5589,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1628340137</a:CreationDate> <a:CreationDate>1628340137</a:CreationDate>
<a:ModificationDate>1661907266</a:ModificationDate> <a:ModificationDate>1661907266</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((37596,20648), (49954,26044))</a:Rect> <a:Rect>((38210,20750), (49340,25942))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5639,7 +5639,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1631243538</a:CreationDate> <a:CreationDate>1631243538</a:CreationDate>
<a:ModificationDate>1662650462</a:ModificationDate> <a:ModificationDate>1662650462</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((-7615,-23577), (4413,-15481))</a:Rect> <a:Rect>((-7073,-23414), (3871,-15644))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5664,7 +5664,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1661850632</a:CreationDate> <a:CreationDate>1661850632</a:CreationDate>
<a:ModificationDate>1662449601</a:ModificationDate> <a:ModificationDate>1662449601</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((295266,51445), (321138,62241))</a:Rect> <a:Rect>((296531,51670), (319873,62016))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5689,7 +5689,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1661872432</a:CreationDate> <a:CreationDate>1661872432</a:CreationDate>
<a:ModificationDate>1662047569</a:ModificationDate> <a:ModificationDate>1662047569</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((263687,41487), (288693,55883))</a:Rect> <a:Rect>((264907,41794), (287473,55576))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5768,7 +5768,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1661949359</a:CreationDate> <a:CreationDate>1661949359</a:CreationDate>
<a:ModificationDate>1662042403</a:ModificationDate> <a:ModificationDate>1662042403</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((281953,22110), (309555,33806))</a:Rect> <a:Rect>((283308,22355), (308200,33561))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -5928,7 +5928,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1661960474</a:CreationDate> <a:CreationDate>1661960474</a:CreationDate>
<a:ModificationDate>1662042403</a:ModificationDate> <a:ModificationDate>1662042403</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((288345,38233), (328059,48129))</a:Rect> <a:Rect>((290333,38437), (326071,47925))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -6059,9 +6059,9 @@ LABL 0 新宋体,8,N</a:FontList>
</o:TableSymbol> </o:TableSymbol>
<o:TableSymbol Id="o48"> <o:TableSymbol Id="o48">
<a:CreationDate>1662046440</a:CreationDate> <a:CreationDate>1662046440</a:CreationDate>
<a:ModificationDate>1662047695</a:ModificationDate> <a:ModificationDate>1664863137</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((241466,27842), (260404,39810))</a:Rect> <a:Rect>((241466,28352), (260404,39810))</a:Rect>
<a:AutoAdjustToText>0</a:AutoAdjustToText> <a:AutoAdjustToText>0</a:AutoAdjustToText>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
@ -6086,9 +6086,9 @@ LABL 0 新宋体,8,N</a:FontList>
</o:TableSymbol> </o:TableSymbol>
<o:TableSymbol Id="o51"> <o:TableSymbol Id="o51">
<a:CreationDate>1662047767</a:CreationDate> <a:CreationDate>1662047767</a:CreationDate>
<a:ModificationDate>1662048050</a:ModificationDate> <a:ModificationDate>1664863142</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((220545,27765), (239483,38733))</a:Rect> <a:Rect>((220545,28245), (239483,38733))</a:Rect>
<a:AutoAdjustToText>0</a:AutoAdjustToText> <a:AutoAdjustToText>0</a:AutoAdjustToText>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
@ -6358,7 +6358,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1663937886</a:CreationDate> <a:CreationDate>1663937886</a:CreationDate>
<a:ModificationDate>1663937955</a:ModificationDate> <a:ModificationDate>1663937955</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((36448,2552), (62752,20548))</a:Rect> <a:Rect>((37735,2941), (61465,20159))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -6383,7 +6383,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1664366421</a:CreationDate> <a:CreationDate>1664366421</a:CreationDate>
<a:ModificationDate>1664451284</a:ModificationDate> <a:ModificationDate>1664451284</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((225695,11532), (246805,22329))</a:Rect> <a:Rect>((226710,11757), (245790,22104))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -6408,7 +6408,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1664367261</a:CreationDate> <a:CreationDate>1664367261</a:CreationDate>
<a:ModificationDate>1664451269</a:ModificationDate> <a:ModificationDate>1664451269</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((240536,-26579), (256458,-11282))</a:Rect> <a:Rect>((241282,-26251), (255712,-11610))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -6433,7 +6433,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1664368015</a:CreationDate> <a:CreationDate>1664368015</a:CreationDate>
<a:ModificationDate>1664451368</a:ModificationDate> <a:ModificationDate>1664451368</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((194875,-1671), (215555,12726))</a:Rect> <a:Rect>((195869,-1364), (214561,12419))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -6458,7 +6458,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1664460832</a:CreationDate> <a:CreationDate>1664460832</a:CreationDate>
<a:ModificationDate>1664461120</a:ModificationDate> <a:ModificationDate>1664461120</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((277146,-42870), (300546,-12273))</a:Rect> <a:Rect>((277563,-42194), (300129,-12949))</a:Rect>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor> <a:ShadowColor>12632256</a:ShadowColor>
@ -14619,23 +14619,23 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
</o:Column> </o:Column>
<o:Column Id="o787"> <o:Column Id="o787">
<a:ObjectID>E732E580-555A-47D5-864B-E868302C4391</a:ObjectID> <a:ObjectID>E732E580-555A-47D5-864B-E868302C4391</a:ObjectID>
<a:Name>teacher_open_course_question_log_from_id</a:Name> <a:Name>resources_question_snapshot_from_id</a:Name>
<a:Code>teacher_open_course_question_log_from_id</a:Code> <a:Code>resources_question_snapshot_from_id</a:Code>
<a:CreationDate>1661850778</a:CreationDate> <a:CreationDate>1661850778</a:CreationDate>
<a:Creator>lx</a:Creator> <a:Creator>lx</a:Creator>
<a:ModificationDate>1664375810</a:ModificationDate> <a:ModificationDate>1664863184</a:ModificationDate>
<a:Modifier>lx</a:Modifier> <a:Modifier>87966</a:Modifier>
<a:Comment>来源ID</a:Comment> <a:Comment>来源ID</a:Comment>
<a:DataType>bigint</a:DataType> <a:DataType>bigint</a:DataType>
</o:Column> </o:Column>
<o:Column Id="o788"> <o:Column Id="o788">
<a:ObjectID>7C5AFA02-3CF4-4C0D-9180-02F37466098A</a:ObjectID> <a:ObjectID>7C5AFA02-3CF4-4C0D-9180-02F37466098A</a:ObjectID>
<a:Name>teacher_open_course_question_log_from_type</a:Name> <a:Name>resources_question_snapshot_from_type</a:Name>
<a:Code>teacher_open_course_question_log_from_type</a:Code> <a:Code>resources_question_snapshot_from_type</a:Code>
<a:CreationDate>1664294920</a:CreationDate> <a:CreationDate>1664294920</a:CreationDate>
<a:Creator>lx</a:Creator> <a:Creator>lx</a:Creator>
<a:ModificationDate>1664375810</a:ModificationDate> <a:ModificationDate>1664863184</a:ModificationDate>
<a:Modifier>lx</a:Modifier> <a:Modifier>87966</a:Modifier>
<a:Comment>来源类型(枚举)</a:Comment> <a:Comment>来源类型(枚举)</a:Comment>
<a:DataType>varchar(50)</a:DataType> <a:DataType>varchar(50)</a:DataType>
<a:Length>50</a:Length> <a:Length>50</a:Length>
@ -16770,11 +16770,11 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
</o:Column> </o:Column>
<o:Column Id="o947"> <o:Column Id="o947">
<a:ObjectID>D00F59E0-A483-453B-B382-AD18F74C0ABB</a:ObjectID> <a:ObjectID>D00F59E0-A483-453B-B382-AD18F74C0ABB</a:ObjectID>
<a:Name>from_id</a:Name> <a:Name>resources_question_snapshot_from_id</a:Name>
<a:Code>from_id</a:Code> <a:Code>resources_question_snapshot_from_id</a:Code>
<a:CreationDate>1563157584</a:CreationDate> <a:CreationDate>1563157584</a:CreationDate>
<a:Creator>lx</a:Creator> <a:Creator>lx</a:Creator>
<a:ModificationDate>1664174457</a:ModificationDate> <a:ModificationDate>1664507810</a:ModificationDate>
<a:Modifier>87966</a:Modifier> <a:Modifier>87966</a:Modifier>
<a:Comment>来源ID</a:Comment> <a:Comment>来源ID</a:Comment>
<a:DataType>bigint</a:DataType> <a:DataType>bigint</a:DataType>
@ -16787,11 +16787,11 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
</o:Column> </o:Column>
<o:Column Id="o948"> <o:Column Id="o948">
<a:ObjectID>4CD5F796-DD7D-4978-9E99-2F93C55A9DE6</a:ObjectID> <a:ObjectID>4CD5F796-DD7D-4978-9E99-2F93C55A9DE6</a:ObjectID>
<a:Name>from_type</a:Name> <a:Name>resources_question_snapshot_from_type</a:Name>
<a:Code>from_type</a:Code> <a:Code>resources_question_snapshot_from_type</a:Code>
<a:CreationDate>1663937890</a:CreationDate> <a:CreationDate>1663937890</a:CreationDate>
<a:Creator>lx</a:Creator> <a:Creator>lx</a:Creator>
<a:ModificationDate>1664174457</a:ModificationDate> <a:ModificationDate>1664507810</a:ModificationDate>
<a:Modifier>87966</a:Modifier> <a:Modifier>87966</a:Modifier>
<a:Comment>来源类型HOMEWORK...</a:Comment> <a:Comment>来源类型HOMEWORK...</a:Comment>
<a:DataType>varchar(100)</a:DataType> <a:DataType>varchar(100)</a:DataType>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?PowerDesigner AppLocale="UTF16" ID="{BA33ABB7-B246-4DB0-85DE-396EDDB46458}" Label="" LastModificationDate="1664507810" Name="cjks" Objects="1079" Symbols="91" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?> <?PowerDesigner AppLocale="UTF16" ID="{BA33ABB7-B246-4DB0-85DE-396EDDB46458}" Label="" LastModificationDate="1664863184" Name="cjks" Objects="1079" Symbols="91" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
<!-- do not edit this file --> <!-- do not edit this file -->
<Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object"> <Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@ -4474,9 +4474,9 @@ Shadow=0</a:DisplayPreferences>
</o:ExtendedDependencySymbol> </o:ExtendedDependencySymbol>
<o:ExtendedDependencySymbol Id="o47"> <o:ExtendedDependencySymbol Id="o47">
<a:CreationDate>1662047541</a:CreationDate> <a:CreationDate>1662047541</a:CreationDate>
<a:ModificationDate>1662047695</a:ModificationDate> <a:ModificationDate>1664863137</a:ModificationDate>
<a:Rect>((250779,30569), (296894,31870))</a:Rect> <a:Rect>((250779,30569), (296894,32209))</a:Rect>
<a:ListOfPoints>((250779,31870),(278057,31870),(278057,30869),(296894,30869))</a:ListOfPoints> <a:ListOfPoints>((250779,32209),(278057,32209),(278057,30869),(296894,30869))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -4496,8 +4496,8 @@ Shadow=0</a:DisplayPreferences>
<o:ExtendedDependencySymbol Id="o50"> <o:ExtendedDependencySymbol Id="o50">
<a:CreationDate>1662048005</a:CreationDate> <a:CreationDate>1662048005</a:CreationDate>
<a:ModificationDate>1662048061</a:ModificationDate> <a:ModificationDate>1662048061</a:ModificationDate>
<a:Rect>((230014,25717), (295754,27797))</a:Rect> <a:Rect>((230014,25717), (295754,28276))</a:Rect>
<a:ListOfPoints>((230014,27797),(230014,26017),(295754,26017))</a:ListOfPoints> <a:ListOfPoints>((230014,28276),(230014,26017),(295754,26017))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle> <a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>8</a:ArrowStyle> <a:ArrowStyle>8</a:ArrowStyle>
<a:LineColor>16744576</a:LineColor> <a:LineColor>16744576</a:LineColor>
@ -6059,9 +6059,9 @@ LABL 0 新宋体,8,N</a:FontList>
</o:TableSymbol> </o:TableSymbol>
<o:TableSymbol Id="o48"> <o:TableSymbol Id="o48">
<a:CreationDate>1662046440</a:CreationDate> <a:CreationDate>1662046440</a:CreationDate>
<a:ModificationDate>1662047695</a:ModificationDate> <a:ModificationDate>1664863137</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((241466,27842), (260404,39810))</a:Rect> <a:Rect>((241466,28352), (260404,39810))</a:Rect>
<a:AutoAdjustToText>0</a:AutoAdjustToText> <a:AutoAdjustToText>0</a:AutoAdjustToText>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
@ -6086,9 +6086,9 @@ LABL 0 新宋体,8,N</a:FontList>
</o:TableSymbol> </o:TableSymbol>
<o:TableSymbol Id="o51"> <o:TableSymbol Id="o51">
<a:CreationDate>1662047767</a:CreationDate> <a:CreationDate>1662047767</a:CreationDate>
<a:ModificationDate>1662048050</a:ModificationDate> <a:ModificationDate>1664863142</a:ModificationDate>
<a:IconMode>-1</a:IconMode> <a:IconMode>-1</a:IconMode>
<a:Rect>((220545,27765), (239483,38733))</a:Rect> <a:Rect>((220545,28245), (239483,38733))</a:Rect>
<a:AutoAdjustToText>0</a:AutoAdjustToText> <a:AutoAdjustToText>0</a:AutoAdjustToText>
<a:LineColor>12615680</a:LineColor> <a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor> <a:FillColor>16570034</a:FillColor>
@ -14619,23 +14619,23 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
</o:Column> </o:Column>
<o:Column Id="o787"> <o:Column Id="o787">
<a:ObjectID>E732E580-555A-47D5-864B-E868302C4391</a:ObjectID> <a:ObjectID>E732E580-555A-47D5-864B-E868302C4391</a:ObjectID>
<a:Name>teacher_open_course_question_log_from_id</a:Name> <a:Name>resources_question_snapshot_from_id</a:Name>
<a:Code>teacher_open_course_question_log_from_id</a:Code> <a:Code>resources_question_snapshot_from_id</a:Code>
<a:CreationDate>1661850778</a:CreationDate> <a:CreationDate>1661850778</a:CreationDate>
<a:Creator>lx</a:Creator> <a:Creator>lx</a:Creator>
<a:ModificationDate>1664375810</a:ModificationDate> <a:ModificationDate>1664863184</a:ModificationDate>
<a:Modifier>lx</a:Modifier> <a:Modifier>87966</a:Modifier>
<a:Comment>来源ID</a:Comment> <a:Comment>来源ID</a:Comment>
<a:DataType>bigint</a:DataType> <a:DataType>bigint</a:DataType>
</o:Column> </o:Column>
<o:Column Id="o788"> <o:Column Id="o788">
<a:ObjectID>7C5AFA02-3CF4-4C0D-9180-02F37466098A</a:ObjectID> <a:ObjectID>7C5AFA02-3CF4-4C0D-9180-02F37466098A</a:ObjectID>
<a:Name>teacher_open_course_question_log_from_type</a:Name> <a:Name>resources_question_snapshot_from_type</a:Name>
<a:Code>teacher_open_course_question_log_from_type</a:Code> <a:Code>resources_question_snapshot_from_type</a:Code>
<a:CreationDate>1664294920</a:CreationDate> <a:CreationDate>1664294920</a:CreationDate>
<a:Creator>lx</a:Creator> <a:Creator>lx</a:Creator>
<a:ModificationDate>1664375810</a:ModificationDate> <a:ModificationDate>1664863184</a:ModificationDate>
<a:Modifier>lx</a:Modifier> <a:Modifier>87966</a:Modifier>
<a:Comment>来源类型(枚举)</a:Comment> <a:Comment>来源类型(枚举)</a:Comment>
<a:DataType>varchar(50)</a:DataType> <a:DataType>varchar(50)</a:DataType>
<a:Length>50</a:Length> <a:Length>50</a:Length>

@ -28622,9 +28622,6 @@ COLLATE = utf8_general_ci;
alter table teacher_open_course_homework comment '我的课程-题库作业'; alter table teacher_open_course_homework comment '我的课程-题库作业';
-- ----------------------------
-- Records of teacher_open_course_homework
-- ----------------------------
drop table if exists teacher_open_course_question_log; drop table if exists teacher_open_course_question_log;
/*==============================================================*/ /*==============================================================*/
@ -28633,8 +28630,8 @@ drop table if exists teacher_open_course_question_log;
create table teacher_open_course_question_log create table teacher_open_course_question_log
( (
teacher_open_course_question_log_id bigint not null comment '学生做题日志ID', teacher_open_course_question_log_id bigint not null comment '学生做题日志ID',
teacher_open_course_question_log_from_id bigint comment '来源ID', resources_question_snapshot_from_id bigint comment '来源ID',
teacher_open_course_question_log_from_type varchar(50) comment '来源类型(枚举)', resources_question_snapshot_from_type varchar(50) comment '来源类型(枚举)',
resources_question_snapshot_id bigint comment '题目快照ID', resources_question_snapshot_id bigint comment '题目快照ID',
teacher_open_course_question_log_answer varchar(1000) comment '学生提交的答案', teacher_open_course_question_log_answer varchar(1000) comment '学生提交的答案',
teacher_open_course_question_log_upload_file varchar(1000) comment '附件,学生端上传附件(单文件)', teacher_open_course_question_log_upload_file varchar(1000) comment '附件,学生端上传附件(单文件)',
@ -28652,6 +28649,7 @@ COLLATE = utf8_general_ci;
alter table teacher_open_course_question_log comment '我的课程-题库-做题日志'; alter table teacher_open_course_question_log comment '我的课程-题库-做题日志';
drop table if exists teacher_open_course_homework_setting; drop table if exists teacher_open_course_homework_setting;
/*==============================================================*/ /*==============================================================*/

@ -24,4 +24,6 @@ public interface TeacherOpenCourseQuestionLogDao extends BaseMapper<TeacherOpenC
int updateGivenByIds(TeacherOpenCourseQuestionLogQuery teacherOpenCourseQuestionLogQuery); int updateGivenByIds(TeacherOpenCourseQuestionLogQuery teacherOpenCourseQuestionLogQuery);
List<TeacherOpenCourseQuestionLog> getByIds(String ids); List<TeacherOpenCourseQuestionLog> getByIds(String ids);
List<TeacherOpenCourseQuestionLog> getValuesByQuery(TeacherOpenCourseQuestionLogQuery teacherOpenCourseQuestionLogQuery); List<TeacherOpenCourseQuestionLog> getValuesByQuery(TeacherOpenCourseQuestionLogQuery teacherOpenCourseQuestionLogQuery);
Integer doCount(TeacherOpenCourseQuestionLogQuery teacherOpenCourseQuestionLogQuery);
} }

@ -132,9 +132,9 @@ public class ResourcesQuestionSnapshotService extends CoreBaseService<ResourcesQ
return resourcesQuestionSnapshotDao.getValuesByQuery(resourcesQuestionSnapshotQuery); return resourcesQuestionSnapshotDao.getValuesByQuery(resourcesQuestionSnapshotQuery);
} }
public ResourcesQuestionSnapshot getInfo (Long fromId){ public ResourcesQuestionSnapshot getInfo (Long resourcesQuestionSnapshotFromId){
ResourcesQuestionSnapshotQuery resourcesQuestionSnapshotQuery = new ResourcesQuestionSnapshotQuery(); ResourcesQuestionSnapshotQuery resourcesQuestionSnapshotQuery = new ResourcesQuestionSnapshotQuery();
resourcesQuestionSnapshotQuery.setResourcesQuestionSnapshotFromId(fromId); resourcesQuestionSnapshotQuery.setResourcesQuestionSnapshotFromId(resourcesQuestionSnapshotFromId);
List<ResourcesQuestionSnapshot> list = resourcesQuestionSnapshotDao.getValuesByQuery(resourcesQuestionSnapshotQuery); List<ResourcesQuestionSnapshot> list = resourcesQuestionSnapshotDao.getValuesByQuery(resourcesQuestionSnapshotQuery);
if(null != list && list.size()>0){ if(null != list && list.size()>0){
return list.get(0); return list.get(0);

@ -11,13 +11,11 @@ import com.ibeetl.admin.core.util.PlatformException;
import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.admin.core.web.JsonReturnCode; import com.ibeetl.admin.core.web.JsonReturnCode;
import com.ibeetl.jlw.dao.ResourcesQuestionSnapshotDao; import com.ibeetl.jlw.dao.ResourcesQuestionSnapshotDao;
import com.ibeetl.jlw.dao.StudentDao;
import com.ibeetl.jlw.dao.TeacherOpenCourseHomeworkDao; import com.ibeetl.jlw.dao.TeacherOpenCourseHomeworkDao;
import com.ibeetl.jlw.entity.ResourcesQuestionSnapshot; import com.ibeetl.jlw.dao.TeacherOpenCourseQuestionLogDao;
import com.ibeetl.jlw.entity.TeacherOpenCourseHomework; import com.ibeetl.jlw.entity.TeacherOpenCourseHomework;
import com.ibeetl.jlw.entity.TeacherOpenCourseHomeworkSetting;
import com.ibeetl.jlw.web.query.ResourcesQuestionSnapshotQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkSettingQuery;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.beetl.sql.core.SqlId; import org.beetl.sql.core.SqlId;
import org.beetl.sql.core.engine.PageQuery; import org.beetl.sql.core.engine.PageQuery;
@ -29,8 +27,6 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import static cn.hutool.json.JSONUtil.toJsonStr; import static cn.hutool.json.JSONUtil.toJsonStr;
import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUserId;
import static com.ibeetl.jlw.entity.ResourcesQuestionOptionEntity.shuffleOrderOptions;
/** /**
* Service * Service
@ -44,6 +40,8 @@ public class TeacherOpenCourseHomeworkService extends CoreBaseService<TeacherOpe
@Resource private TeacherOpenCourseHomeworkDao teacherOpenCourseHomeworkDao; @Resource private TeacherOpenCourseHomeworkDao teacherOpenCourseHomeworkDao;
@Resource private TeacherOpenCourseHomeworkSettingService teacherOpenCourseHomeworkSettingService; @Resource private TeacherOpenCourseHomeworkSettingService teacherOpenCourseHomeworkSettingService;
@Resource private ResourcesQuestionSnapshotDao resourcesQuestionSnapshotDao; @Resource private ResourcesQuestionSnapshotDao resourcesQuestionSnapshotDao;
@Resource private TeacherOpenCourseQuestionLogDao teacherOpenCourseQuestionLogDao;
@Resource private StudentDao studentDao;
@ -183,61 +181,4 @@ public class TeacherOpenCourseHomeworkService extends CoreBaseService<TeacherOpe
teacherOpenCourseHomeworkSettingService.addHomeWordBySetting(homeworkQuery.getTeacherOpenCourseHomeworkSettingQuery()); teacherOpenCourseHomeworkSettingService.addHomeWordBySetting(homeworkQuery.getTeacherOpenCourseHomeworkSettingQuery());
} }
/**
*
* @param teacherOpenCourseHomeworkId ID
* @return
*/
public List<ResourcesQuestionSnapshot> homeworkDetail(final Long teacherOpenCourseHomeworkId) {
// 常量 True的Integer表现
final Integer TRUE_CONST = 1;
List<ResourcesQuestionSnapshot> resourcesQuestionSnapshots = new ArrayList<>();
TeacherOpenCourseHomework homework = getInfo(teacherOpenCourseHomeworkId);
cn.hutool.core.lang.Assert.notNull(homework, "未查询到作业ID对应的题目");
TeacherOpenCourseHomeworkSettingQuery settingQuery = new TeacherOpenCourseHomeworkSettingQuery();
settingQuery.setTeacherOpenCourseHomeworkId(teacherOpenCourseHomeworkId);
TeacherOpenCourseHomeworkSetting hwSetting = teacherOpenCourseHomeworkSettingService.getInfo(settingQuery);
ResourcesQuestionSnapshotQuery questionSnapshotQuery = new ResourcesQuestionSnapshotQuery();
questionSnapshotQuery.setResourcesQuestionSnapshotFromId(teacherOpenCourseHomeworkId);
// 作答次数
if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseHomeworkSettingDoCount())) {
// TODO 逻辑不一定要在这里写
getUserId();
}
// 答卷后显示答案解析
if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseHomeworkSettingEndShowQa())) {
// TODO 逻辑不一定要在这里写
}
// 答卷后显示答案对错
if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseHomeworkSettingEndShowTrueFalse())) {
// TODO 逻辑不一定要在这里写
}
// 题目乱序(同一大题内)
if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseHomeworkSettingQuestionNoOrder())) {
questionSnapshotQuery.setRand(true);
}
// 选项乱序(限单选、多选)
if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseHomeworkSettingOptionNoOrder())) {
resourcesQuestionSnapshots = resourcesQuestionSnapshotDao.getValuesByQuery(questionSnapshotQuery);
// 单题选项排序处理
resourcesQuestionSnapshots.forEach(value -> {
shuffleOrderOptions(value, "questionAnswer","questionOption", true);
// 屏蔽答案
value.setQuestionAnswer(null);
});
}
return resourcesQuestionSnapshots;
}
} }

@ -1,5 +1,7 @@
package com.ibeetl.jlw.service; package com.ibeetl.jlw.service;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.BooleanUtil;
import cn.jlw.util.ToolUtils; import cn.jlw.util.ToolUtils;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@ -11,11 +13,12 @@ import com.ibeetl.admin.core.web.JsonReturnCode;
import com.ibeetl.jlw.dao.ResourcesQuestionSnapshotDao; import com.ibeetl.jlw.dao.ResourcesQuestionSnapshotDao;
import com.ibeetl.jlw.dao.StudentDao; import com.ibeetl.jlw.dao.StudentDao;
import com.ibeetl.jlw.dao.TeacherOpenCourseQuestionLogDao; import com.ibeetl.jlw.dao.TeacherOpenCourseQuestionLogDao;
import com.ibeetl.jlw.entity.ResourcesQuestionSnapshot; import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.entity.Student;
import com.ibeetl.jlw.entity.TeacherOpenCourseQuestionLog;
import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum; import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum;
import com.ibeetl.jlw.web.query.ResourcesQuestionSnapshotQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkSettingQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseQuestionLogQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseQuestionLogQuery;
import com.sun.istack.internal.Nullable;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.beetl.sql.core.SqlId; import org.beetl.sql.core.SqlId;
import org.beetl.sql.core.engine.PageQuery; import org.beetl.sql.core.engine.PageQuery;
@ -24,10 +27,14 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.constraints.NotEmpty;
import java.util.*; import java.util.*;
import static cn.hutool.core.util.ArrayUtil.join; import static cn.hutool.core.util.ArrayUtil.join;
import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser; import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser;
import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUserId;
import static com.ibeetl.jlw.entity.ResourcesQuestionOptionEntity.shuffleOrderOptions;
import static java.util.stream.Collectors.groupingBy;
/** /**
* Service * Service
@ -41,6 +48,8 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService<Teacher
@Resource private TeacherOpenCourseQuestionLogDao teacherOpenCourseQuestionLogDao; @Resource private TeacherOpenCourseQuestionLogDao teacherOpenCourseQuestionLogDao;
@Resource private StudentDao studentDao; @Resource private StudentDao studentDao;
@Resource private ResourcesQuestionSnapshotDao resourcesQuestionSnapshotDao; @Resource private ResourcesQuestionSnapshotDao resourcesQuestionSnapshotDao;
@Resource private TeacherOpenCourseHomeworkService teacherOpenCourseHomeworkService;
@Resource private TeacherOpenCourseHomeworkSettingService teacherOpenCourseHomeworkSettingService;
public PageQuery<TeacherOpenCourseQuestionLog>queryByCondition(PageQuery query){ public PageQuery<TeacherOpenCourseQuestionLog>queryByCondition(PageQuery query){
PageQuery ret = teacherOpenCourseQuestionLogDao.queryByCondition(query); PageQuery ret = teacherOpenCourseQuestionLogDao.queryByCondition(query);
@ -203,4 +212,101 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService<Teacher
insertBatch(list); insertBatch(list);
} }
/**
*
* @param resourcesQuestionSnapshotFromId ID
* @return
*/
public List<ResourcesQuestionSnapshot> questionDetail(final Long resourcesQuestionSnapshotFromId) {
// 获取学生ID
final Student student = studentDao.getByUserId(getUserId());
// 常量 True的Integer表现
final Integer TRUE_CONST = 1;
List<ResourcesQuestionSnapshot> resourcesQuestionSnapshots = new ArrayList<>();
TeacherOpenCourseHomework homework = teacherOpenCourseHomeworkService.getInfo(resourcesQuestionSnapshotFromId);
Assert.notNull(homework, "未查询到来源ID对应的题目");
TeacherOpenCourseHomeworkSettingQuery settingQuery = new TeacherOpenCourseHomeworkSettingQuery();
settingQuery.setTeacherOpenCourseHomeworkId(resourcesQuestionSnapshotFromId);
TeacherOpenCourseHomeworkSetting hwSetting = teacherOpenCourseHomeworkSettingService.getInfo(settingQuery);
ResourcesQuestionSnapshotQuery questionSnapshotQuery = new ResourcesQuestionSnapshotQuery();
questionSnapshotQuery.setResourcesQuestionSnapshotFromId(resourcesQuestionSnapshotFromId);
// 作答次数
Integer teacherOpenCourseHomeworkSettingDoCount = hwSetting.getTeacherOpenCourseHomeworkSettingDoCount();
Assert.isTrue(teacherOpenCourseHomeworkSettingDoCount > 1, "作答次数设置有误,请联系管理员!");
// 数据库查询该学生已经做过的次数
TeacherOpenCourseQuestionLogQuery teacherOpenCourseQuestionLogQuery = new TeacherOpenCourseQuestionLogQuery();
teacherOpenCourseQuestionLogQuery.setStudentId(student.getStudentId());
// 作业ID
teacherOpenCourseQuestionLogQuery.setResourcesQuestionSnapshotFromId(resourcesQuestionSnapshotFromId);
Integer doCount = teacherOpenCourseQuestionLogDao.doCount(teacherOpenCourseQuestionLogQuery);
// 断言判断最大作答次数
Assert.isTrue(doCount < teacherOpenCourseHomeworkSettingDoCount, "已超过最大作答次数!");
// 答卷后显示答案解析
if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseHomeworkSettingEndShowQa())) {
// TODO 逻辑不要在这里写
/** 实现 {@link TeacherOpenCourseQuestionLogService#questionAnalysis(TreeSet)} */
}
// 答卷后显示答案对错
if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseHomeworkSettingEndShowTrueFalse())) {
// TODO 逻辑不要在这里写
/** 实现 {@link TeacherOpenCourseQuestionLogService#questionAnalysis(TreeSet)} */
}
// 题目乱序(同一大题内)
if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseHomeworkSettingQuestionNoOrder())) {
questionSnapshotQuery.setRand(true);
}
// 选项乱序(限单选、多选)
if (TRUE_CONST.equals(hwSetting.getTeacherOpenCourseHomeworkSettingOptionNoOrder())) {
resourcesQuestionSnapshots = resourcesQuestionSnapshotDao.getValuesByQuery(questionSnapshotQuery);
// 单题选项排序处理
resourcesQuestionSnapshots.forEach(value -> {
shuffleOrderOptions(value, "questionAnswer","questionOption", true);
// 屏蔽答案
value.setQuestionAnswer(null);
});
}
return resourcesQuestionSnapshots;
}
/**
* -
* @param questionSnapshotIds
* @return
*/
public Map<Long, List<ResourcesQuestionSnapshot>> questionAnalysis(@NotEmpty final TreeSet<Long> questionSnapshotIds) {
// 查询题目快照列表
List<ResourcesQuestionSnapshot> questionSnapshots = resourcesQuestionSnapshotDao.getByIds(join(questionSnapshotIds.toArray(), ","));
Assert.notEmpty(questionSnapshots, "未查询到题目列表!");
TeacherOpenCourseHomeworkSettingQuery settingQuery = new TeacherOpenCourseHomeworkSettingQuery();
settingQuery.setTeacherOpenCourseHomeworkId(questionSnapshots.get(0).getResourcesQuestionSnapshotFromId());
@Nullable
final TeacherOpenCourseHomeworkSetting hwSetting = teacherOpenCourseHomeworkSettingService.getInfo(settingQuery);
// 答卷后显示答案解析
final Boolean isEndShowQa = BooleanUtil.toBoolean(String.valueOf(hwSetting.getTeacherOpenCourseHomeworkSettingEndShowQa()));
// 答卷后显示答案对错
final Boolean isEndShowTrueFalse = BooleanUtil.toBoolean(String.valueOf(hwSetting.getTeacherOpenCourseHomeworkSettingEndShowTrueFalse()));
return questionSnapshots.stream().map(item -> {
ResourcesQuestionSnapshot resourcesQuestionSnapshot = new ResourcesQuestionSnapshot();
resourcesQuestionSnapshot.setResourcesQuestionSnapshotId(item.getResourcesQuestionSnapshotId());
resourcesQuestionSnapshot.setQuestionAnswer(isEndShowQa ? item.getQuestionAnswer() : "");
resourcesQuestionSnapshot.setQuestionAnalysis(isEndShowTrueFalse ? item.getQuestionAnalysis(): "");
return resourcesQuestionSnapshot;
}).collect(groupingBy(ResourcesQuestionSnapshot::getResourcesQuestionSnapshotId));
}
} }

@ -93,19 +93,19 @@ public class ResourcesQuestionSnapshotController{
@GetMapping(MODEL + "/edit.do") @GetMapping(MODEL + "/edit.do")
@Function("resourcesQuestionSnapshot.edit") @Function("resourcesQuestionSnapshot.edit")
public ModelAndView edit(Long fromId) { public ModelAndView edit(Long resourcesQuestionSnapshotFromId) {
ModelAndView view = new ModelAndView("/jlw/resourcesQuestionSnapshot/edit.html"); ModelAndView view = new ModelAndView("/jlw/resourcesQuestionSnapshot/edit.html");
ResourcesQuestionSnapshot resourcesQuestionSnapshot = resourcesQuestionSnapshotService.queryById(fromId); ResourcesQuestionSnapshot resourcesQuestionSnapshot = resourcesQuestionSnapshotService.queryById(resourcesQuestionSnapshotFromId);
view.addObject("resourcesQuestionSnapshot", resourcesQuestionSnapshot); view.addObject("resourcesQuestionSnapshot", resourcesQuestionSnapshot);
return view; return view;
} }
@GetMapping(MODEL + "/add.do") @GetMapping(MODEL + "/add.do")
@Function("resourcesQuestionSnapshot.add") @Function("resourcesQuestionSnapshot.add")
public ModelAndView add(Long fromId) { public ModelAndView add(Long resourcesQuestionSnapshotFromId) {
ModelAndView view = new ModelAndView("/jlw/resourcesQuestionSnapshot/add.html"); ModelAndView view = new ModelAndView("/jlw/resourcesQuestionSnapshot/add.html");
if(null != fromId){ if(null != resourcesQuestionSnapshotFromId){
ResourcesQuestionSnapshot resourcesQuestionSnapshot = resourcesQuestionSnapshotService.queryById(fromId); ResourcesQuestionSnapshot resourcesQuestionSnapshot = resourcesQuestionSnapshotService.queryById(resourcesQuestionSnapshotFromId);
view.addObject("resourcesQuestionSnapshot", resourcesQuestionSnapshot); view.addObject("resourcesQuestionSnapshot", resourcesQuestionSnapshot);
}else { }else {
view.addObject("resourcesQuestionSnapshot", new ResourcesQuestionSnapshot()); view.addObject("resourcesQuestionSnapshot", new ResourcesQuestionSnapshot());
@ -172,8 +172,8 @@ public class ResourcesQuestionSnapshotController{
@GetMapping(MODEL + "/view.json") @GetMapping(MODEL + "/view.json")
@Function("resourcesQuestionSnapshot.query") @Function("resourcesQuestionSnapshot.query")
public JsonResult<ResourcesQuestionSnapshot>queryInfo(Long fromId) { public JsonResult<ResourcesQuestionSnapshot>queryInfo(Long resourcesQuestionSnapshotFromId) {
ResourcesQuestionSnapshot resourcesQuestionSnapshot = resourcesQuestionSnapshotService.queryById( fromId); ResourcesQuestionSnapshot resourcesQuestionSnapshot = resourcesQuestionSnapshotService.queryById( resourcesQuestionSnapshotFromId);
return JsonResult.success(resourcesQuestionSnapshot); return JsonResult.success(resourcesQuestionSnapshot);
} }

@ -214,15 +214,4 @@ public class TeacherOpenCourseHomeworkController {
return JsonResult.success(); return JsonResult.success();
} }
/**
* -
* @param teacherOpenCourseHomeworkId ID
* @return
*/
@PostMapping(MODEL + "/homeworkDetail.json")
@Function("teacherOpenCourseHomework.query")
public JsonResult homeworkDetail(Long teacherOpenCourseHomeworkId, @SCoreUser CoreUser coreUser) {
return JsonResult.success(teacherOpenCourseHomeworkService.homeworkDetail(teacherOpenCourseHomeworkId));
}
} }

@ -220,4 +220,37 @@ public class TeacherOpenCourseQuestionLogController{
return JsonResult.success(); return JsonResult.success();
} }
/**
* -
*
* "/",
*
* @param questionSnapshotIds [ID]
* @param coreUser Service
* @return
*/
@PostMapping(MODEL + "/questionAnalysis.json")
@Function("teacherOpenCourseQuestionLog.query")
@ResponseBody
public JsonResult questionAnalysis(
@RequestBody @NotEmpty(message = "请上传题目快照ID和答案")
TreeSet<Long> questionSnapshotIds,
@SCoreUser
CoreUser coreUser) {
Assert.isTrue(coreUser.isStudent(), "非学生身份,无法获取题目分析!");
return JsonResult.success(teacherOpenCourseQuestionLogService.questionAnalysis(questionSnapshotIds));
}
/**
* -
* @param resourcesQuestionSnapshotFromId ID IDID
* @return
*/
@PostMapping(MODEL + "/questionDetail.json")
@Function("teacherOpenCourseQuestionLog.query")
public JsonResult questionDetail(Long resourcesQuestionSnapshotFromId, @SCoreUser CoreUser coreUser) {
Assert.isTrue(coreUser.isStudent(), "非学生身份,无法获取题目!");
return JsonResult.success(teacherOpenCourseQuestionLogService.questionDetail(resourcesQuestionSnapshotFromId));
}
} }

@ -8,9 +8,8 @@ import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* *ResourcesQuestionSnapshot
*/ */
public class ResourcesQuestionSnapshotQuery extends PageParam { public class ResourcesQuestionSnapshotQuery extends PageParam {
@NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class) @NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
@ -48,23 +47,19 @@ public class ResourcesQuestionSnapshotQuery extends PageParam {
private Long userId; private Long userId;
@Query(name = "组织机构ID", display = false) @Query(name = "组织机构ID", display = false)
private Long orgId; private Long orgId;
private String resourcesQuestionSnapshotIdPlural;
/** private String resourcesQuestionSnapshotFromIdPlural;
* SQL
*/
private Boolean rand;
private String fromIdPlural;
private String courseInfoIdPlural; private String courseInfoIdPlural;
private String questionTypePlural; private String questionTypePlural;
private String questionStatusPlural; private String questionStatusPlural;
private String userIdPlural; private String userIdPlural;
private String orgIdPlural; private String orgIdPlural;
private String resourcesQuestionSnapshotJsonStr;//json格式 private String resourcesQuestionSnapshotJsonStr;//json格式
private String _given;//指定更新的特定字段,多个逗号隔开 private String _given;//指定更新的特定字段,多个逗号隔开
// 是否乱序
private boolean rand;
public Long getResourcesQuestionSnapshotId(){ public Long getResourcesQuestionSnapshotId(){
return resourcesQuestionSnapshotId; return resourcesQuestionSnapshotId;
} }
@ -72,15 +67,15 @@ public class ResourcesQuestionSnapshotQuery extends PageParam {
this.resourcesQuestionSnapshotId = resourcesQuestionSnapshotId; this.resourcesQuestionSnapshotId = resourcesQuestionSnapshotId;
} }
public Long getResourcesQuestionSnapshotFromId(){ public Long getResourcesQuestionSnapshotFromId(){
return resourcesQuestionSnapshotFromId; return resourcesQuestionSnapshotFromId;
} }
public void setResourcesQuestionSnapshotFromId(Long resourcesQuestionSnapshotFromId){ public void setResourcesQuestionSnapshotFromId(Long resourcesQuestionSnapshotFromId ){
this.resourcesQuestionSnapshotFromId = resourcesQuestionSnapshotFromId; this.resourcesQuestionSnapshotFromId = resourcesQuestionSnapshotFromId;
} }
public ResourcesQuestionSnapshotFromTypeEnum getResourcesQuestionSnapshotFromType(){ public ResourcesQuestionSnapshotFromTypeEnum getResourcesQuestionSnapshotFromType(){
return resourcesQuestionSnapshotFromType; return resourcesQuestionSnapshotFromType;
} }
public void setResourcesQuestionSnapshotFromType(ResourcesQuestionSnapshotFromTypeEnum resourcesQuestionSnapshotFromType){ public void setResourcesQuestionSnapshotFromType(ResourcesQuestionSnapshotFromTypeEnum resourcesQuestionSnapshotFromType ){
this.resourcesQuestionSnapshotFromType = resourcesQuestionSnapshotFromType; this.resourcesQuestionSnapshotFromType = resourcesQuestionSnapshotFromType;
} }
public Long getCourseInfoId(){ public Long getCourseInfoId(){
@ -167,7 +162,6 @@ public class ResourcesQuestionSnapshotQuery extends PageParam {
public void setOrgId(Long orgId ){ public void setOrgId(Long orgId ){
this.orgId = orgId; this.orgId = orgId;
} }
public ResourcesQuestionSnapshot pojo(){ public ResourcesQuestionSnapshot pojo(){
ResourcesQuestionSnapshot pojo = new ResourcesQuestionSnapshot(); ResourcesQuestionSnapshot pojo = new ResourcesQuestionSnapshot();
pojo.setResourcesQuestionSnapshotId(this.getResourcesQuestionSnapshotId()); pojo.setResourcesQuestionSnapshotId(this.getResourcesQuestionSnapshotId());
@ -189,12 +183,17 @@ public class ResourcesQuestionSnapshotQuery extends PageParam {
pojo.setOrgId(this.getOrgId()); pojo.setOrgId(this.getOrgId());
return pojo; return pojo;
} }
public String getResourcesQuestionSnapshotIdPlural(){
public String getFromIdPlural(){ return resourcesQuestionSnapshotIdPlural;
return fromIdPlural; }
public void setResourcesQuestionSnapshotIdPlural(String resourcesQuestionSnapshotIdPlural){
this.resourcesQuestionSnapshotIdPlural = resourcesQuestionSnapshotIdPlural;
} }
public void setFromIdPlural(String fromIdPlural){ public String getResourcesQuestionSnapshotFromIdPlural(){
this.fromIdPlural = fromIdPlural; return resourcesQuestionSnapshotFromIdPlural;
}
public void setResourcesQuestionSnapshotFromIdPlural(String resourcesQuestionSnapshotFromIdPlural){
this.resourcesQuestionSnapshotFromIdPlural = resourcesQuestionSnapshotFromIdPlural;
} }
public String getCourseInfoIdPlural(){ public String getCourseInfoIdPlural(){
return courseInfoIdPlural; return courseInfoIdPlural;
@ -239,11 +238,11 @@ public class ResourcesQuestionSnapshotQuery extends PageParam {
this._given = _given; this._given = _given;
} }
public Boolean getRand() { public void setRand(boolean rand) {
return rand; this.rand = rand;
} }
public void setRand(Boolean rand) { public boolean isRand() {
this.rand = rand; return rand;
} }
} }

@ -141,14 +141,6 @@ public class TeacherOpenCourseQuestionLogQuery extends PageParam {
this.teacherOpenCourseQuestionLogIdPlural = teacherOpenCourseQuestionLogIdPlural; this.teacherOpenCourseQuestionLogIdPlural = teacherOpenCourseQuestionLogIdPlural;
} }
public String getResourcesQuestionSnapshotFromIdPlural() {
return resourcesQuestionSnapshotFromIdPlural;
}
public void setResourcesQuestionSnapshotFromIdPlural(String resourcesQuestionSnapshotFromIdPlural) {
this.resourcesQuestionSnapshotFromIdPlural = resourcesQuestionSnapshotFromIdPlural;
}
public String getResourcesQuestionSnapshotIdPlural(){ public String getResourcesQuestionSnapshotIdPlural(){
return resourcesQuestionSnapshotIdPlural; return resourcesQuestionSnapshotIdPlural;
} }
@ -191,4 +183,12 @@ public class TeacherOpenCourseQuestionLogQuery extends PageParam {
public void set_given(String _given) { public void set_given(String _given) {
this._given = _given; this._given = _given;
} }
public String getResourcesQuestionSnapshotFromIdPlural() {
return resourcesQuestionSnapshotFromIdPlural;
}
public void setResourcesQuestionSnapshotFromIdPlural(String resourcesQuestionSnapshotFromIdPlural) {
this.resourcesQuestionSnapshotFromIdPlural = resourcesQuestionSnapshotFromIdPlural;
}
} }

@ -1,7 +1,6 @@
queryByCondition queryByCondition
=== ===
* 根据不为空的参数进行分页查询 * 根据不为空的参数进行分页查询
select select
@pageTag(){ @pageTag(){
t.* t.*
@ -13,11 +12,14 @@ queryByCondition
@if(!isEmpty(resourcesQuestionSnapshotId)){ @if(!isEmpty(resourcesQuestionSnapshotId)){
and t.resources_question_snapshot_id =#resourcesQuestionSnapshotId# and t.resources_question_snapshot_id =#resourcesQuestionSnapshotId#
@} @}
@if(!isEmpty(resourcesQuestionSnapshotIdPlural)){
and find_in_set(t.resources_question_snapshot_id,#resourcesQuestionSnapshotIdPlural#)
@}
@if(!isEmpty(resourcesQuestionSnapshotFromId)){ @if(!isEmpty(resourcesQuestionSnapshotFromId)){
and t.resources_question_snapshot_from_id =#resourcesQuestionSnapshotFromId# and t.resources_question_snapshot_from_id =#resourcesQuestionSnapshotFromId#
@} @}
@if(!isEmpty(fromIdPlural)){ @if(!isEmpty(resourcesQuestionSnapshotFromIdPlural)){
and find_in_set(t.resources_question_snapshot_from_id,#fromIdPlural#)x and find_in_set(t.resources_question_snapshot_from_id,#resourcesQuestionSnapshotFromIdPlural#)
@} @}
@if(!isEmpty(resourcesQuestionSnapshotFromType)){ @if(!isEmpty(resourcesQuestionSnapshotFromType)){
and t.resources_question_snapshot_from_type =#resourcesQuestionSnapshotFromType# and t.resources_question_snapshot_from_type =#resourcesQuestionSnapshotFromType#
@ -80,11 +82,9 @@ queryByCondition
and find_in_set(t.org_id,#orgIdPlural#) and find_in_set(t.org_id,#orgIdPlural#)
@} @}
queryByConditionQuery queryByConditionQuery
=== ===
* 根据不为空的参数进行分页查询(无权限) * 根据不为空的参数进行分页查询(无权限)
select select
@pageTag(){ @pageTag(){
t.* t.*
@ -94,11 +94,14 @@ queryByConditionQuery
@if(!isEmpty(resourcesQuestionSnapshotId)){ @if(!isEmpty(resourcesQuestionSnapshotId)){
and t.resources_question_snapshot_id =#resourcesQuestionSnapshotId# and t.resources_question_snapshot_id =#resourcesQuestionSnapshotId#
@} @}
@if(!isEmpty(resourcesQuestionSnapshotIdPlural)){
and find_in_set(t.resources_question_snapshot_id,#resourcesQuestionSnapshotIdPlural#)
@}
@if(!isEmpty(resourcesQuestionSnapshotFromId)){ @if(!isEmpty(resourcesQuestionSnapshotFromId)){
and t.resources_question_snapshot_from_id =#resourcesQuestionSnapshotFromId# and t.resources_question_snapshot_from_id =#resourcesQuestionSnapshotFromId#
@} @}
@if(!isEmpty(fromIdPlural)){ @if(!isEmpty(resourcesQuestionSnapshotFromIdPlural)){
and find_in_set(t.resources_question_snapshot_from_id,#fromIdPlural#) and find_in_set(t.resources_question_snapshot_from_id,#resourcesQuestionSnapshotFromIdPlural#)
@} @}
@if(!isEmpty(resourcesQuestionSnapshotFromType)){ @if(!isEmpty(resourcesQuestionSnapshotFromType)){
and t.resources_question_snapshot_from_type =#resourcesQuestionSnapshotFromType# and t.resources_question_snapshot_from_type =#resourcesQuestionSnapshotFromType#
@ -162,35 +165,25 @@ queryByConditionQuery
@} @}
deleteResourcesQuestionSnapshotByIds deleteResourcesQuestionSnapshotByIds
=== ===
* 批量删除 * 批量删除
delete from resources_question_snapshot where find_in_set(resources_question_snapshot_id,#ids#)
delete from resources_question_snapshot where find_in_set(resources_question_snapshot_from_id,#ids#)
getByIds getByIds
=== ===
select * from resources_question_snapshot where find_in_set(resources_question_snapshot_id,#ids#)
select * from resources_question_snapshot where find_in_set(resources_question_snapshot_from_id,#ids#)
updateGivenByIds updateGivenByIds
=== ===
* 批量更新指定字段,无论此字段是否有值 * 批量更新指定字段,无论此字段是否有值
update resources_question_snapshot update resources_question_snapshot
set set
@if(contain("resourcesQuestionSnapshotId",_given)){ @if(contain("resourcesQuestionSnapshotFromId",_given)){
@if(isEmpty(resourcesQuestionSnapshotId)){ @if(isEmpty(resourcesQuestionSnapshotFromId)){
resources_question_snapshot_id = null , resources_question_snapshot_from_id = null ,
@}else{ @}else{
resources_question_snapshot_id = #resourcesQuestionSnapshotId# , resources_question_snapshot_from_id = #resourcesQuestionSnapshotFromId# ,
@} @}
@} @}
@if(contain("resourcesQuestionSnapshotFromType",_given)){ @if(contain("resourcesQuestionSnapshotFromType",_given)){
@ -298,16 +291,13 @@ updateGivenByIds
org_id = #orgId# , org_id = #orgId# ,
@} @}
@} @}
resources_question_snapshot_from_id = resources_question_snapshot_from_id resources_question_snapshot_id = resources_question_snapshot_id
where find_in_set(resources_question_snapshot_from_id,#fromIdPlural#) where find_in_set(resources_question_snapshot_id,#resourcesQuestionSnapshotIdPlural#)
getResourcesQuestionSnapshotValues getResourcesQuestionSnapshotValues
=== ===
* 根据不为空的参数进行查询 * 根据不为空的参数进行查询
select t.* select t.*
from resources_question_snapshot t from resources_question_snapshot t
where 1=1 where 1=1
@ -366,20 +356,21 @@ getResourcesQuestionSnapshotValues
getValuesByQuery getValuesByQuery
=== ===
* 根据不为空的参数进行查询 * 根据不为空的参数进行查询
select t.* select t.*
from resources_question_snapshot t from resources_question_snapshot t
where 1=1 and #function("resourcesQuestionSnapshot.query")# where 1=1 and #function("resourcesQuestionSnapshot.query")#
@if(!isEmpty(resourcesQuestionSnapshotId)){ @if(!isEmpty(resourcesQuestionSnapshotId)){
and t.resources_question_snapshot_id =#resourcesQuestionSnapshotId# and t.resources_question_snapshot_id =#resourcesQuestionSnapshotId#
@} @}
@if(!isEmpty(resourcesQuestionSnapshotIdPlural)){
and find_in_set(t.resources_question_snapshot_id,#resourcesQuestionSnapshotIdPlural#)
@}
@if(!isEmpty(resourcesQuestionSnapshotFromId)){ @if(!isEmpty(resourcesQuestionSnapshotFromId)){
and t.resources_question_snapshot_from_id =#resourcesQuestionSnapshotFromId# and t.resources_question_snapshot_from_id =#resourcesQuestionSnapshotFromId#
@} @}
@if(!isEmpty(fromIdPlural)){ @if(!isEmpty(resourcesQuestionSnapshotFromIdPlural)){
and find_in_set(t.resources_question_snapshot_from_id,#fromIdPlural#) and find_in_set(t.resources_question_snapshot_from_id,#resourcesQuestionSnapshotFromIdPlural#)
@} @}
@if(!isEmpty(resourcesQuestionSnapshotFromType)){ @if(!isEmpty(resourcesQuestionSnapshotFromType)){
and t.resources_question_snapshot_from_type =#resourcesQuestionSnapshotFromType# and t.resources_question_snapshot_from_type =#resourcesQuestionSnapshotFromType#

@ -356,5 +356,67 @@ getValuesByQuery
and find_in_set(t.user_id,#userIdPlural#) and find_in_set(t.user_id,#userIdPlural#)
@} @}
doCount
===
* 查询用户做题次数
@ // 题目快照ID的去重后的数量就可以计算出做题次数
select count(distinct (t.resources_question_snapshot_id))
from teacher_open_course_question_log t
where 1=1 and #function("teacherOpenCourseQuestionLog.query")#
@if(!isEmpty(teacherOpenCourseQuestionLogId)){
and t.teacher_open_course_question_log_id =#teacherOpenCourseQuestionLogId#
@}
@if(!isEmpty(teacherOpenCourseQuestionLogIdPlural)){
and find_in_set(t.teacher_open_course_question_log_id,#teacherOpenCourseQuestionLogIdPlural#)
@}
@if(!isEmpty(resourcesQuestionSnapshotFromId)){
and t.resources_question_snapshot_from_id =#resourcesQuestionSnapshotFromId#
@}
@if(!isEmpty(resourcesQuestionSnapshotFromIdPlural)){
and find_in_set(t.resources_question_snapshot_from_id,#resourcesQuestionSnapshotFromIdPlural#)
@}
@if(!isEmpty(resourcesQuestionSnapshotFromType)){
and t.resources_question_snapshot_from_type =#resourcesQuestionSnapshotFromType#
@}
@if(!isEmpty(resourcesQuestionSnapshotId)){
and t.resources_question_snapshot_id =#resourcesQuestionSnapshotId#
@}
@if(!isEmpty(resourcesQuestionSnapshotIdPlural)){
and find_in_set(t.resources_question_snapshot_id,#resourcesQuestionSnapshotIdPlural#)
@}
@if(!isEmpty(teacherOpenCourseQuestionLogAnswer)){
and t.teacher_open_course_question_log_answer =#teacherOpenCourseQuestionLogAnswer#
@}
@if(!isEmpty(teacherOpenCourseQuestionLogUploadFile)){
and t.teacher_open_course_question_log_upload_file =#teacherOpenCourseQuestionLogUploadFile#
@}
@if(!isEmpty(teacherOpenCourseQuestionLogAddTime)){
and t.teacher_open_course_question_log_add_time =#teacherOpenCourseQuestionLogAddTime#
@}
@if(isEmpty(teacherOpenCourseQuestionLogStatus) && isEmpty(teacherOpenCourseQuestionLogStatusPlural)){
and t.teacher_open_course_question_log_status != 2
@}else{
@if(!isEmpty(teacherOpenCourseQuestionLogStatus)){
and t.teacher_open_course_question_log_status =#teacherOpenCourseQuestionLogStatus#
@}else if(!isEmpty(teacherOpenCourseQuestionLogStatusPlural)){
and find_in_set(t.teacher_open_course_question_log_status,#teacherOpenCourseQuestionLogStatusPlural#)
@}
@}
@if(!isEmpty(studentId)){
and t.student_id =#studentId#
@}
@if(!isEmpty(studentIdPlural)){
and find_in_set(t.student_id,#studentIdPlural#)
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}

@ -10,8 +10,8 @@ layui.define([ 'form', 'laydate', 'table','resourcesQuestionSnapshotApi'], funct
initSubmit:function(){ initSubmit:function(){
$("#addButton").click(function(){ $("#addButton").click(function(){
form.on('submit(form)', function(){ form.on('submit(form)', function(){
var fromId = $("#addForm input[name='fromId']").val(); var resourcesQuestionSnapshotFromId = $("#addForm input[name='resourcesQuestionSnapshotFromId']").val();
if(!$.isEmpty(fromId)){ if(!$.isEmpty(resourcesQuestionSnapshotFromId)){
resourcesQuestionSnapshotApi.updateResourcesQuestionSnapshot($('#addForm'),function(){ resourcesQuestionSnapshotApi.updateResourcesQuestionSnapshot($('#addForm'),function(){
parent.window.dataReload(); parent.window.dataReload();
Common.info("更新成功"); Common.info("更新成功");

@ -10,7 +10,7 @@ layui.define(['table', 'resourcesQuestionSnapshotApi'], function(exports) {
return ; return ;
} }
Common.openConfirm("确认要删除这些题目快照?",function(){ Common.openConfirm("确认要删除这些题目快照?",function(){
var ids =Common.concatBatchId(data,"fromId"); var ids =Common.concatBatchId(data,"resourcesQuestionSnapshotFromId");
resourcesQuestionSnapshotApi.del(ids,function(){ resourcesQuestionSnapshotApi.del(ids,function(){
Common.info("删除成功"); Common.info("删除成功");
dataReload(); dataReload();

@ -42,11 +42,11 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
width : 60, width : 60,
}, },
{ {
field : 'fromId', field : 'resourcesQuestionSnapshotFromId',
title : '来源ID', title : '来源ID',
align:"center", align:"center",
hideField :false, hideField :false,
hide:$.isEmpty(sx_['fromId'])?false:sx_['fromId'], hide:$.isEmpty(sx_['resourcesQuestionSnapshotFromId'])?false:sx_['resourcesQuestionSnapshotFromId'],
}, },
{ {
field : 'fromType', field : 'fromType',
@ -190,7 +190,7 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
if(data==null){ if(data==null){
return ; return ;
} }
var url = "/jlw/resourcesQuestionSnapshot/add.do?fromId="+data.fromId; var url = "/jlw/resourcesQuestionSnapshot/add.do?resourcesQuestionSnapshotFromId="+data.resourcesQuestionSnapshotId;
Common.openDlg(url,"题目快照管理>"+data.resourcesQuestionSnapshotId+">编辑"); Common.openDlg(url,"题目快照管理>"+data.resourcesQuestionSnapshotId+">编辑");
}, },
del: function () { del: function () {
@ -218,11 +218,11 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
}, initTableTool: table.on('tool(resourcesQuestionSnapshotTable)', function (obj) { }, initTableTool: table.on('tool(resourcesQuestionSnapshotTable)', function (obj) {
var data = obj.data; var data = obj.data;
if (obj.event === 'edit') { if (obj.event === 'edit') {
var url = "/jlw/resourcesQuestionSnapshot/add.do?fromId="+data.fromId; var url = "/jlw/resourcesQuestionSnapshot/add.do?resourcesQuestionSnapshotFromId="+data.resourcesQuestionSnapshotFromId;
Common.openDlg(url,"题目快照管理>"+data.resourcesQuestionSnapshotId+">编辑"); Common.openDlg(url,"题目快照管理>"+data.resourcesQuestionSnapshotId+">编辑");
}else if(obj.event === "del"){ }else if(obj.event === "del"){
layer.confirm('是否确定删除该信息?', function (index) { layer.confirm('是否确定删除该信息?', function (index) {
var ret = Common.postAjax("/jlw/resourcesQuestionSnapshot/delete.json",{ids:data.fromId}); var ret = Common.postAjax("/jlw/resourcesQuestionSnapshot/delete.json",{ids:data.resourcesQuestionSnapshotFromId});
layer.msg(ret.code == 0?"删除成功!":ret.msg, { layer.msg(ret.code == 0?"删除成功!":ret.msg, {
offset: ['50%'], offset: ['50%'],
icon: ret.code == 0?1:2, icon: ret.code == 0?1:2,

@ -42,7 +42,7 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
width : 60, width : 60,
}, },
{ {
field : 'teacherOpenCourseQuestionLogFromId', field : 'teacherOpenCourseQuestionLogFromId',
title : '来源ID', title : '来源ID',
align:"center", align:"center",
hideField :false, hideField :false,

@ -130,7 +130,7 @@
</div> </div>
</div> </div>
<!-- 业务对象须有hidden字段保存delFlag和version字段--> <!-- 业务对象须有hidden字段保存delFlag和version字段-->
<input type="hidden" name="fromId" value="${resourcesQuestionSnapshot.fromId}" /> <input type="hidden" name="resourcesQuestionSnapshotFromId" value="${resourcesQuestionSnapshot.resourcesQuestionSnapshotFromId}" />
<layui:submitButtons id="addButton" buttonType="" showExamine="2" /> <layui:submitButtons id="addButton" buttonType="" showExamine="2" />
</form> </form>
<!--#} --> <!--#} -->

@ -130,7 +130,7 @@
</div> </div>
</div> </div>
<!-- 业务对象须有hidden字段保存delFlag和version字段--> <!-- 业务对象须有hidden字段保存delFlag和version字段-->
<input type="hidden" name="fromId" value="${resourcesQuestionSnapshot.fromId}" /> <input type="hidden" name="resourcesQuestionSnapshotFromId" value="${resourcesQuestionSnapshot.resourcesQuestionSnapshotFromId}" />
<layui:submitButtons id="updateButton" buttonType="" showExamine="2" /> <layui:submitButtons id="updateButton" buttonType="" showExamine="2" />
</form> </form>
<!--#} --> <!--#} -->

@ -12,7 +12,6 @@ import com.ibeetl.jlw.dao.TeacherOpenCourseHomeworkDao;
import com.ibeetl.jlw.entity.ResourcesQuestion; import com.ibeetl.jlw.entity.ResourcesQuestion;
import com.ibeetl.jlw.entity.SchoolClass; import com.ibeetl.jlw.entity.SchoolClass;
import com.ibeetl.jlw.entity.TeacherOpenCourse; import com.ibeetl.jlw.entity.TeacherOpenCourse;
import com.ibeetl.jlw.entity.TeacherOpenCourseHomework;
import com.ibeetl.jlw.enums.TeacherOpenCourseHomeworkFromTypeEnum; import com.ibeetl.jlw.enums.TeacherOpenCourseHomeworkFromTypeEnum;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkSettingQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseHomeworkSettingQuery;
@ -189,31 +188,4 @@ class TeacherOpenCourseHomeworkControllerTest extends BaseTest {
System.out.println(result); System.out.println(result);
} }
@Test
@Order(2)
public void homeworkDetail() throws Exception {
// 获取一个状态正常的作业ID
TeacherOpenCourseHomework entity = new TeacherOpenCourseHomework();
entity.setTeacherOpenCourseHomeworkStatus(1);
List<TeacherOpenCourseHomework> homeworkList = teacherOpenCourseHomeworkDao.template(entity);
// 断言
Assert.assertTrue(ObjectUtil.isNotEmpty(homeworkList));
// 开课作业ID
Long teacherOpenCourseHomeworkId = RandomUtil.randomEle(homeworkList).getTeacherOpenCourseHomeworkId();
//构造请求参数
RequestBuilder rb = MockMvcRequestBuilders.post(MODEL + "/homeworkDetail.json")
.contentType(MediaType.APPLICATION_FORM_URLENCODED_VALUE)
.param("teacherOpenCourseHomeworkId", String.valueOf(teacherOpenCourseHomeworkId));
//发送请求,验证返回结果
String result = mvc.perform(rb)
.andExpect(status().isOk())
.andExpect(MockMvcResultMatchers.jsonPath("$.code").value("0"))
.andReturn().getResponse().getContentAsString();
System.out.println(result);
}
} }

@ -3,9 +3,14 @@ package com.ibeetl.jlw.web;
import base.BaseTest; import base.BaseTest;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import cn.hutool.json.JSONUtil;
import com.ibeetl.jlw.dao.ResourcesQuestionSnapshotDao; import com.ibeetl.jlw.dao.ResourcesQuestionSnapshotDao;
import com.ibeetl.jlw.dao.StudentDao; import com.ibeetl.jlw.dao.StudentDao;
import com.ibeetl.jlw.dao.TeacherOpenCourseHomeworkDao;
import com.ibeetl.jlw.entity.ResourcesQuestionSnapshot; import com.ibeetl.jlw.entity.ResourcesQuestionSnapshot;
import com.ibeetl.jlw.entity.TeacherOpenCourseHomework;
import org.junit.Assert;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.RequestBuilder; import org.springframework.test.web.servlet.RequestBuilder;
@ -17,6 +22,7 @@ import java.util.*;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import static cn.hutool.json.JSONUtil.toJsonStr; import static cn.hutool.json.JSONUtil.toJsonStr;
import static java.util.stream.Collectors.toList;
import static org.apache.commons.lang3.StringUtils.join; import static org.apache.commons.lang3.StringUtils.join;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@ -29,6 +35,8 @@ class TeacherOpenCourseQuestionLogControllerTest extends BaseTest {
StudentDao studentDao; StudentDao studentDao;
@Resource @Resource
ResourcesQuestionSnapshotDao resourcesQuestionSnapshotDao; ResourcesQuestionSnapshotDao resourcesQuestionSnapshotDao;
@Resource
TeacherOpenCourseHomeworkDao teacherOpenCourseHomeworkDao;
/** /**
* *
@ -99,4 +107,70 @@ class TeacherOpenCourseQuestionLogControllerTest extends BaseTest {
clearEnvLoginInfo(); clearEnvLoginInfo();
} }
} }
@Test
@Order(2)
public void questionDetail() throws Exception {
// 获取一个状态正常的作业ID
TeacherOpenCourseHomework entity = new TeacherOpenCourseHomework();
entity.setTeacherOpenCourseHomeworkStatus(1);
List<TeacherOpenCourseHomework> homeworkList = teacherOpenCourseHomeworkDao.template(entity);
// 断言
Assert.assertTrue(ObjectUtil.isNotEmpty(homeworkList));
// 开课作业ID
Long teacherOpenCourseHomeworkId = RandomUtil.randomEle(homeworkList).getTeacherOpenCourseHomeworkId();
//构造请求参数
RequestBuilder rb = MockMvcRequestBuilders.post(MODEL + "/questionDetail.json")
.contentType(MediaType.APPLICATION_FORM_URLENCODED_VALUE)
.param("resourcesQuestionSnapshotFromId", String.valueOf(teacherOpenCourseHomeworkId));
//发送请求,验证返回结果
String result = mvc.perform(rb)
.andExpect(status().isOk())
.andExpect(MockMvcResultMatchers.jsonPath("$.code").value("0"))
.andReturn().getResponse().getContentAsString();
System.out.println(result);
}
@Test
@Order(3)
public void questionAnalysis() throws Exception {
// 随机取一个学生的登录信息
List<ResourcesQuestionSnapshot> questionSnapshots = resourcesQuestionSnapshotDao.execute(
"select t.*\n" +
" from resources_question_snapshot t\n" +
" where t.question_status = 1\n" +
"\tand resources_question_snapshot_from_id = \n" +
"\t\t(select resources_question_snapshot_from_id from resources_question_snapshot ORDER BY RAND() limit 1) \n" +
" order by RAND()");
// 断言
Assert.assertTrue(ObjectUtil.isNotEmpty(questionSnapshots));
// 开课作业ID
List<Long> questionSnapshotIds = RandomUtil.randomEleList(questionSnapshots, 10)
.stream().map(ResourcesQuestionSnapshot::getResourcesQuestionSnapshotId).collect(toList());
putStudentLoginInfoToEnv();
//构造请求参数
RequestBuilder rb = MockMvcRequestBuilders.post(MODEL + "/questionAnalysis.json")
.contentType(MediaType.APPLICATION_JSON_VALUE)
.content(JSONUtil.toJsonStr(questionSnapshotIds));
//发送请求,验证返回结果
String result = mvc.perform(rb)
.andExpect(status().isOk())
.andExpect(MockMvcResultMatchers.jsonPath("$.code").value("0"))
.andReturn().getResponse().getContentAsString();
System.out.println(result);
clearEnvLoginInfo();
}
} }
Loading…
Cancel
Save