diff --git a/src/main/java/com/cjy/back/ybsjAppointment/service/impl/YbsjyAppointmentSettingServiceImpl.java b/src/main/java/com/cjy/back/ybsjAppointment/service/impl/YbsjyAppointmentSettingServiceImpl.java index 11f298c..2f8e213 100644 --- a/src/main/java/com/cjy/back/ybsjAppointment/service/impl/YbsjyAppointmentSettingServiceImpl.java +++ b/src/main/java/com/cjy/back/ybsjAppointment/service/impl/YbsjyAppointmentSettingServiceImpl.java @@ -270,8 +270,9 @@ public class YbsjyAppointmentSettingServiceImpl implements YbsjyAppointmentSetti map.put("timeList", list); map.put("canReserveDayNumber", ybsjyAppointmentSettingMapper.getAppointmentSettingByScenicId(scenicId, bookingCategory)); - map.put("visitTypesList", ybsjyAppointmentSettingMapper.getVisitTypes(list.get(0).getVisitTypes())); - + if (list.size()>0){ + map.put("visitTypesList", ybsjyAppointmentSettingMapper.getVisitTypes(list.get(0).getVisitTypes())); + } return ServerResponse.createBySuccess(map); } diff --git a/src/main/java/com/cjy/back/ybsjHandset/controller/YbsjHandsetController.java b/src/main/java/com/cjy/back/ybsjHandset/controller/YbsjHandsetController.java index 946d39a..eb7a416 100644 --- a/src/main/java/com/cjy/back/ybsjHandset/controller/YbsjHandsetController.java +++ b/src/main/java/com/cjy/back/ybsjHandset/controller/YbsjHandsetController.java @@ -7,6 +7,10 @@ import com.cjy.util.ServerResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + /** * 手持机相关代码 @@ -26,7 +30,7 @@ public class YbsjHandsetController { * @return */ @RequestMapping("requestForWriteOff") - public ServerResponse requestForWriteOff(WriteOffVo writeOffVo){ + public ServerResponse requestForWriteOff(WriteOffVo writeOffVo) { return ybsjHandsetService.writeOff(writeOffVo); } @@ -84,4 +88,18 @@ public class YbsjHandsetController { public ServerResponse getAppointmentRecordDetails(@RequestParam("id") String id) { return ybsjHandsetService.getAppointmentRecordDetails(id); } + + @RequestMapping("selectScjCount") + public ServerResponse selectScjCount(@RequestParam("dateType") Integer dateType) { + List> list = ybsjHandsetService.selectScjCount(dateType); + Map param = new HashMap<>(); + param.put("list",list); + int total = list.stream() + .filter(map -> map.containsKey("total_data")) + .mapToInt(map -> Integer.parseInt(map.get("total_data").toString()) ) + .sum(); + param.put("total",total); + return ServerResponse.createBySuccess(param); + } + } diff --git a/src/main/java/com/cjy/back/ybsjHandset/dao/YbsjHandsetMapper.java b/src/main/java/com/cjy/back/ybsjHandset/dao/YbsjHandsetMapper.java index 3a72113..1a10311 100644 --- a/src/main/java/com/cjy/back/ybsjHandset/dao/YbsjHandsetMapper.java +++ b/src/main/java/com/cjy/back/ybsjHandset/dao/YbsjHandsetMapper.java @@ -26,7 +26,7 @@ public interface YbsjHandsetMapper { * @return */ List> getHaveTicketsCheckedPage(@Param("page") PageParameter page, - @Param("res") HandsetVo handsetVo); + @Param("res") HandsetVo handsetVo); /** * 手持机-查询检票记录详情 @@ -44,7 +44,7 @@ public interface YbsjHandsetMapper { * @return */ List> getAppointmentRecordPage(@Param("page") PageParameter page, - @Param("res") HandsetVo handsetVo); + @Param("res") HandsetVo handsetVo); /** * 手持机-查询预约记录详情 @@ -60,7 +60,7 @@ public interface YbsjHandsetMapper { * @param id * @return */ - List> getVisitorList(@Param("id") String id,@Param("appointmentDocumentsId") String appointmentDocumentsId); + List> getVisitorList(@Param("id") String id, @Param("appointmentDocumentsId") String appointmentDocumentsId); /** * 查询当前个人预约单还有没有未核销的订单 @@ -75,8 +75,8 @@ public interface YbsjHandsetMapper { * * @return */ - Map getAppointmentPeopleInfo(@Param("reservationCode") String reservationCode,@Param("qrContent") String qrContent - ,@Param("documentsNumber") String documentsNumber); + Map getAppointmentPeopleInfo(@Param("reservationCode") String reservationCode, @Param("qrContent") String qrContent + , @Param("documentsNumber") String documentsNumber); /** * 手持机-通过预约人员信息表id修改状态 @@ -84,7 +84,7 @@ public interface YbsjHandsetMapper { * @param id * @return */ - int updatePeopleInfoId(@Param("id") String id, @Param("writeOff") String writeOff,@Param("ticketChecker") String ticketChecker); + int updatePeopleInfoId(@Param("id") String id, @Param("writeOff") String writeOff, @Param("ticketChecker") String ticketChecker); /** * 手持机-通过预约单信息表appointmentDocumentsId修改状态 @@ -92,7 +92,7 @@ public interface YbsjHandsetMapper { * @param appointmentDocumentsId * @return */ - int updateAppointmentDocumentsId(@Param("appointmentDocumentsId") String appointmentDocumentsId, @Param("writeOff") String writeOff,@Param("ticketChecker") String ticketChecker); + int updateAppointmentDocumentsId(@Param("appointmentDocumentsId") String appointmentDocumentsId, @Param("writeOff") String writeOff, @Param("ticketChecker") String ticketChecker); /** * 手持机-通过预约单信息表appointmentDocumentsId修改预约单表状态 @@ -100,7 +100,7 @@ public interface YbsjHandsetMapper { * @param appointmentDocumentsId * @return */ - int updateAppointmentDocumentsInfo(@Param("appointmentDocumentsId") String appointmentDocumentsId, @Param("writeOff") String writeOff,@Param("ticketChecker") String ticketChecker); + int updateAppointmentDocumentsInfo(@Param("appointmentDocumentsId") String appointmentDocumentsId, @Param("writeOff") String writeOff, @Param("ticketChecker") String ticketChecker); /** * 查询景区基本信息 @@ -112,9 +112,26 @@ public interface YbsjHandsetMapper { /** * 查询团队预约和研学预约 + * * @param appointmentDocumentsId * @return */ - List>getPeopleInfo(Integer appointmentDocumentsId); + List> getPeopleInfo(Integer appointmentDocumentsId); + + /** + * 手持机-查询统计 + * + * @param dateType + * @return + */ + List> selectScjCount(Integer dateType); + + /** + * 手持机-查询统计-研学 + * + * @param dateType + * @return + */ + List> selectScjCountTwo(Integer dateType); } diff --git a/src/main/java/com/cjy/back/ybsjHandset/dao/YbsjHandsetMapper.xml b/src/main/java/com/cjy/back/ybsjHandset/dao/YbsjHandsetMapper.xml index 5344133..6052cca 100644 --- a/src/main/java/com/cjy/back/ybsjHandset/dao/YbsjHandsetMapper.xml +++ b/src/main/java/com/cjy/back/ybsjHandset/dao/YbsjHandsetMapper.xml @@ -225,4 +225,80 @@ where appointment_documents_id =#{appointmentDocumentsId} and write_off = 1 + + + + + diff --git a/src/main/java/com/cjy/back/ybsjHandset/service/Impl/YbsjHandsetServiceImpl.java b/src/main/java/com/cjy/back/ybsjHandset/service/Impl/YbsjHandsetServiceImpl.java index 30cd48a..b5c89df 100644 --- a/src/main/java/com/cjy/back/ybsjHandset/service/Impl/YbsjHandsetServiceImpl.java +++ b/src/main/java/com/cjy/back/ybsjHandset/service/Impl/YbsjHandsetServiceImpl.java @@ -35,6 +35,8 @@ import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; import java.util.*; import java.util.regex.Pattern; +import java.util.stream.Collectors; +import java.util.stream.Stream; @Service public class YbsjHandsetServiceImpl implements YbsjHandsetService { @@ -403,6 +405,27 @@ public class YbsjHandsetServiceImpl implements YbsjHandsetService { return ServerResponse.createBySuccess(param); } + @Override + public List> selectScjCount(Integer dateType) { + List> selectScjCount =ybsjHandsetMapper.selectScjCount(dateType); + List> selectScjCountTwo = ybsjHandsetMapper.selectScjCountTwo(dateType); + List> mergedList = Stream.concat(selectScjCount.stream(), selectScjCountTwo.stream()) + .collect(Collectors.groupingBy( + map -> String.valueOf(map.get("generated_date")) , + Collectors.summingInt(map -> Integer.parseInt(map.get("total_data").toString()) ) + )) + .entrySet() + .stream() + .map(entry -> { + Map newMap = new HashMap<>(); + newMap.put("generated_date", entry.getKey()); + newMap.put("total_data", entry.getValue()); + return newMap; + }) + .collect(Collectors.toList()); + return mergedList; + } + // 18位身份证正则 private static final Pattern ID_PATTERN = Pattern.compile("^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[0-9Xx]$"); diff --git a/src/main/java/com/cjy/back/ybsjHandset/service/YbsjHandsetService.java b/src/main/java/com/cjy/back/ybsjHandset/service/YbsjHandsetService.java index 801bf78..cc53317 100644 --- a/src/main/java/com/cjy/back/ybsjHandset/service/YbsjHandsetService.java +++ b/src/main/java/com/cjy/back/ybsjHandset/service/YbsjHandsetService.java @@ -4,6 +4,7 @@ import com.cjy.back.ybsjHandset.controller.vo.HandsetVo; import com.cjy.back.ybsjHandset.controller.vo.WriteOffVo; import com.cjy.util.ServerResponse; +import java.util.List; import java.util.Map; public interface YbsjHandsetService { @@ -57,4 +58,11 @@ public interface YbsjHandsetService { * @return */ ServerResponse getAppointmentRecordDetails(String id); + + /** + * 手持机-查询统计 + * @param dateType + * @return + */ + List> selectScjCount(Integer dateType); }