水果生鲜商城销售系统(springboot,vue,mysql)(程序代码,MySQL数据库)

下载链接:https://pan.baidu.com/s/1UBdgzZEnY0r9cHFUyNXxmg 提取码:8888

本项目功能包含前台用户与后台管理员二个角色

【前台用户】登录,注册,首页宣传图,分类展示水果信息,热门商品,网站公告,公告详情,推荐商品,物价商品,全部商品,购物车,

结算中心,收获人信息,我的订单,付款,订单明细,评价订单,用户信息查看和修改,修改密码,我的收藏,意见反馈,我的意见反馈

【管理员用户】登录,管理员列表,批量删除管理员,单个删除管理,网站用户列表,删除用户,批量删除用户,新闻公告列表,添加新闻公告,

删除公告,编辑公告,批量删除公告,商品类型列表,新增商品类型,编辑商品类型,删除商品类型,批量删除商品类型,商品列表,新增商品,编辑商品,

删除商品,批量删除商品,订单列表,发货,删除订单,批量删除订单,订单评价列表,评价删除,评价批量删除,意见反馈列表,删除意见反馈,批量删除意见反馈

部分代码

application.properties

#\u7AEF\u53E3\u53F7\u8BBE\u7F6E
server.port=8080 

#\u8BBF\u95EE\u8DEF\u5F84\u8BBE\u7F6E
server.servlet.context-path=/vue_fruit
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=100MB
#\u8BBE\u7F6E\u65E5\u5FD7\u7EA7\u522B
#lv: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF. \u9ED8\u8BA4\uFF1AINFO
logging.level.root=INFO
logging.level.org.springframework.web=INFO
logging.level.org.hibernate=INFO
logging.level.org.springframework=DEBUG
logging.level.com.boot.dao.*=DEBUG

#\u5B57\u7B26\u96C6 -\u7528\u4E8E\u89E3\u7801URI\u7684\u5B57\u7B26\u7F16\u7801  \u672C\u8EAB\u9ED8\u8BA4UTF-8
server.tomcat.uri-encoding=UTF-8

#HTTP\u8BF7\u6C42\u548C\u54CD\u5E94\u7684\u5B57\u7B26\u96C6\u3002\u5982\u679C\u672A\u660E\u786E\u8BBE\u7F6E\uFF0C\u5219\u6DFB\u52A0\u5230\u201CContent-Type\u201D\u5934 ;\u672C\u8EAB\u9ED8\u8BA4UTF-8
#spring.http.encoding.charset=UTF-8

#springboot mybatis
#\u52A0\u8F7D mybatis\u914D\u7F6E\u6587\u4EF6
mybatis.config-location = classpath:mybatis.xml
#mybatis.type-aliases-package = com.boot.entity

#\u6570\u636E\u5E93\u8FDE\u63A5\u914D\u7F6E\u6587\u4EF6
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.datasource.url=jdbc:mysql://localhost:3307/vue_fruit?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&serverTimezone=UTC
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/vue_fruit?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root




IndexController.java

package com.boot.controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.boot.entity.Article;
import com.boot.entity.Cart;
import com.boot.entity.Cate;
import com.boot.entity.Complains;
import com.boot.entity.Details;
import com.boot.entity.Fav;
import com.boot.entity.Goods;
import com.boot.entity.Items;
import com.boot.entity.Orders;
import com.boot.entity.Topic;
import com.boot.entity.Users;
import com.boot.service.ArticleService;
import com.boot.service.CartService;
import com.boot.service.CateService;
import com.boot.service.ComplainsService;
import com.boot.service.DetailsService;
import com.boot.service.FavService;
import com.boot.service.GoodsService;
import com.boot.service.OrdersService;
import com.boot.service.TopicService;
import com.boot.service.UsersService;
import com.boot.util.VeDate;
import com.github.pagehelper.Page;

@RestController // 定义为控制器 返回JSON类型数据
@RequestMapping(value = "/index", produces = "application/json; charset=utf-8") // 设置请求路径
@CrossOrigin // 允许跨域访问其资源
public class IndexController extends BaseController {

	// @Autowired的作用是自动注入依赖的ServiceBean
	@Autowired
	private UsersService usersService;
	@Autowired
	private ArticleService articleService;
	@Autowired
	private CateService cateService;
	@Autowired
	private GoodsService goodsService;
	@Autowired
	private CartService cartService;
	@Autowired
	private OrdersService ordersService;
	@Autowired
	private DetailsService detailsService;
	@Autowired
	private TopicService topicService;
	@Autowired
	private FavService favService;
	@Autowired
	private ComplainsService complainsService;

	// TODO Auto-generated method stub

	// 预处理 获取基础参数
	@GetMapping(value = "front.action")
	public Map<String, Object> front() {
		Map<String, Object> map = new HashMap<String, Object>();
		List<Cate> cateList = this.cateService.getAllCate();
		map.put("cateList", cateList);
		List<Goods> hotList = this.goodsService.getGoodsByHot();
		map.put("hotList", hotList);
		return map;
	}

	// 前台首页
	@GetMapping(value = "index.action")
	public Map<String, Object> index() {
		Map<String, Object> map = new HashMap<String, Object>();
		List<Cate> cateList = this.cateService.getCateFront();
		List<Cate> frontList = new ArrayList<Cate>();
		for (Cate cate : cateList) {
			List<Goods> goodsList = this.goodsService.getGoodsByCate(cate.getCateid());
			cate.setGoodsList(goodsList);
			frontList.add(cate);
		}
		map.put("frontList", frontList);
		return map;
	}

	// 新闻公告
	@GetMapping(value = "article.action")
	public Map<String, Object> article(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "20") Integer limit) {
		Map<String, Object> map = new HashMap<String, Object>();
		Page<Article> pager = com.github.pagehelper.PageHelper.startPage(page, limit);// 定义当前页和分页条数
		List<Article> list = this.articleService.getAllArticle();
		// 返回的map中定义数据格式
		map.put("count", pager.getTotal());
		map.put("total", list.size());
		map.put("data", list);
		map.put("code", 0);
		map.put("msg", "");
		map.put("page", page);
		map.put("limit", limit);
		return map;
	}

	// 公告详情
	@GetMapping(value = "read.action")
	public Map<String, Object> read(String id) {
		Map<String, Object> map = new HashMap<String, Object>();
		Article article = this.articleService.getArticleById(id);
		article.setHits("" + (Integer.parseInt(article.getHits()) + 1));
		this.articleService.updateArticle(article);
		map.put("article", article);
		return map;
	}

	// 用户登录
	@PostMapping(value = "login.action")
	public Map<String, Object> login(@RequestBody String jsonStr) {
		Map<String, Object> map = new HashMap<String, Object>();
		JSONObject obj = JSONObject.parseObject(jsonStr);
		String username = obj.getString("username");
		String password = obj.getString("password");
		Users usersEntity = new Users();
		usersEntity.setUsername(username);
		List<Users> userslist = this.usersService.getUsersByCond(usersEntity);
		if (userslist.size() == 0) {
			map.put("success", false);
			map.put("message", "用户名不存在");
		} else {
			Users users = userslist.get(0);
			if (password.equals(users.getPassword())) {
				map.put("success", true);
				map.put("message", "登录成功");
				map.put("userid", users.getUsersid());
				map.put("username", users.getUsername());
				map.put("realname", users.getRealname());
			} else {
				map.put("success", false);
				map.put("message", "密码错误");
			}
		}
		return map;
	}

	// 用户注册
	@PostMapping(value = "register.action")
	public Map<String, Object> register(@RequestBody String jsonStr) {
		Map<String, Object> map = new HashMap<String, Object>();
		JSONObject obj = JSONObject.parseObject(jsonStr); // 将JSON字符串转换成object
		Users users = new Users();
		users.setUsername(obj.getString("username"));
		users.setPassword(obj.getString("password"));
		users.setSex(obj.getString("sex"));
		users.setBirthday(obj.getString("birthday"));
		int num = this.usersService.insertUsers(users);
		if (num > 0) {
			map.put("success", true);
			map.put("code", num);
			map.put("message", "注册成功");
		} else {
			map.put("success", false);
			map.put("code", num);
			map.put("message", "注册失败");
		}
		return map;
	}

	// 修改密码
	@PostMapping(value = "editpwd.action")
	public Map<String, Object> editpwd(@RequestBody String jsonStr) {
		Map<String, Object> map = new HashMap<String, Object>();
		JSONObject obj = JSONObject.parseObject(jsonStr); // 将JSON字符串转换成object
		String userid = obj.getString("userid");
		String password = obj.getString("password");
		String repassword = obj.getString("repassword");
		int num = 0;
		Users users = this.usersService.getUsersById(userid);
		if (password.equals(users.getPassword())) {
			users.setPassword(repassword);
			num = 1;
			if (num > 0) {
				map.put("success", true);
				map.put("code", num);
				map.put("message", "修改成功");
			} else {
				map.put("success", false);
				map.put("code", num);
				map.put("message", "修改失败");
			}
		} else {
			map.put("success", false);
			map.put("code", num);
			map.put("message", "旧密码错误");
		}
		return map;
	}

	// 查看个人信息
	@GetMapping(value = "userinfo.action")
	public Map<String, Object> userinfo(String id) {
		Map<String, Object> map = new HashMap<String, Object>();
		Users users = this.usersService.getUsersById(id);
		map.put("users", users);
		return map;
	}

	// 修改个人信息
	@PostMapping(value = "personal.action")
	public Map<String, Object> personal(@RequestBody String jsonStr) {
		Map<String, Object> map = new HashMap<String, Object>();
		JSONObject obj = JSONObject.parseObject(jsonStr); // 将JSON字符串转换成object
		Users users = this.usersService.getUsersById(obj.getString("usersid"));
		int num = 1;
		if (num > 0) {
			map.put("success", true);
			map.put("code", num);
			map.put("message", "修改成功");
		} else {
			map.put("success", false);
			map.put("code", num);
			map.put("message", "修改失败");
		}
		return map;
	}

	// 查看购物车
	@GetMapping(value = "cart.action")
	public Map<String, Object> cart(String userid) {
		Map<String, Object> map = new HashMap<String, Object>();
		Cart cart = new Cart();
		cart.setUsersid(userid);
		List<Cart> cartList = this.cartService.getCartByCond(cart);
		map.put("cartList", cartList);
		map.put("num", cartList.size());
		return map;
	}

	// 删除购物车中的商品
	@RequestMapping(value = "deletecart.action")
	public Map<String, Object> deletecart(String id) {
		Map<String, Object> map = new HashMap<String, Object>();
		int num = this.cartService.deleteCart(id);
		if (num > 0) {
			map.put("success", true);
			map.put("code", num);
			map.put("message", "删除成功");
		} else {
			map.put("success", false);
			map.put("code", num);
			map.put("message", "删除失败");
		}
		return map;
	}

	// 查看订单
	@RequestMapping(value = "showOrders.action")
	public Map<String, Object> showOrders(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer limit,
			String userid) {
		Map<String, Object> map = new HashMap<String, Object>();
		Orders orders = new Orders();
		orders.setUsersid(userid);
		Page<Orders> pager = com.github.pagehelper.PageHelper.startPage(page, limit);// 定义当前页和分页条数
		List<Orders> list = this.ordersService.getOrdersByCond(orders);
		return map;
	}

	// 查看订单明细
	@RequestMapping(value = "orderdetail.action")
	public Map<String, Object> orderdetail(String id) {

		return null;
	}

	// 添加商品到购物车
	@PostMapping(value = "addcart.action")
	public Map<String, Object> addcart(@RequestBody String jsonStr) {
		Map<String, Object> map = new HashMap<String, Object>();
		JSONObject obj = JSONObject.parseObject(jsonStr); // 将JSON字符串转换成object
		Cart cart = new Cart();
		cart.setUsersid(obj.getString("userid"));
		cart.setAddtime(VeDate.getStringDateShort());
		cart.setGoodsid(obj.getString("goodsid"));
		cart.setNum(obj.getString("num"));
		cart.setPrice(obj.getString("price"));
		int num = this.cartService.insertCart(cart);
		if (num > 0) {
			map.put("success", true);
			map.put("code", num);
			map.put("message", "成功");
		} else {
			map.put("success", false);
			map.put("code", num);
			map.put("message", "失败");
		}
		return map;
	}

	// 购物结算
	@RequestMapping(value = "checkout.action", method = RequestMethod.POST)
	public Map<String, Object> checkout(@RequestBody String jsonStr) {
		return null;
	}

	// 确认收货
	@RequestMapping(value = "over.action")
	public Map<String, Object> over(String id) {
		return null;
	}

	@RequestMapping(value = "prePay.action")
	public Map<String, Object> prePay(String id) {
		Map<String, Object> map = new HashMap<String, Object>();
		Orders orders = this.ordersService.getOrdersById(id);
		map.put("orders", orders);
		return map;
	}

	// 付款
	@RequestMapping(value = "pay.action")
	public Map<String, Object> pay(String id) {
		return null;
	}

	// 取消订单
	@RequestMapping(value = "cancel.action")
	public Map<String, Object> cancel(String id) {
		return null;
	}

	// 加入收藏
	@PostMapping(value = "addFav.action")
	public Map<String, Object> addFav(@RequestBody String jsonStr) {
		Map<String, Object> map = new HashMap<String, Object>();
		JSONObject obj = JSONObject.parseObject(jsonStr); // 将JSON字符串转换成object
		int num = 0;
		Fav fav = new Fav();
		fav.setUsersid(obj.getString("userid"));
		fav.setGoodsid(obj.getString("goodsid"));
		List<Fav> list = this.favService.getFavByCond(fav);
		if (list.size() != 0) {
			map.put("success", false);
			map.put("code", num);
			map.put("message", "您已经收藏本商品");
			return map;
		}
		fav.setAddtime(VeDate.getStringDateShort());
		num = this.favService.insertFav(fav);
		if (num > 0) {
			map.put("success", true);
			map.put("code", num);
			map.put("message", "收藏成功");
		} else {
			map.put("success", false);
			map.put("code", num);
			map.put("message", "收藏失败");
		}
		return map;
	}

	// 我的收藏
	@GetMapping(value = "myFav.action")
	public Map<String, Object> myFav(String userid, @RequestParam(defaultValue = "1") Integer page,
			@RequestParam(defaultValue = "10") Integer limit) {
		Map<String, Object> map = new HashMap<String, Object>();
		Page<Fav> pager = com.github.pagehelper.PageHelper.startPage(page, limit);// 定义当前页和分页条数
		Fav fav = new Fav();
		fav.setUsersid(userid);
		List<Fav> list = this.favService.getFavByCond(fav);
		// 返回的map中定义数据格式
		map.put("count", pager.getTotal());
		map.put("total", list.size());
		map.put("data", list);
		map.put("code", 0);
		map.put("msg", "");
		map.put("page", page);
		map.put("limit", limit);
		return map;
	}

	// 删除收藏
	@RequestMapping(value = "deleteFav.action")
	public Map<String, Object> deleteFav(String id) {
		return null;
	}

	// 添加意见反馈信息
	@PostMapping(value = "addComplains.action")
	public Map<String, Object> addComplains(@RequestBody String jsonStr) {
		Map<String, Object> map = new HashMap<String, Object>();
		JSONObject obj = JSONObject.parseObject(jsonStr); // 将JSON字符串转换成object
		Complains complains = new Complains();
		complains.setAddtime(VeDate.getStringDateShort());
		complains.setStatus("");
		complains.setReps(" ");
		int num = this.complainsService.insertComplains(complains);
		if (num > 0) {
			map.put("success", true);
			map.put("code", num);
			map.put("message", "反馈成功");
		} else {
			map.put("success", false);
			map.put("code", num);
			map.put("message", "反馈失败");
		}
		return map;
	}

	// 我的意见反馈信息
	@RequestMapping(value = "myComplains.action")
	public Map<String, Object> myComplains(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "12") Integer limit,
			String userid) {
		Map<String, Object> map = new HashMap<String, Object>();
		Complains complains = new Complains();
		complains.setUsersid(userid);
		// 定义当前页和分页条数
		Page<Complains> pager = com.github.pagehelper.PageHelper.startPage(page, limit);
		List<Complains> complainsList = this.complainsService.getComplainsByCond(complains);
		return map;
	}

	@RequestMapping(value = "cate.action")
	public Map<String, Object> cate(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "12") Integer limit,
			String id) {
		System.out.println("cateid  ==>  " + id);
		Map<String, Object> map = new HashMap<String, Object>();
		Cate cate = this.cateService.getCateById(id);
		Goods goods = new Goods();
		goods.setCateid(id);
		Page<Goods> pager = com.github.pagehelper.PageHelper.startPage(page, limit);// 定义当前页和分页条数
		List<Goods> goodsList = this.goodsService.getGoodsByCond(goods);
		// 返回的map中定义数据格式
		map.put("count", pager.getTotal());
		map.put("total", goodsList.size());
		map.put("code", 0);
		map.put("msg", "");
		map.put("page", page);
		map.put("limit", limit);
		map.put("cate", cate);
		return map;
	}

	@RequestMapping(value = "recommend.action")
	public Map<String, Object> recommend(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "12") Integer limit) {
		Map<String, Object> map = new HashMap<String, Object>();
		Goods goods = new Goods();
		Page<Goods> pager = com.github.pagehelper.PageHelper.startPage(page, limit);// 定义当前页和分页条数
		List<Goods> goodsList = this.goodsService.getGoodsByCond(goods);
		// 返回的map中定义数据格式
		map.put("data", goodsList);
		map.put("code", 0);
		return map;
	}

	@RequestMapping(value = "special.action")
	public Map<String, Object> special(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "12") Integer limit) {
		Map<String, Object> map = new HashMap<String, Object>();
		Goods goods = new Goods();
		Page<Goods> pager = com.github.pagehelper.PageHelper.startPage(page, limit);// 定义当前页和分页条数
		List<Goods> goodsList = this.goodsService.getGoodsByCond(goods);
		// 返回的map中定义数据格式
		map.put("count", pager.getTotal());
		map.put("total", goodsList.size());
		map.put("data", goodsList);
		map.put("code", 0);
		return map;
	}

	@RequestMapping(value = "all.action")
	public Map<String, Object> all(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "12") Integer limit) {
		Map<String, Object> map = new HashMap<String, Object>();
		Page<Goods> pager = com.github.pagehelper.PageHelper.startPage(page, limit);// 定义当前页和分页条数
		List<Goods> goodsList = this.goodsService.getAllGoods();
		// 返回的map中定义数据格式
		map.put("count", pager.getTotal());
		map.put("total", goodsList.size());
		map.put("data", goodsList);
		map.put("code", 0);
		map.put("msg", "");
		map.put("page", page);
		map.put("limit", limit);
		return map;
	}

	@GetMapping(value = "queryGoods.action")
	public Map<String, Object> queryGoods(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "12") Integer limit,
			String name) {
		System.out.println("name ==>" + name);
		Map<String, Object> map = new HashMap<String, Object>();
		Goods goods = new Goods();
		goods.setGoodsname(name);
		Page<Goods> pager = com.github.pagehelper.PageHelper.startPage(page, limit);// 定义当前页和分页条数
		List<Goods> goodsList = this.goodsService.getGoodsByLike(goods);
		// 返回的map中定义数据格式
		map.put("count", pager.getTotal());
		map.put("total", goodsList.size());
		map.put("data", goodsList);
		map.put("code", 0);
		map.put("msg", "");
		map.put("page", page);
		map.put("limit", limit);
		return map;
	}

	@RequestMapping(value = "detail.action")
	public Map<String, Object> detail(String id) {
		Map<String, Object> map = new HashMap<String, Object>();
		Goods goods = this.goodsService.getGoodsById(id);
		goods.setHits("" + (Integer.parseInt(goods.getHits()) + 1));
		this.goodsService.updateGoods(goods);
		map.put("goods", goods);
		Topic topic = new Topic();
		topic.setGoodsid(id);
		List<Topic> topicList = this.topicService.getTopicByCond(topic);
		map.put("topicList", topicList);
		return map;
	}

	@RequestMapping(value = "preTopic.action")
	public Map<String, Object> preTopic(String id) {
		Map<String, Object> map = new HashMap<String, Object>();
		Orders orders = this.ordersService.getOrdersById(id);
		map.put("orders", orders);
		String ordercode = orders.getOrdercode();
		Details details = new Details();
		details.setOrdercode(ordercode);
		List<Details> detailsList = this.detailsService.getDetailsByCond(details);
		List<Items> itemsList = new ArrayList<Items>();
		for (Details x : detailsList) {
			Items items = new Items();
			items.setDetailsid(x.getDetailsid());
			items.setGoodsid(x.getGoodsid());
			items.setGoodsname(x.getGoodsname());
			items.setOrdercode(ordercode);
			itemsList.add(items);
		}
		map.put("detailsList", itemsList);
		return map;
	}

	@PostMapping(value = "addTopic.action")
	public Map<String, Object> addTopic(@RequestBody String jsonStr) {
		Map<String, Object> map = new HashMap<String, Object>();
		JSONObject obj = JSONObject.parseObject(jsonStr); // 将JSON字符串转换成object
		Orders orders = this.ordersService.getOrdersById(obj.getString("ordersid"));
		this.ordersService.updateOrders(orders);
		JSONArray detailsList = JSONArray.parseArray(obj.getString("detailsList"));
		int num = 0;
		if (num > 0) {
			map.put("success", true);
			map.put("code", num);
			map.put("message", "保存成功");
		} else {
			map.put("success", false);
			map.put("code", num);
			map.put("message", "保存失败");
		}
		return map;
	}

	@SuppressWarnings("rawtypes")
	@RequestMapping(value = "/*", method = RequestMethod.OPTIONS)
	public ResponseEntity handleOptions() {
		return (ResponseEntity) ResponseEntity.noContent();
	}

	// TODO Auto-generated method stub
}

 

                                                                                                                                                                                              


版权声明:本文为weixin_71390227原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_71390227/article/details/127940574