introduce
The system can be used as a graduation project with complete content, and the thesis part is 13000 words. It includes ER diagram, flow chart, use case diagram, architecture diagram, physical design model, etc. the topic type is novel, imitates the practice of [poison] APP, and has both client and background management. Take Springboot as the framework and mysql as the database support.
effect
Background management end:
Paper content
functional requirement
The basic functional requirements of users are as follows:
(1) User registration function, including user name, password, contact number, gender, etc;
(2) User login function, verify user name and password;
(3) User ordering function, including type selection, type selection, quantity, etc;
(4) User personal Center: here, users can see their orders.
The basic functional requirements of the administrator are as follows:
(1) Login function of administrators and employees;
(2) Role management function, including free allocation of various permissions to employees;
(3) Employee management functions, including query of employee list.
(4) User order information statistics function to clearly view the recent user's orders.
(5) System log function, including viewing system log;
(6) User management, including query and management of user information;
(7) Business statistics, including daily statistics and monthly statistics of turnover.
(8) Care category management, and it is expected that new care categories may be added in the later stage
Because the order status conversion of the system is cumbersome, we need to analyze the order process in detail to ensure that there will be no logical errors in operation. The system mainly focuses on the operations such as user placing orders, background processing orders, user receiving and evaluation. Ensure the normal transition between each state and the normal execution of business. The steps of the whole order should have the following functions:
(1) The user enters the platform and selects the washing service to place an order.
(2) The user placed an order by mistake / didn't want it, so the order was cancelled.
(3) The user confirms the order information and makes payment.
(4) The system judges the user's balance to recharge and completes the payment (otherwise, it will remind the user to recharge).
(5) The user sends the shoes / luxury bags (luxury bags) to be cleaned to the factory according to the order.
(6) The factory received Shoes / luxury bags.
(7) The plant is cleaned.
(8) The factory will return the cleaned Shoes / luxury bags to the users.
(9) The user confirms the receipt of shoes / luxury bags and evaluates them.
ER diagram
physical model
Partial (main) association table:
data dictionary
Partial data field demonstration:
Partial code
/** * Get the latest three good reviews * @param type Get according to the type of care * @return Return to comment list */ public static List<Comment> getComment(String type ){ QueryWrapper<Comment> wrapper = new QueryWrapper<>(); //If type is empty, it means that three latest comments are obtained from all types of comments. if(StringUtils.isNotBlank(type)) { wrapper.eq("type",type); } //Condition: the comment rating is five stars (0-4 indicates 1-5 stars) wrapper.eq("level",4); //Sort by time to get the latest wrapper.orderByDesc("createtime"); //Get only three wrapper.last( " limit 3 "); List<Comment> list = commentService.list(wrapper); for (Comment comment:list){ //Fill in reviewer information User user = userService.getById(comment.getUserId()); comment.setUsername(user.getUsername()); comment.setUserpic(user.getPicture()); //Fill print picture QueryWrapper<FileInfo> fileInfoQueryWrapper = new QueryWrapper<>(); fileInfoQueryWrapper.eq("outer_id",comment.getId()); comment.setPics(fileInfoService.list(fileInfoQueryWrapper)); } return list; }
/complete @RequestMapping("complete") @ResponseBody @Transactional public ApiResult complete(String id){//Detail id //Obtain detailed order information according to id OrderDetail orderDetail =detailService.getById(id); //Mark it as cleaned orderDetail.setStatus("Y"); detailService.updateById(orderDetail); //If all details of this order are completed, the order status is set to cleaned. QueryWrapper<OrderDetail> wrapper = new QueryWrapper<>(); wrapper.select("count(1) as count "); wrapper.eq("order_id",orderDetail.getOrderId()); Map<String, Object> map = detailService.getMap(wrapper); long count = (Long) map.get("count"); if(count==0){ //Indicates that the order has been cleaned; Order order = new Order(); order.setStatus("5");//5 cleaned orderService.updateById(order); } return success(); }