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 2a6640a6e..6c0a5f162 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/WxCarCallBackController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/WxCarCallBackController.java @@ -306,6 +306,15 @@ public class WxCarCallBackController extends BaseController { map.put("synId", orderId); String tenant_id = wxCarCmdLogService.getTenantIdBySynId(map); + // 检查是否有重复数据 + map.put("tenantId", tenant_id); + map.put("orderId", orderId); + Long count = wxCarCmdLogService.getCountByOrderId(map); + if(count > 1) { + logger.error("ETCP order已入库: " + orderId); + return new Result(EnumETCPCode.SUCCESS.getCode(), EnumETCPCode.SUCCESS.getMessage()); + } + Date currentDate = new Date(); WxCarCmdLog wxCarCmdLog = new WxCarCmdLog(); if(StringUtils.isNotBlank(tenant_id)) { diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCarCmdLogMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCarCmdLogMapper.java index 78be4fadc..08b89d279 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCarCmdLogMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCarCmdLogMapper.java @@ -27,4 +27,6 @@ public interface WxCarCmdLogMapper extends CommonMapper { List queryTenantIdBySynId(HashMap params); Long queryWeekCarPayCount(HashMap params); + + Long queryPaidInfoByOrderId(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 a07d657e1..7b44df5b7 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCarCmdLogService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCarCmdLogService.java @@ -28,7 +28,7 @@ public interface WxCarCmdLogService { */ WxCarCmdLog getById(Long id); - /** + /** * 保存或更新实体 * * @param record @@ -50,6 +50,8 @@ public interface WxCarCmdLogService { */ String getTenantIdBySynId(HashMap params); + Long getCountByOrderId(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 a71600f81..9d0c22993 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCarCmdLogServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCarCmdLogServiceImpl.java @@ -60,6 +60,12 @@ public class WxCarCmdLogServiceImpl implements WxCarCmdLogService { return null; } + @Override + public + Long getCountByOrderId(HashMap params) { + return wxCarCmdLogMapper.queryPaidInfoByOrderId(params); + } + diff --git a/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml b/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml index 4106c20e5..c536f7fe7 100644 --- a/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml @@ -126,6 +126,18 @@ select `tenant_id` from wx_car_cmd_log where cmd_type = 601 and json_extract(cmd_json, "$.synId") = #{synId} + + diff --git a/mallinkService/src/main/resources/mapper/WxCarPayRecordMapper.xml b/mallinkService/src/main/resources/mapper/WxCarPayRecordMapper.xml index 2ddce8f28..91802d02c 100644 --- a/mallinkService/src/main/resources/mapper/WxCarPayRecordMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCarPayRecordMapper.xml @@ -1,106 +1,100 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + `id`,`tenant_id`,`vendor_type`,`create_date`,`update_date`,syn_id,park_id,park_name,user_type, plate_number,entrance_time,exit_time,fee,fee_time,coupon,coupon_code,fix_parking_id,remaining_days,discount_amount,phone ,paid_service_fee,create_date,update_date,floor(stayed_time/60) stayed_time - - where 1 = 1 - - - and `id` = #{id} - - - - - and `tenant_id` = #{tenantId} - - - - - and `vendor_type` = #{vendorType} - - - - - - and create_date >= #{startDate} - - - and create_date <= #{endDate} - - - and fee is not null - and fee != '' - - - order by ${sortColumns} - order by create_date desc - - - - - - - - - - - update wx_car_pay_record set update_date = now() - - ,exit_time = #{exitTime} - - - ,stayed_time = #{stayedTime} - - - ,fee = #{fee} - - - ,fee_time = #{feeTime} - - - ,paid_service_fee = #{paidServiceFee} - - - where syn_id = #{synId} - + + where 1 = 1 + + + and `id` = #{id} + + + + and `tenant_id` = #{tenantId} + + + + and `vendor_type` = #{vendorType} + + + + and create_date >= #{startDate} + + + and create_date <= #{endDate} + + + and fee is not null + and fee != '' + + + order by ${sortColumns} + order by create_date desc + + + + + + + + + update wx_car_pay_record set update_date = now() + + ,exit_time = #{exitTime} + + + ,stayed_time = #{stayedTime} + + + ,fee = #{fee} + + + ,fee_time = #{feeTime} + + + ,paid_service_fee = #{paidServiceFee} + + + where syn_id = #{synId} +