1.更新接口地址

2.更新用户接口
This commit is contained in:
freeebied 2019-11-24 20:16:20 +08:00 committed by FreeeBird
parent 29f1697810
commit 5751736f5d
13 changed files with 397 additions and 206 deletions

View File

@ -36,6 +36,7 @@ public class GlobalCrosConfig {
public void addInterceptors(InterceptorRegistry registry) { public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new SessionInterceptor()) registry.addInterceptor(new SessionInterceptor())
.addPathPatterns("/**") .addPathPatterns("/**")
.excludePathPatterns("/hotel/**")
.excludePathPatterns("/login/**") .excludePathPatterns("/login/**")
.excludePathPatterns("/register/**"); .excludePathPatterns("/register/**");
} }

View File

@ -1,6 +1,8 @@
package cn.mafangui.hotel.controller; package cn.mafangui.hotel.controller;
import cn.mafangui.hotel.entity.Hotel; import cn.mafangui.hotel.entity.Hotel;
import cn.mafangui.hotel.response.AjaxResult;
import cn.mafangui.hotel.response.ResponseUtil;
import cn.mafangui.hotel.service.HotelService; import cn.mafangui.hotel.service.HotelService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -42,8 +44,8 @@ public class HotelController {
return hotelService.selectByName(hotelName); return hotelService.selectByName(hotelName);
} }
@RequestMapping(value = "/all") @RequestMapping(value = "")
public List<Hotel> getAllHotel(){ public AjaxResult getAllHotel(){
return hotelService.selectAll(); return ResponseUtil.success(hotelService.selectAll());
} }
} }

View File

@ -38,7 +38,11 @@ public class LoginController {
} }
HttpSession session = request.getSession(); HttpSession session = request.getSession();
session.setAttribute("userId",user.getUserId()); session.setAttribute("userId",user.getUserId());
return ResponseUtil.success(session.getId()); session.setAttribute("username",user.getUsername());
HashMap map = new HashMap<>();
map.put("sessionId",session.getId());
map.put("userId",user.getUserId());
return ResponseUtil.success(map);
} }
@RequestMapping(value = "/worker",method = RequestMethod.POST) @RequestMapping(value = "/worker",method = RequestMethod.POST)

View File

@ -2,6 +2,8 @@ package cn.mafangui.hotel.controller;
import cn.mafangui.hotel.entity.Order; import cn.mafangui.hotel.entity.Order;
import cn.mafangui.hotel.enums.OrderStatus; import cn.mafangui.hotel.enums.OrderStatus;
import cn.mafangui.hotel.response.AjaxResult;
import cn.mafangui.hotel.response.ResponseUtil;
import cn.mafangui.hotel.service.OrderService; import cn.mafangui.hotel.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -145,8 +147,8 @@ public class OrderController {
* @return * @return
*/ */
@RequestMapping(value = "/userOrder") @RequestMapping(value = "/userOrder")
public List<Order> getAllByUser(int userId){ public AjaxResult getAllByUser(int userId){
return orderService.UsersAllOrders(userId); return ResponseUtil.success(orderService.UsersAllOrders(userId));
} }
/** /**

View File

@ -32,7 +32,7 @@ public class RegisterController {
} }
@RequestMapping(method = RequestMethod.POST,value = "/admin") @RequestMapping(method = RequestMethod.POST,value = "/admin")
public AjaxResult register(String username, String password, String name, String gender, String phone, String email, String address){ public AjaxResult adminRegister(String username, String password, String name, String gender, String phone, String email, String address){
Worker worker = new Worker(username,password,name,gender,phone,email,address); Worker worker = new Worker(username,password,name,gender,phone,email,address);
worker.setRole(Role.ADMIN.getValue()); worker.setRole(Role.ADMIN.getValue());
int result = workerService.insert(worker); int result = workerService.insert(worker);
@ -42,4 +42,15 @@ public class RegisterController {
else return ResponseUtil.failed("注册失败,请稍后再试"); else return ResponseUtil.failed("注册失败,请稍后再试");
} }
@RequestMapping(method = RequestMethod.POST,value = "/operator")
public AjaxResult operatorRegister(String username,String password,String name,String gender,String phone,String email,String address){
Worker worker = new Worker(username,password,name,gender,phone,email,address);
worker.setRole(Role.OPERATOR.getValue());
int result = workerService.insert(worker);
if(result==1){
return ResponseUtil.success(result);
}
else return ResponseUtil.failed("注册失败,请稍后再试");
}
} }

View File

@ -1,6 +1,8 @@
package cn.mafangui.hotel.controller; package cn.mafangui.hotel.controller;
import cn.mafangui.hotel.entity.RoomType; import cn.mafangui.hotel.entity.RoomType;
import cn.mafangui.hotel.response.AjaxResult;
import cn.mafangui.hotel.response.ResponseUtil;
import cn.mafangui.hotel.service.RoomTypeService; import cn.mafangui.hotel.service.RoomTypeService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -21,9 +23,10 @@ public class RoomTypeController {
* 所有房型 * 所有房型
* @return * @return
*/ */
@RequestMapping(value = "/all") @RequestMapping(value = "")
public List<RoomType> getAllRoomType(){ public AjaxResult getAllRoomType(){
return roomTypeService.findAllType(); List<RoomType> rooms = roomTypeService.findAllType();
return ResponseUtil.success(rooms);
} }
/** /**

View File

@ -1,187 +0,0 @@
package cn.mafangui.hotel.controller;
import cn.mafangui.hotel.entity.User;
import cn.mafangui.hotel.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.List;
@RestController
@RequestMapping(value = "/user")
public class UserController {
@Autowired
private UserService userService;
/**
* 用户登录
* @param username
* @param password
* @return
*/
@RequestMapping(method = RequestMethod.POST,value = "/login")
public int userLogin(String username, String password, HttpServletRequest request){
int result;
if (username == null | username == "" | password == null | password == ""){
return -1;
}
if (userService.selectByUsernameAndPassword(username,password) != null){
result = 1;
HttpSession session = request.getSession();
session.setAttribute("userId",username);
session.getId();
}
else result = 0;
return result;
}
/**
* 用户注册
* @param username
* @param password
* @param name
* @param gender
* @param phone
* @param email
* @param address
* @param idcard
* @return
*/
@RequestMapping(method = RequestMethod.POST,value = "/register")
public int userRegister(String username,String password,String name,String gender,String phone,String email,String address,String idcard){
User user = new User(username,password,name,gender,phone,email,address,idcard);
return userService.insertUser(user);
}
/**
* 用户添加
* @param username
* @param password
* @param name
* @param gender
* @param phone
* @param email
* @param address
* @param idcard
* @return
*/
@RequestMapping(method = RequestMethod.POST,value = "/add")
public int userAdd(String username,String password,String name,String gender,String phone,String email,String address,String idcard){
User user = new User(username,password,name,gender,phone,email,address,idcard);
return userService.addUser(user);
}
/**
* 更新用户信息
* @param userId
* @param name
* @param gender
* @param phone
* @param email
* @param address
* @param idcard
* @return
*/
@RequestMapping(method = RequestMethod.POST,value = "/update")
public int userUpdate(int userId,String name,String gender,String phone,String email,String address,String idcard){
User user = new User();
user.setUserId(userId);
user.setName(name);
user.setGender(gender);
user.setPhone(phone);
user.setEmail(email);
user.setAddress(address);
user.setIdcard(idcard);
return userService.updateUser(user);
}
/**
* 更改密码
* @param username
* @param oldPassword
* @param newPassword
* @return
*/
@RequestMapping(method = RequestMethod.POST,value = "/updatePassword")
public int updatePassword(String username,String oldPassword,String newPassword){
User user = userService.selectByUsernameAndPassword(username,oldPassword);
if (user == null){
return -1;
}else {
user.setPassword(newPassword);
return userService.updateUser(user);
}
}
/**
* 所有在记录的用户和客户
* @return
*/
@RequestMapping(value = "/all")
public List<User> getAll(){
return userService.selectAll();
}
/**
* 所有注册用户
* @return
*/
@RequestMapping(value = "/allUser")
public List<User> getAllUser(){
return userService.selectAllUser();
}
/**
* 判断用户名是否存在
* @param username
* @return
*/
@RequestMapping(method = RequestMethod.POST,value = "/isUsernameExist")
public int isUsernameExist(String username){
int result = 0;
if (userService.selectByUsername(username) != null){
result = 1;
}
else result = 0;
return result;
}
/**
* 根据username查找用户
* @param username
* @return
*/
@RequestMapping(method = RequestMethod.POST,value = "/withUsername")
public User getByUsername(String username){
User user = userService.selectByUsername(username);
user.setPassword(null);
return user;
}
/**
* 根据id查找用户
* @param userId
* @return
*/
@RequestMapping(method = RequestMethod.POST,value = "/withId")
public User getById(int userId){
return userService.selectById(userId);
}
/**
* 删除用户
* @param userId
* @return
*/
@RequestMapping(value = "/delete")
public int deleteUser(int userId){
return userService.deleteUser(userId);
}
}

View File

@ -0,0 +1,143 @@
package cn.mafangui.hotel.controller.user;
import cn.mafangui.hotel.entity.User;
import cn.mafangui.hotel.response.AjaxResult;
import cn.mafangui.hotel.response.MsgType;
import cn.mafangui.hotel.response.ResponseUtil;
import cn.mafangui.hotel.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpRequest;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.List;
@RestController
@RequestMapping(value = "/user")
public class UserController {
@Autowired
private UserService userService;
/**
* 用户添加
* @param username
* @param password
* @param name
* @param gender
* @param phone
* @param email
* @param address
* @param idcard
* @return
*/
@RequestMapping(method = RequestMethod.POST,value = "/add")
public int userAdd(String username,String password,String name,String gender,String phone,String email,String address,String idcard){
User user = new User(username,password,name,gender,phone,email,address,idcard);
return userService.addUser(user);
}
/**
* 更新用户信息
* @param userId
* @param name
* @param gender
* @param phone
* @param email
* @param address
* @param idcard
* @return
*/
@RequestMapping(method = RequestMethod.POST,value = "/update")
public AjaxResult userUpdate(int userId, String name, String gender, String phone,
String email, String address, String idcard, HttpServletRequest request){
HttpSession session = request.getSession();
if (!session.getAttribute("userId").equals(userId)){
return ResponseUtil.failed(MsgType.PERMISSION_DENIED);
}
User user = new User();
user.setUserId(userId);
user.setName(name);
user.setGender(gender);
user.setPhone(phone);
user.setEmail(email);
user.setAddress(address);
user.setIdcard(idcard);
if(userService.updateUser(user)==1)
return ResponseUtil.success("修改成功");
return ResponseUtil.success("修改失败,请检查或稍后再试");
}
/**
* 更改密码
* @param username
* @param oldPassword
* @param newPassword
* @return
*/
@RequestMapping(method = RequestMethod.POST,value = "/updatePassword")
public AjaxResult updatePassword(String username,String oldPassword,String newPassword){
User user = userService.selectByUsernameAndPassword(username,oldPassword);
if (user == null){
return ResponseUtil.failed("密码不对");
}
user.setPassword(newPassword);
if(userService.updateUser(user)==1)
return ResponseUtil.success("修改成功");
return ResponseUtil.failed("修改失败");
}
/**
* 获取个人资料
* @param request
* @return
*/
@RequestMapping(value = "/profile")
public AjaxResult getProfile(HttpServletRequest request){
String username = (String) request.getSession().getAttribute("username");
User user = userService.selectByUsername(username);
if(user==null) return ResponseUtil.failed("未知错误");
user.setPassword(null);
StringBuilder sb = new StringBuilder(user.getIdcard());
sb.replace(5,12,"********");
user.setIdcard(sb.toString());
return ResponseUtil.success(user);
}
/**
* 根据username查找用户
* @param username
* @return
*/
@RequestMapping(value = "/withUsername")
public AjaxResult getByUsername(String username, HttpServletRequest request){
if(!request.getSession().getAttribute("username").equals(username)){
return ResponseUtil.failed(MsgType.PERMISSION_DENIED);
}
User user = userService.selectByUsername(username);
user.setPassword(null);
return ResponseUtil.success(user);
}
/**
* 注销
* @param request
* @return
*/
@RequestMapping(value = "/logout",method = RequestMethod.POST)
public AjaxResult logout(HttpServletRequest request){
HttpSession session = request.getSession();
session.removeAttribute("userId");
session.removeAttribute("username");
return ResponseUtil.success("注销成功");
}
}

View File

@ -0,0 +1,170 @@
package cn.mafangui.hotel.controller.user;
import cn.mafangui.hotel.entity.Order;
import cn.mafangui.hotel.enums.OrderStatus;
import cn.mafangui.hotel.response.AjaxResult;
import cn.mafangui.hotel.response.ResponseUtil;
import cn.mafangui.hotel.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.Date;
import java.util.List;
/**
* 订单接口
*/
@RestController
@RequestMapping(value = "/user/order")
public class UserOrderController {
@Autowired
private OrderService orderService;
/**
* 添加预订
* 订单状态默认为未付款状态
* @param orderTypeId
* @param orderType
* @param userId
* @param name
* @param phone
* @param roomTypeId
* @param roomType
* @param orderDate
* @param orderDays
* @param orderCost
* @return
*/
@RequestMapping(value = "/add")
public int addOrder(int orderTypeId,String orderType, int userId,String name, String phone,int roomTypeId, String roomType,
@DateTimeFormat(pattern = "yyyy-MM-dd") Date orderDate, Integer orderDays, Double orderCost){
Order order = new Order(orderTypeId,orderType,userId,name,phone,roomTypeId,
roomType,orderDate,orderDays, OrderStatus.UNPAID.getCode(),orderCost);
return orderService.addOrder(order);
}
/**
* 客户删除订单
* @param orderId
* @return
*/
@RequestMapping(value = "/deleteByUser")
public AjaxResult deleteOrderByUser(int orderId){
Order order = new Order(orderId,OrderStatus.WAS_DELETED.getCode());
if(orderService.update(order)!=1)
return ResponseUtil.failed("删除失败");
return ResponseUtil.success("删除成功");
}
/**
* 修改订单
* @param orderId
* @param orderTypeId
* @param orderType
* @param userId
* @param name
* @param phone
* @param roomTypeId
* @param roomType
* @param orderDate
* @param orderDays
* @param orderCost
* @return
*/
@RequestMapping(value = "/update")
public int updateOrder(int orderId,int orderTypeId,String orderType, int userId,String name, String phone,int roomTypeId, String roomType,
@DateTimeFormat(pattern = "yyyy-MM-dd") Date orderDate, Integer orderDays, Double orderCost){
Order order = new Order(orderTypeId,orderType,userId,name,phone,roomTypeId,
roomType,orderDate,orderDays, OrderStatus.UNPAID.getCode(),orderCost);
return orderService.update(order);
}
/**
* 订单支付
* @param orderId
* @return
*/
@RequestMapping(method = RequestMethod.POST,value = "/pay")
public int payOrder(int orderId){
return orderService.payOrder(orderId);
}
/**
* 取消订单
* @param orderId
* @return
*/
@RequestMapping(value = "/cancel")
public int cancelOrder(int orderId){
return orderService.cancelOrder(orderId);
}
/**
* 订单超时
* @param orderId
* @return
*/
@RequestMapping(value = "/overtime")
public int orderOver(int orderId){
Order order = new Order(orderId,OrderStatus.OVERTIME.getCode());
return orderService.update(order);
}
/**
* 所有订单
* @return
*/
@RequestMapping(value = "/all")
public List<Order> getAllOrder(){
return orderService.AllOrders();
}
/**
* 根据userID查询所有订单
* @param userId
* @return
*/
@RequestMapping(value = "/withUserId")
public List<Order> getByUser(int userId){
return orderService.selectByUserId(userId);
}
/**
* 客户查询个人所有订单不包括被自己删除的
* @return
*/
@RequestMapping(value = "")
public AjaxResult getAllByUser(HttpServletRequest request){
HttpSession session = request.getSession();
Integer userId = (Integer) session.getAttribute("userId");
return ResponseUtil.success(orderService.UsersAllOrders(userId));
}
/**
* 根据订单号查询订单
* @param orderId
* @return
*/
@RequestMapping(value = "/withId")
public Order getById(int orderId){
return orderService.selectById(orderId);
}
/**
* 根据姓名预留手机号查找订单
* 主要用于客户入住
* @param name
* @param phone
* @return
*/
@RequestMapping(value = "/withNameAndPhone")
public Order getByNameAndPhone(String name,String phone){
return orderService.selectByNameAndPhone(name,phone);
}
}

View File

@ -8,7 +8,8 @@ public enum MsgType {
SUCCESS(1000,"success"), SUCCESS(1000,"success"),
FAILED(1001,"Failure"), FAILED(1001,"Failure"),
PARAM_IS_INVALID(1100,"参数非法") PARAM_IS_INVALID(1001,"参数非法"),
PERMISSION_DENIED(1002,"权限不足"),
; ;
private Integer code; private Integer code;

View File

@ -1,5 +1,8 @@
package cn.mafangui.hotel.tool; package cn.mafangui.hotel.tool;
import cn.mafangui.hotel.response.AjaxResult;
import cn.mafangui.hotel.response.ResponseUtil;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
@ -12,26 +15,35 @@ public class SessionInterceptor implements HandlerInterceptor {
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("Pre");
HttpSession session = request.getSession(); HttpSession session = request.getSession();
System.out.println(session.getAttribute("userId")); if(session.getAttribute("userId") != null){
if(session!=null && session.getAttribute("userId")!=null){
return true; return true;
}else { }else {
setCorsMappings(request, response);
PrintWriter writer = response.getWriter(); PrintWriter writer = response.getWriter();
writer.write("Not Login."); AjaxResult result = ResponseUtil.failed("Not Login");
ObjectMapper mapper = new ObjectMapper();
writer.write(mapper.writeValueAsString(result));
return false; return false;
} }
} }
private void setCorsMappings(HttpServletRequest request, HttpServletResponse response){
String origin = request.getHeader("Origin");
response.setHeader("Access-Control-Allow-Origin", origin);
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with,Authorization");
response.setHeader("Access-Control-Allow-Credentials", "true");
}
@Override @Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("post");
} }
@Override @Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("after");
} }
} }

View File

@ -0,0 +1,29 @@
package cn.mafangui.hotel.tool;
import cn.mafangui.hotel.response.AjaxResult;
import cn.mafangui.hotel.response.MsgType;
import cn.mafangui.hotel.response.ResponseUtil;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.PrintWriter;
public class UserInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
if(session.getAttribute("userId") != null){
return true;
}else {
PrintWriter writer = response.getWriter();
AjaxResult result = ResponseUtil.failed(MsgType.PERMISSION_DENIED);
ObjectMapper mapper = new ObjectMapper();
writer.write(mapper.writeValueAsString(result));
return false;
}
}
}

View File

@ -1,7 +1,7 @@
server: server:
port: 8080 port: 8080
servlet: servlet:
context-path: "/hotel" context-path: "/ho-api"
spring: spring:
datasource: datasource:
driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver