订单模块

This commit is contained in:
2023-10-13 10:24:32 +08:00
parent 2a39b11337
commit 1d6ed7f564
90 changed files with 2862 additions and 65 deletions

View File

@@ -0,0 +1,126 @@
package com.atguigu.ssyx.common.utils;
import org.apache.commons.lang.time.DateUtils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* ClassName: DateUtil
* Package: com.atguigu.ssyx.common.utils
* 日期操作工具类
*
* @author yovinchen
* @Create 2023/10/12 18:04
*/
public class DateUtil {
private static final String dateFormat = "yyyy-MM-dd";
private static final String timeFormat = "HH:mm:ss";
/**
* 格式化日期
*
* @param date
* @return
*/
public static String formatDate(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
return sdf.format(date);
}
/**
* 格式化日期
*
* @param date
* @return
*/
public static String formatTime(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat(timeFormat);
return sdf.format(date);
}
public static Date parseTime(String date) {
SimpleDateFormat sdf = new SimpleDateFormat(timeFormat);
try {
return sdf.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
/**
* 截取比较断两个日期对象的field处的值 。
* 如果第一个日期小于、等于、大于第二个则对应返回负整数、0、正整数
*
* @param date1 第一个日期对象非null
* @param date2 第二个日期对象非null
* @param field Calendar中的阈值
* <p>
* date1 > date2 返回1
* date1 = date2 返回0
* date1 < date2 返回:-1
*/
public static int truncatedCompareTo(final Date date1, final Date date2, final int field) {
return DateUtils.truncatedCompareTo(date1, date2, field);
}
/**
* 比对日期与时间大小
*
* @param beginDate
* @param endDate
* @return
*/
public static boolean dateCompare(Date beginDate, Date endDate) {
// endDate > beginDate
return DateUtil.truncatedCompareTo(beginDate, endDate, Calendar.SECOND) != 1;
}
/**
* 比对日期与时间大小
*
* @param beginDate
* @param endDate
* @return
*/
public static boolean timeCompare(Date beginDate, Date endDate) {
Calendar instance1 = Calendar.getInstance();
instance1.setTime(beginDate); //设置时间为当前时间
instance1.set(Calendar.YEAR, 0);
instance1.set(Calendar.MONTH, 0);
instance1.set(Calendar.DAY_OF_MONTH, 0);
Calendar instance2 = Calendar.getInstance();
instance2.setTime(endDate); //设置时间为当前时间
instance2.set(Calendar.YEAR, 0);
instance2.set(Calendar.MONTH, 0);
instance2.set(Calendar.DAY_OF_MONTH, 0);
// endDate > beginDate
return DateUtil.truncatedCompareTo(instance1.getTime(), instance2.getTime(), Calendar.SECOND) != 1;
}
/**
* 获取当前时间到晚上23点59分59秒的时间间隔单位
*
* @return
*/
public static Long getCurrentExpireTimes() {
//过期截止时间
Calendar instance = Calendar.getInstance();
instance.setTime(new Date()); //设置时间为当前时间
instance.set(Calendar.HOUR_OF_DAY, 23);
instance.set(Calendar.MINUTE, 59);
instance.set(Calendar.SECOND, 59);
Date endTime = instance.getTime();
//当前时间与截止时间间隔,单位:秒
long interval = (endTime.getTime() - new Date().getTime()) / 1000;
return 100 * 60 * 60 * 24 * 365L;
}
}

View File

@@ -0,0 +1,60 @@
package com.atguigu.ssyx.common.config;
import lombok.Data;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.redisson.config.SingleServerConfig;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.StringUtils;
/**
* ClassName: RedissonConfig
* Package: com.atguigu.ssyx.common.config
*
* @author yovinchen
* @Create 2023/10/12 16:48
*/
@Data
@Configuration
@ConfigurationProperties("spring.redis")
public class RedissonConfig {
private static String ADDRESS_PREFIX = "redis://";
private String host;
private String addresses;
private String password;
private String port;
private int timeout = 3000;
private int connectionPoolSize = 64;
private int connectionMinimumIdleSize = 10;
private int pingConnectionInterval = 60000;
/**
* 自动装配
*/
@Bean
RedissonClient redissonSingle() {
Config config = new Config();
// 判断redis 的host是否为空
if (StringUtils.isEmpty(host)) {
throw new RuntimeException("host is empty");
}
// 配置hostport等参数
SingleServerConfig serverConfig = config.useSingleServer()
//redis://127.0.0.1:7181
.setAddress(ADDRESS_PREFIX + this.host + ":" + port)
.setTimeout(this.timeout)
.setPingConnectionInterval(pingConnectionInterval)
.setConnectionPoolSize(this.connectionPoolSize)
.setConnectionMinimumIdleSize(this.connectionMinimumIdleSize);
// 判断进入redis 是否密码
if (!StringUtils.isEmpty(this.password)) {
serverConfig.setPassword(this.password);
}
// RedissonClient redisson = Redisson.create(config);
return Redisson.create(config);
}
}

View File

@@ -25,7 +25,7 @@ public class CodeGet {
// 2、全局配置
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir("guigu-ssyx-parent/service/service-activity" + "/src/main/java");
gc.setOutputDir("guigu-ssyx-parent/service/service-order" + "/src/main/java");
gc.setServiceName("%sService"); //去掉Service接口的首字母I
gc.setAuthor("atguigu");
@@ -34,17 +34,17 @@ public class CodeGet {
// 3、数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://82.157.68.223:3306/shequ-activity?serverTimezone=GMT%2B8&useSSL=false");
dsc.setUrl("jdbc:mysql://82.157.68.223:3306/shequ-order?serverTimezone=GMT%2B8&useSSL=false");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("shequ-activity");
dsc.setPassword("shequ-activity");
dsc.setUsername("shequ-order");
dsc.setPassword("shequ-order");
dsc.setDbType(DbType.MYSQL);
mpg.setDataSource(dsc);
// 4、包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.atguigu.ssyx");
pc.setModuleName("activity"); //模块名
pc.setModuleName("order"); //模块名
pc.setController("controller");
pc.setService("service");
pc.setMapper("mapper");
@@ -53,7 +53,7 @@ public class CodeGet {
// 5、策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("activity_info", "activity_rule", "activity_sku", "coupon_info", "coupon_range", "coupon_use", "home_subject", "home_subject_sku", "seckill", "seckill_sku", "seckill_sku_notice", "seckill_time", "sku_info");
strategy.setInclude("cart_info", "order_info", "order_deliver", "order_item", "order_log", "order_return_apply", "order_return_reason", "order_set", "payment_info", "refund_info");
strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略