Commit 490aa1ae by kenzo

请假、休假

parent fa45bca3
......@@ -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();
// }
}
......@@ -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.GeRenXiuJiaPageResp;
import com.cnooc.expert.controller.expert.model.response.GeRenXiuJiaApplyResp;
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));
}
}
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;
}
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;
}
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;
}
......@@ -9,6 +9,8 @@ public class DictListItemResp {
private String dictGuid;
private String typeName;
private String key;
private String value;
......
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;
}
......@@ -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; // 是否抽取换专业
......
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;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment