public interface ResolveParameter {
LogResVo resolveParas(LogReqVo logReqVo);
}
@Component("registerOrBindCard")
@Slf4j
public class RegisterOrBindCardParse implements ResolveParameter {
@Override
public LogResVo resolveParas(LogReqVo logReqVo) {
String reqParam = "";
if(null != logReqVo){
reqParam = logReqVo.getReqParam();
StringBuilder stringBuilder = new StringBuilder(reqParam);
reqParam = stringBuilder.substring(1, stringBuilder.length() - 1).toString();
}
log.info("绑定就诊卡参数解析入参:{}",reqParam);
RegisterCardReqVO registerCardReqVO = JSON.parseObject(reqParam, RegisterCardReqVO.class);
LogResVo logResVo = new LogResVo();
logResVo.setOperationDescription("新增就诊卡:".concat(registerCardReqVO.getPatientName()));
log.info("logResVo = {}",JSON.toJSONString(logResVo));
return logResVo;
}
@Autowired
private Map<String, ResolveParameter> resolveParameterMap;
ResolveParameter resolveParameter = resolveParameterMap.get(converseMark);
if (Objects.isNull(resolveParameter)){
DefaultResolveParameter defaultResolveParameter = new DefaultResolveParameter();
logResVo = defaultResolveParameter.resolveParas(logReqVo);
adminLog.setOperationDescription(logResVo.getOperationDescription());
log.info("默认接口解析返回值:{}",JSON.toJSONString(logResVo));
}else{
logResVo = resolveParameter.resolveParas(logReqVo);
adminLog.setOperationDescription(logResVo.getOperationDescription());
log.info("接口解析后返回值:{}",JSON.toJSONString(logResVo));
}