项目介绍
21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。
论文主要是对绿色农产品推广应用网站进行了介绍,包括研究的现状,还有涉及的开发背景,然后还对系统的设计目标进行了论述,还有系统的需求,以及整个的设计方案,对系统的设计以及实现,也都论述的比较细致,最后对绿色农产品推广应用网站进行了一些具体测试。
本文以Java为开发技术,实现了一个绿色农产品推广应用网站。绿色农产品推广应用网站的主要实现功能包括:管理员:首页、个人中心、用户管理、商家管理、农业行情管理、农业技巧管理、商品类型管理、商品信息管理、商品购买管理、交流信息管理、交流回复管理、留言板管理、系统管理,商家;首页、个人中心、商品类型管理、商品信息管理、商品购买管理、交流信息管理、交流回复管理,用户;首页、个人中心、商品购买管理、交流信息管理、交流回复管理、留言板管理、我的收藏管理,前台首页;首页、农业行情、农业技巧、商品信息、农业资讯、留言反馈、个人中心、后台管理功能,基本上实现了整个绿色农产品推广应用网站的过程。
具体在系统设计上,采用了B/S的结构,同时,也使用Java技术在动态页面上进行了设计,后台上采用Mysql数据库,是一个非常优秀的绿色农产品推广应用网站。
开发环境
开发语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
前端框架:Vue
开发工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序ue/爬虫/c#/asp.net
系统截图
部分代码
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.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.JiaoliuxinxiEntity;
import com.entity.view.JiaoliuxinxiView;
import com.service.JiaoliuxinxiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
/**
* 交流信息
* 后端接口
*/
@RestController
@RequestMapping("/jiaoliuxinxi")
public class JiaoliuxinxiController {
@Autowired
private JiaoliuxinxiService jiaoliuxinxiService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,JiaoliuxinxiEntity jiaoliuxinxi, HttpServletRequest request){
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("shangjia")) {
jiaoliuxinxi.setZhanghao((String)request.getSession().getAttribute("username"));
}
if(tableName.equals("yonghu")) {
jiaoliuxinxi.setYonghuming((String)request.getSession().getAttribute("username"));
}
EntityWrapper<JiaoliuxinxiEntity> ew = new EntityWrapper<JiaoliuxinxiEntity>();
PageUtils page = jiaoliuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiaoliuxinxi), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("st")
public R list(@RequestParam Map<String, Object> params,JiaoliuxinxiEntity jiaoliuxinxi, HttpServletRequest request){
EntityWrapper<JiaoliuxinxiEntity> ew = new EntityWrapper<JiaoliuxinxiEntity>();
PageUtils page = jiaoliuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiaoliuxinxi), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("sts")
public R list( JiaoliuxinxiEntity jiaoliuxinxi){
EntityWrapper<JiaoliuxinxiEntity> ew = new EntityWrapper<JiaoliuxinxiEntity>();
ew.allEq(MPUtil.allEQMapPre( jiaoliuxinxi, "jiaoliuxinxi"));
return R.ok().put("data", jiaoliuxinxiService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(JiaoliuxinxiEntity jiaoliuxinxi){
EntityWrapper< JiaoliuxinxiEntity> ew = new EntityWrapper< JiaoliuxinxiEntity>();
ew.allEq(MPUtil.allEQMapPre( jiaoliuxinxi, "jiaoliuxinxi"));
JiaoliuxinxiView jiaoliuxinxiView = jiaoliuxinxiService.selectView(ew);
return R.ok("查询交流信息成功").put("data", jiaoliuxinxiView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
JiaoliuxinxiEntity jiaoliuxinxi = jiaoliuxinxiService.selectById(id);
return R.ok().put("data", jiaoliuxinxi);
}
/**
* 前端详情
*/
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
JiaoliuxinxiEntity jiaoliuxinxi = jiaoliuxinxiService.selectById(id);
return R.ok().put("data", jiaoliuxinxi);
}
/**
* 后端保存
*/
@RequestMapping("ve")
public R save(@RequestBody JiaoliuxinxiEntity jiaoliuxinxi, HttpServletRequest request){
jiaoliuxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(jiaoliuxinxi);
jiaoliuxinxiService.insert(jiaoliuxinxi);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody JiaoliuxinxiEntity jiaoliuxinxi, HttpServletRequest request){
jiaoliuxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(jiaoliuxinxi);
jiaoliuxinxiService.insert(jiaoliuxinxi);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody JiaoliuxinxiEntity jiaoliuxinxi, HttpServletRequest request){
//ValidatorUtils.validateEntity(jiaoliuxinxi);
jiaoliuxinxiService.updateById(jiaoliuxinxi);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
jiaoliuxinxiService.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<JiaoliuxinxiEntity> wrapper = new EntityWrapper<JiaoliuxinxiEntity>();
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("shangjia")) {
wrapper.eq("zhanghao", (String)request.getSession().getAttribute("username"));
}
if(tableName.equals("yonghu")) {
wrapper.eq("yonghuming", (String)request.getSession().getAttribute("username"));
}
int count = jiaoliuxinxiService.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
3.3.3商家用例图 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
5.5 商家功能模块 22
6系统测试 23
6.1系统测试的意义 23
6.2 测试方法 24
6.3测试分析 24
结 论 25
致 谢 26
参考文献 27