基于Java+SpringBoot+vue+element实现扶贫助农政策平台系统

举报
Java李杨勇 发表于 2022/03/31 21:57:33 2022/03/31
【摘要】 前言介绍:         随着社会的快速发展,计算机的影响是全面且深入的。人们生活水平的不断提高,日常生活中人们对扶农助农政策管理方面的要求也在不断提高,扶农助农政策管理的数量更是不断增加,使得扶农助农政策管理系统的开发成为必需而且紧迫的事情。扶农助农政策管理系统主要是借助计算机,通过对扶农助农政策管理系统所需的信息管理,增加用户选择,同时也方便对广大用户信息的及时查询、修改以及对贫困户的...

前言介绍:

         随着社会的快速发展,计算机的影响是全面且深入的。人们生活水平的不断提高,日常生活中人们对扶农助农政策管理方面的要求也在不断提高,扶农助农政策管理的数量更是不断增加,使得扶农助农政策管理系统的开发成为必需而且紧迫的事情。扶农助农政策管理系统主要是借助计算机,通过对扶农助农政策管理系统所需的信息管理,增加用户选择,同时也方便对广大用户信息的及时查询、修改以及对贫困户的及时了解。扶农助农政策管理系统对用户带来了更多的便利, 该系统通过和数据库管理系统软件协作来满足用户的需求。

功能设计:

系统业务流程图,如图所示:

 系统架构图属于系统设计阶段,系统架构图只是这个阶段一个产物,系统的总体架构决定了整个系统的模式,是系统的基础。扶农助农政策管理系统的整体结构设计如图所示

功能截图:

系统首页:在系统的首页可以查看首页、贫困户、扶贫政策、志愿者招聘、留言反馈、个人中心、后台管理等信息进行详细操作

登录注册:通过输入用户名、密码进行登陆或注册信息

贫困户信息:

 在贫困户页面中可以查看编号、家庭成员、成员人数、家庭住址、家庭状况、封面、人均收入、账号、姓名、详细介绍等信息

扶农政策信息:

 


志愿者招聘:

在志愿者招聘页面中可以查看招聘标题、职位、工资待遇、工作地点、工作时间、招聘人数、招聘时间、截止时间、负责人、联系方式、图片、发布日期等信息,并进行收藏操作 

留言反馈:在留言反馈页面输入留言内容并立即提交或重置操作

个人中心:在个人中心页面通过填写账号、密码、姓名、年龄、性别、手机、邮箱、上传图片等信息进行个人信息修改,还可对我的收藏进行详细操作

后台管理端:

用户管理:在用户管理页面中可以对索引、账号、姓名、年龄、性别、手机、邮箱、照片等信息进行详情或删除等操作

贫困户管理:在贫困户管理页面中可以对索引、编号、家庭成员、成员人数、家庭住址、封面、人均收入、账号、姓名、审核回复、审核状态、审核等信息进行详情或删除等操作

扶农政策信息:在扶贫政策管理页面中可以对索引、标题、扶贫类型、发布时间、封面等信息进行详情,修改或删除等操作


志愿者招聘:在志愿者招聘管理页面中可以对索引、招聘标题、职位、工资待遇、工作地点、工作时间、招聘人数、招聘时间、截止时间、负责人、联系方式、图片、发布日期等信息进行详情,修改或删除等操作

志愿者应聘:用户应聘管理,在用户应聘管理页面中可以对索引、招聘标题、职位、是否应聘、应聘时间、账号、姓名、手机、审核回复、审核状态、审核等信息进行详情或删除等操作

留言板管理:在留言板管理页面中可以对索引、用户名、留言内容、回复内容等信息进行详情,回复,修改或删除等操作

轮播图管理: 在轮播图管理页面中可以对索引、名称、值等信息进行详情,修改等操作

代码实现:



/**
 * 热门新闻
 * 后端接口
 * @author 
 * @email 
 * @date 2022-03-07 09:32:05
 */
@RestController
@RequestMapping("/remenxinwen")
public class RemenxinwenController {
    @Autowired
    private RemenxinwenService remenxinwenService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,RemenxinwenEntity remenxinwen,
		HttpServletRequest request){
        EntityWrapper<RemenxinwenEntity> ew = new EntityWrapper<RemenxinwenEntity>();
		PageUtils page = remenxinwenService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, remenxinwen), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,RemenxinwenEntity remenxinwen, 
		HttpServletRequest request){
        EntityWrapper<RemenxinwenEntity> ew = new EntityWrapper<RemenxinwenEntity>();
		PageUtils page = remenxinwenService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, remenxinwen), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( RemenxinwenEntity remenxinwen){
       	EntityWrapper<RemenxinwenEntity> ew = new EntityWrapper<RemenxinwenEntity>();
      	ew.allEq(MPUtil.allEQMapPre( remenxinwen, "remenxinwen")); 
        return R.ok().put("data", remenxinwenService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(RemenxinwenEntity remenxinwen){
        EntityWrapper< RemenxinwenEntity> ew = new EntityWrapper< RemenxinwenEntity>();
 		ew.allEq(MPUtil.allEQMapPre( remenxinwen, "remenxinwen")); 
		RemenxinwenView remenxinwenView =  remenxinwenService.selectView(ew);
		return R.ok("查询热门新闻成功").put("data", remenxinwenView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        RemenxinwenEntity remenxinwen = remenxinwenService.selectById(id);
		remenxinwen.setClicknum(remenxinwen.getClicknum()+1);
		remenxinwen.setClicktime(new Date());
		remenxinwenService.updateById(remenxinwen);
        return R.ok().put("data", remenxinwen);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        RemenxinwenEntity remenxinwen = remenxinwenService.selectById(id);
		remenxinwen.setClicknum(remenxinwen.getClicknum()+1);
		remenxinwen.setClicktime(new Date());
		remenxinwenService.updateById(remenxinwen);
        return R.ok().put("data", remenxinwen);
    }
    



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

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

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        remenxinwenService.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<RemenxinwenEntity> wrapper = new EntityWrapper<RemenxinwenEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = remenxinwenService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	
	/**
     * 前端智能排序
     */
	@IgnoreAuth
    @RequestMapping("/autoSort")
    public R autoSort(@RequestParam Map<String, Object> params,RemenxinwenEntity remenxinwen, HttpServletRequest request,String pre){
        EntityWrapper<RemenxinwenEntity> ew = new EntityWrapper<RemenxinwenEntity>();
        Map<String, Object> newMap = new HashMap<String, Object>();
        Map<String, Object> param = new HashMap<String, Object>();
		Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry<String, Object> entry = it.next();
			String key = entry.getKey();
			String newKey = entry.getKey();
			if (pre.endsWith(".")) {
				newMap.put(pre + newKey, entry.getValue());
			} else if (StringUtils.isEmpty(pre)) {
				newMap.put(newKey, entry.getValue());
			} else {
				newMap.put(pre + "." + newKey, entry.getValue());
			}
		}
		params.put("sort", "clicknum");
        params.put("order", "desc");
		PageUtils page = remenxinwenService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, remenxinwen), params), params));
        return R.ok().put("data", page);
    }


}

数据库设计:

将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。数据库字段名称为方便快捷编写、不推荐这种写法、请参考数据库表字段设计规范编写

表4-1收藏表

字段名称

类型

长度

字段说明

id

bigint


主键

addtime

timestamp


创建时间

userid

bigint


用户id

refid

bigint


收藏id

tablename

varchar

200

表名

name

varchar

200

收藏名称

picture

varchar

200

收藏图片

type

varchar

200

类型(1:收藏,21:赞,22:踩)

inteltype

varchar

200

推荐类型

表4-2扶贫政策

字段名称

类型

长度

字段说明

id

bigint


主键

addtime

timestamp


创建时间

biaoti

varchar

200

标题

xinwenleixing

varchar

200

扶贫类型

neirong

longtext

4294967295

内容

fabushijian

date


发布时间

fengmian

varchar

200

封面

clicktime

datetime


最近点击时间

clicknum

int


点击次数

表4-3贫困户

字段名称

类型

长度

字段说明

id

bigint


主键

addtime

timestamp


创建时间

bianhao

varchar

200

编号

jiatingchengyuan

varchar

200

家庭成员

chengyuanrenshu

int


成员人数

jiatingzhuzhi

varchar

200

家庭住址

jiatingzhuangkuang

longtext

4294967295

家庭状况

fengmian

varchar

200

封面

renjunshouru

int


人均收入

xiangxijieshao

longtext

4294967295

详细介绍

zhanghao

varchar

200

账号

xingming

varchar

200

姓名

sfsh

varchar

200

是否审核

shhf

longtext

4294967295

审核回复

clicktime

datetime


最近点击时间

clicknum

int


点击次数

表4-4留言板

字段名称

类型

长度

字段说明

id

bigint


主键

addtime

timestamp


创建时间

userid

bigint


留言人id

username

varchar

200

用户名

content

longtext

4294967295

留言内容

cpicture

varchar

200

留言图片

reply

longtext

4294967295

回复内容

rpicture

varchar

200

回复图片

表4-6志愿者招聘

字段名称

类型

长度

字段说明

id

bigint


主键

addtime

timestamp


创建时间

zhaopinbiaoti

varchar

200

招聘标题

zhiwei

varchar

200

职位

zhaopinyaoqiu

longtext

4294967295

招聘要求

gongzidaiyu

varchar

200

工资待遇

gongzuodidian

varchar

200

工作地点

gongzuoshijian

varchar

200

工作时间

zhaopinrenshu

int


招聘人数

zhaopinshijian

date


招聘时间

jiezhishijian

date


截止时间

fuzeren

varchar

200

负责人

lianxifangshi

varchar

200

联系方式

tupian

varchar

200

图片

faburiqi

date


发布日期

clicktime

datetime


最近点击时间

clicknum

int


点击次数

用户

字段名称

类型

长度

字段说明

id

bigint


主键

addtime

timestamp


创建时间

zhanghao

varchar

200

账号

mima

varchar

200

密码

xingming

varchar

200

姓名

nianling

varchar

200

年龄

xingbie

varchar

200

性别

shouji

varchar

200

手机

youxiang

varchar

200

邮箱

zhaopian

varchar

200

照片

论文参考:

获取源码:

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻微信公众号获取联系方式👇🏻👇🏻👇🏻

打卡 文章 更新 223/  365天

 精彩专栏推荐订阅下方专栏👇🏻👇🏻👇🏻👇🏻

Java项目精品实战案例《100套》

web前端期末大作业网页实战《100套》

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。