基于SSM實現(xiàn)水果商城批發(fā)平臺
作者主頁:
作者簡介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、CSDN博客專家 、掘金特邀作者、多年架構(gòu)師設(shè)計經(jīng)驗、騰訊課堂常駐講師
主要內(nèi)容:Java項目、畢業(yè)設(shè)計、簡歷模板、學(xué)習(xí)資料、面試題庫、技術(shù)互助
文末獲取源碼?
一,項目簡介
項目編號:BS-SC-029
本系統(tǒng)主要為種值水果和農(nóng)戶和水果經(jīng)銷商搭建一個B2B的電子商務(wù)平臺,系統(tǒng)共包含三個角色:農(nóng)戶、經(jīng)銷商和管理員。
1.農(nóng)戶角色功能
前臺首頁、用戶注冊登錄、新聞公告、查看水果詳情、收藏、留言、個人中心、我的收藏、意見反饋、發(fā)布水果、我的銷售等功能。
2.經(jīng)銷商角色功能
前臺首頁、用戶注冊登錄、新聞公告、查看水果詳情、收藏、留言、個人中心、我的收藏、意見反饋、在線購買、下單結(jié)算、查看我的訂單等功能。
3.管理員后臺功能
用戶管理、管理員管理、網(wǎng)站內(nèi)容管理、水果類型管理、水果信息管理、采購訂單管理、用戶評價管理、意見反饋管理、留言交流管理等
二,環(huán)境介紹
語言環(huán)境:Java:? jdk1.8
數(shù)據(jù)庫:Mysql: mysql5.7
應(yīng)用服務(wù)器:Tomcat:? tomcat8.5.31
開發(fā)工具:IDEA或eclipse
后臺開發(fā)技術(shù):SSM框架
前臺開發(fā)技術(shù):H-UI框架
三,系統(tǒng)展示
用戶注冊

用戶登陸

系統(tǒng)首頁

新聞公告

商品展示

全文檢索

在線留言

添加購物車


經(jīng)銷商個人中心

農(nóng)戶個人中心

后臺管理功能模塊

四,核心代碼展示
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;//定義為控制器// 設(shè)置路徑public class AdminController extends BaseController { // 注入Service 由于標(biāo)簽的存在 所以不需要getter setter
private AdminService adminService; // 管理員準(zhǔn)備
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";
}// 管理員準(zhǔn)備修改密碼
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";
} // 準(zhǔn)備添加數(shù)據(jù)
public String createAdmin() { return "admin/addadmin";
} // 添加數(shù)據(jù)
public String addAdmin(Admin admin) {
admin.setAddtime(VeDate.getStringDateShort()); this.adminService.insertAdmin(admin); return "redirect:/admin/createAdmin.action";
} // 通過主鍵刪除數(shù)據(jù)
public String deleteAdmin(String id) { this.adminService.deleteAdmin(id); return "redirect:/admin/getAllAdmin.action";
} // 批量刪除數(shù)據(jù)
public String deleteAdminByIds() {
String[] ids = this.getRequest().getParameterValues("adminid"); for (String adminid : ids) { this.adminService.deleteAdmin(adminid);
} return "redirect:/admin/getAllAdmin.action";
} // 更新數(shù)據(jù)
public String updateAdmin(Admin admin) { this.adminService.updateAdmin(admin); return "redirect:/admin/getAllAdmin.action";
} // 顯示全部數(shù)據(jù)
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";
} // 按條件查詢數(shù)據(jù) (模糊查詢)
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";
} // 按主鍵查詢數(shù)據(jù)
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;//定義為控制器// 設(shè)置路徑public class ArticleController extends BaseController { // 注入Service 由于標(biāo)簽的存在 所以不需要getter setter
private ArticleService articleService;
private BannerService bannerService; // 準(zhǔn)備添加數(shù)據(jù)
public String createArticle() {
List<Banner> bannerList = this.bannerService.getAllBanner(); this.getRequest().setAttribute("bannerList", bannerList); return "admin/addarticle";
} // 添加數(shù)據(jù)
public String addArticle(Article article) {
article.setAddtime(VeDate.getStringDateShort());
article.setHits("0"); this.articleService.insertArticle(article); return "redirect:/article/createArticle.action";
} // 通過主鍵刪除數(shù)據(jù)
public String deleteArticle(String id) { this.articleService.deleteArticle(id); return "redirect:/article/getAllArticle.action";
} // 批量刪除數(shù)據(jù)
public String deleteArticleByIds() {
String[] ids = this.getRequest().getParameterValues("articleid"); for (String articleid : ids) { this.articleService.deleteArticle(articleid);
} return "redirect:/article/getAllArticle.action";
} // 更新數(shù)據(jù)
public String updateArticle(Article article) { this.articleService.updateArticle(article); return "redirect:/article/getAllArticle.action";
} // 顯示全部數(shù)據(jù)
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";
} // 按條件查詢數(shù)據(jù) (模糊查詢)
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";
} // 按主鍵查詢數(shù)據(jù)
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;//定義為控制器// 設(shè)置路徑public class BannerController extends BaseController { // 注入Service 由于標(biāo)簽的存在 所以不需要getter setter
private BannerService bannerService; // 準(zhǔn)備添加數(shù)據(jù)
public String createBanner() { return "admin/addbanner";
} // 添加數(shù)據(jù)
public String addBanner(Banner banner) {
banner.setAddtime(VeDate.getStringDateShort()); this.bannerService.insertBanner(banner); return "redirect:/banner/createBanner.action";
} // 通過主鍵刪除數(shù)據(jù)
public String deleteBanner(String id) { this.bannerService.deleteBanner(id); return "redirect:/banner/getAllBanner.action";
} // 批量刪除數(shù)據(jù)
public String deleteBannerByIds() {
String[] ids = this.getRequest().getParameterValues("bannerid"); for (String bannerid : ids) { this.bannerService.deleteBanner(bannerid);
} return "redirect:/banner/getAllBanner.action";
} // 更新數(shù)據(jù)
public String updateBanner(Banner banner) { this.bannerService.updateBanner(banner); return "redirect:/banner/getAllBanner.action";
} // 顯示全部數(shù)據(jù)
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";
} // 按條件查詢數(shù)據(jù) (模糊查詢)
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";
} // 按主鍵查詢數(shù)據(jù)
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;//定義為控制器// 設(shè)置路徑public class ComplainsController extends BaseController { // 注入Service 由于標(biāo)簽的存在 所以不需要getter setter
private ComplainsService complainsService;
private UsersService usersService; // 準(zhǔn)備添加數(shù)據(jù)
public String createComplains() {
List<Users> usersList = this.usersService.getAllUsers(); this.getRequest().setAttribute("usersList", usersList); return "admin/addcomplains";
} // 添加數(shù)據(jù)
public String addComplains(Complains complains) { this.complainsService.insertComplains(complains); return "redirect:/complains/createComplains.action";
} // 通過主鍵刪除數(shù)據(jù)
public String deleteComplains(String id) { this.complainsService.deleteComplains(id); return "redirect:/complains/getAllComplains.action";
} // 批量刪除數(shù)據(jù)
public String deleteComplainsByIds() {
String[] ids = this.getRequest().getParameterValues("complainsid"); for (String complainsid : ids) { this.complainsService.deleteComplains(complainsid);
} return "redirect:/complains/getAllComplains.action";
} // 更新數(shù)據(jù)
public String updateComplains(Complains complains) { this.complainsService.updateComplains(complains); return "redirect:/complains/getAllComplains.action";
} // 更新狀態(tài)
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";
} // 顯示全部數(shù)據(jù)
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";
} // 按條件查詢數(shù)據(jù) (模糊查詢)
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";
} // 按主鍵查詢數(shù)據(jù)
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";
}
}
五,項目總結(jié)
? ?本系統(tǒng)功能主要是針對農(nóng)戶、經(jīng)銷商買賣雙方進(jìn)行業(yè)務(wù)對接,平臺管理員負(fù)責(zé)基礎(chǔ)數(shù)據(jù)的管理,是一個B2B的商城平臺,功能比較完整,頁面簡潔大方,適合做畢業(yè)設(shè)計使用。