AppBookImplService.java 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. package com.happy.service.impl;
  2. import com.baidubce.model.User;
  3. import com.happy.Model.AdminManager;
  4. import com.happy.Model.Booking;
  5. import com.happy.Model.Hotel;
  6. import com.happy.Model.House;
  7. import com.happy.Model.weixin.Users;
  8. import com.happy.Until.DateUtil;
  9. import com.happy.Until.Enum.OrderEnum;
  10. import com.happy.Until.Enum.PayEnum;
  11. import com.happy.Until.Func;
  12. import com.happy.Until.TimeExchange;
  13. import com.happy.dao.BookDao;
  14. import com.happy.dto.IPage;
  15. import com.happy.service.*;
  16. import org.springframework.stereotype.Service;
  17. import javax.annotation.Resource;
  18. import java.util.HashMap;
  19. import java.util.List;
  20. import java.util.Map;
  21. @Service("AppBookService")
  22. public class AppBookImplService implements AppBookService {
  23. @Resource
  24. public BookService bookService;
  25. @Resource
  26. public HotelService hotelService;
  27. @Resource
  28. public HouseService houseService;
  29. @Resource
  30. public UserService userService;
  31. @Resource
  32. public AdminManagerService adminManagerService;
  33. @Override
  34. public String createOrder(String houseId, String startTime, String endTime, String houseOrderNumber, String userName, String userPhone, String userId) {
  35. if (Func.checkNull(houseId) ||Func.checkNull(startTime) ||Func.checkNull(endTime)
  36. ||Func.checkNull(houseOrderNumber) ||Func.checkNull(userName) ||Func.checkNull(userPhone) ||Func.checkNull(userId))
  37. return null;
  38. House house = houseService.getById(Func.parseInt(houseId));
  39. StringBuilder s1 = new StringBuilder("");
  40. s1.append(" and manager_id = '").append(house.getManagerId()).append("'");
  41. Hotel hotel = hotelService.getOen(s1.toString());
  42. Users user = userService.queryByUserId(userId);
  43. AdminManager adminManager = adminManagerService.getById(Func.parseInt(userId));
  44. Booking booking = new Booking();
  45. // 设置民宿信息
  46. booking.setHotelName(hotel.getHname());
  47. booking.setHotelHposition(hotel.getHposition());
  48. booking.setHotelHpositionWens(hotel.getHpositionWens());
  49. booking.setHotelManagerId(hotel.getManagerId());
  50. booking.setHotelTownship(adminManager.getHotelTownship());
  51. booking.setHotelConfig(hotel.getHconfig());
  52. booking.setHotelType(hotel.getHtype());
  53. booking.setHotelIsCanorder(Func.parseStr(hotel.getIsCanorder()));
  54. // 设置房型信息
  55. booking.setHouseId(Func.parseStr(house.getId()));
  56. booking.setHouseName(house.gethName());
  57. booking.setHouseConfig(house.gethConfig());
  58. booking.setHouseUnitPrice(house.getPrice());
  59. booking.setHouseOrderNumber(Func.parseInt(houseOrderNumber));
  60. booking.setHouseAreas(house.gethAreas());
  61. booking.setHouseRemake(house.getRemark());
  62. double totalPrice = Func.parseInt(houseOrderNumber) * house.getPrice();
  63. booking.setHouseTotalPrice(totalPrice);
  64. // 设置住客信息
  65. booking.setUserName(userName);
  66. booking.setUserPhone(userPhone);
  67. booking.setOrderStartTime(startTime);
  68. booking.setOrderEndTime(endTime);
  69. int day = DateUtil.getDayDiff(startTime,endTime);
  70. String orderLiveTime= day+ OrderEnum.间.toString()+ day +OrderEnum.晚.toString();
  71. booking.setOrderLiveTime(orderLiveTime);
  72. // 订单信息
  73. Integer orderNum = TimeExchange.StringToTimestamp(TimeExchange.getDate());// 订单号
  74. booking.setOrderNum(Func.parseStr(orderNum));
  75. booking.setOrderStatus(Func.parseStr(PayEnum.ONE.getNum())); // 1待支付状态
  76. booking.setCreateTime(DateUtil.getFormatPaternDate(DateUtil.getCurrentDate()));
  77. bookService.insertBooking(booking);
  78. return null;
  79. }
  80. @Override
  81. public String reCreateOrder(String houseId, String startTime, String endTime, String houseOrderNumber, String userName, String userPhone, String userId) {
  82. if (Func.checkNull(houseId) ||Func.checkNull(startTime) ||Func.checkNull(endTime)
  83. ||Func.checkNull(houseOrderNumber) ||Func.checkNull(userName) ||Func.checkNull(userPhone) ||Func.checkNull(userId))
  84. return null;
  85. House house = houseService.getById(Func.parseInt(houseId));
  86. StringBuilder s1 = new StringBuilder("");
  87. s1.append(" and manager_id = '").append(house.getManagerId()).append("'");
  88. Hotel hotel = hotelService.getOen(s1.toString());
  89. Users user = userService.queryByUserId(userId);
  90. AdminManager adminManager = adminManagerService.getById(Func.parseInt(userId));
  91. Booking booking = new Booking();
  92. // 设置民宿信息
  93. booking.setHotelName(hotel.getHname());
  94. booking.setHotelHposition(hotel.getHposition());
  95. booking.setHotelHpositionWens(hotel.getHpositionWens());
  96. booking.setHotelManagerId(hotel.getManagerId());
  97. booking.setHotelTownship(adminManager.getHotelTownship());
  98. booking.setHotelConfig(hotel.getHconfig());
  99. booking.setHotelType(hotel.getHtype());
  100. booking.setHotelIsCanorder(Func.parseStr(hotel.getIsCanorder()));
  101. // 设置房型信息
  102. booking.setHouseId(Func.parseStr(house.getId()));
  103. booking.setHouseName(house.gethName());
  104. booking.setHouseConfig(house.gethConfig());
  105. booking.setHouseUnitPrice(house.getPrice());
  106. booking.setHouseOrderNumber(Func.parseInt(houseOrderNumber));
  107. booking.setHouseAreas(house.gethAreas());
  108. booking.setHouseRemake(house.getRemark());
  109. double totalPrice = Func.parseInt(houseOrderNumber) * house.getPrice();
  110. booking.setHouseTotalPrice(totalPrice);
  111. // 设置住客信息
  112. booking.setUserName(userName);
  113. booking.setUserPhone(userPhone);
  114. booking.setOrderStartTime(startTime);
  115. booking.setOrderEndTime(endTime);
  116. int day = DateUtil.getDayDiff(startTime,endTime);
  117. String orderLiveTime= day+ OrderEnum.间.toString()+ day +OrderEnum.晚.toString();
  118. booking.setOrderLiveTime(orderLiveTime);
  119. // 订单信息
  120. Integer orderNum = TimeExchange.StringToTimestamp(TimeExchange.getDate());// 订单号
  121. booking.setOrderNum(Func.parseStr(orderNum));
  122. booking.setOrderStatus(Func.parseStr(PayEnum.ONE.getNum())); // 待支付状态
  123. booking.setCreateTime(DateUtil.getFormatPaternDate(DateUtil.getCurrentDate()));
  124. bookService.insertBooking(booking);
  125. return null;
  126. }
  127. @Override
  128. public String varificationHouse(String houseId, String startTime, String endTime) {
  129. House house = houseService.getById(Func.parseInt(houseId));
  130. // 判断是否有房间,对每个房型进行标识
  131. StringBuffer strSqlBook = new StringBuffer();
  132. strSqlBook.append(" and house_id = '").append(house.getId()).append("' ");
  133. strSqlBook.append(" and hotel_manager_id = '").append(house.getManagerId()).append("' ");
  134. strSqlBook.append(" and order_start_time >= '").append(startTime).append("' ");
  135. strSqlBook.append(" and order_end_time < '").append(endTime).append("' ");
  136. //1待支付,2已支付,3待入住,4已入住,5已消费,6支付超时,7已取消,8已退单,9已退款
  137. strSqlBook.append(" and order_status = '").append(PayEnum.ONE.getNum()).append("' ");
  138. strSqlBook.append(" or order_status = '").append(PayEnum.TWO.getNum()).append("' ");
  139. strSqlBook.append(" or order_status = '").append(PayEnum.THREE.getNum()).append("' ");
  140. strSqlBook.append(" or order_status = '").append(PayEnum.FOUR.getNum()).append("' ");
  141. List<Booking> bookList = bookService.queryList(strSqlBook.toString());
  142. int totalNum = 0;
  143. for (Booking booking: bookList) {
  144. if (Func.checkNull(booking.getHouseId()))
  145. continue;
  146. totalNum += booking.getHouseOrderNumber();
  147. }
  148. if (totalNum >= house.getNumber())
  149. return OrderEnum.房间已满.toString();
  150. return null;
  151. }
  152. }