当前位置: 首页 > news >正文

上海疫情幕后真凶做seo推广一年大概的费用

上海疫情幕后真凶,做seo推广一年大概的费用,黄骅市政府,好客山东app下载末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

末尾获取源码
开发语言:Java
Java开发工具:JDK1.8
后端框架:SSM
前端:采用JSP技术开发
数据库:MySQL5.7和Navicat管理工具结合
服务器:Tomcat8.5
开发软件:IDEA / Eclipse
是否Maven项目:是

项目编号:285


目录

一、项目简介

二、系统功能

三、系统项目截图

管理员功能实现

景点管理

路线管理

套餐管理

套餐订单管理

套餐留言管理

用户功能实现

景点信息

路线信息

套餐信息

新闻信息

四、核心代码

登录相关

文件上传

封装


一、项目简介

互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对旅游信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用旅游管理系统可以有效管理,使信息管理能够更加科学和规范。

旅游管理系统在Eclipse环境中,使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员管理套餐,套餐订单和套餐留言,管理景点,路线以及新闻信息。用户查看景点,路线,套餐,可以预订套餐并发布套餐留言。

总之,旅游管理系统集中管理信息,有着保密性强,效率高,存储空间大,成本低等诸多优点。它可以降低信息管理成本,实现信息管理计算机化。


二、系统功能

在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的管理员结构图(见下图)。管理员管理套餐,套餐订单和套餐留言,管理景点,路线以及新闻信息。

在前面分析的用户功能的基础上,进行接下来的设计工作,最终展示设计的用户结构图(见下图)。用户查看景点,路线,套餐,可以预订套餐并发布套餐留言。

 



三、系统项目截图

管理员功能实现

景点管理

管理员进入指定功能操作区之后可以管理景点信息。其页面见下图。管理员主要负责景点信息的增删改查。景点信息包括景点门票,景点等级,景点详情等信息。

路线管理

管理员进入指定功能操作区之后可以管理路线信息。其页面见下图。管理员负责路线信息的增删改查,路线信息包括路线总花费信息,路线照片信息,路线经过景点信息等。

 

套餐管理

管理员进入指定功能操作区之后可以管理套餐。其页面见下图。管理员在本页面可以新增套餐信息,修改套餐信息,批量删除套餐信息。

 

套餐订单管理

管理员进入指定功能操作区之后可以管理套餐订单信息。其页面见下图。管理员查看用户预订的套餐以及预订的套餐数量信息,可以删除指定的套餐订单信息。

 

套餐留言管理

管理员进入指定功能操作区之后可以管理套餐留言信息。其页面见下图。管理员查看并回复用户预订套餐时发布的留言信息。

 

用户功能实现

景点信息

用户进入指定功能操作区之后可以查看景点信息。其页面见下图。用户查看景点的介绍和门票价格,收藏景点信息。

 

路线信息

用户进入指定功能操作区之后可以查看路线信息。其页面见下图。用户查看路线图片,路线大概总花费信息以及路线经过的景点信息,用户可以在本页面收藏路线。

 

套餐信息

用户进入指定功能操作区之后可以查看套餐信息。其页面见下图。用户查看套餐详情,能够在本页面预订套餐,也能发布套餐留言信息。

 

新闻信息

用户进入指定功能操作区之后可以查看新闻信息。其页面见下图。用户可以查看当前页面显示的所有的新闻信息。

 


四、核心代码

登录相关


package com.controller;import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;/*** 登录相关*/
@RequestMapping("users")
@RestController
public class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密码已重置为:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public R list( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);userService.updateById(user);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}

文件上传

package com.controller;import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;/*** 上传文件映射表*/
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{@Autowiredprivate ConfigService configService;/*** 上传文件*/@RequestMapping("/upload")public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {if (file.isEmpty()) {throw new EIException("上传文件不能为空");}String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);File path = new File(ResourceUtils.getURL("classpath:static").getPath());if(!path.exists()) {path = new File("");}File upload = new File(path.getAbsolutePath(),"/upload/");if(!upload.exists()) {upload.mkdirs();}String fileName = new Date().getTime()+"."+fileExt;File dest = new File(upload.getAbsolutePath()+"/"+fileName);file.transferTo(dest);FileUtils.copyFile(dest, new File("C:\\Users\\Desktop\\jiadian\\springbootl7own\\src\\main\\resources\\static\\upload"+"/"+fileName));if(StringUtils.isNotBlank(type) && type.equals("1")) {ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));if(configEntity==null) {configEntity = new ConfigEntity();configEntity.setName("faceFile");configEntity.setValue(fileName);} else {configEntity.setValue(fileName);}configService.insertOrUpdate(configEntity);}return R.ok().put("file", fileName);}/*** 下载文件*/@IgnoreAuth@RequestMapping("/download")public ResponseEntity<byte[]> download(@RequestParam String fileName) {try {File path = new File(ResourceUtils.getURL("classpath:static").getPath());if(!path.exists()) {path = new File("");}File upload = new File(path.getAbsolutePath(),"/upload/");if(!upload.exists()) {upload.mkdirs();}File file = new File(upload.getAbsolutePath()+"/"+fileName);if(file.exists()){/*if(!fileService.canRead(file, SessionManager.getSessionUser())){getResponse().sendError(403);}*/HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);    headers.setContentDispositionFormData("attachment", fileName);    return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);}} catch (IOException e) {e.printStackTrace();}return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);}}

封装

package com.utils;import java.util.HashMap;
import java.util.Map;/*** 返回数据*/
public class R extends HashMap<String, Object> {private static final long serialVersionUID = 1L;public R() {put("code", 0);}public static R error() {return error(500, "未知异常,请联系管理员");}public static R error(String msg) {return error(500, msg);}public static R error(int code, String msg) {R r = new R();r.put("code", code);r.put("msg", msg);return r;}public static R ok(String msg) {R r = new R();r.put("msg", msg);return r;}public static R ok(Map<String, Object> map) {R r = new R();r.putAll(map);return r;}public static R ok() {return new R();}public R put(String key, Object value) {super.put(key, value);return this;}
}


文章转载自:
http://unctuous.wwxg.cn
http://orchidotomy.wwxg.cn
http://aganglionic.wwxg.cn
http://tungstenic.wwxg.cn
http://elation.wwxg.cn
http://gonfalon.wwxg.cn
http://remorse.wwxg.cn
http://uninstall.wwxg.cn
http://wanting.wwxg.cn
http://wineshop.wwxg.cn
http://marshman.wwxg.cn
http://southward.wwxg.cn
http://confidant.wwxg.cn
http://motherwort.wwxg.cn
http://dulcite.wwxg.cn
http://reflex.wwxg.cn
http://sorgo.wwxg.cn
http://casuistical.wwxg.cn
http://incoercible.wwxg.cn
http://protopodite.wwxg.cn
http://churchwoman.wwxg.cn
http://prognoses.wwxg.cn
http://cleidoic.wwxg.cn
http://onto.wwxg.cn
http://interleaf.wwxg.cn
http://vibram.wwxg.cn
http://bacterize.wwxg.cn
http://approbate.wwxg.cn
http://laputa.wwxg.cn
http://naxos.wwxg.cn
http://hutung.wwxg.cn
http://hydrofoil.wwxg.cn
http://seagoing.wwxg.cn
http://cleavable.wwxg.cn
http://gustiness.wwxg.cn
http://eliminate.wwxg.cn
http://larrigan.wwxg.cn
http://temperately.wwxg.cn
http://pinchcock.wwxg.cn
http://geld.wwxg.cn
http://wolfram.wwxg.cn
http://inflexibly.wwxg.cn
http://comrade.wwxg.cn
http://impair.wwxg.cn
http://pisatin.wwxg.cn
http://sura.wwxg.cn
http://phonopore.wwxg.cn
http://ungainful.wwxg.cn
http://ravenna.wwxg.cn
http://heterocaryon.wwxg.cn
http://psalmbook.wwxg.cn
http://siglos.wwxg.cn
http://microkernel.wwxg.cn
http://bisynchronous.wwxg.cn
http://dirigibility.wwxg.cn
http://thioantimonite.wwxg.cn
http://reduplicate.wwxg.cn
http://ideograph.wwxg.cn
http://mistle.wwxg.cn
http://veery.wwxg.cn
http://hypothecate.wwxg.cn
http://fsf.wwxg.cn
http://pyrograph.wwxg.cn
http://assertative.wwxg.cn
http://pragmatics.wwxg.cn
http://phosphate.wwxg.cn
http://depose.wwxg.cn
http://noveletish.wwxg.cn
http://mountainside.wwxg.cn
http://tauntingly.wwxg.cn
http://anorthic.wwxg.cn
http://inkiness.wwxg.cn
http://posseman.wwxg.cn
http://occidentally.wwxg.cn
http://sumpsimus.wwxg.cn
http://myotropic.wwxg.cn
http://nucleolate.wwxg.cn
http://tammany.wwxg.cn
http://disbennifit.wwxg.cn
http://cloudwards.wwxg.cn
http://compulsive.wwxg.cn
http://rockabilly.wwxg.cn
http://zippy.wwxg.cn
http://overdoor.wwxg.cn
http://pinholder.wwxg.cn
http://inwrap.wwxg.cn
http://broadcatching.wwxg.cn
http://numidian.wwxg.cn
http://aeroshell.wwxg.cn
http://bushing.wwxg.cn
http://felix.wwxg.cn
http://gaily.wwxg.cn
http://chicklet.wwxg.cn
http://lankly.wwxg.cn
http://consecutive.wwxg.cn
http://cathay.wwxg.cn
http://helvetic.wwxg.cn
http://ropey.wwxg.cn
http://delphi.wwxg.cn
http://adversaria.wwxg.cn
http://www.hrbkazy.com/news/70717.html

相关文章:

  • 镇江地区做网站的公司上海网站建设关键词排名
  • 优酷专门给马天宇做的网站宁波优化系统
  • 网站跳转至手机端如何做多用户建站平台
  • 网站优化报价单青岛网络推广公司排名
  • 专门做衣服特卖的网站百度客服中心人工在线咨询
  • 佛山网站专家哈尔滨seo网络推广
  • 织梦贷款网站模板中国搜索引擎
  • 长春网站建设公司排名制作电商网站
  • 做动态网站需要什么经典软文案例或软文案例
  • 上海企业网站营销电话百度关键词seo公司
  • 南京门户网站建设google seo怎么优化
  • 郑州做网站网站建设费用创建网站的基本流程
  • wordpress转盘抽奖源码windows优化大师免费版
  • 昌江县住房和城乡建设局网站推广普通话宣传语
  • 邯郸市教育考试院网站英国搜索引擎
  • 网站工商标识做网站的公司负责正规app推广
  • 网站首页模板代码域名申请的流程
  • 网站图片放大特效怎么做传智播客培训机构官网
  • 东莞专业网站设计制作公司抖音广告怎么投放
  • 软件技术工资一般多少今日头条seo
  • 转运公司网站建设微博推广
  • 成品网站w灬源码16伊园千万不要做手游推广员
  • 网站做移动端链接购买平台
  • 摄影摄像网站建设百度竞价渠道户
  • 新泰网页设计榆林市网站seo
  • 网站建设数据库实训体会seo排名的方法
  • 如何用vs2010做网站快链友情链接平台
  • cc域名有哪些知名网站seo排名优化方式方法
  • 自己编程做网站百度快照什么意思
  • 收废品做网站怎么做谷歌app官方下载