@@ -0,0 +1,21 @@ | |||
package cn.com.taiji.core.model.comm.protocol.ias; | |||
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 AbstractIasRequest<R extends AbstractIasResponse> extends AbstractSignTypeRequest<R> | |||
{ | |||
protected AbstractIasRequest(SignServiceCommand serviceCommand) { | |||
super(serviceCommand); | |||
} | |||
} |
@@ -0,0 +1,6 @@ | |||
package cn.com.taiji.core.model.comm.protocol.ias; | |||
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeResponse; | |||
public abstract class AbstractIasResponse extends AbstractSignTypeResponse { | |||
} |
@@ -0,0 +1,52 @@ | |||
package cn.com.taiji.core.model.comm.protocol.ias; | |||
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.ias.bill.*; | |||
public enum IasServiceCmd implements SignServiceCommand { | |||
BILLRAISEINSERT("发票抬头添加","BillRaiseInsert", BillRaiseInsertRequest.class), | |||
BILLRAISEDELETE("发票抬头删除","BillRaiseDelete", BillRaiseDeleteRequest.class), | |||
BILLRAISEUPDATE("发票抬头修改","BillRaiseUpdate", BillRaiseUpdateRequest.class), | |||
BILLRECORD("发票开票记录","BillRecord", BillRecordRequest.class), | |||
BILLREVERSAL("发票红冲","BillReversal", BillReversalRequest.class), | |||
; | |||
private final String value; | |||
private final String transCode; | |||
private final Class<? extends AbstractSignTypeRequest<?>> reqClass; | |||
IasServiceCmd(String value,String transCode, Class<? extends AbstractSignTypeRequest<?>> reqClass) { | |||
this.value = value; | |||
this.transCode = transCode; | |||
this.reqClass = reqClass; | |||
} | |||
@Override | |||
public SignServiceType getServiceType() { | |||
return IasServiceType.BILL; | |||
} | |||
public static IasServiceCmd fromIfCode(String ifCode) { | |||
return SignServiceCommand.fromName(IasServiceCmd.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,48 @@ | |||
package cn.com.taiji.core.model.comm.protocol.ias; | |||
import cn.com.taiji.core.model.comm.protocol.SignServiceSystem; | |||
import cn.com.taiji.core.model.comm.protocol.SignServiceType; | |||
import cn.com.taiji.core.model.comm.protocol.inss.InssServiceType; | |||
import java.util.ArrayList; | |||
import java.util.Arrays; | |||
import java.util.List; | |||
public enum IasServiceSystem implements SignServiceSystem { | |||
IAS("ias", "发行售后接口", "/ias/api/json", "/ias/common/binapi/") { | |||
public List<SignServiceType> listAllServices() { | |||
return Arrays.asList(InssServiceType.values()); | |||
} | |||
}; | |||
private final String appId;// 微服务环境当做注册中心的服务名 | |||
private final String appName; | |||
private final String jsonUri; | |||
IasServiceSystem(String appId, String appName, String jsonUri, String binUri) { | |||
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.ias; | |||
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 IasServiceType implements SignServiceType { | |||
BILL("发票操作", "^BILL_\\S+\\.json$", IasServiceCmd.values()), | |||
; | |||
@Getter | |||
private final String value; | |||
@Getter | |||
private final Pattern reqNamePattern; | |||
private final List<SignServiceCommand> commands; | |||
IasServiceType(String value, String reqNameRegex, SignServiceCommand[] commands) { | |||
this.value = value; | |||
this.reqNamePattern = Pattern.compile(reqNameRegex); | |||
this.commands = Arrays.asList(commands); | |||
} | |||
@Override | |||
public SignServiceSystem getServiceSystem() { | |||
return IasServiceSystem.IAS; | |||
} | |||
@Override | |||
public List<SignServiceCommand> listAllCommands() { | |||
return commands; | |||
} | |||
public static IasServiceType fromName(String name) { | |||
return CommServiceCommand.fromName(IasServiceType.class, name); | |||
} | |||
public static IasServiceType fromFileName(String filename) { | |||
return fromName(CommServiceCommand.getServiceTypeStr(filename)); | |||
} | |||
public static IasServiceType fromIfCode(String ifCode) { | |||
return SignServiceCommand.fromName(IasServiceType.class, SignServiceCommand.getServiceTypeStr(ifCode)); | |||
} | |||
} |