You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.0 KiB
67 lines
2.0 KiB
3 years ago
|
package com.fr.plugin.dingding.webhook.fun;
|
||
|
|
||
|
import com.fr.general.http.HttpRequest;
|
||
|
import com.fr.general.http.HttpToolbox;
|
||
|
import com.fr.intelli.record.Focus;
|
||
|
import com.fr.intelli.record.Original;
|
||
|
import com.fr.log.FineLoggerFactory;
|
||
|
import com.fr.plugin.context.PluginContexts;
|
||
|
import com.fr.plugin.dingding.webhook.PluginConstants;
|
||
|
import com.fr.script.AbstractFunction;
|
||
|
import com.fr.stable.ArrayUtils;
|
||
|
import com.fr.stable.Primitive;
|
||
|
import com.fr.stable.StringUtils;
|
||
|
import com.fr.stable.exception.FormulaException;
|
||
|
import com.fr.stable.fun.Authorize;
|
||
|
|
||
|
import java.io.IOException;
|
||
|
import java.util.HashMap;
|
||
|
import java.util.Map;
|
||
|
|
||
|
/**
|
||
|
* @Author fr.open
|
||
|
* @Date 2021/9/15
|
||
|
* @Description
|
||
|
**/
|
||
|
@Authorize(callSignKey = PluginConstants.PLUGIN_ID)
|
||
|
public class TicketFun extends AbstractFunction {
|
||
|
@Override
|
||
|
@Focus(id = PluginConstants.PLUGIN_ID, text = "钉钉webhook", source = Original.PLUGIN)
|
||
|
public Object run(Object[] args) throws FormulaException {
|
||
|
if (!PluginContexts.currentContext().isAvailable()) {
|
||
|
return null;
|
||
|
}
|
||
|
int len = ArrayUtils.getLength(args);
|
||
|
if (len == 0) {
|
||
|
return Primitive.ERROR_VALUE;
|
||
|
}
|
||
|
String user = (String) args[0];
|
||
|
String target = (String) args[1];
|
||
|
|
||
|
if(StringUtils.isBlank(user) || StringUtils.isBlank(target)){
|
||
|
return Primitive.ERROR_VALUE;
|
||
|
}
|
||
|
String url =StringUtils.EMPTY;
|
||
|
if(args.length < 3){
|
||
|
url = "http://xxxx:xxx/trusted";
|
||
|
}else {
|
||
|
url = (String) args[2];
|
||
|
if(StringUtils.isBlank(url)){
|
||
|
url = "http://xxx:xxx/trusted";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Map<String, String> param = new HashMap<>();
|
||
|
param.put("username",user);
|
||
|
param.put("target_site",target);
|
||
|
try {
|
||
|
String execute = HttpToolbox.executeAndParse(HttpRequest.custom().post(param).url(url).build());
|
||
|
return execute;
|
||
|
} catch (IOException e) {
|
||
|
FineLoggerFactory.getLogger().error(e.getMessage(),e);
|
||
|
}
|
||
|
|
||
|
return null;
|
||
|
}
|
||
|
}
|