ssm proyecto de graduación de diseño e implementación de un sistema de gestión de ventas basado en JavaEE - con código fuente 021143

Resumen

Con el rápido desarrollo de la información actual, la red se ha convertido en una importante plataforma de intercambio de información para las personas. Las tiendas disponen de una gran cantidad de información informática que necesita ser liberada a través de Internet todos los días, por ello he desarrollado un sistema informático de gestión de ventas basado en el modelo B/S (navegador/servidor).

El sistema utiliza tecnología SSM, lenguaje de programación Java, MySQL, etc. como tecnologías de desarrollo para realizar la adición, modificación, visualización y eliminación de datos del sistema. Este sistema divide el sistema en forma de componentes, y analiza y diseña la adición, eliminación, consulta y modificación de cada tabla en la base de datos, y la relación de restricción entre tablas, y finalmente realiza una aplicación de nivel comercial que satisface las necesidades del usuario.

La interfaz del sistema es simple y elegante, el diseño es razonable y es fácil de operar y aprender. En correspondencia con cada paso de la operación del usuario, el sistema puede brindar retroalimentación con alta capacidad de respuesta. El sistema incluye específicamente funciones como administración de usuarios, lista de foros, lista de clasificación de foros, información de computadoras, clasificación de información de computadoras, centro de computadoras, lista de clasificación, lista de pedidos, recomendación de computadoras, etc. Proporciona una plataforma de gestión para ventas de computadoras para lograr una eficiencia y Gestión eficiente de datos Gestionar de forma segura.

Palabras clave: sistema informático de gestión de ventas, MySQL.


Abstracto

Hoy, con el rápido desarrollo de la información, la red se ha convertido en una importante plataforma de intercambio de información para las personas. Una gran cantidad de información informática debe liberarse a través de la red todos los días. Por ello, desarrollé un sistema informático de gestión de ventas basado en la modalidad B/S (Navegador/servidor).

El sistema toma tecnología SSM, lenguaje de programación Java y MySQL como tecnología de desarrollo para agregar, modificar, visualizar y eliminar datos del sistema. El sistema adopta la forma basada en componentes para dividir el sistema, y ​​analiza y diseña la adición, eliminación, consulta y modificación de cada tabla en la base de datos, y la relación de restricción entre las tablas, para finalmente realizar la aplicación comercial que cumple con el necesidades de los usuarios.

La interfaz del sistema es simple y generosa, el diseño es razonable, fácil de operar y fácil de usar. El sistema puede responder a cada paso de la operación del usuario con alta respuesta. El sistema incluye específicamente las funciones de administración de usuarios, lista de foros, lista de clasificación de foros, información de computadora, clasificación de información de computadora, centro de computadoras, lista de clasificación, lista de pedidos, recomendación de computadora, etc. Proporciona una plataforma de gestión para la venta de ordenadores y realiza una gestión eficiente y segura de los datos.

Keywords: Sistema de gestión de ventas por computadora; mysql
Tabla de contenido

1 Introducción

1.1 Antecedentes de la investigación del sujeto

1.2 Importancia del tema de investigación

1.3 Características de la tecnología de desarrollo de sistemas

2 Análisis del Sistema de Gestión de Ventas Informáticas

2.1 Análisis de factibilidad

2.1.1 Análisis de factibilidad técnica

2.1.2 Análisis de Viabilidad Económica

2.1.3 Análisis de Factibilidad de Operación

2.2 Análisis de la demanda

2.3 Análisis de casos de uso

3 Diseño general del sistema de gestión de ventas informáticas

3.1 Diseño del módulo de funciones del sistema

3.3 Diseño de base de datos

3.3.1 Modelo ER de base de datos

3.3.2 Diseño de tablas de base de datos

4 Realización del sistema de gestión de ventas informatizado

4.1 Cliente

4.1.1 Interfaz de registro de usuarios

4.1.2 Interfaz de inicio de sesión de usuario

4.1.3 Interfaz de propiedades de búsqueda

4.1.4 Interfaz del foro

4.1.5 Interfaz de detalles del producto

4.1.6 Interfaz de mi carrito de compras

4.1.7 Interfaz de sala de recomendaciones informáticas

4.2 Servidor

4.2.1 Interfaz de inicio de sesión del administrador

4.2.2 Interfaz de gestión de usuarios

4.2.3 Interfaz de administración del sitio

4.2.4 Interfaz de gestión de gestión de contenidos

4.2.5 Interfaz de gestión del centro comercial

4.2.6 Más interfaces de gestión

5 Prueba del sistema de gestión de ventas por computadora

5.1 Prueba del sistema

5.2 Resultados de la prueba

Resumen y Outlook

referencias

gracias

1. Introducción

1.1 Antecedentes e importancia de la investigación

En los últimos años, con el rápido desarrollo de Internet móvil, además de las aplicaciones básicas tradicionales como la navegación web, la búsqueda de datos y el envío de correos electrónicos, la mayoría de los usuarios de Internet en China se han acostumbrado gradualmente a recibir funciones tradicionales como compras, comunicación, viajes y entretenimiento a través de Internet Además de los nuevos modelos de servicio, las compras en línea se han convertido cada vez más en una forma importante de compras en la vida de las personas. El rápido desarrollo de Internet ha brindado una fuerte garantía y apoyo para el desarrollo de sitios web de venta de teléfonos móviles. Además, el entorno externo para las compras en línea ha mejorado gradualmente. Los terminales de Internet móvil (teléfonos móviles, tabletas) han hecho que la estructura de los internautas cada vez más popular Pago en línea Los medios de liquidación son cada vez más convenientes, la logística expresa es cada vez más fluida y las regulaciones y políticas correspondientes son cada vez más perfectas. Hoy en día, las compras en línea son cada vez más atractivas para las personas, y las opiniones de las personas sobre las compras en línea también han cambiado de la ignorancia al principio, de la sospecha a la confianza, del rechazo a la aceptación y el hábito. El concepto de compras en línea se ha vuelto cada vez más popular, y los principales factores que impulsan a las personas a comprar en línea son:

(1) Conveniente y rápido. Las compras en línea pueden estar abiertas las 24 horas del día, las personas no necesitan ir a la tienda para comprar y los productos comprados se pueden entregar directamente a sus hogares. De esta forma, los consumidores pueden comprar productos favoritos de todo el mundo sin salir de casa.

(2) Gran cantidad de información. En comparación con la forma tradicional de comprar, el comercio electrónico puede albergar una gran cantidad de información, incluidos productos reales y productos virtuales. Además, también se pueden proporcionar algunos productos especiales, que no solo pueden proteger la privacidad personal de los consumidores, sino también satisfacer las diferentes necesidades psicológicas de los consumidores.

(3) Fuerte privacidad. A veces, cuando los consumidores compran algunos productos que no quieren que otros sepan, utilizan las compras en línea, los vendedores y la logística exprés pueden proteger la privacidad de los usuarios para evitar problemas innecesarios.

1.2 Estado de desarrollo

Debido al auge de la industria de las ventas en línea en los últimos años, también se ha aprendido alguna información relacionada. En China, las ventas anteriores eran solo ventas tradicionales y las ventas en línea parecían satisfacer la demanda del mercado. Hasta ahora, hay algunos nombres conocidos como Taobao y Tmall. Sin embargo, este tipo de venta en línea también tiene algunas desventajas: los usuarios no pueden recoger los productos inmediatamente después de realizar un pedido y pagar, y también deben considerar si los productos están dañados. El sistema fue desarrollado en base a las ventas en la red de telefonía móvil.

Después de varios años de desarrollo, han aparecido muchos centros comerciales en línea reconocidos por los consumidores en el país y en el extranjero. Los contenidos de estos centros comerciales en línea son diversos e incluyen funciones relativamente completas, incluidos usuarios registrados, administración de usuarios, inventario de productos básicos, entrega de productos básicos y almacenamiento de productos básicos. Hoy en día, el uso generalizado de Internet ha llevado al desarrollo de centros de compras en línea en el país y en el extranjero hasta cierto punto. Siempre que las empresas escriban en línea a través de esta plataforma, pueden administrar el contenido del sistema en cualquier momento. Alentar a los consumidores a comprar y realizar transacciones en línea mostrando el contenido del sistema de administración de ventas por computadora y emitiendo anuncios.

1.3 Características de la tecnología de desarrollo de sistemas

(1) El backend de la gestión en segundo plano web en el sistema informático de gestión de ventas ya no utiliza la antigua tecnología jsp+javabean+servlet[5], sino que utiliza el marco SSM[6] convencional actual, que reduce los códigos de configuración de Java y simplifica la programación código, el marco SSM actual es también uno de los marcos elegidos por muchas empresas.

(2) El front-end de la administración de fondo web en el sistema de administración de ventas por computadora utiliza el marco bootstrap[7], que puede embellecer el diseño de la página con ajax[8] y jquery[9].

(3) El mysql5.7[10] utilizado para la base de datos en el sistema informático de gestión de ventas tiene una alta eficiencia de ejecución.


2 Análisis del Sistema de Gestión de Ventas Informáticas

El análisis del sistema es un requisito previo para el desarrollo de un proyecto, a través del análisis del sistema se pueden comprender bien las necesidades básicas de los principales usuarios del sistema, y ​​esta es también la razón del desarrollo del proyecto. Además, el análisis de factibilidad se lleva a cabo en el desarrollo del sistema, que generalmente incluye la factibilidad técnica, la factibilidad económica, etc. El análisis de factibilidad es también un análisis desde la perspectiva general del proyecto. Luego se trata de analizar las necesidades específicas del proyecto, y los medios de análisis generalmente se realizan a través del diagrama de casos de uso del usuario. La siguiente es una introducción detallada.

Marco del MUS

SSM es SpringMVVM+Spring+MySQL Estos tres marcos tienen sus propias ventajas únicas, por lo que combinarlos puede crear una chispa fuerte. El diseñador puede crear un programa de aplicación web sin consumir mucho esfuerzo, y este programa también tiene las características de una jerarquía clara, las operaciones de actualización y actualización no afectarán el uso normal y permite múltiples usos. Este marco compuesto forma un sistema con una estructura completa, funciones potentes y una buena estructura: SpringMVVM separa cada placa, Spring hace que el desarrollo sea más flexible y conveniente, permite a los desarrolladores manipular objetos directamente y divide los detalles del trabajo en cada nivel y realiza cada nivel. El desacoplamiento hace que el código sea más flexible y optimizado. Este marco permite a los programadores evitar errores individuales durante el período de desarrollo que conducen a la destrucción del todo, y también responder a los nuevos requisitos de los clientes para el producto en la etapa posterior.

La relación entre las capas del marco ssm:

Tanto la capa DAO como la capa de Servicio se pueden desarrollar de forma independiente, y el acoplamiento mutuo es muy bajo, por lo que se pueden realizar de forma independiente, este modelo es especialmente ventajoso en el proceso de desarrollo de grandes proyectos.

Las capas de Controlador y Vista se desarrollan juntas debido a su alto acoplamiento, pero también se pueden desarrollar independientemente de las dos primeras capas como un todo. De esta manera, solo necesita conocer la definición de la interfaz antes de la capa y la capa, y llamar a la interfaz para completar la aplicación de la unidad lógica requerida. Todo es muy claro y simple.

2.1 Análisis de factibilidad

2.1.1 Análisis de factibilidad técnica

La base de datos mysql utilizada para el almacenamiento en el sistema informático de gestión de ventas y el uso de herramientas de desarrollo como IDEA y Tomcat utilizadas en el desarrollo pueden aportar mucha comodidad a nuestro trabajo de redacción. El sistema utiliza el marco SSM para el desarrollo, lo que hace que el sistema sea más escalable y fácil de mantener, reduce el código de configuración de Java y simplifica el código de programación Actualmente, el marco SSM también es uno de los marcos elegidos por muchas empresas.

2.1.2 Análisis de Viabilidad Económica

El software de desarrollo utilizado en el desarrollo del sistema de gestión de ventas por computadora, como las herramientas de desarrollo IDEA, el servidor Tomcat8.0, la base de datos MySQL5.7, el software de procesamiento de imágenes Photoshop, etc., son todos de código abierto y gratuitos, y la gestión de ventas por computadora El sistema está diseñado y codificado por nosotros mismos Realizado, la base de datos utiliza el popular mysql para el almacenamiento de datos, y el uso de mysql de código abierto y otras tecnologías reduce los costos de desarrollo del sistema.

2.1.3 Análisis de Factibilidad de Operación

El diseño de este proyecto se refiere a varios casos de desarrollo de sitios web bajo este modo, analiza su interfaz de operación, combina muchos casos y destaca la operación simplificada y orientada a las personas, para que las personas con conocimientos básicos de informática puedan operar este proyecto.

2.2 Análisis de la demanda

El terminal de administración de antecedentes web del sistema de administración de ventas por computadora adopta la herramienta de desarrollo IntelliJ IDEA 2019.3.4, coopera con el marco de desarrollo SSM en el lenguaje de desarrollo java y el servidor tomcat8.0[14], jdk1.8 y el terminal WeChat adopta la herramienta para desarrolladores de WeChat Stable versión 1.05.2111300, la página usa wxss y wxml para el diseño [15], y la terminal de WeChat y la terminal de administración de fondo web usan la interfaz json para comunicarse.

Módulo de gestión de usuarios:

(1) Registro e inicio de sesión del usuario: el usuario se registra como miembro e inicia sesión en el sistema informático de gestión de ventas; el usuario agrega, elimina, modifica y verifica información personal, como información personal y modificación de contraseña.

(2) Los usuarios ven los productos: los usuarios exploran la información del producto y, después de encontrar los productos que les gustan, pueden comprar + comentar + marcar.

(3) Información de la computadora: los usuarios buscan información y ven la información de la computadora publicada por los gerentes.

(4) Foro: los usuarios pueden ver, publicar y comentar las presentaciones enviadas por los usuarios en el menú del foro.

(5) Compra de productos básicos: el usuario puede comprar productos adicionales que le gusten. En el carrito de compras, cuando el usuario confirme que el envío se ha completado, se enviará al sistema backend del servidor y se generará un pedido.

(6) Mi pedido: después de que el usuario envía el pedido, puede administrar el pedido enviado.

Módulo de gestión del administrador:

(1) Gestión de usuarios: el administrador puede controlar la información del usuario registrada en la recepción y también puede controlar la información del administrador.

(2) Administración de la información de la computadora: el administrador puede agregar, eliminar, modificar y verificar la información de la computadora que se muestra en el sistema de administración de ventas de la computadora en segundo plano.

(3) Gestión de listas de foros: los administradores pueden añadir, eliminar, modificar y consultar los mensajes enviados por los usuarios en el sistema informático de gestión de ventas y clasificación de mensajes.

(4) Gestión de clasificación: El administrador controla la clasificación de los productos en el sistema informático de gestión de ventas.

(5) Gestión del centro comercial: el administrador controla los pedidos de productos básicos presentados por el vendedor.

(6) Administración del sistema: el administrador puede publicar la imagen del carrusel que se muestra en la página de inicio del sistema de administración de ventas de la computadora y algunos anuncios en el sistema para que los usuarios puedan ver la información del sistema de manera oportuna y hacer arreglos razonables.

2.3 Análisis de casos de uso

Los diagramas completos de casos de uso UML del sistema de administración de ventas por computadora se muestran en la Figura 2-1, la Figura 2-2 y la Figura 2-3. Incluya usuarios, editores y administradores en los participantes.

Los casos de uso de funciones de usuario incluyen el registro de inicio de sesión, la página de inicio, el foro, el mensaje de anuncio, la información de la computadora, el carrito de compras, la recomendación de la computadora y la mía.

 

                                                           Figura 2-1 Diagrama de caso de uso del rol de usuario del sistema de administración de ventas por computadora

Los casos de uso del rol de administrador incluyen mapa de carrusel, tablón de anuncios, administración de usuarios, lista de foros, lista de categorías de foros, información de la computadora, categoría de información de la computadora, centro comercial de computadoras, lista de categorías, lista de pedidos y recomendación de computadoras.

       

                                                      Figura 2-3 Diagrama de caso de uso del rol de administrador del sistema de administración de ventas de computadoras

3 Diseño general del sistema de gestión de ventas informáticas

En el capítulo anterior se analizaron los requisitos funcionales del sistema de gestión de ventas por computadora, y se analizaron los casos de uso en el sistema de gestión de ventas por computadora de acuerdo a los requisitos. Luego, el siguiente paso es comenzar a diseñar la arquitectura del sistema de gestión de ventas por computadora, las funciones principales y la base de datos.

3.1 Diseño del módulo de funciones del sistema

Mediante el análisis de requisitos funcionales y el análisis de casos de uso del sistema informático de gestión de ventas, se obtiene el diagrama del módulo funcional del sistema informático de gestión de ventas, como se muestra en la Figura 3-1.

 

Figura 3-1 Diagrama de bloques funcional                                                del sistema informático de gestión de ventas

3.3 Diseño de base de datos

3.3.1 Modelo ER de base de datos

El siguiente es el diagrama de relación de entidad ER de las tablas de la base de datos de todo el sistema de gestión de ventas por computadora, como se muestra en la Figura 3-2:

 

Figura 3-2 Diagrama de relación de entidad ER                                               del sistema de administración de ventas por computadora

3.3.2 Diseño de tablas de base de datos

Es necesario crear un total de muchas tablas de datos a través del diagrama de relación ER anterior. Los modelos relacionales de estas 7 tablas de bases de datos principales se enumeran a continuación:

tabla de registro de usuario:

nombre

tipo

longitud

no nulo

Clave primaria

nota

id_de_registro_de_usuario

En t

11

ID de registro de usuario

género

varchar

64

No

No

género

examinar_estado

varchar

dieciséis

No

Estado de aprobación

recomendar

En t

11

No

Recomendación inteligente

id_usuario

En t

11

No

ID de usuario

crear_tiempo

fecha y hora

0

No

tiempo de creación

tiempo de actualizacion

marca de tiempo

0

No

tiempo de actualizacion

tabla de recomendaciones_computadora

nombre

tipo

longitud

no nulo

Clave primaria

nota

computer_recommendation_id

En t

11

ID de recomendación de computadora

número_de_recomendación

varchar

64

No

No

Número de recomendación

tipo_de_ordenador

varchar

64

No

No

tipo de computadora

computadora_marca

varchar

64

No

No

marca de computadora

modelo_de_computadora

varchar

64

No

No

modelo de computadora

imágenes_de_la_computadora

varchar

255

No

No

imagen de la computadora

recomendación_índice

varchar

64

No

No

Recomendado

introducción a la computadora

texto

0

No

No

introducción a la computadora

golpes

En t

11

No

golpes

alabanza_len

En t

11

No

Gustos

recomendar

En t

11

No

Recomendación inteligente

crear_tiempo

fecha y hora

0

No

tiempo de creación

tiempo de actualizacion

marca de tiempo

0

No

tiempo de actualizacion

tabla computer_mall:

nombre

tipo

longitud

no nulo

Clave primaria

nota

computer_mall_id

En t

11

Identificación del centro comercial de computadoras

observaciones

texto

0

No

No

Observación

recomendar

En t

11

No

Recomendación inteligente

cart_title

varchar

125

No

No

etiqueta de título

cart_img

texto

0

No

No

Imagen de portada

carrito_descripción

varchar

255

No

No

describir

cart_price_ago

doble

8

No

precio original

precio_carrito

doble

8

No

precio de venta

carrito_inventario

En t

11

No

Existencias de materias primas

tipo_de_carrito

varchar

64

No

Categorías

carrito_contenido

texto largo

0

No

No

texto

cart_img_1

texto

0

No

No

imagen principal 1

cart_img_2

texto

0

No

No

imagen principal 2

cart_img_3

texto

0

No

No

imagen principal 3

cart_img_4

texto

0

No

No

imagen principal 4

cart_img_5

texto

0

No

No

imagen principal 5

crear_tiempo

fecha y hora

0

No

tiempo de creación

tiempo de actualizacion

marca de tiempo

0

No

tiempo de actualizacion

tabla de tipos ;

nombre

tipo

longitud

no nulo

Clave primaria

nota

tipo_id

pequeño

5

categoria ID

nombre

varchar

dieciséis

No

nombre de la categoría

descripción

varchar

255

No

No

describir

URL

varchar

255

No

No

Dirección de enlace externo

padre_id

pequeño

5

No

ID de categoría principal

icono

varchar

255

No

No

Iconos de categoría

crear_tiempo

marca de tiempo

0

No

tiempo de creación

tiempo de actualizacion

marca de tiempo

0

No

tiempo de actualizacion

Tabla de pedidos :

nombre

tipo

longitud

no nulo

Clave primaria

nota

Solicitar ID

En t

11

Solicitar ID

número de orden

varchar

64

No

No

número de orden

bienes_id

medio

8

No

identificación de producto

título

varchar

32

No

No

Título del artículo:

imagen

varchar

255

No

No

imagen del producto

precio

doble

10

No

precio

precio_ago

doble

10

No

precio original

número

En t

8

No

cantidad

precio_recuento

doble

8

No

precio total

normas

varchar

255

No

No

Especificación

type

varchar

64

商品分类

contact_name

varchar

32

联系人姓名

contact_email

varchar

125

联系人邮箱

contact_phone

varchar

11

联系人手机

contact_address

varchar

255

收件地址

postal_code

varchar

9

邮政编码

user_id

int

10

买家ID

merchant_id

mediumint

8

商家ID

create_time

timestamp

0

创建时间

update_time

timestamp

0

更新时间

description

varchar

255

描述

state

varchar

16

订单状态

Forum表:

名称

类型

长度

不是null

主键

注释

forum_id

mediumint

8

论坛id

display

smallint

5

排序

user_id

mediumint

8

用户ID

nickname

varchar

16

昵称

praise_len

int

10

点赞数

hits

int

10

访问数

title

varchar

125

标题

keywords

varchar

125

关键词

description

varchar

255

描述

url

varchar

255

来源地址

tag

varchar

255

标签

img

text

0

封面图

content

longtext

0

正文

create_time

timestamp

0

创建时间

update_time

timestamp

0

更新时间

avatar

varchar

255

发帖人头像

type

varchar

64

论坛分类

4 电脑销售管理系统实现

电脑销售管理系统的详细设计与实现主要是根据前面的电脑销售管理系统的需求分析和电脑销售管理系统的总体设计来设计页面并实现业务逻辑。主要从电脑销售管理系统界面实现、业务逻辑实现这两部分进行介绍。

4.1 用户端

4.1.1 用户注册界面

不是电脑销售管理系统的会员可以通过用户进行注册,填写上自己的账号、密码、重复密码、昵称、邮箱登信息后点击“提交”按钮后将会验证是否有非空数据,再验证密码和重复密码是否一样,最后验证是否账号重复,都验证没问题后即可注册成功。注册实现了用户注册和发布者注册两部分,其用户注册界面展示如下图4-1所示。

 

图4-1用户注册界面图

用户注册关键代码如下所示。

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

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

        // 查询用户

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

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

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

        if (list.size()>0){

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

        }

        user.setUserId(null);

        user.setPassword(service.encryption(user.getPassword()));

        service.save(user);

        return success(1);

}

/**

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

     */

    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "user_id")

    private Integer userId;

    /**

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

     */

    @Basic

    @Column(name = "state")

    private Integer state;

    /**

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

     */

    @Basic

    @Column(name = "user_group")

    private String userGroup;

    /**

     * 上次登录时间:

     */

    @Basic

    @Column(name = "login_time")

    private Timestamp loginTime;

    /**

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

     */

    @Basic

    @Column(name = "phone")

    private String phone;

    /**

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

     */

    @Basic

    @Column(name = "phone_state")

    private Integer phoneState;

    /**

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

     */

    @Basic

    @Column(name = "username")

    private String username;

    /**

     * 昵称:[0,16]

     */

    @Basic

    @Column(name = "nickname")

    private String nickname;

    /**

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

     */

    @Basic

    @Column(name = "password")

    private String password;

    /**

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

     */

    @Basic

    @Column(name = "email")

    private String email;

    /**

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

     */

    @Basic

    @Column(name = "email_state")

    private Integer emailState;

    /**

     * 头像地址:[0,255]

     */

    @Basic

    @Column(name = "avatar")

    private String avatar;

    /**

     * 创建时间:

     */

    @Basic

    @Column(name = "create_time")

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    private Timestamp createTime;

    @Basic

    @Transient

    private String code;

}

4.1.2 用户登录界面

用户注册后的会员可以通过自己的用户名和密码进行登录,在用户填写好自己的用户名和密码信息并点击“登录”按钮后,将会先验证是否有非空数据,再验证填写的用户信息和数据库中保存的是否一致,一致后将会登录成功,登录成功后将会在左上角上显示用户信息;否则将会提示相应错误信息,用户登录界面如下图4-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;

        QueryWrapper wrapper = new QueryWrapper<User>();

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

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

            map.put("username", username);

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

        }

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

            map.put("email", email);

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

        }

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

            map.put("phone", phone);

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

        }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.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

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

        }

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

        //查询用户审核状态

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

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            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, "账号或密码不正确");

        }

}

    public String select(Map<String,String> query,Map<String,String> config){

        StringBuffer sql = new StringBuffer("select ");

        sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");

        sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));

        if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){

            sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");

        }

        if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){

            sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");

        }

        if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){

            int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;

            int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;

            sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);

        }

        log.info("[{}] - 查询操作,sql: {}",table,sql);

        return sql.toString();

}

    public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

输入有效的用户名和密码信息,点击“登录”按钮,自动跳转到“首页”页面,首页界面如下图4-3所示。

 

图4-3首页界面图

首页逻辑代码如下所示。

package com.project.demo.constant;

/**

 */

public class FindConfig {

    public static String PAGE = "page";

    public static String SIZE = "size";

    public static String LIKE = "like";

    public static String ORDER_BY = "orderby";

    public static String FIELD = "field";

    public static String GROUP_BY = "groupby";

    public static String MIN_ = "_min";

    public static String MAX_ = "_max";

}

4.1.3论坛界面

用户在点击导航栏上面的论坛后,就可以搜索查看留言信息,用户根据自己的喜好可以进行交流,论坛界面如下图4-4所示。

 

图4-4论坛界面图

4.1.4收货地址界面

当用户点击“收货地址”右后,就回去显示出目前现有的地址,也可以添加新的地址,界面如下图4-5所示。

 

图4-5收货地址界面图

4.1.5商品详情界面

当访客点击了任意商品后将会进入该款商品的详情界面,可以了解到该商品的图片信息、商品信息、价钱信息等,同时可以对该商品进行加购+立即购买+收藏+点赞+评论,商品详情展示页面如图4-6所示。

 

图4-6商品详情界面图

4.1.6我的购物车界面

当用户点击“我的购物车”链接后就进入自己购买的收入购物车的界面展示,界面如下图4-7所示。

 

图4-7购物车界面图

4.1.7电脑推荐房界面

用户在“电脑”界面选择自己提交的电脑信息,可以点击“电脑消息”,然后输入电脑信息进行提交后,在电脑界面就可以查看到自己提交的电脑信息了,可以进行支付操作,界面如下图4-8所示。

 

图4-8电脑推荐界面图

电脑推荐关键代码如下所示。

@PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

}

4.2 后台端

4.2.1 管理员登录界面

管理员可以从浏览器上输入后台登录的网址后输入自己的用户名,密码图片验证后点击“登录”按钮后将会验证是否有非空数据,其次再验证是否和数据库中保存的一致,都验证成功后将登录成功,管理员登录界面如下图4-9所示。

 

图4-9管理员登录界面图

4.2.2用户管理界面

电脑销售管理系统中的管理人员是可以对前台注册的用户进行管理的,也可以对管理员进行管控。界面如下图4-10所示。

 

图4-10用户管理界面图

用户管理关键代码如下所示。

@RequestMapping("/get_list")

    public Map<String, Object> getList(HttpServletRequest request) {

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

}

4.2.3站点管理界面

电脑销售管理系统中的管理人员在“站点管理”这一菜单中是可以对前台显示的轮播图以及公告栏进行管控。界面如下图4-11所示。

 

图4-11站点管理界面图

站点管理关键代码如下所示。

@RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

}

4.2.4内容管理管理界面

电脑销售管理系统中的管理人员在“内容管理”这一菜单中是可以对电脑销售管理系统内的论坛列表、论坛分类列表、电脑资讯、电脑资讯分类进行维护和管理的,界面如下图4-12所示。

 

图4-12内容管理界面图

内容管理关键代码如下:

    @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

}

    

       

}

4.2.5商城管理界面

电脑销售管理系统管理系统中的管理人员在“商城管理”这一菜单下是可以对电脑销售管理系统管理系统内的电脑商城、分类列表、订单列表进行管控的,其管理界面如下图4-13所示。

 

图4-13商城管理界面图

商城管理关键代码如下所示。

public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

4.2.6更多管理界面

电脑销售管理系统中的管理人员在“更多管理”这一菜单下是可以对电脑销售管理系统内的电脑推荐进行管控的,其管理界面如下图4-14所示。

 

图4-14更多管理界面图

更多管理关键代码如下所示。

  public Map<String, Object> success(Object o) {

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

        if (o == null) {

            map.put("result", null);

            return map;

        }

        if (o instanceof List) {

            if (((List) o).size() == 1) {

               o =  ((List) o).get(0);

                map.put("result", o);

            }else {

                String jsonString = JSONObject.toJSONString(o);

                JSONArray objects = service.covertArray(JSONObject.parseArray(jsonString));

                map.put("result", objects);

            }

        } else if (o instanceof Integer || o instanceof String) {

            map.put("result", o);

        } else {

            String jsonString = JSONObject.toJSONString(o);

            JSONObject jsonObject = JSONObject.parseObject(jsonString);

            JSONObject j = service.covertObject(jsonObject);

            map.put("result", j);

        }

        return map;

}

 

5 电脑销售管理系统测试

系统测试的目的

系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

5.2 系统测试用例

系统测试包括:用户登录功能测试、商品展示功能测试、商品添加、商品搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:

用户登录功能测试:

表5-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

商品查看功能测试:

表5-2 商品查看功能测试表

用例名称

商品查看

目的

测试商品查看功能

前提

用户登录

测试流程

点击商品列表

预期结果

可以查看到所有商品信息

实际结果

实际结果与预期结果一致

管理员添加商品界面测试:

表5-3 管理员添加商品界面测试表

用例名称

商品发布测试用例

目的

测试商品发布功能

前提

卖家用户正常登录情况下

测试流程

1)卖家点击商品信息管理就,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的商品信息 

实际结果

实际结果与预期结果一致

商品搜索功能测试:

表5-4商品搜索功能测试表

用例名称

商品搜索测试

目的

测试商品搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的商品

实际结果

实际结果与预期结果一致

密码修改功能测试:

表5-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

5.3 系统测试结果

通过编写电脑销售管理系统的测试用例,已经检测完毕用户登录模块、商品查看模块、商品添加模块、商品搜索模块、密码修改功能测试,通过这5大模块为电脑销售管理系统的后期推广运营提供了强力的技术支撑。

总结与展望

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

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

参考文献

[1]王常珏,段尧清,朱泽.基于SSM的政府数据治理联盟链框架构建[J/OL].情报科学:1-18[2022-03-21].http://kns.cnki.net/kcms/detail/22.1264.g2.20220309.1213.002.html

[2]王月红,蒋冀萍.基于Java的煤矿风险预警与防控系统设计[J].煤炭技术,2022,41(03):173-175.

[3]黄子扬,祝奕炜,沈信宇,慕京生,焦俊.基于SSM的水质在线监测与数据分析[J].现代农业科技,2022(05):129-135.

[4]朱珍珠,段华斌,邓永清,杜丹蕾.基于Java的增值平台的设计与实现[J].办公自动化,2022,27(05):55-58.

[5]魏瑾.Java多线程技术在网络通信系统中的应用[J].山西电子技术,2022(01):66-68.

[6]李双,郭晨晨,李佳虎,张慧娥.基于SSM框架的智能驾校系统的设计与开发[J].电脑知识与技术,2022,18(03):62-63+65.

[7]郭静.基于SSM框架的高校新生预报到系统的设计与实现[J].电子技术与软件工程,2022(02):232-235.

[8]张烈超,胡迎九.典型Java Web开发框架模型的研究[J].武汉交通职业学院学报,2021,23(04):122-127.

[9]徐旭,李明明,夏辉,陈曦,王天宇,肖硕,雍旭.基于SSM框架的互联网+多元监管下构建医疗设备质量控制管理服务平台研究[J].中国医学装备,2021,18(12):106-110.

[10]He Xinbin,Bai Yongbin,Yue Lisen,Wang Haixiao,Liu Yi. Design and Implementation of Information System Based on Java Technology Platform[J]. Journal of Physics: Conference Series,2021,2033(1).

[11]王晨. 基于JAVA的教室查询系统研究[C]//.第三十五届中国(天津)2021’IT、网络、信息技术、电子、仪器仪表创新学术会议论文集.,2021:16-19.

[12]田青海. 面向Java应用的性能监控系统的设计与实现[D].浙江大学,2021.

[13]丁明月. 基于SSM的化工技术电子商务平台的研究与实现[D].淮阴工学院,2021.

[14]王冯涛. 基于SSM的地铁站智慧管理系统的设计与实现[D].北京交通大学,2021.

[15]Qu Xiaona. Application of Java Technology in Dynamic Web Database Technology[J]. Journal of Physics: Conference Series,2021,1744(4).

[16]Lei Yu,Cheng Li,Lei Wei,Hu WenYa. Marine biological monitoring and managing system based on Java technology[J]. MIPPR 2019: REMOTE SENSING IMAGE PROCESSING, GEOGRAPHIC INFORMATION SYSTEMS, AND OTHER APPLICATIONS,2020,11432.

[17]陈志忠. 带图形网页界面的电脑显示屏交互界面(销售管理)[P]. 广东省:CN305356398S,2019-09-20.

[18]王栋,方翔,吴鹰,俞向平,李东森,祁霖,李斌. 用于电脑的销售管理可视化系统界面[P]. 北京市:CN305216794S,2019-06-14.

[19]陈烁,张来卿,庞严冬. 带有药店管理系统用户界面的电脑(销售报表)[P]. 广东省:CN305130018S,2019-04-26.

[20]张锋. 带图形用户界面的电脑(商品销售管理系统)[P]. 广东省:CN305098344S,2019-04-05.

[21]孔丽.电脑销售与汽车销售的成本控制管理[J].中外企业家,2014(35):72.

[22]张彦青.基于VB技术的电脑销售管理系统设计与开发[J].电脑知识与技术,2008(03):472-474+477.

[23]张波. 亚思晟科技向贫困生免费提供JAVA培训[N]. 大众科技报,2007-06-05(A07).DOI:10.28215/n.cnki.ndzkj.2007.001547.

[24]Qi liang SUN. Design and Implementation of Personnel Management Information System Based on SSM[P]. Qi liang SUN,2021.

致谢

至此论文结束,感谢您的阅读。首先,我要感谢我的父母对我的支持与理解,在两年的本科学习生活中,倾其所能的爱护我,使我能够心无旁骛,全心全意的投入到学习中;不断鼓励我,让我能够拥有不断前进的动力。其次还要感谢我的导师,感谢在这段时间给予我有效的建议,以至于我的毕设有了整体的设计思路,尽管我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。在老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。

此外,还要感谢我的同学,热心的解答了我在程序上遇到的问题,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测,让我受益良多。在这两年的时间里,我学会了许多专业的知识,还有老师们的谆谆教诲和同学们的帮助使我不断进步,能够做得更好;我也会不断给自己充电,不断突破,成为更好的自己。

最后向所有关心我、帮助我的老师及同学们表示衷心的感谢!

点赞+收藏+关注 → 私信领取本源代码、数据库

Supongo que te gusta

Origin blog.csdn.net/weixin_61498557/article/details/131359774
Recomendado
Clasificación