天天看點

基于ssm的機場網上訂票系統設計與實作-計算機畢業設計源碼+LW文檔

開發語言:Java

架構:ssm

JDK版本:JDK1.8

伺服器:tomcat7

資料庫:mysql 5.7(一定要5.7版本)

資料庫工具:Navicat11

開發軟體:eclipse/myeclipse/idea

Maven包:Maven3.3.9

浏覽器:谷歌浏覽器

資料庫腳本:

DROP TABLE IF EXISTS ​

​chat​

​;

/*!40101 SET @saved_cs_client = @@character_set_client /;

/!40101 SET character_set_client = utf8 /;

CREATE TABLE ​

​chat​

​​ (

​id​

​ bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',

​​

​addtime​

​​ timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間',

​​

​userid​

​​ bigint(20) NOT NULL COMMENT '使用者id',

​​

​adminid​

​​ bigint(20) DEFAULT NULL COMMENT '管理者id',

​​

​ask​

​​ longtext COMMENT '提問',

​​

​reply​

​​ longtext COMMENT '回複',

​​

​isreply​

​​ int(11) DEFAULT NULL COMMENT '是否回複',

PRIMARY KEY (​​

​id​

​​)

) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 COMMENT='線上留言';

/!40101 SET character_set_client = @saved_cs_client */;

--

-- Dumping data for table ​

​chat​

--

LOCK TABLES ​

​chat​

​ WRITE;

/*!40000 ALTER TABLE ​

​chat​

​ DISABLE KEYS /;

INSERT INTO ​

​chat​

​​ VALUES (51,'2022-02-27 13:29:35',1,1,'提問1','回複1',1),(52,'2022-02-27 13:29:35',2,2,'提問2','回複2',2),(53,'2022-02-27 13:29:35',3,3,'提問3','回複3',3),(54,'2022-02-27 13:29:35',4,4,'提問4','回複4',4),(55,'2022-02-27 13:29:35',5,5,'提問5','回複5',5),(56,'2022-02-27 13:29:35',6,6,'提問6','回複6',6);

/!40000 ALTER TABLE ​

​chat​

​ ENABLE KEYS */;

UNLOCK TABLES;

--

-- Table structure for table ​

​config​

--

DROP TABLE IF EXISTS ​

​config​

​;

/*!40101 SET @saved_cs_client = @@character_set_client /;

/!40101 SET character_set_client = utf8 /;

CREATE TABLE ​

​config​

​​ (

​id​

​ bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',

​​

​name​

​​ varchar(100) NOT NULL COMMENT '配置參數名稱',

​​

​value​

​​ varchar(100) DEFAULT NULL COMMENT '配置參數值',

PRIMARY KEY (​​

​id​

​​)

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置檔案';

/!40101 SET character_set_client = @saved_cs_client */;

--

-- Dumping data for table ​

​config​

--

LOCK TABLES ​

​config​

​ WRITE;

/*!40000 ALTER TABLE ​

​config​

​ DISABLE KEYS /;

INSERT INTO ​

​config​

​​ VALUES (1,'picture1','upload/picture1.jpg'),(2,'picture2','upload/picture2.jpg'),(3,'picture3','upload/picture3.jpg');

/!40000 ALTER TABLE ​

​config​

​ ENABLE KEYS */;

UNLOCK TABLES;

--

-- Table structure for table ​

​dingpiaoxinxi​

--

DROP TABLE IF EXISTS ​

​dingpiaoxinxi​

​;

/*!40101 SET @saved_cs_client = @@character_set_client /;

/!40101 SET character_set_client = utf8 /;

CREATE TABLE ​

​dingpiaoxinxi​

​​ (

​id​

​ bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',

​​

​addtime​

​​ timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間',

​​

​dingdanbianhao​

​​ varchar(200) DEFAULT NULL COMMENT '訂單編号',

​​

​hangbanbianhao​

​​ varchar(200) DEFAULT NULL COMMENT '航班編号',

​​

​hangkonggongsi​

​​ varchar(200) DEFAULT NULL COMMENT '航空公司',

​​

​chufadi​

​​ varchar(200) DEFAULT NULL COMMENT '出發地',

​​

​mudedi​

​​ varchar(200) DEFAULT NULL COMMENT '目的地',

​​

​feixingfangshi​

​​ varchar(200) DEFAULT NULL COMMENT '飛行方式',

​​

​chufashijian​

​​ datetime DEFAULT NULL COMMENT '出發時間',

​​

​piaojia​

​​ float DEFAULT NULL COMMENT '票價',

​​

​shuliang​

​​ int(11) NOT NULL COMMENT '數量',

​​

​zongjine​

​​ float DEFAULT NULL COMMENT '總金額',

​​

​yonghuzhanghao​

​​ varchar(200) DEFAULT NULL COMMENT '使用者賬号',

​​

​yonghuxingming​

​​ varchar(200) DEFAULT NULL COMMENT '使用者姓名',

​​

​lianxidianhua​

​​ varchar(200) DEFAULT NULL COMMENT '聯系電話',

​​

​shenfenzhenghao​

​​ varchar(200) DEFAULT NULL COMMENT '身份證号',

​​

​goupiaoriqi​

​​ date DEFAULT NULL COMMENT '購票日期',

​​

​ispay​

​​ varchar(200) DEFAULT '未支付' COMMENT '是否支付',

PRIMARY KEY (​​

​id​

​​),

UNIQUE KEY ​​

​dingdanbianhao​

​​ (​​

​dingdanbianhao​

​​)

) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8 COMMENT='訂票資訊';

/!40101 SET character_set_client = @saved_cs_client */;

--

-- Dumping data for table ​

​dingpiaoxinxi​

--

LOCK TABLES ​

​dingpiaoxinxi​

​ WRITE;

/*!40000 ALTER TABLE ​

​dingpiaoxinxi​

​ DISABLE KEYS /;

INSERT INTO ​

​dingpiaoxinxi​

​​ VALUES (31,'2022-02-27 13:29:35','1111111111','航班編号1','航空公司1','出發地1','目的地1','飛行方式1','2022-02-27 21:29:35',1,1,1,'使用者賬号1','使用者姓名1','聯系電話1','身份證号1','2022-02-27','未支付'),(32,'2022-02-27 13:29:35','2222222222','航班編号2','航空公司2','出發地2','目的地2','飛行方式2','2022-02-27 21:29:35',2,2,2,'使用者賬号2','使用者姓名2','聯系電話2','身份證号2','2022-02-27','未支付'),(33,'2022-02-27 13:29:35','3333333333','航班編号3','航空公司3','出發地3','目的地3','飛行方式3','2022-02-27 21:29:35',3,3,3,'使用者賬号3','使用者姓名3','聯系電話3','身份證号3','2022-02-27','未支付'),(34,'2022-02-27 13:29:35','4444444444','航班編号4','航空公司4','出發地4','目的地4','飛行方式4','2022-02-27 21:29:35',4,4,4,'使用者賬号4','使用者姓名4','聯系電話4','身份證号4','2022-02-27','未支付'),(35,'2022-02-27 13:29:35','5555555555','航班編号5','航空公司5','出發地5','目的地5','飛行方式5','2022-02-27 21:29:35',5,5,5,'使用者賬号5','使用者姓名5','聯系電話5','身份證号5','2022-02-27','未支付'),(36,'2022-02-27 13:29:35','6666666666','航班編号6','航空公司6','出發地6','目的地6','飛行方式6','2022-02-27 21:29:35',6,6,6,'使用者賬号6','使用者姓名6','聯系電話6','身份證号6','2022-02-27','未支付');

/!40000 ALTER TABLE ​

​dingpiaoxinxi​

​ ENABLE KEYS */;

UNLOCK TABLES;

--

-- Table structure for table ​

​discussjipiaoxinxi​

--

DROP TABLE IF EXISTS ​

​discussjipiaoxinxi​

​;

/*!40101 SET @saved_cs_client = @@character_set_client /;

/!40101 SET character_set_client = utf8 /;

CREATE TABLE ​

​discussjipiaoxinxi​

​​ (

​id​

​ bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',

​​

​addtime​

​​ timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間',

​​

​refid​

​​ bigint(20) NOT NULL COMMENT '關聯表id',

​​

​userid​

​​ bigint(20) NOT NULL COMMENT '使用者id',

​​

​nickname​

​​ varchar(200) DEFAULT NULL COMMENT '使用者名',

​​

​content​

​​ longtext NOT NULL COMMENT '評論内容',

​​

​reply​

​​ longtext COMMENT '回複内容',

PRIMARY KEY (​​

​id​

​​)

) ENGINE=InnoDB AUTO_INCREMENT=87 DEFAULT CHARSET=utf8 COMMENT='機票資訊評論表';

/!40101 SET character_set_client = @saved_cs_client */;

--

-- Dumping data for table ​

​discussjipiaoxinxi​

--

LOCK TABLES ​

​discussjipiaoxinxi​

​ WRITE;

/*!40000 ALTER TABLE ​

​discussjipiaoxinxi​

​ DISABLE KEYS /;

INSERT INTO ​

​discussjipiaoxinxi​

​​ VALUES (81,'2022-02-27 13:29:36',1,1,'使用者名1','評論内容1','回複内容1'),(82,'2022-02-27 13:29:36',2,2,'使用者名2','評論内容2','回複内容2'),(83,'2022-02-27 13:29:36',3,3,'使用者名3','評論内容3','回複内容3'),(84,'2022-02-27 13:29:36',4,4,'使用者名4','評論内容4','回複内容4'),(85,'2022-02-27 13:29:36',5,5,'使用者名5','評論内容5','回複内容5'),(86,'2022-02-27 13:29:36',6,6,'使用者名6','評論内容6','回複内容6');

/!40000 ALTER TABLE ​

​discussjipiaoxinxi​

​ ENABLE KEYS */;

UNLOCK TABLES;

業務邏輯代碼:

/**

  • 使用者
  • 後端接口
  • @author
  • @email
  • @date 2022-02-27 21:28:50

    */

    @RestController

    @RequestMapping("/yonghu")

    public class YonghuController {

    @Autowired

    private YonghuService yonghuService;

    @Autowired

    private TokenService tokenService;

    /**

  • 登入

    */

    @IgnoreAuth

    @RequestMapping(value = "/login")

    public R login(String username, String password, String captcha, HttpServletRequest request) {

    YonghuEntity user = yonghuService.selectOne(new EntityWrapper().eq("yonghuzhanghao", username));

    if(user==null || !user.getMima().equals(password)) {

    return R.error("賬号或密碼不正确");

    }

    String token = tokenService.generateToken(user.getId(), username,"yonghu", "使用者" );

    return R.ok().put("token", token);

    }

/**

  • 注冊

    */

    @IgnoreAuth

    @RequestMapping("/register")

    public R register(@RequestBody YonghuEntity yonghu){​​//ValidatorUtils.validateEntity​​(yonghu);

    YonghuEntity user = yonghuService.selectOne(new EntityWrapper().eq("yonghuzhanghao", yonghu.getYonghuzhanghao()));

    if(user!=null) {

    return R.error("注冊使用者已存在");

    }

    Long uId = new Date().getTime();

    yonghu.setId(uId);

    yonghuService.insert(yonghu);

    return R.ok();

    }

/**

  • 退出

    */

    @RequestMapping("/logout")

    public R logout(HttpServletRequest request) {

    request.getSession().invalidate();

    return R.ok("退出成功");

    }

/**

  • 擷取使用者的session使用者資訊

    */

    @RequestMapping("/session")

    public R getCurrUser(HttpServletRequest request){

    Long id = (Long)request.getSession().getAttribute("userId");

    YonghuEntity user = yonghuService.selectById(id);

    return R.ok().put("data", user);

    }

/**

  • 密碼重置

    */

    @IgnoreAuth

    @RequestMapping(value = "/resetPass")

    public R resetPass(String username, HttpServletRequest request){

    YonghuEntity user = yonghuService.selectOne(new EntityWrapper().eq("yonghuzhanghao", username));

    if(user==null) {

    return R.error("賬号不存在");

    }

    user.setMima("123456");

    yonghuService.updateById(user);

    return R.ok("密碼已重置為:123456");

    }

/**

  • 後端清單

    */

    @RequestMapping("/page")

    public R page(@RequestParam Map<String, Object> params,YonghuEntity yonghu,

    HttpServletRequest request){

    EntityWrapper();

    PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));

    return R.ok().put("data", page);

    }

/**

  • 前端清單

    */

    @IgnoreAuth

    @RequestMapping("/list")

    public R list(@RequestParam Map<String, Object> params,YonghuEntity yonghu,

    HttpServletRequest request){

    EntityWrapper();

    PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));

    return R.ok().put("data", page);

    }

/**

  • 清單

    */

    @RequestMapping("/lists")

    public R list( YonghuEntity yonghu){

    EntityWrapper();

    ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));

    return R.ok().put("data", yonghuService.selectListView(ew));

    }

/**

  • 查詢

    */

    @RequestMapping("/query")

    public R query(YonghuEntity yonghu){

    EntityWrapper< YonghuEntity> ew = new EntityWrapper< YonghuEntity>();

    ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu"));

    YonghuView yonghuView = yonghuService.selectView(ew);

    return R.ok("查詢使用者成功").put("data", yonghuView);

    }

/**

  • 後端詳情

    */

    @RequestMapping("/info/{id}")

    public R info(@PathVariable("id") Long id){

    YonghuEntity yonghu = yonghuService.selectById(id);

    return R.ok().put("data", yonghu);

    }

繼續閱讀