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
Expand all
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
This diff is collapsed.
Click to expand it.
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