JAVA自行车类代码_租借自行车RentBikeController

[java]代码库package com.liang.bike.controller.rent;

import com.alibaba.fastjson.JSONObject;

import com.liang.bike.bean.base.BikeBase;

import com.liang.bike.bean.base.OrderBase;

import com.liang.bike.bean.base.UserBase;

import com.liang.bike.enumeration.BikeStatusEnum;

import com.liang.bike.enumeration.OperateEnum;

import com.liang.bike.service.rent.IRentBikeService;

import com.liang.bike.utill.ReturnUtill;

import org.apache.log4j.Logger;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpSession;

import java.util.Date;

import java.util.HashMap;

import java.util.Map;

/**

* Created by Administrator on 2017/2/22.

*/

@Controller

@RequestMapping("/rent")

public class RentBikeController {

Logger logger = Logger.getLogger(RentBikeController.class);

@Autowired

private IRentBikeService rentBikeService;

//获取用户信息

public UserBase getUser(HttpServletRequest request) {

HttpSession session = request.getSession();

return (UserBase) session.getAttribute("user");

}

/**

* 生成租借自行车订单

*

* @param request

* @param bikeBase 自行车信息

* @return

*/

@RequestMapping("/bike")

public String rentBike(HttpServletRequest request, Model model, BikeBase bikeBase) {

UserBase userBase = getUser(request);

String page = "user/rent";

try {

//查询自行车是否存在

BikeBase bike = rentBikeService.selectBikeByBikeNo(bikeBase);

model.addAttribute("bike", bike);

if (bike == null) {

model.addAttribute("index", OperateEnum.BIKE_BIKE_NOT_EXIST.getIndex());

model.addAttribute("desc", OperateEnum.BIKE_BIKE_NOT_EXIST.getDesc());

return page;

}

//自行车是否在空闲状态

String status = bike.getBikeStatus();

if (status != null && !status.equals(BikeStatusEnum.FREE.getKey())) {

//如果正在使用自行车的正是当前用户

if (status.equals(BikeStatusEnum.USING.getKey())) {

OrderBase orderBase = new OrderBase();

orderBase.setUserId(userBase.getUserId());

orderBase.setBikeId(bikeBase.getBikeId());

orderBase.setReturnBy("");

OrderBase order = rentBikeService.selectOrder(orderBase);

if (order != null) {

page = "user/running";

model.addAttribute("order", order);

model.addAttribute("createDate", order.getCreateDate().getTime());

return page;

}

}

model.addAttribute("index", status);

model.addAttribute("desc", OperateEnum.getOperateDesc(status));

return page;

}

//修改自行车使用状态并生成订单

rentBikeService.rentBike(bike, userBase);

//自行车状态描述

} catch (Exception e) {

//e.printStackTrace();

logger.info("租借自行车失败RentBikeController.rentBike" + e.getMessage());

model.addAttribute("index", OperateEnum.OPERATE_ERROR.getIndex());

model.addAttribute("desc", OperateEnum.OPERATE_ERROR.getDesc());

return page;

}

model.addAttribute("index", OperateEnum.OPERATE_SUCCESS.getIndex());

return page;

}

/**

* 完成订单

*

* @param request

* @param model

* @param orderBase

* @return

*/

@RequestMapping("/finish")

@ResponseBody

public JSONObject finish(HttpServletRequest request, Model model, OrderBase orderBase) {

JSONObject json = new JSONObject();

UserBase userBase = getUser(request);

orderBase.setReturnBy(userBase.getUserName());

orderBase.setReturnDate(new Date());

boolean flag = false;

try {

rentBikeService.finishOrder(orderBase);

flag = true;

} catch (Exception e) {

e.printStackTrace();

}

json.put("flag", flag);

return json;

}

}

694748ed64b9390909c0d88230893790.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值