From 4a293865ac437a812eea8800cc0b04314efbd210 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期二, 24 十月 2023 10:06:24 +0800
Subject: [PATCH] 异步登录增加延迟时间避免接口频繁 修改大华通道数量获取
---
ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolplanServiceImpl.java | 272 ++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 251 insertions(+), 21 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolplanServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolplanServiceImpl.java
index 75dd75d..919535b 100644
--- a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolplanServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolplanServiceImpl.java
@@ -1,14 +1,34 @@
package com.ruoyi.app.patrolplan.service.impl;
+import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
- import com.ruoyi.common.utils.DateUtils;
+import java.util.Map;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
+import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellVo;
+import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
+import com.ruoyi.app.patrolplan.domain.*;
+import com.ruoyi.app.patrolplan.mapper.*;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.entity.SysUserVo;
+import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.uuid.IdUtils;
+import com.ruoyi.system.mapper.SysUserMapper;
+import com.ruoyi.utils.result.Results;
+import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import com.ruoyi.app.patrolplan.mapper.ArdAppPatrolplanMapper;
-import com.ruoyi.app.patrolplan.domain.ArdAppPatrolplan;
import com.ruoyi.app.patrolplan.service.IArdAppPatrolplanService;
+import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
@@ -22,6 +42,24 @@
public class ArdAppPatrolplanServiceImpl implements IArdAppPatrolplanService {
@Resource
private ArdAppPatrolplanMapper ardAppPatrolplanMapper;
+
+ @Resource
+ private ArdAppPatrolpointMapper ardAppPatrolpointMapper;
+
+ @Resource
+ private ArdAppPatroluserMapper ardAppPatroluserMapper;
+
+ @Resource
+ private ArdAlarmpointsWellMapper ardAlarmpointsWellMapper;
+
+ @Resource
+ private SysUserMapper sysUserMapper;
+
+ @Resource
+ private ArdAppPatrolpointRecordMapper recordMapper;
+
+ @Resource
+ private ArdAppPatrolpointRecordImgMapper recordImgMapper;
/**
* 鏌ヨapp宸℃璁″垝
@@ -54,40 +92,232 @@
@Override
public int insertArdAppPatrolplan(ArdAppPatrolplan ardAppPatrolplan) {
ardAppPatrolplan.setUserId(SecurityUtils.getUserId());
- ardAppPatrolplan.setCreateTime(DateUtils.getNowDate());
+ Date date = new Date();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ ardAppPatrolplan.setCreateTime(sdf.format(date));
return ardAppPatrolplanMapper.insertArdAppPatrolplan(ardAppPatrolplan);
}
/**
* 淇敼app宸℃璁″垝
*
- * @param ardAppPatrolplan app宸℃璁″垝
* @return 缁撴灉
*/
@Override
- public int updateArdAppPatrolplan(ArdAppPatrolplan ardAppPatrolplan) {
- return ardAppPatrolplanMapper.updateArdAppPatrolplan(ardAppPatrolplan);
+ public Results BeforeUpdateArdAppPatrolplan(Map<String,Object> para) {
+ if(para.get("id").toString().isEmpty()){
+ return Results.error("ID鏃犳晥锛�");
+ }
+ //淇敼涓昏〃
+ ArdAppPatrolplan ardAppPatrolplan = new ArdAppPatrolplan();
+ ardAppPatrolplan.setId(para.get("id").toString());
+ ardAppPatrolplan.setUserId(para.get("userId").toString());
+ ardAppPatrolplan.setCycle(para.get("cycle").toString());
+ ardAppPatrolplan.setPatroBeginTime(para.get("patroBeginTime").toString());
+ ardAppPatrolplan.setPatroEndTime(para.get("patroEndTime").toString());
+ ardAppPatrolplan.setPlanName(para.get("planName").toString());
+ int num = ardAppPatrolplanMapper.updateById(ardAppPatrolplan);
+ //淇敼鍏磋叮鐐�
+ ardAppPatrolpointMapper.deleteArdAppPatrolpointByPlanId(para.get("id").toString());//鍒犻櫎宸℃璁″垝涓嬫寕鐐逛綅
+ List<String> alarmpointIdList = (List<String>) para.get("alarmpointIdList");
+ List<ArdAppPatrolpoint> ardAppPatrolpointList = new ArrayList();
+ for(String alarmpointId : alarmpointIdList){
+ String patrolpointId = IdUtils.simpleUUID();
+ ArdAppPatrolpoint ardAppPatrolpoint = new ArdAppPatrolpoint();
+ ardAppPatrolpoint.setId(patrolpointId);
+ ardAppPatrolpoint.setPatrolplanId(para.get("id").toString());
+ ardAppPatrolpoint.setAlarmpointsId(alarmpointId);
+ ardAppPatrolpoint.setType((String) para.get("type"));
+ ardAppPatrolpointList.add(ardAppPatrolpoint);
+ }
+ ardAppPatrolpointMapper.insertArdAppPatrolpointList(ardAppPatrolpointList);//鏂板鍏宠仈鍏磋叮鐐�
+ //淇敼鐢ㄦ埛
+ ardAppPatroluserMapper.deleteArdAppPatroluserByPlanId(para.get("id").toString());//鍒犻櫎宸℃璁″垝涓嬫寕鐢ㄦ埛
+ List<String> appUserIdList = (List<String>) para.get("appUserIdList");
+ List<ArdAppPatroluser> ardAppPatroluserList = new ArrayList();
+ for(String appUserId : appUserIdList){
+ String patroluserId = IdUtils.simpleUUID();
+ ArdAppPatroluser ardAppPatroluser = new ArdAppPatroluser();
+ ardAppPatroluser.setId(patroluserId);
+ ardAppPatroluser.setPatrolplanId(para.get("id").toString());
+ ardAppPatroluser.setAppUserId(appUserId);
+ ardAppPatroluserList.add(ardAppPatroluser);
+ }
+ ardAppPatroluserMapper.insertArdAppPatroluserList(ardAppPatroluserList);//鏂板鍏宠仈浜哄憳
+ if(num>0){
+ return Results.succeed("淇敼鎴愬姛锛�");
+ }else {
+ return Results.error("淇敼澶辫触锛�");
+ }
}
- /**
- * 鎵归噺鍒犻櫎app宸℃璁″垝
- *
- * @param patroEndTimes 闇�瑕佸垹闄ょ殑app宸℃璁″垝涓婚敭
- * @return 缁撴灉
- */
- @Override
- public int deleteArdAppPatrolplanByPatroEndTimes(String[] patroEndTimes) {
- return ardAppPatrolplanMapper.deleteArdAppPatrolplanByPatroEndTimes(patroEndTimes);
- }
/**
* 鍒犻櫎app宸℃璁″垝淇℃伅
- *
- * @param patroEndTime app宸℃璁″垝涓婚敭
* @return 缁撴灉
*/
@Override
- public int deleteArdAppPatrolplanByPatroEndTime(String patroEndTime) {
- return ardAppPatrolplanMapper.deleteArdAppPatrolplanByPatroEndTime(patroEndTime);
+ @Transactional
+ public int deleteArdApp(String id) {
+ try {
+ Boolean del = false;
+ //鏌ヨ璁″垝鏃堕棿鏄惁缁撴潫
+ ArdAppPatrolplan planList = ardAppPatrolplanMapper.selectById(id);
+ String cycle = planList.getCycle();
+ String end = planList.getPatroEndTime();
+ if(cycle.equals("day")){
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ String date = dateFormat.format(new Date());
+ end = date +" "+end;
+ }
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String toDay = dateFormat.format(new Date());
+ int once = toDay.compareTo(end);
+ if(once<0){
+ del = true;
+ }
+ if(!del){
+ //鏌ヨ鏄惁鏈夋墦鍗¤褰�
+ QueryWrapper<ArdAppPatrolpointRecord> recordQueryWrapper = new QueryWrapper<>();
+ recordQueryWrapper.eq("plan_id",id);
+ List<ArdAppPatrolpointRecord> recordList = recordMapper.selectList(recordQueryWrapper);
+ if(recordList.size()>0){
+ del = true;
+ }
+ }
+ if(del){
+ int result = ardAppPatrolplanMapper.deleteArdAppPatrolplanById(id);//鍒犻櫎宸℃璁″垝
+ ardAppPatrolpointMapper.deleteArdAppPatrolpointByPlanId(id);//鍒犻櫎宸℃璁″垝涓嬫寕鐐逛綅
+ ardAppPatroluserMapper.deleteArdAppPatroluserByPlanId(id);//鍒犻櫎宸℃璁″垝涓嬫寕鐢ㄦ埛
+ return result;
+ }else {
+ String userId = SecurityUtils.getUserId();
+ SysUser sysUser = sysUserMapper.selectUserById(userId);
+ String userName = sysUser.getNickName();
+ planList.setDelName(userName);
+ planList.setDelTime(dateFormat.format(new Date()));
+ int result = ardAppPatrolplanMapper.updateById(planList);
+ return result;
+ }
+ } catch (Exception e){
+ e.printStackTrace();
+ return 0;
+ }
}
+
+ @Override
+ @Transactional
+ public int insertArdAppPatrolplan(Map<String, Object> para) {
+ String id = IdUtils.simpleUUID();
+ ArdAppPatrolplan ardAppPatrolplan = new ArdAppPatrolplan();
+ ardAppPatrolplan.setId(id);
+ ardAppPatrolplan.setPlanName((String) para.get("planName"));
+ ardAppPatrolplan.setPatroBeginTime((String) para.get("patroBeginTime"));
+ ardAppPatrolplan.setPatroEndTime((String) para.get("patroEndTime"));
+ String userId = SecurityUtils.getUserId();
+ ardAppPatrolplan.setUserId(userId);
+ ardAppPatrolplan.setCycle((String) para.get("cycle"));
+ Date date = new Date();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ ardAppPatrolplan.setCreateTime(sdf.format(date));
+ int result = ardAppPatrolplanMapper.insertArdAppPatrolplan(ardAppPatrolplan);//鏂板涓昏〃
+ List<String> alarmpointIdList = (List<String>) para.get("alarmpointIdList");
+ List<ArdAppPatrolpoint> ardAppPatrolpointList = new ArrayList();
+ for(String alarmpointId : alarmpointIdList){
+ String patrolpointId = IdUtils.simpleUUID();
+ ArdAppPatrolpoint ardAppPatrolpoint = new ArdAppPatrolpoint();
+ ardAppPatrolpoint.setId(patrolpointId);
+ ardAppPatrolpoint.setPatrolplanId(id);
+ ardAppPatrolpoint.setAlarmpointsId(alarmpointId);
+ ardAppPatrolpoint.setType((String) para.get("type"));
+ ardAppPatrolpointList.add(ardAppPatrolpoint);
+ }
+ ardAppPatrolpointMapper.insertArdAppPatrolpointList(ardAppPatrolpointList);//鏂板鍏宠仈鍏磋叮鐐�
+ List<String> appUserIdList = (List<String>) para.get("appUserIdList");
+ List<ArdAppPatroluser> ardAppPatroluserList = new ArrayList();
+ for(String appUserId : appUserIdList){
+ String patroluserId = IdUtils.simpleUUID();
+ ArdAppPatroluser ardAppPatroluser = new ArdAppPatroluser();
+ ardAppPatroluser.setId(patroluserId);
+ ardAppPatroluser.setPatrolplanId(id);
+ ardAppPatroluser.setAppUserId(appUserId);
+ ardAppPatroluserList.add(ardAppPatroluser);
+ }
+ ardAppPatroluserMapper.insertArdAppPatroluserList(ardAppPatroluserList);//鏂板鍏宠仈浜哄憳
+ return result;
+ }
+
+ @Override
+ public Results oneById(String id) {
+ JSONObject jsonObject = new JSONObject();
+ ArdAppPatrolplan ardAppPatrolplan = ardAppPatrolplanMapper.selectById(id);
+ jsonObject.put("plan",ardAppPatrolplan);
+ List<ArdAlarmpointsWell> ardAlarmpointsWellList = ardAlarmpointsWellMapper.wellByPlanId(id);
+ List<ArdAlarmpointsWellVo> wellVos = new ArrayList<>();
+ for (ArdAlarmpointsWell ardAlarmpointsWell : ardAlarmpointsWellList) {
+ ArdAlarmpointsWellVo wellVo = new ArdAlarmpointsWellVo();
+ wellVo.setId(ardAlarmpointsWell.getId());
+ wellVo.setType(ardAlarmpointsWell.getType());
+ wellVo.setWellId(ardAlarmpointsWell.getWellId());
+ wellVos.add(wellVo);
+ }
+ jsonObject.put("well",wellVos);
+ List<SysUser> sysUserList = sysUserMapper.userByPlanId(id);
+ List<SysUserVo> sysUserVos = new ArrayList<>();
+ for (int i = 0; i < sysUserList.size(); i++) {
+ SysUserVo sysUserVo = new SysUserVo();
+ sysUserVo.setUserId(sysUserList.get(i).getUserId());
+ sysUserVo.setNickName(sysUserList.get(i).getNickName());
+ sysUserVos.add(sysUserVo);
+ }
+ jsonObject.put("user",sysUserVos);
+ return Results.succeed(jsonObject);
+ }
+
+ @Override
+ public Results updateArdAppPatrolplan(Map<String,Object> para){
+ if(para.get("id").toString().isEmpty()){
+ return Results.error("ID鏃犳晥锛�");
+ }
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ //鏌ヨ璇ユ潯璁板綍
+ ArdAppPatrolplan planList = ardAppPatrolplanMapper.selectById(para.get("id").toString());
+ String userId = SecurityUtils.getUserId();
+ SysUser sysUser = sysUserMapper.selectUserById(userId);
+ String userName = sysUser.getNickName();
+ planList.setDelName(userName);
+ planList.setDelTime(dateFormat.format(new Date()));
+ int result = ardAppPatrolplanMapper.updateById(planList);
+ if(result<1){
+ return Results.error("淇敼澶辫触锛屽師鏁版嵁鍋滅敤鍑洪敊锛�");
+ }
+ String planId = planList.getId();
+ QueryWrapper<ArdAppPatrolpointRecord> patrolpointRecordQueryWrapper = new QueryWrapper<>();
+ patrolpointRecordQueryWrapper.eq("plan_id",planId);
+ List<ArdAppPatrolpointRecord> records = recordMapper.selectList(patrolpointRecordQueryWrapper);
+ if(records.size()>0){
+ for (int i = 0; i < records.size(); i++) {
+ ArdAppPatrolpointRecord record = records.get(i);
+ record.setDel(1);
+ recordMapper.updateById(record);
+ }
+ }
+ int num = insertArdAppPatrolplan(para);
+ if(num==1){
+ return Results.succeed("淇敼鎴愬姛锛屽凡閲嶆柊閮ㄧ讲浠诲姟锛�");
+ }else {
+ return Results.error("淇敼澶辫触锛岄噸鏂伴儴缃蹭换鍔″け璐ワ紒");
+ }
+ }
+
+ @Override
+ public List<ArdAppPatrolplan> executeList(ArdAppPatrolplan ardAppPatrolplan) {
+ return ardAppPatrolplanMapper.executeList(ardAppPatrolplan);
+ }
+
+ @Override
+ public Results executeOneById(String id) {
+ return Results.succeed(ardAppPatrolplanMapper.selectById(id));
+ }
+
}
--
Gitblit v1.9.3