package com.qianwen.smartman.modules.mdc.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import java.lang.invoke.SerializedLambda;
|
import java.time.LocalDate;
|
import java.time.ZoneId;
|
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.TemporalAccessor;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Optional;
|
import java.util.stream.Stream;
|
import com.qianwen.smartman.common.cache.RegionCache;
|
import com.qianwen.smartman.common.constant.ExtCacheConstant;
|
import com.qianwen.smartman.common.utils.ExtraLambdaQueryWrapper;
|
import com.qianwen.smartman.common.utils.Lambda;
|
import com.qianwen.core.cache.utils.CacheUtil;
|
import com.qianwen.core.log.exception.ServiceException;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.smartman.modules.mdc.dto.WorkstationNoImmediateFeedBackDTO;
|
import com.qianwen.smartman.modules.mdc.entity.WorkstationFeedbackDetail;
|
import com.qianwen.smartman.modules.mdc.enums.FeedbackDetailStatus;
|
import com.qianwen.smartman.modules.mdc.enums.FeedbackStatus;
|
import com.qianwen.smartman.modules.mdc.mapper.WorkstationFeedbackDetailMapper;
|
import com.qianwen.smartman.modules.mdc.service.IWorkstationFeedbackDetailService;
|
import com.qianwen.smartman.modules.mdc.service.IWorkstationFeedbackService;
|
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
@Service
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/mdc/service/impl/WorkstationFeedbackDetailServiceImpl.class */
|
public class WorkstationFeedbackDetailServiceImpl extends ServiceImpl<WorkstationFeedbackDetailMapper, WorkstationFeedbackDetail> implements IWorkstationFeedbackDetailService {
|
private final IWorkstationFeedbackService workstationFeedbackService;
|
|
private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) {
|
String implMethodName = lambda.getImplMethodName();
|
boolean z = true;
|
switch (implMethodName.hashCode()) {
|
case -2138899559:
|
if (implMethodName.equals("getStartTime")) {
|
z = true;
|
break;
|
}
|
break;
|
case -570382830:
|
if (implMethodName.equals("getEndTime")) {
|
z = true;
|
break;
|
}
|
break;
|
case -557259320:
|
if (implMethodName.equals("getWorkstationId")) {
|
z = false;
|
break;
|
}
|
break;
|
case 98245393:
|
if (implMethodName.equals("getId")) {
|
z = true;
|
break;
|
}
|
break;
|
case 328290672:
|
if (implMethodName.equals("getCancel")) {
|
z = true;
|
break;
|
}
|
break;
|
case 803533544:
|
if (implMethodName.equals("getStatus")) {
|
z = true;
|
break;
|
}
|
break;
|
}
|
switch (z) {
|
case false:
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
|
return (v0) -> {
|
return v0.getWorkstationId();
|
};
|
}
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
|
return (v0) -> {
|
return v0.getWorkstationId();
|
};
|
}
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
|
return (v0) -> {
|
return v0.getWorkstationId();
|
};
|
}
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
|
return (v0) -> {
|
return v0.getWorkstationId();
|
};
|
}
|
break;
|
case true:
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/lang/Boolean;")) {
|
return (v0) -> {
|
return v0.getCancel();
|
};
|
}
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/lang/Boolean;")) {
|
return (v0) -> {
|
return v0.getCancel();
|
};
|
}
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/lang/Boolean;")) {
|
return (v0) -> {
|
return v0.getCancel();
|
};
|
}
|
break;
|
case true:
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/util/Date;")) {
|
return (v0) -> {
|
return v0.getEndTime();
|
};
|
}
|
break;
|
case true:
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedback") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
|
return (v0) -> {
|
return v0.getId();
|
};
|
}
|
break;
|
case true:
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/util/Date;")) {
|
return (v0) -> {
|
return v0.getStartTime();
|
};
|
}
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/util/Date;")) {
|
return (v0) -> {
|
return v0.getStartTime();
|
};
|
}
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/util/Date;")) {
|
return (v0) -> {
|
return v0.getStartTime();
|
};
|
}
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/util/Date;")) {
|
return (v0) -> {
|
return v0.getStartTime();
|
};
|
}
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/util/Date;")) {
|
return (v0) -> {
|
return v0.getStartTime();
|
};
|
}
|
break;
|
case RegionCache.VILLAGE_LEVEL /* 5 */:
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedback") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
|
return (v0) -> {
|
return v0.getStatus();
|
};
|
}
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
|
return (v0) -> {
|
return v0.getStatus();
|
};
|
}
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
|
return (v0) -> {
|
return v0.getStatus();
|
};
|
}
|
if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/mdc/entity/WorkstationFeedbackDetail") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
|
return (v0) -> {
|
return v0.getStatus();
|
};
|
}
|
break;
|
}
|
throw new IllegalArgumentException("Invalid lambda deserialization");
|
}
|
|
public WorkstationFeedbackDetailServiceImpl(final IWorkstationFeedbackService workstationFeedbackService) {
|
this.workstationFeedbackService = workstationFeedbackService;
|
}
|
|
@Override // org.springblade.modules.mdc.service.IWorkstationFeedbackDetailService
|
public List<WorkstationFeedbackDetail> cancelFeedback(final LocalDate queryDate, final Long workstationId) {
|
return list((Wrapper) ((ExtraLambdaQueryWrapper) Lambda.eq((v0) -> {
|
return v0.getWorkstationId();
|
}, workstationId).dayBetween(queryDate, (v0) -> {
|
return v0.getStartTime();
|
}, (v0) -> {
|
return v0.getEndTime();
|
}).eq((v0) -> {
|
return v0.getCancel();
|
}, true)).orderByDesc((v0) -> {
|
return v0.getStartTime();
|
}));
|
}
|
|
@Override // org.springblade.modules.mdc.service.IWorkstationFeedbackDetailService
|
@Transactional
|
public boolean cancelWorkstationFeedbacks(final List<String> ids) {
|
List<WorkstationFeedbackDetail> detailList = new ArrayList<>();
|
Stream<R> map = ids.stream().map((v1) -> {
|
return getById(v1);
|
});
|
detailList.getClass();
|
Stream map2 = map.peek((v1) -> {
|
r1.add(v1);
|
}).map((v0) -> {
|
return v0.getFeedbackId();
|
});
|
IWorkstationFeedbackService iWorkstationFeedbackService = this.workstationFeedbackService;
|
iWorkstationFeedbackService.getClass();
|
Stream map3 = map2.map((v1) -> {
|
return r1.getById(v1);
|
}).map((v0) -> {
|
return v0.getStatus();
|
});
|
Integer value = FeedbackStatus.SYNCED.getValue();
|
value.getClass();
|
boolean match = map3.allMatch((v1) -> {
|
return r1.equals(v1);
|
});
|
if (match) {
|
detailList.forEach(detail -> {
|
((LambdaUpdateChainWrapper) ((LambdaUpdateChainWrapper) this.workstationFeedbackService.lambdaUpdate().set((v0) -> {
|
return v0.getStatus();
|
}, FeedbackStatus.WAIT_SYNC.getValue())).eq((v0) -> {
|
return v0.getId();
|
}, detail.getFeedbackId())).update();
|
detail.setCancel(true);
|
detail.setCancelTime(new Date());
|
updateById(detail);
|
});
|
evictCancelFeedback(detailList);
|
return true;
|
}
|
throw new ServiceException("存在反馈未完成不允许操作");
|
}
|
|
private void evictCancelFeedback(final List<WorkstationFeedbackDetail> detailList) {
|
detailList.forEach(feedback -> {
|
LocalDate start = LocalDate.from((TemporalAccessor) feedback.getStartTime().toInstant().atZone(ZoneId.systemDefault()));
|
LocalDate end = LocalDate.from((TemporalAccessor) feedback.getEndTime().toInstant().atZone(ZoneId.systemDefault()));
|
long distance = ChronoUnit.DAYS.between(start, end);
|
Stream.iterate(start, d -> {
|
return d.plusDays(1L);
|
}).limit(distance + 1).forEach(date -> {
|
String key = String.valueOf(feedback.getWorkstationId()).concat(SystemPropertyUtils.VALUE_SEPARATOR).concat(Func.formatDate(date));
|
CacheUtil.evict(ExtCacheConstant.WORK_FEEDBACK_DETAIL, "list:cancel:workstationId:", key, false);
|
});
|
});
|
}
|
|
@Override // org.springblade.modules.mdc.service.IWorkstationFeedbackDetailService
|
public long toDayHaveFeedbackCount(final Long workstationId) {
|
return count(todayConditionWrapper(workstationId));
|
}
|
|
private Wrapper<WorkstationFeedbackDetail> todayConditionWrapper(final Long workstationId) {
|
return (Wrapper) ((ExtraLambdaQueryWrapper) ((ExtraLambdaQueryWrapper) ((ExtraLambdaQueryWrapper) Lambda.create().dayBetween(LocalDate.now(), (v0) -> {
|
return v0.getStartTime();
|
}, (v0) -> {
|
return v0.getStartTime();
|
}).eq((v0) -> {
|
return v0.getWorkstationId();
|
}, workstationId)).orderByDesc((v0) -> {
|
return v0.getStartTime();
|
})).eq((v0) -> {
|
return v0.getCancel();
|
}, false)).eq((v0) -> {
|
return v0.getStatus();
|
}, Integer.valueOf(FeedbackDetailStatus.EFFECTED.getValue()));
|
}
|
|
@Override // org.springblade.modules.mdc.service.IWorkstationFeedbackDetailService
|
public List<WorkstationFeedbackDetail> todayFeedback(final Long workstationId) {
|
List<WorkstationFeedbackDetail> list = list(todayConditionWrapper(workstationId));
|
return list;
|
}
|
|
@Override // org.springblade.modules.mdc.service.IWorkstationFeedbackDetailService
|
public WorkstationFeedbackDetail latestFeedbackByWorkstationId(Long workstationId) {
|
return ((WorkstationFeedbackDetailMapper) this.baseMapper).latestFeedbackByWorkstationId((Wrapper) Lambda.eq((v0) -> {
|
return v0.getWorkstationId();
|
}, workstationId).eq((v0) -> {
|
return v0.getStatus();
|
}, Integer.valueOf(FeedbackDetailStatus.EFFECTED.getValue())));
|
}
|
|
@Override // org.springblade.modules.mdc.service.IWorkstationFeedbackDetailService
|
public boolean overwriteFeedbackCheck(final WorkstationNoImmediateFeedBackDTO noImmediateFeedBackDTO) {
|
return noImmediateFeedBackDTO.getWorkstationIds().stream().anyMatch(workstationId -> {
|
return ((Boolean) Optional.ofNullable(((WorkstationFeedbackDetailMapper) this.baseMapper).overwriteFeedbackCheck((Wrapper) ((ExtraLambdaQueryWrapper) ((ExtraLambdaQueryWrapper) Lambda.eq((v0) -> {
|
return v0.getWorkstationId();
|
}, workstationId).ne((v0) -> {
|
return v0.getCancel();
|
}, true)).ne((v0) -> {
|
return v0.getStatus();
|
}, Integer.valueOf(FeedbackDetailStatus.DELETE.getValue()))).nested(w -> {
|
ExtraLambdaQueryWrapper extraLambdaQueryWrapper = (ExtraLambdaQueryWrapper) ((ExtraLambdaQueryWrapper) ((ExtraLambdaQueryWrapper) w.apply("{0} between start_time and end_time", new Object[]{noImmediateFeedBackDTO.getStartTime()})).or()).apply("{0} between start_time and end_time", new Object[]{noImmediateFeedBackDTO.getEndTime()});
|
}))).map(feedback -> {
|
return Boolean.valueOf(feedback.getEndTime().compareTo(noImmediateFeedBackDTO.getStartTime()) != 0);
|
}).orElse(false)).booleanValue();
|
});
|
}
|
}
|