基于ssm 网上书店管理系统(含论文)

@

一、系统介绍

系统主要功能:
前台用户包含注册登录、图书信息浏览、购物车功能、图书评价功能、最近浏览功能、个人信息管理、订单管理(查看、确认收货)
后台管理员包含登录、用户管理(增删改查)、图书商品信息管理(增删改查)、订单管理(删改查)

运行环境 : idea\eclipse、mysql、tomcat

二、功能展示

1.主页(客户)

![在这里插入图片描述]( https://img-blog.csdnimg.cn/b9823476809340c9bf80300b1d166ece.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAMTHnvZHnu5zmnI3liqE=,size_20,color_FFFFFF,t_70,g_se,x_16)

2.登陆(客户)

![在这里插入图片描述]( https://img-blog.csdnimg.cn/6611cfc262ad43ff98a30f2d88437f03.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAMTHnvZHnu5zmnI3liqE=,size_20,color_FFFFFF,t_70,g_se,x_16)

3.我的购物车(客户)

![在这里插入图片描述]( https://img-blog.csdnimg.cn/68620c9dcf4c4a1a8ca3944242afbb3e.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAMTHnvZHnu5zmnI3liqE=,size_20,color_FFFFFF,t_70,g_se,x_16)

4.我的订单(客户)

![在这里插入图片描述]( https://img-blog.csdnimg.cn/8272d9b2262340c79a0a09b69fe72ba0.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAMTHnvZHnu5zmnI3liqE=,size_20,color_FFFFFF,t_70,g_se,x_16)

5.登陆(管理员)

![在这里插入图片描述]( https://img-blog.csdnimg.cn/ffe0457eac9e485d9129011477df94b3.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAMTHnvZHnu5zmnI3liqE=,size_20,color_FFFFFF,t_70,g_se,x_16)

6.用户管理(用户管理)

![在这里插入图片描述]( https://img-blog.csdnimg.cn/d9ba03542ee64ecb9a939a058a07c075.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAMTHnvZHnu5zmnI3liqE=,size_20,color_FFFFFF,t_70,g_se,x_16)

7.商品管理(管理员)

![在这里插入图片描述]( https://img-blog.csdnimg.cn/244b4ed171414c39afc172705d196e71.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAMTHnvZHnu5zmnI3liqE=,size_20,color_FFFFFF,t_70,g_se,x_16)

8.定单管理(管理员)

![在这里插入图片描述]( https://img-blog.csdnimg.cn/30b9ba8d8feb4dd490cba316dd9966b1.png?x-oss-process=image/watermark ,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAMTHnvZHnu5zmnI3liqE=,size_20,color_FFFFFF,t_70,g_se,x_16)

四、其它

1.代码展示

package com.flower.controller;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

public class Test2 {
    public static void main(String[] args) {
        try {
            /**
             * 造一些测试数据,这里就不去数据库里查了,一般正常是数据库有个表记录签到记录
             */
            List<String> signInDateStrs = new ArrayList<>();
            signInDateStrs.add("2022-05-05");
            signInDateStrs.add("2022-05-08");
            signInDateStrs.add("2022-05-10");
            signInDateStrs.add("2022-05-11");
            signInDateStrs.add("2022-05-12");
            List<Date> signInDates = new ArrayList<>();
            for (String dateStr : signInDateStrs) {
                Calendar calendarTo = Calendar.getInstance();
                calendarTo.setTime(new SimpleDateFormat("yyyy-MM-dd").parse(dateStr));
                Calendar c = Calendar.getInstance();
                c.setTimeInMillis(0);
                c.set(calendarTo.get(Calendar.YEAR), calendarTo.get(Calendar.MONTH),
                        calendarTo.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
                signInDates.add(c.getTime());
            }

            int count = persistentDay(signInDates);
            System.out.println("连续签到了" + count + "天");
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }

    /**
     * 自动签到的情况,只要一进入系统就会签到,所以连续签到肯定至少为1天
     * @param signInDates
     * @return
     */
    private static int persistentDay(List<Date> signInDates){
        //定义一个变量表示连续签到天数,从1开始
        int continuousDays = 1;

        //1. 注意先对时间进行从小到大排序(可以在数据库里查的时候就根据时间排序,也可以查询出来之后再排序)

        /**
         * 2. 从最大的时间开始往前比较,因为我们是要拿连续签到的时间,这样才有意义,减少无谓的比较
         */
        Calendar later = Calendar.getInstance();
        Calendar before = Calendar.getInstance();
        for (int i = signInDates.size() - 1; i > 0; i--){
            later.setTime(signInDates.get(i));
            before.setTime(signInDates.get(i - 1));
            //前一天 + 1天 = 后一天,则视为连续签到
            before.add(Calendar.DAY_OF_MONTH,1);
            if (later.get(Calendar.YEAR) == before.get(Calendar.YEAR)
                    && later.get(Calendar.MONTH) == before.get(Calendar.MONTH)
                    && later.get(Calendar.DAY_OF_YEAR) == before.get(Calendar.DAY_OF_YEAR)){
                continuousDays++;
            }else {
                //只要遇到不连续的就不用再往前比较了
                break;
            }
        }
        return continuousDays;
    }
}

/details/118229182)

2.获取源码

点击下载
基于Spring+SpringMVC+Mybatis 网上书店管理系统

posted @ 2022-12-14 16:12  优选源码  阅读(586)  评论(0)    收藏  举报