基于java+ssm+vue的失物招领信息交互平台

项目介绍

21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。

论文主要是对失物招领信息交互平台进行了介绍,包括研究的现状,还有涉及的开发背景,然后还对系统的设计目标进行了论述,还有系统的需求,以及整个的设计方案,对系统的设计以及实现,也都论述的比较细致,最后对失物招领信息交互平台进行了一些具体测试。

本文以Java为开发技术,实现了一个失物招领信息交互平台。失物招领信息交互平台的主要实现功能包括:管理员:首页、个人中心、用户管理、失物招领管理、物品类型管理、失物认领管理、物品挂失管理、寻物论坛、系统管理,用户;首页、个人中心、失物招领管理、失物认领管理、物品挂失管理、寻物论坛,前台首页;首页、失物招领、物品挂失、寻物论坛、网站资讯、个人中心、后台管理功能,基本上实现了整个失物招领信息交互平台的过程。

具体在系统设计上,采用了B/S的结构,同时,也使用Java技术在动态页面上进行了设计,后台上采用Mysql数据库,是一个非常优秀的失物招领信息交互平台。

在这里插入图片描述

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序ue/爬虫/c#/asp.net

系统实现

5.1 管理员登录
管理员输入个人的用户名、密码和角色登录系统,这时候系统的数据库就会在进行查找相关的信息,如果我们输入的用户名、密码和角色不正确,数据库就会提示出错误的信息提示,同时会提示管理员重新输入自己的用户名、密码、角色,直到用户名、密码输入成功后,会提登录成功的信息。网站管理员登录效果图如图5-1所示:
在这里插入图片描述

图5-1管理员登录界面

5.2 管理员功能模块
5.2.1 用户管理
管理员对用户管理进行查看账号、用户、性别、手机、邮箱、头像并进行详情、删除、修改等操作。程序成效图如下图5-2所示:
在这里插入图片描述

图5-2用户管理界面图

5.2.2失物招领管理
管理员对失物招领管理进行查看失物编号、物品名称、物品类型、物品图片、拾遗时间、拾遗地点、物品状态等信息并可以进行详情、删除、修改操作。程序效果图如下图5-3所示:
在这里插入图片描述

图5-3失物招领管理界面

5.2.3 物品类型管理
管理员对物品类型管理进行查看物品类型等信息并可以进行详情、删除、修改操作。程序效果图如下图5-4所示:
在这里插入图片描述

图5-4物品类型管理界面

5.2.4失物认领管理
管理员对失物认领管理进行查看失物编号、物品名称、物品类型、物品图片、账号、用户、手机、认领时间、审核回复、审核状态、审核等进行详情、删除、修改操作。程序效果图如下图5-5所示:
在这里插入图片描述

图5-5失物认领管理界面

5.2.5物品挂失管理
管理员对物品挂失管理进行查看物品名称、物品类型、物品图片、遗失时间、遗失地点、账号、用户、手机等信息并可以进行详情、删除、修改操作。程序效果图如下图5-6所示:
在这里插入图片描述

图5-6物品挂失管理界面

5.2.6寻物论坛
管理员对寻物论坛进行查看帖子标题、用户名、状态等信息并可以进行详情、删除、修改操作。程序效果图如下图5-7所示:
在这里插入图片描述

图5-7寻物论坛界面

5.2.7网站资讯
管理员对网站资讯进行查看标题、图片等信息并可以进行详情、删除、修改操作。程序效果图如下图5-8所示:
在这里插入图片描述

图5-8网站资讯界面

5.3 前台首页功能模块
前台首页详情页面首页、失物招领、物品挂失、寻物论坛、网站资讯、个人中心、后台管理等功能操作。程序效果图如下图5-9所示:
在这里插入图片描述

图5-9前台首页功能界面

5.3.1用户注册、用户登录
用户在线填写账号、密码、用户、手机、邮箱等信息进行注册、登录操作。程序效果图如下图5-10所示:

在这里插入图片描述
在这里插入图片描述

图5-10用户登录、用户注册界面

5.3.2个人中心
用户进入个人中心可以填写账号、密码、用户、性别、手机、邮箱等信息,并可以进行更新信息、退出登录操作。程序效果图如下图5-11所示:

在这里插入图片描述

图5-11个人中心界面

5.3.3失物招领
用户进入失物招领可以查看失物编号、物品名称、物品类型、物品图片、拾遗时间、拾遗地点、物品状态等信息进行认领操作。程序效果图如下图5-12所示:
在这里插入图片描述

图5-12失物招领界面

5.4 用户功能模块

5.4.1失物招领管理
用户进入失物招领管理可以查看失物编号、物品名称、物品类型、物品图片、拾遗时间、拾遗地点、物品状态等信息进行详情。程序效果图如下图5-13所示:
在这里插入图片描述

图5-13失物招领管理界面

5.4.2物品挂失管理
用户进入物品挂失管理可以查看物品名称、物品类型、物品图片、遗失时间、遗失地点、账号、用户、手机并可以进行详情、删除等操作。程序效果图如下图5-14所示:

在这里插入图片描述

图5-14物品挂失管理界面

核心代码

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
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 com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.ShiwurenlingEntity;
import com.entity.view.ShiwurenlingView;

import com.service.ShiwurenlingService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 失物认领
 * 后端接口
 * @author 
 * @email 
 * @date 
 */
@RestController
@RequestMapping("iwurenling")
public class ShiwurenlingController {
    @Autowired
    private ShiwurenlingService shiwurenlingService;
    


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

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			shiwurenling.setZhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<ShiwurenlingEntity> ew = new EntityWrapper<ShiwurenlingEntity>();
		PageUtils page = shiwurenlingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shiwurenling), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("st")
    public R list(@RequestParam Map<String, Object> params,ShiwurenlingEntity shiwurenling, HttpServletRequest request){
        EntityWrapper<ShiwurenlingEntity> ew = new EntityWrapper<ShiwurenlingEntity>();
		PageUtils page = shiwurenlingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shiwurenling), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("sts")
    public R list( ShiwurenlingEntity shiwurenling){
       	EntityWrapper<ShiwurenlingEntity> ew = new EntityWrapper<ShiwurenlingEntity>();
      	ew.allEq(MPUtil.allEQMapPre( shiwurenling, "shiwurenling")); 
        return R.ok().put("data", shiwurenlingService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ShiwurenlingEntity shiwurenling){
        EntityWrapper< ShiwurenlingEntity> ew = new EntityWrapper< ShiwurenlingEntity>();
 		ew.allEq(MPUtil.allEQMapPre( shiwurenling, "shiwurenling")); 
		ShiwurenlingView shiwurenlingView =  shiwurenlingService.selectView(ew);
		return R.ok("查询失物认领成功").put("data", shiwurenlingView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ShiwurenlingEntity shiwurenling = shiwurenlingService.selectById(id);
        return R.ok().put("data", shiwurenling);
    }

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



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

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

        shiwurenlingService.insert(shiwurenling);
        return R.ok();
    }

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

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        shiwurenlingService.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<ShiwurenlingEntity> wrapper = new EntityWrapper<ShiwurenlingEntity>();
		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("yonghu")) {
			wrapper.eq("zhanghao", (String)request.getSession().getAttribute("username"));
		}

		int count = shiwurenlingService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

论文参考

在这里插入图片描述

目 录
1 概述 1
1.1课题背景及意义 1
1.2 国内外研究现状 1
1.3 本课题主要工作 2
2 系统开发环境 3
2.1 Java技术 3
2.2 Mysql数据库 3
2.3 B/S结构 4
2.4 SSM框架 4
3 系统分析 5
3.1 可行性分析 5
3.1.1 技术可行性 5
3.1.2操作可行性 5
3.1.3 经济可行性 5
3.1.4 法律可行性 6
3.2系统流程分析 6
3.2.1系统开发流程 6
3.2.2 用户登录流程 7
3.2.3 系统操作流程 7
3.2.4 添加信息流程 8
3.2.5 修改信息流程 9
3.2.6 删除信息流程 9
3.3系统用例分析 10
3.3.1管理员用例图 10
3.3.2用户用例图 11
4 系统设计 13
4.1 系统概述 13
4.2 系统结构设计 13
4.3数据库设计 14
4.3.1 数据库设计原则 14
4.3.2 数据库实体 14
4.3.3 数据库表设计 16
5系统界面实现 18
5.1 管理员登录 18
5.2 管理员功能模块 18
5.3 前台首页功能模块 22
5.4 用户功能模块 22
6系统测试 23
6.1系统测试的意义 23
6.2 测试方法 24
6.3测试分析 24
结 论 25
致 谢 26
参考文献 27

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

q_2781179521

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值