| | |
| | | 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; |
| | |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 控制器 |
| | |
| | | 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()); |
| | | 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)); |
| | |
| | | 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(); |
| | | } |
| | | /** |
| | | * 删除 |
| | | */ |
| | |
| | | tDriverPromotionActivity.setProvinceCode(province); |
| | | tDriverPromotionActivity.setCityCode(city); |
| | | tDriverPromotionActivity.setDistrictCode(area); |
| | | 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()); |
| | | 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)); |