diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/WxCarCallBackController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/WxCarCallBackController.java index 6c0a5f162..81e16c1b5 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/WxCarCallBackController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/WxCarCallBackController.java @@ -101,13 +101,6 @@ public class WxCarCallBackController extends BaseController { wxCarCmdLog.setTenantId(park.getTenantId()); } - try { - wxCarCmdLogService.saveOrUpdate(wxCarCmdLog); - } catch (Exception e) { - logger.error("etcpParkInCallback: 入库错误 " + paramMap.toString()); - return true; - } - String carNumber = paramMap.get("plateNumber"); String synId = paramMap.get("synId"); String parkId = paramMap.get("parkId"); @@ -117,6 +110,23 @@ public class WxCarCallBackController extends BaseController { String fixParkingId = paramMap.get("fixParkingId"); String remainingDays = paramMap.get("remainingDays"); + // 检查是否有重复数据 + HashMap map = new HashMap(); + map.put("synId", synId); + map.put("cmdType", EnumCarCmd.CAR_ETCP_CALLBACK_PARK_IN.getCode()); + Long count = wxCarCmdLogService.getCountBySynId(map); + if(count > 1) { + logger.error("ETCP synId已入库: " + paramMap.toString()); + return true; + } + + try { + wxCarCmdLogService.saveOrUpdate(wxCarCmdLog); + } catch (Exception e) { + logger.error("etcpParkInCallback: 入库错误 " + paramMap.toString()); + return true; + } + String phoneStrs = ""; // 停车发券 diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCarCmdLogMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCarCmdLogMapper.java index 08b89d279..617b39f66 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCarCmdLogMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCarCmdLogMapper.java @@ -28,5 +28,7 @@ public interface WxCarCmdLogMapper extends CommonMapper { Long queryWeekCarPayCount(HashMap params); - Long queryPaidInfoByOrderId(HashMap params); + Long countPaidInfoByOrderId(HashMap params); + + Long countBySynId(HashMap params); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCarCmdLogService.java b/mallinkService/src/main/java/com/iformall/service/WxCarCmdLogService.java index 7b44df5b7..728a54456 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCarCmdLogService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCarCmdLogService.java @@ -52,6 +52,8 @@ public interface WxCarCmdLogService { Long getCountByOrderId(HashMap params); + Long getCountBySynId(HashMap params); + diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCarCmdLogServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCarCmdLogServiceImpl.java index 9d0c22993..f27724606 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCarCmdLogServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCarCmdLogServiceImpl.java @@ -61,9 +61,13 @@ public class WxCarCmdLogServiceImpl implements WxCarCmdLogService { } @Override - public - Long getCountByOrderId(HashMap params) { - return wxCarCmdLogMapper.queryPaidInfoByOrderId(params); + public Long getCountByOrderId(HashMap params) { + return wxCarCmdLogMapper.countPaidInfoByOrderId(params); + } + + @Override + public Long getCountBySynId(HashMap params) { + return wxCarCmdLogMapper.countBySynId(params); } diff --git a/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml b/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml index c536f7fe7..079a32068 100644 --- a/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml @@ -127,7 +127,7 @@ where cmd_type = 601 and json_extract(cmd_json, "$.synId") = #{synId} - select count(id) from wx_car_cmd_log where cmd_type = 604 @@ -138,6 +138,21 @@ and json_extract(cmd_json, "$.orderId") = #{orderId} + +