Introduction:

Opportunities and challenges exist side by side. In front of the open Internet platform, the information management of the reservation management system of driving schools is facing great challenges. The traditional management mode is limited to the management of simple data and cannot adapt to the changing market pattern. In the early stage, before integrating computer technology and network technology into the data management method of driving school appointment management system, all management methods have completed the management information through manual operation.

The system management will also carry out the overall intelligent operation through the computer, for the driving school appointment management system involved in the management and data storage are very much, for example, like all the detailed information including the administrator; Home page, personal center, student management, driving school coach management, driving school vehicle management, appointment management, cancellation management, driving school announcement management, system management. Driving school instructor; Home page, personal center, driving school coach management, appointment management, cancellation management. Students; Home page, personal center, reservation management, cancellation management, etc. To this end, the development of the driving school appointment management system, to provide students with an online driving school appointment management system platform, at the same time convenient for the manager to deal with the coach management. The system meets the needs of students with different authority, that is, administrators and coaches, students, management information can be timely, accurate and effective to carry out systematic, standardized and effective work.

Functional design:

Data design:

Database is the core of the whole software program design, so the primary problem of development is to determine the number of database and the creation of structural formula. As described above, this paper will use Mysql technology to achieve the management of the database to ensure its availability, consistency, confidentiality and integrity. Some unauthorized users may attack the system database to obtain data in the database. Mysql can provide good protection.

Before creating the database, it is necessary to design the conceptual model of the data of the system. What are the attributes of the design entity and what is the direct correlation of the entity? According to the conceptual design, the overall system ER diagram below is obtained

E-r diagram of student information entity

E-r map of driving school instructor information

Driving school announcement information E-R diagram

Function screenshots:

Login and registration: the administrator directly login, student registration/login, by filling in the student account, password, student name, gender, mobile phone number, ID card, profile picture and other registration information, enter the completion of the login can enter the driving school appointment management system

Homepage introduction: Homepage browsing, through the content list can obtain the homepage of the website, driving school coach, driving school announcement, personal center, background management and other information operation content

Coach module: you can view the booking coach, coach comments and other operations

Driving school announcement: you can view the announcement title, announcement type, release time, release person, cover, operation and other information

Announcement Details:

Personal Center:

Background management of students: students can view and modify personal information, appointment and cancellation of appointment and other functions

Coach background management: coach background management can view personal information, booking and cancelling appointments and view students’ comments on their own information

Administrator background management:

Coach management: By clicking the driving school coach information, you can view the coach account, password, coach name, age, gender, profile picture, contact phone number, personal profile, operation and other information content, and add, delete, modify the details of the operation

Driving school vehicle management: you can view the vehicle number, picture, license plate number and other information through the list, and modify or delete the operation

Appointment Management:

Driving school announcement information and home page rotation map, etc. :

Part code:



/** * Cancel reservation * back-end interface *@author 
 * @email 
 * @dateThe 2022-02-30 14:46:24 * /
@RestController
@RequestMapping("/quxiaoyuyue")
public class QuxiaoyuyueController {
    @Autowired
    private QuxiaoyuyueService quxiaoyuyueService;
    


    /** * Back-end list */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,QuxiaoyuyueEntity quxiaoyuyue, HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("jiaxiaojiaolian")) {
			quxiaoyuyue.setJiaolianzhanghao((String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("xueyuan")) {
			quxiaoyuyue.setXueyuanzhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<QuxiaoyuyueEntity> ew = new EntityWrapper<QuxiaoyuyueEntity>();
		PageUtils page = quxiaoyuyueService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, quxiaoyuyue), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,QuxiaoyuyueEntity quxiaoyuyue, HttpServletRequest request){
        EntityWrapper<QuxiaoyuyueEntity> ew = new EntityWrapper<QuxiaoyuyueEntity>();
		PageUtils page = quxiaoyuyueService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, quxiaoyuyue), params), params));
        return R.ok().put("data", page);
    }

	/** * list */
    @RequestMapping("/lists")
    public R list( QuxiaoyuyueEntity quxiaoyuyue){
       	EntityWrapper<QuxiaoyuyueEntity> ew = new EntityWrapper<QuxiaoyuyueEntity>();
      	ew.allEq(MPUtil.allEQMapPre( quxiaoyuyue, "quxiaoyuyue")); 
        return R.ok().put("data", quxiaoyuyueService.selectListView(ew));
    }

	 /** * query */
    @RequestMapping("/query")
    public R query(QuxiaoyuyueEntity quxiaoyuyue){
        EntityWrapper< QuxiaoyuyueEntity> ew = new EntityWrapper< QuxiaoyuyueEntity>();
 		ew.allEq(MPUtil.allEQMapPre( quxiaoyuyue, "quxiaoyuyue")); 
		QuxiaoyuyueView quxiaoyuyueView =  quxiaoyuyueService.selectView(ew);
		return R.ok("Query for cancellation succeeded").put("data", quxiaoyuyueView);
    }
	
    /** ** */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        QuxiaoyuyueEntity quxiaoyuyue = quxiaoyuyueService.selectById(id);
        return R.ok().put("data", quxiaoyuyue);
    }

    /** * Front-end details */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") String id){
        QuxiaoyuyueEntity quxiaoyuyue = quxiaoyuyueService.selectById(id);
        return R.ok().put("data", quxiaoyuyue);
    }
    



    /** * The backend saves */
    @RequestMapping("/save")
    public R save(@RequestBody QuxiaoyuyueEntity quxiaoyuyue, HttpServletRequest request){
    	quxiaoyuyue.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(quxiaoyuyue);

        quxiaoyuyueService.insert(quxiaoyuyue);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody QuxiaoyuyueEntity quxiaoyuyue, HttpServletRequest request){
    	quxiaoyuyue.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(quxiaoyuyue);

        quxiaoyuyueService.insert(quxiaoyuyue);
        return R.ok();
    }

    /** * modify */
    @RequestMapping("/update")
    public R update(@RequestBody QuxiaoyuyueEntity quxiaoyuyue, HttpServletRequest request){
        //ValidatorUtils.validateEntity(quxiaoyuyue);
        quxiaoyuyueService.updateById(quxiaoyuyue);// All updates
        return R.ok();
    }
    

    /** * delete */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        quxiaoyuyueService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /** * remind interface */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")! =null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")! =null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<QuxiaoyuyueEntity> wrapper = new EntityWrapper<QuxiaoyuyueEntity>();
		if(map.get("remindstart")! =null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")! =null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("jiaxiaojiaolian")) {
			wrapper.eq("jiaolianzhanghao", (String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("xueyuan")) {
			wrapper.eq("xueyuanzhanghao", (String)request.getSession().getAttribute("username"));
		}

		int count = quxiaoyuyueService.selectCount(wrapper);
		return R.ok().put("count", count); }}Copy the code

Thesis Reference:

Contact me:

Like, like, follow, comment, check out 🏻

Clocked articles updated 226/365 days