记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
董敬伟
liquidnet-bus-v1
Commits
c3dfa3bf
Commit
c3dfa3bf
authored
Nov 02, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feignStone
parent
ab365096
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
122 additions
and
3 deletions
+122
-3
pom.xml
liquidnet-bus-feign/liquidnet-api-feign-stone/pom.xml
+29
-0
FeignStoneIntegralClient.java
...net/service/feign/stone/api/FeignStoneIntegralClient.java
+31
-0
pom.xml
liquidnet-bus-feign/pom.xml
+1
-0
pom.xml
liquidnet-bus-service/liquidnet-service-sweet/pom.xml
+5
-0
SecuringRequestInterceptor.java
...dnet/service/sweet/config/SecuringRequestInterceptor.java
+34
-0
SweetIntegralActivityDrawController.java
...sweet/controller/SweetIntegralActivityDrawController.java
+1
-1
SweetIntegralActivityDrawServiceImpl.java
...et/service/impl/SweetIntegralActivityDrawServiceImpl.java
+21
-2
No files found.
liquidnet-bus-feign/liquidnet-api-feign-stone/pom.xml
0 → 100644
View file @
c3dfa3bf
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
liquidnet-bus-feign
</artifactId>
<groupId>
com.liquidnet
</groupId>
<version>
1.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
liquidnet-api-feign-stone
</artifactId>
<properties>
<maven.compiler.source>
8
</maven.compiler.source>
<maven.compiler.target>
8
</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-service-stone-do
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
liquidnet-bus-feign/liquidnet-api-feign-stone/src/main/java/com/liquidnet/service/feign/stone/api/FeignStoneIntegralClient.java
0 → 100644
View file @
c3dfa3bf
package
com
.
liquidnet
.
service
.
feign
.
stone
.
api
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.stone.dto.StoneScoreListDto
;
import
feign.hystrix.FallbackFactory
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.GetMapping
;
/**
* <p>
* 积分接口
* </p>
*
* @author jiangxiulong
* @since 2021-11-02
*/
@Component
@FeignClient
(
name
=
"liquidnet-service-stone"
,
contextId
=
"FeignStoneIntegralClient"
,
path
=
""
,
url
=
"${liquidnet.service.stone.url}"
,
fallback
=
FallbackFactory
.
Default
.
class
)
public
interface
FeignStoneIntegralClient
{
@GetMapping
(
"user/info"
)
ResponseDto
<
StoneScoreListDto
>
stoneUserInfo
();
}
liquidnet-bus-feign/pom.xml
View file @
c3dfa3bf
...
...
@@ -17,6 +17,7 @@
<module>
liquidnet-api-feign-platform
</module>
<module>
liquidnet-api-feign-sweet
</module>
<module>
liquidnet-api-feign-chime
</module>
<module>
liquidnet-api-feign-stone
</module>
<!-- <module>liquidnet-api-feign-sequence</module>-->
<!-- <module>liquidnet-api-feign-example</module>-->
<!-- <module>liquidnet-api-feign-account</module>-->
...
...
liquidnet-bus-service/liquidnet-service-sweet/pom.xml
View file @
c3dfa3bf
...
...
@@ -85,6 +85,11 @@
<groupId>
org.springframework.data
</groupId>
<artifactId>
spring-data-mongodb
</artifactId>
</dependency>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-api-feign-stone
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
</dependencies>
<build>
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/config/SecuringRequestInterceptor.java
0 → 100644
View file @
c3dfa3bf
package
com
.
liquidnet
.
service
.
sweet
.
config
;
import
feign.RequestInterceptor
;
import
feign.RequestTemplate
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Enumeration
;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: 解决feign调用传递header问题
* @class: SecuringRequestInterceptor
*/
@Component
public
class
SecuringRequestInterceptor
implements
RequestInterceptor
{
@Override
public
void
apply
(
RequestTemplate
requestTemplate
)
{
ServletRequestAttributes
attributes
=
(
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
();
HttpServletRequest
request
=
attributes
.
getRequest
();
Enumeration
<
String
>
headerNames
=
request
.
getHeaderNames
();
if
(
headerNames
!=
null
)
{
while
(
headerNames
.
hasMoreElements
())
{
String
name
=
headerNames
.
nextElement
();
String
values
=
request
.
getHeader
(
name
);
requestTemplate
.
header
(
name
,
values
);
}
}
}
}
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/controller/SweetIntegralActivityDrawController.java
View file @
c3dfa3bf
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetIntegralActivityDrawServiceImpl.java
View file @
c3dfa3bf
...
...
@@ -9,6 +9,8 @@ import com.liquidnet.service.base.PagedResult;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.feign.stone.api.FeignStoneIntegralClient
;
import
com.liquidnet.service.stone.dto.StoneScoreListDto
;
import
com.liquidnet.service.sweet.dto.vo.IntegralActivityDrawVo
;
import
com.liquidnet.service.sweet.dto.vo.IntegralActivityVo
;
import
com.liquidnet.service.sweet.dto.vo.admin.SweetIntegralActivityPrizeVo
;
...
...
@@ -55,6 +57,9 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
@Autowired
private
QueueUtils
queueUtils
;
@Autowired
private
FeignStoneIntegralClient
feignStoneIntegralClient
;
@Override
public
ResponseDto
<
SweetIntegralActivityPrizeVo
>
create
(
String
integralActivityId
)
{
// TODO: 2021/10/26 看情况是否加锁 一个用户整个逻辑单进程
...
...
@@ -78,7 +83,21 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
}
}
// TODO: 2021/10/27 判断用户积分是否>=integralActivity.setActivityNum();
// 判断用户积分是否>=integralActivity.setActivityNum();
ResponseDto
<
StoneScoreListDto
>
userInfoRes
=
feignStoneIntegralClient
.
stoneUserInfo
();
if
(!
userInfoRes
.
getCode
().
equals
(
0
))
{
return
ResponseDto
.
failure
(
"获取用户积分数据失败"
);
}
else
{
StoneScoreListDto
userInfoData
=
userInfoRes
.
getData
();
if
(
userInfoData
.
getStatus
()
==
2
)
{
return
ResponseDto
.
failure
(
"您的积分账户已被冻结!"
);
}
else
{
BigDecimal
scoreRest
=
userInfoData
.
getScoreRest
();
if
(
scoreRest
.
compareTo
(
BigDecimal
.
valueOf
(
integralActivity
.
getActivityNum
()))
==
-
1
)
{
return
ResponseDto
.
failure
(
"您的积分账户余额不足!"
);
}
}
}
// 如果库存没了 限制的中奖人数到了就从列表剔出 列表为空就都没有库存了
List
<
SweetIntegralActivityPrize
>
prizeList
=
integralActivity
.
getPrizeList
();
...
...
@@ -101,7 +120,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
long
activityPrizeNum
=
redisDataUtils
.
setIntegralActivityPrizeNum
(
integralActivityId
,
sweetIntegralActivityPrizeVo
.
getPrizeId
(),
1
);
long
activityPrizeWinnersNum
=
redisDataUtils
.
setIntegralActivityPrizeWinnersNum
(
integralActivityId
,
sweetIntegralActivityPrizeVo
.
getPrizeId
(),
1
);
if
(
activityPrizeNum
<
0
||
activityPrizeWinnersNum
<
0
)
{
// 库存不够了
return
ResponseDto
.
failure
(
"活动太火爆了,
请稍后再试
"
);
return
ResponseDto
.
failure
(
"活动太火爆了,
奖品已经没有库存啦!
"
);
}
String
drawId
=
IDGenerator
.
nextSnowId
();
IntegralActivityDrawVo
integralActivityDrawVo
=
IntegralActivityDrawVo
.
getNew
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment