| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.tcm.training.admin.app.popularization.vo.AppHealthPopularizationDetailVO; |
| | | import com.tcm.training.admin.app.popularization.vo.AppHealthPopularizationListItemVO; |
| | | import com.tcm.training.admin.live.entity.HealthPopularization; |
| | | import com.tcm.training.admin.live.mapper.HealthPopularizationMapper; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * APP 健康科普详情聚合服务。 |
| | |
| | | */ |
| | | public AppHealthPopularizationService(HealthPopularizationMapper healthPopularizationMapper) { |
| | | this.healthPopularizationMapper = healthPopularizationMapper; |
| | | } |
| | | |
| | | /** |
| | | * 获取 APP 健康科普列表页数据。 |
| | | */ |
| | | public List<AppHealthPopularizationListItemVO> list() { |
| | | List<HealthPopularization> items = healthPopularizationMapper.selectList(new LambdaQueryWrapper<HealthPopularization>() |
| | | .eq(HealthPopularization::getDeleted, 0) |
| | | .eq(HealthPopularization::getStatus, STATUS_ENABLED) |
| | | .orderByAsc(HealthPopularization::getSort) |
| | | .orderByDesc(HealthPopularization::getId)); |
| | | if (items == null || items.isEmpty()) { |
| | | return Collections.emptyList(); |
| | | } |
| | | List<AppHealthPopularizationListItemVO> result = |
| | | new ArrayList<AppHealthPopularizationListItemVO>(items.size()); |
| | | for (HealthPopularization item : items) { |
| | | AppHealthPopularizationListItemVO listItemVO = new AppHealthPopularizationListItemVO(); |
| | | listItemVO.setId(item.getId()); |
| | | listItemVO.setTitle(trimToEmpty(item.getTitle())); |
| | | listItemVO.setCoverImage(trimToEmpty(item.getCoverImg())); |
| | | listItemVO.setContentType(item.getContentType()); |
| | | listItemVO.setClickCount(defaultNumber(item.getClickCount())); |
| | | result.add(listItemVO); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | /** |
| | | * 将可空数字统一转换为默认值,避免前端列表展示空计数。 |
| | | */ |
| | | private Integer defaultNumber(Integer value) { |
| | | return value == null ? 0 : value; |
| | | } |
| | | |
| | | /** |
| | | * 将可空文本统一转换为空字符串。 |
| | | */ |
| | | private String trimToEmpty(String value) { |