Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-product
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
xingmin
yd-product
Commits
1635637b
Commit
1635637b
authored
Dec 30, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
列表查询-来佣比率规格和规格明细信息
parent
758600b3
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
265 additions
and
0 deletions
+265
-0
yd-product-api/src/main/java/com/yd/product/api/controller/ApiExpectedSpeciesController.java
+13
-0
yd-product-api/src/main/java/com/yd/product/api/service/ApiExpectedSpeciesService.java
+6
-0
yd-product-api/src/main/java/com/yd/product/api/service/impl/ApiExpectedSpeciesServiceImpl.java
+13
-0
yd-product-feign/src/main/java/com/yd/product/feign/client/expectedspecies/ApiExpectedSpeciesFeignClient.java
+11
-0
yd-product-feign/src/main/java/com/yd/product/feign/client/relprojectproductlaunch/ApiRelProjectProductLaunchFeignClient.java
+2
-0
yd-product-feign/src/main/java/com/yd/product/feign/fallback/expectedspecies/ApiExpectedSpeciesFeignFallbackFactory.java
+9
-0
yd-product-feign/src/main/java/com/yd/product/feign/request/expectedspecies/ApiExpectedSpeciesListRequest.java
+15
-0
yd-product-feign/src/main/java/com/yd/product/feign/response/expectedspecies/ApiExpectedSpeciesListResponse.java
+125
-0
yd-product-service/src/main/java/com/yd/product/service/dao/ExpectedSpeciesMapper.java
+6
-0
yd-product-service/src/main/java/com/yd/product/service/service/IExpectedSpeciesService.java
+4
-0
yd-product-service/src/main/java/com/yd/product/service/service/impl/ExpectedSpeciesServiceImpl.java
+7
-0
yd-product-service/src/main/resources/mappers/ExpectedSpeciesMapper.xml
+54
-0
No files found.
yd-product-api/src/main/java/com/yd/product/api/controller/ApiExpectedSpeciesController.java
View file @
1635637b
...
...
@@ -5,7 +5,9 @@ import com.yd.common.result.Result;
import
com.yd.product.api.service.ApiExpectedSpeciesService
;
import
com.yd.product.feign.client.expectedspecies.ApiExpectedSpeciesFeignClient
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesImportRequest
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesListRequest
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest
;
import
com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesListResponse
;
import
com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesPageResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
...
...
@@ -13,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.validation.constraints.NotBlank
;
import
java.util.List
;
/**
* 来佣比率规格信息
...
...
@@ -57,4 +60,14 @@ public class ApiExpectedSpeciesController implements ApiExpectedSpeciesFeignClie
public
Result
delSpecies
(
String
expectedSpeciesBizId
)
{
return
apiExpectedSpeciesService
.
delSpecies
(
expectedSpeciesBizId
);
}
/**
* 列表查询-来佣比率规格和规格明细信息
* @param request
* @return
*/
@Override
public
Result
<
List
<
ApiExpectedSpeciesListResponse
>>
list
(
ApiExpectedSpeciesListRequest
request
)
{
return
apiExpectedSpeciesService
.
list
(
request
);
}
}
yd-product-api/src/main/java/com/yd/product/api/service/ApiExpectedSpeciesService.java
View file @
1635637b
...
...
@@ -3,10 +3,14 @@ package com.yd.product.api.service;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesImportRequest
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesListRequest
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest
;
import
com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesListResponse
;
import
com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesPageResponse
;
import
com.yd.product.service.model.ExpectedSpecies
;
import
java.util.List
;
public
interface
ApiExpectedSpeciesService
{
Result
<
IPage
<
ApiExpectedSpeciesPageResponse
>>
page
(
ApiExpectedSpeciesPageRequest
request
);
...
...
@@ -14,5 +18,7 @@ public interface ApiExpectedSpeciesService {
Result
delSpecies
(
String
expectedSpeciesBizId
);
Result
<
List
<
ApiExpectedSpeciesListResponse
>>
list
(
ApiExpectedSpeciesListRequest
request
);
Result
<
ExpectedSpecies
>
checkExpectedSpeciesIsExist
(
String
expectedSpeciesBizId
);
}
yd-product-api/src/main/java/com/yd/product/api/service/impl/ApiExpectedSpeciesServiceImpl.java
View file @
1635637b
...
...
@@ -13,7 +13,9 @@ import com.yd.product.api.service.ApiSpeciesPriceService;
import
com.yd.product.api.service.ApiSpeciesSettingService
;
import
com.yd.product.feign.dto.ApiSpeciesPriceDto
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesImportRequest
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesListRequest
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest
;
import
com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesListResponse
;
import
com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesPageResponse
;
import
com.yd.product.service.model.AnnouncementSpecies
;
import
com.yd.product.service.model.ExpectedSpecies
;
...
...
@@ -110,6 +112,17 @@ public class ApiExpectedSpeciesServiceImpl implements ApiExpectedSpeciesService
}
/**
* 列表查询-来佣比率规格和规格明细信息
* @param request
* @return
*/
@Override
public
Result
<
List
<
ApiExpectedSpeciesListResponse
>>
list
(
ApiExpectedSpeciesListRequest
request
)
{
List
<
ApiExpectedSpeciesListResponse
>
listResponses
=
iExpectedSpeciesService
.
list
(
request
);
return
Result
.
success
(
listResponses
);
}
/**
* 校验来佣比率规格信息是否存在
* @param expectedSpeciesBizId
* @return
...
...
yd-product-feign/src/main/java/com/yd/product/feign/client/expectedspecies/ApiExpectedSpeciesFeignClient.java
View file @
1635637b
...
...
@@ -3,7 +3,9 @@ package com.yd.product.feign.client.expectedspecies;
import
com.yd.common.result.Result
;
import
com.yd.product.feign.fallback.expectedspecies.ApiExpectedSpeciesFeignFallbackFactory
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesImportRequest
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesListRequest
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest
;
import
com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesListResponse
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
@@ -11,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import
org.springframework.web.bind.annotation.RequestParam
;
import
javax.validation.constraints.NotBlank
;
import
java.util.List
;
/**
* 产品服务-来佣比率规格信息Feign客户端
...
...
@@ -41,4 +44,12 @@ public interface ApiExpectedSpeciesFeignClient {
*/
@DeleteMapping
(
"/del/species"
)
Result
delSpecies
(
@NotBlank
(
message
=
"来佣比率规格表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"expectedSpeciesBizId"
)
String
expectedSpeciesBizId
);
/**
* 列表查询-来佣比率规格和规格明细信息
* @param request
* @return
*/
@PostMapping
(
"/list"
)
Result
<
List
<
ApiExpectedSpeciesListResponse
>>
list
(
@RequestBody
ApiExpectedSpeciesListRequest
request
);
}
yd-product-feign/src/main/java/com/yd/product/feign/client/relprojectproductlaunch/ApiRelProjectProductLaunchFeignClient.java
View file @
1635637b
...
...
@@ -29,4 +29,6 @@ public interface ApiRelProjectProductLaunchFeignClient {
*/
@PostMapping
(
"/parameter/page"
)
Result
parameterPage
(
@RequestBody
ApiProductLaunchParameterPageRequest
request
);
}
yd-product-feign/src/main/java/com/yd/product/feign/fallback/expectedspecies/ApiExpectedSpeciesFeignFallbackFactory.java
View file @
1635637b
...
...
@@ -3,11 +3,15 @@ package com.yd.product.feign.fallback.expectedspecies;
import
com.yd.common.result.Result
;
import
com.yd.product.feign.client.expectedspecies.ApiExpectedSpeciesFeignClient
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesImportRequest
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesListRequest
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest
;
import
com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesListResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
/**
* 产品服务-来佣比率规格信息Feign降级处理
*/
...
...
@@ -31,6 +35,11 @@ public class ApiExpectedSpeciesFeignFallbackFactory implements FallbackFactory<A
public
Result
delSpecies
(
String
expectedSpeciesBizId
)
{
return
null
;
}
@Override
public
Result
<
List
<
ApiExpectedSpeciesListResponse
>>
list
(
ApiExpectedSpeciesListRequest
request
)
{
return
null
;
}
};
}
}
yd-product-feign/src/main/java/com/yd/product/feign/request/expectedspecies/ApiExpectedSpeciesListRequest.java
0 → 100644
View file @
1635637b
package
com
.
yd
.
product
.
feign
.
request
.
expectedspecies
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
@Data
public
class
ApiExpectedSpeciesListRequest
{
/**
* 产品上架信息表唯一业务ID
*/
@NotBlank
(
message
=
"产品上架信息表唯一业务ID不能为空"
)
private
String
productLaunchBizId
;
}
yd-product-feign/src/main/java/com/yd/product/feign/response/expectedspecies/ApiExpectedSpeciesListResponse.java
0 → 100644
View file @
1635637b
package
com
.
yd
.
product
.
feign
.
response
.
expectedspecies
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
@Data
public
class
ApiExpectedSpeciesListResponse
{
/**
* 来佣比率规格表唯一业务ID
*/
private
String
expectedSpeciesBizId
;
/**
* 产品上架信息表唯一业务ID
*/
private
String
productLaunchBizId
;
/**
* 产品唯一业务ID
*/
private
String
productBizId
;
/**
* 规格条件列表JSON串
*/
private
String
speciesJson
;
/**
* 保障计划(0-64岁等)(固定规格条件)
*/
private
String
protectionPlan
;
/**
* 供款年期(5、10、20年期等)(固定规格条件)
*/
private
String
paymentTerm
;
/**
* 来佣比率规格明细表唯一业务ID
*/
private
String
expectedCommissionRatioBizId
;
/**
* 费用名称(转介费等)
*/
private
String
expenseName
;
/**
* 佣金年限(起)
*/
private
String
startPeriod
;
/**
* 佣金年限(止)
*/
private
String
endPeriod
;
/**
* 佣金期数
*/
private
String
issueNumber
;
/**
* 标保折算比例(基本保费)
*/
private
BigDecimal
discountRatio
;
/**
* 计算基数(保费/保费*折算比例)
*/
private
BigDecimal
cardinalNumber
;
/**
* 佣金率
*/
private
BigDecimal
commissionRate
;
/**
* 有效开始时间
*/
private
LocalDateTime
effectiveStart
;
/**
* 有效结束时间
*/
private
LocalDateTime
effectiveEnd
;
/**
* 是否受汇率影响 0-否 1-是,字典)
*/
private
String
isExchangeRate
;
/**
* 结算币种(字典)
*/
private
String
currency
;
/**
* 是否直签 (0-否 1-是,字典)
*/
private
String
isDirectSign
;
/**
* 对账公司id(部门id)
*/
private
String
reconciliationCompany
;
/**
* 对账公司名称(部门名称)
*/
private
String
reconciliationCompanyName
;
/**
* 销售组织id(部门id)
*/
private
String
salesOrg
;
/**
* 销售组织名称(部门名称)
*/
private
String
salesOrgName
;
}
yd-product-service/src/main/java/com/yd/product/service/dao/ExpectedSpeciesMapper.java
View file @
1635637b
...
...
@@ -3,11 +3,15 @@ package com.yd.product.service.dao;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesListRequest
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest
;
import
com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesListResponse
;
import
com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesPageResponse
;
import
com.yd.product.service.model.ExpectedSpecies
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* <p>
* 来佣比率规格表 Mapper 接口
...
...
@@ -20,4 +24,6 @@ public interface ExpectedSpeciesMapper extends BaseMapper<ExpectedSpecies> {
IPage
<
ApiExpectedSpeciesPageResponse
>
page
(
@Param
(
"page"
)
Page
<
ApiExpectedSpeciesPageResponse
>
page
,
@Param
(
"request"
)
ApiExpectedSpeciesPageRequest
request
);
List
<
ApiExpectedSpeciesListResponse
>
list
(
@Param
(
"request"
)
ApiExpectedSpeciesListRequest
request
);
}
yd-product-service/src/main/java/com/yd/product/service/service/IExpectedSpeciesService.java
View file @
1635637b
...
...
@@ -3,7 +3,9 @@ package com.yd.product.service.service;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesListRequest
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest
;
import
com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesListResponse
;
import
com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesPageResponse
;
import
com.yd.product.service.model.ExpectedSpecies
;
...
...
@@ -27,4 +29,6 @@ public interface IExpectedSpeciesService extends IService<ExpectedSpecies> {
List
<
ExpectedSpecies
>
queryList
(
String
productLaunchBizId
);
Boolean
del
(
String
productLaunchBizId
);
List
<
ApiExpectedSpeciesListResponse
>
list
(
ApiExpectedSpeciesListRequest
request
);
}
yd-product-service/src/main/java/com/yd/product/service/service/impl/ExpectedSpeciesServiceImpl.java
View file @
1635637b
...
...
@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesListRequest
;
import
com.yd.product.feign.request.expectedspecies.ApiExpectedSpeciesPageRequest
;
import
com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesListResponse
;
import
com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesPageResponse
;
import
com.yd.product.service.dao.ExpectedSpeciesMapper
;
import
com.yd.product.service.model.ExpectedSpecies
;
...
...
@@ -49,4 +51,9 @@ public class ExpectedSpeciesServiceImpl extends ServiceImpl<ExpectedSpeciesMappe
return
this
.
remove
(
new
LambdaQueryWrapper
<
ExpectedSpecies
>()
.
eq
(
ExpectedSpecies:
:
getProductLaunchBizId
,
productLaunchBizId
));
}
@Override
public
List
<
ApiExpectedSpeciesListResponse
>
list
(
ApiExpectedSpeciesListRequest
request
)
{
return
baseMapper
.
list
(
request
);
}
}
yd-product-service/src/main/resources/mappers/ExpectedSpeciesMapper.xml
View file @
1635637b
...
...
@@ -47,4 +47,58 @@
</where>
order by e.id asc
</select>
<select
id=
"list"
resultType=
"com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesListResponse"
>
SELECT
es.expected_species_biz_id AS expectedSpeciesBizId,
es.product_launch_biz_id AS productLaunchBizId,
es.product_biz_id AS productBizId,
es.species_json AS speciesJson,
es.protection_plan AS protectionPlan,
es.payment_term AS paymentTerm,
ecr.expected_commission_ratio_biz_id AS expectedCommissionRatioBizId,
ecr.expense_name AS expenseName,
ecr.start_period AS startPeriod,
ecr.end_period AS endPeriod,
numbers.n AS issueNumber,
ecr.discount_ratio AS discountRatio,
ecr.cardinal_number AS cardinalNumber,
ecr.commission_rate AS commissionRate,
ecr.effective_start AS effectiveStart,
ecr.effective_end AS effectiveEnd,
ecr.is_exchange_rate AS isExchangeRate,
ecr.currency AS currency,
ecr.is_direct_sign AS isDirectSign,
ecr.reconciliation_company AS reconciliationCompany,
ecr.reconciliation_company_name AS reconciliationCompanyName,
ecr.sales_org AS salesOrg,
ecr.sales_org_name AS salesOrgName
FROM
expected_species es
INNER JOIN
expected_commission_ratio ecr ON es.expected_species_biz_id = ecr.expected_species_biz_id
AND ecr.is_deleted = 0
CROSS JOIN (
WITH RECURSIVE numbers(n) AS (
SELECT 1
UNION ALL
SELECT n + 1 FROM numbers WHERE n
<
(
SELECT MAX(CAST(end_period AS UNSIGNED))
FROM expected_commission_ratio
WHERE expected_species_biz_id IN (
SELECT expected_species_biz_id
FROM expected_species
WHERE product_launch_biz_id = #{request.productLaunchBizId}
)
)
)
SELECT n FROM numbers
) numbers
WHERE
es.product_launch_biz_id = #{request.productLaunchBizId}
AND es.is_deleted = 0
AND numbers.n BETWEEN CAST(ecr.start_period AS UNSIGNED) AND CAST(ecr.end_period AS UNSIGNED)
ORDER BY
numbers.n asc
</select>
</mapper>
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