Browse Source

Merge branch 'feature-blank' of http://47.100.18.120:3000/LiuQin/CinemaDemo into feature-blank

jacksenma 7 years ago
parent
commit
dec5b66aab

+ 3 - 3
src/main/java/com/example/cinema/blImpl/promotion/ActivityServiceImpl.java

@@ -33,9 +33,9 @@ public class ActivityServiceImpl implements ActivityService {
             activity.setDescription(activityForm.getName());
             activity.setStartTime(activityForm.getStartTime());
             activity.setEndTime(activityForm.getEndTime());
-            activity.setCouponId(coupon.getId());
+            activity.setCoupon(coupon);
             activityMapper.insertActivity(activity);
-            if(activityForm.getMovieList()!=null){
+            if(activityForm.getMovieList()!=null&&activityForm.getMovieList().size()!=0){
                 activityMapper.insertActivityAndMovie(activity.getId(), activityForm.getMovieList());
             }
             return ResponseVO.buildSuccess(activityMapper.selectById(activity.getId()));
@@ -48,7 +48,7 @@ public class ActivityServiceImpl implements ActivityService {
     @Override
     public ResponseVO getActivities() {
         try {
-            return ResponseVO.buildSuccess(activityMapper.selectActivities());
+            return ResponseVO.buildSuccess(activityMapper.selectActivities().stream().map(Activity::getVO));
         } catch (Exception e) {
             e.printStackTrace();
             return ResponseVO.buildFailure("失败");

+ 4 - 5
src/main/java/com/example/cinema/data/promotion/ActivityMapper.java

@@ -1,7 +1,6 @@
 package com.example.cinema.data.promotion;
 
 import com.example.cinema.po.Activity;
-import com.example.cinema.vo.ActivityVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -17,13 +16,13 @@ public interface ActivityMapper {
 
     int insertActivityAndMovie(@Param("activityId") int activityId,@Param("movieId") List<Integer> movieId);
 
-    List<ActivityVO> selectActivities();
+    List<Activity> selectActivities();
 
-    List<ActivityVO> selectActivitiesByMovie(int movieId);
+    List<Activity> selectActivitiesByMovie(int movieId);
 
-    ActivityVO selectById(int id);
+    Activity selectById(int id);
 
-    List<ActivityVO> selectActivitiesWithoutMovie();
+    List<Activity> selectActivitiesWithoutMovie();
 
 
 

+ 57 - 12
src/main/java/com/example/cinema/po/Activity.java

@@ -1,10 +1,12 @@
 package com.example.cinema.po;
 
-import com.example.cinema.vo.CouponForm;
-import com.example.cinema.vo.MovieForm;
+import com.example.cinema.po.Coupon;
+import com.example.cinema.vo.ActivityVO;
+import com.example.cinema.vo.MovieVO;
 
 import java.sql.Timestamp;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * Created by liying on 2019/4/20.
@@ -29,14 +31,50 @@ public class Activity {
      */
     private Timestamp endTime;
     /**
-     * 优惠券id
+     * 优惠电影列表
      */
-    private int couponId;
+    private List<Movie> movieList;
+    /**
+     * 优惠券规格
+     */
+    private Coupon coupon;
+
 
     public Activity() {
 
     }
 
+    public ActivityVO getVO() {
+        ActivityVO vo = new ActivityVO();
+        vo.setId(id);
+        vo.setCoupon(coupon);
+        vo.setDescription(description);
+        vo.setEndTime(endTime);
+        vo.setStartTime(startTime);
+        vo.setName(name);
+        vo.setMovieList(movieList.stream().map(movie -> {
+            MovieVO mvo = new MovieVO();
+            mvo.setId(movie.getId());
+            mvo.setName(movie.getName());
+            mvo.setPosterUrl(movie.getPosterUrl());
+            mvo.setDirector(movie.getDirector());
+            mvo.setScreenWriter(movie.getScreenWriter());
+            mvo.setStarring(movie.getStarring());
+            mvo.setType(movie.getType());
+            mvo.setCountry(movie.getCountry());
+            mvo.setLanguage(movie.getLanguage());
+            mvo.setStartDate(movie.getStartDate());
+            mvo.setLength(movie.getLength());
+            mvo.setDescription(movie.getDescription());
+            mvo.setStatus(movie.getStatus());
+            mvo.setIslike(movie.getIslike());
+            mvo.setLikeCount(movie.getLikeCount());
+            return mvo;
+        } ).collect(Collectors.toList()));
+        return vo;
+
+    }
+
     public int getId() {
         return id;
     }
@@ -45,14 +83,6 @@ public class Activity {
         this.id = id;
     }
 
-    public int getCouponId() {
-        return couponId;
-    }
-
-    public void setCouponId(int couponId) {
-        this.couponId = couponId;
-    }
-
     public String getName() {
         return name;
     }
@@ -85,4 +115,19 @@ public class Activity {
         this.endTime = endTime;
     }
 
+    public List<Movie> getMovieList() {
+        return movieList;
+    }
+
+    public void setMovieList(List<Movie> movieList) {
+        this.movieList = movieList;
+    }
+
+    public Coupon getCoupon() {
+        return coupon;
+    }
+
+    public void setCoupon(Coupon coupon) {
+        this.coupon = coupon;
+    }
 }

+ 3 - 3
src/main/java/com/example/cinema/vo/TicketWithCouponVO.java

@@ -16,13 +16,13 @@ public class TicketWithCouponVO {
 
     private List<Coupon> coupons;
 
-    private List<ActivityVO> activities;
+    private List<Activity> activities;
 
-    public List<ActivityVO> getActivities() {
+    public List<Activity> getActivities() {
         return activities;
     }
 
-    public void setActivities(List<ActivityVO> activities) {
+    public void setActivities(List<Activity> activities) {
         this.activities = activities;
     }
 

+ 17 - 17
src/main/resources/application.yml

@@ -1,17 +1,17 @@
-spring:
-  datasource:
-     url: jdbc:mysql://localhost:3306/cinema?serverTimezone=CTT&characterEncoding=UTF-8
-     username: root
-     password: root
-     driver-class-name: com.mysql.cj.jdbc.Driver
-     max-active: 200
-     max-idle: 20
-     min-idle: 10
-  thymeleaf:
-     cache: false
-  jackson:
-    time-zone: GMT+8
-
-mybatis:
-  mapper-locations: classpath:dataImpl/*/*Mapper.xml
-
+spring:
+  datasource:
+     url: jdbc:mysql://localhost:3306/cinema?serverTimezone=CTT&characterEncoding=UTF-8
+     username: root
+     password: root
+     driver-class-name: com.mysql.cj.jdbc.Driver
+     max-active: 200
+     max-idle: 20
+     min-idle: 10
+  thymeleaf:
+     cache: false
+  jackson:
+    time-zone: GMT+8
+
+mybatis:
+  mapper-locations: classpath:dataImpl/*/*Mapper.xml
+

+ 3 - 3
src/main/resources/dataImpl/promotion/ActivityMapper.xml

@@ -4,7 +4,7 @@
     <insert id="insertActivity" parameterType="com.example.cinema.po.Activity"
             useGeneratedKeys="true" keyProperty="id">
         insert into activity(a_description,activity_name,coupon_id,start_time,end_time)
-        values(#{description},#{name},#{couponId},#{startTime},#{endTime})
+        values(#{description},#{name},#{coupon.id},#{startTime},#{endTime})
     </insert>
     <insert id="insertActivityAndMovie">
         insert into activity_movie(activity_id,movie_id) values
@@ -77,7 +77,7 @@
 
 
 
-    <resultMap id="Activity" type="com.example.cinema.vo.ActivityVO">
+    <resultMap id="Activity" type="com.example.cinema.po.Activity">
         <result column="a_description" property="description"></result>
         <result column="id" property="id"></result>
         <result column="activity_name" property="name"></result>
@@ -85,7 +85,7 @@
         <result column="end_time" property="endTime"></result>
         <association property="coupon" column="coupon_id" select="com.example.cinema.data.promotion.CouponMapper.selectById">
         </association>
-        <collection property="movieList" ofType="com.example.cinema.vo.MovieVO">
+        <collection property="movieList" ofType="com.example.cinema.po.Movie">
             <id column="movie_id" property="id"></id>
             <result column="poster_url" property="posterUrl"></result>
             <result column="screen_writer" property="screenWriter"></result>