Commit c3b645ab by 吴博

feat:[1004005] K12书刊列表呈现年级科目版本标签

parent a802d072
......@@ -22,7 +22,9 @@ import com.pcloud.book.book.biz.BookAdviserBiz;
import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.constant.BookConstant;
import com.pcloud.book.book.dao.BookDao;
import com.pcloud.book.book.dao.BookLabelDao;
import com.pcloud.book.book.dao.BookRaysClassifyDao;
import com.pcloud.book.book.entity.BookLabel;
import com.pcloud.book.book.entity.BookRaysClassify;
import com.pcloud.book.consumer.app.AssistTempletConsr;
import com.pcloud.book.consumer.common.ExportConsr;
......@@ -125,6 +127,8 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
private AppletThirdResourcesDao appletThirdResourcesDao;
@Autowired
private RmallBookMoneyRecordService rmallBookMoneyRecordService;
@Autowired
private BookLabelDao bookLabelDao;
@Override
@ParamLog("小程序用户添加书架")
......@@ -208,6 +212,7 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
return new PageBeanNew<>(currentPage, numPerPage, pageBeanNew.getTotalCount(), new ArrayList<>());
}
fillTempletName(pageBeanNew.getRecordList());
fillLabelNames(pageBeanNew.getRecordList());
fillRightsSettingAndResourceCount(pageBeanNew.getRecordList());
JedisClusterUtils.hset2Json(key, field, pageBeanNew.getRecordList());
JedisClusterUtils.set(countKey, String.valueOf(pageBeanNew.getTotalCount()));
......@@ -216,6 +221,55 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
return pageBeanNew;
}
private void fillLabelNames(List<AppletUserBookcaseDTO> recordList) {
if (ListUtils.isEmpty(recordList)) {
return;
}
List<Long> bookLabelIds = new ArrayList<>();
recordList.stream().forEach(appletUserBookcaseDTO -> {
if (null != appletUserBookcaseDTO.getGradeLabelId()) {
bookLabelIds.add(appletUserBookcaseDTO.getGradeLabelId());
}
if (null != appletUserBookcaseDTO.getSubjectLabelId()) {
bookLabelIds.add(appletUserBookcaseDTO.getSubjectLabelId());
}
if (null != appletUserBookcaseDTO.getVolLabelId()) {
bookLabelIds.add(appletUserBookcaseDTO.getVolLabelId());
}
if (null != appletUserBookcaseDTO.getVerLabelId()){
bookLabelIds.add(appletUserBookcaseDTO.getVerLabelId());
}
if (null != appletUserBookcaseDTO.getAreaLabelId()) {
bookLabelIds.add(appletUserBookcaseDTO.getAreaLabelId());
}
});
Map<Long, BookLabel> bookLabelMap = new HashMap<>();
if (!ListUtils.isEmpty(bookLabelIds)) {
bookLabelMap = bookLabelDao.getMapByIds(bookLabelIds);
}
for (AppletUserBookcaseDTO appletUserBookcaseDTO : recordList) {
if (!MapUtils.isEmpty(bookLabelMap) && bookLabelMap.containsKey(appletUserBookcaseDTO.getGradeLabelId())) {
appletUserBookcaseDTO.setGraLabelName(bookLabelMap.get(appletUserBookcaseDTO.getGradeLabelId()).getName());
}
if (!MapUtils.isEmpty(bookLabelMap) && bookLabelMap.containsKey(appletUserBookcaseDTO.getSubjectLabelId())) {
appletUserBookcaseDTO.setSubLabelName(bookLabelMap.get(appletUserBookcaseDTO.getSubjectLabelId()).getName());
}
if (!MapUtils.isEmpty(bookLabelMap) && bookLabelMap.containsKey(appletUserBookcaseDTO.getVolLabelId())) {
appletUserBookcaseDTO.setVolLabelName(bookLabelMap.get(appletUserBookcaseDTO.getVolLabelId()).getName());
}
if (!MapUtils.isEmpty(bookLabelMap) && bookLabelMap.containsKey(appletUserBookcaseDTO.getVerLabelId())) {
appletUserBookcaseDTO.setVerLabelName(bookLabelMap.get(appletUserBookcaseDTO.getVerLabelId()).getName());
}
if (!MapUtils.isEmpty(bookLabelMap) && bookLabelMap.containsKey(appletUserBookcaseDTO.getAreaLabelId())) {
appletUserBookcaseDTO.setAreaLabelName(bookLabelMap.get(appletUserBookcaseDTO.getAreaLabelId()).getName());
}
}
}
private void fillRightsSettingAndResourceCount(List<AppletUserBookcaseDTO> recordList) {
if (ListUtils.isEmpty(recordList)) {
return;
......@@ -299,7 +353,7 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
classifyMap = listByIds.stream().collect(Collectors.toMap(a -> a.getBookTemplateId(), a -> a.getRaysClassifyId(), (k1, k2) -> k2));
}
}
Map<Long, AssistTempletDTO> assistTempletDTOMap = assistTempletConsr.mapByIds(templetIds);
Map<Long, AssistTempletDTO> assistTempletDTOMap = assistTempletConsr.mapByIds4Classify(templetIds);
for (AppletUserBookcaseDTO bookcaseDTO : recordList) {
Long secondTempletId = bookcaseDTO.getSecondTempletId();
Long templetId = bookcaseDTO.getTempletId();
......@@ -502,7 +556,7 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
fillRightsSettingAndResourceCount(appletUserBookcaseDTOS);
fillReadGuide(appletUserBookcaseDTOS.get(0),rightsSettingId);
fillLabelNames(appletUserBookcaseDTOS);
return appletUserBookcaseDTOS.get(0);
}
......
......@@ -70,6 +70,16 @@ public class AppletUserBookcaseDTO extends BaseDto {
@ApiModelProperty("上下册标签id")
private Long volLabelId;
/**
* 版本标签id
*/
private Long verLabelId;
private Long areaLabelId;
@ApiModelProperty("社群书id")
private Long bookGroupId;
......@@ -110,4 +120,28 @@ public class AppletUserBookcaseDTO extends BaseDto {
@ApiModelProperty("应用或作品对象")
private RightsNowItem guideAppItem;
/**
* 年级标签
*/
private String graLabelName;
/**
* 科目标签
*/
private String subLabelName;
/**
* 版本标签
*/
private String verLabelName;
/**
* 地域标签
*/
private String areaLabelName;
/**
* 上下册标签
*/
private String volLabelName;
}
......@@ -660,7 +660,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
bookAdviser.setDepLabelId(book.getDepLabelId());
bookAdviser.setPurLabelId(book.getPurLabelId());
bookAdviser.setVolLabelId(book.getVolLabelId());
bookAdviserDao.updateBookTemplet(bookAdviser);
bookAdviserDao.updateBookTempletAndLabel(bookAdviser);
esBookAndAdviserBiz.updateBookAndAdviserToES(Collections.singletonList(bookAdviser.getBookId()));
}
......@@ -1923,6 +1923,7 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
return new BookDto();
}
bookBiz.fillAgentSale(Lists.newArrayList(bookDto));
bookSet.setLabelNames(Lists.newArrayList(bookDto));
return bookDto;
}
......
......@@ -2380,7 +2380,7 @@ public class BookBizImpl implements BookBiz {
templetIds.add(BookDto.getSecondTempletId());
}
});
Map<Long, AssistTempletDTO> assistTempletDTOMap = assistTempletConsr.mapByIds(templetIds);
Map<Long, AssistTempletDTO> assistTempletDTOMap = assistTempletConsr.mapByIds4Classify(templetIds);
list.forEach(bookDto -> {
Long secondTempletId = bookDto.getSecondTempletId();
Long templetId = bookDto.getTempletId();
......@@ -2599,6 +2599,8 @@ public class BookBizImpl implements BookBiz {
List<BookDto> bookDtos = changeToBookDto(esBookAndAdvisers);
fillOtherBookInfo(bookDtos);
fillBookInfo(bookDtos);
bookSet.setProDepPurLabelNames(bookDtos);
bookSet.setLabelNames(bookDtos);
//丢书流程填充出版社店铺信息
if (null != isAdviserBook) {
fillAgentSale(bookDtos);
......
......@@ -301,4 +301,6 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
List<ERPPublishNumDTO> getErpPublishNumQueryParams(List<Long> adviserIds);
List<AgentBookStatsDetailVO> getAgentBookStatsDetail(List<ErpBookInfoDTO> raysBookIds, Integer isRay, String name, List<Long> advisers);
void updateBookTempletAndLabel(BookAdviser bookAdviser);
}
......@@ -357,4 +357,9 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
return super.getSqlSession().selectList(getStatement("getAgentBookStatsDetail"), map);
}
@Override
public void updateBookTempletAndLabel(BookAdviser bookAdviser) {
super.getSqlSession().update(this.getStatement("updateBookTempletAndLabel"), bookAdviser);
}
}
......@@ -19,6 +19,7 @@ import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.biz.BookFundBiz;
import com.pcloud.book.book.dao.BookAdviserDao;
import com.pcloud.book.book.dao.BookFreezeDao;
import com.pcloud.book.book.dao.BookLabelDao;
import com.pcloud.book.book.dao.BookTypeDao;
import com.pcloud.book.book.dto.AdviserManageDto;
import com.pcloud.book.book.dto.BookAdviserDto;
......@@ -30,6 +31,7 @@ import com.pcloud.book.book.dto.BookProductDto;
import com.pcloud.book.book.dto.BookResourceDto;
import com.pcloud.book.book.dto.BookTypeDto;
import com.pcloud.book.book.entity.BookDefendant;
import com.pcloud.book.book.entity.BookLabel;
import com.pcloud.book.book.tools.BookTools;
import com.pcloud.book.book.vo.BookSaleVO;
import com.pcloud.book.book.vo.NoAuthBookVO;
......@@ -177,6 +179,8 @@ public class BookSet {
private SettlementConsr settlementConsr;
@Autowired
private LabelService labelService;
@Autowired
private BookLabelDao bookLabelDao;
/**
* 检验书号是否合法,包括ISSN,ISBN,CSSN
......@@ -1831,4 +1835,88 @@ public class BookSet {
}
}
}
public void setProDepPurLabelNames(List<BookDto> recordList) {
if (ListUtils.isEmpty(recordList)) {
return;
}
List<Long> labelIds = new ArrayList<>();
recordList.forEach(bookDto -> {
if (bookDto.getProLabelId() != null) {
labelIds.add(bookDto.getProLabelId());
}
if (bookDto.getPurLabelId() != null) {
labelIds.add(bookDto.getPurLabelId());
}
if (bookDto.getDepLabelId() != null) {
labelIds.add(bookDto.getDepLabelId());
}
});
Map<Long, String> labelMap = new HashMap<>();
if (!ListUtils.isEmpty(labelIds)) {
labelMap = ResponseHandleUtil.parseMap(labelService.getLabelName(labelIds), Long.class, String.class);
}
if (MapUtils.isEmpty(labelMap)) {
return;
}
for (BookDto bookDto : recordList) {
Long proLabelId = bookDto.getProLabelId();
Long purLabelId = bookDto.getPurLabelId();
Long depLabelId = bookDto.getDepLabelId();
if (proLabelId != null) {
bookDto.setProLabelName(labelMap.get(proLabelId));
}
if (purLabelId != null) {
bookDto.setPurLabelName(labelMap.get(purLabelId));
}
if (depLabelId != null) {
bookDto.setDepLabelName(labelMap.get(depLabelId));
}
}
}
public void setLabelNames(List<BookDto> recordList) {
if (ListUtils.isEmpty(recordList)) {
return;
}
List<Long> labelIds = new ArrayList<>();
recordList.forEach(bookDto -> {
if (bookDto.getGraLabelId() != null) {
labelIds.add(bookDto.getGraLabelId());
}
if (bookDto.getSubLabelId() != null) {
labelIds.add(bookDto.getSubLabelId());
}
if (bookDto.getVerLabelId() != null) {
labelIds.add(bookDto.getVerLabelId());
}
if (bookDto.getAreaLabelId() != null) {
labelIds.add(bookDto.getAreaLabelId());
}
if (bookDto.getVolLabelId() != null) {
labelIds.add(bookDto.getVolLabelId());
}
});
Map<Long, BookLabel> bookLabelMap = bookLabelDao.getMapByIds(labelIds);
recordList.forEach(bookDto -> {
if (bookLabelMap.get(bookDto.getAreaLabelId()) != null) {
bookDto.setAreaLabelName(bookLabelMap.get(bookDto.getAreaLabelId()).getName());
}
if (bookLabelMap.get(bookDto.getVerLabelId()) != null) {
bookDto.setVerLabelName(bookLabelMap.get(bookDto.getVerLabelId()).getName());
}
if (bookLabelMap.get(bookDto.getGraLabelId()) != null) {
bookDto.setGraLabelName(bookLabelMap.get(bookDto.getGraLabelId()).getName());
}
if (bookLabelMap.get(bookDto.getSubLabelId()) != null) {
bookDto.setSubLabelName(bookLabelMap.get(bookDto.getSubLabelId()).getName());
}
if (bookLabelMap.get(bookDto.getVolLabelId()) != null) {
bookDto.setVolLabelName(bookLabelMap.get(bookDto.getVolLabelId()).getName());
}
});
}
}
......@@ -69,6 +69,8 @@
a.GRA_LABEL_ID gradeLabelId,
a.SUB_LABEL_ID subjectLabelId,
a.vol_label_id volLabelId,
a.VER_LABEL_ID verLabelId,
a.AREA_LABEL_ID areaLabelId ,
IF(d.join_group_type=1 OR d.related_book_group_id>0,1,0) hasGroup,
r.id rightsSettingId,
r.count rightsSettingCount
......@@ -272,6 +274,8 @@
a.GRA_LABEL_ID gradeLabelId,
a.SUB_LABEL_ID subjectLabelId,
a.vol_label_id volLabelId,
a.VER_LABEL_ID verLabelId,
a.AREA_LABEL_ID areaLabelId,
IF(d.join_group_type=1 OR d.related_book_group_id>0,1,0) hasGroup,
c.rights_setting_id rightsSettingId,
r.count rightsSettingCount,
......
......@@ -977,4 +977,29 @@
</select>
<!-- 修改书籍模板信息-->
<update id="updateBookTempletAndLabel" parameterType="bookAdviser" flushCache="true">
UPDATE
BOOK_ADVISER
SET
TEMPLET_ID = #{templetId, jdbcType=BIGINT}
,SECOND_TEMPLET_ID = #{secondTempletId, jdbcType=BIGINT}
,GRA_LABEL_ID = #{graLabelId, jdbcType=BIGINT}
,SUB_LABEL_ID = #{subLabelId, jdbcType=BIGINT}
,VER_LABEL_ID = #{verLabelId, jdbcType=BIGINT}
,AREA_LABEL_ID = #{areaLabelId, jdbcType=BIGINT}
,pro_label_id = #{proLabelId, jdbcType=BIGINT}
,dep_label_id = #{depLabelId, jdbcType=BIGINT}
,pur_label_id = #{purLabelId, jdbcType=BIGINT}
,vol_label_id = #{volLabelId, jdbcType=BIGINT}
, LAST_MODIFIED_DATE = NOW()
WHERE
BOOK_ID = #{bookId, jdbcType=BIGINT}
AND
ADVISER_ID = #{adviserId, jdbcType=BIGINT}
AND
CHANNEL_ID = #{channelId, jdbcType=BIGINT}
</update>
</mapper>
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