赞
踩
随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。
在线水果商城 ,主要的模块包括查看管理员;首页、个人中心、用户管理、类型信息管理、商品信息管理、库存统计管理、销售统计管理、系统管理、订单管理、用户等等,前台;首页、商品信息、个人中心、后台管理等功能。系统中管理员主要是为了安全有效地存储和管理各类信息,还可以对系统进行管理与更新维护等操作,并且对后台有相应的操作权限。
要想实现在线水果商城的各项功能,需要后台数据库的大力支持。管理员验证注册信息,收集的用户信息,并由此分析得出的关联信息等大量的数据都由数据库。本文中数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
本系统的开发使获取在线水果商城 信息能够更加方便快捷,同时也使在线水果商城 管理信息变的更加系统化、有序化。系统界面较友好,易于操作。
文章末尾获取源码
开发语言:Java
技术框架:SSM
前端语言:Vue\HTML
持久层框架:Mybatis
服务器:Tomcat7\8\9\10
数据库:MySQL5.7以上
项目管理工具:Maven
项目开发工具:IDEA\Eclipse
在线水果商城 ,在系统首页可以查看首页、商品信息、个人中心、后台管理前台页面等内容
在注册页面填写用户名、密码、姓名、手机等信息
用户进入登录页面填写账号、密码等等。并可以进行登录。修改等操作。
用户前台可以对商品信息浏览并商品编号、商品名称、水果类型、保质期、价格、库存等信息进行操作
个人中心
用户进入个人中心界面填写个人信息、信息修改可以进行我的后台、退出登录、重置密码等操作
购物车
用户进入购物车界面填写商品、价格、数量、总价可以进行立即结算等操作。
新增地址
用户进入新增地址界面填写联系人、手机号码、地址、详细地址、是否默认可以进行查看等操作。
订单确认
用户进入订单确认界面填写商品、单价、数量、总价、收货地址、状态可以进行查看等操作。
管理员通过输入用户名,密码,权限,等信息进行系统登录
进入在线水果商城 可以查看首页、个人中心、用户管理 ,类型信息管理 ,商品信息管理 ,库存统计管理 ,销售统计管理 ,系统管理 ,订单管理等内容
在个人信息页面可以查看用户名 ,等内容,并可根据需要对个人信息 进行添加,修改或删除等操作
在用户管理页面可以查看用户名、密码、姓名、性别、手机等内容,并可根据需要对用户管理进行添加,修改或删除等操作
,在类型信息管理页面可以查看水果类型等等进行添加,修改,删除或查看详细内容等操作
在商品信息管理 页面可以查看商品编号、商品名称、水果类型、图片、保质期、价格、库存等内容,并可根据需要对商品信息管理 信息进行添加,修改,删除或详细内容等操作
在库存统计管理页面可以查看名称、商品名称、库存数量、日期等内容,并可根据需要对库存统计管理进行添加,修改,删除或详细内容等操作
在销售统计管理页面可以查看名称、商品名称、销售总数、日期等内容,并可根据需要对销售统计管理信息进行修改,删除或详细内容等操作
在轮播图管理页面可以查看ID、名称等内容,并可根据需要对轮播图管理信息进行修改,删除或查看详细内容等操作
在已支付订单页面可以查看订单编号、商品名称、商品图片、购买数量、价格等内容,并可根据需要对已支付订单信息进行修改,删除或查看详细内容等操作
在已发货订单页面可以查看订单编号、商品名称、商品图片、购买数量、价格等内容,并可根据需要对已发货订单信息进行修改,删除或查看详细内容等操作
在客服管理页面可以查看新消息、状态等内容,并可根据需要对客服管理信息进行修改,删除或查看详细内容等操作
- package com.interceptor;
-
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.HashMap;
- import java.util.Map;
- import com.alibaba.fastjson.JSONObject;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import org.springframework.web.method.HandlerMethod;
- import org.springframework.web.servlet.HandlerInterceptor;
-
- import com.annotation.IgnoreAuth;
- import com.entity.EIException;
- import com.entity.TokenEntity;
- import com.service.TokenService;
- import com.utils.R;
-
- /**
- * 权限(Token)验证
- */
- @Component
- public class AuthorizationInterceptor implements HandlerInterceptor {
-
- public static final String LOGIN_TOKEN_KEY = "Token";
-
- @Autowired
- private TokenService tokenService;
-
- @Override
- public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
-
- //支持跨域请求
- response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
- response.setHeader("Access-Control-Max-Age", "3600");
- response.setHeader("Access-Control-Allow-Credentials", "true");
- response.setHeader("Access-Control-Allow-Headers", "x-requested-with,request-source,Token, Origin,imgType, Content-Type, cache-control,postman-token,Cookie, Accept,authorization");
- response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
-
- IgnoreAuth annotation;
- if (handler instanceof HandlerMethod) {
- annotation = ((HandlerMethod) handler).getMethodAnnotation(IgnoreAuth.class);
- } else {
- return true;
- }
-
- //从header中获取token
- String token = request.getHeader(LOGIN_TOKEN_KEY);
-
- /**
- * 不需要验证权限的方法直接放过
- */
- if(annotation!=null) {
- return true;
- }
-
- TokenEntity tokenEntity = null;
- if(StringUtils.isNotBlank(token)) {
- tokenEntity = tokenService.getTokenEntity(token);
- }
-
- if(tokenEntity != null) {
- request.getSession().setAttribute("userId", tokenEntity.getUserid());
- request.getSession().setAttribute("role", tokenEntity.getRole());
- request.getSession().setAttribute("tableName", tokenEntity.getTablename());
- request.getSession().setAttribute("username", tokenEntity.getUsername());
- return true;
- }
-
- PrintWriter writer = null;
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application/json; charset=utf-8");
- try {
- writer = response.getWriter();
- writer.print(JSONObject.toJSONString(R.error(401, "请先登录")));
- } finally {
- if(writer != null){
- writer.close();
- }
- }
- // throw new EIException("请先登录", 401);
- return false;
- }
- }
-
- package com.controller;
-
-
- import java.util.Arrays;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.Map;
-
- import javax.servlet.http.HttpServletRequest;
-
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PathVariable;
- 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.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.bind.annotation.RestController;
-
- import com.annotation.IgnoreAuth;
- import com.baomidou.mybatisplus.mapper.EntityWrapper;
- import com.entity.TokenEntity;
- import com.entity.UserEntity;
- import com.service.TokenService;
- import com.service.UserService;
- import com.utils.CommonUtil;
- import com.utils.MD5Util;
- import com.utils.MPUtil;
- import com.utils.PageUtils;
- import com.utils.R;
- import com.utils.ValidatorUtils;
-
- /**
- * 登录相关
- */
- @RequestMapping("users")
- @RestController
- public class UserController{
-
- @Autowired
- private UserService userService;
-
- @Autowired
- private TokenService tokenService;
-
- /**
- * 登录
- */
- @IgnoreAuth
- @PostMapping(value = "/login")
- public R login(String username, String password, String captcha, HttpServletRequest request) {
- UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
- if(user==null || !user.getPassword().equals(password)) {
- return R.error("账号或密码不正确");
- }
- String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
- return R.ok().put("token", token);
- }
-
- /**
- * 注册
- */
- @IgnoreAuth
- @PostMapping(value = "/register")
- public R register(@RequestBody UserEntity user){
- // ValidatorUtils.validateEntity(user);
- if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
- return R.error("用户已存在");
- }
- userService.insert(user);
- return R.ok();
- }
-
- /**
- * 退出
- */
- @GetMapping(value = "logout")
- public R logout(HttpServletRequest request) {
- request.getSession().invalidate();
- return R.ok("退出成功");
- }
-
- /**
- * 密码重置
- */
- @IgnoreAuth
- @RequestMapping(value = "/resetPass")
- public R resetPass(String username, HttpServletRequest request){
- UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
- if(user==null) {
- return R.error("账号不存在");
- }
- user.setPassword("123456");
- userService.update(user,null);
- return R.ok("密码已重置为:123456");
- }
-
- /**
- * 列表
- */
- @RequestMapping("/page")
- public R page(@RequestParam Map<String, Object> params,UserEntity user){
- EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
- PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
- return R.ok().put("data", page);
- }
-
- /**
- * 列表
- */
- @RequestMapping("/list")
- public R list( UserEntity user){
- EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
- ew.allEq(MPUtil.allEQMapPre( user, "user"));
- return R.ok().put("data", userService.selectListView(ew));
- }
-
- /**
- * 信息
- */
- @RequestMapping("/info/{id}")
- public R info(@PathVariable("id") String id){
- UserEntity user = userService.selectById(id);
- return R.ok().put("data", user);
- }
-
- /**
- * 获取用户的session用户信息
- */
- @RequestMapping("/session")
- public R getCurrUser(HttpServletRequest request){
- Long id = (Long)request.getSession().getAttribute("userId");
- UserEntity user = userService.selectById(id);
- return R.ok().put("data", user);
- }
-
- /**
- * 保存
- */
- @PostMapping("/save")
- public R save(@RequestBody UserEntity user){
- // ValidatorUtils.validateEntity(user);
- if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
- return R.error("用户已存在");
- }
- userService.insert(user);
- return R.ok();
- }
-
- /**
- * 修改
- */
- @RequestMapping("/update")
- public R update(@RequestBody UserEntity user){
- // ValidatorUtils.validateEntity(user);
- UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
- if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
- return R.error("用户名已存在。");
- }
- userService.updateById(user);//全部更新
- return R.ok();
- }
-
- /**
- * 删除
- */
- @RequestMapping("/delete")
- public R delete(@RequestBody Long[] ids){
- userService.deleteBatchIds(Arrays.asList(ids));
- return R.ok();
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。