# cps-mall-cloud (微服务版)
### 另有单体版,简化部署 👉👉 [cps-mall](https://gitee.com/xiaomujiayou/cps-mall "cps-mall")
优惠券商城后台,支持淘宝、拼多多、京东、唯品会、蘑菇街,预留接口,可以很方便的扩展其他优惠券平台。
精力有限前端仅适配了微信小程序,可根据接口自行适配小程序、PC、H5、App等平台。
##### 微信预览:
![微信预览](https://mall-share.oss-cn-shanghai.aliyuncs.com/share/untitled.png?x-oss-process=image/resize,h_200,w_200&r=411 "微信预览")
------------
#### 开发环境、用到的框架和类库:
- 开发环境:
- IDEA
- JDK-1.8
- maven-3.6.1
- MySql-5.7
- Redis-3.2.100
- RabbitMq-3.7.14(需安装rabbitmq_delayed_message_exchange延时消息插件)
- 用到的框架:
- SpringCloud-Greenwich.SR2
- SpringBoot-2.1.6
- MyBatis-3.4.6
- Shiro
- [Seata](https://github.com/seata/seata "Seata")
- [通用Mapper](https://github.com/abel533/Mapper "通用Mapper")
- 用到的类库:
- druid
- RedisLockRegistry:Spring分布式锁
- [hutool](https://github.com/looly/hutool "hutool")
- [ip2region:IP地址解析](https://github.com/lionsoul2014/ip2region "ip2region:IP地址解析")
- [easyexcel:阿里POI](https://github.com/alibaba/easyexcel "easyexcel:阿里POI")
- [HanLP:分词工具](https://github.com/hankcs/HanLP "HanLP:分词工具")
- [PageHelper:MyBatis分页插件](https://github.com/pagehelper/Mybatis-PageHelper "PageHelper:MyBatis分页插件")
- [weixin-java-miniapp:微信开发工具包](https://github.com/Wechat-Group/WxJava "weixin-java-miniapp:微信开发工具包")
#### 模块功能简介:
- api_mall: 商城模块,整合淘宝、拼多多、唯品会、蘑菇街平台的SDK,抹除各个平台间的差异,提供了统一的API
- api_user:用户模块,包含的具体内容如下:
- 订单查询:包含自购订单、分享订单的查询。
- 账单查询:包含用户自购、分享、锁定产生的收益账单。
- 三级分销:提供各级用户查询、相关收益,各级佣金比例可调。
- 信用体系:用户购买习惯良好、使用频繁、分享好友等操作则信用提升,反之信用下降,信用越高自动返现额度越大、速度越快,增强用户体验。
- 浏览历史、收藏记录、意见反馈等功能的支持。
- api_pay: 支付/付款模块,为项目提供支付、付款的能力。
- api_activite: 活动模块,可按规则配置相关营销活动,如:高温补贴、看视频领红包、分享返现等。
- api_lottery: 道具商城,可配置添加一些功能道具,如:VIP、收益翻倍卡等营销道具。
- api_mini: 小程序功能模块,提供微信小程序独有的功能,小程序登录、消息推送、服务认证、生成分享海报、生成二维码等。
- cron_service: 定时任务模块,主要服务于用户订单,定时从cps平台拉取订单。
- wind_control: 风控模块,防止用户恶意操作对平台造成损失
#### 架构简介:
- cloud_eureka:服务发现组件
- cloud_gateway:zuul网关
- 整合Shiro实现权限管理。
- 配合Feign ErrorDecoder实现微服务下的异常处理。[[设计原则]](https://zhuanlan.zhihu.com/p/68730428 "[设计原则]")
- comment_web:基础模块,提供web访问能力公共基础模块,该模块下的配置全局生效
- 表单验证Aspect
- 异常传递Aspect
- 请求记时Aspect
- JSON解析器Config
- Redis锁、Redis缓存Config
- DataSource详细配置、Redis连接池、RabbitMq、Zipkin等配置文件
- Mybatis分页插件、通用Mapper等配置文件
- comment_api: 封装第三方cps平台api接口,按需引用
- comment_feign: FeignClient客户端存访位置,内部接口调用需引入此模块
- comment_seata: 阿里分布式事务框架Seata相关配置 [[项目地址]](https://github.com/seata/seata "[项目地址]")
- comment_mq: 引入RabbitMq
- 自定义一套消息总线,支持分发的消息类型位于UserActionEnum
- comment_serialize: 存访各个模块vo、bo、entity、form、constant等bean,按需引用
- comment_utils: 全局工具包
------------
#### 使用前的准备
- 导入sql文件,生成表。
- 注册淘宝、拼多多、蘑菇街、唯品会任一平台联盟开发者账号,获取appId、secret等信息,
- 申请微信支付,并开通企业付款(不需要返现,则不需要)
- 浏览各个模块下resources目录下包含“demo”配置文件,酌情修改,改好后删除文件名中的“-demo”
- 下载Seata源码修改server模块配置文件并编译,具体操作如下:(Seata版本:1.1.0)
1. 修改seata Server模块配置文件file.conf
```
store {
## store mode: file、db
mode = "db"
## file store property
file {
## store location dir
dir = "sessionStore"
# branch session size , if exceeded first try compress lockkey, still exceeded throws exceptions
maxBranchSessionSize = 16384
# globe session size , if exceeded throws exceptions
maxGlobalSessionSize = 512
# file buffer size , if exceeded allocate new buffer
fileWriteBufferCacheSize = 16384
# when recover batch read size
sessionReloadReadSize = 100
# async, sync
flushDiskMode = async
}
## database store property
db {
## the implement of javax.sql.DataSource, such as DruidDataSource(druid)/BasicDataSource(dbcp) etc.
datasource = "druid"
## mysql/oracle/h2/oceanbase etc.
dbType = "mysql"
driverClassName = "com.mysql.jdbc.Driver"
url = "jdbc:mysql://数据库连接/wechat_seata"
user = "账号"
password = "密码"
minConn = 1
maxConn = 10
globalTable = "global_table"
branchTable = "branch_table"
lockTable = "lock_table"
queryLimit = 100
}
}
```
2. 修改seata Server模块配置文件registry.conf
```
registry {
# file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
type = "eureka"
# eureka {
# serviceUrl = "http://eureka-service:8101/eureka/"
# application = "seata-server"
# weight = "1"
# }
eureka {
serviceUrl = "http://你的eureka服务器地址/eureka/"
application = "seata-server"
weight = "1"
}
}
config {
# file、nacos 、apollo、zk、consul、etcd3
type = "file"
nacos {
serverAddr = "localhost"
namespace = ""
group = "SEATA_GROUP"
}
consul {
serverAddr = "127.0.0.1:8500"
}
apollo {
app.id = "seata-server"
apollo.meta = "http://192.168.1.204:8801"
namespace = "application"
}
zk {
serverAddr = "127.0.0.1:2181"
session.timeout = 6000
connect.timeout = 2000
}
etcd3 {
serverAddr = "http://localhost:2379"
}
file {
name = "file.conf"
}
}
```
3. 修改完成后在seata项目根目录运行 `mvn clean package`,打包完成后项目根目录会生成distribution\bin\seata-server,启动seata-server后会注册到配置的eureka服务,所以在此之前应启动eureak服务,如果一切正常eureka控制台会出现seata-server服务(如需帮助请联系)
#### 启动服务
以上配置修改完成后可按如下顺序启动服务
1. cloud_eureka
2. seata-server
3. cloud_gateway
4. api_mall
5. api_user
6. api_activite
7. api_pay
8. api_mini
9. cron_service
10. wind_control
#### 部分依赖可能无法下载:
```
<!--淘宝sdk-->
<!-- ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓-->
<dependency>
<groupId>com.xm.tb</groupId>
<artifactId>taobao-sdk</artifactId>
<version>1.0.0</version>
</dependency>
<!--唯品会sdk-->
<!-- ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓-->
<dependency>
<groupId>com.xm.wph</groupId>
<artifactId>osp-sdk</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
开发环境、用到的框架和类库: 开发环境: IDEA JDK-1.8 maven-3.6.1 MySql-5.7 Redis-3.2.100 RabbitMq-3.7.14(需安装rabbitmq_delayed_message_exchange延时消息插件) 用到的框架: SpringCloud-Greenwich.SR2 SpringBoot-2.1.6 MyBatis-3.4.6 Shiro Seata 通用Mapper 用到的类库: druid RedisLockRegistry:Spring分布式锁 hutool ip2region:IP地址解析 easyexcel:阿里POI HanLP:分词工具 PageHelper:MyBatis分页插件 weixin-java-miniapp:微信开发工具包 模块功能简介: api_mall: 商城模块,整合淘宝、拼多多、唯品会、蘑菇街平台的SDK,抹除各个平台间的差异,提供了统一的API api_user:用户模块,包含的具体内容如下: 订单查询:包含自购订单、分享订单的查询。 账单查询:包含用户自购、分享、锁定产生的收益账单。
资源推荐
资源详情
资源评论
收起资源包目录
Java微信小程序优惠券商城项目源码 (751个子文件)
file.conf.bak 2KB
registry.conf.bak 2KB
ip2region.db 7.18MB
hanlp.dict 436KB
Dockerfile 460B
Dockerfile 429B
Dockerfile 329B
Dockerfile 316B
Dockerfile 316B
Dockerfile 316B
Dockerfile 316B
Dockerfile 316B
Dockerfile 316B
Dockerfile 308B
PddSdkComponent.java 25KB
BillServiceImpl.java 19KB
ImgsUtils.java 18KB
WxPayApiServiceImpl.java 17KB
TbSdkComponent.java 15KB
CreditBillServiceImpl.java 13KB
HttpUtils.java 12KB
UserServiceImpl.java 12KB
WphSdkComponent.java 12KB
CreditBillProcessHandler.java 11KB
ShareServiceImpl.java 10KB
OrderServiceImpl.java 10KB
ProductController.java 9KB
SummaryHandler.java 9KB
UserActionMessageAspect.java 9KB
PddTaskServiceImpl.java 9KB
MgjSdkComponent.java 9KB
WphTaskServiceImpl.java 9KB
MgjTaskServiceImpl.java 8KB
BillServiceImpl.java 8KB
BillPayServiceImpl.java 8KB
ActiveController.java 8KB
ImgConvertUtil.java 8KB
DispatchServiceAspect.java 8KB
ConfigServiceImpl.java 8KB
ProductServiceImpl.java 8KB
GoodsListServiceImpl.java 7KB
GoodsListServiceImpl.java 7KB
SimilarUtils.java 7KB
ActiveServiceImpl.java 7KB
HttpUtils2.java 7KB
BaseFormAspect.java 7KB
UserController.java 6KB
Text.java 6KB
WxMaConfiguration.java 6KB
AbsTask.java 6KB
GoodsPoster.java 6KB
CreditChangeHandler.java 6KB
UserActionMessageAspect.java 6KB
GoodsListServiceImpl.java 6KB
GaoWenActiveMessageHandler.java 5KB
CreditBillHandler.java 5KB
PropServiceImpl.java 5KB
ProductTestServiceImpl.java 5KB
OptionServiceImpl.java 5KB
OptionServiceAbs.java 5KB
ShiroConfig.java 5KB
ResourceUtils.java 5KB
GoodsListServiceImpl.java 5KB
OrderBillVo.java 5KB
WxPayReceiver.java 5KB
GoodsPriceUtil.java 5KB
CreditController.java 5KB
Image.java 5KB
UserActionEnum.java 5KB
UserCreditServiceImpl.java 5KB
MgjOrderSyncTask.java 4KB
MySqlUtil.java 4KB
OrderStateParseUtil.java 4KB
ApiRecordFilter.java 4KB
BillPayController.java 4KB
WxPortalController.java 4KB
MenuTipServiceImpl.java 4KB
MenuTipsHandler.java 4KB
GoodsListServiceAbs.java 4KB
ProductController.java 4KB
UserInfoFilter.java 4KB
LoginController.java 4KB
PidAspect.java 4KB
ResponseFilter.java 4KB
ManageUserFilter.java 4KB
Poster.java 4KB
LockHelper.java 4KB
RedisCacheConfig.java 4KB
UserFeignClientFallBack.java 4KB
MyMogujieClient.java 4KB
LoginUserAspect.java 4KB
OptGoodsListServiceImpl.java 4KB
UserFeignClient.java 4KB
GoodsServiceImpl.java 3KB
ExceptionAspect.java 3KB
ProfitServiceImpl.java 3KB
ManageOrderController.java 3KB
AdminServiceImpl.java 3KB
ManageBillController.java 3KB
WaterMarkUtils.java 3KB
共 751 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
- 格子衫男孩boy2022-05-23没有前端么?
- Ruiiii.2022-08-23资源很实用,对我启发很大,有很好的参考价值,内容详细。
- m0_741975322022-10-18资源中能够借鉴的内容很多,值得学习的地方也很多,大家一起进步!
「已注销」
- 粉丝: 837
- 资源: 3602
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功