基于javaweb+SpringBoot+JPA电影售票网站购票平台管理系统(前台、后台)
开发工具:eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
return Result.success(true);
}
/**
* 验证订单
* @param orderSn
* @param phone
* @return
*/
@RequestMapping(value="/auth_order",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> authOrder(@RequestParam(name="orderSn",required=true)String orderSn,@RequestParam(name="phone",required=true)String phone){
if(orderSn.length() < 18){
return Result.error(CodeMsg.ORDER_SN_ERROR);
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.ExampleMatcher.GenericPropertyMatchers;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.stereotype.Service;
import com.demo.entity.common.Account;
import com.demo.entity.common.Movie;
import com.demo.entity.common.OrderItem;
/**
* 订单信息service层
* @author Administrator
*
*/
@Service
public class OrderService {
@Autowired
private OrderDao orderDao;
try {
order = save(order);
for(OrderItem orderItem : orderItems){
orderItem.setOrder(order);
orderItemService.save(orderItem);
}
} catch (Exception e) {
return false;
}
return true;
}
/**
* 取消订单
* @param sn
* @return
*/
@org.springframework.transaction.annotation.Transactional
}
//说明验证码不为空,从session里获取验证码
Object attribute = request.getSession().getAttribute("admin_login");
if(attribute == null){
return Result.error(CodeMsg.SESSION_EXPIRED);
}
//表示session未失效,进一步判断用户填写的验证码是否正确
if(!cpacha.equalsIgnoreCase(attribute.toString())){
return Result.error(CodeMsg.CPACHA_ERROR);
}
//表示验证码正确,开始查询数据库,检验密码是否正确
User findByUsername = userService.findByUsername(user.getUsername());
//判断是否为空
if(findByUsername == null){
return Result.error(CodeMsg.ADMIN_USERNAME_NO_EXIST);
}
public void setRate(BigDecimal rate) {
this.rate = rate;
}
public MovieArea getArea() {
return area;
}
public void setArea(MovieArea area) {
this.area = area;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
/**
* 清空整个日志
* @return
*/
@RequestMapping(value="/delete_all_operator_log",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> deleteAll(){
operaterLogService.deleteAll();
return Result.success(true);
}
}
package com.demo.bean;
/**
* 错误码统一处理类,所有的错误码统一定义在这里
* @author Administrator
*
*/
public class CodeMsg {
private int code;//错误码
return Result.error(CodeMsg.ADMIN_USER_UNABLE);
}
//检查用户所属角色状态是否可用
if(findByUsername.getRole() == null || findByUsername.getRole().getStatus() == Role.ADMIN_ROLE_STATUS_UNABLE){
return Result.error(CodeMsg.ADMIN_USER_ROLE_UNABLE);
}
//检查用户所属角色的权限是否存在
if(findByUsername.getRole().getAuthorities() == null || findByUsername.getRole().getAuthorities().size() == 0){
return Result.error(CodeMsg.ADMIN_USER_ROLE_AUTHORITES_EMPTY);
}
//检查一切符合,可以登录,将用户信息存放至session
request.getSession().setAttribute(SessionConstant.SESSION_USER_LOGIN_KEY, findByUsername);
//销毁session中的验证码
request.getSession().setAttribute("admin_login", null);
//将登陆记录写入日志库
operaterLogService.add("用户【"+user.getUsername()+"】于【" + StringUtil.getFormatterDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "】登录系统!");
log.info("用户成功登录,user = " + findByUsername);
return Result.success(true);
}
/**
* 登录成功后的系统主页
* @param model
* @return
*/
@RequestMapping(value="/index")
/**
* 修改个人资料
* @param account
* @return
*/
@RequestMapping(value="/update_info",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> updateInfo(Account account){
Account loginedAccount = (Account)SessionUtil.get(SessionConstant.SESSION_ACCOUNT_LOGIN_KEY);
loginedAccount.setNickname(account.getNickname());
loginedAccount.setSex(account.getSex());
if(accountService.save(loginedAccount) == null){
return Result.error(CodeMsg.SAVE_ERROR);
}
}
if(order.getStatus() != Order.status_unpay){
return Result.error(CodeMsg.HOME_ORDER_STATUS_UNABLE);
}
long passTime = System.currentTimeMillis()/1000 - order.getCreateTime().getTime()/1000;
if(passTime > orderTimeout){
return Result.error(CodeMsg.HOME_ORDER_STATUS_TIMEOUT);
}
if(order.getAccount().getBalance().compareTo(order.getNewMoney()) < 0){
return Result.error(CodeMsg.HOME_ORDER_BALANCE_OUT);
}
//订单状态都合适
//1、订单状态修改成已支付;2、扣除用户余额
if(!orderService.paySuccess(order)){
return Result.error(CodeMsg.HOME_ORDER_PAY_ERROR);
}
return Result.success(true);
}
}
package com.demo.entity.common;
}
public void setRateCount(Integer rateCount) {
this.rateCount = rateCount;
}
@Override
public String toString() {
return "Movie [name=" + name + ", abs=" + abs + ", type=" + type
+ ", area=" + area + ", directedBy=" + directedBy + ", actor="
+ actor + ", language=" + language + ", time=" + time
+ ", showTime=" + showTime + ", info=" + info + ", picture="
+ picture + ", video=" + video + ", totalMoney=" + totalMoney
+ ", rate=" + rate + "]";
}
}
package com.demo.service.common;
*/
public void setHeight(int height) {
this.height = height;
}
/**
* @return 干扰线条数
*/
public int getDisturbline() {
return disturbline;
}
/**
* 设置干扰线条数
* @param disturbline
*/
public void setDisturbline(int disturbline) {
this.disturbline = disturbline;
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
技术框架
JavaWeb SpringBoot JPA Freemarker Bootstrap JavaScript SpringMVC MySQL
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
前台:查看电影、影院、评论、购票下单等…………
后台: 管理电影、影院、排版、管理员、前端用户、订单等…………
前台
后台