Commit ce11193e by 田超

Merge branch 'feature/1004545' into 'master'

feat:[1004545] 超级搜索

See merge request rays/pcloud-book!1274
parents 3e673c2f 6645d234
......@@ -42,6 +42,26 @@ public class AdviserBookInfoDTO extends BaseDto {
private Long bookGroupId;
private Long bookAdviserId;
private String uniqueNumber;
public String getUniqueNumber() {
return uniqueNumber;
}
public void setUniqueNumber(String uniqueNumber) {
this.uniqueNumber = uniqueNumber;
}
public Long getBookAdviserId() {
return bookAdviserId;
}
public void setBookAdviserId(Long bookAdviserId) {
this.bookAdviserId = bookAdviserId;
}
public Long getBookId() {
return bookId;
}
......
......@@ -13,6 +13,36 @@ public class BookNameUpdateDTO implements Serializable {
private Long bookId;
private Long adviserId;
private Long channelId;
private Long adviserBookId;
public Long getAdviserBookId() {
return adviserBookId;
}
public void setAdviserBookId(Long adviserBookId) {
this.adviserBookId = adviserBookId;
}
public Long getAdviserId() {
return adviserId;
}
public void setAdviserId(Long adviserId) {
this.adviserId = adviserId;
}
public Long getChannelId() {
return channelId;
}
public void setChannelId(Long channelId) {
this.channelId = channelId;
}
public String getBookName() {
return bookName;
}
......
......@@ -20,6 +20,7 @@ import com.pcloud.book.book.entity.BookAdviser;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
......@@ -196,4 +197,12 @@ public interface BookAdviserService {
ResponseEntity<ResponseDto<Integer>> getBookIsOpenCatalog(@RequestParam("bookId") Long bookId,
@RequestParam("channelId") Long channelId,
@RequestParam("adviserId") Long adviserId) throws BizException;
@GetMapping("getAllAdviserBook")
@ApiOperation("获取所有编辑书籍")
ResponseEntity<ResponseDto<PageBeanNew<AdviserBookInfoDTO>>> getAllAdviserBook(@RequestParam("currentPage") Integer currentPage,
@RequestParam("numPerPage") Integer numPerPage);
@PostMapping("getBookMapByAdviserBookIds")
ResponseEntity<ResponseDto<Map<Long, BookDto>>> getBookMapByAdviserBookIds(@RequestBody List<Long> adviserBookIds);
}
......@@ -272,4 +272,9 @@ public interface BookGroupService {
@ApiOperation("自有码配置的资源列表")
@PostMapping("mapSceneServeList")
ResponseEntity<ResponseDto<Map<Long, List<BookGroupServeDTO>>>> mapSceneServeList(@RequestBody List<Long> sceneIds);
@GetMapping("getAllRaysScene")
@ApiOperation("获取所有编辑书籍")
ResponseEntity<ResponseDto<PageBeanNew<BookGroupDTO>>> getAllRaysScene(@RequestParam("currentPage") Integer currentPage,
@RequestParam("numPerPage") Integer numPerPage);
}
......@@ -34,6 +34,7 @@ import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.channelcenter.qrcode.vo.BookQrcodeVO;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew;
import org.springframework.data.domain.Page;
import java.util.Date;
import java.util.List;
......@@ -404,4 +405,19 @@ public interface BookAdviserBiz {
* * @param null
*/
void updateOpenCatalogState(Long bookId, Long adviserId, Long channelId, Integer isOpenCatalog);
/**
* 获取所有数据
* @param currentPage
* @param numPerPage
* @return
*/
PageBeanNew<AdviserBookInfoDTO> getAllAdviserBook(Integer currentPage, Integer numPerPage);
/**
* 获取编辑书刊
* @param adviserBookIds
* @return
*/
Map<Long, BookDto> getBookMapByAdviserBookIds(List<Long> adviserBookIds);
}
......@@ -82,6 +82,7 @@ import com.pcloud.book.group.dto.BookServeLabelDTO;
import com.pcloud.book.group.entity.BookGroupServe;
import com.pcloud.book.group.enums.AppAndProductTypeEnum;
import com.pcloud.book.group.enums.JoinGroupTypeEnum;
import com.pcloud.book.mq.producer.UpdateSuperSearchProducer;
import com.pcloud.book.rightsSetting.biz.RightsSettingBiz;
import com.pcloud.book.rightsSetting.constants.RightsSettingConstant;
import com.pcloud.book.rightsSetting.dao.RightsSettingDAO;
......@@ -251,6 +252,8 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
private BookGroupServeDao bookGroupServeDao;
@Autowired
private ResourcePageBiz resourcePageBiz;
@Autowired
private UpdateSuperSearchProducer searchProducer;
@Override
public List<BookDto> listByAdviserId(Long adviserId) {
......@@ -847,6 +850,8 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
} else {
deleteBook4ViceAdviser(bookId,adviserId,channelId);
}
//更新超级搜索es
searchProducer.deleteBook(bookId, adviserId, channelId);
}
......@@ -3091,4 +3096,14 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
public void updateOpenCatalogState(Long bookId, Long adviserId, Long channelId, Integer isOpenCatalog) {
bookAdviserDao.updateOpenCatalogState(bookId, adviserId, channelId, isOpenCatalog);
}
@Override
public PageBeanNew<AdviserBookInfoDTO> getAllAdviserBook(Integer currentPage, Integer numPerPage) {
return bookAdviserDao.listPageNew(new PageParam(currentPage, numPerPage),new HashMap<>(),"getAllAdviserBook");
}
@Override
public Map<Long, BookDto> getBookMapByAdviserBookIds(List<Long> adviserBookIds) {
return bookAdviserDao.getBookMapByAdviserBookIds(adviserBookIds);
}
}
......@@ -3,10 +3,13 @@
*/
package com.pcloud.book.book.biz.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.alibaba.fastjson.JSONObject;
import com.pcloud.analysisengine.qrcode.dto.BookScanStatistics4OfficialAccountsDTO;
import com.pcloud.analysisengine.qrcode.dto.BookScanStatistics4OfficialAccountsReqDTO;
import com.pcloud.analysisengine.qrcode.dto.BookTimeSourceDto;
......@@ -137,6 +140,7 @@ import com.pcloud.book.group.entity.BookGroup;
import com.pcloud.book.group.entity.BookGroupServe;
import com.pcloud.book.group.enums.JoinGroupTypeEnum;
import com.pcloud.book.mq.producer.BookMQProducer;
import com.pcloud.book.mq.producer.UpdateSuperSearchProducer;
import com.pcloud.book.rightsSetting.constants.RightsSettingConstant;
import com.pcloud.book.rightsSetting.dao.RightsNowItemDao;
import com.pcloud.book.rightsSetting.mapper.RightsSettingBookRelationMapper;
......@@ -173,7 +177,6 @@ import com.pcloud.resourcecenter.product.dto.ProductDto;
import com.pcloud.resourcecenter.product.dto.SpecificationDto;
import com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto;
import com.pcloud.usercenter.party.agent.dto.SaleAgentDTO;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
......@@ -211,11 +214,6 @@ import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.http.HttpUtil;
/**
* @描述:书籍业务层接口实现类
* @作者:songx
......@@ -352,6 +350,8 @@ public class BookBizImpl implements BookBiz {
private TradeConsr tradeConsr;
@Autowired
private BookLinkDao bookLinkDao;
@Autowired
private UpdateSuperSearchProducer searchProducer;
/**
* 创建书籍,同时建立与编辑的推广关系
*/
......@@ -1727,6 +1727,8 @@ public class BookBizImpl implements BookBiz {
bookGroupBiz.linkBookGroup(book.getBookId(), book.getBookGroupId(), book.getCreatedUser());
}
bookDto.setIsDelete(null == dtoByBookId ? 1 : dtoByBookId.getIsDelete() ? 1 : 0);
//更新超级搜索es
searchProducer.createBook(book.getBookAdviserId());
return bookDto;
}
......@@ -1755,6 +1757,8 @@ public class BookBizImpl implements BookBiz {
bookGroupBiz.updateBookGroupRaysClassify(book);
insertEdition(book.getLastModifiedUser(),book.getEdition(),book.getBookId());
LOGGER.info("修改图书基本信息与类型[END]");
//更新超级搜索es
searchProducer.updateBook(book);
// 异步发起书刊推荐超级作者资源计算
ThreadPoolUtils.OTHER_THREAD_POOL.execute(() -> {
......
......@@ -324,4 +324,6 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
List<ERPPublishNumDTO> getErpPublishNumQueryParamsByMonth(List<Long> adviserIds, int month);
void updateOpenCatalogState(Long bookId, Long adviserId, Long channelId, Integer isOpenCatalog);
Map<Long, BookDto> getBookMapByAdviserBookIds(List<Long> adviserBookIds);
}
......@@ -358,6 +358,12 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
}
@Override
public Map<Long, BookDto> getBookMapByAdviserBookIds(List<Long> adviserBookIds) {
return getSessionTemplate().selectMap(getStatement("getBookMapByAdviserBookIds"), adviserBookIds, "bookAdviserId");
}
@Override
public List<AgentBookStatsDetailVO> getAgentBookStatsDetail(List<ErpBookInfoDTO> raysBookIds, Integer isRay, String name, List<Long> advisers) {
Map<String, Object> map = new HashMap<>();
if (StrUtil.isNotBlank(name) && name.startsWith("BK")){
......
......@@ -23,7 +23,9 @@ import com.pcloud.book.book.service.BookAdviserService;
import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.utils.ResponseHandleUtil;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -227,4 +229,17 @@ public class BookAdviserServiceImpl implements BookAdviserService {
}
return ResponseHandleUtil.toResponse(isOpenCatalog);
}
@GetMapping("getAllAdviserBook")
@Override
public ResponseEntity<ResponseDto<PageBeanNew<AdviserBookInfoDTO>>> getAllAdviserBook(@RequestParam("currentPage") Integer currentPage,
@RequestParam("numPerPage") Integer numPerPage) {
return ResponseHandleUtil.toResponse(bookAdviserBiz.getAllAdviserBook(currentPage, numPerPage));
}
@PostMapping("getBookMapByAdviserBookIds")
@Override
public ResponseEntity<ResponseDto<Map<Long, BookDto>>> getBookMapByAdviserBookIds(@RequestBody List<Long> adviserBookIds) {
return ResponseHandleUtil.toResponse(bookAdviserBiz.getBookMapByAdviserBookIds(adviserBookIds));
}
}
......@@ -26,6 +26,7 @@ import com.pcloud.book.rightsSetting.dto.RightsSettingDto;
import com.pcloud.book.util.common.ThreadPoolUtils;
import com.pcloud.book.util.common.YesOrNoEnums;
import com.pcloud.book.util.properties.BookProps;
import com.pcloud.common.constant.CacheConstant;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.enums.AppTypeEnum;
import com.pcloud.common.exceptions.BizException;
......@@ -51,6 +52,7 @@ import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import redis.clients.jedis.JedisCluster;
import java.math.BigDecimal;
import java.util.ArrayList;
......@@ -345,6 +347,10 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
boolQueryBuilder.must(adviserIdBuilder);
//屏蔽指定书籍
BoolQueryBuilder bookBuilder = getBookBuilder();
boolQueryBuilder.must(bookBuilder);
if (isIsbn(keyword)) {
boolQueryBuilder.must(QueryBuilders.termsQuery("isbn", keyword));
} else if (StringUtils.isNotBlank(keyword)) {
......@@ -405,7 +411,9 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
// 审核通过之后屏蔽掉测试编辑的书刊
BoolQueryBuilder adviserIdBuilder = getAdviserIdBuilder(grayStatus);
//屏蔽指定书籍
BoolQueryBuilder bookBuilder = getBookBuilder();
boolQueryBuilder.must(bookBuilder);
boolQueryBuilder.must(adviserIdBuilder);
if (isIsbn(keyword)) {
......@@ -439,6 +447,18 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
return search;
}
private BoolQueryBuilder getBookBuilder() {
String ignorBookKey = CacheConstant.BOOK + "ignorBookKey";
List<Long> bookIds = JedisClusterUtils.getJsonList(ignorBookKey, Long.class);
if (ListUtils.isEmpty(bookIds)) {
bookIds = Lists.newArrayList(5920573L,5934953L,5920574L,5934954L);
JedisClusterUtils.setJsonList(ignorBookKey,bookIds,3600 * 24);
}
BoolQueryBuilder mustNot = QueryBuilders.boolQuery().mustNot(QueryBuilders.termsQuery("id", bookIds));
return mustNot;
}
@Override
public void deleteAdviserBooks4ES() {
Page<ESBookAndAdviser> search = getEsBookAndAdvisers();
......
......@@ -1088,4 +1088,9 @@ public interface BookGroupBiz {
* * @param null
*/
void updateBookGroupSeq(Long bookGroupId, Integer seq);
/**
*获取所有rays码
*/
PageBeanNew<BookGroupDTO> getAllRaysScene(Integer currentPage, Integer numPerPage);
}
......@@ -199,6 +199,7 @@ import com.pcloud.book.keywords.dto.KeywordDTO;
import com.pcloud.book.keywords.enums.ReplyTypeEnum;
import com.pcloud.book.keywords.vo.ListKeywordVO;
import com.pcloud.book.mapper.clickhouse.BookMapper;
import com.pcloud.book.mq.producer.UpdateSuperSearchProducer;
import com.pcloud.book.pcloudkeyword.biz.PcloudRobotBiz;
import com.pcloud.book.pcloudkeyword.entity.PcloudRobot;
import com.pcloud.book.push.enums.AltTypeEnum;
......@@ -507,6 +508,8 @@ public class BookGroupBizImpl implements BookGroupBiz {
private BookMapper bookMapper;
@Autowired
private ResourcePageBiz resourcePageBiz;
@Autowired
private UpdateSuperSearchProducer searchProducer;
private static final ThreadPoolExecutor PLATFORM_STATISTICS_EXPORT_THREAD = new ThreadPoolExecutor(2, 2,
0, TimeUnit.SECONDS, new LinkedBlockingQueue<>(),
......@@ -732,7 +735,13 @@ public class BookGroupBizImpl implements BookGroupBiz {
return null;
}
List<BookGroupDTO> list = bookGroupDao.getDTOByIds(bookGroupIds);
if (ListUtils.isEmpty(list)) {
return new HashMap<>();
}
List<Long> bookIds = list.stream().map(BookGroupDTO::getBookId).collect(Collectors.toList());
if (ListUtils.isEmpty(bookIds)) {
return new HashMap<>();
}
Map<Long, BookDto> mapByIds = bookDao.getMapByIds(bookIds);
if (ListUtils.isEmpty(list)) {
return null;
......@@ -1080,6 +1089,8 @@ public class BookGroupBizImpl implements BookGroupBiz {
bookGroup.setGroupQrcodeUrl(qrcode);
bookGroup.setBackgroundType(bookGroup.getBackgroundType());
bookGroupDao.update(bookGroup);
//更新至超级搜索
searchProducer.update(bookGroup.getId());
}
/**
......@@ -1940,6 +1951,8 @@ public class BookGroupBizImpl implements BookGroupBiz {
}
bookGroupDao.deleteByBookGroupId(bookGroupId);
bookAppletSceneDao.deleteByBookGroupId(bookGroupId);
//更新至超级搜索中
searchProducer.delete(bookGroupId);
}
@Transactional(rollbackFor = Exception.class)
......@@ -6213,6 +6226,8 @@ public class BookGroupBizImpl implements BookGroupBiz {
BookGroup bookGroup = this.createBookGroupAfterCreateBook(bookId,channelId,adviserId,null, null,joinGroupType,jumpType,bookGroupCreateDTO.getJumpUrl());
bookGroupCreateDTO.setId(bookGroup.getId());
this.updateBookGroup(bookGroupCreateDTO);
//更新至超级搜索
searchProducer.create(bookGroup.getId());
return bookGroup;
}
......@@ -6767,6 +6782,11 @@ public class BookGroupBizImpl implements BookGroupBiz {
}
@Override
public PageBeanNew<BookGroupDTO> getAllRaysScene(Integer currentPage, Integer numPerPage) {
return bookGroupDao.listPageNew(new PageParam(currentPage, numPerPage), new HashMap<>(),"getAllRaysScene");
}
@Override
public List<BookGroupScanStatisticsRespDTO> getBookGroupScanStatistics(BookGroupScanStatisticsRequestDTO reqDTO) {
if (ObjectUtil.hasEmpty(reqDTO, reqDTO.getBookIds(), reqDTO.getAdviserIds(), reqDTO.getChannelIds(), reqDTO.getStart(), reqDTO.getEnd()))
return new ArrayList<>();
......
......@@ -9,8 +9,8 @@ import com.pcloud.book.group.dto.BookGroup4CatalogDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO;
import com.pcloud.book.group.dto.BookGroupScanStatisticsRespDTO;
import com.pcloud.book.group.dto.BookGroupScanStatisticsRequestDTO;
import com.pcloud.book.group.dto.BookGroupScanStatisticsRespDTO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.BookGroupServeDTO;
import com.pcloud.book.group.dto.BookServeQueryDTO;
......@@ -36,9 +36,10 @@ import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.utils.BeanUtils;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.ResponseHandleUtil;
import com.pcloud.common.utils.cache.redis.JedisClusterUtils;
import com.pcloud.common.utils.string.StringUtil;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -54,9 +55,6 @@ import java.util.List;
import java.util.Map;
import java.util.Random;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
/**
* Description 社群书内部接口实现类
* Created by PENG on 2019/5/14.
......@@ -471,4 +469,11 @@ public class BookGroupServiceImpl implements BookGroupService {
public ResponseEntity<ResponseDto<Map<Long, List<BookGroupServeDTO>>>> mapSceneServeList(@RequestBody List<Long> sceneIds) {
return ResponseHandleUtil.toResponse(resourcePageBiz.mapSceneServeList(sceneIds));
}
@GetMapping("getAllRaysScene")
@ApiOperation("获取所有rays码")
public ResponseEntity<ResponseDto<PageBeanNew<BookGroupDTO>>> getAllRaysScene(@RequestParam("currentPage") Integer currentPage,
@RequestParam("numPerPage") Integer numPerPage){
return ResponseHandleUtil.toResponse(bookGroupBiz.getAllRaysScene(currentPage, numPerPage));
}
}
package com.pcloud.book.mq.producer;
import com.pcloud.book.book.biz.BookAdviserBiz;
import com.pcloud.book.book.dto.BookAdviserDto;
import com.pcloud.book.book.dto.BookNameUpdateDTO;
import com.pcloud.book.book.entity.Book;
import com.pcloud.book.util.common.ThreadPoolUtils;
import com.pcloud.common.core.biz.UpdateSuperSearchQueueBiz;
import com.pcloud.common.core.constant.UpdateSuperSearchCode;
import com.pcloud.common.core.dto.UpdateSuperSearchMQDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
@Slf4j
public class UpdateSuperSearchProducer {
@Autowired
private UpdateSuperSearchQueueBiz updateSuperSearchQueueBiz;
@Autowired
private BookAdviserBiz bookAdviserBiz;
public void createBook(Long bookAdviserId) {
log.info("编辑创建图书新增超级搜索数据:{}", bookAdviserId);
if (null == bookAdviserId) {
return;
}
ThreadPoolUtils.UPDATE_SUPER_SEARCH_POOL.execute(() -> {
UpdateSuperSearchMQDTO updateSuperSearchMQDTO = UpdateSuperSearchMQDTO.builder()
.superSearchCode(UpdateSuperSearchCode.BOOK_CREATE)
.resourceId(bookAdviserId)
.build();
updateSuperSearchQueueBiz.sendMessageQueue(updateSuperSearchMQDTO);
});
}
public void deleteBook(Long bookId, Long adviserId, Long channelId) {
log.info("编辑删除图书新增超级搜索数据bookId:{},adviserId:{},channelId:{}", bookId, adviserId, channelId);
if (null == bookId || null == adviserId || null == channelId) {
return;
}
ThreadPoolUtils.UPDATE_SUPER_SEARCH_POOL.execute(() -> {
BookAdviserDto bookAdviserDto = bookAdviserBiz.getBase(bookId, channelId, adviserId);
if (null == bookAdviserDto || null == bookAdviserDto.getBookAdviserId()) {
return;
}
UpdateSuperSearchMQDTO updateSuperSearchMQDTO = UpdateSuperSearchMQDTO.builder()
.superSearchCode(UpdateSuperSearchCode.BOOK_DELETE)
.resourceId(bookAdviserDto.getBookAdviserId())
.build();
updateSuperSearchQueueBiz.sendMessageQueue(updateSuperSearchMQDTO);
});
}
public void updateBook(Book book) {
log.info("编辑更新图书新增超级搜索数据book:{} ",book.getBookId());
ThreadPoolUtils.UPDATE_SUPER_SEARCH_POOL.execute(() -> {
BookAdviserDto bookAdviserDto = bookAdviserBiz.getBase(book.getBookId(),book.getChannelId(), book.getLastModifiedUser());
if (null == bookAdviserDto || null == bookAdviserDto.getBookAdviserId()) {
return;
}
UpdateSuperSearchMQDTO updateSuperSearchMQDTO = UpdateSuperSearchMQDTO.builder()
.superSearchCode(UpdateSuperSearchCode.BOOK_UPDATE)
.resourceId(bookAdviserDto.getBookAdviserId())
.build();
updateSuperSearchQueueBiz.sendMessageQueue(updateSuperSearchMQDTO);
});
}
public void create(Long id) {
log.info("编辑创建新增超级搜索数据:{}", id);
if (null == id) {
return;
}
ThreadPoolUtils.UPDATE_SUPER_SEARCH_POOL.execute(() -> {
UpdateSuperSearchMQDTO updateSuperSearchMQDTO = UpdateSuperSearchMQDTO.builder()
.superSearchCode(UpdateSuperSearchCode.GROUP_QRCODE_CREATE)
.resourceId(id)
.build();
updateSuperSearchQueueBiz.sendMessageQueue(updateSuperSearchMQDTO);
});
}
public void delete(Long id) {
log.info("编辑删除新增超级搜索数据sceneId:{}", id);
if (null == id) {
return;
}
ThreadPoolUtils.UPDATE_SUPER_SEARCH_POOL.execute(() -> {
UpdateSuperSearchMQDTO updateSuperSearchMQDTO = UpdateSuperSearchMQDTO.builder()
.superSearchCode(UpdateSuperSearchCode.GROUP_QRCODE_DELETE)
.resourceId(id)
.build();
updateSuperSearchQueueBiz.sendMessageQueue(updateSuperSearchMQDTO);
});
}
public void update(Long id) {
log.info("编辑更新新增超级搜索数据:{} ",id);
ThreadPoolUtils.UPDATE_SUPER_SEARCH_POOL.execute(() -> {
if (null == id) {
return;
}
UpdateSuperSearchMQDTO updateSuperSearchMQDTO = UpdateSuperSearchMQDTO.builder()
.superSearchCode(UpdateSuperSearchCode.GROUP_QRCODE_UPDATE)
.resourceId(id)
.build();
updateSuperSearchQueueBiz.sendMessageQueue(updateSuperSearchMQDTO);
});
}
}
......@@ -75,5 +75,11 @@ public class ThreadPoolUtils {
public static final ExecutorService SMALL_THREAD_POOL = new ThreadPoolExecutor(8, 8, 0L, TimeUnit.SECONDS,
new LinkedBlockingQueue<>(), new ThreadFactoryBuilder().setNameFormat("small-pool-%d").build(), new ThreadPoolExecutor.CallerRunsPolicy());
/**
* 超级搜索更新线程
*/
public static final ThreadPoolExecutor UPDATE_SUPER_SEARCH_POOL = new ThreadPoolExecutor(8, 8, 0, TimeUnit.SECONDS,
new LinkedBlockingQueue<>(), new ThreadFactoryBuilder().setNameFormat("update_super_search-pool-%d").build(), new ThreadPoolExecutor.CallerRunsPolicy());
}
......@@ -1174,4 +1174,51 @@
CHANNEL_ID = #{channelId, jdbcType=BIGINT}
</update>
<select id="getAllAdviserBook" resultType="com.pcloud.book.book.dto.AdviserBookInfoDTO">
SELECT
BOOK_ADVISER_ID bookAdviserId,
BOOK_NAME bookName,
b.isbn,
b.serial_number serialNumber,
b.unique_number uniqueNumber,
a.CREATED_DATE createdDate,
a.LAST_MODIFIED_DATE lastModifiedDate,
a.book_id bookId,
a.adviser_Id adviserId,
a.channel_Id channelId
FROM
book_adviser a LEFT JOIN book b on a.BOOK_ID = b.BOOK_ID
WHERE
a.IS_DELETE = 0
and
b.is_delete = 0
</select>
<select id="getBookMapByAdviserBookIds" parameterType="list" resultMap="com.pcloud.book.book.dao.impl.BookDaoImpl.bookMap">
SELECT
a.BOOK_ID,
a.CHANNEL_ID,
a.ADVISER_ID,
b.BOOK_NAME,
b.COVER_IMG,
b.isbn,
b.SERIAL_NUMBER,
b.unique_number,
a.CREATED_DATE,
a.LAST_MODIFIED_DATE,
a.BOOK_ADVISER_ID
FROM
book_adviser a
INNER JOIN book b ON a.BOOK_ID = b.BOOK_ID
AND b.IS_DELETE = 0
WHERE
a.IS_DELETE = 0
and
BOOK_ADVISER_ID in
<foreach collection="list" separator="," open="(" close=")" index="index" item="item">
#{item}
</foreach>
</select>
</mapper>
......@@ -1368,6 +1368,15 @@
AND b.create_user = ${adviserId}
</select>
<select id="getAllRaysScene" resultMap="BookGroupDTO">
select
<include refid="Base_Column_List"/>
from
book_group
where
is_delete = 0
</select>
<update id="updateBookGroupSeq" parameterType="map">
UPDATE book_group
SET seq = #{seq}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment