修改订单活动抽成
This commit is contained in:
parent
9147a6a126
commit
2d5a96f16e
@ -292,7 +292,7 @@ public interface IXhpcStatisticsService {
|
||||
/**
|
||||
* 今日电枪实时状态
|
||||
*/
|
||||
Map<String, Object> getTodayTerminal(Long operatorId,Long chargingStationId,Long chargingPileId);
|
||||
List<Map<String, Object>> getTodayTerminal(Long operatorId,Long chargingStationId,Long chargingPileId);
|
||||
|
||||
/**
|
||||
* 今日电枪实时状态
|
||||
|
||||
@ -476,15 +476,28 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
//activityInternetTime 用户充电时间大于活动时间:快电、恒大不做活动计算
|
||||
boolean activityInternetTime =true;
|
||||
// activityTime 用户充电开始时间是否活动时间
|
||||
boolean activityTime =false;
|
||||
boolean activityStartTime =false;
|
||||
// activityTime 用户充电结束时间是否活动时间
|
||||
boolean activityEndTime =true;
|
||||
|
||||
if(activityStationTime !=null && activityStationTime.size()>0){
|
||||
XhpcActivityInternetDomainDto activityInternet1 =activityStationTime.get(0);
|
||||
if(time1-activityInternet1.getStartTime().getTime()>0){
|
||||
activityTime =true;
|
||||
if(activityInternet1.getStartTime().getTime()-time1>0){
|
||||
activityStartTime =true;
|
||||
if(xhpcChargeOrder.getUserId()==1L || xhpcChargeOrder.getUserId()==2L){
|
||||
activityInternetTime =false;
|
||||
}
|
||||
}
|
||||
int size = activityStationTime.size();
|
||||
if(size==1){
|
||||
if(time2-activityInternet1.getEndTime().getTime()>0){
|
||||
activityEndTime =false;
|
||||
}
|
||||
}else{
|
||||
if(time2-activityStationTime.get(1).getEndTime().getTime()>0){
|
||||
activityEndTime =false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(activityStationTime !=null && activityStationTime.size()>0 && activityStationTime.size()<=2 && activityInternetTime){
|
||||
judge =true;
|
||||
@ -502,7 +515,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
if(number==2){
|
||||
activityInternet1 = activityStationTime.get(0);
|
||||
activityInternet2 = activityStationTime.get(1);
|
||||
if(activityTime){
|
||||
if(activityStartTime){
|
||||
activityFormulaTime1 = xhpcRealTimeOrderMapper.getActivityFormulaTime(activityInternet1.getActivityId(), "00:00:00", "24:00:00");
|
||||
activityFormulaTime2 = xhpcRealTimeOrderMapper.getActivityFormulaTime(activityInternet2.getActivityId(), "00:00:00", end);
|
||||
}else{
|
||||
@ -512,15 +525,183 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
activityId =activityInternet1.getActivityId()+","+activityInternet2.getActivityId();
|
||||
}else{
|
||||
activityInternet1 = activityStationTime.get(0);
|
||||
if(activityTime){
|
||||
if(activityStartTime){
|
||||
activityFormulaTime1 = xhpcRealTimeOrderMapper.getActivityFormulaTime(activityInternet1.getActivityId(), "00:00:00", end);
|
||||
}else{
|
||||
activityFormulaTime1 = xhpcRealTimeOrderMapper.getActivityFormulaTime(activityInternet1.getActivityId(), start, end);
|
||||
}
|
||||
activityId =activityInternet1.getActivityId()+"";
|
||||
}
|
||||
if(activityTime){
|
||||
if(activityStartTime){
|
||||
List<Map<String, Object>> reatTimeList = xhpcHistoryOrderService.getReatTimeList(start, "00:00:00", rateModelId);
|
||||
if(reatTimeList.size()>0){
|
||||
String substring = internetSerialNumber.substring(0, 9);
|
||||
Map<String, Object> operatorIdEvcs = xhpcRealTimeOrderMapper.getOperatorIdEvcs(substring);
|
||||
if(operatorIdEvcs !=null){
|
||||
if(operatorIdEvcs.get("operatorIdEvcs")!=null && operatorIdEvcs.get("commissionType")!=null && operatorIdEvcs.get("commissionRate")!=null){
|
||||
BigDecimal commissionRate = new BigDecimal(operatorIdEvcs.get("commissionRate").toString()).divide(new BigDecimal(100));
|
||||
String commissionType = operatorIdEvcs.get("commissionType").toString();
|
||||
for (int i = 0; i < reatTimeList.size(); i++) {
|
||||
Map<String, Object> map = reatTimeList.get(i);
|
||||
BigDecimal powerFee =new BigDecimal(map.get("powerFee").toString());
|
||||
BigDecimal serviceFee =new BigDecimal(map.get("serviceFee").toString());
|
||||
String startTime1 =map.get("startTime").toString();
|
||||
String endTime1 =map.get("endTime").toString();
|
||||
BigDecimal degree =new BigDecimal(0);
|
||||
if(DateUtil.parse(start).getTime() - DateUtil.parse(startTime1).getTime()>=0){
|
||||
if(DateUtil.parse(end).getTime() - DateUtil.parse(endTime1).getTime()>=0){
|
||||
degree =new BigDecimal(xhpcRealTimeOrderMapper.getRealTimeOrderTime(chargeOrderId, parse2+" "+start, parse2+" "+endTime1)).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
}else{
|
||||
degree =new BigDecimal(xhpcRealTimeOrderMapper.getRealTimeOrderTime(chargeOrderId, parse2+" "+start, parse2+" "+end)).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
}
|
||||
}else{
|
||||
if(DateUtil.parse(end).getTime() - DateUtil.parse(endTime1).getTime()>=0){
|
||||
degree =new BigDecimal(xhpcRealTimeOrderMapper.getRealTimeOrderTime(chargeOrderId, parse2+" "+startTime1, parse2+" "+endTime1)).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
}else{
|
||||
degree =new BigDecimal(xhpcRealTimeOrderMapper.getRealTimeOrderTime(chargeOrderId, parse2+" "+startTime1, parse2+" "+end)).setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
}
|
||||
}
|
||||
//挡前服务费
|
||||
BigDecimal activityServicePrice1 = serviceFee.multiply(degree);
|
||||
//活动总服务费
|
||||
activityServicePriceTotal = activityServicePriceTotal.add(activityServicePrice1);
|
||||
//挡前电费
|
||||
BigDecimal activityPowerPrice1 = powerFee.multiply(degree);
|
||||
//活动总电费
|
||||
activityPowerPriceTotal = activityPowerPriceTotal.add(activityPowerPrice1);
|
||||
//活动总金额
|
||||
activityTotalPriceTotal = activityTotalPriceTotal.add(activityServicePrice1.add(activityPowerPrice1));
|
||||
if(new BigDecimal(0).compareTo(commissionRate)==-1){
|
||||
if("0".equals(commissionType) || "1".equals(commissionType)|| "2".equals(commissionType)){
|
||||
//流量方的钱
|
||||
if("0".equals(commissionType)){
|
||||
BigDecimal decimal1 = activityPowerPrice1.multiply(commissionRate).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal decimal2 = activityServicePrice1.multiply(commissionRate).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
internetCommission = internetCommission.add(decimal1.add(decimal2));
|
||||
activityPowerPrice =activityPowerPrice.add(activityPowerPrice1.subtract(decimal1));
|
||||
activityServicePrice =activityServicePrice.add(activityServicePrice1.subtract(decimal2));
|
||||
}else if("1".equals(commissionType)){
|
||||
BigDecimal decimal2 = activityServicePrice1.multiply(commissionRate).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
internetSvcCommission = internetSvcCommission.add(decimal2);
|
||||
activityServicePrice =activityServicePrice.add(activityServicePrice1.subtract(decimal2));
|
||||
activityPowerPrice =activityPowerPrice.add(activityPowerPriceTotal);
|
||||
}else{
|
||||
//电量抽成
|
||||
BigDecimal commissionRate1 = degree.multiply(new BigDecimal(operatorIdEvcs.get("commissionRate").toString())).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
internetDegreeCommission = internetDegreeCommission.add(commissionRate1);
|
||||
//减服务费
|
||||
activityServicePrice =activityServicePrice.add(activityServicePrice1.subtract(internetDegreeCommission));
|
||||
activityPowerPrice =activityPowerPrice.add(activityPowerPriceTotal);
|
||||
}
|
||||
}
|
||||
}
|
||||
chargingDegree = chargingDegree.add(degree);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int j = 0; j < activityFormulaTime1.size(); j++) {
|
||||
XhpcActivityFormulaDomainDto activityFormula = activityFormulaTime1.get(j);
|
||||
//计费类型
|
||||
int computeType = activityInternet1.getComputeType();
|
||||
BigDecimal activityServicePriceFormula = activityFormula.getServicePrice();
|
||||
BigDecimal activityPowerPriceFormula = activityFormula.getPowerPrice();
|
||||
//计算公式
|
||||
String computeFormula = activityFormula.getComputeFormula();
|
||||
BigDecimal degree =new BigDecimal(0);
|
||||
if (activityFormulaTime2.size()==0 && activityFormulaTime1.size()-1==j && activityEndTime) {
|
||||
degree = new BigDecimal(totalPower).subtract(chargingDegree).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
}else{
|
||||
degree =getRealOrderTime(chargeOrderId, parse2+" "+activityFormula.getStartTime(), parse2+" "+activityFormula.getEndTime()).setScale(2,BigDecimal.ROUND_HALF_UP);;
|
||||
}
|
||||
//挡前服务费
|
||||
BigDecimal activityServicePrice1 = activityServicePriceFormula.multiply(degree).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//活动总服务费
|
||||
activityServicePriceTotal = activityServicePriceTotal.add(activityServicePrice1).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//挡前电费
|
||||
BigDecimal activityPowerPrice1 = activityPowerPriceFormula.multiply(degree).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//活动总电费
|
||||
activityPowerPriceTotal = activityPowerPriceTotal.add(activityPowerPrice1).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//活动总金额
|
||||
activityTotalPriceTotal = activityTotalPriceTotal.add(activityServicePrice1.add(activityPowerPrice1));
|
||||
params.put("T",activityPowerPrice1.add(activityServicePrice1).doubleValue());
|
||||
params.put("P",activityPowerPrice1.doubleValue());
|
||||
params.put("S",activityServicePrice1.doubleValue());
|
||||
params.put("E",degree.doubleValue());
|
||||
//支付给流量方的钱
|
||||
BigDecimal eval = new BigDecimal(Calc.eval(computeFormula, params)).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
if(computeType==1){
|
||||
BigDecimal decimal1 = eval.multiply(new BigDecimal(0.5)).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
internetCommission = internetCommission.add(eval);
|
||||
activityPowerPrice =activityPowerPrice.add(activityPowerPrice1.subtract(decimal1));
|
||||
activityServicePrice =activityServicePrice.add(activityServicePrice1.subtract(decimal1));
|
||||
}else if(computeType==2){
|
||||
internetSvcCommission = internetSvcCommission.add(eval);
|
||||
activityServicePrice =activityServicePrice.add(activityServicePrice1.subtract(eval));
|
||||
activityPowerPrice =activityPowerPrice.add(activityPowerPrice1);
|
||||
}else{
|
||||
//电量抽成
|
||||
internetDegreeCommission = internetDegreeCommission.add(eval);
|
||||
//减服务费
|
||||
activityServicePrice =activityServicePrice.add(activityServicePrice1.subtract(eval));
|
||||
activityPowerPrice =activityPowerPrice.add(activityPowerPrice1);
|
||||
}
|
||||
chargingDegree = chargingDegree.add(degree);
|
||||
}
|
||||
if(activityFormulaTime2.size()>0){
|
||||
for (int j = 0; j < activityFormulaTime2.size(); j++) {
|
||||
//计费类型
|
||||
int computeType = activityInternet2.getComputeType();
|
||||
XhpcActivityFormulaDomainDto activityFormula = activityFormulaTime1.get(j);
|
||||
BigDecimal activityServicePriceFormula = activityFormula.getServicePrice();
|
||||
BigDecimal activityPowerPriceFormula = activityFormula.getPowerPrice();
|
||||
//计算公式
|
||||
String computeFormula = activityFormula.getComputeFormula();
|
||||
BigDecimal degree =new BigDecimal(0);
|
||||
if (activityFormulaTime2.size()-1==j && activityEndTime) {
|
||||
degree = new BigDecimal(totalPower).subtract(chargingDegree).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
}else{
|
||||
degree =getRealOrderTime(chargeOrderId, parse2+" "+activityFormula.getStartTime(), parse2+" "+activityFormula.getEndTime()).setScale(2,BigDecimal.ROUND_HALF_UP);;
|
||||
}
|
||||
//挡前服务费
|
||||
BigDecimal activityServicePrice1 = activityServicePriceFormula.multiply(degree).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//活动总服务费
|
||||
activityServicePriceTotal = activityServicePriceTotal.add(activityServicePrice1).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//挡前电费
|
||||
BigDecimal activityPowerPrice1 = activityPowerPriceFormula.multiply(degree).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//活动总电费
|
||||
activityPowerPriceTotal = activityPowerPriceTotal.add(activityPowerPrice1).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//活动总金额
|
||||
activityTotalPriceTotal = activityTotalPriceTotal.add(activityServicePrice1.add(activityPowerPrice1));
|
||||
params.put("T",activityPowerPrice1.add(activityServicePrice1).doubleValue());
|
||||
params.put("P",activityPowerPrice1.doubleValue());
|
||||
params.put("S",activityServicePrice1.doubleValue());
|
||||
params.put("E",degree.doubleValue());
|
||||
//支付给流量方的钱
|
||||
BigDecimal eval = new BigDecimal(Calc.eval(computeFormula, params)).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
if(computeType==1){
|
||||
BigDecimal decimal1 = eval.multiply(new BigDecimal(0.5)).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
internetCommission = internetCommission.add(eval);
|
||||
activityPowerPrice =activityPowerPrice.add(activityPowerPrice1.subtract(decimal1));
|
||||
activityServicePrice =activityServicePrice.add(activityServicePrice1.subtract(decimal1));
|
||||
}else if(computeType==2){
|
||||
internetSvcCommission = internetSvcCommission.add(eval);
|
||||
activityServicePrice =activityServicePrice.add(activityServicePrice1.subtract(eval));
|
||||
activityPowerPrice =activityPowerPrice.add(activityPowerPrice1);
|
||||
}else{
|
||||
//电量抽成
|
||||
internetDegreeCommission = internetDegreeCommission.add(eval);
|
||||
//减服务费
|
||||
activityServicePrice =activityServicePrice.add(activityServicePrice1.subtract(eval));
|
||||
activityPowerPrice =activityPowerPrice.add(activityPowerPrice1);
|
||||
}
|
||||
chargingDegree = chargingDegree.add(degree);
|
||||
}
|
||||
}
|
||||
if(!activityEndTime){
|
||||
List<Map<String, Object>> reatTimeList = xhpcHistoryOrderService.getReatTimeList("00:00:00", end, rateModelId);
|
||||
if(reatTimeList.size()>0){
|
||||
String substring = internetSerialNumber.substring(0, 9);
|
||||
Map<String, Object> operatorIdEvcs = xhpcRealTimeOrderMapper.getOperatorIdEvcs(substring);
|
||||
@ -575,105 +756,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int j = 0; j < activityFormulaTime1.size(); j++) {
|
||||
XhpcActivityFormulaDomainDto activityFormula = activityFormulaTime1.get(j);
|
||||
//计费类型
|
||||
int computeType = activityInternet1.getComputeType();
|
||||
BigDecimal activityServicePriceFormula = activityFormula.getServicePrice();
|
||||
BigDecimal activityPowerPriceFormula = activityFormula.getPowerPrice();
|
||||
//计算公式
|
||||
String computeFormula = activityFormula.getComputeFormula();
|
||||
BigDecimal degree =new BigDecimal(0);
|
||||
if (activityFormulaTime2.size()==0 && activityFormulaTime1.size()-1==j) {
|
||||
degree = new BigDecimal(totalPower).subtract(chargingDegree).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
}else{
|
||||
degree =getRealOrderTime(chargeOrderId, parse2+" "+activityFormula.getStartTime(), parse2+" "+activityFormula.getEndTime());
|
||||
}
|
||||
//挡前服务费
|
||||
BigDecimal activityServicePrice1 = activityServicePriceFormula.multiply(degree).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//活动总服务费
|
||||
activityServicePriceTotal = activityServicePriceTotal.add(activityServicePrice1).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//挡前电费
|
||||
BigDecimal activityPowerPrice1 = activityPowerPriceFormula.multiply(degree).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//活动总电费
|
||||
activityPowerPriceTotal = activityPowerPriceTotal.add(activityPowerPrice1).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//活动总金额
|
||||
activityTotalPriceTotal = activityTotalPriceTotal.add(activityServicePrice1.add(activityPowerPrice1));
|
||||
params.put("T",activityPowerPrice1.add(activityServicePrice1).doubleValue());
|
||||
params.put("P",activityPowerPrice1.doubleValue());
|
||||
params.put("S",activityServicePrice1.doubleValue());
|
||||
params.put("E",degree.doubleValue());
|
||||
//支付给流量方的钱
|
||||
BigDecimal eval = new BigDecimal(Calc.eval(computeFormula, params));
|
||||
if(computeType==1){
|
||||
BigDecimal decimal1 = eval.multiply(new BigDecimal(0.5)).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
internetCommission = internetCommission.add(eval);
|
||||
activityPowerPrice =activityPowerPrice.add(activityPowerPrice1.subtract(decimal1));
|
||||
activityServicePrice =activityServicePrice.add(activityServicePrice1.subtract(decimal1));
|
||||
}else if(computeType==2){
|
||||
internetSvcCommission = internetSvcCommission.add(eval);
|
||||
activityServicePrice =activityServicePrice.add(activityServicePrice1.subtract(eval));
|
||||
activityPowerPrice =activityPowerPrice.add(activityPowerPrice1);
|
||||
}else{
|
||||
//电量抽成
|
||||
internetDegreeCommission = internetDegreeCommission.add(eval);
|
||||
//减服务费
|
||||
activityServicePrice =activityServicePrice.add(activityServicePrice1.subtract(eval));
|
||||
activityPowerPrice =activityPowerPrice.add(activityPowerPrice1);
|
||||
}
|
||||
chargingDegree = chargingDegree.add(degree);
|
||||
}
|
||||
if(activityFormulaTime2.size()>0){
|
||||
for (int j = 0; j < activityFormulaTime2.size(); j++) {
|
||||
//计费类型
|
||||
int computeType = activityInternet2.getComputeType();
|
||||
XhpcActivityFormulaDomainDto activityFormula = activityFormulaTime1.get(j);
|
||||
BigDecimal activityServicePriceFormula = activityFormula.getServicePrice();
|
||||
BigDecimal activityPowerPriceFormula = activityFormula.getPowerPrice();
|
||||
//计算公式
|
||||
String computeFormula = activityFormula.getComputeFormula();
|
||||
BigDecimal degree =new BigDecimal(0);
|
||||
if (activityFormulaTime2.size()-1==j) {
|
||||
degree = new BigDecimal(totalPower).subtract(chargingDegree).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
}else{
|
||||
degree =getRealOrderTime(chargeOrderId, parse2+" "+activityFormula.getStartTime(), parse2+" "+activityFormula.getEndTime());
|
||||
}
|
||||
//挡前服务费
|
||||
BigDecimal activityServicePrice1 = activityServicePriceFormula.multiply(degree).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//活动总服务费
|
||||
activityServicePriceTotal = activityServicePriceTotal.add(activityServicePrice1).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//挡前电费
|
||||
BigDecimal activityPowerPrice1 = activityPowerPriceFormula.multiply(degree).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//活动总电费
|
||||
activityPowerPriceTotal = activityPowerPriceTotal.add(activityPowerPrice1).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//活动总金额
|
||||
activityTotalPriceTotal = activityTotalPriceTotal.add(activityServicePrice1.add(activityPowerPrice1));
|
||||
params.put("T",activityPowerPrice1.add(activityServicePrice1).doubleValue());
|
||||
params.put("P",activityPowerPrice1.doubleValue());
|
||||
params.put("S",activityServicePrice1.doubleValue());
|
||||
params.put("E",degree.doubleValue());
|
||||
//支付给流量方的钱
|
||||
BigDecimal eval = new BigDecimal(Calc.eval(computeFormula, params));
|
||||
if(computeType==1){
|
||||
BigDecimal decimal1 = eval.multiply(new BigDecimal(0.5)).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
internetCommission = internetCommission.add(eval);
|
||||
activityPowerPrice =activityPowerPrice.add(activityPowerPrice1.subtract(decimal1));
|
||||
activityServicePrice =activityServicePrice.add(activityServicePrice1.subtract(decimal1));
|
||||
}else if(computeType==2){
|
||||
internetSvcCommission = internetSvcCommission.add(eval);
|
||||
activityServicePrice =activityServicePrice.add(activityServicePrice1.subtract(eval));
|
||||
activityPowerPrice =activityPowerPrice.add(activityPowerPrice1);
|
||||
}else{
|
||||
//电量抽成
|
||||
internetDegreeCommission = internetDegreeCommission.add(eval);
|
||||
//减服务费
|
||||
activityServicePrice =activityServicePrice.add(activityServicePrice1.subtract(eval));
|
||||
activityPowerPrice =activityPowerPrice.add(activityPowerPrice1);
|
||||
}
|
||||
chargingDegree = chargingDegree.add(degree);
|
||||
}
|
||||
}
|
||||
promotionDiscount = money.subtract(activityTotalPriceTotal);
|
||||
xhpcHistoryOrder.setActivityId(activityId);
|
||||
}else{
|
||||
if(activityStationTime.size()>2){
|
||||
@ -810,10 +893,8 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
}
|
||||
}
|
||||
}else{
|
||||
//电量抽成
|
||||
BigDecimal chargingDegree = xhpcChargeOrder.getChargingDegree();
|
||||
//电量的钱
|
||||
BigDecimal bigDecimal = chargingDegree.multiply(discountRate).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal bigDecimal = degree.multiply(discountRate).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//当电量的折扣大于服务费时,电量==服务费
|
||||
if(activityServicePriceTotal.compareTo(bigDecimal)<0){
|
||||
if(promotionDiscount1.compareTo(activityServicePriceTotal)<0){
|
||||
@ -1031,7 +1112,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe
|
||||
xhpcHistoryOrder.setActivityTotalPrice(activityTotalPriceTotal.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setActivityPowerPriceTotal(activityPowerPriceTotal.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setActivityServicePriceTotal(activityServicePriceTotal.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setActPrice(activityTotalPriceTotal.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setActPrice(activityPowerPrice.add(activityServicePrice).setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setActPowerPrice(activityPowerPrice.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
xhpcHistoryOrder.setActServicePrice(activityServicePrice.setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
}else{
|
||||
|
||||
@ -1085,27 +1085,27 @@ public class XhpcStatisticsServiceImpl extends BaseService implements IXhpcStati
|
||||
* @param chargingPileId
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> getTodayTerminal(Long operatorId, Long chargingStationId, Long chargingPileId) {
|
||||
public List<Map<String, Object>> getTodayTerminal(Long operatorId, Long chargingStationId, Long chargingPileId) {
|
||||
|
||||
LoginUser loginUser = tokenService.getLoginUser();
|
||||
String tenantId = loginUser.getTenantId();
|
||||
Long logUserId = SecurityUtils.getUserId();
|
||||
SysUser sysUser = loginUser.getSysUser();
|
||||
|
||||
Map<String ,Object> map =new HashMap<>();
|
||||
List<Map<String, Object>> map =new ArrayList<>();
|
||||
if(tenantId !=null && !"".equals(tenantId)){
|
||||
if(sysUser.getUserId() !=UserTypeUtil.USER_ID){
|
||||
Long logOperatorId = sysUser.getOperatorId();
|
||||
if ("01".equals(sysUser.getUserType())) {
|
||||
//运营商看自己的场站
|
||||
extracted(1,logOperatorId,operatorId, chargingStationId, chargingPileId, tenantId, map);
|
||||
return extracted(1,logOperatorId,operatorId, chargingStationId, chargingPileId, tenantId);
|
||||
}else{
|
||||
//查询赋值的场站
|
||||
extracted(2,logUserId,operatorId, chargingStationId, chargingPileId, tenantId, map);
|
||||
return extracted(2,logUserId,operatorId, chargingStationId, chargingPileId, tenantId);
|
||||
}
|
||||
}else{
|
||||
//全部桩
|
||||
extracted(0,null,operatorId, chargingStationId, chargingPileId, tenantId, map);
|
||||
return extracted(0,null,operatorId, chargingStationId, chargingPileId, tenantId);
|
||||
}
|
||||
}
|
||||
return map;
|
||||
@ -1236,7 +1236,7 @@ public class XhpcStatisticsServiceImpl extends BaseService implements IXhpcStati
|
||||
|
||||
|
||||
|
||||
private void extracted(Integer status,Long logOperatorId,Long operatorId, Long chargingStationId, Long chargingPileId, String tenantId, Map<String, Object> map) {
|
||||
private List<Map<String, Object>> extracted(Integer status,Long logOperatorId,Long operatorId, Long chargingStationId, Long chargingPileId, String tenantId) {
|
||||
List<String> terminal = xhpcStatisticsServiceMapper.getTerminal(status, logOperatorId, operatorId, chargingStationId, chargingPileId, tenantId);
|
||||
|
||||
int offLine =0;//离线
|
||||
@ -1265,11 +1265,43 @@ public class XhpcStatisticsServiceImpl extends BaseService implements IXhpcStati
|
||||
}
|
||||
}
|
||||
}
|
||||
map.put("offLine",offLine);
|
||||
map.put("fault",fault);
|
||||
map.put("freeTime",freeTime);
|
||||
map.put("charge",charge);
|
||||
map.put("unknown",unknown);
|
||||
|
||||
List<Map<String,Object>> mapList =new ArrayList<>();
|
||||
Map<String,Object> objectMap =new HashMap<>();
|
||||
objectMap.put("name","离线");
|
||||
objectMap.put("value",offLine);
|
||||
mapList.add(objectMap);
|
||||
|
||||
List<Map<String,Object>> mapList1 =new ArrayList<>();
|
||||
Map<String,Object> objectMap1 =new HashMap<>();
|
||||
objectMap1.put("name","故障");
|
||||
objectMap1.put("value",fault);
|
||||
mapList1.add(objectMap1);
|
||||
mapList.addAll(mapList1);
|
||||
|
||||
List<Map<String,Object>> mapList2 =new ArrayList<>();
|
||||
Map<String,Object> objectMap2 =new HashMap<>();
|
||||
objectMap2.put("name","空闲");
|
||||
objectMap2.put("value",freeTime);
|
||||
mapList2.add(objectMap2);
|
||||
mapList.addAll(mapList2);
|
||||
|
||||
List<Map<String,Object>> mapList3 =new ArrayList<>();
|
||||
Map<String,Object> objectMap3 =new HashMap<>();
|
||||
objectMap3.put("name","充电");
|
||||
objectMap3.put("value",charge);
|
||||
mapList3.add(objectMap3);
|
||||
mapList.addAll(mapList3);
|
||||
|
||||
List<Map<String,Object>> mapList4 =new ArrayList<>();
|
||||
Map<String,Object> objectMap4 =new HashMap<>();
|
||||
objectMap4.put("name","未知");
|
||||
objectMap4.put("value",unknown);
|
||||
mapList4.add(objectMap4);
|
||||
mapList.addAll(mapList4);
|
||||
|
||||
return mapList;
|
||||
|
||||
}
|
||||
|
||||
private void extracted(Integer status,Long operatorId, Long chargingStationId, Long chargingPileId, String tenantId, String beginOfDay, String endOfDay, Map<String, Object> map, Long logOperatorId) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user