评论sop
parent
02284d6976
commit
6d6ef8c424
@ -0,0 +1,33 @@
|
||||
package com.baiye.controller;
|
||||
|
||||
import com.baiye.core.base.api.Result;
|
||||
import com.baiye.core.page.PageResult;
|
||||
import com.baiye.dto.SopDto;
|
||||
import com.baiye.query.SopQuery;
|
||||
import com.baiye.service.TiktokSopService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author jt
|
||||
*/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/tiktok/sop")
|
||||
public class TiktokSopController {
|
||||
@Resource
|
||||
private TiktokSopService tiktokSopService;
|
||||
|
||||
@PostMapping("add")
|
||||
public Result<Object> addSop(@RequestBody SopDto sopDto) {
|
||||
tiktokSopService.addSop(sopDto);
|
||||
return Result.success();
|
||||
}
|
||||
@GetMapping("query")
|
||||
public PageResult querySop(SopQuery sopQuery, Pageable pageable){
|
||||
return tiktokSopService.querySop(sopQuery, pageable);
|
||||
}
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
package com.baiye.job;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.http.HttpStatus;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import cn.hutool.json.JSONArray;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baiye.core.base.api.Result;
|
||||
import com.baiye.core.constant.TiktokRequestConstants;
|
||||
import com.baiye.core.constant.TiktokResponse;
|
||||
import com.baiye.core.util.StringUtils;
|
||||
import com.baiye.dao.KeyWordMapper;
|
||||
import com.baiye.dao.ReviewContentMapper;
|
||||
import com.baiye.dao.SopMapper;
|
||||
import com.baiye.dao.TiktokEquipmentMapper;
|
||||
import com.baiye.entity.KeyWordEntity;
|
||||
import com.baiye.entity.SopEntity;
|
||||
import com.baiye.entity.TiktokEquipmentEntity;
|
||||
import com.baiye.properties.TiktokProperties;
|
||||
import com.baiye.service.TiktokEquipmentService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author jt
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
public class CommentSopJob {
|
||||
|
||||
private final SopMapper sopMapper;
|
||||
private final ReviewContentMapper reviewContentMapper;
|
||||
private final KeyWordMapper keyWordMapper;
|
||||
private final TiktokEquipmentMapper tiktokEquipmentMapper;
|
||||
private final TiktokProperties tiktokProperties;
|
||||
|
||||
@Scheduled(cron = "* * 0/1 * * ?")
|
||||
public void commentSop() {
|
||||
List<SopEntity> sopEntities = sopMapper.selectList(new QueryWrapper<>());
|
||||
int hour = DateUtil.date().hour(true);
|
||||
for (SopEntity sop : sopEntities) {
|
||||
Integer executionStartTime = sop.getExecutionStartTime();
|
||||
Integer executionEndTime = sop.getExecutionEndTime();
|
||||
if (executionStartTime > hour || hour > executionEndTime) {
|
||||
continue;
|
||||
}
|
||||
//所有的抖音设备号
|
||||
List<String> dyIds = tiktokEquipmentMapper.findVendorIdByOrganizeId(sop.getOrganizeId());
|
||||
|
||||
//所有的搜索关键词
|
||||
QueryWrapper<KeyWordEntity> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("type", 0);
|
||||
queryWrapper.eq("sop_id", sop.getSopId());
|
||||
List<KeyWordEntity> keyWordEntityList = keyWordMapper.selectList(queryWrapper);
|
||||
|
||||
for (String dyId : dyIds) {
|
||||
for (KeyWordEntity keyWord : keyWordEntityList) {
|
||||
JSONObject childrenJson = new JSONObject();
|
||||
childrenJson.putOpt("vendorId", dyId);
|
||||
childrenJson.putOpt("keyWord", keyWord.getWord());
|
||||
childrenJson.putOpt("offset", 0);
|
||||
childrenJson.putOpt("checkLogin", false);
|
||||
childrenJson.putOpt("checkProxyInfo", false);
|
||||
|
||||
JSONObject json = new JSONObject();
|
||||
json.putOpt("sessionKey", tiktokProperties.getSessionKey());
|
||||
json.putOpt("data", childrenJson);
|
||||
String post = HttpUtil.post(tiktokProperties.getGatewayHost().concat(TiktokRequestConstants.SEARCH_VIDEO), JSONUtil.toJsonStr(json));
|
||||
if (StringUtils.isNotBlank(post)) {
|
||||
TiktokResponse tiktokResponse = JSONUtil.toBean(post, TiktokResponse.class);
|
||||
if (tiktokResponse.getStatus() == HttpStatus.HTTP_OK) {
|
||||
JSONObject value = JSONUtil.parseObj(tiktokResponse.getData()) ;
|
||||
JSONArray awemeList = value.getJSONArray("aweme_list");
|
||||
//todo 保存到泛资源库
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package com.baiye.dao;
|
||||
|
||||
import com.baiye.entity.KeyWordEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author jt
|
||||
*/
|
||||
@Mapper
|
||||
public interface KeyWordMapper extends BaseMapper<KeyWordEntity> {
|
||||
/**
|
||||
* 批量添加关键词
|
||||
*
|
||||
* @param list
|
||||
*/
|
||||
void insertAll(@Param("list") List<KeyWordEntity> list);
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package com.baiye.dao;
|
||||
|
||||
import com.baiye.entity.ReviewContentEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author jt
|
||||
*/
|
||||
@Mapper
|
||||
public interface ReviewContentMapper extends BaseMapper<ReviewContentEntity> {
|
||||
/**
|
||||
* 批量添加回评内容
|
||||
* @param list
|
||||
*/
|
||||
void insertAll( @Param("list") List<ReviewContentEntity> list);
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.baiye.dao;
|
||||
|
||||
import com.baiye.entity.SopEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @author jt
|
||||
*/
|
||||
@Mapper
|
||||
public interface SopMapper extends BaseMapper<SopEntity> {
|
||||
|
||||
}
|
@ -0,0 +1,100 @@
|
||||
package com.baiye.dto;
|
||||
|
||||
import com.baiye.entity.KeyWordEntity;
|
||||
import com.baiye.entity.ReviewContentEntity;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author jt
|
||||
*/
|
||||
@Data
|
||||
public class SopDto {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long sopId;
|
||||
|
||||
/**
|
||||
* sop名称
|
||||
*/
|
||||
private String sopName;
|
||||
|
||||
/**
|
||||
* 执行号组
|
||||
*/
|
||||
private Long organizeId;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String remake;
|
||||
|
||||
/**
|
||||
* 点赞数 0-不限制
|
||||
*/
|
||||
private Integer likeNum;
|
||||
|
||||
/**
|
||||
* 评论天数 0-不限制
|
||||
*/
|
||||
private Integer commentDay;
|
||||
/**
|
||||
* 各号执行评论次数
|
||||
*/
|
||||
private Integer executionNum;
|
||||
|
||||
/**
|
||||
* 执行开始时间
|
||||
*/
|
||||
private Date executionStartTime;
|
||||
|
||||
/**
|
||||
* 执行结束时间
|
||||
*/
|
||||
private Date executionEndTime;
|
||||
|
||||
/**
|
||||
* 搜索关键词
|
||||
*/
|
||||
private List<KeyWordEntity> searchKeyWords;
|
||||
/**
|
||||
* 过滤关键词
|
||||
*/
|
||||
private List<KeyWordEntity> filterKeyWords;
|
||||
/**
|
||||
* 匹配关键词
|
||||
*/
|
||||
private List<PreciseResource> matchKeyWords;
|
||||
|
||||
public static class PreciseResource {
|
||||
private Long id;
|
||||
private String matchKeyWord;
|
||||
private List<ReviewContentEntity> reviewContents;
|
||||
|
||||
public String getMatchKeyWord() {
|
||||
return matchKeyWord;
|
||||
}
|
||||
|
||||
public void setMatchKeyWord(String matchKeyWord) {
|
||||
this.matchKeyWord = matchKeyWord;
|
||||
}
|
||||
|
||||
public List<ReviewContentEntity> getReviewContents() {
|
||||
return reviewContents;
|
||||
}
|
||||
|
||||
public void setReviewContents(List<ReviewContentEntity> reviewContents) {
|
||||
this.reviewContents = reviewContents;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package com.baiye.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author jt
|
||||
*/
|
||||
@Data
|
||||
@TableName("tb_key_word")
|
||||
public class KeyWordEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(type = IdType.INPUT)
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 关键词
|
||||
*/
|
||||
private String word;
|
||||
|
||||
/**
|
||||
* sopId
|
||||
*/
|
||||
private Long sopId;
|
||||
/**
|
||||
* 类型 0-搜索关键词 1-过滤关键词 2- 匹配关键词
|
||||
*/
|
||||
private Integer type;
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package com.baiye.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author jt
|
||||
*/
|
||||
@Data
|
||||
@TableName("tb_review_content")
|
||||
public class ReviewContentEntity {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 回评内容
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 关键词id
|
||||
*/
|
||||
private Long keyWordId;
|
||||
|
||||
}
|
@ -0,0 +1,73 @@
|
||||
package com.baiye.entity;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author jt
|
||||
*/
|
||||
@Data
|
||||
@TableName("tb_sop")
|
||||
public class SopEntity implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(type = IdType.INPUT)
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long sopId;
|
||||
|
||||
/**
|
||||
* sop名称
|
||||
*/
|
||||
private String sopName;
|
||||
|
||||
/**
|
||||
* 执行号组
|
||||
*/
|
||||
private Long organizeId;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String remake;
|
||||
|
||||
/**
|
||||
* 点赞数 0-不限制
|
||||
*/
|
||||
private Integer likeNum;
|
||||
|
||||
/**
|
||||
* 评论天数 0-不限制
|
||||
*/
|
||||
private Integer commentDay;
|
||||
/**
|
||||
* 各号执行评论次数
|
||||
*/
|
||||
private Integer executionNum;
|
||||
|
||||
/**
|
||||
* 执行开始时间
|
||||
*/
|
||||
private Integer executionStartTime;
|
||||
|
||||
/**
|
||||
* 执行结束时间
|
||||
*/
|
||||
private Integer executionEndTime;
|
||||
|
||||
@TableField(value = "create_time", fill = FieldFill.INSERT)
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
|
||||
private Integer status;
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.baiye.query;
|
||||
|
||||
import com.baiye.annotation.Query;
|
||||
import com.baiye.annotation.type.SelectType;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author jt
|
||||
*/
|
||||
@Data
|
||||
public class SopQuery {
|
||||
|
||||
@Query(type = SelectType.INNER_LIKE)
|
||||
private String sopName;
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package com.baiye.service;
|
||||
|
||||
import com.baiye.core.page.PageResult;
|
||||
import com.baiye.dto.SopDto;
|
||||
import com.baiye.query.SopQuery;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
/**
|
||||
* @author jt
|
||||
*/
|
||||
public interface TiktokSopService {
|
||||
|
||||
/**
|
||||
* 新增sop
|
||||
* @param dto
|
||||
*/
|
||||
void addSop(SopDto dto);
|
||||
|
||||
/**
|
||||
* 分页查询sop
|
||||
* @param sopQuery
|
||||
* @param pageable
|
||||
* @return
|
||||
*/
|
||||
PageResult querySop(SopQuery sopQuery, Pageable pageable);
|
||||
}
|
@ -0,0 +1,162 @@
|
||||
package com.baiye.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baiye.core.page.PageResult;
|
||||
import com.baiye.core.util.BeanUtils;
|
||||
import com.baiye.dao.KeyWordMapper;
|
||||
import com.baiye.dao.ReviewContentMapper;
|
||||
import com.baiye.dao.SopMapper;
|
||||
import com.baiye.dto.SopDto;
|
||||
import com.baiye.entity.KeyWordEntity;
|
||||
import com.baiye.entity.ReviewContentEntity;
|
||||
import com.baiye.entity.SopEntity;
|
||||
import com.baiye.query.SopQuery;
|
||||
import com.baiye.service.TiktokSopService;
|
||||
import com.baiye.util.PageUtils;
|
||||
import com.baiye.util.QueryHelpUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author jt
|
||||
*/
|
||||
@Service
|
||||
public class TiktokSopServiceImpl extends ServiceImpl<SopMapper, SopEntity> implements TiktokSopService {
|
||||
@Resource
|
||||
private SopMapper sopMapper;
|
||||
@Resource
|
||||
private ReviewContentMapper reviewContentMapper;
|
||||
@Resource
|
||||
private KeyWordMapper keyWordMapper;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void addSop(SopDto dto) {
|
||||
SopEntity sop;
|
||||
Long id;
|
||||
if (ObjectUtil.isNotEmpty(dto) && dto.getSopId() != null) {
|
||||
//修改
|
||||
sop = sopMapper.selectById(dto.getSopId());
|
||||
id = dto.getSopId();
|
||||
} else {
|
||||
sop = new SopEntity();
|
||||
id = IdUtil.getSnowflake(9, 9).nextId();
|
||||
}
|
||||
BeanUtils.copyProperties(dto, sop);
|
||||
sop.setSopId(id);
|
||||
|
||||
List<KeyWordEntity> keyWordEntityList = new ArrayList<>();
|
||||
//搜索关键词
|
||||
List<KeyWordEntity> searchKeyWords = dto.getSearchKeyWords();
|
||||
for (KeyWordEntity value : searchKeyWords) {
|
||||
if (value.getId() != null) {
|
||||
continue;
|
||||
}
|
||||
Long keyId = IdUtil.getSnowflake(9, 9).nextId();
|
||||
value.setId(keyId);
|
||||
value.setSopId(id);
|
||||
value.setType(0);
|
||||
keyWordEntityList.add(value);
|
||||
}
|
||||
|
||||
//过滤关键词
|
||||
List<KeyWordEntity> filterKeyWords = dto.getFilterKeyWords();
|
||||
for (KeyWordEntity value : filterKeyWords) {
|
||||
if (value.getId() != null) {
|
||||
continue;
|
||||
}
|
||||
Long keyId = IdUtil.getSnowflake(9, 9).nextId();
|
||||
value.setId(keyId);
|
||||
value.setSopId(id);
|
||||
value.setType(1);
|
||||
keyWordEntityList.add(value);
|
||||
}
|
||||
|
||||
List<SopDto.PreciseResource> matchKeyWords = dto.getMatchKeyWords();
|
||||
List<ReviewContentEntity> contents = new ArrayList<>();
|
||||
for (SopDto.PreciseResource resource : matchKeyWords) {
|
||||
Long keyId = resource.getId();
|
||||
if (resource.getId() == null) {
|
||||
KeyWordEntity keyWord = new KeyWordEntity();
|
||||
keyId = IdUtil.getSnowflake(9, 9).nextId();
|
||||
keyWord.setId(keyId);
|
||||
keyWord.setWord(resource.getMatchKeyWord());
|
||||
keyWord.setSopId(id);
|
||||
keyWord.setType(2);
|
||||
keyWordEntityList.add(keyWord);
|
||||
}
|
||||
|
||||
List<ReviewContentEntity> reviewContents = resource.getReviewContents();
|
||||
for (ReviewContentEntity content : reviewContents) {
|
||||
if (content.getId() != null) {
|
||||
continue;
|
||||
}
|
||||
ReviewContentEntity reviewContent = new ReviewContentEntity();
|
||||
reviewContent.setContent(content.getContent());
|
||||
reviewContent.setKeyWordId(keyId);
|
||||
contents.add(reviewContent);
|
||||
}
|
||||
}
|
||||
sopMapper.insert(sop);
|
||||
keyWordMapper.insertAll(keyWordEntityList);
|
||||
reviewContentMapper.insertAll(contents);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult querySop(SopQuery sopQuery, Pageable pageable) {
|
||||
Page<SopEntity> page = PageUtils.startPageAndSort(pageable);
|
||||
QueryWrapper<SopEntity> queryWrapper = QueryHelpUtils.getWrapper(sopQuery, SopEntity.class);
|
||||
Page<SopEntity> selectPage = sopMapper.selectPage(page, queryWrapper);
|
||||
//当前在线情况
|
||||
List<SopEntity> records = selectPage.getRecords();
|
||||
List<SopDto> sopDtos = Convert.toList(SopDto.class, records);
|
||||
for (SopDto sopDto : sopDtos) {
|
||||
Long sopId = sopDto.getSopId();
|
||||
//查寻关键词和回评
|
||||
QueryWrapper<KeyWordEntity> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq("sop_id", sopId);
|
||||
List<KeyWordEntity> keyWordEntityList = keyWordMapper.selectList(wrapper);
|
||||
List<KeyWordEntity> keyWordBySearchKeys = new ArrayList<>();
|
||||
List<KeyWordEntity> keyWordByFilterKeys = new ArrayList<>();
|
||||
List<SopDto.PreciseResource> keyWordByMatchKeys = new ArrayList<>();
|
||||
if (CollUtil.isNotEmpty(keyWordEntityList)) {
|
||||
|
||||
for (KeyWordEntity keyWord : keyWordEntityList) {
|
||||
if (keyWord.getType() == 0) {
|
||||
keyWordBySearchKeys.add(keyWord);
|
||||
} else if (keyWord.getType() == 1) {
|
||||
keyWordByFilterKeys.add(keyWord);
|
||||
} else {
|
||||
|
||||
SopDto.PreciseResource preciseResource = new SopDto.PreciseResource();
|
||||
preciseResource.setId(keyWord.getId());
|
||||
preciseResource.setMatchKeyWord(keyWord.getWord());
|
||||
|
||||
QueryWrapper<ReviewContentEntity> wrapperContent = new QueryWrapper<>();
|
||||
wrapperContent.eq("key_word_id", keyWord.getId());
|
||||
List<ReviewContentEntity> contentEntities = reviewContentMapper.selectList(wrapperContent);
|
||||
preciseResource.setReviewContents(contentEntities);
|
||||
|
||||
keyWordByMatchKeys.add(preciseResource);
|
||||
}
|
||||
}
|
||||
}
|
||||
sopDto.setSearchKeyWords(keyWordBySearchKeys);
|
||||
sopDto.setFilterKeyWords(keyWordByFilterKeys);
|
||||
sopDto.setMatchKeyWords(keyWordByMatchKeys);
|
||||
}
|
||||
return PageResult.success(selectPage.getTotal(), selectPage.getPages(), sopDtos);
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.baiye.dao.KeyWordMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.baiye.entity.KeyWordEntity">
|
||||
<id column="id" property="id"/>
|
||||
<result column="sop_id" property="sopId"/>
|
||||
<result column="type" property="type"/>
|
||||
<result column="word" property="word"/>
|
||||
</resultMap>
|
||||
|
||||
<insert id="insertAll">
|
||||
insert into tb_key_word (id,word,sop_id,type)
|
||||
values
|
||||
<foreach collection="list" item="item" index="index" separator=",">
|
||||
( #{item.id}, #{item.word},#{item.sopId},#{item.type})
|
||||
</foreach>
|
||||
</insert>
|
||||
</mapper>
|
@ -0,0 +1,19 @@
|
||||
<?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.baiye.dao.ReviewContentMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.baiye.entity.ReviewContentEntity">
|
||||
<id column="id" property="id"/>
|
||||
<result column="content" property="content"/>
|
||||
<result column="key_word_id" property="keyWordId"/>
|
||||
</resultMap>
|
||||
|
||||
<insert id="insertAll">
|
||||
insert into tb_review_content (content,key_word_id)
|
||||
values
|
||||
<foreach collection="list" item="item" index="index" separator=",">
|
||||
(#{item.content},#{item.keyWordId})
|
||||
</foreach>
|
||||
</insert>
|
||||
</mapper>
|
Loading…
Reference in New Issue