bug修复优化

master
elliott 2 years ago
parent 67da87e6d3
commit 82294e67ac

@ -38,6 +38,10 @@ public class WxScriptTemplate extends BaseEntity
@Excel(name = "标签名字")
private String tagNames;
/** 标签名字 */
@Excel(name = "企微标签名字")
private String companyTagNames;
/** 标签ID */
@Excel(name = "标签ID")
private String tagIds;
@ -94,6 +98,7 @@ public class WxScriptTemplate extends BaseEntity
private List<Long> tagIdArray = new ArrayList<Long>();
private List<Long> companyIdArray = new ArrayList<Long>();
public void setId(Long id)
{
@ -253,10 +258,26 @@ public class WxScriptTemplate extends BaseEntity
this.tagIds = tagIds;
}
public String getCompanyTagNames() {
return companyTagNames;
}
public void setCompanyTagNames(String companyTagNames) {
this.companyTagNames = companyTagNames;
}
public List<Long> getTagIdArray() {
return tagIdArray;
}
public List<Long> getCompanyIdArray() {
return companyIdArray;
}
public void setCompanyIdArray(List<Long> companyIdArray) {
this.companyIdArray = companyIdArray;
}
public void setTagIdArray(List<Long> tagIdArray) {
this.tagIdArray = tagIdArray;
}

@ -89,6 +89,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<delete id="deleteWxScriptTagByTagId" parameterType="Long">
delete from wx_script_tag where id = #{tagId}
delete from wx_script_tag where tag_id = #{tagId}
</delete>
</mapper>

@ -110,52 +110,52 @@ public class WxScriptTagServiceImpl implements IWxScriptTagService
@Override
public int deleteWxScriptTagByTagId(Long tagId) {
// 先找出来,符合的所有标签
WxScriptTag tag = new WxScriptTag();
tag.setTagId(tagId);
List<WxScriptTag> wxScriptTags = wxScriptTagMapper.selectWxScriptTagList(tag);
System.out.println("根据删除的标签ID"+tag+",获取到话术标签列表信息:"+wxScriptTags.size());
// 开始组装新的数据以及更新源数据
if (!CollectionUtils.isEmpty(wxScriptTags)) {
for (WxScriptTag wxScriptTag: wxScriptTags) {
Long scriptId = wxScriptTag.getScriptId();
// 话术模板
WxScriptTemplate wxScriptTemplate = wxScriptTemplateMapper.selectWxScriptTemplateById(scriptId);
System.out.println("根据删除的标签ID"+tag+",话术模板:"+wxScriptTemplate.getScriptName());
if (Objects.nonNull(wxScriptTemplate)) {
WxScriptTag tagsVO = new WxScriptTag();
tagsVO.setScriptId(scriptId);
// 反查得到所有的标签
List<WxScriptTag> wxScriptTotalTags = wxScriptTagMapper.selectWxScriptTagList(tagsVO);
System.out.println("根据删除的标签ID"+tag+",获取到所有的标签信息:"+wxScriptTotalTags.size());
// 过滤删除的标签
if (!CollectionUtils.isEmpty(wxScriptTotalTags)) {
wxScriptTemplate.setTagNames("");
wxScriptTemplate.setTagIds("");
// 获取过滤后的标签的信息
List<WxScriptTag> collectList = wxScriptTotalTags.stream().filter(x -> !String.valueOf(x.getTagId()).equals(String.valueOf(tagId))).collect(Collectors.toList());
System.out.println("根据删除的标签ID"+tag+",过滤后:"+collectList.size());
List<SysTag> createSysTagList = Lists.newArrayList();
if (!CollectionUtils.isEmpty(collectList)) {
for (WxScriptTag scriptTag : collectList) {
SysTag sysTag = sysTagMapper.selectDeptById(scriptTag.getTagId());
if (Objects.nonNull(sysTag)) {
createSysTagList.add(sysTag);
}
}
}
if (!CollectionUtils.isEmpty(createSysTagList)) {
String tagNames = createSysTagList.stream().map(SysTag::getTagName).collect(Collectors.joining(","));
wxScriptTemplate.setTagNames(tagNames);
List<Long> resultList = createSysTagList.stream().map(SysTag::getId).collect(Collectors.toList());
String ids = StringUtils.join(resultList, ",");
wxScriptTemplate.setTagIds(ids);
}
wxScriptTemplateMapper.updateWxScriptTemplate(wxScriptTemplate);
}
}
}
}
// // 先找出来,符合的所有标签
// WxScriptTag tag = new WxScriptTag();
// tag.setTagId(tagId);
// List<WxScriptTag> wxScriptTags = wxScriptTagMapper.selectWxScriptTagList(tag);
// System.out.println("根据删除的标签ID"+tag+",获取到话术标签列表信息:"+wxScriptTags.size());
// // 开始组装新的数据以及更新源数据
// if (!CollectionUtils.isEmpty(wxScriptTags)) {
// for (WxScriptTag wxScriptTag: wxScriptTags) {
// Long scriptId = wxScriptTag.getScriptId();
// // 话术模板
// WxScriptTemplate wxScriptTemplate = wxScriptTemplateMapper.selectWxScriptTemplateById(scriptId);
// System.out.println("根据删除的标签ID"+tag+",话术模板:"+wxScriptTemplate.getScriptName());
// if (Objects.nonNull(wxScriptTemplate)) {
// WxScriptTag tagsVO = new WxScriptTag();
// tagsVO.setScriptId(scriptId);
// // 反查得到所有的标签
// List<WxScriptTag> wxScriptTotalTags = wxScriptTagMapper.selectWxScriptTagList(tagsVO);
// System.out.println("根据删除的标签ID"+tag+",获取到所有的标签信息:"+wxScriptTotalTags.size());
// // 过滤删除的标签
// if (!CollectionUtils.isEmpty(wxScriptTotalTags)) {
// wxScriptTemplate.setTagNames("");
// wxScriptTemplate.setTagIds("");
// // 获取过滤后的标签的信息
// List<WxScriptTag> collectList = wxScriptTotalTags.stream().filter(x -> !String.valueOf(x.getTagId()).equals(String.valueOf(tagId))).collect(Collectors.toList());
// System.out.println("根据删除的标签ID"+tag+",过滤后:"+collectList.size());
// List<SysTag> createSysTagList = Lists.newArrayList();
// if (!CollectionUtils.isEmpty(collectList)) {
// for (WxScriptTag scriptTag : collectList) {
// SysTag sysTag = sysTagMapper.selectDeptById(scriptTag.getTagId());
// if (Objects.nonNull(sysTag)) {
// createSysTagList.add(sysTag);
// }
// }
// }
// if (!CollectionUtils.isEmpty(createSysTagList)) {
// String tagNames = createSysTagList.stream().map(SysTag::getTagName).collect(Collectors.joining(","));
// wxScriptTemplate.setTagNames(tagNames);
// List<Long> resultList = createSysTagList.stream().map(SysTag::getId).collect(Collectors.toList());
// String ids = StringUtils.join(resultList, ",");
// wxScriptTemplate.setTagIds(ids);
// }
// wxScriptTemplateMapper.updateWxScriptTemplate(wxScriptTemplate);
// }
// }
// }
// }
return wxScriptTagMapper.deleteWxScriptTagByTagId(tagId);
}

@ -10,6 +10,7 @@ import com.flossom.common.core.domain.entity.SysTag;
import com.flossom.common.core.domain.entity.WxScriptTag;
import com.flossom.common.core.domain.entity.WxScriptTemplate;
import com.flossom.common.core.domain.vo.TreeSelect;
import com.flossom.common.core.enums.TagTypeStatus;
import com.flossom.common.core.mapper.SysTagMapper;
import com.flossom.common.core.mapper.WxScriptTagMapper;
import com.flossom.common.core.mapper.WxScriptTemplateMapper;
@ -46,7 +47,25 @@ public class WxScriptTemplateServiceImpl implements IWxScriptTemplateService {
*/
@Override
public WxScriptTemplate selectWxScriptTemplateById(Long id) {
return wxScriptTemplateMapper.selectWxScriptTemplateById(id);
WxScriptTemplate scriptTemplate = wxScriptTemplateMapper.selectWxScriptTemplateById(id);
// 处理标签关系
List<Long> wechatTagList = Lists.newArrayList();
List<Long> companyTagList = Lists.newArrayList();
WxScriptTag scriptTag = new WxScriptTag();
scriptTag.setScriptId(id);
// 获取所有的标签
List<WxScriptTag> wxScriptTagList = wxScriptTagMapper.selectWxScriptTagList(scriptTag);
for (WxScriptTag wxScriptTag: wxScriptTagList) {
SysTag sysTag = sysTagMapper.selectDeptById(wxScriptTag.getTagId());
if (TagTypeStatus.MINI_PROGRAM.getCode().toString().equals(sysTag.getType())){
wechatTagList.add(sysTag.getId());
} else {
companyTagList.add(sysTag.getId());
}
}
scriptTemplate.setTagIdArray(wechatTagList);
scriptTemplate.setCompanyIdArray(companyTagList);
return scriptTemplate;
}
/**
@ -57,7 +76,38 @@ public class WxScriptTemplateServiceImpl implements IWxScriptTemplateService {
*/
@Override
public List<WxScriptTemplate> selectWxScriptTemplateList(WxScriptTemplate wxScriptTemplate) {
return wxScriptTemplateMapper.selectWxScriptTemplateList(wxScriptTemplate);
List<WxScriptTemplate> templateList = wxScriptTemplateMapper.selectWxScriptTemplateList(wxScriptTemplate);
// 处理标签关系
for (WxScriptTemplate scriptTemplate : templateList) {
List<SysTag> wechatTagList = Lists.newArrayList();
List<SysTag> companyTagList = Lists.newArrayList();
Long id = scriptTemplate.getId();
WxScriptTag scriptTag = new WxScriptTag();
scriptTag.setScriptId(id);
// 获取所有的标签
List<WxScriptTag> wxScriptTagList = wxScriptTagMapper.selectWxScriptTagList(scriptTag);
for (WxScriptTag wxScriptTag: wxScriptTagList) {
SysTag sysTag = sysTagMapper.selectDeptById(wxScriptTag.getTagId());
if (Objects.nonNull(sysTag)) {
if (String.valueOf(TagTypeStatus.MINI_PROGRAM.getCode()).equals(sysTag.getType())){
wechatTagList.add(sysTag);
} else {
companyTagList.add(sysTag);
}
}
}
if (!CollectionUtils.isEmpty(wechatTagList)){
String wechatNames = wechatTagList.stream().map(SysTag::getTagName).collect(Collectors.joining(","));
scriptTemplate.setTagNames(wechatNames);
}
if (!CollectionUtils.isEmpty(companyTagList)){
String companyTagsNames = companyTagList.stream().map(SysTag::getTagName).collect(Collectors.joining(","));
scriptTemplate.setCompanyTagNames(companyTagsNames);
}
// scriptTemplate.setTagIdArray(wechatTagList);
// scriptTemplate.setCompanyIdArray(companyTagList);
}
return templateList;
}
/**
@ -81,13 +131,22 @@ public class WxScriptTemplateServiceImpl implements IWxScriptTemplateService {
}
}
}
if (!CollectionUtils.isEmpty(sysTags)) {
String tagNames = sysTags.stream().map(SysTag::getTagName).collect(Collectors.joining(","));
wxScriptTemplate.setTagNames(tagNames);
List<Long> resultList = sysTags.stream().map(SysTag::getId).collect(Collectors.toList());
String ids = StringUtils.join(resultList, ",");
wxScriptTemplate.setTagIds(ids);
List<Long> companyIdArray = wxScriptTemplate.getCompanyIdArray();
if (!CollectionUtils.isEmpty(companyIdArray)) {
for (long tagId : companyIdArray) {
SysTag sysTag = sysTagMapper.selectDeptById(tagId);
if (Objects.nonNull(sysTag)) {
sysTags.add(sysTag);
}
}
}
// if (!CollectionUtils.isEmpty(sysTags)) {
// String tagNames = sysTags.stream().map(SysTag::getTagName).collect(Collectors.joining(","));
// wxScriptTemplate.setTagNames(tagNames);
// List<Long> resultList = sysTags.stream().map(SysTag::getId).collect(Collectors.toList());
// String ids = StringUtils.join(resultList, ",");
// wxScriptTemplate.setTagIds(ids);
// }
int i = wxScriptTemplateMapper.insertWxScriptTemplate(wxScriptTemplate);
@ -127,13 +186,22 @@ public class WxScriptTemplateServiceImpl implements IWxScriptTemplateService {
}
}
}
if (!CollectionUtils.isEmpty(sysTags)) {
String tagNames = sysTags.stream().map(SysTag::getTagName).collect(Collectors.joining(","));
wxScriptTemplate.setTagNames(tagNames);
List<Long> resultList = sysTags.stream().map(SysTag::getId).collect(Collectors.toList());
String ids = StringUtils.join(resultList, ",");
wxScriptTemplate.setTagIds(ids);
List<Long> companyIdArray = wxScriptTemplate.getCompanyIdArray();
if (!CollectionUtils.isEmpty(companyIdArray)) {
for (long tagId : companyIdArray) {
SysTag sysTag = sysTagMapper.selectDeptById(tagId);
if (Objects.nonNull(sysTag)) {
sysTags.add(sysTag);
}
}
}
// if (!CollectionUtils.isEmpty(sysTags)) {
// String tagNames = sysTags.stream().map(SysTag::getTagName).collect(Collectors.joining(","));
// wxScriptTemplate.setTagNames(tagNames);
// List<Long> resultList = sysTags.stream().map(SysTag::getId).collect(Collectors.toList());
// String ids = StringUtils.join(resultList, ",");
// wxScriptTemplate.setTagIds(ids);
// }
// 先删除原本的关系
wxScriptTagMapper.deleteWxScriptByScriptId(wxScriptTemplate.getId());

@ -86,7 +86,7 @@
<el-table-column label="来源" align="center" prop="sourceName" />
<el-table-column label="用户头像" align="center" prop="userImg" >
<template slot-scope="scope">
<el-image :src="scope.row.userImg" style="width: 60px;height: 80px">
<el-image :src="scope.row.userImg" style="width: 60px;height: 80px" :preview-src-list="[scope.row.userImg]">
<div slot="placeholder" class="image-slot"><span class="dot"></span>
</div>
</el-image>
@ -139,7 +139,7 @@
<el-input v-model="form.sourceName" disabled />
</el-form-item>
<el-form-item label="用户头像" prop="userImg">
<el-image src="http://110.41.134.131:9300/statics/2023/12/08/blob_20231208144044A002.png"></el-image>
<el-image :src="form.userImg" style="width: 150px;height: 150px"></el-image>
</el-form-item>
<el-form-item label="用户昵称" prop="userName">
@ -268,7 +268,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "添加共创管理-留言管理";
this.title = "新增留言反馈";
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -277,7 +277,7 @@ export default {
getMessage(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改共创管理-留言管理";
this.title = "查看留言反馈";
});
},
/** 提交按钮 */

@ -59,13 +59,14 @@
<el-table-column prop="scriptName" label="话术名称" width="120"></el-table-column>
<el-table-column prop="titile" label="话术标题" width="150"></el-table-column>
<el-table-column prop="content" label="话术内容" width="260"></el-table-column>
<el-table-column label="类型" align="center" prop="tagType" >
<template slot-scope="scope">
<span v-show="scope.row.tagType == 1"></span>
<span v-show="scope.row.tagType == 2"></span>
</template>
</el-table-column>
<el-table-column prop="tagNames" label="标签名称" width="260"></el-table-column>
<!-- <el-table-column label="类型" align="center" prop="tagType" >-->
<!-- <template slot-scope="scope">-->
<!-- <span v-show="scope.row.tagType == 1"></span>-->
<!-- <span v-show="scope.row.tagType == 2"></span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column prop="tagNames" label="小程序标签" width="260"></el-table-column>
<el-table-column prop="companyTagNames" label="企微标签标签" width="260"></el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="200">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
@ -124,22 +125,22 @@
<el-input v-model="form.content" type="textarea" placeholder="请输入话术内容" maxlength="500" show-word-limit/>
</el-form-item>
</el-col>
<el-col :span="24" v-if="!topAdd">
<el-form-item label="标签类型" prop="tagType">
<el-select v-model="form.tagType" >
<el-option label="小程序标签" :value="1" :key="1"></el-option>
<el-option label="企微标签" :value="2" :key="2"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.tagType == 1">
<!-- <el-col :span="24" v-if="!topAdd">-->
<!-- <el-form-item label="标签类型" prop="tagType">-->
<!-- <el-select v-model="form.tagType" >-->
<!-- <el-option label="小程序标签" :value="1" :key="1"></el-option>-->
<!-- <el-option label="企微标签" :value="2" :key="2"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="24">
<el-form-item label="小程序标签" prop="tagIdArray" label-width="90px">
<treeselect v-model="form.tagIdArray" :options="chatTagOptions" :multiple="true" :show-count="true" placeholder="请选择小程序标签" :disable-branch-nodes="true" />
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.tagType == 2">
<el-form-item label="企微标签" prop="tagIdArray">
<treeselect v-model="form.tagIdArray" :options="tagOptions" :multiple="true" :show-count="true" placeholder="请选择企微标签" :disable-branch-nodes="true" />
<el-col :span="24">
<el-form-item label="企微标签" prop="companyIdArray">
<treeselect v-model="form.companyIdArray" :options="tagOptions" :multiple="true" :show-count="true" placeholder="请选择企微标签" :disable-branch-nodes="true" />
</el-form-item>
</el-col>
<el-col :span="24" v-if="!topAdd">
@ -240,7 +241,8 @@ export default {
status: undefined
},
//
form: {},
form: {
},
//
rules: {
titile: [
@ -341,6 +343,7 @@ export default {
phone: undefined,
email: undefined,
status: "0",
type: 0,
};
this.resetForm("form");
},
@ -390,10 +393,10 @@ export default {
this.reset();
getTemplate(row.id).then(response => {
this.form = response.data;
if (this.form.tagIds) {
this.form.tagIdArray = this.form.tagIds.split(',');
console.log('结果是==>',this.form.tagIdArray)
}
// if (this.form.tagIds) {
// this.form.tagIdArray = this.form.tagIds.split(',');
// console.log('==>',this.form.tagIdArray)
// }
this.open = true;
this.title = "修改话术";
});

Loading…
Cancel
Save