liying 7 лет назад
Родитель
Сommit
ea5869859f
23 измененных файлов с 715 добавлено и 108 удалено
  1. 0 1
      .gitignore
  2. 21 0
      src/main/java/com/example/cinema/bl/TicketService.java
  3. 2 0
      src/main/java/com/example/cinema/bl/VIPService.java
  4. 100 0
      src/main/java/com/example/cinema/blImpl/TicketServiceImpl.java
  5. 23 31
      src/main/java/com/example/cinema/blImpl/VIPServiceImpl.java
  6. 24 0
      src/main/java/com/example/cinema/controller/CouponController.java
  7. 41 0
      src/main/java/com/example/cinema/controller/TicketController.java
  8. 3 3
      src/main/java/com/example/cinema/controller/VIPCardController.java
  9. 26 0
      src/main/java/com/example/cinema/data/TicketMapper.java
  10. 44 0
      src/main/java/com/example/cinema/data/TicketMapper.xml
  11. 3 1
      src/main/java/com/example/cinema/data/VIPCardMapper.java
  12. 30 0
      src/main/java/com/example/cinema/data/VIPCardMapper.xml
  13. 70 0
      src/main/java/com/example/cinema/po/Coupon.java
  14. 110 0
      src/main/java/com/example/cinema/po/Ticket.java
  15. 7 2
      src/main/java/com/example/cinema/po/VIPCard.java
  16. 0 25
      src/main/java/com/example/cinema/strategy/ChargeStrategy.java
  17. 0 28
      src/main/java/com/example/cinema/strategy/ReturnStrategy.java
  18. 73 0
      src/main/java/com/example/cinema/vo/TicketForm.java
  19. 49 0
      src/main/java/com/example/cinema/vo/TicketSeatVO.java
  20. 84 0
      src/main/java/com/example/cinema/vo/TicketVO.java
  21. 0 7
      src/main/java/com/example/cinema/vo/VIPCardForm.java
  22. 5 7
      src/main/java/com/example/cinema/vo/VIPInfoVO.java
  23. 0 3
      src/test/java/com/example/cinema/bl/VIPServiceImplTest.java

+ 0 - 1
.gitignore

@@ -15,7 +15,6 @@
 *.iws
 *.iml
 *.ipr
-*.xml
 
 ### NetBeans ###
 /nbproject/private/

+ 21 - 0
src/main/java/com/example/cinema/bl/TicketService.java

@@ -0,0 +1,21 @@
+package com.example.cinema.bl;
+
+import com.example.cinema.vo.ResponseVO;
+import com.example.cinema.vo.TicketForm;
+
+
+/**
+ * Created by liying on 2019/4/16.
+ */
+public interface TicketService {
+
+    ResponseVO completeTicket(int id);
+
+    ResponseVO getBySchedule(int scheduleId);
+
+    ResponseVO getTicketByUser(int userId);
+
+    ResponseVO buyTicketByVIPCard(TicketForm ticketForm);
+
+    ResponseVO buyTicketByCash(TicketForm ticketForm);
+}

+ 2 - 0
src/main/java/com/example/cinema/bl/VIPService.java

@@ -19,5 +19,7 @@ public interface VIPService {
 
     ResponseVO charge(VIPCardForm vipCardForm);
 
+    ResponseVO getCardByUserId(int userId);
+
 
 }

+ 100 - 0
src/main/java/com/example/cinema/blImpl/TicketServiceImpl.java

@@ -0,0 +1,100 @@
+package com.example.cinema.blImpl;
+
+import com.example.cinema.bl.TicketService;
+import com.example.cinema.bl.VIPService;
+import com.example.cinema.data.ScheduleMapper;
+import com.example.cinema.data.TicketMapper;
+import com.example.cinema.data.VIPCardMapper;
+import com.example.cinema.po.Ticket;
+import com.example.cinema.po.VIPCard;
+import com.example.cinema.vo.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * Created by liying on 2019/4/16.
+ */
+public class TicketServiceImpl implements TicketService {
+
+    @Autowired
+    TicketMapper ticketMapper;
+    @Autowired
+    VIPCardMapper vipCardMapper;
+    @Autowired
+    ScheduleMapper scheduleMapper;
+
+    private TicketVO addTicket(TicketForm ticketForm) {
+        Ticket ticket = new Ticket();
+        ticket.setUserId(ticketForm.getUserId());
+        ticket.setScheduleId(ticketForm.getScheduleId());
+        ticket.setColumnIndex(ticketForm.getColumnIndex());
+        ticket.setRowIndex(ticketForm.getRowIndex());
+        ticket.setState(0);
+        int id = ticketMapper.insertTicket(ticket);
+        return ticketMapper.selectTicketById(id).getVO();
+    }
+
+    @Override
+    public ResponseVO completeTicket(int id) {
+        try {
+            ticketMapper.updateTicketState(id, 1);
+            return ResponseVO.buildSuccess(ticketMapper.selectTicketById(id).getVO());
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResponseVO.buildFailure("失败");
+        }
+    }
+
+    @Override
+    public ResponseVO getBySchedule(int scheduleId) {
+        try {
+            List<Ticket> tickets = ticketMapper.selectTicketsBySchedule(scheduleId);
+            List<TicketSeatVO> ticketSeatVOS = tickets.stream().map(ticket -> {
+                TicketSeatVO vo = new TicketSeatVO();
+                vo.setScheduleId(ticket.getScheduleId());
+                vo.setColumnIndex(ticket.getColumnIndex());
+                vo.setRowIndex(ticket.getRowIndex());
+                return vo;
+            }).collect(Collectors.toList());
+            return ResponseVO.buildSuccess(ticketSeatVOS);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResponseVO.buildFailure("失败");
+        }
+    }
+
+    @Override
+    public ResponseVO getTicketByUser(int userId) {
+        try {
+            List<TicketVO> vos = ticketMapper.selectTicketByUser(userId).stream().map(ticket -> ticket.getVO()).collect(Collectors.toList());
+            return ResponseVO.buildSuccess(vos);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResponseVO.buildFailure("失败");
+        }
+    }
+
+    @Override
+    @Transactional
+    public ResponseVO buyTicketByVIPCard(TicketForm ticketForm) {
+        try {
+            TicketVO vos=addTicket(ticketForm);
+            VIPCard vipCard=vipCardMapper.selectCardByUserId(ticketForm.getUserId());
+            double balance=vipCard.getBalance();
+            vipCardMapper.updateCardBalance(vipCard.getId(),balance);
+            return ResponseVO.buildSuccess(vos);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResponseVO.buildFailure("失败");
+        }
+    }
+
+    @Override
+    public ResponseVO buyTicketByCash(TicketForm ticketForm) {
+
+        return null;
+    }
+}

+ 23 - 31
src/main/java/com/example/cinema/blImpl/VIPServiceImpl.java

@@ -4,16 +4,11 @@ import com.example.cinema.bl.VIPService;
 import com.example.cinema.data.VIPCardMapper;
 import com.example.cinema.vo.VIPCardForm;
 import com.example.cinema.po.VIPCard;
-import com.example.cinema.strategy.ChargeStrategy;
-import com.example.cinema.strategy.ReturnStrategy;
 import com.example.cinema.vo.ResponseVO;
 import com.example.cinema.vo.VIPInfoVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.List;
 
 /**
  * Created by liying on 2019/4/14.
@@ -29,7 +24,8 @@ public class VIPServiceImpl implements VIPService {
         vipCard.setUserId(userId);
         vipCard.setBalance(0);
         try {
-            return ResponseVO.buildSuccess(vipCardMapper.insertOneCard(vipCard));
+            int id = vipCardMapper.insertOneCard(vipCard);
+            return ResponseVO.buildSuccess(vipCardMapper.selectCardById(id));
         } catch (Exception e) {
             e.printStackTrace();
             return ResponseVO.buildFailure("失败");
@@ -48,42 +44,38 @@ public class VIPServiceImpl implements VIPService {
 
     @Override
     public ResponseVO getVIPInfo() {
-        List<ChargeStrategy> strategies = new ArrayList<>();
-        strategies.add(new ReturnStrategy());
         VIPInfoVO vipInfoVO = new VIPInfoVO();
-        vipInfoVO.setStrategies(strategies);
+        vipInfoVO.setDescription(VIPCard.description);
         vipInfoVO.setPrice(VIPCard.price);
         return ResponseVO.buildSuccess(vipInfoVO);
     }
 
     @Override
     public ResponseVO charge(VIPCardForm vipCardForm) {
-        if (vipCardForm.getStrategyName() == null) {
-            return ResponseVO.buildFailure("充值优惠策略不能为空");
+
+        VIPCard vipCard = vipCardMapper.selectCardById(vipCardForm.getVipId());
+        if (vipCard == null) {
+            return ResponseVO.buildFailure("会员卡不存在");
         }
-        ChargeStrategy chargeStrategy;
+        double balance = vipCard.calculate(vipCardForm.getAmount());
+        vipCard.setBalance(vipCard.getBalance() + balance);
         try {
-            Class c = Class.forName(vipCardForm.getStrategyName());
-            //如果是抽象类或接口
-            if (Modifier.isAbstract(c.getModifiers()) || Modifier.isInterface(c.getModifiers())) {
-                return ResponseVO.buildFailure("充值优惠策略不存在");
-            }
-            chargeStrategy = (ChargeStrategy) c.newInstance();
-        } catch (ClassNotFoundException e) {
-            return ResponseVO.buildFailure("充值优惠策略不存在");
-        } catch (IllegalAccessException e) {
-            chargeStrategy = new ReturnStrategy();
-        } catch (InstantiationException e) {
-            chargeStrategy = new ReturnStrategy();
-        }
-        VIPCard vipCard=vipCardMapper.selectCardById(vipCardForm.getVipId());
-        if(vipCard==null){
-            return ResponseVO.buildFailure("会员卡不存在");
+            vipCardMapper.updateCardBalance(vipCardForm.getVipId(), balance);
+            return ResponseVO.buildSuccess(vipCard);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return ResponseVO.buildFailure("失败");
         }
-        double balance = chargeStrategy.calculate(vipCardForm.getAmount());
-        vipCard.setBalance(vipCard.getBalance()+balance);
+    }
+
+    @Override
+    public ResponseVO getCardByUserId(int userId) {
         try {
-            return ResponseVO.buildSuccess(vipCardMapper.updateCardBalance(vipCardForm.getVipId(),balance));
+            VIPCard vipCard = vipCardMapper.selectCardByUserId(userId);
+            if(vipCard==null){
+                return ResponseVO.buildFailure("用户卡不存在");
+            }
+            return ResponseVO.buildSuccess(ResponseVO.buildSuccess(vipCard));
         } catch (Exception e) {
             e.printStackTrace();
             return ResponseVO.buildFailure("失败");

+ 24 - 0
src/main/java/com/example/cinema/controller/CouponController.java

@@ -0,0 +1,24 @@
+package com.example.cinema.controller;
+
+import com.example.cinema.vo.ResponseVO;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * Created by liying on 2019/4/16.
+ */
+@RestController
+@RequestMapping("/coupon")
+public class CouponController {
+
+    @GetMapping("{userId}/get")
+    public ResponseVO getCoupons(@PathVariable int userId){
+        return null;
+    }
+
+
+
+
+}

+ 41 - 0
src/main/java/com/example/cinema/controller/TicketController.java

@@ -0,0 +1,41 @@
+package com.example.cinema.controller;
+
+import com.example.cinema.bl.TicketService;
+import com.example.cinema.blImpl.TicketServiceImpl;
+import com.example.cinema.vo.ResponseVO;
+import com.example.cinema.vo.TicketForm;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * Created by liying on 2019/4/16.
+ */
+@RestController
+@RequestMapping("/ticket")
+public class TicketController {
+    @Autowired
+    TicketService ticketService;
+
+    @PostMapping("/vip/buy")
+    public ResponseVO buyTicketByVIPCard(@RequestBody TicketForm ticketForm){
+        return ticketService.addTicket(ticketForm);
+    }
+
+    @PostMapping("/buy")
+    public ResponseVO buyTicket(@RequestBody TicketForm ticketForm){
+        return ticketService.addTicket(ticketForm);
+    }
+
+    @PostMapping("/{ticketId}/complete")
+    public ResponseVO completeOrder (){
+        return null;
+    }
+
+    @GetMapping("/get/{userId}")
+    public ResponseVO getTicketByUserId(@PathVariable int userId){
+        return null;
+    }
+
+
+
+}

+ 3 - 3
src/main/java/com/example/cinema/controller/VIPCardController.java

@@ -19,9 +19,9 @@ public class VIPCardController {
     public ResponseVO addVIP(@RequestParam int userId){
         return vipService.addVIPCard(userId);
     }
-    @GetMapping("{id}/get")
-    public ResponseVO getVIP(@PathVariable int id){
-        return vipService.getCardById(id);
+    @GetMapping("{userId}/get")
+    public ResponseVO getVIP(@PathVariable int userId){
+        return vipService.getCardByUserId(userId);
     }
 
     @GetMapping("/getVIPInfo")

+ 26 - 0
src/main/java/com/example/cinema/data/TicketMapper.java

@@ -0,0 +1,26 @@
+package com.example.cinema.data;
+
+import com.example.cinema.po.Ticket;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * Created by liying on 2019/4/16.
+ */
+public interface TicketMapper {
+
+    int insertTicket(Ticket ticket);
+
+    void deleteTicket(int ticketId);
+
+    void updateTicketState(@Param("ticketId") int ticketId, @Param("state") int state);
+
+    List<Ticket> selectTicketsBySchedule(int scheduleId);
+
+    Ticket selectTicketByScheduleIdAndSeat(@Param("scheduleId") int scheduleId, @Param("column") int columnIndex, @Param("row") int rowIndex);
+
+    Ticket selectTicketById(int id);
+
+    List<Ticket> selectTicketByUser(int userId);
+}

+ 44 - 0
src/main/java/com/example/cinema/data/TicketMapper.xml

@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.example.cinema.data.TicketMapper">
+    <insert id="insertTicket" parameterType="com.example.cinema.po.Ticket"
+            useGeneratedKeys="true" keyProperty="id">
+        insert into ticket(user_id,schedule_id,column_index,row_index,state)
+        values(#{userId}, #{scheduleId},#{columnIndex},#{rowIndex},#{state})
+    </insert>
+
+    <select id="selectTicketById" resultMap="Ticket">
+        select * from ticket where id=#{id}
+    </select>
+
+    <select id="selectTicketsBySchedule" resultMap="Ticket">
+        select * from ticket where scheduleId=#{schedule_id}
+    </select>
+
+    <select id="selectTicketByScheduleIdAndSeat" resultMap="Ticket">
+        select * from ticket where schedule_id=#{scheduleId} and column_index=#{column} and row_index=#{row}
+    </select>
+
+    <select id="selectTicketByUser" resultMap="Ticket">
+        select * from ticket where user_id=#{userId}
+    </select>
+
+
+    <update id="updateTicketState" >
+        update ticket set state = #{state} where ticket_id=#{ticketId}
+    </update>
+
+    <delete id="deleteTicket">
+        delete from ticket where id=#{ticketId}
+    </delete>
+
+    <resultMap id="Ticket" type="com.example.cinema.po.Ticket">
+        <result column="schedule_id" property="scheduleId"></result>
+        <result column="id" property="id"></result>
+        <result column="user_id" property="userId"></result>
+        <result column="column_index" property="columnIndex"></result>
+        <result column="row_index" property="rowIndex"></result>
+        <result column="state" property="state"></result>
+    </resultMap>
+
+</mapper>

+ 3 - 1
src/main/java/com/example/cinema/data/VIPCardMapper.java

@@ -14,7 +14,9 @@ public interface VIPCardMapper {
 
     VIPCard selectCardById(int id);
 
-    VIPCard updateCardBalance(@Param("id") int id,@Param("balance") double balance);
+    void updateCardBalance(@Param("id") int id,@Param("balance") double balance);
+
+    VIPCard selectCardByUserId(int userId);
 
 
 

+ 30 - 0
src/main/java/com/example/cinema/data/VIPCardMapper.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.example.cinema.data.VIPCardMapper">
+    <insert id="insertOneCard" parameterType="com.example.cinema.po.VIPCard"
+            useGeneratedKeys="true" keyProperty="id">
+        insert into vip_card(user_id,balance)
+        values(#{userId}, #{balance})
+    </insert>
+
+    <select id="selectCardById" resultMap="VIPCard">
+        select * from vip_card where id=#{id}
+    </select>
+
+    <select id="selectCardByUserId" resultMap="VIPCard">
+        select * from vip_card where user_id=#{userId}
+    </select>
+
+    <resultMap id="VIPCard" type="com.example.cinema.po.VIPCard">
+        <result column="join_time" property="joinDate"></result>
+        <result column="id" property="id"></result>
+        <result column="user_id" property="userId"></result>
+        <result column="balance" property="balance"></result>
+    </resultMap>
+
+    <update id="updateCardBalance" >
+        update vip_card set balance = #{balance} where id=#{id}
+    </update>
+
+
+</mapper>

+ 70 - 0
src/main/java/com/example/cinema/po/Coupon.java

@@ -0,0 +1,70 @@
+package com.example.cinema.po;
+
+/**
+ * Created by liying on 2019/4/16.
+ */
+public class Coupon {
+    /**
+     * 优惠券id
+     */
+    private int id;
+    /**
+     * 优惠券描述
+     */
+    private String description;
+    /**
+     * 优惠券名称
+     */
+    private String name;
+    /**
+     * 优惠券使用门槛
+     */
+    private double targetAmount;
+    /**
+     * 优惠券优惠金额
+     */
+    private double discountAmount;
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public double getTargetAmount() {
+        return targetAmount;
+    }
+
+    public void setTargetAmount(double targetAmount) {
+        this.targetAmount = targetAmount;
+    }
+
+    public double getDiscountAmount() {
+        return discountAmount;
+    }
+
+    public void setDiscountAmount(double discountAmount) {
+        this.discountAmount = discountAmount;
+    }
+
+    public Coupon() {
+    }
+}

+ 110 - 0
src/main/java/com/example/cinema/po/Ticket.java

@@ -0,0 +1,110 @@
+package com.example.cinema.po;
+
+import com.example.cinema.vo.TicketVO;
+
+/**
+ * Created by liying on 2019/4/16.
+ */
+public class Ticket {
+
+    /**
+     * 电影票id
+     */
+    private int id;
+    /**
+     * 用户id
+     */
+    private int userId;
+    /**
+     * 排片id
+     */
+    private int scheduleId;
+    /**
+     * 列号
+     */
+    private int columnIndex;
+    /**
+     * 排号
+     */
+    private int rowIndex;
+
+    /**
+     * 订单状态:
+     * 0:未完成 1:已完成
+     */
+    private int state;
+
+    public Ticket() {
+    }
+
+
+    public TicketVO getVO(){
+        TicketVO vo=new TicketVO();
+        vo.setRowIndex(this.getRowIndex());
+        vo.setColumnIndex(this.getColumnIndex());
+        vo.setScheduleId(this.getScheduleId());
+        vo.setId(this.getId());
+        vo.setUserId(this.getUserId());
+        String stateString;
+        switch (state){
+            case 0:
+                stateString="未完成";
+                break;
+            case 1:
+                stateString="已完成";
+                break;
+            default:
+                stateString="未完成";
+        }
+        vo.setState(stateString);
+        return vo;
+
+    }
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getUserId() {
+        return userId;
+    }
+
+    public void setUserId(int userId) {
+        this.userId = userId;
+    }
+
+    public int getScheduleId() {
+        return scheduleId;
+    }
+
+    public void setScheduleId(int scheduleId) {
+        this.scheduleId = scheduleId;
+    }
+
+    public int getColumnIndex() {
+        return columnIndex;
+    }
+
+    public void setColumnIndex(int columnIndex) {
+        this.columnIndex = columnIndex;
+    }
+
+    public int getRowIndex() {
+        return rowIndex;
+    }
+
+    public void setRowIndex(int rowIndex) {
+        this.rowIndex = rowIndex;
+    }
+
+    public int getState() {
+        return state;
+    }
+
+    public void setState(int state) {
+        this.state = state;
+    }
+}

+ 7 - 2
src/main/java/com/example/cinema/po/VIPCard.java

@@ -1,8 +1,6 @@
 package com.example.cinema.po;
 
 
-import com.example.cinema.strategy.ChargeStrategy;
-
 import java.sql.Timestamp;
 
 /**
@@ -13,6 +11,8 @@ public class VIPCard {
 
     public static final double price = 25;
 
+    public static final String description="充值优惠:满200送30";
+
     /**
      * 用户id
      */
@@ -70,4 +70,9 @@ public class VIPCard {
     public void setJoinDate(Timestamp joinDate) {
         this.joinDate = joinDate;
     }
+
+    public double calculate(double amount) {
+        return (int)(amount/200)*30+amount;
+
+    }
 }

+ 0 - 25
src/main/java/com/example/cinema/strategy/ChargeStrategy.java

@@ -1,25 +0,0 @@
-package com.example.cinema.strategy;
-
-/**
- * Created by liying on 2019/4/14.
- */
-public interface ChargeStrategy {
-    /**
-     * 充值策略描述
-     * @return
-     */
-    String getDescription();
-
-    /**
-     * 计算充值金额
-     * @param amount
-     * @return
-     */
-    double calculate(double amount);
-
-    /**
-     * 获得类名
-     * @return
-     */
-    String getName();
-}

+ 0 - 28
src/main/java/com/example/cinema/strategy/ReturnStrategy.java

@@ -1,28 +0,0 @@
-package com.example.cinema.strategy;
-
-/**
- * Created by liying on 2019/4/14.
- */
-public class ReturnStrategy implements ChargeStrategy {
-    private String description="满200送30";
-
-    private String className="ReturnStrategy";
-
-
-    @Override
-    public String getDescription() {
-        return description;
-    }
-
-    @Override
-    public double calculate(double amount) {
-        return (int)(amount/200)*30+amount;
-
-    }
-
-    @Override
-    public String getName() {
-        return className;
-    }
-
-}

+ 73 - 0
src/main/java/com/example/cinema/vo/TicketForm.java

@@ -0,0 +1,73 @@
+package com.example.cinema.vo;
+
+/**
+ * Created by liying on 2019/4/16.
+ */
+public class TicketForm {
+
+    /**
+     * 用户id
+     */
+    private int userId;
+    /**
+     * 排片id
+     */
+    private int scheduleId;
+    /**
+     * 列号
+     */
+    private int columnIndex;
+    /**
+     * 排号
+     */
+    private int rowIndex;
+
+    /**
+     * 优惠券id
+     */
+    private int couponId;
+
+    public TicketForm() {
+    }
+
+    public int getCouponId() {
+        return couponId;
+    }
+
+    public void setCouponId(int couponId) {
+        this.couponId = couponId;
+    }
+
+    public int getUserId() {
+        return userId;
+    }
+
+    public void setUserId(int userId) {
+        this.userId = userId;
+    }
+
+    public int getScheduleId() {
+        return scheduleId;
+    }
+
+    public void setScheduleId(int scheduleId) {
+        this.scheduleId = scheduleId;
+    }
+
+    public int getColumnIndex() {
+        return columnIndex;
+    }
+
+    public void setColumnIndex(int columnIndex) {
+        this.columnIndex = columnIndex;
+    }
+
+    public int getRowIndex() {
+        return rowIndex;
+    }
+
+    public void setRowIndex(int rowIndex) {
+        this.rowIndex = rowIndex;
+    }
+
+}

+ 49 - 0
src/main/java/com/example/cinema/vo/TicketSeatVO.java

@@ -0,0 +1,49 @@
+package com.example.cinema.vo;
+
+/**
+ * Created by liying on 2019/4/16.
+ */
+public class TicketSeatVO {
+    /**
+     * 排片id
+     */
+    private int scheduleId;
+    /**
+     * 列号
+     */
+    private int columnIndex;
+    /**
+     * 排号
+     */
+    private int rowIndex;
+
+
+    public TicketSeatVO() {
+    }
+
+
+    public int getScheduleId() {
+        return scheduleId;
+    }
+
+    public void setScheduleId(int scheduleId) {
+        this.scheduleId = scheduleId;
+    }
+
+    public int getColumnIndex() {
+        return columnIndex;
+    }
+
+    public void setColumnIndex(int columnIndex) {
+        this.columnIndex = columnIndex;
+    }
+
+    public int getRowIndex() {
+        return rowIndex;
+    }
+
+    public void setRowIndex(int rowIndex) {
+        this.rowIndex = rowIndex;
+    }
+
+}

+ 84 - 0
src/main/java/com/example/cinema/vo/TicketVO.java

@@ -0,0 +1,84 @@
+package com.example.cinema.vo;
+
+/**
+ * Created by liying on 2019/4/16.
+ */
+public class TicketVO {
+
+    /**
+     * 电影票id
+     */
+    private int id;
+    /**
+     * 用户id
+     */
+    private int userId;
+    /**
+     * 排片id
+     */
+    private int scheduleId;
+    /**
+     * 列号
+     */
+    private int columnIndex;
+    /**
+     * 排号
+     */
+    private int rowIndex;
+
+    /**
+     * 订单状态
+     */
+    private String state;
+
+    public TicketVO() {
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getUserId() {
+        return userId;
+    }
+
+    public void setUserId(int userId) {
+        this.userId = userId;
+    }
+
+    public int getScheduleId() {
+        return scheduleId;
+    }
+
+    public void setScheduleId(int scheduleId) {
+        this.scheduleId = scheduleId;
+    }
+
+    public int getColumnIndex() {
+        return columnIndex;
+    }
+
+    public void setColumnIndex(int columnIndex) {
+        this.columnIndex = columnIndex;
+    }
+
+    public int getRowIndex() {
+        return rowIndex;
+    }
+
+    public void setRowIndex(int rowIndex) {
+        this.rowIndex = rowIndex;
+    }
+
+    public String getState() {
+        return state;
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
+}

+ 0 - 7
src/main/java/com/example/cinema/vo/VIPCardForm.java

@@ -15,7 +15,6 @@ public class VIPCardForm {
      */
     private int amount;
 
-    private String strategyName;
 
     public int getVipId() {
         return vipId;
@@ -33,11 +32,5 @@ public class VIPCardForm {
         this.amount = amount;
     }
 
-    public String getStrategyName() {
-        return strategyName;
-    }
 
-    public void setStrategyName(String strategyName) {
-        strategyName = strategyName;
-    }
 }

+ 5 - 7
src/main/java/com/example/cinema/vo/VIPInfoVO.java

@@ -1,24 +1,22 @@
 package com.example.cinema.vo;
 
-import com.example.cinema.strategy.ChargeStrategy;
 
-import java.util.List;
 
 /**
  * Created by liying on 2019/4/15.
  */
 public class VIPInfoVO {
 
-    List<ChargeStrategy> strategies;
+    String description;
 
     double price;
 
-    public List<ChargeStrategy> getStrategies() {
-        return strategies;
+    public String getDescription() {
+        return description;
     }
 
-    public void setStrategies(List<ChargeStrategy> strategies) {
-        this.strategies = strategies;
+    public void setDescription(String description) {
+        this.description = description;
     }
 
     public double getPrice() {

+ 0 - 3
src/test/java/com/example/cinema/bl/VIPServiceImplTest.java

@@ -20,9 +20,6 @@ public class VIPServiceImplTest {
 
     @Test
     public void addVIPCard() throws Exception {
-        VIPCardForm vipCardForm=new VIPCardForm();
-        vipCardForm.setUserId(13);
-        vipCardForm.setAmount(300);
     }
 
     @Test