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
94b320c8
Commit
94b320c8
authored
Sep 12, 2025
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fna接口24
parent
d83cb213
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
247 additions
and
102 deletions
+247
-102
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFnaController.java
+0
-3
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFnaFormController.java
+49
-27
yd-csf-service/src/main/java/com/yd/csf/service/dto/FnaAddRequest.java
+7
-1
yd-csf-service/src/main/java/com/yd/csf/service/dto/FnaFormAddRequest.java
+6
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/FnaFormUpdateRequest.java
+74
-8
yd-csf-service/src/main/java/com/yd/csf/service/dto/PersonalData.java
+0
-3
yd-csf-service/src/main/java/com/yd/csf/service/model/Fna.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/model/FnaForm.java
+11
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/FnaFormService.java
+7
-3
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CustomerServiceImpl.java
+2
-1
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FnaFormServiceImpl.java
+37
-22
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FnaServiceImpl.java
+44
-30
yd-csf-service/src/main/java/com/yd/csf/service/vo/FnaVO.java
+9
-3
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFnaController.java
View file @
94b320c8
...
...
@@ -16,7 +16,6 @@ import com.yd.csf.service.model.Fna;
import
com.yd.csf.service.service.CustomerService
;
import
com.yd.csf.service.service.FnaService
;
import
com.yd.csf.service.vo.FnaVO
;
import
com.yd.user.feign.client.sysuser.ApiSysUserFeignClient
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -44,8 +43,6 @@ public class ApiFnaController {
private
CustomerService
customerService
;
@Resource
private
ApiAppointmentService
appointmentService
;
@Resource
private
ApiSysUserFeignClient
apiSysUserFeignClient
;
/**
* 新建流程
...
...
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFnaFormController.java
View file @
94b320c8
package
com
.
yd
.
csf
.
api
.
controller
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.utils.SecurityUtil
;
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.csf.service.common.ErrorCode
;
import
com.yd.csf.service.dto.FnaFormAddRequest
;
import
com.yd.csf.service.dto.FnaFormQueryRequest
;
import
com.yd.csf.service.dto.FnaFormUpdateRequest
;
import
com.yd.csf.service.dto.FnaUpdateRequest
;
import
com.yd.csf.service.model.FnaForm
;
import
com.yd.csf.service.service.FnaFormService
;
import
com.yd.csf.service.vo.FnaFormVO
;
import
com.yd.user.feign.client.sysuser.ApiSysUserFeignClient
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
...
...
@@ -49,19 +57,24 @@ public class ApiFnaFormController {
if
(
fnaFormAddRequest
==
null
)
{
return
Result
.
fail
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
ErrorCode
.
PARAMS_ERROR
.
getMessage
());
}
String
saveType
=
fnaFormAddRequest
.
getSaveType
();
if
(
StringUtils
.
isBlank
(
saveType
))
{
return
Result
.
fail
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"保存方式必传"
);
}
// 校验
fnaFormService
.
validFnaFormAdd
(
fnaFormAddRequest
);
fnaFormService
.
validFnaFormAdd
(
fnaFormAddRequest
.
getPersonalData
(),
saveType
);
// 转换为数据库实体
FnaForm
fnaForm
=
fnaFormService
.
getFnaForm
(
fnaFormAddRequest
);
// 表单状态
fnaForm
.
setFnaFormStatus
(
"save"
.
equals
(
saveType
)?
"COMPLETED"
:
"UNCOMPLETED"
);
// 获取Security上下文当前用户的登录信息
// AuthUserDto authUserDto = SecurityUtil.getCurrentLoginUser();
// String userBizId = authUserDto.getUserBizId();
String
userBizId
=
"user_dMnkKPIwemvY0zhk"
;
AuthUserDto
authUserDto
=
SecurityUtil
.
getCurrentLoginUser
();
String
userBizId
=
authUserDto
.
getUserBizId
();
fnaForm
.
setUserBizId
(
userBizId
);
fnaForm
.
setFnaFormBizId
(
RandomStringGenerator
.
generateBizId16
(
"fna_form"
));
fnaForm
.
setFnaFormBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_FNA_FORM
.
getCode
()
));
fnaForm
.
setCreatorId
(
userBizId
);
fnaForm
.
setUpdaterId
(
userBizId
);
...
...
@@ -106,31 +119,40 @@ public class ApiFnaFormController {
// }
/**
* 更新
fna(仅管理员可用)
* 更新
Fna表单
*
* @param fnaUpdateRequest
* @return
*/
// @PostMapping("/update")
// @AuthCheck(mustRole = UserConstant.ADMIN_ROLE)
// public Result<Boolean> updateFna(@RequestBody FnaUpdateRequest fnaUpdateRequest) {
// if (fnaUpdateRequest == null || fnaUpdateRequest.getId() <= 0) {
// throw new BusinessException(ErrorCode.PARAMS_ERROR);
// }
// // todo 在此处将实体类和 DTO 进行转换
// FnaForm fnaForm = new FnaForm();
// BeanUtils.copyProperties(fnaUpdateRequest, fnaForm);
// // 数据校验
// fnaFormService.validFna(fnaForm, false);
// // 判断是否存在
// long id = fnaUpdateRequest.getId();
// FnaForm oldFna = fnaFormService.getById(id);
// ThrowUtils.throwIf(oldFna == null, ErrorCode.NOT_FOUND_ERROR);
// // 操作数据库
// boolean result = fnaFormService.updateById(fnaForm);
// ThrowUtils.throwIf(!result, ErrorCode.OPERATION_ERROR);
// return Result.success(true);
// }
@PostMapping
(
"/update"
)
@Operation
(
summary
=
"更新 Fna表单"
)
public
Result
<
Boolean
>
updateFnaForm
(
@RequestBody
FnaFormUpdateRequest
fnaUpdateRequest
)
{
if
(
fnaUpdateRequest
==
null
||
StringUtils
.
isBlank
(
fnaUpdateRequest
.
getFnaFormBizId
()))
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
ErrorCode
.
PARAMS_ERROR
.
getMessage
());
}
String
saveType
=
fnaUpdateRequest
.
getSaveType
();
if
(
StringUtils
.
isBlank
(
saveType
))
{
return
Result
.
fail
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"保存方式必传"
);
}
// 校验
fnaFormService
.
validFnaFormAdd
(
fnaUpdateRequest
.
getPersonalData
(),
saveType
);
// 转换为数据库实体
FnaForm
fnaForm
=
fnaFormService
.
getFnaForm
(
fnaUpdateRequest
);
// 表单状态
fnaForm
.
setFnaFormStatus
(
"save"
.
equals
(
saveType
)?
"COMPLETED"
:
"UNCOMPLETED"
);
// 判断是否存在
String
fnaFormBizId
=
fnaUpdateRequest
.
getFnaFormBizId
();
FnaForm
oldFna
=
fnaFormService
.
getByFnaFormBizId
(
fnaFormBizId
);
if
(
oldFna
==
null
)
{
return
Result
.
fail
(
ErrorCode
.
NOT_FOUND_ERROR
.
getCode
(),
ErrorCode
.
NOT_FOUND_ERROR
.
getMessage
());
}
// 操作数据库
boolean
result
=
fnaFormService
.
updateById
(
fnaForm
);
if
(!
result
)
{
return
Result
.
fail
(
ErrorCode
.
OPERATION_ERROR
.
getCode
(),
ErrorCode
.
OPERATION_ERROR
.
getMessage
());
}
return
Result
.
success
(
true
);
}
/**
* 根据 fnaFormBizId 获取fna表单(封装类)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/FnaAddRequest.java
View file @
94b320c8
...
...
@@ -15,6 +15,12 @@ import java.io.Serializable;
public
class
FnaAddRequest
implements
Serializable
{
/**
* 租户编码
*/
@Schema
(
description
=
"租户编码"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
tenantCode
;
/**
* 系统用户唯一业务ID
*/
@Schema
(
description
=
"系统用户唯一业务ID"
)
...
...
@@ -54,7 +60,7 @@ public class FnaAddRequest implements Serializable {
* 新单跟进ID
*/
@Schema
(
description
=
"新单跟进ID"
)
private
String
policyId
;
private
String
policy
Biz
Id
;
/**
* 保单编号
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/FnaFormAddRequest.java
View file @
94b320c8
...
...
@@ -14,6 +14,12 @@ import java.util.List;
public
class
FnaFormAddRequest
implements
Serializable
{
/**
* 保存方式 temp-暂存 save-保存
*/
@Schema
(
description
=
"保存方式 temp-暂存 save-保存"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
saveType
;
/**
* 客户唯一业务ID
*/
@Schema
(
description
=
"客户唯一业务ID"
)
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/FnaFormUpdateRequest.java
View file @
94b320c8
package
com
.
yd
.
csf
.
service
.
dto
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.io.Serializable
;
...
...
@@ -11,26 +12,90 @@ import java.util.List;
*/
@Data
public
class
FnaFormUpdateRequest
implements
Serializable
{
/**
* 保存方式 temp-暂存 save-保存
*/
@Schema
(
description
=
"保存方式 temp-暂存 save-保存"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
saveType
;
/**
* Fna表单唯一业务ID
*/
@Schema
(
description
=
"Fna表单唯一业务ID"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
fnaFormBizId
;
/**
* 客户唯一业务ID
*/
@Schema
(
description
=
"客户唯一业务ID"
)
private
String
customerBizId
;
/**
* 个人资料
*/
@Schema
(
description
=
"个人资料"
)
private
PersonalData
personalData
;
/**
* 家庭状况
*/
@Schema
(
description
=
"家庭状况(父亲-father/母亲-mother/配偶-spouse/子女-children)"
)
private
List
<
FamilyMember
>
familyMembers
;
/**
* 保单持有人个人已有保障
*/
private
List
<
ExistingSecurity
>
existingSecurityOwner
;
/**
* 受保人个人已有保障
*/
private
List
<
ExistingSecurity
>
existingSecurityInsured
;
/**
* 平均月收入
*/
@Schema
(
description
=
"平均月收入"
)
private
String
monthlyIncome
;
/**
*
id
*
平均月支出
*/
private
Long
id
;
@Schema
(
description
=
"平均月支出"
)
private
String
monthlyExpense
;
/**
*
标题
*
累积流动资产
*/
private
String
title
;
@Schema
(
description
=
"累积流动资产"
)
private
String
liquidAssets
;
/**
*
内容
*
流动资产种类
*/
private
String
content
;
@Schema
(
description
=
"流动资产种类,多选逗号隔开 字典值:csf_liquid_asset_type"
)
private
String
liquidAssetType
;
/**
*
标签列表
*
其他流动资产的说明
*/
private
List
<
String
>
tags
;
@Schema
(
description
=
"其他流动资产的说明"
)
private
String
otherLiquidAsset
;
/**
* 保单持有人资产
*/
@Schema
(
description
=
"保单持有人资产"
)
private
OwnerAssets
ownerAssets
;
/**
* 公司业务资料
*/
@Schema
(
description
=
"公司业务资料"
)
private
CompanyBusinessData
companyBusinessData
;
@Schema
(
description
=
"首期及续保保费的财富来源,单选 字典值:csf_premium_funding_source"
)
private
String
premiumFundingSource
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
yd-csf-service/src/main/java/com/yd/csf/service/dto/PersonalData.java
View file @
94b320c8
...
...
@@ -8,9 +8,6 @@ public class PersonalData {
@Schema
(
description
=
"陪同顾问姓名"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
accountName
;
@Schema
(
description
=
"陪同顾问手机号"
)
private
String
accountPhone
;
@Schema
(
description
=
"理财顾问注册编号"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
registrationNumber
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/Fna.java
View file @
94b320c8
...
...
@@ -29,7 +29,7 @@ public class Fna implements Serializable {
/**
* 财富需要分析编号
*/
private
Lo
ng
fnaNo
;
private
Stri
ng
fnaNo
;
/**
* 系统用户唯一业务ID
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/FnaForm.java
View file @
94b320c8
...
...
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.util.Date
;
import
lombok.Data
;
/**
...
...
@@ -81,6 +82,11 @@ public class FnaForm implements Serializable {
private
String
liquidAssetType
;
/**
* 其他流动资产的说明
*/
private
String
otherLiquidAsset
;
/**
* 保单持有人资产
*/
private
Object
ownerAssets
;
...
...
@@ -96,6 +102,11 @@ public class FnaForm implements Serializable {
private
String
premiumFundingSource
;
/**
* fna表单状态
*/
private
String
fnaFormStatus
;
/**
* 通用备注
*/
private
String
remark
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/FnaFormService.java
View file @
94b320c8
...
...
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yd.csf.service.dto.FnaFormAddRequest
;
import
com.yd.csf.service.dto.FnaFormQueryRequest
;
import
com.yd.csf.service.dto.FnaFormUpdateRequest
;
import
com.yd.csf.service.dto.PersonalData
;
import
com.yd.csf.service.model.FnaForm
;
import
com.yd.csf.service.vo.FnaFormVO
;
...
...
@@ -19,9 +21,9 @@ public interface FnaFormService extends IService<FnaForm> {
* 校验数据
*
* @param fnaForm
* @param
add 对创建的数据进行校验
* @param
saveType 保存类型
*/
void
validFnaForm
(
FnaForm
fnaForm
,
boolean
add
);
void
validFnaForm
(
FnaForm
fnaForm
,
String
saveType
);
/**
* 获取查询条件
...
...
@@ -47,9 +49,11 @@ public interface FnaFormService extends IService<FnaForm> {
*/
Page
<
FnaFormVO
>
getFnaFormVOPage
(
Page
<
FnaForm
>
fnaFormPage
);
void
validFnaFormAdd
(
FnaFormAddRequest
fnaFormAddRequest
);
void
validFnaFormAdd
(
PersonalData
personalData
,
String
saveType
);
FnaForm
getFnaForm
(
FnaFormAddRequest
fnaFormAddRequest
);
FnaForm
getFnaForm
(
FnaFormUpdateRequest
fnaFormUpdateRequest
);
FnaForm
getByFnaFormBizId
(
String
fnaFormBizId
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CustomerServiceImpl.java
View file @
94b320c8
...
...
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.google.gson.Gson
;
import
com.google.gson.reflect.TypeToken
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
...
...
@@ -152,7 +153,7 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
// customer.setUserBizId("");
// 客户主表业务唯一id
customer
.
setCustomerBizId
(
RandomStringGenerator
.
generateBizId16
(
"customer"
));
customer
.
setCustomerBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_CUSTOMER
.
getCode
()
));
boolean
result
=
customerService
.
save
(
customer
);
if
(!
result
)
{
throw
new
BusinessException
(
ErrorCode
.
OPERATION_ERROR
.
getCode
(),
ErrorCode
.
OPERATION_ERROR
.
getMessage
());
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FnaFormServiceImpl.java
View file @
94b320c8
...
...
@@ -44,23 +44,11 @@ public class FnaFormServiceImpl extends ServiceImpl<FnaFormMapper, FnaForm> impl
* 校验数据
*
* @param fnaForm
* @param
add 对创建的数据进行校验
* @param
saveType 保存类型
*/
@Override
public
void
validFnaForm
(
FnaForm
fnaForm
,
boolean
add
)
{
// ThrowUtils.throwIf(fnaForm == null, ErrorCode.PARAMS_ERROR);
// // todo 从对象中取值
// String title = fnaForm.getTitle();
// // 创建数据时,参数不能为空
// if (add) {
// // todo 补充校验规则
// ThrowUtils.throwIf(StringUtils.isBlank(title), ErrorCode.PARAMS_ERROR);
// }
// // 修改数据时,有参数则校验
// // todo 补充校验规则
// if (StringUtils.isNotBlank(title)) {
// ThrowUtils.throwIf(title.length() > 80, ErrorCode.PARAMS_ERROR, "标题过长");
// }
public
void
validFnaForm
(
FnaForm
fnaForm
,
String
saveType
)
{
}
/**
...
...
@@ -178,15 +166,27 @@ public class FnaFormServiceImpl extends ServiceImpl<FnaFormMapper, FnaForm> impl
}
@Override
public
void
validFnaFormAdd
(
FnaFormAddRequest
fnaFormAddRequest
)
{
if
(
fnaFormAddRequest
==
null
)
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
ErrorCode
.
PARAMS_ERROR
.
getMessage
());
}
PersonalData
personalData
=
fnaFormAddRequest
.
getPersonalData
();
public
void
validFnaFormAdd
(
PersonalData
personalData
,
String
saveType
)
{
if
(
personalData
==
null
||
ValidateUtil
.
isAllFieldsNull
(
personalData
))
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"个人资料不能为空"
);
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"个人资料不能全不为空"
);
}
if
(
"save"
.
equals
(
saveType
))
{
if
(
StringUtils
.
isBlank
(
personalData
.
getAccountName
()))
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"陪同顾问姓名不能为空"
);
}
if
(
StringUtils
.
isBlank
(
personalData
.
getRegistrationNumber
()))
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"理财顾问注册编号不能为空"
);
}
if
(
StringUtils
.
isBlank
(
personalData
.
getCustomerName
()))
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"客户姓名不能为空"
);
}
if
(
StringUtils
.
isBlank
(
personalData
.
getTaxCountry
()))
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"税务国家不能为空"
);
}
if
(
StringUtils
.
isBlank
(
personalData
.
getEmployment
()))
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"就业情况不能为空"
);
}
}
}
@Override
...
...
@@ -210,6 +210,21 @@ public class FnaFormServiceImpl extends ServiceImpl<FnaFormMapper, FnaForm> impl
}
@Override
public
FnaForm
getFnaForm
(
FnaFormUpdateRequest
fnaFormUpdateRequest
)
{
FnaForm
fnaForm
=
new
FnaForm
();
BeanUtils
.
copyProperties
(
fnaFormUpdateRequest
,
fnaForm
);
fnaForm
.
setPersonalData
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getPersonalData
()));
fnaForm
.
setFamilyMembers
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getFamilyMembers
()));
fnaForm
.
setExistingSecurityOwner
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getExistingSecurityOwner
()));
fnaForm
.
setExistingSecurityInsured
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getExistingSecurityInsured
()));
fnaForm
.
setOwnerAssets
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getOwnerAssets
()));
fnaForm
.
setCompanyBusinessData
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getCompanyBusinessData
()));
return
fnaForm
;
}
@Override
public
FnaForm
getByFnaFormBizId
(
String
fnaFormBizId
)
{
QueryWrapper
<
FnaForm
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"fna_form_biz_id"
,
fnaFormBizId
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FnaServiceImpl.java
View file @
94b320c8
...
...
@@ -7,6 +7,9 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.utils.SecurityUtil
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
...
...
@@ -16,16 +19,20 @@ import com.yd.csf.service.dto.DeleteFnaRequest;
import
com.yd.csf.service.dto.FnaAddRequest
;
import
com.yd.csf.service.dto.FnaQueryRequest
;
import
com.yd.csf.service.model.Fna
;
import
com.yd.csf.service.model.FnaForm
;
import
com.yd.csf.service.service.FnaFormService
;
import
com.yd.csf.service.service.FnaService
;
import
com.yd.csf.service.vo.FnaVO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -43,6 +50,9 @@ public class FnaServiceImpl extends ServiceImpl<FnaMapper, Fna> implements FnaSe
// @Resource
// private UserService userService;
@Autowired
private
FnaFormService
fnaFormService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -51,13 +61,14 @@ public class FnaServiceImpl extends ServiceImpl<FnaMapper, Fna> implements FnaSe
BeanUtils
.
copyProperties
(
fnaAddRequest
,
fna
);
// 获取Security上下文当前用户的登录信息
// AuthUserDto authUserDto = SecurityUtil.getCurrentLoginUser();
// String userBizId = authUserDto.getUserBizId();
String
userBizId
=
"user_dMnkKPIwemvY0zhk"
;
AuthUserDto
authUserDto
=
SecurityUtil
.
getCurrentLoginUser
();
String
userBizId
=
authUserDto
.
getUserBizId
();
fna
.
setUserBizId
(
userBizId
);
fna
.
setFnaBizId
(
RandomStringGenerator
.
generateBizId16
(
"fna"
));
String
fnaBizId
=
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_FNA
.
getCode
());
fna
.
setFnaBizId
(
fnaBizId
);
fna
.
setFnaNo
(
generateFnaNo
(
fnaAddRequest
.
getTenantCode
(),
fnaBizId
));
fna
.
setCreatorId
(
userBizId
);
fna
.
setUpdaterId
(
userBizId
);
...
...
@@ -68,15 +79,9 @@ public class FnaServiceImpl extends ServiceImpl<FnaMapper, Fna> implements FnaSe
fna
.
setUpdateTime
(
date
);
// 写入数据库
boolean
result
=
this
.
save
(
fna
);
// 更新 fna_no
// Fna updateFna = new Fna();
// updateFna.setId(fna.getId());
// updateFna.setFnaNo(fna.getId());
// fnaService.updateById(updateFna);
// 返回新写入的数据 id
String
fnaBizId
=
fna
.
getFnaBizId
();
if
(!
result
)
{
throw
new
BusinessException
(
ErrorCode
.
OPERATION_ERROR
.
getCode
(),
ErrorCode
.
OPERATION_ERROR
.
getMessage
());
}
// 组装返回
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"fnaBizId"
,
fnaBizId
);
...
...
@@ -84,6 +89,22 @@ public class FnaServiceImpl extends ServiceImpl<FnaMapper, Fna> implements FnaSe
}
/**
* 生成f流程编号
* 流程编号格式:租户编号-流程类型-创建时间(YY-MM-DD)-bizld
*
* @param tenantCode
* @param fnaBizId
* @return
*/
private
String
generateFnaNo
(
String
tenantCode
,
String
fnaBizId
)
{
String
defaultTenantCode
=
"CSF"
;
if
(
StringUtils
.
isBlank
(
tenantCode
))
{
tenantCode
=
defaultTenantCode
;
}
return
tenantCode
+
"-B-"
+
LocalDateTime
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyyMMdd"
))
+
"-"
+
fnaBizId
;
}
/**
* 获取查询条件
*
* @param fnaQueryRequest
...
...
@@ -136,22 +157,15 @@ public class FnaServiceImpl extends ServiceImpl<FnaMapper, Fna> implements FnaSe
// 对象转封装类
FnaVO
fnaVO
=
FnaVO
.
objToVo
(
fna
);
// region 可选
// 1. 关联查询用户信息
// Long userId = fna.getUserId();
// User user = null;
// if (userId != null && userId > 0) {
// user = userService.getById(userId);
// }
// UserVO userVO = userService.getUserVO(user);
// fnaVO.setUser(userVO);
// 2. 已登录,获取用户点赞、收藏状态
long
fnaId
=
fna
.
getId
();
// User loginUser = userService.getLoginUserPermitNull(request);
// endregion
// 1. 关联查询 FNA表单 信息
String
fnaFormBizId
=
fna
.
getFnaFormBizId
();
FnaForm
fnaForm
=
null
;
if
(
StringUtils
.
isNotBlank
(
fnaFormBizId
))
{
fnaForm
=
fnaFormService
.
getByFnaFormBizId
(
fnaFormBizId
);
if
(
fnaForm
!=
null
)
{
fnaVO
.
setFnaFormStatus
(
fnaForm
.
getFnaFormStatus
());
}
}
return
fnaVO
;
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/FnaVO.java
View file @
94b320c8
...
...
@@ -29,10 +29,10 @@ public class FnaVO implements Serializable {
private
String
fnaBizId
;
/**
*
财富需要分析
编号
*
流程
编号
*/
@Schema
(
description
=
"
财富需要分析
编号"
)
private
Lo
ng
fnaNo
;
@Schema
(
description
=
"
流程
编号"
)
private
Stri
ng
fnaNo
;
/**
* 系统用户唯一业务ID
...
...
@@ -59,6 +59,12 @@ public class FnaVO implements Serializable {
private
String
fnaFormBizId
;
/**
* FNA表单 状态
*/
@Schema
(
description
=
"FNA表单 状态 'UNCOMPLETED'-未完成, 'COMPLETED'-已完成"
)
private
String
fnaFormStatus
;
/**
* 预约编号
*/
@Schema
(
description
=
"预约编号"
)
...
...
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