基于SSM实现水果商城批发平台
作者主页:
作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师
主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助
文末获取源码
一,项目简介
项目编号:BS-SC-029
本系统主要为种值水果和农户和水果经销商搭建一个B2B的电子商务平台,系统共包含三个角色:农户、经销商和管理员。
1.农户角色功能
前台首页、用户注册登录、新闻公告、查看水果详情、收藏、留言、个人中心、我的收藏、意见反馈、发布水果、我的销售等功能。
2.经销商角色功能
前台首页、用户注册登录、新闻公告、查看水果详情、收藏、留言、个人中心、我的收藏、意见反馈、在线购买、下单结算、查看我的订单等功能。
3.管理员后台功能
用户管理、管理员管理、网站内容管理、水果类型管理、水果信息管理、采购订单管理、用户评价管理、意见反馈管理、留言交流管理等
二,环境介绍
语言环境:Java: jdk1.8
数据库:Mysql: mysql5.7
应用服务器:Tomcat: tomcat8.5.31
开发工具:IDEA或eclipse
后台开发技术:SSM框架
前台开发技术:H-UI框架
三,系统展示
用户注册

用户登陆

系统首页

新闻公告

商品展示

全文检索

在线留言

添加购物车


经销商个人中心

农户个人中心

后台管理功能模块

四,核心代码展示
package com.controller;import java.util.ArrayList;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.entity.Admin;import com.service.AdminService;import com.util.PageHelper;import com.util.VeDate;//定义为控制器// 设置路径public class AdminController extends BaseController { // 注入Service 由于标签的存在 所以不需要getter setter
private AdminService adminService; // 管理员准备
public String index() { return "admin/index";
} // 管理员登录 1 验证用户名是否存在 2 验证密码是否正确
public String login() { String username = this.getRequest().getParameter("username"); String password = this.getRequest().getParameter("password"); Admin adminEntity = new Admin();
adminEntity.setUsername(username);
List<Admin> adminlist = this.adminService.getAdminByCond(adminEntity); if (adminlist.size() == 0) { this.getRequest().setAttribute("message", "用户名不存在"); return "redirect:/admin/index.action";
} else { Admin admin = adminlist.get(0); if (password.equals(admin.getPassword())) { this.getSession().setAttribute("adminid", admin.getAdminid()); this.getSession().setAttribute("adminname", admin.getUsername()); this.getSession().setAttribute("realname", admin.getRealname());
} else { this.getRequest().setAttribute("message", "密码错误"); return "redirect:/admin/index.action";
}
} return "admin/main";
}// 管理员准备修改密码
public String prePwd() { return "admin/editpwd";
} // 修改密码
public String editpwd() { String adminid = (String) this.getSession().getAttribute("adminid"); String password = this.getRequest().getParameter("password"); String repassword = this.getRequest().getParameter("repassword"); Admin admin = this.adminService.getAdminById(adminid); if (password.equals(admin.getPassword())) {
admin.setPassword(repassword); this.adminService.updateAdmin(admin);
} else { this.getRequest().setAttribute("message", "旧密码错误");
} return "redirect:/admin/prePwd.action";
} // 管理员退出登录
public String exit() { this.getSession().removeAttribute("adminid"); this.getSession().removeAttribute("adminname"); this.getSession().removeAttribute("realname"); return "redirect:/admin/index.action";
} // 准备添加数据
public String createAdmin() { return "admin/addadmin";
} // 添加数据
public String addAdmin(Admin admin) {
admin.setAddtime(VeDate.getStringDateShort()); this.adminService.insertAdmin(admin); return "redirect:/admin/createAdmin.action";
} // 通过主键删除数据
public String deleteAdmin(String id) { this.adminService.deleteAdmin(id); return "redirect:/admin/getAllAdmin.action";
} // 批量删除数据
public String deleteAdminByIds() {
String[] ids = this.getRequest().getParameterValues("adminid"); for (String adminid : ids) { this.adminService.deleteAdmin(adminid);
} return "redirect:/admin/getAllAdmin.action";
} // 更新数据
public String updateAdmin(Admin admin) { this.adminService.updateAdmin(admin); return "redirect:/admin/getAllAdmin.action";
} // 显示全部数据
public String getAllAdmin(String number) {
List<Admin> adminList = this.adminService.getAllAdmin();
PageHelper.getPage(adminList, "admin", null, null, 10, number, this.getRequest(), null); return "admin/listadmin";
} // 按条件查询数据 (模糊查询)
public String queryAdminByCond(String cond, String name, String number) { Admin admin = new Admin(); if(cond != null){ if ("username".equals(cond)) {
admin.setUsername(name);
} if ("password".equals(cond)) {
admin.setPassword(name);
} if ("realname".equals(cond)) {
admin.setRealname(name);
} if ("contact".equals(cond)) {
admin.setContact(name);
} if ("addtime".equals(cond)) {
admin.setAddtime(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.adminService.getAdminByLike(admin), "admin", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
cond = null; return "admin/queryadmin";
} // 按主键查询数据
public String getAdminById(String id) { Admin admin = this.adminService.getAdminById(id); this.getRequest().setAttribute("admin", admin); return "admin/editadmin";
}
}
package com.controller;import java.util.ArrayList;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.entity.Article;import com.service.ArticleService;import com.entity.Banner;import com.service.BannerService;import com.util.PageHelper;import com.util.VeDate;//定义为控制器// 设置路径public class ArticleController extends BaseController { // 注入Service 由于标签的存在 所以不需要getter setter
private ArticleService articleService;
private BannerService bannerService; // 准备添加数据
public String createArticle() {
List<Banner> bannerList = this.bannerService.getAllBanner(); this.getRequest().setAttribute("bannerList", bannerList); return "admin/addarticle";
} // 添加数据
public String addArticle(Article article) {
article.setAddtime(VeDate.getStringDateShort());
article.setHits("0"); this.articleService.insertArticle(article); return "redirect:/article/createArticle.action";
} // 通过主键删除数据
public String deleteArticle(String id) { this.articleService.deleteArticle(id); return "redirect:/article/getAllArticle.action";
} // 批量删除数据
public String deleteArticleByIds() {
String[] ids = this.getRequest().getParameterValues("articleid"); for (String articleid : ids) { this.articleService.deleteArticle(articleid);
} return "redirect:/article/getAllArticle.action";
} // 更新数据
public String updateArticle(Article article) { this.articleService.updateArticle(article); return "redirect:/article/getAllArticle.action";
} // 显示全部数据
public String getAllArticle(String number) {
List<Article> articleList = this.articleService.getAllArticle();
PageHelper.getPage(articleList, "article", null, null, 10, number, this.getRequest(), null); return "admin/listarticle";
} // 按条件查询数据 (模糊查询)
public String queryArticleByCond(String cond, String name, String number) { Article article = new Article(); if(cond != null){ if ("title".equals(cond)) {
article.setTitle(name);
} if ("bannerid".equals(cond)) {
article.setBannerid(name);
} if ("image".equals(cond)) {
article.setImage(name);
} if ("contents".equals(cond)) {
article.setContents(name);
} if ("addtime".equals(cond)) {
article.setAddtime(name);
} if ("hits".equals(cond)) {
article.setHits(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.articleService.getArticleByLike(article), "article", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
cond = null; return "admin/queryarticle";
} // 按主键查询数据
public String getArticleById(String id) { Article article = this.articleService.getArticleById(id); this.getRequest().setAttribute("article", article);
List<Banner> bannerList = this.bannerService.getAllBanner(); this.getRequest().setAttribute("bannerList", bannerList); return "admin/editarticle";
}
}
package com.controller;import java.util.ArrayList;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.entity.Banner;import com.service.BannerService;import com.util.PageHelper;import com.util.VeDate;//定义为控制器// 设置路径public class BannerController extends BaseController { // 注入Service 由于标签的存在 所以不需要getter setter
private BannerService bannerService; // 准备添加数据
public String createBanner() { return "admin/addbanner";
} // 添加数据
public String addBanner(Banner banner) {
banner.setAddtime(VeDate.getStringDateShort()); this.bannerService.insertBanner(banner); return "redirect:/banner/createBanner.action";
} // 通过主键删除数据
public String deleteBanner(String id) { this.bannerService.deleteBanner(id); return "redirect:/banner/getAllBanner.action";
} // 批量删除数据
public String deleteBannerByIds() {
String[] ids = this.getRequest().getParameterValues("bannerid"); for (String bannerid : ids) { this.bannerService.deleteBanner(bannerid);
} return "redirect:/banner/getAllBanner.action";
} // 更新数据
public String updateBanner(Banner banner) { this.bannerService.updateBanner(banner); return "redirect:/banner/getAllBanner.action";
} // 显示全部数据
public String getAllBanner(String number) {
List<Banner> bannerList = this.bannerService.getAllBanner();
PageHelper.getPage(bannerList, "banner", null, null, 10, number, this.getRequest(), null); return "admin/listbanner";
} // 按条件查询数据 (模糊查询)
public String queryBannerByCond(String cond, String name, String number) { Banner banner = new Banner(); if(cond != null){ if ("bannername".equals(cond)) {
banner.setBannername(name);
} if ("addtime".equals(cond)) {
banner.setAddtime(name);
} if ("memo".equals(cond)) {
banner.setMemo(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.bannerService.getBannerByLike(banner), "banner", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
cond = null; return "admin/querybanner";
} // 按主键查询数据
public String getBannerById(String id) { Banner banner = this.bannerService.getBannerById(id); this.getRequest().setAttribute("banner", banner); return "admin/editbanner";
}
}
package com.controller;import java.util.ArrayList;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.entity.Complains;import com.service.ComplainsService;import com.entity.Users;import com.service.UsersService;import com.util.PageHelper;//定义为控制器// 设置路径public class ComplainsController extends BaseController { // 注入Service 由于标签的存在 所以不需要getter setter
private ComplainsService complainsService;
private UsersService usersService; // 准备添加数据
public String createComplains() {
List<Users> usersList = this.usersService.getAllUsers(); this.getRequest().setAttribute("usersList", usersList); return "admin/addcomplains";
} // 添加数据
public String addComplains(Complains complains) { this.complainsService.insertComplains(complains); return "redirect:/complains/createComplains.action";
} // 通过主键删除数据
public String deleteComplains(String id) { this.complainsService.deleteComplains(id); return "redirect:/complains/getAllComplains.action";
} // 批量删除数据
public String deleteComplainsByIds() {
String[] ids = this.getRequest().getParameterValues("complainsid"); for (String complainsid : ids) { this.complainsService.deleteComplains(complainsid);
} return "redirect:/complains/getAllComplains.action";
} // 更新数据
public String updateComplains(Complains complains) { this.complainsService.updateComplains(complains); return "redirect:/complains/getAllComplains.action";
} // 更新状态
public String status(String id) { String status = ""; Complains complains = this.complainsService.getComplainsById(id); if (status.equals(complains.getStatus())) {
status = "";
}
complains.setStatus(status); this.complainsService.updateComplains(complains); return "redirect:/complains/getAllComplains.action";
} // 显示全部数据
public String getAllComplains(String number) {
List<Complains> complainsList = this.complainsService.getAllComplains();
PageHelper.getPage(complainsList, "complains", null, null, 10, number, this.getRequest(), null); return "admin/listcomplains";
} // 按条件查询数据 (模糊查询)
public String queryComplainsByCond(String cond, String name, String number) { Complains complains = new Complains(); if(cond != null){ if ("usersid".equals(cond)) {
complains.setUsersid(name);
} if ("title".equals(cond)) {
complains.setTitle(name);
} if ("contents".equals(cond)) {
complains.setContents(name);
} if ("addtime".equals(cond)) {
complains.setAddtime(name);
} if ("status".equals(cond)) {
complains.setStatus(name);
} if ("reps".equals(cond)) {
complains.setReps(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.complainsService.getComplainsByLike(complains), "complains", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
cond = null; return "admin/querycomplains";
} // 按主键查询数据
public String getComplainsById(String id) { Complains complains = this.complainsService.getComplainsById(id); this.getRequest().setAttribute("complains", complains);
List<Users> usersList = this.usersService.getAllUsers(); this.getRequest().setAttribute("usersList", usersList); return "admin/editcomplains";
}
}
五,项目总结
本系统功能主要是针对农户、经销商买卖双方进行业务对接,平台管理员负责基础数据的管理,是一个B2B的商城平台,功能比较完整,页面简洁大方,适合做毕业设计使用。