diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/PileOrderService.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/PileOrderService.java index d88799c2..4bf34c47 100644 --- a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/PileOrderService.java +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/PileOrderService.java @@ -30,7 +30,7 @@ public interface PileOrderService { * 桩停止回调接口 * * @param orderNo 订单号 - * @param status 1 成功 2失败 + * @param status 1 成功 2失败 3数据中断 4恢复数据 * @param remark 备注 * @return */ diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/data/redis/CacheOrderData.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/data/redis/CacheOrderData.java index 0ab816c8..b8ba1374 100644 --- a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/data/redis/CacheOrderData.java +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/data/redis/CacheOrderData.java @@ -38,7 +38,7 @@ public class CacheOrderData extends BaseData { private String cardNo; //物理卡号 private int startSoc; private int endSoc; - private int status; + private int status;//1自动结算,2异常 public String getOrderNo() { diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/HxpcPileOrderController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/HxpcPileOrderController.java index 48387b5c..1b0851b7 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/HxpcPileOrderController.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/HxpcPileOrderController.java @@ -97,7 +97,7 @@ public class HxpcPileOrderController extends BaseController { * 桩停止回调接口 * * @param orderNo 订单号 - * @param status 1 成功 2失败 + * @param status 1 成功 2失败 3数据中断 4恢复数据 * @param remark 备注 * @return */ @@ -107,16 +107,37 @@ public class HxpcPileOrderController extends BaseController { //解析订单编号 //String s1 = orderNo.substring(6); - Integer code = 300; + Integer code = 500; Long userId = update(0, remark, orderNo, 1); Map map = new HashMap<>(); - map.put("code", code); + map.put("userId", userId); if (status == 1) { map.put("message", "停止充电成功"); - } else { + } else if(status==2){ + //停止充电失败 + code=300; map.put("message", remark); + }else if(status==3 || status==4){ + //订单定位异常,修改充电订单状态 + HxpcChargeOrder hxpcChargeOrder = hxpcChargeOrderService.getSerialNumberMessage(orderNo); + if(status==3){ + hxpcChargeOrder.setStatus(2); + hxpcChargeOrder.setUpdateTime(new Date()); + }else{ + if(hxpcChargeOrder.getStatus()==1 || hxpcChargeOrder.getStatus()==3){ + //不修改订单 + }else{ + hxpcChargeOrder.setStatus(0); + } + } + hxpcChargeOrderService.updateXhpcChargeOrder(hxpcChargeOrder); + code=300; + map.put("message", remark); + }else{ + //修改订单,判断订单 } + map.put("code", code); JSONObject json = new JSONObject(map); //消息对了内容 rabbimt(userId + "##" + json); @@ -262,7 +283,6 @@ public class HxpcPileOrderController extends BaseController { /** * 桩订单结束回调 - * */ @Transactional @PostMapping("/chargeOrder/pileEndOrder") @@ -293,7 +313,8 @@ public class HxpcPileOrderController extends BaseController { hxpcChargeOrder.setStartSoc(startSoc+""); hxpcChargeOrder.setEndSoc(endSoc+""); - hxpcChargeOrder.setStatus(cacheOrderData.getStatus()); + int status = cacheOrderData.getStatus(); + hxpcChargeOrder.setStatus(status); DateTime startTime = DateUtil.parse(cacheOrderData.getStartTime()); DateTime endTime = DateUtil.parse(cacheOrderData.getEndTime()); @@ -314,7 +335,8 @@ public class HxpcPileOrderController extends BaseController { hxpcChargeOrder.setAmountCharged(money.toString()); String stopReason = cacheOrderData.getStopReason(); hxpcChargeOrder.setErroRemark(stopReason); - + hxpcChargeOrder.setUpdateTime(date); + hxpcChargeOrder.setStatus(status); //历史订单 Long userId =hxpcChargeOrder.getUserId(); //生成一条历史订单 @@ -333,10 +355,6 @@ public class HxpcPileOrderController extends BaseController { BigDecimal promotionDiscount = new BigDecimal(0); //实际价格-用户支付的钱 BigDecimal actPrice =new BigDecimal(0); - //实收电费-运营商电费 - BigDecimal actPowerPrice =new BigDecimal(0); - //实收服务费-运营商服务费 - BigDecimal actServicePrice =new BigDecimal(0); //流量方总金额抽成 BigDecimal internetCommission =new BigDecimal(0); //流量方服务费抽成 @@ -447,7 +465,7 @@ public class HxpcPileOrderController extends BaseController { //订单总价---运维服务费抽成 xhpcHistoryOrder.setTotalPrice(money); xhpcHistoryOrder.setPromotionDiscount(promotionDiscount); - xhpcHistoryOrder.setActPowerPrice(actPowerPrice); + xhpcHistoryOrder.setActPrice(actPrice); xhpcHistoryOrder.setActPowerPrice(surplusPowerPrice); xhpcHistoryOrder.setActServicePrice(surplusServicePrice); xhpcHistoryOrder.setInternetCommission(internetCommission); @@ -490,17 +508,20 @@ public class HxpcPileOrderController extends BaseController { private Long update(Integer status, String remark, String serialNumber, Integer type) { logger.info("状态:"+status+"备注++"+"remark"+"订单号"+serialNumber); HxpcChargeOrder hxpcChargeOrder = hxpcChargeOrderService.getSerialNumberMessage(serialNumber); + Date date = new Date(); if(status==0){ hxpcChargeOrder.setStatus(0); + hxpcChargeOrder.setStartTime(date); }else{ hxpcChargeOrder.setStatus(-1); hxpcChargeOrder.setDelFlag(1); + hxpcChargeOrder.setEndTime(date); } hxpcChargeOrder.setErroRemark(remark); Long userId = hxpcChargeOrder.getUserId(); if (type == 1) { - Date date = new Date(); + //充电订单 --结束soc、充电时长、充电度数 hxpcChargeOrder.setEndTime(date); } 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 d5e12d72..3fdd3b5d 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 @@ -24,8 +24,31 @@ import java.util.Map; @Api(value = "历史订单清接口", tags = "历史订单接口") public class XhpcHistoryOrderController extends BaseController { + @Autowired + private IXhpcHistoryOrderService xhpcHistoryOrderService; + /** + * 历史订单 + * @param phone 用户账号 + * @param transactionNumber 订单编号 + * @param type 1 自动结算 2 平台结算 + * @param chargingStationName 电站名称 + * @param operatorId 运营商id + * @param source 用户类型 0C端用户 1流量用户 + * @param startTime 订单开始时间 + * @param endTime 订单结束时间 + * @param userId 用户id + * @param status 1 平台 2 运营商 3流量方 + * @return + */ + @GetMapping("/getListPage") + public TableDataInfo getListPage(String phone,String transactionNumber,Integer status,String chargingStationName,Long operatorId,Integer source,String startTime,String endTime,@RequestParam("userId") Long userId,@RequestParam("type") Integer type) + { + startPage(); + List> listPage = xhpcHistoryOrderService.getListPage(phone, transactionNumber, status, chargingStationName, operatorId, source, startTime, endTime, userId, type); + return getDataTable(listPage); + } } diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcRealTimeOrderController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcRealTimeOrderController.java index b3e7f6fb..a4e1d721 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcRealTimeOrderController.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcRealTimeOrderController.java @@ -37,13 +37,15 @@ public class XhpcRealTimeOrderController extends BaseController { * @param startTime 订单开始时间 * @param endTime 订单结束时间 * @param status 状态(-1准备充电 0开始充电 1自动结算,2异常,3平台结算) + * @param userId 用户id + * @param type 1 平台 2 运营商 3流量方 * @return */ @GetMapping("/list") - public TableDataInfo list(String phone,String transactionNumber,Integer source,String chargingStationName,String terminalName,Long operatorId,String startTime,String endTime,@RequestParam("status") Integer status) + public TableDataInfo list(String phone,String transactionNumber,Integer source,String chargingStationName,String terminalName,Long operatorId,String startTime,String endTime,@RequestParam("status") Integer status,@RequestParam("userId") Long userId,@RequestParam("type") Integer type) { startPage(); - List> list = xhpcRealTimeOrderService.list(phone, transactionNumber, source, chargingStationName,terminalName, operatorId, startTime, endTime,status); + List> list = xhpcRealTimeOrderService.list(phone, transactionNumber, source, chargingStationName,terminalName, operatorId, startTime, endTime,status,userId,type); return getDataTable(list); } @@ -81,5 +83,10 @@ public class XhpcRealTimeOrderController extends BaseController { return xhpcRealTimeOrderService.timeChartList(chargingOrderId); } + /** + * + */ + + } 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 d1cd65ac..80ea8386 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 @@ -69,4 +69,10 @@ public interface XhpcHistoryOrderMapper { * @return */ Map gethistotyOrderMessage(@Param("userId") Long userId, @Param("historyOrderId") Long historyOrderId, @Param("type") Integer type, @Param("chargingOrderId") Long chargingOrderId); + + /** + * 历史订单记录(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("startTime")String startTime,@Param("endTime")String endTime,@Param("userId")Long userId,@Param("type")Integer type,@Param("number")Integer number); } diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcRealTimeOrderMapper.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcRealTimeOrderMapper.java index 58b6c325..eaa21653 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcRealTimeOrderMapper.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcRealTimeOrderMapper.java @@ -56,10 +56,10 @@ public interface XhpcRealTimeOrderMapper { * @param operatorId 运营商 * @param startTime 订单开始时间 * @param endTime 订单结束时间 - * @param type 0 都没有 1 phone 有 2 用户类型有 3 都有 + * @param number 0 都没有 1 phone 有 2 用户类型有 3 都有 * @return */ - List> list(@Param("phone") String phone,@Param("transactionNumber") String transactionNumber,@Param("source") Integer source,@Param("chargingStationName") String chargingStationName,@Param("terminalName")String terminalName,@Param("operatorId") Long operatorId,@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("type") Integer type,@Param("status")Integer status); + List> list(@Param("phone") String phone,@Param("transactionNumber") String transactionNumber,@Param("source") Integer source,@Param("chargingStationName") String chargingStationName,@Param("terminalName")String terminalName,@Param("operatorId") Long operatorId,@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("number") Integer number,@Param("status")Integer status,@Param("userId")Long userId,@Param("type")Integer type); /** * 实时订单详情接口(PC端) 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 b53f9df0..a503b45d 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 @@ -36,4 +36,12 @@ public interface IXhpcHistoryOrderService { * @return 结果 */ void insert(XhpcHistoryOrder xhpcHistoryOrder); + + + /** + * 历史订单记录(PC) + * @return + */ + List> getListPage(String phone,String transactionNumber,Integer status,String chargingStationName,Long operatorId,Integer source,String startTime,String endTime,Long userId,Integer type); + } diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcRealTimeOrderService.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcRealTimeOrderService.java index f0339230..8bfc7d2a 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcRealTimeOrderService.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcRealTimeOrderService.java @@ -28,9 +28,11 @@ public interface IXhpcRealTimeOrderService { * @param startTime 订单开始时间 * @param endTime 订单结束时间 * @param status 状态(-1准备充电 0开始充电 1自动结算,2异常,3平台结算) + * @param userId 用户id + * @param type 1 平台 2 运营商 3流量方 * @return */ - List> list(String phone,String transactionNumber,Integer source,String chargingStationName,String terminalName,Long operatorId,String startTime,String endTime,Integer status); + List> list(String phone,String transactionNumber,Integer source,String chargingStationName,String terminalName,Long operatorId,String startTime,String endTime,Integer status,Long userId,Integer type); /** * 实时订单详情接口(PC端) diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/HxpcChargeOrderServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/HxpcChargeOrderServiceImpl.java index aa92843e..cc279534 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/HxpcChargeOrderServiceImpl.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/HxpcChargeOrderServiceImpl.java @@ -155,7 +155,7 @@ public class HxpcChargeOrderServiceImpl implements IHxpcChargeOrderService { }else{ hxpcChargeOrder.setChargingMode("小华充电支付宝"); } - hxpcChargeOrder.setStartTime(date); + hxpcChargeOrder.setCreateTime(date); hxpcChargeOrderMapper.addXhpcChargeOrder(hxpcChargeOrder); return AjaxResult.success(); 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 40254d52..03117b52 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 @@ -8,6 +8,7 @@ import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -35,4 +36,18 @@ public class XhpcHistoryOrderServiceImpl implements IXhpcHistoryOrderService { xhpcHistoryOrderMapper.insert(xhpcHistoryOrder); } + @Override + public List> getListPage(String phone, String transactionNumber, Integer status, String chargingStationName, Long operatorId, Integer source, String startTime, String endTime, Long userId, Integer type) { + Integer number=0; + if(!"".equals(phone) && phone!=null && !"".equals(source) && source !=null){ + number =3; + }else if (!"".equals(phone) && phone!=null){ + number =1; + }else{ + number =2; + } + return xhpcHistoryOrderMapper.getListPage(phone,transactionNumber,status,chargingStationName,operatorId,source,startTime,endTime,userId,type,number); + } + + } 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 1056605a..caaa2e3b 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 @@ -10,6 +10,7 @@ import com.xhpc.order.service.IXhpcRealTimeOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -26,17 +27,20 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService { @Override - public List> list(String phone, String transactionNumber, Integer source, String chargingStationName, String terminalName, Long operatorId, String startTime, String endTime,Integer status) { + public List> list(String phone, String transactionNumber, Integer source, String chargingStationName, String terminalName, Long operatorId, String startTime, String endTime,Integer status,Long userId,Integer type) { - Integer type =0; + Integer number=0; if(!"".equals(phone) && phone!=null && !"".equals(source) && source !=null){ - type =3; + number =3; }else if (!"".equals(phone) && phone!=null){ - type =1; + number =1; }else{ - type =2; + number =2; } - return xhpcRealTimeOrderMapper.list(phone,transactionNumber,source,chargingStationName,terminalName,operatorId,startTime,endTime,type,status); + if(type ==null || userId ==null){ + return new ArrayList<>(); + } + return xhpcRealTimeOrderMapper.list(phone,transactionNumber,source,chargingStationName,terminalName,operatorId,startTime,endTime,number,status,userId,type); } @Override diff --git a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcChargeOrderMapper.xml b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcChargeOrderMapper.xml index d8869339..a66b7cf5 100644 --- a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcChargeOrderMapper.xml +++ b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcChargeOrderMapper.xml @@ -238,6 +238,7 @@ end_soc = #{endSoc}, status=#{status}, remark = #{remark}, + start_time = #{startTime}, end_time = #{endTime}, charging_time = #{chargingTime}, charging_degree = #{chargingDegree}, 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 7b60be54..f9c7732b 100644 --- a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderMapper.xml +++ b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderMapper.xml @@ -345,4 +345,87 @@ and ho.charge_order_id =#{chargingOrderId} + + + \ No newline at end of file diff --git a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcRealTimeOrderMapper.xml b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcRealTimeOrderMapper.xml index b0d2f9bb..3d562477 100644 --- a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcRealTimeOrderMapper.xml +++ b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcRealTimeOrderMapper.xml @@ -382,7 +382,9 @@ cp.power as power, cp.type as type, co.status as status, + co.erro_remark as erroRemark, co.create_time as createTime, + co.start_time as startTime, (select real_time_order_id from xhpc_real_time_order where transaction_number =co.serial_number order by create_time desc limit 1) realTimeOrderId, (select soc from xhpc_real_time_order where transaction_number =co.serial_number order by create_time desc limit 1) soc, (select charging_degree from xhpc_real_time_order where transaction_number =co.serial_number order by create_time desc limit 1) chargingDegree, @@ -414,11 +416,11 @@ and op.operator_id =#{operatorId} - + and co.user_id in (SELECT app_user_id FROM xhpc_app_user where phone like concat('%', #{phone}, '%')) or co.user_id in (SELECT internet_user_id from xhpc_internet_user where phone like concat('%', #{phone}, '%')) - + and co.user_id in (SELECT app_user_id FROM xhpc_app_user) @@ -426,7 +428,7 @@ and co.user_id in (SELECT internet_user_id from xhpc_internet_user) - + and co.user_id in (SELECT app_user_id FROM xhpc_app_user where phone like concat('%', #{phone}, '%')) @@ -435,6 +437,14 @@ #{phone}, '%')) + + and co.source =0 + and co.charging_station_id in (select charging_station_id from xhpc_charging_station where operator_id=#{userId}) + + + and co.source =1 + and co.user_id=#{userId} + order by co.create_time desc