Realization of tourism information management platform system based on Java+Spring+vue+element

​ Continue to create and accelerate growth! This is the 6th day of my participation in the "Nuggets Daily New Plan · June Update Challenge", click to view the details of the event

Introduction:

        With the continuous popularization and development of the Internet, the tourism platform has developed rapidly with the support of e-IT business. First of all, it is necessary to start from the actual needs of users, and develop a targeted tourism platform management for intra-city surrounding tours by understanding the needs of users. The convenience and speed brought by the network to users adjust the system, and the designed system makes it more convenient for users to use. The main purpose of this system is to bring speed, efficiency and safety to users. operate. At the same time, with the development of e-commerce and commerce, the travel platform around the city has attracted the attention of the majority of users.

Since the development of the Internet, it has solved many problems that we cannot solve, making our work more convenient and improving our work efficiency. At present, all walks of life are using network information management programs, and different users are also exposed to information management, especially in the major e-commerce industries. By analyzing and summarizing the development of the current network environment, the development of a travel platform around the city can change the previous management method and change the status of the traditional offline travel platform for the same city. Due to the increasing number of users, the use of traditional offline manual mode has It is far from meeting the needs of users, and more and more travel agencies are also opening online travel platforms for intra-city travel around the city. Therefore, developing a travel platform for intra-city travel around the city can solve the problem that travel agencies are not conducive to offline tourism resources. At the same time, travel agencies The network can be used to manage the information of the travel platform around the city, and the designed website ensures the integrity and security of the information, so as to improve the work efficiency and ensure the safe and normal operation of the system.

system design:

The travel platform mainly includes two major functional modules, namely the user functional module and the administrator functional module.

(1) Administrator module: The core user in the system is the administrator. After the administrator logs in, he manages the background system through the administrator function. The main functions are: home page, user management, personal center module, scenic spot-related information management, ticketing information management, room type management, hotel information management, room information management, room reservation management, exchange forums, system management and other functions. The administrator use case diagram is shown in the figure

 (2) User: Home page, personal center module, ticket information management, room reservation management, my collection management and other functions, the user is shown in the figure.

(3)系统整体结构图

功能截图:

用户前台首页:

用户登录注册: 用户登录、用户注册,在注册页面可以填写用户名、姓名、手机、密码、身份证等信息进行注册、登录。

系统首页展示: 在系统首页可以查看首页、景点相关信息、酒店信息、客房信息、红色文化、交流论坛、个人中心模块、后台管理模块、客服等内容,如图所示。

景点信息展示: 景点相关信息,在景点相关信息页面通过填写景点名称、景点图片、景点等级、景点地址、门票的价格、开放时间、购票须知等信息进行购票,如图所示。

 在景点相关信息页面通过填写景点名称、景点图片、景点等级、景点地址、门票的价格、开放时间、购票须知等信息进行购票,如图所示。

酒店信息展示:

在酒店信息页面通过填写酒店名称、图片、星级、酒店类型、酒店地址、联系电话等信息进行点我收藏操作

客房信息展示:

交流论坛展示:

个人中心展示:

用户后台管理:

管理员后台管理:

用户管理: 在用户管理页面中可以通过填写用户名、密码、姓名、性别、头像、手机、身份证等内容进行修改、删除,如图5-6所示。还可以根据需要对景点相关信息管理进行详情,修改或删除等详细操作

景点管理: 在景点相关信息页面通过填写景点名称、景点图片、景点等级、景点地址、门票的价格、开放时间、购票须知等信息进行购票,如图所示。在酒店信息页面通过填写酒店名称、图片、星级、酒店类型、酒店地址、联系电话等信息进行点我收藏操作

购票管理:

Hotel management: In the hotel information management page, you can fill in the hotel name, picture, star rating, hotel type, hotel address, contact number and other information, and you can modify or delete the existing hotel information management as needed.

Room reservation management: In the room information management page, you can view the room name, room type, room picture, room facilities, room price, room status, hotel name, hotel type, hotel address, etc., and manage the existing room information as needed. Carry out detailed operations such as details, modification or deletion.

Communication Forum Management:

System Carousel Management: This page is the carousel management interface. Administrators can manage the homepage carousel on this page, add new pictures to the carousel by creating a new operation, modify the uploaded pictures, and delete pictures

Code:


/**
 * 酒店信息
 * 后端接口
 * @author 
 * @email 
 * @date 2022-03-03 13:33:00
 */
@RestController
@RequestMapping("/jiudianxinxi")
public class JiudianxinxiController {
    @Autowired
    private JiudianxinxiService jiudianxinxiService;
    

    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,JiudianxinxiEntity jiudianxinxi, HttpServletRequest request){

        EntityWrapper<JiudianxinxiEntity> ew = new EntityWrapper<JiudianxinxiEntity>();
		PageUtils page = jiudianxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiudianxinxi), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,JiudianxinxiEntity jiudianxinxi, HttpServletRequest request){
        EntityWrapper<JiudianxinxiEntity> ew = new EntityWrapper<JiudianxinxiEntity>();
		PageUtils page = jiudianxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiudianxinxi), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( JiudianxinxiEntity jiudianxinxi){
       	EntityWrapper<JiudianxinxiEntity> ew = new EntityWrapper<JiudianxinxiEntity>();
      	ew.allEq(MPUtil.allEQMapPre( jiudianxinxi, "jiudianxinxi")); 
        return R.ok().put("data", jiudianxinxiService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(JiudianxinxiEntity jiudianxinxi){
        EntityWrapper< JiudianxinxiEntity> ew = new EntityWrapper< JiudianxinxiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( jiudianxinxi, "jiudianxinxi")); 
		JiudianxinxiView jiudianxinxiView =  jiudianxinxiService.selectView(ew);
		return R.ok("查询酒店信息成功").put("data", jiudianxinxiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        JiudianxinxiEntity jiudianxinxi = jiudianxinxiService.selectById(id);
        return R.ok().put("data", jiudianxinxi);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        JiudianxinxiEntity jiudianxinxi = jiudianxinxiService.selectById(id);
        return R.ok().put("data", jiudianxinxi);
    }
    

    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody JiudianxinxiEntity jiudianxinxi, HttpServletRequest request){
    	jiudianxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(jiudianxinxi);

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

        jiudianxinxiService.insert(jiudianxinxi);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody JiudianxinxiEntity jiudianxinxi, HttpServletRequest request){
        //ValidatorUtils.validateEntity(jiudianxinxi);
        jiudianxinxiService.updateById(jiudianxinxi);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        jiudianxinxiService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@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<JiudianxinxiEntity> wrapper = new EntityWrapper<JiudianxinxiEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = jiudianxinxiService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	
}
复制代码

Paper references:

Source code acquisition:

Everyone like, favorite, follow, comment , check the homepage to get

Punch articles updated 275/365 days

Guess you like

Origin juejin.im/post/7103333895105413151