源码获取:博客首页 “资源” 里下载!
项目介绍
茶叶溯源系统,分为前台与后台。普通用户可在前台通过18位的编码查询茶叶的出售历史。
后台分为两种角色,管理员与经销商;
管理员主要功能包括:
主界面;
管理员管理:管理员列表、添加管理员;
分类管理:茶叶类型的添加、删除、修改;
茶叶管理:茶叶列表、添加、删除、修改茶叶;
大包装管理:大包装列表、添加、删除、修改大包装;
单品管理:售出统计、单品信息修改;
经销商主要功能包括:
主界面;
售出单品:确认售出单品;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7版本;
技术栈
1. 后端:Spring SpringMVC MyBatis
2. 前端:JSP+bootstrap+jQuery+layUI
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置;
3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
4. 运行项目,输入localhost:8080/tea-web/ 登录
管理员账号控制层:
/**
* (AdminAcct)表控制层
*管理员账号
*/
@CrossOrigin
@RestController
@RequestMapping("admin")
public class AdminAcctController {
/**
* 服务对象
*/
@Resource
private AdminAcctService adminAcctService;
@Resource
private LicService licService;
@Resource
private EntService entService;
@Resource
private TypeTblService typeTblService;
/**
* 通过主键查询单条数据
*
* @param id 主键
* @return 单条数据
*/
public AdminAcct selectOne(Integer id) {
return this.adminAcctService.queryById(id);
}
/**
* 查询指定行数据
*
* @param offset 查询起始位置
* @param limit 查询条数
* @return 对象列表
*/
public List<AdminAcct> queryAllByLimit(@Param("offset") int offset, @Param("limit") int limit) {
return this.adminAcctService.queryAllByLimit(offset, limit);
}
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
public boolean deleteById(Integer id) {
return this.adminAcctService.deleteById(id);
}
/**
* 修改数据
*/
public AdminAcct update(Integer id,String username,String pwd) {
AdminAcct adminAcct=new AdminAcct();
adminAcct.setId(id);
adminAcct.setUsername(username);
adminAcct.setPwd(pwd);
return this.adminAcctService.update(adminAcct);
}
//登录注册
/**
* 登录
*
* @param username 用户名
* @param password 密码
* @return Result对象
*/
@GetMapping( "login")
public Result login(String username, String password) {
BCryptPasswordEncoder bCryptPasswordEncoder=new BCryptPasswordEncoder();
Result result=new Result();
result.setSuccess(false);
result.setDetail(null);
if (username==null||username=="")
{
result.setMsg("用户名不可为空");
System.out.println("用户名不可为空");