Browse Source

值班查岗相关接口开发

jichaobo 2 years ago
parent
commit
60fd50e39b

+ 14 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/PostInspectController.java

@@ -58,5 +58,19 @@ public class PostInspectController {
     public ApiResult<List<PostInspect>> postInspectAnswerRecept() {
         return ApiResult.success(postInspectService.postInspectAnswerRecept());
     }
+
+    /**
+     * 值班查岗-企业版系统网页应答数据接收,状态修改接口
+     *
+     * @param postInspect
+     * @return
+     */
+    @PutMapping("postInspectAnswerUpdate")
+    public ApiResult<Void> postInspectAnswerUpdate(@RequestBody PostInspect postInspect) {
+        postInspectService.postInspectAnswerUpdate(postInspect);
+        return ApiResult.success();
+    }
+
+
 }
 

+ 3 - 3
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/TaskController.java

@@ -1,7 +1,7 @@
 package com.usky.fire.controller.web;
 
 
-import com.usky.fire.service.PostInspectService;
+import com.usky.fire.service.MhPostInspectService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -15,13 +15,13 @@ import org.springframework.stereotype.Component;
 @Component
 public class TaskController {
     @Autowired
-    private PostInspectService postInspectService;
+    private MhPostInspectService mhPostInspectService;
 
     //    @Scheduled(cron = "0/5 * *  * * ?") // 间隔5秒执行
     @Scheduled(cron = "0 0/5 * * * ? ") // 间隔5分钟执行
     public void task() {
         System.out.println(Thread.currentThread().getName() + "定时任务执行中");
-        postInspectService.postInspectAnswerRequest();
+        mhPostInspectService.postInspectAnswerRequest();
 
     }
 

+ 5 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/MhPostInspectService.java

@@ -50,4 +50,9 @@ public interface MhPostInspectService extends CrudService<MhPostInspect> {
      * @param userId 用户ID
      */
     void webSocketPush(TextMessage message,Integer userId);
+
+    /**
+     * 值班查岗-闵行、企业值班记录数据同步
+     */
+    void postInspectAnswerRequest();
 }

+ 4 - 2
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/PostInspectService.java

@@ -37,7 +37,9 @@ public interface PostInspectService extends CrudService<PostInspect> {
     List<PostInspect> postInspectAnswerRecept();
 
     /**
-     * 值班查岗-闵行、企业值班记录数据同步
+     * 值班查岗-企业版系统网页应答数据接收,状态修改接口
+     *
+     * @param postInspect
      */
-    void postInspectAnswerRequest();
+    void postInspectAnswerUpdate(PostInspect postInspect);
 }

+ 24 - 2
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/MhPostInspectServiceImpl.java

@@ -1,11 +1,13 @@
 package com.usky.fire.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.usky.common.core.bean.CommonPage;
+import com.usky.common.core.util.HttpUtils;
 import com.usky.common.core.util.StringUtils;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.common.security.utils.SecurityUtils;
@@ -86,7 +88,7 @@ public class MhPostInspectServiceImpl extends AbstractCrudService<MhPostInspectM
         String endTime = format.format(date);
         if (StringUtils.isNotBlank(companyId)) {
             Integer spentTimeAvg = baseMapper.mhPostInspectStatistics(" AVG(spent_time) ", 1, startTime, endTime, null, companyId);
-            if (spentTimeAvg==null){
+            if (spentTimeAvg == null) {
                 spentTimeAvg = 0;
             }
             answeredCount = baseMapper.mhPostInspectStatistics(" count(*) ", 1, startTime, endTime, null, companyId);
@@ -115,7 +117,7 @@ public class MhPostInspectServiceImpl extends AbstractCrudService<MhPostInspectM
         long data1 = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8"));
         long data2 = mhPostInspect.getInspectTime().toEpochSecond(ZoneOffset.of("+8"));
         long time = data1 - data2;
-        mhPostInspect.setCountdown(600-time);
+        mhPostInspect.setCountdown(600 - time);
         String message = JSONObject.toJSONString(mhPostInspect);
         List<BaseUserCompany> userCompanyList = baseUserCompanyService.userCompanyList(mhPostInspect.getCompanyId());
         for (int i = 0; i < userCompanyList.size(); i++) {
@@ -156,4 +158,24 @@ public class MhPostInspectServiceImpl extends AbstractCrudService<MhPostInspectM
         }
     }
 
+    @Override
+    public void postInspectAnswerRequest() {
+        String url = "http://172.16.120.165:13200/prod-api/service-fire/postInspect/postInspectAnswerRecept";
+        String res = null;
+        try {
+            res = HttpUtils.get(url, null);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        if (StringUtils.isNotBlank(res)) {
+            JSONObject jsonObj = JSONObject.parseObject(res);
+            String userStr = jsonObj.getString("data");
+            if (StringUtils.isNotBlank(userStr) && !userStr.equals("[]")) {
+                List<MhPostInspect> mhPostInspectList = JSON.parseArray(userStr, MhPostInspect.class);
+                for (int i = 0; i < mhPostInspectList.size(); i++) {
+                    this.updateById(mhPostInspectList.get(i));
+                }
+            }
+        }
+    }
 }

+ 14 - 27
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PostInspectServiceImpl.java

@@ -1,24 +1,18 @@
 package com.usky.fire.service.impl;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.usky.common.core.util.HttpUtils;
-import com.usky.common.core.util.StringUtils;
 import com.usky.common.mybatis.core.AbstractCrudService;
-import com.usky.fire.domain.MhPostInspect;
+import com.usky.common.security.utils.SecurityUtils;
 import com.usky.fire.domain.PostInspect;
 import com.usky.fire.mapper.PostInspectMapper;
 import com.usky.fire.service.BaseUserCompanyService;
-import com.usky.fire.service.MhPostInspectService;
 import com.usky.fire.service.PostInspectService;
 import com.usky.fire.service.util.OnlineMethod;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.ZoneOffset;
@@ -40,9 +34,6 @@ public class PostInspectServiceImpl extends AbstractCrudService<PostInspectMappe
     @Autowired
     private BaseUserCompanyService baseUserCompanyService;
 
-    @Autowired
-    private MhPostInspectService mhPostInspectService;
-
     @Override
     public void postInspectRecept(PostInspect postInspect) {
         this.save(postInspect);
@@ -96,23 +87,19 @@ public class PostInspectServiceImpl extends AbstractCrudService<PostInspectMappe
     }
 
     @Override
-    public void postInspectAnswerRequest() {
-        String url = "http://172.16.120.165:13200/prod-api/service-fire/postInspect/postInspectAnswerRecept";
-        String res = null;
-        try {
-            res = HttpUtils.get(url, null);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        if (StringUtils.isNotBlank(res)) {
-            JSONObject jsonObj = JSONObject.parseObject(res);
-            String userStr = jsonObj.getString("data");
-            if(StringUtils.isNotBlank(userStr)&&!userStr.equals("[]")){
-                List<MhPostInspect> mhPostInspectList = JSON.parseArray(userStr, MhPostInspect.class);
-                for (int i = 0; i < mhPostInspectList.size(); i++) {
-//                mhPostInspectService.updateById(mhPostInspectList.get(i));
-                }
-            }
+    public void postInspectAnswerUpdate(PostInspect postInspect) {
+        LambdaQueryWrapper<PostInspect> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(PostInspect::getId, postInspect.getId());
+        List<PostInspect> postInspectMap = this.list(queryWrapper);
+        if (CollectionUtils.isNotEmpty(postInspectMap)) {
+            long data1 = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8"));
+            long data2 = postInspectMap.get(0).getInspectTime().toEpochSecond(ZoneOffset.of("+8"));
+            long time = data1 - data2;
+            postInspect.setSpentTime((int) time);
+            postInspect.setReplyTime(LocalDateTime.now());
+            postInspect.setUpdatePerson(SecurityUtils.getUsername());
+            postInspect.setUpdateTime(LocalDateTime.now());
+            this.updateById(postInspect);
         }
     }