Browse Source

设置观众可见时间

jacksenma 7 years ago
parent
commit
6421dd217b

+ 57 - 38
.idea/dataSources/56491842-8c26-426b-a604-02dce7d52d03.xml

@@ -941,82 +941,83 @@
     <table id="239" parent="3" name="movie_like"/>
     <table id="240" parent="3" name="schedule"/>
     <table id="241" parent="3" name="user"/>
-    <column id="242" parent="237" name="id">
+    <table id="242" parent="3" name="view"/>
+    <column id="243" parent="237" name="id">
       <Position>1</Position>
       <DataType>int(11)|0s</DataType>
       <NotNull>1</NotNull>
       <SequenceIdentity>1</SequenceIdentity>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="243" parent="237" name="name">
+    <column id="244" parent="237" name="name">
       <Position>2</Position>
       <DataType>varchar(255)|0s</DataType>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="244" parent="237" name="column">
+    <column id="245" parent="237" name="column">
       <Position>3</Position>
       <DataType>int(11)|0s</DataType>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="245" parent="237" name="row">
+    <column id="246" parent="237" name="row">
       <Position>4</Position>
       <DataType>int(11)|0s</DataType>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <key id="246" parent="237" name="PRIMARY">
+    <key id="247" parent="237" name="PRIMARY">
       <NameSurrogate>1</NameSurrogate>
       <ColNames>id</ColNames>
       <Primary>1</Primary>
     </key>
-    <column id="247" parent="238" name="id">
+    <column id="248" parent="238" name="id">
       <Position>1</Position>
       <DataType>int(11)|0s</DataType>
       <NotNull>1</NotNull>
       <SequenceIdentity>1</SequenceIdentity>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="248" parent="238" name="poster_url">
+    <column id="249" parent="238" name="poster_url">
       <Position>2</Position>
       <DataType>varchar(255)|0s</DataType>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="249" parent="238" name="director">
+    <column id="250" parent="238" name="director">
       <Position>3</Position>
       <DataType>varchar(255)|0s</DataType>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="250" parent="238" name="screen_writer">
+    <column id="251" parent="238" name="screen_writer">
       <Position>4</Position>
       <DataType>varchar(255)|0s</DataType>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="251" parent="238" name="starring">
+    <column id="252" parent="238" name="starring">
       <Position>5</Position>
       <DataType>varchar(255)|0s</DataType>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="252" parent="238" name="type">
+    <column id="253" parent="238" name="type">
       <Position>6</Position>
       <DataType>varchar(255)|0s</DataType>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="253" parent="238" name="country">
+    <column id="254" parent="238" name="country">
       <Position>7</Position>
       <DataType>varchar(255)|0s</DataType>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="254" parent="238" name="language">
+    <column id="255" parent="238" name="language">
       <Position>8</Position>
       <DataType>varchar(255)|0s</DataType>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="255" parent="238" name="length">
+    <column id="256" parent="238" name="length">
       <Position>9</Position>
       <DataType>int(11)|0s</DataType>
       <NotNull>1</NotNull>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="256" parent="238" name="start_date">
+    <column id="257" parent="238" name="start_date">
       <Position>10</Position>
       <DataType>timestamp|0s</DataType>
       <NotNull>1</NotNull>
@@ -1024,136 +1025,154 @@
       <ColumnKind>normal</ColumnKind>
       <OnUpdate>CURRENT_TIMESTAMP</OnUpdate>
     </column>
-    <column id="257" parent="238" name="name">
+    <column id="258" parent="238" name="name">
       <Position>11</Position>
       <DataType>varchar(255)|0s</DataType>
       <NotNull>1</NotNull>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="258" parent="238" name="description">
+    <column id="259" parent="238" name="description">
       <Position>12</Position>
       <DataType>text|0s</DataType>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="259" parent="238" name="status">
+    <column id="260" parent="238" name="status">
       <Position>13</Position>
       <DataType>int(11)|0s</DataType>
       <DefaultExpression>&apos;0&apos;</DefaultExpression>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <key id="260" parent="238" name="PRIMARY">
+    <key id="261" parent="238" name="PRIMARY">
       <NameSurrogate>1</NameSurrogate>
       <ColNames>id</ColNames>
       <Primary>1</Primary>
     </key>
-    <column id="261" parent="239" name="movie_id">
+    <column id="262" parent="239" name="movie_id">
       <Position>1</Position>
       <DataType>int(11)|0s</DataType>
       <NotNull>1</NotNull>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="262" parent="239" name="user_id">
+    <column id="263" parent="239" name="user_id">
       <Position>2</Position>
       <DataType>int(11)|0s</DataType>
       <NotNull>1</NotNull>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="263" parent="239" name="like_time">
+    <column id="264" parent="239" name="like_time">
       <Position>3</Position>
       <DataType>timestamp|0s</DataType>
       <DefaultExpression>CURRENT_TIMESTAMP</DefaultExpression>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <key id="264" parent="239" name="PRIMARY">
+    <key id="265" parent="239" name="PRIMARY">
       <NameSurrogate>1</NameSurrogate>
       <ColNames>movie_id
 user_id</ColNames>
       <Primary>1</Primary>
     </key>
-    <column id="265" parent="240" name="id">
+    <column id="266" parent="240" name="id">
       <Position>1</Position>
       <DataType>int(11)|0s</DataType>
       <NotNull>1</NotNull>
       <SequenceIdentity>1</SequenceIdentity>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="266" parent="240" name="hall_id">
+    <column id="267" parent="240" name="hall_id">
       <Position>2</Position>
       <DataType>int(11)|0s</DataType>
       <NotNull>1</NotNull>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="267" parent="240" name="movie_id">
+    <column id="268" parent="240" name="movie_id">
       <Position>3</Position>
       <DataType>int(11)|0s</DataType>
       <NotNull>1</NotNull>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="268" parent="240" name="start_time">
+    <column id="269" parent="240" name="start_time">
       <Position>4</Position>
       <DataType>timestamp|0s</DataType>
       <NotNull>1</NotNull>
       <ColumnKind>normal</ColumnKind>
       <OnUpdate>CURRENT_TIMESTAMP</OnUpdate>
     </column>
-    <column id="269" parent="240" name="end_time">
+    <column id="270" parent="240" name="end_time">
       <Position>5</Position>
       <DataType>timestamp|0s</DataType>
       <NotNull>1</NotNull>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="270" parent="240" name="fare">
+    <column id="271" parent="240" name="fare">
       <Position>6</Position>
       <DataType>double|0s</DataType>
       <NotNull>1</NotNull>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <key id="271" parent="240" name="PRIMARY">
+    <key id="272" parent="240" name="PRIMARY">
       <NameSurrogate>1</NameSurrogate>
       <ColNames>id</ColNames>
       <Primary>1</Primary>
     </key>
-    <column id="272" parent="241" name="id">
+    <column id="273" parent="241" name="id">
       <Position>1</Position>
       <DataType>int(11)|0s</DataType>
       <NotNull>1</NotNull>
       <SequenceIdentity>1</SequenceIdentity>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="273" parent="241" name="username">
+    <column id="274" parent="241" name="username">
       <Position>2</Position>
       <DataType>varchar(50)|0s</DataType>
       <NotNull>1</NotNull>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <column id="274" parent="241" name="password">
+    <column id="275" parent="241" name="password">
       <Position>3</Position>
       <DataType>varchar(50)|0s</DataType>
       <NotNull>1</NotNull>
       <ColumnKind>normal</ColumnKind>
     </column>
-    <index id="275" parent="241" name="user_id_uindex">
+    <index id="276" parent="241" name="user_id_uindex">
       <ColNames>id</ColNames>
       <Unique>1</Unique>
       <Type>btree</Type>
     </index>
-    <index id="276" parent="241" name="user_username_uindex">
+    <index id="277" parent="241" name="user_username_uindex">
       <ColNames>username</ColNames>
       <Unique>1</Unique>
       <Type>btree</Type>
     </index>
-    <key id="277" parent="241" name="PRIMARY">
+    <key id="278" parent="241" name="PRIMARY">
       <NameSurrogate>1</NameSurrogate>
       <ColNames>id</ColNames>
       <Primary>1</Primary>
     </key>
-    <key id="278" parent="241" name="user_id_uindex">
+    <key id="279" parent="241" name="user_id_uindex">
       <ColNames>id</ColNames>
       <UnderlyingIndexName>user_id_uindex</UnderlyingIndexName>
     </key>
-    <key id="279" parent="241" name="user_username_uindex">
+    <key id="280" parent="241" name="user_username_uindex">
       <ColNames>username</ColNames>
       <UnderlyingIndexName>user_username_uindex</UnderlyingIndexName>
     </key>
+    <column id="281" parent="242" name="id">
+      <Position>1</Position>
+      <DataType>int(11)|0s</DataType>
+      <NotNull>1</NotNull>
+      <SequenceIdentity>1</SequenceIdentity>
+      <ColumnKind>normal</ColumnKind>
+    </column>
+    <column id="282" parent="242" name="day">
+      <Position>2</Position>
+      <DataType>int(11)|0s</DataType>
+      <NotNull>1</NotNull>
+      <ColumnKind>normal</ColumnKind>
+    </column>
+    <key id="283" parent="242" name="PRIMARY">
+      <NameSurrogate>1</NameSurrogate>
+      <ColNames>id</ColNames>
+      <Primary>1</Primary>
+    </key>
   </database-model>
 </dataSource>

+ 166 - 173
.idea/workspace.xml

@@ -2,17 +2,19 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="6ab6cf33-62bd-48c1-935e-834777603958" name="Default Changelist" comment="">
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleViewForm.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/dataSources/56491842-8c26-426b-a604-02dce7d52d03.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/56491842-8c26-426b-a604-02dce7d52d03.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleService.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleServiceImpl.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/example/cinema/controller/ScheduleController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/cinema/controller/ScheduleController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/cinema/data/HallMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/cinema/data/HallMapper.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/cinema/data/HallMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/cinema/data/HallMapper.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/example/cinema/data/ScheduleMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/cinema/data/ScheduleMapper.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/example/cinema/data/ScheduleMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/example/cinema/data/ScheduleMapper.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleSearchForm.java" beforeDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/test/java/com/example/cinema/bl/ScheduleServiceImplTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/test/java/com/example/cinema/bl/ScheduleServiceImplTest.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/example/cinema/bl/ScheduleService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/example/cinema/bl/ScheduleService.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/example/cinema/bl/ScheduleServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/example/cinema/bl/ScheduleServiceImpl.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/example/cinema/controller/ScheduleController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/example/cinema/controller/ScheduleController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/example/cinema/data/ScheduleMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/example/cinema/data/ScheduleMapper.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/example/cinema/data/ScheduleMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/example/cinema/data/ScheduleMapper.xml" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/target/" />
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -51,6 +53,13 @@
         <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
         <item name="cinema: schema" type="c314c289:MysqlImplModel$Schema" />
       </path>
+      <path>
+        <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
+        <item name="cinema@47.101.183.63" type="feb32156:DbDataSourceImpl" />
+        <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
+        <item name="cinema: schema" type="c314c289:MysqlImplModel$Schema" />
+        <item name="view: table" type="98d5ac3d:MysqlImplModel$Table" />
+      </path>
     </expand>
     <select />
   </component>
@@ -58,56 +67,59 @@
     <session id="-1657780334">
       <usages-collector id="statistics.lifecycle.project">
         <counts>
-          <entry key="project.closed" value="3" />
+          <entry key="project.closed" value="4" />
           <entry key="project.open.time.1" value="1" />
           <entry key="project.open.time.11" value="1" />
           <entry key="project.open.time.13" value="1" />
+          <entry key="project.open.time.2" value="1" />
           <entry key="project.open.time.8" value="1" />
-          <entry key="project.opened" value="4" />
+          <entry key="project.opened" value="5" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.extensions.open">
         <counts>
           <entry key="gitignore" value="1" />
           <entry key="hall" value="2" />
-          <entry key="java" value="130" />
+          <entry key="java" value="132" />
           <entry key="movie" value="8" />
           <entry key="movie_like" value="1" />
           <entry key="schedule" value="10" />
-          <entry key="sql" value="9" />
+          <entry key="sql" value="10" />
           <entry key="user" value="2" />
-          <entry key="xml" value="19" />
+          <entry key="view" value="1" />
+          <entry key="xml" value="20" />
           <entry key="yml" value="5" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.types.open">
         <counts>
-          <entry key="Database Element" value="23" />
-          <entry key="JAVA" value="130" />
+          <entry key="Database Element" value="24" />
+          <entry key="JAVA" value="132" />
           <entry key="PLAIN_TEXT" value="1" />
-          <entry key="Scratch" value="9" />
-          <entry key="XML" value="19" />
+          <entry key="Scratch" value="10" />
+          <entry key="XML" value="20" />
           <entry key="YAML" value="5" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.extensions.edit">
         <counts>
           <entry key="cell" value="110" />
+          <entry key="dummy" value="8" />
           <entry key="gitignore" value="6" />
-          <entry key="java" value="3542" />
+          <entry key="java" value="4087" />
           <entry key="sql" value="614" />
           <entry key="txt" value="6" />
-          <entry key="xml" value="481" />
+          <entry key="xml" value="636" />
           <entry key="yml" value="34" />
         </counts>
       </usages-collector>
       <usages-collector id="statistics.file.types.edit">
         <counts>
-          <entry key="JAVA" value="3542" />
-          <entry key="PLAIN_TEXT" value="12" />
-          <entry key="SQL" value="45" />
+          <entry key="JAVA" value="4087" />
+          <entry key="PLAIN_TEXT" value="20" />
+          <entry key="SQL" value="49" />
           <entry key="Scratch" value="724" />
-          <entry key="XML" value="436" />
+          <entry key="XML" value="587" />
           <entry key="YAML" value="34" />
         </counts>
       </usages-collector>
@@ -118,8 +130,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/controller/ScheduleController.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="315">
-              <caret line="21" column="38" selection-start-line="21" selection-start-column="38" selection-end-line="21" selection-end-column="38" />
+            <state relative-caret-position="254">
+              <caret line="32" column="52" selection-start-line="32" selection-start-column="52" selection-end-line="32" selection-end-column="52" />
               <folding>
                 <element signature="imports" expanded="true" />
               </folding>
@@ -127,45 +139,58 @@
           </provider>
         </entry>
       </file>
+      <file pinned="false" current-in-tab="true">
+        <entry file="das://56491842-8c26-426b-a604-02dce7d52d03/schema/cinema/table/view">
+          <provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
+            <state>
+              <filtering enabled="true" />
+            </state>
+          </provider>
+        </entry>
+      </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleService.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleViewForm.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="255">
-              <caret line="17" column="15" selection-start-line="17" selection-start-column="15" selection-end-line="17" selection-end-column="15" />
+            <state relative-caret-position="135">
+              <caret line="9" column="29" selection-start-line="9" selection-start-column="29" selection-end-line="9" selection-end-column="29" />
               <folding>
-                <element signature="imports" expanded="true" />
+                <element signature="e#195#196#0" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleServiceImpl.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleService.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="291">
-              <caret line="23" column="106" selection-start-line="23" selection-start-column="106" selection-end-line="23" selection-end-column="106" />
+            <state relative-caret-position="510">
+              <caret line="34" column="15" selection-start-line="34" selection-start-column="15" selection-end-line="34" selection-end-column="15" />
               <folding>
                 <element signature="imports" expanded="true" />
-                <element signature="method#searchScheduleSevenDays#0;class#ScheduleServiceImpl#0" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="das://56491842-8c26-426b-a604-02dce7d52d03/schema/cinema/table/movie">
-          <provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
-            <state>
-              <filtering enabled="true" />
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleServiceImpl.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="355">
+              <caret line="129" selection-start-line="129" selection-end-line="129" />
+              <folding>
+                <element signature="imports" expanded="true" />
+                <element signature="method#addSchedule#0;class#ScheduleServiceImpl#0" />
+                <element signature="method#searchScheduleSevenDays#0;class#ScheduleServiceImpl#0" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/data/ScheduleMapper.xml">
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/controller/ViewController.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="231">
-              <caret line="17" column="101" selection-start-line="17" selection-start-column="101" selection-end-line="17" selection-end-column="101" />
+            <state relative-caret-position="435">
+              <caret line="45" column="5" selection-start-line="45" selection-start-column="5" selection-end-line="45" selection-end-column="5" />
             </state>
           </provider>
         </entry>
@@ -174,7 +199,7 @@
         <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleVO.java">
           <provider selected="true" editor-type-id="text-editor">
             <state relative-caret-position="240">
-              <caret line="20" lean-forward="true" selection-start-line="20" selection-end-line="20" />
+              <caret line="20" selection-start-line="20" selection-end-line="20" />
               <folding>
                 <element signature="imports" expanded="true" />
                 <element signature="e#406#407#0" expanded="true" />
@@ -187,57 +212,31 @@
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleItem.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/data/ScheduleMapper.xml">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="9">
-              <caret line="8" column="13" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
-              <folding>
-                <element signature="e#1027#1028#0" expanded="true" />
-                <element signature="e#1057#1058#0" expanded="true" />
-              </folding>
+            <state relative-caret-position="525">
+              <caret line="35" column="38" selection-start-line="35" selection-start-column="38" selection-end-line="35" selection-end-column="38" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleForm.java">
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/data/ScheduleMapper.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="72">
-              <caret line="8" column="25" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="25" />
+            <state relative-caret-position="705">
+              <caret line="47" column="55" selection-start-line="47" selection-start-column="39" selection-end-line="47" selection-end-column="55" />
               <folding>
-                <element signature="e#453#454#0" expanded="true" />
-                <element signature="e#482#483#0" expanded="true" />
-                <element signature="e#527#528#0" expanded="true" />
-                <element signature="e#563#564#0" expanded="true" />
-                <element signature="e#598#599#0" expanded="true" />
-                <element signature="e#628#629#0" expanded="true" />
-                <element signature="e#675#676#0" expanded="true" />
-                <element signature="e#713#714#0" expanded="true" />
-                <element signature="e#747#748#0" expanded="true" />
-                <element signature="e#779#780#0" expanded="true" />
-                <element signature="e#827#828#0" expanded="true" />
-                <element signature="e#869#870#0" expanded="true" />
-                <element signature="e#901#902#0" expanded="true" />
-                <element signature="e#931#932#0" expanded="true" />
-                <element signature="e#975#976#0" expanded="true" />
-                <element signature="e#1013#1014#0" expanded="true" />
-                <element signature="e#1044#1045#0" expanded="true" />
-                <element signature="e#1071#1072#0" expanded="true" />
-                <element signature="e#1111#1112#0" expanded="true" />
-                <element signature="e#1143#1144#0" expanded="true" />
+                <element signature="imports" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/data/ScheduleMapper.java">
+        <entry file="file://$APPLICATION_CONFIG_DIR$/consoles/db/56491842-8c26-426b-a604-02dce7d52d03/console.sql">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="346">
-              <caret line="40" column="60" selection-start-line="40" selection-start-column="23" selection-end-line="40" selection-end-column="60" />
-              <folding>
-                <element signature="imports" expanded="true" />
-              </folding>
+            <state relative-caret-position="135">
+              <caret line="9" selection-start-line="9" selection-end-line="12" selection-end-column="74" />
             </state>
           </provider>
         </entry>
@@ -296,15 +295,17 @@
         <option value="$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleSearchForm.java" />
         <option value="$PROJECT_DIR$/.gitignore" />
         <option value="$PROJECT_DIR$/src/main/resources/application.yml" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleService.java" />
         <option value="$PROJECT_DIR$/src/test/java/com/example/cinema/bl/ScheduleServiceImplTest.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/cinema/controller/ScheduleController.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/example/cinema/data/HallMapper.xml" />
         <option value="$PROJECT_DIR$/src/main/java/com/example/cinema/data/HallMapper.java" />
         <option value="$APPLICATION_CONFIG_DIR$/consoles/db/56491842-8c26-426b-a604-02dce7d52d03/console.sql" />
+        <option value="$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ViewDaysForm.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleViewForm.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleService.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/example/cinema/data/ScheduleMapper.java" />
-        <option value="$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleServiceImpl.java" />
         <option value="$PROJECT_DIR$/src/main/java/com/example/cinema/data/ScheduleMapper.xml" />
+        <option value="$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleServiceImpl.java" />
+        <option value="$PROJECT_DIR$/src/main/java/com/example/cinema/controller/ScheduleController.java" />
       </list>
     </option>
   </component>
@@ -404,14 +405,7 @@
               <item name="main" type="462c0819:PsiDirectoryNode" />
               <item name="java" type="462c0819:PsiDirectoryNode" />
               <item name="cinema" type="462c0819:PsiDirectoryNode" />
-              <item name="vo" type="462c0819:PsiDirectoryNode" />
-            </path>
-            <path>
-              <item name="cinema" type="b2602c69:ProjectViewProjectNode" />
-              <item name="CinemaDemo" type="462c0819:PsiDirectoryNode" />
-              <item name="src" type="462c0819:PsiDirectoryNode" />
-              <item name="main" type="462c0819:PsiDirectoryNode" />
-              <item name="resources" type="462c0819:PsiDirectoryNode" />
+              <item name="data" type="462c0819:PsiDirectoryNode" />
             </path>
           </expand>
           <select />
@@ -429,7 +423,7 @@
     <property name="RequestMappingsPanelWidth1" value="75" />
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="aspect.path.notification.shown" value="true" />
-    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1555090720074" />
+    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1555133452207" />
     <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit4" />
     <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrarySuperClass.JUnit4" value="" />
     <property name="database.console.LAST_STATE" value="false" />
@@ -532,6 +526,7 @@
       <workItem from="1555049499640" duration="7967000" />
       <workItem from="1555075438175" duration="2603000" />
       <workItem from="1555085752711" duration="4527000" />
+      <workItem from="1555133493417" duration="2101000" />
     </task>
     <servers />
   </component>
@@ -568,7 +563,7 @@
     </history-entry>
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="29332000" />
+    <option name="totallyTimeSpent" value="34045000" />
   </component>
   <component name="TodoView">
     <todo-panel id="selected-file">
@@ -583,7 +578,7 @@
     <frame x="0" y="0" width="1280" height="800" extended-state="0" />
     <editor active="true" />
     <layout>
-      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.21728595" />
+      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.21728595" />
       <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
       <window_info id="Designer" order="2" />
       <window_info id="Image Layers" order="3" />
@@ -617,7 +612,7 @@
       <window_info anchor="right" id="Maven" order="3" />
       <window_info anchor="right" id="Palette" order="4" />
       <window_info anchor="right" id="Capture Analysis" order="5" />
-      <window_info anchor="right" id="Database" order="6" visible="true" weight="0.22617124" />
+      <window_info active="true" anchor="right" id="Database" order="6" visible="true" weight="0.22617124" />
       <window_info anchor="right" id="Palette&#9;" order="7" />
       <window_info anchor="right" id="Theme Preview" order="8" />
       <window_info anchor="right" id="Bean Validation" order="9" />
@@ -686,13 +681,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/controller/ViewController.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="435">
-          <caret line="45" column="5" selection-start-line="45" selection-start-column="5" selection-end-line="45" selection-end-column="5" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/controller/FileController.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="135">
@@ -754,27 +742,7 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleSearchForm.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="154">
-          <caret line="12" column="26" selection-start-line="12" selection-start-column="20" selection-end-line="12" selection-end-column="26" />
-          <folding>
-            <element signature="e#372#373#0" expanded="true" />
-            <element signature="e#401#402#0" expanded="true" />
-            <element signature="e#446#447#0" expanded="true" />
-            <element signature="e#482#483#0" expanded="true" />
-            <element signature="e#516#517#0" expanded="true" />
-            <element signature="e#548#549#0" expanded="true" />
-            <element signature="e#596#597#0" expanded="true" />
-            <element signature="e#638#639#0" expanded="true" />
-            <element signature="e#670#671#0" expanded="true" />
-            <element signature="e#700#701#0" expanded="true" />
-            <element signature="e#744#745#0" expanded="true" />
-            <element signature="e#782#783#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleSearchForm.java" />
     <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/data/MovieMapper.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="135">
@@ -817,65 +785,84 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$APPLICATION_CONFIG_DIR$/consoles/db/56491842-8c26-426b-a604-02dce7d52d03/console.sql">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="135">
-          <caret line="9" selection-start-line="9" selection-end-line="12" selection-end-column="74" />
+    <entry file="das://56491842-8c26-426b-a604-02dce7d52d03/schema/cinema/table/movie">
+      <provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
+        <state>
+          <filtering enabled="true" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/controller/ScheduleController.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleItem.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="315">
-          <caret line="21" column="38" selection-start-line="21" selection-start-column="38" selection-end-line="21" selection-end-column="38" />
+        <state relative-caret-position="9">
+          <caret line="8" column="13" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
           <folding>
-            <element signature="imports" expanded="true" />
+            <element signature="e#1027#1028#0" expanded="true" />
+            <element signature="e#1057#1058#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/data/ScheduleMapper.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleForm.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="346">
-          <caret line="40" column="60" selection-start-line="40" selection-start-column="23" selection-end-line="40" selection-end-column="60" />
+        <state relative-caret-position="72">
+          <caret line="8" column="25" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="25" />
           <folding>
-            <element signature="imports" expanded="true" />
+            <element signature="e#453#454#0" expanded="true" />
+            <element signature="e#482#483#0" expanded="true" />
+            <element signature="e#527#528#0" expanded="true" />
+            <element signature="e#563#564#0" expanded="true" />
+            <element signature="e#598#599#0" expanded="true" />
+            <element signature="e#628#629#0" expanded="true" />
+            <element signature="e#675#676#0" expanded="true" />
+            <element signature="e#713#714#0" expanded="true" />
+            <element signature="e#747#748#0" expanded="true" />
+            <element signature="e#779#780#0" expanded="true" />
+            <element signature="e#827#828#0" expanded="true" />
+            <element signature="e#869#870#0" expanded="true" />
+            <element signature="e#901#902#0" expanded="true" />
+            <element signature="e#931#932#0" expanded="true" />
+            <element signature="e#975#976#0" expanded="true" />
+            <element signature="e#1013#1014#0" expanded="true" />
+            <element signature="e#1044#1045#0" expanded="true" />
+            <element signature="e#1071#1072#0" expanded="true" />
+            <element signature="e#1111#1112#0" expanded="true" />
+            <element signature="e#1143#1144#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleService.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleViewForm.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="255">
-          <caret line="17" column="15" selection-start-line="17" selection-start-column="15" selection-end-line="17" selection-end-column="15" />
+        <state relative-caret-position="135">
+          <caret line="9" column="29" selection-start-line="9" selection-start-column="29" selection-end-line="9" selection-end-column="29" />
           <folding>
-            <element signature="imports" expanded="true" />
+            <element signature="e#195#196#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleServiceImpl.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="291">
-          <caret line="23" column="106" selection-start-line="23" selection-start-column="106" selection-end-line="23" selection-end-column="106" />
+        <state relative-caret-position="510">
+          <caret line="34" column="15" selection-start-line="34" selection-start-column="15" selection-end-line="34" selection-end-column="15" />
           <folding>
             <element signature="imports" expanded="true" />
-            <element signature="method#searchScheduleSevenDays#0;class#ScheduleServiceImpl#0" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="das://56491842-8c26-426b-a604-02dce7d52d03/schema/cinema/table/movie">
-      <provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
-        <state>
-          <filtering enabled="true" />
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/controller/ViewController.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="435">
+          <caret line="45" column="5" selection-start-line="45" selection-start-column="5" selection-end-line="45" selection-end-column="5" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleVO.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="240">
-          <caret line="20" lean-forward="true" selection-start-line="20" selection-end-line="20" />
+          <caret line="20" selection-start-line="20" selection-end-line="20" />
           <folding>
             <element signature="imports" expanded="true" />
             <element signature="e#406#407#0" expanded="true" />
@@ -886,50 +873,56 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleItem.java">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/data/ScheduleMapper.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="9">
-          <caret line="8" column="13" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
+        <state relative-caret-position="525">
+          <caret line="35" column="38" selection-start-line="35" selection-start-column="38" selection-end-line="35" selection-end-column="38" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/data/ScheduleMapper.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="705">
+          <caret line="47" column="55" selection-start-line="47" selection-start-column="39" selection-end-line="47" selection-end-column="55" />
           <folding>
-            <element signature="e#1027#1028#0" expanded="true" />
-            <element signature="e#1057#1058#0" expanded="true" />
+            <element signature="imports" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/vo/ScheduleForm.java">
+    <entry file="file://$APPLICATION_CONFIG_DIR$/consoles/db/56491842-8c26-426b-a604-02dce7d52d03/console.sql">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="72">
-          <caret line="8" column="25" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="25" />
+        <state relative-caret-position="135">
+          <caret line="9" selection-start-line="9" selection-end-line="12" selection-end-column="74" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/bl/ScheduleServiceImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="355">
+          <caret line="129" selection-start-line="129" selection-end-line="129" />
           <folding>
-            <element signature="e#453#454#0" expanded="true" />
-            <element signature="e#482#483#0" expanded="true" />
-            <element signature="e#527#528#0" expanded="true" />
-            <element signature="e#563#564#0" expanded="true" />
-            <element signature="e#598#599#0" expanded="true" />
-            <element signature="e#628#629#0" expanded="true" />
-            <element signature="e#675#676#0" expanded="true" />
-            <element signature="e#713#714#0" expanded="true" />
-            <element signature="e#747#748#0" expanded="true" />
-            <element signature="e#779#780#0" expanded="true" />
-            <element signature="e#827#828#0" expanded="true" />
-            <element signature="e#869#870#0" expanded="true" />
-            <element signature="e#901#902#0" expanded="true" />
-            <element signature="e#931#932#0" expanded="true" />
-            <element signature="e#975#976#0" expanded="true" />
-            <element signature="e#1013#1014#0" expanded="true" />
-            <element signature="e#1044#1045#0" expanded="true" />
-            <element signature="e#1071#1072#0" expanded="true" />
-            <element signature="e#1111#1112#0" expanded="true" />
-            <element signature="e#1143#1144#0" expanded="true" />
+            <element signature="imports" expanded="true" />
+            <element signature="method#addSchedule#0;class#ScheduleServiceImpl#0" />
+            <element signature="method#searchScheduleSevenDays#0;class#ScheduleServiceImpl#0" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/data/ScheduleMapper.xml">
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/example/cinema/controller/ScheduleController.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="231">
-          <caret line="17" column="101" selection-start-line="17" selection-start-column="101" selection-end-line="17" selection-end-column="101" />
+        <state relative-caret-position="254">
+          <caret line="32" column="52" selection-start-line="32" selection-start-column="52" selection-end-line="32" selection-end-column="52" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="das://56491842-8c26-426b-a604-02dce7d52d03/schema/cinema/table/view">
+      <provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
+        <state>
+          <filtering enabled="true" />
         </state>
       </provider>
     </entry>

+ 9 - 0
src/main/java/com/example/cinema/bl/ScheduleService.java

@@ -2,6 +2,7 @@ package com.example.cinema.bl;
 
 import com.example.cinema.vo.ResponseVO;
 import com.example.cinema.vo.ScheduleForm;
+import com.example.cinema.vo.ScheduleViewForm;
 
 import java.util.Date;
 
@@ -24,4 +25,12 @@ public interface ScheduleService {
      * @return
      */
     ResponseVO searchScheduleSevenDays(int hallId, Date startDate);
+
+    /**
+     * 设置排片对观众的可见的天数(全局设置,暂时只涉及天数)
+     * 若设置7天,且今天是04-11,则观众可见04-11到04-17的排片信息,其他均不可见
+     * @param scheduleViewForm
+     * @return
+     */
+    ResponseVO setScheduleView(ScheduleViewForm scheduleViewForm);
 }

+ 25 - 0
src/main/java/com/example/cinema/bl/ScheduleServiceImpl.java

@@ -25,6 +25,7 @@ public class ScheduleServiceImpl implements ScheduleService {
     private static final String BEFORE_START_DATE_ERROR_MESSAGE = "排片时间不能早于电影上映时间";
     private static final String MOVIE_NOT_EXIST_ERROR_MESSAGE = "电影不存在";
     private static final String HALL_NOT_EXIST_ERROR_MESSAGE = "影厅不存在";
+    private static final String VIEW_COUNT_ERROR_MESSAGE = "排片可见限制数错误";
 
 
     @Autowired
@@ -123,4 +124,28 @@ public class ScheduleServiceImpl implements ScheduleService {
         }
     }
 
+    @Override
+    public ResponseVO setScheduleView(ScheduleViewForm scheduleViewForm) {
+        try{
+            if(scheduleViewForm.getDay() < 0){
+                return ResponseVO.buildFailure(VIEW_COUNT_ERROR_MESSAGE);
+            }
+
+            int num = scheduleMapper.selectViewCount();
+            if(num == 0){
+                scheduleMapper.insertOneView(scheduleViewForm);
+            }
+            else if(num == 1){
+                scheduleMapper.updateOneView(scheduleViewForm);
+            }
+            else {
+                return ResponseVO.buildFailure(VIEW_COUNT_ERROR_MESSAGE);
+            }
+            return ResponseVO.buildSuccess();
+        }catch (Exception e){
+            e.printStackTrace();
+            return ResponseVO.buildFailure("失败");
+        }
+    }
+
 }

+ 6 - 0
src/main/java/com/example/cinema/controller/ScheduleController.java

@@ -3,6 +3,7 @@ package com.example.cinema.controller;
 import com.example.cinema.bl.ScheduleService;
 import com.example.cinema.vo.ResponseVO;
 import com.example.cinema.vo.ScheduleForm;
+import com.example.cinema.vo.ScheduleViewForm;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -28,6 +29,11 @@ public class ScheduleController {
         return scheduleService.searchScheduleSevenDays(hallId, startDate);
     }
 
+    @RequestMapping(value = "/schedule/view/set", method = RequestMethod.POST)
+    public ResponseVO setScheduleView(@RequestBody  ScheduleViewForm scheduleViewForm){
+        return scheduleService.setScheduleView(scheduleViewForm);
+    }
+
 
 
 }

+ 20 - 0
src/main/java/com/example/cinema/data/ScheduleMapper.java

@@ -2,6 +2,7 @@ package com.example.cinema.data;
 
 import com.example.cinema.vo.ScheduleForm;
 import com.example.cinema.vo.ScheduleItem;
+import com.example.cinema.vo.ScheduleViewForm;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -39,4 +40,23 @@ public interface ScheduleMapper {
      * @return
      */
     List<ScheduleItem> selectScheduleConflictByHallIdAndTime(@Param("hallId") int hallId, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
+
+    /**
+     * 插入观众可见排片限制
+     * @return
+     */
+    int insertOneView(ScheduleViewForm scheduleViewForm);
+
+    /**
+     * 修改观众可见排片限制
+     * @param scheduleViewForm
+     * @return
+     */
+    int updateOneView(ScheduleViewForm scheduleViewForm);
+
+    /**
+     * 查询view的记录数,以此判断后续操作是插入还是修改
+     * @return
+     */
+    int selectViewCount();
 }

+ 13 - 0
src/main/java/com/example/cinema/data/ScheduleMapper.xml

@@ -23,6 +23,19 @@
           or (start_time between #{startTime} and #{endTime})
     </select>
 
+    <insert id="insertOneView" parameterType="com.example.cinema.vo.ScheduleViewForm"
+            useGeneratedKeys="true" keyProperty="id">
+        insert into view(day) values(#{day})
+    </insert>
+
+    <update id="updateOneView" parameterType="com.example.cinema.vo.ScheduleViewForm">
+        update view set day = #{day}
+    </update>
+
+    <select id="selectViewCount" resultType="int">
+      select count(*) as num from view
+    </select>
+
     <resultMap id="ScheduleItem" type="com.example.cinema.vo.ScheduleItem">
         <id column="id" property="id"></id>
         <result column="hall_id" property="hallId"></result>

+ 17 - 0
src/main/java/com/example/cinema/vo/ScheduleViewForm.java

@@ -0,0 +1,17 @@
+package com.example.cinema.vo;
+
+/**
+ * @author fjj
+ * @date 2019/4/13 12:08 PM
+ */
+public class ScheduleViewForm {
+    private Integer day;
+
+    public Integer getDay() {
+        return day;
+    }
+
+    public void setDay(Integer day) {
+        this.day = day;
+    }
+}

BIN
target/classes/com/example/cinema/bl/ScheduleService.class


BIN
target/classes/com/example/cinema/bl/ScheduleServiceImpl.class


BIN
target/classes/com/example/cinema/controller/ScheduleController.class


BIN
target/classes/com/example/cinema/data/ScheduleMapper.class


+ 13 - 0
target/classes/com/example/cinema/data/ScheduleMapper.xml

@@ -23,6 +23,19 @@
           or (start_time between #{startTime} and #{endTime})
     </select>
 
+    <insert id="insertOneView" parameterType="com.example.cinema.vo.ScheduleViewForm"
+            useGeneratedKeys="true" keyProperty="id">
+        insert into view(day) values(#{day})
+    </insert>
+
+    <update id="updateOneView" parameterType="com.example.cinema.vo.ScheduleViewForm">
+        update view set day = #{day}
+    </update>
+
+    <select id="selectViewCount" resultType="int">
+      select count(*) as num from view
+    </select>
+
     <resultMap id="ScheduleItem" type="com.example.cinema.vo.ScheduleItem">
         <id column="id" property="id"></id>
         <result column="hall_id" property="hallId"></result>