基于Spring+SpringMVC+Mybatis 网上书店管理系统
一、系统介绍
系统主要功能:
前台用户包含注册登录、图书信息浏览、购物车功能、图书评价功能、最近浏览功能、个人信息管理、订单管理(查看、确认收货)
后台管理员包含登录、用户管理(增删改查)、图书商品信息管理(增删改查)、订单管理(删改查)
运行环境 : idea\eclipse、mysql、tomcat
二、功能展示
1.主页(客户)
2.登陆(客户)
3.我的购物车(客户)
4.我的订单(客户)
5.登陆(管理员)
6.用户管理(用户管理)
7.商品管理(管理员)
8.定单管理(管理员)
四、其它
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)