Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
huhu-partner
Project
Overview
Details
Activity
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
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guanchen
huhu-partner
Commits
ead9435b
Commit
ead9435b
authored
May 21, 2020
by
guanchen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加自营奖励, 改为jar包运行
parent
86d7af4d
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
73 additions
and
284 deletions
+73
-284
pom.xml
pom.xml
+9
-31
RedissonConfig.java
...n/java/com/lanren/huhu/partner/config/RedissonConfig.java
+0
-55
Constants.java
...ain/java/com/lanren/huhu/partner/constants/Constants.java
+48
-17
AgentController.java
...a/com/lanren/huhu/partner/controller/AgentController.java
+2
-1
PartnerController.java
...com/lanren/huhu/partner/controller/PartnerController.java
+2
-2
UserController.java
...va/com/lanren/huhu/partner/controller/UserController.java
+2
-1
AgentRewardQueueTask.java
...om/lanren/huhu/partner/schedule/AgentRewardQueueTask.java
+8
-8
RedissonLockService.java
...lanren/huhu/partner/service/impl/RedissonLockService.java
+0
-72
LockUtil.java
src/main/java/com/lanren/huhu/partner/util/LockUtil.java
+0
-96
application.yml
src/main/resources/application.yml
+2
-1
No files found.
pom.xml
View file @
ead9435b
...
...
@@ -15,7 +15,8 @@
<version>
0.0.1-SNAPSHOT
</version>
<name>
partner
</name>
<description>
呼呼省钱合伙人相关服务
</description>
<packaging>
war
</packaging>
<!--<packaging>war</packaging>-->
<packaging>
jar
</packaging>
<properties>
<java.version>
1.8
</java.version>
...
...
@@ -63,7 +64,7 @@
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
<
scope>
runtime
</scope
>
<
!--<scope>runtime</scope>--
>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
...
...
@@ -79,7 +80,7 @@
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-tomcat
</artifactId>
<
scope>
provided
</scope
>
<
!--<scope>provided</scope>--
>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
...
...
@@ -132,11 +133,6 @@
<artifactId>
snakeyaml
</artifactId>
<version>
1.24
</version>
</dependency>
<dependency>
<groupId>
org.redisson
</groupId>
<artifactId>
redisson
</artifactId>
<version>
3.7.5
</version>
</dependency>
</dependencies>
<profiles>
...
...
@@ -172,13 +168,10 @@
<!--<mysql.password>cScdKw%ZKC1i$C!1uAz3Kg$c</mysql.password>-->
<mysql.username>
apihu
</mysql.username>
<mysql.password>
tqH9clYRAxZ@LV4x
</mysql.password>
<redis.host>
10.9.1
86.167
</redis.host>
<redis.host>
10.9.1
05.101
</redis.host>
<redis.password>
passwdredis
</redis.password>
<spring.profiles.active>
dev
</spring.profiles.active>
<!-- <logfile_path>/Users/chen/Develop/workspace/partner/data/release/dev/logs</logfile_path>-->
<logfile_path>
/data/logs/java
</logfile_path>
<!--<providers-path>/data/java/service</providers-path>-->
<providers-path>
/Users/chen/Develop/workspace/partner/data/release/dev
</providers-path>
<providers-path>
/data/java/service
</providers-path>
</properties>
</profile>
<profile>
...
...
@@ -211,27 +204,12 @@
</configuration>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-war-plugin
</artifactId>
<version>
3.2.0
</version>
<configuration>
<warName>
${project.artifactId}
</warName>
<failOnMissingWebXml>
false
</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<executions>
<execution>
<goals>
<goal>
repackage
</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>
com.lanren.huhu.partner.PartnerApplication
</mainClass>
</configuration>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-resources-plugin
</artifactId>
...
...
src/main/java/com/lanren/huhu/partner/config/RedissonConfig.java
deleted
100644 → 0
View file @
86d7af4d
package
com
.
lanren
.
huhu
.
partner
.
config
;
import
com.lanren.huhu.partner.service.impl.RedissonLockService
;
import
com.lanren.huhu.partner.util.LockUtil
;
import
org.redisson.Redisson
;
import
org.redisson.api.RedissonClient
;
import
org.redisson.config.Config
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
java.io.IOException
;
/**
* @author chen
* @title: RedissonConfig
* @projectName partner
* @description: 注入锁工具类
* @package com.lanren.huhu.partner.config
* @date 2019-07-01 19:41
*/
@Configuration
public
class
RedissonConfig
{
@Value
(
"${spring.redis.host}"
)
private
String
host
;
@Value
(
"${spring.redis.port}"
)
private
String
port
;
@Value
(
"${spring.redis.password}"
)
private
String
password
;
/**
* RedissonClient,单机模式
* @return
* @throws IOException
*/
@Bean
(
destroyMethod
=
"shutdown"
)
public
RedissonClient
redisson
()
throws
IOException
{
Config
config
=
new
Config
();
config
.
useSingleServer
().
setAddress
(
"redis://"
+
host
+
":"
+
port
).
setPassword
(
password
);
return
Redisson
.
create
(
config
);
}
@Bean
public
RedissonLockService
redissonLocker
(
RedissonClient
redissonClient
){
RedissonLockService
locker
=
new
RedissonLockService
(
redissonClient
);
//设置LockUtil的锁处理对象
try
{
LockUtil
.
setLockService
(
locker
);
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
"redissonLocker failed"
);
System
.
out
.
println
(
e
.
getMessage
());
}
return
locker
;
}
}
src/main/java/com/lanren/huhu/partner/constants/Constants.java
View file @
ead9435b
...
...
@@ -16,13 +16,16 @@ public class Constants {
public
static
final
String
AGENT_REWARD_QUEUE_KEY
=
"agent_reward_redis_city_key"
;
/**
* 代理商奖励类型
*
* 800,810,780 - 表3
* 790-表1
*/
public
static
final
int
AGENT_REWARD_TYPE_YEAR_VIP
=
710
;
public
static
final
String
AGENT_REWARD_TYPE_YEAR_VIP_REMARK
=
"
推荐奖励-年VIP
"
;
public
static
final
String
AGENT_REWARD_TYPE_YEAR_VIP_REMARK
=
"
高级年vip
"
;
public
static
final
int
AGENT_REWARD_TYPE_HALF_YEAR_VIP
=
720
;
public
static
final
String
AGENT_REWARD_TYPE_HALF_YEAR_VIP_REMARK
=
"
城市代理商所得的购买半年-VIP
"
;
public
static
final
String
AGENT_REWARD_TYPE_HALF_YEAR_VIP_REMARK
=
"
高级半年vip
"
;
public
static
final
int
AGENT_REWARD_TYPE_SVIP
=
730
;
public
static
final
String
AGENT_REWARD_TYPE_SVIP_REMARK
=
"
城市代理商所得的购买超级VIP收益
"
;
public
static
final
String
AGENT_REWARD_TYPE_SVIP_REMARK
=
"
超级年vip
"
;
public
static
final
int
AGENT_REWARD_TYPE_REDPACK
=
740
;
public
static
final
String
AGENT_REWARD_TYPE_REDPACK_REMARK
=
"推荐奖励-普通用户购买红包"
;
public
static
final
int
AGENT_REWARD_TYPE_SELF_ORDER
=
750
;
...
...
@@ -30,14 +33,20 @@ public class Constants {
public
static
final
int
AGENT_REWARD_TYPE_SHARE_ORDER
=
760
;
public
static
final
String
AGENT_REWARD_TYPE_SHARE_ORDER_REMARK
=
"推荐奖励-分享赚"
;
public
static
final
int
AGENT_REWARD_TYPE_VIP_PACKAGE
=
780
;
public
static
final
String
AGENT_REWARD_TYPE_VIP_PACKAGE_REMARK
=
"
推荐奖励-VIP礼包
"
;
public
static
final
String
AGENT_REWARD_TYPE_VIP_PACKAGE_REMARK
=
"
购买vip礼包(不送会员)
"
;
public
static
final
int
AGENT_REWARD_TYPE_PACKAGE_WITH_VIP
=
790
;
public
static
final
String
AGENT_REWARD_TYPE_PACKAGE_WITH_VIP_REMARK
=
"推荐奖励-购买礼包(送VIP会员)"
;
public
static
final
String
AGENT_REWARD_TYPE_PACKAGE_WITH_VIP_REMARK
=
"购买vip礼包(送会员)"
;
public
static
final
int
AGENT_REWARD_TYPE_VIP_CARD
=
800
;
public
static
final
String
AGENT_REWARD_TYPE_VIP_CARD_REMARK
=
"购买vip卡"
;
public
static
final
int
AGENT_REWARD_TYPE_SVIP_CARD
=
810
;
public
static
final
String
AGENT_REWARD_TYPE_SVIP_CARD_REMARK
=
"购买svip卡"
;
public
static
final
int
JD_OFFSET
=
1000
;
//用于查找京东的平推奖励比例
public
static
final
int
MT_OFFSET
=
2000
;
//用于查找美团的平推奖励比例
public
static
final
int
TN_OFFSET
=
3000
;
//用于查找途牛的平推奖励比例
public
static
final
int
MTJD_OFFSET
=
4000
;
//用于查找美团酒店的平推奖励比例
public
static
final
int
ELM_OFFSET
=
5000
;
//用于查找饿了么的平推奖励比例
public
static
final
int
KFC_OFFSET
=
6000
;
//用于查找饿了么的平推奖励比例
public
static
final
int
HHYX_OFFSET
=
7000
;
//用于查找自营呼呼优选的平推奖励比例
public
static
Map
<
Integer
,
Map
<
Integer
,
BigDecimal
>>
AGENT_RATE_MAP
=
new
HashMap
<
Integer
,
Map
<
Integer
,
BigDecimal
>>();
public
static
Map
<
Integer
,
String
>
AGENT_REWARD_REMARK
=
new
HashMap
<
Integer
,
String
>();
public
static
final
int
AGENT_LEVEL_1
=
1
;
...
...
@@ -52,6 +61,8 @@ public class Constants {
public
static
final
String
ORDER_TYPE_TN
=
"tuniu"
;
public
static
final
String
ORDER_TYPE_MTJD
=
"mt_jd"
;
public
static
final
String
ORDER_TYPE_ELM
=
"elm"
;
public
static
final
String
ORDER_TYPE_KFC
=
"kfc"
;
public
static
final
String
ORDER_TYPE_HHYX
=
"hhyx"
;
/**
* 回扣类型
*/
...
...
@@ -96,28 +107,40 @@ public class Constants {
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_HALF_YEAR_VIP
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_SVIP
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_VIP_PACKAGE
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_VIP_CARD
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_SVIP_CARD
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_PACKAGE_WITH_VIP
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_REDPACK
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_SELF_ORDER
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_SHARE_ORDER
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_SELF_ORDER
+
JD_OFFSET
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_SHARE_ORDER
+
JD_OFFSET
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_SELF_ORDER
+
MT_OFFSET
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_SELF_ORDER
+
TN_OFFSET
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_SELF_ORDER
+
MTJD_OFFSET
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_SELF_ORDER
+
ELM_OFFSET
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_YEAR_VIP
).
put
(
0
,
new
BigDecimal
(
"0.03015076"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_YEAR_VIP
).
put
(
1
,
new
BigDecimal
(
"0.0201005"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_HALF_YEAR_VIP
).
put
(
0
,
new
BigDecimal
(
"0.03015076"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_HALF_YEAR_VIP
).
put
(
1
,
new
BigDecimal
(
"0.0201005"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SVIP
).
put
(
0
,
new
BigDecimal
(
"0.03015076"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SVIP
).
put
(
1
,
new
BigDecimal
(
"0.0201005"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_VIP_PACKAGE
).
put
(
0
,
new
BigDecimal
(
"0.03015076"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_VIP_PACKAGE
).
put
(
1
,
new
BigDecimal
(
"0.0201005"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_PACKAGE_WITH_VIP
).
put
(
0
,
new
BigDecimal
(
"0.03015076"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_PACKAGE_WITH_VIP
).
put
(
1
,
new
BigDecimal
(
"0.0201005"
));
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_SELF_ORDER
+
KFC_OFFSET
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_SELF_ORDER
+
HHYX_OFFSET
,
new
HashMap
<
Integer
,
BigDecimal
>());
AGENT_RATE_MAP
.
put
(
AGENT_REWARD_TYPE_SHARE_ORDER
+
HHYX_OFFSET
,
new
HashMap
<
Integer
,
BigDecimal
>());
// 710,720,730 - 表2 - 购买VIP会员-无礼包
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_YEAR_VIP
).
put
(
0
,
new
BigDecimal
(
"0.04040404"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_YEAR_VIP
).
put
(
1
,
new
BigDecimal
(
"0.02020202"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_HALF_YEAR_VIP
).
put
(
0
,
new
BigDecimal
(
"0.04040404"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_HALF_YEAR_VIP
).
put
(
1
,
new
BigDecimal
(
"0.02020202"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SVIP
).
put
(
0
,
new
BigDecimal
(
"0.04040404"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SVIP
).
put
(
1
,
new
BigDecimal
(
"0.02020202"
));
// 780 购买vip礼包(不送会员), 800 购买vip卡, 810 购买svip卡 - 表3 - 购买V卡、超V卡、单独礼包
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_VIP_PACKAGE
).
put
(
0
,
new
BigDecimal
(
"0.04"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_VIP_PACKAGE
).
put
(
1
,
new
BigDecimal
(
"0.02"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_VIP_CARD
).
put
(
0
,
new
BigDecimal
(
"0.04040404"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_VIP_CARD
).
put
(
1
,
new
BigDecimal
(
"0.02020202"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SVIP_CARD
).
put
(
0
,
new
BigDecimal
(
"0.05050506"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SVIP_CARD
).
put
(
1
,
new
BigDecimal
(
"0.02525253"
));
// 790 - 表1 - 购买礼包+送VIP会员
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_PACKAGE_WITH_VIP
).
put
(
0
,
new
BigDecimal
(
"0.04"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_PACKAGE_WITH_VIP
).
put
(
1
,
new
BigDecimal
(
"0.02"
));
/**
* 红包
*/
...
...
@@ -138,6 +161,10 @@ public class Constants {
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SELF_ORDER
+
MTJD_OFFSET
).
put
(
1
,
new
BigDecimal
(
"0.01"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SELF_ORDER
+
ELM_OFFSET
).
put
(
0
,
new
BigDecimal
(
"0.01"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SELF_ORDER
+
ELM_OFFSET
).
put
(
1
,
new
BigDecimal
(
"0.01"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SELF_ORDER
+
KFC_OFFSET
).
put
(
0
,
new
BigDecimal
(
"0.01"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SELF_ORDER
+
KFC_OFFSET
).
put
(
1
,
new
BigDecimal
(
"0.01"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SELF_ORDER
+
HHYX_OFFSET
).
put
(
0
,
new
BigDecimal
(
"0.07"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SELF_ORDER
+
HHYX_OFFSET
).
put
(
1
,
new
BigDecimal
(
"0.08"
));
/**
* 分享赚
*/
...
...
@@ -145,6 +172,8 @@ public class Constants {
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SHARE_ORDER
).
put
(
1
,
new
BigDecimal
(
"0.009"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SHARE_ORDER
+
JD_OFFSET
).
put
(
0
,
new
BigDecimal
(
"0.0087"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SHARE_ORDER
+
JD_OFFSET
).
put
(
1
,
new
BigDecimal
(
"0.0087"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SHARE_ORDER
+
HHYX_OFFSET
).
put
(
0
,
new
BigDecimal
(
"0.07"
));
AGENT_RATE_MAP
.
get
(
AGENT_REWARD_TYPE_SHARE_ORDER
+
HHYX_OFFSET
).
put
(
1
,
new
BigDecimal
(
"0.08"
));
AGENT_REWARD_REMARK
.
put
(
AGENT_REWARD_TYPE_YEAR_VIP
,
AGENT_REWARD_TYPE_YEAR_VIP_REMARK
);
AGENT_REWARD_REMARK
.
put
(
AGENT_REWARD_TYPE_HALF_YEAR_VIP
,
AGENT_REWARD_TYPE_HALF_YEAR_VIP_REMARK
);
...
...
@@ -154,6 +183,8 @@ public class Constants {
AGENT_REWARD_REMARK
.
put
(
AGENT_REWARD_TYPE_REDPACK
,
AGENT_REWARD_TYPE_REDPACK_REMARK
);
AGENT_REWARD_REMARK
.
put
(
AGENT_REWARD_TYPE_SELF_ORDER
,
AGENT_REWARD_TYPE_SELF_ORDER_REMARK
);
AGENT_REWARD_REMARK
.
put
(
AGENT_REWARD_TYPE_SHARE_ORDER
,
AGENT_REWARD_TYPE_SHARE_ORDER_REMARK
);
AGENT_REWARD_REMARK
.
put
(
AGENT_REWARD_TYPE_VIP_CARD
,
AGENT_REWARD_TYPE_VIP_CARD_REMARK
);
AGENT_REWARD_REMARK
.
put
(
AGENT_REWARD_TYPE_SVIP_CARD
,
AGENT_REWARD_TYPE_SVIP_CARD_REMARK
);
/**
* 代理商奖励回扣类型
*/
...
...
src/main/java/com/lanren/huhu/partner/controller/AgentController.java
View file @
ead9435b
...
...
@@ -20,7 +20,8 @@ import java.util.ArrayList;
* @author chen
*/
@RestController
@RequestMapping
(
"/v1/agent"
)
@RequestMapping
(
"/partner/v1/agent"
)
//线上
//@RequestMapping("/v1/agent") //测试
public
class
AgentController
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
AgentController
.
class
);
...
...
src/main/java/com/lanren/huhu/partner/controller/PartnerController.java
View file @
ead9435b
package
com
.
lanren
.
huhu
.
partner
.
controller
;
import
com.lanren.huhu.partner.manager.PartnerManager
;
import
com.lanren.huhu.partner.model.Partner
;
import
com.lanren.huhu.partner.model.PartnerResponse
;
import
com.lanren.huhu.partner.result.Result
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
import
java.time.LocalDateTime
;
/** * @Author houseme * @Date 2019-06-26 11:00 * @Project partner * @Package com.lanren.huhu.partner.controller * @File: PartnerController */
@RestController
@RequestMapping
(
"/v1/partner"
)
public
class
PartnerController
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
PartnerController
.
class
);
@Autowired
private
PartnerManager
partnerManager
;
@RequestMapping
(
value
=
"/level"
,
method
=
RequestMethod
.
POST
)
public
Result
<
PartnerResponse
>
getPartnerLevel
(
@RequestBody
@Valid
Partner
partner
,
@RequestHeader
HttpHeaders
headers
)
{
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"getPartnerLevel userId:{},header:{},time:{}"
,
partner
.
getUserId
(),
headers
.
keySet
().
toArray
(),
LocalDateTime
.
now
());
}
return
partnerManager
.
getPartnerLevel
(
partner
.
getUserId
());
}
}
\ No newline at end of file
package
com
.
lanren
.
huhu
.
partner
.
controller
;
import
com.lanren.huhu.partner.manager.PartnerManager
;
import
com.lanren.huhu.partner.model.Partner
;
import
com.lanren.huhu.partner.model.PartnerResponse
;
import
com.lanren.huhu.partner.result.Result
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
import
java.time.LocalDateTime
;
/** * @Author houseme * @Date 2019-06-26 11:00 * @Project partner * @Package com.lanren.huhu.partner.controller * @File: PartnerController */
@RestController
@RequestMapping
(
"/partner/v1/partner"
)
//线上 //@RequestMapping("/v1/partner") //测试 public class PartnerController { private static Logger logger = LoggerFactory.getLogger(PartnerController.class); @Autowired private PartnerManager partnerManager; @RequestMapping(value = "/level", method = RequestMethod.POST) public Result<PartnerResponse> getPartnerLevel(@RequestBody @Valid Partner partner, @RequestHeader HttpHeaders headers) { if (logger.isInfoEnabled()) { logger.info("getPartnerLevel userId:{},header:{},time:{}", partner.getUserId(), headers.keySet().toArray(), LocalDateTime.now()); } return partnerManager.getPartnerLevel(partner.getUserId()); } }
\ No newline at end of file
...
...
src/main/java/com/lanren/huhu/partner/controller/UserController.java
View file @
ead9435b
...
...
@@ -19,7 +19,8 @@ import java.time.LocalDateTime;
*/
@RestController
@EnableAsync
@RequestMapping
(
"/v1/user"
)
@RequestMapping
(
"/partner/v1/user"
)
//线上
//@RequestMapping("/v1/user") //测试
public
class
UserController
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
UserController
.
class
);
...
...
src/main/java/com/lanren/huhu/partner/schedule/AgentRewardQueueTask.java
View file @
ead9435b
...
...
@@ -13,7 +13,6 @@ import com.lanren.huhu.partner.service.PartnerAccountService;
import
com.lanren.huhu.partner.service.UserAgentService
;
import
com.lanren.huhu.partner.service.UserService
;
import
com.lanren.huhu.partner.util.DateUtils
;
import
com.lanren.huhu.partner.util.LockUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -75,17 +74,11 @@ public class AgentRewardQueueTask {
while
(
null
!=
ops
&&
null
!=
ops
.
size
(
AGENT_REWARD_QUEUE_KEY
)
&&
ops
.
size
(
AGENT_REWARD_QUEUE_KEY
)
>
0L
)
{
String
msg
=
""
;
try
{
/**
* 加分布式锁
*/
LockUtil
.
lock
(
DISTRIBUTE_REDIS_LOCK_KEY
);
try
{
msg
=
ops
.
rightPop
(
AGENT_REWARD_QUEUE_KEY
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
continue
;
}
finally
{
LockUtil
.
unlock
(
DISTRIBUTE_REDIS_LOCK_KEY
);
}
logger
.
info
(
"msg is {}"
,
msg
);
JSONObject
json
=
JSON
.
parseObject
(
msg
);
...
...
@@ -111,6 +104,9 @@ public class AgentRewardQueueTask {
if
((
rewardType
==
AGENT_REWARD_TYPE_SELF_ORDER
||
rewardType
==
AGENT_REWARD_TYPE_SHARE_ORDER
)
&&
message
.
getOrderType
().
equals
(
ORDER_TYPE_JD
)
)
{
rateMap
=
AGENT_RATE_MAP
.
get
(
rewardType
+
JD_OFFSET
);
}
else
if
((
rewardType
==
AGENT_REWARD_TYPE_SELF_ORDER
||
rewardType
==
AGENT_REWARD_TYPE_SHARE_ORDER
)
&&
message
.
getOrderType
().
equals
(
ORDER_TYPE_HHYX
)
)
{
rateMap
=
AGENT_RATE_MAP
.
get
(
rewardType
+
HHYX_OFFSET
);
}
else
if
(
rewardType
==
AGENT_REWARD_TYPE_SELF_ORDER
&&
message
.
getOrderType
().
equals
(
ORDER_TYPE_MT
)
)
{
rateMap
=
AGENT_RATE_MAP
.
get
(
rewardType
+
MT_OFFSET
);
...
...
@@ -123,6 +119,9 @@ public class AgentRewardQueueTask {
}
else
if
(
rewardType
==
AGENT_REWARD_TYPE_SELF_ORDER
&&
message
.
getOrderType
().
equals
(
ORDER_TYPE_ELM
)
)
{
rateMap
=
AGENT_RATE_MAP
.
get
(
rewardType
+
ELM_OFFSET
);
}
else
if
(
rewardType
==
AGENT_REWARD_TYPE_SELF_ORDER
&&
message
.
getOrderType
().
equals
(
ORDER_TYPE_KFC
)
)
{
rateMap
=
AGENT_RATE_MAP
.
get
(
rewardType
+
KFC_OFFSET
);
}
else
{
rateMap
=
AGENT_RATE_MAP
.
get
(
rewardType
);
}
...
...
@@ -332,7 +331,8 @@ public class AgentRewardQueueTask {
*/
BigDecimal
rewardBasement
;
if
(
rewardType
==
AGENT_REWARD_TYPE_YEAR_VIP
||
rewardType
==
AGENT_REWARD_TYPE_HALF_YEAR_VIP
||
rewardType
==
AGENT_REWARD_TYPE_SVIP
||
rewardType
==
AGENT_REWARD_TYPE_REDPACK
||
rewardType
==
AGENT_REWARD_TYPE_VIP_PACKAGE
||
rewardType
==
AGENT_REWARD_TYPE_PACKAGE_WITH_VIP
)
{
||
rewardType
==
AGENT_REWARD_TYPE_REDPACK
||
rewardType
==
AGENT_REWARD_TYPE_VIP_PACKAGE
||
rewardType
==
AGENT_REWARD_TYPE_PACKAGE_WITH_VIP
||
rewardType
==
AGENT_REWARD_TYPE_VIP_CARD
||
rewardType
==
AGENT_REWARD_TYPE_SVIP_CARD
)
{
rewardBasement
=
message
.
getSourceUserPayment
();
}
else
{
/**
...
...
src/main/java/com/lanren/huhu/partner/service/impl/RedissonLockService.java
deleted
100644 → 0
View file @
86d7af4d
package
com
.
lanren
.
huhu
.
partner
.
service
.
impl
;
import
com.lanren.huhu.partner.service.LockService
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RedissonClient
;
import
java.util.concurrent.TimeUnit
;
/**
* @author chen
* @title: RedissonLockService
* @projectName partner
* @description: 基于redisson的锁实现
* @package com.lanren.huhu.partner.service.impl
* @date 2019-07-01 19:38
*/
public
class
RedissonLockService
implements
LockService
{
private
RedissonClient
redissonClient
;
public
RedissonLockService
(
RedissonClient
redissonClient
)
{
super
();
this
.
redissonClient
=
redissonClient
;
}
@Override
public
void
lock
(
String
lockKey
)
{
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
lock
.
lock
();
}
@Override
public
void
unlock
(
String
lockKey
)
{
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
lock
.
unlock
();
}
@Override
public
void
lock
(
String
lockKey
,
int
leaseTime
)
{
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
lock
.
lock
(
leaseTime
,
TimeUnit
.
SECONDS
);
}
@Override
public
void
lock
(
String
lockKey
,
TimeUnit
unit
,
int
timeout
)
{
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
lock
.
lock
(
timeout
,
unit
);
}
public
void
setRedissonClient
(
RedissonClient
redissonClient
)
{
this
.
redissonClient
=
redissonClient
;
}
@Override
public
boolean
tryLock
(
String
lockKey
)
{
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
return
lock
.
tryLock
();
}
@Override
public
boolean
tryLock
(
String
lockKey
,
long
waitTime
,
long
leaseTime
,
TimeUnit
unit
)
throws
InterruptedException
{
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
return
lock
.
tryLock
(
waitTime
,
leaseTime
,
unit
);
}
@Override
public
boolean
isLocked
(
String
lockKey
)
{
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
return
lock
.
isLocked
();
}
}
src/main/java/com/lanren/huhu/partner/util/LockUtil.java
deleted
100644 → 0
View file @
86d7af4d
package
com
.
lanren
.
huhu
.
partner
.
util
;
import
com.lanren.huhu.partner.service.LockService
;
import
java.util.concurrent.TimeUnit
;
/**
* @author chen
* @title: LockUtil
* @projectName partner
* @description: 分布式锁工具类
* @package com.lanren.huhu.partner.util
* @date 2019-07-01 19:39
*/
public
class
LockUtil
{
private
static
LockService
lockService
;
/**
* 设置工具类使用的locker
* @param lockService
*/
public
static
void
setLockService
(
LockService
lockService
)
{
LockUtil
.
lockService
=
lockService
;
}
/**
* 获取锁
* @param lockKey
*/
public
static
void
lock
(
String
lockKey
)
{
try
{
lockService
.
lock
(
lockKey
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
/**
* 释放锁
* @param lockKey
*/
public
static
void
unlock
(
String
lockKey
)
{
lockService
.
unlock
(
lockKey
);
}
/**
* 获取锁,超时释放
* @param lockKey
* @param timeout
*/
public
static
void
lock
(
String
lockKey
,
int
timeout
)
{
lockService
.
lock
(
lockKey
,
timeout
);
}
/**
* 获取锁,超时释放,指定时间单位
* @param lockKey
* @param unit
* @param timeout
*/
public
static
void
lock
(
String
lockKey
,
TimeUnit
unit
,
int
timeout
)
{
lockService
.
lock
(
lockKey
,
unit
,
timeout
);
}
/**
* 尝试获取锁,获取到立即返回true,获取失败立即返回false
* @param lockKey
* @return
*/
public
static
boolean
tryLock
(
String
lockKey
)
{
return
lockService
.
tryLock
(
lockKey
);
}
/**
* 尝试获取锁,在给定的waitTime时间内尝试,获取到返回true,获取失败返回false,获取到后再给定的leaseTime时间超时释放
* @param lockKey
* @param waitTime
* @param leaseTime
* @param unit
* @return
* @throws InterruptedException
*/
public
static
boolean
tryLock
(
String
lockKey
,
long
waitTime
,
long
leaseTime
,
TimeUnit
unit
)
throws
InterruptedException
{
return
lockService
.
tryLock
(
lockKey
,
waitTime
,
leaseTime
,
unit
);
}
/**
* 锁释放被任意一个线程持有
* @param lockKey
* @return
*/
public
static
boolean
isLocked
(
String
lockKey
)
{
return
lockService
.
isLocked
(
lockKey
);
}
}
src/main/resources/application.yml
View file @
ead9435b
...
...
@@ -84,7 +84,8 @@ spring:
converters
:
preferred-json-mapper
:
fastjson
server
:
port
:
8099
port
:
8000
#线上
# port: 8333 #测试
http2
:
enabled
:
true
tomcat
:
...
...
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