Commit 4460fc29 by 郑永强

feat: [1004590] 广告投放系统

parent 55b1a1a7
...@@ -231,6 +231,12 @@ ...@@ -231,6 +231,12 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.pcloud.facade</groupId>
<artifactId>pcloud-facade-advertising</artifactId>
<version>${pcloud-facade.version}</version>
</dependency>
<dependency>
<groupId>fakepath</groupId> <groupId>fakepath</groupId>
<artifactId>jbarcode</artifactId> <artifactId>jbarcode</artifactId>
<version>0.2.8</version> <version>0.2.8</version>
......
...@@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollUtil; ...@@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.ListUtil; import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.pcloud.advertising.advertising.dto.AdvertisingSpaceDTO;
import com.pcloud.advertising.advertising.dto.AdvertisingSpaceItemDTO;
import com.pcloud.appcenter.app.dto.AppDto; import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.book.applet.biz.AppletBannerBiz; import com.pcloud.book.applet.biz.AppletBannerBiz;
import com.pcloud.book.applet.biz.AppletNewsBiz; import com.pcloud.book.applet.biz.AppletNewsBiz;
...@@ -20,6 +22,7 @@ import com.pcloud.book.applet.entity.AppletUserBookcase; ...@@ -20,6 +22,7 @@ import com.pcloud.book.applet.entity.AppletUserBookcase;
import com.pcloud.book.applet.enums.AppletRecordTypeEnum; import com.pcloud.book.applet.enums.AppletRecordTypeEnum;
import com.pcloud.book.applet.mapper.AppletBannerRecordMapper; import com.pcloud.book.applet.mapper.AppletBannerRecordMapper;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.consumer.advsertising.AdvertisingConsr;
import com.pcloud.book.consumer.app.AppConsr; import com.pcloud.book.consumer.app.AppConsr;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr; import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import com.pcloud.book.consumer.resource.ProductConsr; import com.pcloud.book.consumer.resource.ProductConsr;
...@@ -92,6 +95,8 @@ public class AppletBannerBizImpl implements AppletBannerBiz { ...@@ -92,6 +95,8 @@ public class AppletBannerBizImpl implements AppletBannerBiz {
private ScheduleService scheduleService; private ScheduleService scheduleService;
@Autowired @Autowired
private RightsSettingBannerBiz rightsSettingBannerBiz; private RightsSettingBannerBiz rightsSettingBannerBiz;
@Autowired
private AdvertisingConsr advertisingConsr;
@Override @Override
...@@ -339,9 +344,73 @@ public class AppletBannerBizImpl implements AppletBannerBiz { ...@@ -339,9 +344,73 @@ public class AppletBannerBizImpl implements AppletBannerBiz {
PageBeanNew<AppletBannerDTO> pageBeanNew = listBanner(currentPage, numPerPage, showState, agentId); PageBeanNew<AppletBannerDTO> pageBeanNew = listBanner(currentPage, numPerPage, showState, agentId);
// 依据当前用户正在读的书,所属分类获取最新上架的资讯 // 依据当前用户正在读的书,所属分类获取最新上架的资讯
processFillType(pageBeanNew.getRecordList(), wechatUserId); processFillType(pageBeanNew.getRecordList(), wechatUserId);
// 填充广告banner
this.fillAdvertising(pageBeanNew.getRecordList());
return pageBeanNew; return pageBeanNew;
} }
private void fillAdvertising(List<AppletBannerDTO> recordList) {
try {
// 获取广告
List<AdvertisingSpaceDTO> appletAdvertisingList = advertisingConsr.getAppletAdvertising();
if(CollUtil.isEmpty(appletAdvertisingList)){
return;
}
for (AdvertisingSpaceDTO dto : appletAdvertisingList) {
List<AdvertisingSpaceItemDTO> itemList = dto.getAdvertisingSpaceItemList();
if(CollUtil.isEmpty(dto.getAdvertisingSpaceItemList())){
return;
}
for (AdvertisingSpaceItemDTO itemDTO : itemList) {
AppletBannerDTO bannerDTO = new AppletBannerDTO();
// 广告相关字段
bannerDTO.setIsAdvertising(true);
bannerDTO.setSeq(0);
bannerDTO.setShowState(true);
bannerDTO.setBannerPic(itemDTO.getAdPic());
bannerDTO.setJumpType(toJumpType(itemDTO.getBookJumpType()));
bannerDTO.setJumpUrl(itemDTO.getAdLink());
if(Objects.equals(bannerDTO.getJumpType(), 4)){
ServeItemInfoDTO build = ServeItemInfoDTO.builder().serveId(itemDTO.getServeId()).serveType(getServeType(itemDTO.getServeType()))
.serveName(itemDTO.getServeName()).servePic(itemDTO.getServePic()).transverseImg(itemDTO.getTransverseImg())
.resultUrl(itemDTO.getResultUrl()).hasThirdLink(itemDTO.getHasThirdLink())
.serveTypeName(itemDTO.getServeTypeName()).build();
bannerDTO.setAppItem(build);
}
// 广告埋点相关字段
bannerDTO.setMasterId(dto.getMasterId());
bannerDTO.setAdvertisingSpaceId(dto.getId());
bannerDTO.setAdvertisingSpaceItemId(itemDTO.getId());
bannerDTO.setAdPosition(dto.getAdPosition());
recordList.add(0, bannerDTO);
}
}
} catch (Exception e){
log.error("[fillAdvertising] banner 填充广告失败,err:{}", e.getMessage(), e);
}
}
private Integer getServeType(String serveTypeCode) {
if(AppletRecordTypeEnum.PRODUCT.name().equalsIgnoreCase(serveTypeCode)){
return AppletRecordTypeEnum.PRODUCT.value;
}
if(AppletRecordTypeEnum.APP.name().equalsIgnoreCase(serveTypeCode)){
return AppletRecordTypeEnum.APP.value;
}
return null;
}
Integer toJumpType(Integer bookJumpType){
if(bookJumpType == 0){
return 2;
} else if (bookJumpType == 1){
return 5;
} else if (bookJumpType == 2){
return 4;
}
return null;
}
private void processFillType(List<AppletBannerDTO> recordList, Long wechatUserId) { private void processFillType(List<AppletBannerDTO> recordList, Long wechatUserId) {
if (CollUtil.isEmpty(recordList)) { if (CollUtil.isEmpty(recordList)) {
return; return;
......
...@@ -63,4 +63,21 @@ public class AppletBannerDTO extends BaseDto { ...@@ -63,4 +63,21 @@ public class AppletBannerDTO extends BaseDto {
) )
@ApiModelProperty("下架时间") @ApiModelProperty("下架时间")
private Date endTime; private Date endTime;
@ApiModelProperty("是否是广告")
private Boolean isAdvertising;
@ApiModelProperty("广告主id")
private Long masterId;
@ApiModelProperty("广告位ID")
private Long advertisingSpaceId;
@ApiModelProperty("广告详情id")
private Long advertisingSpaceItemId;
@ApiModelProperty("广告位置")
private String adPosition;
} }
...@@ -29,6 +29,9 @@ public class PcloudAdviserBookVO implements Serializable { ...@@ -29,6 +29,9 @@ public class PcloudAdviserBookVO implements Serializable {
@ApiModelProperty("ISBN") @ApiModelProperty("ISBN")
private String isbn; private String isbn;
@ApiModelProperty("序号")
private String serialNumber;
@ApiModelProperty("图书封面") @ApiModelProperty("图书封面")
private String coverImg; private String coverImg;
......
package com.pcloud.book.consumer.advsertising;
import cn.hutool.core.collection.CollUtil;
import com.pcloud.advertising.advertising.dto.AdvertisingSpaceDTO;
import com.pcloud.advertising.advertising.service.AdvertisingService;
import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.consumer.app.AppConsr;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.utils.ResponseHandleUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository("advertisingConsr")
public class AdvertisingConsr {
private static final Logger LOGGER = LoggerFactory.getLogger(AppConsr.class);
@Autowired
private AdvertisingService advertisingService;
/**
* 获取小程序广告
*/
public List<AdvertisingSpaceDTO> getAppletAdvertising() throws BizException {
List<AdvertisingSpaceDTO> list;
try {
ResponseEntity<ResponseDto<List<AdvertisingSpaceDTO>>> appletAdvertisingEntity = advertisingService.getAppletAdvertising();
list = ResponseHandleUtil.parseList(appletAdvertisingEntity, AdvertisingSpaceDTO.class);
if(CollUtil.isEmpty(list)){
return CollUtil.toList();
}
} catch (BizException e) {
LOGGER.warn("获取小程序广告[advertisingService.getAppletAdvertising]:" + e.getMessage(), e);
throw new BizException(e.getCode(), e.getMessage());
} catch (Exception e) {
LOGGER.error("获取小程序广告[advertisingService.getAppletAdvertising]:" + e.getMessage(), e);
throw new BookBizException(BookBizException.INVOKE_USER_ERROR, "获取小程序广告失败~!");
}
return list;
}
/**
* 获取H5广告
*/
public List<AdvertisingSpaceDTO> getH5Advertising(Long bookId, Long adviserId, Long channelId) {
List<AdvertisingSpaceDTO> list;
try {
ResponseEntity<ResponseDto<List<AdvertisingSpaceDTO>>> appletAdvertisingEntity = advertisingService.getH5Advertising(bookId, adviserId, channelId);
list = ResponseHandleUtil.parseList(appletAdvertisingEntity, AdvertisingSpaceDTO.class);
if(CollUtil.isEmpty(list)){
return CollUtil.toList();
}
} catch (BizException e) {
LOGGER.warn("获取H5广告[advertisingService.getH5Advertising]:" + e.getMessage(), e);
throw new BizException(e.getCode(), e.getMessage());
} catch (Exception e) {
LOGGER.error("获取H5广告[advertisingService.getH5Advertising]:" + e.getMessage(), e);
throw new BookBizException(BookBizException.INVOKE_USER_ERROR, "获取H5广告失败~!");
}
return list;
}
}
...@@ -56,7 +56,7 @@ public interface ResourcePageBiz { ...@@ -56,7 +56,7 @@ public interface ResourcePageBiz {
* @date:2021/3/29 11:49 * @date:2021/3/29 11:49
* * @param null * * @param null
*/ */
List<ResourceColumnAndServeVO> getColumnAndServeListByPageId(Long resourcePageId, Boolean isWechat); List<ResourceColumnAndServeVO> getColumnAndServeListByPageId(Long resourcePageId, Boolean isWechat, Long bookId, Long adviserId, Long channelId);
/** /**
* 根据书刊查资源页基本配置 * 根据书刊查资源页基本配置
* @author:zhuyajie * @author:zhuyajie
......
...@@ -4,6 +4,9 @@ import cn.hutool.core.io.FileUtil; ...@@ -4,6 +4,9 @@ import cn.hutool.core.io.FileUtil;
import cn.hutool.extra.qrcode.QrCodeException; import cn.hutool.extra.qrcode.QrCodeException;
import cn.hutool.extra.qrcode.QrCodeUtil; import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import cn.hutool.core.collection.CollUtil;
import com.pcloud.advertising.advertising.dto.AdvertisingSpaceDTO;
import com.pcloud.advertising.advertising.dto.AdvertisingSpaceItemDTO;
import com.pcloud.appcenter.app.dto.AppDto; import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.book.applet.biz.AppletBooklistBiz; import com.pcloud.book.applet.biz.AppletBooklistBiz;
import com.pcloud.book.applet.biz.AppletThirdResourcesBiz; import com.pcloud.book.applet.biz.AppletThirdResourcesBiz;
...@@ -15,6 +18,7 @@ import com.pcloud.book.base.exception.BookBizException; ...@@ -15,6 +18,7 @@ import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.biz.BookBiz; import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.dto.BookDto; import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.vo.BookLinkVO; import com.pcloud.book.book.vo.BookLinkVO;
import com.pcloud.book.consumer.advsertising.AdvertisingConsr;
import com.pcloud.book.consumer.app.AppConsr; import com.pcloud.book.consumer.app.AppConsr;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr; import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import com.pcloud.book.consumer.raystask.AdviserTaskConsr; import com.pcloud.book.consumer.raystask.AdviserTaskConsr;
...@@ -81,6 +85,7 @@ import com.pcloud.common.utils.NumberUtil; ...@@ -81,6 +85,7 @@ import com.pcloud.common.utils.NumberUtil;
import com.pcloud.common.utils.QrcodeUtils; import com.pcloud.common.utils.QrcodeUtils;
import com.pcloud.common.utils.UUIDUitl; import com.pcloud.common.utils.UUIDUitl;
import com.pcloud.common.utils.string.StringUtil; import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.message.common.enums.YesNoEnums;
import com.pcloud.resourcecenter.product.dto.ProductDto; import com.pcloud.resourcecenter.product.dto.ProductDto;
import com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto; import com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto;
...@@ -156,6 +161,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -156,6 +161,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
private ResourcePageCollectDao resourcePageCollectDao; private ResourcePageCollectDao resourcePageCollectDao;
@Autowired @Autowired
private AdviserTaskConsr adviserTaskConsr; private AdviserTaskConsr adviserTaskConsr;
@Autowired
private AdvertisingConsr advertisingConsr;
@Override @Override
public Long updateResourcePage(UpdateResourcePageVO updateResourcePageVO) { public Long updateResourcePage(UpdateResourcePageVO updateResourcePageVO) {
...@@ -528,20 +535,16 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -528,20 +535,16 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
} }
@Override @Override
public List<ResourceColumnAndServeVO> getColumnAndServeListByPageId(Long resourcePageId, Boolean isWechat) { public List<ResourceColumnAndServeVO> getColumnAndServeListByPageId(Long resourcePageId, Boolean isWechat, Long bookId, Long adviserId, Long channelId) {
List<ResourceColumnAndServeVO> serveVOS = resourcePageColumnDao.getColumnListByPageId(resourcePageId); List<ResourceColumnAndServeVO> serveVOS = resourcePageColumnDao.getColumnListByPageId(resourcePageId);
if (ListUtils.isEmpty(serveVOS)) { if (CollUtil.isNotEmpty(serveVOS)) {
return new ArrayList<>();
}
List<ResourcePageItemVO> itemVOList; List<ResourcePageItemVO> itemVOList;
if (isWechat) { if (isWechat) {
itemVOList = resourcePageItemDao.getResourcePageItemByPageId(resourcePageId, true); itemVOList = resourcePageItemDao.getResourcePageItemByPageId(resourcePageId, true);
} else { } else {
itemVOList = resourcePageItemDao.getResourcePageItemByPageId(resourcePageId, null); itemVOList = resourcePageItemDao.getResourcePageItemByPageId(resourcePageId, null);
} }
if (ListUtils.isEmpty(itemVOList)) { if (CollUtil.isNotEmpty(itemVOList)) {
return serveVOS;
}
Map<String, List<ResourcePageItemVO>> listMap = itemVOList.stream().collect(Collectors.groupingBy(ResourcePageItemVO::getServeType)); Map<String, List<ResourcePageItemVO>> listMap = itemVOList.stream().collect(Collectors.groupingBy(ResourcePageItemVO::getServeType));
for (Map.Entry<String, List<ResourcePageItemVO>> entry : listMap.entrySet()) { for (Map.Entry<String, List<ResourcePageItemVO>> entry : listMap.entrySet()) {
this.fillResourceByType(entry.getValue(), isWechat, entry.getKey()); this.fillResourceByType(entry.getValue(), isWechat, entry.getKey());
...@@ -564,9 +567,68 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -564,9 +567,68 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
columnAndServeVO.setLogoUrl(itemVOS.get(0).getLogoUrl()); columnAndServeVO.setLogoUrl(itemVOS.get(0).getLogoUrl());
} }
} }
}
}
if(CollUtil.isEmpty(serveVOS)){
serveVOS = CollUtil.toList();
}
// 填充广告
this.fillAdvertising(serveVOS, bookId, adviserId, channelId);
return serveVOS; return serveVOS;
} }
/**
* 填充广告
*/
private void fillAdvertising(List<ResourceColumnAndServeVO> serveVOS, Long bookId, Long adviserId, Long channelId) {
if(serveVOS == null || bookId == null || adviserId == null || channelId == null){
return;
}
try {
List<AdvertisingSpaceDTO> h5Advertising = advertisingConsr.getH5Advertising(bookId, adviserId, channelId);
if(CollUtil.isEmpty(h5Advertising)){
return;
}
for (AdvertisingSpaceDTO adDto : h5Advertising) {
List<AdvertisingSpaceItemDTO> itemList = adDto.getAdvertisingSpaceItemList();
if(CollUtil.isEmpty(itemList)){
continue;
}
ResourceColumnAndServeVO serveVO = new ResourceColumnAndServeVO();
serveVO.setIsAdvertising(true);
serveVO.setColumnFormat(2); // 宽图
serveVO.setColumnSeq(0);
serveVO.setShowMore(YesNoEnums.NO.code);
serveVO.setThemeStyle(adDto.getThemeStyle());
serveVO.setAdPosition(adDto.getAdPosition());
serveVO.setMasterId(adDto.getMasterId());
serveVO.setAdvertisingSpaceId(adDto.getId());
serveVO.setAdvertisingItemList(itemList);
AdvertisingSpaceItemDTO item = itemList.get(0);
if("H5_SERVE_RESOURCE".equalsIgnoreCase(adDto.getAdPosition())){
serveVO.setColumnName(item.getColumnTitle());
serveVO.setColumnMarker(item.getColumnMarker());
serveVO.setColumnSeq(getColumnSeq(item.getColumnSeq()));
} else {
serveVO.setColumnName(item.getAdTitle());
}
serveVOS.add(serveVO);
}
} catch (Exception e){
log.error("[fillAdvertising] H5 填充广告失败,err:{}", e.getMessage(), e);
}
}
private Integer getColumnSeq(Integer columnSeq) {
if(columnSeq == null){
return 0;
}
if(columnSeq == -1){
return 9999;
}
return columnSeq;
}
@ParamLog("按类型填充资源") @ParamLog("按类型填充资源")
private void fillResourceByType(List<ResourcePageItemVO> itemVOS, Boolean isWechat, String serveType) { private void fillResourceByType(List<ResourcePageItemVO> itemVOS, Boolean isWechat, String serveType) {
if (ListUtils.isEmpty(itemVOS)) { if (ListUtils.isEmpty(itemVOS)) {
......
...@@ -69,7 +69,7 @@ public class ResourcePageFacade { ...@@ -69,7 +69,7 @@ public class ResourcePageFacade {
public ResponseDto<?> getColumnAndServeListByPageId(@RequestHeader("token") String token, public ResponseDto<?> getColumnAndServeListByPageId(@RequestHeader("token") String token,
@RequestParam("resourcePageId") Long resourcePageId){ @RequestParam("resourcePageId") Long resourcePageId){
SessionUtil.getVlaue(token, SessionUtil.PARTY_ID); SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
return new ResponseDto<>(resourcePageBiz.getColumnAndServeListByPageId(resourcePageId, false)); return new ResponseDto<>(resourcePageBiz.getColumnAndServeListByPageId(resourcePageId, false, null, null, null));
} }
@ApiOperation("客户端-根据书刊查资源页基本配置") @ApiOperation("客户端-根据书刊查资源页基本配置")
...@@ -85,9 +85,12 @@ public class ResourcePageFacade { ...@@ -85,9 +85,12 @@ public class ResourcePageFacade {
@ApiOperation("客户端-根据页面id查资源页栏目及资源") @ApiOperation("客户端-根据页面id查资源页栏目及资源")
@GetMapping("getColumnAndServeListByPageId4Wechat") @GetMapping("getColumnAndServeListByPageId4Wechat")
public ResponseDto<?> getColumnAndServeListByPageId4Wechat(@CookieValue("userInfo") String userInfo, public ResponseDto<?> getColumnAndServeListByPageId4Wechat(@CookieValue("userInfo") String userInfo,
@RequestParam("resourcePageId") Long resourcePageId){ @RequestParam("resourcePageId") Long resourcePageId,
@RequestParam(value = "bookId", required = false) Long bookId,
@RequestParam(value = "adviserId", required = false) Long adviserId,
@RequestParam(value = "channelId", required = false) Long channelId){
Cookie.getId(userInfo,Cookie._WECHAT_USER_ID); Cookie.getId(userInfo,Cookie._WECHAT_USER_ID);
return new ResponseDto<>(resourcePageBiz.getColumnAndServeListByPageId(resourcePageId, true)); return new ResponseDto<>(resourcePageBiz.getColumnAndServeListByPageId(resourcePageId, true, bookId, adviserId, channelId));
} }
@ApiOperation("客户端分页查栏目资源") @ApiOperation("客户端分页查栏目资源")
......
package com.pcloud.book.group.vo; package com.pcloud.book.group.vo;
import com.pcloud.advertising.advertising.dto.AdvertisingSpaceItemDTO;
import com.pcloud.common.dto.BaseDto; import com.pcloud.common.dto.BaseDto;
import java.util.List; import java.util.List;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
...@@ -62,4 +64,28 @@ public class ResourceColumnAndServeVO extends BaseDto{ ...@@ -62,4 +64,28 @@ public class ResourceColumnAndServeVO extends BaseDto{
* 图片位图片 * 图片位图片
*/ */
private String logoUrl; private String logoUrl;
@ApiModelProperty("栏目标识")
private String columnMarker;
@ApiModelProperty("是否是广告")
private Boolean isAdvertising;
@ApiModelProperty("广告主id")
private Long masterId;
@ApiModelProperty("广告位ID")
private Long advertisingSpaceId;
@ApiModelProperty("广告详情id")
private Long advertisingSpaceItemId;
@ApiModelProperty("广告位置")
private String adPosition;
@ApiModelProperty("广告位置")
private Integer themeStyle;
@ApiModelProperty("广告配置项信息")
private List<AdvertisingSpaceItemDTO> advertisingItemList;
} }
...@@ -1201,7 +1201,7 @@ public class RightsSettingBizImpl implements RightsSettingBiz { ...@@ -1201,7 +1201,7 @@ public class RightsSettingBizImpl implements RightsSettingBiz {
if (null == resourcePageVO || null == resourcePageVO.getId()) { if (null == resourcePageVO || null == resourcePageVO.getId()) {
return; return;
} }
List<ResourceColumnAndServeVO> serveVOList = resourcePageBiz.getColumnAndServeListByPageId(resourcePageVO.getId(), false); List<ResourceColumnAndServeVO> serveVOList = resourcePageBiz.getColumnAndServeListByPageId(resourcePageVO.getId(), false, null, null, null);
UpdateResourceColumnVO columnVO = new UpdateResourceColumnVO(); UpdateResourceColumnVO columnVO = new UpdateResourceColumnVO();
columnVO.setColumnFormat(3); columnVO.setColumnFormat(3);
columnVO.setColumnName("精品资讯"); columnVO.setColumnName("精品资讯");
......
...@@ -654,6 +654,7 @@ ...@@ -654,6 +654,7 @@
b.BOOK_NAME bookName, b.BOOK_NAME bookName,
b.COVER_IMG coverImg, b.COVER_IMG coverImg,
b.ISBN isbn, b.ISBN isbn,
b.SERIAL_NUMBER serialNumber,
ba.BOOK_ADVISER_ID bookAdviserId ba.BOOK_ADVISER_ID bookAdviserId
FROM FROM
`book_adviser` ba `book_adviser` ba
...@@ -669,8 +670,6 @@ ...@@ -669,8 +670,6 @@
) )
</if> </if>
AND b.IS_DELETE = 0 AND b.IS_DELETE = 0
GROUP BY
ba.BOOK_ADVISER_ID
ORDER BY ORDER BY
ba.CREATED_DATE DESC ba.CREATED_DATE DESC
</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