Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
dc-cost-system
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bltdc
dc-cost-system
Commits
ad67fc05
Commit
ad67fc05
authored
Dec 22, 2020
by
huluobin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
694a80e3
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
266 additions
and
93 deletions
+266
-93
SysCompany.java
...e/src/main/java/com/blt/other/common/base/SysCompany.java
+29
-0
SysDepartment.java
...rc/main/java/com/blt/other/common/base/SysDepartment.java
+30
-0
SysUser.java
...core/src/main/java/com/blt/other/common/base/SysUser.java
+48
-0
Swagger2Config.java
...main/java/com/blt/other/common/config/Swagger2Config.java
+80
-31
JwtUtil.java
...core/src/main/java/com/blt/other/common/util/JwtUtil.java
+33
-11
IOaDepartmentService.java
...m/blt/other/module/auth/service/IOaDepartmentService.java
+0
-9
OaDepartmentServiceImpl.java
...her/module/auth/service/impl/OaDepartmentServiceImpl.java
+0
-19
CostTypeBaseReq.java
...om/blt/other/module/cost/dto/request/CostTypeBaseReq.java
+1
-1
CostReviewerController.java
...t/other/module/sys/controller/CostReviewerController.java
+2
-12
AddDepartmentReviewerReq.java
...ther/module/sys/dto/request/AddDepartmentReviewerReq.java
+11
-4
DepartmentReviewerServiceImpl.java
...odule/sys/service/impl/DepartmentReviewerServiceImpl.java
+31
-3
JwtUtilTest.java
.../src/test/java/com/blt/other/common/util/JwtUtilTest.java
+1
-3
No files found.
bailuntec-cost-core/src/main/java/com/blt/other/common/base/SysCompany.java
0 → 100644
View file @
ad67fc05
package
com
.
blt
.
other
.
common
.
base
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/12/21 4:58 下午
*/
@Data
public
class
SysCompany
{
@JSONField
(
name
=
"Id"
)
@JsonProperty
(
"Id"
)
private
Integer
id
;
@JSONField
(
name
=
"CompanyCode"
)
@JsonProperty
(
"CompanyCode"
)
private
String
companyCode
;
@JSONField
(
name
=
"CompanyName"
)
@JsonProperty
(
"CompanyName"
)
private
String
companyName
;
}
bailuntec-cost-core/src/main/java/com/blt/other/common/base/SysDepartment.java
0 → 100644
View file @
ad67fc05
package
com
.
blt
.
other
.
common
.
base
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/12/21 4:58 下午
*/
@Data
public
class
SysDepartment
{
@JSONField
(
name
=
"DepartmentId"
)
@JsonProperty
(
"DepartmentId"
)
private
Integer
departmentId
;
@JSONField
(
name
=
"Name"
)
@JsonProperty
(
"Name"
)
private
Integer
name
;
@JSONField
(
name
=
"Code"
)
@JsonProperty
(
"Code"
)
private
Integer
code
;
}
bailuntec-cost-core/src/main/java/com/blt/other/common/base/SysUser.java
0 → 100644
View file @
ad67fc05
package
com
.
blt
.
other
.
common
.
base
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* <p>
* sso jwt 用户
* </p>
*
* @author robbendev
* @since 2020/12/21 4:51 下午
*/
@Data
public
class
SysUser
{
private
Long
nbf
;
private
Long
exp
;
private
String
iss
;
private
List
<
String
>
aud
;
@JSONField
(
name
=
"client_id"
)
@JsonProperty
(
"client_id"
)
private
String
clientId
;
@JSONField
(
name
=
"sub"
)
@JsonProperty
(
"sub"
)
private
String
userName
;
@JSONField
(
name
=
"OaUserId"
)
@JsonProperty
(
"OaUserId"
)
private
Integer
oaUserId
;
@JSONField
(
name
=
"Company"
)
@JsonProperty
(
"Company"
)
private
SysCompany
company
;
@JSONField
(
name
=
"Department"
)
@JsonProperty
(
"Department"
)
private
SysDepartment
department
;
@JSONField
(
name
=
"auth_time"
)
@JsonProperty
(
"auth_time"
)
private
Long
authTime
;
}
bailuntec-cost-core/src/main/java/com/blt/other/common/config/Swagger2Config.java
View file @
ad67fc05
...
@@ -4,19 +4,13 @@ package com.blt.other.common.config;
...
@@ -4,19 +4,13 @@ package com.blt.other.common.config;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
springfox.documentation.builders.ApiInfoBuilder
;
import
springfox.documentation.builders.ApiInfoBuilder
;
import
springfox.documentation.builders.ParameterBuilder
;
import
springfox.documentation.builders.PathSelectors
;
import
springfox.documentation.builders.PathSelectors
;
import
springfox.documentation.builders.RequestHandlerSelectors
;
import
springfox.documentation.builders.RequestHandlerSelectors
;
import
springfox.documentation.schema.ModelRef
;
import
springfox.documentation.service.ApiInfo
;
import
springfox.documentation.service.ApiInfo
;
import
springfox.documentation.service.Parameter
;
import
springfox.documentation.spi.DocumentationType
;
import
springfox.documentation.spi.DocumentationType
;
import
springfox.documentation.spring.web.plugins.Docket
;
import
springfox.documentation.spring.web.plugins.Docket
;
import
springfox.documentation.swagger2.annotations.EnableSwagger2
;
import
springfox.documentation.swagger2.annotations.EnableSwagger2
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* Swagger2配置类
* Swagger2配置类
...
@@ -29,39 +23,94 @@ import java.util.List;
...
@@ -29,39 +23,94 @@ import java.util.List;
public
class
Swagger2Config
{
public
class
Swagger2Config
{
/**
* 创建API应用
* apiInfo() 增加API相关信息
* 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
* 本例采用指定扫描的包路径来定义指定要建立API的目录。
*
* @return
*/
@Bean
@Bean
public
Docket
createRestApi
()
{
public
Docket
authApi
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
groupName
(
"鉴权接口"
)
.
apiInfo
(
apiInfo
())
.
select
()
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.blt.other.module.auth"
))
.
paths
(
PathSelectors
.
any
())
.
build
();
}
@Bean
public
Docket
commonApi
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
groupName
(
"通用接口"
)
.
apiInfo
(
apiInfo
())
.
apiInfo
(
apiInfo
())
.
select
()
.
select
()
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.blt.other"
))
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.blt.other
.module.common
"
))
.
paths
(
PathSelectors
.
any
())
.
paths
(
PathSelectors
.
any
())
.
build
()
.
build
();
// .globalOperationParameters(defaultHeader())
;
}
}
// private static List<Parameter> defaultHeader() {
// ParameterBuilder appType = new ParameterBuilder();
// appType.name("sourceFrom")
// .description("应用类型").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
// ParameterBuilder appToken = new ParameterBuilder();
// appToken.name("token").description("令牌").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
//
// List<Parameter> pars = new ArrayList<>();
// pars.add(appType.build());
// pars.add(appToken.build());
// return pars;
// }
@Bean
public
Docket
costApi
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
groupName
(
"费用单接口"
)
.
apiInfo
(
apiInfo
())
.
select
()
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.blt.other.module.cost"
))
.
paths
(
PathSelectors
.
any
())
.
build
();
}
@Bean
public
Docket
entrepotApi
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
groupName
(
"库存接口"
)
.
apiInfo
(
apiInfo
())
.
select
()
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.blt.other.module.entrepot"
))
.
paths
(
PathSelectors
.
any
())
.
build
();
}
@Bean
public
Docket
purchasingApi
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
groupName
(
"采购接口"
)
.
apiInfo
(
apiInfo
())
.
select
()
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.blt.other.module.purchasing"
))
.
paths
(
PathSelectors
.
any
())
.
build
();
}
@Bean
public
Docket
skuApi
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
groupName
(
"sku接口"
)
.
apiInfo
(
apiInfo
())
.
select
()
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.blt.other.module.sku"
))
.
paths
(
PathSelectors
.
any
())
.
build
();
}
@Bean
public
Docket
supplierApi
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
groupName
(
"供应商接口"
)
.
apiInfo
(
apiInfo
())
.
select
()
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.blt.other.module.supplier"
))
.
paths
(
PathSelectors
.
any
())
.
build
();
}
@Bean
public
Docket
sysApi
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
groupName
(
"费用系统设置接口"
)
.
apiInfo
(
apiInfo
())
.
select
()
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.blt.other.module.sys"
))
.
paths
(
PathSelectors
.
any
())
.
build
();
}
/**
/**
* 创建该API的基本信息(这些基本信息会展现在文档页面中)
* 创建该API的基本信息(这些基本信息会展现在文档页面中)
...
...
bailuntec-cost-core/src/main/java/com/blt/other/common/util/JwtUtil.java
View file @
ad67fc05
package
com
.
blt
.
other
.
common
.
util
;
package
com
.
blt
.
other
.
common
.
util
;
import
com.bailuntec.common.JsonUtilByFsJson
;
import
com.bailuntec.common.JsonUtilByFsJson
;
import
com.blt.other.common.base.SysUser
;
import
com.blt.other.common.exception.BizRuntimeException
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.jose4j.jwk.RsaJsonWebKey
;
import
org.jose4j.jwk.RsaJsonWebKey
;
import
org.jose4j.jwt.JwtClaims
;
import
org.jose4j.jwt.JwtClaims
;
import
org.jose4j.jwt.consumer.InvalidJwtException
;
import
org.jose4j.jwt.consumer.InvalidJwtSignatureException
;
import
org.jose4j.jwt.consumer.JwtConsumer
;
import
org.jose4j.jwt.consumer.JwtConsumer
;
import
org.jose4j.jwt.consumer.JwtConsumerBuilder
;
import
org.jose4j.jwt.consumer.JwtConsumerBuilder
;
import
org.jose4j.lang.JoseException
;
import
java.lang.reflect.ParameterizedType
;
import
java.lang.reflect.Type
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
/**
/**
...
@@ -27,6 +29,24 @@ public class JwtUtil {
...
@@ -27,6 +29,24 @@ public class JwtUtil {
* 前缀
* 前缀
*/
*/
public
static
final
String
TOKEN_PREFIX
=
"Bearer "
;
public
static
final
String
TOKEN_PREFIX
=
"Bearer "
;
private
static
final
String
PUBLIC_KEY
=
"{\"kty\":\"RSA\",\"use\":\"sig\",\"kid\":\"0a968baa62e99029a973415887029fbd\",\"e\":\"AQAB\",\"n\":\"1hr9F7WGP6jpixp8kxN2E0BUB23EYiR0jSfdZQsN0ljnZfyqORK6fETVMDxDHB-ueekqieKh7UYJO3Cc3ecC2WCP7Z0KDsGcQBFJd0a9_BBktYv1rDnteJF3v43XkM1gi6gBEtXUb_l-mfpp14His6HtGH8W0v0klBOQ8UsBHDZvOHr2ns_qWPn0i6N86EUe1W47dGSy7fbms3nYQEncNFpnug6x39fJyFxpKjHS_63f2r3QRdf8UlHbjoVsHjg9sJ7pznrxDIIK8heRqH4JiutV8LhagPBVSm8UVHNwdi5IfjmVpYDirBrZDJZq7FwhyZE7ua29a3wP2I08qS9yJw\",\"alg\":\"RS256\"}"
;
/*
* 获取泛型类Class对象,不是泛型类则返回null
*/
public
static
Class
<?>
getActualTypeArgument
(
Class
<?>
clazz
)
{
Class
<?>
entitiClass
=
null
;
Type
genericSuperclass
=
clazz
.
getGenericSuperclass
();
if
(
genericSuperclass
instanceof
ParameterizedType
)
{
Type
[]
actualTypeArguments
=
((
ParameterizedType
)
genericSuperclass
)
.
getActualTypeArguments
();
if
(
actualTypeArguments
!=
null
&&
actualTypeArguments
.
length
>
0
)
{
entitiClass
=
(
Class
<?>)
actualTypeArguments
[
0
];
}
}
return
entitiClass
;
}
/**
/**
* 功能描述: 解密Bailun Sso Token
* 功能描述: 解密Bailun Sso Token
...
@@ -35,22 +55,24 @@ public class JwtUtil {
...
@@ -35,22 +55,24 @@ public class JwtUtil {
*/
*/
public
static
void
validateToken
(
String
token
)
{
public
static
void
validateToken
(
String
token
)
{
try
{
try
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
JwtConsumer
consumer
=
new
JwtConsumerBuilder
()
JwtConsumer
consumer
=
new
JwtConsumerBuilder
()
.
setVerificationKey
(
new
RsaJsonWebKey
(
JsonUtilByFsJson
.
jsonToBean
(
"{\"kty\":\"RSA\",\"use\":\"sig\",\"kid\":\"0a968baa62e99029a973415887029fbd\",\"e\":\"AQAB\",\"n\":\"1hr9F7WGP6jpixp8kxN2E0BUB23EYiR0jSfdZQsN0ljnZfyqORK6fETVMDxDHB-ueekqieKh7UYJO3Cc3ecC2WCP7Z0KDsGcQBFJd0a9_BBktYv1rDnteJF3v43XkM1gi6gBEtXUb_l-mfpp14His6HtGH8W0v0klBOQ8UsBHDZvOHr2ns_qWPn0i6N86EUe1W47dGSy7fbms3nYQEncNFpnug6x39fJyFxpKjHS_63f2r3QRdf8UlHbjoVsHjg9sJ7pznrxDIIK8heRqH4JiutV8LhagPBVSm8UVHNwdi5IfjmVpYDirBrZDJZq7FwhyZE7ua29a3wP2I08qS9yJw\",\"alg\":\"RS256\"}"
,
Map
.
class
)).
getPublicKey
())
.
setExpectedAudience
(
"http://localhost:5001/resources"
,
"bailunApi"
)
.
setVerificationKey
(
new
RsaJsonWebKey
(
JsonUtilByFsJson
.
jsonToBean
(
PUBLIC_KEY
,
map
.
getClass
())).
getPublicKey
())
.
build
();
.
build
();
JwtClaims
claims
=
consumer
.
processToClaims
(
token
.
replaceAll
(
TOKEN_PREFIX
,
""
));
JwtClaims
claims
=
consumer
.
processToClaims
(
token
.
replaceAll
(
TOKEN_PREFIX
,
""
));
if
(
claims
!=
null
)
{
if
(
claims
!=
null
)
{
System
.
out
.
println
(
"认证通过!"
);
System
.
out
.
println
(
"认证通过!"
);
log
.
info
(
claims
.
toJson
());
SysUser
sysUser
=
JsonUtilByFsJson
.
jsonToBean
(
claims
.
toJson
(),
SysUser
.
class
);
log
.
info
(
sysUser
.
toString
());
}
}
}
catch
(
JoseException
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
catch
(
InvalidJwtSignatureException
e
)
{
e
.
printStackTrace
();
}
catch
(
InvalidJwtException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
throw
new
BizRuntimeException
(
"400"
,
"登陆失效"
);
}
}
}
}
...
...
bailuntec-cost-core/src/main/java/com/blt/other/module/auth/service/IOaDepartmentService.java
View file @
ad67fc05
...
@@ -34,15 +34,6 @@ public interface IOaDepartmentService extends IService<OaDepartment> {
...
@@ -34,15 +34,6 @@ public interface IOaDepartmentService extends IService<OaDepartment> {
/**
/**
* <p>
* <p>
* 获取部门审核人列表
* </p>
*
* @return 部门审核人列表
*/
IPage
<
DepartmentReviewerListItem
>
reviewerList
(
DepartmentReviewerListReq
req
);
/**
* <p>
* 修改部门审核人
* 修改部门审核人
* </p>
* </p>
*
*
...
...
bailuntec-cost-core/src/main/java/com/blt/other/module/auth/service/impl/OaDepartmentServiceImpl.java
View file @
ad67fc05
...
@@ -47,25 +47,6 @@ public class OaDepartmentServiceImpl extends ServiceImpl<OaDepartmentMapper, OaD
...
@@ -47,25 +47,6 @@ public class OaDepartmentServiceImpl extends ServiceImpl<OaDepartmentMapper, OaD
}
}
@Override
@Override
public
IPage
<
DepartmentReviewerListItem
>
reviewerList
(
DepartmentReviewerListReq
req
)
{
IPage
<
DepartmentReviewerListItem
>
page
=
new
Page
<>(
req
.
getPageNum
(),
req
.
getPageSize
());
page
=
baseMapper
.
reviewerList
(
page
,
req
);
if
(
ListUtil
.
isNotEmpty
(
page
.
getRecords
()))
{
List
<
Integer
>
oaDepartmentIds
=
page
.
getRecords
().
stream
().
map
(
DepartmentReviewerListItem:
:
getDepartmentId
).
collect
(
Collectors
.
toList
());
List
<
CostReviewer
>
costReviewerList
=
costReviewerMapper
.
selectList
(
new
LambdaQueryWrapper
<
CostReviewer
>()
.
in
(
CostReviewer:
:
getReferId
,
oaDepartmentIds
)
.
eq
(
CostReviewer:
:
getType
,
CostReviewer
.
departmentReviewer
));
Map
<
Integer
,
List
<
CostReviewer
>>
map
=
costReviewerList
.
stream
().
collect
(
Collectors
.
groupingBy
(
CostReviewer:
:
getReferId
));
page
.
getRecords
().
forEach
(
record
->
record
.
setCostReviewerList
(
map
.
get
(
record
.
getDepartmentId
())));
}
return
page
;
}
@Override
public
void
modifyDepartmentReviewer
(
Integer
userId
,
Integer
oaDepartmentId
,
List
<
Integer
>
departmentReviewerUserIds
)
{
public
void
modifyDepartmentReviewer
(
Integer
userId
,
Integer
oaDepartmentId
,
List
<
Integer
>
departmentReviewerUserIds
)
{
OaUser
currentOaUser
=
oaUserMapper
.
selectByOaUserId
(
userId
);
OaUser
currentOaUser
=
oaUserMapper
.
selectByOaUserId
(
userId
);
OaDepartment
oaDepartment
=
baseMapper
.
selectByDepartmentId
(
oaDepartmentId
);
OaDepartment
oaDepartment
=
baseMapper
.
selectByDepartmentId
(
oaDepartmentId
);
...
...
bailuntec-cost-core/src/main/java/com/blt/other/module/cost/dto/request/CostTypeBaseReq.java
View file @
ad67fc05
...
@@ -17,7 +17,7 @@ public class CostTypeBaseReq {
...
@@ -17,7 +17,7 @@ public class CostTypeBaseReq {
@ApiModelProperty
(
"会计一级科目编号"
)
@ApiModelProperty
(
"会计一级科目编号"
)
private
String
accountingSubjectNo
;
private
String
accountingSubjectNo
;
@ApiModelProperty
()
@ApiModelProperty
(
"1-费用类型 2-收入类型"
)
private
Integer
type
;
private
Integer
type
;
@ApiModelProperty
(
value
=
"费用模版类型作用"
,
hidden
=
true
)
@ApiModelProperty
(
value
=
"费用模版类型作用"
,
hidden
=
true
)
...
...
bailuntec-cost-core/src/main/java/com/blt/other/module/sys/controller/CostReviewerController.java
View file @
ad67fc05
...
@@ -3,13 +3,10 @@ package com.blt.other.module.sys.controller;
...
@@ -3,13 +3,10 @@ package com.blt.other.module.sys.controller;
import
com.bailuntec.cost.api.response.CostResult
;
import
com.bailuntec.cost.api.response.CostResult
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.blt.other.module.sys.dto.request.CompanyReviewerListReq
;
import
com.blt.other.database.model.CostCompanyDomain
;
import
com.blt.other.module.sys.dto.request.DepartmentReviewerListReq
;
import
com.blt.other.module.sys.dto.response.DepartmentReviewerListItem
;
import
com.blt.other.module.auth.service.IOaDepartmentService
;
import
com.blt.other.module.auth.service.IOaDepartmentService
;
import
com.blt.other.module.cost.service.CostCompanyService
;
import
com.blt.other.module.cost.service.CostCompanyService
;
import
com.blt.other.database.model.CostCompanyDomain
;
import
com.blt.other.module.sys.dto.request.CompanyReviewerListReq
;
import
com.google.common.collect.Lists
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
io.swagger.annotations.ApiParam
;
...
@@ -20,7 +17,6 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -20,7 +17,6 @@ import org.springframework.web.bind.annotation.RestController;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
/**
* <p>
* <p>
...
@@ -34,14 +30,10 @@ import java.util.stream.Collectors;
...
@@ -34,14 +30,10 @@ import java.util.stream.Collectors;
@RestController
@RestController
@RequestMapping
(
"/costReviewer"
)
@RequestMapping
(
"/costReviewer"
)
public
class
CostReviewerController
{
public
class
CostReviewerController
{
@Resource
IOaDepartmentService
oaDepartmentService
;
@Resource
@Resource
CostCompanyService
costCompanyService
;
CostCompanyService
costCompanyService
;
/*财务审核设置 start*/
/*财务审核设置 start*/
@ApiOperation
(
"获取财务审核人、最终审核人呢、行政审核人配置列表"
)
@ApiOperation
(
"获取财务审核人、最终审核人呢、行政审核人配置列表"
)
@GetMapping
(
"/companyReviewerList"
)
@GetMapping
(
"/companyReviewerList"
)
...
@@ -60,7 +52,6 @@ public class CostReviewerController {
...
@@ -60,7 +52,6 @@ public class CostReviewerController {
}
}
/*财务审核设置 end*/
/*财务审核设置 end*/
@ApiOperation
(
"/修改最终审核人"
)
@ApiOperation
(
"/修改最终审核人"
)
@GetMapping
(
"/modifyFinalReviewer"
)
@GetMapping
(
"/modifyFinalReviewer"
)
public
CostResult
<
Void
>
modifyFinalReviewer
(
@RequestParam
Integer
userId
,
public
CostResult
<
Void
>
modifyFinalReviewer
(
@RequestParam
Integer
userId
,
...
@@ -81,5 +72,4 @@ public class CostReviewerController {
...
@@ -81,5 +72,4 @@ public class CostReviewerController {
}
}
}
}
bailuntec-cost-core/src/main/java/com/blt/other/module/sys/dto/request/AddDepartmentReviewerReq.java
View file @
ad67fc05
package
com
.
blt
.
other
.
module
.
sys
.
dto
.
request
;
package
com
.
blt
.
other
.
module
.
sys
.
dto
.
request
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -17,11 +20,15 @@ import java.util.List;
...
@@ -17,11 +20,15 @@ import java.util.List;
@Data
@Data
public
class
AddDepartmentReviewerReq
{
public
class
AddDepartmentReviewerReq
{
@ApiModelProperty
(
"id"
)
private
Integer
id
;
@ApiModelProperty
(
"自动审核金额"
)
@ApiModelProperty
(
value
=
"一级部门id"
)
private
BigDecimal
autoReviewerAmount
;
private
Integer
primaryDepartmentId
;
@ApiModelProperty
(
value
=
"二级部门id"
)
private
Integer
secondDepartmentId
;
@ApiModelProperty
(
value
=
"自动审核金额"
)
private
BigDecimal
autoReviewAmount
;
@ApiModelProperty
(
"部门审核人"
)
@ApiModelProperty
(
"部门审核人"
)
private
List
<
Integer
>
departmentReviewerUserIdList
;
private
List
<
Integer
>
departmentReviewerUserIdList
;
...
...
bailuntec-cost-core/src/main/java/com/blt/other/module/sys/service/impl/DepartmentReviewerServiceImpl.java
View file @
ad67fc05
package
com
.
blt
.
other
.
module
.
sys
.
service
.
impl
;
package
com
.
blt
.
other
.
module
.
sys
.
service
.
impl
;
import
com.bailuntec.common.ListUtil
;
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.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.blt.other.module.auth.dao.OaUserMapper
;
import
com.blt.other.module.sys.dao.CostReviewerMapper
;
import
com.blt.other.module.sys.dao.CostReviewerMapper
;
import
com.blt.other.module.sys.dao.DepartmentReviewerMapper
;
import
com.blt.other.module.sys.dao.DepartmentReviewerMapper
;
import
com.blt.other.module.sys.dto.request.AddDepartmentReviewerReq
;
import
com.blt.other.module.sys.dto.request.AddDepartmentReviewerReq
;
...
@@ -12,6 +14,7 @@ import com.blt.other.module.sys.dto.request.ModifyDepartmentReviewerReq;
...
@@ -12,6 +14,7 @@ import com.blt.other.module.sys.dto.request.ModifyDepartmentReviewerReq;
import
com.blt.other.module.sys.dto.response.DepartmentReviewerListItem
;
import
com.blt.other.module.sys.dto.response.DepartmentReviewerListItem
;
import
com.blt.other.module.sys.model.CostReviewer
;
import
com.blt.other.module.sys.model.CostReviewer
;
import
com.blt.other.module.sys.model.DepartmentReviewer
;
import
com.blt.other.module.sys.model.DepartmentReviewer
;
import
com.blt.other.module.sys.service.ICostReviewerService
;
import
com.blt.other.module.sys.service.IDepartmentReviewerService
;
import
com.blt.other.module.sys.service.IDepartmentReviewerService
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -33,6 +36,10 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe
...
@@ -33,6 +36,10 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe
@Resource
@Resource
CostReviewerMapper
costReviewerMapper
;
CostReviewerMapper
costReviewerMapper
;
@Resource
ICostReviewerService
costReviewerService
;
@Resource
OaUserMapper
oaUserMapper
;
@Override
@Override
public
IPage
<
DepartmentReviewerListItem
>
departmentReviewerList
(
DepartmentReviewerListReq
req
)
{
public
IPage
<
DepartmentReviewerListItem
>
departmentReviewerList
(
DepartmentReviewerListReq
req
)
{
...
@@ -42,9 +49,7 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe
...
@@ -42,9 +49,7 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe
.
stream
()
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
CostReviewer:
:
getReferId
));
.
collect
(
Collectors
.
groupingBy
(
CostReviewer:
:
getReferId
));
page
.
getRecords
().
forEach
(
departmentReviewerListItem
->
{
page
.
getRecords
().
forEach
(
departmentReviewerListItem
->
departmentReviewerListItem
.
setCostReviewerList
(
cMap
.
get
(
departmentReviewerListItem
.
getId
())));
departmentReviewerListItem
.
setCostReviewerList
(
cMap
.
get
(
departmentReviewerListItem
.
getId
()));
});
return
baseMapper
.
departmentReviewerList
(
page
,
req
);
return
baseMapper
.
departmentReviewerList
(
page
,
req
);
}
}
...
@@ -52,10 +57,33 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe
...
@@ -52,10 +57,33 @@ public class DepartmentReviewerServiceImpl extends ServiceImpl<DepartmentReviewe
@Override
@Override
public
void
modifyDepartmentReviewer
(
ModifyDepartmentReviewerReq
req
)
{
public
void
modifyDepartmentReviewer
(
ModifyDepartmentReviewerReq
req
)
{
DepartmentReviewer
departmentReviewer
=
this
.
getById
(
req
.
getId
());
DepartmentReviewer
departmentReviewer
=
this
.
getById
(
req
.
getId
());
departmentReviewer
.
setAutoReviewAmount
(
req
.
getAutoReviewerAmount
());
if
(
ListUtil
.
isNotEmpty
(
req
.
getDepartmentReviewerUserIdList
()))
{
costReviewerMapper
.
delete
(
new
LambdaQueryWrapper
<
CostReviewer
>()
.
eq
(
CostReviewer:
:
getReferId
,
req
.
getId
()));
costReviewerService
.
saveBatch
(
req
.
getDepartmentReviewerUserIdList
().
stream
()
.
map
(
id
->
{
CostReviewer
costReviewer
=
new
CostReviewer
();
costReviewer
.
setReferId
(
req
.
getId
());
costReviewer
.
setReviewerUserId
(
id
);
costReviewer
.
setReviewerUserName
(
oaUserMapper
.
selectByOaUserId
(
id
).
getUserName
());
costReviewer
.
setType
(
CostReviewer
.
departmentReviewer
);
return
costReviewer
;
})
.
collect
(
Collectors
.
toList
()));
}
}
}
@Override
@Override
public
void
addDepartmentReviewer
(
AddDepartmentReviewerReq
req
)
{
public
void
addDepartmentReviewer
(
AddDepartmentReviewerReq
req
)
{
DepartmentReviewer
departmentReviewer
=
new
DepartmentReviewer
();
departmentReviewer
.
setAutoReviewAmount
(
req
.
getAutoReviewAmount
());
}
}
}
}
bailuntec-cost-core/src/test/java/com/blt/other/common/util/JwtUtilTest.java
View file @
ad67fc05
...
@@ -2,8 +2,6 @@ package com.blt.other.common.util;
...
@@ -2,8 +2,6 @@ package com.blt.other.common.util;
import
org.junit.jupiter.api.Test
;
import
org.junit.jupiter.api.Test
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.*;
/**
/**
* <p>
* <p>
*
*
...
@@ -16,6 +14,6 @@ class JwtUtilTest {
...
@@ -16,6 +14,6 @@ class JwtUtilTest {
@Test
@Test
void
validateToken
()
{
void
validateToken
()
{
JwtUtil
.
validateToken
(
"Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjBhOTY4YmFhNjJlOTkwMjlhOTczNDE1ODg3MDI5ZmJkIiwidHlwIjoiSldUIn0.eyJuYmYiOjE2MDg
yNTkyMzcsImV4cCI6MTYwODI5NTIzNywiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAxIiwiYXVkIjpbImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMS9yZXNvdXJjZXMiLCJiYWlsdW5BcGkiXSwiY2xpZW50X2lkIjoiYmFpbHVuQ2xpZW50Iiwic3ViIjoi6IOh6aqG5a6-IiwiYXV0aF90aW1lIjoxNjA4MjU5MjM3LCJpZHAiOiJsb2NhbCIsIlVzZXJJZCI6IjI5MTg3OTEiLCJzdWNlc3NzIjoidHJ1ZSIsIkNvbXBhbnkiOiJ7XCJJZFwiOjEsXCJDb21wYW55Q29kZVwiOlwiYmFpbHVuXCIsXCJDb21wYW55TmFtZVwiOlwi5bm_5bee55m-5Lym5L6b5bqU6ZO-56eR5oqA5pyJ6ZmQ5YWs5Y-4XCJ9IiwiQWxsQ29tcGFueSI6IkZhbHNlIiwiVXNlckNvZGVOZXciOiJNSjAwNzAiLCJVc2VyQ29kZSI6Ik1KNTU2NjY2NCIsIk9hVXNlcklkIjoiMzEwOCIsIkRlcGFydG1lbnQiOiJ7XCJEZXBhcnRtZW50SWRcIjoyMjksXCJOYW1lXCI6XCLnm7TlsZ5cIixcIkNvZGVcIjpcIlwifSIsInNjb3BlIjpbIm9wZW5pZCIsInByb2ZpbGUiLCJiYWlsdW5BcGkiXSwiYW1yIjpbImN1c3RvbSJdfQ.H80leuAixJCRs1knFxuncACUQg6PfILLdsy_uX7P8u_AzB4hkZWxg1Vc7d8MTLzJSvr_AttEuc5cLjgRsF_3lr_y2RD6z4cS-WCMBl-xOJYF4HF3u5ksHYge4wmOScaxwWoy1Kvv5et2EnDS2RHiZbQM9lS6YQr5-3kOX8TmROiU6fxAetNt7_1lqvADbEfSDRU8dMi2nfcPdbberlRaK-GLp5BcJCBx7gRLc8tKrvbdL9xI_raBvgwa73rauMMPOXQaSKd571j1SZsGUKsLO5PNqTwzLarE5aPttHpiolPDUO3o0Iaf7Nv_XzNFEbrvY6Xu2BXdtQH303ObwiSurQ
"
);
JwtUtil
.
validateToken
(
"Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjBhOTY4YmFhNjJlOTkwMjlhOTczNDE1ODg3MDI5ZmJkIiwidHlwIjoiSldUIn0.eyJuYmYiOjE2MDg
1MzExNDIsImV4cCI6MTYwODU2NzE0MiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAxIiwiYXVkIjpbImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMS9yZXNvdXJjZXMiLCJiYWlsdW5BcGkiXSwiY2xpZW50X2lkIjoiYmFpbHVuQ2xpZW50Iiwic3ViIjoi6IOh6aqG5a6-IiwiYXV0aF90aW1lIjoxNjA4NTMxMTQyLCJpZHAiOiJsb2NhbCIsIlVzZXJJZCI6IjI5MTg3OTEiLCJzdWNlc3NzIjoidHJ1ZSIsIkNvbXBhbnkiOiJ7XCJJZFwiOjEsXCJDb21wYW55Q29kZVwiOlwiYmFpbHVuXCIsXCJDb21wYW55TmFtZVwiOlwi5bm_5bee55m-5Lym5L6b5bqU6ZO-56eR5oqA5pyJ6ZmQ5YWs5Y-4XCJ9IiwiQWxsQ29tcGFueSI6IkZhbHNlIiwiVXNlckNvZGVOZXciOiJNSjAwNzAiLCJVc2VyQ29kZSI6Ik1KNTU2NjY2NCIsIk9hVXNlcklkIjoiMzEwOCIsIkRlcGFydG1lbnQiOiJ7XCJEZXBhcnRtZW50SWRcIjoyMjksXCJOYW1lXCI6XCLnm7TlsZ5cIixcIkNvZGVcIjpcIlwifSIsInNjb3BlIjpbIm9wZW5pZCIsInByb2ZpbGUiLCJiYWlsdW5BcGkiXSwiYW1yIjpbImN1c3RvbSJdfQ.uxcOZWl3aT1BpADNgtnQ8QW-lazLG0J5TG5Zqy1blGCtAsNQ6f7xOJn4vj5Cxi_8kfG5bn87QUT8ub5QChwPxkGLnNpugj7bnIUxu72eawyXv-Rop0ltMrGb6y81YkDduNeVVxXnX-HCnnlGwUmafIIBbLp2qZVYP49zjOIdQROVsmdOCPrTk9DGwllf6mqNohUdVY4g0s4wx6C-9ea2xT1HL9DzmYMIwdCuyLLwZ_Tc2gF8kmnpFVp2UdmfW7YBq-tjS37BCwZeXBjeQRA1klZyUhtzJEz1Pf0e1rTU3Pm1RUkQj3lhK5T5m0cILxaQ4XuCqKghK4fJX4POPzlwEw
"
);
}
}
}
}
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