From a4ff3a966df518a337104fbd023eb86ad073ddef Mon Sep 17 00:00:00 2001 From: limqhz Date: Sun, 26 Jul 2020 19:08:34 +0800 Subject: [PATCH] =?UTF-8?q?api-=E6=98=BE=E7=A4=BA=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E5=9C=BA=E9=A6=86=E7=9A=84=E9=A2=84=E8=AE=A2=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interceptor/PlatformIdInterceptor.java | 4 + .../controller/AppVenueLessonController.java | 79 +++++++++++- .../com/sv/dto/app/VenueLessonStatus.java | 112 ++++++++++++++++++ .../java/com/sv/mapper/VenueLessonMapper.java | 10 ++ .../sv/service/api/VenueLessonService.java | 8 ++ .../mybatis/mapper/sv/VenueLessonMapper.xml | 19 +++ 6 files changed, 228 insertions(+), 4 deletions(-) create mode 100644 entity/src/main/java/com/sv/dto/app/VenueLessonStatus.java diff --git a/api/src/main/java/com/sv/api/interceptor/PlatformIdInterceptor.java b/api/src/main/java/com/sv/api/interceptor/PlatformIdInterceptor.java index 5b5d2cf..d3ab31a 100644 --- a/api/src/main/java/com/sv/api/interceptor/PlatformIdInterceptor.java +++ b/api/src/main/java/com/sv/api/interceptor/PlatformIdInterceptor.java @@ -80,6 +80,10 @@ public class PlatformIdInterceptor implements Interceptor { if (checkUrl(request)){ return sql; } + // 复杂SQL + if (sql.contains("GROUP BY")){ + return sql; + } StringBuilder condition = new StringBuilder(" 1 = 1 "); String platformKey = PlatformContext.getKey(); if(StringUtils.isEmpty(platformKey)) diff --git a/api/src/main/java/com/sv/netty/controller/AppVenueLessonController.java b/api/src/main/java/com/sv/netty/controller/AppVenueLessonController.java index 50c52c3..0f0cdc3 100644 --- a/api/src/main/java/com/sv/netty/controller/AppVenueLessonController.java +++ b/api/src/main/java/com/sv/netty/controller/AppVenueLessonController.java @@ -1,14 +1,85 @@ package com.sv.netty.controller; -import com.ydd.framework.core.common.dto.ResponseDTO; +import com.sv.dto.app.VenueLessonStatus; +import com.sv.service.api.VenueLessonService; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.time.LocalDate; +import java.util.List; + @RestController public class AppVenueLessonController { - @RequestMapping("/getLessonOrder") - public ResponseDTO sendMessage1() { - return ResponseDTO.ok(); + @Resource + private VenueLessonService venueLessonService; + + /** + * 通过返回页面来进行拼接,每个APP可以返回具体的场馆的课程预订情况 + * @return + */ + @RequestMapping("/getLessonOrder/{id}") + public String getLessonOrder(@PathVariable("id") Integer id,String date) { + if (date == null && "".equals(date)){ + LocalDate now = LocalDate.now(); + date = now.toString(); + } + // 如果传入时间非法,都改为今天 + try { + LocalDate parse = LocalDate.parse(date); + date = parse.toString(); + }catch (Exception e){ + LocalDate now = LocalDate.now(); + date = now.toString(); + } + List lessonOrder = venueLessonService.getLessonOrder(id, date); + if (lessonOrder != null && lessonOrder.size() > 0){ + String returnHtml = concatResult(lessonOrder); + return returnHtml; + }else { + return "

~_~该场馆当天没有课程~_~

"; + + } } + + private String concatResult(List lessonOrder) { + StringBuffer sb = new StringBuffer(); + sb.append(""); + sb.append(""); + sb.append("

【" + lessonOrder.get(0).getVenueName() + "】(" + lessonOrder.get(0).getSearchDate() + ")预订信息一览表" + "

"); + sb.append(""); + sb.append("" + +// "" + + "" + +// "" + + "" + + "" + + "" + + "" + + "" + + "" + + ""); +// boolean firstLine = true; + for (VenueLessonStatus s : lessonOrder){ + sb.append(""); +// if (firstLine){ +// sb.append( ""); +// firstLine = false; +// } + sb.append( ""); +// sb.append( ""); + sb.append( ""); + sb.append( ""); + sb.append( ""); + sb.append( ""); + sb.append( ""); + sb.append( ""); + sb.append(""); + } + sb.append("
场馆课程日期时间总量预订剩余预约用户说明
"+ s.getVenueName() + ""+ s.getLessonName() + ""+ s.getSearchDate() + ""+ s.getStartTime() + "-" + s.getEndTime() + ""+ s.getNum() + ""+ s.getSaleNum() + ""+ s.getLimitNum() + ""+ s.getOrderUsers() + ""+ s.getNote() + "
"); + return sb.toString(); + } + } diff --git a/entity/src/main/java/com/sv/dto/app/VenueLessonStatus.java b/entity/src/main/java/com/sv/dto/app/VenueLessonStatus.java new file mode 100644 index 0000000..6fc7848 --- /dev/null +++ b/entity/src/main/java/com/sv/dto/app/VenueLessonStatus.java @@ -0,0 +1,112 @@ +package com.sv.dto.app; + +import java.io.Serializable; + +public class VenueLessonStatus implements Serializable { + private String venueName; + private String lessonName; + private String searchDate; + private String startTime; + private String endTime; + private int num; + private int saleNum; + private int limitNum; + private String orderUsers; + private String note; + + public String getVenueName() { + return venueName; + } + + public void setVenueName(String venueName) { + this.venueName = venueName; + } + + public String getLessonName() { + return lessonName; + } + + public void setLessonName(String lessonName) { + this.lessonName = lessonName; + } + + public String getSearchDate() { + return searchDate; + } + + public void setSearchDate(String searchDate) { + this.searchDate = searchDate; + } + + public String getStartTime() { + return startTime; + } + + public void setStartTime(String startTime) { + this.startTime = startTime; + } + + public String getEndTime() { + return endTime; + } + + public void setEndTime(String endTime) { + this.endTime = endTime; + } + + public int getNum() { + return num; + } + + public void setNum(int num) { + this.num = num; + } + + public int getSaleNum() { + return saleNum; + } + + public void setSaleNum(int saleNum) { + this.saleNum = saleNum; + } + + public int getLimitNum() { + return limitNum; + } + + public void setLimitNum(int limitNum) { + this.limitNum = limitNum; + } + + public String getOrderUsers() { + return orderUsers; + } + + public void setOrderUsers(String orderUsers) { + this.orderUsers = orderUsers; + } + + public String getNote() { + return note; + } + + public void setNote(String note) { + this.note = note; + } + + @Override + public String toString() { + return "VenueLessonStatus{" + + "venueName='" + venueName + '\'' + + ", lessonName='" + lessonName + '\'' + + ", searchDate='" + searchDate + '\'' + + ", startTime='" + startTime + '\'' + + ", endTime='" + endTime + '\'' + + ", num=" + num + + ", saleNum=" + saleNum + + ", limitNum=" + limitNum + + ", orderUsers='" + orderUsers + '\'' + + ", note='" + note + '\'' + + '}'; + } +} diff --git a/service/src/main/java/com/sv/mapper/VenueLessonMapper.java b/service/src/main/java/com/sv/mapper/VenueLessonMapper.java index cb161a5..bfd42bb 100644 --- a/service/src/main/java/com/sv/mapper/VenueLessonMapper.java +++ b/service/src/main/java/com/sv/mapper/VenueLessonMapper.java @@ -2,6 +2,7 @@ package com.sv.mapper; import com.sv.annotation.PlatformKey; import com.sv.dto.api.VenueLessonDTO; +import com.sv.dto.app.VenueLessonStatus; import com.sv.dto.oms.VenueLessonOmsDTO; import com.sv.entity.MemberLessonTicket; import com.sv.entity.VenueLesson; @@ -131,4 +132,13 @@ public interface VenueLessonMapper { * api 修改库存 */ void updateSaleNumBy(@Param("num")Integer num,@Param("lessonId") Integer lessonId); + + /** + * APP获取当前预订情况 + * @param venueId + * @param searchDate + * and b.date = #{searchDate} and b.venue_id = #{venueId} + * @return + */ + List getLessonStatus(@Param("venueId") Integer venueId,@Param("searchDate") String searchDate); } \ No newline at end of file diff --git a/service/src/main/java/com/sv/service/api/VenueLessonService.java b/service/src/main/java/com/sv/service/api/VenueLessonService.java index db51681..809e40c 100644 --- a/service/src/main/java/com/sv/service/api/VenueLessonService.java +++ b/service/src/main/java/com/sv/service/api/VenueLessonService.java @@ -2,6 +2,7 @@ package com.sv.service.api; import com.github.pagehelper.PageHelper; import com.sv.dto.api.VenueLessonDTO; +import com.sv.dto.app.VenueLessonStatus; import com.sv.entity.Member; import com.sv.entity.MemberLessonTicket; import com.sv.entity.VenueLesson; @@ -322,5 +323,12 @@ public class VenueLessonService extends BaseServiceImpl { public void updateSaleNum(Integer num,Integer lessonId){ venueLessonMapper.updateSaleNumBy(num,lessonId); } + + @Transactional + public List getLessonOrder(Integer venueId,String searchDate){ + // 校验场馆是否存在 TODO + return venueLessonMapper.getLessonStatus(venueId,searchDate); + } + } diff --git a/service/src/main/resources/mybatis/mapper/sv/VenueLessonMapper.xml b/service/src/main/resources/mybatis/mapper/sv/VenueLessonMapper.xml index 1335c0e..b8778dc 100644 --- a/service/src/main/resources/mybatis/mapper/sv/VenueLessonMapper.xml +++ b/service/src/main/resources/mybatis/mapper/sv/VenueLessonMapper.xml @@ -602,4 +602,23 @@ WHERE id = #{lessonId} + + + + + \ No newline at end of file