| | |
| | | import com.tcm.training.admin.live.entity.HealthPopularization; |
| | | import com.tcm.training.admin.live.mapper.HealthPopularizationMapper; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | |
| | | |
| | | /** |
| | | * 获取 APP 健康科普列表页数据。 |
| | | * |
| | | * @param contentType 内容类型:1 健康知识、2 养生科普;为空则返回全部。 |
| | | */ |
| | | public List<AppHealthPopularizationListItemVO> list() { |
| | | public List<AppHealthPopularizationListItemVO> list(Integer contentType) { |
| | | List<HealthPopularization> items = healthPopularizationMapper.selectList(new LambdaQueryWrapper<HealthPopularization>() |
| | | .eq(HealthPopularization::getDeleted, 0) |
| | | .eq(HealthPopularization::getStatus, STATUS_ENABLED) |
| | | .orderByAsc(HealthPopularization::getSort) |
| | | .eq(contentType != null, HealthPopularization::getContentType, contentType) |
| | | .orderByDesc(HealthPopularization::getSort) |
| | | .orderByDesc(HealthPopularization::getId)); |
| | | if (items == null || items.isEmpty()) { |
| | | return Collections.emptyList(); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取 APP 健康科普详情页数据。 |
| | | * 获取 APP 健康科普详情页数据,并在每次访问时累加点击量。 |
| | | */ |
| | | @Transactional |
| | | public AppHealthPopularizationDetailVO detail(Long popularizationId) { |
| | | HealthPopularization item = requireEnabledItem(popularizationId); |
| | | // 参考项目介绍,APP 进入详情后累加点击量并回写。 |
| | | item.setClickCount(defaultNumber(item.getClickCount()) + 1); |
| | | healthPopularizationMapper.updateById(item); |
| | | AppHealthPopularizationDetailVO detailVO = new AppHealthPopularizationDetailVO(); |
| | | detailVO.setId(item.getId()); |
| | | detailVO.setTitle(trimToEmpty(item.getTitle())); |
| | |
| | | detailVO.setContent(trimToEmpty(item.getContent())); |
| | | detailVO.setVideoUrl(trimToEmpty(item.getVideoUrl())); |
| | | detailVO.setVideoFileName(trimToEmpty(item.getVideoFileName())); |
| | | detailVO.setVideoDescription(trimToEmpty(item.getVideoDescription())); |
| | | detailVO.setClickCount(defaultNumber(item.getClickCount())); |
| | | return detailVO; |
| | | } |
| | | |