/*
* Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved.
*/
package com.huawei.cloudtwopizza.servicebox.controller;
import com.huawei.cloudtwopizza.servicebox.common.AiOpsConstants;
import com.huawei.cloudtwopizza.servicebox.common.Constants;
import com.huawei.cloudtwopizza.servicebox.common.InterfaceConstants;
import com.huawei.cloudtwopizza.servicebox.common.LanguageConstants;
import com.huawei.cloudtwopizza.servicebox.common.PageResponse;
import com.huawei.cloudtwopizza.servicebox.common.ParamConstants;
import com.huawei.cloudtwopizza.servicebox.common.ServiceBoxResponse;
import com.huawei.cloudtwopizza.servicebox.context.ThreadLocalContext;
import com.huawei.cloudtwopizza.servicebox.encryptor.StormEncryptor;
import com.huawei.cloudtwopizza.servicebox.entity.req.ReviewDeleteTaskReq;
import com.huawei.cloudtwopizza.servicebox.entity.req.ReviewDeleteTaskReqStr;
import com.huawei.cloudtwopizza.servicebox.entity.req.ReviewOfflineTaskPage;
import com.huawei.cloudtwopizza.servicebox.entity.req.ReviewOfflineTaskReq;
import com.huawei.cloudtwopizza.servicebox.entity.req.ReviewOfflineTaskReqStr;
import com.huawei.cloudtwopizza.servicebox.service.LiveDemoLatestStatusService;
import com.huawei.cloudtwopizza.servicebox.service.OperateReviewTaskService;
import com.huawei.cloudtwopizza.servicebox.utils.DateUtils;
import com.huawei.cloudtwopizza.servicebox.utils.InterfaceLogUtils;
import com.huawei.cloudtwopizza.servicebox.utils.LanguageUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.common.rest.RestConst;
import org.apache.servicecomb.provider.rest.common.RestSchema;
import org.apache.servicecomb.swagger.invocation.context.ContextUtils;
import org.apache.servicecomb.swagger.invocation.context.InvocationContext;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.util.Date;
import java.util.Map;
import java.util.Objects;
/**
* 账号删除,批量下线审核
*
* @author cWX949838
* @since 2020-09-28
*/
@RestSchema(schemaId = "reviewTask")
@RequestMapping(value = "/serviceboxadmin/v1/reviewTask")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
@Slf4j
public class OperateReviewTaskController {
private final OperateReviewTaskService operateReviewTaskService;
private final LiveDemoLatestStatusService liveDemoLatestStatusService;
private final StormEncryptor stormEncryptor;
/**
* 新增或修改重启任务
*
* @param deleteTaskReqStr deleteTaskReqStr
* @return ServiceBoxResponse
*/
@PostMapping("/saveDeleteTask")
public ServiceBoxResponse saveDeleteTask(@RequestBody ReviewDeleteTaskReqStr deleteTaskReqStr) {
// date字段转换
ReviewDeleteTaskReq deleteTaskReq = new ReviewDeleteTaskReq();
BeanUtils.copyProperties(deleteTaskReqStr, deleteTaskReq);
if (StringUtils.isNotEmpty(deleteTaskReqStr.getCommitTime())) {
Date date = DateUtils.parseDate(deleteTaskReqStr.getCommitTime());
deleteTaskReq.setCommitTime(date);
}
// 获取request
Map<String, Object> ctx = ContextUtils.getInvocationContext().getLocalContext();
HttpServletRequest request = (HttpServletRequest) ctx.get(RestConst.REST_REQUEST);
log.info(
InterfaceLogUtils.getLogMsg("event:{} taskType:{} rebootTime{} rebootIndex{} rebootDateType{} "),
InterfaceLogUtils.getEnterLogParams(
InterfaceConstants.V1_REVIEWTASK_SAVEDELETETASK, AiOpsConstants.ADD_OR_MODIFY_ENENT));
// 创建人是绑定的华为账号
String hwAcct = ThreadLocalContext.getHwAcct();
if (StringUtils.isNotEmpty(hwAcct)) {
hwAcct = stormEncryptor.securityEncrypt(hwAcct);
}
deleteTaskReq.setCreatedBy(hwAcct);
ServiceBoxResponse res = checkParam(deleteTaskReq);
if (res.getIntValue(Constants.RES_RESULT_CODE_KEY) != Constants.HTTP_RES_CODE_OK) {
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_SAVEDELETETASK, res));
return res;
}
res = operateReviewTaskService.saveOrUpdate(deleteTaskReq, request);
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_SAVEDELETETASK, res));
return res;
}
/**
* 入参校验
*
* @param deleteTaskReq deleteTaskReq
* @return ServiceBoxResponse
*/
private ServiceBoxResponse checkParam(ReviewDeleteTaskReq deleteTaskReq) {
if (StringUtils.isEmpty(deleteTaskReq.getAcctIds()) || deleteTaskReq.getAcctIds().split(",").length > 100) {
return new ServiceBoxResponse()
.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(
LanguageConstants.ACCT_NUM_IS_EMPTY_OR_OVER,
deleteTaskReq.getLanguage(),
ParamConstants.PARAM_LEN_100));
}
if (Objects.isNull(deleteTaskReq.getCommitTime())) {
return new ServiceBoxResponse()
.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(
LanguageConstants.SUBMISSION_TIME_IS_EMPTY, deleteTaskReq.getLanguage()));
}
return new ServiceBoxResponse();
}
/**
* 分页查询
*
* @param pageBaseDto pageBaseDto
* @return ServiceBoxResponse
*/
@PostMapping("/queryDeleteTask")
public PageResponse queryDeleteTask(@RequestBody ReviewDeleteTaskReq pageBaseDto) {
log.info(
InterfaceLogUtils.getLogMsg("event:{} "),
InterfaceLogUtils.getEnterLogParams(
InterfaceConstants.V1_REVIEWTASK_QUERYDELETETASK, AiOpsConstants.QUERY_EVENT));
PageResponse res = operateReviewTaskService.queryPage(pageBaseDto);
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_QUERYDELETETASK, res));
return res;
}
/**
* 审核删除账号通过/拒绝
*
* @param deleteTaskReq deleteTaskReq
* @return ServiceBoxResponse
*/
@PostMapping("/reviewDeleteTask")
public ServiceBoxResponse reviewDeleteTask(@RequestBody ReviewDeleteTaskReq deleteTaskReq) {
// 获取request
Map<String, Object> ctx = ContextUtils.getInvocationContext().getLocalContext();
HttpServletRequest request = (HttpServletRequest) ctx.get(RestConst.REST_REQUEST);
log.info(
InterfaceLogUtils.getLogMsg("event:{}"),
InterfaceLogUtils.getEnterLogParams(
InterfaceConstants.V1_REVIEWTASK_REVIEWDELETETASK, AiOpsConstants.MODIFY_ENENT));
String language = deleteTaskReq.getLanguage();
if (CollectionUtils.isEmpty(deleteTaskReq.getIds()) || deleteTaskReq.getIds().size() > 100) {
ServiceBoxResponse failed =
new ServiceBoxResponse()
.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(
LanguageConstants.TASK_IS_EMPTY_OR_NUM_OVER,
language,
ParamConstants.PARAM_LEN_100));
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_REVIEWDELETETASK, failed));
return failed;
}
if (StringUtils.isBlank(deleteTaskReq.getReviewStatus())
|| deleteTaskReq.getReviewStatus().equals(Constants.STR_NUM_ZERO)) {
ServiceBoxResponse failed =
new ServiceBoxResponse()
.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(LanguageConstants.REVIEW_STATUS_IS_EMPTY, language));
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_REVIEWDELETETASK, failed));
return failed;
}
if (StringUtils.isNotBlank(deleteTaskReq.getReviewRemark())
&& deleteTaskReq.getReviewRemark().length() > 2000) {
ServiceBoxResponse failed =
new ServiceBoxResponse()
.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(
LanguageConstants.REVIEW_REMARK_LENGTH_OVER,
language,
ParamConstants.PARAM_LEN_2000));
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_REVIEWDELETETASK, failed));
return failed;
}
ServiceBoxResponse res = operateReviewTaskService.reviewTask(deleteTaskReq, request);
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_REVIEWDELETETASK, res));
return res;
}
/**
* 删除账号审核详情
*
* @param deleteTaskReq deleteTaskReq
* @return ServiceBoxResponse
*/
@PostMapping("/queryDeleteTaskDetail")
public PageResponse queryDeleteTaskDetail(@RequestBody ReviewDeleteTaskReq deleteTaskReq) {
log.info(
InterfaceLogUtils.getLogMsg("event:{} taskId:{} "),
InterfaceLogUtils.getEnterLogParams(
InterfaceConstants.V1_REVIEWTASK_QUERYDELETETASKDETAIL,
AiOpsConstants.QUERY_EVENT,
deleteTaskReq.getId()));
PageResponse res = operateReviewTaskService.queryDeleteTaskDetail(deleteTaskReq);
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_QUERYDELETETASKDETAIL, res));
return res;
}
/**
* 新增下线审核任务
*
* @param req 请求body
* @return ServiceBoxResponse
*/
@PostMapping("/saveOfflineTask")
public ServiceBoxResponse saveOfflineTask(@RequestBody ReviewOfflineTaskReqStr req) {
ServiceBoxResponse response = checkParam2(req);
if (response.getIntValue(Constants.RES_RESULT_CODE_KEY) != Constants.HTTP_RES_CODE_OK) {
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_SAVEOFFLINETASK, response));
return response;
}
ReviewOfflineTaskReq reviewOfflineTaskReq = new ReviewOfflineTaskReq();
// 处理提交时间
BeanUtils.copyProperties(req, reviewOfflineTaskReq);
Date commitTime = DateUtils.parseDate(req.getCommitTime());
reviewOfflineTaskReq.setCommitTime(commitTime);
// 获取request对象
InvocationContext context = ContextUtils.getInvocationContext();
HttpServletRequest request = context.getLocalContext(RestConst.REST_REQUEST);
log.info(
InterfaceLogUtils.getLogMsg("event:{} taskType:{} rebootTime{} rebootIndex{} rebootDateType{} "),
InterfaceLogUtils.getEnterLogParams(
InterfaceConstants.V1_REVIEWTASK_SAVEOFFLINETASK, AiOpsConstants.ADD_OR_MODIFY_ENENT));
// session上下文中获取华为账号并加密
String hwAcct = ThreadLocalContext.getHwAcct();
if (StringUtils.isNotEmpty(hwAcct)) {
hwAcct = stormEncryptor.securityEncrypt(hwAcct);
}
reviewOfflineTaskReq.setCreatedBy(hwAcct);
// 校验请求参数
ServiceBoxResponse res = checkOfflineParam(reviewOfflineTaskReq);
if (res.getIntValue(Constants.RES_RESULT_CODE_KEY) != Constants.HTTP_RES_CODE_OK) {
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_SAVEOFFLINETASK, res));
return res;
}
// 根据传播名过滤机型
res =
liveDemoLatestStatusService.filterModelBySpuNameCnsAndHeartRlt(
reviewOfflineTaskReq.getSpuNameCn(),
reviewOfflineTaskReq.getProductType(),
reviewOfflineTaskReq.getHeartRlt(),
req.getLanguage());
if (res.getIntValue(Constants.RES_RESULT_CODE_KEY) != Constants.HTTP_RES_CODE_OK) {
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_SAVEOFFLINETASK, res));
return res;
}
// 保存审核信息并向wiseoper提交电子流
res = operateReviewTaskService.saveOfflineTask(reviewOfflineTaskReq, request);
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_SAVEOFFLINETASK, res));
return res;
}
private ServiceBoxResponse checkParam2(ReviewOfflineTaskReqStr req) {
String language = req.getLanguage();
if (StringUtils.isNotBlank(req.getSpuNameCn()) && req.getSpuNameCn().length() > ParamConstants.PARAM_LEN_500) {
return new ServiceBoxResponse()
.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(
LanguageConstants.SPU_NAME_CN_LENGTH_OVER, language, ParamConstants.PARAM_LEN_500));
}
if (StringUtils.isNotBlank(req.getProductType())
&& req.getProductType().length() > ParamConstants.PARAM_LEN_100) {
return new ServiceBoxResponse()
.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(
LanguageConstants.PRODUCT_TYPE_LENGTH_OVER,
language,
ParamConstants.PARAM_LEN_100));
}
if (StringUtils.isNotBlank(req.getStoreCode()) && req.getStoreCode().length() > ParamConstants.PARAM_LEN_150) {
return new ServiceBoxResponse()
.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(
LanguageConstants.STORE_CODE_LENGTH_OVER, language, ParamConstants.PARAM_LEN_150));
}
if (StringUtils.isNotBlank(req.getSns()) && req.getSns().length() > ParamConstants.PARAM_LEN_3000) {
return new ServiceBoxResponse()
.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(
LanguageConstants.SNS_LENGTH_OVER, language, ParamConstants.PARAM_LEN_3000));
}
if (StringUtils.isNotBlank(req.getCreatedBy()) && req.getCreatedBy().length() > ParamConstants.PARAM_LEN_100) {
return new ServiceBoxResponse()
.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(
LanguageConstants.SUBMITTER_LENGTH_OVER, language, ParamConstants.PARAM_LEN_100));
}
if (StringUtils.isBlank(req.getIsOffline())) {
return new ServiceBoxResponse()
.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(LanguageConstants.OPERATE_TYPE_IS_EMPTY, language));
}
return new ServiceBoxResponse();
}
private ServiceBoxResponse checkOfflineParam(ReviewOfflineTaskReq reviewOfflineTaskReq) {
ServiceBoxResponse response = new ServiceBoxResponse();
String language = reviewOfflineTaskReq.getLanguage();
if (Objects.isNull(reviewOfflineTaskReq.getCommitTime())) {
return response.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(LanguageConstants.SUBMISSION_TIME_IS_EMPTY, language));
}
if (Constants.STR_NUM_ZERO.equals(reviewOfflineTaskReq.getIsOffline())) {
if (StringUtils.isBlank(reviewOfflineTaskReq.getSpuNameCn())
&& StringUtils.isBlank(reviewOfflineTaskReq.getProductType())
&& StringUtils.isBlank(reviewOfflineTaskReq.getStoreCode())) {
return response.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(
LanguageConstants.SPU_NAME_CN_AND_PRODUCT_TYPE_AND_STORE_CODE_ARE_EMPTY, language));
}
if (StringUtils.isBlank(reviewOfflineTaskReq.getMode())) {
return response.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(LanguageConstants.MODE_IS_EMPTY, language));
}
if (Constants.STR_NUM_ONE.equals(reviewOfflineTaskReq.getMode())) {
// 下线为设备类型,要求样机状态不为空
if (StringUtils.isBlank(reviewOfflineTaskReq.getHeartRlt())) {
return response.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(LanguageConstants.DEMO_DEVICE_STATUS_IS_EMPTY, language));
}
}
} else {
if (StringUtils.isBlank(reviewOfflineTaskReq.getSns())) {
return response.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(LanguageConstants.DEMO_DEVICE_ID_IS_EMPTY, language));
}
}
return response;
}
/**
* 分页查询下线删除审核任务
* isOffline:0下线,1删除
*
* @param reviewOfflineTaskReq reviewOfflineTaskReq
* @return ServiceBoxResponse
*/
@PostMapping("/queryOfflineTask")
public PageResponse queryOfflineTask(@RequestBody @Valid ReviewOfflineTaskPage reviewOfflineTaskReq) {
log.info(
InterfaceLogUtils.getLogMsg("event:{}"),
InterfaceLogUtils.getEnterLogParams(
InterfaceConstants.V1_REVIEWTASK_QUERYOFFLINETASK, AiOpsConstants.QUERY_EVENT));
PageResponse res = operateReviewTaskService.queryOfflineTask(reviewOfflineTaskReq);
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_QUERYOFFLINETASK, res));
return res;
}
/**
* 审核删除样机通过/拒绝
*
* @param reviewOfflineTaskReq reviewOfflineTaskReq
* @return ServiceBoxResponse
*/
@PostMapping("/reviewOfflineTask")
public ServiceBoxResponse reviewOfflineTask(@RequestBody ReviewOfflineTaskReq reviewOfflineTaskReq) {
InvocationContext context = ContextUtils.getInvocationContext();
HttpServletRequest request = context.getLocalContext(RestConst.REST_REQUEST);
log.info(
InterfaceLogUtils.getLogMsg("event:{}"),
InterfaceLogUtils.getEnterLogParams(
InterfaceConstants.V1_REVIEWTASK_REVIEWOFFLINETASK, AiOpsConstants.MODIFY_ENENT));
String language = reviewOfflineTaskReq.getLanguage();
if (CollectionUtils.isEmpty(reviewOfflineTaskReq.getIds()) || reviewOfflineTaskReq.getIds().size() > 100) {
ServiceBoxResponse failed =
new ServiceBoxResponse()
.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(
LanguageConstants.TASK_IS_EMPTY_OR_NUM_OVER,
language,
ParamConstants.PARAM_LEN_100));
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_REVIEWOFFLINETASK, failed));
return failed;
}
if (StringUtils.isEmpty(reviewOfflineTaskReq.getReviewStatus())
|| reviewOfflineTaskReq.getReviewStatus().equals(Constants.STR_NUM_ZERO)) {
ServiceBoxResponse failed =
new ServiceBoxResponse()
.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(LanguageConstants.REVIEW_STATUS_IS_EMPTY, language));
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_REVIEWDELETETASK, failed));
return failed;
}
if (StringUtils.isNotBlank(reviewOfflineTaskReq.getReviewRemark())
&& reviewOfflineTaskReq.getReviewRemark().length() > 2000) {
ServiceBoxResponse failed =
new ServiceBoxResponse()
.failed(
ServiceBoxResponse.RespCode.ILLEGAL_ARGUMENT,
LanguageUtils.getMsg(
LanguageConstants.REVIEW_REMARK_LENGTH_OVER,
language,
ParamConstants.PARAM_LEN_2000));
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_REVIEWDELETETASK, failed));
return failed;
}
ServiceBoxResponse res = operateReviewTaskService.reviewOfflineTask(reviewOfflineTaskReq, request);
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_REVIEWOFFLINETASK, res));
return res;
}
/**
* 样机删除审核详情
*
* @param reviewOfflineTaskReq reviewOfflineTaskReq
* @return ServiceBoxResponse
*/
@PostMapping("/queryPhoneDeleteDetail")
public PageResponse queryPhoneDeleteDetail(@RequestBody ReviewOfflineTaskReq reviewOfflineTaskReq) {
log.info(
InterfaceLogUtils.getLogMsg("event:{} taskId:{} "),
InterfaceLogUtils.getEnterLogParams(
InterfaceConstants.V1_REVIEWTASK_QUERYPHONEDELETEDETAIL,
AiOpsConstants.QUERY_EVENT,
reviewOfflineTaskReq.getId()));
PageResponse res = operateReviewTaskService.queryPhoneDeleteDetail(reviewOfflineTaskReq);
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_QUERYPHONEDELETEDETAIL, res));
return res;
}
/**
* 样机下线审核详情
*
* @param reviewOfflineTaskReq reviewOfflineTaskReq
* @return ServiceBoxResponse
*/
@PostMapping("/queryPhoneOfflineDetail")
public ServiceBoxResponse queryPhoneOfflineDetail(@RequestBody ReviewOfflineTaskReq reviewOfflineTaskReq) {
log.info(
InterfaceLogUtils.getLogMsg("event:{} taskId:{} "),
InterfaceLogUtils.getEnterLogParams(
InterfaceConstants.V1_REVIEWTASK_QUERYPHONEOFFLINEDETAIL,
AiOpsConstants.QUERY_EVENT,
reviewOfflineTaskReq.getId()));
ServiceBoxResponse res = operateReviewTaskService.queryPhoneOfflineDetail(reviewOfflineTaskReq);
log.info(
InterfaceLogUtils.getLogMsg(),
InterfaceLogUtils.getReturnLogParams(InterfaceConstants.V1_REVIEWTASK_QUERYPHONEOFFLINEDETAIL, res));
return res;
}
}
修改样机下线任务审核查询接口:/serviceboxadmin/v1/reviewTask/queryOfflineTask
样机下线任务审核查询接口具体是哪个/