整理目录结构
This commit is contained in:
parent
b1a03bcce1
commit
262fb3611f
126
ruoyi-note/src/main/java/com/ruoyi/note/domain/NmNoteShare.java
Normal file
126
ruoyi-note/src/main/java/com/ruoyi/note/domain/NmNoteShare.java
Normal file
@ -0,0 +1,126 @@
|
||||
package com.ruoyi.note.domain;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
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;
|
||||
|
||||
/**
|
||||
* share书签分享对象 nm_note_share
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2020-09-20
|
||||
*/
|
||||
public class NmNoteShare extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 便签ID */
|
||||
private Long noteId;
|
||||
|
||||
/** 是否加密 */
|
||||
@Excel(name = "是否加密")
|
||||
private Integer isEncryption;
|
||||
|
||||
/** 分享的二维码 */
|
||||
@Excel(name = "分享的二维码")
|
||||
private String noteQrcode;
|
||||
|
||||
/** 分享的URl */
|
||||
@Excel(name = "分享的URl")
|
||||
private String shareUrl;
|
||||
|
||||
/** 分享密码(vip) */
|
||||
@Excel(name = "分享密码(vip)")
|
||||
private String sharePassword;
|
||||
|
||||
/** 生成长图分享 */
|
||||
@Excel(name = "生成长图分享")
|
||||
private String shareImage;
|
||||
|
||||
/** 到期日(vip) */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "到期日(vip) ", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date abortTime;
|
||||
|
||||
public void setNoteId(Long noteId)
|
||||
{
|
||||
this.noteId = noteId;
|
||||
}
|
||||
|
||||
public Long getNoteId()
|
||||
{
|
||||
return noteId;
|
||||
}
|
||||
public void setIsEncryption(Integer isEncryption)
|
||||
{
|
||||
this.isEncryption = isEncryption;
|
||||
}
|
||||
|
||||
public Integer getIsEncryption()
|
||||
{
|
||||
return isEncryption;
|
||||
}
|
||||
public void setNoteQrcode(String noteQrcode)
|
||||
{
|
||||
this.noteQrcode = noteQrcode;
|
||||
}
|
||||
|
||||
public String getNoteQrcode()
|
||||
{
|
||||
return noteQrcode;
|
||||
}
|
||||
public void setShareUrl(String shareUrl)
|
||||
{
|
||||
this.shareUrl = shareUrl;
|
||||
}
|
||||
|
||||
public String getShareUrl()
|
||||
{
|
||||
return shareUrl;
|
||||
}
|
||||
public void setSharePassword(String sharePassword)
|
||||
{
|
||||
this.sharePassword = sharePassword;
|
||||
}
|
||||
|
||||
public String getSharePassword()
|
||||
{
|
||||
return sharePassword;
|
||||
}
|
||||
public void setShareImage(String shareImage)
|
||||
{
|
||||
this.shareImage = shareImage;
|
||||
}
|
||||
|
||||
public String getShareImage()
|
||||
{
|
||||
return shareImage;
|
||||
}
|
||||
public void setAbortTime(Date abortTime)
|
||||
{
|
||||
this.abortTime = abortTime;
|
||||
}
|
||||
|
||||
public Date getAbortTime()
|
||||
{
|
||||
return abortTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("noteId", getNoteId())
|
||||
.append("isEncryption", getIsEncryption())
|
||||
.append("noteQrcode", getNoteQrcode())
|
||||
.append("shareUrl", getShareUrl())
|
||||
.append("sharePassword", getSharePassword())
|
||||
.append("shareImage", getShareImage())
|
||||
.append("abortTime", getAbortTime())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,65 @@
|
||||
package com.ruoyi.note.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;
|
||||
|
||||
/**
|
||||
* 便签的标签对象 nm_note_tag
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2020-09-20
|
||||
*/
|
||||
public class NmNoteTag extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 主键ID */
|
||||
private Long noteTagId;
|
||||
|
||||
/** 便签id */
|
||||
@Excel(name = "便签id")
|
||||
private Long noteId;
|
||||
|
||||
/** tagId */
|
||||
@Excel(name = "tagId")
|
||||
private Long tagId;
|
||||
|
||||
public void setNoteTagId(Long noteTagId)
|
||||
{
|
||||
this.noteTagId = noteTagId;
|
||||
}
|
||||
|
||||
public Long getNoteTagId()
|
||||
{
|
||||
return noteTagId;
|
||||
}
|
||||
public void setNoteId(Long noteId)
|
||||
{
|
||||
this.noteId = noteId;
|
||||
}
|
||||
|
||||
public Long getNoteId()
|
||||
{
|
||||
return noteId;
|
||||
}
|
||||
public void setTagId(Long tagId)
|
||||
{
|
||||
this.tagId = tagId;
|
||||
}
|
||||
|
||||
public Long getTagId()
|
||||
{
|
||||
return tagId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("noteTagId", getNoteTagId())
|
||||
.append("noteId", getNoteId())
|
||||
.append("tagId", getTagId())
|
||||
.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.ruoyi.note.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.note.domain.NmNoteShare;
|
||||
|
||||
/**
|
||||
* share书签分享Mapper接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2020-09-20
|
||||
*/
|
||||
public interface NmNoteShareMapper
|
||||
{
|
||||
/**
|
||||
* 查询share书签分享
|
||||
*
|
||||
* @param noteId share书签分享ID
|
||||
* @return share书签分享
|
||||
*/
|
||||
public NmNoteShare selectNmNoteShareById(Long noteId);
|
||||
|
||||
/**
|
||||
* 查询share书签分享列表
|
||||
*
|
||||
* @param nmNoteShare share书签分享
|
||||
* @return share书签分享集合
|
||||
*/
|
||||
public List<NmNoteShare> selectNmNoteShareList(NmNoteShare nmNoteShare);
|
||||
|
||||
/**
|
||||
* 新增share书签分享
|
||||
*
|
||||
* @param nmNoteShare share书签分享
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertNmNoteShare(NmNoteShare nmNoteShare);
|
||||
|
||||
/**
|
||||
* 修改share书签分享
|
||||
*
|
||||
* @param nmNoteShare share书签分享
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateNmNoteShare(NmNoteShare nmNoteShare);
|
||||
|
||||
/**
|
||||
* 删除share书签分享
|
||||
*
|
||||
* @param noteId share书签分享ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteNmNoteShareById(Long noteId);
|
||||
|
||||
/**
|
||||
* 批量删除share书签分享
|
||||
*
|
||||
* @param noteIds 需要删除的数据ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteNmNoteShareByIds(Long[] noteIds);
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.ruoyi.note.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.note.domain.NmNoteTag;
|
||||
|
||||
/**
|
||||
* 便签的标签Mapper接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2020-09-20
|
||||
*/
|
||||
public interface NmNoteTagMapper
|
||||
{
|
||||
/**
|
||||
* 查询便签的标签
|
||||
*
|
||||
* @param noteTagId 便签的标签ID
|
||||
* @return 便签的标签
|
||||
*/
|
||||
public NmNoteTag selectNmNoteTagById(Long noteTagId);
|
||||
|
||||
/**
|
||||
* 查询便签的标签列表
|
||||
*
|
||||
* @param nmNoteTag 便签的标签
|
||||
* @return 便签的标签集合
|
||||
*/
|
||||
public List<NmNoteTag> selectNmNoteTagList(NmNoteTag nmNoteTag);
|
||||
|
||||
/**
|
||||
* 新增便签的标签
|
||||
*
|
||||
* @param nmNoteTag 便签的标签
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertNmNoteTag(NmNoteTag nmNoteTag);
|
||||
|
||||
/**
|
||||
* 修改便签的标签
|
||||
*
|
||||
* @param nmNoteTag 便签的标签
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateNmNoteTag(NmNoteTag nmNoteTag);
|
||||
|
||||
/**
|
||||
* 删除便签的标签
|
||||
*
|
||||
* @param noteTagId 便签的标签ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteNmNoteTagById(Long noteTagId);
|
||||
|
||||
/**
|
||||
* 批量删除便签的标签
|
||||
*
|
||||
* @param noteTagIds 需要删除的数据ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteNmNoteTagByIds(Long[] noteTagIds);
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.ruoyi.note.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.note.domain.NmNoteShare;
|
||||
|
||||
/**
|
||||
* share书签分享Service接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2020-09-20
|
||||
*/
|
||||
public interface INmNoteShareService
|
||||
{
|
||||
/**
|
||||
* 查询share书签分享
|
||||
*
|
||||
* @param noteId share书签分享ID
|
||||
* @return share书签分享
|
||||
*/
|
||||
public NmNoteShare selectNmNoteShareById(Long noteId);
|
||||
|
||||
/**
|
||||
* 查询share书签分享列表
|
||||
*
|
||||
* @param nmNoteShare share书签分享
|
||||
* @return share书签分享集合
|
||||
*/
|
||||
public List<NmNoteShare> selectNmNoteShareList(NmNoteShare nmNoteShare);
|
||||
|
||||
/**
|
||||
* 新增share书签分享
|
||||
*
|
||||
* @param nmNoteShare share书签分享
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertNmNoteShare(NmNoteShare nmNoteShare);
|
||||
|
||||
/**
|
||||
* 修改share书签分享
|
||||
*
|
||||
* @param nmNoteShare share书签分享
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateNmNoteShare(NmNoteShare nmNoteShare);
|
||||
|
||||
/**
|
||||
* 批量删除share书签分享
|
||||
*
|
||||
* @param noteIds 需要删除的share书签分享ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteNmNoteShareByIds(Long[] noteIds);
|
||||
|
||||
/**
|
||||
* 删除share书签分享信息
|
||||
*
|
||||
* @param noteId share书签分享ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteNmNoteShareById(Long noteId);
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.ruoyi.note.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.note.domain.NmNoteTag;
|
||||
|
||||
/**
|
||||
* 便签的标签Service接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2020-09-20
|
||||
*/
|
||||
public interface INmNoteTagService
|
||||
{
|
||||
/**
|
||||
* 查询便签的标签
|
||||
*
|
||||
* @param noteTagId 便签的标签ID
|
||||
* @return 便签的标签
|
||||
*/
|
||||
public NmNoteTag selectNmNoteTagById(Long noteTagId);
|
||||
|
||||
/**
|
||||
* 查询便签的标签列表
|
||||
*
|
||||
* @param nmNoteTag 便签的标签
|
||||
* @return 便签的标签集合
|
||||
*/
|
||||
public List<NmNoteTag> selectNmNoteTagList(NmNoteTag nmNoteTag);
|
||||
|
||||
/**
|
||||
* 新增便签的标签
|
||||
*
|
||||
* @param nmNoteTag 便签的标签
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertNmNoteTag(NmNoteTag nmNoteTag);
|
||||
|
||||
/**
|
||||
* 修改便签的标签
|
||||
*
|
||||
* @param nmNoteTag 便签的标签
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateNmNoteTag(NmNoteTag nmNoteTag);
|
||||
|
||||
/**
|
||||
* 批量删除便签的标签
|
||||
*
|
||||
* @param noteTagIds 需要删除的便签的标签ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteNmNoteTagByIds(Long[] noteTagIds);
|
||||
|
||||
/**
|
||||
* 删除便签的标签信息
|
||||
*
|
||||
* @param noteTagId 便签的标签ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteNmNoteTagById(Long noteTagId);
|
||||
}
|
@ -0,0 +1,96 @@
|
||||
package com.ruoyi.note.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.note.mapper.NmNoteShareMapper;
|
||||
import com.ruoyi.note.domain.NmNoteShare;
|
||||
import com.ruoyi.note.service.INmNoteShareService;
|
||||
|
||||
/**
|
||||
* share书签分享Service业务层处理
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2020-09-20
|
||||
*/
|
||||
@Service
|
||||
public class NmNoteShareServiceImpl implements INmNoteShareService
|
||||
{
|
||||
@Autowired
|
||||
private NmNoteShareMapper nmNoteShareMapper;
|
||||
|
||||
/**
|
||||
* 查询share书签分享
|
||||
*
|
||||
* @param noteId share书签分享ID
|
||||
* @return share书签分享
|
||||
*/
|
||||
@Override
|
||||
public NmNoteShare selectNmNoteShareById(Long noteId)
|
||||
{
|
||||
return nmNoteShareMapper.selectNmNoteShareById(noteId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询share书签分享列表
|
||||
*
|
||||
* @param nmNoteShare share书签分享
|
||||
* @return share书签分享
|
||||
*/
|
||||
@Override
|
||||
public List<NmNoteShare> selectNmNoteShareList(NmNoteShare nmNoteShare)
|
||||
{
|
||||
return nmNoteShareMapper.selectNmNoteShareList(nmNoteShare);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增share书签分享
|
||||
*
|
||||
* @param nmNoteShare share书签分享
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertNmNoteShare(NmNoteShare nmNoteShare)
|
||||
{
|
||||
nmNoteShare.setCreateTime(DateUtils.getNowDate());
|
||||
return nmNoteShareMapper.insertNmNoteShare(nmNoteShare);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改share书签分享
|
||||
*
|
||||
* @param nmNoteShare share书签分享
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateNmNoteShare(NmNoteShare nmNoteShare)
|
||||
{
|
||||
nmNoteShare.setUpdateTime(DateUtils.getNowDate());
|
||||
return nmNoteShareMapper.updateNmNoteShare(nmNoteShare);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除share书签分享
|
||||
*
|
||||
* @param noteIds 需要删除的share书签分享ID
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteNmNoteShareByIds(Long[] noteIds)
|
||||
{
|
||||
return nmNoteShareMapper.deleteNmNoteShareByIds(noteIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除share书签分享信息
|
||||
*
|
||||
* @param noteId share书签分享ID
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteNmNoteShareById(Long noteId)
|
||||
{
|
||||
return nmNoteShareMapper.deleteNmNoteShareById(noteId);
|
||||
}
|
||||
}
|
@ -0,0 +1,93 @@
|
||||
package com.ruoyi.note.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.note.mapper.NmNoteTagMapper;
|
||||
import com.ruoyi.note.domain.NmNoteTag;
|
||||
import com.ruoyi.note.service.INmNoteTagService;
|
||||
|
||||
/**
|
||||
* 便签的标签Service业务层处理
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2020-09-20
|
||||
*/
|
||||
@Service
|
||||
public class NmNoteTagServiceImpl implements INmNoteTagService
|
||||
{
|
||||
@Autowired
|
||||
private NmNoteTagMapper nmNoteTagMapper;
|
||||
|
||||
/**
|
||||
* 查询便签的标签
|
||||
*
|
||||
* @param noteTagId 便签的标签ID
|
||||
* @return 便签的标签
|
||||
*/
|
||||
@Override
|
||||
public NmNoteTag selectNmNoteTagById(Long noteTagId)
|
||||
{
|
||||
return nmNoteTagMapper.selectNmNoteTagById(noteTagId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询便签的标签列表
|
||||
*
|
||||
* @param nmNoteTag 便签的标签
|
||||
* @return 便签的标签
|
||||
*/
|
||||
@Override
|
||||
public List<NmNoteTag> selectNmNoteTagList(NmNoteTag nmNoteTag)
|
||||
{
|
||||
return nmNoteTagMapper.selectNmNoteTagList(nmNoteTag);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增便签的标签
|
||||
*
|
||||
* @param nmNoteTag 便签的标签
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertNmNoteTag(NmNoteTag nmNoteTag)
|
||||
{
|
||||
return nmNoteTagMapper.insertNmNoteTag(nmNoteTag);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改便签的标签
|
||||
*
|
||||
* @param nmNoteTag 便签的标签
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateNmNoteTag(NmNoteTag nmNoteTag)
|
||||
{
|
||||
return nmNoteTagMapper.updateNmNoteTag(nmNoteTag);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除便签的标签
|
||||
*
|
||||
* @param noteTagIds 需要删除的便签的标签ID
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteNmNoteTagByIds(Long[] noteTagIds)
|
||||
{
|
||||
return nmNoteTagMapper.deleteNmNoteTagByIds(noteTagIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除便签的标签信息
|
||||
*
|
||||
* @param noteTagId 便签的标签ID
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteNmNoteTagById(Long noteTagId)
|
||||
{
|
||||
return nmNoteTagMapper.deleteNmNoteTagById(noteTagId);
|
||||
}
|
||||
}
|
@ -0,0 +1,92 @@
|
||||
<?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.ruoyi.note.mapper.NmNoteShareMapper">
|
||||
|
||||
<resultMap type="NmNoteShare" id="NmNoteShareResult">
|
||||
<result property="noteId" column="note_id" />
|
||||
<result property="isEncryption" column="is_encryption" />
|
||||
<result property="noteQrcode" column="note_qrcode" />
|
||||
<result property="shareUrl" column="share_url" />
|
||||
<result property="sharePassword" column="share_password" />
|
||||
<result property="shareImage" column="share_image" />
|
||||
<result property="abortTime" column="abort_time" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectNmNoteShareVo">
|
||||
select note_id, is_encryption, note_qrcode, share_url, share_password, share_image, abort_time, create_time, update_time from nm_note_share
|
||||
</sql>
|
||||
|
||||
<select id="selectNmNoteShareList" parameterType="NmNoteShare" resultMap="NmNoteShareResult">
|
||||
<include refid="selectNmNoteShareVo"/>
|
||||
<where>
|
||||
<if test="isEncryption != null "> and is_encryption = #{isEncryption}</if>
|
||||
<if test="noteQrcode != null and noteQrcode != ''"> and note_qrcode = #{noteQrcode}</if>
|
||||
<if test="shareUrl != null and shareUrl != ''"> and share_url = #{shareUrl}</if>
|
||||
<if test="sharePassword != null and sharePassword != ''"> and share_password = #{sharePassword}</if>
|
||||
<if test="shareImage != null and shareImage != ''"> and share_image = #{shareImage}</if>
|
||||
<if test="abortTime != null "> and abort_time = #{abortTime}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectNmNoteShareById" parameterType="Long" resultMap="NmNoteShareResult">
|
||||
<include refid="selectNmNoteShareVo"/>
|
||||
where note_id = #{noteId}
|
||||
</select>
|
||||
|
||||
<insert id="insertNmNoteShare" parameterType="NmNoteShare">
|
||||
insert into nm_note_share
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="noteId != null">note_id,</if>
|
||||
<if test="isEncryption != null">is_encryption,</if>
|
||||
<if test="noteQrcode != null">note_qrcode,</if>
|
||||
<if test="shareUrl != null">share_url,</if>
|
||||
<if test="sharePassword != null">share_password,</if>
|
||||
<if test="shareImage != null">share_image,</if>
|
||||
<if test="abortTime != null">abort_time,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="noteId != null">#{noteId},</if>
|
||||
<if test="isEncryption != null">#{isEncryption},</if>
|
||||
<if test="noteQrcode != null">#{noteQrcode},</if>
|
||||
<if test="shareUrl != null">#{shareUrl},</if>
|
||||
<if test="sharePassword != null">#{sharePassword},</if>
|
||||
<if test="shareImage != null">#{shareImage},</if>
|
||||
<if test="abortTime != null">#{abortTime},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateNmNoteShare" parameterType="NmNoteShare">
|
||||
update nm_note_share
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="isEncryption != null">is_encryption = #{isEncryption},</if>
|
||||
<if test="noteQrcode != null">note_qrcode = #{noteQrcode},</if>
|
||||
<if test="shareUrl != null">share_url = #{shareUrl},</if>
|
||||
<if test="sharePassword != null">share_password = #{sharePassword},</if>
|
||||
<if test="shareImage != null">share_image = #{shareImage},</if>
|
||||
<if test="abortTime != null">abort_time = #{abortTime},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
</trim>
|
||||
where note_id = #{noteId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteNmNoteShareById" parameterType="Long">
|
||||
delete from nm_note_share where note_id = #{noteId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteNmNoteShareByIds" parameterType="String">
|
||||
delete from nm_note_share where note_id in
|
||||
<foreach item="noteId" collection="array" open="(" separator="," close=")">
|
||||
#{noteId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
@ -0,0 +1,64 @@
|
||||
<?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.ruoyi.note.mapper.NmNoteTagMapper">
|
||||
|
||||
<resultMap type="NmNoteTag" id="NmNoteTagResult">
|
||||
<result property="noteTagId" column="note_tag_id" />
|
||||
<result property="noteId" column="note_id" />
|
||||
<result property="tagId" column="tag_id" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectNmNoteTagVo">
|
||||
select note_tag_id, note_id, tag_id from nm_note_tag
|
||||
</sql>
|
||||
|
||||
<select id="selectNmNoteTagList" parameterType="NmNoteTag" resultMap="NmNoteTagResult">
|
||||
<include refid="selectNmNoteTagVo"/>
|
||||
<where>
|
||||
<if test="noteId != null "> and note_id = #{noteId}</if>
|
||||
<if test="tagId != null "> and tag_id = #{tagId}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectNmNoteTagById" parameterType="Long" resultMap="NmNoteTagResult">
|
||||
<include refid="selectNmNoteTagVo"/>
|
||||
where note_tag_id = #{noteTagId}
|
||||
</select>
|
||||
|
||||
<insert id="insertNmNoteTag" parameterType="NmNoteTag">
|
||||
insert into nm_note_tag
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="noteTagId != null">note_tag_id,</if>
|
||||
<if test="noteId != null">note_id,</if>
|
||||
<if test="tagId != null">tag_id,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="noteTagId != null">#{noteTagId},</if>
|
||||
<if test="noteId != null">#{noteId},</if>
|
||||
<if test="tagId != null">#{tagId},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateNmNoteTag" parameterType="NmNoteTag">
|
||||
update nm_note_tag
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="noteId != null">note_id = #{noteId},</if>
|
||||
<if test="tagId != null">tag_id = #{tagId},</if>
|
||||
</trim>
|
||||
where note_tag_id = #{noteTagId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteNmNoteTagById" parameterType="Long">
|
||||
delete from nm_note_tag where note_tag_id = #{noteTagId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteNmNoteTagByIds" parameterType="String">
|
||||
delete from nm_note_tag where note_tag_id in
|
||||
<foreach item="noteTagId" collection="array" open="(" separator="," close=")">
|
||||
#{noteTagId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
53
ruoyi-ui/src/api/note/share.js
Normal file
53
ruoyi-ui/src/api/note/share.js
Normal file
@ -0,0 +1,53 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询share书签分享列表
|
||||
export function listShare(query) {
|
||||
return request({
|
||||
url: '/note/share/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询share书签分享详细
|
||||
export function getShare(noteId) {
|
||||
return request({
|
||||
url: '/note/share/' + noteId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增share书签分享
|
||||
export function addShare(data) {
|
||||
return request({
|
||||
url: '/note/share',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改share书签分享
|
||||
export function updateShare(data) {
|
||||
return request({
|
||||
url: '/note/share',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除share书签分享
|
||||
export function delShare(noteId) {
|
||||
return request({
|
||||
url: '/note/share/' + noteId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 导出share书签分享
|
||||
export function exportShare(query) {
|
||||
return request({
|
||||
url: '/note/share/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询便签标签列表
|
||||
// 查询便签的标签列表
|
||||
export function listTag(query) {
|
||||
return request({
|
||||
url: '/note/tag/list',
|
||||
@ -9,15 +9,15 @@ export function listTag(query) {
|
||||
})
|
||||
}
|
||||
|
||||
// 查询便签标签详细
|
||||
export function getTag(id) {
|
||||
// 查询便签的标签详细
|
||||
export function getTag(noteTagId) {
|
||||
return request({
|
||||
url: '/note/tag/' + id,
|
||||
url: '/note/tag/' + noteTagId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增便签标签
|
||||
// 新增便签的标签
|
||||
export function addTag(data) {
|
||||
return request({
|
||||
url: '/note/tag',
|
||||
@ -26,7 +26,7 @@ export function addTag(data) {
|
||||
})
|
||||
}
|
||||
|
||||
// 修改便签标签
|
||||
// 修改便签的标签
|
||||
export function updateTag(data) {
|
||||
return request({
|
||||
url: '/note/tag',
|
||||
@ -35,15 +35,15 @@ export function updateTag(data) {
|
||||
})
|
||||
}
|
||||
|
||||
// 删除便签标签
|
||||
export function delTag(id) {
|
||||
// 删除便签的标签
|
||||
export function delTag(noteTagId) {
|
||||
return request({
|
||||
url: '/note/tag/' + id,
|
||||
url: '/note/tag/' + noteTagId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 导出便签标签
|
||||
// 导出便签的标签
|
||||
export function exportTag(query) {
|
||||
return request({
|
||||
url: '/note/tag/export',
|
||||
|
@ -152,7 +152,7 @@ export const constantRoutes = [
|
||||
{
|
||||
path: '/content',
|
||||
name: 'content',
|
||||
component: resolve => require(['../views/bookmark/content/index.vue'], resolve),
|
||||
component: resolve => require(['../views/bookmark/bookmark/index.vue'], resolve),
|
||||
query:{
|
||||
t:Date.now(),
|
||||
},
|
||||
|
@ -1,376 +1,375 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
|
||||
<el-form-item label="用户ID" prop="userid">
|
||||
<el-input
|
||||
v-model="queryParams.userid"
|
||||
placeholder="请输入所属用户ID"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="标题" prop="title">
|
||||
<el-input
|
||||
v-model="queryParams.title"
|
||||
placeholder="请输入书签标题"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="书签地址" prop="url">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.url"-->
|
||||
<!-- placeholder="请输入书签地址"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- @keyup.enter.native="handleQuery"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="书签地址" prop="urls">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.urls"-->
|
||||
<!-- placeholder="请输入书签地址"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- @keyup.enter.native="handleQuery"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="书签描述" prop="description">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.description"-->
|
||||
<!-- placeholder="请输入书签描述"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- @keyup.enter.native="handleQuery"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="书签描述" prop="image">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.image"-->
|
||||
<!-- placeholder="请输入书签描述"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- @keyup.enter.native="handleQuery"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="标签" prop="label">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.label"-->
|
||||
<!-- placeholder="请输入标签"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- @keyup.enter.native="handleQuery"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="分类ID" prop="menuId">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.menuId"-->
|
||||
<!-- placeholder="请输入分类ID"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- @keyup.enter.native="handleQuery"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="点赞数" prop="zcount">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.zcount"-->
|
||||
<!-- placeholder="请输入点赞数"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- @keyup.enter.native="handleQuery"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="0 未删除 1表示删除" prop="idelete">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.idelete"-->
|
||||
<!-- placeholder="请输入0 未删除 1表示删除"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- @keyup.enter.native="handleQuery"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="0公开显示 1隐藏显示 2好友显示 3稍后再看" prop="start">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.start"-->
|
||||
<!-- placeholder="请输入0公开显示 1隐藏显示 2好友显示 3稍后再看"-->
|
||||
<!-- clearable-->
|
||||
<!-- size="small"-->
|
||||
<!-- @keyup.enter.native="handleQuery"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['bookmark:bookmark:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['bookmark:bookmark:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['bookmark:bookmark:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['bookmark:bookmark:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="bookmarkList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="ID" align="center" prop="bookmarkId" />
|
||||
<el-table-column label="用户ID" align="center" prop="userid" />
|
||||
<el-table-column label="书签标题" align="center" prop="title" />
|
||||
<el-table-column label="标签" align="center" prop="label" />
|
||||
<el-table-column label="点赞数" align="center" prop="zcount" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['bookmark:bookmark:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['bookmark:bookmark:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<template >
|
||||
<div >
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改书签管理对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="所属用户ID" prop="userid">
|
||||
<el-input v-model="form.userid" placeholder="请输入所属用户ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="书签标题" prop="title">
|
||||
<el-input v-model="form.title" placeholder="请输入书签标题" />
|
||||
</el-form-item>
|
||||
<el-form-item label="书签地址" prop="url">
|
||||
<el-input v-model="form.url" placeholder="请输入书签地址" />
|
||||
</el-form-item>
|
||||
<el-form-item label="书签地址" prop="urls">
|
||||
<el-input v-model="form.urls" placeholder="请输入书签地址" />
|
||||
</el-form-item>
|
||||
<el-form-item label="书签描述" prop="description">
|
||||
<el-input v-model="form.description" placeholder="请输入书签描述" />
|
||||
</el-form-item>
|
||||
<el-form-item label="书签描述" prop="image">
|
||||
<el-input v-model="form.image" placeholder="请输入书签描述" />
|
||||
</el-form-item>
|
||||
<el-form-item label="标签" prop="label">
|
||||
<el-input v-model="form.label" placeholder="请输入标签" />
|
||||
</el-form-item>
|
||||
<el-form-item label="分类ID" prop="menuId">
|
||||
<el-input v-model="form.menuId" placeholder="请输入分类ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="点赞数" prop="zcount">
|
||||
<el-input v-model="form.zcount" placeholder="请输入点赞数" />
|
||||
</el-form-item>
|
||||
<el-form-item label="0 未删除 1表示删除" prop="idelete">
|
||||
<el-input v-model="form.idelete" placeholder="请输入0 未删除 1表示删除" />
|
||||
</el-form-item>
|
||||
<el-form-item label="0公开显示 1隐藏显示 2好友显示 3稍后再看" prop="start">
|
||||
<el-input v-model="form.start" placeholder="请输入0公开显示 1隐藏显示 2好友显示 3稍后再看" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<div class="filter" >
|
||||
<div class="filter-sort" >
|
||||
<el-dropdown trigger="click" size="small">
|
||||
<span class="el-dropdown-link">
|
||||
<span>按时间排序(正)</span> <i class="el-icon-caret-bottom"></i>
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown" class="filter-sort-dropdown">
|
||||
<el-dropdown-item class="filter-item"><i class="el-icon-bottom"></i>按时间排序(正)</el-dropdown-item>
|
||||
<el-dropdown-item class="filter-item"><i class="el-icon-bottom"></i>按时间排序(反)</el-dropdown-item>
|
||||
<el-dropdown-item class="filter-item"><i class="el-icon-bottom"></i>按字母A-Z排序</el-dropdown-item>
|
||||
<el-dropdown-item class="filter-item"><i class="el-icon-bottom"></i>按字母A-Z排序</el-dropdown-item>
|
||||
<el-dropdown-item class="filter-item"><i class="el-icon-bottom"></i>按网站A-Z排序</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
<div >
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
</div>
|
||||
<div class="filler-tag">
|
||||
<el-tag size="small">我的最爱</el-tag>
|
||||
</div>
|
||||
<div class="filler-tag">
|
||||
<el-tag size="small" >小型标签</el-tag>
|
||||
</div>
|
||||
<div class="filler-tag">
|
||||
<el-tag size="small" >小型标签</el-tag>
|
||||
</div>
|
||||
<div class="filler-tag">
|
||||
<el-tag size="small" >小型标签</el-tag>
|
||||
</div>
|
||||
<div class="filler-tag">
|
||||
<el-tag size="small" >小型标签</el-tag>
|
||||
</div>
|
||||
<div class="filler-tag">
|
||||
<el-tag size="small" >小型标签</el-tag>
|
||||
</div>
|
||||
<div class="filler-tag">
|
||||
<el-tag size="small" >...</el-tag>
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="nullbookmark" v-if="showimg">
|
||||
<div class="nullbookmark-img">
|
||||
</div>
|
||||
<div style="color: #000000" class="nullbookmark-text">
|
||||
此目录还未添加书签
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="bookmarklist" v-loading="loading" v-if="showbookmark" >
|
||||
<el-row >
|
||||
<hr class="bookamrk-hr"/>
|
||||
<el-col :span="24" v-for="bm in bookmarkList">
|
||||
<div class="editBookamrk">
|
||||
<div class="editlist">
|
||||
<div> <el-button plain size="small" @click="handleUpdate(bm.bookmarkId)">修改</el-button></div>
|
||||
<div> <el-button plain size="small" @click="handleDelete(bm.bookmarkId)">删除</el-button></div>
|
||||
<div> <el-button plain size="small">笔记</el-button></div>
|
||||
<div> <el-button plain size="small">分享</el-button></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="bookmark" :data-id="bm.id" @click="windowurl(bm.url,bm.bookmarkId)">
|
||||
<p class="bookmark-title">{{bm.title}}</p>
|
||||
<div class="">
|
||||
<p class="description">{{bm.description}}</p>
|
||||
</div>
|
||||
<div class="info-wrap">
|
||||
<div class="info">
|
||||
<div class="bookmark-icon">
|
||||
<!-- <img :err-src='bm.icon' :ng-src="bm.icon" :src="bm.icon" />-->
|
||||
<img :ng-src="'https://favicon.lucq.fun/?url=http://'+bm.urls" :src="'https://favicon.lucq.fun/?url=http://'+bm.urls" onerror="this.src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAmVJREFUSMftlG1IU2EUx8+5jRHzg+5OiD64WTBBjSY5ZybUJMaMiIUICUKFIGmoIIogYWKFBmtDxN1tBKIWvlS6SR+iLFDBXqSMgmzbvQ7fkAjcINmQ5u7pQwyCiOvWx/p/fPj9/5znnPM8AP+VolRTjjHhTlmZipzEk9GYao4sVaMYxXp62NgIdpLBCuLP05mZZHOYZA3p5KgMjBcUwCmw4PfVVYiBGmbW1zMzOU4QCgtTvdAeRESEyNZyJbx+dDTjVv/9YFSjSScnfabsbPYMF+AbxsYS3F5TfwPZAacpMNfUBEAljK24mMJwlLIUClTAdfwok9FXWBTtc3Phzqv7c/RWa8KnrHZM8VltbRjC92AxGkEPRpSJInjJQPpIBJoZC6nn50M19dM5J/v6/lhRxgXXDX9Qp1POcmHh2sTEQbfbvVmrUCTbr4RPaeMe8Q0eTyI36VkrW50mftjrPWCyDn9oSUuTdj4Y/1Qpl7NdzkNC98iIqsIxHdQVFaU8eWW1U1guLy1lr3Acr3O7pXi227EhDLpcCZ8UL/kK8LIYjxtDIRhEP8xGIlI8bcAKvY3FGB/zYvf81pYUL/0PvGTKoTUvjzbgCx5ZWlJq3a5lQa1Ge3yTWnp64ASYqVcUoXn3Jtja2/EpRtHj89FF8Tb25ufDOwCo8/lSL0BF/eDPzcVXeA7WDAa6J9rES1VVdJqx41JHBwCE8BgA3JU9B+3AACziMwjv7MAaPQb/wgIAnP2rDpCWtpkncjm+Ro34bWgo3FkX0O6bnARARCT6hSR6YzazXa7DfLyigo7TNtObxNb/s/oB7V8JFvW/8IQAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjAtMDItMDJUMTg6MTE6NTgrMDg6MDCoc6tpAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIwLTAyLTAyVDE4OjExOjU4KzA4OjAw2S4T1QAAAGd0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fNWhyOG55Nmo1bWMvamluZ2RpYW5hbmxpX2tvbmd3dWppYW94aW5nX3Nob3VjYW5nLnN2Z4/vilwAAAAASUVORK5CYII='" alt="" ng-show="bm.urls">
|
||||
</div>
|
||||
<div class="bookmark-official">{{bm.urls}} · </div><div class="bookmark-time">{{bm.createTime|changeTime}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<el-divider class="bookmark-hr"></el-divider>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 添加或修改书签管理对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
|
||||
<el-form-item label="书签标题" prop="title">
|
||||
<el-input v-model="form.title" placeholder="请输入书签标题" />
|
||||
</el-form-item>
|
||||
<el-form-item label="书签地址" prop="url">
|
||||
<el-input v-model="form.url" placeholder="请输入书签地址" />
|
||||
</el-form-item>
|
||||
<el-form-item label="书签描述" prop="description">
|
||||
<el-input v-model="form.description" type="textarea" placeholder="请输入书签描述" run dev
|
||||
:autosize="{minRows: 3, maxRows:4}" :style="{width: '100%'}"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属目录" prop="menuId">
|
||||
<el-input v-model="form.menuId" placeholder="请选择上级目录" />
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<el-form-item label="书签标签:" prop="label">
|
||||
<el-tag
|
||||
class="bookmarktag"
|
||||
v-for="tag in form.sqTags"
|
||||
:key="tag.tagId"
|
||||
closable
|
||||
type="success"
|
||||
:disable-transitions="false"
|
||||
@close="taghandleClose(tag.tagId)"
|
||||
v-if="tag.name!='TAGDELETE'"
|
||||
>
|
||||
{{tag.name}}
|
||||
</el-tag>
|
||||
<el-input
|
||||
class="input-new-tag"
|
||||
v-if="inputVisible"
|
||||
v-model="inputValue"
|
||||
ref="saveTagInput"
|
||||
size="small"
|
||||
@keyup.enter.native="handleInputConfirm"
|
||||
@blur="handleInputConfirm"
|
||||
>
|
||||
</el-input>
|
||||
<el-button v-else class="button-new-tag" size="small" @click="showInput">+ 新增标签</el-button>
|
||||
|
||||
</el-form-item>
|
||||
|
||||
<!-- 0公开显示 1隐藏显示 2好友显示-->
|
||||
<el-form-item label="选择状态" prop="start">
|
||||
<el-radio-group v-model="form.start" size="medium">
|
||||
<el-radio v-for="(item, index) in bookmarkstatus" :key="index" :label="item.value"
|
||||
:disabled="item.disabled">{{item.name}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- 1.未读稍后再看 2 已读 2.續看-->
|
||||
<el-form-item label="选择类型" prop="type">
|
||||
<el-radio-group v-model="form.type" size="medium">
|
||||
<el-radio v-for="(item, index) in bookmarktype" :key="index" :label="item.value"
|
||||
:disabled="item.disabled">{{item.name}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listBookmark, getBookmark, delBookmark, addBookmark, updateBookmark, exportBookmark } from "@/api/bookmark/bookmark";
|
||||
|
||||
export default {
|
||||
name: "Bookmark",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 书签管理表格数据
|
||||
bookmarkList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
userid: undefined,
|
||||
title: undefined,
|
||||
url: undefined,
|
||||
urls: undefined,
|
||||
description: undefined,
|
||||
image: undefined,
|
||||
label: undefined,
|
||||
menuId: undefined,
|
||||
zcount: undefined,
|
||||
idelete: undefined,
|
||||
start: undefined,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
|
||||
import { selectBymenuIdUserID,selectBydelete,selectByUseridList, getBookmark, delBookmark, addBookmark, updateBookmark, exportBookmark } from "@/api/bookmark/bookmark";
|
||||
import { format } from 'timeago.js';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
format
|
||||
},
|
||||
|
||||
data: function () {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
showbookmark:true,
|
||||
showimg:false,
|
||||
loading:false,
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 15,
|
||||
userid: undefined,
|
||||
title: undefined,
|
||||
url: undefined,
|
||||
urls: undefined,
|
||||
description: undefined,
|
||||
image: undefined,
|
||||
label: undefined,
|
||||
menuId: undefined,
|
||||
zcount: undefined,
|
||||
idelete: undefined,
|
||||
start: undefined,
|
||||
sqTags:[]
|
||||
},
|
||||
inputVisible: false, //标签
|
||||
inputValue: '', //标签
|
||||
tagcount:0, //标签虚拟ID
|
||||
bookmarkList:[],
|
||||
urltext:'?from=yunshuqian.com',//网址域名起推广作用
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
},
|
||||
bookmarkstatus: [{
|
||||
"name": "公开",
|
||||
"value": 1
|
||||
}, {
|
||||
"name": "私密",
|
||||
"value": 2
|
||||
}],
|
||||
bookmarktype: [{
|
||||
"name": "已阅读",
|
||||
"value": 1
|
||||
}, {
|
||||
"name": "稍后读",
|
||||
"value": 2
|
||||
}, {
|
||||
"name": "待续读",
|
||||
"value": 3
|
||||
}],
|
||||
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
//timeago.js插件
|
||||
//计算时间,类似于几分钟前,几小时前,几天前等
|
||||
changeTime(val){
|
||||
let time = new Date(val); //先将接收到的json格式的日期数据转换成可用的js对象日期
|
||||
return format(time, 'zh_CN'); //转换成类似于几天前的格式
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
|
||||
/** 查询书签管理列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listBookmark(this.queryParams).then(response => {
|
||||
this.bookmarkList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
bookmarkId: undefined,
|
||||
userid: undefined,
|
||||
title: undefined,
|
||||
url: undefined,
|
||||
urls: undefined,
|
||||
description: undefined,
|
||||
image: undefined,
|
||||
label: undefined,
|
||||
menuId: undefined,
|
||||
zcount: undefined,
|
||||
idelete: undefined,
|
||||
start: undefined,
|
||||
createTime: undefined
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.bookmarkId)
|
||||
this.single = selection.length!=1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加书签管理";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const bookmarkId = row.bookmarkId || this.ids
|
||||
getBookmark(bookmarkId).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改书签管理";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm: function() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.bookmarkId != undefined) {
|
||||
updateBookmark(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
addBookmark(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}
|
||||
});
|
||||
}
|
||||
created() {
|
||||
var that=this;
|
||||
var routedata=that.$route.query.menuId;
|
||||
if (routedata==undefined){
|
||||
that.queryParams.menuId=1;
|
||||
}else {
|
||||
that.queryParams.menuId=routedata;
|
||||
}
|
||||
});
|
||||
|
||||
if (routedata=='BOOKMARK'){
|
||||
//全部书签
|
||||
this.getBookmarkList();
|
||||
|
||||
}else if(routedata=='RECYCLE'){
|
||||
//回收站
|
||||
this.getrecycleList();
|
||||
|
||||
}else{
|
||||
//根据menuId查询
|
||||
this.getList();
|
||||
}
|
||||
|
||||
},
|
||||
mounted(){
|
||||
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const bookmarkIds = row.bookmarkId || this.ids;
|
||||
this.$confirm('是否确认删除书签管理编号为"' + bookmarkIds + '"的数据项?', "警告", {
|
||||
methods: {
|
||||
|
||||
|
||||
|
||||
/**书签编辑设置的 标签开始**/
|
||||
taghandleClose(tag) {
|
||||
//1. 首先我们要得到这个对象
|
||||
var tina = this.form.sqTags.filter((p) => {
|
||||
return p.tagId == tag;
|
||||
});
|
||||
//2. 其次得到这个对象在数组中对应的索引
|
||||
var index = this.form.sqTags.indexOf(tina[0]);
|
||||
//3. 如果存在则将其删除,index > -1 代表存在
|
||||
// index > -1 && this.form.sqTags.splice(index, 1);
|
||||
if (index > -1){
|
||||
if (this.form.sqTags[index].tagId<0){
|
||||
this.form.sqTags.splice(index, 1);
|
||||
}
|
||||
this.form.sqTags[index].name="TAGDELETE";
|
||||
}
|
||||
console.log(this.form.sqTags);
|
||||
},
|
||||
showInput() {
|
||||
this.inputVisible = true;
|
||||
this.$nextTick(_ => {
|
||||
this.$refs.saveTagInput.$refs.input.focus();
|
||||
});
|
||||
},
|
||||
|
||||
handleInputConfirm() {
|
||||
let inputValue = this.inputValue;
|
||||
if (inputValue) {
|
||||
this.tagcount=this.tagcount-1;
|
||||
//添加
|
||||
var updatetag ={name: inputValue, bookmarkId: this.form.bookmarkId,tagId:this.tagcount};
|
||||
|
||||
this.form.sqTags.push(updatetag);
|
||||
}
|
||||
this.inputVisible = false;
|
||||
this.inputValue = '';
|
||||
console.log(this.form.sqTags);
|
||||
},
|
||||
|
||||
|
||||
/**书签编辑设置的 标签结束**/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(bookmarkId) {
|
||||
this.reset();
|
||||
const ibookmarkId = bookmarkId || this.ids
|
||||
getBookmark(ibookmarkId).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "书签编辑管理";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 修改和新增 */
|
||||
submitForm: function() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.bookmarkId != undefined) {
|
||||
updateBookmark(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
addBookmark(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(bookmarkId) {
|
||||
const bookmarkIds = bookmarkId || this.ids;
|
||||
this.$confirm('是否确认删除此条书签数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
@ -380,20 +379,193 @@ export default {
|
||||
this.getList();
|
||||
this.msgSuccess("删除成功");
|
||||
}).catch(function() {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
const queryParams = this.queryParams;
|
||||
this.$confirm('是否确认导出所有书签管理数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function() {
|
||||
return exportBookmark(queryParams);
|
||||
}).then(response => {
|
||||
this.download(response.msg);
|
||||
}).catch(function() {});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
bookmarkId: undefined,
|
||||
userid: undefined,
|
||||
title: undefined,
|
||||
url: undefined,
|
||||
urls: undefined,
|
||||
description: undefined,
|
||||
image: undefined,
|
||||
label: undefined,
|
||||
menuId: undefined,
|
||||
zcount: undefined,
|
||||
idelete: undefined,
|
||||
start: undefined,
|
||||
createTime: undefined
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 回收站**/
|
||||
getrecycleList() {
|
||||
this.loading = true;
|
||||
selectBydelete(this.queryParams).then(response => {
|
||||
if (response.total!=0&&response.code==200){
|
||||
this.bookmarkList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
}else {
|
||||
this.showbookmark = false;
|
||||
this.showimg = true;
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 全部书签**/
|
||||
getBookmarkList() {
|
||||
this.loading = true;
|
||||
selectByUseridList(this.queryParams).then(response => {
|
||||
if (response.total!=0&&response.code==200){
|
||||
this.bookmarkList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
}else {
|
||||
this.showbookmark = false;
|
||||
this.showimg = true;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/** 查询书签管理列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
selectBymenuIdUserID(this.queryParams).then(response => {
|
||||
if (response.total!=0&&response.code==200){
|
||||
this.bookmarkList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
}else {
|
||||
this.showbookmark = false;
|
||||
this.showimg = true;
|
||||
}
|
||||
});
|
||||
},
|
||||
windowurl(url,bookmarkId){
|
||||
// window.open(url+this.urltext);
|
||||
window.open(url);
|
||||
|
||||
|
||||
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<style scoped>
|
||||
|
||||
|
||||
/**编辑标签 开始**/
|
||||
.el-tag + .el-tag {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.button-new-tag {
|
||||
margin-left: 10px;
|
||||
height: 32px;
|
||||
line-height: 30px;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
.input-new-tag {
|
||||
width: 90px;
|
||||
margin-left: 10px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
/**编辑标签 结束**/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.filler-tag span{
|
||||
font-size: 12px;
|
||||
margin-left: 5px;
|
||||
background-color: #FFFFFF;
|
||||
color: #399de0;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.filler-tag span:hover{
|
||||
background-color: #E8F3FC;
|
||||
color: #1988E0;
|
||||
}
|
||||
.bookamrk-hr{
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
|
||||
.filter-sort-dropdown{
|
||||
top:65px!important;
|
||||
box-shadow: 0 2px 15px 0 rgba(0,0,0,.2)!important;
|
||||
font-weight: 600!important;
|
||||
}
|
||||
.filter-sort-dropdown div{
|
||||
display: none!important;
|
||||
}
|
||||
.nullbookmark{
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
margin-top: 10%;
|
||||
}
|
||||
.nullbookmark-img{
|
||||
margin: 0 auto;
|
||||
width:250px;
|
||||
height: 250px;
|
||||
justify-content: center;
|
||||
align-content: center;
|
||||
background-image: url("https://s1.ax1x.com/2020/08/22/dawFp9.png") ;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
.nullbookmark-text{
|
||||
margin: 0 auto;
|
||||
width:250px;
|
||||
text-align: center;
|
||||
color: #D4D4D4!important;
|
||||
|
||||
}
|
||||
.editBookamrk{
|
||||
width: 270px;
|
||||
height: 70px;
|
||||
position: absolute;
|
||||
background-color: #acd7ff;
|
||||
right: 0;
|
||||
}
|
||||
.editlist{
|
||||
display: flex;
|
||||
width: 100%;
|
||||
height: 70px;
|
||||
flex-flow: wrap;
|
||||
align-items: center;
|
||||
}
|
||||
.editlist div{
|
||||
margin-left:10px;
|
||||
width: 50px;
|
||||
height: 35px;
|
||||
align-content: center;
|
||||
|
||||
}
|
||||
.bookmarktag{
|
||||
margin-right: 5px;
|
||||
}
|
||||
.bookmarklist{
|
||||
/*height: 400px !important;*/
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
@ -1,571 +0,0 @@
|
||||
|
||||
|
||||
<template >
|
||||
<div >
|
||||
|
||||
<div class="filter" >
|
||||
<div class="filter-sort" >
|
||||
<el-dropdown trigger="click" size="small">
|
||||
<span class="el-dropdown-link">
|
||||
<span>按时间排序(正)</span> <i class="el-icon-caret-bottom"></i>
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown" class="filter-sort-dropdown">
|
||||
<el-dropdown-item class="filter-item"><i class="el-icon-bottom"></i>按时间排序(正)</el-dropdown-item>
|
||||
<el-dropdown-item class="filter-item"><i class="el-icon-bottom"></i>按时间排序(反)</el-dropdown-item>
|
||||
<el-dropdown-item class="filter-item"><i class="el-icon-bottom"></i>按字母A-Z排序</el-dropdown-item>
|
||||
<el-dropdown-item class="filter-item"><i class="el-icon-bottom"></i>按字母A-Z排序</el-dropdown-item>
|
||||
<el-dropdown-item class="filter-item"><i class="el-icon-bottom"></i>按网站A-Z排序</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
<div >
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
</div>
|
||||
<div class="filler-tag">
|
||||
<el-tag size="small">我的最爱</el-tag>
|
||||
</div>
|
||||
<div class="filler-tag">
|
||||
<el-tag size="small" >小型标签</el-tag>
|
||||
</div>
|
||||
<div class="filler-tag">
|
||||
<el-tag size="small" >小型标签</el-tag>
|
||||
</div>
|
||||
<div class="filler-tag">
|
||||
<el-tag size="small" >小型标签</el-tag>
|
||||
</div>
|
||||
<div class="filler-tag">
|
||||
<el-tag size="small" >小型标签</el-tag>
|
||||
</div>
|
||||
<div class="filler-tag">
|
||||
<el-tag size="small" >小型标签</el-tag>
|
||||
</div>
|
||||
<div class="filler-tag">
|
||||
<el-tag size="small" >...</el-tag>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="nullbookmark" v-if="showimg">
|
||||
<div class="nullbookmark-img">
|
||||
</div>
|
||||
<div style="color: #000000" class="nullbookmark-text">
|
||||
此目录还未添加书签
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="bookmarklist" v-loading="loading" v-if="showbookmark" >
|
||||
<el-row >
|
||||
<hr class="bookamrk-hr"/>
|
||||
<el-col :span="24" v-for="bm in bookmarkList">
|
||||
<div class="editBookamrk">
|
||||
<div class="editlist">
|
||||
<div> <el-button plain size="small" @click="handleUpdate(bm.bookmarkId)">修改</el-button></div>
|
||||
<div> <el-button plain size="small" @click="handleDelete(bm.bookmarkId)">删除</el-button></div>
|
||||
<div> <el-button plain size="small">笔记</el-button></div>
|
||||
<div> <el-button plain size="small">分享</el-button></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="bookmark" :data-id="bm.id" @click="windowurl(bm.url,bm.bookmarkId)">
|
||||
<p class="bookmark-title">{{bm.title}}</p>
|
||||
<div class="">
|
||||
<p class="description">{{bm.description}}</p>
|
||||
</div>
|
||||
<div class="info-wrap">
|
||||
<div class="info">
|
||||
<div class="bookmark-icon">
|
||||
<!-- <img :err-src='bm.icon' :ng-src="bm.icon" :src="bm.icon" />-->
|
||||
<img :ng-src="'https://favicon.lucq.fun/?url=http://'+bm.urls" :src="'https://favicon.lucq.fun/?url=http://'+bm.urls" onerror="this.src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAmVJREFUSMftlG1IU2EUx8+5jRHzg+5OiD64WTBBjSY5ZybUJMaMiIUICUKFIGmoIIogYWKFBmtDxN1tBKIWvlS6SR+iLFDBXqSMgmzbvQ7fkAjcINmQ5u7pQwyCiOvWx/p/fPj9/5znnPM8AP+VolRTjjHhTlmZipzEk9GYao4sVaMYxXp62NgIdpLBCuLP05mZZHOYZA3p5KgMjBcUwCmw4PfVVYiBGmbW1zMzOU4QCgtTvdAeRESEyNZyJbx+dDTjVv/9YFSjSScnfabsbPYMF+AbxsYS3F5TfwPZAacpMNfUBEAljK24mMJwlLIUClTAdfwok9FXWBTtc3Phzqv7c/RWa8KnrHZM8VltbRjC92AxGkEPRpSJInjJQPpIBJoZC6nn50M19dM5J/v6/lhRxgXXDX9Qp1POcmHh2sTEQbfbvVmrUCTbr4RPaeMe8Q0eTyI36VkrW50mftjrPWCyDn9oSUuTdj4Y/1Qpl7NdzkNC98iIqsIxHdQVFaU8eWW1U1guLy1lr3Acr3O7pXi227EhDLpcCZ8UL/kK8LIYjxtDIRhEP8xGIlI8bcAKvY3FGB/zYvf81pYUL/0PvGTKoTUvjzbgCx5ZWlJq3a5lQa1Ge3yTWnp64ASYqVcUoXn3Jtja2/EpRtHj89FF8Tb25ufDOwCo8/lSL0BF/eDPzcVXeA7WDAa6J9rES1VVdJqx41JHBwCE8BgA3JU9B+3AACziMwjv7MAaPQb/wgIAnP2rDpCWtpkncjm+Ro34bWgo3FkX0O6bnARARCT6hSR6YzazXa7DfLyigo7TNtObxNb/s/oB7V8JFvW/8IQAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjAtMDItMDJUMTg6MTE6NTgrMDg6MDCoc6tpAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIwLTAyLTAyVDE4OjExOjU4KzA4OjAw2S4T1QAAAGd0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fNWhyOG55Nmo1bWMvamluZ2RpYW5hbmxpX2tvbmd3dWppYW94aW5nX3Nob3VjYW5nLnN2Z4/vilwAAAAASUVORK5CYII='" alt="" ng-show="bm.urls">
|
||||
</div>
|
||||
<div class="bookmark-official">{{bm.urls}} · </div><div class="bookmark-time">{{bm.createTime|changeTime}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<el-divider class="bookmark-hr"></el-divider>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 添加或修改书签管理对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
|
||||
<el-form-item label="书签标题" prop="title">
|
||||
<el-input v-model="form.title" placeholder="请输入书签标题" />
|
||||
</el-form-item>
|
||||
<el-form-item label="书签地址" prop="url">
|
||||
<el-input v-model="form.url" placeholder="请输入书签地址" />
|
||||
</el-form-item>
|
||||
<el-form-item label="书签描述" prop="description">
|
||||
<el-input v-model="form.description" type="textarea" placeholder="请输入书签描述" run dev
|
||||
:autosize="{minRows: 3, maxRows:4}" :style="{width: '100%'}"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属目录" prop="menuId">
|
||||
<el-input v-model="form.menuId" placeholder="请选择上级目录" />
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<el-form-item label="书签标签:" prop="label">
|
||||
<el-tag
|
||||
class="bookmarktag"
|
||||
v-for="tag in form.sqTags"
|
||||
:key="tag.tagId"
|
||||
closable
|
||||
type="success"
|
||||
:disable-transitions="false"
|
||||
@close="taghandleClose(tag.tagId)"
|
||||
v-if="tag.name!='TAGDELETE'"
|
||||
>
|
||||
{{tag.name}}
|
||||
</el-tag>
|
||||
<el-input
|
||||
class="input-new-tag"
|
||||
v-if="inputVisible"
|
||||
v-model="inputValue"
|
||||
ref="saveTagInput"
|
||||
size="small"
|
||||
@keyup.enter.native="handleInputConfirm"
|
||||
@blur="handleInputConfirm"
|
||||
>
|
||||
</el-input>
|
||||
<el-button v-else class="button-new-tag" size="small" @click="showInput">+ 新增标签</el-button>
|
||||
|
||||
</el-form-item>
|
||||
|
||||
<!-- 0公开显示 1隐藏显示 2好友显示-->
|
||||
<el-form-item label="选择状态" prop="start">
|
||||
<el-radio-group v-model="form.start" size="medium">
|
||||
<el-radio v-for="(item, index) in bookmarkstatus" :key="index" :label="item.value"
|
||||
:disabled="item.disabled">{{item.name}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- 1.未读稍后再看 2 已读 2.續看-->
|
||||
<el-form-item label="选择类型" prop="type">
|
||||
<el-radio-group v-model="form.type" size="medium">
|
||||
<el-radio v-for="(item, index) in bookmarktype" :key="index" :label="item.value"
|
||||
:disabled="item.disabled">{{item.name}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
import { selectBymenuIdUserID,selectBydelete,selectByUseridList, getBookmark, delBookmark, addBookmark, updateBookmark, exportBookmark } from "@/api/bookmark/bookmark";
|
||||
import { format } from 'timeago.js';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
format
|
||||
},
|
||||
|
||||
data: function () {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
showbookmark:true,
|
||||
showimg:false,
|
||||
loading:false,
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 15,
|
||||
userid: undefined,
|
||||
title: undefined,
|
||||
url: undefined,
|
||||
urls: undefined,
|
||||
description: undefined,
|
||||
image: undefined,
|
||||
label: undefined,
|
||||
menuId: undefined,
|
||||
zcount: undefined,
|
||||
idelete: undefined,
|
||||
start: undefined,
|
||||
sqTags:[]
|
||||
},
|
||||
inputVisible: false, //标签
|
||||
inputValue: '', //标签
|
||||
tagcount:0, //标签虚拟ID
|
||||
bookmarkList:[],
|
||||
urltext:'?from=yunshuqian.com',//网址域名起推广作用
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
},
|
||||
bookmarkstatus: [{
|
||||
"name": "公开",
|
||||
"value": 1
|
||||
}, {
|
||||
"name": "私密",
|
||||
"value": 2
|
||||
}],
|
||||
bookmarktype: [{
|
||||
"name": "已阅读",
|
||||
"value": 1
|
||||
}, {
|
||||
"name": "稍后读",
|
||||
"value": 2
|
||||
}, {
|
||||
"name": "待续读",
|
||||
"value": 3
|
||||
}],
|
||||
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
//timeago.js插件
|
||||
//计算时间,类似于几分钟前,几小时前,几天前等
|
||||
changeTime(val){
|
||||
let time = new Date(val); //先将接收到的json格式的日期数据转换成可用的js对象日期
|
||||
return format(time, 'zh_CN'); //转换成类似于几天前的格式
|
||||
}
|
||||
},
|
||||
created() {
|
||||
var that=this;
|
||||
var routedata=that.$route.query.menuId;
|
||||
if (routedata==undefined){
|
||||
that.queryParams.menuId=1;
|
||||
}else {
|
||||
that.queryParams.menuId=routedata;
|
||||
}
|
||||
|
||||
if (routedata=='BOOKMARK'){
|
||||
//全部书签
|
||||
this.getBookmarkList();
|
||||
|
||||
}else if(routedata=='RECYCLE'){
|
||||
//回收站
|
||||
this.getrecycleList();
|
||||
|
||||
}else{
|
||||
//根据menuId查询
|
||||
this.getList();
|
||||
}
|
||||
|
||||
},
|
||||
mounted(){
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
|
||||
|
||||
/**书签编辑设置的 标签开始**/
|
||||
taghandleClose(tag) {
|
||||
//1. 首先我们要得到这个对象
|
||||
var tina = this.form.sqTags.filter((p) => {
|
||||
return p.tagId == tag;
|
||||
});
|
||||
//2. 其次得到这个对象在数组中对应的索引
|
||||
var index = this.form.sqTags.indexOf(tina[0]);
|
||||
//3. 如果存在则将其删除,index > -1 代表存在
|
||||
// index > -1 && this.form.sqTags.splice(index, 1);
|
||||
if (index > -1){
|
||||
if (this.form.sqTags[index].tagId<0){
|
||||
this.form.sqTags.splice(index, 1);
|
||||
}
|
||||
this.form.sqTags[index].name="TAGDELETE";
|
||||
}
|
||||
console.log(this.form.sqTags);
|
||||
},
|
||||
showInput() {
|
||||
this.inputVisible = true;
|
||||
this.$nextTick(_ => {
|
||||
this.$refs.saveTagInput.$refs.input.focus();
|
||||
});
|
||||
},
|
||||
|
||||
handleInputConfirm() {
|
||||
let inputValue = this.inputValue;
|
||||
if (inputValue) {
|
||||
this.tagcount=this.tagcount-1;
|
||||
//添加
|
||||
var updatetag ={name: inputValue, bookmarkId: this.form.bookmarkId,tagId:this.tagcount};
|
||||
|
||||
this.form.sqTags.push(updatetag);
|
||||
}
|
||||
this.inputVisible = false;
|
||||
this.inputValue = '';
|
||||
console.log(this.form.sqTags);
|
||||
},
|
||||
|
||||
|
||||
/**书签编辑设置的 标签结束**/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(bookmarkId) {
|
||||
this.reset();
|
||||
const ibookmarkId = bookmarkId || this.ids
|
||||
getBookmark(ibookmarkId).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "书签编辑管理";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 修改和新增 */
|
||||
submitForm: function() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.bookmarkId != undefined) {
|
||||
updateBookmark(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
addBookmark(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(bookmarkId) {
|
||||
const bookmarkIds = bookmarkId || this.ids;
|
||||
this.$confirm('是否确认删除此条书签数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function() {
|
||||
return delBookmark(bookmarkIds);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.msgSuccess("删除成功");
|
||||
}).catch(function() {});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
bookmarkId: undefined,
|
||||
userid: undefined,
|
||||
title: undefined,
|
||||
url: undefined,
|
||||
urls: undefined,
|
||||
description: undefined,
|
||||
image: undefined,
|
||||
label: undefined,
|
||||
menuId: undefined,
|
||||
zcount: undefined,
|
||||
idelete: undefined,
|
||||
start: undefined,
|
||||
createTime: undefined
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 回收站**/
|
||||
getrecycleList() {
|
||||
this.loading = true;
|
||||
selectBydelete(this.queryParams).then(response => {
|
||||
if (response.total!=0&&response.code==200){
|
||||
this.bookmarkList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
}else {
|
||||
this.showbookmark = false;
|
||||
this.showimg = true;
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 全部书签**/
|
||||
getBookmarkList() {
|
||||
this.loading = true;
|
||||
selectByUseridList(this.queryParams).then(response => {
|
||||
if (response.total!=0&&response.code==200){
|
||||
this.bookmarkList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
}else {
|
||||
this.showbookmark = false;
|
||||
this.showimg = true;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/** 查询书签管理列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
selectBymenuIdUserID(this.queryParams).then(response => {
|
||||
if (response.total!=0&&response.code==200){
|
||||
this.bookmarkList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
}else {
|
||||
this.showbookmark = false;
|
||||
this.showimg = true;
|
||||
}
|
||||
});
|
||||
},
|
||||
windowurl(url,bookmarkId){
|
||||
// window.open(url+this.urltext);
|
||||
window.open(url);
|
||||
|
||||
|
||||
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<style scoped>
|
||||
|
||||
|
||||
/**编辑标签 开始**/
|
||||
.el-tag + .el-tag {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.button-new-tag {
|
||||
margin-left: 10px;
|
||||
height: 32px;
|
||||
line-height: 30px;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
.input-new-tag {
|
||||
width: 90px;
|
||||
margin-left: 10px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
/**编辑标签 结束**/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.filler-tag span{
|
||||
font-size: 12px;
|
||||
margin-left: 5px;
|
||||
background-color: #FFFFFF;
|
||||
color: #399de0;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.filler-tag span:hover{
|
||||
background-color: #E8F3FC;
|
||||
color: #1988E0;
|
||||
}
|
||||
.bookamrk-hr{
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
|
||||
.filter-sort-dropdown{
|
||||
top:65px!important;
|
||||
box-shadow: 0 2px 15px 0 rgba(0,0,0,.2)!important;
|
||||
font-weight: 600!important;
|
||||
}
|
||||
.filter-sort-dropdown div{
|
||||
display: none!important;
|
||||
}
|
||||
.nullbookmark{
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
margin-top: 10%;
|
||||
}
|
||||
.nullbookmark-img{
|
||||
margin: 0 auto;
|
||||
width:250px;
|
||||
height: 250px;
|
||||
justify-content: center;
|
||||
align-content: center;
|
||||
background-image: url("https://s1.ax1x.com/2020/08/22/dawFp9.png") ;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
.nullbookmark-text{
|
||||
margin: 0 auto;
|
||||
width:250px;
|
||||
text-align: center;
|
||||
color: #D4D4D4!important;
|
||||
|
||||
}
|
||||
.editBookamrk{
|
||||
width: 270px;
|
||||
height: 70px;
|
||||
position: absolute;
|
||||
background-color: #acd7ff;
|
||||
right: 0;
|
||||
}
|
||||
.editlist{
|
||||
display: flex;
|
||||
width: 100%;
|
||||
height: 70px;
|
||||
flex-flow: wrap;
|
||||
align-items: center;
|
||||
}
|
||||
.editlist div{
|
||||
margin-left:10px;
|
||||
width: 50px;
|
||||
height: 35px;
|
||||
align-content: center;
|
||||
|
||||
}
|
||||
.bookmarktag{
|
||||
margin-right: 5px;
|
||||
}
|
||||
.bookmarklist{
|
||||
/*height: 400px !important;*/
|
||||
}
|
||||
|
||||
|
||||
</style>
|
@ -273,7 +273,7 @@
|
||||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
import "../ztree/jquery-1.4.4.min.js"
|
||||
import "../ztree/jquery.ztree.core.js"
|
||||
import "../ztree/jquery.ztree.core.js"
|
||||
import "../ztree/demo.css"
|
||||
import "../ztree/zTreeStyle.css"
|
||||
import "../ztree/jquery.ztree.exedit.js"
|
||||
|
170
sql/quartz.sql
170
sql/quartz.sql
@ -1,170 +0,0 @@
|
||||
-- ----------------------------
|
||||
-- 1、存储每一个已配置的 jobDetail 的详细信息
|
||||
-- ----------------------------
|
||||
drop table if exists QRTZ_JOB_DETAILS;
|
||||
create table QRTZ_JOB_DETAILS (
|
||||
sched_name varchar(120) not null,
|
||||
job_name varchar(200) not null,
|
||||
job_group varchar(200) not null,
|
||||
description varchar(250) null,
|
||||
job_class_name varchar(250) not null,
|
||||
is_durable varchar(1) not null,
|
||||
is_nonconcurrent varchar(1) not null,
|
||||
is_update_data varchar(1) not null,
|
||||
requests_recovery varchar(1) not null,
|
||||
job_data blob null,
|
||||
primary key (sched_name,job_name,job_group)
|
||||
) engine=innodb;
|
||||
|
||||
-- ----------------------------
|
||||
-- 2、 存储已配置的 Trigger 的信息
|
||||
-- ----------------------------
|
||||
drop table if exists QRTZ_TRIGGERS;
|
||||
create table QRTZ_TRIGGERS (
|
||||
sched_name varchar(120) not null,
|
||||
trigger_name varchar(200) not null,
|
||||
trigger_group varchar(200) not null,
|
||||
job_name varchar(200) not null,
|
||||
job_group varchar(200) not null,
|
||||
description varchar(250) null,
|
||||
next_fire_time bigint(13) null,
|
||||
prev_fire_time bigint(13) null,
|
||||
priority integer null,
|
||||
trigger_state varchar(16) not null,
|
||||
trigger_type varchar(8) not null,
|
||||
start_time bigint(13) not null,
|
||||
end_time bigint(13) null,
|
||||
calendar_name varchar(200) null,
|
||||
misfire_instr smallint(2) null,
|
||||
job_data blob null,
|
||||
primary key (sched_name,trigger_name,trigger_group),
|
||||
foreign key (sched_name,job_name,job_group) references QRTZ_JOB_DETAILS(sched_name,job_name,job_group)
|
||||
) engine=innodb;
|
||||
|
||||
-- ----------------------------
|
||||
-- 3、 存储简单的 Trigger,包括重复次数,间隔,以及已触发的次数
|
||||
-- ----------------------------
|
||||
drop table if exists QRTZ_SIMPLE_TRIGGERS;
|
||||
create table QRTZ_SIMPLE_TRIGGERS (
|
||||
sched_name varchar(120) not null,
|
||||
trigger_name varchar(200) not null,
|
||||
trigger_group varchar(200) not null,
|
||||
repeat_count bigint(7) not null,
|
||||
repeat_interval bigint(12) not null,
|
||||
times_triggered bigint(10) not null,
|
||||
primary key (sched_name,trigger_name,trigger_group),
|
||||
foreign key (sched_name,trigger_name,trigger_group) references QRTZ_TRIGGERS(sched_name,trigger_name,trigger_group)
|
||||
) engine=innodb;
|
||||
|
||||
-- ----------------------------
|
||||
-- 4、 存储 Cron Trigger,包括 Cron 表达式和时区信息
|
||||
-- ----------------------------
|
||||
drop table if exists QRTZ_CRON_TRIGGERS;
|
||||
create table QRTZ_CRON_TRIGGERS (
|
||||
sched_name varchar(120) not null,
|
||||
trigger_name varchar(200) not null,
|
||||
trigger_group varchar(200) not null,
|
||||
cron_expression varchar(200) not null,
|
||||
time_zone_id varchar(80),
|
||||
primary key (sched_name,trigger_name,trigger_group),
|
||||
foreign key (sched_name,trigger_name,trigger_group) references QRTZ_TRIGGERS(sched_name,trigger_name,trigger_group)
|
||||
) engine=innodb;
|
||||
|
||||
-- ----------------------------
|
||||
-- 5、 Trigger 作为 Blob 类型存储(用于 Quartz 用户用 JDBC 创建他们自己定制的 Trigger 类型,JobStore 并不知道如何存储实例的时候)
|
||||
-- ----------------------------
|
||||
drop table if exists QRTZ_BLOB_TRIGGERS;
|
||||
create table QRTZ_BLOB_TRIGGERS (
|
||||
sched_name varchar(120) not null,
|
||||
trigger_name varchar(200) not null,
|
||||
trigger_group varchar(200) not null,
|
||||
blob_data blob null,
|
||||
primary key (sched_name,trigger_name,trigger_group),
|
||||
foreign key (sched_name,trigger_name,trigger_group) references QRTZ_TRIGGERS(sched_name,trigger_name,trigger_group)
|
||||
) engine=innodb;
|
||||
|
||||
-- ----------------------------
|
||||
-- 6、 以 Blob 类型存储存放日历信息, quartz可配置一个日历来指定一个时间范围
|
||||
-- ----------------------------
|
||||
drop table if exists QRTZ_CALENDARS;
|
||||
create table QRTZ_CALENDARS (
|
||||
sched_name varchar(120) not null,
|
||||
calendar_name varchar(200) not null,
|
||||
calendar blob not null,
|
||||
primary key (sched_name,calendar_name)
|
||||
) engine=innodb;
|
||||
|
||||
-- ----------------------------
|
||||
-- 7、 存储已暂停的 Trigger 组的信息
|
||||
-- ----------------------------
|
||||
drop table if exists QRTZ_PAUSED_TRIGGER_GRPS;
|
||||
create table QRTZ_PAUSED_TRIGGER_GRPS (
|
||||
sched_name varchar(120) not null,
|
||||
trigger_group varchar(200) not null,
|
||||
primary key (sched_name,trigger_group)
|
||||
) engine=innodb;
|
||||
|
||||
-- ----------------------------
|
||||
-- 8、 存储与已触发的 Trigger 相关的状态信息,以及相联 Job 的执行信息
|
||||
-- ----------------------------
|
||||
drop table if exists QRTZ_FIRED_TRIGGERS;
|
||||
create table QRTZ_FIRED_TRIGGERS (
|
||||
sched_name varchar(120) not null,
|
||||
entry_id varchar(95) not null,
|
||||
trigger_name varchar(200) not null,
|
||||
trigger_group varchar(200) not null,
|
||||
instance_name varchar(200) not null,
|
||||
fired_time bigint(13) not null,
|
||||
sched_time bigint(13) not null,
|
||||
priority integer not null,
|
||||
state varchar(16) not null,
|
||||
job_name varchar(200) null,
|
||||
job_group varchar(200) null,
|
||||
is_nonconcurrent varchar(1) null,
|
||||
requests_recovery varchar(1) null,
|
||||
primary key (sched_name,entry_id)
|
||||
) engine=innodb;
|
||||
|
||||
-- ----------------------------
|
||||
-- 9、 存储少量的有关 Scheduler 的状态信息,假如是用于集群中,可以看到其他的 Scheduler 实例
|
||||
-- ----------------------------
|
||||
drop table if exists QRTZ_SCHEDULER_STATE;
|
||||
create table QRTZ_SCHEDULER_STATE (
|
||||
sched_name varchar(120) not null,
|
||||
instance_name varchar(200) not null,
|
||||
last_checkin_time bigint(13) not null,
|
||||
checkin_interval bigint(13) not null,
|
||||
primary key (sched_name,instance_name)
|
||||
) engine=innodb;
|
||||
|
||||
-- ----------------------------
|
||||
-- 10、 存储程序的悲观锁的信息(假如使用了悲观锁)
|
||||
-- ----------------------------
|
||||
drop table if exists QRTZ_LOCKS;
|
||||
create table QRTZ_LOCKS (
|
||||
sched_name varchar(120) not null,
|
||||
lock_name varchar(40) not null,
|
||||
primary key (sched_name,lock_name)
|
||||
) engine=innodb;
|
||||
|
||||
drop table if exists QRTZ_SIMPROP_TRIGGERS;
|
||||
create table QRTZ_SIMPROP_TRIGGERS (
|
||||
sched_name varchar(120) not null,
|
||||
trigger_name varchar(200) not null,
|
||||
trigger_group varchar(200) not null,
|
||||
str_prop_1 varchar(512) null,
|
||||
str_prop_2 varchar(512) null,
|
||||
str_prop_3 varchar(512) null,
|
||||
int_prop_1 int null,
|
||||
int_prop_2 int null,
|
||||
long_prop_1 bigint null,
|
||||
long_prop_2 bigint null,
|
||||
dec_prop_1 numeric(13,4) null,
|
||||
dec_prop_2 numeric(13,4) null,
|
||||
bool_prop_1 varchar(1) null,
|
||||
bool_prop_2 varchar(1) null,
|
||||
primary key (sched_name,trigger_name,trigger_group),
|
||||
foreign key (sched_name,trigger_name,trigger_group) references QRTZ_TRIGGERS(sched_name,trigger_name,trigger_group)
|
||||
) engine=innodb;
|
||||
|
||||
commit;
|
@ -1,678 +0,0 @@
|
||||
-- ----------------------------
|
||||
-- 1、部门表
|
||||
-- ----------------------------
|
||||
drop table if exists sys_dept;
|
||||
create table sys_dept (
|
||||
dept_id bigint(20) not null auto_increment comment '部门id',
|
||||
parent_id bigint(20) default 0 comment '父部门id',
|
||||
ancestors varchar(50) default '' comment '祖级列表',
|
||||
dept_name varchar(30) default '' comment '部门名称',
|
||||
order_num int(4) default 0 comment '显示顺序',
|
||||
leader varchar(20) default null comment '负责人',
|
||||
phone varchar(11) default null comment '联系电话',
|
||||
email varchar(50) default null comment '邮箱',
|
||||
status char(1) default '0' comment '部门状态(0正常 1停用)',
|
||||
del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)',
|
||||
create_by varchar(64) default '' comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by varchar(64) default '' comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
primary key (dept_id)
|
||||
) engine=innodb auto_increment=200 comment = '部门表';
|
||||
|
||||
-- ----------------------------
|
||||
-- 初始化-部门表数据
|
||||
-- ----------------------------
|
||||
insert into sys_dept values(100, 0, '0', '若依科技', 0, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
|
||||
insert into sys_dept values(101, 100, '0,100', '深圳总公司', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
|
||||
insert into sys_dept values(102, 100, '0,100', '长沙分公司', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
|
||||
insert into sys_dept values(103, 101, '0,100,101', '研发部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
|
||||
insert into sys_dept values(104, 101, '0,100,101', '市场部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
|
||||
insert into sys_dept values(105, 101, '0,100,101', '测试部门', 3, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
|
||||
insert into sys_dept values(106, 101, '0,100,101', '财务部门', 4, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
|
||||
insert into sys_dept values(107, 101, '0,100,101', '运维部门', 5, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
|
||||
insert into sys_dept values(108, 102, '0,100,102', '市场部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
|
||||
insert into sys_dept values(109, 102, '0,100,102', '财务部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 2、用户信息表
|
||||
-- ----------------------------
|
||||
drop table if exists sys_user;
|
||||
create table sys_user (
|
||||
user_id bigint(20) not null auto_increment comment '用户ID',
|
||||
dept_id bigint(20) default null comment '部门ID',
|
||||
user_name varchar(30) not null comment '用户账号',
|
||||
nick_name varchar(30) not null comment '用户昵称',
|
||||
user_type varchar(2) default '00' comment '用户类型(00系统用户)',
|
||||
email varchar(50) default '' comment '用户邮箱',
|
||||
phonenumber varchar(11) default '' comment '手机号码',
|
||||
sex char(1) default '0' comment '用户性别(0男 1女 2未知)',
|
||||
avatar varchar(100) default '' comment '头像地址',
|
||||
password varchar(100) default '' comment '密码',
|
||||
status char(1) default '0' comment '帐号状态(0正常 1停用)',
|
||||
del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)',
|
||||
login_ip varchar(50) default '' comment '最后登陆IP',
|
||||
login_date datetime comment '最后登陆时间',
|
||||
create_by varchar(64) default '' comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by varchar(64) default '' comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default null comment '备注',
|
||||
primary key (user_id)
|
||||
) engine=innodb auto_increment=100 comment = '用户信息表';
|
||||
|
||||
-- ----------------------------
|
||||
-- 初始化-用户信息表数据
|
||||
-- ----------------------------
|
||||
insert into sys_user values(1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2018-03-16 11-33-00', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员');
|
||||
insert into sys_user values(2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2018-03-16 11-33-00', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '测试员');
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 3、岗位信息表
|
||||
-- ----------------------------
|
||||
drop table if exists sys_post;
|
||||
create table sys_post
|
||||
(
|
||||
post_id bigint(20) not null auto_increment comment '岗位ID',
|
||||
post_code varchar(64) not null comment '岗位编码',
|
||||
post_name varchar(50) not null comment '岗位名称',
|
||||
post_sort int(4) not null comment '显示顺序',
|
||||
status char(1) not null comment '状态(0正常 1停用)',
|
||||
create_by varchar(64) default '' comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by varchar(64) default '' comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default null comment '备注',
|
||||
primary key (post_id)
|
||||
) engine=innodb comment = '岗位信息表';
|
||||
|
||||
-- ----------------------------
|
||||
-- 初始化-岗位信息表数据
|
||||
-- ----------------------------
|
||||
insert into sys_post values(1, 'ceo', '董事长', 1, '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_post values(2, 'se', '项目经理', 2, '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_post values(3, 'hr', '人力资源', 3, '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_post values(4, 'user', '普通员工', 4, '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 4、角色信息表
|
||||
-- ----------------------------
|
||||
drop table if exists sys_role;
|
||||
create table sys_role (
|
||||
role_id bigint(20) not null auto_increment comment '角色ID',
|
||||
role_name varchar(30) not null comment '角色名称',
|
||||
role_key varchar(100) not null comment '角色权限字符串',
|
||||
role_sort int(4) not null comment '显示顺序',
|
||||
data_scope char(1) default '1' comment '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)',
|
||||
status char(1) not null comment '角色状态(0正常 1停用)',
|
||||
del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)',
|
||||
create_by varchar(64) default '' comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by varchar(64) default '' comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default null comment '备注',
|
||||
primary key (role_id)
|
||||
) engine=innodb auto_increment=100 comment = '角色信息表';
|
||||
|
||||
-- ----------------------------
|
||||
-- 初始化-角色信息表数据
|
||||
-- ----------------------------
|
||||
insert into sys_role values('1', '超级管理员', 'admin', 1, 1, '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '超级管理员');
|
||||
insert into sys_role values('2', '普通角色', 'common', 2, 2, '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '普通角色');
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 5、菜单权限表
|
||||
-- ----------------------------
|
||||
drop table if exists sys_menu;
|
||||
create table sys_menu (
|
||||
menu_id bigint(20) not null auto_increment comment '菜单ID',
|
||||
menu_name varchar(50) not null comment '菜单名称',
|
||||
parent_id bigint(20) default 0 comment '父菜单ID',
|
||||
order_num int(4) default 0 comment '显示顺序',
|
||||
path varchar(200) default '' comment '路由地址',
|
||||
component varchar(255) default null comment '组件路径',
|
||||
is_frame int(1) default 1 comment '是否为外链(0是 1否)',
|
||||
menu_type char(1) default '' comment '菜单类型(M目录 C菜单 F按钮)',
|
||||
visible char(1) default 0 comment '菜单状态(0显示 1隐藏)',
|
||||
status char(1) default 0 comment '菜单状态(0正常 1停用)',
|
||||
perms varchar(100) default null comment '权限标识',
|
||||
icon varchar(100) default '#' comment '菜单图标',
|
||||
create_by varchar(64) default '' comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by varchar(64) default '' comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default '' comment '备注',
|
||||
primary key (menu_id)
|
||||
) engine=innodb auto_increment=2000 comment = '菜单权限表';
|
||||
|
||||
-- ----------------------------
|
||||
-- 初始化-菜单信息表数据
|
||||
-- ----------------------------
|
||||
-- 一级菜单
|
||||
insert into sys_menu values('1', '系统管理', '0', '1', 'system', null, 1, 'M', '0', '0', '', 'system', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统管理目录');
|
||||
insert into sys_menu values('2', '系统监控', '0', '2', 'monitor', null, 1, 'M', '0', '0', '', 'monitor', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统监控目录');
|
||||
insert into sys_menu values('3', '系统工具', '0', '3', 'tool', null, 1, 'M', '0', '0', '', 'tool', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统工具目录');
|
||||
insert into sys_menu values('4', '若依官网', '0', '4', 'http://ruoyi.vip', null , 0, 'M', '0', '0', '', 'guide', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '若依官网地址');
|
||||
-- 二级菜单
|
||||
insert into sys_menu values('100', '用户管理', '1', '1', 'user', 'system/user/index', 1, 'C', '0', '0', 'system:user:list', 'user', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '用户管理菜单');
|
||||
insert into sys_menu values('101', '角色管理', '1', '2', 'role', 'system/role/index', 1, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '角色管理菜单');
|
||||
insert into sys_menu values('102', '菜单管理', '1', '3', 'menu', 'system/menu/index', 1, 'C', '0', '0', 'system:menu:list', 'tree-table', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '菜单管理菜单');
|
||||
insert into sys_menu values('103', '部门管理', '1', '4', 'dept', 'system/dept/index', 1, 'C', '0', '0', 'system:dept:list', 'tree', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '部门管理菜单');
|
||||
insert into sys_menu values('104', '岗位管理', '1', '5', 'post', 'system/post/index', 1, 'C', '0', '0', 'system:post:list', 'post', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '岗位管理菜单');
|
||||
insert into sys_menu values('105', '字典管理', '1', '6', 'dict', 'system/dict/index', 1, 'C', '0', '0', 'system:dict:list', 'dict', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '字典管理菜单');
|
||||
insert into sys_menu values('106', '参数设置', '1', '7', 'config', 'system/config/index', 1, 'C', '0', '0', 'system:config:list', 'edit', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '参数设置菜单');
|
||||
insert into sys_menu values('107', '通知公告', '1', '8', 'notice', 'system/notice/index', 1, 'C', '0', '0', 'system:notice:list', 'message', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '通知公告菜单');
|
||||
insert into sys_menu values('108', '日志管理', '1', '9', 'log', 'system/log/index', 1, 'M', '0', '0', '', 'log', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '日志管理菜单');
|
||||
insert into sys_menu values('109', '在线用户', '2', '1', 'online', 'monitor/online/index', 1, 'C', '0', '0', 'monitor:online:list', 'online', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '在线用户菜单');
|
||||
insert into sys_menu values('110', '定时任务', '2', '2', 'job', 'monitor/job/index', 1, 'C', '0', '0', 'monitor:job:list', 'job', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '定时任务菜单');
|
||||
insert into sys_menu values('111', '数据监控', '2', '3', 'druid', 'monitor/druid/index', 1, 'C', '0', '0', 'monitor:druid:list', 'druid', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '数据监控菜单');
|
||||
insert into sys_menu values('112', '服务监控', '2', '4', 'server', 'monitor/server/index', 1, 'C', '0', '0', 'monitor:server:list', 'server', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '服务监控菜单');
|
||||
insert into sys_menu values('113', '表单构建', '3', '1', 'build', 'tool/build/index', 1 ,'C', '0', '0', 'tool:build:list', 'build', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '表单构建菜单');
|
||||
insert into sys_menu values('114', '代码生成', '3', '2', 'gen', 'tool/gen/index', 1, 'C', '0', '0', 'tool:gen:list', 'code', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '代码生成菜单');
|
||||
insert into sys_menu values('115', '系统接口', '3', '3', 'swagger', 'tool/swagger/index', 1, 'C', '0', '0', 'tool:swagger:list', 'swagger', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统接口菜单');
|
||||
-- 三级菜单
|
||||
insert into sys_menu values('500', '操作日志', '108', '1', 'operlog', 'monitor/operlog/index', 1, 'C', '0', '0', 'monitor:operlog:list', 'form', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '操作日志菜单');
|
||||
insert into sys_menu values('501', '登录日志', '108', '2', 'logininfor', 'monitor/logininfor/index', 1, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '登录日志菜单');
|
||||
-- 用户管理按钮
|
||||
insert into sys_menu values('1001', '用户查询', '100', '1', '', '', 1, 'F', '0', '0', 'system:user:query', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1002', '用户新增', '100', '2', '', '', 1, 'F', '0', '0', 'system:user:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1003', '用户修改', '100', '3', '', '', 1, 'F', '0', '0', 'system:user:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1004', '用户删除', '100', '4', '', '', 1, 'F', '0', '0', 'system:user:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1005', '用户导出', '100', '5', '', '', 1, 'F', '0', '0', 'system:user:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1006', '用户导入', '100', '6', '', '', 1, 'F', '0', '0', 'system:user:import', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1007', '重置密码', '100', '7', '', '', 1, 'F', '0', '0', 'system:user:resetPwd', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
-- 角色管理按钮
|
||||
insert into sys_menu values('1008', '角色查询', '101', '1', '', '', 1, 'F', '0', '0', 'system:role:query', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1009', '角色新增', '101', '2', '', '', 1, 'F', '0', '0', 'system:role:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1010', '角色修改', '101', '3', '', '', 1, 'F', '0', '0', 'system:role:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1011', '角色删除', '101', '4', '', '', 1, 'F', '0', '0', 'system:role:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1012', '角色导出', '101', '5', '', '', 1, 'F', '0', '0', 'system:role:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
-- 菜单管理按钮
|
||||
insert into sys_menu values('1013', '菜单查询', '102', '1', '', '', 1, 'F', '0', '0', 'system:menu:query', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1014', '菜单新增', '102', '2', '', '', 1, 'F', '0', '0', 'system:menu:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1015', '菜单修改', '102', '3', '', '', 1, 'F', '0', '0', 'system:menu:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1016', '菜单删除', '102', '4', '', '', 1, 'F', '0', '0', 'system:menu:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
-- 部门管理按钮
|
||||
insert into sys_menu values('1017', '部门查询', '103', '1', '', '', 1, 'F', '0', '0', 'system:dept:query', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1018', '部门新增', '103', '2', '', '', 1, 'F', '0', '0', 'system:dept:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1019', '部门修改', '103', '3', '', '', 1, 'F', '0', '0', 'system:dept:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1020', '部门删除', '103', '4', '', '', 1, 'F', '0', '0', 'system:dept:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
-- 岗位管理按钮
|
||||
insert into sys_menu values('1021', '岗位查询', '104', '1', '', '', 1, 'F', '0', '0', 'system:post:query', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1022', '岗位新增', '104', '2', '', '', 1, 'F', '0', '0', 'system:post:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1023', '岗位修改', '104', '3', '', '', 1, 'F', '0', '0', 'system:post:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1024', '岗位删除', '104', '4', '', '', 1, 'F', '0', '0', 'system:post:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1025', '岗位导出', '104', '5', '', '', 1, 'F', '0', '0', 'system:post:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
-- 字典管理按钮
|
||||
insert into sys_menu values('1026', '字典查询', '105', '1', '#', '', 1, 'F', '0', '0', 'system:dict:query', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1027', '字典新增', '105', '2', '#', '', 1, 'F', '0', '0', 'system:dict:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1028', '字典修改', '105', '3', '#', '', 1, 'F', '0', '0', 'system:dict:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1029', '字典删除', '105', '4', '#', '', 1, 'F', '0', '0', 'system:dict:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1030', '字典导出', '105', '5', '#', '', 1, 'F', '0', '0', 'system:dict:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
-- 参数设置按钮
|
||||
insert into sys_menu values('1031', '参数查询', '106', '1', '#', '', 1, 'F', '0', '0', 'system:config:query', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1032', '参数新增', '106', '2', '#', '', 1, 'F', '0', '0', 'system:config:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1033', '参数修改', '106', '3', '#', '', 1, 'F', '0', '0', 'system:config:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1034', '参数删除', '106', '4', '#', '', 1, 'F', '0', '0', 'system:config:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1035', '参数导出', '106', '5', '#', '', 1, 'F', '0', '0', 'system:config:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
-- 通知公告按钮
|
||||
insert into sys_menu values('1036', '公告查询', '107', '1', '#', '', 1, 'F', '0', '0', 'system:notice:query', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1037', '公告新增', '107', '2', '#', '', 1, 'F', '0', '0', 'system:notice:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1038', '公告修改', '107', '3', '#', '', 1, 'F', '0', '0', 'system:notice:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1039', '公告删除', '107', '4', '#', '', 1, 'F', '0', '0', 'system:notice:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
-- 操作日志按钮
|
||||
insert into sys_menu values('1040', '操作查询', '500', '1', '#', '', 1, 'F', '0', '0', 'monitor:operlog:query', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1041', '操作删除', '500', '2', '#', '', 1, 'F', '0', '0', 'monitor:operlog:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1042', '日志导出', '500', '4', '#', '', 1, 'F', '0', '0', 'monitor:operlog:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
-- 登录日志按钮
|
||||
insert into sys_menu values('1043', '登录查询', '501', '1', '#', '', 1, 'F', '0', '0', 'monitor:logininfor:query', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1044', '登录删除', '501', '2', '#', '', 1, 'F', '0', '0', 'monitor:logininfor:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1045', '日志导出', '501', '3', '#', '', 1, 'F', '0', '0', 'monitor:logininfor:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
-- 在线用户按钮
|
||||
insert into sys_menu values('1046', '在线查询', '109', '1', '#', '', 1, 'F', '0', '0', 'monitor:online:query', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1047', '批量强退', '109', '2', '#', '', 1, 'F', '0', '0', 'monitor:online:batchLogout', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1048', '单条强退', '109', '3', '#', '', 1, 'F', '0', '0', 'monitor:online:forceLogout', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
-- 定时任务按钮
|
||||
insert into sys_menu values('1049', '任务查询', '110', '1', '#', '', 1, 'F', '0', '0', 'monitor:job:query', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1050', '任务新增', '110', '2', '#', '', 1, 'F', '0', '0', 'monitor:job:add', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1051', '任务修改', '110', '3', '#', '', 1, 'F', '0', '0', 'monitor:job:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1052', '任务删除', '110', '4', '#', '', 1, 'F', '0', '0', 'monitor:job:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1053', '状态修改', '110', '5', '#', '', 1, 'F', '0', '0', 'monitor:job:changeStatus', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1054', '任务导出', '110', '7', '#', '', 1, 'F', '0', '0', 'monitor:job:export', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
-- 代码生成按钮
|
||||
insert into sys_menu values('1055', '生成查询', '114', '1', '#', '', 1, 'F', '0', '0', 'tool:gen:query', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1056', '生成修改', '114', '2', '#', '', 1, 'F', '0', '0', 'tool:gen:edit', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1057', '生成删除', '114', '3', '#', '', 1, 'F', '0', '0', 'tool:gen:remove', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1058', '导入代码', '114', '2', '#', '', 1, 'F', '0', '0', 'tool:gen:import', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1059', '预览代码', '114', '4', '#', '', 1, 'F', '0', '0', 'tool:gen:preview', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_menu values('1060', '生成代码', '114', '5', '#', '', 1, 'F', '0', '0', 'tool:gen:code', '#', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 6、用户和角色关联表 用户N-1角色
|
||||
-- ----------------------------
|
||||
drop table if exists sys_user_role;
|
||||
create table sys_user_role (
|
||||
user_id bigint(20) not null comment '用户ID',
|
||||
role_id bigint(20) not null comment '角色ID',
|
||||
primary key(user_id, role_id)
|
||||
) engine=innodb comment = '用户和角色关联表';
|
||||
|
||||
-- ----------------------------
|
||||
-- 初始化-用户和角色关联表数据
|
||||
-- ----------------------------
|
||||
insert into sys_user_role values ('1', '1');
|
||||
insert into sys_user_role values ('2', '2');
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 7、角色和菜单关联表 角色1-N菜单
|
||||
-- ----------------------------
|
||||
drop table if exists sys_role_menu;
|
||||
create table sys_role_menu (
|
||||
role_id bigint(20) not null comment '角色ID',
|
||||
menu_id bigint(20) not null comment '菜单ID',
|
||||
primary key(role_id, menu_id)
|
||||
) engine=innodb comment = '角色和菜单关联表';
|
||||
|
||||
-- ----------------------------
|
||||
-- 初始化-角色和菜单关联表数据
|
||||
-- ----------------------------
|
||||
insert into sys_role_menu values ('2', '1');
|
||||
insert into sys_role_menu values ('2', '2');
|
||||
insert into sys_role_menu values ('2', '3');
|
||||
insert into sys_role_menu values ('2', '4');
|
||||
insert into sys_role_menu values ('2', '100');
|
||||
insert into sys_role_menu values ('2', '101');
|
||||
insert into sys_role_menu values ('2', '102');
|
||||
insert into sys_role_menu values ('2', '103');
|
||||
insert into sys_role_menu values ('2', '104');
|
||||
insert into sys_role_menu values ('2', '105');
|
||||
insert into sys_role_menu values ('2', '106');
|
||||
insert into sys_role_menu values ('2', '107');
|
||||
insert into sys_role_menu values ('2', '108');
|
||||
insert into sys_role_menu values ('2', '109');
|
||||
insert into sys_role_menu values ('2', '110');
|
||||
insert into sys_role_menu values ('2', '111');
|
||||
insert into sys_role_menu values ('2', '112');
|
||||
insert into sys_role_menu values ('2', '113');
|
||||
insert into sys_role_menu values ('2', '114');
|
||||
insert into sys_role_menu values ('2', '115');
|
||||
insert into sys_role_menu values ('2', '500');
|
||||
insert into sys_role_menu values ('2', '501');
|
||||
insert into sys_role_menu values ('2', '1000');
|
||||
insert into sys_role_menu values ('2', '1001');
|
||||
insert into sys_role_menu values ('2', '1002');
|
||||
insert into sys_role_menu values ('2', '1003');
|
||||
insert into sys_role_menu values ('2', '1004');
|
||||
insert into sys_role_menu values ('2', '1005');
|
||||
insert into sys_role_menu values ('2', '1006');
|
||||
insert into sys_role_menu values ('2', '1007');
|
||||
insert into sys_role_menu values ('2', '1008');
|
||||
insert into sys_role_menu values ('2', '1009');
|
||||
insert into sys_role_menu values ('2', '1010');
|
||||
insert into sys_role_menu values ('2', '1011');
|
||||
insert into sys_role_menu values ('2', '1012');
|
||||
insert into sys_role_menu values ('2', '1013');
|
||||
insert into sys_role_menu values ('2', '1014');
|
||||
insert into sys_role_menu values ('2', '1015');
|
||||
insert into sys_role_menu values ('2', '1016');
|
||||
insert into sys_role_menu values ('2', '1017');
|
||||
insert into sys_role_menu values ('2', '1018');
|
||||
insert into sys_role_menu values ('2', '1019');
|
||||
insert into sys_role_menu values ('2', '1020');
|
||||
insert into sys_role_menu values ('2', '1021');
|
||||
insert into sys_role_menu values ('2', '1022');
|
||||
insert into sys_role_menu values ('2', '1023');
|
||||
insert into sys_role_menu values ('2', '1024');
|
||||
insert into sys_role_menu values ('2', '1025');
|
||||
insert into sys_role_menu values ('2', '1026');
|
||||
insert into sys_role_menu values ('2', '1027');
|
||||
insert into sys_role_menu values ('2', '1028');
|
||||
insert into sys_role_menu values ('2', '1029');
|
||||
insert into sys_role_menu values ('2', '1030');
|
||||
insert into sys_role_menu values ('2', '1031');
|
||||
insert into sys_role_menu values ('2', '1032');
|
||||
insert into sys_role_menu values ('2', '1033');
|
||||
insert into sys_role_menu values ('2', '1034');
|
||||
insert into sys_role_menu values ('2', '1035');
|
||||
insert into sys_role_menu values ('2', '1036');
|
||||
insert into sys_role_menu values ('2', '1037');
|
||||
insert into sys_role_menu values ('2', '1038');
|
||||
insert into sys_role_menu values ('2', '1039');
|
||||
insert into sys_role_menu values ('2', '1040');
|
||||
insert into sys_role_menu values ('2', '1041');
|
||||
insert into sys_role_menu values ('2', '1042');
|
||||
insert into sys_role_menu values ('2', '1043');
|
||||
insert into sys_role_menu values ('2', '1044');
|
||||
insert into sys_role_menu values ('2', '1045');
|
||||
insert into sys_role_menu values ('2', '1046');
|
||||
insert into sys_role_menu values ('2', '1047');
|
||||
insert into sys_role_menu values ('2', '1048');
|
||||
insert into sys_role_menu values ('2', '1049');
|
||||
insert into sys_role_menu values ('2', '1050');
|
||||
insert into sys_role_menu values ('2', '1051');
|
||||
insert into sys_role_menu values ('2', '1052');
|
||||
insert into sys_role_menu values ('2', '1053');
|
||||
insert into sys_role_menu values ('2', '1054');
|
||||
insert into sys_role_menu values ('2', '1055');
|
||||
insert into sys_role_menu values ('2', '1056');
|
||||
insert into sys_role_menu values ('2', '1057');
|
||||
insert into sys_role_menu values ('2', '1058');
|
||||
insert into sys_role_menu values ('2', '1059');
|
||||
insert into sys_role_menu values ('2', '1060');
|
||||
|
||||
-- ----------------------------
|
||||
-- 8、角色和部门关联表 角色1-N部门
|
||||
-- ----------------------------
|
||||
drop table if exists sys_role_dept;
|
||||
create table sys_role_dept (
|
||||
role_id bigint(20) not null comment '角色ID',
|
||||
dept_id bigint(20) not null comment '部门ID',
|
||||
primary key(role_id, dept_id)
|
||||
) engine=innodb comment = '角色和部门关联表';
|
||||
|
||||
-- ----------------------------
|
||||
-- 初始化-角色和部门关联表数据
|
||||
-- ----------------------------
|
||||
insert into sys_role_dept values ('2', '100');
|
||||
insert into sys_role_dept values ('2', '101');
|
||||
insert into sys_role_dept values ('2', '105');
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 9、用户与岗位关联表 用户1-N岗位
|
||||
-- ----------------------------
|
||||
drop table if exists sys_user_post;
|
||||
create table sys_user_post
|
||||
(
|
||||
user_id bigint(20) not null comment '用户ID',
|
||||
post_id bigint(20) not null comment '岗位ID',
|
||||
primary key (user_id, post_id)
|
||||
) engine=innodb comment = '用户与岗位关联表';
|
||||
|
||||
-- ----------------------------
|
||||
-- 初始化-用户与岗位关联表数据
|
||||
-- ----------------------------
|
||||
insert into sys_user_post values ('1', '1');
|
||||
insert into sys_user_post values ('2', '2');
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 10、操作日志记录
|
||||
-- ----------------------------
|
||||
drop table if exists sys_oper_log;
|
||||
create table sys_oper_log (
|
||||
oper_id bigint(20) not null auto_increment comment '日志主键',
|
||||
title varchar(50) default '' comment '模块标题',
|
||||
business_type int(2) default 0 comment '业务类型(0其它 1新增 2修改 3删除)',
|
||||
method varchar(100) default '' comment '方法名称',
|
||||
request_method varchar(10) default '' comment '请求方式',
|
||||
operator_type int(1) default 0 comment '操作类别(0其它 1后台用户 2手机端用户)',
|
||||
oper_name varchar(50) default '' comment '操作人员',
|
||||
dept_name varchar(50) default '' comment '部门名称',
|
||||
oper_url varchar(255) default '' comment '请求URL',
|
||||
oper_ip varchar(50) default '' comment '主机地址',
|
||||
oper_location varchar(255) default '' comment '操作地点',
|
||||
oper_param varchar(2000) default '' comment '请求参数',
|
||||
json_result varchar(2000) default '' comment '返回参数',
|
||||
status int(1) default 0 comment '操作状态(0正常 1异常)',
|
||||
error_msg varchar(2000) default '' comment '错误消息',
|
||||
oper_time datetime comment '操作时间',
|
||||
primary key (oper_id)
|
||||
) engine=innodb auto_increment=100 comment = '操作日志记录';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 11、字典类型表
|
||||
-- ----------------------------
|
||||
drop table if exists sys_dict_type;
|
||||
create table sys_dict_type
|
||||
(
|
||||
dict_id bigint(20) not null auto_increment comment '字典主键',
|
||||
dict_name varchar(100) default '' comment '字典名称',
|
||||
dict_type varchar(100) default '' comment '字典类型',
|
||||
status char(1) default '0' comment '状态(0正常 1停用)',
|
||||
create_by varchar(64) default '' comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by varchar(64) default '' comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default null comment '备注',
|
||||
primary key (dict_id),
|
||||
unique (dict_type)
|
||||
) engine=innodb auto_increment=100 comment = '字典类型表';
|
||||
|
||||
insert into sys_dict_type values(1, '用户性别', 'sys_user_sex', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '用户性别列表');
|
||||
insert into sys_dict_type values(2, '菜单状态', 'sys_show_hide', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '菜单状态列表');
|
||||
insert into sys_dict_type values(3, '系统开关', 'sys_normal_disable', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统开关列表');
|
||||
insert into sys_dict_type values(4, '任务状态', 'sys_job_status', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '任务状态列表');
|
||||
insert into sys_dict_type values(5, '任务分组', 'sys_job_group', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '任务分组列表');
|
||||
insert into sys_dict_type values(6, '系统是否', 'sys_yes_no', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统是否列表');
|
||||
insert into sys_dict_type values(7, '通知类型', 'sys_notice_type', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '通知类型列表');
|
||||
insert into sys_dict_type values(8, '通知状态', 'sys_notice_status', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '通知状态列表');
|
||||
insert into sys_dict_type values(9, '操作类型', 'sys_oper_type', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '操作类型列表');
|
||||
insert into sys_dict_type values(10, '系统状态', 'sys_common_status', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '登录状态列表');
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 12、字典数据表
|
||||
-- ----------------------------
|
||||
drop table if exists sys_dict_data;
|
||||
create table sys_dict_data
|
||||
(
|
||||
dict_code bigint(20) not null auto_increment comment '字典编码',
|
||||
dict_sort int(4) default 0 comment '字典排序',
|
||||
dict_label varchar(100) default '' comment '字典标签',
|
||||
dict_value varchar(100) default '' comment '字典键值',
|
||||
dict_type varchar(100) default '' comment '字典类型',
|
||||
css_class varchar(100) default null comment '样式属性(其他样式扩展)',
|
||||
list_class varchar(100) default null comment '表格回显样式',
|
||||
is_default char(1) default 'N' comment '是否默认(Y是 N否)',
|
||||
status char(1) default '0' comment '状态(0正常 1停用)',
|
||||
create_by varchar(64) default '' comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by varchar(64) default '' comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default null comment '备注',
|
||||
primary key (dict_code)
|
||||
) engine=innodb auto_increment=100 comment = '字典数据表';
|
||||
|
||||
insert into sys_dict_data values(1, 1, '男', '0', 'sys_user_sex', '', '', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '性别男');
|
||||
insert into sys_dict_data values(2, 2, '女', '1', 'sys_user_sex', '', '', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '性别女');
|
||||
insert into sys_dict_data values(3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '性别未知');
|
||||
insert into sys_dict_data values(4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '显示菜单');
|
||||
insert into sys_dict_data values(5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '隐藏菜单');
|
||||
insert into sys_dict_data values(6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '正常状态');
|
||||
insert into sys_dict_data values(7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '停用状态');
|
||||
insert into sys_dict_data values(8, 1, '正常', '0', 'sys_job_status', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '正常状态');
|
||||
insert into sys_dict_data values(9, 2, '暂停', '1', 'sys_job_status', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '停用状态');
|
||||
insert into sys_dict_data values(10, 1, '默认', 'DEFAULT', 'sys_job_group', '', '', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '默认分组');
|
||||
insert into sys_dict_data values(11, 2, '系统', 'SYSTEM', 'sys_job_group', '', '', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统分组');
|
||||
insert into sys_dict_data values(12, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统默认是');
|
||||
insert into sys_dict_data values(13, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '系统默认否');
|
||||
insert into sys_dict_data values(14, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '通知');
|
||||
insert into sys_dict_data values(15, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '公告');
|
||||
insert into sys_dict_data values(16, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '正常状态');
|
||||
insert into sys_dict_data values(17, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '关闭状态');
|
||||
insert into sys_dict_data values(18, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '新增操作');
|
||||
insert into sys_dict_data values(19, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '修改操作');
|
||||
insert into sys_dict_data values(20, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '删除操作');
|
||||
insert into sys_dict_data values(21, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '授权操作');
|
||||
insert into sys_dict_data values(22, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '导出操作');
|
||||
insert into sys_dict_data values(23, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '导入操作');
|
||||
insert into sys_dict_data values(24, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '强退操作');
|
||||
insert into sys_dict_data values(25, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '生成操作');
|
||||
insert into sys_dict_data values(26, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '清空操作');
|
||||
insert into sys_dict_data values(27, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '正常状态');
|
||||
insert into sys_dict_data values(28, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '停用状态');
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 13、参数配置表
|
||||
-- ----------------------------
|
||||
drop table if exists sys_config;
|
||||
create table sys_config (
|
||||
config_id int(5) not null auto_increment comment '参数主键',
|
||||
config_name varchar(100) default '' comment '参数名称',
|
||||
config_key varchar(100) default '' comment '参数键名',
|
||||
config_value varchar(500) default '' comment '参数键值',
|
||||
config_type char(1) default 'N' comment '系统内置(Y是 N否)',
|
||||
create_by varchar(64) default '' comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by varchar(64) default '' comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default null comment '备注',
|
||||
primary key (config_id)
|
||||
) engine=innodb auto_increment=100 comment = '参数配置表';
|
||||
|
||||
insert into sys_config values(1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow' );
|
||||
insert into sys_config values(2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '初始化密码 123456' );
|
||||
insert into sys_config values(3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '深色主题theme-dark,浅色主题theme-light' );
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 14、系统访问记录
|
||||
-- ----------------------------
|
||||
drop table if exists sys_logininfor;
|
||||
create table sys_logininfor (
|
||||
info_id bigint(20) not null auto_increment comment '访问ID',
|
||||
user_name varchar(50) default '' comment '用户账号',
|
||||
ipaddr varchar(50) default '' comment '登录IP地址',
|
||||
login_location varchar(255) default '' comment '登录地点',
|
||||
browser varchar(50) default '' comment '浏览器类型',
|
||||
os varchar(50) default '' comment '操作系统',
|
||||
status char(1) default '0' comment '登录状态(0成功 1失败)',
|
||||
msg varchar(255) default '' comment '提示消息',
|
||||
login_time datetime comment '访问时间',
|
||||
primary key (info_id)
|
||||
) engine=innodb auto_increment=100 comment = '系统访问记录';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 15、定时任务调度表
|
||||
-- ----------------------------
|
||||
drop table if exists sys_job;
|
||||
create table sys_job (
|
||||
job_id bigint(20) not null auto_increment comment '任务ID',
|
||||
job_name varchar(64) default '' comment '任务名称',
|
||||
job_group varchar(64) default 'DEFAULT' comment '任务组名',
|
||||
invoke_target varchar(500) not null comment '调用目标字符串',
|
||||
cron_expression varchar(255) default '' comment 'cron执行表达式',
|
||||
misfire_policy varchar(20) default '3' comment '计划执行错误策略(1立即执行 2执行一次 3放弃执行)',
|
||||
concurrent char(1) default '1' comment '是否并发执行(0允许 1禁止)',
|
||||
status char(1) default '0' comment '状态(0正常 1暂停)',
|
||||
create_by varchar(64) default '' comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by varchar(64) default '' comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default '' comment '备注信息',
|
||||
primary key (job_id, job_name, job_group)
|
||||
) engine=innodb auto_increment=100 comment = '定时任务调度表';
|
||||
|
||||
insert into sys_job values(1, '系统默认(无参)', 'DEFAULT', 'ryTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_job values(2, '系统默认(有参)', 'DEFAULT', 'ryTask.ryParams(\'ry\')', '0/15 * * * * ?', '3', '1', '1', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
insert into sys_job values(3, '系统默认(多参)', 'DEFAULT', 'ryTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '');
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 16、定时任务调度日志表
|
||||
-- ----------------------------
|
||||
drop table if exists sys_job_log;
|
||||
create table sys_job_log (
|
||||
job_log_id bigint(20) not null auto_increment comment '任务日志ID',
|
||||
job_name varchar(64) not null comment '任务名称',
|
||||
job_group varchar(64) not null comment '任务组名',
|
||||
invoke_target varchar(500) not null comment '调用目标字符串',
|
||||
job_message varchar(500) comment '日志信息',
|
||||
status char(1) default '0' comment '执行状态(0正常 1失败)',
|
||||
exception_info varchar(2000) default '' comment '异常信息',
|
||||
create_time datetime comment '创建时间',
|
||||
primary key (job_log_id)
|
||||
) engine=innodb comment = '定时任务调度日志表';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 17、通知公告表
|
||||
-- ----------------------------
|
||||
drop table if exists sys_notice;
|
||||
create table sys_notice (
|
||||
notice_id int(4) not null auto_increment comment '公告ID',
|
||||
notice_title varchar(50) not null comment '公告标题',
|
||||
notice_type char(1) not null comment '公告类型(1通知 2公告)',
|
||||
notice_content varchar(2000) default null comment '公告内容',
|
||||
status char(1) default '0' comment '公告状态(0正常 1关闭)',
|
||||
create_by varchar(64) default '' comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by varchar(64) default '' comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(255) default null comment '备注',
|
||||
primary key (notice_id)
|
||||
) engine=innodb auto_increment=10 comment = '通知公告表';
|
||||
|
||||
-- ----------------------------
|
||||
-- 初始化-公告信息表数据
|
||||
-- ----------------------------
|
||||
insert into sys_notice values('1', '温馨提醒:2018-07-01 若依新版本发布啦', '2', '新版本内容', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员');
|
||||
insert into sys_notice values('2', '维护通知:2018-07-01 若依系统凌晨维护', '1', '维护内容', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员');
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 18、代码生成业务表
|
||||
-- ----------------------------
|
||||
drop table if exists gen_table;
|
||||
create table gen_table (
|
||||
table_id bigint(20) not null auto_increment comment '编号',
|
||||
table_name varchar(200) default '' comment '表名称',
|
||||
table_comment varchar(500) default '' comment '表描述',
|
||||
class_name varchar(100) default '' comment '实体类名称',
|
||||
tpl_category varchar(200) default 'crud' comment '使用的模板(crud单表操作 tree树表操作)',
|
||||
package_name varchar(100) comment '生成包路径',
|
||||
module_name varchar(30) comment '生成模块名',
|
||||
business_name varchar(30) comment '生成业务名',
|
||||
function_name varchar(50) comment '生成功能名',
|
||||
function_author varchar(50) comment '生成功能作者',
|
||||
gen_type char(1) default '0' comment '生成代码方式(0zip压缩包 1自定义路径)',
|
||||
gen_path varchar(200) default '/' comment '生成路径(不填默认项目路径)',
|
||||
options varchar(1000) comment '其它生成选项',
|
||||
create_by varchar(64) default '' comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by varchar(64) default '' comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
remark varchar(500) default null comment '备注',
|
||||
primary key (table_id)
|
||||
) engine=innodb auto_increment=1 comment = '代码生成业务表';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- 19、代码生成业务表字段
|
||||
-- ----------------------------
|
||||
drop table if exists gen_table_column;
|
||||
create table gen_table_column (
|
||||
column_id bigint(20) not null auto_increment comment '编号',
|
||||
table_id varchar(64) comment '归属表编号',
|
||||
column_name varchar(200) comment '列名称',
|
||||
column_comment varchar(500) comment '列描述',
|
||||
column_type varchar(100) comment '列类型',
|
||||
java_type varchar(500) comment 'JAVA类型',
|
||||
java_field varchar(200) comment 'JAVA字段名',
|
||||
is_pk char(1) comment '是否主键(1是)',
|
||||
is_increment char(1) comment '是否自增(1是)',
|
||||
is_required char(1) comment '是否必填(1是)',
|
||||
is_insert char(1) comment '是否为插入字段(1是)',
|
||||
is_edit char(1) comment '是否编辑字段(1是)',
|
||||
is_list char(1) comment '是否列表字段(1是)',
|
||||
is_query char(1) comment '是否查询字段(1是)',
|
||||
query_type varchar(200) default 'EQ' comment '查询方式(等于、不等于、大于、小于、范围)',
|
||||
html_type varchar(200) comment '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)',
|
||||
dict_type varchar(200) default '' comment '字典类型',
|
||||
sort int comment '排序',
|
||||
create_by varchar(64) default '' comment '创建者',
|
||||
create_time datetime comment '创建时间',
|
||||
update_by varchar(64) default '' comment '更新者',
|
||||
update_time datetime comment '更新时间',
|
||||
primary key (column_id)
|
||||
) engine=innodb auto_increment=1 comment = '代码生成业务表字段';
|
Loading…
x
Reference in New Issue
Block a user