Commit 4c7a8758b159ad3f5e69a3b7975ddc16bdc58753

Authored by yangfei
1 parent 38650fc65b
Exists in master

内容管理

Showing 13 changed files with 89 additions and 65 deletions

parent/base.common/src/main/java/com/lyms/base/common/dao/content/ContentMessageTemplateMapper.java View file @ 4c7a875
1 1 package com.lyms.base.common.dao.content;
2 2  
3   -import java.io.Serializable;
4   -import java.util.List;
5   -
6   -import org.springframework.stereotype.Repository;
7   -
8 3 import com.baomidou.mybatisplus.mapper.BaseMapper;
9 4 import com.baomidou.mybatisplus.plugins.Page;
10 5 import com.lyms.base.common.entity.content.ContentMessageTemplate;
11 6 import com.lyms.base.common.vo.content.ContentMessageTemplateDTO;
12 7 import com.lyms.base.common.vo.content.MsgTempSerachDTO;
  8 +import org.springframework.stereotype.Repository;
  9 +
  10 +import java.io.Serializable;
  11 +import java.util.List;
13 12 /**
14 13 * <p>
15 14 * Mapper接口
... ... @@ -24,6 +23,8 @@
24 23 public Integer deleteLogicById(Serializable id);
25 24  
26 25 public List<ContentMessageTemplateDTO> getContentMessageTemplate(Page<ContentMessageTemplateDTO> page , MsgTempSerachDTO msgTemp);
  26 +
  27 + public List<ContentMessageTemplateDTO> getContentMessageTemplate(MsgTempSerachDTO msgTemp);
27 28  
28 29 }
parent/base.common/src/main/java/com/lyms/base/common/dao/content/ContentMessageTemplateMapper.xml View file @ 4c7a875
... ... @@ -29,14 +29,14 @@
29 29 <select id="getContentMessageTemplate" resultType="com.lyms.base.common.vo.content.ContentMessageTemplateDTO" parameterType="com.lyms.base.common.vo.content.MsgTempSerachDTO">
30 30 select m.id as id,m.CONTENT as content,t.TAGS_IDS as contentTagIds from CONTENT_MESSAGE_TEMPLATE m left join CONTENT_TEMPLATE_MESSAGE_TAGS t on m.ID = t.MESSAGE_TEMPLATE
31 31 <where>
32   - <if test="verIds!=null">
  32 + <if test="verId!=null">
33 33 and m.TEMPLATE_VERSION_ID =#{verId}
34 34 </if>
35 35 <if test="msgContent!=null">
36 36 and m.CONTENT LIKE concat("%",#{msgContent},"%")
37 37 </if>
38 38 <if test="tagId!=null">
39   - and t.TAGS_IDS LIKE concat("%,",#{verIds},",%")
  39 + and t.TAGS_IDS LIKE concat("%,",#{tagId},",%")
40 40 </if>
41 41 </where>
42 42  
parent/base.common/src/main/java/com/lyms/base/common/dao/content/ContentTagsMapper.java View file @ 4c7a875
... ... @@ -3,6 +3,7 @@
3 3 import com.baomidou.mybatisplus.mapper.BaseMapper;
4 4 import com.baomidou.mybatisplus.plugins.Page;
5 5 import com.lyms.base.common.entity.content.ContentTags;
  6 +import org.apache.ibatis.annotations.Param;
6 7 import org.springframework.stereotype.Repository;
7 8  
8 9 import java.io.Serializable;
... ... @@ -21,6 +22,6 @@
21 22  
22 23 public Integer deleteLogicById(Serializable id);
23 24  
24   - public List<ContentTags> getTags(Page<ContentTags> page, String name);
  25 + public List<ContentTags> getTags(Page<ContentTags> page, @Param("name") String name);
25 26 }
parent/base.common/src/main/java/com/lyms/base/common/dao/content/ContentTagsMapper.xml View file @ 4c7a875
... ... @@ -24,11 +24,11 @@
24 24 ID AS id, TAG_NAME AS tagName, TAG_DESC AS tagDesc, LEVEL AS level, PERENT_ID AS perentId, CREATE_TIME AS createTime, CREATE_ID AS createId, CREATE_NAME AS createName, MODIFY_ID AS modifyId, MODIFY_NAME AS modifyName, MODIFY_TIME AS modifyTime, IFDEL AS ifdel, ENABLE AS enable
25 25 </sql>
26 26  
27   - <select id="getTags" resultMap="BaseResultMap">
  27 + <select id="getTags" resultMap="BaseResultMap" parameterType="java.lang.String">
28 28 select ID,TAG_NAME,TAG_DESC,`LEVEL`,PERENT_ID from CONTENT_TAGS
29 29 <where>
30   - <if test="name!=null">
31   - and `TAG_NAME` = #{name}
  30 + <if test="name !=null">
  31 + and `TAG_NAME` LIKE concat('%',#{name},"%");
32 32 </if>
33 33 </where>
34 34 </select>
parent/base.common/src/main/java/com/lyms/base/common/entity/content/ContentTemplateVersion.java View file @ 4c7a875
... ... @@ -76,7 +76,6 @@
76 76 @TableField(value="ENABLE")
77 77 private Integer enable;
78 78  
79   -
80 79 public String getId() {
81 80 return id;
82 81 }
parent/base.common/src/main/java/com/lyms/base/common/service/content/ContentMessageTemplateService.java View file @ 4c7a875
1 1 package com.lyms.base.common.service.content;
2 2  
3   -import java.io.Serializable;
4   -
5 3 import com.baomidou.mybatisplus.plugins.Page;
6 4 import com.lyms.base.common.entity.content.ContentMessageTemplate;
7 5 import com.lyms.base.common.vo.content.ContentMessageTemplateDTO;
8 6 import com.lyms.base.common.vo.content.MsgTempSerachDTO;
9 7 import com.lyms.web.service.BaseService;
10 8  
  9 +import java.io.Serializable;
  10 +import java.util.List;
11 11  
  12 +
12 13 /**
13 14 * <p>
14 15 * 服务类
... ... @@ -27,6 +28,8 @@
27 28 public Integer deleteLogicById(Serializable id);
28 29  
29 30 public Page<ContentMessageTemplateDTO> getContentMessageTemplate(Page<ContentMessageTemplateDTO> page, MsgTempSerachDTO msgTemp);
30   -
  31 +
  32 + public List<ContentMessageTemplateDTO> getContentMessageTemplate(MsgTempSerachDTO msgTemp);
  33 +
31 34 }
parent/base.common/src/main/java/com/lyms/base/common/service/content/impl/ContentMessageTemplateServiceImpl.java View file @ 4c7a875
1 1 package com.lyms.base.common.service.content.impl;
2 2  
3   -import java.io.Serializable;
4   -import java.util.List;
5   -
6   -import org.springframework.stereotype.Service;
7   -
8 3 import com.baomidou.mybatisplus.plugins.Page;
9 4 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
10 5 import com.lyms.base.common.dao.content.ContentMessageTemplateMapper;
11 6  
... ... @@ -12,7 +7,11 @@
12 7 import com.lyms.base.common.service.content.ContentMessageTemplateService;
13 8 import com.lyms.base.common.vo.content.ContentMessageTemplateDTO;
14 9 import com.lyms.base.common.vo.content.MsgTempSerachDTO;
  10 +import org.springframework.stereotype.Service;
15 11  
  12 +import java.io.Serializable;
  13 +import java.util.List;
  14 +
16 15 /**
17 16 * <p>
18 17 * 消息模板内容 服务实现类
... ... @@ -33,6 +32,11 @@
33 32 List<ContentMessageTemplateDTO> lists = baseMapper.getContentMessageTemplate(page, msgTemp);
34 33 page.setRecords(lists);
35 34 return page;
  35 + }
  36 +
  37 + @Override
  38 + public List<ContentMessageTemplateDTO> getContentMessageTemplate(MsgTempSerachDTO msgTemp) {
  39 + return baseMapper.getContentMessageTemplate(msgTemp);
36 40 }
37 41 }
parent/center.manager/src/main/java/com/lyms/cm/controller/content/ContentMessageTemplateController.java View file @ 4c7a875
... ... @@ -83,6 +83,8 @@
83 83 ContentMessageTemplate messTemp = new ContentMessageTemplate();
84 84 messTemp.setId(StrUtils.uuid());
85 85 messTemp.setCreateTime(new Date());
  86 + messTemp.setEnable(0);
  87 + messTemp.setIfdel(0);
86 88 messTemp.setKeyCode(messTemp.getId());
87 89 messTemp.setContent(contentMessage.getContent());
88 90 messTemp.setRichTitle(contentMessage.getRichTitle());
parent/center.manager/src/main/java/com/lyms/cm/controller/content/ContentTagsController.java View file @ 4c7a875
... ... @@ -67,7 +67,7 @@
67 67 */
68 68 @ResponseBody
69 69 @RequestMapping(value = "/list", method = { RequestMethod.GET, RequestMethod.POST })
70   - public Map<String, Object> list(@RequestParam(defaultValue= "",value="name",required = false) String name) {
  70 + public Map<String, Object> list(@RequestParam(value="name",required = false) String name) {
71 71 Page<ContentTags> page = getPage();
72 72 if(StrUtils.isNotEmpty(name)){
73 73 page = contentTagsService.getTags(page,name);
parent/center.manager/src/main/java/com/lyms/cm/controller/content/ContentTemplateVersionController.java View file @ 4c7a875
... ... @@ -3,8 +3,10 @@
3 3 import com.baomidou.mybatisplus.mapper.EntityWrapper;
4 4 import com.baomidou.mybatisplus.plugins.Page;
5 5 import com.lyms.base.common.entity.content.ContentTemplateVersion;
6   -import com.lyms.base.common.entity.organ.OrganGroup;
  6 +import com.lyms.base.common.service.content.ContentMessageTemplateService;
7 7 import com.lyms.base.common.service.content.ContentTemplateVersionService;
  8 +import com.lyms.base.common.vo.content.ContentMessageTemplateDTO;
  9 +import com.lyms.base.common.vo.content.MsgTempSerachDTO;
8 10 import com.lyms.constants.OperationName;
9 11 import com.lyms.util.StrUtils;
10 12 import com.lyms.web.bean.AjaxResult;
... ... @@ -16,6 +18,7 @@
16 18 import org.springframework.web.bind.annotation.RequestMethod;
17 19 import org.springframework.web.bind.annotation.ResponseBody;
18 20  
  21 +import java.util.List;
19 22 import java.util.Map;
20 23  
21 24 /**
... ... @@ -31,7 +34,9 @@
31 34 public class ContentTemplateVersionController extends BaseController {
32 35 @Autowired
33 36 private ContentTemplateVersionService templateVersionService;
34   -
  37 + //模板信息
  38 + @Autowired
  39 + private ContentMessageTemplateService messageTemplateService;
35 40 /**
36 41 * 列表
37 42 * @param model
... ... @@ -58,8 +63,17 @@
58 63  
59 64 @ResponseBody
60 65 @RequestMapping(value = "/create", method = { RequestMethod.POST })
61   - public AjaxResult create(ContentTemplateVersion templateVersion, AjaxResult ajaxResult) {
62   - boolean tag = templateVersionService.create(templateVersion);
  66 + public AjaxResult create(ContentTemplateVersion templateVersion,String perId, AjaxResult ajaxResult) {
  67 + boolean tag = false;
  68 + if(StrUtils.isNotEmpty(perId)){//复制版本
  69 + MsgTempSerachDTO msgTemp = new MsgTempSerachDTO();
  70 + msgTemp.setVerId(perId);
  71 + List<ContentMessageTemplateDTO> messageList = messageTemplateService.getContentMessageTemplate(msgTemp);
  72 + for(ContentMessageTemplateDTO ctd : messageList){
  73 + System.out.println("tagsId:"+ctd.getContentTagIds());
  74 + }
  75 + }
  76 + tag = templateVersionService.create(templateVersion);
63 77 return handleAjaxResult(ajaxResult, tag, OperationName.CREATE);
64 78 }
65 79  
parent/center.manager/src/main/webapp/WEB-INF/views/articles/articles_edit.html View file @ 4c7a875
... ... @@ -39,8 +39,8 @@
39 39 </select>
40 40 </div>
41 41 </div>
42   - <div class="hr-line-dashed"></div>
43   - <div class="form-group">
  42 + <div class="hr-line-dashed" style="display: none;"></div>
  43 + <div class="form-group" style="display: none;">
44 44 <label class="col-sm-2 control-label">权重:</label>
45 45 <div class="col-sm-5">
46 46 <input type="number" class="form-control" class="form-control" placeholder="选填" name="weight">
parent/center.manager/src/main/webapp/WEB-INF/views/content/template_edit.html View file @ 4c7a875
... ... @@ -7,12 +7,10 @@
7 7 <div class="ibox-content">
8 8 <div class="col-sm-12">
9 9 <form id="validForm" class="form-horizontal m-t" novalidate="novalidate">
10   - <input id="resource" name="roles" type="hidden" value="$!userRoles"/>
11   - <input type="hidden" id="user.id" name="id" value="$!user.id"/>
12 10 <div class="form-group">
13   - <label class="col-sm-2 control-label">短信内容:</label>
  11 + <label class="col-sm-2 control-label">*短信内容:</label>
14 12 <div class="col-sm-5">
15   - <textarea class="form-control" rows="4" cols="12" aria-required="true" name="content" required="true" placeholder="请输入短信内容"></textarea>
  13 + <textarea class="form-control" rows="4" cols="12" name="content" required placeholder="请输入短信内容"></textarea>
16 14 </div>
17 15 </div>
18 16 <div class="form-group">
... ... @@ -98,6 +96,8 @@
98 96 data.data.forEach(function(d, i) {
99 97 optionTagHtml += '<option value="'+d.id+'">' + d.tagName + '</option>';
100 98 });
  99 +
  100 +
101 101 //默认一个选择标签
102 102 addSeleTags();
103 103 }
104 104  
... ... @@ -133,11 +133,13 @@
133 133 }else{
134 134 data+="&isRich=0";
135 135 }
  136 + ajaxPost(APP.PATH + "/contentMessageTemplate/create",data);
  137 + parent.reloadGrid('dataTable');
136 138  
137   -
138   - alert(data);
139   - //ajaxPost(APP.PATH + "/contentMessageTemplate/create",data);
140   - //parent.reloadGrid('dataTable');
  139 +// $('#validForm')[0].reset();
  140 +// UE.getEditor('editor').setContent("");
  141 +
  142 +
141 143 }
142 144 }
143 145 </script>
parent/center.manager/src/main/webapp/WEB-INF/views/content/template_list.html View file @ 4c7a875
... ... @@ -11,7 +11,7 @@
11 11 <div class="ibox-content mailbox-content">
12 12 <div class="container-fluid">
13 13 <button class="glyphicon glyphicon-plus btn btn-block btn-primary compose-mail btn-group-lg" onclick="addVer()">消息模板版本</button >
14   - <ul class="list-group" id="temp_version">
  14 + <ul class="list-group col-sm-12" id="temp_version">
15 15 </ul>
16 16 <div class="clearfix"></div>
17 17 </div>
18 18  
... ... @@ -34,10 +34,9 @@
34 34 <label for="msgContent">短信内容:</label>
35 35 <input type="text" class="form-control" id="msgContent" placeholder="短信内容">
36 36 </div>
37   - <div class="form-group" style="margin-left: 20px;">
  37 + <div class="form-group" style="margin-left: 20px;display: none;">
38 38 <label>标签:</label>
39 39 <select class="form-control m-b" id="searchTags" style="margin-bottom: 0;">
40   -
41 40 </select>
42 41 </div>
43 42  
... ... @@ -77,7 +76,7 @@
77 76 ,shade: 0.6 //遮罩透明度
78 77 ,maxmin: true //允许全屏最小化
79 78 ,anim: 2 //0-6的动画形式,-1不开启
80   - ,content: "<div class='col-sm-9 col-sm-offset-1'><form class='form-horizontal m-t navbar-form navbar-left' id='validForm'><div class='form-group'><label class='col-sm-4 control-label'>版本名称:</label><div class='col-sm-5'><input type='text' class='form-control w-lg' placeholder='版本名称' id='verName' aria-required='true' required></div></div><div class='col-sm-offset-12'><button type='submit' onclick='return saveVersion()' class='btn btn-primary navbar-btn'>提交</button></div></form></div>"
  79 + ,content: "<div class='col-sm-9 col-sm-offset-1'><form action='#' class='form-horizontal m-t navbar-form navbar-left' id='validForm'><div class='form-group'><label class='col-sm-4 control-label'>版本名称:</label><div class='col-sm-5'><input type='text' class='form-control w-lg' placeholder='版本名称' id='versionName' name='versionName' aria-required='true' required></div></div><div class='col-sm-offset-12'><a onclick='saveVersion()' class='btn btn-primary navbar-btn'>提交</a></div></form></div>"
81 80 });
82 81 }
83 82  
84 83  
... ... @@ -85,14 +84,11 @@
85 84 var msgContent = $("#msgContent").val();
86 85 var searchTags = $("#searchTags").val();
87 86  
88   - var querys = {};
89   - if(msgContent!=""){
90   - querys.columnId = msgContent;
91   - }
92   - if(searchTags!=""){
93   - querys.type = searchTags;
94   - }
  87 + var querys = {verId:version.id};
  88 + querys.msgContent = msgContent;
95 89  
  90 + querys.type = searchTags;
  91 +
96 92 var queryParams = {
97 93 query:querys
98 94 }
... ... @@ -102,7 +98,7 @@
102 98 function initTagsData(){
103 99 $.get("${ctx}/contentTags/seleList", "json", function(data) {
104 100 if (data.success) {
105   - var optionTagHtml = "";
  101 + var optionTagHtml = "<option value=''>全部</option>";
106 102 data.data.forEach(function(d, i) {
107 103 optionTagHtml += '<option value="'+d.id+'">' + d.tagName + '</option>';
108 104 });
... ... @@ -113,10 +109,8 @@
113 109  
114 110 function saveVersion(){
115 111 if($('#validForm').valid()){
116   - var verName = $("#verName").val();
117   - ajaxPost(APP.PATH +'/contentTemplateVersion/create',"versionName="+verName);
118   - }else{
119   - return false;
  112 + var data = $('#validForm').serialize();
  113 + ajaxPost(APP.PATH +'/contentTemplateVersion/create',data);
120 114 }
121 115 }
122 116 function add() {
123 117  
124 118  
125 119  
126 120  
... ... @@ -125,26 +119,18 @@
125 119 layer.msg('请先选择消息模板版本');
126 120 return;
127 121 }
128   -
129 122 fullWindow("新增信息模板", APP.PATH + controllerRequestMappint + verId+"/toEdit");
130 123 }
131 124  
132 125 var templateVer = [];
  126 + var version = "";
133 127 function showMessageList(vId){
134   - var version = templateVer[vId];
  128 + version = templateVer[vId];
135 129 $("#verId").val(version.id);
136 130 $("#version").text(version.versionName);
137 131  
138   - var msgContent = $("#msgContent").val();
139   - var searchTags = $("#searchTags").val();
140   -
141 132 var querys = {verId:version.id};
142   - if(msgContent!=""){
143   - querys.columnId = msgContent;
144   - }
145   - if(searchTags!=""){
146   - querys.type = searchTags;
147   - }
  133 +
148 134 var queryParams = {
149 135 query:querys
150 136 }
... ... @@ -160,8 +146,8 @@
160 146 sortable: false, //是否启用排序
161 147 sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
162 148 pageNumber:1, //初始化加载第一页,默认第一页
163   - pageSize: 999, //每页的记录行数(*)
164   - pageList: [999], //可供选择的每页的行数(*)
  149 + pageSize: 50, //每页的记录行数(*)
  150 + pageList: [200], //可供选择的每页的行数(*)
165 151 strictSearch: true,
166 152 queryParams:{
167 153 verId:0
168 154  
... ... @@ -183,7 +169,19 @@
183 169 field: 'content',
184 170 title: '短信内容'
185 171 }]});
  172 + }
186 173  
  174 + function copyVer(ver){
  175 + layer.open({
  176 + type: 1 //Page层类型
  177 + ,area: ['530px', '300px']
  178 + ,title: '新增消息模板版本'
  179 + ,shade: 0.6 //遮罩透明度
  180 + ,maxmin: true //允许全屏最小化
  181 + ,anim: 2 //0-6的动画形式,-1不开启
  182 + ,content: "<div class='col-sm-9 col-sm-offset-1'><form class='form-horizontal m-t navbar-form navbar-left' id='validForm'><div class='form-group'><label class='col-sm-4 control-label'>版本名称:</label><div class='col-sm-5'><input type='hidden' name='perId' value='"+ver+"'/>" +
  183 + "<input type='text' class='form-control w-lg' placeholder='版本名称' name='versionName' required></div></div><div class='col-sm-offset-12'><a onclick='saveVersion()' class='btn btn-primary navbar-btn'>提交</a></div></form></div>"
  184 + });
187 185 }
188 186  
189 187 $(function(){
... ... @@ -200,7 +198,7 @@
200 198 if(data){
201 199 templateVer = data;
202 200 data.forEach(function(i,d){
203   - versionHtml+="<li onclick='showMessageList("+d+")' class='list-group-item'>"+i.versionName+"</li>";
  201 + versionHtml+="<li onclick='showMessageList("+d+")' class='list-group-item col-sm-9'>"+i.versionName+"</li><button onclick=copyVer('"+i.id+"') class='col-sm-3 btn'>复制</button>";
204 202 });
205 203 $("#temp_version").append(versionHtml);
206 204 }