当前位置:网站首页>Implementation of fruit mall wholesale platform based on SSM
Implementation of fruit mall wholesale platform based on SSM
2022-06-13 09:50:00 【Programming thousand paper cranes】
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 .
边栏推荐
- LeetCode 201. Digit range bitwise AND
- Sequential representation of linear tables
- Win7 cannot be remote desktop problem
- 【 ssl2 ⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶83
- Node-RED系列(二五):集成高德地图并实现3d地图和轨迹回放
- Trees and binary trees: traversal of binary trees
- Dynamic display of analog clock using digital clock in turtle Library
- Matlab hub motor analysis fuzzy PID control vertical vibration analysis
- 【工具链系列】 Notepad++
- 类文件结构和类加载过程执行引擎简述
猜你喜欢

Exploitation of competitive loopholes in attacking and defending world PWN play conditions

Tree and binary tree: storage structure of binary tree

Information document management and configuration management

Exercise 7-10 finding specified characters (15 points)

Blue Bridge Cup group 2021a - two way sorting

Protocol UART of schematic diagram

LeetCode 1. Sum of two numbers
![[51nod p3216] Award [bit operation]](/img/f2/109fb126d026951ffd766781223052.jpg)
[51nod p3216] Award [bit operation]

Acwing 787. Merge sort

Node red series (25): integrate Gaode map and realize 3D map and track playback
随机推荐
LeetCode 2016. Maximum difference between incremental elements
Dynamic display of analog clock using digital clock in turtle Library
Pxxx local socket communication
(dijkstra+ shortest path + edge traversal 0 (m)) acwing 850 Dijkstra finding the shortest path II
Memory management -- Viewing memory space from the perspective of executing programs and processes
7-3 virus traceability (20 points)
ASCII码值是怎么计算的,怎么计算arccos的值
It was so simple to implement system call
Classes and objects -- object model and this pointer
冗余码题型--后面加0的区别
LeetCode 343. integer partition
JS local storage
VDD,DVDD,AVDD,VCC,AFVDD,DOVDD,IOVDD
Instruction level parallelism (?)
June training (day 13) - two way linked list
Mobile web effects
Overloading of typical operators
MySQL monitoring tool PMM, let you go to a higher level (Part 2)
VDD,DVDD,AVDD,VCC,AFVDD,DOVDD,IOVDD
Standard template library (STL)