diff --git a/src/main/java/com/jiudian/manage/config/CustomMVCConfiguration.java b/src/main/java/com/jiudian/manage/config/CustomMVCConfiguration.java index f3c36c4..2eaf150 100644 --- a/src/main/java/com/jiudian/manage/config/CustomMVCConfiguration.java +++ b/src/main/java/com/jiudian/manage/config/CustomMVCConfiguration.java @@ -1,5 +1,5 @@ package com.jiudian.manage.config; - +//// 导入Spring相关注解和类 import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.HttpMessageConverter; @@ -9,11 +9,16 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter import java.nio.charset.Charset; import java.util.List; -// + +// * 自定义MVC配置类 +// * 用于配置HTTP消息转换和内容协商,解决中文乱码问题 +// */ @Configuration public class CustomMVCConfiguration extends WebMvcConfigurerAdapter { - + //创建并配置String类型的HTTP消息转换器 @Bean + // 声明这是一个Bean,会被Spring容器管理 + // 创建字符串消息转换器,设置字符集为UTF-8 public HttpMessageConverter responseBodyConverter() { StringHttpMessageConverter converter = new StringHttpMessageConverter( Charset.forName("UTF-8")); @@ -24,7 +29,9 @@ public class CustomMVCConfiguration extends WebMvcConfigurerAdapter { public void configureMessageConverters( List> converters) { super.configureMessageConverters(converters); + // 先调用父类方法,保留默认的转换器配置 converters.add(responseBodyConverter()); + // 添加我们自定义的字符串转换器 } @Override @@ -32,4 +39,6 @@ public class CustomMVCConfiguration extends WebMvcConfigurerAdapter { ContentNegotiationConfigurer configurer) { configurer.favorPathExtension(false); } -} \ No newline at end of file +} +// 禁用基于URL路径扩展名的内容协商 +// 例如:/api/users.json 或 /api/users.xml 这样的URL将不再生效 \ No newline at end of file diff --git a/src/main/java/com/jiudian/manage/controller/ConfigController.java b/src/main/java/com/jiudian/manage/controller/ConfigController.java index 92f264f..31bdded 100644 --- a/src/main/java/com/jiudian/manage/controller/ConfigController.java +++ b/src/main/java/com/jiudian/manage/controller/ConfigController.java @@ -10,26 +10,34 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.Map; -// -@RestController -@RequestMapping(value = "/config") +///** +// * 配置管理控制器 +// * 处理与系统配置相关的HTTP请求 +// */ +@RestController //标记此类为REST控制器,所有方法返回JSON格式数据 +@RequestMapping(value = "/config") //定义基础URL路径 public class ConfigController { + //自动注入ConfigService服务,依赖注入 @Autowired ConfigService configService; /** - * - * @return + * 获取系统配置信息 + * @return 包含配置信息的Map对象 */ - @RequestMapping(value = "/getConfig.do") + @RequestMapping(value = "/getConfig.do") //定义具体的URL路径 public Map getConfig(){ + // 调用服务层获取配置信息 Config config = configService.get(); + // 创建状态信号对象,用于统一返回格式 StateSignal signal = new StateSignal(); if(config!=null){ + // 配置存在,返回成功状态和配置数据 signal.put(State.SuccessCode); signal.put(State.SuccessMessage); signal.put("config",config); }else { + // 配置不存在,返回错误状态 signal.put(State.ErrorCode); signal.put(State.ErrorMessage); } @@ -48,11 +56,14 @@ public class ConfigController { * @param totalroom 总卖出房数 * @return */ - @RequestMapping(value = "/updateConfig.do") + @RequestMapping(value = "/updateConfig.do")//// 定义具体的URL路径 public Map updateConfig(@RequestParam double managesalary,@RequestParam double staffsalary,@RequestParam double cleanerssalary,@RequestParam double manage,@RequestParam double staff,@RequestParam double cleaner,@RequestParam(required = false,defaultValue = "-1") double totalmoney,@RequestParam(required = false,defaultValue = "-1") double totalroom){ + // 调用服务层执行更新操作 boolean update = configService.update(managesalary, staffsalary, cleanerssalary, manage, staff, cleaner, totalmoney, totalroom); + // 创建状态信号对象 StateSignal signal = new StateSignal(); if(update){ + // 更新成功 signal.put(State.SuccessCode); signal.put(State.SuccessMessage); }else { diff --git a/src/main/java/com/jiudian/manage/controller/FileController.java b/src/main/java/com/jiudian/manage/controller/FileController.java index 578a47f..0d2eca3 100644 --- a/src/main/java/com/jiudian/manage/controller/FileController.java +++ b/src/main/java/com/jiudian/manage/controller/FileController.java @@ -16,26 +16,37 @@ import java.io.FileOutputStream; import java.util.Map; import java.util.Random; import java.util.UUID; - -@RestController +/** + * 文件上传控制器 + * 主要处理用户头像上传功能 + */ +@RestController //标记为REST控制器,返回JSON格式数据 @RequestMapping(value = "/upFile") public class FileController { + // 自动注入UserService服务 @Autowired UserService userService; -//z + @RequestMapping("/upFilePhoto.do") public Map upFilePhoto(@RequestParam MultipartFile file,@RequestParam int userid){ + //接受上传文件和用户Id + // 生成唯一的文件名,避免文件名冲突 + // 使用UUID+原始文件名 String fileName = UUID.randomUUID().toString()+file.getOriginalFilename(); - +//定义文件保存路径 + // 本地保存路径:项目资源目录下的static/File文件夹 String filePath = ".\\src\\main\\resources\\static\\File\\"; String RealfilePath = "File"+"/"+fileName; + // 更新用户头像路径到数据库 boolean photo = userService.photo(userid, RealfilePath); boolean b = false; try { b = FileUtil.uploadFile(file.getBytes(), filePath, fileName); } catch (Exception e) { + // 捕获并打印异常信息 e.printStackTrace(); } + // 创建状态信号对象,封装 API 接口,用于统一JSON回格式 StateSignal signal = new StateSignal(); if(b&&photo){ signal.put(State.SuccessCode); diff --git a/src/main/java/com/jiudian/manage/controller/OrderController.java b/src/main/java/com/jiudian/manage/controller/OrderController.java index 42c01db..0b73bfd 100644 --- a/src/main/java/com/jiudian/manage/controller/OrderController.java +++ b/src/main/java/com/jiudian/manage/controller/OrderController.java @@ -12,13 +12,17 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; - +/** + * 订单管理控制器 + * 处理酒店预订系统中的订单相关操作 + * 这个控制器实现了酒店订单管理的核心功能,包括创建、删除、更新和查询订单 + */ @RestController @RequestMapping(value = "/order") public class OrderController { @Autowired OrderServiceImpl orderService; -// +//: 自动注入订单服务实现类 /** * 添加订单 * @param householdname 入住人姓名 @@ -29,11 +33,14 @@ public class OrderController { * @param userid 用户id * @return */ + //Spring MVC 中的一个注解,用于将 HTTP 请求映射到控制器的处理方法上 @RequestMapping("/addOrder.do") public Map addOrder(@RequestParam String householdname,@RequestParam String id,@RequestParam String starttime,@RequestParam String endtime,@RequestParam int roomid,@RequestParam int userid){ + // 调用服务层添加订单 boolean b = orderService.addOrder(householdname, id, starttime, endtime, roomid, userid); StateSignal signal = new StateSignal(); if(b){ + //添加成功 signal.put(State.SuccessCode); signal.put(State.SuccessMessage); }else { @@ -70,6 +77,7 @@ public class OrderController { */ @RequestMapping("/updateOrderState.do") public Map updateOrderState(@RequestParam int orderid,@RequestParam int state){ + // 调用服务层更新订单状态 boolean b = orderService.updateOrderState(orderid, state); StateSignal signal = new StateSignal(); if(b){ @@ -81,9 +89,18 @@ public class OrderController { } return signal.getResult(); } + /** + * 获取所有订单(分页查询) + * + * @param pageNum 页码 + * @param pageSize 每页记录数 + * @return 包含订单列表和分页信息的Map对象 + */ @RequestMapping("/getAllOrder.do") public Map getAllOrder(@RequestParam int pageNum,@RequestParam int pageSize){ + +// 调用服务层获取订单列表 List allOrder = orderService.getAllOrder(pageNum, pageSize); StateSignal signal = new StateSignal(); if(allOrder!=null){ diff --git a/src/main/java/com/jiudian/manage/controller/RoomController.java b/src/main/java/com/jiudian/manage/controller/RoomController.java index 07b16d2..c7f6990 100644 --- a/src/main/java/com/jiudian/manage/controller/RoomController.java +++ b/src/main/java/com/jiudian/manage/controller/RoomController.java @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; - +//这个控制器实现了酒店房间管理的完整功能,包括添加、删除、查询和更新房间信息。 @RestController @RequestMapping(value = "/room") public class RoomController { @@ -58,7 +58,7 @@ public class RoomController { } return signal.getResult(); } - +//更新房间信息 @RequestMapping("/updateRoom.do") public Map updateRoom(@RequestParam int roomid,@RequestParam(required = false,defaultValue = "null") String local,@RequestParam(required = false,defaultValue = "-1") double money,@RequestParam(required = false,defaultValue = "-1") int state,@RequestParam(required = false,defaultValue = "-1") int type){ boolean b = roomService.updateRoom(roomid, local, money, state, type); @@ -72,6 +72,7 @@ public class RoomController { } return signal.getResult(); } + //根据ID查询房间详情 @RequestMapping("/getRoomById.do") public Map getRoomById(@RequestParam int roomid){ Room b = roomService.getRoomById(roomid); diff --git a/src/main/java/com/jiudian/manage/controller/UserController.java b/src/main/java/com/jiudian/manage/controller/UserController.java index 5ba26f8..d9ec93f 100644 --- a/src/main/java/com/jiudian/manage/controller/UserController.java +++ b/src/main/java/com/jiudian/manage/controller/UserController.java @@ -16,15 +16,16 @@ import javax.servlet.http.HttpSession; import java.io.IOException; import java.util.List; import java.util.Map; - +//这个控制器实现了完整的用户管理功能,包括 验证码认证、授权.登录、注册、信息管理操作 @RestController @RequestMapping(value = "/user") public class UserController { + // 自动注入用户服务实现类 @Autowired UserServiceImpl userService; /** - * 登录(已测试) + * 登录 * @param useraccount * @param password * @return @@ -32,9 +33,11 @@ public class UserController { @RequestMapping(value = "/login.do") public Map login(@RequestParam String useraccount, @RequestParam String password,@RequestParam String icode,HttpSession session){ StateSignal signal = new StateSignal(); + // 验证验证码 String code = (String) session.getAttribute(ImageCode.CODENAME); System.out.println("session: "+code+" 实际"+icode); if(icode!=null&&code!=null&&icode.equals(code)){ + // 调用服务层进行登录验证 int[] login = userService.login(useraccount, password); if(login!=null){ signal.put(State.SuccessCode); @@ -51,9 +54,17 @@ public class UserController { } return signal.getResult(); } - + /** + * 生成验证码图片 + * + * @param code 验证码 + * @param response HTTP响应对象 + * @param session HTTP会话对象 + * @throws IOException IO异常 + */ @GetMapping("/createImage") public void createImage(@RequestParam String code, HttpServletResponse response, HttpSession session) throws IOException { + // 调用工具类生成验证码图片 ImageCode.createImage(response,session); } @@ -66,6 +77,7 @@ public class UserController { */ @RequestMapping(value = "/addUser.do") public Map addUser(@RequestParam String useraccount, @RequestParam String password, @RequestParam String power){ + // 调用服务层添加用户 boolean add = userService.addUser(useraccount,password,Integer.parseInt(power)); StateSignal signal = new StateSignal(); if(add){ @@ -79,7 +91,7 @@ public class UserController { } /** - * 修改用户数据(已测试) + * 修改用户数据 * @param userid * @param password * @param username @@ -90,6 +102,7 @@ public class UserController { */ @RequestMapping(value = "/updateUser.do") public Map updateUser(@RequestParam int userid,@RequestParam(required = false,defaultValue = "null") String password,@RequestParam(required = false,defaultValue = "null") String username,@RequestParam(required = false,defaultValue = "-1") int age,@RequestParam(required = false,defaultValue = "-1") int power,@RequestParam(required = false,defaultValue = "null") String IDnumber,@RequestParam(required = false,defaultValue = "null") String phonenumber){ + // 调用服务层更新用户信息 boolean upd = userService.alterUser(userid, password, username, age, power, IDnumber,phonenumber); StateSignal signal = new StateSignal(); if(upd){