feat(oa): 添加知识管理和邮件功能模块
- 新增知识分类和知识文章的完整CRUD接口- 实现知识文章预览组件,支持富文本和附件展示 - 添加动态邮件配置功能,支持多种邮箱类型自动识别 - 实现邮件模板管理功能,提供多种商务邮件模板- 添加邮件发送功能,支持批量发送和附件上传 - 完善邮件工具类,支持富文本、附件和内嵌图片发送- 新增发件人邮箱账号管理功能 - 添加家具信息管理相关接口- 配置默认邮件服务参数
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.gear.oa.mapper.OaEmailAccountMapper">
|
||||
|
||||
<resultMap type="com.gear.oa.domain.OaEmailAccount" id="OaEmailAccountResult">
|
||||
<result property="emailId" column="email_id"/>
|
||||
<result property="email" column="email"/>
|
||||
<result property="password" column="password"/>
|
||||
<result property="smtpHost" column="smtp_host"/>
|
||||
<result property="smtpPort" column="smtp_port"/>
|
||||
<result property="accessKey" column="access_key"/>
|
||||
<result property="secretKey" column="secret_key"/>
|
||||
<result property="type" column="type"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.gear.oa.mapper.OaEmailTemplateMapper">
|
||||
|
||||
<resultMap type="com.gear.oa.domain.OaEmailTemplate" id="OaEmailTemplateResult">
|
||||
<result property="id" column="id"/>
|
||||
<result property="templateName" column="template_name"/>
|
||||
<result property="category" column="category"/>
|
||||
<result property="content" column="content"/>
|
||||
<result property="attachments" column="attachments"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="remark" column="remark"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.gear.oa.mapper.OaFurnitureTableMapper">
|
||||
|
||||
<resultMap type="com.gear.oa.domain.OaFurnitureTable" id="OaFurnitureTableResult">
|
||||
<result property="furnitureId" column="furniture_id"/>
|
||||
<result property="companyName" column="company_name"/>
|
||||
<result property="state" column="state"/>
|
||||
<result property="procurementOfProducts" column="procurement_of_products"/>
|
||||
<result property="contactGroup" column="contact_group"/>
|
||||
<result property="phone" column="phone"/>
|
||||
<result property="fax" column="fax"/>
|
||||
<result property="address" column="address"/>
|
||||
<result property="zip" column="zip"/>
|
||||
<result property="email" column="email"/>
|
||||
<result property="website" column="website"/>
|
||||
<result property="emailSendCount" column="email_send_count"/>
|
||||
<result property="lastEmailSendTime" column="last_email_send_time"/>
|
||||
<result property="contactPerson" column="contact_person"/>
|
||||
<result property="receiveCount" column="receive_count"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="remark" column="remark"/>
|
||||
</resultMap>
|
||||
|
||||
<update id="updateEmailSendInfo">
|
||||
UPDATE oa_furniture_table
|
||||
SET email_send_count = IFNULL(email_send_count,0) + 1,
|
||||
last_email_send_time = NOW()
|
||||
WHERE furniture_id = #{furnitureId}
|
||||
</update>
|
||||
|
||||
<select id="selectEmailsByFurnitureIds" resultType="java.lang.String">
|
||||
SELECT email FROM oa_furniture_table
|
||||
WHERE furniture_id IN
|
||||
<foreach collection="list" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
AND del_flag = 0
|
||||
AND email IS NOT NULL AND email != ''
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
61
gear-oa/src/main/resources/mapper/oa/SysOaArticleMapper.xml
Normal file
61
gear-oa/src/main/resources/mapper/oa/SysOaArticleMapper.xml
Normal file
@@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.gear.oa.mapper.SysOaArticleMapper">
|
||||
|
||||
<resultMap type="com.gear.oa.domain.SysOaArticle" id="SysOaArticleResult">
|
||||
<result property="articleId" column="article_id"/>
|
||||
<result property="categoryId" column="category_id"/>
|
||||
<result property="articleTitle" column="article_title"/>
|
||||
<result property="subhead" column="subhead"/>
|
||||
<result property="source" column="source"/>
|
||||
<result property="content" column="content"/>
|
||||
<result property="checkNum" column="check_num"/>
|
||||
<result property="accessory" column="accessory"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<!--一对一关联-->
|
||||
<association property="category" column="category_id" javaType="SysOaCategory" resultMap="SysOaCategoryResult"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="SysOaCategoryResult" type="SysOaCategory">
|
||||
<result property="categoryId" column="category_id"/>
|
||||
<result property="categoryName" column="category_name"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectArticleSql">
|
||||
select a.article_id,
|
||||
a.category_id,
|
||||
a.article_title,
|
||||
a.subhead,
|
||||
a.source,
|
||||
a.content,
|
||||
a.check_num,
|
||||
a.accessory,
|
||||
a.remark,
|
||||
a.create_by,
|
||||
a.create_time,
|
||||
a.update_by,
|
||||
a.update_time,
|
||||
c.category_id,
|
||||
c.category_name
|
||||
from sys_oa_article a
|
||||
left join sys_oa_category c on a.category_id = c.category_id
|
||||
</sql>
|
||||
|
||||
<select id="selectArticlePageList" resultMap="SysOaArticleResult">
|
||||
<include refid="selectArticleSql" />
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="selectArticleById" resultMap="SysOaArticleResult">
|
||||
<include refid="selectArticleSql" />
|
||||
where a.article_id = #{articleId}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
20
gear-oa/src/main/resources/mapper/oa/SysOaCategoryMapper.xml
Normal file
20
gear-oa/src/main/resources/mapper/oa/SysOaCategoryMapper.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.gear.oa.mapper.SysOaCategoryMapper">
|
||||
|
||||
<resultMap type="com.gear.oa.domain.SysOaCategory" id="SysOaCategoryResult">
|
||||
<result property="categoryId" column="category_id"/>
|
||||
<result property="parentId" column="parent_id"/>
|
||||
<result property="categoryName" column="category_name"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user