Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fit-finance
Overview
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
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fitness-server
fit-finance
Commits
d1430411
Commit
d1430411
authored
Feb 20, 2024
by
程裕兵
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:upload
parent
c17d937f
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
97 additions
and
0 deletions
+97
-0
service/src/main/java/com/jiejing/fitness/finance/service/merchant/impl/BrandMerchantServiceImpl.java
+50
-0
service/src/main/java/com/jiejing/fitness/finance/service/rpc/MerchantRpcService.java
+8
-0
service/src/main/java/com/jiejing/fitness/finance/service/rpc/ResourceRpcService.java
+39
-0
No files found.
service/src/main/java/com/jiejing/fitness/finance/service/merchant/impl/BrandMerchantServiceImpl.java
View file @
d1430411
package
com
.
jiejing
.
fitness
.
finance
.
service
.
merchant
.
impl
;
package
com
.
jiejing
.
fitness
.
finance
.
service
.
merchant
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.jiejing.common.exception.BizException
;
import
com.jiejing.common.utils.collection.CollectionUtil
;
import
com.jiejing.filecenter.api.resource.vo.ResourceInfoVO
;
import
com.jiejing.fitness.finance.repository.entity.BrandMerchantApply
;
import
com.jiejing.fitness.finance.repository.entity.BrandMerchantApply
;
import
com.jiejing.fitness.finance.repository.service.BrandMerchantApplyRpService
;
import
com.jiejing.fitness.finance.repository.service.BrandMerchantApplyRpService
;
import
com.jiejing.fitness.finance.service.merchant.BrandMerchantService
;
import
com.jiejing.fitness.finance.service.merchant.BrandMerchantService
;
import
com.jiejing.fitness.finance.service.merchant.convert.MerchantConvert
;
import
com.jiejing.fitness.finance.service.merchant.convert.MerchantConvert
;
import
com.jiejing.fitness.finance.service.merchant.params.ApplyBrandMerchantParams
;
import
com.jiejing.fitness.finance.service.merchant.params.ApplyBrandMerchantParams
;
import
com.jiejing.fitness.finance.service.rpc.MerchantRpcService
;
import
com.jiejing.fitness.finance.service.rpc.MerchantRpcService
;
import
com.jiejing.fitness.finance.service.rpc.ResourceRpcService
;
import
com.jiejing.fitness.finance.service.rpc.StudioRpcService
;
import
com.jiejing.fitness.finance.service.rpc.StudioRpcService
;
import
com.jiejing.paycenter.api.merchant.request.ApplyMerchantRequest
;
import
com.jiejing.paycenter.api.merchant.request.ApplyMerchantRequest
;
import
com.jiejing.paycenter.api.merchant.request.UploadRequest
;
import
com.jiejing.paycenter.common.enums.common.OpenStateEnums
;
import
com.jiejing.paycenter.common.enums.common.OpenStateEnums
;
import
com.jiejing.paycenter.common.enums.error.PayErrorEnums
;
import
com.jiejing.paycenter.common.enums.merchant.ResourceTypeEnums
;
import
com.jiejing.paycenter.common.model.ResourceInfo
;
import
com.jiejing.studio.api.studio.vo.StudioVO
;
import
com.jiejing.studio.api.studio.vo.StudioVO
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
...
@@ -35,11 +48,16 @@ public class BrandMerchantServiceImpl implements BrandMerchantService {
...
@@ -35,11 +48,16 @@ public class BrandMerchantServiceImpl implements BrandMerchantService {
private
MerchantRpcService
merchantRpcService
;
private
MerchantRpcService
merchantRpcService
;
@Resource
@Resource
private
ResourceRpcService
resourceRpcService
;
@Resource
private
BrandMerchantApplyRpService
brandMerchantApplyRpService
;
private
BrandMerchantApplyRpService
brandMerchantApplyRpService
;
@Override
@Override
public
void
apply
(
ApplyBrandMerchantParams
params
)
{
public
void
apply
(
ApplyBrandMerchantParams
params
)
{
this
.
upload
(
params
);
StudioVO
studio
=
studioRpcService
.
getStudio
(
params
.
getStudioId
());
StudioVO
studio
=
studioRpcService
.
getStudio
(
params
.
getStudioId
());
BrandMerchantApply
exist
=
brandMerchantApplyRpService
.
getLatestOneSuccessByBrandId
(
studio
.
getBrandId
());
BrandMerchantApply
exist
=
brandMerchantApplyRpService
.
getLatestOneSuccessByBrandId
(
studio
.
getBrandId
());
BrandMerchantApply
apply
=
MerchantConvert
.
convertApply
(
params
,
studio
,
exist
,
channel
);
BrandMerchantApply
apply
=
MerchantConvert
.
convertApply
(
params
,
studio
,
exist
,
channel
);
...
@@ -58,4 +76,36 @@ public class BrandMerchantServiceImpl implements BrandMerchantService {
...
@@ -58,4 +76,36 @@ public class BrandMerchantServiceImpl implements BrandMerchantService {
}
}
private
void
upload
(
ApplyBrandMerchantParams
params
)
{
Map
<
Long
,
ResourceInfoVO
>
resourceIdUrlMap
=
resourceRpcService
.
getResourceMap
(
params
.
getStudioId
(),
getResourceIds
(
params
));
List
<
ResourceTypeEnums
>
resourceTypes
=
params
.
getResourceInfo
().
keySet
().
stream
().
filter
(
type
->
{
Long
resourceId
=
params
.
getResourceInfo
().
get
(
type
).
getResourceId
();
return
type
.
getMaxSize
().
compareTo
(
resourceIdUrlMap
.
get
(
resourceId
).
getFileSize
())
<
0
;
}).
collect
(
Collectors
.
toList
());
if
(
CollectionUtil
.
isNotEmpty
(
resourceTypes
))
{
String
message
=
""
;
for
(
ResourceTypeEnums
type
:
resourceTypes
)
{
message
=
message
+
"["
+
type
.
getDesc
()
+
"大小不超过"
+
type
.
getMaxSize
()
/
1024
/
1024
+
"MB]"
;
}
throw
new
BizException
(
PayErrorEnums
.
PARAMS_ERROR
,
new
JSONObject
().
fluentPut
(
"message"
,
message
));
}
params
.
getResourceInfo
().
keySet
().
forEach
(
type
->
{
Long
resourceId
=
params
.
getResourceInfo
().
get
(
type
).
getResourceId
();
String
url
=
resourceIdUrlMap
.
get
(
resourceId
).
getUrl
();
String
thirdId
=
merchantRpcService
.
upload
(
UploadRequest
.
builder
().
url
(
url
).
channelNo
(
channel
).
resourceType
(
type
).
build
());
params
.
getResourceInfo
().
get
(
type
).
setThirdId
(
thirdId
);
});
}
private
List
<
Long
>
getResourceIds
(
ApplyBrandMerchantParams
params
)
{
return
params
.
getResourceInfo
().
values
().
stream
()
.
map
(
ResourceInfo:
:
getResourceId
)
.
filter
(
Objects:
:
nonNull
)
.
distinct
()
.
collect
(
Collectors
.
toList
());
}
}
}
service/src/main/java/com/jiejing/fitness/finance/service/rpc/MerchantRpcService.java
View file @
d1430411
...
@@ -3,7 +3,9 @@ package com.jiejing.fitness.finance.service.rpc;
...
@@ -3,7 +3,9 @@ package com.jiejing.fitness.finance.service.rpc;
import
com.jiejing.common.model.JsonResult
;
import
com.jiejing.common.model.JsonResult
;
import
com.jiejing.paycenter.api.merchant.MerchantApi
;
import
com.jiejing.paycenter.api.merchant.MerchantApi
;
import
com.jiejing.paycenter.api.merchant.request.ApplyMerchantRequest
;
import
com.jiejing.paycenter.api.merchant.request.ApplyMerchantRequest
;
import
com.jiejing.paycenter.api.merchant.request.UploadRequest
;
import
com.jiejing.paycenter.api.merchant.vo.ApplyMerchantResultVO
;
import
com.jiejing.paycenter.api.merchant.vo.ApplyMerchantResultVO
;
import
com.jiejing.paycenter.api.merchant.vo.UploadVO
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -19,6 +21,12 @@ public class MerchantRpcService {
...
@@ -19,6 +21,12 @@ public class MerchantRpcService {
@Resource
@Resource
private
MerchantApi
merchantApi
;
private
MerchantApi
merchantApi
;
public
String
upload
(
UploadRequest
request
)
{
JsonResult
<
UploadVO
>
result
=
merchantApi
.
upload
(
request
);
result
.
assertSuccess
();
return
result
.
getResult
().
getThirdId
();
}
public
ApplyMerchantResultVO
apply
(
ApplyMerchantRequest
request
)
{
public
ApplyMerchantResultVO
apply
(
ApplyMerchantRequest
request
)
{
JsonResult
<
ApplyMerchantResultVO
>
result
=
merchantApi
.
apply
(
request
);
JsonResult
<
ApplyMerchantResultVO
>
result
=
merchantApi
.
apply
(
request
);
result
.
assertSuccess
();
result
.
assertSuccess
();
...
...
service/src/main/java/com/jiejing/fitness/finance/service/rpc/ResourceRpcService.java
0 → 100644
View file @
d1430411
package
com
.
jiejing
.
fitness
.
finance
.
service
.
rpc
;
import
com.jiejing.common.model.JsonResult
;
import
com.jiejing.filecenter.api.common.enums.AccessTypeEnum
;
import
com.jiejing.filecenter.api.resource.ResourceApi
;
import
com.jiejing.filecenter.api.resource.request.BatchQueryMultiResourceRequest
;
import
com.jiejing.filecenter.api.resource.vo.ResourceInfoVO
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
import
org.springframework.stereotype.Service
;
/**
* @author chengyubing
* @since 2024/1/25 18:05
*/
@Service
public
class
ResourceRpcService
{
@Resource
private
ResourceApi
resourceApi
;
public
Map
<
Long
,
ResourceInfoVO
>
getResourceMap
(
Long
partyId
,
List
<
Long
>
resourceIds
)
{
BatchQueryMultiResourceRequest
request
=
new
BatchQueryMultiResourceRequest
();
request
.
setAccessTypeEnum
(
AccessTypeEnum
.
PUBLIC
);
request
.
setResourceIds
(
resourceIds
);
request
.
setTenantId
(
partyId
);
request
.
setExpire
(
TimeUnit
.
SECONDS
.
toMillis
(
60
));
JsonResult
<
List
<
ResourceInfoVO
>>
result
=
resourceApi
.
getInfoByIds
(
request
);
return
Optional
.
ofNullable
(
result
.
getResult
())
.
map
(
list
->
list
.
stream
().
collect
(
Collectors
.
toMap
(
ResourceInfoVO:
:
getResourceId
,
e
->
e
)))
.
orElse
(
new
HashMap
<>(
1
));
}
}
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