• 基于javaweb+mysql的在线商城水果蔬菜商城果蔬商城(前台、后台)


    基于javaweb+mysql的在线商城水果蔬菜商城果蔬商城(前台、后台)

    运行环境

    Java≥8、MySQL≥5.7

    开发工具

    eclipse/idea/myeclipse/sts等均可配置运行

    适用

    课程设计,大作业,毕业设计,项目练习,学习演示等

    功能说明

    该项目分为前台用户和后台管理员两个角色,

    用户角色的功能:登录JWT的token验证)、注册浏览商品、修改个人信息(上传图片)、修改密码、评论商品添加商品到购物车(Redis缓存)、提交订单查看订单收藏商品等等功能。

    管理员角色的功能:管理用户信息、管理用户评论信息、管理商品信息、管理订单信息等等功能。

    前台:

    后台:

    技术框架

    SpringBoot SpringMVC MyBatis FreeMarker JWT Redis


        }
    
        @Override
        public ResponseVo<Boolean> updateOrderState(Long orderId, Integer state) {
       
            if(orderId == null || state == null){
       
                return ResponseVo.errorByMsg(CodeMsg.DATA_ERROR);
            }
            Order order = orderMapper.selectByPrimaryKey(orderId);
            if(order == null){
       
                return ResponseVo.errorByMsg(CodeMsg.ORDER_NOT_EXIST);
            }
            if(orderMapper.updateStateByOrderId(orderId, state) <= 0){
       
                return ResponseVo.errorByMsg(CodeMsg.ORDER_STATE_EDIT_ERROR);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.multipart.MultipartFile;
    
    import javax.servlet.ServletOutputStream;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.File;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
            return ResponseVo.successByMsg(token,"修改个人信息成功!");
        }
    
        @Override
        public ResponseVo<Boolean> updatePasswd(String prePassword, String newPassword, String reNewPassword, HttpServletRequest request) {
       
            //对用户输入的数据进行非空验证
            if(StringUtil.isEmpty(prePassword)){
       
                return ResponseVo.errorByMsg(CodeMsg.USER_PREPASSWORD_EMPTY);
            }
            if(StringUtil.isEmpty(newPassword)){
       
                return ResponseVo.errorByMsg(CodeMsg.USER_NEWPASSWORD_EMPTY);
            }
            if(StringUtil.isEmpty(reNewPassword)){
       
                return ResponseVo.errorByMsg(CodeMsg.USER_RENEWPASSWORD_EMPTY);
            }
            //获取当前登录用户的id
            String id = (String) request.getAttribute("id");
            //判断用户输入的旧密码是否正确
            User user = userMapper.selectByPrimaryKey(Long.valueOf(id));
            if(!prePassword.equals(user.getPassword())){
       
                return ResponseVo.errorByMsg(CodeMsg.USER_PREPASSWORD_ERROR);
            }
            //判断用户输入的新密码是否符合规范
            user.setPassword(newPassword);
            CodeMsg validate = ValidateEntityUtil.validate(user);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    	public BufferedImage generatorVCodeImage(String vcode, boolean drawline){
       
    		//创建验证码图片
    		BufferedImage vcodeImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
    		Graphics g = vcodeImage.getGraphics();
    		//填充背景色
    		g.setColor(new Color(246, 240, 250));
    		g.fillRect
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    半监督学习理解
    java 迭代器 Iterator
    ConcurrentHashMap底层源码分析
    网络安全笔记2——单钥密码体制
    如何正确的中断线程?你的姿势是否正确
    迅为龙芯3A5000主板,支持PCIE 3.0、USB 3.0和 SATA 3.0显示接口2 路、HDMI 和1路 VGA,可直连显示器
    Git的初步认识
    【java开发技术积累篇】之springboot项目优美的文件上传方式
    GBase8s数据库SET Database Object Mode 语句
    BGP选路属性之权重
  • 原文地址:https://blog.csdn.net/m0_69593263/article/details/127742232