From c1b74cef5cc5b254bdfb9bf715aab519e6047bc7 Mon Sep 17 00:00:00 2001 From: elliott <382696293@qq.com> Date: Fri, 22 Dec 2023 10:38:00 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E7=AB=99=E7=82=B9=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E4=BB=A5=E5=8F=8A=E7=9B=B8=E5=85=B3=E8=81=94?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/domain/entity/SiteInfo.java | 601 ++++++++++++++++ .../core/domain/entity/SiteInfoChannel.java | 84 +++ .../core/domain/entity/SiteInfoTag.java | 84 +++ .../core/mapper/SiteInfoChannelMapper.java | 62 ++ .../common/core/mapper/SiteInfoMapper.java | 62 ++ .../common/core/mapper/SiteInfoTagMapper.java | 72 ++ .../mapper/SiteInfoChannelMapper.xml | 86 +++ .../main/resources/mapper/SiteInfoMapper.xml | 235 ++++++ .../resources/mapper/SiteInfoTagMapper.xml | 91 +++ .../system/controller/SiteInfoController.java | 106 +++ .../system/service/ISiteInfoService.java | 62 ++ .../service/impl/SiteInfoServiceImpl.java | 340 +++++++++ flossom-ui/src/api/system/channelInfo.js | 8 +- flossom-ui/src/api/system/siteInfo.js | 44 ++ .../src/views/system/siteInfo/index.vue | 676 ++++++++++++++++++ 15 files changed, 2612 insertions(+), 1 deletion(-) create mode 100644 flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SiteInfo.java create mode 100644 flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SiteInfoChannel.java create mode 100644 flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SiteInfoTag.java create mode 100644 flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteInfoChannelMapper.java create mode 100644 flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteInfoMapper.java create mode 100644 flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteInfoTagMapper.java create mode 100644 flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoChannelMapper.xml create mode 100644 flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoMapper.xml create mode 100644 flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoTagMapper.xml create mode 100644 flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/SiteInfoController.java create mode 100644 flossom-modules/flossom-system/src/main/java/com/flossom/system/service/ISiteInfoService.java create mode 100644 flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SiteInfoServiceImpl.java create mode 100644 flossom-ui/src/api/system/siteInfo.js create mode 100644 flossom-ui/src/views/system/siteInfo/index.vue diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SiteInfo.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SiteInfo.java new file mode 100644 index 0000000..0ef0697 --- /dev/null +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SiteInfo.java @@ -0,0 +1,601 @@ +package com.flossom.common.core.domain.entity; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.flossom.common.core.annotation.Excel; +import com.flossom.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 站点管理对象 site_info + * + * @author flossom + * @date 2023-12-20 + */ +public class SiteInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 站点管理ID */ + private Long id; + + /** 站点名称 */ + @Excel(name = "站点名称") + private String siteName; + + /** 文件路径 */ + @Excel(name = "文件路径") + private String fileUrl; + + /** 开启开始时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + @Excel(name = "开启开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm") + private Date siteStartTime; + + private List startTime = new ArrayList(); + /** 开启结束时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + @Excel(name = "开启结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm") + private Date siteEndTime; + + private List registerTime = new ArrayList(); + + /** 用户注册开始时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + @Excel(name = "用户注册开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm") + private Date userRegisterStartTime; + + + /** 用户注册结束时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + @Excel(name = "用户注册结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm") + private Date userRegisterEndTime; + + /** 1-首页 2-发现模块 3-活动模块 */ + @Excel(name = "1-首页 2-发现模块 3-活动模块") + private Integer openType; + + /** 推送批次 1-永久一次 2-每次进入 3-自定义频次 */ + @Excel(name = "推送批次 1-永久一次 2-每次进入 3-自定义频次") + private Integer pushType; + + /** 推送次数(自定义批次) */ + @Excel(name = "推送次数(自定义批次)") + private Integer pushNumber; + + /** 推送时间 */ + @Excel(name = "推送时间") + private String pushTimer; + + // 推送时间数组 + private List pushTimerArray = new ArrayList(); + + /** 可见小程序标签 */ + @Excel(name = "可见小程序标签") + private String showWechatTag; + + private List showWechatTagArray = new ArrayList(); + + /** 可见小程序标签ID */ + @Excel(name = "可见小程序标签ID") + private String showWechatTagId; + + /** 可见企微标签 */ + @Excel(name = "可见企微标签") + private String showCompanyTag; + private List showCompanyTagArray = new ArrayList(); + /** 可见企微标签ID */ + @Excel(name = "可见企微标签ID") + private String showCompanyTagId; + + /** 禁止小程序标签 */ + @Excel(name = "禁止小程序标签") + private String forbidWechatTag; + private List forbidWechatTagArray = new ArrayList(); + /** 禁止小程序标签ID */ + @Excel(name = "禁止小程序标签ID") + private String forbidWechatTagId; + + /** 禁止企微标签 */ + @Excel(name = "禁止企微标签") + private String forbidCompanyTag; + private List forbidCompanyTagArray = new ArrayList(); + + /** 禁止企微标签ID */ + @Excel(name = "禁止企微标签ID") + private String forbidCompanyTagId; + + /** 渠道名称 */ + @Excel(name = "渠道名称") + private String channelName; + private List channelArray = new ArrayList(); + + /** 渠道ID */ + @Excel(name = "渠道ID") + private String channelId; + + /** 仪器名称 */ + @Excel(name = "仪器名称") + private String machineName; + + /** 仪器ID */ + @Excel(name = "仪器ID") + private String machineId; + private List machineArray = new ArrayList(); + + + /** 用户类型 0-全部 1-游客 2-会员 */ + @Excel(name = "用户类型 0-全部 1-游客 2-会员") + private Integer userType; + + /** 1-开启 2-关闭 弹窗 */ + @Excel(name = "1-开启 2-关闭 弹窗") + private Integer operate; + + /** 打卡多少次显示活动 */ + @Excel(name = "打卡多少次显示活动 ") + private Long signNumber; + + /** 排序 */ + @Excel(name = "排序") + private Long orderNumber; + + /** 跳转类型:0无跳转、1跳转内部链接、3跳转外部链接、4跳转小程序、5导向视频号、6导向视频号直播间 */ + @Excel(name = "跳转类型:0无跳转、1跳转内部链接、3跳转外部链接、4跳转小程序、5导向视频号、6导向视频号直播间") + private Integer type; + + /** 跳转链接(跳转外部链接、跳转内部链接) */ + @Excel(name = "跳转链接", readConverterExp = "跳=转外部链接、跳转内部链接") + private String link; + + /** 跳转链接参数(跳转内部链接) */ + @Excel(name = "跳转链接参数", readConverterExp = "跳=转内部链接") + private String linkParams; + + /** 外链小程序appid(跳转小程序) */ + @Excel(name = "外链小程序appid", readConverterExp = "跳=转小程序") + private String redirectAppid; + + /** 外链小程序url(跳转小程序) */ + @Excel(name = "外链小程序url", readConverterExp = "跳=转小程序") + private String redirectUrl; + + /** 视频号(导向视频号、导向视频号直播间) */ + @Excel(name = "视频号", readConverterExp = "导=向视频号、导向视频号直播间") + private String videoNo; + + /** 视频号feedId(导向视频号) */ + @Excel(name = "视频号feedId", readConverterExp = "导=向视频号") + private String feedId; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setSiteName(String siteName) + { + this.siteName = siteName; + } + + public String getSiteName() + { + return siteName; + } + + public String getFileUrl() { + return fileUrl; + } + + public void setFileUrl(String fileUrl) { + this.fileUrl = fileUrl; + } + + public void setSiteStartTime(Date siteStartTime) + { + this.siteStartTime = siteStartTime; + } + + public Date getSiteStartTime() + { + return siteStartTime; + } + public void setSiteEndTime(Date siteEndTime) + { + this.siteEndTime = siteEndTime; + } + + public Date getSiteEndTime() + { + return siteEndTime; + } + public void setUserRegisterStartTime(Date userRegisterStartTime) + { + this.userRegisterStartTime = userRegisterStartTime; + } + + public Date getUserRegisterStartTime() + { + return userRegisterStartTime; + } + public void setUserRegisterEndTime(Date userRegisterEndTime) + { + this.userRegisterEndTime = userRegisterEndTime; + } + + public Date getUserRegisterEndTime() + { + return userRegisterEndTime; + } + public void setOpenType(Integer openType) + { + this.openType = openType; + } + + public Integer getOpenType() + { + return openType; + } + public void setPushType(Integer pushType) + { + this.pushType = pushType; + } + + public Integer getPushType() + { + return pushType; + } + public void setPushNumber(Integer pushNumber) + { + this.pushNumber = pushNumber; + } + + public Integer getPushNumber() + { + return pushNumber; + } + public void setPushTimer(String pushTimer) + { + this.pushTimer = pushTimer; + } + + public String getPushTimer() + { + return pushTimer; + } + public void setShowWechatTag(String showWechatTag) + { + this.showWechatTag = showWechatTag; + } + + public String getShowWechatTag() + { + return showWechatTag; + } + public void setShowWechatTagId(String showWechatTagId) + { + this.showWechatTagId = showWechatTagId; + } + + public String getShowWechatTagId() + { + return showWechatTagId; + } + public void setShowCompanyTag(String showCompanyTag) + { + this.showCompanyTag = showCompanyTag; + } + + public String getShowCompanyTag() + { + return showCompanyTag; + } + public void setShowCompanyTagId(String showCompanyTagId) + { + this.showCompanyTagId = showCompanyTagId; + } + + public String getShowCompanyTagId() + { + return showCompanyTagId; + } + public void setForbidWechatTag(String forbidWechatTag) + { + this.forbidWechatTag = forbidWechatTag; + } + + public String getForbidWechatTag() + { + return forbidWechatTag; + } + public void setForbidWechatTagId(String forbidWechatTagId) + { + this.forbidWechatTagId = forbidWechatTagId; + } + + public String getForbidWechatTagId() + { + return forbidWechatTagId; + } + public void setForbidCompanyTag(String forbidCompanyTag) + { + this.forbidCompanyTag = forbidCompanyTag; + } + + public String getForbidCompanyTag() + { + return forbidCompanyTag; + } + public void setForbidCompanyTagId(String forbidCompanyTagId) + { + this.forbidCompanyTagId = forbidCompanyTagId; + } + + public String getForbidCompanyTagId() + { + return forbidCompanyTagId; + } + public void setChannelName(String channelName) + { + this.channelName = channelName; + } + + public String getChannelName() + { + return channelName; + } + public void setChannelId(String channelId) + { + this.channelId = channelId; + } + + public String getChannelId() + { + return channelId; + } + public void setMachineName(String machineName) + { + this.machineName = machineName; + } + + public String getMachineName() + { + return machineName; + } + public void setMachineId(String machineId) + { + this.machineId = machineId; + } + + public String getMachineId() + { + return machineId; + } + public void setUserType(Integer userType) + { + this.userType = userType; + } + + public Integer getUserType() + { + return userType; + } + public void setOperate(Integer operate) + { + this.operate = operate; + } + + public Integer getOperate() + { + return operate; + } + public void setSignNumber(Long signNumber) + { + this.signNumber = signNumber; + } + + public Long getSignNumber() + { + return signNumber; + } + public void setOrderNumber(Long orderNumber) + { + this.orderNumber = orderNumber; + } + + public Long getOrderNumber() + { + return orderNumber; + } + public void setType(Integer type) + { + this.type = type; + } + + public Integer getType() + { + return type; + } + public void setLink(String link) + { + this.link = link; + } + + public String getLink() + { + return link; + } + public void setLinkParams(String linkParams) + { + this.linkParams = linkParams; + } + + public String getLinkParams() + { + return linkParams; + } + public void setRedirectAppid(String redirectAppid) + { + this.redirectAppid = redirectAppid; + } + + public String getRedirectAppid() + { + return redirectAppid; + } + public void setRedirectUrl(String redirectUrl) + { + this.redirectUrl = redirectUrl; + } + + public String getRedirectUrl() + { + return redirectUrl; + } + public void setVideoNo(String videoNo) + { + this.videoNo = videoNo; + } + + public String getVideoNo() + { + return videoNo; + } + public void setFeedId(String feedId) + { + this.feedId = feedId; + } + + public String getFeedId() + { + return feedId; + } + + public List getPushTimerArray() { + return pushTimerArray; + } + + public void setPushTimerArray(List pushTimerArray) { + this.pushTimerArray = pushTimerArray; + } + + public List getShowWechatTagArray() { + return showWechatTagArray; + } + + public void setShowWechatTagArray(List showWechatTagArray) { + this.showWechatTagArray = showWechatTagArray; + } + + public List getShowCompanyTagArray() { + return showCompanyTagArray; + } + + public void setShowCompanyTagArray(List showCompanyTagArray) { + this.showCompanyTagArray = showCompanyTagArray; + } + + public List getForbidWechatTagArray() { + return forbidWechatTagArray; + } + + public void setForbidWechatTagArray(List forbidWechatTagArray) { + this.forbidWechatTagArray = forbidWechatTagArray; + } + + public List getForbidCompanyTagArray() { + return forbidCompanyTagArray; + } + + public void setForbidCompanyTagArray(List forbidCompanyTagArray) { + this.forbidCompanyTagArray = forbidCompanyTagArray; + } + + public List getStartTime() { + return startTime; + } + + public void setStartTime(List startTime) { + this.startTime = startTime; + } + + public List getRegisterTime() { + return registerTime; + } + + public void setRegisterTime(List registerTime) { + this.registerTime = registerTime; + } + + public List getChannelArray() { + return channelArray; + } + + public void setChannelArray(List channelArray) { + this.channelArray = channelArray; + } + + public List getMachineArray() { + return machineArray; + } + + public void setMachineArray(List machineArray) { + this.machineArray = machineArray; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("siteName", getSiteName()) + .append("siteStartTime", getSiteStartTime()) + .append("siteEndTime", getSiteEndTime()) + .append("userRegisterStartTime", getUserRegisterStartTime()) + .append("userRegisterEndTime", getUserRegisterEndTime()) + .append("openType", getOpenType()) + .append("pushType", getPushType()) + .append("pushNumber", getPushNumber()) + .append("pushTimer", getPushTimer()) + .append("showWechatTag", getShowWechatTag()) + .append("showWechatTagId", getShowWechatTagId()) + .append("showCompanyTag", getShowCompanyTag()) + .append("showCompanyTagId", getShowCompanyTagId()) + .append("forbidWechatTag", getForbidWechatTag()) + .append("forbidWechatTagId", getForbidWechatTagId()) + .append("forbidCompanyTag", getForbidCompanyTag()) + .append("forbidCompanyTagId", getForbidCompanyTagId()) + .append("channelName", getChannelName()) + .append("channelId", getChannelId()) + .append("machineName", getMachineName()) + .append("machineId", getMachineId()) + .append("userType", getUserType()) + .append("operate", getOperate()) + .append("signNumber", getSignNumber()) + .append("orderNumber", getOrderNumber()) + .append("type", getType()) + .append("link", getLink()) + .append("linkParams", getLinkParams()) + .append("redirectAppid", getRedirectAppid()) + .append("redirectUrl", getRedirectUrl()) + .append("videoNo", getVideoNo()) + .append("feedId", getFeedId()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SiteInfoChannel.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SiteInfoChannel.java new file mode 100644 index 0000000..29a3032 --- /dev/null +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SiteInfoChannel.java @@ -0,0 +1,84 @@ +package com.flossom.common.core.domain.entity; + +import com.flossom.common.core.annotation.Excel; +import com.flossom.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 站点与渠道关联对象 site_info_channel + * + * @author flossom + * @date 2023-12-21 + */ +public class SiteInfoChannel extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 话术主键 */ + @Excel(name = "话术主键") + private Long siteId; + + /** 渠道主键 */ + @Excel(name = "渠道主键") + private Long channelId; + + /** 状态(0正常 1停用) */ + @Excel(name = "状态", readConverterExp = "0=正常,1=停用") + private Long status; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setSiteId(Long siteId) + { + this.siteId = siteId; + } + + public Long getSiteId() + { + return siteId; + } + public void setChannelId(Long channelId) + { + this.channelId = channelId; + } + + public Long getChannelId() + { + return channelId; + } + public void setStatus(Long status) + { + this.status = status; + } + + public Long getStatus() + { + return status; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("siteId", getSiteId()) + .append("channelId", getChannelId()) + .append("status", getStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SiteInfoTag.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SiteInfoTag.java new file mode 100644 index 0000000..117606b --- /dev/null +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/SiteInfoTag.java @@ -0,0 +1,84 @@ +package com.flossom.common.core.domain.entity; + +import com.flossom.common.core.annotation.Excel; +import com.flossom.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 站点与标签关联对象 site_info_tag + * + * @author flossom + * @date 2023-12-21 + */ +public class SiteInfoTag extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 话术主键 */ + @Excel(name = "话术主键") + private Long siteId; + + /** 标签主键 */ + @Excel(name = "标签主键") + private Long tagId; + + /** 状态(0正常 1禁用) */ + @Excel(name = "状态", readConverterExp = "0=正常,1=禁用") + private Long status; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setSiteId(Long siteId) + { + this.siteId = siteId; + } + + public Long getSiteId() + { + return siteId; + } + public void setTagId(Long tagId) + { + this.tagId = tagId; + } + + public Long getTagId() + { + return tagId; + } + public void setStatus(Long status) + { + this.status = status; + } + + public Long getStatus() + { + return status; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("siteId", getSiteId()) + .append("tagId", getTagId()) + .append("status", getStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteInfoChannelMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteInfoChannelMapper.java new file mode 100644 index 0000000..10b478c --- /dev/null +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteInfoChannelMapper.java @@ -0,0 +1,62 @@ +package com.flossom.common.core.mapper; + +import com.flossom.common.core.domain.entity.SiteInfoChannel; + +import java.util.List; + +/** + * 站点与渠道关联Mapper接口 + * + * @author flossom + * @date 2023-12-21 + */ +public interface SiteInfoChannelMapper +{ + /** + * 查询站点与渠道关联 + * + * @param id 站点与渠道关联主键 + * @return 站点与渠道关联 + */ + public SiteInfoChannel selectSiteInfoChannelById(Long id); + + /** + * 查询站点与渠道关联列表 + * + * @param siteInfoChannel 站点与渠道关联 + * @return 站点与渠道关联集合 + */ + public List selectSiteInfoChannelList(SiteInfoChannel siteInfoChannel); + + /** + * 新增站点与渠道关联 + * + * @param siteInfoChannel 站点与渠道关联 + * @return 结果 + */ + public int insertSiteInfoChannel(SiteInfoChannel siteInfoChannel); + + /** + * 修改站点与渠道关联 + * + * @param siteInfoChannel 站点与渠道关联 + * @return 结果 + */ + public int updateSiteInfoChannel(SiteInfoChannel siteInfoChannel); + + /** + * 删除站点与渠道关联 + * + * @param id 站点与渠道关联主键 + * @return 结果 + */ + public int deleteSiteInfoChannelById(Long id); + + /** + * 批量删除站点与渠道关联 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSiteInfoChannelByIds(Long[] ids); +} diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteInfoMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteInfoMapper.java new file mode 100644 index 0000000..4091d8c --- /dev/null +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteInfoMapper.java @@ -0,0 +1,62 @@ +package com.flossom.common.core.mapper; + +import com.flossom.common.core.domain.entity.SiteInfo; + +import java.util.List; + +/** + * 站点管理Mapper接口 + * + * @author flossom + * @date 2023-12-20 + */ +public interface SiteInfoMapper +{ + /** + * 查询站点管理 + * + * @param id 站点管理主键 + * @return 站点管理 + */ + public SiteInfo selectSiteInfoById(Long id); + + /** + * 查询站点管理列表 + * + * @param siteInfo 站点管理 + * @return 站点管理集合 + */ + public List selectSiteInfoList(SiteInfo siteInfo); + + /** + * 新增站点管理 + * + * @param siteInfo 站点管理 + * @return 结果 + */ + public int insertSiteInfo(SiteInfo siteInfo); + + /** + * 修改站点管理 + * + * @param siteInfo 站点管理 + * @return 结果 + */ + public int updateSiteInfo(SiteInfo siteInfo); + + /** + * 删除站点管理 + * + * @param id 站点管理主键 + * @return 结果 + */ + public int deleteSiteInfoById(Long id); + + /** + * 批量删除站点管理 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSiteInfoByIds(Long[] ids); +} diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteInfoTagMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteInfoTagMapper.java new file mode 100644 index 0000000..fab8ad5 --- /dev/null +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/SiteInfoTagMapper.java @@ -0,0 +1,72 @@ +package com.flossom.common.core.mapper; + +import java.util.List; + +import com.flossom.common.core.domain.entity.SiteInfoTag; + +/** + * 站点与标签关联Mapper接口 + * + * @author flossom + * @date 2023-12-21 + */ +public interface SiteInfoTagMapper +{ + /** + * 查询站点与标签关联 + * + * @param id 站点与标签关联主键 + * @return 站点与标签关联 + */ + public SiteInfoTag selectSiteInfoTagById(Long id); + + /** + * 查询站点与标签关联列表 + * + * @param siteInfoTag 站点与标签关联 + * @return 站点与标签关联集合 + */ + public List selectSiteInfoTagList(SiteInfoTag siteInfoTag); + + /** + * 新增站点与标签关联 + * + * @param siteInfoTag 站点与标签关联 + * @return 结果 + */ + public int insertSiteInfoTag(SiteInfoTag siteInfoTag); + + /** + * 修改站点与标签关联 + * + * @param siteInfoTag 站点与标签关联 + * @return 结果 + */ + public int updateSiteInfoTag(SiteInfoTag siteInfoTag); + + /** + * 删除站点与标签关联 + * + * @param id 站点与标签关联主键 + * @return 结果 + */ + public int deleteSiteInfoTagById(Long id); + + /** + * 批量删除站点与标签关联 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSiteInfoTagByIds(Long[] ids); + + + + /** + * 删除站点与标签关联 + * + * @param id 站点与标签关联主键 + * @return 结果 + */ + public int deleteSiteInfoTagBySiteId(Long id); +} diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoChannelMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoChannelMapper.xml new file mode 100644 index 0000000..97d4a07 --- /dev/null +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoChannelMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + select id, site_id, channel_id, status, create_by, create_time, update_by, update_time, remark from site_info_channel + + + + + + + + insert into site_info_channel + + site_id, + channel_id, + status, + create_by, + create_time, + update_by, + update_time, + remark, + + + #{siteId}, + #{channelId}, + #{status}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + + + + + update site_info_channel + + site_id = #{siteId}, + channel_id = #{channelId}, + status = #{status}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + + where id = #{id} + + + + delete from site_info_channel where id = #{id} + + + + delete from site_info_channel where id in + + #{id} + + + diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoMapper.xml new file mode 100644 index 0000000..9a79763 --- /dev/null +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoMapper.xml @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, site_name, file_url, site_start_time, site_end_time, user_register_start_time, user_register_end_time, open_type, push_type, push_number, push_timer, show_wechat_tag, show_wechat_tag_id, show_company_tag, show_company_tag_id, forbid_wechat_tag, forbid_wechat_tag_id, forbid_company_tag, forbid_company_tag_id, channel_name, channel_id, machine_name, machine_id, user_type, operate, sign_number, order_number, type, link, link_params, redirect_appid, redirect_url, video_no, feed_id, create_by, create_time, update_by, update_time from site_info + + + + + + + + insert into site_info + + id, + site_name, + file_url, + site_start_time, + site_end_time, + user_register_start_time, + user_register_end_time, + open_type, + push_type, + push_number, + push_timer, + show_wechat_tag, + show_wechat_tag_id, + show_company_tag, + show_company_tag_id, + forbid_wechat_tag, + forbid_wechat_tag_id, + forbid_company_tag, + forbid_company_tag_id, + channel_name, + channel_id, + machine_name, + machine_id, + user_type, + operate, + sign_number, + order_number, + type, + link, + link_params, + redirect_appid, + redirect_url, + video_no, + feed_id, + create_by, + create_time, + update_by, + update_time, + + + #{id}, + #{siteName}, + #{fileUrl}, + #{siteStartTime}, + #{siteEndTime}, + #{userRegisterStartTime}, + #{userRegisterEndTime}, + #{openType}, + #{pushType}, + #{pushNumber}, + #{pushTimer}, + #{showWechatTag}, + #{showWechatTagId}, + #{showCompanyTag}, + #{showCompanyTagId}, + #{forbidWechatTag}, + #{forbidWechatTagId}, + #{forbidCompanyTag}, + #{forbidCompanyTagId}, + #{channelName}, + #{channelId}, + #{machineName}, + #{machineId}, + #{userType}, + #{operate}, + #{signNumber}, + #{orderNumber}, + #{type}, + #{link}, + #{linkParams}, + #{redirectAppid}, + #{redirectUrl}, + #{videoNo}, + #{feedId}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update site_info + + site_name = #{siteName}, + file_url = #{fileUrl}, + site_start_time = #{siteStartTime}, + site_end_time = #{siteEndTime}, + user_register_start_time = #{userRegisterStartTime}, + user_register_end_time = #{userRegisterEndTime}, + open_type = #{openType}, + push_type = #{pushType}, + push_number = #{pushNumber}, + push_timer = #{pushTimer}, + show_wechat_tag = #{showWechatTag}, + show_wechat_tag_id = #{showWechatTagId}, + show_company_tag = #{showCompanyTag}, + show_company_tag_id = #{showCompanyTagId}, + forbid_wechat_tag = #{forbidWechatTag}, + forbid_wechat_tag_id = #{forbidWechatTagId}, + forbid_company_tag = #{forbidCompanyTag}, + forbid_company_tag_id = #{forbidCompanyTagId}, + channel_name = #{channelName}, + channel_id = #{channelId}, + machine_name = #{machineName}, + machine_id = #{machineId}, + user_type = #{userType}, + operate = #{operate}, + sign_number = #{signNumber}, + order_number = #{orderNumber}, + type = #{type}, + link = #{link}, + link_params = #{linkParams}, + redirect_appid = #{redirectAppid}, + redirect_url = #{redirectUrl}, + video_no = #{videoNo}, + feed_id = #{feedId}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from site_info where id = #{id} + + + + delete from site_info where id in + + #{id} + + + diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoTagMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoTagMapper.xml new file mode 100644 index 0000000..84c7b19 --- /dev/null +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoTagMapper.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + select id, site_id, tag_id, status, create_by, create_time, update_by, update_time, remark from site_info_tag + + + + + + + + insert into site_info_tag + + site_id, + tag_id, + status, + create_by, + create_time, + update_by, + update_time, + remark, + + + #{siteId}, + #{tagId}, + #{status}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + + + + + update site_info_tag + + site_id = #{siteId}, + tag_id = #{tagId}, + status = #{status}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + + where id = #{id} + + + + delete from site_info_tag where id = #{id} + + + + delete from site_info_tag where id in + + #{id} + + + + + delete from site_info_tag where site_id = #{id} + + + diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/SiteInfoController.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/SiteInfoController.java new file mode 100644 index 0000000..031ae86 --- /dev/null +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/SiteInfoController.java @@ -0,0 +1,106 @@ +package com.flossom.system.controller; + +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; + +import com.flossom.common.core.domain.entity.SiteInfo; +import com.flossom.common.core.utils.poi.ExcelUtil; +import com.flossom.common.core.web.controller.BaseController; +import com.flossom.common.core.web.domain.AjaxResult; +import com.flossom.common.core.web.page.TableDataInfo; +import com.flossom.common.log.annotation.Log; +import com.flossom.common.log.enums.BusinessType; +import com.flossom.common.security.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.flossom.system.service.ISiteInfoService; + +/** + * 站点管理Controller + * + * @author flossom + * @date 2023-12-20 + */ +@RestController +@RequestMapping("/siteInfo") +public class SiteInfoController extends BaseController +{ + @Autowired + private ISiteInfoService siteInfoService; + + /** + * 查询站点管理列表 + */ + @RequiresPermissions("system:siteInfo:list") + @GetMapping("/list") + public TableDataInfo list(SiteInfo siteInfo) + { + startPage(); + List list = siteInfoService.selectSiteInfoList(siteInfo); + return getDataTable(list); + } + + /** + * 导出站点管理列表 + */ + @RequiresPermissions("system:siteInfo:export") + @Log(title = "站点管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SiteInfo siteInfo) + { + List list = siteInfoService.selectSiteInfoList(siteInfo); + ExcelUtil util = new ExcelUtil(SiteInfo.class); + util.exportExcel(response, list, "站点管理数据"); + } + + /** + * 获取站点管理详细信息 + */ + @RequiresPermissions("system:siteInfo:query") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(siteInfoService.selectSiteInfoById(id)); + } + + /** + * 新增站点管理 + */ + @RequiresPermissions("system:siteInfo:add") + @Log(title = "站点管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SiteInfo siteInfo) + { + return toAjax(siteInfoService.insertSiteInfo(siteInfo)); + } + + /** + * 修改站点管理 + */ + @RequiresPermissions("system:siteInfo:edit") + @Log(title = "站点管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SiteInfo siteInfo) + { + return toAjax(siteInfoService.updateSiteInfo(siteInfo)); + } + + /** + * 删除站点管理 + */ + @RequiresPermissions("system:siteInfo:remove") + @Log(title = "站点管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(siteInfoService.deleteSiteInfoByIds(ids)); + } +} diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/ISiteInfoService.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/ISiteInfoService.java new file mode 100644 index 0000000..7e1f424 --- /dev/null +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/ISiteInfoService.java @@ -0,0 +1,62 @@ +package com.flossom.system.service; + +import com.flossom.common.core.domain.entity.SiteInfo; + +import java.util.List; + +/** + * 站点管理Service接口 + * + * @author flossom + * @date 2023-12-20 + */ +public interface ISiteInfoService +{ + /** + * 查询站点管理 + * + * @param id 站点管理主键 + * @return 站点管理 + */ + public SiteInfo selectSiteInfoById(Long id); + + /** + * 查询站点管理列表 + * + * @param siteInfo 站点管理 + * @return 站点管理集合 + */ + public List selectSiteInfoList(SiteInfo siteInfo); + + /** + * 新增站点管理 + * + * @param siteInfo 站点管理 + * @return 结果 + */ + public int insertSiteInfo(SiteInfo siteInfo); + + /** + * 修改站点管理 + * + * @param siteInfo 站点管理 + * @return 结果 + */ + public int updateSiteInfo(SiteInfo siteInfo); + + /** + * 批量删除站点管理 + * + * @param ids 需要删除的站点管理主键集合 + * @return 结果 + */ + public int deleteSiteInfoByIds(Long[] ids); + + /** + * 删除站点管理信息 + * + * @param id 站点管理主键 + * @return 结果 + */ + public int deleteSiteInfoById(Long id); +} 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 new file mode 100644 index 0000000..9db512f --- /dev/null +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/SiteInfoServiceImpl.java @@ -0,0 +1,340 @@ +package com.flossom.system.service.impl; + +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +import com.flossom.common.core.domain.entity.*; +import com.flossom.common.core.mapper.*; +import com.flossom.common.core.utils.DateUtils; +import com.flossom.common.core.utils.StringUtils; +import com.flossom.common.security.utils.SecurityUtils; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.flossom.system.service.ISiteInfoService; +import org.springframework.util.CollectionUtils; + +/** + * 站点管理Service业务层处理 + * + * @author flossom + * @date 2023-12-20 + */ +@Service +public class SiteInfoServiceImpl implements ISiteInfoService +{ + @Autowired + private SiteInfoMapper siteInfoMapper; + @Autowired + private SysTagMapper sysTagMapper; + @Autowired + private ActivityChannelInfoMapper activityChannelInfoMapper; + @Autowired + private SiteInfoTagMapper siteInfoTagMapper; + @Autowired + private SiteInfoChannelMapper siteInfoChannelMapper; + /** + * 查询站点管理 + * + * @param id 站点管理主键 + * @return 站点管理 + */ + @Override + public SiteInfo selectSiteInfoById(Long id) + { + // 开始处理回显 + SiteInfo siteInfo = siteInfoMapper.selectSiteInfoById(id); + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + if(Objects.nonNull(siteInfo.getSiteStartTime())) { + siteInfo.getStartTime().add(sd.format(siteInfo.getSiteStartTime())); + } + if(Objects.nonNull(siteInfo.getSiteEndTime())) { + siteInfo.getStartTime().add(sd.format(siteInfo.getSiteEndTime())); + } + if(Objects.nonNull(siteInfo.getUserRegisterStartTime())) { + siteInfo.getRegisterTime().add(sd.format(siteInfo.getUserRegisterStartTime())); + } + if(Objects.nonNull(siteInfo.getUserRegisterEndTime())) { + siteInfo.getRegisterTime().add(sd.format(siteInfo.getUserRegisterEndTime())); + } + // 处理推送时间 + if (StringUtils.isNotEmpty(siteInfo.getPushTimer())) { + List pushTimerList = Arrays.asList(siteInfo.getPushTimer().split(",")).stream().map(Long::parseLong).collect(Collectors.toList()); + siteInfo.setPushTimerArray(pushTimerList); + } + // 处理禁用企微标签数组 + if (StringUtils.isNotEmpty(siteInfo.getForbidCompanyTagId())) { + List forbidCompanyList = Arrays.asList(siteInfo.getForbidCompanyTagId().split(",")).stream().map(Long::parseLong).collect(Collectors.toList()); + siteInfo.setForbidCompanyTagArray(forbidCompanyList); + } + // 处理禁用小程序标签数组 + if (StringUtils.isNotEmpty(siteInfo.getForbidWechatTagId())) { + List forbidWechatList = Arrays.asList(siteInfo.getForbidWechatTagId().split(",")).stream().map(Long::parseLong).collect(Collectors.toList()); + siteInfo.setForbidWechatTagArray(forbidWechatList); + } + // 处理可见小程序标签数组 + if (StringUtils.isNotEmpty(siteInfo.getShowWechatTagId())) { + List showWechatList = Arrays.asList(siteInfo.getShowWechatTagId().split(",")).stream().map(Long::parseLong).collect(Collectors.toList()); + siteInfo.setShowWechatTagArray(showWechatList); + } + // 处理可见企微标签数组 + if (StringUtils.isNotEmpty(siteInfo.getShowCompanyTagId())) { + List showCompanyList = Arrays.asList(siteInfo.getShowCompanyTagId().split(",")).stream().map(Long::parseLong).collect(Collectors.toList()); + siteInfo.setShowCompanyTagArray(showCompanyList); + } + // 处理渠道展示 + if (StringUtils.isNotEmpty(siteInfo.getChannelId())) { + List channelLisn = Arrays.asList(siteInfo.getChannelId().split(",")).stream().map(Long::parseLong).collect(Collectors.toList()); + siteInfo.setChannelArray(channelLisn); + } + + return siteInfo; + } + + /** + * 查询站点管理列表 + * + * @param siteInfo 站点管理 + * @return 站点管理 + */ + @Override + public List selectSiteInfoList(SiteInfo siteInfo) + { + return siteInfoMapper.selectSiteInfoList(siteInfo); + } + + /** + * 新增站点管理 + * + * @param siteInfo 站点管理 + * @return 结果 + */ + @Override + public int insertSiteInfo(SiteInfo siteInfo) + { + siteInfo.setCreateTime(DateUtils.getNowDate()); + siteInfo.setCreateBy(SecurityUtils.getUsername()); + List showWechatTagNew = Lists.newArrayList(); + List showCompanyTagNew = Lists.newArrayList(); + List forbidWechatTagNew = Lists.newArrayList(); + List forbidCompanyTagNew = Lists.newArrayList(); + List channelListNew = Lists.newArrayList(); + this.commonHandler(siteInfo,showWechatTagNew,showCompanyTagNew,forbidWechatTagNew,forbidCompanyTagNew,channelListNew); + + // 开始保存关联关系 + int i = siteInfoMapper.insertSiteInfo(siteInfo); + + this.commonHandlerRelation(siteInfo,showWechatTagNew,showCompanyTagNew,forbidWechatTagNew,forbidCompanyTagNew,channelListNew); + + return i; + } + + // 新增、更新统一处理关联关系 + private void commonHandlerRelation(SiteInfo siteInfo,List showWechatTagNew,List showCompanyTagNew,List forbidWechatTagNew,List forbidCompanyTagNew,List channelListNew){ + // 保存可见小程序标签关联关系 + for (SysTag tag: showWechatTagNew) { + SiteInfoTag infoTag = new SiteInfoTag(); + infoTag.setSiteId(siteInfo.getId()); + infoTag.setTagId(tag.getId()); + infoTag.setStatus(0l); + infoTag.setCreateBy(SecurityUtils.getUsername()); + infoTag.setCreateTime(DateUtils.getNowDate()); + siteInfoTagMapper.insertSiteInfoTag(infoTag); + } + // 保存可见企微标签关联关系 + for (SysTag tag: showCompanyTagNew) { + SiteInfoTag infoTag = new SiteInfoTag(); + infoTag.setSiteId(siteInfo.getId()); + infoTag.setTagId(tag.getId()); + infoTag.setStatus(0l); + infoTag.setCreateBy(SecurityUtils.getUsername()); + infoTag.setCreateTime(DateUtils.getNowDate()); + siteInfoTagMapper.insertSiteInfoTag(infoTag); + } + // 保存禁用小程序关联关系 + for (SysTag tag: forbidWechatTagNew) { + SiteInfoTag infoTag = new SiteInfoTag(); + infoTag.setSiteId(siteInfo.getId()); + infoTag.setTagId(tag.getId()); + infoTag.setStatus(1l); + infoTag.setCreateBy(SecurityUtils.getUsername()); + infoTag.setCreateTime(DateUtils.getNowDate()); + siteInfoTagMapper.insertSiteInfoTag(infoTag); + } + // 保存禁用企微标签关联关系 + for (SysTag tag: forbidCompanyTagNew) { + SiteInfoTag infoTag = new SiteInfoTag(); + infoTag.setSiteId(siteInfo.getId()); + infoTag.setTagId(tag.getId()); + infoTag.setStatus(1l); + infoTag.setCreateBy(SecurityUtils.getUsername()); + infoTag.setCreateTime(DateUtils.getNowDate()); + siteInfoTagMapper.insertSiteInfoTag(infoTag); + } + // 保存渠道关联关系 + for (ActivityChannelInfo channel: channelListNew) { + SiteInfoChannel channelInfo = new SiteInfoChannel(); + channelInfo.setSiteId(siteInfo.getId()); + channelInfo.setChannelId(channel.getId()); + channelInfo.setStatus(0l); + channelInfo.setCreateBy(SecurityUtils.getUsername()); + channelInfo.setCreateTime(DateUtils.getNowDate()); + siteInfoChannelMapper.insertSiteInfoChannel(channelInfo); + } + } + // 新增、更新统一调用汇总 + private void commonHandler(SiteInfo siteInfo,List showWechatTagNew,List showCompanyTagNew,List forbidWechatTagNew,List forbidCompanyTagNew,List channelListNew){ + // 如果是自定义频次,则需要保存推送时间 周一到周日 + if (!CollectionUtils.isEmpty(siteInfo.getPushTimerArray())) { + siteInfo.setPushTimer(StringUtils.join(siteInfo.getPushTimerArray(),",")); + } + // 保存可见小程序标签 + if (!CollectionUtils.isEmpty(siteInfo.getShowWechatTagArray())) { + List showWechatTagArray = siteInfo.getShowWechatTagArray(); + for(long tagId : showWechatTagArray) { + SysTag sysTag = sysTagMapper.selectDeptById(tagId); + if (Objects.nonNull(sysTag)) { + showWechatTagNew.add(sysTag); + } + } + } + if (!CollectionUtils.isEmpty(showWechatTagNew)) { + String tagNames = showWechatTagNew.stream().map(SysTag::getTagName).collect(Collectors.joining(",")); + siteInfo.setShowWechatTag(tagNames); + List resultList = showWechatTagNew.stream().map(SysTag::getId).collect(Collectors.toList()); + String ids = StringUtils.join(resultList, ","); + siteInfo.setShowWechatTagId(ids); + } + // 保存可见企微标签 + if (!CollectionUtils.isEmpty(siteInfo.getShowCompanyTagArray())) { + List showCompanyTagArray = siteInfo.getShowCompanyTagArray(); + for(long tagId : showCompanyTagArray) { + SysTag sysTag = sysTagMapper.selectDeptById(tagId); + if (Objects.nonNull(sysTag)) { + showCompanyTagNew.add(sysTag); + } + } + } + if (!CollectionUtils.isEmpty(showCompanyTagNew)) { + String tagNames = showCompanyTagNew.stream().map(SysTag::getTagName).collect(Collectors.joining(",")); + siteInfo.setShowCompanyTag(tagNames); + List resultList = showCompanyTagNew.stream().map(SysTag::getId).collect(Collectors.toList()); + String ids = StringUtils.join(resultList, ","); + siteInfo.setShowCompanyTagId(ids); + } + // 保存禁用小程序标签 + if (!CollectionUtils.isEmpty(siteInfo.getForbidWechatTagArray())) { + List forbidWechatTagArray = siteInfo.getForbidWechatTagArray(); + for(long tagId : forbidWechatTagArray) { + SysTag sysTag = sysTagMapper.selectDeptById(tagId); + if (Objects.nonNull(sysTag)) { + forbidWechatTagNew.add(sysTag); + } + } + } + if (!CollectionUtils.isEmpty(forbidWechatTagNew)) { + String tagNames = forbidWechatTagNew.stream().map(SysTag::getTagName).collect(Collectors.joining(",")); + siteInfo.setForbidWechatTag(tagNames); + List resultList = forbidWechatTagNew.stream().map(SysTag::getId).collect(Collectors.toList()); + String ids = StringUtils.join(resultList, ","); + siteInfo.setForbidWechatTagId(ids); + } + // 保存禁用企微标签 + if (!CollectionUtils.isEmpty(siteInfo.getForbidCompanyTagArray())) { + List forbidCompanyTagArray = siteInfo.getForbidCompanyTagArray(); + for(long tagId : forbidCompanyTagArray) { + SysTag sysTag = sysTagMapper.selectDeptById(tagId); + if (Objects.nonNull(sysTag)) { + forbidCompanyTagNew.add(sysTag); + } + } + } + if (!CollectionUtils.isEmpty(forbidCompanyTagNew)) { + String tagNames = forbidCompanyTagNew.stream().map(SysTag::getTagName).collect(Collectors.joining(",")); + siteInfo.setForbidCompanyTag(tagNames); + List resultList = forbidCompanyTagNew.stream().map(SysTag::getId).collect(Collectors.toList()); + String ids = StringUtils.join(resultList, ","); + siteInfo.setForbidCompanyTagId(ids); + } + + // 保存渠道信息 + if (!CollectionUtils.isEmpty(siteInfo.getChannelArray())) { + List channelArray = siteInfo.getChannelArray(); + for(long channelId : channelArray) { + ActivityChannelInfo channelInfo = activityChannelInfoMapper.selectActivityChannelInfoById(channelId); + if (Objects.nonNull(channelInfo)) { + channelListNew.add(channelInfo); + } + } + } + if (!CollectionUtils.isEmpty(channelListNew)) { + String channelNames = channelListNew.stream().map(ActivityChannelInfo::getChannelName).collect(Collectors.joining(",")); + siteInfo.setChannelName(channelNames); + List resultList = channelListNew.stream().map(ActivityChannelInfo::getId).collect(Collectors.toList()); + String ids = StringUtils.join(resultList, ","); + siteInfo.setChannelId(ids); + } + } + + /** + * 修改站点管理 + * + * @param siteInfo 站点管理 + * @return 结果 + */ + @Override + public int updateSiteInfo(SiteInfo siteInfo) + { + siteInfo.setUpdateTime(DateUtils.getNowDate()); + siteInfo.setUpdateBy(SecurityUtils.getUsername()); + siteInfo.setForbidCompanyTag(""); + siteInfo.setForbidCompanyTagId(""); + siteInfo.setForbidWechatTag(""); + siteInfo.setForbidWechatTagId(""); + siteInfo.setChannelId(""); + siteInfo.setChannelName(""); + siteInfo.setShowWechatTagId(""); + siteInfo.setShowWechatTag(""); + siteInfo.setShowCompanyTagId(""); + siteInfo.setShowCompanyTag(""); + List showWechatTagNew = Lists.newArrayList(); + List showCompanyTagNew = Lists.newArrayList(); + List forbidWechatTagNew = Lists.newArrayList(); + List forbidCompanyTagNew = Lists.newArrayList(); + List channelListNew = Lists.newArrayList(); + this.commonHandler(siteInfo,showWechatTagNew,showCompanyTagNew,forbidWechatTagNew,forbidCompanyTagNew,channelListNew); + // 删除关联关系 + siteInfoTagMapper.deleteSiteInfoTagBySiteId(siteInfo.getId()); + + // 保存新的关联关系 + this.commonHandlerRelation(siteInfo,showWechatTagNew,showCompanyTagNew,forbidWechatTagNew,forbidCompanyTagNew,channelListNew); + return siteInfoMapper.updateSiteInfo(siteInfo); + } + + /** + * 批量删除站点管理 + * + * @param ids 需要删除的站点管理主键 + * @return 结果 + */ + @Override + public int deleteSiteInfoByIds(Long[] ids) + { + return siteInfoMapper.deleteSiteInfoByIds(ids); + } + + /** + * 删除站点管理信息 + * + * @param id 站点管理主键 + * @return 结果 + */ + @Override + public int deleteSiteInfoById(Long id) + { + return siteInfoMapper.deleteSiteInfoById(id); + } +} diff --git a/flossom-ui/src/api/system/channelInfo.js b/flossom-ui/src/api/system/channelInfo.js index 78409aa..cb2a3eb 100644 --- a/flossom-ui/src/api/system/channelInfo.js +++ b/flossom-ui/src/api/system/channelInfo.js @@ -8,7 +8,13 @@ export function listInfo(query) { params: query }) } - +export function listChannelInfo(query) { + return request({ + url: '/system/channelInfo/list', + method: 'get', + params: query + }) +} // 查询【请填写功能名称】详细 export function getInfo(id) { return request({ diff --git a/flossom-ui/src/api/system/siteInfo.js b/flossom-ui/src/api/system/siteInfo.js new file mode 100644 index 0000000..3a635b6 --- /dev/null +++ b/flossom-ui/src/api/system/siteInfo.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询站点管理列表 +export function listInfo(query) { + return request({ + url: '/system/siteInfo/list', + method: 'get', + params: query + }) +} + +// 查询站点管理详细 +export function getInfo(id) { + return request({ + url: '/system/siteInfo/' + id, + method: 'get' + }) +} + +// 新增站点管理 +export function addInfo(data) { + return request({ + url: '/system/siteInfo', + method: 'post', + data: data + }) +} + +// 修改站点管理 +export function updateInfo(data) { + return request({ + url: '/system/siteInfo', + method: 'put', + data: data + }) +} + +// 删除站点管理 +export function delInfo(id) { + return request({ + url: '/system/siteInfo/' + id, + method: 'delete' + }) +} diff --git a/flossom-ui/src/views/system/siteInfo/index.vue b/flossom-ui/src/views/system/siteInfo/index.vue new file mode 100644 index 0000000..fe552d7 --- /dev/null +++ b/flossom-ui/src/views/system/siteInfo/index.vue @@ -0,0 +1,676 @@ + + + From 657e725f94ff15bb4385aad0e6b908320c88cc44 Mon Sep 17 00:00:00 2001 From: elliott <382696293@qq.com> Date: Fri, 22 Dec 2023 10:51:13 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E7=AB=99=E7=82=B9=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E4=BB=A5=E5=8F=8A=E7=9B=B8=E5=85=B3=E8=81=94?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/SiteInfoMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoMapper.xml index 9a79763..ed045b8 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/SiteInfoMapper.xml @@ -86,7 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and video_no = #{videoNo} and feed_id = #{feedId} - order by order_number desc ,createTime desc + order by order_number desc