当前位置:网站首页>Implementation of fruit mall wholesale platform based on SSM
Implementation of fruit mall wholesale platform based on SSM
2022-06-13 07:00:00 【qq_ four hundred and sixty-nine million six hundred and three t】
Author URI : Programming compass
Author's brief introduction :Java Quality creators in the field 、CSDN Blogger 、 Nuggets guest author 、 Years of architect design experience 、 Tencent classroom resident lecturer
primary coverage :Java project 、 Graduation project 、 The resume template 、 Learning materials 、 Interview question bank 、 Technical assistance
Get the source code at the end of the article
One , Project brief introduction
Item number :BS-SC-029
This system is mainly used to build a network for seed value fruits, farmers and fruit dealers B2B E-commerce platform , The system consists of three roles : Peasant household 、 Dealers and administrators .
1. Farmers' role function
Front desk front page 、 User registration login 、 Press releases 、 View fruit details 、 Collection 、 Leaving a message. 、 Personal center 、 My collection 、 Feedback 、 Release fruit 、 My sales and other functions .
2. Dealer role function
Front desk front page 、 User registration login 、 Press releases 、 View fruit details 、 Collection 、 Leaving a message. 、 Personal center 、 My collection 、 Feedback 、 Buy online 、 Order settlement 、 View my orders and other functions .
3. Administrator background function
User management 、 Administrator management 、 Website content management 、 Fruit type management 、 Fruit information management 、 Purchase order management 、 User evaluation management 、 Feedback management 、 Message exchange management, etc
Two , Introduction to the environment
Language environment :Java: jdk1.8
database :Mysql: mysql5.7
application server :Tomcat: tomcat8.5.31
development tool :IDEA or eclipse
Background development technology :SSM frame
Foreground development technology :H-UI frame
3、 ... and , System display
User registration

The user login

System home page

Press releases

Merchandise display

Full text search

Leave a message online

Add cart


Dealer personal center

Farmers' personal center

Background management function module

Four , Core code display
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;
// Defined as controller
@Controller
// Set the path
@RequestMapping(value = "/admin" , produces = "text/plain;charset=utf-8")
public class AdminController extends BaseController {
// Inject Service Due to the existence of labels So no need getter setter
@Autowired
private AdminService adminService;
// Administrator preparation
@RequestMapping("index.action")
public String index() {
return "admin/index";
}
// Administrator login 1 Verify that the user name exists 2 Verify that the password is correct
@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", " The username does not exist ");
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", " Wrong password ");
return "redirect:/admin/index.action";
}
}
return "admin/main";
}
// The administrator is going to change the password
@RequestMapping("prePwd.action")
public String prePwd() {
return "admin/editpwd";
}
// Change Password
@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", " The old password is wrong ");
}
return "redirect:/admin/prePwd.action";
}
// The administrator logs out
@RequestMapping("exit.action")
public String exit() {
this.getSession().removeAttribute("adminid");
this.getSession().removeAttribute("adminname");
this.getSession().removeAttribute("realname");
return "redirect:/admin/index.action";
}
// Ready to add data
@RequestMapping("createAdmin.action")
public String createAdmin() {
return "admin/addadmin";
}
// Add data
@RequestMapping("addAdmin.action")
public String addAdmin(Admin admin) {
admin.setAddtime(VeDate.getStringDateShort());
this.adminService.insertAdmin(admin);
return "redirect:/admin/createAdmin.action";
}
// Delete data through primary key
@RequestMapping("deleteAdmin.action")
public String deleteAdmin(String id) {
this.adminService.deleteAdmin(id);
return "redirect:/admin/getAllAdmin.action";
}
// Batch deletion of data
@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";
}
// Update data
@RequestMapping("updateAdmin.action")
public String updateAdmin(Admin admin) {
this.adminService.updateAdmin(admin);
return "redirect:/admin/getAllAdmin.action";
}
// Display all data
@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";
}
// Query data by criteria ( Fuzzy query )
@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";
}
// Query data by primary key
@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;
// Defined as controller
@Controller
// Set the path
@RequestMapping(value = "/article" , produces = "text/plain;charset=utf-8")
public class ArticleController extends BaseController {
// Inject Service Due to the existence of labels So no need getter setter
@Autowired
private ArticleService articleService;
@Autowired
private BannerService bannerService;
// Ready to add data
@RequestMapping("createArticle.action")
public String createArticle() {
List<Banner> bannerList = this.bannerService.getAllBanner();
this.getRequest().setAttribute("bannerList", bannerList);
return "admin/addarticle";
}
// Add data
@RequestMapping("addArticle.action")
public String addArticle(Article article) {
article.setAddtime(VeDate.getStringDateShort());
article.setHits("0");
this.articleService.insertArticle(article);
return "redirect:/article/createArticle.action";
}
// Delete data through primary key
@RequestMapping("deleteArticle.action")
public String deleteArticle(String id) {
this.articleService.deleteArticle(id);
return "redirect:/article/getAllArticle.action";
}
// Batch deletion of data
@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";
}
// Update data
@RequestMapping("updateArticle.action")
public String updateArticle(Article article) {
this.articleService.updateArticle(article);
return "redirect:/article/getAllArticle.action";
}
// Display all data
@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";
}
// Query data by criteria ( Fuzzy query )
@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";
}
// Query data by primary key
@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;
// Defined as controller
@Controller
// Set the path
@RequestMapping(value = "/banner" , produces = "text/plain;charset=utf-8")
public class BannerController extends BaseController {
// Inject Service Due to the existence of labels So no need getter setter
@Autowired
private BannerService bannerService;
// Ready to add data
@RequestMapping("createBanner.action")
public String createBanner() {
return "admin/addbanner";
}
// Add data
@RequestMapping("addBanner.action")
public String addBanner(Banner banner) {
banner.setAddtime(VeDate.getStringDateShort());
this.bannerService.insertBanner(banner);
return "redirect:/banner/createBanner.action";
}
// Delete data through primary key
@RequestMapping("deleteBanner.action")
public String deleteBanner(String id) {
this.bannerService.deleteBanner(id);
return "redirect:/banner/getAllBanner.action";
}
// Batch deletion of data
@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";
}
// Update data
@RequestMapping("updateBanner.action")
public String updateBanner(Banner banner) {
this.bannerService.updateBanner(banner);
return "redirect:/banner/getAllBanner.action";
}
// Display all data
@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";
}
// Query data by criteria ( Fuzzy query )
@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";
}
// Query data by primary key
@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;
// Defined as controller
@Controller
// Set the path
@RequestMapping(value = "/complains" , produces = "text/plain;charset=utf-8")
public class ComplainsController extends BaseController {
// Inject Service Due to the existence of labels So no need getter setter
@Autowired
private ComplainsService complainsService;
@Autowired
private UsersService usersService;
// Ready to add data
@RequestMapping("createComplains.action")
public String createComplains() {
List<Users> usersList = this.usersService.getAllUsers();
this.getRequest().setAttribute("usersList", usersList);
return "admin/addcomplains";
}
// Add data
@RequestMapping("addComplains.action")
public String addComplains(Complains complains) {
this.complainsService.insertComplains(complains);
return "redirect:/complains/createComplains.action";
}
// Delete data through primary key
@RequestMapping("deleteComplains.action")
public String deleteComplains(String id) {
this.complainsService.deleteComplains(id);
return "redirect:/complains/getAllComplains.action";
}
// Batch deletion of data
@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";
}
// Update data
@RequestMapping("updateComplains.action")
public String updateComplains(Complains complains) {
this.complainsService.updateComplains(complains);
return "redirect:/complains/getAllComplains.action";
}
// Update status
@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";
}
// Display all data
@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";
}
// Query data by criteria ( Fuzzy query )
@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";
}
// Query data by primary key
@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";
}
}
5、 ... and , Project summary
The function of this system is mainly aimed at farmers 、 The dealer and the buyer and the seller conduct business docking , The platform administrator is responsible for the management of basic data , It's a B2B Shopping mall platform , The function is relatively complete , The page is simple and generous , Suitable for graduation design .
边栏推荐
- The new business outlet of beautiful Tiantian second mode will be popular in the Internet e-commerce market
- Common method of props changing value V-model sync
- 学习Mysql基础第一天
- 16、 IO stream (II)
- 105. 从前序与中序遍历序列构造二叉树
- 【转】FPGA面试题
- SDN基本概述
- 树莓派高级开发——“IO口驱动代码的编写“ 包含总线地址、物理_虚拟地址、BCM2835芯片手册知识
- [Collection des questions d'examen les plus complètes de Tencent Ali] (quatre côtés: 3 tours de technologie + 1 tour de RH)
- 15、 IO stream (I)
猜你喜欢

An article allows you to quickly understand the fission growth password of social e-commerce user marketing and avoid stepping on the pit

2022-06-12:在N*N的正方形棋盘中,有N*N个棋子,那么每个格子正好可以拥有一个棋子。 但是现在有些棋子聚集到一个格子上了,比如: 2 0 3 0 1 0 3 0 0 如上的二维数组代表,一

Jfinal uses freemaker to output map.
![[cloud native | kubernetes] kubernetes configuration](/img/cb/20595d34a9e203b83dd086cc27037d.png)
[cloud native | kubernetes] kubernetes configuration

As the new trend of blind box e-commerce, how can the platform use blind box play to drain at low cost?

简单了解C语言基本语

Tikv key performance parameters and optimization

YOLOv5解析 | 参数与性能指标

Periodontitis investigation (ongoing)

Computer network interview questions
随机推荐
Tidb execution plan -- II
[system analysis and design] college student association management system
When the concept of industrial Internet just appeared, people only regarded it as a method to obtain b-end traffic
Unable to find method 'org gradle. api. artifacts. result. ComponentSelectionReason. getDesc
Byte (nine)
Upper computer development (detailed design of firmware download software)
MySQL系列之分库分表学习笔记
想进行快速钢网设计,还能保证钢网质量? 来看这里
同花顺可以开股票账户吗?安全吗?
FSM state machine
2022-06-12:在N*N的正方形棋盘中,有N*N个棋子,那么每个格子正好可以拥有一个棋子。 但是现在有些棋子聚集到一个格子上了,比如: 2 0 3 0 1 0 3 0 0 如上的二维数组代表,一
Detailed Mr Atlas of hip joint (Reprinted)
10 Honest Facts I Want To Share With All Junior Developers
How to make a development board from scratch? Illustrated and illustrated, step by step operation for you to see.
Tidb index optimization
1154. 一年中的第几天
Machine learning notes - supervised learning memo list
Project analysis of Taishan crowdfunding mode: why is Taishan crowdfunding mode so popular?
简单了解C语言基本语
NFV基本概述