From 4f7d8924b8c5f4f019b16a8563e30c48abef441e Mon Sep 17 00:00:00 2001
From: sen <sen@qq.com>
Date: 星期一, 01 九月 2025 13:30:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/yagwly_fa_master' into yagwly_fa_master

---
 service/src/main/java/com/ruoyi/cwgl/service/impl/KeyCollectionInfoServiceImpl.java |  217 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 217 insertions(+), 0 deletions(-)

diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/KeyCollectionInfoServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/KeyCollectionInfoServiceImpl.java
new file mode 100644
index 0000000..e95a2d8
--- /dev/null
+++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/KeyCollectionInfoServiceImpl.java
@@ -0,0 +1,217 @@
+package com.ruoyi.cwgl.service.impl;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.cwgl.domain.RequestLog;
+import com.ruoyi.cwgl.domain.dto.TakeReviewDto;
+import com.ruoyi.cwgl.service.IRequestLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.stereotype.Service;
+import org.springframework.scheduling.annotation.Async;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.annotation.DataSource;
+import com.ruoyi.common.enums.DataSourceType;
+import com.ruoyi.common.core.service.BaseService;
+
+import com.ruoyi.cwgl.mapper.KeyCollectionInfoMapper;
+import com.ruoyi.cwgl.domain.KeyCollectionInfo;
+import com.ruoyi.cwgl.service.IKeyCollectionInfoService;
+import com.ruoyi.common.core.text.Convert;
+
+/**
+ * 閽ュ寵棰嗗彇淇℃伅Service涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2025-08-27
+ */
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class KeyCollectionInfoServiceImpl  extends BaseService<KeyCollectionInfoMapper, KeyCollectionInfo> implements IKeyCollectionInfoService
+{
+    protected final Logger logger = LoggerFactory.getLogger(getClass());
+    @Resource
+    private KeyCollectionInfoMapper keyCollectionInfoMapper;
+
+
+
+    /**
+     * 鏌ヨ閽ュ寵棰嗗彇淇℃伅
+     *
+     * @param id 閽ュ寵棰嗗彇淇℃伅ID
+     * @return 閽ュ寵棰嗗彇淇℃伅
+     */
+    @DataSource(DataSourceType.SLAVE)
+    @Override
+    public KeyCollectionInfo selectKeyCollectionInfoById(Integer id)
+    {
+        return keyCollectionInfoMapper.selectKeyCollectionInfoById(id);
+    }
+
+    /**
+     * 鏌ヨ閽ュ寵棰嗗彇淇℃伅 璁板綍鏁�
+     *
+     * @param keyCollectionInfo 閽ュ寵棰嗗彇淇℃伅
+     * @return 閽ュ寵棰嗗彇淇℃伅闆嗗悎
+     */
+    @DataSource(DataSourceType.SLAVE)
+    @Override
+    public int selectKeyCollectionInfoCount(KeyCollectionInfo keyCollectionInfo)
+    {
+        return keyCollectionInfoMapper.selectKeyCollectionInfoCount(keyCollectionInfo);
+    }
+
+    /**
+     * 鏌ヨ閽ュ寵棰嗗彇淇℃伅鍒楄〃
+     *
+     * @param keyCollectionInfo 閽ュ寵棰嗗彇淇℃伅
+     * @return 閽ュ寵棰嗗彇淇℃伅
+     */
+    @DataSource(DataSourceType.SLAVE)
+    @Override
+    public List<KeyCollectionInfo> selectKeyCollectionInfoList(KeyCollectionInfo keyCollectionInfo)
+    {
+        return keyCollectionInfoMapper.selectKeyCollectionInfoList(keyCollectionInfo);
+    }
+
+    /**
+     * 鏌ヨ閽ュ寵棰嗗彇淇℃伅鍒楄〃 寮傛 瀵煎嚭
+     *
+     * @param keyCollectionInfo 閽ュ寵棰嗗彇淇℃伅
+     * @param exportKey 瀵煎嚭鍔熻兘鐨勫敮涓�鏍囪瘑
+     * @return 閽ュ寵棰嗗彇淇℃伅闆嗗悎
+     */
+    @DataSource(DataSourceType.SLAVE)
+    @Async
+    @Override
+    public void export(KeyCollectionInfo keyCollectionInfo,String exportKey) {
+
+        super.export(KeyCollectionInfo.class,exportKey,"keyCollectionInfoData",(pageNum)->{
+            PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE);
+            return selectKeyCollectionInfoList(keyCollectionInfo);
+        });
+    }
+
+
+    /**
+     * 鏂板閽ュ寵棰嗗彇淇℃伅
+     *
+     * @param keyCollectionInfo 閽ュ寵棰嗗彇淇℃伅
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertKeyCollectionInfo(KeyCollectionInfo keyCollectionInfo)
+    {
+        return keyCollectionInfoMapper.insertKeyCollectionInfo(keyCollectionInfo);
+    }
+
+    /**
+     * 鏂板閽ュ寵棰嗗彇淇℃伅[鎵归噺]
+     *
+     * @param keyCollectionInfos 閽ュ寵棰嗗彇淇℃伅
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertKeyCollectionInfoBatch(List<KeyCollectionInfo> keyCollectionInfos)
+    {
+        int rows = keyCollectionInfoMapper.insertKeyCollectionInfoBatch(keyCollectionInfos);
+        return rows;
+    }
+
+    /**
+     * 淇敼閽ュ寵棰嗗彇淇℃伅
+     *
+     * @param keyCollectionInfo 閽ュ寵棰嗗彇淇℃伅
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateKeyCollectionInfo(KeyCollectionInfo keyCollectionInfo)
+    {
+        return keyCollectionInfoMapper.updateKeyCollectionInfo(keyCollectionInfo);
+    }
+
+    /**
+     * 淇敼閽ュ寵棰嗗彇淇℃伅[鎵归噺]
+     *
+     * @param keyCollectionInfos 閽ュ寵棰嗗彇淇℃伅
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateKeyCollectionInfoBatch(List<KeyCollectionInfo> keyCollectionInfos){
+        return keyCollectionInfoMapper.updateKeyCollectionInfoBatch(keyCollectionInfos);
+    }
+
+    /**
+     * 鍒犻櫎閽ュ寵棰嗗彇淇℃伅瀵硅薄
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteKeyCollectionInfoByIds(String ids)
+    {
+        return deleteKeyCollectionInfoByIds(Convert.toIntArray(ids));
+    }
+
+    /**
+     * 鍒犻櫎閽ュ寵棰嗗彇淇℃伅瀵硅薄
+     *
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteKeyCollectionInfoByIds(Integer[] ids)
+    {
+        return keyCollectionInfoMapper.deleteKeyCollectionInfoByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎閽ュ寵棰嗗彇淇℃伅淇℃伅
+     *
+     * @param id 閽ュ寵棰嗗彇淇℃伅ID
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteKeyCollectionInfoById(Integer id)
+    {
+        return keyCollectionInfoMapper.deleteKeyCollectionInfoById(id);
+    }
+
+    @DataSource(DataSourceType.CWSJ)
+    @Override
+    public KeyCollectionInfo selectCwData(TakeReviewDto takeReviewDto) {
+        return keyCollectionInfoMapper.selectCwData(takeReviewDto);
+    }
+
+    @Override
+    public AjaxResult takeReview(KeyCollectionInfo keyCollectionInfo) {
+        if (keyCollectionInfo == null) {
+            return AjaxResult.error("鏌ユ棤绗﹀悎瑕佹眰鐨勮皟搴﹀崟锛岃鑱旂郴璋冨害浜哄憳",3);
+        }
+        keyCollectionInfoMapper.insertKeyCollectionInfo(keyCollectionInfo);
+
+
+        //璋冨害瓒呮椂
+        Integer schedulingTimeout = keyCollectionInfo.getSchedulingTimeout();
+        if(schedulingTimeout>5){
+            return AjaxResult.error("璋冨害瓒呮椂涓嬪崟锛岃秴鏃�"+schedulingTimeout+"涓皬鏃�",3);
+
+        }
+        Integer keyTimeout = keyCollectionInfo.getKeyTimeout();
+        if (keyTimeout!=null && keyTimeout>24){
+            Date estimatedDepartureTime = keyCollectionInfo.getEstimatedDepartureTime();
+            String dateToStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, estimatedDepartureTime);
+            return AjaxResult.error("棰勮鍑哄彂鏃堕棿"+ dateToStr+"锛岄鍙栭挜鍖欒秴鏃�"+keyTimeout+"涓皬鏃�");
+        }
+        return AjaxResult.success("鎴愬姛",2);
+    }
+}

--
Gitblit v1.8.0