基于javaweb的每日鲜牛奶订购系统的设计与实现

一、项目介绍

   本文针对当前每日鲜牛奶订购系统建设中存在的问题,对当前系统建设中存在的问题进行了研究。首先,通过对以往鲜牛奶订购系统体系中已有的设计模式进行梳理,归纳出与自身技术相适应、易于实现的鲜牛奶订购系统,并选择 SpringBoot架构进行开发的系统,将该技术应用到鲜牛奶订购系统中。Eclipse是用于开发的软件, MySQL是用于数据库的软件。该系统采取 B/S架构,面向 Web开发,并以 Tomcat为 WEB服务,并运用 Spring、 Mybatis等技术进行开发。
每日鲜牛奶订购系统的实施,使牛奶购买可以更好地利用其信息技术,大大加快了对商品销售的日常工作的进程。同时,使用者方面也能更好地感受到信息技术的使用方便。该体系可以平稳、有效地工作。而且还可以大大提高用户界面的可操作性。
本文主要阐述了主流在线每日鲜牛奶订购系统的设计方案,主要包括系统管理、用户管理、商品管理、商家管理、公告管理、数据统计等业务分析及它们的功能需求,并进一步简化了用户管理的流程,降低了沟通成本。在需求分析的基础上,给出了整个架构的设计方案、功能模的划分、以及其他核心功能的设计。软件开发成功后,不仅降低了了商家的运营成本,而且能间接减少商品销售的压力,提高商家的经济效益。
关键词:数据库系统,商品,信息系统,Java,B/S

二、开发环境

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

三、功能介绍

系统的可扩展性。考虑到用户的需求会不断的变化,相应的功能也会发生改变,因此灵活的系 统配置也是很重要的,系统采用模块化设计和结构化的开发[22]。软件系统开发专业技术性很强,涉及很多方面,需要有科学的方法和工具来辅助。
图4.1即为设计的管理员功能结构,管理员权限操作的功能包括管理商家,管理商家星级信息,管理用户,管理商品等。
请添加图片描述

图4.1 管理员功能结构
图4.2即为设计的商家功能结构,商家权限操作的功能包括管理商品,回复商品评价,管理商品订单等。

请添加图片描述

图4.2 商家功能结构
图4.3即为设计的用户功能结构,用户权限操作的功能包括查看商家,购买商品,提交订单,管理商品订单等。
请添加图片描述
图4.3 用户功能结构

四、核心代码

部分代码:

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();
    }
}

五、效果图

请添加图片描述

请添加图片描述
请添加图片描述

六、文章目录

目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1 课题背景 1
1.2 课题意义 1
1.3 研究内容 1
第2章 开发环境与技术 3
2.1 Java语言 3
2.2 MYSQL数据库 3
2.3 IDEA开发工具 4
2.4 Spring Boot框架 4
2.5 B/S架构 4
2.6 Vue框架 5
第3章 系统分析 6
3.1 可行性分析 6
3.1.1 技术可行性 6
3.1.2 经济可行性 6
3.1.3 操作可行性 6
3.2 系统流程 6
3.2.1 操作流程 7
3.2.2 登录流程 7
3.2.3 删除信息流程 8
3.2.4 添加信息流程 8
3.3 性能需求 9
3.4 功能需求 10
第4章 系统设计 13
4.1 系统设计思想 13
4.2 功能结构设计 14
4.3 数据库设计 16
4.3.1 数据库概念设计 16
4.3.2 数据库物理设计 19
第5章 系统实现 24
5.1 管理员功能实现 24
5.1.1 公告信息管理 24
5.1.2 用户管理 24
5.1.3 商家管理 25
5.1.4 商家星级管理 25
5.2 商家功能实现 26
5.2.1 商品管理 26
5.2.2 商品评价管理 26
5.2.3 商品订单管理 27
5.3 用户功能实现 27
5.3.1 商家信息 27
5.3.2 商品信息 28
5.3.3 确认下单 28
5.3.4 商品订单 29
第6章 系统测试 30
6.1 测试任务 30
6.2 测试目标 30
6.3 测试方案 31
6.4 系统测试的特点 32
6.5 功能测试 33
6.5.1 登录功能测试 33
6.5.2 修改密码功能测试 34
6.6 系统测试结果 35
结 论 36
参考文献 37
致 谢 38

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值