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
006341a9
Commit
006341a9
authored
Apr 01, 2024
by
程裕兵
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:list merchant
parent
753b47cd
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
218 additions
and
21 deletions
+218
-21
api/src/main/java/com/jiejing/fitness/finance/api/merchant/BrandMerchantApi.java
+2
-1
api/src/main/java/com/jiejing/fitness/finance/api/merchant/BrandMerchantApiFallback.java
+2
-2
api/src/main/java/com/jiejing/fitness/finance/api/merchant/vo/BrandMerchantVO.java
+121
-0
app/src/main/java/com/jiejing/fitness/finance/app/controller/merchant/BrandMerchantController.java
+2
-2
repository/src/main/java/com/jiejing/fitness/finance/repository/service/PartyToMerchantRpService.java
+8
-0
service/src/main/java/com/jiejing/fitness/finance/service/merchant/BrandMerchantService.java
+2
-1
service/src/main/java/com/jiejing/fitness/finance/service/merchant/convert/MerchantConvert.java
+44
-10
service/src/main/java/com/jiejing/fitness/finance/service/merchant/impl/BrandMerchantServiceImpl.java
+12
-5
service/src/main/java/com/jiejing/fitness/finance/service/merchant/impl/StudioMerchantServiceImpl.java
+3
-0
service/src/main/java/com/jiejing/fitness/finance/service/rpc/StudioRpcService.java
+22
-0
No files found.
api/src/main/java/com/jiejing/fitness/finance/api/merchant/BrandMerchantApi.java
View file @
006341a9
...
...
@@ -4,6 +4,7 @@ import com.jiejing.common.model.JsonResult;
import
com.jiejing.fitness.finance.api.merchant.request.BindBrandMerchantRequest
;
import
com.jiejing.fitness.finance.api.merchant.request.ListBrandMerchantRequest
;
import
com.jiejing.fitness.finance.api.merchant.request.UnbindBrandMerchantRequest
;
import
com.jiejing.fitness.finance.api.merchant.vo.BrandMerchantVO
;
import
com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantVO
;
import
io.swagger.annotations.ApiOperation
;
import
java.util.List
;
...
...
@@ -29,6 +30,6 @@ public interface BrandMerchantApi {
@ApiOperation
(
value
=
"查询品牌商户列表"
,
tags
=
{
TAG
})
@PostMapping
(
value
=
"/private/brandMerchant/list"
)
JsonResult
<
List
<
Studio
MerchantVO
>>
list
(
ListBrandMerchantRequest
request
);
JsonResult
<
List
<
Brand
MerchantVO
>>
list
(
ListBrandMerchantRequest
request
);
}
api/src/main/java/com/jiejing/fitness/finance/api/merchant/BrandMerchantApiFallback.java
View file @
006341a9
...
...
@@ -4,7 +4,7 @@ import com.jiejing.common.model.JsonResult;
import
com.jiejing.fitness.finance.api.merchant.request.BindBrandMerchantRequest
;
import
com.jiejing.fitness.finance.api.merchant.request.ListBrandMerchantRequest
;
import
com.jiejing.fitness.finance.api.merchant.request.UnbindBrandMerchantRequest
;
import
com.jiejing.fitness.finance.api.merchant.vo.
Studio
MerchantVO
;
import
com.jiejing.fitness.finance.api.merchant.vo.
Brand
MerchantVO
;
import
feign.hystrix.FallbackFactory
;
import
java.util.List
;
import
org.springframework.stereotype.Component
;
...
...
@@ -30,7 +30,7 @@ public class BrandMerchantApiFallback implements FallbackFactory<BrandMerchantAp
}
@Override
public
JsonResult
<
List
<
Studio
MerchantVO
>>
list
(
ListBrandMerchantRequest
request
)
{
public
JsonResult
<
List
<
Brand
MerchantVO
>>
list
(
ListBrandMerchantRequest
request
)
{
return
JsonResult
.
rpcError
();
}
};
...
...
api/src/main/java/com/jiejing/fitness/finance/api/merchant/vo/BrandMerchantVO.java
0 → 100644
View file @
006341a9
package
com
.
jiejing
.
fitness
.
finance
.
api
.
merchant
.
vo
;
import
com.jiejing.paycenter.api.merchant.vo.SubChannelConfigVO
;
import
com.jiejing.paycenter.common.enums.common.OpenStateEnums
;
import
com.jiejing.paycenter.common.enums.merchant.CompanyTypeEnums
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.util.List
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author chengyubing
* @since 2024/2/22 16:22
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
description
=
"品牌当前绑定的商户信息VO"
)
public
class
BrandMerchantVO
{
@ApiModelProperty
(
"品牌ID"
)
private
Long
brandId
;
@ApiModelProperty
(
"已经绑定的场馆名称集合"
)
private
List
<
String
>
studioNames
;
@ApiModelProperty
(
"渠道号"
)
private
String
channelNo
;
@ApiModelProperty
(
"商户ID(pay center提供)"
)
private
Long
merchantId
;
@ApiModelProperty
(
"三方商户号"
)
private
String
merchantNo
;
@ApiModelProperty
(
"商户名称"
)
private
String
merchantName
;
@ApiModelProperty
(
"商户简称"
)
private
String
shortName
;
/**
* @see CompanyTypeEnums
*/
@ApiModelProperty
(
"企业类型"
)
private
String
companyType
;
/**
* @see OpenStateEnums
*/
@ApiModelProperty
(
"支付宝开通状态:I-初始态;S-成功;F-失败 默认值: I"
)
private
String
aliOpenState
;
/**
* @see OpenStateEnums
*/
@ApiModelProperty
(
"支付宝认证状态"
)
private
String
aliAuthState
;
@ApiModelProperty
(
"支付宝商户号"
)
private
String
aliMerchantNo
;
@ApiModelProperty
(
"支付宝开通失败原因"
)
private
String
aliOpenFailMessage
;
/**
* @see OpenStateEnums
*/
@ApiModelProperty
(
"微信线下通道开通状态:I-初始态;S-成功;F-失败 默认值: I"
)
private
String
wxOfflineOpenState
;
/**
* @see OpenStateEnums
*/
@ApiModelProperty
(
"微信线下通道认证状态:I-初始态;S-成功;F-失败 默认值: I"
)
private
String
wxOfflineAuthState
;
@ApiModelProperty
(
"微信线下通道商户号"
)
private
String
wxOfflineMerchantNo
;
@ApiModelProperty
(
"微信线下通道开通失败原因"
)
private
String
wxOfflineOpenFailMessage
;
/**
* @see OpenStateEnums
*/
@ApiModelProperty
(
"微信线上通道开通状态:I-初始态;S-成功;F-失败 默认值: I"
)
private
String
wxOnlineOpenState
;
/**
* @see OpenStateEnums
*/
@ApiModelProperty
(
"微信线上通道认证状态:I-初始态;S-成功;F-失败 默认值: I"
)
private
String
wxOnlineAuthState
;
@ApiModelProperty
(
"微信线上通道商户号"
)
private
String
wxOnlineMerchantNo
;
@ApiModelProperty
(
"微信线下通道开通失败原因"
)
private
String
wxOnlineOpenFailMessage
;
@ApiModelProperty
(
value
=
"营业执照"
)
private
BrandLicenseVO
license
;
@ApiModelProperty
(
value
=
"法人信息"
)
private
BrandLegalVO
legal
;
@ApiModelProperty
(
value
=
"结算卡信息"
)
private
BrandBankCardVO
bankCard
;
@ApiModelProperty
(
value
=
"进件所需资料"
)
private
BrandResourceVO
resource
;
@ApiModelProperty
(
"子渠道配置记录"
)
private
List
<
SubChannelConfigVO
>
subChannelConfigs
;
}
app/src/main/java/com/jiejing/fitness/finance/app/controller/merchant/BrandMerchantController.java
View file @
006341a9
...
...
@@ -5,7 +5,7 @@ import com.jiejing.fitness.finance.api.merchant.BrandMerchantApi;
import
com.jiejing.fitness.finance.api.merchant.request.BindBrandMerchantRequest
;
import
com.jiejing.fitness.finance.api.merchant.request.ListBrandMerchantRequest
;
import
com.jiejing.fitness.finance.api.merchant.request.UnbindBrandMerchantRequest
;
import
com.jiejing.fitness.finance.api.merchant.vo.
Studio
MerchantVO
;
import
com.jiejing.fitness.finance.api.merchant.vo.
Brand
MerchantVO
;
import
com.jiejing.fitness.finance.service.merchant.BrandMerchantService
;
import
io.swagger.annotations.ApiOperation
;
import
java.util.List
;
...
...
@@ -44,7 +44,7 @@ public class BrandMerchantController implements BrandMerchantApi {
@ApiOperation
(
value
=
"查询品牌商户列表"
,
tags
=
{
TAG
})
@PostMapping
(
value
=
"/private/brandMerchant/list"
)
@Override
public
JsonResult
<
List
<
Studio
MerchantVO
>>
list
(
@RequestBody
@Valid
ListBrandMerchantRequest
request
)
{
public
JsonResult
<
List
<
Brand
MerchantVO
>>
list
(
@RequestBody
@Valid
ListBrandMerchantRequest
request
)
{
return
JsonResult
.
success
(
brandMerchantService
.
list
(
request
.
getBrandId
()));
}
...
...
repository/src/main/java/com/jiejing/fitness/finance/repository/service/PartyToMerchantRpService.java
View file @
006341a9
...
...
@@ -75,4 +75,12 @@ public class PartyToMerchantRpService extends
wrapper
.
eq
(
PartyToMerchant
.
MERCHANT_ID
,
merchantId
);
this
.
baseMapper
.
delete
(
wrapper
);
}
public
List
<
PartyToMerchant
>
listByMerchantIdsAndPartyType
(
List
<
Long
>
merchantIds
,
PartyTypeEnums
partyType
)
{
QueryWrapper
<
PartyToMerchant
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
in
(
PartyToMerchant
.
MERCHANT_ID
,
merchantIds
);
wrapper
.
eq
(
PartyToMerchant
.
PARTY_TYPE
,
partyType
);
return
this
.
baseMapper
.
selectList
(
wrapper
);
}
}
service/src/main/java/com/jiejing/fitness/finance/service/merchant/BrandMerchantService.java
View file @
006341a9
package
com
.
jiejing
.
fitness
.
finance
.
service
.
merchant
;
import
com.jiejing.fitness.finance.api.merchant.vo.BrandMerchantVO
;
import
com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantVO
;
import
java.util.List
;
...
...
@@ -33,6 +34,6 @@ public interface BrandMerchantService {
* @param brandId 品牌ID
* @return 商户
*/
List
<
Studio
MerchantVO
>
list
(
Long
brandId
);
List
<
Brand
MerchantVO
>
list
(
Long
brandId
);
}
service/src/main/java/com/jiejing/fitness/finance/service/merchant/convert/MerchantConvert.java
View file @
006341a9
...
...
@@ -15,6 +15,7 @@ import com.jiejing.fitness.finance.api.merchant.request.model.BrandResourceInfo;
import
com.jiejing.fitness.finance.api.merchant.vo.BrandBankCardVO
;
import
com.jiejing.fitness.finance.api.merchant.vo.BrandLegalVO
;
import
com.jiejing.fitness.finance.api.merchant.vo.BrandLicenseVO
;
import
com.jiejing.fitness.finance.api.merchant.vo.BrandMerchantVO
;
import
com.jiejing.fitness.finance.api.merchant.vo.BrandResourceVO
;
import
com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantApplyVO
;
import
com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantVO
;
...
...
@@ -456,7 +457,38 @@ public class MerchantConvert {
public
static
StudioMerchantVO
convertStudioMerchant
(
PartyToMerchant
relation
,
MerchantVO
merchant
,
SubChannelInfoDTO
dto
,
Map
<
Long
,
String
>
urlMap
)
{
return
convertBrandMerchant
(
null
,
relation
.
getPartyId
(),
merchant
,
dto
,
urlMap
);
Map
<
SubChannelOpenTypeEnums
,
SubChannelInfo
>
channelMap
=
convertSubChannelMap
(
JsonUtil
.
convertList
(
merchant
.
getSubChannels
(),
SubChannelInfo
.
class
),
dto
.
getSubChannels
());
SubChannelInfo
ali
=
channelMap
.
get
(
SubChannelOpenTypeEnums
.
ALI_OFFLINE
);
SubChannelInfo
wxGzhOffline
=
channelMap
.
get
(
SubChannelOpenTypeEnums
.
WX_GZH_OFFLINE
);
OpenStateEnums
wxOfflineState
=
convertWxOfflineState
(
channelMap
);
String
wxOfflineFailMessage
=
convertWxOfflineFailMessage
(
channelMap
);
OpenStateEnums
aliAuthState
=
convertAliAuthState
(
JsonUtil
.
convertList
(
merchant
.
getSubChannelAuths
(),
SubChannelAuthInfo
.
class
));
OpenStateEnums
wxOfflineAuthState
=
convertWxOfflineAuthState
(
JsonUtil
.
convertList
(
merchant
.
getSubChannelAuths
(),
SubChannelAuthInfo
.
class
));
return
StudioMerchantVO
.
builder
()
.
studioId
(
relation
.
getPartyId
())
.
channelNo
(
merchant
.
getChannelNo
())
.
merchantId
(
merchant
.
getId
())
.
merchantNo
(
merchant
.
getMerchantNo
())
.
merchantName
(
merchant
.
getMerchantName
())
.
shortName
(
merchant
.
getShortName
())
.
companyType
(
merchant
.
getCompanyType
())
.
aliOpenState
(
Optional
.
ofNullable
(
ali
.
getState
()).
map
(
Enum:
:
name
).
orElse
(
null
))
.
aliAuthState
(
Optional
.
ofNullable
(
aliAuthState
).
map
(
Enum:
:
name
).
orElse
(
null
))
.
aliMerchantNo
(
JSON
.
toJSONString
(
ali
.
getMerchantNos
()))
.
aliOpenFailMessage
(
ali
.
getFailMessage
())
.
wxOfflineOpenState
(
Optional
.
ofNullable
(
wxOfflineState
).
map
(
Enum:
:
name
).
orElse
(
null
))
.
wxOfflineMerchantNo
(
JSON
.
toJSONString
(
wxGzhOffline
.
getMerchantNos
()))
.
wxOfflineAuthState
(
Optional
.
ofNullable
(
wxOfflineAuthState
).
map
(
Enum:
:
name
).
orElse
(
null
))
.
wxOfflineOpenFailMessage
(
wxOfflineFailMessage
)
.
license
(
JsonUtil
.
convertObject
(
merchant
.
getLicense
(),
BrandLicenseVO
.
class
))
.
legal
(
convertLegal
(
merchant
.
getLegal
(),
merchant
.
getContact
()))
.
bankCard
(
JsonUtil
.
convertObject
(
merchant
.
getBankCard
(),
BrandBankCardVO
.
class
))
.
resource
(
convertResource
(
merchant
.
getResourceMap
(),
urlMap
))
.
subChannelConfigs
(
merchant
.
getSubChannelConfigs
())
.
build
();
}
public
static
StudioMerchantApplyVO
convertApply
(
StudioMerchantApply
apply
)
{
...
...
@@ -501,8 +533,8 @@ public class MerchantConvert {
return
merchant
;
}
private
static
StudioMerchantVO
convertBrandMerchant
(
Long
brandId
,
Long
studioId
,
MerchantVO
merchant
,
SubChannelInfoDTO
dto
,
Map
<
Long
,
String
>
urlMap
)
{
private
static
BrandMerchantVO
convertBrandMerchant
(
Long
brandId
,
List
<
String
>
studioNames
,
MerchantVO
merchant
,
SubChannelInfoDTO
dto
)
{
Map
<
SubChannelOpenTypeEnums
,
SubChannelInfo
>
channelMap
=
convertSubChannelMap
(
JsonUtil
.
convertList
(
merchant
.
getSubChannels
(),
SubChannelInfo
.
class
),
dto
.
getSubChannels
());
SubChannelInfo
ali
=
channelMap
.
get
(
SubChannelOpenTypeEnums
.
ALI_OFFLINE
);
...
...
@@ -513,9 +545,9 @@ public class MerchantConvert {
JsonUtil
.
convertList
(
merchant
.
getSubChannelAuths
(),
SubChannelAuthInfo
.
class
));
OpenStateEnums
wxOfflineAuthState
=
convertWxOfflineAuthState
(
JsonUtil
.
convertList
(
merchant
.
getSubChannelAuths
(),
SubChannelAuthInfo
.
class
));
return
Studio
MerchantVO
.
builder
()
return
Brand
MerchantVO
.
builder
()
.
brandId
(
brandId
)
.
studio
Id
(
studioId
)
.
studio
Names
(
studioNames
)
.
channelNo
(
merchant
.
getChannelNo
())
.
merchantId
(
merchant
.
getId
())
.
merchantNo
(
merchant
.
getMerchantNo
())
...
...
@@ -533,14 +565,16 @@ public class MerchantConvert {
.
license
(
JsonUtil
.
convertObject
(
merchant
.
getLicense
(),
BrandLicenseVO
.
class
))
.
legal
(
convertLegal
(
merchant
.
getLegal
(),
merchant
.
getContact
()))
.
bankCard
(
JsonUtil
.
convertObject
(
merchant
.
getBankCard
(),
BrandBankCardVO
.
class
))
.
resource
(
convertResource
(
merchant
.
getResourceMap
(),
urlMap
))
.
subChannelConfigs
(
merchant
.
getSubChannelConfigs
())
.
build
();
}
public
static
List
<
StudioMerchantVO
>
convertBrandMerchantList
(
Long
brandId
,
List
<
MerchantVO
>
merchants
,
SubChannelInfoDTO
dto
)
{
return
merchants
.
stream
().
map
(
e
->
convertBrandMerchant
(
brandId
,
null
,
e
,
dto
,
null
))
.
collect
(
Collectors
.
toList
());
public
static
List
<
BrandMerchantVO
>
convertBrandMerchantList
(
Long
brandId
,
List
<
MerchantVO
>
merchants
,
SubChannelInfoDTO
dto
,
Map
<
Long
,
List
<
StudioVO
>>
studioMap
)
{
return
merchants
.
stream
().
map
(
e
->
{
List
<
String
>
studioNames
=
studioMap
.
getOrDefault
(
e
.
getId
(),
new
ArrayList
<>()).
stream
()
.
map
(
StudioVO:
:
getName
).
collect
(
Collectors
.
toList
());
return
convertBrandMerchant
(
brandId
,
studioNames
,
e
,
dto
);
}).
collect
(
Collectors
.
toList
());
}
}
service/src/main/java/com/jiejing/fitness/finance/service/merchant/impl/BrandMerchantServiceImpl.java
View file @
006341a9
package
com
.
jiejing
.
fitness
.
finance
.
service
.
merchant
.
impl
;
import
com.jiejing.fitness.finance.api.enums.PartyTypeEnums
;
import
com.jiejing.fitness.finance.api.merchant.vo.
Studio
MerchantVO
;
import
com.jiejing.fitness.finance.api.merchant.vo.
Brand
MerchantVO
;
import
com.jiejing.fitness.finance.repository.entity.PartyToMerchant
;
import
com.jiejing.fitness.finance.repository.entity.StudioMerchantApply
;
import
com.jiejing.fitness.finance.repository.service.PartyToMerchantRpService
;
...
...
@@ -10,9 +10,11 @@ import com.jiejing.fitness.finance.service.global.ConfigService;
import
com.jiejing.fitness.finance.service.merchant.BrandMerchantService
;
import
com.jiejing.fitness.finance.service.merchant.convert.MerchantConvert
;
import
com.jiejing.fitness.finance.service.rpc.MerchantRpcService
;
import
com.jiejing.fitness.finance.service.rpc.
Resource
RpcService
;
import
com.jiejing.fitness.finance.service.rpc.
Studio
RpcService
;
import
com.jiejing.paycenter.api.merchant.vo.MerchantVO
;
import
com.jiejing.studio.api.studio.vo.StudioVO
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -45,7 +47,7 @@ public class BrandMerchantServiceImpl implements BrandMerchantService {
private
ConfigService
configService
;
@Resource
private
ResourceRpcService
resource
RpcService
;
private
StudioRpcService
studio
RpcService
;
@Override
public
void
bind
(
Long
brandId
,
Long
merchantId
)
{
...
...
@@ -67,14 +69,19 @@ public class BrandMerchantServiceImpl implements BrandMerchantService {
}
@Override
public
List
<
Studio
MerchantVO
>
list
(
Long
brandId
)
{
public
List
<
Brand
MerchantVO
>
list
(
Long
brandId
)
{
List
<
PartyToMerchant
>
relations
=
partyToMerchantRpService
.
listByParty
(
brandId
,
PartyTypeEnums
.
BRAND
,
channel
);
List
<
Long
>
merchantIds
=
relations
.
stream
().
map
(
PartyToMerchant:
:
getMerchantId
)
.
collect
(
Collectors
.
toList
());
List
<
PartyToMerchant
>
studioRelations
=
partyToMerchantRpService
.
listByMerchantIdsAndPartyType
(
merchantIds
,
PartyTypeEnums
.
STUDIO
);
List
<
Long
>
studioIds
=
studioRelations
.
stream
().
map
(
PartyToMerchant:
:
getPartyId
)
.
collect
(
Collectors
.
toList
());
Map
<
Long
,
List
<
StudioVO
>>
studioMap
=
studioRpcService
.
mapStudioByBrandId
(
studioIds
);
List
<
MerchantVO
>
merchants
=
merchantRpcService
.
listByIds
(
merchantIds
);
return
MerchantConvert
.
convertBrandMerchantList
(
brandId
,
merchants
,
configService
.
getDefaultBrandSubChannelInfo
());
configService
.
getDefaultBrandSubChannelInfo
()
,
studioMap
);
}
}
service/src/main/java/com/jiejing/fitness/finance/service/merchant/impl/StudioMerchantServiceImpl.java
View file @
006341a9
...
...
@@ -119,8 +119,11 @@ public class StudioMerchantServiceImpl implements StudioMerchantService {
}
@Transactional
(
propagation
=
Propagation
.
REQUIRED
,
rollbackFor
=
Exception
.
class
)
@Override
public
void
bind
(
Long
studioId
,
Long
merchantId
)
{
// 解绑后,绑定新商户
this
.
unbindAll
(
studioId
);
PartyToMerchant
relation
=
getRelation
(
studioId
);
StudioMerchantApply
apply
=
studioMerchantApplyRpService
.
getLatestOneSuccessByMerchantId
(
merchantId
);
if
(
null
==
relation
)
{
...
...
service/src/main/java/com/jiejing/fitness/finance/service/rpc/StudioRpcService.java
View file @
006341a9
...
...
@@ -2,8 +2,14 @@ package com.jiejing.fitness.finance.service.rpc;
import
com.jiejing.common.model.JsonResult
;
import
com.jiejing.common.request.IdRequest
;
import
com.jiejing.common.request.IdsRequest
;
import
com.jiejing.studio.api.studio.StudioApi
;
import
com.jiejing.studio.api.studio.vo.StudioVO
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
import
javax.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
...
...
@@ -25,4 +31,20 @@ public class StudioRpcService {
return
result
.
getResult
();
}
public
Map
<
Long
,
StudioVO
>
mapStudio
(
List
<
Long
>
studioIds
)
{
List
<
StudioVO
>
list
=
this
.
listStudio
(
studioIds
);
return
list
.
stream
().
collect
(
Collectors
.
toMap
(
StudioVO:
:
getId
,
e
->
e
));
}
public
List
<
StudioVO
>
listStudio
(
List
<
Long
>
studioIds
)
{
JsonResult
<
List
<
StudioVO
>>
result
=
studioApi
.
listStudio
(
IdsRequest
.
builder
().
ids
(
studioIds
).
build
());
result
.
assertSuccess
();
return
Optional
.
ofNullable
(
result
.
getResult
()).
orElse
(
new
ArrayList
<>());
}
public
Map
<
Long
,
List
<
StudioVO
>>
mapStudioByBrandId
(
List
<
Long
>
studioIds
)
{
return
this
.
listStudio
(
studioIds
)
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
StudioVO:
:
getBrandId
));
}
}
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