Commit 7c52b18a by zhuyajie

新标签

parent 755556cd
......@@ -13,4 +13,6 @@ public interface BookLabelDao extends BaseDao<BookLabel> {
List<BookLabel> getAll();
Map<Long,BookLabel> getMapByIds(List<Long> list);
Long getByNameType(String name,Integer type);
}
......@@ -5,6 +5,7 @@ import com.pcloud.book.book.entity.BookLabel;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -31,4 +32,12 @@ public class BookLabelDaoImpl extends BaseDaoImpl<BookLabel> implements BookLabe
public Map<Long, BookLabel> getMapByIds(List<Long> list) {
return super.getSqlSession().selectMap(super.getStatement("getMapByIds"), list,"id");
}
@Override
public Long getByNameType(String name, Integer type) {
Map<String,Object> map = new HashMap<>();
map.put("name", name);
map.put("type", type);
return getSessionTemplate().selectOne(getStatement("getByNameType"), map);
}
}
......@@ -766,4 +766,9 @@ public interface BookGroupBiz {
* @return
*/
PageBeanNew<UserBookInfoVO> listUser4ReadingActivity(UserSelectParamDTO userSelectParamDTO);
/**
* 旧标签转换为新标签
*/
void updateNewLabel();
}
......@@ -4392,4 +4392,34 @@ public class BookGroupBizImpl implements BookGroupBiz {
groupSet.setUserBookInfo4ReadingActivity(list);
return new PageBeanNew<>(currentPage, numPerPage, countlist.size(), list);
}
@Override
public void updateNewLabel() {
List<BookGroup> bookGroupList = bookGroupDao.listOldLabel();
List<Long> labelIds = new ArrayList<>();
List<Long> proLabels = bookGroupList.stream().map(BookGroup::getProLabelId).distinct().collect(Collectors.toList());
List<Long> depLabels = bookGroupList.stream().map(BookGroup::getDepLabelId).distinct().collect(Collectors.toList());
labelIds.addAll(proLabels);
labelIds.addAll(depLabels);
if (!ListUtils.isEmpty(labelIds)) {
Map<Long, String> labelMap = ResponseHandleUtil.parseMap(labelService.getLabelName(labelIds), Long.class, String.class);
if (!MapUtils.isEmpty(labelMap)) {
for (Long proLebelId : proLabels){
String subject = labelMap.get(proLebelId);
Long subjectId = bookLabelDao.getByNameType(subject,2);
if (null != subjectId){
bookGroupDao.updateSubjectByProLabel(proLebelId, subjectId);
}
}
for (Long depLabelId:depLabels){
String grade = labelMap.get(depLabelId);
Long gradeId = bookLabelDao.getByNameType(grade,1);
if (null != gradeId){
bookGroupDao.updateGradeByDepLabel(depLabelId, gradeId);
}
}
}
}
}
}
......@@ -303,4 +303,9 @@ public interface BookGroupDao extends BaseDao<BookGroup> {
* 根据书籍简称获取
*/
BookGroup getByShortBookName(String shortBookName);
List<BookGroup> listOldLabel();
void updateSubjectByProLabel(Long proLebelId, Long subjectId);
void updateGradeByDepLabel(Long depLabelId, Long graLabelId);
}
......@@ -341,4 +341,25 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
public BookGroup getByShortBookName(String shortBookName) {
return super.getSqlSession().selectOne(getStatement("getByShortBookName"),shortBookName);
}
@Override
public List<BookGroup> listOldLabel() {
return getSessionTemplate().selectList(getStatement("listOldLabel"));
}
@Override
public void updateSubjectByProLabel(Long proLebelId, Long subjectId) {
Map<String,Object> map = new HashMap<>();
map.put("proLabelId", proLebelId);
map.put("subLabelId", subjectId);
getSessionTemplate().update(getStatement("updateSubjectByProLabel"),map);
}
@Override
public void updateGradeByDepLabel(Long depLabelId, Long graLabelId) {
Map<String,Object> map = new HashMap<>();
map.put("depLabelId", depLabelId);
map.put("graLabelId", graLabelId);
getSessionTemplate().update(getStatement("updateGradeByDepLabel"),map);
}
}
......@@ -693,4 +693,9 @@ public interface BookGroupFacade {
@PostMapping("listUser4ReadingActivity")
public ResponseDto<PageBeanNew<UserBookInfoVO>> listUser4ReadingActivity(
@RequestHeader("token") String token, @RequestBody @ApiParam UserSelectParamDTO userSelectParamDTO) throws PermissionException;
@ApiOperation("旧标签转换为新标签")
@GetMapping("updateNewLabel")
ResponseDto<?> updateNewLabel();
}
......@@ -1107,4 +1107,12 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
PageBeanNew<UserBookInfoVO> pageBeanNew = bookGroupBiz.listUser4ReadingActivity(userSelectParamDTO);
return new ResponseDto<>(pageBeanNew);
}
@Override
@GetMapping("updateNewLabel")
public ResponseDto<?> updateNewLabel(){
//社群书标签
bookGroupBiz.updateNewLabel();
return new ResponseDto<>();
}
}
......@@ -35,4 +35,11 @@
#{item}
</foreach>
</select>
<select id="getByNameType" resultType="long" parameterType="map">
SELECT id FROM book_label
WHERE `name`= #{name}
AND type = #{type}
LIMIT 1
</select>
</mapper>
\ No newline at end of file
......@@ -921,4 +921,23 @@
and is_delete=0
limit 1
</select>
<select id="listOldLabel" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/>
from book_group
WHERE pro_label_id>0 AND dep_label_id>0
AND is_delete=0
</select>
<update id="updateSubjectByProLabel" parameterType="map">
UPDATE book_group g INNER JOIN book_adviser a ON g.book_id=a.BOOK_ID AND g.is_delete=0 AND a.IS_DELETE=0
SET a.SUB_LABEL_ID= #{subLabelId}
WHERE g.pro_label_id= #{proLabelId}
</update>
<update id="updateGradeByDepLabel" parameterType="map">
UPDATE book_group g INNER JOIN book_adviser a ON g.book_id=a.BOOK_ID AND g.is_delete=0 AND a.IS_DELETE=0
SET a.GRA_LABEL_ID=#{graLabelId}
WHERE g.dep_label_id=#{depLabelId}
</update>
</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