赞
踩
基于JAVA+Vue+SpringBoot+MySQL的桃花峪滑雪场租赁系统,包含了滑雪场、门票预定、滑雪教练聘请、器材租赁归还、规章制度等模块,分为管理后台和微信小程序端,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,桃花峪滑雪场租赁系统基于角色的访问控制,给滑雪爱好者、滑雪管理员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。
本系统以桃花峪滑雪场内部计费收银及运营业务管理流程为基础,通过“—卡通消费”的收费方式,简化滑雪场消费业务的管理环节,优化业务操作流程,实现游客消费和雪场管理的全面自动化,对滑雪场的设备、器具、人力、款项合理化运营管控,从而提升滑雪场经济效益。
游客服务主要为游客提供在线便利服务,核心功能如下。
游客通过系统完成如门票预订购买、教练聘请、快速入园、滑雪器材便捷租赁、会员充值、多元化支付,自助结算、订单管理、其他二次消费(就餐、购物)等
主要功能包括售票管理、租赁配置管理、租赁方案管理、超时档位管理、押金规则管理、器材信息管理、器材库存管理、器材损坏规则、教练信息管理。
public class Coach extends ZwzBaseEntity { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "姓名") private String name; @ApiModelProperty(value = "性别") private String sex; @ApiModelProperty(value = "年龄") private BigDecimal age; @ApiModelProperty(value = "介绍") private String content; @ApiModelProperty(value = "一寸照") private String image; @ApiModelProperty(value = "级别") private String level; @ApiModelProperty(value = "聘请费用") private BigDecimal cost; }
public class CoachEngagement extends ZwzBaseEntity { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "教练ID") private String coachId; @ApiModelProperty(value = "姓名") private String name; @ApiModelProperty(value = "性别") private String sex; @ApiModelProperty(value = "年龄") private BigDecimal age; @ApiModelProperty(value = "介绍") private String content; @ApiModelProperty(value = "一寸照") private String image; @ApiModelProperty(value = "级别") private String level; @ApiModelProperty(value = "聘请费用") private BigDecimal cost; @ApiModelProperty(value = "聘请人ID") private String userId; @ApiModelProperty(value = "聘请人") private String userName; @ApiModelProperty(value = "聘请日期") private String date; }
public class DepositRules extends ZwzBaseEntity { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "押金规则") private String title; @ApiModelProperty(value = "内容") private String content; @ApiModelProperty(value = "金额") private BigDecimal number; @ApiModelProperty(value = "排序值") private BigDecimal sortOrder; @ApiModelProperty(value = "备注") private String remark; }
public class Equipment extends ZwzBaseEntity { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "器材名称") private String title; @ApiModelProperty(value = "器材型号") private String model; @ApiModelProperty(value = "采购价") private BigDecimal price; @ApiModelProperty(value = "计量单位") private String unit; @ApiModelProperty(value = "图片") private String image; @ApiModelProperty(value = "库存") private BigDecimal stock; @ApiModelProperty(value = "押金规则ID") private String ruleId; @ApiModelProperty(value = "押金规则") private String ruleName; }
public class SkiField extends ZwzBaseEntity { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "滑雪场名称") private String title; @ApiModelProperty(value = "介绍") private String content; @ApiModelProperty(value = "分馆编号") private String code; @ApiModelProperty(value = "图片") private String image; @ApiModelProperty(value = "排序值") private BigDecimal sortOrder; @ApiModelProperty(value = "状态") private String status; @ApiModelProperty(value = "价格") private BigDecimal price; }
public class SellTicket extends ZwzBaseEntity { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "滑雪场ID") private String skiId; @ApiModelProperty(value = "滑雪场名称") private String skiName; @ApiModelProperty(value = "买票人ID") private String userId; @ApiModelProperty(value = "买票人") private String userName; @ApiModelProperty(value = "日期") private String date; @ApiModelProperty(value = "价格") private BigDecimal price; @ApiModelProperty(value = "购买时间") private String buyTime; }
public class EquipmentDamage extends ZwzBaseEntity { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "损坏情况") private String title; @ApiModelProperty(value = "损坏赔偿比例") private BigDecimal proportion; @ApiModelProperty(value = "排序值") private BigDecimal sortOrder; @ApiModelProperty(value = "备注") private String remark; }
@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); }
@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(); }
@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); }
@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(); }
@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);
}
下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。