From 8522e469e00e1cf6c0410165b0f76c806c13ca83 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期六, 16 八月 2025 09:17:04 +0800 Subject: [PATCH] 合并代码 --- ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TDriverPromotionActivityController.java | 40 +++++++++++++++++++++++++++++++++------- 1 files changed, 33 insertions(+), 7 deletions(-) diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TDriverPromotionActivityController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TDriverPromotionActivityController.java index 6808d79..c4e710f 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TDriverPromotionActivityController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TDriverPromotionActivityController.java @@ -1,6 +1,7 @@ package com.stylefeng.guns.modular.system.controller.specialTrain; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; import com.rabbitmq.client.LongString; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.beetl.ShiroExtUtil; @@ -301,16 +302,33 @@ tDriverPromotionActivity.setProvinceCode(province); tDriverPromotionActivity.setCityCode(city); tDriverPromotionActivity.setDistrictCode(area); + Wrapper<TDriverPromotionActivity> eq = new EntityWrapper<TDriverPromotionActivity>().eq("provinceCode", province).eq("cityCode", city); + if(area!=null && !area.equals("")){ + eq.eq("districtCode", area); + } + String s = time.split(" - ")[0] + " 00:00:00"; + String s1 = time.split(" - ")[1] + " 23:59:59"; + tDriverPromotionActivity.setStartTime(simpleDateFormat.parse(s)); + tDriverPromotionActivity.setEndTime(simpleDateFormat.parse(s1)); + List<TDriverPromotionActivity> tDriverPromotionActivities = tDriverPromotionActivityService.selectList(eq); + for (TDriverPromotionActivity driverPromotionActivity : tDriverPromotionActivities) { + // 判断时间是否有交集 + if (isTimeOverlap(driverPromotionActivity, tDriverPromotionActivity)) { + return "602"; // 时间冲突 + } + + } + + List<TRegion> code = tRegionService.selectList(new EntityWrapper<TRegion>().in("code", Arrays.asList(province, city, area))); tDriverPromotionActivity.setProvince(code.stream().filter(e->e.getCode().equals( province)).collect(Collectors.toList()).get(0).getName()); tDriverPromotionActivity.setCity(code.stream().filter(e->e.getCode().equals( city)).collect(Collectors.toList()).get(0).getName()); - tDriverPromotionActivity.setDistrict(code.stream().filter(e->e.getCode().equals(area)).collect(Collectors.toList()).get(0).getName()); - String s = time.split(" - ")[0] + " 00:00:00"; - String s1 = time.split(" - ")[1] + " 23:59:59"; - tDriverPromotionActivity.setStartTime(simpleDateFormat.parse(s)); - tDriverPromotionActivity.setEndTime(simpleDateFormat.parse(s1)); + if(area!=null && !"".equals(area)){ + tDriverPromotionActivity.setDistrict(code.stream().filter(e->e.getCode().equals(area)).collect(Collectors.toList()).get(0).getName()); + } + tDriverPromotionActivity.setCommissionRatio(BigDecimal.valueOf(commissionRatio)); tDriverPromotionActivity.setBindingDays(bindingDays); tDriverPromotionActivity.setActivityDesc(ToolUtil.cleanXSS(content)); @@ -320,7 +338,13 @@ tDriverPromotionActivityService.insert(tDriverPromotionActivity); return SUCCESS_TIP; } - + // 更完整的时间交集判断方法 + private boolean isTimeOverlap(TDriverPromotionActivity existing, TDriverPromotionActivity newActivity) { + // 两个时间段有交集的条件: + // existing的开始时间 <= newActivity的结束时间 且 existing的结束时间 >= newActivity的开始时间 + return existing.getStartTime().getTime() <= newActivity.getEndTime().getTime() && + existing.getEndTime().getTime() >= newActivity.getStartTime().getTime(); + } /** * 删除 */ @@ -367,7 +391,9 @@ tDriverPromotionActivity.setProvince(code.stream().filter(e->e.getCode().equals( province)).collect(Collectors.toList()).get(0).getName()); tDriverPromotionActivity.setCity(code.stream().filter(e->e.getCode().equals( city)).collect(Collectors.toList()).get(0).getName()); - tDriverPromotionActivity.setDistrict(code.stream().filter(e->e.getCode().equals(area)).collect(Collectors.toList()).get(0).getName()); + if(area!=null && !"".equals(area)){ + tDriverPromotionActivity.setDistrict(code.stream().filter(e->e.getCode().equals(area)).collect(Collectors.toList()).get(0).getName()); + } String s = time.split(" - ")[0] + " 00:00:00"; String s1 = time.split(" - ")[1] + " 23:59:59"; tDriverPromotionActivity.setStartTime(simpleDateFormat.parse(s)); -- Gitblit v1.7.1