Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-csf
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-csf
Commits
6104eda1
Commit
6104eda1
authored
May 09, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
薪资单
parent
9277d976
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
529 additions
and
9 deletions
+529
-9
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiSalaryController.java
+24
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiSalaryRemittanceService.java
+1
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiSalaryService.java
+6
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiSalaryServiceImpl.java
+110
-2
yd-csf-feign/src/main/java/com/yd/csf/feign/client/salary/ApiSalaryFeignClient.java
+31
-6
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/salary/ApiSalaryBatchAddDTO.java
+110
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/salaryremittance/ApiSalaryRemittanceDTO.java
+5
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/salary/ApiSalaryFeignFallbackFactory.java
+14
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/salary/ApiSalaryBatchAddRequest.java
+11
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/salary/ApiSalaryCalculatePaidAmountRequest.java
+24
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/salary/ApiSalaryPageRequest.java
+12
-1
yd-csf-feign/src/main/java/com/yd/csf/feign/response/salary/ApiSalaryDetailResponse.java
+64
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/response/salary/ApiSalaryPageResponse.java
+55
-0
yd-csf-service/src/main/java/com/yd/csf/service/dao/SalaryMapper.java
+7
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/ISalaryRemittanceService.java
+4
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/ISalaryService.java
+7
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/SalaryRemittanceServiceImpl.java
+8
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/SalaryServiceImpl.java
+10
-0
yd-csf-service/src/main/resources/mappers/SalaryMapper.xml
+26
-0
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiSalaryController.java
View file @
6104eda1
...
@@ -5,14 +5,18 @@ import com.yd.common.result.Result;
...
@@ -5,14 +5,18 @@ import com.yd.common.result.Result;
import
com.yd.csf.api.service.ApiSalaryService
;
import
com.yd.csf.api.service.ApiSalaryService
;
import
com.yd.csf.feign.client.salary.ApiSalaryFeignClient
;
import
com.yd.csf.feign.client.salary.ApiSalaryFeignClient
;
import
com.yd.csf.feign.request.salary.ApiSalaryAddRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryAddRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryBatchAddRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryEditRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryEditRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryPageRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryPageRequest
;
import
com.yd.csf.feign.response.salary.ApiSalaryDetailResponse
;
import
com.yd.csf.feign.response.salary.ApiSalaryPageResponse
;
import
com.yd.csf.feign.response.salary.ApiSalaryPageResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.validation.constraints.NotBlank
;
/**
/**
* 薪资单信息
* 薪资单信息
*
*
...
@@ -38,6 +42,16 @@ public class ApiSalaryController implements ApiSalaryFeignClient {
...
@@ -38,6 +42,16 @@ public class ApiSalaryController implements ApiSalaryFeignClient {
}
}
/**
/**
* 详情-薪资单信息
* @param salaryBizId
* @return
*/
@Override
public
Result
<
ApiSalaryDetailResponse
>
detail
(
String
salaryBizId
)
{
return
apiSalaryService
.
detail
(
salaryBizId
);
}
/**
* 新增-薪资单信息
* 新增-薪资单信息
* @param request
* @param request
* @return
* @return
...
@@ -57,5 +71,15 @@ public class ApiSalaryController implements ApiSalaryFeignClient {
...
@@ -57,5 +71,15 @@ public class ApiSalaryController implements ApiSalaryFeignClient {
return
apiSalaryService
.
edit
(
request
);
return
apiSalaryService
.
edit
(
request
);
}
}
/**
* 批量新增-薪资单信息
* @param request
* @return
*/
@Override
public
Result
batchAdd
(
ApiSalaryBatchAddRequest
request
)
{
return
apiSalaryService
.
batchAdd
(
request
);
}
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiSalaryRemittanceService.java
View file @
6104eda1
...
@@ -6,4 +6,5 @@ import com.yd.csf.feign.dto.salaryremittance.ApiSalaryRemittanceFzDTO;
...
@@ -6,4 +6,5 @@ import com.yd.csf.feign.dto.salaryremittance.ApiSalaryRemittanceFzDTO;
public
interface
ApiSalaryRemittanceService
{
public
interface
ApiSalaryRemittanceService
{
Result
batchSave
(
String
salaryBizId
,
ApiSalaryRemittanceFzDTO
fzDTO
);
Result
batchSave
(
String
salaryBizId
,
ApiSalaryRemittanceFzDTO
fzDTO
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiSalaryService.java
View file @
6104eda1
...
@@ -3,14 +3,20 @@ package com.yd.csf.api.service;
...
@@ -3,14 +3,20 @@ package com.yd.csf.api.service;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.request.salary.ApiSalaryAddRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryAddRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryBatchAddRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryEditRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryEditRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryPageRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryPageRequest
;
import
com.yd.csf.feign.response.salary.ApiSalaryDetailResponse
;
import
com.yd.csf.feign.response.salary.ApiSalaryPageResponse
;
import
com.yd.csf.feign.response.salary.ApiSalaryPageResponse
;
public
interface
ApiSalaryService
{
public
interface
ApiSalaryService
{
Result
<
IPage
<
ApiSalaryPageResponse
>>
page
(
ApiSalaryPageRequest
request
);
Result
<
IPage
<
ApiSalaryPageResponse
>>
page
(
ApiSalaryPageRequest
request
);
Result
<
ApiSalaryDetailResponse
>
detail
(
String
salaryBizId
);
Result
add
(
ApiSalaryAddRequest
request
);
Result
add
(
ApiSalaryAddRequest
request
);
Result
edit
(
ApiSalaryEditRequest
request
);
Result
edit
(
ApiSalaryEditRequest
request
);
Result
batchAdd
(
ApiSalaryBatchAddRequest
request
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiSalaryServiceImpl.java
View file @
6104eda1
package
com
.
yd
.
csf
.
api
.
service
.
impl
;
package
com
.
yd
.
csf
.
api
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
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.enums.CommonEnum
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
...
@@ -8,20 +9,31 @@ import com.yd.common.utils.CodeGenerator;
...
@@ -8,20 +9,31 @@ import com.yd.common.utils.CodeGenerator;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.api.service.ApiSalaryRemittanceService
;
import
com.yd.csf.api.service.ApiSalaryRemittanceService
;
import
com.yd.csf.api.service.ApiSalaryService
;
import
com.yd.csf.api.service.ApiSalaryService
;
import
com.yd.csf.feign.dto.salary.ApiSalaryBatchAddDTO
;
import
com.yd.csf.feign.dto.salaryremittance.ApiSalaryRemittanceDTO
;
import
com.yd.csf.feign.dto.salaryremittance.ApiSalaryRemittanceFzDTO
;
import
com.yd.csf.feign.dto.salaryremittance.ApiSalaryRemittanceFzDTO
;
import
com.yd.csf.feign.request.salary.ApiSalaryAddRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryAddRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryBatchAddRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryEditRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryEditRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryPageRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryPageRequest
;
import
com.yd.csf.feign.response.salary.ApiSalaryDetailResponse
;
import
com.yd.csf.feign.response.salary.ApiSalaryPageResponse
;
import
com.yd.csf.feign.response.salary.ApiSalaryPageResponse
;
import
com.yd.csf.service.model.Salary
;
import
com.yd.csf.service.model.Salary
;
import
com.yd.csf.service.model.SalaryRemittance
;
import
com.yd.csf.service.service.ISalaryRemittanceService
;
import
com.yd.csf.service.service.ISalaryService
;
import
com.yd.csf.service.service.ISalaryService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
@Slf4j
@Slf4j
@Service
@Service
...
@@ -33,6 +45,9 @@ public class ApiSalaryServiceImpl implements ApiSalaryService {
...
@@ -33,6 +45,9 @@ public class ApiSalaryServiceImpl implements ApiSalaryService {
@Autowired
@Autowired
private
ApiSalaryRemittanceService
apiSalaryRemittanceService
;
private
ApiSalaryRemittanceService
apiSalaryRemittanceService
;
@Autowired
private
ISalaryRemittanceService
iSalaryRemittanceService
;
/**
/**
* 分页查询-薪资单信息
* 分页查询-薪资单信息
* @param request
* @param request
...
@@ -40,7 +55,37 @@ public class ApiSalaryServiceImpl implements ApiSalaryService {
...
@@ -40,7 +55,37 @@ public class ApiSalaryServiceImpl implements ApiSalaryService {
*/
*/
@Override
@Override
public
Result
<
IPage
<
ApiSalaryPageResponse
>>
page
(
ApiSalaryPageRequest
request
)
{
public
Result
<
IPage
<
ApiSalaryPageResponse
>>
page
(
ApiSalaryPageRequest
request
)
{
return
null
;
Page
<
ApiSalaryPageResponse
>
page
=
new
Page
<>(
request
.
getPageNo
(),
request
.
getPageSize
());
IPage
<
ApiSalaryPageResponse
>
iPage
=
iSalaryService
.
page
(
page
,
request
);
return
Result
.
success
(
iPage
);
}
/**
* 详情-薪资单信息
* @param salaryBizId
* @return
*/
@Override
public
Result
<
ApiSalaryDetailResponse
>
detail
(
String
salaryBizId
)
{
//校验薪资单信息是否存在
Salary
salary
=
checkIsExist
(
salaryBizId
);
ApiSalaryDetailResponse
response
=
new
ApiSalaryDetailResponse
();
BeanUtils
.
copyProperties
(
salary
,
response
);
//薪资汇款明细封装的DTO
ApiSalaryRemittanceFzDTO
fzDTO
=
new
ApiSalaryRemittanceFzDTO
();
fzDTO
.
setTotalAmount
(
salary
.
getPaidAmount
());
List
<
ApiSalaryRemittanceDTO
>
salaryRemittanceDTOList
=
new
ArrayList
<>();
List
<
SalaryRemittance
>
salaryRemittanceList
=
iSalaryRemittanceService
.
queryList
(
salaryBizId
);
if
(
CollectionUtils
.
isNotEmpty
(
salaryRemittanceList
))
{
salaryRemittanceDTOList
=
salaryRemittanceList
.
stream
().
map
(
dto
->
{
ApiSalaryRemittanceDTO
remittanceDTO
=
new
ApiSalaryRemittanceDTO
();
BeanUtils
.
copyProperties
(
dto
,
remittanceDTO
);
return
remittanceDTO
;
}).
collect
(
Collectors
.
toList
());
}
fzDTO
.
setSalaryRemittanceDTOList
(
salaryRemittanceDTOList
);
response
.
setApiSalaryRemittanceFzDTO
(
fzDTO
);
return
Result
.
success
(
response
);
}
}
/**
/**
...
@@ -98,6 +143,69 @@ public class ApiSalaryServiceImpl implements ApiSalaryService {
...
@@ -98,6 +143,69 @@ public class ApiSalaryServiceImpl implements ApiSalaryService {
}
}
/**
/**
* 批量新增-薪资单信息
* @param request
* @return
*/
@Override
public
Result
batchAdd
(
ApiSalaryBatchAddRequest
request
)
{
List
<
ApiSalaryBatchAddDTO
>
apiSalaryBatchAddDTOList
=
request
.
getApiSalaryBatchAddDTOList
();
if
(
CollectionUtils
.
isEmpty
(
apiSalaryBatchAddDTOList
))
{
throw
new
BusinessException
(
"批量新增的数据列表不能为空"
);
}
//批量校验同一转介人同一年月只能有一条薪资单记录 TODO
//批量校验薪资单信息金额字段信息 TODO
Map
<
Salary
,
List
<
SalaryRemittance
>>
map
=
new
HashMap
<>();
apiSalaryBatchAddDTOList
.
forEach
(
dto
->
{
Salary
salary
=
new
Salary
();
BeanUtils
.
copyProperties
(
dto
,
salary
);
salary
.
setSalaryBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_SALARY
.
getCode
()));
List
<
SalaryRemittance
>
salaryRemittanceList
=
new
ArrayList
<>();
SalaryRemittance
remittance1
=
new
SalaryRemittance
();
remittance1
.
setSalaryBizId
(
salary
.
getSalaryBizId
());
remittance1
.
setSalaryRemittanceBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_SALARY_REMITTANCE
.
getCode
()));
remittance1
.
setBank
(
dto
.
getBank1
());
remittance1
.
setAccountEndNo
(
dto
.
getAccountEndNo1
());
remittance1
.
setCurrency
(
dto
.
getCurrency1
());
remittance1
.
setAmount
(
dto
.
getAmount1
());
remittance1
.
setExchangeRate
(
dto
.
getExchangeRate1
());
remittance1
.
setRemark
(
dto
.
getRemark1
());
salaryRemittanceList
.
add
(
remittance1
);
SalaryRemittance
remittance2
=
new
SalaryRemittance
();
remittance2
.
setSalaryBizId
(
salary
.
getSalaryBizId
());
remittance2
.
setSalaryRemittanceBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_SALARY_REMITTANCE
.
getCode
()));
remittance2
.
setBank
(
dto
.
getBank2
());
remittance2
.
setAccountEndNo
(
dto
.
getAccountEndNo2
());
remittance2
.
setCurrency
(
dto
.
getCurrency2
());
remittance2
.
setAmount
(
dto
.
getAmount2
());
remittance2
.
setExchangeRate
(
dto
.
getExchangeRate2
());
remittance2
.
setRemark
(
dto
.
getRemark2
());
salaryRemittanceList
.
add
(
remittance2
);
map
.
put
(
salary
,
salaryRemittanceList
);
});
// 提取所有的 Salary 对象
List
<
Salary
>
salaryList
=
new
ArrayList
<>(
map
.
keySet
());
// 提取所有的 SalaryRemittance 对象(将 Map 中所有 List 打平)
List
<
SalaryRemittance
>
salaryRemittanceList
=
map
.
values
()
.
stream
()
.
flatMap
(
List:
:
stream
)
.
collect
(
Collectors
.
toList
());
//批量保存salaryList
iSalaryService
.
saveOrUpdateBatch
(
salaryList
);
//批量保存salaryRemittanceList
iSalaryRemittanceService
.
saveOrUpdateBatch
(
salaryRemittanceList
);
return
Result
.
success
();
}
/**
* 批量校验同一转介人同一年月只能有一条薪资单记录
* @param apiSalaryBatchAddDTOList
*/
public
void
batchCheckUniqueByBrokerMonth
(
List
<
ApiSalaryBatchAddDTO
>
apiSalaryBatchAddDTOList
)
{
}
/**
* 校验同一转介人同一年月只能有一条薪资单记录
* 校验同一转介人同一年月只能有一条薪资单记录
* @param brokerBizId 转介人业务id
* @param brokerBizId 转介人业务id
* @param month 薪资月份(同出账月,如:202605)
* @param month 薪资月份(同出账月,如:202605)
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/client/salary/ApiSalaryFeignClient.java
View file @
6104eda1
...
@@ -2,13 +2,14 @@ package com.yd.csf.feign.client.salary;
...
@@ -2,13 +2,14 @@ package com.yd.csf.feign.client.salary;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.fallback.salary.ApiSalaryFeignFallbackFactory
;
import
com.yd.csf.feign.fallback.salary.ApiSalaryFeignFallbackFactory
;
import
com.yd.csf.feign.request.salary.ApiSalaryAddRequest
;
import
com.yd.csf.feign.request.salary.*
;
import
com.yd.csf.feign.request.salary.ApiSalaryEditRequest
;
import
com.yd.csf.feign.response.salary.ApiSalaryDetailResponse
;
import
com.yd.csf.feign.request.salary.ApiSalaryPageRequest
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
javax.validation.constraints.NotBlank
;
import
java.math.BigDecimal
;
/**
/**
* 香港保险服务-薪资单信息Feign客户端
* 香港保险服务-薪资单信息Feign客户端
...
@@ -25,6 +26,14 @@ public interface ApiSalaryFeignClient {
...
@@ -25,6 +26,14 @@ public interface ApiSalaryFeignClient {
Result
page
(
@Validated
@RequestBody
ApiSalaryPageRequest
request
);
Result
page
(
@Validated
@RequestBody
ApiSalaryPageRequest
request
);
/**
/**
* 详情-薪资单信息
* @param salaryBizId
* @return
*/
@GetMapping
(
"/detail"
)
Result
<
ApiSalaryDetailResponse
>
detail
(
@NotBlank
(
message
=
"薪资单表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"salaryBizId"
)
String
salaryBizId
);
/**
* 新增-薪资单信息
* 新增-薪资单信息
* @param request
* @param request
* @return
* @return
...
@@ -37,6 +46,22 @@ public interface ApiSalaryFeignClient {
...
@@ -37,6 +46,22 @@ public interface ApiSalaryFeignClient {
* @param request
* @param request
* @return
* @return
*/
*/
@P
os
tMapping
(
"/edit"
)
@P
u
tMapping
(
"/edit"
)
Result
edit
(
@Validated
@RequestBody
ApiSalaryEditRequest
request
);
Result
edit
(
@Validated
@RequestBody
ApiSalaryEditRequest
request
);
/**
* 批量新增-薪资单信息
* @param request
* @return
*/
@PostMapping
(
"/batch/add"
)
Result
batchAdd
(
@Validated
@RequestBody
ApiSalaryBatchAddRequest
request
);
/**
* 计算-实发金额
* @param request
* @return
*/
@PostMapping
(
"/calculate/paidAmount"
)
Result
<
BigDecimal
>
calculatePaidAmount
(
@Validated
@RequestBody
ApiSalaryCalculatePaidAmountRequest
request
);
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/salary/ApiSalaryBatchAddDTO.java
0 → 100644
View file @
6104eda1
package
com
.
yd
.
csf
.
feign
.
dto
.
salary
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
ApiSalaryBatchAddDTO
{
/**
* 转介人名称
*/
private
String
brokerName
;
/**
* 转介人业务id
*/
private
String
brokerBizId
;
/**
* 薪资月份(同出账月,如:202605)
*/
private
String
month
;
/**
* 应发总金额(单位:HKD)
*/
private
BigDecimal
grossAmount
;
/**
* MPF事项总金额(单位:HKD)
*/
private
BigDecimal
mpfAmount
;
/**
* 其他调整总金额(单位:HKD)
*/
private
BigDecimal
otherAmount
;
/**
* 其他调整的备注
*/
private
String
otherRemark
;
/**
* 实发总金额(单位:HKD)
*/
private
BigDecimal
paidAmount
;
//========以下是薪资汇款明细字段,两个汇款明细对象
/**
* 收款银行1
*/
private
String
bank1
;
/**
* 账户尾号1
*/
private
String
accountEndNo1
;
/**
* 汇款币种1
*/
private
String
currency1
;
/**
* 汇款金额1(发放金额1)
*/
private
BigDecimal
amount1
;
/**
* 汇率1
*/
private
BigDecimal
exchangeRate1
;
/**
* 备注1
*/
private
String
remark1
;
/**
* 收款银行1
*/
private
String
bank2
;
/**
* 账户尾号1
*/
private
String
accountEndNo2
;
/**
* 汇款币种1
*/
private
String
currency2
;
/**
* 汇款金额1(发放金额1)
*/
private
BigDecimal
amount2
;
/**
* 汇率1
*/
private
BigDecimal
exchangeRate2
;
/**
* 备注1
*/
private
String
remark2
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/salaryremittance/ApiSalaryRemittanceDTO.java
View file @
6104eda1
...
@@ -8,6 +8,11 @@ import java.math.BigDecimal;
...
@@ -8,6 +8,11 @@ import java.math.BigDecimal;
public
class
ApiSalaryRemittanceDTO
{
public
class
ApiSalaryRemittanceDTO
{
/**
/**
* 薪资汇款明细表唯一业务ID
*/
private
String
salaryRemittanceBizId
;
/**
* 收款银行
* 收款银行
*/
*/
private
String
bank
;
private
String
bank
;
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/salary/ApiSalaryFeignFallbackFactory.java
View file @
6104eda1
...
@@ -3,12 +3,16 @@ package com.yd.csf.feign.fallback.salary;
...
@@ -3,12 +3,16 @@ package com.yd.csf.feign.fallback.salary;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.client.salary.ApiSalaryFeignClient
;
import
com.yd.csf.feign.client.salary.ApiSalaryFeignClient
;
import
com.yd.csf.feign.request.salary.ApiSalaryAddRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryAddRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryBatchAddRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryEditRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryEditRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryPageRequest
;
import
com.yd.csf.feign.request.salary.ApiSalaryPageRequest
;
import
com.yd.csf.feign.response.salary.ApiSalaryDetailResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.validation.constraints.NotBlank
;
/**
/**
* 香港保险服务-薪资单信息Feign降级处理
* 香港保险服务-薪资单信息Feign降级处理
*/
*/
...
@@ -24,6 +28,11 @@ public class ApiSalaryFeignFallbackFactory implements FallbackFactory<ApiSalaryF
...
@@ -24,6 +28,11 @@ public class ApiSalaryFeignFallbackFactory implements FallbackFactory<ApiSalaryF
}
}
@Override
@Override
public
Result
<
ApiSalaryDetailResponse
>
detail
(
String
salaryBizId
)
{
return
null
;
}
@Override
public
Result
add
(
ApiSalaryAddRequest
request
)
{
public
Result
add
(
ApiSalaryAddRequest
request
)
{
return
null
;
return
null
;
}
}
...
@@ -32,6 +41,11 @@ public class ApiSalaryFeignFallbackFactory implements FallbackFactory<ApiSalaryF
...
@@ -32,6 +41,11 @@ public class ApiSalaryFeignFallbackFactory implements FallbackFactory<ApiSalaryF
public
Result
edit
(
ApiSalaryEditRequest
request
)
{
public
Result
edit
(
ApiSalaryEditRequest
request
)
{
return
null
;
return
null
;
}
}
@Override
public
Result
batchAdd
(
ApiSalaryBatchAddRequest
request
)
{
return
null
;
}
};
};
}
}
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/salary/ApiSalaryBatchAddRequest.java
0 → 100644
View file @
6104eda1
package
com
.
yd
.
csf
.
feign
.
request
.
salary
;
import
com.yd.csf.feign.dto.salary.ApiSalaryBatchAddDTO
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
ApiSalaryBatchAddRequest
{
private
List
<
ApiSalaryBatchAddDTO
>
apiSalaryBatchAddDTOList
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/salary/ApiSalaryCalculatePaidAmountRequest.java
0 → 100644
View file @
6104eda1
package
com
.
yd
.
csf
.
feign
.
request
.
salary
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
ApiSalaryCalculatePaidAmountRequest
{
/**
* 应发总金额(单位:HKD)
*/
private
BigDecimal
grossAmount
;
/**
* MPF事项总金额(单位:HKD)
*/
private
BigDecimal
mpfAmount
;
/**
* 其他调整总金额(单位:HKD)
*/
private
BigDecimal
otherAmount
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/salary/ApiSalaryPageRequest.java
View file @
6104eda1
package
com
.
yd
.
csf
.
feign
.
request
.
salary
;
package
com
.
yd
.
csf
.
feign
.
request
.
salary
;
import
com.yd.common.dto.PageDto
;
import
lombok.Data
;
import
lombok.Data
;
@Data
@Data
public
class
ApiSalaryPageRequest
{
public
class
ApiSalaryPageRequest
extends
PageDto
{
/**
* 转介人名称
*/
private
String
brokerName
;
/**
* 薪资月份(同出账月,如:202605)
*/
private
String
month
;
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/response/salary/ApiSalaryDetailResponse.java
0 → 100644
View file @
6104eda1
package
com
.
yd
.
csf
.
feign
.
response
.
salary
;
import
com.yd.csf.feign.dto.salaryremittance.ApiSalaryRemittanceFzDTO
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.math.BigDecimal
;
@Data
public
class
ApiSalaryDetailResponse
{
/**
* 薪资单表唯一业务ID
*/
@NotBlank
(
message
=
"薪资单表唯一业务ID不能为空"
)
private
String
salaryBizId
;
/**
* 转介人名称
*/
@NotBlank
(
message
=
"转介人名称不能为空"
)
private
String
brokerName
;
/**
* 转介人业务id
*/
@NotBlank
(
message
=
"转介人业务id不能为空"
)
private
String
brokerBizId
;
/**
* 薪资月份(同出账月,如:202605)
*/
@NotBlank
(
message
=
"薪资月份不能为空"
)
private
String
month
;
/**
* 应发总金额(单位:HKD)(正常情况下,录入转介人和薪资月份去查询出账记录表出账金额和值)
*/
private
BigDecimal
grossAmount
;
/**
* MPF事项总金额(单位:HKD)
*/
private
BigDecimal
mpfAmount
;
/**
* 其他调整总金额(单位:HKD)
*/
private
BigDecimal
otherAmount
;
/**
* 其他调整的备注
*/
private
String
otherRemark
;
/**
* 实发总金额(单位:HKD)
*/
private
BigDecimal
paidAmount
;
/**
* 薪资汇款明细封装的DTO
*/
private
ApiSalaryRemittanceFzDTO
apiSalaryRemittanceFzDTO
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/response/salary/ApiSalaryPageResponse.java
View file @
6104eda1
package
com
.
yd
.
csf
.
feign
.
response
.
salary
;
package
com
.
yd
.
csf
.
feign
.
response
.
salary
;
import
lombok.Data
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
@Data
@Data
public
class
ApiSalaryPageResponse
{
public
class
ApiSalaryPageResponse
{
/**
* 发放编号
*/
private
String
salaryNo
;
/**
* 薪资单表唯一业务ID
*/
private
String
salaryBizId
;
/**
* 转介人名称
*/
private
String
brokerName
;
/**
* 转介人内部编号
*/
private
String
internalNumber
;
/**
* 团队名称
*/
private
String
teamName
;
/**
* 发放金额(实发总金额)(单位:HKD)
*/
private
BigDecimal
paidAmount
;
/**
* 发放币种(汇款币种,多个用分号分隔)
*/
private
String
currencyList
;
/**
* 薪资月份(同出账月,如:202605)
*/
private
String
month
;
/**
* 薪资单状态:1-待提交 2-待审核 3-审核退回 4-待核对 5-核对退回 6-已核对 7-已推送 8-已取消
*/
private
String
status
;
/**
* 制作人(创建人名称)
*/
private
String
creatorName
;
/**
* 制作时间(创建时间)
*/
private
LocalDateTime
createTime
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/dao/SalaryMapper.java
View file @
6104eda1
package
com
.
yd
.
csf
.
service
.
dao
;
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.feign.request.salary.ApiSalaryPageRequest
;
import
com.yd.csf.feign.response.salary.ApiSalaryPageResponse
;
import
com.yd.csf.service.model.Salary
;
import
com.yd.csf.service.model.Salary
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
/**
/**
* <p>
* <p>
...
@@ -13,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...
@@ -13,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
*/
public
interface
SalaryMapper
extends
BaseMapper
<
Salary
>
{
public
interface
SalaryMapper
extends
BaseMapper
<
Salary
>
{
IPage
<
ApiSalaryPageResponse
>
page
(
@Param
(
"page"
)
Page
<
ApiSalaryPageResponse
>
page
,
@Param
(
"request"
)
ApiSalaryPageRequest
request
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/ISalaryRemittanceService.java
View file @
6104eda1
...
@@ -3,6 +3,8 @@ package com.yd.csf.service.service;
...
@@ -3,6 +3,8 @@ package com.yd.csf.service.service;
import
com.yd.csf.service.model.SalaryRemittance
;
import
com.yd.csf.service.model.SalaryRemittance
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 薪资汇款明细表 服务类
* 薪资汇款明细表 服务类
...
@@ -14,4 +16,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
...
@@ -14,4 +16,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
public
interface
ISalaryRemittanceService
extends
IService
<
SalaryRemittance
>
{
public
interface
ISalaryRemittanceService
extends
IService
<
SalaryRemittance
>
{
Boolean
delBySalaryBizId
(
String
salaryBizId
);
Boolean
delBySalaryBizId
(
String
salaryBizId
);
List
<
SalaryRemittance
>
queryList
(
String
salaryBizId
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/ISalaryService.java
View file @
6104eda1
package
com
.
yd
.
csf
.
service
.
service
;
package
com
.
yd
.
csf
.
service
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.feign.request.salary.ApiSalaryPageRequest
;
import
com.yd.csf.feign.response.salary.ApiSalaryPageResponse
;
import
com.yd.csf.service.model.Salary
;
import
com.yd.csf.service.model.Salary
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
...
@@ -13,6 +17,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
...
@@ -13,6 +17,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
*/
public
interface
ISalaryService
extends
IService
<
Salary
>
{
public
interface
ISalaryService
extends
IService
<
Salary
>
{
IPage
<
ApiSalaryPageResponse
>
page
(
Page
<
ApiSalaryPageResponse
>
page
,
ApiSalaryPageRequest
request
);
Salary
queryOne
(
String
brokerBizId
,
String
month
,
Salary
queryOne
(
String
brokerBizId
,
String
month
,
String
salaryBizId
,
Boolean
isExcludeMy
);
String
salaryBizId
,
Boolean
isExcludeMy
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/SalaryRemittanceServiceImpl.java
View file @
6104eda1
...
@@ -7,6 +7,8 @@ import com.yd.csf.service.service.ISalaryRemittanceService;
...
@@ -7,6 +7,8 @@ import com.yd.csf.service.service.ISalaryRemittanceService;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 薪资汇款明细表 服务实现类
* 薪资汇款明细表 服务实现类
...
@@ -23,4 +25,10 @@ public class SalaryRemittanceServiceImpl extends ServiceImpl<SalaryRemittanceMap
...
@@ -23,4 +25,10 @@ public class SalaryRemittanceServiceImpl extends ServiceImpl<SalaryRemittanceMap
return
this
.
remove
(
new
LambdaQueryWrapper
<
SalaryRemittance
>()
return
this
.
remove
(
new
LambdaQueryWrapper
<
SalaryRemittance
>()
.
eq
(
SalaryRemittance:
:
getSalaryBizId
,
salaryBizId
));
.
eq
(
SalaryRemittance:
:
getSalaryBizId
,
salaryBizId
));
}
}
@Override
public
List
<
SalaryRemittance
>
queryList
(
String
salaryBizId
)
{
return
this
.
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
SalaryRemittance
>()
.
eq
(
SalaryRemittance:
:
getSalaryBizId
,
salaryBizId
));
}
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/SalaryServiceImpl.java
View file @
6104eda1
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
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.yd.csf.feign.request.salary.ApiSalaryPageRequest
;
import
com.yd.csf.feign.response.salary.ApiSalaryPageResponse
;
import
com.yd.csf.service.model.Salary
;
import
com.yd.csf.service.model.Salary
;
import
com.yd.csf.service.dao.SalaryMapper
;
import
com.yd.csf.service.dao.SalaryMapper
;
import
com.yd.csf.service.service.ISalaryService
;
import
com.yd.csf.service.service.ISalaryService
;
...
@@ -19,6 +23,12 @@ import org.springframework.stereotype.Service;
...
@@ -19,6 +23,12 @@ import org.springframework.stereotype.Service;
public
class
SalaryServiceImpl
extends
ServiceImpl
<
SalaryMapper
,
Salary
>
implements
ISalaryService
{
public
class
SalaryServiceImpl
extends
ServiceImpl
<
SalaryMapper
,
Salary
>
implements
ISalaryService
{
@Override
@Override
public
IPage
<
ApiSalaryPageResponse
>
page
(
Page
<
ApiSalaryPageResponse
>
page
,
ApiSalaryPageRequest
request
)
{
return
this
.
baseMapper
.
page
(
page
,
request
);
}
@Override
public
Salary
queryOne
(
String
brokerBizId
,
String
month
,
public
Salary
queryOne
(
String
brokerBizId
,
String
month
,
String
salaryBizId
,
Boolean
isExcludeMy
)
{
String
salaryBizId
,
Boolean
isExcludeMy
)
{
return
this
.
baseMapper
.
selectOne
(
new
LambdaQueryWrapper
<
Salary
>()
return
this
.
baseMapper
.
selectOne
(
new
LambdaQueryWrapper
<
Salary
>()
...
...
yd-csf-service/src/main/resources/mappers/SalaryMapper.xml
View file @
6104eda1
...
@@ -2,4 +2,30 @@
...
@@ -2,4 +2,30 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.csf.service.dao.SalaryMapper"
>
<mapper
namespace=
"com.yd.csf.service.dao.SalaryMapper"
>
<select
id=
"page"
resultType=
"com.yd.csf.feign.response.salary.ApiSalaryPageResponse"
>
SELECT
s.salary_no,
s.salary_biz_id,
s.broker_name,
s.internal_number,
s.paid_amount,
s.month,
s.status,
s.creator_name,
s.create_time,
GROUP_CONCAT(DISTINCT sr.currency ORDER BY sr.currency SEPARATOR ';') AS currencyList
FROM salary s
LEFT JOIN salary_remittance sr ON s.salary_biz_id = sr.salary_biz_id AND sr.is_deleted = 0
<where>
<if
test=
"request.brokerName != null and request.brokerName != ''"
>
AND s.broker_name LIKE CONCAT('%', #{request.brokerName}, '%')
</if>
<if
test=
"request.month != null and request.month != ''"
>
AND s.month = #{request.month}
</if>
AND s.is_deleted = 0
</where>
GROUP BY s.salary_biz_id
ORDER BY s.create_time DESC
</select>
</mapper>
</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