基于Java+Spring+mybatis+vue+element实现酒店管理系统_本项目主要采用的技术有java、mysql

最后

这份《“java高分面试指南”-25分类227页1000+题50w+字解析》同样可分享给有需要的朋友,感兴趣的伙伴们可挑战一下自我,在不看答案解析的情况,测试测试自己的解题水平,这样也能达到事半功倍的效果!(好东西要大家一起看才香)

image

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

客房分类:

在客房类型管理页面可以查看客房类型等信息,并可根据需要进行删除,修改等操作

酒店信息:

编辑修改等

酒店餐饮:

用户管理:

客房预订:

客房续房:

退房评价:

餐饮订单:

餐饮配送:

轮播图管理:

酒店资讯:

数据设计:

在该系统的信息中,由于数据库的支持,我们可以对数据库进行收集、整理、更新和加工等操作。由于数据库的存储功能强大,所以数据库已经成为了计算机必不可少的一部分,一个数据库的好坏直接影响该系统的质量和效率。一个系统中的数据库是必不可少的,并且起着决定性因素。通过之前的系统分析,可以规划出本系统中使用的主要等,下面设计出这几个关键实体的实体关系图:

(1)用户信息实体E-R图如图所示:

​​(2)客房信息实体E-R图如图所示:

(3)入住登记信息实体E- R图,如图所示:

代码实现:

/**
 * 酒店餐饮
 * 后端接口
 * @author 
 * @email 
 * @date 2022-01-11 13:23:20
 */
@RestController
@RequestMapping("/jiudiancanyin")
public class JiudiancanyinController {
    @Autowired
    private JiudiancanyinService jiudiancanyinService;
    
    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,JiudiancanyinEntity jiudiancanyin, HttpServletRequest request){

        EntityWrapper<JiudiancanyinEntity> ew = new EntityWrapper<JiudiancanyinEntity>();
		PageUtils page = jiudiancanyinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiudiancanyin), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,JiudiancanyinEntity jiudiancanyin, HttpServletRequest request){
        EntityWrapper<JiudiancanyinEntity> ew = new EntityWrapper<JiudiancanyinEntity>();
		PageUtils page = jiudiancanyinService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiudiancanyin), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( JiudiancanyinEntity jiudiancanyin){
       	EntityWrapper<JiudiancanyinEntity> ew = new EntityWrapper<JiudiancanyinEntity>();
      	ew.allEq(MPUtil.allEQMapPre( jiudiancanyin, "jiudiancanyin")); 
        return R.ok().put("data", jiudiancanyinService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(JiudiancanyinEntity jiudiancanyin){
        EntityWrapper< JiudiancanyinEntity> ew = new EntityWrapper< JiudiancanyinEntity>();
 		ew.allEq(MPUtil.allEQMapPre( jiudiancanyin, "jiudiancanyin")); 
		JiudiancanyinView jiudiancanyinView =  jiudiancanyinService.selectView(ew);
		return R.ok("查询酒店餐饮成功").put("data", jiudiancanyinView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        JiudiancanyinEntity jiudiancanyin = jiudiancanyinService.selectById(id);
        return R.ok().put("data", jiudiancanyin);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") String id){
        JiudiancanyinEntity jiudiancanyin = jiudiancanyinService.selectById(id);
        return R.ok().put("data", jiudiancanyin);
    }
    
    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody JiudiancanyinEntity jiudiancanyin, HttpServletRequest request){
    	jiudiancanyin.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(jiudiancanyin);

        jiudiancanyinService.insert(jiudiancanyin);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody JiudiancanyinEntity jiudiancanyin, HttpServletRequest request){
    	jiudiancanyin.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(jiudiancanyin);

        jiudiancanyinService.insert(jiudiancanyin);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody JiudiancanyinEntity jiudiancanyin, HttpServletRequest request){
        //ValidatorUtils.validateEntity(jiudiancanyin);
        jiudiancanyinService.updateById(jiudiancanyin);//全部更新
        return R.ok();
    }
    
    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        jiudiancanyinService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<JiudiancanyinEntity> wrapper = new EntityWrapper<JiudiancanyinEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = jiudiancanyinService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

@Service("chatService")
public class ChatServiceImpl extends ServiceImpl<ChatDao, ChatEntity> implements ChatService {

    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        Page<ChatEntity> page = this.selectPage(
                new Query<ChatEntity>(params).getPage(),
                new EntityWrapper<ChatEntity>()
        );
        return new PageUtils(page);
    }
    
    @Override
	public PageUtils queryPage(Map<String, Object> params, Wrapper<ChatEntity> wrapper) {
		  Page<ChatView> page =new Query<ChatView>(params).getPage();
	        page.setRecords(baseMapper.selectListView(page,wrapper));
	    	PageUtils pageUtil = new PageUtils(page);
	    	return pageUtil;
 	}
    
    @Override


# 最后

关于面试刷题也是有方法可言的,建议最好是按照专题来进行,然后由基础到高级,由浅入深来,效果会更好。当然,这些内容我也全部整理在一份pdf文档内,分成了以下几大专题:

*   Java基础部分

![](https://img-blog.csdnimg.cn/img_convert/05b4de00b24a98cdeae65b85f645c55d.webp?x-oss-process=image/format,png)

*   算法与编程

![](https://img-blog.csdnimg.cn/img_convert/8f60508a8c28b86a7da427598094ecf6.webp?x-oss-process=image/format,png)

*   数据库部分

![](https://img-blog.csdnimg.cn/img_convert/561bb7a643581be0bfcb9bcd0df8f6d3.webp?x-oss-process=image/format,png)

*   流行的框架与新技术(Spring+SpringCloud+SpringCloudAlibaba)

![](https://img-blog.csdnimg.cn/img_convert/3340873167fa489c7683701a0e440544.webp?x-oss-process=image/format,png)

这份面试文档当然不止这些内容,实际上像JVM、设计模式、ZK、MQ、数据结构等其他部分的面试内容均有涉及,因为文章篇幅,就不全部在这里阐述了。

**作为一名程序员,阶段性的学习是必不可少的,而且需要保持一定的持续性,这次在这个阶段内,我对一些重点的知识点进行了系统的复习,一方面巩固了自己的基础,另一方面也提升了自己的知识广度和深度。**

> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

的面试内容均有涉及,因为文章篇幅,就不全部在这里阐述了。

**作为一名程序员,阶段性的学习是必不可少的,而且需要保持一定的持续性,这次在这个阶段内,我对一些重点的知识点进行了系统的复习,一方面巩固了自己的基础,另一方面也提升了自己的知识广度和深度。**

> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值