#### 项目介绍
一个基于spring boot、shiro、mybatis、redis的轻量级、前后端分离、防范xss攻击、拥有分布式锁,为生产环境多实例完全准备,拥有完整sku和下单流程的商城
#### 项目架构
项目架构说明
```
qwer
├─qwer-app-auth -- product和chat工程公共授权模块
├─qwer-chat -- 聊天模块接口服务
├─qwer-manager -- 管理后台接口服务
├─qwer-product -- 产品接口服务
├─qwer-netty-im -- netty及时通讯服务
├─qwer-common -- 公共模块
│ ├─qwer-common-base -- 公共异常
│ └─qwer-common-util -- 公共工具类
├─qwer-business -- 公共业务端
├─qwer-starters -- 自定义starter
│ ├─qwer-redis-starter -- redis,redssion相关操作
│ ├─qwer-rocketmq-starter -- rocketmq
│ └─qwer-third-serve-starter -- 第三方服务:阿里云短信、身份证认证、微信登录等
└─
#### 项目技术选型
| 技术 | 版本 | 说明 |
| ---------------------- | ------ | --------------------------------------- |
| Spring Boot | 2.2.1 | MVC核心框架 |
| Shiro | 1.4.1 | 认证和授权框架 |
| MyBatis | 3.5.0 | ORM框架 |
| MyBatisPlus | 3.3.0 | 基于mybatis,使用lambda表达式的 |
| Swagger-UI | 2.8.0 | 文档生产工具 |
| Hibernator-Validator | 6.0.17 | 验证框架 |
| Redisson | 3.11.6 | 对redis进行封装、集成分布式锁、分布式限流器等 |
| Alibaba Druid | 1.1.18 | 数据库连接池 |
| log4j2 | 2.11.2 | 更快的log日志工具 |
| RocketMq | 4.6.0 | 系统消息队列 |
| JwtToken+AES | 3.8.2 | 安全授权框架 |
| lombok | 1.18.10| 简化对象封装工具 |
| hutool | 5.2.3 | 更适合国人的java工具集 |
| fastjson | 1.2.35 | JSON解析框架 |
| shardingsphere | 4.0.0-RC1 | 分表插件 |
| eatthepath | 0.14.2 | 苹果推送 |
## 软件环境
1. jdk 1.8+
2. mysql 5.7
3. maven 3.6.3
4. redis 4.0+
5. rocketMq
## 注意事项
1. redis采用持久化存储;用户好友、群组信息持久化在redis中,若数据丢失则添加好友、群组会失败;若丢失数据可以调/im/reload/cache下接口重新初始化缓存。
2. redisson的配置文件在qwer-starters/qwer-redis-starter工程resources目录下,注意修改redis地址。
3. 交易流水表(tr_trade_record开头表的),是根据yyyy-mm(年月)来分表的,tr_trade_record作为热点表,保留前3天(包含今天)的数据,
每天凌晨定时任务执行,把最近3天之前的数据根据complete_time字段,迁移到不同的分区表;定时任务自定创建下个月的分表。
4. 红包订单表(tr_red_order)和红包领取记录(tr_red_order_record),是根据数据量分表(2000千万分一个表)
5. 用户余额明细表(pt_user_record),是根据数据量分表(2000千万分一个表),pt_user_record作为热点包保留最新的,超过(2000千万)迁移到备份表。
6. 支付回调日志表(tr_trade_return),第三方接口请求日志(tr_channel_log),定时任务自动删除X天之前数据。
发货方式
自动:在特色服务中标有自动发货的商品,拍下后,源码类 软件类 商品会在订单详情页显示来自卖家的商品下载链接,点卡类 商品会在订单详情直接显示卡号密码。
手动:未标有自动发货的的商品,付款后,商品卖家会收到平台的手机短信、邮件提醒,卖家会尽快为您发货,如卖家长时间未发货,买家也可通过订单上的QQ或电话主动联系卖家。
退款说明
1、源码类:商品详情(含标题)与实际源码不一致的(例:描述PHP实际为ASP、描述的功能实际缺少、功能不能正常使用等)!有演示站时,与实际源码不一致的(但描述中有"不保证完全一样、可能有少许偏差"类似显著公告的除外);
2、营销推广类:未达到卖家描述标准的;
3、点卡软件类:所售点卡软件无法使用的;
3、发货:手动发货商品,在卖家未发货前就申请了退款的;
4、服务:卖家不提供承诺的售后服务的;(双方提前有商定和描述中有显著声明的除外)
5、其他:如商品或服务有质量方面的硬性常规问题的。未符合详情及卖家承诺的。
注:符合上述任一情况的,均支持退款,但卖家予以积极解决问题则除外。交易中的商品,卖家无法修改描述!
注意事项
1、在付款前,双方在QQ上所商定的内容,也是纠纷评判依据(商定与商品描述冲突时,以商定为准);
2、源码商品,同时有网站演示与商品详情图片演示,且网站演示与商品详情图片演示不一致的,默认按商品详情图片演示作为纠纷评判依据(卖家有特别声明或有额外商定的除外);
3、点卡软件商品,默认按商品详情作为纠纷评判依据(特别声明或有商定除外);
4、营销推广商品,默认按商品详情作为纠纷评判依据(特别声明或有商定除外);
5、在有"正当退款原因和依据"的前提下,写有"一旦售出,概不支持退款"等类似的声明,视为无效声明;
6、虽然交易产生纠纷的几率很小,卖家也肯定会给买家最完善的服务!但请买卖双方尽量保留如聊天记录这样的重要信息,以防产生纠纷时便于送码网快速介入处理。
送码声明
1、送码网作为第三方中介平台,依据双方交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益;
2、非平台线上交易的项目,出现任何后果均与送码网无关;无论卖家以何理由要求线下交易的(如:要求买家支付宝转账付款的,微信转账付款的等),请联系管理举报,本平台将清退卖家处理。