赞
踩
基于Spring Boot的零食交易平台
随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,零食交易平台当然也不能排除在外。零食交易平台是以实际运用为开发背景,运用软件工程原理和开发方法,采用springboot框架构建的一个管理系统。整个开发过程首先对软件系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对系统进行功能测试,并对测试结果进行分析总结,得出系统中存在的不足及需要改进的地方,为以后的系统维护提供了方便,同时也为今后开发类似系统提供了借鉴和帮助。这种个性化的网上管理系统特别注重交互协调与管理的相互配合,激发了管理人员的创造性与主动性,对闲一品交易平台而言非常有利。
零食交易平台采用的数据库是Mysql,使用springboot框架开发。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
关键词:零食交易平台,springboot框架 Mysql数据库 Java技术
系统设置管理员和普通用户两种权限,管理员权限的功能有用户管理、零食订单管理、分类管理、信息管理、评价管理、系统管理等,普通用户的功能有个人中心、评价、收藏、下订单等。
可以查看首页、零食信息、零食资讯、个人中心、后台管理、购物车、在线客服等内容。
可以查看首页、个人中心、用户管理、零食分类管理、零食信息管理、订单评价管理、系统管理、订单管理等信息。
可以查看首页、个人中心、订单评价管理、我的收藏管理、订单管理等内容。
/** * 权限(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")); // 跨域时会首先发送一个OPTIONS请求,这里我们给OPTIONS请求直接返回正常状态 if (request.getMethod().equals(RequestMethod.OPTIONS.name())) { response.setStatus(HttpStatus.OK.value()); return false; } 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; } } /** * 零食信息评论表 * * @author * @email * @date 2021-03-15 12:56:17 */ public interface DiscusslingshixinxiDao extends BaseMapper<DiscusslingshixinxiEntity> { List<DiscusslingshixinxiVO> selectListVO(@Param("ew") Wrapper<DiscusslingshixinxiEntity> wrapper); DiscusslingshixinxiVO selectVO(@Param("ew") Wrapper<DiscusslingshixinxiEntity> wrapper); List<DiscusslingshixinxiView> selectListView(@Param("ew") Wrapper<DiscusslingshixinxiEntity> wrapper); List<DiscusslingshixinxiView> selectListView(Pagination page,@Param("ew") Wrapper<DiscusslingshixinxiEntity> wrapper); DiscusslingshixinxiView selectView(@Param("ew") Wrapper<DiscusslingshixinxiEntity> wrapper); }
全套文档,支持远程部署!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。