【最新原创毕设】基于SpringBoot的国货商城微信小程序+31022(免费领源码)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、大数据、全套文案

目  录

1 绪论

1.1 研究目的和意义

1.1.1 研究目的

1.1.2 研究意义

1.2国内外研究现状

1.3研究的主要内容和方法

1.3.1 研究内容

1.3.2 研究方法

1.4所用技术介绍

1.4.1 JAVA编程语言介绍

1.4.2 Springboot框架介绍

1.4.3 Mysql数据库介绍

2 系统分析

2.1 可行性分析

2.1.1 经济可行性

2.1.2 技术可行性

2.1.3 社会因素可行性

2.2 需求分析

2.2.1 功能需求分析

2.2.2 性能需求分析

2.3 系统用例分析

2.4 系统流程分析

2.4.1 数据流程

2.4.2 业务流程

2.5本章小结

3 系统设计

3.1 系统概要设计

3.2系统结构设计

3.3数据库设计

3.3.1 数据库概念结构设计

3.3.2 数据库逻辑结构设计

3.3本章小结

4 系统详细设计与实现

4.1买家用户功能模块

4.1.1 用户注册界面

4.1.2 用户登录界面

4.1.3 商品资讯界面

4.1.4购物车界面

4.1.5订单界面

4.2管理员功能模块

4.2.1系统用户管理界面

4.2.2取消订单管理界面

4.2.3商品评价管理界面

4.2.4资源管理界面

4.2.5分类列表界面

4.3卖家用户功能模块

4.3.1商品信息界面

4.3.2订单列表界面

4.3.3订单配送界面

5系统测试

5.1软件测试的重要性

5.2测试实例的研究与选择

5.3测试环境与测试条件

5.4系统运行情况

5.5系统评价

5.5.1系统功能评价

5.5.2系统技术评价

5.5.3系统经济评价

结论

参考文献

致  谢

摘要

本论文旨在设计和实现一个基于Spring Boot框架的国货商城微信小程序。该微信小程序旨在为用户提供便捷的购物体验,同时促进国货的传播和发展。通过采用Spring Boot框架,实现了后端服务的快速开发和部署,同时结合微信小程序技术,实现了跨平台的用户访问。在系统设计上,采用了前后端分离的架构,实现了前端与后端的解耦和并行开发。在功能实现上,包括用户登录注册、系统用户、取消订单管理、商品评价管理、推送通知管理、系统管理、公告信息管理、资源管理、商城管理(商品信息、分类列表、订单列表、订单配送、优惠券)等功能。通过系统的设计与实现,提高了国货商城微信小程序的用户体验和系统性能,为国货的推广和销售提供了新的途径和平台。

关键词:国货商城微信小程序;JAVA;SpringBoot;Mysql

Abstract

This paper aims to design and implement a WeChat mini program for a domestic shopping mall based on the Spring Boot framework. This WeChat mini program aims to provide users with a convenient shopping experience while promoting the dissemination and development of domestic products. By adopting the Spring Boot framework, rapid development and deployment of backend services have been achieved, and combined with WeChat Mini Program technology, cross platform user access has been achieved. In terms of system design, a front-end and back-end separation architecture was adopted to achieve decoupling and parallel development between the front-end and back-end. In terms of functional implementation, it includes user login and registration, system user, cancellation order management, product evaluation management, push notification management, system management, announcement information management, resource management, mall management (product information, classification list, order list, order delivery, coupons) and other functions. Through the design and implementation of the system, the user experience and system performance of the WeChat mini program for the domestic product mall have been improved, providing a new way and platform for the promotion and sales of domestic products.

Keywords:National Goods Mall WeChat Mini Program; JAVA; SpringBoot; MySQL

1 绪论

1.1研究目的和意义

1.1.1 研究目的

随着电子商务的蓬勃发展,微信小程序作为连接线上线下的重要桥梁,其便捷性和即用性深受用户喜爱。国货商城作为推广国内优质商品、弘扬民族文化的重要平台,借助微信小程序能够更好地触达广大消费者,满足他们对国货商品的购买需求。本研究旨在通过开发基于Spring Boot框架的国货商城微信小程序,实现以下几个方面的目的:

通过为国货商品提供一个专门的线上销售渠道,本研究期望能够推动国货品牌的数字化转型,增强品牌的市场影响力和竞争力。小程序将集中展示国货精品,通过丰富的商品详情、用户评价以及个性化推荐等功能,提升消费者的购物体验。

本研究致力于探索微信小程序在电商领域的应用潜力与创新模式。通过整合Spring Boot后端框架的优势,实现高效的数据处理、灵活的业务逻辑以及稳定的系统性能,为国货商城在微信小程序平台上的长远发展奠定坚实基础。

本研究还关注用户体验和交互设计的重要性。通过优化用户界面、简化操作流程以及提供个性化服务,本研究期望能够提升用户的满意度和忠诚度,进而促进国货商城的可持续发展。

综上所述,本研究旨在通过开发基于Spring Boot框架的国货商城微信小程序,推动国货品牌的数字化转型,探索微信小程序在电商领域的应用潜力,并提升用户体验和交互设计,为国货商城在微信小程序平台上的发展注入新的活力。

1.1.2 研究意义

在当今数字化时代,电子商务已经成为推动经济增长、促进消费升级的重要力量。而微信小程序作为连接线上线下的桥梁,以其即用即走、无需安装的特点,赢得了广大用户的青睐。对于国货商城而言,借助微信小程序平台,不仅可以拓宽销售渠道,提升品牌影响力,还能更好地满足消费者的购物需求,推动国货品牌的数字化转型。

本研究的意义在于,通过开发基于Spring Boot框架的国货商城微信小程序,为国货商品打造一个高效、便捷、安全的线上销售平台。这不仅能够为国货品牌提供新的发展机遇,促进国内优质商品的流通与推广,还能为消费者带来更加丰富的购物选择和更加优质的购物体验。

此外,本研究还具有推动技术创新和产业升级的重要意义。通过整合Spring Boot后端框架的优势,实现高效的数据处理、灵活的业务逻辑以及稳定的系统性能,能够推动微信小程序在电商领域的应用发展,为其他行业提供可借鉴的经验和参考。

综上所述,本研究的意义在于推动国货商城的数字化转型,满足消费者需求,促进国内优质商品的流通与推广,同时推动技术创新和产业升级,为电子商务领域的发展注入新的活力。

1.2国内外研究现状

国内研究现状:

近年来,随着电子商务在国内的快速发展,越来越多的企业开始重视线上销售渠道的建设。国货商城作为推广国内优质商品的重要平台,也纷纷开始探索数字化转型之路。在国内,一些知名的电商平台如淘宝、京东等已经为国货商品提供了丰富的在线销售渠道。然而,目前国内的在线特产购物商城系统仍存在着功能单一、用户体验不佳等问题。尽管有些系统已经开设了特产专区,但在用户体验、营销策略等方面仍有待进一步完善和优化。

国外研究现状:

相比之下,国外的电子商务发展更加成熟,尤其是在欧美等发达国家。这些国家的在线特产购物商城系统不仅提供了多样化的特产选择,还注重用户体验的优化和营销策略的创新。例如,一些系统通过大数据分析,为用户提供个性化的推荐服务,提升购物体验。此外,国外的一些先进技术和管理经验也为国内在线特产购物商城系统的发展提供了有益的借鉴。

综上所述,基于Spring Boot框架开发的国货商城微信小程序在国内具有广阔的市场前景和实际应用价值。通过借鉴国外的先进经验和技术,结合国内的市场需求,有望打造出一个功能丰富、用户体验优良的国货商城微信小程序,为国货品牌的发展注入新的活力。

1.3研究的主要内容和方法

1.3.1 研究内容

本研究致力于探索并实践基于Spring Boot框架的国货商城微信小程序的开发与实现。研究内容涵盖了从需求分析、系统设计到开发实现、测试优化以及技术创新与特色功能开发等多个方面。

通过深入的市场调研和用户需求分析,明确了国货商城微信小程序的核心功能和特色。在此基础上,我们设计了系统的整体架构和数据库结构,确保系统的稳定性、可扩展性和可维护性。

我们利用Spring Boot框架作为后端开发的基础,实现了取消订单管理、商品评价管理、推送通知管理、系统管理、公告信息管理、资源管理、商城管理等核心业务逻辑。同时,结合微信小程序的前端技术栈,开发了用户界面和交互逻辑,为用户提供了流畅、便捷的购物体验。

在系统开发完成后,我们进行了全面的功能测试和性能测试,确保系统按照设计要求正常运行,并能够在高并发场景下保持稳定。根据测试结果和用户反馈,我们对系统进行了优化调整,提升了系统的性能和用户体验。

我们还注重技术创新和特色功能的开发。我们实现了个性化商品推荐功能,为用户提供了更加精准的购物建议。同时,我们还集成了社交功能,如用户评价、分享等,增强了用户之间的互动和社区氛围。

我们持续关注用户反馈和市场需求,通过收集用户调查、在线评价等方式,了解用户对系统的满意度和改进意见。根据这些信息,我们不断对系统进行持续改进和升级,保持系统的竞争力和活力。

综上所述,本研究内容旨在通过基于Spring Boot框架的国货商城微信小程序的开发与实现,为国货品牌打造一个功能丰富、用户体验优良的线上销售平台,推动国货品牌的数字化转型和发展。同时,我们也注重技术创新和特色功能的开发,为用户提供更加个性化、便捷的购物体验。

1.3.2 研究方法

springboot国货商城微信小程序的研究方法主要有以下几种:

需求分析:通过调研和用户需求调查,明确国货商城微信小程序的功能需求和性能要求,确保系统设计符合实际需求。

技术选型:评估不同技术框架和工具,选择适合的开发工具和技术栈,如Spring Boot框架、微信小程序开发技术等,以支持系统功能的实现和性能优化。

系统架构设计:采用前后端分离架构,设计系统的模块化结构和接口规范,保证系统的可扩展性和灵活性。

开发与测试:采用敏捷开发方法,进行迭代式的开发和测试,确保系统功能的稳定性和性能优化的有效实施。

性能优化:通过代码优化、缓存机制的设计、数据库性能调优等手段,提高系统的响应速度和并发能力。

用户体验测试:进行用户体验测试,收集用户反馈,不断优化系统界面和交互设计,以提升用户体验。

系统部署:选择合适的部署方案,确保系统的稳定性和安全性,例如使用云平台部署、负载均衡、容器化部署等方式。

通过以上研究方法的有效实施,可以确保springboot国货商城微信小程序在功能实现和性能优化方面取得良好的成果,满足用户的需求并促进国货的传播和发展。

1.4所用技术介绍

1.4.1 JAVA编程语言介绍

Java采用函数或者过程来解析对于数据的操作,但又把数据和函数之间相互分开,这样并不利于维护,并会增加程序的工作量。而面向对象的编程将程序的函数和函数对于数据的操作封装在一个类中,作为一个整体来处理。所以Java语言是主要通过面向对象来实现编程,并且摒除了C++语言中的指针、多继承等比较难理解部分,创造出了自身独有的单继承、多接口、高内聚、低耦合等特性。

1.4.2 Springboot框架介绍

springboot是spring团队在2014年的时候,伴随spring4.0版本开发出一个框架。

springboot用于快速的创建一个spring应用,简化配置。

Springboot的优点:

快速创建独立运行的spring项目以及主流框架集成。

使用嵌入式的servlet容器,应用无需打成war包。

使用starters自动依赖与版本控制。

大量的自动配置,简化开发,也可修改默认值。

无需配置xml,无代码生成.。

与云计算天然集成。

1.4.3 Mysql数据库介绍

数据库是系统开发过程中不可或缺的一部分。 在WEB应用方面,MySQL AB开发了一个具有很大优势的MySQL关系数据库管理系统。 MySQL可以将数据存储在不同的表中,这非常灵活,并且还可以提高系统在实际应用中的速度。 数据库访问最常用于标准SQL语言,MySQL用于SQL语言,因此它具有高度兼容性。数据库的操作是必不可少的,包括对数据库表的增加、删除、修改、查询等功能。现如今,数据库可以分为关系型数据库和非关系型数据库,Mysql属于关系性数据库,Mysql数据库是一款小型的关系型数据库,它以其自身特点:体积小、速度快、成本低等,Mysql数据库是目前最受欢迎的开源数据库。

在WEB应用技术中, Mysql数据库支持不同的操作系统平台,虽然在不同平台下的安装和配置都不相同,但是差别也不是很大,Mysql在Windows平台下两种安装方式,二进制版和免安装版。安装完Mysql数据库之后,需要启动服务进程,相应的客户端就可以连接数据库,客户端可通过命令行或者图形界面工具登录数据库

2 系统分析

系统需求分析是系统开发的一个关键环节,它在系统的设计和实现上起到了一个承上启下的位置。系统需求分析是对所需要做的系统进行一个需求的挖掘,如果分析的准确可以精准的解决现实中碰到的问题。如果分析不到位会影响后期系统的实现。一个系统的优秀程度需求分析也是占据了非常大的比例,如果需求分析不到位,后面的系统设计要实现就是一个偏离导航的设计。

2.1 可行性分析

系统可行行分析是对系统可行性进行一个探讨。在探讨系统的可行性上主要从技术上的可行性和经济上的可行性以及社会因素的可行性上进行分析,如果三个层面度通过,我们则认为系统是比较可行的。

2.1.1 经济可行性

从经济可行性的角度来看,基于Spring Boot开发的国货商城微信小程序具有显著的经济优势。Spring Boot框架的成熟稳定为商城提供了高效、可靠的技术支持,降低了开发和维护成本。微信小程序作为一个拥有庞大用户基础的平台,为国货商城提供了广阔的潜在市场,有助于快速吸引用户并实现流量变现。此外,商城可以通过小程序提供个性化推荐、会员制度、优惠券等多种营销手段,提高用户粘性,促进商品销售。综合考虑开发成本、运营成本、用户规模以及盈利潜力,基于Spring Boot的国货商城微信小程序在经济上是可行的,并且有望为商家带来可观的经济效益。

2.1.2 技术可行性

技术可行性是评估Spring Boot国货商城微信小程序项目能否成功实施的关键因素。考虑到Spring Boot框架的成熟稳定、广泛的社区支持和强大的扩展性,以及微信小程序在用户基数、开发体验和市场覆盖上的优势,技术可行性得到了有力保障。结合两者,我们可以实现高效的后端业务逻辑处理和流畅的前端用户体验。此外,现有的技术栈和工具链,如数据库技术、缓存技术、API网关等,都能够为项目提供稳定的技术支持。因此,从技术角度来看,Spring Boot国货商城微信小程序项目具备完全可行的技术基础,能够支撑项目的顺利推进和上线运营。

2.1.3 社会因素可行性

社会因素可行性在评估Spring Boot国货商城微信小程序项目中同样占据重要地位。考虑到当前社会对国货品牌的关注和支持度不断提升,以及微信小程序作为社交电商平台的普及和便捷性,该项目在社会因素方面具有显著优势。通过为国货品牌打造一个功能全面、用户体验优良的线上销售平台,不仅满足了消费者的购物需求,也促进了国货品牌的数字化转型和市场竞争力提升。同时,该项目还符合国家对电商行业发展的支持政策和社会对绿色、环保、可持续发展的呼声。因此,从社会因素角度来看,Spring Boot国货商城微信小程序项目具备高度的可行性,有望在社会层面产生积极的影响和推动作用。

2.2 需求分析

2.2.1 功能需求分析

springboot国货商城微信小程序划分了买家用户、卖家用户、管理员这三大部分。

买家用户功能介绍:

注册登录:提供用户注册和登录功能,确保用户可以轻松注册新账号并安全登录,以便进行购物和管理个人信息。

首页:展示商城的热门商品、促销活动和推荐内容,以吸引用户浏览和购买。

购物车:允许用户将感兴趣的商品加入购物车,方便批量结算和管理购物清单。

商城资讯:提供最新的国货商城资讯和活动信息,让用户了解优惠活动、新品发布等相关内容。

商品信息:展示商品的详细信息,包括价格、描述、规格等,以便用户做出购买决策。

基本信息: 允许用户查看和编辑个人基本信息,如昵称、头像。

收货地址: 用户可以管理收货地址,包括添加、编辑和删除,以便顺利收取商品。

收藏: 用户可以收藏喜欢的商品,以便随时查看和购买。

订单: 展示用户的订单信息,包括待付款、待发货、待收货等订单状态,并提供订单详情查看和管理。

购物车: 允许用户管理购物车中的商品,包括增删商品、修改数量等操作。

我的优惠券: 展示用户拥有的优惠券信息,包括有效期、使用条件等。

取消订单: 允许用户取消待付款状态的订单。

商品评价: 用户可以对已购买的商品进行评价,分享使用感受和建议。

推送通知: 及时通知用户订单状态变更、活动信息等重要通知。

订单配送: 提供订单物流信息查询和配送状态跟踪等功能。

管理员功能介绍:

登录:管理员需要安全地登录到系统后台,确保只有授权的人员可以进行管理操作,保障系统安全。

系统用户:管理员需要能够管理系统用户,包括添加新用户、编辑用户信息、重置密码等操作,以确保系统的权限管理和安全性。

取消订单管理:提供管理员取消订单的功能,包括查看待取消的订单列表、审批取消请求等操作,以应对用户的取消订单需求,保障用户权益。

商品评价管理:允许管理员查看和管理商品评价信息,包括审核评价内容、删除不当评论等操作,以维护商品评价的真实性和客观性。

推送通知管理:提供管理员管理推送通知的功能,包括发布新通知、查看发送历史、管理接收者等操作,以确保及时有效地向用户发送重要通知和促销信息。

系统管理:允许管理员管理系统首页的轮播图,包括上传、编辑、删除轮播图等操作,以保持系统首页的美观和信息更新。

公告信息管理:提供管理员管理系统公告信息的功能,包括发布新公告、编辑已有公告、删除过期公告等操作,以向用户传达重要信息和通知。

资源管理:允许管理员管理商城资讯及其分类,包括添加、编辑、删除资讯和分类等操作,以及确保资讯信息的及时更新和分类管理。

商城管理:提供管理员管理商城商品信息、分类列表、订单列表、订单配送和优惠券等功能,包括添加、编辑、删除商品信息、分类管理、订单处理、物流配送、优惠券发放等操作,以确保商城运营的顺利进行和用户体验的提升。

卖家用户功能介绍:

注册登录:提供卖家用户注册和登录功能,确保他们可以轻松注册新账号并安全登录,以便进行后台管理和交易操作。

取消订单管理:提供卖家用户管理取消订单的功能,包括查看待取消的订单列表、处理取消请求等操作,以应对用户的取消订单需求,保障交易流程的顺利进行。

商品评价管理:允许卖家用户查看和管理商品评价信息,包括回复用户评价、处理用户反馈等操作,有助于维护商品评价的质量和客户满意度。

商城管理:提供卖家用户管理商品信息、订单列表、订单配送、优惠券等功能。

2.2.2 性能需求分析

对于Spring Boot国货商城微信小程序的性能需求分析,我们首先要明确的是小程序需要支持高并发、低延迟的用户交互,确保用户在浏览商品、添加购物车、下单支付等各个环节都能获得流畅的体验。

后端方面,Spring Boot需要处理大量的业务逻辑和数据交互,因此我们需要确保其具备高性能的处理能力。这包括数据库连接的优化、缓存机制的实施、API接口的快速响应等。同时,安全性也是性能需求分析中不可忽视的一环,我们需要通过Spring Security等安全框架来确保用户数据的安全性和隐私性。

前端方面,微信小程序需要展现出良好的用户体验,包括页面加载速度、交互流畅性、动画效果等。我们需要对图片、视频等媒体内容进行优化,减少加载时间;同时,通过合理的页面布局和交互设计,降低用户的认知负担,提升购物体验。

此外,我们还需要考虑到系统的可扩展性和可维护性。随着用户数量的增加和业务的拓展,系统需要能够平滑地扩展资源,同时保持代码的可读性和可维护性。这要求我们在设计阶段就充分考虑到未来的扩展需求,采用模块化、组件化的开发方式,降低系统的耦合度。

综上所述,Spring Boot国货商城微信小程序的性能需求分析涵盖了后端处理性能、前端用户体验、系统安全性、可扩展性和可维护性等多个方面。我们需要在这些方面进行全面而细致的规划和设计,以确保系统能够满足用户的实际需求并提供优质的服务。

2.3 系统用例分析

springboot国货商城微信小程序的完整UML用例图分别是图2-1、图2-2和图2-3。在参与者上包括买家用户、卖家用户、管理员。

图2-1就是买家用户角色的用例展示。

图2-2 springboot国货商城微信小程序买家用户角色用例图

图2-2就是管理员角色的用例展示。

图2-2springboot国货商城微信小程序管理员角色用例图

图2-3就是卖家用户角色的用例展示。

图2-3springboot国货商城微信小程序卖家用户用例图

2.4 系统流程分析

2.4.1 数据流程

springboot国货商城微信小程序主要的目的就是实现用户线上交易,图2-4就是系统的数据流图。

图2-4二手商品购买操作展开图

2.4.2 业务流程

分析完系统的数据流,接下来我们来看系统的业务流程,图2-5就是业务流程图:

图2-5业务流程图

2.5本章小结

本章主要通过对springboot国货商城微信小程序的可行性分析、流程分析、功能需求分析、用例分析,确定整个系统要实现的功能。同时也为系统的代码实现和测试提供了标准。

3 系统设计

3.1 系统概要设计

本springboot国货商城微信小程序选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要用户能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图3-1所示:

图3-1 系统工作原理图

3.2系统结构设计

整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。

springboot国货商城微信小程序结构图如图3-2所示。

图3-2 springboot国货商城微信小程序功能模块图

3.3数据库设计

数据库可以说是所有软件的根本,如果数据库存在缺陷,那么会导致系统开发的不顺利、维护困难、用户使用不顺畅等一系列问题,严重时将会直接损害企业的利益,同时在开发完成后,数据库缺陷也更加难以解决。所以必须要对数据库设计重点把握,做到认真细致。因此,数据库设计是这个springboot国货商城微信小程序的重点要素。

3.3.1 数据库概念结构设计

下面是整个springboot国货商城微信小程序中主要的数据库表总E-R实体关系图。

图3-5 springboot国货商城微信小程序总E-R关系图

3.3.2 数据库逻辑结构设计

通过上一小节中springboot国货商城微信小程序中总E-R关系图上得出一共需要创建很多个数据表。由于数据表较多,只展示系统主要数据表,如下表所示。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表address (收货地址:)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

address_id

int

10

0

N

Y

收货地址:

2

name

varchar

32

0

Y

N

姓名:

3

phone

varchar

13

0

Y

N

手机:

4

postcode

varchar

8

0

Y

N

邮编:

5

address

varchar

255

0

N

N

地址:

6

user_id

mediumint

8

0

N

N

用户ID:[0,8388607]用户获取其他与用户相关的数据

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

default

bit

1

0

N

N

0

默认判断

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表buyer_user (买家用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

buyer_user_id

int

10

0

N

Y

买家用户ID

2

buyer_name

varchar

64

0

Y

N

买家姓名

3

buyer_gender

varchar

64

0

Y

N

买家性别

4

buyers_phone_number

varchar

16

0

Y

N

买家电话

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表cancel_order (取消订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cancel_order_id

int

10

0

N

Y

取消订单ID

2

order_number

varchar

64

0

Y

N

订单编号

3

seller_customers

int

10

0

Y

N

0

卖家用户

4

product_name

varchar

64

0

Y

N

商品名称

5

product_specifications

varchar

64

0

Y

N

商品规格

6

buyer_user

int

10

0

Y

N

0

买家用户

7

buyer_name

varchar

64

0

Y

N

买家姓名

8

purchase_quantity

varchar

64

0

Y

N

购买数量

9

reason_for_cancellation

text

65535

0

Y

N

取消原因

10

examine_state

varchar

16

0

N

N

未审核

审核状态

11

examine_reply

varchar

16

0

Y

N

审核回复

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表cart (购物车)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cart_id

int

10

0

N

Y

购物车ID:

2

title

varchar

64

0

Y

N

标题:

3

img

varchar

255

0

N

N

0

图片:

4

user_id

int

10

0

N

N

0

用户ID:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

state

int

10

0

N

N

0

状态:使用中,已失效

8

price

double

9

2

N

N

0.00

单价:

9

price_ago

double

9

2

N

N

0.00

原价:

10

price_count

double

11

2

N

N

0.00

总价:

11

num

int

10

0

N

N

1

数量:

12

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

13

type

varchar

64

0

N

N

未分类

商品分类:

14

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表coupon (优惠券)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

coupon_id

int

10

0

N

Y

优惠券id

2

coupon_user_id

int

10

0

Y

N

优惠券用户id

3

coupon_user_auth

varchar

255

0

Y

N

优惠券用户

4

coupon_name

varchar

255

0

Y

N

优惠券名称

5

coupon_price

int

10

0

Y

N

优惠券价格

6

coupon_price1

int

10

0

Y

N

优惠券券后价格

7

coupon_time

varchar

255

0

Y

N

优惠券时间

8

coupon_type

varchar

255

0

Y

N

优惠券类型

9

create_time

timestamp

19

0

Y

N

CURRENT_TIMESTAMP

10

update_time

timestamp

19

0

Y

N

CURRENT_TIMESTAMP

表coupon_user (用户优惠券)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

id

int

10

0

N

Y

id

2

user_id

int

10

0

Y

N

用户id

3

coupon_id

int

10

0

Y

N

优惠券id

4

is_use

int

10

0

Y

N

是否使用

5

coupon_user_id

int

10

0

Y

N

表goods (商品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

goods_id

mediumint

8

0

N

Y

产品id:[0,8388607]

2

title

varchar

125

0

Y

N

标题:[0,125]用于产品和html的<title>标签中

3

img

text

65535

0

Y

N

封面图:用于显示于产品列表页

4

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

5

price_ago

double

8

2

N

N

0.00

原价:[1]

6

price

double

8

2

N

N

0.00

卖价:[1]

7

sales

int

10

0

N

N

0

销量:[0,1000000000]

8

inventory

int

10

0

N

N

0

商品库存

9

type

varchar

64

0

N

N

商品分类:

10

hits

int

10

0

N

N

0

点击量:[0,1000000000]访问这篇产品的人次

11

content

longtext

2147483647

0

Y

N

正文:产品的主体内容

12

img_1

text

65535

0

Y

N

主图1:

13

img_2

text

65535

0

Y

N

主图2:

14

img_3

text

65535

0

Y

N

主图3:

15

img_4

text

65535

0

Y

N

主图4:

16

img_5

text

65535

0

Y

N

主图5:

17

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

19

customize_field

text

65535

0

Y

N

自定义字段

20

source_table

varchar

255

0

Y

N

来源表:

21

source_field

varchar

255

0

Y

N

来源字段:

22

source_id

int

10

0

N

N

0

来源ID:

23

user_id

int

10

0

Y

N

0

添加人

表goods_type (商品类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

int

10

0

N

Y

商品分类ID:

2

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

3

name

varchar

255

0

Y

N

商品名称:

4

desc

varchar

255

0

Y

N

描述:

5

icon

varchar

255

0

Y

N

图标:

6

source_table

varchar

255

0

Y

N

来源表:

7

source_field

varchar

255

0

Y

N

来源字段:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表logistics_delivery (物流配送)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

logistics_delivery_id

int

10

0

N

Y

物流配送ID

2

order_number

varchar

64

0

Y

N

订单号

3

product_name

varchar

64

0

Y

N

商品名称

4

purchase_quantity

varchar

64

0

Y

N

购买数量

5

total_transaction_amount

double

11

2

Y

N

0.00

交易总额

6

the_date_of_issuance

date

10

0

Y

N

发货日期

7

delivery_number

varchar

30

0

Y

N

配送订单

8

ordinary_users

int

10

0

Y

N

0

普通用户

9

shipping_address

varchar

64

0

Y

N

收货地址

10

delivery_status

varchar

64

0

Y

N

配送状态

11

signing_status

varchar

64

0

Y

N

签收状态

12

recommend

int

10

0

N

N

0

智能推荐

13

contact_name

varchar

255

0

Y

N

联系人名字

14

merchant_id

int

10

0

Y

N

商家id

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表order (订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_id

int

10

0

N

Y

订单ID:

2

order_number

varchar

64

0

Y

N

订单号:

3

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

4

title

varchar

32

0

Y

N

商品标题:

5

img

varchar

255

0

Y

N

商品图片:

6

price

double

10

2

N

N

0.00

价格:

7

price_ago

double

10

2

N

N

0.00

原价:

8

num

int

10

0

N

N

1

数量:

9

price_count

double

8

2

N

N

0.00

总价:

10

norms

varchar

255

0

Y

N

规格:

11

type

varchar

64

0

N

N

未分类

商品分类:

12

contact_name

varchar

32

0

Y

N

联系人姓名:

13

contact_email

varchar

125

0

Y

N

联系人邮箱:

14

contact_phone

varchar

11

0

Y

N

联系人手机:

15

contact_address

varchar

255

0

Y

N

收件地址:

16

postal_code

varchar

9

0

Y

N

邮政编码:

17

user_id

int

10

0

N

N

0

买家ID:

18

merchant_id

mediumint

8

0

N

N

0

商家ID:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

21

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

22

state

varchar

16

0

N

N

待付款

订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成

23

remark

text

65535

0

Y

N

订单备注

24

delivery_state

varchar

16

0

Y

N

未配送

发货状态:未配送,已配送

25

vip_discount

double

11

2

Y

N

0.00

折扣

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表product_evaluation (商品评价)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

product_evaluation_id

int

10

0

N

Y

商品评价ID

2

order_number

varchar

64

0

Y

N

订单编号

3

seller_customers

int

10

0

Y

N

0

卖家用户

4

product_name

varchar

64

0

Y

N

商品名称

5

product_specifications

varchar

64

0

Y

N

商品规格

6

buyer_user

int

10

0

Y

N

0

买家用户

7

buyer_name

varchar

64

0

Y

N

买家姓名

8

purchase_quantity

varchar

64

0

Y

N

购买数量

9

evaluate_star_rating

varchar

64

0

Y

N

评价星级

10

evaluation_score

varchar

64

0

Y

N

评价分数

11

evaluation_content

text

65535

0

Y

N

评价内容

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表product_information (商品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

product_information_id

int

10

0

N

Y

商品信息ID

2

seller_customers

int

10

0

Y

N

0

卖家用户

3

product_name

varchar

64

0

Y

N

商品名称

4

product_brand

varchar

64

0

Y

N

商品品牌

5

product_specifications

varchar

64

0

Y

N

商品规格

6

cart_title

varchar

125

0

Y

N

标题:[0,125]用于产品html的标签中

7

cart_img

text

65535

0

Y

N

封面图:用于显示于产品列表页

8

cart_description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

9

cart_price_ago

double

8

2

N

N

0.00

原价:[1]

10

cart_price

double

8

2

N

N

0.00

卖价:[1]

11

cart_inventory

int

10

0

N

N

0

商品库存

12

cart_type

varchar

64

0

N

N

未分类

商品分类:

13

cart_content

longtext

2147483647

0

Y

N

正文:产品的主体内容

14

cart_img_1

text

65535

0

Y

N

主图1:

15

cart_img_2

text

65535

0

Y

N

主图2:

16

cart_img_3

text

65535

0

Y

N

主图3:

17

cart_img_4

text

65535

0

Y

N

主图4:

18

cart_img_5

text

65535

0

Y

N

主图5:

19

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表push_notifications (推送通知)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

push_notifications_id

int

10

0

N

Y

推送通知ID

2

buyer_user

int

10

0

Y

N

0

买家用户

3

buyer_name

varchar

64

0

Y

N

买家姓名

4

notification_title

varchar

64

0

Y

N

通知标题

5

notification_type

varchar

64

0

Y

N

通知类型

6

notification_date

date

10

0

Y

N

通知日期

7

notification_content

text

65535

0

Y

N

通知内容

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表seller_customers (卖家用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

seller_customers_id

int

10

0

N

Y

卖家用户ID

2

seller_name

varchar

64

0

Y

N

卖家姓名

3

seller_gender

varchar

64

0

Y

N

卖家性别

4

sellers_phone_number

varchar

16

0

Y

N

卖家电话

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

3.3本章小结

整个springboot国货商城微信小程序的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。

4 系统详细设计与实现

4.1买家用户功能模块

4.1.1 用户注册界面

注册模块满足用户两部分,当用户想要进行资料相关信息的查询管理的时候,就必须进行登录,如果没有账号的话,在登录界面,点击“注册”按钮就会跳转到注册的界面,根据提示填写好注册信息,添加提交,注册的信息在数据库中就添加完成了,然后再输入填写好的账号和密码进行登录,其注册主界面展示如下图所示。

图4-1注册界面图

注册关键代码如下:

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}     

4.1.2 用户登录界面

用户在登录界面输入手机号和密码,通过微信授权登录,系统在用户数据库表中会对用户的账号进行匹配,手机号+密码正确的话,就会登录到系统中用户的主管理界面,否则提示对应的信息,返回到登录的界面,其登录主界面展示如下图所示。

图4-2用户登录界面图

登录的逻辑代码如下所示。

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

4.1.3 商品资讯界面

用户可以查看所有的商品资讯信息,在详情页面可以点赞、收藏和评论。商品资讯界面如下图所示。

图4-3商品资讯界面图

4.1.4购物车界面

当用户浏览到心仪的商品时,可以将商品添加至购物车内,查看购物车列表,修改或者删除购物车。我的购物车界面如下图所示。

图4-4我的购物车界面图

4.1.5订单界面

用户可以查看订单的详细信息,包括订单编号、下单时间、订单备注等,可以对订单进行支付。我的订单界面如下图所示。

图4-5订单界面图

4.2管理员功能模块

4.2.1系统用户管理界面

管理员可以对系统中所有的用户角色进行管控,包含了管理员、买家用户、卖家用户这三种角色,如果需要添加新的用户,点击页面中的“添加”按钮根据提示输入上用户信息,点击“提交”以后在对应的用户界面就可以查看到了,可以点击用户后面的“删除”按钮直接删除某一用户。系统用户管理界面如下图所示。

图4-6系统用户管理界面图

4.2.2取消订单管理界面

提供管理员取消订单的功能,包括查看待取消的订单列表、审批取消请求等操作,以应对用户的取消订单需求,保障用户权益。取消订单管理界面如下图所示。

图4-7取消订单管理界面图

4.2.3商品评价管理界面

允许管理员查看和管理商品评价信息,包括审核评价内容、删除不当评论等操作,以维护商品评价的真实性和客观性。商品评价管理界面如下图所示。

图4-8商品评价管理界面图

4.2.4资源管理界面

允许管理员管理商城资讯及其分类,包括添加、编辑、删除资讯和分类等操作,以及确保资讯信息的及时更新和分类管理。界面如下图所示。

图4-9资源管理界面图

4.2.5分类列表界面

管理员可以管理商品的分类信息,包括添加、编辑、删除分类等操作,以便用户浏览和搜索商品。分类列表界面如下图所示。

图4-10分类列表界面图

4.3卖家用户功能模块

4.3.1商品信息界面

允许卖家用户管理商城中的商品信息,包括添加新商品、编辑商品详情、下架商品等操作,以保持商品信息的更新和完整性。商品信息界面如下图所示。

图4-11商品信息界面图

4.3.2订单列表界面

提供卖家用户查看订单列表的功能,包括待处理订单、已确认订单、已发货订单等状态,方便订单管理和处理。界面如下图所示。

图4-12 订单列表界面图

4.3.3订单配送界面

可以管理订单的配送情况,包括查看订单的配送状态、更新配送信息等,以确保订单的及时送达。界面如下图所示。

图4-13订单配送界面图

5 系统测试

5.1软件测试的重要性

只有在运行和维护阶段之前经历大量的测试的软件,才能说明它的质量是经得起检验的。最近计算机业界也都一致认为,测试应该存在于软件设计的每个阶段,因为越早发现错误,修复起来就越容易。

实际上,对于一个软件应用,错误是必然存在的,无论使用何种技术或手段,都不可能绝对的排除软件漏洞。测试是随着软件开发一同诞生的,两者是共同发展进步的。实际上,测试可以大幅度的降低维护的成本,如果一个漏洞在开发的早期就被发现,那么修复它的成本远比上线后再修复的成本要低得多。

5.2测试实例的研究与选择

测试有白盒测试和黑盒测试两种方式。

其中,白盒测试是将软件看成一个透明的白盒子,按照程序的内部控制结构和处理技术逻辑来选定测试用例、软件系统测试的逻辑路径及过程需要进行管理测试,又称玻璃盒测试。因此白盒测试需要选择足够多的测试用例,覆盖尽可能多的代码来发现程序中的错误。

黑盒测试,也称为功能测试。它将需软件看作一个黑盒,像一个发起用户一样来模拟软件的使用流程。黑盒测试通过大量的输入边界值或错误数据,来检查是否可产生正确的输出。

本系统测试 主要选择黑盒测试,少量采用白盒测试。通过测试达到以下测试目的:

1.检查各大功能模块的运行,确保其能够正确运行,并检查各页面的完整性,保证页面完整。

2.检查各个接口是否可以正确地输入和输出,保证数据流通稳定可行。

3.检查数据结构,保证其和外部接口没有访问错误,访问顺利。

4.检查原计划的性能需求有没有完成,运行流畅。

本系统的测试用例(部分):

登录部分测试用例

编号

对象

项目

操作

预期结果

结果

1

登录

登录提示

使用正确的账号密码登录

成功登录

预期结果

2

登录提示

使用正确的账号但错误的密码登录

提示密码错误

预期结果

3

登录提示

使用错误的账号登录

提示不存在账户

预期结果

4

登录提示

不输入账号,点击登录

提示输入账号

预期结果

5

登录提示

输入账号但不输入密码点击登录

提示输入密码

预期结果

6

登录入口

已登录账号,查看登录入口

不显示登录入口

预期结果

5.3测试环境与测试条件

处理器:Inter Core I7-4710MQ四核处理器

内存:4GB

硬盘:1T

操作系统:Windows 10

数据库:MySQL

5.4系统运行情况

全部测试用例都已通过(包括但不限于以上测试用例),且不存在漏洞,实现了论文开始时所作要求。本系统运行稳定,使用流畅,可以满足客户需求。

5.5系统评价

5.5.1系统功能评价

试运行后进行系统评估,可以认为该系统达到预定的目标要求,可以满足用户的需求,也满足了系统开发前所作目标。

5.5.2系统技术评价

系统在经过大量重复测试后运行十分稳定,安全实用,功能模块已经达到预定目标所需。

5.5.3系统经济评价

在规定的时间内实现系统的大部分功能,且满足要求,节省开发成本,有助于提高科学管理水平,符合本人经济情况。

结论

至此,springboot国货商城微信小程序已经结束,在开发前做了许多的准备,在设计和开发过程中阅览和学习了许多文献资料,从中我也收获了很多宝贵的方法和设计思路,对国货商城微信小程序的开发也起到了很重要的作用,小程序的开发技术选用的都是自己比较熟悉的,比如Web、JAVA语言、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。

当然在该小程序的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了。同时在这个过程当中我也收获了很多东西,此国货商城微信小程序也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。

参考文献

[1]Rudi K ,Aji W ,Ary W , et al.Out of the woods: social capital and smallholder dairy farmers' access to state-owned agroforestry lands in West Java, Indonesia[J].Agroforestry Systems,2024,98(3):637-652.

[2]Juwana I ,Sodri A ,Muttil N , et al.Potential Pollution Loads of the Cikembar Sub-Watershed to the Cicatih River, West Java, Indonesia[J].Water,2024,16(2):

[3]Z. M T ,Rendy ,D. W S , et al.Outcrop to petrography scale and new age constraint of the Jatisamit Mélange in the Luk Ulo area, Central Java, Indonesia[J].Australian Journal of Earth Sciences,2024,71(1):100-113.

[4]Retnaningsih T S ,R.B. S ,Hadiyanto H , et al.The carbon stock potential of the restored mangrove ecosystem of Pasarbanggi, Rembang, Central Java[J].Marine Environmental Research,2024,193106257-.

[5]Y. L H ,Arif P T ,Muhammad I A .Acute kidney injury in burn patients: A year findings from a topmost referral burn center in West Java, Indonesia[J].Burns Open,2024,8(1):35-38.

[6]张雷雨,单田清,梁霄.基于SpringBoot的水利地理信息系统设计与实现[J].连云港职业技术学院学报,2023,36(04):1-7.DOI:10.19858/j.cnki.1009-4318.2023.04.003.

[7]吴伶琳.基于SpringBoot的客户关系管理系统设计与实现[J].无线互联科技,2023,20(24):60-62.

[8]闫娇娇.基于Think PHP+Vue商城管理系统的设计与实现[J].电脑知识与技术,2023,19(34):59-62.DOI:10.14004/j.cnki.ckt.2023.1834.

[9]李宇杰.基于微服务架构的电商微信小程序的设计与实现[D].华东师范大学,2023.DOI:10.27149/d.cnki.ghdsu.2023.003555.

[10]柳萌.社区优选商城系统设计与实现[D].青岛科技大学,2022.DOI:10.27264/d.cnki.gqdhc.2022.001248.

[11]陈娇,杨欣,韩艳,等.基于微信小程序的校园综合服务化线上商城的研究与探索[J].中阿科技论坛(中英文),2022,(04):102-106.

[12]李常宝.基于微信小程序的电子商城的设计与开发[J].吕梁教育学院学报,2021,38(03):133-136.

[13]梁紫依,陈玉洁,温家坤,等.微信小程序上农产品购买行为研究[J].现代商业,2021,(25):6-8.DOI:10.14097/j.cnki.5392/2021.25.002.

[14]胡杨林.基于微服务和小程序的电子商城设计与实现[D].西北大学,2021.DOI:10.27405/d.cnki.gxbdu.2021.000827.

[15]马静.基于微信小程序的购物商城系统的设计与实现[J].微型电脑应用,2021,37(03):31-34.

[16]曹艳琴.基于微信公众平台的美妆商城小程序的设计与实现[J].信息与电脑(理论版),2021,33(05):121-123.

[17]康娇兰.基于微信小程序的区块链商城系统的设计与实现[D].华中科技大学,2021.DOI:10.27157/d.cnki.ghzku.2021.004151.

[18]蒋敏建.某商城管理前端系统设计与实现[D].厦门大学,2020.DOI:10.27424/d.cnki.gxmdu.2020.004211.

[19]徐伟,李刚,王星,等.基于微信小程序的校园服务平台设计与研究[J].信息与电脑(理论版),2020,32(10):97-99.

[20]傅伟,涂刚,张贤龙.基于微信小程序的电子商城设计与实现[J].电脑编程技巧与维护,2020,(03):60-62.DOI:10.16184/j.cnki.comprg.2020.03.022.

致  谢

大学生活在这个时候即将划上一个句号,但是对于我的人生道路来说,这仅仅是一个逗号,我将面对的是又一次征程的开始。

回忆过去,许许多多的事情浮现在脑海:刚上大学时欢乐心情和兴奋的场景还历历在目。一切都是那么新鲜,那么富有吸引力。有快乐也有艰辛,有收获也有失落。衷心感谢学校所有支持帮助过我的老师,谢谢你们多年来的关心和爱护。同窗的友情同样难忘,你们与我共同走过了人生中不平凡的道路,给我留下了值得珍藏的美好记忆。

最后,我要特别感谢指导系统设计的老师。本论文是在他的悉心指导和热情帮助下完成的,老师认真负责的工作态度,严谨的治学精神和精深的理论水平都使我受益匪浅。老师无论在理论上还是在实践中,都给予我很大的帮助,使我专业技能的应用水平得到很大提高,这对于我以后的工作和学习都有益处。值此论文完成之际,特别向老师表示衷心的感谢和崇高的敬意,谢谢他细心而又耐心地辅导,使得我得以顺利的完成毕业设计开发工作,同时也要感谢其他帮助过我的老师和同学,他们在我成长过程中给予了我很大的帮助,在此一并表示感谢。

由于本人水平有限,加上时间紧促,本文一定有不少缺点和不足,恳请各位老师给予帮助和指正。

免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-

免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-

免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-

  • 30
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值