基于Java+SSM+MySQL的网上奶茶店系统的设计与实现

末尾获取源码
作者介绍:大家好,我是何时,本人4年开发经验,专注定制项目开发[python、Java、PHP、大数据、小程序、大屏可视化、爬虫等]

更多项目:CSDN主页曾几何时

我欲乘风归去 又恐琼楼玉宇  高处不胜寒 -苏轼


项目简介

计算机网络发展到现在已经好几十年了,在理论上面已经有了很丰富的基础,并且在现实生活中也到处都在使用,可以说,经过几十年的发展,互联网技术已经把地域信息的隔阂给消除了,让整个世界都可以即时通话和联系,极大的方便了人们的生活。所以说,网上奶茶店系统用计算机技术来进行设计,不仅在管理方面更加的系统化,操作性强,最重要的是关于数据的保存和使用都能节约大量的时间,该系统非常的好用。

网上奶茶店系统管理数据的工具是MySQL,编码的语言是Java,运用的框架是SSM框架。该系统的目标用户包括管理员,用户。管理员管理奶茶信息,回复奶茶评价信息,管理奶茶订单信息,管理会员等级信息等。用户查看奶茶信息,购买奶茶,查看网站介绍和公司介绍,管理购物车,对奶茶订单进行查看等。

网上奶茶店系统不仅能让操作人员使用更加地方便,并且设计的也很合理,能有效的避免误操作,让数据在录入的环节就符合设计需要,极大的规避了源头性的输入误差,顺利的让数据变得更加可控并且可靠,让出错的几率降到最低。


效果图

管理员功能实现

奶茶管理

该功能主要用于实现对奶茶基本信息的管理,奶茶管理界面的运行效果见图5.1。在此界面,管理员对奶茶库存进行增加库存或减少库存等操作,可以下架不受欢迎的奶茶,可以新增奶茶,对奶茶信息进行更改,奶茶信息包括奶茶类型,奶茶热度,奶茶现价等信息。

 

奶茶订单管理

该功能主要用于实现对奶茶订单基本信息的管理,奶茶订单管理界面的运行效果见图5.2。在此界面,管理员可以删除需要删除的奶茶订单信息,可以对用户已经支付的奶茶订单进行发货,管理员查询奶茶订单可以选择根据用户姓名查询,根据奶茶名称查询,根据奶茶类型查询等方式来实现对奶茶订单的查询。

 

奶茶评价管理

该功能主要用于实现对奶茶评价基本信息的管理,奶茶评价管理界面的运行效果见图5.3。在此界面,管理员回复用户提交的奶茶评价信息,管理员查询奶茶评价可以使用用户姓名查询,可以使用奶茶名称查询,在本界面显示的奶茶评价信息都可以进行详情查看以及删除处理。

 

用户管理

该功能主要用于实现对用户基本信息的管理,用户管理界面的运行效果见图5.4。在此界面,管理员对用户账号重置密码,更改包括用户余额在内的用户资料,删除需要删除的用户等。

 

会员等级管理

该功能主要用于实现对会员等级基本信息的管理,会员等级管理界面的运行效果见图5.5。在此界面,管理员增删改查会员等级信息,不同会员等级享受的折扣不一样,等级越高,购买奶茶越优惠。

 

用户功能实现

奶茶信息

奶茶信息界面的运行效果见图5.6。在此界面,用户收藏本界面的奶茶,对奶茶的相关介绍进行了解,可以查看本界面右侧区域系统推荐的奶茶信息,可以在本界面实现对奶茶的购买。

 

购物车

购物车界面的运行效果见图5.7。在此界面,用户可以把需要的奶茶都集中保存在购物车里面,然后统一支付结算,这样可以节省时间,非常方便。

 

确认下单

确认下单界面的运行效果见图5.8。在此界面,用户选择适合的收货地址,没有合适的地址也不用担心,可以先添加收货地址,再选择新增的收货地址即可,最后确认购买的奶茶,确认收费金额信息,最后下单结算。

我的奶茶订单

我的奶茶订单界面的运行效果见图5.9。在此界面,用户对已经支付的奶茶订单信息进行检查,发现误购的奶茶可以及时申请退款。

 


核心代码


package com.controller;


import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

文章目录

第1章 绪论  
1.1 研究背景与意义  
1.2 开发现状 
1.3 论文组成结构 
第2章 开发工具及相关技术介绍  
2.1 框架描述 
2.2 MySQL数据库 
2.3 JAVA语言 
第3章 系统分析  
3.1 可行性分析   
3.1.1 经济可行性 
3.1.2 技术可行性 
3.1.3 操作可行性 
3.2 功能性需求分析  
3.3 性能分析 
3.4 系统操作流程 
3.4.1 用户登录流程  
3.4.2 信息添加流程  
3.4.3 信息删除流程  
第4章 系统设计  
4.1 系统架构设计 
4.2 开发流程设计 
4.3 数据库设计   
4.3.1 实体ER图  
4.3.2 数据表 
第5章 系统实现  
5.1 管理员主要功能实现  
5.2 教师用户主要功能实现
5.3 学生用户主要功能实现
5.4 PC端主要功能实现
第6章 系统测试  
6.1 软件测试的概念  
6.2 软件测试过程 
6.3 系统测试阶段 
6.4 测试结果 
第7章 总结与展望
参考文献  
致谢  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值