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
706b227b
Commit
706b227b
authored
Apr 02, 2020
by
renjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
QueryIpUrlList
购买ip绑定店铺
parent
e9fc7440
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
238 additions
and
118 deletions
+238
-118
Account.java
...java/com/edgec/browserbackend/account/domain/Account.java
+3
-7
QueryIpUrlList.java
...m/edgec/browserbackend/account/domain/QueryIpUrlList.java
+16
-0
QueryIpUrlListRepository.java
...rbackend/account/repository/QueryIpUrlListRepository.java
+7
-0
AccountServiceImpl.java
...owserbackend/account/service/impl/AccountServiceImpl.java
+13
-0
ShopController.java
...gec/browserbackend/browser/controller/ShopController.java
+6
-2
IpResourceRequestDto.java
...dgec/browserbackend/browser/dto/IpResourceRequestDto.java
+10
-0
UserShopRepository.java
...browserbackend/browser/repository/UserShopRepository.java
+1
-1
IpAndShopServiceImpl.java
...serbackend/browser/service/Impl/IpAndShopServiceImpl.java
+144
-0
IpResourceServiceImpl.java
...erbackend/browser/service/Impl/IpResourceServiceImpl.java
+12
-0
ShopServiceImpl.java
.../browserbackend/browser/service/Impl/ShopServiceImpl.java
+5
-96
IpAndShopService.java
...dgec/browserbackend/browser/service/IpAndShopService.java
+10
-0
ShopService.java
...com/edgec/browserbackend/browser/service/ShopService.java
+0
-4
BrowserTask.java
...va/com/edgec/browserbackend/browser/task/BrowserTask.java
+11
-8
No files found.
src/main/java/com/edgec/browserbackend/account/domain/Account.java
View file @
706b227b
...
@@ -60,14 +60,9 @@ public class Account {
...
@@ -60,14 +60,9 @@ public class Account {
private
int
shopCount
=
0
;
private
int
shopCount
=
0
;
private
int
authorized
;
// 0: 未认证; 1: 已认证;
private
int
authorized
;
// 0: 未认证; 1:
认证中; 2:
已认证;
private
List
<
String
>
queryIpUrlList
=
Arrays
.
asList
(
private
List
<
String
>
queryIpUrlList
=
new
ArrayList
<>();
"http://lumtest.com/myip.json"
,
"http://api.myip.com"
,
"http://free.ipwhois.io/json/"
,
"https://freegeoip.app/json/"
);
public
Date
getSignupDate
()
{
public
Date
getSignupDate
()
{
return
signupDate
;
return
signupDate
;
...
@@ -285,4 +280,5 @@ public class Account {
...
@@ -285,4 +280,5 @@ public class Account {
public
void
setPromotionCode
(
String
promotionCode
)
{
public
void
setPromotionCode
(
String
promotionCode
)
{
this
.
promotionCode
=
promotionCode
;
this
.
promotionCode
=
promotionCode
;
}
}
}
}
src/main/java/com/edgec/browserbackend/account/domain/QueryIpUrlList.java
0 → 100644
View file @
706b227b
package
com
.
edgec
.
browserbackend
.
account
.
domain
;
import
org.springframework.data.mongodb.core.mapping.Document
;
@Document
(
collection
=
"queryipurllist"
)
public
class
QueryIpUrlList
{
private
String
url
;
public
String
getUrl
()
{
return
url
;
}
public
void
setUrl
(
String
url
)
{
this
.
url
=
url
;
}
}
src/main/java/com/edgec/browserbackend/account/repository/QueryIpUrlListRepository.java
0 → 100644
View file @
706b227b
package
com
.
edgec
.
browserbackend
.
account
.
repository
;
import
com.edgec.browserbackend.account.domain.QueryIpUrlList
;
import
org.springframework.data.mongodb.repository.MongoRepository
;
public
interface
QueryIpUrlListRepository
extends
MongoRepository
<
QueryIpUrlList
,
String
>
{
}
src/main/java/com/edgec/browserbackend/account/service/impl/AccountServiceImpl.java
View file @
706b227b
...
@@ -121,6 +121,9 @@ public class AccountServiceImpl implements AccountService {
...
@@ -121,6 +121,9 @@ public class AccountServiceImpl implements AccountService {
@Autowired
@Autowired
private
CompanyAuthorizeRepository
companyAuthorizeRepository
;
private
CompanyAuthorizeRepository
companyAuthorizeRepository
;
@Autowired
private
QueryIpUrlListRepository
queryIpUrlListRepository
;
@Override
@Override
public
List
<
UserBillList
>
getUserBills0
(
String
name
)
{
public
List
<
UserBillList
>
getUserBills0
(
String
name
)
{
...
@@ -376,6 +379,11 @@ public class AccountServiceImpl implements AccountService {
...
@@ -376,6 +379,11 @@ public class AccountServiceImpl implements AccountService {
if
(
current
.
getWhiteList
()
!=
null
&&
current
.
getWhiteList
().
size
()
>
0
)
if
(
current
.
getWhiteList
()
!=
null
&&
current
.
getWhiteList
().
size
()
>
0
)
whiteList
.
addAll
(
current
.
getWhiteList
());
whiteList
.
addAll
(
current
.
getWhiteList
());
List
<
String
>
queryIpUrlList
=
queryIpUrlListRepository
.
findAll
().
stream
().
map
(
x
->
x
.
getUrl
()).
collect
(
Collectors
.
toList
());
if
(
current
.
getQueryIpUrlList
()
!=
null
&&
current
.
getQueryIpUrlList
().
size
()
>
0
)
queryIpUrlList
.
addAll
(
current
.
getQueryIpUrlList
());
current
.
setQueryIpUrlList
(
queryIpUrlList
);
current
.
setWhiteList
(
whiteList
);
current
.
setWhiteList
(
whiteList
);
resultDto
.
setStatus
(
0
);
resultDto
.
setStatus
(
0
);
resultDto
.
setData
(
current
);
resultDto
.
setData
(
current
);
...
@@ -834,6 +842,11 @@ public class AccountServiceImpl implements AccountService {
...
@@ -834,6 +842,11 @@ public class AccountServiceImpl implements AccountService {
whiteList
.
addAll
(
update
.
getWhiteList
());
whiteList
.
addAll
(
update
.
getWhiteList
());
account
.
setWhiteList
(
whiteList
);
account
.
setWhiteList
(
whiteList
);
List
<
String
>
queryIpUrlList
=
account
.
getQueryIpUrlList
();
if
(
update
.
getQueryIpUrlList
()
!=
null
&&
update
.
getQueryIpUrlList
().
size
()
>
0
)
queryIpUrlList
.
addAll
(
update
.
getQueryIpUrlList
());
account
.
setQueryIpUrlList
(
queryIpUrlList
);
if
(
update
.
getAuthorized
()
==
1
)
if
(
update
.
getAuthorized
()
==
1
)
account
.
setAuthorized
(
1
);
account
.
setAuthorized
(
1
);
...
...
src/main/java/com/edgec/browserbackend/browser/controller/ShopController.java
View file @
706b227b
...
@@ -7,6 +7,7 @@ import com.edgec.browserbackend.browser.dto.ShopPageResultDto;
...
@@ -7,6 +7,7 @@ import com.edgec.browserbackend.browser.dto.ShopPageResultDto;
import
com.edgec.browserbackend.browser.dto.ShopResultDto
;
import
com.edgec.browserbackend.browser.dto.ShopResultDto
;
import
com.edgec.browserbackend.browser.dto.ShopRequestDto
;
import
com.edgec.browserbackend.browser.dto.ShopRequestDto
;
import
com.edgec.browserbackend.browser.dto.ShopStringResultDto
;
import
com.edgec.browserbackend.browser.dto.ShopStringResultDto
;
import
com.edgec.browserbackend.browser.service.IpAndShopService
;
import
com.edgec.browserbackend.browser.service.ShopService
;
import
com.edgec.browserbackend.browser.service.ShopService
;
import
com.edgec.browserbackend.common.commons.error.ClientRequestException
;
import
com.edgec.browserbackend.common.commons.error.ClientRequestException
;
import
com.edgec.browserbackend.common.utils.FileUtil
;
import
com.edgec.browserbackend.common.utils.FileUtil
;
...
@@ -32,6 +33,9 @@ public class ShopController {
...
@@ -32,6 +33,9 @@ public class ShopController {
@Autowired
@Autowired
private
ShopService
shopService
;
private
ShopService
shopService
;
@Autowired
private
IpAndShopService
ipAndShopService
;
@RequestMapping
(
value
=
"/add"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/add"
,
method
=
RequestMethod
.
POST
)
public
ResultDto
addShop
(
Principal
principal
,
@RequestBody
ShopResultDto
shopResultDto
)
{
public
ResultDto
addShop
(
Principal
principal
,
@RequestBody
ShopResultDto
shopResultDto
)
{
ResultDto
resultDto
=
new
ResultDto
();
ResultDto
resultDto
=
new
ResultDto
();
...
@@ -115,7 +119,7 @@ public class ShopController {
...
@@ -115,7 +119,7 @@ public class ShopController {
public
ResultDto
bindShop
(
Principal
principal
,
@RequestBody
ShopRequestDto
shopRequestDto
)
{
public
ResultDto
bindShop
(
Principal
principal
,
@RequestBody
ShopRequestDto
shopRequestDto
)
{
ResultDto
resultDto
=
new
ResultDto
();
ResultDto
resultDto
=
new
ResultDto
();
try
{
try
{
s
hopService
.
bindShop
(
principal
.
getName
(),
shopRequestDto
);
ipAndS
hopService
.
bindShop
(
principal
.
getName
(),
shopRequestDto
);
resultDto
.
setStatus
(
0
);
resultDto
.
setStatus
(
0
);
}
catch
(
ClientRequestException
e
)
{
}
catch
(
ClientRequestException
e
)
{
resultDto
.
setStatus
(-
1
);
resultDto
.
setStatus
(-
1
);
...
@@ -131,7 +135,7 @@ public class ShopController {
...
@@ -131,7 +135,7 @@ public class ShopController {
public
ResultDto
unBindShop
(
Principal
principal
,
@RequestBody
ShopRequestDto
shopRequestDto
)
{
public
ResultDto
unBindShop
(
Principal
principal
,
@RequestBody
ShopRequestDto
shopRequestDto
)
{
ResultDto
resultDto
=
new
ResultDto
();
ResultDto
resultDto
=
new
ResultDto
();
try
{
try
{
s
hopService
.
unBindShop
(
principal
.
getName
(),
shopRequestDto
);
ipAndS
hopService
.
unBindShop
(
principal
.
getName
(),
shopRequestDto
);
resultDto
.
setStatus
(
0
);
resultDto
.
setStatus
(
0
);
}
catch
(
ClientRequestException
e
)
{
}
catch
(
ClientRequestException
e
)
{
resultDto
.
setStatus
(-
1
);
resultDto
.
setStatus
(-
1
);
...
...
src/main/java/com/edgec/browserbackend/browser/dto/IpResourceRequestDto.java
View file @
706b227b
...
@@ -15,6 +15,8 @@ public class IpResourceRequestDto {
...
@@ -15,6 +15,8 @@ public class IpResourceRequestDto {
private
String
vendor
=
"aliyun"
;
private
String
vendor
=
"aliyun"
;
private
String
logintype
=
"password"
;
private
String
logintype
=
"password"
;
private
String
shopId
;
//0 -- 余额, 1 -- 支付宝, 2 -- 微信
//0 -- 余额, 1 -- 支付宝, 2 -- 微信
private
int
payMethod
=
0
;
private
int
payMethod
=
0
;
...
@@ -186,4 +188,12 @@ public class IpResourceRequestDto {
...
@@ -186,4 +188,12 @@ public class IpResourceRequestDto {
public
void
setPayMethod
(
int
payMethod
)
{
public
void
setPayMethod
(
int
payMethod
)
{
this
.
payMethod
=
payMethod
;
this
.
payMethod
=
payMethod
;
}
}
public
String
getShopId
()
{
return
shopId
;
}
public
void
setShopId
(
String
shopId
)
{
this
.
shopId
=
shopId
;
}
}
}
src/main/java/com/edgec/browserbackend/browser/repository/UserShopRepository.java
View file @
706b227b
...
@@ -9,7 +9,7 @@ public interface UserShopRepository extends MongoRepository<UserShop, String>, U
...
@@ -9,7 +9,7 @@ public interface UserShopRepository extends MongoRepository<UserShop, String>, U
List
<
UserShop
>
findByUsername
(
String
username
);
List
<
UserShop
>
findByUsername
(
String
username
);
List
<
UserShop
>
findByUsernameAndIpIdIsNull
(
String
username
);
List
<
UserShop
>
findByUsernameAndIpIdIsNull
(
String
username
);
UserShop
findByUsernameAndShopId
(
String
username
,
String
shopId
);
UserShop
findByUsernameAndShopId
(
String
username
,
String
shopId
);
UserShop
findByShopId
(
String
shopId
);
List
<
UserShop
>
findByShopId
(
String
shopId
);
List
<
UserShop
>
findByUsernameAndGroupId
(
String
username
,
String
groupId
);
List
<
UserShop
>
findByUsernameAndGroupId
(
String
username
,
String
groupId
);
List
<
UserShop
>
findByUsernameAndGroupIdAndIpIdIsNull
(
String
username
,
String
groupId
);
List
<
UserShop
>
findByUsernameAndGroupIdAndIpIdIsNull
(
String
username
,
String
groupId
);
List
<
UserShop
>
findByUsernameAndGroupIdAndIpIdIsNotNull
(
String
username
,
String
groupId
);
List
<
UserShop
>
findByUsernameAndGroupIdAndIpIdIsNotNull
(
String
username
,
String
groupId
);
...
...
src/main/java/com/edgec/browserbackend/browser/service/Impl/IpAndShopServiceImpl.java
0 → 100644
View file @
706b227b
package
com
.
edgec
.
browserbackend
.
browser
.
service
.
Impl
;
import
com.edgec.browserbackend.account.domain.Account
;
import
com.edgec.browserbackend.account.exception.AccountErrorCode
;
import
com.edgec.browserbackend.account.repository.AccountRepository
;
import
com.edgec.browserbackend.browser.ErrorCode.BrowserErrorCode
;
import
com.edgec.browserbackend.browser.domain.BindHistory
;
import
com.edgec.browserbackend.browser.domain.IpResource
;
import
com.edgec.browserbackend.browser.domain.Shop
;
import
com.edgec.browserbackend.browser.domain.UserShop
;
import
com.edgec.browserbackend.browser.dto.ShopRequestDto
;
import
com.edgec.browserbackend.browser.repository.IpResourceRepository
;
import
com.edgec.browserbackend.browser.repository.ShopRepository
;
import
com.edgec.browserbackend.browser.repository.UserShopRepository
;
import
com.edgec.browserbackend.browser.service.IpAndShopService
;
import
com.edgec.browserbackend.common.commons.error.ClientRequestException
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.ZonedDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.List
;
@Service
public
class
IpAndShopServiceImpl
implements
IpAndShopService
{
private
final
Logger
logger
=
LoggerFactory
.
getLogger
(
IpAndShopServiceImpl
.
class
);
@Autowired
private
AccountRepository
accountRepository
;
@Autowired
private
UserShopRepository
userShopRepository
;
@Autowired
private
ShopRepository
shopRepository
;
@Autowired
private
IpResourceRepository
ipResourceRepository
;
@Override
public
void
bindShop
(
String
username
,
ShopRequestDto
shopRequestDto
)
{
String
shopId
=
shopRequestDto
.
getShopId
();
Account
account
=
accountRepository
.
findByName
(
username
);
if
(
account
==
null
)
{
throw
new
ClientRequestException
(
AccountErrorCode
.
NAMENOTEXIST
);
}
UserShop
userShop
=
userShopRepository
.
findByUsernameAndShopId
(
username
,
shopId
);
if
(
account
.
getPermission
()
<
4
||
userShop
==
null
)
{
throw
new
ClientRequestException
(
AccountErrorCode
.
NOPERMISSION
);
}
Shop
shop
=
shopRepository
.
findById
(
shopId
).
orElse
(
null
);
if
(
shop
==
null
)
throw
new
ClientRequestException
(
BrowserErrorCode
.
SHOPNOTEXIST
);
IpResource
ipResource
=
null
;
if
(
StringUtils
.
isNotBlank
(
shopRequestDto
.
getIpAddr
()))
{
ipResource
=
ipResourceRepository
.
findByAddrAndIsDeleted
(
shopRequestDto
.
getIpAddr
(),
false
);
}
else
if
(
StringUtils
.
isNotBlank
(
shopRequestDto
.
getIpId
()))
{
ipResource
=
ipResourceRepository
.
findByIdAndIsDeleted
(
shopRequestDto
.
getIpId
(),
false
);
}
if
(
shop
.
getIpId
()
!=
null
&&
shop
.
getIp
()
!=
null
)
{
unBindShop
(
username
,
shopRequestDto
);
}
if
(
ipResource
==
null
)
throw
new
ClientRequestException
(
BrowserErrorCode
.
IPNOTEXIST
);
try
{
shop
.
setIp
(
ipResource
.
getAddr
());
shop
.
setIpId
(
ipResource
.
getId
());
shop
.
setIpRegion
(
ipResource
.
getRegion
());
shop
.
setIpRegionCn
(
ipResource
.
getRegionCn
());
shopRepository
.
save
(
shop
);
ipResource
.
setShopId
(
shopId
);
if
(
shop
.
getShopName
()!=
null
)
ipResource
.
setShopName
(
shop
.
getShopName
());
ipResourceRepository
.
save
(
ipResource
);
List
<
UserShop
>
userShopList
=
userShopRepository
.
findByShopId
(
shopId
);
for
(
UserShop
userShop1
:
userShopList
)
{
userShop1
.
setIpId
(
ipResource
.
getId
());
userShopRepository
.
save
(
userShop1
);
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"fail to bind shop and ip"
,
e
.
getMessage
());
throw
new
ClientRequestException
(
BrowserErrorCode
.
UNKNOWN
);
}
}
@Override
public
void
unBindShop
(
String
username
,
ShopRequestDto
shopRequestDto
)
{
String
shopId
=
null
;
if
(
StringUtils
.
isNotBlank
(
shopRequestDto
.
getShopId
()))
shopId
=
shopRequestDto
.
getShopId
();
Account
account
=
accountRepository
.
findByName
(
username
);
if
(
account
==
null
)
{
throw
new
ClientRequestException
(
AccountErrorCode
.
NAMENOTEXIST
);
}
UserShop
userShop
=
userShopRepository
.
findByUsernameAndShopId
(
username
,
shopId
);
if
(
account
.
getPermission
()
<
4
||
userShop
==
null
)
{
throw
new
ClientRequestException
(
AccountErrorCode
.
NOPERMISSION
);
}
Shop
shop
=
shopRepository
.
findById
(
shopId
).
orElse
(
null
);
if
(
shop
==
null
)
throw
new
ClientRequestException
(
BrowserErrorCode
.
SHOPNOTEXIST
);
IpResource
ipResource
=
null
;
if
(
StringUtils
.
isNotBlank
(
shopRequestDto
.
getIpAddr
()))
{
ipResource
=
ipResourceRepository
.
findByAddrAndIsDeleted
(
shopRequestDto
.
getIpAddr
(),
false
);
}
else
if
(
StringUtils
.
isNotBlank
(
shopRequestDto
.
getIpId
()))
{
ipResource
=
ipResourceRepository
.
findByIdAndIsDeleted
(
shopRequestDto
.
getIpId
(),
false
);
}
if
(
ipResource
==
null
)
throw
new
ClientRequestException
(
BrowserErrorCode
.
IPNOTEXIST
);
if
(!
ipResource
.
getId
().
equals
(
shop
.
getIpId
()))
throw
new
ClientRequestException
(
BrowserErrorCode
.
IPNOTBINDTOSHOP
);
try
{
List
<
BindHistory
>
history
=
ipResource
.
getBindHistory
();
BindHistory
bindHistory
=
new
BindHistory
();
bindHistory
.
setIp
(
ipResource
.
getAddr
());
bindHistory
.
setPlatform
(
shop
.
getShopPlatform
());
bindHistory
.
setShopName
(
shop
.
getShopName
());
bindHistory
.
setUnbindTime
(
ZonedDateTime
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
history
.
add
(
bindHistory
);
shop
.
setIp
(
null
);
shop
.
setIpId
(
null
);
shop
.
setIpRegion
(
null
);
shop
.
setIpRegionCn
(
null
);
ipResource
.
setShopId
(
null
);
ipResource
.
setShopName
(
null
);
ipResourceRepository
.
save
(
ipResource
);
shopRepository
.
save
(
shop
);
List
<
UserShop
>
userShopList
=
userShopRepository
.
findByShopId
(
shopId
);
for
(
UserShop
userShop1
:
userShopList
)
{
userShop1
.
setIpId
(
null
);
userShopRepository
.
save
(
userShop1
);
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"fail to unbind"
,
e
.
getMessage
());
throw
new
ClientRequestException
(
BrowserErrorCode
.
UNKNOWN
);
}
}
}
src/main/java/com/edgec/browserbackend/browser/service/Impl/IpResourceServiceImpl.java
View file @
706b227b
...
@@ -12,7 +12,9 @@ import com.edgec.browserbackend.browser.ErrorCode.BrowserErrorCode;
...
@@ -12,7 +12,9 @@ import com.edgec.browserbackend.browser.ErrorCode.BrowserErrorCode;
import
com.edgec.browserbackend.browser.domain.*
;
import
com.edgec.browserbackend.browser.domain.*
;
import
com.edgec.browserbackend.browser.dto.*
;
import
com.edgec.browserbackend.browser.dto.*
;
import
com.edgec.browserbackend.browser.repository.*
;
import
com.edgec.browserbackend.browser.repository.*
;
import
com.edgec.browserbackend.browser.service.IpAndShopService
;
import
com.edgec.browserbackend.browser.service.IpResourceService
;
import
com.edgec.browserbackend.browser.service.IpResourceService
;
import
com.edgec.browserbackend.browser.service.ShopService
;
import
com.edgec.browserbackend.common.commons.error.ClientRequestException
;
import
com.edgec.browserbackend.common.commons.error.ClientRequestException
;
import
com.edgec.browserbackend.common.utils.FileUtil
;
import
com.edgec.browserbackend.common.utils.FileUtil
;
import
com.edgec.browserbackend.common.utils.PollerUtils
;
import
com.edgec.browserbackend.common.utils.PollerUtils
;
...
@@ -81,6 +83,9 @@ public class IpResourceServiceImpl implements IpResourceService {
...
@@ -81,6 +83,9 @@ public class IpResourceServiceImpl implements IpResourceService {
@Autowired
@Autowired
private
IpTransactionRepository
ipTransactionRepository
;
private
IpTransactionRepository
ipTransactionRepository
;
@Autowired
private
IpAndShopService
ipAndShopService
;
public
HttpHeaders
buildPostHeader
()
{
public
HttpHeaders
buildPostHeader
()
{
HttpHeaders
header
=
new
HttpHeaders
();
HttpHeaders
header
=
new
HttpHeaders
();
header
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
header
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
...
@@ -247,6 +252,13 @@ public class IpResourceServiceImpl implements IpResourceService {
...
@@ -247,6 +252,13 @@ public class IpResourceServiceImpl implements IpResourceService {
IpChargeRequestDto
ipChargeRequestDto
=
buildIpChargeRequestDto
(
ipResourceRequestDto
,
1
,
ipResourceRequestDto
.
getPayMethod
());
IpChargeRequestDto
ipChargeRequestDto
=
buildIpChargeRequestDto
(
ipResourceRequestDto
,
1
,
ipResourceRequestDto
.
getPayMethod
());
accountService
.
chargeByMoney
(
username
,
newprice
*
ipChargeRequestDto
.
getAmount
(),
ipChargeRequestDto
);
accountService
.
chargeByMoney
(
username
,
newprice
*
ipChargeRequestDto
.
getAmount
(),
ipChargeRequestDto
);
if
(
ipResourceRequestDto
.
getShopId
()
!=
null
)
{
ShopRequestDto
shopRequestDto
=
new
ShopRequestDto
();
shopRequestDto
.
setIpId
(
ipResourceDtos
.
get
(
0
).
getId
());
shopRequestDto
.
setShopId
(
ipResourceRequestDto
.
getShopId
());
ipAndShopService
.
bindShop
(
username
,
shopRequestDto
);
}
return
ipTransactionDto
;
return
ipTransactionDto
;
}
}
...
...
src/main/java/com/edgec/browserbackend/browser/service/Impl/ShopServiceImpl.java
View file @
706b227b
...
@@ -11,6 +11,7 @@ import com.edgec.browserbackend.browser.repository.GroupRepository;
...
@@ -11,6 +11,7 @@ import com.edgec.browserbackend.browser.repository.GroupRepository;
import
com.edgec.browserbackend.browser.repository.IpResourceRepository
;
import
com.edgec.browserbackend.browser.repository.IpResourceRepository
;
import
com.edgec.browserbackend.browser.repository.ShopRepository
;
import
com.edgec.browserbackend.browser.repository.ShopRepository
;
import
com.edgec.browserbackend.browser.repository.UserShopRepository
;
import
com.edgec.browserbackend.browser.repository.UserShopRepository
;
import
com.edgec.browserbackend.browser.service.IpAndShopService
;
import
com.edgec.browserbackend.browser.service.ShopService
;
import
com.edgec.browserbackend.browser.service.ShopService
;
import
com.edgec.browserbackend.common.commons.error.ClientRequestException
;
import
com.edgec.browserbackend.common.commons.error.ClientRequestException
;
import
com.edgec.browserbackend.common.utils.FileUtil
;
import
com.edgec.browserbackend.common.utils.FileUtil
;
...
@@ -58,6 +59,9 @@ public class ShopServiceImpl implements ShopService {
...
@@ -58,6 +59,9 @@ public class ShopServiceImpl implements ShopService {
@Autowired
@Autowired
IpResourceRepository
ipResourceRepository
;
IpResourceRepository
ipResourceRepository
;
@Autowired
IpAndShopService
ipAndShopService
;
@Override
@Override
public
String
addShop
(
String
username
,
ShopResultDto
shopResultDto
)
{
public
String
addShop
(
String
username
,
ShopResultDto
shopResultDto
)
{
Account
account
=
accountRepository
.
findByName
(
username
);
Account
account
=
accountRepository
.
findByName
(
username
);
...
@@ -207,7 +211,7 @@ public class ShopServiceImpl implements ShopService {
...
@@ -207,7 +211,7 @@ public class ShopServiceImpl implements ShopService {
ShopRequestDto
shopRequestDto
=
new
ShopRequestDto
();
ShopRequestDto
shopRequestDto
=
new
ShopRequestDto
();
shopRequestDto
.
setShopId
(
shopId
);
shopRequestDto
.
setShopId
(
shopId
);
shopRequestDto
.
setIpId
(
shop
.
getIpId
());
shopRequestDto
.
setIpId
(
shop
.
getIpId
());
unBindShop
(
username
,
shopRequestDto
);
ipAndShopService
.
unBindShop
(
username
,
shopRequestDto
);
}
}
boolean
result
=
userShopRepository
.
deleteByUsernameAndShopId
(
username
,
shopId
);
boolean
result
=
userShopRepository
.
deleteByUsernameAndShopId
(
username
,
shopId
);
if
(
result
)
{
if
(
result
)
{
...
@@ -217,101 +221,6 @@ public class ShopServiceImpl implements ShopService {
...
@@ -217,101 +221,6 @@ public class ShopServiceImpl implements ShopService {
}
else
throw
new
ClientRequestException
(
AccountErrorCode
.
NOPERMISSION
);
}
else
throw
new
ClientRequestException
(
AccountErrorCode
.
NOPERMISSION
);
}
}
@Override
public
void
bindShop
(
String
username
,
ShopRequestDto
shopRequestDto
)
{
String
shopId
=
shopRequestDto
.
getShopId
();
Account
account
=
accountRepository
.
findByName
(
username
);
if
(
account
==
null
)
{
throw
new
ClientRequestException
(
AccountErrorCode
.
NAMENOTEXIST
);
}
UserShop
userShop
=
userShopRepository
.
findByUsernameAndShopId
(
username
,
shopId
);
if
(
account
.
getPermission
()
<
4
||
userShop
==
null
)
{
throw
new
ClientRequestException
(
AccountErrorCode
.
NOPERMISSION
);
}
Shop
shop
=
shopRepository
.
findById
(
shopId
).
orElse
(
null
);
if
(
shop
==
null
)
throw
new
ClientRequestException
(
BrowserErrorCode
.
SHOPNOTEXIST
);
IpResource
ipResource
=
null
;
if
(
StringUtils
.
isNotBlank
(
shopRequestDto
.
getIpAddr
()))
{
ipResource
=
ipResourceRepository
.
findByAddrAndIsDeleted
(
shopRequestDto
.
getIpAddr
(),
false
);
}
else
if
(
StringUtils
.
isNotBlank
(
shopRequestDto
.
getIpId
()))
{
ipResource
=
ipResourceRepository
.
findByIdAndIsDeleted
(
shopRequestDto
.
getIpId
(),
false
);
}
if
(
shop
.
getIpId
()
!=
null
&&
shop
.
getIp
()
!=
null
)
{
unBindShop
(
username
,
shopRequestDto
);
}
if
(
ipResource
==
null
)
throw
new
ClientRequestException
(
BrowserErrorCode
.
IPNOTEXIST
);
try
{
shop
.
setIp
(
ipResource
.
getAddr
());
shop
.
setIpId
(
ipResource
.
getId
());
shop
.
setIpRegion
(
ipResource
.
getRegion
());
shop
.
setIpRegionCn
(
ipResource
.
getRegionCn
());
shopRepository
.
save
(
shop
);
ipResource
.
setShopId
(
shopId
);
if
(
shop
.
getShopName
()!=
null
)
ipResource
.
setShopName
(
shop
.
getShopName
());
ipResourceRepository
.
save
(
ipResource
);
userShop
.
setIpId
(
ipResource
.
getId
());
userShopRepository
.
save
(
userShop
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"fail to bind shop and ip"
,
e
.
getMessage
());
throw
new
ClientRequestException
(
BrowserErrorCode
.
UNKNOWN
);
}
}
@Override
public
void
unBindShop
(
String
username
,
ShopRequestDto
shopRequestDto
)
{
String
shopId
=
null
;
if
(
StringUtils
.
isNotBlank
(
shopRequestDto
.
getShopId
()))
shopId
=
shopRequestDto
.
getShopId
();
Account
account
=
accountRepository
.
findByName
(
username
);
if
(
account
==
null
)
{
throw
new
ClientRequestException
(
AccountErrorCode
.
NAMENOTEXIST
);
}
UserShop
userShop
=
userShopRepository
.
findByUsernameAndShopId
(
username
,
shopId
);
if
(
account
.
getPermission
()
<
4
||
userShop
==
null
)
{
throw
new
ClientRequestException
(
AccountErrorCode
.
NOPERMISSION
);
}
Shop
shop
=
shopRepository
.
findById
(
shopId
).
orElse
(
null
);
if
(
shop
==
null
)
throw
new
ClientRequestException
(
BrowserErrorCode
.
SHOPNOTEXIST
);
IpResource
ipResource
=
null
;
if
(
StringUtils
.
isNotBlank
(
shopRequestDto
.
getIpAddr
()))
{
ipResource
=
ipResourceRepository
.
findByAddrAndIsDeleted
(
shopRequestDto
.
getIpAddr
(),
false
);
}
else
if
(
StringUtils
.
isNotBlank
(
shopRequestDto
.
getIpId
()))
{
ipResource
=
ipResourceRepository
.
findByIdAndIsDeleted
(
shopRequestDto
.
getIpId
(),
false
);
}
if
(
ipResource
==
null
)
throw
new
ClientRequestException
(
BrowserErrorCode
.
IPNOTEXIST
);
if
(!
ipResource
.
getId
().
equals
(
shop
.
getIpId
()))
throw
new
ClientRequestException
(
BrowserErrorCode
.
IPNOTBINDTOSHOP
);
try
{
List
<
BindHistory
>
history
=
ipResource
.
getBindHistory
();
BindHistory
bindHistory
=
new
BindHistory
();
bindHistory
.
setIp
(
ipResource
.
getAddr
());
bindHistory
.
setPlatform
(
shop
.
getShopPlatform
());
bindHistory
.
setShopName
(
shop
.
getShopName
());
bindHistory
.
setUnbindTime
(
ZonedDateTime
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
history
.
add
(
bindHistory
);
shop
.
setIp
(
null
);
shop
.
setIpId
(
null
);
shop
.
setIpRegion
(
null
);
shop
.
setIpRegionCn
(
null
);
ipResource
.
setShopId
(
null
);
ipResource
.
setShopName
(
null
);
ipResourceRepository
.
save
(
ipResource
);
shopRepository
.
save
(
shop
);
userShop
.
setIpId
(
null
);
userShopRepository
.
save
(
userShop
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"fail to unbind"
,
e
.
getMessage
());
throw
new
ClientRequestException
(
BrowserErrorCode
.
UNKNOWN
);
}
}
@Override
@Override
public
void
transferShop
(
String
username
,
String
shopId
,
String
groupId
)
{
public
void
transferShop
(
String
username
,
String
shopId
,
String
groupId
)
{
Account
account
=
accountRepository
.
findByName
(
username
);
Account
account
=
accountRepository
.
findByName
(
username
);
...
...
src/main/java/com/edgec/browserbackend/browser/service/IpAndShopService.java
0 → 100644
View file @
706b227b
package
com
.
edgec
.
browserbackend
.
browser
.
service
;
import
com.edgec.browserbackend.browser.dto.ShopRequestDto
;
public
interface
IpAndShopService
{
void
bindShop
(
String
username
,
ShopRequestDto
shopRequestDto
);
void
unBindShop
(
String
username
,
ShopRequestDto
shopRequestDto
);
}
src/main/java/com/edgec/browserbackend/browser/service/ShopService.java
View file @
706b227b
...
@@ -21,10 +21,6 @@ public interface ShopService {
...
@@ -21,10 +21,6 @@ public interface ShopService {
void
deleteShop
(
String
username
,
String
shopId
);
void
deleteShop
(
String
username
,
String
shopId
);
void
bindShop
(
String
username
,
ShopRequestDto
shopRequestDto
);
void
unBindShop
(
String
username
,
ShopRequestDto
shopRequestDto
);
void
transferShop
(
String
username
,
String
shopId
,
String
groupId
);
void
transferShop
(
String
username
,
String
shopId
,
String
groupId
);
void
assignShops
(
String
username
,
List
<
String
>
shopIds
,
List
<
String
>
users
);
void
assignShops
(
String
username
,
List
<
String
>
shopIds
,
List
<
String
>
users
);
...
...
src/main/java/com/edgec/browserbackend/browser/task/BrowserTask.java
View file @
706b227b
...
@@ -6,15 +6,12 @@ import com.edgec.browserbackend.account.domain.IpChargeRequestDto;
...
@@ -6,15 +6,12 @@ import com.edgec.browserbackend.account.domain.IpChargeRequestDto;
import
com.edgec.browserbackend.account.repository.AccountRepository
;
import
com.edgec.browserbackend.account.repository.AccountRepository
;
import
com.edgec.browserbackend.account.service.AccountService
;
import
com.edgec.browserbackend.account.service.AccountService
;
import
com.edgec.browserbackend.browser.ErrorCode.BrowserErrorCode
;
import
com.edgec.browserbackend.browser.ErrorCode.BrowserErrorCode
;
import
com.edgec.browserbackend.browser.domain.IpResource
;
import
com.edgec.browserbackend.browser.domain.*
;
import
com.edgec.browserbackend.browser.domain.IpTransaction
;
import
com.edgec.browserbackend.browser.dto.*
;
import
com.edgec.browserbackend.browser.domain.IpType
;
import
com.edgec.browserbackend.browser.dto.IpBuyResultDto
;
import
com.edgec.browserbackend.browser.dto.IpInfoResultDto
;
import
com.edgec.browserbackend.browser.dto.IpResourceDto
;
import
com.edgec.browserbackend.browser.dto.IpResourceRequestDto
;
import
com.edgec.browserbackend.browser.repository.IpResourceRepository
;
import
com.edgec.browserbackend.browser.repository.IpResourceRepository
;
import
com.edgec.browserbackend.browser.repository.IpTransactionRepository
;
import
com.edgec.browserbackend.browser.repository.IpTransactionRepository
;
import
com.edgec.browserbackend.browser.service.IpAndShopService
;
import
com.edgec.browserbackend.browser.service.ShopService
;
import
com.edgec.browserbackend.common.utils.PollerUtils
;
import
com.edgec.browserbackend.common.utils.PollerUtils
;
import
com.edgec.browserbackend.common.utils.ThreadPoolUtils
;
import
com.edgec.browserbackend.common.utils.ThreadPoolUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -51,7 +48,7 @@ public class BrowserTask {
...
@@ -51,7 +48,7 @@ public class BrowserTask {
private
AccountService
accountService
;
private
AccountService
accountService
;
@Autowired
@Autowired
private
Ip
TransactionRepository
ipTransactionRepository
;
private
Ip
AndShopService
ipAndShopService
;
@Value
(
"${spring.profiles.active}"
)
@Value
(
"${spring.profiles.active}"
)
private
String
profiles
;
private
String
profiles
;
...
@@ -147,6 +144,12 @@ public class BrowserTask {
...
@@ -147,6 +144,12 @@ public class BrowserTask {
if
(
result
==
false
&&
(
ipResource
.
getPurchasedTime
()
<
Instant
.
now
().
minusSeconds
(
7200
).
toEpochMilli
()))
{
if
(
result
==
false
&&
(
ipResource
.
getPurchasedTime
()
<
Instant
.
now
().
minusSeconds
(
7200
).
toEpochMilli
()))
{
IpChargeRequestDto
ipChargeRequestDto
=
buildIpChargeRequestDto
(
ipResource
,
3
,
0
);
IpChargeRequestDto
ipChargeRequestDto
=
buildIpChargeRequestDto
(
ipResource
,
3
,
0
);
accountService
.
chargeByMoney
(
ipResource
.
getUsername
(),
-
ipResource
.
getPrice
(),
ipChargeRequestDto
);
accountService
.
chargeByMoney
(
ipResource
.
getUsername
(),
-
ipResource
.
getPrice
(),
ipChargeRequestDto
);
if
(
ipResource
.
getShopId
()
!=
null
)
{
ShopRequestDto
shopRequestDto
=
new
ShopRequestDto
();
shopRequestDto
.
setIpId
(
ipResource
.
getId
());
shopRequestDto
.
setShopId
(
ipResource
.
getShopId
());
ipAndShopService
.
unBindShop
(
ipResource
.
getUsername
(),
shopRequestDto
);
}
ipResourceRepository
.
deleteById
(
ipResource
.
getId
());
ipResourceRepository
.
deleteById
(
ipResource
.
getId
());
}
}
}
finally
{
}
finally
{
...
...
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