Java + Spring + vue+elementに基づく観光情報管理プラットフォームシステムの実現

成長を生み出し、加速し続けます!「ナゲッツデイリーニュープラン・6月アップデートチャレンジ」に参加して6日目です。クリックしてイベントの詳細をご覧ください。

序章:

        インターネットの継続的な普及と発展に伴い、e-ITビジネスの支援を受けて観光プラットフォームは急速に発展してきました。まず、ユーザーの実際のニーズから始めて、イントラ向けのターゲットを絞った観光プラットフォーム管理を開発する必要があります。 -ユーザーのニーズを理解した都市周辺ツアーネットワークがユーザーにもたらす利便性とスピードがシステムを調整し、設計されたシステムがユーザーにとってより便利になります。このシステムの主な目的は、スピードと効率をもたらすことです。とユーザーへの安全。操作します。同時に、eコマースとコマースの発展に伴い、市内の旅行プラットフォームは大多数のユーザーの注目を集めています。

インターネットの発達以来、私たちが解決できない多くの問題を解決し、仕事をより便利にし、仕事の効率を向上させてきました。現在、すべての分野でネットワーク情報管理プログラムが使用されており、特に主要なeコマース業界ではさまざまなユーザーが情報管理にさらされています。現在のネットワーク環境の発展を分析して要約することにより、都市周辺の旅行プラットフォームの開発は、以前の管理方法を変更し、同じ都市の従来のオフライン旅行プラットフォームのステータスを変更することができます。ユーザー数の増加により、従来のオフライン手動モードの使用は、ユーザーのニーズを満たすにはほど遠いものであり、ますます多くの旅行代理店が市内の都市内旅行のためのオンライン旅行プラットフォームを開いています。したがって、都市内旅行のための旅行プラットフォームを開発しています市内周辺では、旅行代理店がオフラインの観光リソースを利用できないという問題を解決できます。同時に、旅行代理店ネットワークを使用して、市内周辺の旅行プラットフォームの情報を管理できます。また、設計されたWebサイトにより、完全性と作業効率を改善し、システムの安全で正常な運用を確保するための情報のセキュリティ。

システムデザイン:

旅行プラットフォームには、主に2つの機能モジュール、つまりユーザー機能モジュールと管理者機能モジュールが含まれています。

(1)管理者モジュール:システムのコアユーザーは管理者です。管理者がログインした後、管理者機能を使用してバックグラウンドシステムを管理します。主な機能は、ホームページ、ユーザー管理、パーソナルセンターモジュール、景勝地関連情報管理、発券情報管理、部屋タイプ管理、ホテル情報管理、部屋情報管理、部屋予約管理、交流フォーラム、システム管理などです。 。管理者のユースケース図を図に示します

 (2)ユーザー:ホームページ、パーソナルセンターモジュール、チケット情報管理、部屋予約管理、コレクション管理などの機能で、ユーザーは図のようになります。

(3)システム全体の構造図

機能的なスクリーンショット:

ユーザーフロントページ:

ユーザーログインと登録:ユーザーログイン、ユーザー登録、登録ページで、ユーザー名、名前、携帯電話、パスワード、IDカードなどの情報を入力して登録およびログインできます。

システムホームページ表示:システムホームページでは、ホームページ、アトラクション関連情報、ホテル情報、客室情報、赤文化、交流フォーラム、パーソナルセンターモジュール、背景管理モジュール、カスタマーサービスなどのコンテンツを閲覧できます。図に示されています。

景勝地情報表示:景勝地関連情報、景勝地名、景勝地写真、景勝地レベル、景勝地住所、チケット価格、開場時間、チケット購入説明書などの景勝地関連情報を入力してチケットを購入する図に示すように、ページ。

 アトラクション関連情報ページで、図のようにアトラクション名、アトラクション写真、アトラクションレベル、アトラクションアドレス、チケット価格、開場時間、チケット購入説明書などを記入してチケットを購入します。

ホテル情報表示:

ホテル情報ページで、私

部屋情報表示:

コミュニケーションフォーラムの表示:

パーソナルセンターディスプレイ:

ユーザーのバックグラウンド管理:

管理者のバックグラウンド管理:

ユーザー管理:ユーザー管理ページでは、図5-6に示すように、ユーザー名、パスワード、名前、性別、アバター、携帯電話、IDカードなどを変更または削除できます。必要に応じて、景勝地の情報の編集、変更、削除などの詳細な操作を行うこともできます。

アトラクション管理:アトラクション関連情報ページで、図に示すように、アトラクション名、アトラクション写真、アトラクションレベル、アトラクションアドレス、チケット価格、開場時間、チケット購入手順などの情報を入力してチケットを購入します。ホテル情報ページで、ホテル名、写真、星評価、ホテルの種類、ホテルの住所、連絡先番号、その他の情報を入力して、私をクリックして収集します。

チケット管理:

ホテル管理:ホテル情報管理ページでは、ホテル名、写真、星評価、ホテルタイプ、ホテル住所、連絡先番号などの情報を入力でき、必要に応じて既存のホテル情報管理を変更または削除できます。

部屋予約管理:部屋情報管理ページでは、部屋名、部屋タイプ、部屋の写真、部屋の設備、部屋の価格、部屋の状態、ホテル名、ホテルタイプ、ホテルの住所などを表示し、既存の部屋を管理できます必要に応じて情報を提供します。詳細、変更、削除などの詳細な操作を実行します。

コミュニケーションフォーラム管理:

システムカルーセル管理:このページはカルーセル管理インターフェースです。管理者は、このページでホームページカルーセルを管理したり、新しい操作を作成してカルーセルに新しい画像を追加したり、アップロードされた画像を変更したり、画像を削除したりできます。

コード:


/**
 * 酒店信息
 * 后端接口
 * @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);
	}
	
}
复制代码

紙の参照:

ソースコードの取得:

もが好き、お気に入り、フォロー、コメントホームページをチェックして入手してください

パンチ記事は275/365日更新されました

おすすめ

転載: juejin.im/post/7103333895105413151