Commit 2c56f0e8 by 郑勇

feat: [1003776] ERP与RAYS书刊关联相关优化

parent 0ec6851e
...@@ -16,6 +16,8 @@ public class BookDetialDTO implements Serializable { ...@@ -16,6 +16,8 @@ public class BookDetialDTO implements Serializable {
private List<Long> bookIds; private List<Long> bookIds;
@ApiModelProperty("渠道ID集合") @ApiModelProperty("渠道ID集合")
private List<Long> channelId; private List<Long> channelId;
@ApiModelProperty("编辑ID集合")
private List<Long> adviserIds;
public Long getAdviserId() { public Long getAdviserId() {
return adviserId; return adviserId;
...@@ -41,6 +43,14 @@ public class BookDetialDTO implements Serializable { ...@@ -41,6 +43,14 @@ public class BookDetialDTO implements Serializable {
this.channelId = channelId; this.channelId = channelId;
} }
public List<Long> getAdviserIds() {
return adviserIds;
}
public void setAdviserIds(List<Long> adviserIds) {
this.adviserIds = adviserIds;
}
@Override @Override
public String toString() { public String toString() {
return "BookDetialDTO{" + return "BookDetialDTO{" +
......
...@@ -14,6 +14,7 @@ import com.pcloud.book.book.dto.BookInfoAndAuthStatusDTO; ...@@ -14,6 +14,7 @@ import com.pcloud.book.book.dto.BookInfoAndAuthStatusDTO;
import com.pcloud.book.book.dto.BookUniqueNumberDTO; import com.pcloud.book.book.dto.BookUniqueNumberDTO;
import com.pcloud.book.book.dto.CreateBookResultVO; import com.pcloud.book.book.dto.CreateBookResultVO;
import com.pcloud.book.book.dto.CreateBookVO; import com.pcloud.book.book.dto.CreateBookVO;
import com.pcloud.book.book.dto.MapResourceTotalCountDTO;
import com.pcloud.book.book.dto.QrcodeServeDto; import com.pcloud.book.book.dto.QrcodeServeDto;
import com.pcloud.book.book.dto.RelateAdviserVO; import com.pcloud.book.book.dto.RelateAdviserVO;
import com.pcloud.book.book.entity.Book; import com.pcloud.book.book.entity.Book;
...@@ -174,6 +175,14 @@ public interface BookBiz { ...@@ -174,6 +175,14 @@ public interface BookBiz {
Map<Long, BookDto> listBaseByIds(List<Long> bookIds) throws BizException; Map<Long, BookDto> listBaseByIds(List<Long> bookIds) throws BizException;
/** /**
* 批量获取书籍信息
* @param bookDetialDTO
* @return
* @throws BizException
*/
Map<String, BookDto> listBookGroupByBookIds(MapResourceTotalCountDTO bookDetailDTO) throws BizException;
/**
* 批量获取书籍信息(书名 分类ID) * 批量获取书籍信息(书名 分类ID)
* @param bookDetialDTO * @param bookDetialDTO
* @return * @return
...@@ -749,4 +758,6 @@ public interface BookBiz { ...@@ -749,4 +758,6 @@ public interface BookBiz {
* * @param null * * @param null
*/ */
void addSeriesBookRecord(SeriesBookRecord seriesBookRecord); void addSeriesBookRecord(SeriesBookRecord seriesBookRecord);
BookDto createBook4Erp(Book book);
} }
...@@ -58,6 +58,7 @@ import com.pcloud.book.book.dto.BookUniqueNumberDTO; ...@@ -58,6 +58,7 @@ import com.pcloud.book.book.dto.BookUniqueNumberDTO;
import com.pcloud.book.book.dto.CreateBookResultVO; import com.pcloud.book.book.dto.CreateBookResultVO;
import com.pcloud.book.book.dto.CreateBookVO; import com.pcloud.book.book.dto.CreateBookVO;
import com.pcloud.book.book.dto.CreateQrcodeVO; import com.pcloud.book.book.dto.CreateQrcodeVO;
import com.pcloud.book.book.dto.MapResourceTotalCountDTO;
import com.pcloud.book.book.dto.QrcodeServeDto; import com.pcloud.book.book.dto.QrcodeServeDto;
import com.pcloud.book.book.dto.RelateAdviserVO; import com.pcloud.book.book.dto.RelateAdviserVO;
import com.pcloud.book.book.entity.Book; import com.pcloud.book.book.entity.Book;
...@@ -774,6 +775,24 @@ public class BookBizImpl implements BookBiz { ...@@ -774,6 +775,24 @@ public class BookBizImpl implements BookBiz {
} }
@Override @Override
public Map<String, BookDto> listBookGroupByBookIds(MapResourceTotalCountDTO bookDetailDTO) throws BizException {
Map<String, BookDto> bookMap = Maps.newHashMap();
if (null != bookDetailDTO && !ListUtils.isEmpty(bookDetailDTO.getBookIds()) && !ListUtils.isEmpty(bookDetailDTO.getChannelIds()) && !ListUtils.isEmpty(bookDetailDTO.getAdviserIds())) {
Map<String, Object> paramMap = Maps.newHashMap();
paramMap.put("bookIds", bookDetailDTO.getBookIds());
paramMap.put("channelIds", bookDetailDTO.getChannelIds());
paramMap.put("adviserIds", bookDetailDTO.getAdviserIds());
List<BookDto> bookDtos = bookDao.listBookGroupByBookIds(paramMap);
if (!ListUtils.isEmpty(bookDtos)) {
for (BookDto bookDto : bookDtos) {
bookMap.put(bookDto.getBookId() + "_" + bookDto.getChannelId() + "_" + bookDto.getAdviserId(), bookDto);
}
}
}
return bookMap;
}
@Override
public Map<String, BookDto> listDetailByIds(BookDetialDTO bookDetialDTO) throws BizException { public Map<String, BookDto> listDetailByIds(BookDetialDTO bookDetialDTO) throws BizException {
Map<String, BookDto> bookMap = null; Map<String, BookDto> bookMap = null;
if (null != bookDetialDTO && !(null == bookDetialDTO || ListUtils.isEmpty(bookDetialDTO.getBookIds()) || ListUtils.isEmpty(bookDetialDTO.getChannelId()))) { if (null != bookDetialDTO && !(null == bookDetialDTO || ListUtils.isEmpty(bookDetialDTO.getBookIds()) || ListUtils.isEmpty(bookDetialDTO.getChannelId()))) {
...@@ -3571,13 +3590,34 @@ public class BookBizImpl implements BookBiz { ...@@ -3571,13 +3590,34 @@ public class BookBizImpl implements BookBiz {
} }
@Override @Override
public void addSeriesBookRecord(SeriesBookRecord seriesBookRecord){ public void addSeriesBookRecord(SeriesBookRecord seriesBookRecord) {
if (null == seriesBookRecord.getRecordType() || null == seriesBookRecord.getBookId()){ if (null == seriesBookRecord.getRecordType() || null == seriesBookRecord.getBookId()) {
throw new BookBizException(BookBizException.PARAM_IS_NULL,"参数缺失"); throw new BookBizException(BookBizException.PARAM_IS_NULL, "参数缺失");
} }
//操作类型(1按钮曝光2按钮点击) //操作类型(1按钮曝光2按钮点击)
ThreadPoolUtils.OTHER_THREAD_POOL.execute(()->{ ThreadPoolUtils.OTHER_THREAD_POOL.execute(() -> {
seriesBookRecordDao.insert(seriesBookRecord); seriesBookRecordDao.insert(seriesBookRecord);
}); });
}
@Override
@Transactional(rollbackFor = Exception.class)
public BookDto createBook4Erp(Book book) {
BookDto bookDto = this.create4Adviser(book);
if(book.getIsBookGroup() != null && book.getIsBookGroup()){
// 自动创建二维码
// 小睿二维码
BookGroupDTO bookGroupDTO = bookGroupBiz.getBookGroupInfoByBookId(book.getBookId(), book.getChannelId(), book.getCreatedUser(), null, null, 4);
BookGroup bookGroup = new BookGroup();
bookGroup.setId(bookGroupDTO.getId());
bookGroup.setAddFriendGuide("嗨,你好!我是您的专属学习助手。我会根据您的需求量身定制学习计划与学习内容,提高您的学习效率,提升您的语文学习能力");
bookGroup.setGroupQrcodeName(book.getBookName());
bookGroup.setGroupQrcodeLocationId(1);
bookGroup.setJoinGroupType(4);
bookGroupBiz.updateBookGroup(bookGroup);
}
return bookDto;
} }
} }
...@@ -90,6 +90,13 @@ public interface BookDao extends BaseDao<Book> { ...@@ -90,6 +90,13 @@ public interface BookDao extends BaseDao<Book> {
Map<Long, BookDto> listBaseMapByIds(List<Long> bookIds); Map<Long, BookDto> listBaseMapByIds(List<Long> bookIds);
/** /**
* 批量获取书籍信息
* @param paramMap
* @return
*/
List<BookDto> listBookGroupByBookIds(Map<String,Object> paramMap);
/**
* 获取详细信息 * 获取详细信息
* @param paramMap * @param paramMap
* @return * @return
......
...@@ -94,6 +94,11 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao { ...@@ -94,6 +94,11 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
} }
@Override @Override
public List<BookDto> listBookGroupByBookIds(Map<String, Object> paramMap) {
return super.getSqlSession().selectList(super.getStatement("listBookGroupByBookIds"), paramMap);
}
@Override
public List<BookDto> listDetailByIds(Map<String, Object> paramMap) { public List<BookDto> listDetailByIds(Map<String, Object> paramMap) {
return super.getSqlSession().selectList(super.getStatement("listDetailByIds"), paramMap); return super.getSqlSession().selectList(super.getStatement("listDetailByIds"), paramMap);
} }
......
...@@ -5,8 +5,10 @@ package com.pcloud.book.book.facade; ...@@ -5,8 +5,10 @@ package com.pcloud.book.book.facade;
import com.pcloud.book.book.dto.AdviserBookInfoDTO; import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.BookAssocCount; import com.pcloud.book.book.dto.BookAssocCount;
import com.pcloud.book.book.dto.BookDetialDTO;
import com.pcloud.book.book.dto.BookDto; import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.CreateBookVO; import com.pcloud.book.book.dto.CreateBookVO;
import com.pcloud.book.book.dto.MapResourceTotalCountDTO;
import com.pcloud.book.book.dto.RelateAdviserVO; import com.pcloud.book.book.dto.RelateAdviserVO;
import com.pcloud.book.book.entity.Book; import com.pcloud.book.book.entity.Book;
import com.pcloud.book.book.vo.ListNoAuthBookParam; import com.pcloud.book.book.vo.ListNoAuthBookParam;
...@@ -769,6 +771,10 @@ public interface BookFacade { ...@@ -769,6 +771,10 @@ public interface BookFacade {
public ResponseDto<Map<Long, BookDto>> listBaseByIds(@RequestBody(required = false) List<Long> bookIds) public ResponseDto<Map<Long, BookDto>> listBaseByIds(@RequestBody(required = false) List<Long> bookIds)
throws BizException; throws BizException;
@ApiOperation("批量获取书籍信息")
@RequestMapping(value = "/listBookGroupByBookIds", method = RequestMethod.POST)
ResponseDto<Map<String, BookDto>> listBookGroupByBookIds(@RequestBody MapResourceTotalCountDTO bookDetailDTO) throws BizException;
@ApiOperation("获取书刊标签") @ApiOperation("获取书刊标签")
@RequestMapping(value = "/getLabelMapByIds", method = RequestMethod.POST) @RequestMapping(value = "/getLabelMapByIds", method = RequestMethod.POST)
public ResponseDto<Map<Long, String>> getLabelMapByIds( public ResponseDto<Map<Long, String>> getLabelMapByIds(
......
...@@ -10,8 +10,10 @@ import com.pcloud.book.book.biz.BookBiz; ...@@ -10,8 +10,10 @@ import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.biz.BookLabelBiz; import com.pcloud.book.book.biz.BookLabelBiz;
import com.pcloud.book.book.dto.AdviserBookInfoDTO; import com.pcloud.book.book.dto.AdviserBookInfoDTO;
import com.pcloud.book.book.dto.BookAssocCount; import com.pcloud.book.book.dto.BookAssocCount;
import com.pcloud.book.book.dto.BookDetialDTO;
import com.pcloud.book.book.dto.BookDto; import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.CreateBookVO; import com.pcloud.book.book.dto.CreateBookVO;
import com.pcloud.book.book.dto.MapResourceTotalCountDTO;
import com.pcloud.book.book.dto.RelateAdviserVO; import com.pcloud.book.book.dto.RelateAdviserVO;
import com.pcloud.book.book.entity.Book; import com.pcloud.book.book.entity.Book;
import com.pcloud.book.book.entity.SeriesBookRecord; import com.pcloud.book.book.entity.SeriesBookRecord;
...@@ -1111,6 +1113,12 @@ public class BookFacadeImpl implements BookFacade { ...@@ -1111,6 +1113,12 @@ public class BookFacadeImpl implements BookFacade {
} }
@Override @Override
@RequestMapping(value = "/listBookGroupByBookIds", method = RequestMethod.POST)
public ResponseDto<Map<String, BookDto>> listBookGroupByBookIds(@RequestBody MapResourceTotalCountDTO bookDetailDTO) throws BizException{
return new ResponseDto<>(bookBiz.listBookGroupByBookIds(bookDetailDTO));
}
@Override
@RequestMapping(value = "/getLabelMapByIds", method = RequestMethod.POST) @RequestMapping(value = "/getLabelMapByIds", method = RequestMethod.POST)
public ResponseDto<Map<Long, String>> getLabelMapByIds( @RequestBody List<Long> labelIds) throws BizException { public ResponseDto<Map<Long, String>> getLabelMapByIds( @RequestBody List<Long> labelIds) throws BizException {
if(ListUtils.isEmpty(labelIds)){ if(ListUtils.isEmpty(labelIds)){
...@@ -1220,10 +1228,20 @@ public class BookFacadeImpl implements BookFacade { ...@@ -1220,10 +1228,20 @@ public class BookFacadeImpl implements BookFacade {
@ApiOperation("系列书查询记录埋点") @ApiOperation("系列书查询记录埋点")
@PostMapping("addSeriesBookRecord") @PostMapping("addSeriesBookRecord")
public ResponseDto<?> addSeriesBookRecord(@CookieValue("userInfo") String userInfo, @RequestBody SeriesBookRecord seriesBookRecord){ public ResponseDto<?> addSeriesBookRecord(@CookieValue("userInfo") String userInfo, @RequestBody SeriesBookRecord seriesBookRecord) {
Long wechatUserId = Cookie.getId(userInfo,Cookie._WECHAT_USER_ID); Long wechatUserId = Cookie.getId(userInfo, Cookie._WECHAT_USER_ID);
seriesBookRecord.setUserId(wechatUserId); seriesBookRecord.setUserId(wechatUserId);
bookBiz.addSeriesBookRecord(seriesBookRecord); bookBiz.addSeriesBookRecord(seriesBookRecord);
return new ResponseDto<>(); return new ResponseDto<>();
} }
/**
* 编辑新增书籍
*/
@ApiOperation("创建RAYS书刊(ERP)")
@PostMapping("createBook4Erp")
public ResponseDto<BookDto> createBook4Erp(@RequestBody Book book)
throws BizException, PermissionException {
return new ResponseDto<>(bookBiz.createBook4Erp(book));
}
} }
...@@ -345,6 +345,38 @@ ...@@ -345,6 +345,38 @@
</foreach> </foreach>
</select> </select>
<select id="listBookGroupByBookIds" resultMap="bookMap" parameterType="list">
SELECT
b.BOOK_ID,
b.ISBN,
b.BOOK_NAME,
b.COVER_IMG,
b.SERIAL_NUMBER,
b.unique_number,
b.BOOK_NAME,
ba.adviser_id,
ba.channel_id,
bg.id BOOK_GROUP_ID,
IFNULL(bg.join_group_type, 0) join_group_type
FROM
book b
INNER JOIN book_adviser ba ON ba.BOOK_ID = b.BOOK_ID AND ba.IS_DELETE = 0
LEFT JOIN book_group bg ON bg.BOOK_ID = ba.BOOK_ID AND bg.create_user = ba.adviser_id AND bg.channel_id = ba.channel_id
WHERE
ba.BOOK_ID IN
<foreach collection="bookIds" index="i" item="item" open="(" separator="," close=")">
${item}
</foreach>
AND ba.CHANNEL_ID IN
<foreach collection="channelIds" index="i" item="item" open="(" separator="," close=")">
${item}
</foreach>
AND ba.ADVISER_ID IN
<foreach collection="adviserIds" index="i" item="item" open="(" separator="," close=")">
${item}
</foreach>
</select>
<select id="listDetailByIds" resultMap="bookMap" parameterType="map"> <select id="listDetailByIds" resultMap="bookMap" parameterType="map">
SELECT SELECT
......
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