BankFlagContextValueManagerImpl.java
package com.mycim.server.ctx.exec.manager.impl;
import com.fa.sesa.threadlocal.LocalContext;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.server.base.manager.NamedObjectManager;
import com.mycim.server.ctx.exec.manager.BankFlagContextValueManager;
import com.mycim.server.ctx.manager.ContextValueManager;
import com.mycim.valueobject.ObjectList;
import com.mycim.valueobject.consts.ContextNames;
import com.mycim.valueobject.context.dto.QueryContextValueDTO;
import com.mycim.valueobject.prp.BankFlagContextValue;
import com.mycim.valueobject.prp.ContextValue;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional
public class BankFlagContextValueManagerImpl implements BankFlagContextValueManager {
@Autowired
ContextValueManager contextValueManager;
@Autowired
NamedObjectManager namedObjectManager;
private Long getBankInContextRrn() {
return namedObjectManager.getNamedObjectRrn(ContextNames.BANK_FLAG_CONTEXT, LocalContext.getFacilityRrn(),
ObjectList.CONTEXT_KEY);
}
private BankFlagContextValue buildNewBankFlagContextValue(Long facilityRrn) {
return new BankFlagContextValue(getBankInContextRrn());
}
@Override
public String getBankInFlagByProcessInfo(QueryContextValueDTO dto) {
BankFlagContextValue ctx = buildNewBankFlagContextValue(dto.getFacilityRrn());
ctx.setProductRrn(dto.getProductRrn());
ctx.setProcessRrn(dto.getProcessRrn());
ctx.setProcessVersion(dto.getProcessVersion());
ctx.setRouteRrn(dto.getRouteRrn());
ctx.setOperationRrn(dto.getOperationRrn());
ContextValue contextValue = contextValueManager.simulateContextValue(ctx);
if (contextValue != null && StringUtils.isNotBlank(contextValue.getResultValue1())) {
return contextValue.getResultValue1();
}
return StringUtils.EMPTY;
}
}