Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cnooc_zydeepen-cggl_expert-manage-miniapp
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
孙德龙
cnooc_zydeepen-cggl_expert-manage-miniapp
Commits
490aa1ae
Commit
490aa1ae
authored
Nov 15, 2025
by
kenzo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
请假、休假
parent
fa45bca3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
271 additions
and
49 deletions
+271
-49
src/main/java/com/cnooc/expert/common/interceptor/LoginInterceptor.java
+45
-45
src/main/java/com/cnooc/expert/controller/expert/ExpertController.java
+62
-4
src/main/java/com/cnooc/expert/controller/expert/model/request/GeRenXiuJiaApplyReq.java
+17
-0
src/main/java/com/cnooc/expert/controller/expert/model/request/PingBiaoXiangMuByOwnerPageReq.java
+13
-0
src/main/java/com/cnooc/expert/controller/expert/model/request/QingJiaJinJiApplyReq.java
+16
-0
src/main/java/com/cnooc/expert/controller/expert/model/response/DictListItemResp.java
+2
-0
src/main/java/com/cnooc/expert/controller/expert/model/response/GeRenXiuJiaApplyResp.java
+72
-0
src/main/java/com/cnooc/expert/controller/expert/model/response/PingBiaoXiangMuByOwnerPageResp.java
+0
-0
src/main/java/com/cnooc/expert/controller/expert/model/response/PingBiaoXiangMuPageResp.java
+8
-0
src/main/java/com/cnooc/expert/controller/expert/model/response/QingJiaJinJiApplyResp.java
+36
-0
src/main/java/com/cnooc/expert/service/ExpertService.java
+0
-0
No files found.
src/main/java/com/cnooc/expert/common/interceptor/LoginInterceptor.java
View file @
490aa1ae
...
...
@@ -29,49 +29,49 @@ import java.util.Map;
@Component
public
class
LoginInterceptor
implements
HandlerInterceptor
{
@Resource
(
name
=
"redisCommonTemplate"
)
private
RedisTemplate
<
String
,
Object
>
redisTemplate
;
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
String
token
=
request
.
getHeader
(
"Authorization"
);
log
.
info
(
"request uri :"
+
request
.
getRequestURI
());
if
(
token
==
null
||
token
.
trim
().
isEmpty
())
{
response
.
setStatus
(
HttpServletResponse
.
SC_UNAUTHORIZED
);
throw
new
BusinessException
(
HttpServletResponse
.
SC_UNAUTHORIZED
,
GlobalErrorCodeConstants
.
LOGIN_EXPIRED
.
getMsg
());
}
try
{
Map
<
String
,
String
>
userMap
=
JwtUtils
.
getTokenInfo
(
token
);
String
userId
=
userMap
.
get
(
TokenConstants
.
USER_ID
);
String
uuidKey
=
userMap
.
get
(
TokenConstants
.
UUID_KEY
);
ValidUtils
.
isNotNull
(
uuidKey
,
"登录异常,请重新登录"
);
ZhuanJiaUser
zhuanjiaUser
=
(
ZhuanJiaUser
)
redisTemplate
.
opsForValue
().
get
(
TokenConstants
.
LOGIN_USER_KEY_
+
userId
);
if
(
zhuanjiaUser
==
null
){
response
.
setStatus
(
HttpServletResponse
.
SC_UNAUTHORIZED
);
response
.
getWriter
().
write
(
"{\"httpCode\":401,\"message\":\"请先登录\"}"
);
return
false
;
}
UserUtils
.
setUserId
(
zhuanjiaUser
);
// 所有条件都满足,放行请求
return
true
;
}
catch
(
Exception
e
)
{
log
.
info
(
"token解析异常 {}"
,
e
.
getMessage
(),
e
);
response
.
setStatus
(
HttpServletResponse
.
SC_UNAUTHORIZED
);
UserUtils
.
clear
();
throw
new
BusinessException
(
401
,
"请先登录"
);
}
}
@Override
public
void
postHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
ModelAndView
modelAndView
)
throws
Exception
{
}
@Override
public
void
afterCompletion
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
,
Exception
ex
)
throws
Exception
{
UserUtils
.
clear
();
}
//
@Resource(name="redisCommonTemplate")
//
private RedisTemplate<String, Object> redisTemplate;
//
//
//
@Override
//
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//
String token = request.getHeader("Authorization");
//
log.info("request uri :"+request.getRequestURI());
//
if (token == null || token.trim().isEmpty()) {
//
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
//
throw new BusinessException(HttpServletResponse.SC_UNAUTHORIZED, GlobalErrorCodeConstants.LOGIN_EXPIRED.getMsg());
//
}
//
try {
//
Map<String, String> userMap = JwtUtils.getTokenInfo(token);
//
String userId = userMap.get(TokenConstants.USER_ID);
//
String uuidKey = userMap.get(TokenConstants.UUID_KEY);
//
ValidUtils.isNotNull(uuidKey, "登录异常,请重新登录");
//
//
ZhuanJiaUser zhuanjiaUser = (ZhuanJiaUser)redisTemplate.opsForValue().get(TokenConstants.LOGIN_USER_KEY_ + userId);
//
if (zhuanjiaUser==null ){
//
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
//
response.getWriter().write("{\"httpCode\":401,\"message\":\"请先登录\"}");
//
return false;
//
}
//
UserUtils.setUserId(zhuanjiaUser);
//
// 所有条件都满足,放行请求
//
return true;
//
//
} catch (Exception e) {
//
log.info("token解析异常 {}",e.getMessage(),e);
//
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
//
UserUtils.clear();
//
throw new BusinessException(401, "请先登录");
//
}
//
}
//
//
@Override
//
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
//
//
}
//
//
@Override
//
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
//
UserUtils.clear();
//
}
}
src/main/java/com/cnooc/expert/controller/expert/ExpertController.java
View file @
490aa1ae
...
...
@@ -4,16 +4,21 @@ import com.cnooc.expert.common.response.ApiResult;
import
com.cnooc.expert.common.response.BasePageResp
;
import
com.cnooc.expert.controller.expert.model.request.CompanyPageReq
;
import
com.cnooc.expert.controller.expert.model.request.DictNofilterListReq
;
import
com.cnooc.expert.controller.expert.model.request.GeRenXiuJiaApplyReq
;
import
com.cnooc.expert.controller.expert.model.request.GeRenXiuJiaPageReq
;
import
com.cnooc.expert.controller.expert.model.request.PingBiaoXiangMuByOwnerPageReq
;
import
com.cnooc.expert.controller.expert.model.request.PingBiaoXiangMuInfoGetByChouQuMaReq
;
import
com.cnooc.expert.controller.expert.model.request.PingBiaoXiangMuPageReq
;
import
com.cnooc.expert.controller.expert.model.request.QingJiaJinJiApplyReq
;
import
com.cnooc.expert.controller.expert.model.request.QingJiaJinJiPageReq
;
import
com.cnooc.expert.controller.expert.model.response.DictListItemResp
;
import
com.cnooc.expert.controller.expert.model.response.ExpertInfoGetResp
;
import
com.cnooc.expert.controller.expert.model.response.GeRenXiuJia
Page
Resp
;
import
com.cnooc.expert.controller.expert.model.response.GeRenXiuJia
Apply
Resp
;
import
com.cnooc.expert.controller.expert.model.response.NofilterListItemResp
;
import
com.cnooc.expert.controller.expert.model.response.PingBiaoXiangMuByOwnerPageResp
;
import
com.cnooc.expert.controller.expert.model.response.PingBiaoXiangMuInfoGetByChouQuMaResp
;
import
com.cnooc.expert.controller.expert.model.response.PingBiaoZhuanYeTreeNodeResp
;
import
com.cnooc.expert.controller.expert.model.response.QingJiaJinJiApplyResp
;
import
com.cnooc.expert.controller.expert.model.response.SecondaryUnitListItemResp
;
import
com.cnooc.expert.service.ExpertService
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
...
...
@@ -63,7 +68,17 @@ public class ExpertController {
}
/**
* 职称列表
* 执业资格列表
*
* @return
*/
@PostMapping
(
"/dict/guid3/list"
)
public
ApiResult
<
List
<
DictListItemResp
>>
dictGuiud3List
()
{
return
ApiResult
.
successWithResult
(
expertService
.
listDict3
());
}
/**
* 执业资格列表
*
* @return
*/
...
...
@@ -94,6 +109,26 @@ public class ExpertController {
}
/**
* 语种
*
* @return
*/
@PostMapping
(
"/dict/guid11/list"
)
public
ApiResult
<
List
<
DictListItemResp
>>
dictGuiud11List
()
{
return
ApiResult
.
successWithResult
(
expertService
.
listDict11
());
}
/**
* 熟练程度
*
* @return
*/
@PostMapping
(
"/dict/guid12/list"
)
public
ApiResult
<
List
<
DictListItemResp
>>
dictGuiud12List
()
{
return
ApiResult
.
successWithResult
(
expertService
.
listDict12
());
}
/**
* 评标专业
*
* @return
...
...
@@ -140,16 +175,39 @@ public class ExpertController {
}
// *** 请假/休假 ***
// 紧急请假
// 紧急请假分页列表
@PostMapping
(
"/qing-jia/page"
)
public
ApiResult
<
BasePageResp
<
Object
>>
qingJiaJinJiPage
(
@RequestBody
@Validated
QingJiaJinJiPageReq
req
)
{
return
ApiResult
.
successWithResult
(
expertService
.
pageJinJiQingJia
(
req
));
}
// 个人休假
// 紧急请假申请
@PostMapping
(
"/qing-jia/apply"
)
public
ApiResult
<
QingJiaJinJiApplyResp
>
qingJiaJinJiApply
(
@RequestBody
@Validated
QingJiaJinJiApplyReq
req
)
{
return
ApiResult
.
successWithResult
(
expertService
.
applyJinJiQingJia
(
req
));
}
// 个人休假分页列表
@PostMapping
(
"/xiu-jia/page"
)
public
ApiResult
<
BasePageResp
<
Object
>>
geRenXiuJiaPage
(
@RequestBody
@Validated
GeRenXiuJiaPageReq
req
)
{
return
ApiResult
.
successWithResult
(
expertService
.
pageGeRenXiuJia
(
req
));
}
// 个人休假申请
@PostMapping
(
"/xiu-jia/apply"
)
public
ApiResult
<
GeRenXiuJiaApplyResp
>
geRenXiuJiaApply
(
@RequestBody
@Validated
GeRenXiuJiaApplyReq
req
)
{
return
ApiResult
.
successWithResult
(
expertService
.
applyGeRenXiuJia
(
req
));
}
// *** 评标项目 ***
// 专家的评标项目分页列表
@PostMapping
(
"/ping-biao-xiang-mu/by-owner/page"
)
public
ApiResult
<
BasePageResp
<
Object
>>
pingBiaoXiangMuByOwnerPage
(
@RequestBody
@Validated
PingBiaoXiangMuByOwnerPageReq
req
)
{
return
ApiResult
.
successWithResult
(
expertService
.
pagePingBiaoXiangmuByOwner
(
req
));
}
}
src/main/java/com/cnooc/expert/controller/expert/model/request/GeRenXiuJiaApplyReq.java
0 → 100644
View file @
490aa1ae
package
com
.
cnooc
.
expert
.
controller
.
expert
.
model
.
request
;
import
lombok.Data
;
@Data
public
class
GeRenXiuJiaApplyReq
{
private
String
zhuanJiaGuid
;
private
Long
startTime
;
private
Long
endTime
;
private
String
qingJiaYuanYin
;
private
int
qingJiaDays
;
}
src/main/java/com/cnooc/expert/controller/expert/model/request/PingBiaoXiangMuByOwnerPageReq.java
0 → 100644
View file @
490aa1ae
package
com
.
cnooc
.
expert
.
controller
.
expert
.
model
.
request
;
import
com.cnooc.expert.common.request.BasePageRequest
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
PingBiaoXiangMuByOwnerPageReq
extends
BasePageRequest
{
private
String
zhuanJiaGuid
;
}
src/main/java/com/cnooc/expert/controller/expert/model/request/QingJiaJinJiApplyReq.java
0 → 100644
View file @
490aa1ae
package
com
.
cnooc
.
expert
.
controller
.
expert
.
model
.
request
;
import
lombok.Data
;
@Data
public
class
QingJiaJinJiApplyReq
{
private
String
chouQuQingKuangGuid
;
private
String
chouQuRenWuGuid
;
private
String
jinJiQingJiaReason
;
private
String
qingJiaTime
;
}
src/main/java/com/cnooc/expert/controller/expert/model/response/DictListItemResp.java
View file @
490aa1ae
...
...
@@ -9,6 +9,8 @@ public class DictListItemResp {
private
String
dictGuid
;
private
String
typeName
;
private
String
key
;
private
String
value
;
...
...
src/main/java/com/cnooc/expert/controller/expert/model/response/GeRenXiuJiaApplyResp.java
0 → 100644
View file @
490aa1ae
package
com
.
cnooc
.
expert
.
controller
.
expert
.
model
.
response
;
import
lombok.Builder
;
import
lombok.Data
;
@Data
@Builder
public
class
GeRenXiuJiaApplyResp
{
private
Long
createTime
;
private
String
createTimeText
;
private
String
creatorName
;
private
Long
endTime
;
private
String
endTimeText
;
private
Boolean
isHaveChanged
;
private
Boolean
isXiTongQj
;
private
Integer
leiXing
;
private
String
modifierName
;
private
Long
modifyTime
;
private
String
modifyTimeText
;
private
Integer
qingJiaDays
;
private
Long
qingJiaEndTime
;
private
String
qingJiaGuid
;
private
Long
qingJiaStartTime
;
private
String
qingJiaYuanYin
;
private
String
remark
;
private
String
shenFenZheng
;
private
Long
shenPiTime
;
private
String
shenPiTimeText
;
private
String
shenPiYiJian
;
private
String
shenPiZhuangTai
;
private
Long
startTime
;
private
String
startTimeText
;
private
Long
tiJiaoTime
;
private
String
tiJiaoTimeText
;
private
Long
xiaoJiaTime
;
private
String
xiaoJiaTimeText
;
private
String
zhuanJiaCode
;
private
String
zhuanJiaGuid
;
private
String
zhuanJiaName
;
}
src/main/java/com/cnooc/expert/controller/expert/model/response/PingBiaoXiangMuByOwnerPageResp.java
0 → 100644
View file @
490aa1ae
This diff is collapsed.
Click to expand it.
src/main/java/com/cnooc/expert/controller/expert/model/response/PingBiaoXiangMuPageResp.java
View file @
490aa1ae
...
...
@@ -17,6 +17,14 @@ public class PingBiaoXiangMuPageResp {
private
String
chouQuZhuanTai
;
// 抽取的状态
private
Long
createTime
;
private
String
createTimeText
;
private
String
creatorGuid
;
private
String
creatorName
;
private
String
fanKuiYiJian
;
// 反馈意见
private
Boolean
isCQDHuanZhuanYe
;
// 是否抽取换专业
...
...
src/main/java/com/cnooc/expert/controller/expert/model/response/QingJiaJinJiApplyResp.java
0 → 100644
View file @
490aa1ae
package
com
.
cnooc
.
expert
.
controller
.
expert
.
model
.
response
;
import
lombok.Builder
;
import
lombok.Data
;
@Data
@Builder
public
class
QingJiaJinJiApplyResp
{
private
String
chouQuQingKuangGuid
;
private
String
chouQuRenWuGuid
;
private
Long
createTime
;
private
String
createTimeText
;
private
String
creatorGuid
;
private
String
creatorName
;
private
String
jinJiQingJiaGuid
;
private
String
jinJiQingJiaReason
;
private
String
qingJiaSource
;
private
Long
qingJiaTime
;
private
String
qingJiaTimeNode
;
private
String
qingJiaTimeText
;
private
Integer
shenHeStatus
;
}
src/main/java/com/cnooc/expert/service/ExpertService.java
View file @
490aa1ae
This diff is collapsed.
Click to expand it.
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