文末获取源码
开发语言:Java
框架:SSM
JDK版本:JDK1.8
数据库:mysql 5.7
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.5.4
小程序框架:uniapp
小程序开发软件:HBuilder X
小程序运行软件:微信开发者
目录
前言
时代在飞速进步,每个行业都在努力发展先进技术,通过这些先进的技术来提高自己的水平和优势,农业电商服务系统当然不能排除在外。农业电商服务系统是在实际应用和软件工程的开发原理之上,运用Java语言以及ssm框架进行开发。首先要进行需求分析,分析出农业电商服务系统的主要功能,然后设计了系统结构。整体设计包括系统的功能、系统总体结构、系统数据结构和对系统安全性进行设计;最后要对系统进行测试,还要对测试的结果进行总结和分析,为以后系统的维护提供方便,也为以后类似系统的开发提供参考和帮助。这种个性化的网络系统管理更重视相互协调和管理合作,能激发管理者的创造性和主动性,这对农业电商服务系统来说非常有益。
系统展示
系统功能实现
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过导航条导航进入各功能展示页面进行操作。系统首页界面如图5-1所示:
系统注册:在系统注册页面的输入栏中输入会员注册信息进行注册操作,系统注册页面如图5-2所示:
商品信息:在商品信息页面的输入栏中输入商品名称、选择商品分类和价格进行搜索,可以查看到商品详情信息,并根据需要进行收藏、添加到购物车、立即购买、赞一下、踩一下或评论等操作;如图5-3所示:
农产品监督:在农产品监督页面的输入栏中输入商品名称和选择商品分类进行搜索,可以查看到农产品监督详情信息;如图5-4所示:
公告信息:在公告信息页面的输入栏中输入标题进行搜索,可以查看到公告详情信息;如图5-5所示:
个人中心:在个人中心页面通过填写个人详情信息进行信息更新操作,还可以对我的订单、我的地址和我的收藏进行详细操作;如图5-6所示:
后台模块实现
后台用户登录,在登录页面选择需要登录的角色,再正确输入用户名和密码后,进入操作系统进行操作;如图5-7所示。
管理员模块实现
管理员进入主页面,主要功能包括对个人中心、会员管理、商家管理、商品分类管理、商品信息管理、农产品监督管理、助农信息管理、留言板、系统管理、订单管理等进行操作。管理员主界面如图5-8所示:
管理员点击会员管理。在会员页面输入会员账号和会员姓名进行查询、添加或批量删除会员列表,并根据需要对会员详情信息进行查看、修改或删除操作;如图5-9所示:
管理员点击商家管理。在商家页面输入商家账号、店铺名称和选择审核状态进行查询、添加或批量删除商家列表,并根据需要对商家详情信息进行审核、查看、修改或删除操作。如图5-10所示:
管理员点击商品信息管理。在商品信息页面输入商品名称、选择商品分类和价格进行查询、添加或批量删除商品信息列表,并根据需要对商品详情信息进行查看、修改、查看评论或删除操作。如图5-11所示:
管理员点击农产品监督管理。在农产品监督页面输入商品名称、选择商品分类和审核状态进行查询或批量删除农产品监督列表,并根据需要对农产品监督详情信息进行审核、查看、修改或删除操作;如图5-12所示:
管理员点击助农信息管理。在助农信息页面输入店铺名称、商品名称和选择商品分类进行查询、添加或批量删除助农信息列表,并根据需要对助农详情信息进行查看、修改或删除操作。如图5-13所示:
管理员点击留言板。在留言板页面输入用户名进行查询或批量删除留言板列表,并根据需要对留言板详情信息进行查看、修改、回复或删除操作。如图5-14所示:
管理员点击系统管理。在公告信息页面输入标题进行查询、添加或批量删除公告信息列表,并根据需要对公告详情信息进行查看、修改或删除操作,还可以对轮播图管理进行详细操作;如图5-15所示:
商家模块实现
商家进入系统,可以对个人中心、商品信息管理、农产品监督管理、助农信息管理、订单管理等功能进行操作。商家主界面如图5-16所示:
商家点击农产品监督管理。在农产品监督页面输入商品名称、选择商品分类和审核状态进行查询、添加或批量删除农产品监督列表,并根据需要对农产品监督详情信息进行查看、修改或删除操作;如图5-17所示:
商家点击订单管理。在已支付订单页面输入订单编号和商品名称进行查询或批量删除已支付订单列表,并根据需要对已支付订单详情信息进行查看、修改、发货或删除操作,还可以对已取消订单、已退款订单、未支付订单、已发货订单和已完成订单进行详细操作;如图5-18所示:
代码实现
登录功能实现代码
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
注册功能实现代码
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
密码重置功能实现代码
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
修改信息功能实现代码
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
return R.error("用户名已存在。");
}
userService.updateById(user);//全部更新
return R.ok();
}
删除信息功能实现代码
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
保存信息功能实现代码
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}