0
点赞
收藏
分享

微信扫一扫

分享一篇代码,感觉有纪录意义

追梦人的自留地 2022-01-31 阅读 68
java数据


 其实真实的逻辑比较绕

分享一篇代码,感觉有纪录意义_数据

//确定入住 判断整租还是分租  是否为负责人
@RequestMapping(value = "checkIn", method = RequestMethod.GET)
@ResponseBody
public ApiResponseResult checkIn(Register register,int isBook) {

/*Register register=registerService.getRegister(registers.getId());*/
Hotel h = hotelService.getHotel(register.getHotelId());
String now = CommonUtil.now();
Room r=null;
ShareOpenDoor or=new ShareOpenDoor();
//判断房间号码是否存在
if(register.getRoomNo()!=null&&register.getRoomNo()!="") {
r = this.roomService.getRoomByRoomNo(register.getRoomNo(), h.getId());
if(r==null){
return ApiResponseResult.failure().message("房间号不存在");
} }

Card card=null;
if(StringUtils.isNotEmpty(register.getCardno() )){
card = cardService.getCardByHotelIdAndCardno(h.getId(), register.getCardno());
List<ShareOpenDoor> shareOpen4=shareOpenDoorService.getHotelAndCardNo(h.getId(), register.getCardno());
if(card==null||shareOpen4.size()>0){
return ApiResponseResult.failure("卡不属于这个公寓或者卡已经被分配");
} }
if((register.getStartTime()==null||(register.getStartTime()).equals(""))||(register.getEndTime()==null||(register.getEndTime()).equals(""))) {
return ApiResponseResult.failure().message("开始时间和结束时间不能为空");
}
//判断号码是否已经存在租客表
ShareOpenDoor or1=shareOpenDoorService.getShareOpenDoorPhone(register.getHotelId(),register.getMobilePhone());
if(or1!=null) {
return ApiResponseResult.failure("手机号码已经入住或者预订!!!");
}
List<ShareOpenDoor> list1=shareOpenDoorService.getBookAndHotelAndRoom(register.getHotelId(), register.getRoomNo());//已经入住
List<ShareOpenDoor> list2=shareOpenDoorService.getBookAndHotel(register.getHotelId(), register.getRoomNo());//预订
ShareOpenDoor shareOpen2=null;
if(list1.size()>0) {
shareOpen2=list1.get(0);
}
ShareOpenDoor shareOpen3=null;
if(list2.size()>0) {
shareOpen3=list2.get(0);
}
//分租
if(isBook==0) {
if(shareOpen3!=null) {
if(shareOpen3.getPersoncharge()!=null) {
return ApiResponseResult.failure("不能进行分租!!!");
}
}
}
//整租
if(isBook==1) {
if(shareOpen3!=null) {
if(shareOpen3.getPersoncharge()==null) {
return ApiResponseResult.failure("不能进行整租!!!");
}
}
}
if(isBook==0) {//分租
if(shareOpen2!=null) {//前面分租有数据
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1=null;
Date date2=null;
Long ts1=null;
Long ts2=null;
try {
date2= simpleDateFormat.parse(register.getStartTime());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(ShareOpenDoor door:list1) {
try {
date1 = simpleDateFormat.parse(door.getEndTime());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ts1 = date1.getTime();
ts2 = date2.getTime();
if(ts1>ts2) {
return ApiResponseResult.failure("预订时间不能小于租期时间!!!");
}

}
or.setOptime(now);
or.setRoomNo(register.getRoomNo());
or.setHotel(h);
or.setCardno(register.getCardno());
or.setSharetype(0);
or.setMobilePhone(register.getMobilePhone());
or.setIdNumber(register.getIdNumber());
or.setCustomerName(register.getCustomerName());
or.setStartTime(register.getStartTime());
or.setEndTime(register.getEndTime());
or.setSex(register.getSex());
or.setCardstatus(1);
or.setDostatus(1);
or.setSharetype(1);
shareOpenDoorService.addOrUpdate(or);
registerService.delete(register.getId());
return ApiResponseResult.success();

}else { //分租无数据
or.setOptime(now);
or.setRoomNo(register.getRoomNo());
or.setHotel(h);
or.setCardno(register.getCardno());
or.setSharetype(0);
or.setIdNumber(register.getIdNumber());
or.setCustomerName(register.getCustomerName());
or.setStartTime(register.getStartTime());
or.setEndTime(register.getEndTime());
or.setSex(register.getSex());
or.setCardstatus(1);
or.setDostatus(1);
or.setSharetype(1);
shareOpenDoorService.addOrUpdate(or);
registerService.delete(register.getId());
return ApiResponseResult.success();
}
}
if(isBook==1) { //整租
if(shareOpen3!=null) { //整租前面有数据预订
or.setOptime(now);
or.setRoomNo(register.getRoomNo());
or.setHotel(h);
or.setCardno(register.getCardno());
or.setSharetype(0);
or.setIdNumber(register.getIdNumber());
or.setMobilePhone(register.getMobilePhone());
or.setCustomerName(register.getCustomerName());
or.setStartTime(shareOpen3.getStartTime());
or.setEndTime(shareOpen3.getEndTime());
or.setSex(register.getSex());
or.setPersoncharge(shareOpen3.getPersoncharge());
or.setCardstatus(1);
or.setSharetype(1);
or.setDostatus(1);
shareOpenDoorService.addOrUpdate(or);
registerService.delete(register.getId());
return ApiResponseResult.success();
} else { //整租前面无数据
if(shareOpen2!=null) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1=null;
Date date2=null;
Long ts1=null;
Long ts2=null;
try {
date2= simpleDateFormat.parse(register.getStartTime());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(ShareOpenDoor door:list1) {
try {
date1 = simpleDateFormat.parse(door.getEndTime());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ts1 = date1.getTime();
ts2 = date2.getTime();
if(ts1>ts2) {
return ApiResponseResult.failure("预订时间不能小于租期时间!!!");
}

}
or.setOptime(now);
or.setRoomNo(register.getRoomNo());
or.setHotel(h);
or.setCardno(register.getCardno());
or.setSharetype(0);
or.setMobilePhone(register.getMobilePhone());
or.setIdNumber(register.getIdNumber());
or.setCustomerName(register.getCustomerName());
or.setStartTime(register.getStartTime());
or.setEndTime(register.getEndTime());
or.setSex(register.getSex());
or.setPersoncharge(register.getMobilePhone());
or.setCardstatus(1);
or.setSharetype(1);
or.setDostatus(1);
shareOpenDoorService.addOrUpdate(or);
registerService.delete(register.getId());
return ApiResponseResult.success();
}else {
or.setOptime(now);
or.setRoomNo(register.getRoomNo());
or.setCardno(register.getCardno());
or.setHotel(h);
or.setSharetype(0);
or.setMobilePhone(register.getMobilePhone());
or.setIdNumber(register.getIdNumber());
or.setCustomerName(register.getCustomerName());
or.setStartTime(register.getStartTime());
or.setEndTime(register.getEndTime());
or.setSex(register.getSex());
or.setPersoncharge(register.getMobilePhone());
or.setCardstatus(1);
or.setSharetype(1);
or.setDostatus(1);
shareOpenDoorService.addOrUpdate(or);
registerService.delete(register.getId());
return ApiResponseResult.success();
}

}}
return ApiResponseResult.success();
}



举报

相关推荐

0 条评论