Commit 9b9afb70 by pansy

feat: [1003398] 原文资讯顶部的加好友功能,可按书刊分类选择批量操作在资讯头部显示和隐藏

parent 6d5e5386
......@@ -264,4 +264,17 @@ public interface AppletNewsBiz {
* @param appletNewsList
*/
void batchInsert(List<AppletNews> appletNewsList);
/**
* 批量名片上下架
* @param appletNewsShowStateVO
*/
void batchUpdateCardShowState(AppletNewsShowStateVO appletNewsShowStateVO);
/**
* 更新名片是否上架状态
* @param appletNews
*/
void updateCardShowState(AppletNews appletNews);
}
......@@ -40,6 +40,7 @@ import com.pcloud.book.book.entity.BookLabel;
import com.pcloud.book.consumer.app.AssistTempletConsr;
import com.pcloud.book.consumer.label.LabelConsr;
import com.pcloud.book.consumer.reader.ReaderConsr;
import com.pcloud.book.es.entity.ESBookAndAdviser;
import com.pcloud.book.push.dao.PersonalAppletsDao;
import com.pcloud.book.push.entity.PersonalApplets;
import com.pcloud.book.rightsSetting.biz.RightsSettingBiz;
......@@ -62,6 +63,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
......@@ -921,4 +923,28 @@ public class AppletNewsBizImpl implements AppletNewsBiz {
appletNewsDao.insert(appletNewsList);
}
@Override
public void batchUpdateCardShowState(AppletNewsShowStateVO appletNewsShowStateVO) {
Iterator<Long> it= appletNewsShowStateVO.getAppletNewsIds().iterator();
while(it.hasNext()){
Long newId = it.next();
AppletNews newAppletNews = appletNewsDao.getById(newId);
if(newAppletNews.getBusinessCardType() == null || newAppletNews.getBusinessCardId()== null){
it.remove();
}
}
appletNewsDao.batchUpdateCardShowState(appletNewsShowStateVO);
}
@Override
public void updateCardShowState(AppletNews appletNews) {
AppletNews newAppletNews = appletNewsDao.getById(appletNews.getId());
if(newAppletNews.getBusinessCardType() == null || newAppletNews.getBusinessCardId()== null){
throw new BookBizException(BookBizException.ERROR,"名片未配置");
}
appletNewsDao.updateCardShowState(appletNews);
JedisClusterUtils.del(AppletConstants.HOME_NEWS_LIST);
}
}
......@@ -151,4 +151,17 @@ public interface AppletNewsDao extends BaseDao<AppletNews> {
* @return
*/
Integer listAppletNews4WechatCount(Map<String, Object> paramMap);
/**
* 批量名片上下架
* @param appletNewsShowStateVO
*/
void batchUpdateCardShowState(AppletNewsShowStateVO appletNewsShowStateVO);
/**
* 更新上架状态
* @param appletNews
*/
void updateCardShowState(AppletNews appletNews);
}
......@@ -175,6 +175,18 @@ public class AppletNewsDaoImpl extends BaseDaoImpl<AppletNews> implements Applet
}
@Override
public void batchUpdateCardShowState(AppletNewsShowStateVO appletNewsShowStateVO) {
Map<String,Object> map = new HashMap<>();
map.put("ids", appletNewsShowStateVO.getAppletNewsIds());
map.put("showState", appletNewsShowStateVO.getShowState());
getSessionTemplate().update(getStatement("batchUpdateCardShowState"), map);
}
@Override
public void updateCardShowState(AppletNews appletNews) {
getSessionTemplate().update(getStatement("updateCardShowState"),appletNews);
}
@Override
public Integer listAppletNews4WechatCount(Map<String, Object> paramMap) {
return getSessionTemplate().selectOne(getStatement("listAppletNews4WechatCount"), paramMap);
}
......
......@@ -71,6 +71,34 @@ public class AppletHomeFacade {
@Autowired
private PcloudGroupActivityBiz pcloudGroupActivityBiz;
@ApiOperation("批量名片上下架")
@PostMapping("batchUpdateCardShowState")
public ResponseDto<?> batchUpdateCardShowState(
@RequestHeader("token") String token,
@RequestBody AppletNewsShowStateVO appletNewsShowStateVO
) throws PermissionException {
SessionUtil.getInfoToken4Redis(token);
if (null == appletNewsShowStateVO || ListUtils.isEmpty(appletNewsShowStateVO.getAppletNewsIds()) || null == appletNewsShowStateVO.getBusinessCardIsOpen()){
throw new BookBizException(BookBizException.PARAM_IS_NULL,"缺少参数");
}
appletNewsBiz.batchUpdateCardShowState(appletNewsShowStateVO);
return new ResponseDto<>();
}
@ApiOperation("更新资讯名片上架状态")
@PostMapping("updateCardShowState")
public ResponseDto<?> updateCardShowState(
@RequestHeader("token") String token,
@RequestBody @ApiParam("资讯") AppletNews appletNews) throws PermissionException {
SessionUtil.getInfoToken4Redis(token);
if (null == appletNews || null == appletNews.getId() || null == appletNews.getBusinessCardIsOpen()){
throw new BookBizException(BookBizException.PARAM_IS_NULL,"缺少参数");
}
appletNewsBiz.updateCardShowState(appletNews);
return new ResponseDto<>();
}
@ApiOperation("新增书单栏目")
@PostMapping("addBooklistClassify")
public ResponseDto<Long> addBooklistClassify(
......
......@@ -18,7 +18,9 @@ public class AppletNewsShowStateVO implements Serializable {
@ApiModelProperty("修改的数据id")
private List<Long> appletNewsIds;
@ApiModelProperty("是否展示")
@ApiModelProperty("是否展示 1:展示,0不展示")
private Boolean showState;
private Long businessCardIsOpen;
}
......@@ -110,6 +110,12 @@
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateCardShowState" parameterType="com.pcloud.book.applet.entity.AppletNews">
update applet_news
set business_card_isOpen = #{businessCardIsOpen,jdbcType=TINYINT}
where id = #{id,jdbcType=BIGINT}
</update>
<select id="getById" parameterType="long" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/>
from applet_news
......@@ -151,7 +157,8 @@
n.custom_tag_id customTagId,
t.custom_tag customTag,
n.show_source showSource,
n.show_link showLink
n.show_link showLink,
IF(n.business_card_id is null,2,n.business_card_isOpen) businessCardIsOpen
FROM applet_news n
LEFT JOIN applet_news_classify c ON n.news_classify_id=c.id
LEFT JOIN rights_setting_classify d ON n.rights_classify_id = d.id
......@@ -310,6 +317,17 @@
</foreach>
</update>
<update id="batchUpdateCardShowState" parameterType="map">
UPDATE applet_news
SET
business_card_isOpen = #{businessCardIsOpen},
update_time=NOW()
WHERE id IN
<foreach collection="ids" item="item" separator="," open="(" close=")" >
${item}
</foreach>
</update>
<delete id="batchDeleteAppletNews" parameterType="list">
DELETE FROM applet_news
WHERE id IN
......
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