Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/V0.0.1' into V0.0.1

jingyuanchao 2 gadi atpakaļ
vecāks
revīzija
97d54afb8a

+ 45 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteResumptionTaskService.java

@@ -0,0 +1,45 @@
+package com.xunmei.system.api;
+
+import com.xunmei.common.core.constant.ServiceNameConstants;
+import com.xunmei.common.core.domain.R;
+import com.xunmei.common.core.web.domain.AjaxResult;
+import com.xunmei.system.api.factory.RemoteEduTrainingFallbackFactory;
+import com.xunmei.system.api.factory.RemoteResumptionTaskFallbackFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.Date;
+
+/**
+ * 教育培训
+ *
+ * @author xunmei
+ */
+@FeignClient(contextId = "remoteResumptionTaskService", value = ServiceNameConstants.CORE_SERVICE, fallbackFactory = RemoteResumptionTaskFallbackFactory.class)
+public interface RemoteResumptionTaskService {
+
+    /**
+     * 生成每日履职任务
+     *
+     * @return
+     */
+    @GetMapping(value = "resumption/task/dayTask")
+    R<Boolean> dayTask();
+
+    /**
+     * 生成每周履职任务
+     *
+     * @return
+     */
+    @GetMapping(value = "resumption/task/weekTask")
+    R<Boolean> weekTask();
+
+    /**
+     * 生成每月、季、半年、年履职任务
+     *
+     * @return
+     */
+    @GetMapping(value = "resumption/task/monthTask")
+    R<Boolean> monthTask();
+}

+ 58 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteResumptionTaskFallbackFactory.java

@@ -0,0 +1,58 @@
+package com.xunmei.system.api.factory;
+
+import com.xunmei.common.core.domain.R;
+import com.xunmei.common.core.web.domain.AjaxResult;
+import com.xunmei.system.api.RemoteEduTrainingService;
+import com.xunmei.system.api.RemoteOrgService;
+import com.xunmei.system.api.RemoteResumptionTaskService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.GetMapping;
+
+/**
+ * 字典服务降级处理
+ *
+ * @author xunmei
+ */
+@Component
+public class RemoteResumptionTaskFallbackFactory implements FallbackFactory<RemoteResumptionTaskService> {
+    private static final Logger log = LoggerFactory.getLogger(RemoteResumptionTaskFallbackFactory.class);
+
+    @Override
+    public RemoteResumptionTaskService create(Throwable throwable) {
+        return new RemoteResumptionTaskService() {
+            /**
+             * 生成每日履职任务
+             *
+             * @return
+             */
+            @Override
+            public R<Boolean> dayTask() {
+                return null;
+            }
+
+            /**
+             * 生成每周履职任务
+             *
+             * @return
+             */
+            @Override
+            public R<Boolean> weekTask() {
+                return null;
+            }
+
+            /**
+             * 生成每月、季、半年、年履职任务
+             *
+             * @return
+             */
+            @Override
+            public R<Boolean> monthTask() {
+                return null;
+            }
+        };
+    }
+
+}

+ 1 - 0
soc-api/soc-api-system/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -9,3 +9,4 @@ com.xunmei.system.api.factory.RemoteTaskFallbackFactory
 com.xunmei.system.api.factory.RemoteDictDataFallbackFactory
 com.xunmei.system.api.factory.RemoteRetrievalTaskFallbackFactory
 com.xunmei.system.api.factory.RemoteEduTrainingFallbackFactory
+com.xunmei.system.api.factory.RemoteResumptionTaskFallbackFactory

+ 4 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/CoreMonitoringTaskRegistrationServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask;
 import com.xunmei.common.core.exception.ServiceException;
 import com.xunmei.common.core.utils.DateUtils;
+import com.xunmei.common.core.utils.StringUtils;
 import com.xunmei.common.core.utils.bean.BeanUtils;
 import com.xunmei.common.security.utils.SecurityUtils;
 import com.xunmei.core.access.domain.CoreMonitoringTaskRegistration;
@@ -82,6 +83,9 @@ public class CoreMonitoringTaskRegistrationServiceImpl extends ServiceImpl<CoreM
         queryWrapper.eq("del_flag", 0);
         CoreMonitoringTaskRegistration coreMonitoringTaskRegistration1 = baseMapper.selectOne(queryWrapper);
         if (null != coreMonitoringTaskRegistration1) {
+            if (StringUtils.isEmpty(coreMonitoringTaskRegistration.getEndNfc()) && StringUtils.isEmpty(coreMonitoringTaskRegistration.getEndPicture())) {
+                throw new ServiceException("请勿重复扫描");
+            }
             coreMonitoringTaskRegistration1.setEndPicture(coreMonitoringTaskRegistration.getEndPicture());
             coreMonitoringTaskRegistration1.setEndNfc(coreMonitoringTaskRegistration.getEndNfc());
             return baseMapper.updateById(coreMonitoringTaskRegistration1);

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/controller/TaskController.java

@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
  * @author LuoJun
  */
 @RestController
-@RequestMapping("/task")
+@RequestMapping("resumption/task")
 public class TaskController {
     @Autowired
     ResumptionTaskBusiness taskBusiness;

+ 39 - 0
soc-modules/soc-modules-job/src/main/java/com/xunmei/job/task/CoreResumptionTask.java

@@ -0,0 +1,39 @@
+package com.xunmei.job.task;
+
+import cn.hutool.core.lang.UUID;
+import com.alibaba.fastjson2.JSON;
+import com.xunmei.common.core.domain.R;
+import com.xunmei.common.core.web.domain.AjaxResult;
+import com.xunmei.system.api.RemoteEduTrainingService;
+import com.xunmei.system.api.RemoteResumptionTaskService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+@Slf4j
+@Component("CoreResumptionTask")
+public class CoreResumptionTask {
+
+    @Autowired
+    RemoteResumptionTaskService remoteResumptionTaskService;
+
+    public void buildDayTask() {
+        log.info("开始执行每日履职定时任务,当前任务 当前时间:{}", new Date());
+        R<Boolean> result = remoteResumptionTaskService.dayTask();
+        log.info("执行每日履职定时任务结束....,当前任务 当前时间:{},结果:{}", new Date(), JSON.toJSONString(result));
+    }
+
+    public void buildWeekTask() {
+        log.info("开始执行每周履职定时任务,当前任务 时间:{}",new Date());
+        R<Boolean> result = remoteResumptionTaskService.weekTask();
+        log.info("执行教育培训定时任务结束,当前任务 时间:{},结果:{}", new Date(), JSON.toJSONString(result));
+    }
+
+    public void buildMonthTask() {
+        log.info("开始执行每周履职定时任务,当前任务 时间:{}",new Date());
+        R<Boolean> result = remoteResumptionTaskService.monthTask();
+        log.info("执行教育培训定时任务结束,当前任务 时间:{},结果:{}", new Date(), JSON.toJSONString(result));
+    }
+}

+ 0 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysAreaCheckController.java

@@ -47,7 +47,6 @@ public class SysAreaCheckController extends BaseController {
     @RequiresPermissions("system:check:list")
     @GetMapping("/list")
     public TableDataInfo<SysAreaCheck> list(SysAreaCheck sysAreaCheck) {
-
         return sysAreaCheckService.selectPage(sysAreaCheck);
     }
 

+ 23 - 8
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysAreaCheckServiceImpl.java

@@ -2,14 +2,18 @@ package com.xunmei.system.service.impl;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.xunmei.common.core.constant.CacheConstants;
 import com.xunmei.common.core.exception.ServiceException;
 import com.xunmei.common.core.utils.DateUtils;
 import com.xunmei.common.core.utils.bean.BeanUtils;
+import com.xunmei.common.redis.utils.RedisUtils;
 import com.xunmei.common.security.utils.SecurityUtils;
 import com.xunmei.system.api.domain.SysArea;
 import com.xunmei.system.api.domain.SysOrg;
+import com.xunmei.system.api.vo.SysOrgVO;
 import com.xunmei.system.domain.SysNfcBind;
 import com.xunmei.system.domain.vo.SysAreaCheckVO;
 import com.xunmei.system.mapper.ISysAreaMapper;
@@ -61,19 +65,21 @@ public class SysAreaCheckServiceImpl extends ServiceImpl<SysAreaCheckMapper, Sys
         //下穿
         //先全部查出
         sysAreaCheck.setCheckSub(true);
-        QueryWrapper queryWrapper=new QueryWrapper();
-        queryWrapper.eq("parent_id",-1);
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.eq("parent_id", -1);
         SysOrg sysOrg1 = sysOrgMapper.selectOne(queryWrapper);
-        if (null==sysAreaCheck.getOrgId()){
+        if (null == sysAreaCheck.getOrgId()) {
             sysAreaCheck.setOrgId(sysOrg1.getId());
         }
-        if (sysAreaCheck.getCheckSub()) {
-            List<Long> ids = orgService.selectCheckSubOrgIdList(sysAreaCheck.getOrgId());
+    /*    if (sysAreaCheck.getCheckSub()) {
+           // List<Long> ids = orgService.selectCheckSubOrgIdList(sysAreaCheck.getOrgId());
+         //   List<SysOrgVO> cacheList = RedisUtils.getCacheList(CacheConstants.ORG_CACHE_LIST_KEY);
+          //  List<Long> collect = cacheList.stream().map(e -> e.getId()).collect(Collectors.toList());
             //清空前端传递的org_id
             sysAreaCheck.setOrgId(null);
             //添加in条件
-            query.in("org_id", ids);
-        }
+            query.in("org_id", collect);
+        }*/
         //时间范围查询
         if (sysAreaCheck.getParams().get("beginTime") != null && sysAreaCheck.getParams().get("endTime") != null) {
             query.between("create_time", sysAreaCheck.getParams().get("beginTime"), sysAreaCheck.getParams().get("endTime"));
@@ -140,6 +146,15 @@ public class SysAreaCheckServiceImpl extends ServiceImpl<SysAreaCheckMapper, Sys
      */
     @Override
     public int insertSysAreaCheck(SysAreaCheck sysAreaCheck) {
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.eq("check_name", sysAreaCheck.getCheckName());
+        queryWrapper.eq("area_id", sysAreaCheck.getAreaId());
+        queryWrapper.eq("org_id", sysAreaCheck.getOrgId());
+        queryWrapper.eq("del_flag", 0);
+        Long aLong = baseMapper.selectCount(queryWrapper);
+        if (aLong > 0) {
+            throw new ServiceException("名称不能重复");
+        }
         sysAreaCheck.setCreateTime(DateUtils.getNowDate());
         sysAreaCheck.setCreateBy(SecurityUtils.getUsername());
         sysAreaCheck.setUpdateBy(SecurityUtils.getUsername());
@@ -175,7 +190,7 @@ public class SysAreaCheckServiceImpl extends ServiceImpl<SysAreaCheckMapper, Sys
         query.eq("del_flag", "0");
         query.in("check_id", ids);
         List<SysNfcBind> sysNfcBinds = sysNfcBindMapper.selectList(query);
-        if(CollectionUtils.isNotEmpty(sysNfcBinds)){
+        if (CollectionUtils.isNotEmpty(sysNfcBinds)) {
             throw new ServiceException("数据使用中,不能删除");
         }
         int i = 0;

+ 10 - 4
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysAreaServiceImpl.java

@@ -38,8 +38,6 @@ public class SysAreaServiceImpl extends ServiceImpl<ISysAreaMapper, SysArea> imp
 
     @Override
     public TableDataInfo<SysArea> selectPage(SysArea sysArea) {
-
-
         //未删除
         sysArea.setDelFlag(0L);
         Page<SysArea> page;
@@ -53,14 +51,14 @@ public class SysAreaServiceImpl extends ServiceImpl<ISysAreaMapper, SysArea> imp
         QueryWrapper<SysArea> query = new QueryWrapper<>(sysArea);
         //下穿
         Boolean checkSub = sysArea.getCheckSub();
-        if (checkSub) {
+ /*       if (checkSub) {
             List<SysDictData> sysDictData = sysDictDataMapper.selectDictDataByType(sysArea.getOrgType());
             List<String> ids = sysDictData.stream().map(e -> e.getDictValue()).collect(Collectors.toList());
             //清空前端传递的org_id
             sysArea.setOrgType(null);
             //添加in条件
             query.in("org_type", ids);
-        }
+        }*/
         //时间范围查询
         if (sysArea.getParams().get("beginTime") != null && sysArea.getParams().get("endTime") != null) {
             query.between("create_time", sysArea.getParams().get("beginTime"), sysArea.getParams().get("endTime"));
@@ -109,6 +107,14 @@ public class SysAreaServiceImpl extends ServiceImpl<ISysAreaMapper, SysArea> imp
      */
     @Override
     public int insertSysArea(SysArea sysArea) {
+        QueryWrapper queryWrapper=new QueryWrapper();
+        queryWrapper.eq("org_type",sysArea.getOrgType());
+        queryWrapper.eq("name",sysArea.getName());
+        queryWrapper.eq("del_flag",0);
+        Long aLong = baseMapper.selectCount(queryWrapper);
+        if (aLong>0){
+            throw  new ServiceException("名称不能重复");
+        }
         sysArea.setCreateTime(DateUtils.getNowDate());
         sysArea.setUpdateTime(DateUtils.getNowDate());
         LoginUser loginUser = SecurityUtils.getLoginUser();

+ 5 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysDeviceServiceImpl.java

@@ -47,7 +47,12 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
             page = new Page<>();
         }
         //查询条件
+        String n = sysDevice.getDeviceName();
+        sysDevice.setDeviceName(null);
         QueryWrapper<SysDevice> query = new QueryWrapper<>(sysDevice);
+        if (null != n) {
+            query.like("device_name", n);
+        }
         //下穿
         if (sysDevice.getCheckSub()) {
             List<Long> ids = orgService.selectCheckSubOrgIdList(sysDevice.getOrgId());

+ 22 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysNfcBindServiceImpl.java

@@ -4,7 +4,9 @@ import java.util.ArrayList;
 
 import java.util.List;
 
+import com.xunmei.common.core.exception.ServiceException;
 import com.xunmei.common.core.utils.DateUtils;
+import com.xunmei.common.core.utils.StringUtils;
 import com.xunmei.common.core.utils.bean.BeanUtils;
 import com.xunmei.system.api.domain.SysArea;
 import com.xunmei.system.api.domain.SysOrg;
@@ -59,7 +61,17 @@ public class SysNfcBindServiceImpl extends ServiceImpl<SysNfcBindMapper, SysNfcB
             page = new Page<>();
         }
         //查询条件
+        String name = sysNfcBind.getAreaName();
+        sysNfcBind.setAreaName(null);
+        String code = sysNfcBind.getCode();
+        sysNfcBind.setCode(null);
         QueryWrapper<SysNfcBind> query = new QueryWrapper<>(sysNfcBind);
+        if (StringUtils.isNotEmpty(name)) {
+            query.like("area_name", name);
+        }
+        if (StringUtils.isNotEmpty(code)) {
+            query.like("code", code);
+        }
         //下穿
         if (sysNfcBind.getCheckSub()) {
             List<Long> ids = orgService.selectCheckSubOrgIdList(sysNfcBind.getOrgId());
@@ -74,7 +86,6 @@ public class SysNfcBindServiceImpl extends ServiceImpl<SysNfcBindMapper, SysNfcB
         }
         //获取数据
         page = sysNfcBindMapper.selectPage(page, query);
-
         return TableDataInfo.build(page);
 
 
@@ -111,6 +122,16 @@ public class SysNfcBindServiceImpl extends ServiceImpl<SysNfcBindMapper, SysNfcB
      */
     @Override
     public int insertSysNfcBind(SysNfcBind sysNfcBind) {
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.eq("area_id", sysNfcBind.getAreaId());
+        queryWrapper.eq("org_id", sysNfcBind.getOrgId());
+        queryWrapper.eq("check_id", sysNfcBind.getCheckId());
+        queryWrapper.eq("del_flag", 0);
+        queryWrapper.eq("code", sysNfcBind.getCode());
+        Long aLong = baseMapper.selectCount(queryWrapper);
+        if (aLong > 0) {
+            throw new ServiceException("请勿重复添加");
+        }
         sysNfcBind.setUpdateTime(DateUtils.getNowDate());
         sysNfcBind.setCreateTime(DateUtils.getNowDate());
         sysNfcBind.setDelFlag("0");