| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- package com.happy.service.impl;
- import com.baidubce.model.User;
- import com.happy.Model.AdminManager;
- import com.happy.Model.Booking;
- import com.happy.Model.Hotel;
- 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;
- import com.happy.dto.IPage;
- 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")
- public class AppBookImplService implements AppBookService {
- @Resource
- public BookService bookService;
- @Resource
- public HotelService hotelService;
- @Resource
- public HouseService houseService;
- @Resource
- public UserService userService;
- @Resource
- public AdminManagerService adminManagerService;
- @Override
- 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;
- 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())); // 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;
- }
- }
|