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