Browse Source

Merge remote-tracking branch 'origin/master'

raojiaolong@163.com 2 years ago
parent
commit
c2bdcddfea

+ 3 - 0
mhotel/WebRoot/WEB-INF/classes/struts.xml

@@ -31,6 +31,9 @@
 		</action>
 		<action name="app*" method = "{1}" class="com.happy.action.appAction">
 		</action>
+		<action name="abk*" method = "{1}" class="com.happy.action.AppBookingAction"></action>
+		<action name="ahp*" method = "{1}" class="com.happy.action.AppHomePageAction"></action>
+		<action name="amp*" method = "{1}" class="com.happy.action.AppMePageAction"></action>
 	</package>
 	<package name="interfaces" namespace="/interfaces" extends="struts-default">
 		<!-- 接口总调度开始 -->

+ 1 - 1
mhotel/src/com/happy/Model/Booking.java

@@ -47,7 +47,7 @@ public class Booking {
   private String refundTime; // 退款时间
   private String checkOutTime; // 离店时间
   private String remake; // 备注信息
-  private int isDelete; // 是否假删除:1是,2否
+  private int isDelete; // 是否假删除:0删除,1正常
 
   public Integer getId() {
     return id;

+ 10 - 0
mhotel/src/com/happy/Model/House.java

@@ -51,6 +51,8 @@ public class House {
 	 */
 	private String remark;
 
+	private String remainRooms;
+
 	/**
 	 * 创建人
 	 */
@@ -179,4 +181,12 @@ public class House {
 	public void setFileInfoList(List<FileInfo> fileInfoList) {
 		this.fileInfoList = fileInfoList;
 	}
+
+	public String getRemainRooms() {
+		return remainRooms;
+	}
+
+	public void setRemainRooms(String remainRooms) {
+		this.remainRooms = remainRooms;
+	}
 }

+ 1 - 1
mhotel/src/com/happy/Until/Enum/OrderEnum.java

@@ -1,5 +1,5 @@
 package com.happy.Until.Enum;
 
 public enum OrderEnum {
-    间, 晚,房间已满;
+    间, 晚,房间已满,有空房;
 }

+ 47 - 9
mhotel/src/com/happy/action/AppBookingAction.java

@@ -2,11 +2,9 @@ package com.happy.action;
 
 import com.happy.Model.Booking;
 import com.happy.Model.weixin.Users;
+import com.happy.Until.*;
 import com.happy.Until.Enum.B;
-import com.happy.Until.Func;
-import com.happy.Until.ResUtil;
-import com.happy.Until.ResponseUtil;
-import com.happy.Until.ResultUtil;
+import com.happy.Until.Enum.OrderEnum;
 import com.happy.common.http.Message;
 import com.happy.constant.ResultStatusCode;
 import com.happy.service.AppBookService;
@@ -134,7 +132,28 @@ public class AppBookingAction extends ActionSupport implements ServletRequestAwa
             return null;
         }
 
-        appBookService.createOrder(houseId, startTime, endTime, houseOrderNumber,userName,userPhone, userId);
+        // 将时间统一转化为 yyyy/MM/dd
+        String startDate = DateUtil.parseDateToStr((Func.parseDate(startTime)),DateUtil.Time_Formatter_Day);
+        String endDate = DateUtil.parseDateToStr((Func.parseDate(endTime)),DateUtil.Time_Formatter_Day);
+
+        // 创建订单之前,先验证是否有房间
+        String backMessage = appBookService.varificationHouse(houseId, startDate, endDate);
+        if(Func.checkNull(backMessage))
+        {
+            jsonObject.put(B.CODE, ResultStatusCode.CANNTBOOKING.getStatus());
+            jsonObject.put(B.MESSAGE,backMessage);
+            ResponseUtil.writeJson(ServletActionContext.getResponse(),jsonObject.toString());
+            return null;
+        }
+
+        String mess = appBookService.createOrder(houseId, startDate, endDate, houseOrderNumber,userName,userPhone, userId);
+        if (!Func.checkNull(mess))
+        {
+            jsonObject.put(B.CODE, ResultStatusCode.BAD_REQUEST.getStatus());
+            jsonObject.put(B.MESSAGE,mess);
+            ResponseUtil.writeJson(ServletActionContext.getResponse(),jsonObject.toString());
+            return null;
+        }
 
         jsonObject.put(B.CODE, ResultStatusCode.OK.getStatus());
         ResponseUtil.writeJson(ServletActionContext.getResponse(),jsonObject.toString());
@@ -158,6 +177,20 @@ public class AppBookingAction extends ActionSupport implements ServletRequestAwa
             return null;
         }
 
+        // 将时间统一转化为 yyyy/MM/dd
+        String startDate = DateUtil.parseDateToStr((Func.parseDate(startTime)),DateUtil.Time_Formatter_Day);
+        String endDate = DateUtil.parseDateToStr((Func.parseDate(endTime)),DateUtil.Time_Formatter_Day);
+
+        // 创建订单之前,先验证是否有房间
+        String backMessage = appBookService.varificationHouse(houseId, startDate, endDate);
+        if(Func.checkNull(backMessage))
+        {
+            jsonObject.put(B.CODE, ResultStatusCode.CANNTBOOKING.getStatus());
+            jsonObject.put(B.MESSAGE,backMessage);
+            ResponseUtil.writeJson(ServletActionContext.getResponse(),jsonObject.toString());
+            return null;
+        }
+
         appBookService.reCreateOrder(houseId, startTime, endTime, houseOrderNumber,userName,userPhone, userId);
         jsonObject.put(B.CODE, ResultStatusCode.OK.getStatus());
         ResponseUtil.writeJson(ServletActionContext.getResponse(),jsonObject.toString());
@@ -165,7 +198,9 @@ public class AppBookingAction extends ActionSupport implements ServletRequestAwa
     }
 
     /**
-     * 取消订单功能
+     * bookingId 订单id
+     * 取消订单功能:
+     * //1待支付,2已支付,3待入住,4已入住,5已消费,6支付超时,7已取消,8已退单,9已退款
      * @return
      */
     public String cancelBooking(){
@@ -190,6 +225,7 @@ public class AppBookingAction extends ActionSupport implements ServletRequestAwa
     }
 
     /**
+     * bookingId 订单id
      * 删除订单功能(假删除)
      * @return
      */
@@ -218,7 +254,9 @@ public class AppBookingAction extends ActionSupport implements ServletRequestAwa
 
     /**
      *验证是否有房间
-     * houseId,startTime,endTime
+     * houseId, 房型id
+     * startTime, 开始时间
+     * endTime 结束时间
      * @return
      */
     public String varificationHouse()
@@ -242,8 +280,8 @@ public class AppBookingAction extends ActionSupport implements ServletRequestAwa
             return null;
         }
 
-        jsonObject.put(B.CODE, ResultStatusCode.BAD_REQUEST.getStatus());
-        jsonObject.put(B.MESSAGE,backMessage);
+        jsonObject.put(B.CODE, ResultStatusCode.OK.getStatus());
+        jsonObject.put(B.MESSAGE, OrderEnum.有空房.toString());
         ResponseUtil.writeJson(ServletActionContext.getResponse(),jsonObject.toString());
         return null;
     }

+ 1 - 0
mhotel/src/com/happy/action/AppHomePageAction.java

@@ -122,6 +122,7 @@ public class AppHomePageAction extends ActionSupport implements ServletRequestAw
     }
 
     /**
+     * hotelId 酒店id
      * 通过酒店的id获取到房间信息
      * @return
      */

+ 2 - 0
mhotel/src/com/happy/constant/ResultStatusCode.java

@@ -9,6 +9,8 @@ public enum ResultStatusCode {
 	TIME_OUT(130, "访问超时"),
 	/** 参数解析失败 */
 	BAD_REQUEST(400, "参数解析失败"),
+	/** 无法订房 */
+	CANNTBOOKING(400, "无法订房"),
 	/** 记录不存在 */
 	NOT_EXIST(404, "记录不存在"),
 	/** 不支持当前请求方法 */

File diff suppressed because it is too large
+ 13 - 5
mhotel/src/com/happy/dao/impl/BookImplDao.java


+ 1 - 1
mhotel/src/com/happy/dao/impl/HotelImplDao.java

@@ -133,7 +133,7 @@ public class HotelImplDao implements HotelDao {
     @Override
     public List<Hotel> queryPagePrice(String sqlx, int page, int rows) {
         int start = (page - 1) * rows;// 每页的起始下标
-        String sql = "SELECT a.*,b.min_price FROM `hotel` a left join (select manager_id,min(price) min_price from house group by manager_id) b on a.manager_id = b.manager_id WHERE 1=1 "+sqlx+" ORDER BY id DESC limit :start,:rows ";
+        String sql = "SELECT a.*,b.min_price FROM `hotel` a left join (select manager_id,min(price) min_price from house group by manager_id) b on a.manager_id = b.manager_id WHERE status=1 "+sqlx+" ORDER BY id DESC limit :start,:rows ";
         MapSqlParameterSource sps = new MapSqlParameterSource();
         sps.addValue("start", start);
         sps.addValue("rows", rows);

+ 14 - 8
mhotel/src/com/happy/service/impl/AppBookImplService.java

@@ -11,6 +11,7 @@ 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.constant.ResultStatusCode;
 import com.happy.dao.BookDao;
 import com.happy.dto.IPage;
 import com.happy.service.*;
@@ -47,8 +48,9 @@ public class AppBookImplService implements AppBookService {
         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));
-
+        AdminManager adminManager = adminManagerService.getById(Func.parseInt(house.getManagerId()));
+        if (house == null || hotel == null || user == null  || adminManager == null)
+            return "无法获取数据";
 
         Booking booking = new Booking();
 
@@ -61,6 +63,7 @@ public class AppBookImplService implements AppBookService {
         booking.setHotelConfig(hotel.getHconfig());
         booking.setHotelType(hotel.getHtype());
         booking.setHotelIsCanorder(Func.parseStr(hotel.getIsCanorder()));
+        booking.setHotelManagerId(house.getManagerId());
 
         // 设置房型信息
         booking.setHouseId(Func.parseStr(house.getId()));
@@ -87,8 +90,9 @@ public class AppBookImplService implements AppBookService {
         booking.setOrderNum(Func.parseStr(orderNum));
         booking.setOrderStatus(Func.parseStr(PayEnum.ONE.getNum())); // 1待支付状态
         booking.setCreateTime(DateUtil.getFormatPaternDate(DateUtil.getCurrentDate()));
-        bookService.insertBooking(booking);
-
+        int i = bookService.insertBooking(booking);
+        if ( i == 0)
+            return ResultStatusCode.CANNTBOOKING.CANNTBOOKING.getMsg();
 
         return null;
     }
@@ -104,8 +108,9 @@ public class AppBookImplService implements AppBookService {
         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));
-
+        AdminManager adminManager = adminManagerService.getById(Func.parseInt(house.getManagerId()));
+        if (house == null || hotel == null || user == null  || adminManager == null)
+            return "无法获取数据";
 
         Booking booking = new Booking();
 
@@ -118,6 +123,7 @@ public class AppBookImplService implements AppBookService {
         booking.setHotelConfig(hotel.getHconfig());
         booking.setHotelType(hotel.getHtype());
         booking.setHotelIsCanorder(Func.parseStr(hotel.getIsCanorder()));
+        booking.setHotelManagerId(house.getManagerId());
 
         // 设置房型信息
         booking.setHouseId(Func.parseStr(house.getId()));
@@ -154,6 +160,8 @@ public class AppBookImplService implements AppBookService {
     public String varificationHouse(String houseId, String startTime, String endTime) {
 
         House house = houseService.getById(Func.parseInt(houseId));
+        if (house == null)
+            return "无此房间,请重新查询";
 
         // 判断是否有房间,对每个房型进行标识
         StringBuffer strSqlBook = new StringBuffer();
@@ -168,8 +176,6 @@ public class AppBookImplService implements AppBookService {
         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;

+ 19 - 14
mhotel/src/com/happy/service/impl/AppHomePageImplService.java

@@ -67,6 +67,8 @@ public class AppHomePageImplService implements AppHomePageService {
         StringBuffer strSql = new StringBuffer();
         strSql.append(" and manager_id = '").append(hotel.getManagerId()).append("' ");
         List<House> houseList = houseService.queryList(strSql.toString());
+        if (houseList == null )
+            return hotel;
 
 //        Map<String, House> houseMap =  new HashMap();
 //        houseList.forEach((House house) ->{
@@ -85,27 +87,30 @@ public class AppHomePageImplService implements AppHomePageService {
         List<Booking> bookList = bookService.queryList(strSqlBook.toString());
 
         Map<String, Integer> houseBookingMap =  new HashMap();
-        Integer numberTemp = new Integer(0);
-        for (Booking booking: bookList) {
-            if (Func.checkNull(booking.getHouseId()))
-                continue;
-
-            if (houseBookingMap.containsKey(booking.getHouseId()))
-            {
-                numberTemp = houseBookingMap.get(booking.getHouseId());
-                int i = Func.parseInt(numberTemp) + booking.getHouseOrderNumber();
-                houseBookingMap.put(booking.getHouseId(),i);
-                continue;
+        if (bookList != null  && bookList.size() > 0)
+        {
+            Integer numberTemp = new Integer(0);
+            for (Booking booking: bookList) {
+                if (Func.checkNull(booking.getHouseId()))
+                    continue;
+
+                if (houseBookingMap.containsKey(booking.getHouseId()))
+                {
+                    numberTemp = houseBookingMap.get(booking.getHouseId());
+                    int i = Func.parseInt(numberTemp) + booking.getHouseOrderNumber();
+                    houseBookingMap.put(booking.getHouseId(),i);
+                    continue;
+                }
+                houseBookingMap.put(booking.getHouseId(),booking.getHouseOrderNumber());
             }
-            houseBookingMap.put(booking.getHouseId(),booking.getHouseOrderNumber());
         }
 
         houseList.forEach((House house) ->{
-            if (!houseBookingMap.containsKey(house.getId()))
+            if (!houseBookingMap.containsKey(Func.parseStr(house.getId())))
                 return;
 
             int i = Func.parseInt(house.getNumber()) - Func.parseInt(houseBookingMap.get(house.getId()));
-            house.setRemark(Func.parseStr(i));
+            house.setRemainRooms(Func.parseStr(i));
         });
 
 

+ 3 - 0
mhotel/src/com/happy/service/impl/BookImplService.java

@@ -112,6 +112,9 @@ public class BookImplService implements BookService {
 
         // 是否假删除:1删除,2正常
         Booking book = bookDao.getById(Func.parseInt(bookingId));
+        if (book == null)
+            return "无此订单,请重新查询";
+
         book.setIsDelete(1);
         book.setUpdateTime(DateUtil.getFormatPaternDate(new Date()));
         bookDao.updateBooking(book);

+ 10 - 13
mhotel/src/struts.xml

@@ -18,9 +18,9 @@
 	<constant name="struts.multipart.maxSize" value="50000000"/>
 
 	<package name="happy" namespace="/" extends="struts-default">
-		<action name="data*" method = "{1}" class="com.happy.action.DataAction">
-			<result name="list">/jsp/list.jsp</result>
-		</action>
+<!--		<action name="data*" method = "{1}" class="com.happy.action.DataAction">-->
+<!--			<result name="list">/jsp/list.jsp</result>-->
+<!--		</action>-->
 		<action name="admin*" method = "{1}" class="com.happy.action.adminAction">
 		</action>
 		<action name="managerAdmin*" method = "{1}" class="com.happy.action.adminManagerAction">
@@ -33,21 +33,18 @@
 		</action>
 		<action name="book*" method = "{1}" class="com.happy.action.bookAction">
 		</action>
-		<action name="app*" method = "{1}" class="com.happy.action.appAction">
-		</action>
+<!--		<action name="app*" method = "{1}" class="com.happy.action.appAction"></action>-->
 		<action name="upload*" method = "{1}" class="com.happy.action.uploadAction">
 		</action>
-		<action name="appMePage*" method = "{1}" class="com.happy.action.AppMePageAction">
-		</action>
-		<action name="appHomePage*" method = "{1}" class="com.happy.action.AppHomePageAction">
-		</action>
-		<action name="appBooking*" method = "{1}" class="com.happy.action.AppBookingAction">
-		</action>
+
+		<action name="abk*" method = "{1}" class="com.happy.action.AppBookingAction"></action>
+		<action name="ahp*" method = "{1}" class="com.happy.action.AppHomePageAction"></action>
+		<action name="amp*" method = "{1}" class="com.happy.action.AppMePageAction"></action>
+
 	</package>
 	<package name="interfaces" namespace="/interfaces" extends="struts-default">
 		<!-- 接口总调度开始 -->
-		<action name="main*" method="{1}" class="com.happy.action.MainAction">
-		</action>
+<!--		<action name="main*" method="{1}" class="com.happy.action.MainAction"></action>-->
 	</package>
 
 </struts>

+ 6 - 6
mhotel/src/test2.java

@@ -10,12 +10,12 @@ import net.sf.json.JSONObject;
 public class test2 {
     public static void main(String[] args) throws InterruptedException {
 
-        JSONObject obj = new JSONObject();
-        Users users = new Users();
-        users.setUser_phone("321");
-        users.setUser_name("321");
-        users.setContactId(3);
-        obj.put("map", users);
+//        JSONObject obj = new JSONObject();
+//        Users users = new Users();
+//        users.setUser_phone("321");
+//        users.setUser_name("321");
+//        users.setContactId(3);
+//        obj.put("map", users);
 
 //        System.out.printf(Func.parseStr(new Date()));
 //        for (int i = 0; i < 10; i++) {