yangys
2024-03-30 871c0fce344b24c8046ec01173eca79b9e60c1d7
smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/WorkstationFeedbackDetailServiceImpl.java
@@ -1,9 +1,5 @@
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;
@@ -13,14 +9,20 @@
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 org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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.common.constant.ExtCacheConstant;
import com.qianwen.smartman.common.utils.ExtraLambdaQueryWrapper;
import com.qianwen.smartman.common.utils.Lambda;
import com.qianwen.smartman.modules.mdc.dto.WorkstationNoImmediateFeedBackDTO;
import com.qianwen.smartman.modules.mdc.entity.WorkstationFeedback;
import com.qianwen.smartman.modules.mdc.entity.WorkstationFeedbackDetail;
import com.qianwen.smartman.modules.mdc.enums.FeedbackDetailStatus;
import com.qianwen.smartman.modules.mdc.enums.FeedbackStatus;
@@ -28,161 +30,10 @@
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;
@@ -190,6 +41,10 @@
    @Override // org.springblade.modules.mdc.service.IWorkstationFeedbackDetailService
    public List<WorkstationFeedbackDetail> cancelFeedback(final LocalDate queryDate, final Long workstationId) {
       return list(Lambda.eq(WorkstationFeedbackDetail::getWorkstationId, workstationId)
               .dayBetween(queryDate, WorkstationFeedbackDetail::getStartTime, WorkstationFeedbackDetail::getEndTime)
               .eq(WorkstationFeedbackDetail::getCancel, Boolean.valueOf(true)).orderByDesc(WorkstationFeedbackDetail::getStartTime));
       /*
        return list((Wrapper) ((ExtraLambdaQueryWrapper) Lambda.eq((v0) -> {
            return v0.getWorkstationId();
        }, workstationId).dayBetween(queryDate, (v0) -> {
@@ -200,13 +55,31 @@
            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<>();
        boolean match = ids.stream().map(this::getById).peek(detailList::add).map(WorkstationFeedbackDetail::getFeedbackId).map(this.workstationFeedbackService::getById).map(WorkstationFeedback::getStatus).allMatch(FeedbackStatus.SYNCED.getValue()::equals);
        //final boolean match = ids.stream().map((Function<? super Object, ?>)this::getById).peek(detailList::add).map((Function<? super Object, ?>)WorkstationFeedbackDetail::getFeedbackId).map((Function<? super Object, ?>)this.workstationFeedbackService::getById).map((Function<? super Object, ?>)WorkstationFeedback::getStatus).allMatch(FeedbackStatus.SYNCED.getValue()::equals);
        if (match) {
            detailList.forEach(detail -> {
               //workstationFeedbackService.lambdaUpdate().se
               this.workstationFeedbackService.lambdaUpdate().set(WorkstationFeedback::getStatus, FeedbackStatus.WAIT_SYNC.getValue())
               .eq(WorkstationFeedback::getId, detail.getFeedbackId()).update();
                //this.workstationFeedbackService.lambdaUpdate().set(WorkstationFeedback::getStatus, (Object)FeedbackStatus.WAIT_SYNC.getValue())).eq((Object)WorkstationFeedback::getId, (Object)detail.getFeedbackId())).update();
                detail.setCancel(true);
                detail.setCancelTime(new Date());
                this.updateById(detail);
            });
            this.evictCancelFeedback(detailList);
            return true;
        }
        /*
        Stream<R> map = ids.stream().map((v1) -> {
            return getById(v1);
        });
@@ -241,7 +114,7 @@
            });
            evictCancelFeedback(detailList);
            return true;
        }
        }*/
        throw new ServiceException("存在反馈未完成不允许操作");
    }
@@ -253,7 +126,7 @@
            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));
                String key = String.valueOf(feedback.getWorkstationId()).concat(":").concat(Func.formatDate(date));
                CacheUtil.evict(ExtCacheConstant.WORK_FEEDBACK_DETAIL, "list:cancel:workstationId:", key, false);
            });
        });
@@ -265,6 +138,13 @@
    }
    private Wrapper<WorkstationFeedbackDetail> todayConditionWrapper(final Long workstationId) {
       return Lambda.<WorkstationFeedbackDetail>create()
                .dayBetween(LocalDate.now(), WorkstationFeedbackDetail::getStartTime, WorkstationFeedbackDetail::getStartTime)
                .eq(WorkstationFeedbackDetail::getWorkstationId, workstationId)
                .orderByDesc(WorkstationFeedbackDetail::getStartTime)
                .eq(WorkstationFeedbackDetail::getCancel, Boolean.valueOf(false))
                .eq(WorkstationFeedbackDetail::getStatus, Integer.valueOf(FeedbackDetailStatus.EFFECTED.getValue()));
       /*
        return (Wrapper) ((ExtraLambdaQueryWrapper) ((ExtraLambdaQueryWrapper) ((ExtraLambdaQueryWrapper) Lambda.create().dayBetween(LocalDate.now(), (v0) -> {
            return v0.getStartTime();
        }, (v0) -> {
@@ -277,7 +157,7 @@
            return v0.getCancel();
        }, false)).eq((v0) -> {
            return v0.getStatus();
        }, Integer.valueOf(FeedbackDetailStatus.EFFECTED.getValue()));
        }, Integer.valueOf(FeedbackDetailStatus.EFFECTED.getValue()));*/
    }
    @Override // org.springblade.modules.mdc.service.IWorkstationFeedbackDetailService
@@ -288,27 +168,32 @@
    @Override // org.springblade.modules.mdc.service.IWorkstationFeedbackDetailService
    public WorkstationFeedbackDetail latestFeedbackByWorkstationId(Long workstationId) {
       return this.baseMapper.latestFeedbackByWorkstationId(Lambda.eq(WorkstationFeedbackDetail::getWorkstationId, workstationId)
               .eq(WorkstationFeedbackDetail::getStatus, Integer.valueOf(FeedbackDetailStatus.EFFECTED.getValue())));
       /*
        return ((WorkstationFeedbackDetailMapper) this.baseMapper).latestFeedbackByWorkstationId((Wrapper) Lambda.eq((v0) -> {
            return v0.getWorkstationId();
        }, workstationId).eq((v0) -> {
            return v0.getStatus();
        }, Integer.valueOf(FeedbackDetailStatus.EFFECTED.getValue())));
        }, Integer.valueOf(FeedbackDetailStatus.EFFECTED.getValue())));*/
    }
    @Override // org.springblade.modules.mdc.service.IWorkstationFeedbackDetailService
    public boolean overwriteFeedbackCheck(final WorkstationNoImmediateFeedBackDTO noImmediateFeedBackDTO) {
       /*;
       return noImmediateFeedBackDTO.getWorkstationIds().stream().
             anyMatch(workstationId -> ((Boolean)Optional.<WorkstationFeedbackDetail>ofNullable(this.baseMapper.overwriteFeedbackCheck(Lambda.eq(WorkstationFeedbackDetail::getWorkstationId, workstationId).ne(WorkstationFeedbackDetail::getCancel, true)).ne(WorkstationFeedbackDetail::getStatus, Integer.valueOf(FeedbackDetailStatus.DELETE.getValue()))).nested(()))).map(()).orElse(Boolean.valueOf(false))).booleanValue());
       */
       //FeedbackDetailStatus.DELETE.getValue()
        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()});
            return Optional.ofNullable(this.baseMapper.overwriteFeedbackCheck(Lambda.<WorkstationFeedbackDetail>eq(WorkstationFeedbackDetail::getWorkstationId, workstationId)
                  .ne(WorkstationFeedbackDetail::getCancel, true)
                  .ne(WorkstationFeedbackDetail::getStatus,FeedbackDetailStatus.DELETE.getValue())
                  .nested(w -> {
                     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();
                return feedback.getEndTime().compareTo(noImmediateFeedBackDTO.getStartTime()) != 0;
            }).orElse(false).booleanValue();
        });
    }
}