Java通過SSM完成水果商城批發(fā)平臺(tái)流程
一,項(xiàng)目簡(jiǎn)介
項(xiàng)目編號(hào):BS-SC-029
本系統(tǒng)主要為種值水果和農(nóng)戶和水果經(jīng)銷商搭建一個(gè)B2B的電子商務(wù)平臺(tái),系統(tǒng)共包含三個(gè)角色:農(nóng)戶、經(jīng)銷商和管理員。
1.農(nóng)戶角色功能
前臺(tái)首頁、用戶注冊(cè)登錄、新聞公告、查看水果詳情、收藏、留言、個(gè)人中心、我的收藏、意見反饋、發(fā)布水果、我的銷售等功能。
2.經(jīng)銷商角色功能
前臺(tái)首頁、用戶注冊(cè)登錄、新聞公告、查看水果詳情、收藏、留言、個(gè)人中心、我的收藏、意見反饋、在線購買、下單結(jié)算、查看我的訂單等功能。
3.管理員后臺(tái)功能
用戶管理、管理員管理、網(wǎng)站內(nèi)容管理、水果類型管理、水果信息管理、采購訂單管理、用戶評(píng)價(jià)管理、意見反饋管理、留言交流管理等
二,環(huán)境介紹
語言環(huán)境:Java: jdk1.8
數(shù)據(jù)庫:Mysql: mysql5.7
應(yīng)用服務(wù)器:Tomcat: tomcat8.5.31
開發(fā)工具:IDEA或eclipse
后臺(tái)開發(fā)技術(shù):SSM框架
前臺(tái)開發(fā)技術(shù):H-UI框架
三,系統(tǒng)展示
用戶注冊(cè)
用戶登陸
系統(tǒng)首頁
新聞公告
商品展示
全文檢索
在線留言
添加購物車
經(jīng)銷商個(gè)人中心
農(nóng)戶個(gè)人中心
后臺(tái)管理功能模塊
四,核心代碼展示
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; //定義為控制器 @Controller // 設(shè)置路徑 @RequestMapping(value = "/admin" , produces = "text/plain;charset=utf-8") public class AdminController extends BaseController { // 注入Service 由于標(biāo)簽的存在 所以不需要getter setter @Autowired private AdminService adminService; // 管理員準(zhǔn)備 @RequestMapping("index.action") public String index() { return "admin/index"; } // 管理員登錄 1 驗(yàn)證用戶名是否存在 2 驗(yàn)證密碼是否正確 @RequestMapping("login.action") 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", "密碼錯(cuò)誤"); return "redirect:/admin/index.action"; } } return "admin/main"; } // 管理員準(zhǔn)備修改密碼 @RequestMapping("prePwd.action") public String prePwd() { return "admin/editpwd"; } // 修改密碼 @RequestMapping("editpwd.action") 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", "舊密碼錯(cuò)誤"); } return "redirect:/admin/prePwd.action"; } // 管理員退出登錄 @RequestMapping("exit.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ù) @RequestMapping("createAdmin.action") public String createAdmin() { return "admin/addadmin"; } // 添加數(shù)據(jù) @RequestMapping("addAdmin.action") public String addAdmin(Admin admin) { admin.setAddtime(VeDate.getStringDateShort()); this.adminService.insertAdmin(admin); return "redirect:/admin/createAdmin.action"; } // 通過主鍵刪除數(shù)據(jù) @RequestMapping("deleteAdmin.action") public String deleteAdmin(String id) { this.adminService.deleteAdmin(id); return "redirect:/admin/getAllAdmin.action"; } // 批量刪除數(shù)據(jù) @RequestMapping("deleteAdminByIds.action") public String deleteAdminByIds() { String[] ids = this.getRequest().getParameterValues("adminid"); for (String adminid : ids) { this.adminService.deleteAdmin(adminid); } return "redirect:/admin/getAllAdmin.action"; } // 更新數(shù)據(jù) @RequestMapping("updateAdmin.action") public String updateAdmin(Admin admin) { this.adminService.updateAdmin(admin); return "redirect:/admin/getAllAdmin.action"; } // 顯示全部數(shù)據(jù) @RequestMapping("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"; } // 按條件查詢數(shù)據(jù) (模糊查詢) @RequestMapping("queryAdminByCond.action") 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ù) @RequestMapping("getAdminById.action") 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; //定義為控制器 @Controller // 設(shè)置路徑 @RequestMapping(value = "/article" , produces = "text/plain;charset=utf-8") public class ArticleController extends BaseController { // 注入Service 由于標(biāo)簽的存在 所以不需要getter setter @Autowired private ArticleService articleService; @Autowired private BannerService bannerService; // 準(zhǔn)備添加數(shù)據(jù) @RequestMapping("createArticle.action") public String createArticle() { List<Banner> bannerList = this.bannerService.getAllBanner(); this.getRequest().setAttribute("bannerList", bannerList); return "admin/addarticle"; } // 添加數(shù)據(jù) @RequestMapping("addArticle.action") public String addArticle(Article article) { article.setAddtime(VeDate.getStringDateShort()); article.setHits("0"); this.articleService.insertArticle(article); return "redirect:/article/createArticle.action"; } // 通過主鍵刪除數(shù)據(jù) @RequestMapping("deleteArticle.action") public String deleteArticle(String id) { this.articleService.deleteArticle(id); return "redirect:/article/getAllArticle.action"; } // 批量刪除數(shù)據(jù) @RequestMapping("deleteArticleByIds.action") public String deleteArticleByIds() { String[] ids = this.getRequest().getParameterValues("articleid"); for (String articleid : ids) { this.articleService.deleteArticle(articleid); } return "redirect:/article/getAllArticle.action"; } // 更新數(shù)據(jù) @RequestMapping("updateArticle.action") public String updateArticle(Article article) { this.articleService.updateArticle(article); return "redirect:/article/getAllArticle.action"; } // 顯示全部數(shù)據(jù) @RequestMapping("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"; } // 按條件查詢數(shù)據(jù) (模糊查詢) @RequestMapping("queryArticleByCond.action") 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ù) @RequestMapping("getArticleById.action") 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; //定義為控制器 @Controller // 設(shè)置路徑 @RequestMapping(value = "/banner" , produces = "text/plain;charset=utf-8") public class BannerController extends BaseController { // 注入Service 由于標(biāo)簽的存在 所以不需要getter setter @Autowired private BannerService bannerService; // 準(zhǔn)備添加數(shù)據(jù) @RequestMapping("createBanner.action") public String createBanner() { return "admin/addbanner"; } // 添加數(shù)據(jù) @RequestMapping("addBanner.action") public String addBanner(Banner banner) { banner.setAddtime(VeDate.getStringDateShort()); this.bannerService.insertBanner(banner); return "redirect:/banner/createBanner.action"; } // 通過主鍵刪除數(shù)據(jù) @RequestMapping("deleteBanner.action") public String deleteBanner(String id) { this.bannerService.deleteBanner(id); return "redirect:/banner/getAllBanner.action"; } // 批量刪除數(shù)據(jù) @RequestMapping("deleteBannerByIds.action") public String deleteBannerByIds() { String[] ids = this.getRequest().getParameterValues("bannerid"); for (String bannerid : ids) { this.bannerService.deleteBanner(bannerid); } return "redirect:/banner/getAllBanner.action"; } // 更新數(shù)據(jù) @RequestMapping("updateBanner.action") public String updateBanner(Banner banner) { this.bannerService.updateBanner(banner); return "redirect:/banner/getAllBanner.action"; } // 顯示全部數(shù)據(jù) @RequestMapping("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"; } // 按條件查詢數(shù)據(jù) (模糊查詢) @RequestMapping("queryBannerByCond.action") 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ù) @RequestMapping("getBannerById.action") 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; //定義為控制器 @Controller // 設(shè)置路徑 @RequestMapping(value = "/complains" , produces = "text/plain;charset=utf-8") public class ComplainsController extends BaseController { // 注入Service 由于標(biāo)簽的存在 所以不需要getter setter @Autowired private ComplainsService complainsService; @Autowired private UsersService usersService; // 準(zhǔn)備添加數(shù)據(jù) @RequestMapping("createComplains.action") public String createComplains() { List<Users> usersList = this.usersService.getAllUsers(); this.getRequest().setAttribute("usersList", usersList); return "admin/addcomplains"; } // 添加數(shù)據(jù) @RequestMapping("addComplains.action") public String addComplains(Complains complains) { this.complainsService.insertComplains(complains); return "redirect:/complains/createComplains.action"; } // 通過主鍵刪除數(shù)據(jù) @RequestMapping("deleteComplains.action") public String deleteComplains(String id) { this.complainsService.deleteComplains(id); return "redirect:/complains/getAllComplains.action"; } // 批量刪除數(shù)據(jù) @RequestMapping("deleteComplainsByIds.action") public String deleteComplainsByIds() { String[] ids = this.getRequest().getParameterValues("complainsid"); for (String complainsid : ids) { this.complainsService.deleteComplains(complainsid); } return "redirect:/complains/getAllComplains.action"; } // 更新數(shù)據(jù) @RequestMapping("updateComplains.action") public String updateComplains(Complains complains) { this.complainsService.updateComplains(complains); return "redirect:/complains/getAllComplains.action"; } // 更新狀態(tài) @RequestMapping("status.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"; } // 顯示全部數(shù)據(jù) @RequestMapping("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"; } // 按條件查詢數(shù)據(jù) (模糊查詢) @RequestMapping("queryComplainsByCond.action") 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ù) @RequestMapping("getComplainsById.action") 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"; } }
五,項(xiàng)目總結(jié)
本系統(tǒng)功能主要是針對(duì)農(nóng)戶、經(jīng)銷商買賣雙方進(jìn)行業(yè)務(wù)對(duì)接,平臺(tái)管理員負(fù)責(zé)基礎(chǔ)數(shù)據(jù)的管理,是一個(gè)B2B的商城平臺(tái),功能比較完整,頁面簡(jiǎn)潔大方,適合做畢業(yè)設(shè)計(jì)使用。
到此這篇關(guān)于Java通過SSM完成水果商城批發(fā)平臺(tái)流程的文章就介紹到這了,更多相關(guān)Java水果商城內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java開發(fā)之ssm三大框架整合
- java ssm框架的controller實(shí)現(xiàn)向頁面?zhèn)鬟f參數(shù)
- 基于Java+SSM實(shí)現(xiàn)電影院購票系統(tǒng)
- 基于Java SSM實(shí)現(xiàn)在線點(diǎn)餐系統(tǒng)
- 基于Java SSM框架實(shí)現(xiàn)簡(jiǎn)易的評(píng)教系統(tǒng)
- 基于Java SSM實(shí)現(xiàn)Excel數(shù)據(jù)批量導(dǎo)入
- 基于Java SSM的健康管理小程序的實(shí)現(xiàn)
- Java SMM框架關(guān)聯(lián)關(guān)系映射示例講解
相關(guān)文章
Java Json字符串的雙引號(hào)("")括號(hào)如何去掉
這篇文章主要介紹了Java Json字符串的雙引號(hào)("")括號(hào)如何去掉?具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09解決Spring session(redis存儲(chǔ)方式)監(jiān)聽導(dǎo)致創(chuàng)建大量redisMessageListenerConta
這篇文章主要介紹了解決Spring session(redis存儲(chǔ)方式)監(jiān)聽導(dǎo)致創(chuàng)建大量redisMessageListenerContailner-X線程問題,需要的朋友可以參考下2018-08-08Spring Boot啟動(dòng)流程斷點(diǎn)過程解析
這篇文章主要介紹了Spring Boot啟動(dòng)流程斷點(diǎn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11解決StringBuffer和StringBuilder的擴(kuò)容問題
這篇文章主要介紹了解決StringBuffer和StringBuilder的擴(kuò)容問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07java Callable與Future的詳解及實(shí)例
這篇文章主要介紹了java Callable與Future的詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-01-01