Memory_LG 4 mēneši atpakaļ
vecāks
revīzija
fa8cb5695b

+ 59 - 44
qmjszx-admin/src/main/java/beilv/web/controller/bootacourse/bootACourseController.java

@@ -15,6 +15,7 @@ import beilv.common.utils.DictUtils;
 import beilv.common.utils.uuid.IdUtils;
 import beilv.site.domain.BeilvSite;
 import beilv.site.service.IBeilvSiteService;
+import beilv.system.service.ISysMemberService;
 import beilv.usermembershipcard.domain.MemberStream;
 import beilv.usermembershipcard.domain.UserMembershipCard;
 import beilv.usermembershipcard.service.IUserMembershipCardService;
@@ -27,6 +28,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletRequest;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
@@ -53,41 +55,51 @@ public class bootACourseController extends BaseController {
     @Autowired
     private IUserMembershipCardService userMembershipCardService;
 
+    @Autowired
+    private ISysMemberService sysMemberService;
+
     /**
-     * 查询基础信息
+     * 查询球馆列表
      */
-    @PostMapping("/getVenueList")
-    public AjaxResult getVenueList(){
+    /*@PostMapping("/getVenueList")
+    public AjaxResult getVenueList() {
         //获取球场列表
         List<BeilvVenue> resultList = venueService.selectBeilvVenueList(new BeilvVenue());
         return AjaxResult.success(resultList);
-    }
+    }*/
+
+    /**
+     * 根据场馆id查询其具有的场地类型
+     */
+    /*@PostMapping("/getSiteType")
+    public AjaxResult getSiteType(@RequestBody BeilvSite beilvSite) {
+        List<Map<String, String>> siteType = siteService.selectSiteTypeByVenueId(beilvSite);
+
+        siteType.forEach(map -> {
+            map.put("siteTypeLabel", DictUtils.getDictLabel("site_type", map.get("siteType")));
+        });
+        return AjaxResult.success(siteType);
+    }*/
 
     /**
      * 根据场馆id获取下面的球场信息
-     * @param beilvSite venueId(场馆id)
+     *
+     * @param beilvSite venueId(场馆id) 默认值8
      */
     @PostMapping("/getSiteList")
-    public AjaxResult getSiteList(@RequestBody BeilvSite beilvSite){
-        //根据球场id, 获取下面所有的场地信息
+    public AjaxResult getSiteList(@RequestBody BeilvSite beilvSite) {
+        beilvSite.setVenueId(8L);
+        UserMembershipCard userMembershipCard = new UserMembershipCard();
+        userMembershipCard.setUserId(beilvSite.getUserId());
+        userMembershipCard.setCardType(beilvSite.getSiteType());
+        userMembershipCard.setState("3");
+        //获取会员卡集合
+        HashMap<String, Object> result = new HashMap<>();
+        result.put("cardList", userMembershipCardService.selectUserMembershipCardList(userMembershipCard));
         List<BeilvSite> beilvSites = siteService.selectBeilvSiteList(beilvSite);
-        Set<String> siteTypeSite = new HashSet<>();
-
-        //遍历场地信息, 获取球场下所有的场地类型
         beilvSites.forEach(site->{
-            siteTypeSite.add(site.getSiteType());
-        });
-
-        List<String> siteTypeList = new ArrayList<>();
-        //遍历场地类型, 获取场地类型的Label
-        siteTypeSite.forEach(siteType->{
-            siteTypeList.add(DictUtils.getDictLabel("site_type",siteType));
+            site.setCoverList(new ArrayList<>(Arrays.asList(site.getCover().split(","))));
         });
-
-        HashMap<String, Object> result = new HashMap<>();
-        //放入LabelList
-        result.put("siteType", siteTypeList);
-        //放入球场List
         result.put("siteList", beilvSites);
         return AjaxResult.success(result);
     }
@@ -97,24 +109,24 @@ public class bootACourseController extends BaseController {
      * 有返回会员卡信息集合
      * 没有返回空集合
      */
-    @PostMapping("/hasClubCard")
-    public AjaxResult hasClubCard(@RequestBody BootACourseBO course){
+    /*@PostMapping("/hasClubCard")
+    public AjaxResult hasClubCard(@RequestBody BootACourseBO course) {
         UserMembershipCard userMembershipCard = new UserMembershipCard();
         userMembershipCard.setUserId(course.getUserId());
         userMembershipCard.setCardType(course.getTicketType());
         userMembershipCard.setState("3");
-        return AjaxResult.success(userMembershipCardService.selectUserMembershipCardList(userMembershipCard));
-    }
+        return AjaxResult.success();
+    }*/
 
     /**
      * 查询可购票的场次信息
      * 请求参数:
-     *  日期: yyyy-MM-dd
-     *  场地类型: site_type字典
-     *  球场id:
+     * 日期: yyyy-MM-dd
+     * 场地类型: site_type字典
+     * 球场id:
      */
     @PostMapping("/getTicketList")
-    public AjaxResult getTicketList(@RequestBody AdmissionTicket admissionTicket){
+    public AjaxResult getTicketList(@RequestBody AdmissionTicket admissionTicket) {
         //设置查询状态: 可以预定的时段
 //        admissionTicket.setAdmissionTicketStatus("0");
         //查询可用时段
@@ -125,12 +137,13 @@ public class bootACourseController extends BaseController {
     /**
      * 购票接口
      * 用户id, 场次id, 会员卡id
+     *
      * @return
      */
     @PostMapping("/addCourse")
-    public AjaxResult addCourse(@RequestBody BootACourseBO course){
+    public AjaxResult addCourse(@RequestBody BootACourseBO course) {
         //根据场次id 关联球馆表, 获取球馆允许提前多少分钟可以退票
-        Date refund  = calculationTime(ticketService.getThresholdValue(course.getTicketId()));
+        Date refund = calculationTime(ticketService.getThresholdValue(course.getTicketId()));
 
 
         //生成订单编号
@@ -151,7 +164,7 @@ public class bootACourseController extends BaseController {
 
 
         //验证场次是否可用
-        if(courseService.isOk(course)){
+        if (courseService.isOk(course)) {
             //调用会员卡接口减少次数
             MemberStream memberStream = new MemberStream();
             memberStream.setUserCardId(course.getClubCardId());
@@ -171,8 +184,8 @@ public class bootACourseController extends BaseController {
             ticketService.updateBeilvAdmissionTicket(admissionTicket);
 
             return toAjax(courseService.addCourse(bootACourse));
-        }else{
-           return AjaxResult.error("当前场次已被预订");
+        } else {
+            return AjaxResult.error("当前场次已被预订");
         }
     }
 
@@ -180,7 +193,8 @@ public class bootACourseController extends BaseController {
      * 查询订单
      */
     @PostMapping("/getCourseList")
-    public AjaxResult getCourseList(@RequestBody BootACourseBO courseBO){
+    public AjaxResult getCourseList(@RequestBody BootACourseBO courseBO) {
+        courseBO.setUserId(courseBO.getUserId());
         return AjaxResult.success(courseService.getCourseList(courseBO));
     }
 
@@ -188,17 +202,18 @@ public class bootACourseController extends BaseController {
     /**
      * 退票接口
      * 用户id, 订单编号,
-     * @return
-     * 1: 订单已核销
+     *
+     * @return 1: 订单已核销
      * 2: 退票成功
      */
     @PostMapping("/remofeCourse")
-    public AjaxResult remofeCourse(@RequestBody BootACourseBO courseBo){
+    public AjaxResult remofeCourse(@RequestBody BootACourseBO courseBo) {
+        courseBo.setUserId(courseBo.getUserId());
         //通过orderId查询订单信息
         BootACourse course = courseService.getCourseInfo(courseBo);
 
         //判断最晚退单时间大于当前时间, 并且订单状态为已支付
-        if(course.getRefund().after(new Date()) && "payment_status_have_paid".equals(course.getPaymentStatus())){
+        if (course.getRefund().after(new Date()) && "payment_status_have_paid".equals(course.getPaymentStatus())) {
             //根据订单信息中的会员卡退次数
             //调用会员卡接口减少次数
             MemberStream memberStream = new MemberStream();
@@ -220,10 +235,10 @@ public class bootACourseController extends BaseController {
             course.setRefundInstructions(courseBo.getRefundInstructions());
             course.setPaymentStatus("payment_status_refunded");
             return toAjax(courseService.updateCourse(course));
-        }else{
-            if(course.getRefund().after(new Date())){
+        } else {
+            if (course.getRefund().after(new Date())) {
                 return AjaxResult.error("当前订单超过最晚退单时间, 不允许退单");
-            }else if("payment_status_verification".equals(course.getPaymentStatus())){
+            } else if ("payment_status_verification".equals(course.getPaymentStatus())) {
                 return AjaxResult.error("订单已核销");
             }
             return AjaxResult.error("未知原因退款失败!");
@@ -232,7 +247,7 @@ public class bootACourseController extends BaseController {
     }
 
 
-    private Date calculationTime(Map<String, Object> map){
+    private Date calculationTime(Map<String, Object> map) {
 
         String sessionStr = MapUtils.getString(map, "session").split("-")[0]; //12:15
 

+ 8 - 0
qmjszx-business/src/main/java/beilv/site/domain/BeilvSite.java

@@ -1,6 +1,7 @@
 package beilv.site.domain;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -33,6 +34,7 @@ public class BeilvSite extends BaseEntity
     /** 封面 */
     @Excel(name = "封面")
     private String cover;
+    private List<String> coverList;
 
     /** 简介 */
     @Excel(name = "简介")
@@ -56,6 +58,12 @@ public class BeilvSite extends BaseEntity
 
     private String venueName;
 
+    private String userId;
+
+    private String businessHours;
+    private String address;
+    private String phoneNumber;
+
     public void setId(Long id) 
     {
         this.id = id;

+ 4 - 0
qmjszx-business/src/main/java/beilv/site/mapper/BeilvSiteMapper.java

@@ -1,6 +1,8 @@
 package beilv.site.mapper;
 
 import java.util.List;
+import java.util.Map;
+
 import beilv.site.domain.BeilvSite;
 
 /**
@@ -64,4 +66,6 @@ public interface BeilvSiteMapper
     List<BeilvSite> getAllToList();
 
     int countSiteByVenueId(Long venueId);
+
+    List<Map<String, String>> selectSiteTypeByVenueId(BeilvSite beilvSite);
 }

+ 4 - 0
qmjszx-business/src/main/java/beilv/site/service/IBeilvSiteService.java

@@ -1,6 +1,8 @@
 package beilv.site.service;
 
 import java.util.List;
+import java.util.Map;
+
 import beilv.site.domain.BeilvSite;
 
 /**
@@ -65,4 +67,6 @@ public interface IBeilvSiteService
      * 球场状态修改
      */
     int siteStatus(BeilvSite beilvSite);
+
+    List<Map<String, String>> selectSiteTypeByVenueId(BeilvSite beilvSite);
 }

+ 7 - 4
qmjszx-business/src/main/java/beilv/site/service/impl/BeilvSiteServiceImpl.java

@@ -1,6 +1,7 @@
 package beilv.site.service.impl;
 
 import java.util.List;
+import java.util.Map;
 
 import beilv.shopping.domain.QmjsShoppingMall;
 import beilv.system.domain.SysPost;
@@ -34,7 +35,6 @@ public class BeilvSiteServiceImpl implements IBeilvSiteService {
     }
 
 
-
     /**
      * 查询球场管理列表
      *
@@ -103,14 +103,17 @@ public class BeilvSiteServiceImpl implements IBeilvSiteService {
     public List<BeilvSite> getAllToList() {
         return beilvSiteMapper.getAllToList();
     }
+
     /**
      * 球场状态修改
      */
     @Override
-    public int siteStatus(BeilvSite beilvSite)
-    {
+    public int siteStatus(BeilvSite beilvSite) {
         return beilvSiteMapper.updateBeilvSite(beilvSite);
     }
 
-
+    @Override
+    public List<Map<String, String>> selectSiteTypeByVenueId(BeilvSite beilvSite) {
+        return beilvSiteMapper.selectSiteTypeByVenueId(beilvSite);
+    }
 }

+ 11 - 1
qmjszx-business/src/main/resources/mapper/site/BeilvSiteMapper.xml

@@ -15,6 +15,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="siteStatus"    column="site_status"    />
         <result property="venueId"    column="venue_id"    />
         <result property="venueName"    column="venue_name"    />
+        <result property="businessHours"    column="business_hours"    />
+        <result property="address"    column="address"    />
+        <result property="phoneNumber"    column="phone_number"    />
     </resultMap>
 
     <sql id="selectBeilvSiteVo">
@@ -32,7 +35,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         bs.warm_reminder,
         bs.site_status,
         bs.venue_id,
-        bv.venue_name
+        bv.venue_name,
+        bv.business_hours,
+        bv.address,
+        bv.phone_number
         FROM
         beilv_site bs
         left join beilv_venue bv on bs.venue_id = bv.id
@@ -140,4 +146,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select count(1) from beilv_site where venue_id = #{venueId}
     </select>
 
+    <select id="selectSiteTypeByVenueId" parameterType="BeilvSite" resultType="map">
+        select site_type as siteType from beilv_site where venue_id = #{venueId} group by site_type
+    </select>
+
 </mapper>