Browse Source

[停车][修改]:停车数据入库修改,15分钟内缴费记录update,不再insert

release_toaliyun_real
Stormeye Wu 6 years ago
parent
commit
f2f444b69e
2 changed files with 34 additions and 7 deletions
  1. +13
    -7
      mallinkCallback/src/main/java/com/iformall/controller/callback/WxCarCallBackController.java
  2. +21
    -0
      mallinkService/src/main/java/com/iformall/utils/DateUtils.java

+ 13
- 7
mallinkCallback/src/main/java/com/iformall/controller/callback/WxCarCallBackController.java View File

@@ -11,6 +11,7 @@ import com.iformall.enums.EnumCarVendor;
import com.iformall.enums.EnumCouponSendSendType;
import com.iformall.enums.EnumETCPCode;
import com.iformall.service.*;
import com.iformall.utils.DateUtils;
import com.iformall.utils.ETCPUtil;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -439,19 +440,24 @@ public class WxCarCallBackController extends BaseController {

WxCarPayRecord query = new WxCarPayRecord();
query.setSynId(orderId);
query.setFee(fee);
if(feeTime != null) {
query.setFeeTime(feeTime);
}
// 缴费时间在15分钟以内,更新之前的数据, ETCP会把之前的缴费自动退款
PageInfo<WxCarPayRecord> page = wxCarPayRecordService.findCarPayListByPage(query,1,2);
if(page != null && page.getList().size() > 0){

if(page.getList().size() >= 2){
wxCarPayRecordService.saveOrUpdate(record);
} else {
WxCarPayRecord r = page.getList().get(0);
record.setId(r.getId());
wxCarPayRecordService.saveOrUpdate(record);
if(r.getFeeTime() == null) {
// 无缴费信息, 更新
record.setId(r.getId());
wxCarPayRecordService.saveOrUpdate(record);
} else {
// 缴费时间在15分钟以内,更新之前的数据, ETCP会把之前的缴费自动退款
if(DateUtils.isInDate15Mins(feeTime, r.getFeeTime())) {
record.setId(r.getId());
}
wxCarPayRecordService.saveOrUpdate(record);
}
}
} else {
wxCarPayRecordService.saveOrUpdate(record);


+ 21
- 0
mallinkService/src/main/java/com/iformall/utils/DateUtils.java View File

@@ -957,6 +957,27 @@ public class DateUtils {
}
}

/**
* 判断时间是否在时间段内
* @param date
* @param curDate
* @return
*/
public static boolean isInDate15Mins(Date date, Date curDate) {
Calendar cal = Calendar.getInstance();
cal.setTime(curDate);
cal.add(Calendar.MINUTE, -15);
Date timeStart = cal.getTime();
cal.add(Calendar.MINUTE, 15);
Date timeEnd = cal.getTime();

if (date.after(timeStart) && date.before(timeEnd)) {
return true;
} else {
return false;
}
}

/**
* 获取当前月的第一天
* @return


Loading…
Cancel
Save