@@ -0,0 +1,21 @@ | |||
package cn.com.taiji.core.model.comm.protocol.ats; | |||
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeRequest; | |||
import cn.com.taiji.core.model.comm.protocol.SignServiceCommand; | |||
/** | |||
* | |||
* @author Peream <br> | |||
* Create Time:2016年3月21日 上午11:58:25<br> | |||
* <a href="mailto:peream@gmail.com">peream@gmail.com</a> | |||
* @since 1.0 | |||
* @version 1.0 | |||
*/ | |||
public abstract class AbstractAtsRequest<R extends AbstractAtsResponse> extends AbstractSignTypeRequest<R> | |||
{ | |||
protected AbstractAtsRequest(SignServiceCommand serviceCommand) { | |||
super(serviceCommand); | |||
} | |||
} |
@@ -0,0 +1,6 @@ | |||
package cn.com.taiji.core.model.comm.protocol.ats; | |||
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeResponse; | |||
public abstract class AbstractAtsResponse extends AbstractSignTypeResponse { | |||
} |
@@ -0,0 +1,50 @@ | |||
package cn.com.taiji.core.model.comm.protocol.ats; | |||
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeRequest; | |||
import cn.com.taiji.core.model.comm.protocol.SignServiceCommand; | |||
import cn.com.taiji.core.model.comm.protocol.SignServiceType; | |||
import cn.com.taiji.core.model.comm.protocol.inss.VfijBatchApplyRequest; | |||
public enum AtsServiceCmd implements SignServiceCommand { | |||
PAYPARAM("获取支付参数","payParam", VfijBatchApplyRequest.class), // | |||
; | |||
private final String value; | |||
private final String transCode; | |||
private final Class<? extends AbstractSignTypeRequest<?>> reqClass; | |||
AtsServiceCmd(String value, String transCode, Class<? extends AbstractSignTypeRequest<?>> reqClass) { | |||
this.value = value; | |||
this.transCode = transCode; | |||
this.reqClass = reqClass; | |||
} | |||
@Override | |||
public SignServiceType getServiceType() { | |||
return AtsServiceType.WEIXIN; | |||
} | |||
public static AtsServiceCmd fromIfCode(String ifCode) { | |||
return SignServiceCommand.fromName(AtsServiceCmd.class, SignServiceCommand.getCmdStr(ifCode)); | |||
} | |||
@Override | |||
public boolean isMyCommand(String ifCode) { | |||
return this == fromIfCode(ifCode); | |||
} | |||
@Override | |||
public String getValue() { | |||
return value; | |||
} | |||
public String getTransCode() { | |||
return transCode; | |||
} | |||
@Override | |||
public Class<? extends AbstractSignTypeRequest<?>> getProtocolClass() { | |||
return reqClass; | |||
} | |||
} |
@@ -0,0 +1,47 @@ | |||
package cn.com.taiji.core.model.comm.protocol.ats; | |||
import cn.com.taiji.core.model.comm.protocol.SignServiceSystem; | |||
import cn.com.taiji.core.model.comm.protocol.SignServiceType; | |||
import java.util.ArrayList; | |||
import java.util.Arrays; | |||
import java.util.List; | |||
public enum AtsServiceSystem implements SignServiceSystem { | |||
ATS("ats", "对外访问服务接口", "/ats/api/json") { | |||
public List<SignServiceType> listAllServices() { | |||
return Arrays.asList(AtsServiceType.values()); | |||
} | |||
}; | |||
private final String appId;// 微服务环境当做注册中心的服务名 | |||
private final String appName; | |||
private final String jsonUri; | |||
AtsServiceSystem(String appId, String appName, String jsonUri) { | |||
this.appId = appId; | |||
this.appName = appName; | |||
this.jsonUri = jsonUri; | |||
} | |||
@Override | |||
public List<SignServiceType> listAllServices() { | |||
return new ArrayList<>(); | |||
} | |||
@Override | |||
public String getAppId() { | |||
return appId; | |||
} | |||
@Override | |||
public String getAppName() { | |||
return appName; | |||
} | |||
@Override | |||
public String getJsonUri() { | |||
return jsonUri; | |||
} | |||
} |
@@ -0,0 +1,52 @@ | |||
package cn.com.taiji.core.model.comm.protocol.ats; | |||
import cn.com.taiji.core.manager.comm.client.CommServiceCommand; | |||
import cn.com.taiji.core.model.comm.protocol.SignServiceCommand; | |||
import cn.com.taiji.core.model.comm.protocol.SignServiceSystem; | |||
import cn.com.taiji.core.model.comm.protocol.SignServiceType; | |||
import lombok.Getter; | |||
import java.util.Arrays; | |||
import java.util.List; | |||
import java.util.regex.Pattern; | |||
public enum AtsServiceType implements SignServiceType { | |||
WEIXIN("微信", "^WEIXIN_\\S+\\.json$", AtsServiceCmd.values()), | |||
; | |||
@Getter | |||
private final String value; | |||
@Getter | |||
private final Pattern reqNamePattern; | |||
private final List<SignServiceCommand> commands; | |||
AtsServiceType(String value, String reqNameRegex, SignServiceCommand[] commands) { | |||
this.value = value; | |||
this.reqNamePattern = Pattern.compile(reqNameRegex); | |||
this.commands = Arrays.asList(commands); | |||
} | |||
@Override | |||
public SignServiceSystem getServiceSystem() { | |||
return AtsServiceSystem.ATS; | |||
} | |||
@Override | |||
public List<SignServiceCommand> listAllCommands() { | |||
return commands; | |||
} | |||
public static AtsServiceType fromName(String name) { | |||
return CommServiceCommand.fromName(AtsServiceType.class, name); | |||
} | |||
public static AtsServiceType fromFileName(String filename) { | |||
return fromName(CommServiceCommand.getServiceTypeStr(filename)); | |||
} | |||
public static AtsServiceType fromIfCode(String ifCode) { | |||
return SignServiceCommand.fromName(AtsServiceType.class, SignServiceCommand.getServiceTypeStr(ifCode)); | |||
} | |||
} |