|
|
@@ -18,6 +18,7 @@ import org.apache.struts2.interceptor.ServletRequestAware;
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.text.ParseException;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
@@ -146,31 +147,7 @@ public class bookAction extends ActionSupport implements ServletRequestAware {
|
|
|
});
|
|
|
}
|
|
|
//添加民宿房态表
|
|
|
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
- DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
- LocalDateTime str = LocalDateTime.parse(book.getOrderStartTime(), inputFormatter);
|
|
|
- LocalDateTime end = LocalDateTime.parse(book.getOrderEndTime(), inputFormatter);
|
|
|
- String a = str.format(formatter);
|
|
|
- String B = end.format(formatter);
|
|
|
- LocalDate strDate = LocalDate.parse(a, formatter);
|
|
|
- LocalDate endDate = LocalDate.parse(B, formatter);
|
|
|
- List<HouseNumberStatus> list = new ArrayList<>();
|
|
|
- Date now = DateUtil.formateDate(DateUtil.getCurrentDate(), DateUtil.Time_Formatter_Second);
|
|
|
- for (String number : Ids){
|
|
|
- for (LocalDate date = strDate;!date.isAfter(endDate.minusDays(1));date = date.plusDays(1)){
|
|
|
- HouseNumberStatus houseNumberStatus = new HouseNumberStatus();
|
|
|
- houseNumberStatus.setNumberId(number);
|
|
|
- houseNumberStatus.setId(String.valueOf(UUID.randomUUID()));
|
|
|
- houseNumberStatus.setCreateDate(now);
|
|
|
- houseNumberStatus.setModifyDate(now);
|
|
|
- houseNumberStatus.setRemark("");
|
|
|
- houseNumberStatus.setBookingId(String.valueOf(book.getId()));
|
|
|
- houseNumberStatus.setSetDate(date.format(formatter));
|
|
|
- houseNumberStatus.setStatus(5);//状态(0删除 1.正常 2.关房 3.脏房 4.净房 5.预定 6.入住)
|
|
|
- list.add(houseNumberStatus);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ List<HouseNumberStatus> list = handleHouseStatus(Ids, 5, book);
|
|
|
int m = houseNumberStatusService.saveBatch(list);
|
|
|
if (m == 0){
|
|
|
resultJson.put("message", "确认失败");
|
|
|
@@ -186,6 +163,43 @@ public class bookAction extends ActionSupport implements ServletRequestAware {
|
|
|
ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
|
|
|
return null;
|
|
|
}
|
|
|
+ if(houseNumberIds == null || "".equals(houseNumberIds)){
|
|
|
+ resultJson.put("message", "请分配房间号");
|
|
|
+ resultJson.put("code", 502);
|
|
|
+ ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ List<HouseNumber> houseNumbers1 = houseNumberService.queryHouseStatus(book);
|
|
|
+ List<String> ids = Arrays.asList(houseNumberIds.split(","));
|
|
|
+ if (houseNumbers1!=null){
|
|
|
+ for (String id: ids){
|
|
|
+ for (HouseNumber houseNumber: houseNumbers1){
|
|
|
+ if (houseNumber.getStatus() != null && houseNumber.getStatus()==3 && id.equals(houseNumber.getId())){
|
|
|
+ resultJson.put("message", "选择的房间该时间段已有预定!请重新选择房间!");
|
|
|
+ resultJson.put("code", 502);
|
|
|
+ ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //删除 预定房态
|
|
|
+ int a = houseNumberStatusService.updateHouseNumberStatus(String.valueOf(id));
|
|
|
+ if (a == 0){
|
|
|
+ resultJson.put("message", "确认失败");
|
|
|
+ resultJson.put("code", 502);
|
|
|
+ ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ //写入 入住数据
|
|
|
+ List<HouseNumberStatus> list1 = handleHouseStatus(ids, 6, book);
|
|
|
+ int n = houseNumberStatusService.saveBatch(list1);
|
|
|
+ if (n == 0){
|
|
|
+ resultJson.put("message", "确认失败");
|
|
|
+ resultJson.put("code", 502);
|
|
|
+ ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
|
|
|
+ return null;
|
|
|
+ }
|
|
|
book.setOrderStatus("4");
|
|
|
book.setLiveTime(UUIDUtil.getNewDate());
|
|
|
book.setUpdateTime(UUIDUtil.getNewDate());
|
|
|
@@ -199,6 +213,25 @@ public class bookAction extends ActionSupport implements ServletRequestAware {
|
|
|
ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
|
|
|
return null;
|
|
|
}
|
|
|
+ //房态删除
|
|
|
+ String sql = " and booking_id = " + id;
|
|
|
+ List<HouseNumberStatus> houseNumberStatuse = houseNumberStatusService.getList(sql);
|
|
|
+ int i1 = houseNumberStatusService.updateHouseNumberStatus(String.valueOf(id));
|
|
|
+ if (i1 == 0){
|
|
|
+ resultJson.put("message", "退房失败");
|
|
|
+ resultJson.put("code", 502);
|
|
|
+ ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ //房间设为脏房
|
|
|
+ String numberIds = houseNumberStatuse.stream().map(HouseNumberStatus::getNumberId).distinct().collect(Collectors.joining());
|
|
|
+ int i2 = houseNumberService.updateHouseStatus(numberIds);
|
|
|
+ if (i2 == 0){
|
|
|
+ resultJson.put("message", "退房失败");
|
|
|
+ resultJson.put("code", 502);
|
|
|
+ ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
|
|
|
+ return null;
|
|
|
+ }
|
|
|
book.setCheckOutTime(UUIDUtil.getNewDate());//退房时间
|
|
|
book.setUpdateTime(UUIDUtil.getNewDate());
|
|
|
book.setOrderStatus("5");
|
|
|
@@ -255,6 +288,36 @@ public class bookAction extends ActionSupport implements ServletRequestAware {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 根据传入传入房间号写入状态
|
|
|
+ */
|
|
|
+ private List<HouseNumberStatus> handleHouseStatus(List<String> Ids,int status,Booking book) throws ParseException {
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
+ DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+ LocalDateTime str = LocalDateTime.parse(book.getOrderStartTime(), inputFormatter);
|
|
|
+ LocalDateTime end = LocalDateTime.parse(book.getOrderEndTime(), inputFormatter);
|
|
|
+ String a = str.format(formatter);
|
|
|
+ String B = end.format(formatter);
|
|
|
+ LocalDate strDate = LocalDate.parse(a, formatter);
|
|
|
+ LocalDate endDate = LocalDate.parse(B, formatter);
|
|
|
+ List<HouseNumberStatus> list = new ArrayList<>();
|
|
|
+ Date now = DateUtil.formateDate(DateUtil.getCurrentDate(), DateUtil.Time_Formatter_Second);
|
|
|
+ for (String number : Ids){
|
|
|
+ for (LocalDate date = strDate;!date.isAfter(endDate.minusDays(1));date = date.plusDays(1)){
|
|
|
+ HouseNumberStatus houseNumberStatus = new HouseNumberStatus();
|
|
|
+ houseNumberStatus.setNumberId(number);
|
|
|
+ houseNumberStatus.setId(String.valueOf(UUID.randomUUID()));
|
|
|
+ houseNumberStatus.setCreateDate(now);
|
|
|
+ houseNumberStatus.setModifyDate(now);
|
|
|
+ houseNumberStatus.setRemark("");
|
|
|
+ houseNumberStatus.setBookingId(String.valueOf(book.getId()));
|
|
|
+ houseNumberStatus.setSetDate(date.format(formatter));
|
|
|
+ houseNumberStatus.setStatus(status);//状态(0删除 1.正常 2.关房 3.脏房 4.净房 5.预定 6.入住)
|
|
|
+ list.add(houseNumberStatus);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+ /**
|
|
|
* 描述:分页查询订单
|
|
|
* @return
|
|
|
*/
|