Commit 490aa1ae by kenzo

请假、休假

parent fa45bca3
...@@ -29,49 +29,49 @@ import java.util.Map; ...@@ -29,49 +29,49 @@ import java.util.Map;
@Component @Component
public class LoginInterceptor implements HandlerInterceptor { public class LoginInterceptor implements HandlerInterceptor {
@Resource(name="redisCommonTemplate") // @Resource(name="redisCommonTemplate")
private RedisTemplate<String, Object> redisTemplate; // private RedisTemplate<String, Object> redisTemplate;
//
//
@Override // @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String token = request.getHeader("Authorization"); // String token = request.getHeader("Authorization");
log.info("request uri :"+request.getRequestURI()); // log.info("request uri :"+request.getRequestURI());
if (token == null || token.trim().isEmpty()) { // if (token == null || token.trim().isEmpty()) {
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); // response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
throw new BusinessException(HttpServletResponse.SC_UNAUTHORIZED, GlobalErrorCodeConstants.LOGIN_EXPIRED.getMsg()); // throw new BusinessException(HttpServletResponse.SC_UNAUTHORIZED, GlobalErrorCodeConstants.LOGIN_EXPIRED.getMsg());
} // }
try { // try {
Map<String, String> userMap = JwtUtils.getTokenInfo(token); // Map<String, String> userMap = JwtUtils.getTokenInfo(token);
String userId = userMap.get(TokenConstants.USER_ID); // String userId = userMap.get(TokenConstants.USER_ID);
String uuidKey = userMap.get(TokenConstants.UUID_KEY); // String uuidKey = userMap.get(TokenConstants.UUID_KEY);
ValidUtils.isNotNull(uuidKey, "登录异常,请重新登录"); // ValidUtils.isNotNull(uuidKey, "登录异常,请重新登录");
//
ZhuanJiaUser zhuanjiaUser = (ZhuanJiaUser)redisTemplate.opsForValue().get(TokenConstants.LOGIN_USER_KEY_ + userId); // ZhuanJiaUser zhuanjiaUser = (ZhuanJiaUser)redisTemplate.opsForValue().get(TokenConstants.LOGIN_USER_KEY_ + userId);
if (zhuanjiaUser==null ){ // if (zhuanjiaUser==null ){
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); // response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
response.getWriter().write("{\"httpCode\":401,\"message\":\"请先登录\"}"); // response.getWriter().write("{\"httpCode\":401,\"message\":\"请先登录\"}");
return false; // return false;
} // }
UserUtils.setUserId(zhuanjiaUser); // UserUtils.setUserId(zhuanjiaUser);
// 所有条件都满足,放行请求 // // 所有条件都满足,放行请求
return true; // return true;
//
} catch (Exception e) { // } catch (Exception e) {
log.info("token解析异常 {}",e.getMessage(),e); // log.info("token解析异常 {}",e.getMessage(),e);
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); // response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
UserUtils.clear(); // UserUtils.clear();
throw new BusinessException(401, "请先登录"); // throw new BusinessException(401, "请先登录");
} // }
} // }
//
@Override // @Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { // public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
//
} // }
//
@Override // @Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { // public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
UserUtils.clear(); // UserUtils.clear();
} // }
} }
...@@ -4,16 +4,21 @@ import com.cnooc.expert.common.response.ApiResult; ...@@ -4,16 +4,21 @@ import com.cnooc.expert.common.response.ApiResult;
import com.cnooc.expert.common.response.BasePageResp; import com.cnooc.expert.common.response.BasePageResp;
import com.cnooc.expert.controller.expert.model.request.CompanyPageReq; 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.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.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.PingBiaoXiangMuInfoGetByChouQuMaReq;
import com.cnooc.expert.controller.expert.model.request.PingBiaoXiangMuPageReq; 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.request.QingJiaJinJiPageReq;
import com.cnooc.expert.controller.expert.model.response.DictListItemResp; 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.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.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.PingBiaoXiangMuInfoGetByChouQuMaResp;
import com.cnooc.expert.controller.expert.model.response.PingBiaoZhuanYeTreeNodeResp; 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.controller.expert.model.response.SecondaryUnitListItemResp;
import com.cnooc.expert.service.ExpertService; import com.cnooc.expert.service.ExpertService;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
...@@ -63,7 +68,17 @@ public class ExpertController { ...@@ -63,7 +68,17 @@ public class ExpertController {
} }
/** /**
* 职称列表 * 执业资格列表
*
* @return
*/
@PostMapping("/dict/guid3/list")
public ApiResult<List<DictListItemResp>> dictGuiud3List() {
return ApiResult.successWithResult(expertService.listDict3());
}
/**
* 执业资格列表
* *
* @return * @return
*/ */
...@@ -94,6 +109,26 @@ public class ExpertController { ...@@ -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 * @return
...@@ -140,16 +175,39 @@ public class ExpertController { ...@@ -140,16 +175,39 @@ public class ExpertController {
} }
// *** 请假/休假 *** // *** 请假/休假 ***
// 紧急请假
// 紧急请假分页列表
@PostMapping("/qing-jia/page") @PostMapping("/qing-jia/page")
public ApiResult<BasePageResp<Object>> qingJiaJinJiPage(@RequestBody @Validated QingJiaJinJiPageReq req) { public ApiResult<BasePageResp<Object>> qingJiaJinJiPage(@RequestBody @Validated QingJiaJinJiPageReq req) {
return ApiResult.successWithResult(expertService.pageJinJiQingJia(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") @PostMapping("/xiu-jia/page")
public ApiResult<BasePageResp<Object>> geRenXiuJiaPage(@RequestBody @Validated GeRenXiuJiaPageReq req) { public ApiResult<BasePageResp<Object>> geRenXiuJiaPage(@RequestBody @Validated GeRenXiuJiaPageReq req) {
return ApiResult.successWithResult(expertService.pageGeRenXiuJia(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 { ...@@ -9,6 +9,8 @@ public class DictListItemResp {
private String dictGuid; private String dictGuid;
private String typeName;
private String key; private String key;
private String value; 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 { ...@@ -17,6 +17,14 @@ public class PingBiaoXiangMuPageResp {
private String chouQuZhuanTai; // 抽取的状态 private String chouQuZhuanTai; // 抽取的状态
private Long createTime;
private String createTimeText;
private String creatorGuid;
private String creatorName;
private String fanKuiYiJian; // 反馈意见 private String fanKuiYiJian; // 反馈意见
private Boolean isCQDHuanZhuanYe; // 是否抽取换专业 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