Jenkins自动合并

yun-zuoyi
jenkins 5 years ago
commit 9c794cae2c

@ -0,0 +1,176 @@
package cn.estsh.i3plus.core.apiservice.controller.base;
import cn.estsh.i3plus.platform.common.tool.HttpClientTool;
import cn.estsh.i3plus.platform.plugin.opc.pojo.OpcUAParam;
import cn.estsh.i3plus.platform.plugin.opc.service.OpcUAService;
import cn.estsh.i3plus.pojo.base.annotation.AnnoIgnoreLog;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.eclipse.milo.opcua.sdk.client.api.subscriptions.UaSubscription;
import org.eclipse.milo.opcua.stack.core.types.builtin.unsigned.UInteger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2020-01-08 11:53
* @Modify:
**/
@RestController
@Api(tags = "压测接口")
@RequestMapping("/impp/pressure-test")
public class PressureTestController extends CoreBaseController {
public static final Logger LOGGER = LoggerFactory.getLogger(PressureTestController.class);
private static Map<String,OpcUAService> uaServiceMap = new Hashtable<>();
public static Map<UInteger,OpcUAParam> upcSub = new Hashtable<>();
private OpcUAService getOpcUaService(OpcUAParam opcUAParam){
if(!uaServiceMap.containsKey(opcUAParam.getServerUrl())){
OpcUAService opcService = new OpcUAService();
opcService.connUaService(opcUAParam);
uaServiceMap.put(opcUAParam.getServerUrl(),opcService);
}
return uaServiceMap.get(opcUAParam.getServerUrl());
}
@GetMapping("/opc-write")
@ApiOperation(value = "写Opc", notes = "写Opc")
@AnnoIgnoreLog
public ResultBean writeOpc(OpcUAParam opcUA){
try {
OpcUAService opcService = new OpcUAService();
boolean editResult = opcService.editOpcParamValue(opcUA);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(editResult);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping("/opc-read")
@ApiOperation(value = "读Opc", notes = "读Opc")
@AnnoIgnoreLog
public ResultBean readOpc(OpcUAParam opcUA){
try {
Object readResult = getOpcUaService(opcUA).getOpcParamValue(opcUA);
if(readResult == null){
return ResultBean.fail();
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(readResult);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping("/opc-sub")
@ApiOperation(value = "订阅Opc", notes = "订阅Opc")
@AnnoIgnoreLog
public ResultBean subOpc(OpcUAParam opcUA,String callbackMethod,String callbackUrl){
try {
UaSubscription subscription = getOpcUaService(opcUA).createSubscription(opcUA, (uaMonitoredItem, integer) -> {
uaMonitoredItem.setValueConsumer((node, value) -> {
LOGGER.info("OPC订阅回调 {} - {} , callback {}", node.getReadValueId().getNodeId(), value.getValue(),
callbackMethod+callbackUrl);
HashMap<String,String> param = new HashMap<>();
param.put("key",node.getReadValueId().getNodeId().toString());
param.put("value",value.getValue().toString());
HttpClientTool.doHttpUrl(CommonEnumUtil.HTTP_METHOD_TYPE.valueOf(callbackMethod), callbackUrl, param);
} );
});
upcSub.put(subscription.getSubscriptionId(),opcUA);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(subscription.getSubscriptionId().toString());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping("/remove-opc-sub")
@ApiOperation(value = "移除Opc订阅", notes = "移除Opc订阅")
@AnnoIgnoreLog
public ResultBean removeSubOpc(OpcUAParam opcUA,String subscriptionId){
try {
getOpcUaService(opcUA).deleteSubscription(opcUA,UInteger.valueOf(subscriptionId));
upcSub.remove(UInteger.valueOf(subscriptionId));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping("/remove-all-opc-sub")
@ApiOperation(value = "移除Opc订阅", notes = "移除Opc订阅")
@AnnoIgnoreLog
public ResultBean removeAllSubOpc(OpcUAParam opcUA){
try {
OpcUAService opcService = getOpcUaService(opcUA);
for (UInteger uInteger : upcSub.keySet()) {
opcService.deleteSubscription(opcUA,uInteger);
}
upcSub.clear();
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping("/show-opc-sub-list")
@ApiOperation(value = "查询Opc订阅", notes = "查询Opc订阅")
@AnnoIgnoreLog
public ResultBean showSubOpcList(){
try {
HashMap resultMap = new HashMap<>();
for (UInteger uInteger : upcSub.keySet()) {
resultMap.put(uInteger.toString(), JSON.toJSONString(upcSub.get(uInteger)));
}
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultMap(resultMap);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping("/test-callback")
@ApiOperation(value = "查询Opc订阅", notes = "查询Opc订阅")
@AnnoIgnoreLog
public ResultBean showSubOpcList(String key,String value){
try {
LOGGER.info("回调:{} : {}", key,value);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(key+":"+value);
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -1,23 +1,28 @@
package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysLocaleResourceService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.BaseImppException;
import cn.estsh.i3plus.platform.common.tool.ExcelTool;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.FileContentTypeTool;
import cn.estsh.i3plus.platform.common.util.PlatformConstWords;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysFile;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleResource;
import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient;
import cn.estsh.impp.framework.boot.fastdfs.FastDFSFile;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
@ -55,11 +60,17 @@ public class SysLocaleResourceController extends CoreBaseController {
private ISysLocaleResourceService sysLocaleResourceService;
@Autowired
private ISystemInitService systemInitService;
private ISystemInitService systemInitService;;
@Autowired
private ISysFileService sysFileService;
@Autowired
private EntityManager entityManager;
@Autowired
private FastDFSClient dfsClient;
/**
*
* @param sysLocaleResource
@ -329,10 +340,19 @@ public class SysLocaleResourceController extends CoreBaseController {
"resourceType", "languageCode", "languageNameRdd", "resourceKey", "resourceValue", "softType"
});
String userAgent = request.getHeader("User-Agent");
// 针对IE或者以IE为内核的浏览器
if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {
fileName = java.net.URLEncoder.encode(fileName, "UTF-8");
} else {
// 非IE浏览器的处理
fileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");
}
InputStream targetStream = new DataInputStream(new FileInputStream(excle));
response.setContentType("application/force-download"); // 设置强制下载不打开
response.addHeader("Content-Disposition", "attachment;fileName=" + fileName); // 设置文件名
response.addHeader("Content-type", "application/octet-stream"); // 设置文件名
response.addHeader("Content-type", FileContentTypeTool.getContentType(".xls")); // 设置文件名
BufferedInputStream bis = null;
try {
@ -418,6 +438,33 @@ public class SysLocaleResourceController extends CoreBaseController {
}
}
@GetMapping(value = "/down-template")
@ApiOperation(value = "下载导入模板")
public ResultBean downSysLocaleResourceTemplate() {
try {
startMultiService();
ExcelTool excelTool = new ExcelTool(entityManager, redisRes);
String importTemplateCode = SysLocaleResource.class.getSimpleName() + "ImportTemplate";
// 查询服务器中是否存在模板文件
SysFile sysFile = sysFileService.getSysFileByFileCode(importTemplateCode);
if(sysFile == null){
FastDFSFile fastDFSFile = new FastDFSFile(SysLocaleResource.class.getSimpleName() + "ImportTemplate.xls",
excelTool.importTemplate(SysLocaleResource.class), ".xls");
sysFile = dfsClient.upload(fastDFSFile,CommonEnumUtil.SOFT_TYPE.CORE.getValue());
sysFile.setFileCode(importTemplateCode);
sysFileService.insertSysFile(sysFile);
}
return ResultBean.success("导出成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(sysFile);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
private Long getResourceKey(String resKey, String languageCode) {
if (redisRes.checkKey(CommonConstWords.REDIS_PREFIX_CACHE_LANGUAGE + resKey, languageCode)) {
LOGGER.info("查询到已存在资源 {}{}",resKey,languageCode);

Loading…
Cancel
Save