收藏关注不迷路,源码文章末
一、项目介绍
基于联盟链的农药溯源系统从实际情况出发,结合当前年轻人的喜好和电子商务的环境来开发。基于联盟链的农药溯源系统在语言上使用Java语言进行开发,在数据库存储方面使用的MySQL数据库,开发工具是IDEA。
前台部分主要是让用户购买和查看农产品使用的,后台主要是让管理员人员发布农产品相关信息和管理订单使用的。前台部分包括用户注册登录,查看农产品相关信息,查看公告信息,将农产品加入到购物车,对订单进行结算,查看和管理自己的订单信息;后台功能主要包括,注册用户的管理,农产品分类的管理,农产品基本信息的管理,农药信息的管理,订单信息的管理,公告信息管理等功能。通过这些功能基本可以满足用户在线查看和购买农产品的需要。
关键词:农产品;农药;溯源;Spring Boot框架;MySQL
二、开发环境
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————
三、功能介绍
基于联盟链的农药溯源系统是一个典型的电子商务网站根据需要分为前台和后台两部分。前台部分主要是让用户购买和查看农产品使用的,后台主要是让管理员人员发布农产品相关信息和管理订单使用的。前台部分包括用户注册登录,查看农产品相关信息,查看公告信息,将农产品加入到购物车,对订单进行结算,查看和管理自己的订单信息;后台功能主要包括,注册用户的管理,农产品分类的管理,农产品基本信息的管理,农药信息的管理,订单信息的管理,公告信息管理等功能。通过这些功能基本可以满足用户在线查看和购买农产品的需要,具体功能如下图所示
图4-2系统功能结构图
四、核心代码
部分代码:
package com.example.controller;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {
@Resource
private CaiwuService caiwuService;
@PostMapping
public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
caiwuService.add(caiwu);
return Result.success(caiwu);
}
@PostMapping("/deleteList")
public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
caiwuService.deleteList(caiwu.getList());
return Result.success();
}
@DeleteMapping("/{id}")
public Result delete(@PathVariable Long id) {
caiwuService.delete(id);
return Result.success();
}
@PutMapping
public Result update(@RequestBody CaiwuVo caiwu) {
caiwuService.update(caiwu);
return Result.success();
}
@GetMapping("/{id}")
public Result<Caiwu> detail(@PathVariable Integer id) {
Caiwu caiwu = caiwuService.findById(id);
return Result.success(caiwu);
}
@GetMapping
public Result<List<Caiwu>> all() {
return Result.success(caiwuService.list());
}
@PostMapping("/page")
public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
return Result.success(caiwuService.findPage(caiwuVo));
}
@PostMapping("/login")
public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
throw new CustomException(ResultCode.PARAM_LOST_ERROR);
}
Caiwu login = caiwuService.login(caiwu);
// if(!login.getStatus()){
// return Result.error("1001","状态限制,无法登录系统");
// }
if(login != null) {
HashMap hashMap = new HashMap();
hashMap.put("user", login);
Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
String token = JwtUtil.creatToken(map);
hashMap.put("token", token);
return Result.success(hashMap);
}else {
return Result.error();
}
}
@PutMapping("/updatePassword")
public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
Caiwu caiwu = caiwuService.findById(info.getId());
String oldPassword = SecureUtil.md5(info.getMima());
if (!oldPassword.equals(caiwu.getMima())) {
return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
}
info.setMima(SecureUtil.md5(info.getNewPassword()));
Caiwu caiwu1 = new Caiwu();
BeanUtils.copyProperties(info, caiwu1);
caiwuService.update(caiwu1);
return Result.success();
}
}
五、效果图
六、文章目录
目录
摘要 I
Abstract II
目录 III
第1章 系统概述 1
1.1 研究背景 1
1.2 研究意义 1
1.3论文结构 2
第2章 系统开发环境 4
2.1 Java语言介绍 4
2.2 Spring Boot介绍 4
2.3 MySQL数据库介绍 4
第3章 需求分析 6
3.1基于联盟链的农药溯源系统需求分析 6
3.2 可行性分析 6
3.2.1技术可行性 6
3.2.2操作可行性 6
3.2.3经济可行性 6
3.2.4法律可行性 7
3.3 可行性分析 7
3.3.1业务流程 7
3.3.2业务对象 9
第4章 系统概要设计 11
4.1系统结构 11
4.2 数据库ER图设计 11
4.3 数据库设计 12
第5章 系统详细设计 19
5.1 基于联盟链的农药溯源系统前台部分设计 19
5.1.1 系统首页 19
5.1.2用户注册登录 19
5.1.3商品信息 21
5.1.4我的购物车 23
5.1.5订单信息管理 23
5.2 基于联盟链的农药溯源系统后台部分设计 24
5.2.1管理员登录模块的实现 24
5.2.2商品类型信息管理 25
5.2.3商品管理 26
5.2.4订单管理 27
5.2.5农药信息管理 27
5.2.6农药操作管理 29
第6章系统测试 32
6.1 基于联盟链的农药溯源系统的测试目的 32
6.2 基于联盟链的农药溯源系统的测试方法 32
6.3 基于联盟链的农药溯源系统测试用例 32
第7章 总结 35
7.1 总结 35
7.2 展望 35
致谢语 37
参考文献: 38