gitextract_4juf6qor/ ├── .gitignore ├── README.md ├── dis-seckill-cache/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── seckill/ │ │ └── dis/ │ │ └── cache/ │ │ ├── CacheApplication.java │ │ ├── config/ │ │ │ ├── RedisConfig.java │ │ │ └── RedisPoolFactory.java │ │ └── service/ │ │ ├── RedisLockImpl.java │ │ └── RedisServiceImpl.java │ └── resources/ │ └── application.properties ├── dis-seckill-common/ │ ├── pom.xml │ ├── schema/ │ │ └── seckill.sql │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── seckill/ │ └── dis/ │ └── common/ │ ├── api/ │ │ ├── cache/ │ │ │ ├── DLockApi.java │ │ │ ├── RedisServiceApi.java │ │ │ └── vo/ │ │ │ ├── AccessKeyPrefix.java │ │ │ ├── BaseKeyPrefix.java │ │ │ ├── GoodsKeyPrefix.java │ │ │ ├── KeyPrefix.java │ │ │ ├── OrderKeyPrefix.java │ │ │ ├── SkKeyPrefix.java │ │ │ ├── SkUserKeyPrefix.java │ │ │ └── UserKey.java │ │ ├── goods/ │ │ │ ├── GoodsServiceApi.java │ │ │ └── vo/ │ │ │ ├── GoodsDetailVo.java │ │ │ └── GoodsVo.java │ │ ├── mq/ │ │ │ ├── MqProviderApi.java │ │ │ └── vo/ │ │ │ └── SkMessage.java │ │ ├── order/ │ │ │ ├── OrderServiceApi.java │ │ │ └── vo/ │ │ │ └── OrderDetailVo.java │ │ ├── seckill/ │ │ │ ├── SeckillServiceApi.java │ │ │ └── vo/ │ │ │ └── VerifyCodeVo.java │ │ └── user/ │ │ ├── UserServiceApi.java │ │ └── vo/ │ │ ├── LoginVo.java │ │ ├── RegisterVo.java │ │ ├── UserInfoVo.java │ │ └── UserVo.java │ ├── domain/ │ │ ├── Goods.java │ │ ├── OrderInfo.java │ │ ├── SeckillGoods.java │ │ ├── SeckillOrder.java │ │ └── SeckillUser.java │ ├── exception/ │ │ ├── GlobalException.java │ │ └── GlobalExceptionHandler.java │ ├── result/ │ │ ├── CodeMsg.java │ │ └── Result.java │ ├── util/ │ │ ├── DBUtil.java │ │ ├── JsonUtil.java │ │ ├── MD5Util.java │ │ ├── UUIDUtil.java │ │ ├── ValidatorUtil.java │ │ └── VerifyCodeUtil.java │ └── validator/ │ ├── IsMobile.java │ └── IsMobileValidator.java ├── dis-seckill-gateway/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── seckill/ │ │ └── dis/ │ │ └── gateway/ │ │ ├── DisSeckillServletInitializer.java │ │ ├── GatewayApplication.java │ │ ├── config/ │ │ │ ├── WebConfig.java │ │ │ ├── access/ │ │ │ │ ├── AccessInterceptor.java │ │ │ │ ├── AccessLimit.java │ │ │ │ └── UserContext.java │ │ │ └── resolver/ │ │ │ └── UserArgumentResolver.java │ │ ├── exception/ │ │ │ ├── GlobalException.java │ │ │ └── GlobalExceptionHandler.java │ │ ├── goods/ │ │ │ └── GoodsController.java │ │ ├── order/ │ │ │ └── OrderController.java │ │ ├── seckill/ │ │ │ └── SeckillController.java │ │ └── user/ │ │ └── UserController.java │ └── resources/ │ ├── application.properties │ ├── static/ │ │ ├── bootstrap/ │ │ │ ├── css/ │ │ │ │ ├── bootstrap-theme.css │ │ │ │ └── bootstrap.css │ │ │ └── js/ │ │ │ ├── bootstrap.js │ │ │ └── npm.js │ │ ├── goods_detail.htm │ │ ├── js/ │ │ │ └── common.js │ │ ├── layer/ │ │ │ ├── layer.js │ │ │ ├── mobile/ │ │ │ │ ├── layer.js │ │ │ │ └── need/ │ │ │ │ └── layer.css │ │ │ └── skin/ │ │ │ └── default/ │ │ │ └── layer.css │ │ └── order_detail.htm │ └── templates/ │ ├── goods_detail.html │ ├── goods_list.html │ ├── login.html │ ├── order_detail.html │ └── register.html ├── dis-seckill-goods/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── seckill/ │ │ └── dis/ │ │ └── goods/ │ │ ├── GoodsApplication.java │ │ ├── persistence/ │ │ │ └── GoodsMapper.java │ │ └── service/ │ │ ├── GoodsServiceImpl.java │ │ └── SeckillServiceImpl.java │ └── resources/ │ └── application.properties ├── dis-seckill-mq/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── seckill/ │ │ └── dis/ │ │ └── mq/ │ │ ├── MqApplication.java │ │ ├── config/ │ │ │ └── MQConfig.java │ │ ├── receiver/ │ │ │ └── MqConsumer.java │ │ └── service/ │ │ └── MqProviderImpl.java │ └── resources/ │ └── application.properties ├── dis-seckill-order/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── seckill/ │ │ └── dis/ │ │ └── order/ │ │ ├── OrderApplication.java │ │ ├── persistence/ │ │ │ └── OrderMapper.java │ │ └── service/ │ │ └── OrderServiceImpl.java │ └── resources/ │ └── application.properties ├── dis-seckill-user/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── seckill/ │ │ └── dis/ │ │ └── user/ │ │ ├── UserApplication.java │ │ ├── domain/ │ │ │ └── SeckillUser.java │ │ ├── persistence/ │ │ │ ├── SeckillUserMapper.java │ │ │ └── SeckillUserMapper.xml │ │ ├── service/ │ │ │ └── UserServiceImpl.java │ │ └── util/ │ │ └── UserUtil.java │ └── resources/ │ └── application.properties ├── doc/ │ ├── HandlerInterceptor的使用.md │ ├── README.md │ ├── Redis中存储的数据.md │ ├── 使用分布式锁解决恶意用户重复注册问题.md │ ├── 前后端交互接口定义.md │ └── 前后端交互接口逻辑实现.md └── pom.xml