diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/xhpc/common/core/constant/ServiceNameConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/xhpc/common/core/constant/ServiceNameConstants.java index ce42467c..35209546 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/xhpc/common/core/constant/ServiceNameConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/xhpc/common/core/constant/ServiceNameConstants.java @@ -69,4 +69,8 @@ public class ServiceNameConstants { */ public static final String XHPC_TENANT ="xhpc-tenant"; + /** + * 活动服务 + */ + public static final String XHPC_ACTIVITY ="xhpc-activity"; } diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/controller/XhpcActivityInternetController.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/controller/XhpcActivityInternetController.java index 49967b43..dcc26eba 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/controller/XhpcActivityInternetController.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/controller/XhpcActivityInternetController.java @@ -103,5 +103,13 @@ public class XhpcActivityInternetController extends BaseController { return R.ok(internetService.deleteByPk(activityId)); } + @GetMapping("/getActivityStationTime") + public R getActivityStationTime(Long internetUserId,String startTime,String endTime,Long chargingStationId,String tenantId){ + return R.ok(internetService.getActivityStationTime(internetUserId, startTime,endTime, chargingStationId, tenantId)); + } + @GetMapping("/getActivityFormulaTime") + public R getActivityFormulaTime(Integer activityId,String startTime,String endTime){ + return R.ok(internetService.getActivityFormulaTime(activityId, startTime, endTime)); + } } diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityFormulaMapper.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityFormulaMapper.java index a3d9031d..e64d50bd 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityFormulaMapper.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityFormulaMapper.java @@ -19,4 +19,9 @@ public interface XhpcActivityFormulaMapper { List selectByActivityId(Integer activityId); int deleteByActivityId(Integer activityId); + + /** + * 查询该时段的计费公式 + */ + List getActivityFormulaTime(@Param("activityId") Integer activityId,@Param("startTime") String startTime,@Param("endTime") String endTime); } \ No newline at end of file diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityInternetMapper.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityInternetMapper.java index 4268fcbb..2aceda4e 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityInternetMapper.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/mapper/XhpcActivityInternetMapper.java @@ -29,4 +29,9 @@ public interface XhpcActivityInternetMapper { List selectByDateBetween(@Param("startTime")String startTime, @Param("endTime")String endTime); + /** + * 查询该时间段是否有流量方活动 + */ + List getActivityStationTime(@Param("internetUserId")Long internetUserId,@Param("startTime")String startTime,@Param("endTime")String endTime,@Param("chargingStationId")Long chargingStationId,@Param("tenantId")String tenantId); + } \ No newline at end of file diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/XhpcActivityInternetService.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/XhpcActivityInternetService.java index fe8abc56..4e6faa32 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/XhpcActivityInternetService.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/XhpcActivityInternetService.java @@ -1,5 +1,6 @@ package com.xhpc.activity.service; +import com.xhpc.activity.domain.XhpcActivityFormulaDomain; import com.xhpc.activity.domain.XhpcActivityInternetDomain; import java.util.List; @@ -22,4 +23,16 @@ public interface XhpcActivityInternetService { boolean checkDomain(XhpcActivityInternetDomain domain); boolean deleteByPk(Integer activityId); + + /** + * 查询该时间段是否有流量方活动 + */ + List getActivityStationTime(Long internetUserId,String startTime,String endTime,Long chargingStationId,String tenantId); + + /** + * 查询该时段的计费公式 + */ + List getActivityFormulaTime(Integer activityId,String startTime,String endTime); + + } diff --git a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityInternetServiceImpl.java b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityInternetServiceImpl.java index 47b689c9..b5e1d0a1 100644 --- a/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityInternetServiceImpl.java +++ b/xhpc-modules/xhpc-activity/src/main/java/com/xhpc/activity/service/impl/XhpcActivityInternetServiceImpl.java @@ -155,4 +155,28 @@ public class XhpcActivityInternetServiceImpl implements XhpcActivityInternetServ public boolean deleteByPk(Integer activityId) { return internetMapper.deleteLogicByPrimaryKey(activityId) > 0; } + + /** + * 查询该时间段是否有流量方活动 + * + * @param internetUserId + * @param time + * @param chargingStationId + */ + @Override + public List getActivityStationTime(Long internetUserId,String startTime,String endTime, Long chargingStationId ,String tenantId) { + return internetMapper.getActivityStationTime(internetUserId,startTime,endTime, chargingStationId,tenantId); + } + + /** + * 查询该时段的计费公式 + * + * @param activityId + * @param startTime + * @param endTime + */ + @Override + public List getActivityFormulaTime(Integer activityId, String startTime, String endTime) { + return formulaMapper.getActivityFormulaTime(activityId, startTime, endTime); + } } diff --git a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityFormulaMapper.xml b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityFormulaMapper.xml index ee692a6d..e813ad91 100644 --- a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityFormulaMapper.xml +++ b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityFormulaMapper.xml @@ -85,5 +85,13 @@ where activity_formula_id = #{activityComputeId,jdbcType=BIGINT} - + \ No newline at end of file diff --git a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityInternetMapper.xml b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityInternetMapper.xml index 15ac092e..acdaccc6 100644 --- a/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityInternetMapper.xml +++ b/xhpc-modules/xhpc-activity/src/main/resources/mapper/XhpcActivityInternetMapper.xml @@ -139,4 +139,20 @@ + \ No newline at end of file diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/ActivityInternetService.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/ActivityInternetService.java new file mode 100644 index 00000000..5ff1a2d2 --- /dev/null +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/ActivityInternetService.java @@ -0,0 +1,36 @@ +package com.xhpc.common.api; + +import com.xhpc.common.api.factory.UserTypeFallbackFactory; +import com.xhpc.common.core.constant.ServiceNameConstants; +import com.xhpc.common.core.domain.R; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.Map; + +/** + * @author yuyang + * @date 2022/4/8 16:36 + */ +@FeignClient(contextId ="activityInternetService",value = ServiceNameConstants.XHPC_ACTIVITY, fallbackFactory = UserTypeFallbackFactory.class) +public interface ActivityInternetService { + + /** + * 查询该时间段是否有流量方活动 + * @param + * @return + */ + @GetMapping("/activity/internet/getActivityStationTime") + R> getActivityStationTime(@RequestParam(value = "internetUserId")Long internetUserId,@RequestParam(value = "startTime")String startTime,@RequestParam(value = "endTime")String endTime,@RequestParam(value = "chargingStationId")Long chargingStationId,@RequestParam(value = "tenantId")String tenantId); + + /** + * 查询该时间段是否有流量方活动 + * @param + * @return + */ + @GetMapping("/activity/internet/getActivityFormulaTime") + R> getActivityFormulaTime(@RequestParam(value = "activityId")Integer activityId,@RequestParam(value = "startTime")String startTime,@RequestParam(value = "endTime")String endTime); + + +} diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/factory/ActivityInternetfAllbackFactory.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/factory/ActivityInternetfAllbackFactory.java new file mode 100644 index 00000000..d42690e5 --- /dev/null +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/factory/ActivityInternetfAllbackFactory.java @@ -0,0 +1,36 @@ +package com.xhpc.common.api.factory; + +import com.xhpc.common.api.ActivityInternetService; +import com.xhpc.common.core.domain.R; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +import java.util.Map; + +/** + * @author yuyang + * @date 2022/4/8 16:40 + */ +@Component +public class ActivityInternetfAllbackFactory implements FallbackFactory { + + private static final Logger logger = LoggerFactory.getLogger(ActivityInternetfAllbackFactory.class); + + @Override + public ActivityInternetService create(Throwable cause) { + + return new ActivityInternetService() { + @Override + public R> getActivityStationTime(Long internetUserId, String startTime, String endTime, Long chargingStationId, String tenantId) { + return R.fail("获取活动信息失败:" + cause.getMessage()); + } + + @Override + public R> getActivityFormulaTime(Integer activityId, String startTime, String endTime) { + return R.fail("获取活动时间段信息失败:" + cause.getMessage()); + } + }; + } +} diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java index 55236403..f557f0d8 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java @@ -328,8 +328,10 @@ public class XhpcPileOrderController extends BaseController { logger.info("无效订单号>>>>>orderNo:" + orderNo); return R.fail(500,"无效订单号:"+orderNo); } - - if(cacheOrderData.getTotalPowerQuantity()==0){ + BigDecimal bigDecimal = new BigDecimal(10000); + BigDecimal totalPowerQuantity = new BigDecimal(cacheOrderData.getTotalPowerQuantity()).divide(bigDecimal,2,BigDecimal.ROUND_HALF_UP); + BigDecimal money = new BigDecimal(cacheOrderData.getCost()).divide(bigDecimal); + if(cacheOrderData.getTotalPowerQuantity()==0 || totalPowerQuantity.compareTo(new BigDecimal(0.1))<1 || money.compareTo(new BigDecimal(0.1))<1){ xhpcChargeOrder.setStatus(3); xhpcChargeOrder.setUpdateTime(new Date()); xhpcChargeOrderService.updateXhpcChargeOrder(xhpcChargeOrder); @@ -346,8 +348,8 @@ public class XhpcPileOrderController extends BaseController { //解析订单编号 Date date = new Date(); //总金额 - BigDecimal bigDecimal = new BigDecimal(10000); - BigDecimal money = new BigDecimal(cacheOrderData.getCost()).divide(bigDecimal); + + //00: 尖费率 01: 峰费率 02: 平费率 03: 谷费率 BigDecimal t1powerFee =new BigDecimal(0); BigDecimal t2powerFee =new BigDecimal(0); @@ -355,6 +357,9 @@ public class XhpcPileOrderController extends BaseController { BigDecimal t4powerFee =new BigDecimal(0); //费率计费模型 List rateModelList = xhpcChargeOrderService.getRateModelId(xhpcChargeOrder.getRateModelId()); + logger.info("&&&&&&&&&&&&&&&&&&&&&&&&&&&&订单号:"+xhpcChargeOrder.getSerialNumber()+"&&&&&&&&&&&&&&费率模型id:"+xhpcChargeOrder.getRateModelId()); + + for (XhpcRate xhpcRate:rateModelList) { if("00".equals(xhpcRate.getRateValue())){ t1powerFee = xhpcRate.getPowerFee(); diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderController.java index bbe834bf..7ce9617c 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderController.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderController.java @@ -11,6 +11,7 @@ import com.xhpc.common.core.web.domain.AjaxResult; import com.xhpc.common.core.web.page.TableDataInfo; import com.xhpc.common.util.UserTypeUtil; import com.xhpc.order.domain.XhpcChargeOrder; +import com.xhpc.order.domain.XhpcHistoryOrder; import com.xhpc.order.domain.XhpcStatisticsStation; import com.xhpc.order.domain.XhpcStatisticsTimeInterval; import com.xhpc.order.dto.XhpcChargeHistoryOrder; @@ -434,6 +435,12 @@ public class XhpcHistoryOrderController extends BaseController { try{ Long historyOrderId = xhpc.getHistoryOrderId(); int count = xhpcStatisticsService.getStatisticsTimeHistoryOrderId(historyOrderId); + if(count>0){ + XhpcHistoryOrder historyOrder = xhpcHistoryOrderService.getHistoryOrderById(historyOrderId); + if(historyOrder.getState()==0){ + xhpcHistoryOrderService.updateXhpcHistoryOrder(historyOrderId,1); + } + } if(count==0){ //开始时间、结束时间、模型id、状态、用户id、运营商、订单id、场站id、终端id、历史订单id、时间 Date startTime = xhpc.getStartTime(); @@ -481,7 +488,7 @@ public class XhpcHistoryOrderController extends BaseController { //xhpcSt.setCreateTime(data); xhpcSt.setTerminalId(terminalId); xhpcSt.setHistoryOrderId(historyOrderId); - if(xhpc.getSource()==1){ + if(xhpc.getSource()!=null && xhpc.getSource()==1){ xhpcSt.setInternetUserId(xhpc.getUserId()); } //时间没有跨天 @@ -494,6 +501,7 @@ public class XhpcHistoryOrderController extends BaseController { xhpcHistoryOrderService.updateXhpcHistoryOrder(xhpc.getHistoryOrderId(),1); } }catch (Exception e){ + e.printStackTrace(); logger.info(">>>>>>>>>>>>>>>>>>>>>>>小时统计定时任务异常>>>>>>>>>>>>>>>>>>>>>"+xhpc.getHistoryOrderId()); } } @@ -938,6 +946,7 @@ public class XhpcHistoryOrderController extends BaseController { for (int i = type; i <4 ; i++) { //查询统计表是否有已添加的数据 int count = xhpcStatisticsService.getStatisticsStationHistoryOrderId(historyOrderId, i); + if(count==0){ XhpcStatisticsStation xhpcSt =new XhpcStatisticsStation(); xhpcSt.setChargingDegree(xhpc.getChargingDegree()); diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcHistoryOrderMapper.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcHistoryOrderMapper.java index 885e2265..1c737d28 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcHistoryOrderMapper.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcHistoryOrderMapper.java @@ -76,7 +76,7 @@ public interface XhpcHistoryOrderMapper { * 历史订单记录(PC) * @return */ - List> getListPage(@Param("phone")String phone,@Param("transactionNumber")String transactionNumber,@Param("status")Integer status,@Param("chargingStationName")String chargingStationName,@Param("operatorId")Long operatorId,@Param("source")Integer source,@Param("beginStartTime")String beginStartTime,@Param("beginEndTime")String beginEndTime,@Param("userId")Long userId,@Param("type")Integer type,@Param("number")Integer number,@Param("affiliationOrganization")String affiliationOrganization,@Param("evcsOrderNo")String evcsOrderNo,@Param("plateNum")String plateNum,@Param("internetId")Integer internetId,@Param("internetSerialNumber")String internetSerialNumber,@Param("terminalName")String terminalName,@Param("vinCode")String vinCode,@Param("overStartTime")String overStartTime,@Param("overEndTime")String overEndTime,@Param("personnelId")Long personnelId,@Param("confirmResult")Integer confirmResult,@Param("tenantId")String tenantId); + List> getListPage(@Param("phone")String phone,@Param("transactionNumber")String transactionNumber,@Param("status")Integer status,@Param("chargingStationName")String chargingStationName,@Param("operatorId")Long operatorId,@Param("source")Integer source,@Param("beginStartTime")String beginStartTime,@Param("beginEndTime")String beginEndTime,@Param("userId")Long userId,@Param("type")Integer type,@Param("number")Integer number,@Param("affiliationOrganization")String affiliationOrganization,@Param("evcsOrderNo")String evcsOrderNo,@Param("plateNum")String plateNum,@Param("internetId")Integer internetId,@Param("internetSerialNumber")String internetSerialNumber,@Param("terminalName")String terminalName,@Param("vinCode")String vinCode,@Param("overStartTime")String overStartTime,@Param("overEndTime")String overEndTime,@Param("personnelId")Long personnelId,@Param("confirmResult")Integer confirmResult,@Param("tenantId")String tenantId,@Param("isNotNull")Integer isNotNull); /** * 获取费率时段 @@ -102,7 +102,7 @@ public interface XhpcHistoryOrderMapper { */ List getStatistisList(@Param("number")int number,@Param("state")int state); - + XhpcHistoryOrder getHistoryOrderById(@Param("historyOrderId")Long historyOrderId); /** * 更新历史订单 * diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcHistoryOrderService.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcHistoryOrderService.java index a87df1a0..8d6168a9 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcHistoryOrderService.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcHistoryOrderService.java @@ -73,6 +73,9 @@ public interface IXhpcHistoryOrderService { */ AjaxResult getById(Long historyOrderId); + + XhpcHistoryOrder getHistoryOrderById(Long historyOrderId); + /** * 获取费率时段 * @param startTime 开始时间 diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java index a962a9ac..3873ea14 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java @@ -247,17 +247,17 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis if (UserTypeUtil.SYS_USER_TYPE_ONE.equals(landUser.get("userType").toString())) { Long logOperatorId = Long.valueOf(landUser.get("operatorId").toString()); //运营商看自己的场站 - list = xhpcHistoryOrderMapper.getListPage(phone, transactionNumber, 1, chargingStationName, operatorId, source, beginStartTime, beginEndTime, logOperatorId, type, number,affiliationOrganization,evcsOrderNo,plateNum,internetId,internetSerialNumber,terminalName,vinCode,overStartTime,overEndTime,personnelId,confirmResult,tenantId); + list = xhpcHistoryOrderMapper.getListPage(phone, transactionNumber, 1, chargingStationName, operatorId, source, beginStartTime, beginEndTime, logOperatorId, type, number,affiliationOrganization,evcsOrderNo,plateNum,internetId,internetSerialNumber,terminalName,vinCode,overStartTime,overEndTime,personnelId,confirmResult,tenantId,0); } else { //查询赋值的场站 - list = xhpcHistoryOrderMapper.getListPage(phone, transactionNumber, 2, chargingStationName, operatorId, source, beginStartTime, beginEndTime, logUserId, type, number,affiliationOrganization,evcsOrderNo,plateNum,internetId,internetSerialNumber,terminalName,vinCode,overStartTime,overEndTime,personnelId,confirmResult,tenantId); + list = xhpcHistoryOrderMapper.getListPage(phone, transactionNumber, 2, chargingStationName, operatorId, source, beginStartTime, beginEndTime, logUserId, type, number,affiliationOrganization,evcsOrderNo,plateNum,internetId,internetSerialNumber,terminalName,vinCode,overStartTime,overEndTime,personnelId,confirmResult,tenantId,0); } } } } else { startPage(); - list = xhpcHistoryOrderMapper.getListPage(phone, transactionNumber, 0, chargingStationName, operatorId, source, beginStartTime, beginEndTime, userId, type, number,affiliationOrganization,evcsOrderNo,plateNum,internetId,internetSerialNumber,terminalName,vinCode,overStartTime,overEndTime,personnelId,confirmResult,tenantId); + list = xhpcHistoryOrderMapper.getListPage(phone, transactionNumber, 0, chargingStationName, operatorId, source, beginStartTime, beginEndTime, userId, type, number,affiliationOrganization,evcsOrderNo,plateNum,internetId,internetSerialNumber,terminalName,vinCode,overStartTime,overEndTime,personnelId,confirmResult,tenantId,0); } return list; } @@ -292,15 +292,15 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis if (UserTypeUtil.SYS_USER_TYPE_ONE.equals(landUser.get("userType").toString())) { Long logOperatorId = Long.valueOf(landUser.get("operatorId").toString()); //运营商看自己的场站 - list = xhpcHistoryOrderMapper.getListPage(phone, transactionNumber, 1, chargingStationName, operatorId, source, beginStartTime, beginEndTime, logOperatorId, type, number,affiliationOrganization,evcsOrderNo,plateNum,internetId,internetSerialNumber,terminalName,vinCode,overStartTime,overEndTime,personnelId,confirmResult,tenantId); + list = xhpcHistoryOrderMapper.getListPage(phone, transactionNumber, 1, chargingStationName, operatorId, source, beginStartTime, beginEndTime, logOperatorId, type, number,affiliationOrganization,evcsOrderNo,plateNum,internetId,internetSerialNumber,terminalName,vinCode,overStartTime,overEndTime,personnelId,confirmResult,tenantId,1); } else { //查询赋值的场站 - list = xhpcHistoryOrderMapper.getListPage(phone, transactionNumber, 2, chargingStationName, operatorId, source, beginStartTime, beginEndTime, logUserId, type, number,affiliationOrganization,evcsOrderNo,plateNum,internetId,internetSerialNumber,terminalName,vinCode,overStartTime,overEndTime,personnelId,confirmResult,tenantId); + list = xhpcHistoryOrderMapper.getListPage(phone, transactionNumber, 2, chargingStationName, operatorId, source, beginStartTime, beginEndTime, logUserId, type, number,affiliationOrganization,evcsOrderNo,plateNum,internetId,internetSerialNumber,terminalName,vinCode,overStartTime,overEndTime,personnelId,confirmResult,tenantId,1); } } } } else { - list = xhpcHistoryOrderMapper.getListPage(phone, transactionNumber, 0, chargingStationName, operatorId, source, beginStartTime, beginEndTime, userId, type, number,affiliationOrganization,evcsOrderNo,plateNum,internetId,internetSerialNumber,terminalName,vinCode,overStartTime,overEndTime,personnelId,confirmResult,tenantId); + list = xhpcHistoryOrderMapper.getListPage(phone, transactionNumber, 0, chargingStationName, operatorId, source, beginStartTime, beginEndTime, userId, type, number,affiliationOrganization,evcsOrderNo,plateNum,internetId,internetSerialNumber,terminalName,vinCode,overStartTime,overEndTime,personnelId,confirmResult,tenantId,1); } // 通过工具类创建writer,默认创建xls格式 @@ -380,6 +380,11 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis } } + @Override + public XhpcHistoryOrder getHistoryOrderById(Long historyOrderId) { + return xhpcHistoryOrderMapper.getHistoryOrderById(historyOrderId); + } + @Override public List> getReatTimeList(String startTime, String endTime, Long rateModelId) { diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java index bc464bed..8a908ebd 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java @@ -66,6 +66,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe private TokenService tokenService; + private final ExecutorService executorService = Executors.newFixedThreadPool(20); @@ -368,7 +369,13 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe } //生成一条历史订单 XhpcHistoryOrder xhpcHistoryOrder = new XhpcHistoryOrder(); - xhpcHistoryOrder.setEndTime(xhpcChargeOrder.getEndTime()); + xhpcHistoryOrder.setStartTime(xhpcChargeOrder.getStartTime()); + if(xhpcChargeOrder.getEndTime()==null ){ + xhpcHistoryOrder.setEndTime(xhpcChargeOrder.getStartTime()); + }else{ + xhpcHistoryOrder.setStartTime(xhpcChargeOrder.getStartTime()); + xhpcHistoryOrder.setEndTime(xhpcChargeOrder.getEndTime()); + } xhpcHistoryOrder.setStartSoc(xhpcChargeOrder.getStartSoc()); xhpcHistoryOrder.setEndSoc(xhpcChargeOrder.getEndSoc()); @@ -379,6 +386,8 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe xhpcHistoryOrder.setTotalPower(0.00); } xhpcHistoryOrder.setType(2); + xhpcHistoryOrder.setStatus(0); + xhpcHistoryOrder.setDelFlag(0); addSettlement(powerPrice, servicePrice, money, surplusPowerPrice, surplusServicePrice, xhpcChargeOrder, userId, userMessage,0,null,xhpcHistoryOrder); return AjaxResult.success(); @@ -427,8 +436,27 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe Integer source = xhpcChargeOrder.getSource(); String internetSerialNumber = xhpcChargeOrder.getInternetSerialNumber(); if(source==UserTypeUtil.INTERNET_TYPE && internetSerialNumber!=null){ - String substring = internetSerialNumber.substring(0, 9); xhpcHistoryOrder.setInternetSerialNumber(xhpcChargeOrder.getInternetSerialNumber()); +// //判断第三方是否有活动 +// Long internetUserId = xhpcChargeOrder.getUserId(); +// //最后一条实时数据 +// XhpcRealTimeOrder xhpcRealTimeOrder = xhpcRealTimeOrderMapper.getChargingOrderId(xhpcChargeOrder.getChargeOrderId(), 2); +// boolean judge =false; +// if(xhpcRealTimeOrder !=null && !"".equals(xhpcRealTimeOrder.getChargingTime()) && xhpcRealTimeOrder.getChargingTime()!=null){ +// R> activityStationTime = activityInternetService.getActivityStationTime(internetUserId, xhpcRealTimeOrder.getChargingTime(), xhpcChargeOrder.getChargingStationId(), xhpcChargeOrder.getTenantId()); +// if(activityStationTime !=null && activityStationTime.getData() !=null){ +// judge =true; +// } +// } +// if(judge){ +// +// +// +// +// +// } + + String substring = internetSerialNumber.substring(0, 9); Map operatorIdEvcs = xhpcRealTimeOrderMapper.getOperatorIdEvcs(substring); if(operatorIdEvcs !=null){ if(operatorIdEvcs.get("operatorIdEvcs")!=null && operatorIdEvcs.get("commissionType")!=null && operatorIdEvcs.get("commissionRate")!=null){ @@ -979,12 +1007,14 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe xhpcHistoryOrder.setSerialNumber(xhpcChargeOrder.getSerialNumber()); xhpcHistoryOrder.setInternetSerialNumber(xhpcChargeOrder.getInternetSerialNumber()); xhpcHistoryOrder.setType(2); + xhpcHistoryOrder.setStatus(0); Date date = new Date(); xhpcHistoryOrder.setCreateTime(date); Map pushOrder = redisService.getCacheMap("pushOrder:"+xhpcChargeOrder.getSerialNumber()); if(pushOrder !=null){ if(pushOrder.get("internetSerialNumber") !=null){ xhpcHistoryOrder.setInternetSerialNumber(pushOrder.get("internetSerialNumber").toString()); + xhpcHistoryOrder.setChargingMode(xhpcChargeOrder.getUserId()+""); } if(pushOrder.get("operatorId3rdpty") !=null){ xhpcHistoryOrder.setOperatorId3rdptyEvcs((String) pushOrder.get("operatorId3rdpty")); @@ -1002,8 +1032,14 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe } } } - xhpcHistoryOrder.setStartTime(xhpcChargeOrder.getStartTime()); - xhpcHistoryOrder.setEndTime(xhpcChargeOrder.getStartTime()); + if(xhpcChargeOrder.getStartTime()==null){ + xhpcHistoryOrder.setStartTime(xhpcChargeOrder.getCreateTime()); + xhpcHistoryOrder.setEndTime(xhpcChargeOrder.getCreateTime()); + }else{ + xhpcHistoryOrder.setStartTime(xhpcChargeOrder.getStartTime()); + xhpcHistoryOrder.setEndTime(xhpcChargeOrder.getStartTime()); + } + xhpcHistoryOrder.setStopReasonEvcs(45); if(UserTypeUtil.COMMUNIT_TYPE.equals(xhpcChargeOrder.getSource()) || UserTypeUtil.CUSTOMERS_TYPE.equals(xhpcChargeOrder.getSource())){ xhpcHistoryOrder.setChargeModelEvcs(2); @@ -1013,7 +1049,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe xhpcHistoryOrder.setTenantId(xhpcChargeOrder.getTenantId()); xhpcHistoryOrder.setSource(xhpcChargeOrder.getSource()); xhpcHistoryOrder.setRateModelId(xhpcChargeOrder.getRateModelId()); - xhpcHistoryOrder.setChargingMode(xhpcChargeOrder.getChargingMode()); + xhpcHistoryOrder.setDelFlag(0); xhpcHistoryOrderService.insert(xhpcHistoryOrder); } diff --git a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderMapper.xml b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderMapper.xml index 0238f0db..85954d01 100644 --- a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderMapper.xml +++ b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderMapper.xml @@ -790,6 +790,9 @@ and ho.tenant_id=#{tenantId} + + and ho.total_price >=0 + order by ho.create_time desc @@ -1124,4 +1127,8 @@ where internet_serial_number = #{internetSerialNumber} + + diff --git a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcStatisticsMapper.xml b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcStatisticsMapper.xml index 8257e4b8..50a17d5e 100644 --- a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcStatisticsMapper.xml +++ b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcStatisticsMapper.xml @@ -915,6 +915,7 @@ and ss.tenant_id = #{tenantId} + and ss.charging_mode is not null group by ss.charging_mode