27 boot of shoe washing platform (Thesis)

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();
}

test

Tags: Database MySQL Spring Boot

Posted on Wed, 06 Oct 2021 20:08:55 -0400 by monkeypaw201