更新流量方费率生成,增加费率检查
This commit is contained in:
parent
95291a76e7
commit
b4c93197f2
@ -14,8 +14,10 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@Service
|
||||
@ -71,14 +73,19 @@ public class XhpcActivityInternetServiceImpl implements XhpcActivityInternetServ
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 组装费率列表
|
||||
* @param domain 流量方活动对象
|
||||
* @return 费率列表
|
||||
*/
|
||||
private List<XhpcActivityFormulaDomain> getFormulaFullList(XhpcActivityInternetDomain domain){
|
||||
|
||||
boolean isFullDay = false;
|
||||
int index = 0;
|
||||
List<XhpcActivityFormulaDomain> formulaDomainList = domain.getFormulaList();
|
||||
List<XhpcActivityFormulaDomain> formulaDomains = new ArrayList<>();
|
||||
String startTime = "00:00:00", endTime="24:00:00";
|
||||
String startTime = "00:00", endTime="24:00";
|
||||
|
||||
while (!isFullDay) {
|
||||
if (formulaDomainList == null || formulaDomainList.size() < 1) {
|
||||
XhpcActivityFormulaDomain formulaDomain = new XhpcActivityFormulaDomain();
|
||||
@ -86,8 +93,8 @@ public class XhpcActivityInternetServiceImpl implements XhpcActivityInternetServ
|
||||
formulaDomain.setPowerPrice(domain.getPowerPrice());
|
||||
formulaDomain.setServicePrice(domain.getServicePrice());
|
||||
formulaDomain.setComputeFormula(domain.getComputeFormula());
|
||||
formulaDomain.setStartTime("00:00:00");
|
||||
formulaDomain.setEndTime("24:00:00");
|
||||
formulaDomain.setStartTime("00:00");
|
||||
formulaDomain.setEndTime("24:00");
|
||||
formulaDomain.setCreateBy(domain.getCreateBy());
|
||||
formulaDomain.setUpdateBy(domain.getUpdateBy());
|
||||
formulaDomains.add(formulaDomain);
|
||||
@ -123,11 +130,39 @@ public class XhpcActivityInternetServiceImpl implements XhpcActivityInternetServ
|
||||
if(endTime.equals(startTime)){
|
||||
isFullDay = true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
boolean checkFlag = checkFormulaList(formulaDomains);
|
||||
if(!checkFlag){
|
||||
System.out.println(" ==================== 费率列表 ======================== ");
|
||||
System.out.println(formulaDomains);
|
||||
throw new CustomException("费率设置错误,请检查");
|
||||
}
|
||||
return formulaDomains;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 检查费率设置正确
|
||||
* @param formulaDomains 费率列表
|
||||
* @return 标志位
|
||||
*/
|
||||
private boolean checkFormulaList(List<XhpcActivityFormulaDomain> formulaDomains){
|
||||
boolean checkFlag = true;
|
||||
formulaDomains = formulaDomains.stream().sorted(Comparator.comparing(XhpcActivityFormulaDomain::getStartTime)).collect(Collectors.toList());
|
||||
|
||||
int endTime = 0;
|
||||
for (XhpcActivityFormulaDomain domain: formulaDomains){
|
||||
Integer curStartTime = Integer.parseInt(domain.getStartTime().replaceAll(":", ""));
|
||||
Integer curEndTime = Integer.parseInt(domain.getEndTime().replaceAll(":", ""));
|
||||
|
||||
if(domain.getStartTime().equals(domain.getEndTime()) || curStartTime.equals(curEndTime) || curStartTime < endTime){
|
||||
checkFlag = false; break;
|
||||
}
|
||||
endTime = curEndTime;
|
||||
}
|
||||
|
||||
return checkFlag;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user