|
|
@@ -8,6 +8,7 @@ import com.happy.Model.House;
|
|
|
import com.happy.Model.weixin.Users;
|
|
|
import com.happy.Until.DateUtil;
|
|
|
import com.happy.Until.Enum.OrderEnum;
|
|
|
+import com.happy.Until.Enum.PayEnum;
|
|
|
import com.happy.Until.Func;
|
|
|
import com.happy.Until.TimeExchange;
|
|
|
import com.happy.dao.BookDao;
|
|
|
@@ -16,7 +17,9 @@ import com.happy.service.*;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
|
|
|
@Service("AppBookService")
|
|
|
@@ -34,13 +37,15 @@ public class AppBookImplService implements AppBookService {
|
|
|
public AdminManagerService adminManagerService;
|
|
|
|
|
|
@Override
|
|
|
- public String createOrder(String hotelId, String houseId, String startTime, String endTime, String houseOrderNumber, String userName, String userPhone, String userId) {
|
|
|
- if (Func.checkNull(hotelId) ||Func.checkNull(houseId) ||Func.checkNull(startTime) ||Func.checkNull(endTime)
|
|
|
+ public String createOrder(String houseId, String startTime, String endTime, String houseOrderNumber, String userName, String userPhone, String userId) {
|
|
|
+ if (Func.checkNull(houseId) ||Func.checkNull(startTime) ||Func.checkNull(endTime)
|
|
|
||Func.checkNull(houseOrderNumber) ||Func.checkNull(userName) ||Func.checkNull(userPhone) ||Func.checkNull(userId))
|
|
|
return null;
|
|
|
|
|
|
- Hotel hotel = hotelService.getById(Func.parseInt(hotelId));
|
|
|
House house = houseService.getById(Func.parseInt(houseId));
|
|
|
+ StringBuilder s1 = new StringBuilder("");
|
|
|
+ s1.append(" and manager_id = '").append(house.getManagerId()).append("'");
|
|
|
+ Hotel hotel = hotelService.getOen(s1.toString());
|
|
|
Users user = userService.queryByUserId(userId);
|
|
|
AdminManager adminManager = adminManagerService.getById(Func.parseInt(userId));
|
|
|
|
|
|
@@ -80,10 +85,103 @@ public class AppBookImplService implements AppBookService {
|
|
|
// 订单信息
|
|
|
Integer orderNum = TimeExchange.StringToTimestamp(TimeExchange.getDate());// 订单号
|
|
|
booking.setOrderNum(Func.parseStr(orderNum));
|
|
|
+ booking.setOrderStatus(Func.parseStr(PayEnum.ONE.getNum())); // 1待支付状态
|
|
|
booking.setCreateTime(DateUtil.getFormatPaternDate(DateUtil.getCurrentDate()));
|
|
|
bookService.insertBooking(booking);
|
|
|
|
|
|
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String reCreateOrder(String houseId, String startTime, String endTime, String houseOrderNumber, String userName, String userPhone, String userId) {
|
|
|
+ if (Func.checkNull(houseId) ||Func.checkNull(startTime) ||Func.checkNull(endTime)
|
|
|
+ ||Func.checkNull(houseOrderNumber) ||Func.checkNull(userName) ||Func.checkNull(userPhone) ||Func.checkNull(userId))
|
|
|
+ return null;
|
|
|
+
|
|
|
+ House house = houseService.getById(Func.parseInt(houseId));
|
|
|
+ StringBuilder s1 = new StringBuilder("");
|
|
|
+ s1.append(" and manager_id = '").append(house.getManagerId()).append("'");
|
|
|
+ Hotel hotel = hotelService.getOen(s1.toString());
|
|
|
+ Users user = userService.queryByUserId(userId);
|
|
|
+ AdminManager adminManager = adminManagerService.getById(Func.parseInt(userId));
|
|
|
+
|
|
|
+
|
|
|
+ Booking booking = new Booking();
|
|
|
+
|
|
|
+ // 设置民宿信息
|
|
|
+ booking.setHotelName(hotel.getHname());
|
|
|
+ booking.setHotelHposition(hotel.getHposition());
|
|
|
+ booking.setHotelHpositionWens(hotel.getHpositionWens());
|
|
|
+ booking.setHotelManagerId(hotel.getManagerId());
|
|
|
+ booking.setHotelTownship(adminManager.getHotelTownship());
|
|
|
+ booking.setHotelConfig(hotel.getHconfig());
|
|
|
+ booking.setHotelType(hotel.getHtype());
|
|
|
+ booking.setHotelIsCanorder(Func.parseStr(hotel.getIsCanorder()));
|
|
|
+
|
|
|
+ // 设置房型信息
|
|
|
+ booking.setHouseId(Func.parseStr(house.getId()));
|
|
|
+ booking.setHouseName(house.gethName());
|
|
|
+ booking.setHouseConfig(house.gethConfig());
|
|
|
+ booking.setHouseUnitPrice(house.getPrice());
|
|
|
+ booking.setHouseOrderNumber(Func.parseInt(houseOrderNumber));
|
|
|
+ booking.setHouseAreas(house.gethAreas());
|
|
|
+ booking.setHouseRemake(house.getRemark());
|
|
|
+ double totalPrice = Func.parseInt(houseOrderNumber) * house.getPrice();
|
|
|
+ booking.setHouseTotalPrice(totalPrice);
|
|
|
+
|
|
|
+ // 设置住客信息
|
|
|
+ booking.setUserName(userName);
|
|
|
+ booking.setUserPhone(userPhone);
|
|
|
+ booking.setOrderStartTime(startTime);
|
|
|
+ booking.setOrderEndTime(endTime);
|
|
|
+ int day = DateUtil.getDayDiff(startTime,endTime);
|
|
|
+ String orderLiveTime= day+ OrderEnum.间.toString()+ day +OrderEnum.晚.toString();
|
|
|
+ booking.setOrderLiveTime(orderLiveTime);
|
|
|
+
|
|
|
+ // 订单信息
|
|
|
+ Integer orderNum = TimeExchange.StringToTimestamp(TimeExchange.getDate());// 订单号
|
|
|
+ booking.setOrderNum(Func.parseStr(orderNum));
|
|
|
+ booking.setOrderStatus(Func.parseStr(PayEnum.ONE.getNum())); // 待支付状态
|
|
|
+ booking.setCreateTime(DateUtil.getFormatPaternDate(DateUtil.getCurrentDate()));
|
|
|
+ bookService.insertBooking(booking);
|
|
|
+
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String varificationHouse(String houseId, String startTime, String endTime) {
|
|
|
+
|
|
|
+ House house = houseService.getById(Func.parseInt(houseId));
|
|
|
+
|
|
|
+ // 判断是否有房间,对每个房型进行标识
|
|
|
+ StringBuffer strSqlBook = new StringBuffer();
|
|
|
+ strSqlBook.append(" and house_id = '").append(house.getId()).append("' ");
|
|
|
+ strSqlBook.append(" and hotel_manager_id = '").append(house.getManagerId()).append("' ");
|
|
|
+ strSqlBook.append(" and order_start_time >= '").append(startTime).append("' ");
|
|
|
+ strSqlBook.append(" and order_end_time < '").append(endTime).append("' ");
|
|
|
+
|
|
|
+ //1待支付,2已支付,3待入住,4已入住,5已消费,6支付超时,7已取消,8已退单,9已退款
|
|
|
+ strSqlBook.append(" and order_status = '").append(PayEnum.ONE.getNum()).append("' ");
|
|
|
+ strSqlBook.append(" or order_status = '").append(PayEnum.TWO.getNum()).append("' ");
|
|
|
+ strSqlBook.append(" or order_status = '").append(PayEnum.THREE.getNum()).append("' ");
|
|
|
+ strSqlBook.append(" or order_status = '").append(PayEnum.FOUR.getNum()).append("' ");
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ List<Booking> bookList = bookService.queryList(strSqlBook.toString());
|
|
|
+
|
|
|
+ int totalNum = 0;
|
|
|
+ for (Booking booking: bookList) {
|
|
|
+ if (Func.checkNull(booking.getHouseId()))
|
|
|
+ continue;
|
|
|
+
|
|
|
+ totalNum += booking.getHouseOrderNumber();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (totalNum >= house.getNumber())
|
|
|
+ return OrderEnum.房间已满.toString();
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|