package com.product.data.center.controller;
|
|
import com.product.common.enums.IEnum;
|
import com.product.core.config.CoreConst;
|
import com.product.core.controller.support.AbstractBaseController;
|
import com.product.core.entity.FieldSetEntity;
|
import com.product.core.entity.RequestParameterEntity;
|
import com.product.core.exception.BaseException;
|
import com.product.core.spring.context.SpringMVCContextHolder;
|
import com.product.data.center.config.ErrorCode;
|
import com.product.data.center.service.DataSyncService;
|
import com.product.data.center.utils.RSAUtil;
|
import com.product.module.sys.version.ApiVersion;
|
import com.product.quartz.config.SystemCode;
|
import com.product.quartz.service.ISysJobService;
|
import com.product.quartz.service.impl.SysJobService;
|
import com.product.util.BaseUtil;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpSession;
|
|
/**
|
* @Author cheng
|
* @Date 2022/11/14 14:36
|
* @Desc
|
*/
|
@RestController
|
@RequestMapping("/api/mes/sync-data/")
|
public class SyncDataController extends AbstractBaseController {
|
|
|
@Resource
|
DataSyncService dataSyncService;
|
@Resource
|
SysJobService jobService;
|
|
@RequestMapping(value = "/runTask/{version}", method = RequestMethod.POST)
|
@ApiVersion(1)
|
public String runTask(HttpServletResponse response,HttpServletRequest request,HttpSession session)
|
{
|
try {
|
Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
|
RequestParameterEntity reqp = (RequestParameterEntity) bean;
|
String jobUuid = (String)reqp.getFormData().getValue("uuid");//表uuid
|
//数据操作的权限验证
|
// if(!permissionService.validDataPermission(CmnConst.PRODUCT_SYS_TIMED_TASK,jobUuid, CoreConst.DATA_PERMISSION_VALID_TYPE_USER)) {
|
// SpringMVCContextHolder.getSystemLogger().error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(),
|
// SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
|
// return this.error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
|
// }
|
// if(!Global.getPropertyToBoolean("org.quartz.task.isEnable", "true").booleanValue()){
|
// throw new BaseException(SystemCode.SYSTEM_TIME_TASK_CLOSE);
|
// }
|
Object proxyInstance = getProxyInstance(jobService);
|
|
ISysJobService service=(ISysJobService)proxyInstance;
|
service.run(jobUuid);
|
} catch (BaseException e) {
|
SpringMVCContextHolder.getSystemLogger().error(e);
|
return this.error(e.getCode(), e.getMessageInfo());
|
}
|
// catch (SchedulerException e) {
|
// SpringMVCContextHolder.getSystemLogger().error(e);
|
// return error(SystemCode.SYSTEM_QUARTZ_RUN_FAIL.getValue(),SystemCode.SYSTEM_QUARTZ_RUN_FAIL.getText());
|
// }
|
catch (Exception e) {
|
e.printStackTrace();
|
SpringMVCContextHolder.getSystemLogger().error(e);
|
return error(SystemCode.SYSTEM_QUARTZ_RUN_FAIL.getValue(),
|
SystemCode.SYSTEM_QUARTZ_RUN_FAIL.getText());
|
}
|
return OK();
|
}
|
|
@PostMapping("/{version}")
|
@ApiVersion(1)
|
public String syncData(HttpServletRequest request) {
|
try {
|
FieldSetEntity fieldSetEntity = BaseUtil.getFieldSetEntity(request);
|
String syncInfo = fieldSetEntity.getString("syncInfo");
|
String encodedData = RSAUtil.publicEncrypt(syncInfo, RSAUtil.getPublicKey(dataSyncService.cryptPublicKey));
|
// dataSyncService.dataSync(encodedData);
|
return OK();
|
} catch (Exception e) {
|
e.printStackTrace();
|
return error(ErrorCode.DATA_SYNC_FAIL.getValue(), getErrorMessage(ErrorCode.DATA_SYNC_FAIL, e));
|
}
|
}
|
|
|
public String getErrorMessage(IEnum iEnum, Throwable throwable) {
|
String message = iEnum.getText();
|
if (throwable.getMessage() != null) {
|
message += "," + throwable.getMessage();
|
}
|
return message;
|
}
|
}
|