首页>代码>java web酒店后台管理系统代码下载>/JavaPrj_9/src/com/hotelmaster/action/FrontdeskController.java
package com.hotelmaster.action;

import java.io.PrintWriter;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.acegisecurity.context.SecurityContext;
import org.acegisecurity.context.SecurityContextHolder;
import org.apache.log4j.Logger;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

import com.hotelmaster.po.BaseInfo;
import com.hotelmaster.po.Page;
import com.hotelmaster.po.ReservItem;
import com.hotelmaster.po.ReservOrder;
import com.hotelmaster.po.Room;
import com.hotelmaster.service.BusinessService;

public class FrontdeskController extends MultiActionController {
	private final static Logger log = Logger.getLogger(FrontdeskController.class);
	private BusinessService businessService;
	
	public BusinessService getBusinessService() {
		return businessService;
	}
	public void setBusinessService(BusinessService businessService) {
		this.businessService = businessService;
	}
	public ModelAndView init(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		// start to write something to the log
		log.info("Someone come from ip address <"
				+ request.getRemoteAddr() + ">");
		System.out.println("reach frontdeskcontroller init");
		//1:做预定房房态每天更新->更改为每次进入系统更新
		/*BaseInfo reservUpdatedBaseInfo=businessService.findBaseInfoByName("ReservUpdated");
		Timestamp updateTime=Timestamp.valueOf(reservUpdatedBaseInfo.getBioValue());
		String updateTimeString=String.valueOf(
				new SimpleDateFormat("yyyy-MM-dd").format(updateTime)
		);
		String todayTimeString=String.valueOf(
				new SimpleDateFormat("yyyy-MM-dd").format(new Date())
		);
		if(!updateTimeString.equals(todayTimeString)){
			//做更新操作
			List<ReservOrder> reservOrders=businessService.findTodayReservOrders();
			for(ReservOrder item:reservOrders){
				for(ReservItem reservItem:item.getReservItems()){
					Room room=reservItem.getRoom();
					room.setRmState(1);
					businessService.updateRoom(room);
				}
			}
			Calendar tCal = Calendar.getInstance();
			Timestamp curDate=new Timestamp(tCal.getTime().getTime());
			reservUpdatedBaseInfo.setBioValue(curDate.toString());
			businessService.updateBaseInfoCioOrder(reservUpdatedBaseInfo);
		}*/
		List<ReservOrder> reservOrders=businessService.findTodayReservOrders();
		for(ReservOrder item:reservOrders){
			for(ReservItem reservItem:item.getReservItems()){
				Room room=reservItem.getRoom();
				room.setRmState(1);
				businessService.updateRoom(room);
			}
		}
		List<Room> reservedRoomList=businessService.findReservedRooms();
		for(Room item :reservedRoomList){
			ReservOrder reservOrder=businessService.findReservOrderByRmId(item.getRmId());
			Timestamp roInDateTime=reservOrder.getRoInDateTime();
			String roInDateTimeString=String.valueOf(
				new SimpleDateFormat("yyyy-MM-dd").format(roInDateTime)
			);
			String todayTimeString=String.valueOf(
					new SimpleDateFormat("yyyy-MM-dd").format(new Date())
			);
			//如果不等于今天则已过期
			if(!roInDateTimeString.equals(todayTimeString)){
				item.setRmState(0);
				businessService.updateRoom(item);
			}
		}
		//2:返回当前操作员信息
		SecurityContext ctx = SecurityContextHolder.getContext();
		//ctx.getAuthentication().;
		return new ModelAndView("frontdesk");
	}
	public ModelAndView listAllRooms(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		request.setCharacterEncoding("utf-8");  		//设置请求编号格式 
		response.setContentType("application/json;charset=utf-8");//设置响应文本格式
		PrintWriter out = response.getWriter();			//获得输出流对象
		JSONArray jsonItems=new JSONArray();			//初始化JSON数组
		Page page = new Page(0);						//设置当前页为0
		List<Room> roomList=businessService.findAllRooms(page);//查询所有客房信息
		Iterator i=roomList.iterator();					//获得列表迭代器
		Room room=new Room();							//客房信息对象
		while(i.hasNext()){								//遍历客房信息列表
			room=(Room)i.next();						//取得客房信息
			jsonItems.add(JSONObject.fromObject(room));	//添加到JSON数组中
		}
		JSONObject jsonBack=new JSONObject();			//初始化JSON对象
		jsonBack.put("rooms", jsonItems);				//设置属性rooms值
		jsonBack.put("totalSize", jsonItems.size());	//设置属性totalSize值
		out.print(jsonBack);							//输出JSON数组
		return null;
	}
	
	public ModelAndView updateRoom(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		// start to write something to the log
		System.out.println("reach frontdeskcontroller's updateRoom method");
		request.setCharacterEncoding("UTF-8");   
        response.setContentType("text/json;charset=utf-8");
        if(request.getParameter("rmRecord")!=null){
        	String roomRecord=(String)request.getParameter("rmRecord").trim();
        	JSONObject jsonObject=JSONObject.fromObject(roomRecord);
    		Room room = new Room();
    		room.setRmArea(jsonObject.getString("rmArea"));
    		//room.setRmAvailable(jsonObject.getString("rmAvailable"));
    		room.setRmAvailable(true);
    		room.setRmCatalog(jsonObject.getString("rmCatalog"));
    		room.setRmFloor(jsonObject.getString("rmFloor"));
    		room.setRmId(jsonObject.getString("rmId"));
    		room.setRmPicture(jsonObject.getString("rmPicture"));
    		room.setRmPrctDiscount(new BigDecimal(jsonObject.getString("rmPrctDiscount")));
    		room.setRmPrctPrice(new BigDecimal(jsonObject.getString("rmPrctPrice")));
    		room.setRmState(Integer.parseInt(jsonObject.getString("rmState")));
    		room.setRmTelphone(jsonObject.getString("rmTelphone"));
    		
    		businessService.updateRoom(room);
        	response.getWriter().write("{success:true}");
        }else{
        	 response.getWriter().write("{errors:[]}");
        }
		return null;
	}
}
最近下载更多
微笑刺客  LV21 2024年11月25日
张泽帅  LV6 2024年10月17日
不不要  LV1 2024年5月15日
rrya58  LV1 2024年5月12日
微信网友_6906962132258816  LV7 2024年4月15日
大大大大大大D  LV2 2024年1月3日
12345678aaa  LV1 2023年12月19日
2741658843  LV1 2023年12月15日
sworduhan  LV1 2023年12月9日
asdfasfs12321  LV1 2023年10月25日
最近浏览更多
adlzcc  LV2 6月11日
槐序的故事是这样  LV1 5月24日
2022102154  LV1 3月27日
唐唐丶  LV34 2月17日
srl2881552  LV10 1月7日
2602275348  LV12 2024年12月24日
拜托你仔细听  LV3 2024年12月23日
微笑刺客  LV21 2024年11月25日
ww6688 2024年11月22日
暂无贡献等级
张泽帅  LV6 2024年10月17日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友