From fb8ae2a1b17beb8101dbc6c8ffb0f46408e9b45c Mon Sep 17 00:00:00 2001
From: "382696293@qq.com" <382696293@qq.com>
Date: Wed, 24 Jan 2024 17:55:06 +0800
Subject: [PATCH] =?UTF-8?q?=E7=AB=99=E7=82=B9=E7=AE=A1=E7=90=86bug?=
=?UTF-8?q?=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../common/core/mapper/SiteLogMapper.java | 2 +
.../main/resources/mapper/SiteLogMapper.xml | 4 ++
.../service/impl/SiteInfoServiceImpl.java | 38 +++++++++++++++++++
.../src/views/system/siteInfo/index.vue | 27 ++++++++++++-
4 files changed, 70 insertions(+), 1 deletion(-)
diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteLogMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteLogMapper.java
index e3da0c2..02ae753 100644
--- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteLogMapper.java
+++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteLogMapper.java
@@ -51,6 +51,8 @@ public interface SiteLogMapper {
*/
public int deleteSiteLogById(Long id);
+ public int deleteBySiteId(Long siteId);
+
/**
* 批量删除站点管理日志记录
*
diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/SiteLogMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/SiteLogMapper.xml
index 25062f6..f6af63e 100644
--- a/flossom-common/flossom-common-core/src/main/resources/mapper/SiteLogMapper.xml
+++ b/flossom-common/flossom-common-core/src/main/resources/mapper/SiteLogMapper.xml
@@ -62,6 +62,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
delete from site_log where id = #{id}
+
+ delete from site_log where site_id = #{siteId}
+
+
delete from site_log where id in
diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SiteInfoServiceImpl.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SiteInfoServiceImpl.java
index 0176606..7d4f105 100644
--- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SiteInfoServiceImpl.java
+++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SiteInfoServiceImpl.java
@@ -7,6 +7,7 @@ import java.util.Objects;
import java.util.stream.Collectors;
import com.flossom.common.core.domain.entity.*;
+import com.flossom.common.core.enums.SitePushTypeEnum;
import com.flossom.common.core.mapper.*;
import com.flossom.common.core.utils.DateUtils;
import com.flossom.common.core.utils.StringUtils;
@@ -40,6 +41,9 @@ public class SiteInfoServiceImpl implements ISiteInfoService
private WxInstrumentMapper wxInstrumentMapper;
@Autowired
private SiteInfoInstrumentMapper siteInfoInstrumentMapper;
+ @Autowired
+ private SiteLogMapper siteLogMapper;
+
/**
* 查询站点管理
*
@@ -447,6 +451,40 @@ public class SiteInfoServiceImpl implements ISiteInfoService
List handlerWechatTagNew = Lists.newArrayList();
List handlerCompanyTagNew = Lists.newArrayList();
List wxInstrumentList = Lists.newArrayList();
+
+ SiteInfo oldSiteInfo = siteInfoMapper.selectSiteInfoById(siteInfo.getId());
+ // 修改 开启时间,清理弹窗推送记录
+ if (oldSiteInfo.getSiteStartTime() != siteInfo.getSiteStartTime()
+ || oldSiteInfo.getSiteEndTime() != siteInfo.getSiteEndTime() ) {
+ siteLogMapper.deleteBySiteId(siteInfo.getId());
+ }
+ // 修改 推送频率,清理弹窗推送记录
+ if(oldSiteInfo.getPushType() != siteInfo.getPushType()) {
+ siteLogMapper.deleteBySiteId(siteInfo.getId());
+ } else {
+ // 推送频率未改动,但是在自定义推送时,还需判断推送次数和推送日期是否修改
+ if(SitePushTypeEnum.CUSTOM.getCode() == siteInfo.getPushType()) {
+ if(oldSiteInfo.getPushNumber() != siteInfo.getPushNumber()) {
+ siteLogMapper.deleteBySiteId(siteInfo.getId());
+ }
+ if(StringUtils.isNotBlank(oldSiteInfo.getPushTimer())) {
+ List oldPushTimer = Arrays.stream(oldSiteInfo.getPushTimer().split(","))
+ .map(Integer::valueOf)
+ .sorted()
+ .collect(Collectors.toList());
+ List newPushTimer = Arrays.stream(siteInfo.getPushTimer().split(","))
+ .map(Integer::valueOf)
+ .sorted()
+ .collect(Collectors.toList());
+ if(!oldPushTimer.containsAll(newPushTimer) || !newPushTimer.containsAll(oldPushTimer)) {
+ siteLogMapper.deleteBySiteId(siteInfo.getId());
+ }
+ } else {
+ siteLogMapper.deleteBySiteId(siteInfo.getId());
+ }
+ }
+ }
+
this.commonHandler(siteInfo,showWechatTagNew,showCompanyTagNew,forbidWechatTagNew,forbidCompanyTagNew,channelListNew,handlerWechatTagNew,handlerCompanyTagNew,wxInstrumentList);
// 删除关联关系
siteInfoTagMapper.deleteSiteInfoTagBySiteId(siteInfo.getId());
diff --git a/flossom-ui/src/views/system/siteInfo/index.vue b/flossom-ui/src/views/system/siteInfo/index.vue
index 836eb14..3086213 100644
--- a/flossom-ui/src/views/system/siteInfo/index.vue
+++ b/flossom-ui/src/views/system/siteInfo/index.vue
@@ -283,6 +283,7 @@
:headers="upload.headers"
:action="upload.url"
:disabled="upload.isUploading"
+ :before-upload="handleBeforeUpload"
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
drag
@@ -340,7 +341,7 @@
-
+
永久一次
每次进入
自定义频次
@@ -623,6 +624,11 @@ export default {
chatTagOptions: [],
// 是否显示弹出层
open: false,
+ // 文件类型, 例如['png', 'jpg', 'jpeg']
+ fileType: {
+ type: Array,
+ default: () => ["jpg", "png"],
+ },
// 导入参数
upload: {
// 是否显示弹出层(用户导入)
@@ -930,6 +936,20 @@ export default {
handleFileUploadProgress(event, file, fileList) {
console.log('上传处理中==>file', JSON.stringify(file))
},
+ // 上传前校检格式和大小
+ handleBeforeUpload(file) {
+ // 校检文件类型
+ if (this.fileType) {
+ const fileName = file.name.split('.');
+ const fileExt = fileName[fileName.length - 1];
+ const isTypeOk = this.fileType.default().indexOf(fileExt) >= 0;
+ if (!isTypeOk) {
+ this.$modal.msgError(`文件格式不正确`);
+ return false;
+ }
+ }
+ return true;
+ },
// 文件上传成功处理
handleFileSuccess(response, file, fileList, item) {
console.log('上传后的结果==>', JSON.stringify(response))
@@ -970,6 +990,11 @@ export default {
`info_${new Date().getTime()}.xlsx`
)
},
+ pushTypeChange() {
+ this.form.pushTimerArray = null;
+ this.form.pushTimer = null;
+ this.form.pushNumber = 1;
+ }
},
}