diff --git a/pom.xml b/pom.xml
index 195228065..6891d9920 100644
--- a/pom.xml
+++ b/pom.xml
@@ -221,6 +221,13 @@
${ruoyi.version}
+
+
+ com.ruoyi
+ ruoyi-content
+ ${ruoyi.version}
+
+
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 58df34fc3..a0f7ea690 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -79,6 +79,12 @@
ruoyi-generator
+
+
+ com.ruoyi
+ ruoyi-content
+
+
diff --git a/ruoyi-content/src/main/java/com/ruoyi/content/domain/CmsArticleAdInfo.java b/ruoyi-content/src/main/java/com/ruoyi/content/domain/CmsArticleAdInfo.java
new file mode 100644
index 000000000..b34d2a7b2
--- /dev/null
+++ b/ruoyi-content/src/main/java/com/ruoyi/content/domain/CmsArticleAdInfo.java
@@ -0,0 +1,235 @@
+package com.ruoyi.content.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 文章广告对象 cms_article_ad_info
+ *
+ * @author ruoyi
+ * @date 2021-03-23
+ */
+public class CmsArticleAdInfo extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** */
+ private Long adId;
+
+ /** 公司id */
+ @Excel(name = "公司id")
+ private String companyId;
+
+ /** 广告类型 */
+ @Excel(name = "广告类型")
+ private String adType;
+
+ /** 广告类型名 */
+ @Excel(name = "广告类型名")
+ private String adTypeName;
+
+ /** 广告跳转地址 */
+ @Excel(name = "广告跳转地址")
+ private String adLinkUrl;
+
+ /** 广告标题 */
+ @Excel(name = "广告标题")
+ private String adTitle;
+
+ /** 广告名称 */
+ @Excel(name = "广告名称")
+ private String adName;
+
+ /** 广告简介 */
+ @Excel(name = "广告简介")
+ private String adSummary;
+
+ /** 广告背景颜色 */
+ @Excel(name = "广告背景颜色")
+ private String adColorType;
+
+ /** 广告图片地址 */
+ @Excel(name = "广告图片地址")
+ private String adImageUrl;
+
+ /** 广告状态 0:展示 1:不可用 */
+ @Excel(name = "广告状态 0:展示 1:不可用")
+ private String adState;
+
+ /** */
+ @Excel(name = "")
+ private String createDate;
+
+ /** 广告创建者 */
+ @Excel(name = "广告创建者")
+ private String createUser;
+
+ /** */
+ @Excel(name = "")
+ private String updateUser;
+
+ /** */
+ @Excel(name = "")
+ private String updateDate;
+
+ public void setAdId(Long adId)
+ {
+ this.adId = adId;
+ }
+
+ public Long getAdId()
+ {
+ return adId;
+ }
+ public void setCompanyId(String companyId)
+ {
+ this.companyId = companyId;
+ }
+
+ public String getCompanyId()
+ {
+ return companyId;
+ }
+ public void setAdType(String adType)
+ {
+ this.adType = adType;
+ }
+
+ public String getAdType()
+ {
+ return adType;
+ }
+ public void setAdTypeName(String adTypeName)
+ {
+ this.adTypeName = adTypeName;
+ }
+
+ public String getAdTypeName()
+ {
+ return adTypeName;
+ }
+ public void setAdLinkUrl(String adLinkUrl)
+ {
+ this.adLinkUrl = adLinkUrl;
+ }
+
+ public String getAdLinkUrl()
+ {
+ return adLinkUrl;
+ }
+ public void setAdTitle(String adTitle)
+ {
+ this.adTitle = adTitle;
+ }
+
+ public String getAdTitle()
+ {
+ return adTitle;
+ }
+ public void setAdName(String adName)
+ {
+ this.adName = adName;
+ }
+
+ public String getAdName()
+ {
+ return adName;
+ }
+ public void setAdSummary(String adSummary)
+ {
+ this.adSummary = adSummary;
+ }
+
+ public String getAdSummary()
+ {
+ return adSummary;
+ }
+ public void setAdColorType(String adColorType)
+ {
+ this.adColorType = adColorType;
+ }
+
+ public String getAdColorType()
+ {
+ return adColorType;
+ }
+ public void setAdImageUrl(String adImageUrl)
+ {
+ this.adImageUrl = adImageUrl;
+ }
+
+ public String getAdImageUrl()
+ {
+ return adImageUrl;
+ }
+ public void setAdState(String adState)
+ {
+ this.adState = adState;
+ }
+
+ public String getAdState()
+ {
+ return adState;
+ }
+ public void setCreateDate(String createDate)
+ {
+ this.createDate = createDate;
+ }
+
+ public String getCreateDate()
+ {
+ return createDate;
+ }
+ public void setCreateUser(String createUser)
+ {
+ this.createUser = createUser;
+ }
+
+ public String getCreateUser()
+ {
+ return createUser;
+ }
+ public void setUpdateUser(String updateUser)
+ {
+ this.updateUser = updateUser;
+ }
+
+ public String getUpdateUser()
+ {
+ return updateUser;
+ }
+ public void setUpdateDate(String updateDate)
+ {
+ this.updateDate = updateDate;
+ }
+
+ public String getUpdateDate()
+ {
+ return updateDate;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("adId", getAdId())
+ .append("companyId", getCompanyId())
+ .append("adType", getAdType())
+ .append("adTypeName", getAdTypeName())
+ .append("adLinkUrl", getAdLinkUrl())
+ .append("adTitle", getAdTitle())
+ .append("adName", getAdName())
+ .append("adSummary", getAdSummary())
+ .append("adColorType", getAdColorType())
+ .append("adImageUrl", getAdImageUrl())
+ .append("adState", getAdState())
+ .append("createDate", getCreateDate())
+ .append("createTime", getCreateTime())
+ .append("createUser", getCreateUser())
+ .append("updateUser", getUpdateUser())
+ .append("updateDate", getUpdateDate())
+ .append("updateTime", getUpdateTime())
+ .toString();
+ }
+}
diff --git a/ruoyi-content/src/main/java/com/ruoyi/content/mapper/CmsArticleAdInfoMapper.java b/ruoyi-content/src/main/java/com/ruoyi/content/mapper/CmsArticleAdInfoMapper.java
new file mode 100644
index 000000000..69c5a61e6
--- /dev/null
+++ b/ruoyi-content/src/main/java/com/ruoyi/content/mapper/CmsArticleAdInfoMapper.java
@@ -0,0 +1,63 @@
+package com.ruoyi.content.mapper;
+
+
+import com.ruoyi.content.domain.CmsArticleAdInfo;
+
+import java.util.List;
+
+/**
+ * 文章广告Mapper接口
+ *
+ * @author ruoyi
+ * @date 2021-03-23
+ */
+public interface CmsArticleAdInfoMapper
+{
+ /**
+ * 查询文章广告
+ *
+ * @param adId 文章广告ID
+ * @return 文章广告
+ */
+ public CmsArticleAdInfo selectCmsArticleAdInfoById(Long adId);
+
+ /**
+ * 查询文章广告列表
+ *
+ * @param cmsArticleAdInfo 文章广告
+ * @return 文章广告集合
+ */
+ public List selectCmsArticleAdInfoList(CmsArticleAdInfo cmsArticleAdInfo);
+
+ /**
+ * 新增文章广告
+ *
+ * @param cmsArticleAdInfo 文章广告
+ * @return 结果
+ */
+ public int insertCmsArticleAdInfo(CmsArticleAdInfo cmsArticleAdInfo);
+
+ /**
+ * 修改文章广告
+ *
+ * @param cmsArticleAdInfo 文章广告
+ * @return 结果
+ */
+ public int updateCmsArticleAdInfo(CmsArticleAdInfo cmsArticleAdInfo);
+
+ /**
+ * 删除文章广告
+ *
+ * @param adId 文章广告ID
+ * @return 结果
+ */
+ public int deleteCmsArticleAdInfoById(Long adId);
+
+ /**
+ * 批量删除文章广告
+ *
+ * @param adIds 需要删除的数据ID
+ * @return 结果
+ */
+ public int deleteCmsArticleAdInfoByIds(String[] adIds);
+}
diff --git a/ruoyi-content/src/main/java/com/ruoyi/content/service/ICmsArticleAdInfoService.java b/ruoyi-content/src/main/java/com/ruoyi/content/service/ICmsArticleAdInfoService.java
new file mode 100644
index 000000000..b241ed85b
--- /dev/null
+++ b/ruoyi-content/src/main/java/com/ruoyi/content/service/ICmsArticleAdInfoService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.content.service;
+
+import java.util.List;
+import com.ruoyi.content.domain.CmsArticleAdInfo;
+
+/**
+ * 文章广告Service接口
+ *
+ * @author ruoyi
+ * @date 2021-03-23
+ */
+public interface ICmsArticleAdInfoService
+{
+ /**
+ * 查询文章广告
+ *
+ * @param adId 文章广告ID
+ * @return 文章广告
+ */
+ public CmsArticleAdInfo selectCmsArticleAdInfoById(Long adId);
+
+ /**
+ * 查询文章广告列表
+ *
+ * @param cmsArticleAdInfo 文章广告
+ * @return 文章广告集合
+ */
+ public List selectCmsArticleAdInfoList(CmsArticleAdInfo cmsArticleAdInfo);
+
+ /**
+ * 新增文章广告
+ *
+ * @param cmsArticleAdInfo 文章广告
+ * @return 结果
+ */
+ public int insertCmsArticleAdInfo(CmsArticleAdInfo cmsArticleAdInfo);
+
+ /**
+ * 修改文章广告
+ *
+ * @param cmsArticleAdInfo 文章广告
+ * @return 结果
+ */
+ public int updateCmsArticleAdInfo(CmsArticleAdInfo cmsArticleAdInfo);
+
+ /**
+ * 批量删除文章广告
+ *
+ * @param ids 需要删除的数据ID
+ * @return 结果
+ */
+ public int deleteCmsArticleAdInfoByIds(String ids);
+
+ /**
+ * 删除文章广告信息
+ *
+ * @param adId 文章广告ID
+ * @return 结果
+ */
+ public int deleteCmsArticleAdInfoById(Long adId);
+}
diff --git a/ruoyi-content/src/main/java/com/ruoyi/content/service/impl/CmsArticleAdInfoServiceImpl.java b/ruoyi-content/src/main/java/com/ruoyi/content/service/impl/CmsArticleAdInfoServiceImpl.java
new file mode 100644
index 000000000..5f6dc6b36
--- /dev/null
+++ b/ruoyi-content/src/main/java/com/ruoyi/content/service/impl/CmsArticleAdInfoServiceImpl.java
@@ -0,0 +1,97 @@
+package com.ruoyi.content.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.content.mapper.CmsArticleAdInfoMapper;
+import com.ruoyi.content.domain.CmsArticleAdInfo;
+import com.ruoyi.content.service.ICmsArticleAdInfoService;
+import com.ruoyi.common.core.text.Convert;
+
+/**
+ * 文章广告Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2021-03-23
+ */
+@Service
+public class CmsArticleAdInfoServiceImpl implements ICmsArticleAdInfoService
+{
+ @Autowired
+ private CmsArticleAdInfoMapper cmsArticleAdInfoMapper;
+
+ /**
+ * 查询文章广告
+ *
+ * @param adId 文章广告ID
+ * @return 文章广告
+ */
+ @Override
+ public CmsArticleAdInfo selectCmsArticleAdInfoById(Long adId)
+ {
+ return cmsArticleAdInfoMapper.selectCmsArticleAdInfoById(adId);
+ }
+
+ /**
+ * 查询文章广告列表
+ *
+ * @param cmsArticleAdInfo 文章广告
+ * @return 文章广告
+ */
+ @Override
+ public List selectCmsArticleAdInfoList(CmsArticleAdInfo cmsArticleAdInfo)
+ {
+ return cmsArticleAdInfoMapper.selectCmsArticleAdInfoList(cmsArticleAdInfo);
+ }
+
+ /**
+ * 新增文章广告
+ *
+ * @param cmsArticleAdInfo 文章广告
+ * @return 结果
+ */
+ @Override
+ public int insertCmsArticleAdInfo(CmsArticleAdInfo cmsArticleAdInfo)
+ {
+ cmsArticleAdInfo.setCreateTime(DateUtils.getNowDate());
+ return cmsArticleAdInfoMapper.insertCmsArticleAdInfo(cmsArticleAdInfo);
+ }
+
+ /**
+ * 修改文章广告
+ *
+ * @param cmsArticleAdInfo 文章广告
+ * @return 结果
+ */
+ @Override
+ public int updateCmsArticleAdInfo(CmsArticleAdInfo cmsArticleAdInfo)
+ {
+ cmsArticleAdInfo.setUpdateTime(DateUtils.getNowDate());
+ return cmsArticleAdInfoMapper.updateCmsArticleAdInfo(cmsArticleAdInfo);
+ }
+
+ /**
+ * 删除文章广告对象
+ *
+ * @param ids 需要删除的数据ID
+ * @return 结果
+ */
+ @Override
+ public int deleteCmsArticleAdInfoByIds(String ids)
+ {
+ return cmsArticleAdInfoMapper.deleteCmsArticleAdInfoByIds(Convert.toStrArray(ids));
+ }
+
+ /**
+ * 删除文章广告信息
+ *
+ * @param adId 文章广告ID
+ * @return 结果
+ */
+ @Override
+ public int deleteCmsArticleAdInfoById(Long adId)
+ {
+ return cmsArticleAdInfoMapper.deleteCmsArticleAdInfoById(adId);
+ }
+}
diff --git a/ruoyi-content/src/main/resources/mapper.content/CmsArticleAdInfoMapper.xml b/ruoyi-content/src/main/resources/mapper.content/CmsArticleAdInfoMapper.xml
new file mode 100644
index 000000000..edc0eac1c
--- /dev/null
+++ b/ruoyi-content/src/main/resources/mapper.content/CmsArticleAdInfoMapper.xml
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select AD_ID, COMPANY_ID, AD_TYPE, AD_TYPE_NAME, AD_LINK_URL, AD_TITLE, AD_NAME, AD_SUMMARY, AD_COLOR_TYPE, AD_IMAGE_URL, AD_STATE, CREATE_DATE, CREATE_TIME, CREATE_USER, UPDATE_USER, UPDATE_DATE, UPDATE_TIME from cms_article_ad_info
+
+
+
+
+
+
+
+ insert into cms_article_ad_info
+
+ COMPANY_ID,
+ AD_TYPE,
+ AD_TYPE_NAME,
+ AD_LINK_URL,
+ AD_TITLE,
+ AD_NAME,
+ AD_SUMMARY,
+ AD_COLOR_TYPE,
+ AD_IMAGE_URL,
+ AD_STATE,
+ CREATE_DATE,
+ CREATE_TIME,
+ CREATE_USER,
+ UPDATE_USER,
+ UPDATE_DATE,
+ UPDATE_TIME,
+
+
+ #{companyId},
+ #{adType},
+ #{adTypeName},
+ #{adLinkUrl},
+ #{adTitle},
+ #{adName},
+ #{adSummary},
+ #{adColorType},
+ #{adImageUrl},
+ #{adState},
+ #{createDate},
+ #{createTime},
+ #{createUser},
+ #{updateUser},
+ #{updateDate},
+ #{updateTime},
+
+
+
+
+ update cms_article_ad_info
+
+ COMPANY_ID = #{companyId},
+ AD_TYPE = #{adType},
+ AD_TYPE_NAME = #{adTypeName},
+ AD_LINK_URL = #{adLinkUrl},
+ AD_TITLE = #{adTitle},
+ AD_NAME = #{adName},
+ AD_SUMMARY = #{adSummary},
+ AD_COLOR_TYPE = #{adColorType},
+ AD_IMAGE_URL = #{adImageUrl},
+ AD_STATE = #{adState},
+ CREATE_DATE = #{createDate},
+ CREATE_TIME = #{createTime},
+ CREATE_USER = #{createUser},
+ UPDATE_USER = #{updateUser},
+ UPDATE_DATE = #{updateDate},
+ UPDATE_TIME = #{updateTime},
+
+ where AD_ID = #{adId}
+
+
+
+ delete from cms_article_ad_info where AD_ID = #{adId}
+
+
+
+ delete from cms_article_ad_info where AD_ID in
+
+ #{adId}
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-content/src/main/resources/templates/adverts/add.html b/ruoyi-content/src/main/resources/templates/adverts/add.html
new file mode 100644
index 000000000..a2473fd48
--- /dev/null
+++ b/ruoyi-content/src/main/resources/templates/adverts/add.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-content/src/main/resources/templates/adverts/adverts.html b/ruoyi-content/src/main/resources/templates/adverts/adverts.html
new file mode 100644
index 000000000..4f3767c5a
--- /dev/null
+++ b/ruoyi-content/src/main/resources/templates/adverts/adverts.html
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-content/src/main/resources/templates/adverts/edit.html b/ruoyi-content/src/main/resources/templates/adverts/edit.html
new file mode 100644
index 000000000..ce97d35b3
--- /dev/null
+++ b/ruoyi-content/src/main/resources/templates/adverts/edit.html
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file