Browse Source

调试主页接口

Administrator 2 years ago
parent
commit
e752d22c08

+ 46 - 0
mhotel/src/com/happy/Model/Hotel.java

@@ -86,6 +86,8 @@ public class Hotel {
 	 */
 	private String hconfig;
 
+	private String hconfigName;
+	private String hconfigFileUrl;
 	/**
 	 * 接单设置(1自动接单 2手动接单)
 	 */
@@ -126,7 +128,19 @@ public class Hotel {
 	 */
 	private Integer status;
 
+	/**
+	 * 当前酒店最低价
+	 */
 	private String min_price;
+	/**
+	 * 关联商家联系人电话
+	 */
+	private String managerPhone;
+
+	/**
+	 * 关联商家所属乡镇
+	 */
+	private String hotelTownshipName;
 	private List<House> houseList;
 
 	public Integer getId() {
@@ -331,4 +345,36 @@ public class Hotel {
 	public void setMin_price(String min_price) {
 		this.min_price = min_price;
 	}
+
+	public String getManagerPhone() {
+		return managerPhone;
+	}
+
+	public void setManagerPhone(String managerPhone) {
+		this.managerPhone = managerPhone;
+	}
+
+	public String getHotelTownshipName() {
+		return hotelTownshipName;
+	}
+
+	public void setHotelTownshipName(String hotelTownshipName) {
+		this.hotelTownshipName = hotelTownshipName;
+	}
+
+	public String getHconfigName() {
+		return hconfigName;
+	}
+
+	public void setHconfigName(String hconfigName) {
+		this.hconfigName = hconfigName;
+	}
+
+	public String getHconfigFileUrl() {
+		return hconfigFileUrl;
+	}
+
+	public void setHconfigFileUrl(String hconfigFileUrl) {
+		this.hconfigFileUrl = hconfigFileUrl;
+	}
 }

+ 7 - 1
mhotel/src/com/happy/Until/Func.java

@@ -289,13 +289,19 @@ public class Func {
             return null;
         }
         try {
+            return new SimpleDateFormat("yyyy/MM/dd").parse(dateStr);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+
+        try {
             return new SimpleDateFormat("yyyy-MM-dd").parse(dateStr);
         } catch (ParseException e) {
             e.printStackTrace();
         }
 
         try {
-            return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStr);
+            return new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse(dateStr);
         } catch (ParseException e) {
             try {
                 SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", java.util.Locale.US);

+ 3 - 4
mhotel/src/com/happy/action/AppBookingAction.java

@@ -128,10 +128,9 @@ public class AppBookingAction extends ActionSupport implements ServletRequestAwa
 
 
     /**
-     * hotelId; // 酒店id
      * houseId; // 房型id
-     * startTime; // 订房开始时间
-     * endTime;   // 订房结束时间
+     * startTime; // 订房开始时间 2023/08/04
+     * endTime;   // 订房结束时间 2023/08/05
      * houseOrderNumber; // 订房数量
      * userName; // 住客姓名
      * userPhone; // 住客联系电话
@@ -155,7 +154,7 @@ public class AppBookingAction extends ActionSupport implements ServletRequestAwa
 
         // 创建订单之前,先验证是否有房间
         String backMessage = appBookService.varificationHouse(houseId, startDate, endDate);
-        if (Func.checkNull(backMessage)) {
+        if (!Func.checkNull(backMessage)) {
             jsonObject.put(B.code, ResultStatusCode.CANNTBOOKING.getStatus());
             jsonObject.put(B.message, backMessage);
             ResponseUtil.writeJson(ServletActionContext.getResponse(), jsonObject.toString());

+ 4 - 4
mhotel/src/com/happy/action/AppHomePageAction.java

@@ -128,7 +128,7 @@ public class AppHomePageAction extends ActionSupport implements ServletRequestAw
     {
         JSONObject jsonObject = new JSONObject();
         // 如果未赋值,则直接跳出
-        if (Func.checkNull(hotelId))
+        if (Func.checkNull(hotelId) || Func.checkNull(queryStartTime) || Func.checkNull(queryEndTime))
         {
             jsonObject.put(B.code, ResultStatusCode.BAD_REQUEST.getStatus());
             jsonObject.put(B.message,ResultStatusCode.BAD_REQUEST.getMsg());
@@ -137,9 +137,9 @@ public class AppHomePageAction extends ActionSupport implements ServletRequestAw
         }
 
         // 使用天去查"yyyy/MM/dd"
-//        Date startDate = DateUtil.parseDate(queryStartTime,DateUtil.Time_Formatter_Day);
-//        Date endDate = DateUtil.parseDate(queryStartTime,DateUtil.Time_Formatter_Day);
-        Hotel hotel = appHomePageService.getHotelAndHouseByHotelId(hotelId,queryStartTime, queryEndTime);
+        String startDate = DateUtil.parseDateToStr((Func.parseDate(queryStartTime)), DateUtil.Time_Formatter_Day);
+        String endDate = DateUtil.parseDateToStr((Func.parseDate(queryEndTime)),  DateUtil.Time_Formatter_Day);
+        Hotel hotel = appHomePageService.getHotelAndHouseByHotelId(hotelId,startDate, endDate);
 
         // 通过时间区间查询房间信息,并带好是否有房标识给前台
         jsonObject.put(B.code,ResultStatusCode.OK.getStatus());

+ 63 - 11
mhotel/src/com/happy/action/AppMePageAction.java

@@ -10,6 +10,7 @@ import com.happy.Until.Enum.B;
 import com.happy.Until.Enum.DataType;
 import com.happy.common.http.HttpsClient;
 import com.happy.constant.ResultStatusCode;
+import com.happy.dto.IPage;
 import com.happy.service.BookService;
 import com.happy.service.UserService;
 import com.opensymphony.xwork2.ActionSupport;
@@ -134,9 +135,9 @@ public class AppMePageAction extends ActionSupport implements ServletRequestAwar
             querySql.append(" and contact_id = '").append(userId).append("' ");
         }
         querySql.append(" and data_type = '").append(DataType.关联数据.toString()).append("' ");
-        int total = userService.queryUserTotal(querySql.toString()); // 查询表中的总记录数
-        List<Users> listPage = userService.queryUserPage(querySql.toString(), page, rows); // 查询分页
-        ResponseUtil.writeJsonPageData(ServletActionContext.getResponse(),listPage,this.page,this.rows,total);
+
+        IPage listPage = userService.queryUserPage(querySql.toString(), page, rows); // 查询分页
+        ResponseUtil.writeJsonIPage(ServletActionContext.getResponse(),listPage);
     }
 
     /**
@@ -255,14 +256,13 @@ public class AppMePageAction extends ActionSupport implements ServletRequestAwar
         ResponseUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
     }
 
-
     /**
-     * 用户登录小程序授权
+     * 判断是否有当前用户(加访问记录)
      */
-    public void authorizationUser()
+    public String isHaveUser()
     {
         if (Func.checkNull(this.code))
-            return;
+            return null;
 
         String OPEN_ID = "";
         JSONObject resultJson = new JSONObject();
@@ -274,10 +274,62 @@ public class AppMePageAction extends ActionSupport implements ServletRequestAwar
                 + "&code="
                 + this.getCode() + "&grant_type=authorization_code";
 
-            // String json = HttpUtils.get(requestUrl);
-            String json = HttpsClient.sendPost(requestUrl, "");
-            Wechat_userinfo result = new Gson().fromJson(json, Wechat_userinfo.class);
-            OPEN_ID = result.getOpenid();
+        // String json = HttpUtils.get(requestUrl);
+        String json = HttpsClient.sendPost(requestUrl, "");
+        Wechat_userinfo result = new Gson().fromJson(json, Wechat_userinfo.class);
+        OPEN_ID = result.getOpenid();
+        if (Func.checkNull(OPEN_ID))
+        {
+            resultJson.put(B.code,ResultStatusCode.BAD_REQUEST.getStatus());
+            resultJson.put(B.message,"未获取到OpenId");
+            ResponseUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
+        }
+
+        /*
+         *  手机号前端过来,昵称、省份、性别等其他信息已保存的result中,
+         * 查询用户openid是否存在,存在就返回信息给前端,不存在就保存到数据库
+         * */
+        Users users = userService.queryByOpenid(OPEN_ID);
+        if (users == null)
+        {
+            resultJson.put(B.code,ResultStatusCode.BAD_REQUEST.getStatus());
+            resultJson.put(B.message," 当前用户未授权");
+            resultJson.put(B.data,users);
+            ResponseUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
+            return null;
+        }
+
+        resultJson.put(B.code,ResultStatusCode.OK.getStatus());
+        resultJson.put(B.message," 当前用户已授权");
+        resultJson.put(B.data,users);
+        ResponseUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
+        return null;
+
+    }
+
+    /**
+     * 用户登录小程序授权
+     */
+    public void authorizationUser()
+    {
+        if (Func.checkNull(this.code))
+            return;
+
+        String OPEN_ID = "";
+        JSONObject resultJson = new JSONObject();
+//        // 此处授权后的回调地址,主要获取token和openid TODO
+//        String requestUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid="
+//                + WeiXinUtil.appid_c
+//                + "&secret="
+//                + WeiXinUtil.screct_c
+//                + "&code="
+//                + this.getCode() + "&grant_type=authorization_code";
+//
+//            // String json = HttpUtils.get(requestUrl);
+//            String json = HttpsClient.sendPost(requestUrl, "");
+//            Wechat_userinfo result = new Gson().fromJson(json, Wechat_userinfo.class);
+//            OPEN_ID = result.getOpenid();
+            OPEN_ID = code;
             if (Func.checkNull(OPEN_ID))
             {
                 resultJson.put(B.code,ResultStatusCode.BAD_REQUEST.getStatus());

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

@@ -101,7 +101,12 @@ public class HotelImplDao implements HotelDao {
 
     @Override
     public Hotel getById(int id) {
-        String sql = "SELECT * FROM `hotel` WHERE id = :id ";
+
+        String sql = " SELECT   a.*, c.manager_phone, b.hotel_township_name  FROM `hotel` a  " +
+                " LEFT JOIN (SELECT   manager_id, corpn_phone manager_phone, hotel_township FROM  admin_manager  GROUP BY  manager_id) c ON a.manager_id = c.manager_id " +
+                " LEFT JOIN (  SELECT  id,name as hotel_township_name  FROM  hotel_dict GROUP BY  id) b ON b.id = c.hotel_township   "+
+                " WHERE  a.STATUS = 1  AND a.id =  :id ";
+//        String sql = "SELECT * FROM `hotel` WHERE id = :id ";
         MapSqlParameterSource sps = new MapSqlParameterSource();
         sps.addValue("id",id);
         List<Hotel> list = null;
@@ -133,9 +138,10 @@ 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,c.hotel_township FROM `hotel` a " +
+        String sql = "SELECT a.*,b.min_price,c.hotel_township , d.hotel_township_name 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 " +
                 "left join (select manager_id,hotel_township hotel_township from admin_manager group by manager_id) c on a.manager_id = c.manager_id " +
+                "LEFT JOIN (  SELECT  id,name as hotel_township_name  FROM  hotel_dict GROUP BY  id) d ON d.id = c.hotel_township " +
                 " WHERE status=1 "+sqlx+" ORDER BY id DESC limit :start,:rows ";
         MapSqlParameterSource sps = new MapSqlParameterSource();
         sps.addValue("start", start);
@@ -147,11 +153,16 @@ public class HotelImplDao implements HotelDao {
     }
     @Override
     public int queryTotalPrice(String sqlx) {
-        String sql = "SELECT count(*) FROM`hotel` a " +
+//        String sql = "SELECT count(*) 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 " +
+//                "left join (select manager_id,hotel_township hotel_township from admin_manager group by manager_id) c on a.manager_id = c.manager_id " +
+//                "where status=1 "+sqlx;
+
+        String sql = "SELECT count(*) 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 " +
                 "left join (select manager_id,hotel_township hotel_township from admin_manager group by manager_id) c on a.manager_id = c.manager_id " +
-                "where status=1 "+sqlx;
-
+                "LEFT JOIN (  SELECT  id,name as hotel_township_name  FROM  hotel_dict GROUP BY  id) d ON d.id = c.hotel_township " +
+                " WHERE status=1 "+sqlx;
         MapSqlParameterSource sps = new MapSqlParameterSource();
         return namedParameterJdbcTemplate.queryForInt(sql, sps);
     }

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

@@ -30,7 +30,7 @@ public class UserDaoImpl implements UserDao {
     }
 
     public int insert(Users users){
-        String sql = "insert into `users`(card_number,user_name,user_phone,user_zz,openid,create_time,remark,identity_type,contact_id,contact_name,data_type,head_photo) values(:card_number,:user_name,:user_phone,:user_zz,:openid,:create_time,:remark,:identity_typecontact_id,:contact_name,:data_type,:head_photo) ";
+        String sql = "insert into `users`(card_number,user_name,user_phone,user_zz,openid,create_time,remark,identity_type,contact_id,contact_name,data_type,head_photo) values(:card_number,:user_name,:user_phone,:user_zz,:openid,:create_time,:remark,:identity_type,:contact_id,:contact_name,:data_type,:head_photo) ";
         MapSqlParameterSource sps = new MapSqlParameterSource();
         sps.addValue("card_number", users.getCard_number());
         sps.addValue("user_name", users.getUser_name());

+ 2 - 1
mhotel/src/com/happy/service/UserService.java

@@ -2,6 +2,7 @@ package com.happy.service;
 
 import com.happy.Model.Booking;
 import com.happy.Model.weixin.Users;
+import com.happy.dto.IPage;
 
 import java.util.List;
 
@@ -34,5 +35,5 @@ public interface UserService {
 
     public int queryUserTotal(String sqlStr);
 
-    public List<Users> queryUserPage(String sqlx, int page, int rows);
+    public IPage<Users> queryUserPage(String sqlx, int page, int rows);
 }

+ 5 - 0
mhotel/src/com/happy/service/impl/AppBookImplService.java

@@ -56,6 +56,7 @@ public class AppBookImplService implements AppBookService {
         Booking booking = new Booking();
 
         // 设置民宿信息
+        booking.setHouseId(Func.parseStr(hotel.getId()));
         booking.setHotelName(hotel.getHname());
         booking.setHotelHposition(hotel.getHposition());
         booking.setHotelHpositionWens(hotel.getHpositionWens());
@@ -65,6 +66,8 @@ public class AppBookImplService implements AppBookService {
         booking.setHotelType(hotel.getHtype());
         booking.setHotelIsCanorder(Func.parseStr(hotel.getIsCanorder()));
         booking.setHotelManagerId(house.getManagerId());
+        booking.setHotelPhone(adminManager.getCorpnPhone());
+        booking.setHotelPerson(adminManager.getCorpnName());
 
         // 设置房型信息
         booking.setHouseId(Func.parseStr(house.getId()));
@@ -77,6 +80,7 @@ public class AppBookImplService implements AppBookService {
         double totalPrice = Func.parseInt(houseOrderNumber) * house.getPrice();
         booking.setHouseTotalPrice(totalPrice);
 
+
         // 设置住客信息
         booking.setUserName(userName);
         booking.setUserPhone(userPhone);
@@ -90,6 +94,7 @@ public class AppBookImplService implements AppBookService {
         booking.setOrderNum(Func.parseStr(WxUtil.mchOrderNo()));// 订单号
         booking.setOrderStatus(Func.parseStr(PayEnum.ONE.getNum())); // 1待支付状态
         booking.setCreateTime(DateUtil.getFormatPaternDate(DateUtil.getCurrentDate()));
+        booking.setCreateUserid(userId);
         int i = bookService.insertBooking(booking);
         if ( i == 0)
             return ResultStatusCode.CANNTBOOKING.CANNTBOOKING.getMsg();

+ 13 - 9
mhotel/src/com/happy/service/impl/AppHomePageImplService.java

@@ -9,10 +9,7 @@ import com.happy.Until.TimeExchange;
 import com.happy.dao.BookDao;
 import com.happy.dao.HouseDao;
 import com.happy.dto.IPage;
-import com.happy.service.AppHomePageService;
-import com.happy.service.BookService;
-import com.happy.service.HotelService;
-import com.happy.service.HouseService;
+import com.happy.service.*;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -34,6 +31,8 @@ public class AppHomePageImplService implements AppHomePageService {
     public HotelService hotelService;
     @Resource
     public BookService bookService;
+    @Resource
+    public AdminManagerService adminManagerService;
 
 
     @Override
@@ -63,7 +62,7 @@ public class AppHomePageImplService implements AppHomePageService {
         if (Func.checkNull(hotelId))
             return new Hotel();
         Hotel hotel = hotelService.getById(Func.parseInt(hotelId));
-        if (Func.checkNull(hotel.getManagerId()))
+        if (hotel == null || Func.checkNull(hotel.getManagerId()))
             return hotel;
 
         System.out.println(hotel.getManagerId());// 需求确定使用商户id关联房型
@@ -83,9 +82,11 @@ public class AppHomePageImplService implements AppHomePageService {
 
         // 判断是否有房间,对每个房型进行标识
         StringBuffer strSqlBook = new StringBuffer();
-        strSqlBook.append(" and hotel_manager_id = '").append(hotel.getManagerId()).append("' ");
-        strSqlBook.append(" and order_start_time >= '").append(queryStartTime).append("' ");
-        strSqlBook.append(" and order_end_time < '").append(queryEndTime).append("' ");
+        strSqlBook.append(" and hotel_manager_id = '").append(hotel.getManagerId()).append("  ' ");
+        if (!Func.checkNull(queryStartTime))
+            strSqlBook.append(" and order_start_time >= '").append(queryStartTime).append(" 00:00:00  ' ");
+        if (!Func.checkNull(queryEndTime))
+            strSqlBook.append(" and order_end_time < '").append(queryEndTime).append(" 23:59:59 ' ");
 
         List<Booking> bookList = bookService.queryList(strSqlBook.toString());
 
@@ -109,8 +110,11 @@ public class AppHomePageImplService implements AppHomePageService {
         }
 
         houseList.forEach((House house) ->{
-            if (!houseBookingMap.containsKey(Func.parseStr(house.getId())))
+            if (!houseBookingMap.containsKey(Func.parseStr(house.getId()))) {
+                house.setRemainRooms(Func.parseStr(house.getNumber()));
                 return;
+            }
+
 
             int i = Func.parseInt(house.getNumber()) - Func.parseInt(houseBookingMap.get(house.getId()));
             house.setRemainRooms(Func.parseStr(i));

+ 12 - 2
mhotel/src/com/happy/service/impl/UserServiceImpl.java

@@ -1,8 +1,10 @@
 package com.happy.service.impl;
 
 import com.happy.Model.Booking;
+import com.happy.Model.House;
 import com.happy.Model.weixin.Users;
 import com.happy.dao.UserDao;
+import com.happy.dto.IPage;
 import com.happy.service.UserService;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
@@ -52,9 +54,17 @@ public class UserServiceImpl implements UserService {
         return userDao.queryUserTotal(sqlStr);
     }
 
-    public List<Users> queryUserPage(String sqlx, int page, int rows){
+    public IPage<Users> queryUserPage(String sqlx, int page, int rows){
 
-            return userDao.queryUserPage(sqlx, page, rows);
+        IPage<Users> iPage = new IPage();
+        List<Users> usersList = userDao.queryUserPage(sqlx,page,rows);
+        int total = userDao.queryUserTotal(sqlx);
+        iPage.setPageList(usersList);
+        iPage.setPage(page);
+        iPage.setTotalPage( (int)Math.ceil((double)total/rows));
+        iPage.setRows(rows);
+        iPage.setTotal(total);
+        return iPage;
     }
 
 }