Commit db42a3ba by Administrator

Merge branch 'fixbug/deleteNews' into 'master'

feat: [none] 资讯下架或删除时删除与权益的关联

See merge request rays/pcloud-book!906
parents 873eb805 8043df88
......@@ -46,6 +46,7 @@ import com.pcloud.book.consumer.reader.ReaderConsr;
import com.pcloud.book.push.dao.PersonalAppletsDao;
import com.pcloud.book.push.entity.PersonalApplets;
import com.pcloud.book.rightsSetting.biz.RightsSettingBiz;
import com.pcloud.book.rightsSetting.dao.RightsNowItemDao;
import com.pcloud.book.rightsSetting.entity.BaseTempletClassify;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew;
......@@ -273,6 +274,8 @@ public class AppletNewsBizImpl implements AppletNewsBiz {
return;
}
appletNewsDao.deleteById(id);
//同时删除配置的资讯 1 删除即享权益 2 删除删除周或长期
rightsSettingBiz.deleteInvalidNews(Lists.newArrayList(id));
this.updateSource(beforeNews.getSource(), null);
JedisClusterUtils.del(AppletConstants.HOME_NEWS_LIST);
}
......@@ -674,6 +677,10 @@ public class AppletNewsBizImpl implements AppletNewsBiz {
@Override
public void updateNewsShowState(AppletNews appletNews) {
appletNewsDao.updateNewsShowState(appletNews);
//资讯下架 删除与权益的关联关系
if (!appletNews.getShowState()) {
rightsSettingBiz.deleteInvalidNews(Lists.newArrayList(appletNews.getId()));
}
JedisClusterUtils.del(AppletConstants.HOME_NEWS_LIST);
}
......@@ -710,6 +717,11 @@ public class AppletNewsBizImpl implements AppletNewsBiz {
@Override
public void batchUpdateShowState(AppletNewsShowStateVO appletNewsShowStateVO) {
appletNewsDao.batchUpdateShowState(appletNewsShowStateVO);
//资讯下架 删除与权益的关联关系
if (!appletNewsShowStateVO.getShowState()) {
rightsSettingBiz.deleteInvalidNews(appletNewsShowStateVO.getAppletNewsIds());
}
JedisClusterUtils.del(AppletConstants.HOME_NEWS_LIST);
}
@Override
......
......@@ -13,6 +13,7 @@ import com.pcloud.book.rightsSetting.entity.RightsSettingClassify;
import com.pcloud.book.rightsSetting.entity.RightsSettingItem;
import com.pcloud.common.page.PageBeanNew;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
......@@ -135,9 +136,17 @@ public interface RightsSettingBiz {
/**
* 书刊权益批量上下架
*
* @param rightsSettingShowStateDTO
*/
void batchUpdateShowState(RightsSettingShowStateDTO rightsSettingShowStateDTO);
/**
* 删除无效的资讯
*
* @param newArrayList
*/
void deleteInvalidNews(List<Long> newArrayList);
Map<Long, RightsSettingDto> listByBookIds(List<Long> bookIds);
}
......@@ -2637,11 +2637,27 @@ public class RightsSettingBizImpl implements RightsSettingBiz {
rightsSettingDAO.batchUpdateShowState(rightsSettingShowStateDTO);
}
@Override
@ParamLog("删除无效的资源")
public void deleteInvalidNews(List<Long> newsIds) {
//查询该资讯关联了多少权益
List<RightsNowItem> rightsNowItems = rightsNowItemDao.getByNewsIds(newsIds);
List<RightsSettingItemDetail> rightsSettingItemDetails = rightsSettingItemDetailDao.getByNewsIds(newsIds);
if (!ListUtils.isEmpty(rightsNowItems)) {
log.info("删除无效的资源前先查询rightsNowItems:{}", rightsNowItems);
rightsNowItemDao.deleteInvalidNews(newsIds);
}
if (!ListUtils.isEmpty(rightsSettingItemDetails)) {
log.info("删除无效的资源前先查询rightsSettingItemDetails:{}", rightsSettingItemDetails);
rightsSettingItemDetailDao.deleteInvalidNews(newsIds);
}
}
private PageBeanNew<AppletNewsDTO> getAppletNewsDTOPageBeanNew(AppletUserBookcase userReadBook, Integer currentPage, Integer numPerPage) {
PageBeanNew<AppletNewsDTO> appletNewsDTOS = new PageBeanNew<>();
// 查询书籍分类下对应的资讯分类
BaseTempletClassify baseTempletClassify = appletUserBookcaseDao.getBookClassifyInfo(userReadBook.getBookId(), userReadBook.getChannelId(), userReadBook.getAdviserId());
if (Objects.nonNull(baseTempletClassify)&&Objects.nonNull(baseTempletClassify.getFirstClassify())) {
if (Objects.nonNull(baseTempletClassify) && Objects.nonNull(baseTempletClassify.getFirstClassify())) {
rightsSettingBiz.setClassifyAndLabel(baseTempletClassify);
Integer deepRead = null;
Integer easyRead = null;
......
......@@ -3,6 +3,7 @@ package com.pcloud.book.rightsSetting.dao;
import com.pcloud.book.rightsSetting.entity.RightsNowItem;
import com.pcloud.common.core.dao.BaseDao;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -29,4 +30,19 @@ public interface RightsNowItemDao extends BaseDao<RightsNowItem> {
List<Long> getAdviserGroupIds(List<Long> ids);
List<Long> getActivityGroupIds(List<Long> ids);
/**
* 删除无效(删除或者下架)的资讯
*
* @param newsIds
*/
void deleteInvalidNews(List<Long> newsIds);
/**
* 通过资讯id查询
*
* @param newsIds
* @return
*/
List<RightsNowItem> getByNewsIds(List<Long> newsIds);
}
......@@ -2,6 +2,8 @@ package com.pcloud.book.rightsSetting.dao;
import com.pcloud.book.rightsSetting.entity.RightsSettingItemDetail;
import com.pcloud.common.core.dao.BaseDao;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -19,4 +21,19 @@ public interface RightsSettingItemDetailDao extends BaseDao<RightsSettingItemDet
List<Long> getAdviserGroupIds(List<Long> ids);
List<Long> getActivityGroupIds(List<Long> ids);
/**
* 删除无效的资讯
*
* @param newsIds
*/
void deleteInvalidNews(List<Long> newsIds);
/**
* 根据资讯id查询
*
* @param newsIds
* @return
*/
List<RightsSettingItemDetail> getByNewsIds(List<Long> newsIds);
}
\ No newline at end of file
......@@ -5,6 +5,7 @@ import com.pcloud.book.rightsSetting.entity.RightsNowItem;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -65,11 +66,21 @@ public class RightsNowItemDaoImpl extends BaseDaoImpl<RightsNowItem> implements
@Override
public List<Long> getAdviserGroupIds(List<Long> ids) {
return super.getSqlSession().selectList(getStatement("getAdviserGroupIds"),ids);
return super.getSqlSession().selectList(getStatement("getAdviserGroupIds"), ids);
}
@Override
public List<Long> getActivityGroupIds(List<Long> ids) {
return super.getSqlSession().selectList(getStatement("getActivityGroupIds"),ids);
return super.getSqlSession().selectList(getStatement("getActivityGroupIds"), ids);
}
@Override
public void deleteInvalidNews(List<Long> newsIds) {
getSqlSession().delete(getStatement("deleteInvalidNews"), newsIds);
}
@Override
public List<RightsNowItem> getByNewsIds(List<Long> newsIds) {
return getSqlSession().selectList(getStatement("getByNewsIds"), newsIds);
}
}
......@@ -5,6 +5,8 @@ import com.pcloud.book.rightsSetting.dao.RightsSettingItemDetailDao;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import org.apache.ibatis.annotations.Param;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -35,4 +37,14 @@ public class RightsSettingItemDetailDaoImpl extends BaseDaoImpl<RightsSettingIte
public List<Long> getActivityGroupIds(List<Long> ids) {
return this.getSqlSession().selectList(getStatement("getActivityGroupIds"), ids);
}
@Override
public void deleteInvalidNews(List<Long> newsIds) {
getSqlSession().delete(getStatement("deleteInvalidNews"), newsIds);
}
@Override
public List<RightsSettingItemDetail> getByNewsIds(List<Long> newsIds) {
return getSqlSession().selectList(getStatement("getByNewsIds"), newsIds);
}
}
\ No newline at end of file
......@@ -206,4 +206,31 @@
#{item}
</foreach>
</select>
<delete id="deleteInvalidNews" parameterType="list">
delete
from
rights_now_item
where
serve_type = "NEWS"
and
serve_id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<select id="getByNewsIds" parameterType="list" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from
rights_now_item
where
serve_type = "NEWS"
and
serve_id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
</mapper>
\ No newline at end of file
......@@ -137,4 +137,31 @@
</foreach>
</select>
<delete id="deleteInvalidNews" parameterType="list">
delete
from
rights_setting_item_detail
where
serve_type = "NEWS"
and
serve_id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<select id="getByNewsIds" parameterType="list" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from
rights_setting_item_detail
where
serve_type = "NEWS"
and
serve_id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
</mapper>
\ No newline at end of file
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