秒杀项目初始化

ays
An Yong Shuai 2024-07-10 10:08:34 +08:00
parent e4d2d5db6d
commit 5a88b571ae
38 changed files with 855 additions and 22 deletions

View File

@ -8,6 +8,7 @@
<outputRelativeToContentRoot value="true" /> <outputRelativeToContentRoot value="true" />
<module name="etl-common" /> <module name="etl-common" />
<module name="etl-cleaning" /> <module name="etl-cleaning" />
<module name="etl-spike" />
<module name="etl-gateway" /> <module name="etl-gateway" />
</profile> </profile>
</annotationProcessing> </annotationProcessing>

View File

@ -11,6 +11,8 @@
<file url="file://$PROJECT_DIR$/etl-common/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/etl-common/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/etl-gateway/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/etl-gateway/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/etl-gateway/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/etl-gateway/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/etl-spike/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/etl-spike/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
</component> </component>

File diff suppressed because one or more lines are too long

View File

@ -19,6 +19,11 @@
<spring-boot.version>2.6.13</spring-boot.version> <spring-boot.version>2.6.13</spring-boot.version>
</properties> </properties>
<dependencies> <dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.0.5</version>
</dependency>
<!-- Jedis --> <!-- Jedis -->
<dependency> <dependency>
<groupId>redis.clients</groupId> <groupId>redis.clients</groupId>
@ -30,7 +35,6 @@
<artifactId>spring-boot-starter-captcha</artifactId> <artifactId>spring-boot-starter-captcha</artifactId>
<version>1.3.0</version> <version>1.3.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId> <artifactId>spring-boot-starter-data-redis</artifactId>

View File

@ -0,0 +1,42 @@
package com.etl.cleaning.controller;
import com.alibaba.excel.EasyExcel;
import com.etl.cleaning.domian.pojo.DataPlace;
import com.etl.cleaning.service.PlaceService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.File;
/**
*
*/
@RestController
@RequestMapping("/poi/excel")
public class PoiExcelApi {
private final PlaceService placeService;
public PoiExcelApi(PlaceService placeService){
this.placeService=placeService;
}
/**
*
*/
@PostMapping("/outPoi")
public void outPoi(){
//设置文件导出的路径
String path = "D://poi/";
File file=new File( path );
if(!file.isDirectory()){
file.mkdirs();
}
String fileName = path + "User" + System.currentTimeMillis() + ".xlsx";
EasyExcel.write(fileName, DataPlace.class).sheet("数据源管理").doWrite(placeService.list());
}
}

View File

@ -1,5 +1,7 @@
package com.etl.cleaning.domian.pojo; package com.etl.cleaning.domian.pojo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
@ -8,6 +10,7 @@ import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.Date; import java.util.Date;
/** /**
@ -23,55 +26,70 @@ public class DataPlace {
* id * id
*/ */
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
@ExcelProperty("主键ID")
private Long id; private Long id;
/** /**
* *
*/ */
@ExcelProperty("数据源描述")
private String name; private String name;
/** /**
* *
*/ */
@ExcelProperty("备注")
private String bank; private String bank;
/** /**
* *
*/ */
@ExcelProperty("修改时间")
private Date updateTime; private Date updateTime;
/** /**
* ID * ID
*/ */
@ExcelProperty("类型ID")
private Long typeId; private Long typeId;
/** /**
* *
*/ */
@ExcelProperty("/连接状态")
private Long statue; private Long statue;
/** /**
* *
*/ */
@TableField(exist = false) @TableField(exist = false)
@ExcelIgnore
private String typeName; private String typeName;
/** /**
* *
*/ */
@ExcelProperty("用户名")
private String username; private String username;
/** /**
* *
*/ */
@ExcelProperty("密码")
private String password; private String password;
/** /**
* *
*/ */
@ExcelProperty("端口")
private String port; private String port;
/** /**
* *
*/ */
@ExcelProperty("数据库")
private String dataName; private String dataName;
/** /**
* *
*/ */
@ExcelProperty("配置")
private String yaml; private String yaml;
/** /**
* *
*/ */
@ExcelProperty("路径")
private String dataUrl; private String dataUrl;
} }

View File

@ -36,8 +36,6 @@ public class PlaceServiceImpl extends ServiceImpl<PlaceMapper, DataPlace> implem
this.typeService = typeService; this.typeService = typeService;
this.placeMapper = placeMapper; this.placeMapper = placeMapper;
} }
@Override @Override
public Map<String,Object> showPlacePage(PlaceRequest placeRequest) { public Map<String,Object> showPlacePage(PlaceRequest placeRequest) {
LambdaQueryWrapper<DataPlace> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<DataPlace> lambdaQueryWrapper = new LambdaQueryWrapper<>();

View File

@ -0,0 +1,20 @@
package com.etl.spike.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* sku
* </p>
*
* @author test
* @since 2024-07-10
*/
@RestController
@RequestMapping("/goods")
public class GoodsController {
}

View File

@ -0,0 +1,20 @@
package com.etl.spike.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
@RestController
@RequestMapping("/order")
public class OrderController {
}

View File

@ -0,0 +1,20 @@
package com.etl.spike.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
@RestController
@RequestMapping("/order-item")
public class OrderItemController {
}

View File

@ -0,0 +1,20 @@
package com.etl.spike.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
@RestController
@RequestMapping("/times")
public class TimesController {
}

View File

@ -0,0 +1,20 @@
package com.etl.spike.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
@RestController
@RequestMapping("/times-goods")
public class TimesGoodsController {
}

View File

@ -0,0 +1,67 @@
package com.etl.spike.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* <p>
* sku
* </p>
*
* @author test
* @since 2024-07-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("goods")
public class Goods implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
*
*/
private String name;
/**
*
*/
private BigDecimal price;
/**
*
*/
private String typename;
/**
*
*/
private LocalDateTime time;
/**
*
*/
private String place;
/**
*
*/
private String style;
}

View File

@ -0,0 +1,66 @@
package com.etl.spike.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("order")
public class Order implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* ID
*/
private Integer goodId;
/**
* ID
*/
private Integer userId;
/**
*
*/
private Integer flag;
/**
*
*/
private LocalDateTime time;
/**
*
*/
private String payType;
/**
*
*/
private String place;
}

View File

@ -0,0 +1,51 @@
package com.etl.spike.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("order_item")
public class OrderItem implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* ID
*/
private Integer orderId;
/**
*
*/
private Integer num;
/**
*
*/
private BigDecimal price;
}

View File

@ -0,0 +1,61 @@
package com.etl.spike.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("times")
public class Times implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
*
*/
private String name;
/**
*
*/
private LocalDateTime startTime;
/**
*
*/
private LocalDateTime endTime;
/**
* 1- 2- 3-
*/
private String flag;
/**
*
*/
private Integer num;
}

View File

@ -0,0 +1,55 @@
package com.etl.spike.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("times_goods")
public class TimesGoods implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* ID
*/
private Integer timesId;
/**
* ID
*/
private Integer goodsId;
/**
*
*/
private Integer goodsNum;
/**
*
*/
private Integer goodsEndNum;
}

View File

@ -0,0 +1,16 @@
package com.etl.spike.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.etl.spike.entity.Goods;
/**
* <p>
* sku Mapper
* </p>
*
* @author test
* @since 2024-07-10
*/
public interface GoodsMapper extends BaseMapper< Goods > {
}

View File

@ -0,0 +1,17 @@
package com.etl.spike.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.etl.spike.entity.OrderItem;
/**
* <p>
* Mapper
* </p>
*
* @author test
* @since 2024-07-10
*/
public interface OrderItemMapper extends BaseMapper< OrderItem > {
}

View File

@ -0,0 +1,16 @@
package com.etl.spike.mapper;
import com.etl.spike.entity.Order;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper
* </p>
*
* @author test
* @since 2024-07-10
*/
public interface OrderMapper extends BaseMapper<Order> {
}

View File

@ -0,0 +1,17 @@
package com.etl.spike.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.etl.spike.entity.TimesGoods;
/**
* <p>
* Mapper
* </p>
*
* @author test
* @since 2024-07-10
*/
public interface TimesGoodsMapper extends BaseMapper< TimesGoods > {
}

View File

@ -0,0 +1,16 @@
package com.etl.spike.mapper;
import com.etl.spike.entity.Times;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper
* </p>
*
* @author test
* @since 2024-07-10
*/
public interface TimesMapper extends BaseMapper<Times> {
}

View File

@ -0,0 +1,17 @@
package com.etl.spike.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.etl.spike.entity.Goods;
/**
* <p>
* sku
* </p>
*
* @author test
* @since 2024-07-10
*/
public interface IGoodsService extends IService< Goods > {
}

View File

@ -0,0 +1,17 @@
package com.etl.spike.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.etl.spike.entity.OrderItem;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
public interface IOrderItemService extends IService< OrderItem > {
}

View File

@ -0,0 +1,17 @@
package com.etl.spike.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.etl.spike.entity.Order;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
public interface IOrderService extends IService< Order > {
}

View File

@ -0,0 +1,17 @@
package com.etl.spike.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.etl.spike.entity.TimesGoods;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
public interface ITimesGoodsService extends IService< TimesGoods > {
}

View File

@ -0,0 +1,17 @@
package com.etl.spike.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.etl.spike.entity.Times;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
public interface ITimesService extends IService< Times > {
}

View File

@ -0,0 +1,21 @@
package com.etl.spike.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.etl.spike.entity.Goods;
import com.etl.spike.mapper.GoodsMapper;
import com.etl.spike.service.IGoodsService;
import org.springframework.stereotype.Service;
/**
* <p>
* sku
* </p>
*
* @author test
* @since 2024-07-10
*/
@Service
public class GoodsServiceImpl extends ServiceImpl< GoodsMapper, Goods > implements IGoodsService {
}

View File

@ -0,0 +1,21 @@
package com.etl.spike.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.etl.spike.entity.OrderItem;
import com.etl.spike.mapper.OrderItemMapper;
import com.etl.spike.service.IOrderItemService;
import org.springframework.stereotype.Service;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
@Service
public class OrderItemServiceImpl extends ServiceImpl < OrderItemMapper, OrderItem > implements IOrderItemService {
}

View File

@ -0,0 +1,21 @@
package com.etl.spike.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.etl.spike.entity.Order;
import com.etl.spike.mapper.OrderMapper;
import com.etl.spike.service.IOrderService;
import org.springframework.stereotype.Service;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
@Service
public class OrderServiceImpl extends ServiceImpl< OrderMapper, Order > implements IOrderService {
}

View File

@ -0,0 +1,21 @@
package com.etl.spike.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.etl.spike.entity.TimesGoods;
import com.etl.spike.mapper.TimesGoodsMapper;
import com.etl.spike.service.ITimesGoodsService;
import org.springframework.stereotype.Service;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
@Service
public class TimesGoodsServiceImpl extends ServiceImpl< TimesGoodsMapper, TimesGoods > implements ITimesGoodsService {
}

View File

@ -0,0 +1,21 @@
package com.etl.spike.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.etl.spike.entity.Times;
import com.etl.spike.mapper.TimesMapper;
import com.etl.spike.service.ITimesService;
import org.springframework.stereotype.Service;
/**
* <p>
*
* </p>
*
* @author test
* @since 2024-07-10
*/
@Service
public class TimesServiceImpl extends ServiceImpl< TimesMapper, Times > implements ITimesService {
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bwie.shop.EntityMapper.GoodsMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bwie.shop.EntityMapper.OrderItemMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bwie.shop.EntityMapper.OrderMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bwie.shop.EntityMapper.TimesGoodsMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bwie.shop.EntityMapper.TimesMapper">
</mapper>

View File

@ -12,6 +12,7 @@
<module>etl-common</module> <module>etl-common</module>
<module>etl-gateway</module> <module>etl-gateway</module>
<module>etl-cleaning</module> <module>etl-cleaning</module>
<module>etl-spike</module>
</modules> </modules>
<properties> <properties>