通用接口封装
package com.ctg.itrdc.mf.handler;
import com.ctg.itrdc.mf.enums.CommonEnum;
public interface PatrolOperationlHandler<T> {
void PatrolInsert(T t);
/**
* 暂时仅做标识作用,标识处理具体逻辑
* @return
*/
CommonEnum.PatrolManagerTermEnum getPatrolPatrolOperationEnum();
}
通用接口实现(多个)
package com.ctg.itrdc.mf.handler;
import com.ctg.itrdc.mf.enums.CommonEnum;
import com.jblcloud.basedata.repository.mysql.workflow.entity.SubShopManagementOther;
import com.jblcloud.basedata.repository.mysql.workflow.mapper.SubShopManagementOtherMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class PatrolOtherOperationHandler implements PatrolOperationlHandler<SubShopManagementOther>{
@Autowired
private SubShopManagementOtherMapper subShopManagementOtherMapper;
@Override
public void PatrolInsert(SubShopManagementOther subShopManagementOther) {
subShopManagementOther.setId(CommonEnum.PatrolOperation.OPE_APPRUNID.getDesc());
subShopManagementOther.setCompanyId(CommonEnum.PatrolOperation.OPE_COMPANYID.getDesc());
subShopManagementOther.setCreateTime(Long.parseLong(CommonEnum.PatrolOperation.OPE_CREATETIME.getDesc()));
subShopManagementOther.setUpdateTime(Long.parseLong(CommonEnum.PatrolOperation.OPE_UPDATETIME.getDesc()));
subShopManagementOtherMapper.insertSelective(subShopManagementOther);
}
@Override
public CommonEnum.PatrolManagerTermEnum getPatrolPatrolOperationEnum() {
return CommonEnum.PatrolManagerTermEnum.TERM_OTHER;
}
}
通用接口调用
//注入接口
@Autowired
List<PatrolOperationlHandler> patrolOperationlHandlers;
//接口的相关实现
patrolOperationlHandlers.stream().forEach(been -> {
if (been.getPatrolPatrolOperationEnum().getDesc().equals("门店管理")){
been.PatrolInsert(store);
}
});