Commit 56173d3d by wuwenlong

Merge branch 'dev' into test

parents 3ab313ae 7844b983
......@@ -285,21 +285,31 @@ public class SConsumerCouponServiceImpl extends ServiceImpl<SConsumerCouponMappe
}
private Boolean checkCouponPeriod(SConsumerCoupon item, CouponRequest couponRequest){
Boolean isOrderCrossDay = Integer.parseInt(DateUtils.parseDateToStr("yyyyMMdd", couponRequest.getPreEndDate())) >
Integer.parseInt(DateUtils.parseDateToStr("yyyyMMdd", couponRequest.getPreStartDate()));
String startStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,couponRequest.getPreStartDate());
String lastDayStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,DateUtils.addDays(couponRequest.getPreStartDate(),1));
Boolean isCouponCrossDay = DateUtils.parseDate(startStr+" "+item.getCouponTimeStart()).compareTo(DateUtils.parseDate(startStr+" "+item.getCouponTimeEnd()))>0;
if(Objects.nonNull(item.getCouponTimeStart())&&Objects.nonNull(item.getCouponTimeEnd())
&& (!StringUtils.equals(item.getCouponTimeStart(),"00:00")||(!StringUtils.equals(item.getCouponTimeEnd(),"24:00")&&!StringUtils.equals(item.getCouponTimeEnd(),"23:00")))){
String startStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,couponRequest.getPreStartDate());
//判断短是否跨日
if(DateUtils.parseDate(startStr+" "+item.getCouponTimeStart()).compareTo(DateUtils.parseDate(startStr+" "+item.getCouponTimeEnd()))>0){
//判断是否跨日券
if(isCouponCrossDay){
if(DateUtils.parseDate(startStr+" "+item.getCouponTimeStart()).compareTo(couponRequest.getPreStartDate())>0
||DateUtils.addDays(DateUtils.parseDate(startStr+" "+item.getCouponTimeEnd()),1).compareTo(couponRequest.getPreEndDate())<0) {
||DateUtils.parseDate(lastDayStr+" "+item.getCouponTimeEnd()).compareTo(couponRequest.getPreEndDate())<0) {
item.setIsAvailable(AvailableEnum.UNAVAILABLE.getCode());
item.setReason("优惠卷可用时段为" + item.getCouponTimeStart() + "-次日" + item.getCouponTimeEnd());
}
}else{
if(DateUtils.parseDate(startStr+" "+item.getCouponTimeStart()).compareTo(couponRequest.getPreStartDate())>0
||DateUtils.parseDate(startStr+" "+item.getCouponTimeEnd()).compareTo(couponRequest.getPreEndDate())<0) {
//判断是否跨日订单
if (isOrderCrossDay){
item.setIsAvailable(AvailableEnum.UNAVAILABLE.getCode());
item.setReason("优惠卷可用时段为" + item.getCouponTimeStart() + "-" + item.getCouponTimeEnd());
}else {
if (DateUtils.parseDate(startStr + " " + item.getCouponTimeStart()).compareTo(couponRequest.getPreStartDate()) > 0
|| DateUtils.parseDate(startStr + " " + item.getCouponTimeEnd()).compareTo(couponRequest.getPreEndDate()) < 0) {
item.setIsAvailable(AvailableEnum.UNAVAILABLE.getCode());
item.setReason("优惠卷可用时段为" + item.getCouponTimeStart() + "-" + item.getCouponTimeEnd());
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment