前后端分离基于spingboot+vue的土特产销售系统的设计与实现

前言

1.1 课题的来源
  随着现代化社会的建设与发展信息技术的推广范围越来越大,互联网深入人们的日常生活,网购更是随处可见。电子商务作为一种提供网上交易洽谈的平台,不仅为消费者提供了极大的便利,也为土特产等零售行业提供了更加广阔的的销售渠道。
1.2 科学意义
  线上土特产销售系统的实现可以有效的减少商家线下商铺、仓库的租赁以及销售环节,节约了大量的资金成本。用户可以在线上对话当地的供应商了解产品特点,并且可以直接的搜索到需要所的产品进行图片浏览,让客户便捷的体验到原汁原味的地方特产和特色文化。
1.3 目的
  土特产销售系统已登录验证通过的用户登录后可以在网站上进行浏览操作,根据自己的需要来选择农副产品的购买数量。电子商务作为一种流行的销售模式,在我国各个发达城市已经取得的良好的效果。随着互联网的城镇化的普及,可以预见这种销售渠道会越发重要。

一、项目介绍

  在当今高度发达的信息中,信息管理改革已成为一种更加广泛和全面的趋势。为确保中国经济的持续发展,信息时代日益更新,土特产销售系统仍在蓬勃发展。同时,随着信息社会的快速发展,各种管理系统面临着越来越多的数据需要处理,如何用方便快捷的方式使管理者在广阔的数据海洋里面查询、存储、管理和共享有效的数据信息,对我们的学习,工作和生活具有重要的现实意义。因此,国内外学术界对此进行了深入而广泛的研究,一个新的研究领域——土特产销售系统诞生了。
  随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于土特产销售系统当然也不能排除在外,随着网络技术的不断成熟,带动了土特产销售系统,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。主要的模块包括管理员;首页、个人中心、基础数据管理、公告管理、商家管理、土特产管理、会员管理、轮播图信息,商家;首页、个人中心、公告管理、土特产管理。系统中管理员主要是为了安全有效地存储和管理各类信息,还可以对系统进行管理与更新维护等操作,并且对企业有相应的操作权限。这种个性化的平台特别注重交互协调与管理的相互配合,激发了管理人员的创造性与主动性,对土特产销售系统而言非常有利。

二、开发环境

开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————

三、功能介绍

  本设计深入研究线上销售系统、电商平台和网络上的相关资料实现基于WEB技术的土特产销售系统的登录、注册、修改密码、购买商品、订单管理功能试验等完成设计。设计的主要功能是用户注册登录销售系统后进行产品添加购物车,完成下单并结算,管理员通过后台可添加产品信息,管理会员信息,结束已经完成的订单。

  研究内容
(1)用户登录,根据系统首页指引,实现用户登录功能。
(2)用户注册,实现用户注册功能,未注册的用户在登录的时候系统会提示先注册后登录。
(3)个人资料,用户可以查看到修改自己的基本信息、订单等资料。
(4)留言,用户登录后可以在留言界面对使用体验进行评价。
(5)收藏加购功能,在首页浏览商品后可将心仪的商品添加至购物车中。
(6)支付功能,在购物车界面可以改变商品的数量,用户选择自己的商品后提交订单完成支付。
(7)搜索功能,在首页点击搜索框用户可以查询自己想要购买的商品。
(8)商品分类功能,根据网站土特产销售的主题,实现商品的种类的分类。
(9)产品推荐功能,在首页向用户推荐展示热销和促销的产品,从而激发消费者的购买欲。
(10)会员管理,管理员登录后可以看到会员用户的真是姓名等,主要实现会员信息的查询和删除功能。
(11)系统用户管理,主要功能实现管理员的添加、修改、删除、查询。
(12)订单管理,可以查看到用户的订单状态,对会员提交的订单进行处理。
(13)地区管理,根据网站土特产销售的主题显示产品地区,可以查看到某地区内包含哪些产品。
(14)商家管理,可以查看到商家名称,信誉等级,所在地等。
在这里插入图片描述

四、核心代码

部分代码:

package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

五、效果图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、文章目录

目 录
第一章 绪 论 1
1.1背景及意义 1
1.2国内外研究概况 2
1.3 研究的内容 2
第二章 关键技术的研究 3
2.1 相关技术 3
2.2 Java技术 3
2.3 ECLIPSE 开发环境 4
2.4 Tomcat介绍 4
2.5 Spring Boot框架 5
第三章 系统分析 5
3.1 系统设计目标 6
3.2 系统可行性分析 6
3.3 系统功能分析和描述 7
3.4系统UML用例分析 8
3.4.1管理员用例 9
3.4.2用户用例 9
3.5系统流程分析 10
3.5.1添加信息流程 11
3.5.2操作流程 12
3.5.3删除信息流程 13
第四章 系统设计 14
4.1 系统体系结构 15
4.2 数据库设计原则 16
4.3 数据表 17
第五章 系统实现 18
5.1用户功能模块 18
5.2管理员功能模块 19
5.3用户功能模块 19
5.4前台首页功能模块 19
第六章 系统测试 20
6.1测试定义及目的 21
6.2性能测试 22
6.3测试模块 23
6.4测试结果 24
总 结 25
致 谢 27

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值