桃花峪滑雪场租赁系统 毕业设计 JAVA+Vue+SpringBoot+MySQL(二)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 桃花峪滑雪场租赁系统 毕业设计 JAVA+Vue+SpringBoot+MySQL




五、核心代码

5.1 查询教练

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询教练")
public Result<IPage<Coach>> getByPage(@ModelAttribute Coach coach ,@ModelAttribute PageVo page){
    QueryWrapper<Coach> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(coach.getLevel())) {
        qw.eq("level",coach.getLevel());
    }
    if(!ZwzNullUtils.isNull(coach.getContent())) {
        qw.like("content",coach.getContent());
    }
    if(!ZwzNullUtils.isNull(coach.getName())) {
        qw.like("name",coach.getName());
    }
    IPage<Coach> data = iCoachService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Coach>>().setData(data);
}

5.2 教练聘请

@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "小程序预约")
public Result<SellTicket> addOne(@RequestParam String id, @RequestParam String date){
    Coach s = iCoachService.getById(id);
    if(s == null) {
        return ResultUtil.error("教练不存在");
    }
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<CoachEngagement> oldQw = new QueryWrapper<>();
    oldQw.eq("coach_id",s.getId());
    oldQw.eq("date",date);
    oldQw.eq("user_id",currUser.getId());
    Long oldCount = iCoachEngagementService.count(oldQw);
    if(oldCount > 0) {
        return ResultUtil.error("您已聘请!");
    }
    CoachEngagement st = new CoachEngagement();
    st.setCoachId(s.getId());
    st.setName(s.getName());
    st.setSex(s.getSex());
    st.setAge(s.getAge());
    st.setContent(s.getContent());
    st.setImage(s.getImage());
    st.setLevel(s.getLevel());
    st.setCost(s.getCost());
    st.setUserId(currUser.getId());
    st.setUserName(currUser.getNickname());
    st.setDate(date);
    iCoachEngagementService.saveOrUpdate(st);
    User user = iUserService.getById(currUser.getId());
    if(user != null) {
        user.setMoney(user.getMoney().subtract(s.getCost()));
        iUserService.saveOrUpdate(user);
    }
    return ResultUtil.success();
}

5.3 查询滑雪场

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询滑雪场")
public Result<IPage<SkiField>> getByPage(@ModelAttribute SkiField skiField ,@ModelAttribute PageVo page){
    QueryWrapper<SkiField> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(skiField.getTitle())) {
        qw.like("title",skiField.getTitle());
    }
    if(!ZwzNullUtils.isNull(skiField.getCode())) {
        qw.like("code",skiField.getCode());
    }
    if(!ZwzNullUtils.isNull(skiField.getStatus())) {
        qw.like("status",skiField.getStatus());
    }
    IPage<SkiField> data = iSkiFieldService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<SkiField>>().setData(data);
}

5.4 滑雪场预定

@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "小程序预约")
public Result<SellTicket> addOne(@RequestParam String id,@RequestParam String date){
    SkiField s = iSkiFieldService.getById(id);
    if(s == null) {
        return ResultUtil.error("滑雪场不存在");
    }
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<SellTicket> oldQw = new QueryWrapper<>();
    oldQw.eq("ski_id",s.getId());
    oldQw.eq("date",date);
    oldQw.eq("user_id",currUser.getId());
    Long oldCount = iSellTicketService.count(oldQw);
    if(oldCount > 0) {
        return ResultUtil.error("您已预定!");
    }
    SellTicket st = new SellTicket();
    st.setSkiId(s.getId());
    st.setSkiName(s.getTitle());
    st.setUserId(currUser.getId());
    st.setUserName(currUser.getNickname());
    st.setDate(date);
    st.setPrice(s.getPrice());
    st.setBuyTime(DateUtil.now());
    iSellTicketService.saveOrUpdate(st);
    User user = iUserService.getById(currUser.getId());
    if(user != null) {
        user.setMoney(user.getMoney().subtract(s.getPrice()));
        iUserService.saveOrUpdate(user);
    }
    return ResultUtil.success();
}

5.5 新增滑雪器材

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增器材")
public Result<Equipment> insert(Equipment equipment){
    DepositRules rule = iDepositRulesService.getById(equipment.getRuleId());
    if(rule == null) {
        return ResultUtil.error("押金规则不存在");
    }
    equipment.setRuleName(rule.getTitle());
    iEquipmentService.saveOrUpdate(equipment);
    return new ResultUtil<Equipment>().setData(equipment);
}

六、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11天前
|
运维 自然语言处理 供应链
Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑器
通过门诊的申请,或者直接住院登记,通过”护士工作站“分配患者,完成后,进入医生患者列表,医生对应开具”长期医嘱“和”临时医嘱“,并在电子病历中,记录病情。病人出院时,停止长期医嘱,开具出院医嘱。进入出院审核,审核医嘱与住院通过后,病人结清缴费,完成出院。
40 3
|
14天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
16 1
|
16天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
JavaScript Java 关系型数据库
Springboot+vue打包部署到线上服务器
整合springboot+vue的项目,打包成jar包到线上服务器运行
Springboot+vue打包部署到线上服务器
|
3天前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
|
4天前
|
存储 缓存 JavaScript
在 Vue 中使用 computed 和 watch 时,性能问题探讨
本文探讨了在 Vue.js 中使用 computed 计算属性和 watch 监听器时可能遇到的性能问题,并提供了优化建议,帮助开发者提高应用性能。
|
4天前
|
存储 缓存 JavaScript
如何在大型 Vue 应用中有效地管理计算属性和侦听器
在大型 Vue 应用中,合理管理计算属性和侦听器是优化性能和维护性的关键。本文介绍了如何通过模块化、状态管理和避免冗余计算等方法,有效提升应用的响应性和可维护性。
|
4天前
|
存储 缓存 JavaScript
Vue 中 computed 和 watch 的差异
Vue 中的 `computed` 和 `watch` 都用于处理数据变化,但使用场景不同。`computed` 用于计算属性,依赖于其他数据自动更新;`watch` 用于监听数据变化,执行异步或复杂操作。
|
3天前
|
JavaScript 前端开发 UED
vue学习第二章
欢迎来到我的博客!我是一名自学了2年半前端的大一学生,熟悉JavaScript与Vue,目前正在向全栈方向发展。如果你从我的博客中有所收获,欢迎关注我,我将持续更新更多优质文章。你的支持是我最大的动力!🎉🎉🎉
|
5天前
|
存储 JavaScript 开发者
Vue 组件间通信的最佳实践
本文总结了 Vue.js 中组件间通信的多种方法,包括 props、事件、Vuex 状态管理等,帮助开发者选择最适合项目需求的通信方式,提高开发效率和代码可维护性。