Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
browser-backend
Project
Project
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
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
browser-backend
Commits
344d2ac4
Commit
344d2ac4
authored
Aug 12, 2020
by
xuxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
分销商渠道相关接口
parent
8bb64144
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
85 additions
and
3 deletions
+85
-3
AdministratorController.java
...erbackend/account/controller/AdministratorController.java
+24
-0
Promotion.java
...va/com/edgec/browserbackend/account/domain/Promotion.java
+13
-0
AccountRepositoryCustom.java
...erbackend/account/repository/AccountRepositoryCustom.java
+2
-0
AccountRepositoryCustomImpl.java
...ckend/account/repository/AccountRepositoryCustomImpl.java
+15
-0
AdministratorService.java
.../browserbackend/account/service/AdministratorService.java
+4
-3
AdministratorServiceImpl.java
...ackend/account/service/impl/AdministratorServiceImpl.java
+6
-0
GlobalField.java
.../com/edgec/browserbackend/browser/domain/GlobalField.java
+8
-0
PromotionTask.java
.../com/edgec/browserbackend/browser/task/PromotionTask.java
+13
-0
No files found.
src/main/java/com/edgec/browserbackend/account/controller/AdministratorController.java
View file @
344d2ac4
...
...
@@ -505,6 +505,7 @@ public class AdministratorController {
/**
* 专线回落
*/
@PreAuthorize
(
Securitys
.
ADMIN_EL
)
@PutMapping
(
value
=
"/0xadministrator/updateip/{addr}/{flag}"
)
public
ResultDto
updateIp
(
@PathVariable
String
addr
,
@PathVariable
String
flag
)
{
ResultDto
resultDto
=
new
ResultDto
();
...
...
@@ -518,6 +519,29 @@ public class AdministratorController {
}
return
resultDto
;
}
/**
* 设置客户为分销商
*/
@PreAuthorize
(
Securitys
.
ADMIN_EL
)
@PutMapping
(
value
=
"/0xadministrator/account/{id}/{flag}"
)
public
ResultDto
updateToDistributor
(
@PathVariable
String
id
,
@PathVariable
Integer
flag
)
{
ResultDto
resultDto
=
new
ResultDto
();
try
{
boolean
tag
=
false
;
if
(
flag
==
1
)
{
tag
=
true
;
}
Long
i
=
administratorService
.
convertToDistributor
(
id
,
tag
);
resultDto
.
setStatus
(
0
);
resultDto
.
setData
(
i
);
}
catch
(
Exception
e
)
{
resultDto
.
setStatus
(-
1
);
resultDto
.
setData
(
e
.
getMessage
());
}
return
resultDto
;
}
}
...
...
src/main/java/com/edgec/browserbackend/account/domain/Promotion.java
View file @
344d2ac4
...
...
@@ -38,6 +38,11 @@ public class Promotion {
*/
private
boolean
isSale
;
/**
* 是否为分销商
*/
private
boolean
isDistributor
;
/**
* 当月礼金
*/
...
...
@@ -124,4 +129,12 @@ public class Promotion {
public
void
setTotalCommission
(
int
totalCommission
)
{
this
.
totalCommission
=
totalCommission
;
}
public
boolean
isDistributor
()
{
return
isDistributor
;
}
public
void
setDistributor
(
boolean
distributor
)
{
isDistributor
=
distributor
;
}
}
src/main/java/com/edgec/browserbackend/account/repository/AccountRepositoryCustom.java
View file @
344d2ac4
...
...
@@ -12,4 +12,6 @@ public interface AccountRepositoryCustom {
Account
findByPromotion
(
String
code
);
Long
convertToDistributor
(
String
id
,
boolean
tag
);
}
src/main/java/com/edgec/browserbackend/account/repository/AccountRepositoryCustomImpl.java
View file @
344d2ac4
package
com
.
edgec
.
browserbackend
.
account
.
repository
;
import
com.edgec.browserbackend.account.domain.Account
;
import
com.mongodb.client.result.UpdateResult
;
import
org.bson.Document
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
...
...
@@ -63,4 +64,18 @@ public class AccountRepositoryCustomImpl implements AccountRepositoryCustom {
return
null
;
return
account
;
}
@Override
public
Long
convertToDistributor
(
String
id
,
boolean
tag
)
{
Document
doc
=
new
Document
();
BasicQuery
basicQuery
=
new
BasicQuery
(
doc
);
basicQuery
.
addCriteria
(
where
(
"_id"
).
is
(
id
));
Update
update
=
new
Update
();
update
.
set
(
"promotion.isDistributor"
,
tag
);
UpdateResult
upsert
=
mongoTemplate
.
upsert
(
basicQuery
,
update
,
Account
.
class
);
return
upsert
.
getModifiedCount
();
}
}
src/main/java/com/edgec/browserbackend/account/service/AdministratorService.java
View file @
344d2ac4
...
...
@@ -5,13 +5,10 @@ import com.edgec.browserbackend.account.dto.BillQueryResultDto;
import
com.edgec.browserbackend.account.dto.IpCountQueryResultDto
;
import
com.edgec.browserbackend.account.dto.PromotionQueryResultDto
;
import
com.edgec.browserbackend.account.dto.UserUsedDto
;
import
com.edgec.browserbackend.browser.domain.IpResource
;
import
com.edgec.browserbackend.browser.dto.IpResourceDto
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
java.io.File
;
import
java.util.HashMap
;
import
java.util.List
;
public
interface
AdministratorService
{
...
...
@@ -68,4 +65,8 @@ public interface AdministratorService {
File
getProxyConfig
();
Page
<
UserUsedDto
>
getAllUserUsed
(
Pageable
pageable
);
Long
convertToDistributor
(
String
id
,
boolean
tag
);
}
src/main/java/com/edgec/browserbackend/account/service/impl/AdministratorServiceImpl.java
View file @
344d2ac4
...
...
@@ -72,6 +72,7 @@ public class AdministratorServiceImpl implements AdministratorService {
@Autowired
private
IpCountRecordRepository
ipCountRecordRepository
;
@Override
public
Administrator
createAdministrator
(
Administrator
administrator
)
{
Administrator
administrator1
=
new
Administrator
();
...
...
@@ -537,6 +538,11 @@ public class AdministratorServiceImpl implements AdministratorService {
return
userUsedDtopage
;
}
@Override
public
Long
convertToDistributor
(
String
id
,
boolean
tag
)
{
return
accountRepository
.
convertToDistributor
(
id
,
tag
);
}
}
...
...
src/main/java/com/edgec/browserbackend/browser/domain/GlobalField.java
View file @
344d2ac4
...
...
@@ -4,6 +4,8 @@ import lombok.Data;
import
org.springframework.data.annotation.Id
;
import
org.springframework.data.mongodb.core.mapping.Document
;
import
java.math.BigDecimal
;
/**
* @author xuxin
* @date 2020/8/3 14:37
...
...
@@ -27,4 +29,10 @@ public class GlobalField {
* 目前是注册就送 16 元
*/
private
Integer
registerGift
;
/**
* 分销商提成比例
* 目前是 0.30
*/
private
BigDecimal
distributorRate
;
}
src/main/java/com/edgec/browserbackend/browser/task/PromotionTask.java
View file @
344d2ac4
...
...
@@ -5,6 +5,7 @@ import com.edgec.browserbackend.account.domain.Promotion;
import
com.edgec.browserbackend.account.domain.UserPrePaidBilling
;
import
com.edgec.browserbackend.account.repository.AccountRepository
;
import
com.edgec.browserbackend.account.repository.UserPrePaidBillingRepository
;
import
com.edgec.browserbackend.browser.repository.GlobalFieldRepository
;
import
net.javacrumbs.shedlock.core.SchedulerLock
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -27,6 +28,8 @@ public class PromotionTask {
@Autowired
private
UserPrePaidBillingRepository
userPrePaidBillingRepository
;
private
GlobalFieldRepository
globalFieldRepository
;
// TODO 2020年7月2号, 晚上11点,jim负责跟踪下
@SchedulerLock
(
name
=
"countGift"
,
lockAtLeastForString
=
"PT1H"
,
lockAtMostForString
=
"PT2H"
)
...
...
@@ -72,6 +75,11 @@ public class PromotionTask {
if
(
account
.
getPromotion
().
isSale
())
{
promotion
.
setGift
(
totalCommission
*
0.1
+
secondCommission
*
0.02
);
}
if
(
account
.
getPromotion
().
isDistributor
())
{
promotion
.
setGift
(
totalCommission
*
globalFieldRepository
.
findAll
().
get
(
0
).
getDistributorRate
().
doubleValue
());
}
promotion
.
setAllGift
(
promotion
.
getAllGift
()
+
promotion
.
getGift
());
accountRepository
.
save
(
account
);
}
...
...
@@ -113,10 +121,15 @@ public class PromotionTask {
// 3. 封装当前账户的返佣相关信息(当月当前的消费、当月当前的返佣)并保存
Promotion
promotion
=
account
.
getPromotion
();
promotion
.
setCommission
((
int
)
totalCommission
);
// 4. 不同角色的人给不同的提成
promotion
.
setGift
(
totalCommission
*
0.08
);
if
(
account
.
getPromotion
().
isSale
())
{
promotion
.
setGift
(
totalCommission
*
0.1
+
secondCommission
*
0.02
);
}
if
(
account
.
getPromotion
().
isDistributor
())
{
promotion
.
setGift
(
totalCommission
*
globalFieldRepository
.
findAll
().
get
(
0
).
getDistributorRate
().
doubleValue
());
}
accountRepository
.
save
(
account
);
}
log
.
info
(
"End scheduled task:Scheduled.countCommission..."
);
...
...
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