# Hyena
[![Coverage Status](https://coveralls.io/repos/github//badge.svg?branch=master)](https://coveralls.io/github/?branch=master)
[![Maven](https://img.shields.io/maven-central/v/io.github.-spring-boot-starter.svg)](https://search.maven.org/search?q=g:io.github.alphajiang)
[![License](https://img.shields.io/github/license/.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)
用户余额/积分微服务
## 积分相关接口
更多接口介绍可查看swagger文档. swagger-ui的访问URL /swagger-ui.html
### 增加积分
+ 给指定用户增加积分,调用成功后返回该用户的积分明细.
+ URL: /hyena/point/increase
+ Http Method: Post
+ Content-Type: application/json;charset=utf-8
+ 请求参数
| 参数名 | 类型 | 含义 | 必传 | 备注 |
| :-- | :-- | :-- | :-- | :-- |
| seq | string | 请求序列号. <br />1, 用于匹配请求消息和响应消息; <br />2, 做接口幂等性校验. <br />序列号为空时表示不做匹配及幂等性校验. | | 每次新的请求使用不同的随机字串. 如果是重送请求使用相同的序列号 |
| type | string | 积分类型 | | 可自定义类型, 用于存储'积分', '余额', 'XX币'等. 为空时, 自动创建类型为'default'的积分 |
| uid | string | 用户标识 | 是 | |
| point | number | 积分数量 | 是 | 要增加的积分数量 |
| expireTime | string | 过期时间. 不传表示永不过期. | | 格式为 "yyyy-MM-dd HH:mm:ss". <br />如: 2018-10-25 18:34:32 表示2018年10月25日18点34分32秒过期 |
| tag | string | 自定义标签 | | |
| note | string | 备注 | ||
+ 请求消息示例
```
{
"uid" : "user_123",
"point" : 987654
}
```
+ 返回结果
| 参数名 | 类型 | 含义 | 备注 |
| :-- | :-- | :-- | :-- |
| status | number | 接口调用返回结果 | 0 表示成功, 其他都表示接口调用失败 |
| seq | string | 请求序列号 | 返回请求消息里的序列号. <br />仅当请求消息有seq时, 响应消息才会返回seq. |
| data.uid | string | 用户标识 | |
| data.point | number | 用户总有效积分 | |
| data.available | number | 当前可用积分 | |
| data.used | number | 已使用的积分 | |
| data.frozen | number | 当前冻结的积分 | |
| data.expire | number | 已过期的积分 | |
+ 返回结果示例
```
{
"status" : 0,
"data" : {
"uid" : "user_123",
"point" : 987654,
"available" : 987654,
"used" : 0,
"frozen" : 0,
"expire" : 0
}
}
```
### 冻结积分
+ 冻结指定用户的积分,被冻结积分的数量不能超过当前用户的可用积分. 调用成功后返回用户积分明细.
+ URL: /hyena/point/freeze
+ Http Method: Post
+ Content-Type: application/json;charset=utf-8
+ 请求参数
| 参数名 | 类型 | 含义 | 必传 | 备注 |
| :-- | :-- | :-- | :-- | :-- |
| seq | string | 请求序列号. | | |
| type | string | 积分类型 | | 与增加积分时的类型一致 |
| uid | string | 用户标识 | 是 | |
| point | number | 积分数量 | 是 | 要冻结的积分数量 |
| note | string | 备注 | ||
+ 返回结果. 数据结构与增加积分的数据结构一致.
### 解冻积分
+ 解冻指定用户的积分,解冻的积分数量不能超过当前用户已冻结的积分数量. 调用成功后返回用户积分明细.
+ URL: /hyena/point/unfreeze
+ Http Method: Post
+ Content-Type: application/json;charset=utf-8
+ 请求参数
| 参数名 | 类型 | 含义 | 必传 | 备注 |
| :-- | :-- | :-- | :-- | :-- |
| seq | string | 请求序列号. | | |
| type | string | 积分类型 | | 与冻结积分时的类型一致 |
| uid | string | 用户标识 | 是 | |
| point | number | 积分数量 | 是 | 要解冻的积分数量 |
| note | string | 备注 | ||
+ 返回结果. 数据结构与增加积分的数据结构一致.
### 消费积分
+ 用户积分消费后调用该接口. 被消费的积分数量不能超过当前可用积分. 调用成功后返回用户积分明细.
+ URL: /hyena/point/decrease
+ Http Method: Post
+ Content-Type: application/json;charset=utf-8
+ 请求参数
| 参数名 | 类型 | 含义 | 必传 | 备注 |
| :-- | :-- | :-- | :-- | :-- |
| seq | string | 请求序列号. | | |
| type | string | 积分类型 | | 与增加积分时的类型一致 |
| uid | string | 用户标识 | 是 | |
| point | number | 积分数量 | 是 | 要消费的积分数量 |
| note | string | 备注 | ||
+ 返回结果. 数据结构与增加积分的数据结构一致.
### 消费已冻结积分
+ 用户消费已冻结的积分后调用该接口. 被消费的积分数量不能超过当前已冻结的积分. 调用成功后返回用户积分明细.
+ URL: /hyena/point/decreaseFrozen
+ Http Method: Post
+ Content-Type: application/json;charset=utf-8
+ 请求参数
| 参数名 | 类型 | 含义 | 必传 | 备注 |
| :-- | :-- | :-- | :-- | :-- |
| seq | string | 请求序列号. | | |
| type | string | 积分类型 | | 与冻结积分时的类型一致 |
| uid | string | 用户标识 | 是 | |
| point | number | 积分数量 | 是 | 要消费的积分数量 |
| note | string | 备注 | ||
+ 返回结果. 数据结构与增加积分的数据结构一致.
### 撤销积分
+ 撤销之前给用户增加的积分. 调用成功后返回用户积分明细.
+ URL: /hyena/point/cancel
+ Http Method: Post
+ Content-Type: application/json;charset=utf-8
### 获取用户积分列表
+ 按条件查询用户列表.
+ URL: /hyena/point/listPoint
+ Http Method: GET
+ Content-Type: application/json;charset=utf-8
### 获取积分明细列表
+ 按条件查询用户积分记录.
+ URL: /hyena/point/listPointRecord
+ Http Method: GET
+ Content-Type: application/json;charset=utf-8
## 示例代码
Maven
```
<dependency>
<groupId>io.github.alphajiang</groupId>
<artifactId>hyena-spring-boot-starter</artifactId>
<version>0.0.24</version>
</dependency>
```
Gradle
```
plugins {
id 'org.springframework.boot' version '2.1.6.RELEASE'
id 'java'
}
apply plugin: 'io.spring.dependency-management'
dependencies {
implementation("io.github.alphajiang:hyena-spring-boot-starter:0.0.5")
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.0'
implementation("org.springframework.boot:spring-boot-starter")
implementation("org.springframework.boot:spring-boot-starter-webflux")
implementation("org.springframework.boot:spring-boot-starter-jdbc")
runtimeOnly 'mysql:mysql-connector-java'
}
```
Java代码
```
@SpringBootApplication
@ComponentScan({ "io.github.alphajiang.hyena" })
@MapperScan(basePackages = { "io.github.alphajiang.hyena.ds.mapper" })
@EnableTransactionManagement
@EnableScheduling
public class HyenaMain {
public static void main(String[] args) {
new SpringApplicationBuilder(HyenaMain.class).web(WebApplicationType.REACTIVE).run(args);
}
}
```
免责声明:
1.本资源仅供学习和交流使用,不保证其准确性、完整性、及时性或适用性。
2.本资源仅包含一般信息,不构成专业建议。在使用本资源时,请务必自行研究并谨慎决策。
3.我已尽力确保本资源的正确性和合法性,但不对其准确性、完整性和及时性做出保证。
4.本资源不应用于商业用途。
5.在使用本资源的过程中,用户应自行承担所有风险和责任,并遵守相关法律法规。
6.对于因使用本资源而产生的任何损失或损害,我概不负责。
请确保在使用本资源时仔细阅读并遵守以上免责声明。如果您有任何疑问或需要进一步帮助,请联系我。
没有合适的资源?快使用搜索试试~ 我知道了~
用户余额-积分微服务-hyena.zip
共200个文件
java:165个
xml:9个
gradle:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 62 浏览量
2024-01-31
20:30:23
上传
评论
收藏 298KB ZIP 举报
温馨提示
用户余额-积分微服务-hyena
资源推荐
资源详情
资源评论
收起资源包目录
用户余额-积分微服务-hyena.zip (200个子文件)
gradlew.bat 2KB
Dockerfile 635B
spring.factories 157B
.gitignore 360B
.gitignore 19B
build.gradle 8KB
build.gradle 2KB
build.gradle 2KB
build.gradle 692B
build.gradle 679B
settings.gradle 166B
gradlew 5KB
gradle-wrapper.jar 53KB
TestPointController.java 24KB
TestPointRecCalculator.java 23KB
TestPointUnfreezeStrategy.java 20KB
PointController.java 18KB
TestPointFreezeStrategy.java 16KB
PointRefundStrategy.java 15KB
TestPointRefundStrategy.java 14KB
PointLogDs.java 13KB
PointUnfreezeStrategy.java 13KB
PointDecreaseStrategy.java 12KB
PointFreezeCostStrategy.java 12KB
TestPointDecreaseFrozenStrategy.java 11KB
PointRedisCacheService.java 11KB
TestPointDecreaseStrategy.java 10KB
PointFreezeStrategy.java 9KB
PointRecDs.java 9KB
PointCancelStrategy.java 9KB
PointIncreaseStrategy.java 9KB
TestPointFreezeCostStrategy.java 8KB
PointRecCalculator.java 8KB
HyenaTestAssert.java 8KB
TestSystemController.java 7KB
AbstractPointStrategy.java 7KB
HyenaAssert.java 7KB
PointDs.java 6KB
RestTestUtils.java 6KB
PointFreezeByRecIdStrategy.java 6KB
TestPointStrategyBase.java 6KB
TestCostCalculator.java 6KB
TestPointCancelStrategy.java 6KB
SystemController.java 6KB
TestPointDs.java 6KB
PointDecreaseFrozenStrategy.java 6KB
PointUsageFacade.java 5KB
PointBuilder.java 5KB
TestPointRecDs.java 5KB
PointExpireStrategy.java 5KB
HyenaExceptionHandler.java 5KB
IdempotentAround.java 5KB
HyenaTestBase.java 5KB
PointMemCacheService.java 5KB
PointRefundFrozenStrategy.java 4KB
PointTableDs.java 4KB
PointUsageBuilder.java 4KB
PointFlowService.java 4KB
HyenaRedisIdempotent.java 4KB
TestPointExpireStrategy.java 4KB
CostCalculator.java 4KB
FreezeOrderRecDsConsumer.java 3KB
ExpirePointTask.java 3KB
UpgradeSchemaDs.java 3KB
TestHyenaAssert.java 3KB
PointRecDsConsumer.java 3KB
PointRecLogDs.java 3KB
PointMapper.java 3KB
TestPointLogDs.java 3KB
PointRecLogFlowConsumer.java 3KB
PointRecLogPo.java 3KB
JsonUtils.java 3KB
PointLogFlowConsumer.java 3KB
PointUpdateConsumer.java 3KB
HyenaMemIdempotent.java 3KB
TestFreezeOrderRecDs.java 2KB
PointRecMapper.java 2KB
PointTableMapper.java 2KB
PointOpResult.java 2KB
BaseListParam.java 2KB
PointLogPo.java 2KB
HyenaAutoConfiguration.java 2KB
HyenaInitialization.java 2KB
TestPointIncreaseStrategy.java 2KB
SysPropertyDs.java 2KB
LoggerHelper.java 2KB
PointRecPo.java 2KB
UpgradeSchemaMapper.java 2KB
PointOpParam.java 2KB
FreezeOrderRecDs.java 2KB
SortParam.java 2KB
TestPointRecLogDs.java 2KB
PointPo.java 2KB
PointLogMapper.java 2KB
FreezeOrderRecDsQueue.java 2KB
PointRecLogFlowQueue.java 2KB
BasePo.java 2KB
PointLogFlowQueue.java 2KB
PointRecDsQueue.java 2KB
TestJsonUtils.java 2KB
共 200 条
- 1
- 2
资源评论
武昌库里写JAVA
- 粉丝: 3433
- 资源: 1986
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功