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
725a3594
Commit
725a3594
authored
Dec 01, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
公告佣比率信息
parent
352eb7be
Show whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
1158 additions
and
205 deletions
+1158
-205
yd-product-api/src/main/java/com/yd/product/api/controller/ApiAnnouncementCommissionRatioController.java
+39
-8
yd-product-api/src/main/java/com/yd/product/api/controller/ApiAnnouncementSpeciesController.java
+58
-0
yd-product-api/src/main/java/com/yd/product/api/service/ApiAnnouncementCommissionRatioService.java
+9
-2
yd-product-api/src/main/java/com/yd/product/api/service/ApiAnnouncementSpeciesService.java
+16
-0
yd-product-api/src/main/java/com/yd/product/api/service/impl/ApiAnnouncementCommissionRatioServiceImpl.java
+69
-34
yd-product-api/src/main/java/com/yd/product/api/service/impl/ApiAnnouncementSpeciesServiceImpl.java
+120
-0
yd-product-feign/src/main/java/com/yd/product/feign/client/announcementcommissionratio/ApiAnnouncementCommissionRatioFeignClient.java
+34
-13
yd-product-feign/src/main/java/com/yd/product/feign/client/announcementspecies/ApiAnnouncementSpeciesFeignClient.java
+44
-0
yd-product-feign/src/main/java/com/yd/product/feign/dto/ApiSpeciesSettingDto.java
+5
-0
yd-product-feign/src/main/java/com/yd/product/feign/fallback/announcementcommissionratio/ApiAnnouncementCommissionRatioFeignFallbackFactory.java
+21
-3
yd-product-feign/src/main/java/com/yd/product/feign/fallback/announcementspecies/ApiAnnouncementSpeciesFeignFallbackFactory.java
+36
-0
yd-product-feign/src/main/java/com/yd/product/feign/request/announcementcommissionratio/ApiAnnouncementCommissionRatioAddRequest.java
+85
-0
yd-product-feign/src/main/java/com/yd/product/feign/request/announcementcommissionratio/ApiAnnouncementCommissionRatioEditRequest.java
+90
-0
yd-product-feign/src/main/java/com/yd/product/feign/request/announcementcommissionratio/ApiAnnouncementCommissionRatioPageRequest.java
+7
-9
yd-product-feign/src/main/java/com/yd/product/feign/request/announcementspecies/ApiAnnouncementSpeciesImportRequest.java
+3
-11
yd-product-feign/src/main/java/com/yd/product/feign/request/announcementspecies/ApiAnnouncementSpeciesPageRequest.java
+26
-0
yd-product-feign/src/main/java/com/yd/product/feign/response/announcementcommissionratio/ApiAnnouncementCommissionRatioDetailResponse.java
+39
-21
yd-product-feign/src/main/java/com/yd/product/feign/response/announcementcommissionratio/ApiAnnouncementCommissionRatioPageResponse.java
+53
-17
yd-product-feign/src/main/java/com/yd/product/feign/response/announcementspecies/ApiAnnouncementSpeciesPageResponse.java
+22
-32
yd-product-service/src/main/java/com/yd/product/service/dao/AnnouncementCommissionRatioMapper.java
+1
-1
yd-product-service/src/main/java/com/yd/product/service/dao/AnnouncementSpeciesMapper.java
+23
-0
yd-product-service/src/main/java/com/yd/product/service/handler/JsonToListTypeHandler.java
+63
-0
yd-product-service/src/main/java/com/yd/product/service/model/AnnouncementCommissionRatio.java
+55
-36
yd-product-service/src/main/java/com/yd/product/service/model/AnnouncementSpecies.java
+123
-0
yd-product-service/src/main/java/com/yd/product/service/service/IAnnouncementCommissionRatioService.java
+1
-3
yd-product-service/src/main/java/com/yd/product/service/service/IAnnouncementSpeciesService.java
+24
-0
yd-product-service/src/main/java/com/yd/product/service/service/impl/AnnouncementCommissionRatioServiceImpl.java
+1
-6
yd-product-service/src/main/java/com/yd/product/service/service/impl/AnnouncementSpeciesServiceImpl.java
+36
-0
yd-product-service/src/main/java/com/yd/product/service/utils/MyBatisPlusCodeGenerator.java
+1
-1
yd-product-service/src/main/resources/mappers/AnnouncementCommissionRatioMapper.xml
+3
-8
yd-product-service/src/main/resources/mappers/AnnouncementSpeciesMapper.xml
+51
-0
No files found.
yd-product-api/src/main/java/com/yd/product/api/controller/ApiAnnouncementCommissionRatioController.java
View file @
725a3594
...
...
@@ -4,8 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.yd.common.result.Result
;
import
com.yd.product.api.service.ApiAnnouncementCommissionRatioService
;
import
com.yd.product.feign.client.announcementcommissionratio.ApiAnnouncementCommissionRatioFeignClient
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioEditRequest
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioPageRequest
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatio
Save
Request
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatio
Add
Request
;
import
com.yd.product.feign.response.announcementcommissionratio.ApiAnnouncementCommissionRatioDetailResponse
;
import
com.yd.product.feign.response.announcementcommissionratio.ApiAnnouncementCommissionRatioPageResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -14,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 公告佣比率信息
* 公告佣比率
规格明细
信息
*
* @author zxm
* @since 2025-11-27
...
...
@@ -28,7 +29,7 @@ public class ApiAnnouncementCommissionRatioController implements ApiAnnouncement
private
ApiAnnouncementCommissionRatioService
apiAnnouncementCommissionRatioService
;
/**
* 分页列表查询-公告佣比率信息
* 分页列表查询-公告佣比率
规格明细
信息
* @param request
* @return
*/
...
...
@@ -38,22 +39,52 @@ public class ApiAnnouncementCommissionRatioController implements ApiAnnouncement
}
/**
*
保存-公告佣比率
信息
*
添加-公告佣比率规格明细
信息
* @param request
* @return
*/
@Override
public
Result
save
(
ApiAnnouncementCommissionRatioSave
Request
request
)
{
return
apiAnnouncementCommissionRatioService
.
save
(
request
);
public
Result
add
(
ApiAnnouncementCommissionRatioAdd
Request
request
)
{
return
apiAnnouncementCommissionRatioService
.
add
(
request
);
}
/**
* 详情-公告佣比率信息
* @param announcementCommissionRatioBizId 公告佣比率表唯一业务ID
* 编辑-公告佣比率规格明细信息
* @param request
* @return
*/
@Override
public
Result
edit
(
ApiAnnouncementCommissionRatioEditRequest
request
)
{
return
apiAnnouncementCommissionRatioService
.
edit
(
request
);
}
/**
* 详情-公告佣比率规格明细信息
* @param announcementCommissionRatioBizId 公告佣比率规格明细表唯一业务ID
* @return
*/
@Override
public
Result
<
ApiAnnouncementCommissionRatioDetailResponse
>
detail
(
String
announcementCommissionRatioBizId
)
{
return
apiAnnouncementCommissionRatioService
.
detail
(
announcementCommissionRatioBizId
);
}
/**
* 删除-公告佣比率规格明细信息
* @param announcementCommissionRatioBizId 公告佣比率规格明细表唯一业务ID
* @return
*/
@Override
public
Result
del
(
String
announcementCommissionRatioBizId
)
{
return
apiAnnouncementCommissionRatioService
.
del
(
announcementCommissionRatioBizId
);
}
/**
* 复制-公告佣比率规格明细信息
* @param announcementCommissionRatioBizId 公告佣比率规格明细表唯一业务ID
* @return
*/
@Override
public
Result
copy
(
String
announcementCommissionRatioBizId
)
{
return
apiAnnouncementCommissionRatioService
.
copy
(
announcementCommissionRatioBizId
);
}
}
yd-product-api/src/main/java/com/yd/product/api/controller/ApiAnnouncementSpeciesController.java
0 → 100644
View file @
725a3594
package
com
.
yd
.
product
.
api
.
controller
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.product.api.service.ApiAnnouncementSpeciesService
;
import
com.yd.product.feign.client.announcementspecies.ApiAnnouncementSpeciesFeignClient
;
import
com.yd.product.feign.request.announcementspecies.ApiAnnouncementSpeciesImportRequest
;
import
com.yd.product.feign.request.announcementspecies.ApiAnnouncementSpeciesPageRequest
;
import
com.yd.product.feign.response.announcementspecies.ApiAnnouncementSpeciesPageResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 公告佣比率规格信息
*
* @author zxm
* @since 2025-12-01
*/
@RestController
@RequestMapping
(
"/announcementSpecies"
)
@Validated
public
class
ApiAnnouncementSpeciesController
implements
ApiAnnouncementSpeciesFeignClient
{
@Autowired
private
ApiAnnouncementSpeciesService
apiAnnouncementSpeciesService
;
/**
* 分页列表查询-公告佣比率规格信息
* @param request
* @return
*/
@Override
public
Result
<
IPage
<
ApiAnnouncementSpeciesPageResponse
>>
page
(
ApiAnnouncementSpeciesPageRequest
request
)
{
return
apiAnnouncementSpeciesService
.
page
(
request
);
}
/**
* 导入规格数据
* @param request
* @return
*/
@Override
public
Result
importSpecies
(
ApiAnnouncementSpeciesImportRequest
request
)
{
return
apiAnnouncementSpeciesService
.
importSpecies
(
request
);
}
/**
* 删除规格数据 TODO
* @param announcementSpeciesBizId
* @return
*/
@Override
public
Result
delSpecies
(
String
announcementSpeciesBizId
)
{
return
null
;
}
}
yd-product-api/src/main/java/com/yd/product/api/service/ApiAnnouncementCommissionRatioService.java
View file @
725a3594
...
...
@@ -2,8 +2,9 @@ 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.announcementcommissionratio.ApiAnnouncementCommissionRatioEditRequest
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioPageRequest
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatio
Save
Request
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatio
Add
Request
;
import
com.yd.product.feign.response.announcementcommissionratio.ApiAnnouncementCommissionRatioDetailResponse
;
import
com.yd.product.feign.response.announcementcommissionratio.ApiAnnouncementCommissionRatioPageResponse
;
import
com.yd.product.service.model.AnnouncementCommissionRatio
;
...
...
@@ -11,9 +12,15 @@ import com.yd.product.service.model.AnnouncementCommissionRatio;
public
interface
ApiAnnouncementCommissionRatioService
{
Result
<
IPage
<
ApiAnnouncementCommissionRatioPageResponse
>>
page
(
ApiAnnouncementCommissionRatioPageRequest
request
);
Result
save
(
ApiAnnouncementCommissionRatioSaveRequest
request
);
Result
add
(
ApiAnnouncementCommissionRatioAddRequest
request
);
Result
edit
(
ApiAnnouncementCommissionRatioEditRequest
request
);
Result
<
ApiAnnouncementCommissionRatioDetailResponse
>
detail
(
String
announcementCommissionRatioBizId
);
Result
del
(
String
announcementCommissionRatioBizId
);
Result
copy
(
String
announcementCommissionRatioBizId
);
Result
<
AnnouncementCommissionRatio
>
checkAnnouncementCommissionRatioIsExist
(
String
announcementCommissionRatioBizId
);
}
yd-product-api/src/main/java/com/yd/product/api/service/ApiAnnouncementSpeciesService.java
0 → 100644
View file @
725a3594
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.announcementspecies.ApiAnnouncementSpeciesImportRequest
;
import
com.yd.product.feign.request.announcementspecies.ApiAnnouncementSpeciesPageRequest
;
import
com.yd.product.feign.response.announcementspecies.ApiAnnouncementSpeciesPageResponse
;
import
com.yd.product.service.model.AnnouncementSpecies
;
public
interface
ApiAnnouncementSpeciesService
{
Result
<
IPage
<
ApiAnnouncementSpeciesPageResponse
>>
page
(
ApiAnnouncementSpeciesPageRequest
request
);
Result
importSpecies
(
ApiAnnouncementSpeciesImportRequest
request
);
Result
<
AnnouncementSpecies
>
checkAnnouncementSpeciesIsExist
(
String
productLaunchBizId
);
}
yd-product-api/src/main/java/com/yd/product/api/service/impl/ApiAnnouncementCommissionRatioServiceImpl.java
View file @
725a3594
package
com
.
yd
.
product
.
api
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.product.api.service.ApiAnnouncementCommissionRatioService
;
import
com.yd.product.api.service.Api
ProductLaunch
Service
;
import
com.yd.product.feign.
dto.ApiSpeciesSettingDto
;
import
com.yd.product.api.service.Api
AnnouncementSpecies
Service
;
import
com.yd.product.feign.
request.announcementcommissionratio.ApiAnnouncementCommissionRatioEditRequest
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioPageRequest
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatio
Save
Request
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatio
Add
Request
;
import
com.yd.product.feign.response.announcementcommissionratio.ApiAnnouncementCommissionRatioDetailResponse
;
import
com.yd.product.feign.response.announcementcommissionratio.ApiAnnouncementCommissionRatioPageResponse
;
import
com.yd.product.service.model.AnnouncementCommissionRatio
;
import
com.yd.product.service.model.ProductLaunch
;
import
com.yd.product.service.service.IAnnouncementCommissionRatioService
;
import
jodd.util.StringUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
@Slf4j
@Service
...
...
@@ -34,10 +29,10 @@ public class ApiAnnouncementCommissionRatioServiceImpl implements ApiAnnouncemen
private
IAnnouncementCommissionRatioService
iAnnouncementCommissionRatioService
;
@Autowired
private
Api
ProductLaunchService
apiProductLaunch
Service
;
private
Api
AnnouncementSpeciesService
apiAnnouncementSpecies
Service
;
/**
* 分页列表查询-公告佣比率信息
* 分页列表查询-公告佣比率
规格明细
信息
* @param request
* @return
*/
...
...
@@ -49,49 +44,89 @@ public class ApiAnnouncementCommissionRatioServiceImpl implements ApiAnnouncemen
}
/**
*
保存-公告佣比率
信息
*
添加-公告佣比率规格明细
信息
* @param request
* @return
*/
@Override
public
Result
save
(
ApiAnnouncementCommissionRatioSaveRequest
request
)
{
//校验产品上架信息是否存在
Result
<
ProductLaunch
>
result
=
apiProductLaunchService
.
checkProductLaunchIsExist
(
request
.
getProductLaunchBizId
());
ProductLaunch
productLaunch
=
result
.
getData
();
//先删后新增
//删除
iAnnouncementCommissionRatioService
.
delByProductLaunchBizId
(
request
.
getProductLaunchBizId
());
public
Result
add
(
ApiAnnouncementCommissionRatioAddRequest
request
)
{
//校验公告佣比率规格信息是否存在
apiAnnouncementSpeciesService
.
checkAnnouncementSpeciesIsExist
(
request
.
getAnnouncementSpeciesBizId
());
//入参校验,佣金年限校验不同条件下的唯一性 TODO
//新增
List
<
AnnouncementCommissionRatio
>
expectedCommissionRatioList
=
request
.
getApiAnnouncementCommissionRatioDtoList
()
.
stream
().
map
(
dto
->
{
AnnouncementCommissionRatio
ratio
=
new
AnnouncementCommissionRatio
();
BeanUtils
.
copyProperties
(
dto
,
ratio
);
ratio
.
setSpeciesJson
(!
CollectionUtils
.
isEmpty
(
dto
.
getApiSpeciesSettingDtoList
())
?
JSON
.
toJSONString
(
dto
.
getApiSpeciesSettingDtoList
())
:
""
);
return
ratio
;
}).
collect
(
Collectors
.
toList
());
iAnnouncementCommissionRatioService
.
saveBatch
(
expectedCommissionRatioList
);
BeanUtils
.
copyProperties
(
request
,
ratio
);
ratio
.
setAnnouncementCommissionRatioBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_ANNOUNCEMENT_COMMISSION_RATIO
.
getCode
()));
iAnnouncementCommissionRatioService
.
saveOrUpdate
(
ratio
);
return
Result
.
success
();
}
/**
* 编辑-公告佣比率规格明细信息
* @param request
* @return
*/
@Override
public
Result
edit
(
ApiAnnouncementCommissionRatioEditRequest
request
)
{
//校验公告佣比率规格明细信息是否存在
Result
<
AnnouncementCommissionRatio
>
result
=
checkAnnouncementCommissionRatioIsExist
(
request
.
getAnnouncementCommissionRatioBizId
());
AnnouncementCommissionRatio
ratio
=
result
.
getData
();
//校验公告佣比率规格信息是否存在
apiAnnouncementSpeciesService
.
checkAnnouncementSpeciesIsExist
(
request
.
getAnnouncementSpeciesBizId
());
//入参校验,佣金年限校验不同条件下的唯一性 TODO
//新增
BeanUtils
.
copyProperties
(
request
,
ratio
);
iAnnouncementCommissionRatioService
.
saveOrUpdate
(
ratio
);
return
Result
.
success
();
}
/**
* 详情-公告佣比率信息
* @param announcementCommissionRatioBizId 公告佣比率表唯一业务ID
* 详情-公告佣比率
规格明细
信息
* @param announcementCommissionRatioBizId 公告佣比率
规格明细
表唯一业务ID
* @return
*/
@Override
public
Result
<
ApiAnnouncementCommissionRatioDetailResponse
>
detail
(
String
announcementCommissionRatioBizId
)
{
//校验公告佣比率信息是否存在
//校验公告佣比率
规格明细
信息是否存在
Result
<
AnnouncementCommissionRatio
>
result
=
checkAnnouncementCommissionRatioIsExist
(
announcementCommissionRatioBizId
);
AnnouncementCommissionRatio
announcementCommissionRatio
=
result
.
getData
();
ApiAnnouncementCommissionRatioDetailResponse
response
=
new
ApiAnnouncementCommissionRatioDetailResponse
();
BeanUtils
.
copyProperties
(
announcementCommissionRatio
,
response
);
response
.
setApiSpeciesSettingDtoList
(
StringUtil
.
isNotBlank
(
announcementCommissionRatio
.
getSpeciesJson
())
?
JSON
.
parseArray
(
announcementCommissionRatio
.
getSpeciesJson
(),
ApiSpeciesSettingDto
.
class
)
:
new
ArrayList
<>());
return
Result
.
success
(
response
);
}
/**
* 校验公告佣比率信息是否存在
* 删除-公告佣比率规格明细信息
* @param announcementCommissionRatioBizId 公告佣比率规格明细表唯一业务ID
* @return
*/
@Override
public
Result
del
(
String
announcementCommissionRatioBizId
)
{
//校验公告佣比率规格明细信息是否存在
Result
<
AnnouncementCommissionRatio
>
result
=
checkAnnouncementCommissionRatioIsExist
(
announcementCommissionRatioBizId
);
AnnouncementCommissionRatio
announcementCommissionRatio
=
result
.
getData
();
iAnnouncementCommissionRatioService
.
removeById
(
announcementCommissionRatio
.
getId
());
return
Result
.
success
();
}
/**
* 复制-公告佣比率规格明细信息
* @param announcementCommissionRatioBizId 公告佣比率规格明细表唯一业务ID
* @return
*/
@Override
public
Result
copy
(
String
announcementCommissionRatioBizId
)
{
//校验公告佣比率规格明细信息是否存在
Result
<
AnnouncementCommissionRatio
>
result
=
checkAnnouncementCommissionRatioIsExist
(
announcementCommissionRatioBizId
);
AnnouncementCommissionRatio
announcementCommissionRatio
=
result
.
getData
();
announcementCommissionRatio
.
setId
(
null
);
announcementCommissionRatio
.
setAnnouncementCommissionRatioBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_ANNOUNCEMENT_COMMISSION_RATIO
.
getCode
()));
iAnnouncementCommissionRatioService
.
saveOrUpdate
(
announcementCommissionRatio
);
return
Result
.
success
();
}
/**
* 校验公告佣比率规格明细信息是否存在
* @param announcementCommissionRatioBizId
* @return
*/
...
...
@@ -100,7 +135,7 @@ public class ApiAnnouncementCommissionRatioServiceImpl implements ApiAnnouncemen
AnnouncementCommissionRatio
announcementCommissionRatio
=
iAnnouncementCommissionRatioService
.
queryOne
(
announcementCommissionRatioBizId
);
if
(
Objects
.
isNull
(
announcementCommissionRatio
))
{
//数据不存在
throw
new
BusinessException
(
"公告佣比率信息不存在"
);
throw
new
BusinessException
(
"公告佣比率
规格明细
信息不存在"
);
}
return
Result
.
success
(
announcementCommissionRatio
);
}
...
...
yd-product-api/src/main/java/com/yd/product/api/service/impl/ApiAnnouncementSpeciesServiceImpl.java
0 → 100644
View file @
725a3594
package
com
.
yd
.
product
.
api
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.base.feign.enums.SpeciesTypeEnum
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.product.api.service.ApiAnnouncementSpeciesService
;
import
com.yd.product.api.service.ApiProductLaunchService
;
import
com.yd.product.api.service.ApiSpeciesPriceService
;
import
com.yd.product.feign.dto.ApiSpeciesPriceDto
;
import
com.yd.product.feign.dto.ApiSpeciesSettingDto
;
import
com.yd.product.feign.request.announcementspecies.ApiAnnouncementSpeciesImportRequest
;
import
com.yd.product.feign.request.announcementspecies.ApiAnnouncementSpeciesPageRequest
;
import
com.yd.product.feign.response.announcementspecies.ApiAnnouncementSpeciesPageResponse
;
import
com.yd.product.service.model.AnnouncementSpecies
;
import
com.yd.product.service.service.IAnnouncementSpeciesService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
@Slf4j
@Service
public
class
ApiAnnouncementSpeciesServiceImpl
implements
ApiAnnouncementSpeciesService
{
@Autowired
private
IAnnouncementSpeciesService
iAnnouncementSpeciesService
;
@Autowired
private
ApiProductLaunchService
apiProductLaunchService
;
@Autowired
private
ApiSpeciesPriceService
apiSpeciesPriceService
;
/**
* 分页列表查询-公告佣比率规格信息
* @param request
* @return
*/
@Override
public
Result
<
IPage
<
ApiAnnouncementSpeciesPageResponse
>>
page
(
ApiAnnouncementSpeciesPageRequest
request
)
{
Page
<
ApiAnnouncementSpeciesPageResponse
>
page
=
new
Page
<>(
request
.
getPageNo
(),
request
.
getPageSize
());
IPage
<
ApiAnnouncementSpeciesPageResponse
>
iPage
=
iAnnouncementSpeciesService
.
page
(
page
,
request
);
return
Result
.
success
(
iPage
);
}
/**
* 导入规格数据
* @param request
* @return
*/
@Override
public
Result
importSpecies
(
ApiAnnouncementSpeciesImportRequest
request
)
{
//校验产品上架信息是否存在
apiProductLaunchService
.
checkProductLaunchIsExist
(
request
.
getProductLaunchBizId
());
//查询规格价格配置列表
List
<
ApiSpeciesPriceDto
>
apiSpeciesPriceDtoList
=
apiSpeciesPriceService
.
querySpeciesPriceDtoList
(
request
.
getProductLaunchBizId
());
if
(
CollectionUtils
.
isEmpty
(
apiSpeciesPriceDtoList
))
{
throw
new
BusinessException
(
"导入的数据不存在"
);
}
//查询规格价格配置列表 -> 新增公告佣比率规格数据
List
<
AnnouncementSpecies
>
saveList
=
apiSpeciesPriceDtoList
.
stream
().
map
(
dto
->
{
AnnouncementSpecies
species
=
new
AnnouncementSpecies
();
//规格条件列表JSON串
species
.
setSpeciesJson
(
dto
.
getSpeciesJson
());
//公告佣比率规格表唯一业务ID
species
.
setAnnouncementSpeciesBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_ANNOUNCEMENT_SPECIES
.
getCode
()));
//供款年期(5、10、20年期等)(固定规格条件)
species
.
setPaymentTerm
(
getSpeciesValue
(
dto
.
getApiSpeciesSettingDtoList
(),
SpeciesTypeEnum
.
PAYMENT_TERM
.
getItemValue
()));
species
.
setProductLaunchBizId
(
request
.
getProductLaunchBizId
());
//保障计划(0-64岁等)(固定规格条件)
species
.
setProtectionPlan
(
getSpeciesValue
(
dto
.
getApiSpeciesSettingDtoList
(),
SpeciesTypeEnum
.
PROTECTION_PLAN
.
getItemValue
()));
return
species
;
}).
collect
(
Collectors
.
toList
());
iAnnouncementSpeciesService
.
saveOrUpdateBatch
(
saveList
);
return
Result
.
success
();
}
/**
* 根据规格类型编码获取apiSpeciesSettingDtoList中的规格值
* @param apiSpeciesSettingDtoList
* @param typeCode
* @return
*/
public
String
getSpeciesValue
(
List
<
ApiSpeciesSettingDto
>
apiSpeciesSettingDtoList
,
String
typeCode
)
{
String
speciesValue
=
""
;
if
(!
CollectionUtils
.
isEmpty
(
apiSpeciesSettingDtoList
)){
List
<
ApiSpeciesSettingDto
>
dtoList
=
apiSpeciesSettingDtoList
.
stream
()
.
filter
(
d
->
d
.
getTypeCode
().
equals
(
typeCode
))
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
dtoList
))
{
ApiSpeciesSettingDto
settingDto
=
dtoList
.
get
(
0
);
speciesValue
=
settingDto
.
getValue
();
}
}
return
speciesValue
;
}
/**
* 校验公告佣比率规格信息是否存在
* @param announcementSpeciesBizId
* @return
*/
@Override
public
Result
<
AnnouncementSpecies
>
checkAnnouncementSpeciesIsExist
(
String
announcementSpeciesBizId
)
{
AnnouncementSpecies
announcementSpecies
=
iAnnouncementSpeciesService
.
queryOne
(
announcementSpeciesBizId
);
if
(
Objects
.
isNull
(
announcementSpecies
))
{
//数据不存在
throw
new
BusinessException
(
"公告佣比率规格信息不存在"
);
}
return
Result
.
success
(
announcementSpecies
);
}
}
yd-product-feign/src/main/java/com/yd/product/feign/client/announcementcommissionratio/ApiAnnouncementCommissionRatioFeignClient.java
View file @
725a3594
...
...
@@ -2,25 +2,23 @@ package com.yd.product.feign.client.announcementcommissionratio;
import
com.yd.common.result.Result
;
import
com.yd.product.feign.fallback.announcementcommissionratio.ApiAnnouncementCommissionRatioFeignFallbackFactory
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioEditRequest
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioPageRequest
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatio
Save
Request
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatio
Add
Request
;
import
com.yd.product.feign.response.announcementcommissionratio.ApiAnnouncementCommissionRatioDetailResponse
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotBlank
;
/**
* 产品服务-公告佣比率信息Feign客户端
* 产品服务-公告佣比率
规格明细
信息Feign客户端
*/
@FeignClient
(
name
=
"yd-product-api"
,
fallbackFactory
=
ApiAnnouncementCommissionRatioFeignFallbackFactory
.
class
)
public
interface
ApiAnnouncementCommissionRatioFeignClient
{
/**
* 分页列表查询-公告佣比率信息
* 分页列表查询-公告佣比率
规格明细
信息
* @param request
* @return
*/
...
...
@@ -28,19 +26,42 @@ public interface ApiAnnouncementCommissionRatioFeignClient {
Result
page
(
@RequestBody
ApiAnnouncementCommissionRatioPageRequest
request
);
/**
*
保存-公告佣比率
信息
*
添加-公告佣比率规格明细
信息
* @param request
* @return
*/
@PostMapping
(
"/
save
"
)
Result
save
(
@Validated
@RequestBody
ApiAnnouncementCommissionRatioSave
Request
request
);
@PostMapping
(
"/
add
"
)
Result
add
(
@Validated
@RequestBody
ApiAnnouncementCommissionRatioAdd
Request
request
);
/**
* 详情-公告佣比率信息
* @param announcementCommissionRatioBizId 公告佣比率表唯一业务ID
* 编辑-公告佣比率规格明细信息
* @param request
* @return
*/
@PostMapping
(
"/edit"
)
Result
edit
(
@Validated
@RequestBody
ApiAnnouncementCommissionRatioEditRequest
request
);
/**
* 详情-公告佣比率规格明细信息
* @param announcementCommissionRatioBizId 公告佣比率规格明细表唯一业务ID
* @return
*/
@GetMapping
(
"/detail"
)
Result
<
ApiAnnouncementCommissionRatioDetailResponse
>
detail
(
@NotBlank
(
message
=
"公告佣比率表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"announcementCommissionRatioBizId"
)
String
announcementCommissionRatioBizId
);
Result
<
ApiAnnouncementCommissionRatioDetailResponse
>
detail
(
@NotBlank
(
message
=
"公告佣比率规格明细表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"announcementCommissionRatioBizId"
)
String
announcementCommissionRatioBizId
);
/**
* 删除-公告佣比率规格明细信息
* @param announcementCommissionRatioBizId 公告佣比率规格明细表唯一业务ID
* @return
*/
@DeleteMapping
(
"/del"
)
Result
del
(
@NotBlank
(
message
=
"公告佣比率规格明细表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"announcementCommissionRatioBizId"
)
String
announcementCommissionRatioBizId
);
/**
* 复制-公告佣比率规格明细信息
* @param announcementCommissionRatioBizId 公告佣比率规格明细表唯一业务ID
* @return
*/
@PutMapping
(
"/copy"
)
Result
copy
(
@NotBlank
(
message
=
"公告佣比率规格明细表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"announcementCommissionRatioBizId"
)
String
announcementCommissionRatioBizId
);
}
yd-product-feign/src/main/java/com/yd/product/feign/client/announcementspecies/ApiAnnouncementSpeciesFeignClient.java
0 → 100644
View file @
725a3594
package
com
.
yd
.
product
.
feign
.
client
.
announcementspecies
;
import
com.yd.common.result.Result
;
import
com.yd.product.feign.fallback.announcementspecies.ApiAnnouncementSpeciesFeignFallbackFactory
;
import
com.yd.product.feign.request.announcementspecies.ApiAnnouncementSpeciesImportRequest
;
import
com.yd.product.feign.request.announcementspecies.ApiAnnouncementSpeciesPageRequest
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
javax.validation.constraints.NotBlank
;
/**
* 产品服务-公告佣比率规格信息Feign客户端
*/
@FeignClient
(
name
=
"yd-product-api"
,
fallbackFactory
=
ApiAnnouncementSpeciesFeignFallbackFactory
.
class
)
public
interface
ApiAnnouncementSpeciesFeignClient
{
/**
* 分页列表查询-公告佣比率规格信息
* @param request
* @return
*/
@PostMapping
(
"/page"
)
Result
page
(
@RequestBody
ApiAnnouncementSpeciesPageRequest
request
);
/**
* 导入规格数据
* @param request
* @return
*/
@PostMapping
(
"/import/species"
)
Result
importSpecies
(
@RequestBody
ApiAnnouncementSpeciesImportRequest
request
);
/**
* 删除规格数据
* @param announcementSpeciesBizId
* @return
*/
@DeleteMapping
(
"/del/species"
)
Result
delSpecies
(
@NotBlank
(
message
=
"公告佣比率规格表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"announcementSpeciesBizId"
)
String
announcementSpeciesBizId
);
}
yd-product-feign/src/main/java/com/yd/product/feign/dto/ApiSpeciesSettingDto.java
View file @
725a3594
...
...
@@ -21,6 +21,11 @@ public class ApiSpeciesSettingDto {
private
String
speciesTypeBizId
;
/**
* 规格类型编码
*/
private
String
typeCode
;
/**
* 规格类型名称
*/
private
String
typeName
;
...
...
yd-product-feign/src/main/java/com/yd/product/feign/fallback/announcementcommissionratio/ApiAnnouncementCommissionRatioFeignFallbackFactory.java
View file @
725a3594
...
...
@@ -2,15 +2,18 @@ package com.yd.product.feign.fallback.announcementcommissionratio;
import
com.yd.common.result.Result
;
import
com.yd.product.feign.client.announcementcommissionratio.ApiAnnouncementCommissionRatioFeignClient
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioEditRequest
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatioPageRequest
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatio
Save
Request
;
import
com.yd.product.feign.request.announcementcommissionratio.ApiAnnouncementCommissionRatio
Add
Request
;
import
com.yd.product.feign.response.announcementcommissionratio.ApiAnnouncementCommissionRatioDetailResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
import
javax.validation.constraints.NotBlank
;
/**
* 产品服务-公告佣比率信息Feign降级处理
* 产品服务-公告佣比率
规格明细
信息Feign降级处理
*/
@Slf4j
@Component
...
...
@@ -24,7 +27,12 @@ public class ApiAnnouncementCommissionRatioFeignFallbackFactory implements Fallb
}
@Override
public
Result
save
(
ApiAnnouncementCommissionRatioSaveRequest
request
)
{
public
Result
add
(
ApiAnnouncementCommissionRatioAddRequest
request
)
{
return
null
;
}
@Override
public
Result
edit
(
ApiAnnouncementCommissionRatioEditRequest
request
)
{
return
null
;
}
...
...
@@ -32,6 +40,16 @@ public class ApiAnnouncementCommissionRatioFeignFallbackFactory implements Fallb
public
Result
<
ApiAnnouncementCommissionRatioDetailResponse
>
detail
(
String
announcementCommissionRatioBizId
)
{
return
null
;
}
@Override
public
Result
del
(
String
announcementCommissionRatioBizId
)
{
return
null
;
}
@Override
public
Result
copy
(
String
announcementCommissionRatioBizId
)
{
return
null
;
}
};
}
}
yd-product-feign/src/main/java/com/yd/product/feign/fallback/announcementspecies/ApiAnnouncementSpeciesFeignFallbackFactory.java
0 → 100644
View file @
725a3594
package
com
.
yd
.
product
.
feign
.
fallback
.
announcementspecies
;
import
com.yd.common.result.Result
;
import
com.yd.product.feign.client.announcementspecies.ApiAnnouncementSpeciesFeignClient
;
import
com.yd.product.feign.request.announcementspecies.ApiAnnouncementSpeciesImportRequest
;
import
com.yd.product.feign.request.announcementspecies.ApiAnnouncementSpeciesPageRequest
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
/**
* 产品服务-公告佣比率规格信息Feign降级处理
*/
@Slf4j
@Component
public
class
ApiAnnouncementSpeciesFeignFallbackFactory
implements
FallbackFactory
<
ApiAnnouncementSpeciesFeignClient
>
{
@Override
public
ApiAnnouncementSpeciesFeignClient
create
(
Throwable
cause
)
{
return
new
ApiAnnouncementSpeciesFeignClient
()
{
@Override
public
Result
page
(
ApiAnnouncementSpeciesPageRequest
request
)
{
return
null
;
}
@Override
public
Result
importSpecies
(
ApiAnnouncementSpeciesImportRequest
request
)
{
return
null
;
}
@Override
public
Result
delSpecies
(
String
announcementSpeciesBizId
)
{
return
null
;
}
};
}
}
yd-product-feign/src/main/java/com/yd/product/feign/request/announcementcommissionratio/ApiAnnouncementCommissionRatioAddRequest.java
0 → 100644
View file @
725a3594
package
com
.
yd
.
product
.
feign
.
request
.
announcementcommissionratio
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.List
;
@Data
public
class
ApiAnnouncementCommissionRatioAddRequest
{
/**
* 公告佣比率规格表唯一业务ID
*/
@NotBlank
(
message
=
"公告佣比率规格表唯一业务ID不能为空"
)
private
String
announcementSpeciesBizId
;
/**
* 费用名称(转介费等)
*/
@NotBlank
(
message
=
"费用名称不能为空"
)
private
String
expenseName
;
/**
* 佣金年限(起)
*/
@NotBlank
(
message
=
"佣金年限(起)不能为空"
)
private
String
startPeriod
;
/**
* 佣金年限(止)
*/
@NotBlank
(
message
=
"佣金年限(止)不能为空"
)
private
String
endPeriod
;
/**
* 标保折算比例(基本保费)
*/
@NotNull
(
message
=
"标保折算比例不能为空"
)
private
BigDecimal
discountRatio
;
/**
* 佣金率
*/
@NotNull
(
message
=
"佣金率不能为空"
)
private
BigDecimal
commissionRate
;
/**
* 有效开始时间
*/
@NotNull
(
message
=
"有效开始时间不能为空"
)
private
LocalDateTime
effectiveStart
;
/**
* 有效结束时间
*/
@NotNull
(
message
=
"有效结束时间不能为空"
)
private
LocalDateTime
effectiveEnd
;
/**
* 适用范围(经纪人/分销员/加盟商/签单员/转介人/全部,字典)
*/
@NotBlank
(
message
=
"适用范围不能为空"
)
private
String
scope
;
/**
* 是否受汇率影响 0-否 1-是,字典)
*/
@NotBlank
(
message
=
"是否受汇率影响不能为空"
)
private
String
isExchangeRate
;
/**
* 结算币种(字典)
*/
@NotBlank
(
message
=
"结算币种不能为空"
)
private
String
currency
;
/**
* 状态(0:停用 1:启用)
*/
@NotNull
(
message
=
"状态不能为空"
)
private
Integer
status
;
}
yd-product-feign/src/main/java/com/yd/product/feign/request/announcementcommissionratio/ApiAnnouncementCommissionRatioEditRequest.java
0 → 100644
View file @
725a3594
package
com
.
yd
.
product
.
feign
.
request
.
announcementcommissionratio
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
@Data
public
class
ApiAnnouncementCommissionRatioEditRequest
{
/**
* 公告佣比率规格明细表唯一业务ID
*/
@NotBlank
(
message
=
"公告佣比率规格明细表唯一业务ID不能为空"
)
private
String
announcementCommissionRatioBizId
;
/**
* 公告佣比率规格表唯一业务ID
*/
@NotBlank
(
message
=
"公告佣比率规格表唯一业务ID不能为空"
)
private
String
announcementSpeciesBizId
;
/**
* 费用名称(转介费等)
*/
@NotBlank
(
message
=
"费用名称不能为空"
)
private
String
expenseName
;
/**
* 佣金年限(起)
*/
@NotBlank
(
message
=
"佣金年限(起)不能为空"
)
private
String
startPeriod
;
/**
* 佣金年限(止)
*/
@NotBlank
(
message
=
"佣金年限(止)不能为空"
)
private
String
endPeriod
;
/**
* 标保折算比例(基本保费)
*/
@NotNull
(
message
=
"标保折算比例不能为空"
)
private
BigDecimal
discountRatio
;
/**
* 佣金率
*/
@NotNull
(
message
=
"佣金率不能为空"
)
private
BigDecimal
commissionRate
;
/**
* 有效开始时间
*/
@NotNull
(
message
=
"有效开始时间不能为空"
)
private
LocalDateTime
effectiveStart
;
/**
* 有效结束时间
*/
@NotNull
(
message
=
"有效结束时间不能为空"
)
private
LocalDateTime
effectiveEnd
;
/**
* 适用范围(经纪人/分销员/加盟商/签单员/转介人/全部,字典)
*/
@NotBlank
(
message
=
"适用范围不能为空"
)
private
String
scope
;
/**
* 是否受汇率影响 0-否 1-是,字典)
*/
@NotBlank
(
message
=
"是否受汇率影响不能为空"
)
private
String
isExchangeRate
;
/**
* 结算币种(字典)
*/
@NotBlank
(
message
=
"结算币种不能为空"
)
private
String
currency
;
/**
* 状态(0:停用 1:启用)
*/
@NotNull
(
message
=
"状态不能为空"
)
private
Integer
status
;
}
yd-product-feign/src/main/java/com/yd/product/feign/request/announcementcommissionratio/ApiAnnouncementCommissionRatioPageRequest.java
View file @
725a3594
...
...
@@ -3,21 +3,19 @@ package com.yd.product.feign.request.announcementcommissionratio;
import
com.yd.common.dto.PageDto
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
@Data
public
class
ApiAnnouncementCommissionRatioPageRequest
extends
PageDto
{
/**
* 产品上架信息表唯一业务ID
*/
private
String
productLaunchBizId
;
/**
* 供款年期(产品有5年期的有10年期等)
* 公告佣比率规格表唯一业务ID
*/
private
String
term
;
@NotBlank
(
message
=
"公告佣比率规格表唯一业务ID不能为空"
)
private
String
announcementSpeciesBizId
;
/**
*
期数(数字代表第几年
)
*
费用名称(转介费等
)
*/
private
String
issueNumber
;
private
String
expenseName
;
}
yd-product-feign/src/main/java/com/yd/product/feign/request/announcement
commissionratio/ApiAnnouncementCommissionRatioSave
Request.java
→
yd-product-feign/src/main/java/com/yd/product/feign/request/announcement
species/ApiAnnouncementSpeciesImport
Request.java
View file @
725a3594
package
com
.
yd
.
product
.
feign
.
request
.
announcement
commissionratio
;
package
com
.
yd
.
product
.
feign
.
request
.
announcement
species
;
import
com.yd.product.feign.dto.ApiAnnouncementCommissionRatioDto
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotEmpty
;
import
java.util.List
;
@Data
public
class
ApiAnnouncement
CommissionRatioSave
Request
{
public
class
ApiAnnouncement
SpeciesImport
Request
{
/**
* 产品上架信息表唯一业务ID
*/
@NotBlank
(
message
=
"产品上架信息表唯一业务ID不能为空"
)
private
String
productLaunchBizId
;
/**
* 公告佣比率信息配置列表
*/
@NotEmpty
(
message
=
"公告佣比率信息配置列表不能为空"
)
private
List
<
ApiAnnouncementCommissionRatioDto
>
apiAnnouncementCommissionRatioDtoList
;
}
yd-product-feign/src/main/java/com/yd/product/feign/request/announcementspecies/ApiAnnouncementSpeciesPageRequest.java
0 → 100644
View file @
725a3594
package
com
.
yd
.
product
.
feign
.
request
.
announcementspecies
;
import
com.yd.common.dto.PageDto
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
@Data
public
class
ApiAnnouncementSpeciesPageRequest
extends
PageDto
{
/**
* 产品上架信息表唯一业务ID
*/
@NotBlank
(
message
=
"产品上架信息表唯一业务ID不能为空"
)
private
String
productLaunchBizId
;
/**
* 保障计划(0-64岁等)(固定规格条件)
*/
private
String
protectionPlan
;
/**
* 供款年期(5、10、20年期等)(固定规格条件)
*/
private
String
paymentTerm
;
}
yd-product-feign/src/main/java/com/yd/product/feign/response/announcementcommissionratio/ApiAnnouncementCommissionRatioDetailResponse.java
View file @
725a3594
package
com
.
yd
.
product
.
feign
.
response
.
announcementcommissionratio
;
import
com.yd.product.feign.dto.ApiSpeciesSettingDto
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.List
;
@Data
public
class
ApiAnnouncementCommissionRatioDetailResponse
{
/**
* 公告佣比率表主键ID
* 公告佣比率
规格明细
表主键ID
*/
private
Long
id
;
/**
* 公告佣比率表唯一业务ID
* 公告佣比率
规格明细
表唯一业务ID
*/
private
String
announcementCommissionRatioBizId
;
/**
*
产品上架信息表唯一业务ID(冗余)
*
公告佣比率规格表唯一业务ID
*/
private
String
productLaunch
BizId
;
private
String
announcementSpecies
BizId
;
/**
*
产品唯一业务ID(冗余
)
*
费用名称(转介费等
)
*/
private
String
productBizId
;
private
String
expenseName
;
/**
*
规格条件列表JSON串
*
佣金年限(起)
*/
private
String
s
peciesJson
;
private
String
s
tartPeriod
;
/**
*
上架产品规格配置表信息JSON串对应转化的列表
*
佣金年限(止)
*/
private
List
<
ApiSpeciesSettingDto
>
apiSpeciesSettingDtoList
;
private
String
endPeriod
;
/**
*
供款年期(产品有5年期的有10年期等
)
*
标保折算比例(基本保费
)
*/
private
String
term
;
private
BigDecimal
discountRatio
;
/**
*
期数(数字代表第几年
)
*
计算基数(保费/保费*折算比例
)
*/
private
String
issue
Number
;
private
BigDecimal
cardinal
Number
;
/**
*
公告比例
*
佣金率
*/
private
BigDecimal
announcementRatio
;
private
BigDecimal
commissionRate
;
/**
* 有效开始时间
...
...
@@ -60,14 +58,24 @@ public class ApiAnnouncementCommissionRatioDetailResponse {
private
LocalDateTime
effectiveStart
;
/**
* 有效结束时间
(不在这个时间区间内,公告比例按照announcement_ratio算,在这个区间内公告比例按照有效期内公告比例算)
* 有效结束时间
*/
private
LocalDateTime
effectiveEnd
;
/**
*
有效期内公告比例
*
适用范围(经纪人/分销员/加盟商/签单员/转介人/全部,字典)
*/
private
BigDecimal
ratio
;
private
String
scope
;
/**
* 是否受汇率影响 0-否 1-是,字典)
*/
private
String
isExchangeRate
;
/**
* 结算币种(字典)
*/
private
String
currency
;
/**
* 状态(0:停用 1:启用)
...
...
@@ -90,11 +98,21 @@ public class ApiAnnouncementCommissionRatioDetailResponse {
private
String
creatorId
;
/**
* 创建人名称
*/
private
String
creatorName
;
/**
* 更新人ID
*/
private
String
updaterId
;
/**
* 更新人名称
*/
private
String
updaterName
;
/**
* 创建时间
*/
private
LocalDateTime
createTime
;
...
...
yd-product-feign/src/main/java/com/yd/product/feign/response/announcementcommissionratio/ApiAnnouncementCommissionRatioPageResponse.java
View file @
725a3594
package
com
.
yd
.
product
.
feign
.
response
.
announcementcommissionratio
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
...
...
@@ -8,44 +9,44 @@ import java.time.LocalDateTime;
public
class
ApiAnnouncementCommissionRatioPageResponse
{
/**
* 公告佣比率表主键ID
* 公告佣比率
规格明细
表主键ID
*/
private
Long
id
;
/**
* 公告佣比率表唯一业务ID
* 公告佣比率
规格明细
表唯一业务ID
*/
private
String
announcementCommissionRatioBizId
;
/**
*
产品上架信息表唯一业务ID(冗余)
*
公告佣比率规格表唯一业务ID
*/
private
String
productLaunch
BizId
;
private
String
announcementSpecies
BizId
;
/**
*
产品唯一业务ID(冗余
)
*
费用名称(转介费等
)
*/
private
String
productBizId
;
private
String
expenseName
;
/**
*
规格条件列表JSON串
*
佣金年限(起)
*/
private
String
s
peciesJson
;
private
String
s
tartPeriod
;
/**
*
供款年期(产品有5年期的有10年期等
)
*
佣金年限(止
)
*/
private
String
term
;
private
String
endPeriod
;
/**
*
期数(数字代表第几年
)
*
标保折算比例(基本保费
)
*/
private
String
issueNumber
;
private
BigDecimal
discountRatio
;
/**
*
公告比例
*
佣金率
*/
private
BigDecimal
announcementRatio
;
private
BigDecimal
commissionRate
;
/**
* 有效开始时间
...
...
@@ -53,14 +54,24 @@ public class ApiAnnouncementCommissionRatioPageResponse {
private
LocalDateTime
effectiveStart
;
/**
* 有效结束时间
(不在这个时间区间内,公告比例按照announcement_ratio算,在这个区间内公告比例按照有效期内公告比例算)
* 有效结束时间
*/
private
LocalDateTime
effectiveEnd
;
/**
* 有效期内公告比例
* 适用范围(经纪人/分销员/加盟商/签单员/转介人/全部,字典)
*/
private
String
scope
;
/**
* 是否受汇率影响 0-否 1-是,字典)
*/
private
BigDecimal
ratio
;
private
String
isExchangeRate
;
/**
* 结算币种(字典)
*/
private
String
currency
;
/**
* 状态(0:停用 1:启用)
...
...
@@ -68,6 +79,31 @@ public class ApiAnnouncementCommissionRatioPageResponse {
private
Integer
status
;
/**
* 通用备注
*/
private
String
remark
;
/**
* 创建人ID
*/
private
String
creatorId
;
/**
* 创建人名称
*/
private
String
creatorName
;
/**
* 更新人ID
*/
private
String
updaterId
;
/**
* 更新人名称
*/
private
String
updaterName
;
/**
* 创建时间
*/
private
LocalDateTime
createTime
;
...
...
yd-product-feign/src/main/java/com/yd/product/feign/
dto/ApiAnnouncementCommissionRatioDto
.java
→
yd-product-feign/src/main/java/com/yd/product/feign/
response/announcementspecies/ApiAnnouncementSpeciesPageResponse
.java
View file @
725a3594
package
com
.
yd
.
product
.
feign
.
dto
;
package
com
.
yd
.
product
.
feign
.
response
.
announcementspecies
;
import
com.yd.product.feign.dto.ApiSpeciesSettingDto
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.List
;
@Data
public
class
ApiAnnouncement
CommissionRatioDto
{
public
class
ApiAnnouncement
SpeciesPageResponse
{
/**
* 公告佣比率
表唯一业务
ID
* 公告佣比率
规格表主键
ID
*/
private
String
announcementCommissionRatioBizI
d
;
private
Long
i
d
;
/**
* 产品上架信息表唯一业务ID(冗余)
* 公告佣比率规格表唯一业务ID
*/
private
String
announcementSpeciesBizId
;
/**
* 产品上架信息表唯一业务ID
*/
private
String
productLaunchBizId
;
/**
* 产品唯一业务ID
(冗余)
* 产品唯一业务ID
*/
private
String
productBizId
;
...
...
@@ -35,42 +40,27 @@ public class ApiAnnouncementCommissionRatioDto {
private
List
<
ApiSpeciesSettingDto
>
apiSpeciesSettingDtoList
;
/**
* 供款年期(产品有5年期的有10年期等)
*/
private
String
term
;
/**
* 期数(数字代表第几年)
*/
private
String
issueNumber
;
/**
* 公告比例
*/
private
BigDecimal
announcementRatio
;
/**
* 有效开始时间
* 保障计划(0-64岁等)(固定规格条件)
*/
private
LocalDateTime
effectiveStart
;
private
String
protectionPlan
;
/**
*
有效结束时间(不在这个时间区间内,公告比例按照announcement_ratio算,在这个区间内公告比例按照有效期内公告比例算)
*
供款年期(5、10、20年期等)(固定规格条件)
*/
private
LocalDateTime
effectiveEnd
;
private
String
paymentTerm
;
/**
*
有效期内公告比例
*
状态(0:停用 1:启用)
*/
private
BigDecimal
ratio
;
private
Integer
status
;
/**
*
状态(0:停用 1:启用)
*
创建时间
*/
private
Integer
status
;
private
LocalDateTime
createTime
;
/**
*
通用备注
*
更新时间
*/
private
String
remark
;
private
LocalDateTime
updateTime
;
}
yd-product-service/src/main/java/com/yd/product/service/dao/AnnouncementCommissionRatioMapper.java
View file @
725a3594
...
...
@@ -10,7 +10,7 @@ import org.apache.ibatis.annotations.Param;
/**
* <p>
* 公告佣比率表 Mapper 接口
* 公告佣比率
规格明细
表 Mapper 接口
* </p>
*
* @author zxm
...
...
yd-product-service/src/main/java/com/yd/product/service/dao/AnnouncementSpeciesMapper.java
0 → 100644
View file @
725a3594
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.announcementspecies.ApiAnnouncementSpeciesPageRequest
;
import
com.yd.product.feign.response.announcementspecies.ApiAnnouncementSpeciesPageResponse
;
import
com.yd.product.service.model.AnnouncementSpecies
;
import
org.apache.ibatis.annotations.Param
;
/**
* <p>
* 公告佣比率规格表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-12-01
*/
public
interface
AnnouncementSpeciesMapper
extends
BaseMapper
<
AnnouncementSpecies
>
{
IPage
<
ApiAnnouncementSpeciesPageResponse
>
page
(
@Param
(
"page"
)
Page
<
ApiAnnouncementSpeciesPageResponse
>
page
,
@Param
(
"request"
)
ApiAnnouncementSpeciesPageRequest
request
);
}
yd-product-service/src/main/java/com/yd/product/service/handler/JsonToListTypeHandler.java
0 → 100644
View file @
725a3594
package
com
.
yd
.
product
.
service
.
handler
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.yd.product.feign.dto.ApiSpeciesSettingDto
;
import
org.apache.ibatis.type.BaseTypeHandler
;
import
org.apache.ibatis.type.JdbcType
;
import
org.apache.ibatis.type.MappedJdbcTypes
;
import
org.apache.ibatis.type.MappedTypes
;
import
java.sql.CallableStatement
;
import
java.sql.PreparedStatement
;
import
java.sql.ResultSet
;
import
java.sql.SQLException
;
import
java.util.List
;
@MappedTypes
(
List
.
class
)
@MappedJdbcTypes
(
JdbcType
.
VARCHAR
)
public
class
JsonToListTypeHandler
extends
BaseTypeHandler
<
List
<
ApiSpeciesSettingDto
>>
{
private
static
final
ObjectMapper
objectMapper
=
new
ObjectMapper
();
@Override
public
void
setNonNullParameter
(
PreparedStatement
ps
,
int
i
,
List
<
ApiSpeciesSettingDto
>
parameter
,
JdbcType
jdbcType
)
throws
SQLException
{
ps
.
setString
(
i
,
toJson
(
parameter
));
}
@Override
public
List
<
ApiSpeciesSettingDto
>
getNullableResult
(
ResultSet
rs
,
String
columnName
)
throws
SQLException
{
return
toObject
(
rs
.
getString
(
columnName
));
}
@Override
public
List
<
ApiSpeciesSettingDto
>
getNullableResult
(
ResultSet
rs
,
int
columnIndex
)
throws
SQLException
{
return
toObject
(
rs
.
getString
(
columnIndex
));
}
@Override
public
List
<
ApiSpeciesSettingDto
>
getNullableResult
(
CallableStatement
cs
,
int
columnIndex
)
throws
SQLException
{
return
toObject
(
cs
.
getString
(
columnIndex
));
}
private
String
toJson
(
List
<
ApiSpeciesSettingDto
>
list
)
{
try
{
return
objectMapper
.
writeValueAsString
(
list
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"JSON序列化失败"
,
e
);
}
}
private
List
<
ApiSpeciesSettingDto
>
toObject
(
String
json
)
{
if
(
json
==
null
||
json
.
trim
().
isEmpty
())
{
return
null
;
}
try
{
return
objectMapper
.
readValue
(
json
,
new
TypeReference
<
List
<
ApiSpeciesSettingDto
>>()
{});
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"JSON反序列化失败: "
+
json
,
e
);
}
}
}
\ No newline at end of file
yd-product-service/src/main/java/com/yd/product/service/model/AnnouncementCommissionRatio.java
View file @
725a3594
...
...
@@ -4,19 +4,20 @@ import com.baomidou.mybatisplus.annotation.IdType;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* <p>
* 公告佣比率表
* 公告佣比率
规格明细
表
* </p>
*
* @author zxm
* @since 2025-1
1-27
* @since 2025-1
2-01
*/
@Getter
@Setter
...
...
@@ -32,46 +33,52 @@ public class AnnouncementCommissionRatio implements Serializable {
private
Long
id
;
/**
* 公告佣比率表唯一业务ID
* 公告佣比率
规格明细
表唯一业务ID
*/
@TableField
(
"announcement_commission_ratio_biz_id"
)
private
String
announcementCommissionRatioBizId
;
/**
*
产品上架信息表唯一业务ID(冗余)
*
公告佣比率规格表唯一业务ID
*/
@TableField
(
"
product_launch
_biz_id"
)
private
String
productLaunch
BizId
;
@TableField
(
"
announcement_species
_biz_id"
)
private
String
announcementSpecies
BizId
;
/**
*
产品唯一业务ID(冗余
)
*
费用名称(转介费等
)
*/
@TableField
(
"
product_biz_id
"
)
private
String
productBizId
;
@TableField
(
"
expense_name
"
)
private
String
expenseName
;
/**
*
规格条件列表JSON串
*
佣金年限(起)
*/
@TableField
(
"s
pecies_json
"
)
private
String
s
peciesJson
;
@TableField
(
"s
tart_period
"
)
private
String
s
tartPeriod
;
/**
*
供款年期(产品有5年期的有10年期等
)
*
佣金年限(止
)
*/
@TableField
(
"
term
"
)
private
String
term
;
@TableField
(
"
end_period
"
)
private
String
endPeriod
;
/**
*
期数(数字代表第几年
)
*
标保折算比例(基本保费
)
*/
@TableField
(
"
issue_number
"
)
private
String
issueNumber
;
@TableField
(
"
discount_ratio
"
)
private
BigDecimal
discountRatio
;
/**
*
公告比例
*
计算基数(保费/保费*折算比例)
*/
@TableField
(
"announcement_ratio"
)
private
BigDecimal
announcementRatio
;
@TableField
(
"cardinal_number"
)
private
BigDecimal
cardinalNumber
;
/**
* 佣金率
*/
@TableField
(
"commission_rate"
)
private
BigDecimal
commissionRate
;
/**
* 有效开始时间
...
...
@@ -80,34 +87,34 @@ public class AnnouncementCommissionRatio implements Serializable {
private
LocalDateTime
effectiveStart
;
/**
* 有效结束时间
(不在这个时间区间内,公告比例按照announcement_ratio算,在这个区间内公告比例按照有效期内公告比例算)
* 有效结束时间
*/
@TableField
(
"effective_end"
)
private
LocalDateTime
effectiveEnd
;
/**
*
有效期内公告比例
*
适用范围(经纪人/分销员/加盟商/签单员/转介人/全部,字典)
*/
@TableField
(
"
ratio
"
)
private
BigDecimal
ratio
;
@TableField
(
"
scope
"
)
private
String
scope
;
/**
*
状态(0:停用 1:启用)
*
是否受汇率影响 0-否 1-是,字典)
*/
@TableField
(
"
status
"
)
private
Integer
status
;
@TableField
(
"
is_exchange_rate
"
)
private
String
isExchangeRate
;
/**
*
所属租户唯一业务ID(冗余
)
*
结算币种(字典
)
*/
@TableField
(
"
tenant_biz_id
"
)
private
String
tenantBizId
;
@TableField
(
"
currency
"
)
private
String
currency
;
/**
*
所属项目唯一业务ID(冗余)
*
状态(0:停用 1:启用)
*/
@TableField
(
"
project_biz_id
"
)
private
String
projectBizId
;
@TableField
(
"
status
"
)
private
Integer
status
;
/**
* 通用备注
...
...
@@ -128,12 +135,24 @@ public class AnnouncementCommissionRatio implements Serializable {
private
String
creatorId
;
/**
* 创建人名称
*/
@TableField
(
"creator_name"
)
private
String
creatorName
;
/**
* 更新人ID
*/
@TableField
(
"updater_id"
)
private
String
updaterId
;
/**
* 更新人名称
*/
@TableField
(
"updater_name"
)
private
String
updaterName
;
/**
* 创建时间
*/
@TableField
(
"create_time"
)
...
...
yd-product-service/src/main/java/com/yd/product/service/model/AnnouncementSpecies.java
0 → 100644
View file @
725a3594
package
com
.
yd
.
product
.
service
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* <p>
* 公告佣比率规格表
* </p>
*
* @author zxm
* @since 2025-12-01
*/
@Getter
@Setter
@TableName
(
"announcement_species"
)
public
class
AnnouncementSpecies
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键ID
*/
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 公告佣比率规格表唯一业务ID
*/
@TableField
(
"announcement_species_biz_id"
)
private
String
announcementSpeciesBizId
;
/**
* 产品上架信息表唯一业务ID
*/
@TableField
(
"product_launch_biz_id"
)
private
String
productLaunchBizId
;
/**
* 产品唯一业务ID
*/
@TableField
(
"product_biz_id"
)
private
String
productBizId
;
/**
* 规格条件列表JSON串
*/
@TableField
(
"species_json"
)
private
String
speciesJson
;
/**
* 保障计划(0-64岁等)(固定规格条件)
*/
@TableField
(
"protection_plan"
)
private
String
protectionPlan
;
/**
* 供款年期(5、10、20年期等)(固定规格条件)
*/
@TableField
(
"payment_term"
)
private
String
paymentTerm
;
/**
* 状态(0:停用 1:启用)
*/
@TableField
(
"status"
)
private
Integer
status
;
/**
* 通用备注
*/
@TableField
(
"remark"
)
private
String
remark
;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField
(
"is_deleted"
)
private
Integer
isDeleted
;
/**
* 创建人ID
*/
@TableField
(
"creator_id"
)
private
String
creatorId
;
/**
* 创建人名称
*/
@TableField
(
"creator_name"
)
private
String
creatorName
;
/**
* 更新人ID
*/
@TableField
(
"updater_id"
)
private
String
updaterId
;
/**
* 更新人名称
*/
@TableField
(
"updater_name"
)
private
String
updaterName
;
/**
* 创建时间
*/
@TableField
(
"create_time"
)
private
LocalDateTime
createTime
;
/**
* 更新时间
*/
@TableField
(
"update_time"
)
private
LocalDateTime
updateTime
;
}
yd-product-service/src/main/java/com/yd/product/service/service/IAnnouncementCommissionRatioService.java
View file @
725a3594
...
...
@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 公告佣比率表 服务类
* 公告佣比率
规格明细
表 服务类
* </p>
*
* @author zxm
...
...
@@ -20,7 +20,5 @@ public interface IAnnouncementCommissionRatioService extends IService<Announceme
IPage
<
ApiAnnouncementCommissionRatioPageResponse
>
page
(
Page
<
ApiAnnouncementCommissionRatioPageResponse
>
page
,
ApiAnnouncementCommissionRatioPageRequest
request
);
Boolean
delByProductLaunchBizId
(
String
productLaunchBizId
);
AnnouncementCommissionRatio
queryOne
(
String
announcementCommissionRatioBizId
);
}
yd-product-service/src/main/java/com/yd/product/service/service/IAnnouncementSpeciesService.java
0 → 100644
View file @
725a3594
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.announcementspecies.ApiAnnouncementSpeciesPageRequest
;
import
com.yd.product.feign.response.announcementspecies.ApiAnnouncementSpeciesPageResponse
;
import
com.yd.product.service.model.AnnouncementSpecies
;
/**
* <p>
* 公告佣比率规格表 服务类
* </p>
*
* @author zxm
* @since 2025-12-01
*/
public
interface
IAnnouncementSpeciesService
extends
IService
<
AnnouncementSpecies
>
{
IPage
<
ApiAnnouncementSpeciesPageResponse
>
page
(
Page
<
ApiAnnouncementSpeciesPageResponse
>
page
,
ApiAnnouncementSpeciesPageRequest
request
);
AnnouncementSpecies
queryOne
(
String
announcementSpeciesBizId
);
}
yd-product-service/src/main/java/com/yd/product/service/service/impl/AnnouncementCommissionRatioServiceImpl.java
View file @
725a3594
...
...
@@ -13,7 +13,7 @@ import org.springframework.stereotype.Service;
/**
* <p>
* 公告佣比率表 服务实现类
* 公告佣比率
规格明细
表 服务实现类
* </p>
*
* @author zxm
...
...
@@ -29,11 +29,6 @@ public class AnnouncementCommissionRatioServiceImpl extends ServiceImpl<Announce
}
@Override
public
Boolean
delByProductLaunchBizId
(
String
productLaunchBizId
)
{
return
this
.
remove
(
new
LambdaQueryWrapper
<
AnnouncementCommissionRatio
>().
eq
(
AnnouncementCommissionRatio:
:
getProductLaunchBizId
,
productLaunchBizId
));
}
@Override
public
AnnouncementCommissionRatio
queryOne
(
String
announcementCommissionRatioBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
AnnouncementCommissionRatio
>().
eq
(
AnnouncementCommissionRatio:
:
getAnnouncementCommissionRatioBizId
,
announcementCommissionRatioBizId
));
}
...
...
yd-product-service/src/main/java/com/yd/product/service/service/impl/AnnouncementSpeciesServiceImpl.java
0 → 100644
View file @
725a3594
package
com
.
yd
.
product
.
service
.
service
.
impl
;
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.announcementspecies.ApiAnnouncementSpeciesPageRequest
;
import
com.yd.product.feign.response.announcementspecies.ApiAnnouncementSpeciesPageResponse
;
import
com.yd.product.service.dao.AnnouncementSpeciesMapper
;
import
com.yd.product.service.model.AnnouncementSpecies
;
import
com.yd.product.service.service.IAnnouncementSpeciesService
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 公告佣比率规格表 服务实现类
* </p>
*
* @author zxm
* @since 2025-12-01
*/
@Service
public
class
AnnouncementSpeciesServiceImpl
extends
ServiceImpl
<
AnnouncementSpeciesMapper
,
AnnouncementSpecies
>
implements
IAnnouncementSpeciesService
{
@Override
public
IPage
<
ApiAnnouncementSpeciesPageResponse
>
page
(
Page
<
ApiAnnouncementSpeciesPageResponse
>
page
,
ApiAnnouncementSpeciesPageRequest
request
)
{
return
baseMapper
.
page
(
page
,
request
);
}
@Override
public
AnnouncementSpecies
queryOne
(
String
announcementSpeciesBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
AnnouncementSpecies
>().
eq
(
AnnouncementSpecies:
:
getAnnouncementSpeciesBizId
,
announcementSpeciesBizId
));
}
}
yd-product-service/src/main/java/com/yd/product/service/utils/MyBatisPlusCodeGenerator.java
View file @
725a3594
...
...
@@ -21,7 +21,7 @@ public class MyBatisPlusCodeGenerator {
})
.
strategyConfig
(
builder
->
{
builder
.
addInclude
(
"announcement_commission_ratio"
"announcement_
species"
,
"announcement_
commission_ratio"
)
.
entityBuilder
()
...
...
yd-product-service/src/main/resources/mappers/AnnouncementCommissionRatioMapper.xml
View file @
725a3594
...
...
@@ -6,15 +6,10 @@
resultType=
"com.yd.product.feign.response.announcementcommissionratio.ApiAnnouncementCommissionRatioPageResponse"
>
select acr.* from announcement_commission_ratio acr
<where>
<if
test=
"request.productLaunchBizId != null and request.productLaunchBizId != ''"
>
and acr.product_launch_biz_id = #{request.productLaunchBizId}
</if>
<if
test=
"request.term != null and request.term != ''"
>
and acr.term = #{request.term}
</if>
<if
test=
"request.issueNumber != null and request.issueNumber != ''"
>
and acr.issue_number = #{request.issueNumber}
<if
test=
"request.expenseName != null and request.expenseName != ''"
>
and acr.expense_name = #{request.expenseName}
</if>
and acr.announcement_species_biz_id = #{request.announcementSpeciesBizId}
and acr.is_deleted = 0
</where>
</select>
...
...
yd-product-service/src/main/resources/mappers/AnnouncementSpeciesMapper.xml
0 → 100644
View file @
725a3594
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.product.service.dao.AnnouncementSpeciesMapper"
>
<resultMap
id=
"AnnouncementSpeciesPageResultMap"
type=
"com.yd.product.feign.response.announcementspecies.ApiAnnouncementSpeciesPageResponse"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"announcementSpeciesBizId"
column=
"announcement_species_biz_id"
/>
<result
property=
"productLaunchBizId"
column=
"product_launch_biz_id"
/>
<result
property=
"productBizId"
column=
"product_biz_id"
/>
<result
property=
"speciesJson"
column=
"species_json"
/>
<result
property=
"protectionPlan"
column=
"protection_plan"
/>
<result
property=
"paymentTerm"
column=
"payment_term"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<!-- 使用类型处理器转换 species_json 字段 -->
<result
property=
"apiSpeciesSettingDtoList"
column=
"species_json"
typeHandler=
"com.yd.product.service.handler.JsonToListTypeHandler"
/>
</resultMap>
<select
id=
"page"
resultMap=
"AnnouncementSpeciesPageResultMap"
>
select
a.id,
a.announcement_species_biz_id,
a.product_launch_biz_id,
a.product_biz_id,
a.species_json,
a.protection_plan,
a.payment_term,
a.status,
a.create_time,
a.update_time
from announcement_species a
<where>
<if
test=
"request.productLaunchBizId != null and request.productLaunchBizId != ''"
>
and a.product_launch_biz_id = #{request.productLaunchBizId}
</if>
<if
test=
"request.protectionPlan != null and request.protectionPlan != ''"
>
and a.protection_plan like concat('%', #{request.protectionPlan}, '%')
</if>
<if
test=
"request.paymentTerm != null and request.paymentTerm != ''"
>
and a.payment_term = #{request.paymentTerm}
</if>
and a.is_deleted = 0
</where>
order by a.create_time desc
</select>
</mapper>
\ No newline at end of file
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