|
@@ -5,13 +5,19 @@ import cn.hutool.core.util.StrUtil;
|
|
|
import com.dragoninfo.dcuc.app.entity.ApplyInfo;
|
|
|
import com.dragoninfo.dcuc.app.facade.IApplyInfoFacade;
|
|
|
import com.dragoninfo.dcuc.auth.api.enums.zerotrust.ZeroTrustBusinessRespEnum;
|
|
|
+import com.dragoninfo.dcuc.auth.api.vo.zerotrust.ZeroTrustDataRespVO;
|
|
|
import com.dragoninfo.dcuc.auth.api.vo.zerotrust.ZeroTrustMessageRespVO;
|
|
|
import com.dragoninfo.dcuc.auth.api.vo.zerotrust.ZeroTrustSignReqVO;
|
|
|
import com.dragoninfo.dcuc.auth.business.zerotrust.IApiCommonBusiness;
|
|
|
+import com.dragoninfo.dcuc.auth.business.zerotrust.IApproveRemoteCallBusiness;
|
|
|
import com.dragoninfo.dcuc.auth.config.zerotrust.DcucAuthZerotrustConfig;
|
|
|
import com.dragoninfo.dcuc.auth.constance.ZerotrustAuthRedisConstant;
|
|
|
+import com.dragoninfo.dcuc.auth.sub.dto.zerotrust.tasktype.TaskInfoDetailResp;
|
|
|
+import com.dragoninfo.dcuc.common.utils.ResponseUtil;
|
|
|
+import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
|
|
|
import com.dragonsoft.duceap.commons.util.date.DateConst;
|
|
|
import com.dragonsoft.duceap.commons.util.date.DateUtils;
|
|
|
+import com.dragonsoft.duceap.commons.util.json.JsonUtils;
|
|
|
import com.dragonsoft.smtools.loader.SMFactory;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -37,6 +43,13 @@ public class ApiCommonBusiness implements IApiCommonBusiness {
|
|
|
|
|
|
private StringRedisTemplate stringRedisTemplate;
|
|
|
|
|
|
+ private IApproveRemoteCallBusiness approveRemoteCallBusiness;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ public void setApproveRemoteCallBusiness(IApproveRemoteCallBusiness approveRemoteCallBusiness) {
|
|
|
+ this.approveRemoteCallBusiness = approveRemoteCallBusiness;
|
|
|
+ }
|
|
|
+
|
|
|
@Autowired
|
|
|
public void setStringRedisTemplate(StringRedisTemplate stringRedisTemplate) {
|
|
|
this.stringRedisTemplate = stringRedisTemplate;
|
|
@@ -137,4 +150,28 @@ public class ApiCommonBusiness implements IApiCommonBusiness {
|
|
|
}
|
|
|
return ZeroTrustMessageRespVO.requestErrorMessage("验签不一致");
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ZeroTrustDataRespVO<String> taskIdCheck(String appTokenId, String taskId) {
|
|
|
+ if (StrUtil.isBlank(taskId)) {
|
|
|
+ log.info("任务id为空");
|
|
|
+ return ZeroTrustMessageRespVO.requestErrorMessage("任务ID必填").toDataRespVO();
|
|
|
+ }
|
|
|
+
|
|
|
+ Boolean checkAuthApiRealTaskId = zerotrustConfig.getCheckAuthApiRealTaskId();
|
|
|
+ String taskClass = "";
|
|
|
+ log.info("校验任务ID开关:{}", checkAuthApiRealTaskId);
|
|
|
+ if (checkAuthApiRealTaskId) {
|
|
|
+ log.info("开始校验任务ID参数应用令牌:{}, 任务ID:{}", appTokenId, taskId);
|
|
|
+ ResponseDTO<TaskInfoDetailResp> taskInfoDetail = approveRemoteCallBusiness.getTaskInfoDetail(appTokenId, taskId);
|
|
|
+
|
|
|
+ log.info("开始校验任务ID参数应用令牌:{}, 任务ID:{} ,结果:{}", appTokenId, taskId, JsonUtils.toJSONString(taskInfoDetail));
|
|
|
+ if (ResponseUtil.isFail(taskInfoDetail)) {
|
|
|
+ return ZeroTrustMessageRespVO.requestErrorMessage(taskInfoDetail.getMessage()).toDataRespVO();
|
|
|
+ }
|
|
|
+ TaskInfoDetailResp taskInfoDetailResp = ResponseUtil.getResult(taskInfoDetail);
|
|
|
+ taskClass = taskInfoDetailResp.getTaskClassCode();
|
|
|
+ }
|
|
|
+ return ZeroTrustDataRespVO.success(taskClass);
|
|
|
+ }
|
|
|
}
|