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; + } }, }