From cebb05f8d1ddbf5ac415c5471e17d2d94ea1a6de Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期三, 15 五月 2024 18:14:07 +0800
Subject: [PATCH] zjh 2024/05/15-1

---
 ltkj-system/src/main/java/com/ltkj/tduck/service/impl/UserFormSettingServiceImpl.java |  388 +++++++++++++++++++++++++++---------------------------
 1 files changed, 194 insertions(+), 194 deletions(-)

diff --git a/ltkj-system/src/main/java/com/ltkj/tduck/service/impl/UserFormSettingServiceImpl.java b/ltkj-system/src/main/java/com/ltkj/tduck/service/impl/UserFormSettingServiceImpl.java
index 36f24c1..cf23b5b 100644
--- a/ltkj-system/src/main/java/com/ltkj/tduck/service/impl/UserFormSettingServiceImpl.java
+++ b/ltkj-system/src/main/java/com/ltkj/tduck/service/impl/UserFormSettingServiceImpl.java
@@ -1,194 +1,194 @@
-//package com.ltkj.tduck.service.impl;
-//
-//import cn.hutool.core.bean.BeanUtil;
-//import cn.hutool.core.collection.CollUtil;
-//import cn.hutool.core.date.DateUtil;
-//import cn.hutool.core.util.ObjectUtil;
-//import cn.hutool.core.util.StrUtil;
-//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-//import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-//import com.ltkj.common.utils.SecurityUtils;
-//import com.ltkj.tduck.constant.CommonConstants;
-//import com.ltkj.tduck.domain.UserFormDataEntity;
-//import com.ltkj.tduck.domain.UserFormEntity;
-//import com.ltkj.tduck.domain.UserFormSettingEntity;
-//import com.ltkj.tduck.enums.FormStatusEnum;
-//import com.ltkj.tduck.mapper.UserFormSettingMapper;
-//import com.ltkj.tduck.service.UserFormDataService;
-//import com.ltkj.tduck.service.UserFormService;
-//import com.ltkj.tduck.service.UserFormSettingService;
-//import com.ltkj.tduck.struct.FormSettingSchemaStruct;
-//import com.ltkj.tduck.utils.Result;
-//import lombok.RequiredArgsConstructor;
-//import org.springframework.stereotype.Service;
-//import org.springframework.transaction.annotation.Transactional;
-//
-//import java.time.LocalTime;
-//import java.util.List;
-//import java.util.Map;
-//import java.util.Objects;
-//
-///**
-// * 琛ㄥ崟琛ㄥ崟椤�(UserFormSetting)琛ㄦ湇鍔″疄鐜扮被
-// *
-// * @author smalljop
-// * @since 2020-11-30 14:00:53
-// */
-//@Service
-//@RequiredArgsConstructor
-//public class UserFormSettingServiceImpl extends ServiceImpl<UserFormSettingMapper, UserFormSettingEntity> implements UserFormSettingService {
-//    private final UserFormService userFormService;
-//    private final UserFormDataService userFormDataService;
-//
-//    @Override
-//    public Boolean saveFormSetting(Map<String, Object> params) {
-//        String formKey = params.get("formKey").toString();
-//        UserFormSettingEntity entity = this.getOne(Wrappers.<UserFormSettingEntity>lambdaQuery().eq(UserFormSettingEntity::getFormKey, formKey));
-//        if (ObjectUtil.isNull(entity)) {
-//            UserFormSettingEntity setting = new UserFormSettingEntity();
-//            setting.setFormKey(formKey);
-//            setting.setSettings(params);
-//            return this.save(setting);
-//        }
-//        Map<String, Object> settings = entity.getSettings();
-//        settings.putAll(params);
-//        entity.setSettings(settings);
-//        return this.updateById(entity);
-//    }
-//
-//
-//    @Override
-//    public UserFormSettingEntity getFormSettingByKey(String formKey) {
-//        return this.getOne(Wrappers.<UserFormSettingEntity>lambdaQuery().eq(UserFormSettingEntity::getFormKey, formKey));
-//    }
-//
-//    @Override
-//    public FormSettingSchemaStruct getFormSettingSchema(String formKey) {
-//        UserFormSettingEntity settingEntity = getFormSettingByKey(formKey);
-//        if (ObjectUtil.isNull(settingEntity)) {
-//            return null;
-//        }
-//        return BeanUtil.toBean(settingEntity.getSettings(), FormSettingSchemaStruct.class);
-//    }
-//
-//
-//    @Override
-//    public Result<Boolean> getUserFormWriteSettingStatus(String formKey, String requestIp, String wxOpenId, Integer type) {
-//        UserFormEntity userFormEntity = userFormService.getByKey(formKey);
-//        boolean checkPublish = Objects.equals(type, CommonConstants.ConstantNumber.ONE) &&
-//                (ObjectUtil.isNull(userFormEntity) || userFormEntity.getStatus() != 2);
-//        // 闈炲叕寮�濉啓 涓嶆牎楠屽彂甯冪姸鎬�
-//        if (checkPublish) {
-//            return Result.success(null, "琛ㄥ崟鏆傛椂鏃犳硶濉啓");
-//        }
-//        UserFormSettingEntity settingEntity = getFormSettingByKey(formKey);
-//        if (ObjectUtil.isNull(settingEntity)) {
-//            return Result.success(true);
-//        }
-//        FormSettingSchemaStruct settingSchemaStruct = BeanUtil.toBean(settingEntity.getSettings(), FormSettingSchemaStruct.class);
-//        // 濉啓鏃堕棿闄愬埗
-//        boolean writeInterviewTime = isWriteInterviewTime(settingSchemaStruct);
-//        if (!writeInterviewTime) {
-//            return Result.success(null, StrUtil.blankToDefault(settingSchemaStruct.getWriteInterviewTimeText(), "涓嶅湪绛旈鏃堕棿鑼冨洿鍐咃紝鏈夐棶棰樿涓庤〃鍗曞彂甯冭�呰仈绯�"));
-//        }
-//        // 姣忎釜寰俊绛旈娆℃暟闄愬埗
-//        if (settingSchemaStruct.isWxWriteCountLimitStatus()) {
-//            LambdaQueryWrapper<UserFormDataEntity> wrapper = Wrappers.<UserFormDataEntity>lambdaQuery().eq(UserFormDataEntity::getFormKey, formKey).eq(UserFormDataEntity::getWxOpenId, wxOpenId);
-//            String rangeTypeSql = FormSettingSchemaStruct.DateRangeType.getDateSql(settingSchemaStruct.getWxWriteCountLimitDateType());
-//            wrapper.apply(StrUtil.isNotBlank(rangeTypeSql), rangeTypeSql);
-//            long writeCount = userFormDataService.count(wrapper);
-//            if (writeCount >= settingSchemaStruct.getWxWriteCountLimit()) {
-//                return Result.success(null, StrUtil.blankToDefault(settingSchemaStruct.getWxWriteCountLimitText(), "璇ュ井淇″凡缁忔彁浜よ繃鏁版嵁锛屼笉鍙噸澶嶆彁浜わ紝鏈夐棶棰樿涓庤〃鍗曞彂甯冭�呰仈绯�"));
-//            }
-//        }
-//        // 姣忎釜IP绛旈娆℃暟闄愬埗
-//        if (settingSchemaStruct.isIpWriteCountLimitStatus()) {
-//            LambdaQueryWrapper<UserFormDataEntity> wrapper = Wrappers.<UserFormDataEntity>lambdaQuery().eq(UserFormDataEntity::getFormKey, formKey).eq(UserFormDataEntity::getSubmitRequestIp, requestIp);
-//            String rangeTypeSql = FormSettingSchemaStruct.DateRangeType.getDateSql(settingSchemaStruct.getIpWriteCountLimitDateType());
-//            wrapper.apply(StrUtil.isNotBlank(rangeTypeSql), rangeTypeSql);
-//            long writeCount = userFormDataService.count(wrapper);
-//            if (writeCount >= settingSchemaStruct.getIpWriteCountLimit()) {
-//                return Result.success(null, StrUtil.blankToDefault(settingSchemaStruct.getIpWriteCountLimitText(), "璇P宸茬粡鎻愪氦杩囨暟鎹紝涓嶅彲閲嶅鎻愪氦锛屾湁闂璇蜂笌琛ㄥ崟鍙戝竷鑰呰仈绯�"));
-//            }
-//        }
-//        // 鎬荤瓟棰樻鏁伴檺鍒�
-//        if (settingSchemaStruct.isTotalWriteCountLimitStatus()) {
-//            LambdaQueryWrapper<UserFormDataEntity> wrapper = Wrappers.<UserFormDataEntity>lambdaQuery().eq(UserFormDataEntity::getFormKey, formKey);
-//            String rangeTypeSql = FormSettingSchemaStruct.DateRangeType.getDateSql(settingSchemaStruct.getTotalWriteCountLimitDateType());
-//            wrapper.apply(StrUtil.isNotBlank(rangeTypeSql), rangeTypeSql);
-//            long writeCount = userFormDataService.count(wrapper);
-//            if (writeCount >= settingSchemaStruct.getTotalWriteCountLimit()) {
-//                return Result.success(null, StrUtil.blankToDefault(settingSchemaStruct.getTotalWriteCountLimitText(), "璇ヨ〃鍗曟敹闆嗘暟鎹凡缁忚揪鍒颁笂闄愶紝鏈夐棶棰樿涓庤〃鍗曞彂甯冭�呰仈绯�"));
-//            }
-//        }
-//        // 姣忎釜璐﹀彿绛旈娆℃暟闄愬埗
-//        if (settingSchemaStruct.isAccountWriteCountLimitStatus()) {
-//            LambdaQueryWrapper<UserFormDataEntity> wrapper = Wrappers.<UserFormDataEntity>lambdaQuery().eq(UserFormDataEntity::getFormKey, formKey)
-//                    .eq(UserFormDataEntity::getCreateBy, SecurityUtils.getUserId());
-//            String rangeTypeSql = FormSettingSchemaStruct.DateRangeType.getDateSql(settingSchemaStruct.getAccountWriteCountLimitDateType());
-//            wrapper.apply(StrUtil.isNotBlank(rangeTypeSql), rangeTypeSql);
-//            long writeCount = userFormDataService.count(wrapper);
-//            if (writeCount >= settingSchemaStruct.getAccountWriteCountLimit()) {
-//                return Result.success(null, StrUtil.blankToDefault(settingSchemaStruct.getAccountWriteCountLimitText(), "璇ヨ处鍙峰凡缁忔彁浜よ繃鏁版嵁锛屼笉鍙噸澶嶆彁浜わ紝鏈夐棶棰樿涓庤〃鍗曞彂甯冭�呰仈绯�"));
-//            }
-//        }
-//        return Result.success(true);
-//    }
-//
-//    /**
-//     * 鏄惁鍦ㄨ缃殑绛旈鏃堕棿鍐�
-//     *
-//     * @return true 鍦ㄧ瓟棰樻椂闂村唴
-//     */
-//    private boolean isWriteInterviewTime(FormSettingSchemaStruct settingSchemaStruct) {
-//        // 绛旈鏃堕棿闄愬埗
-//        if (settingSchemaStruct.isWriteInterviewTimeStatus()) {
-//            // 鏄惁姣忓ぉ鏃堕棿鑼冨洿闄愬埗
-//            if (settingSchemaStruct.isWriteInterviewDayTimeStatus()) {
-//                // 鏄惁鍦ㄥ厑璁歌闂殑澶╁唴
-//                List<String> writeInterviewDateRange = settingSchemaStruct.getWriteInterviewDateRange();
-//                if (CollUtil.isEmpty(writeInterviewDateRange) || DateUtil.isIn(DateUtil.date(), DateUtil.parse(writeInterviewDateRange.get(0)), DateUtil.parse(writeInterviewDateRange.get(1)))) {
-//                    // 鏄惁鍦ㄥ厑璁歌闂殑灏忔椂鍐�
-//                    List<String> writeInterviewTimeRange = settingSchemaStruct.getWriteInterviewTimeRange();
-//                    LocalTime now = LocalTime.now();
-//                    boolean isRange = CollUtil.isNotEmpty(writeInterviewDateRange) && now.isBefore(LocalTime.parse(writeInterviewTimeRange.get(0))) || now.isAfter(LocalTime.parse(writeInterviewTimeRange.get(1)));
-//                    if (isRange) {
-//                        return false;
-//                    }
-//                } else {
-//                    return false;
-//                }
-//            } else {
-//                // 鏄惁鍦ㄥ厑璁歌闂殑澶╁唴
-//                List<String> writeInterviewDateTimeRange = settingSchemaStruct.getWriteInterviewDateTimeRange();
-//                if (CollUtil.isNotEmpty(writeInterviewDateTimeRange) && !DateUtil.isIn(DateUtil.date(), DateUtil.parse(writeInterviewDateTimeRange.get(0)), DateUtil.parse(writeInterviewDateTimeRange.get(1)))) {
-//                    return false;
-//                }
-//            }
-//            // 鏄惁鏄瘡鍛ㄥ厑璁歌闂殑鍛ㄥ嚑
-//            List<String> writeInterviewTimeWhichDays = settingSchemaStruct.getWriteInterviewTimeWhichDays();
-//            if (CollUtil.isNotEmpty(writeInterviewTimeWhichDays)) {
-//                // 鑾峰彇浠婂ぉ鏄瘡鍛ㄧ殑绗嚑澶�
-//                int day = DateUtil.dayOfWeek(DateUtil.date());
-//                return writeInterviewTimeWhichDays.contains(String.valueOf(day));
-//            }
-//        }
-//        return true;
-//    }
-//
-//
-//    /**
-//     * 鍒犻櫎鍏ㄩ儴鐨勮〃鍗曟暟鎹�
-//     *
-//     * @param formKey 琛ㄥ崟key
-//     * @return 鍒犻櫎缁撴灉
-//     */
-//    @Override
-//    @Transactional(rollbackFor = {Exception.class})
-//    public Boolean deleteAllSetting(String formKey) {
-//        this.remove(Wrappers.<UserFormSettingEntity>lambdaQuery().eq(UserFormSettingEntity::getFormKey, formKey));
-//        return true;
-//    }
-//
-//}
+package com.ltkj.tduck.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ltkj.common.utils.SecurityUtils;
+import com.ltkj.tduck.constant.CommonConstants;
+import com.ltkj.tduck.domain.UserFormDataEntity;
+import com.ltkj.tduck.domain.UserFormEntity;
+import com.ltkj.tduck.domain.UserFormSettingEntity;
+import com.ltkj.tduck.enums.FormStatusEnum;
+import com.ltkj.tduck.mapper.UserFormSettingMapper;
+import com.ltkj.tduck.service.UserFormDataService;
+import com.ltkj.tduck.service.UserFormService;
+import com.ltkj.tduck.service.UserFormSettingService;
+import com.ltkj.tduck.struct.FormSettingSchemaStruct;
+import com.ltkj.tduck.utils.Result;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalTime;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * 琛ㄥ崟琛ㄥ崟椤�(UserFormSetting)琛ㄦ湇鍔″疄鐜扮被
+ *
+ * @author smalljop
+ * @since 2020-11-30 14:00:53
+ */
+@Service
+@RequiredArgsConstructor
+public class UserFormSettingServiceImpl extends ServiceImpl<UserFormSettingMapper, UserFormSettingEntity> implements UserFormSettingService {
+    private final UserFormService userFormService;
+    private final UserFormDataService userFormDataService;
+
+    @Override
+    public Boolean saveFormSetting(Map<String, Object> params) {
+        String formKey = params.get("formKey").toString();
+        UserFormSettingEntity entity = this.getOne(Wrappers.<UserFormSettingEntity>lambdaQuery().eq(UserFormSettingEntity::getFormKey, formKey));
+        if (ObjectUtil.isNull(entity)) {
+            UserFormSettingEntity setting = new UserFormSettingEntity();
+            setting.setFormKey(formKey);
+            setting.setSettings(params);
+            return this.save(setting);
+        }
+        Map<String, Object> settings = entity.getSettings();
+        settings.putAll(params);
+        entity.setSettings(settings);
+        return this.updateById(entity);
+    }
+
+
+    @Override
+    public UserFormSettingEntity getFormSettingByKey(String formKey) {
+        return this.getOne(Wrappers.<UserFormSettingEntity>lambdaQuery().eq(UserFormSettingEntity::getFormKey, formKey));
+    }
+
+    @Override
+    public FormSettingSchemaStruct getFormSettingSchema(String formKey) {
+        UserFormSettingEntity settingEntity = getFormSettingByKey(formKey);
+        if (ObjectUtil.isNull(settingEntity)) {
+            return null;
+        }
+        return BeanUtil.toBean(settingEntity.getSettings(), FormSettingSchemaStruct.class);
+    }
+
+
+    @Override
+    public Result<Boolean> getUserFormWriteSettingStatus(String formKey, String requestIp, String wxOpenId, Integer type) {
+        UserFormEntity userFormEntity = userFormService.getByKey(formKey);
+        boolean checkPublish = Objects.equals(type, CommonConstants.ConstantNumber.ONE) &&
+                (ObjectUtil.isNull(userFormEntity) || userFormEntity.getStatus() != 2);
+        // 闈炲叕寮�濉啓 涓嶆牎楠屽彂甯冪姸鎬�
+        if (checkPublish) {
+            return Result.success(null, "琛ㄥ崟鏆傛椂鏃犳硶濉啓");
+        }
+        UserFormSettingEntity settingEntity = getFormSettingByKey(formKey);
+        if (ObjectUtil.isNull(settingEntity)) {
+            return Result.success(true);
+        }
+        FormSettingSchemaStruct settingSchemaStruct = BeanUtil.toBean(settingEntity.getSettings(), FormSettingSchemaStruct.class);
+        // 濉啓鏃堕棿闄愬埗
+        boolean writeInterviewTime = isWriteInterviewTime(settingSchemaStruct);
+        if (!writeInterviewTime) {
+            return Result.success(null, StrUtil.blankToDefault(settingSchemaStruct.getWriteInterviewTimeText(), "涓嶅湪绛旈鏃堕棿鑼冨洿鍐咃紝鏈夐棶棰樿涓庤〃鍗曞彂甯冭�呰仈绯�"));
+        }
+        // 姣忎釜寰俊绛旈娆℃暟闄愬埗
+        if (settingSchemaStruct.isWxWriteCountLimitStatus()) {
+            LambdaQueryWrapper<UserFormDataEntity> wrapper = Wrappers.<UserFormDataEntity>lambdaQuery().eq(UserFormDataEntity::getFormKey, formKey).eq(UserFormDataEntity::getWxOpenId, wxOpenId);
+            String rangeTypeSql = FormSettingSchemaStruct.DateRangeType.getDateSql(settingSchemaStruct.getWxWriteCountLimitDateType());
+            wrapper.apply(StrUtil.isNotBlank(rangeTypeSql), rangeTypeSql);
+            long writeCount = userFormDataService.count(wrapper);
+            if (writeCount >= settingSchemaStruct.getWxWriteCountLimit()) {
+                return Result.success(null, StrUtil.blankToDefault(settingSchemaStruct.getWxWriteCountLimitText(), "璇ュ井淇″凡缁忔彁浜よ繃鏁版嵁锛屼笉鍙噸澶嶆彁浜わ紝鏈夐棶棰樿涓庤〃鍗曞彂甯冭�呰仈绯�"));
+            }
+        }
+        // 姣忎釜IP绛旈娆℃暟闄愬埗
+        if (settingSchemaStruct.isIpWriteCountLimitStatus()) {
+            LambdaQueryWrapper<UserFormDataEntity> wrapper = Wrappers.<UserFormDataEntity>lambdaQuery().eq(UserFormDataEntity::getFormKey, formKey).eq(UserFormDataEntity::getSubmitRequestIp, requestIp);
+            String rangeTypeSql = FormSettingSchemaStruct.DateRangeType.getDateSql(settingSchemaStruct.getIpWriteCountLimitDateType());
+            wrapper.apply(StrUtil.isNotBlank(rangeTypeSql), rangeTypeSql);
+            long writeCount = userFormDataService.count(wrapper);
+            if (writeCount >= settingSchemaStruct.getIpWriteCountLimit()) {
+                return Result.success(null, StrUtil.blankToDefault(settingSchemaStruct.getIpWriteCountLimitText(), "璇P宸茬粡鎻愪氦杩囨暟鎹紝涓嶅彲閲嶅鎻愪氦锛屾湁闂璇蜂笌琛ㄥ崟鍙戝竷鑰呰仈绯�"));
+            }
+        }
+        // 鎬荤瓟棰樻鏁伴檺鍒�
+        if (settingSchemaStruct.isTotalWriteCountLimitStatus()) {
+            LambdaQueryWrapper<UserFormDataEntity> wrapper = Wrappers.<UserFormDataEntity>lambdaQuery().eq(UserFormDataEntity::getFormKey, formKey);
+            String rangeTypeSql = FormSettingSchemaStruct.DateRangeType.getDateSql(settingSchemaStruct.getTotalWriteCountLimitDateType());
+            wrapper.apply(StrUtil.isNotBlank(rangeTypeSql), rangeTypeSql);
+            long writeCount = userFormDataService.count(wrapper);
+            if (writeCount >= settingSchemaStruct.getTotalWriteCountLimit()) {
+                return Result.success(null, StrUtil.blankToDefault(settingSchemaStruct.getTotalWriteCountLimitText(), "璇ヨ〃鍗曟敹闆嗘暟鎹凡缁忚揪鍒颁笂闄愶紝鏈夐棶棰樿涓庤〃鍗曞彂甯冭�呰仈绯�"));
+            }
+        }
+        // 姣忎釜璐﹀彿绛旈娆℃暟闄愬埗
+        if (settingSchemaStruct.isAccountWriteCountLimitStatus()) {
+            LambdaQueryWrapper<UserFormDataEntity> wrapper = Wrappers.<UserFormDataEntity>lambdaQuery().eq(UserFormDataEntity::getFormKey, formKey)
+                    .eq(UserFormDataEntity::getCreateBy, SecurityUtils.getUserId());
+            String rangeTypeSql = FormSettingSchemaStruct.DateRangeType.getDateSql(settingSchemaStruct.getAccountWriteCountLimitDateType());
+            wrapper.apply(StrUtil.isNotBlank(rangeTypeSql), rangeTypeSql);
+            long writeCount = userFormDataService.count(wrapper);
+            if (writeCount >= settingSchemaStruct.getAccountWriteCountLimit()) {
+                return Result.success(null, StrUtil.blankToDefault(settingSchemaStruct.getAccountWriteCountLimitText(), "璇ヨ处鍙峰凡缁忔彁浜よ繃鏁版嵁锛屼笉鍙噸澶嶆彁浜わ紝鏈夐棶棰樿涓庤〃鍗曞彂甯冭�呰仈绯�"));
+            }
+        }
+        return Result.success(true);
+    }
+
+    /**
+     * 鏄惁鍦ㄨ缃殑绛旈鏃堕棿鍐�
+     *
+     * @return true 鍦ㄧ瓟棰樻椂闂村唴
+     */
+    private boolean isWriteInterviewTime(FormSettingSchemaStruct settingSchemaStruct) {
+        // 绛旈鏃堕棿闄愬埗
+        if (settingSchemaStruct.isWriteInterviewTimeStatus()) {
+            // 鏄惁姣忓ぉ鏃堕棿鑼冨洿闄愬埗
+            if (settingSchemaStruct.isWriteInterviewDayTimeStatus()) {
+                // 鏄惁鍦ㄥ厑璁歌闂殑澶╁唴
+                List<String> writeInterviewDateRange = settingSchemaStruct.getWriteInterviewDateRange();
+                if (CollUtil.isEmpty(writeInterviewDateRange) || DateUtil.isIn(DateUtil.date(), DateUtil.parse(writeInterviewDateRange.get(0)), DateUtil.parse(writeInterviewDateRange.get(1)))) {
+                    // 鏄惁鍦ㄥ厑璁歌闂殑灏忔椂鍐�
+                    List<String> writeInterviewTimeRange = settingSchemaStruct.getWriteInterviewTimeRange();
+                    LocalTime now = LocalTime.now();
+                    boolean isRange = CollUtil.isNotEmpty(writeInterviewDateRange) && now.isBefore(LocalTime.parse(writeInterviewTimeRange.get(0))) || now.isAfter(LocalTime.parse(writeInterviewTimeRange.get(1)));
+                    if (isRange) {
+                        return false;
+                    }
+                } else {
+                    return false;
+                }
+            } else {
+                // 鏄惁鍦ㄥ厑璁歌闂殑澶╁唴
+                List<String> writeInterviewDateTimeRange = settingSchemaStruct.getWriteInterviewDateTimeRange();
+                if (CollUtil.isNotEmpty(writeInterviewDateTimeRange) && !DateUtil.isIn(DateUtil.date(), DateUtil.parse(writeInterviewDateTimeRange.get(0)), DateUtil.parse(writeInterviewDateTimeRange.get(1)))) {
+                    return false;
+                }
+            }
+            // 鏄惁鏄瘡鍛ㄥ厑璁歌闂殑鍛ㄥ嚑
+            List<String> writeInterviewTimeWhichDays = settingSchemaStruct.getWriteInterviewTimeWhichDays();
+            if (CollUtil.isNotEmpty(writeInterviewTimeWhichDays)) {
+                // 鑾峰彇浠婂ぉ鏄瘡鍛ㄧ殑绗嚑澶�
+                int day = DateUtil.dayOfWeek(DateUtil.date());
+                return writeInterviewTimeWhichDays.contains(String.valueOf(day));
+            }
+        }
+        return true;
+    }
+
+
+    /**
+     * 鍒犻櫎鍏ㄩ儴鐨勮〃鍗曟暟鎹�
+     *
+     * @param formKey 琛ㄥ崟key
+     * @return 鍒犻櫎缁撴灉
+     */
+    @Override
+    @Transactional(rollbackFor = {Exception.class})
+    public Boolean deleteAllSetting(String formKey) {
+        this.remove(Wrappers.<UserFormSettingEntity>lambdaQuery().eq(UserFormSettingEntity::getFormKey, formKey));
+        return true;
+    }
+
+}

--
Gitblit v1.8.0