diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/OrderMonitorData.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/OrderMonitorData.java index 3731a3ef0..2d8338f8d 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/domain/OrderMonitorData.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/domain/OrderMonitorData.java @@ -26,6 +26,11 @@ public class OrderMonitorData { */ private String orderCode; + /** + * 交易流水号 + */ + private String transactionCode; + /** * 实时监控数据 */ diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderMonitorDataMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderMonitorDataMapper.java index a69faaaa2..fb597f7fd 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderMonitorDataMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderMonitorDataMapper.java @@ -31,17 +31,7 @@ public interface OrderMonitorDataMapper { */ OrderMonitorData selectByPrimaryKey(Integer id); - /** - * update record selective - * @param record the updated record - * @return update count - */ - int updateByPrimaryKeySelective(OrderMonitorData record); + OrderMonitorData selectByOrderCode(String orderCode); - /** - * update record - * @param record the updated record - * @return update count - */ - int updateByPrimaryKey(OrderMonitorData record); + OrderMonitorData selectByTransactionCode(String transactionCode); } \ No newline at end of file diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderMonitorDataService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderMonitorDataService.java index 76166ca80..2ce3c7f04 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderMonitorDataService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderMonitorDataService.java @@ -12,8 +12,7 @@ public interface OrderMonitorDataService{ OrderMonitorData selectByPrimaryKey(Integer id); - int updateByPrimaryKeySelective(OrderMonitorData record); - - int updateByPrimaryKey(OrderMonitorData record); + OrderMonitorData selectByOrderCode(String orderCode); + OrderMonitorData selectByTransactionCode(String transactionCode); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index e67b01f71..4a4361ce7 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -32,6 +32,7 @@ import com.jsowell.common.util.id.SnowflakeIdWorker; import com.jsowell.pile.domain.OrderAbnormalRecord; import com.jsowell.pile.domain.OrderBasicInfo; import com.jsowell.pile.domain.OrderDetail; +import com.jsowell.pile.domain.OrderMonitorData; import com.jsowell.pile.domain.OrderPayRecord; import com.jsowell.pile.domain.PileAuthCard; import com.jsowell.pile.domain.PileBasicInfo; @@ -53,6 +54,7 @@ import com.jsowell.pile.service.IPileAuthCardService; import com.jsowell.pile.service.IPileBasicInfoService; import com.jsowell.pile.service.IPileBillingTemplateService; import com.jsowell.pile.service.IPileConnectorInfoService; +import com.jsowell.pile.service.OrderMonitorDataService; import com.jsowell.pile.service.WechatPayService; import com.jsowell.pile.service.WxpayCallbackRecordService; import com.jsowell.pile.service.WxpayRefundCallbackService; @@ -151,6 +153,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { @Autowired private IPileAuthCardService pileAuthCardService; + @Autowired + private OrderMonitorDataService orderMonitorDataService; + /** * 条件查询订单基本信息 * @@ -694,14 +699,14 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { logger.error("小程序发送充电停止推送消息 error", e); } - realTimeMonitorDataRedis2DB(orderBasicInfo.getTransactionCode()); + realTimeMonitorDataRedis2DB(orderBasicInfo.getTransactionCode(), orderBasicInfo.getOrderCode()); } /** * 从redis中取出实时记录保存到表中 * 当订单完成的时候调用 */ - private void realTimeMonitorDataRedis2DB(String transactionCode) { + private void realTimeMonitorDataRedis2DB(String transactionCode, String orderCode) { if (StringUtils.isBlank(transactionCode)) { return; } @@ -728,11 +733,18 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { list.add(build); } + OrderMonitorData record = new OrderMonitorData(); + record.setOrderCode(orderCode); + record.setTransactionCode(transactionCode); + record.setMonitorData(JSONObject.toJSONString(list)); + int insert = orderMonitorDataService.insert(record); + if (insert > 0) { + // 删除redis中缓存 + String pileConnectorCode = transactionCode.substring(0, 16); + String redisKey = CacheConstants.PILE_REAL_TIME_MONITOR_DATA + pileConnectorCode + "_" + transactionCode; + redisCache.deleteObject(redisKey); + } - // 删除redis中缓存 - String pileConnectorCode = transactionCode.substring(0, 16); - String redisKey = CacheConstants.PILE_REAL_TIME_MONITOR_DATA + pileConnectorCode + "_" + transactionCode; - redisCache.deleteObject(redisKey); } @Override diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderMonitorDataServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderMonitorDataServiceImpl.java index 7343a4acc..f38fb1782 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderMonitorDataServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderMonitorDataServiceImpl.java @@ -6,40 +6,41 @@ import com.jsowell.pile.service.OrderMonitorDataService; import org.springframework.stereotype.Service; import javax.annotation.Resource; + @Service public class OrderMonitorDataServiceImpl implements OrderMonitorDataService { @Resource private OrderMonitorDataMapper orderMonitorDataMapper; - + @Override public int deleteByPrimaryKey(Integer id) { return orderMonitorDataMapper.deleteByPrimaryKey(id); } - + @Override public int insert(OrderMonitorData record) { return orderMonitorDataMapper.insert(record); } - + @Override public int insertSelective(OrderMonitorData record) { return orderMonitorDataMapper.insertSelective(record); } - + @Override public OrderMonitorData selectByPrimaryKey(Integer id) { return orderMonitorDataMapper.selectByPrimaryKey(id); } - - public int updateByPrimaryKeySelective(OrderMonitorData record) { - return orderMonitorDataMapper.updateByPrimaryKeySelective(record); + @Override + public OrderMonitorData selectByOrderCode(String orderCode) { + return orderMonitorDataMapper.selectByOrderCode(orderCode); } - - public int updateByPrimaryKey(OrderMonitorData record) { - return orderMonitorDataMapper.updateByPrimaryKey(record); + @Override + public OrderMonitorData selectByTransactionCode(String transactionCode) { + return orderMonitorDataMapper.selectByTransactionCode(transactionCode); } } diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderMonitorDataMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderMonitorDataMapper.xml index cb370b436..d74d5d164 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderMonitorDataMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderMonitorDataMapper.xml @@ -6,12 +6,13 @@ + - id, order_code, monitor_data, create_time + id, order_code, transaction_code, monitor_data, create_time + select + + from order_monitor_data + where order_code = #{orderCode,jdbcType=VARCHAR} + + + \ No newline at end of file