hejianhao
2026-08-21 c9277466c0cdf8b03d3df78ccd13b799bd830110
fix0806: 健康科普接口支持排序
5个文件已修改
24 ■■■■■ 已修改文件
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/dto/HealthPopularizationSaveRequest.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/HealthPopularizationAppService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/vo/HealthPopularizationListItemVO.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tcm-training-admin/src/pages/live/health-popularization/index.tsx 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tcm-training-admin/src/pages/live/health-popularization/manage.tsx 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/dto/HealthPopularizationSaveRequest.java
@@ -5,6 +5,7 @@
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
@@ -38,4 +39,8 @@
    @NotNull(message = "请选择是否首页推荐")
    private Integer isHomeRecommend;
    @NotNull(message = "请输入排序")
    @Min(value = 0, message = "排序不能小于0")
    private Integer sort;
}
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/service/HealthPopularizationAppService.java
@@ -61,7 +61,6 @@
        HealthPopularization item = new HealthPopularization();
        fillEntity(item, req);
        item.setClickCount(0);
        item.setSort(0);
        item.setDeleted(0);
        healthPopularizationMapper.insert(item);
        return detail(item.getId());
@@ -88,6 +87,7 @@
        item.setContentType(contentType);
        item.setStatus(req.getStatus());
        item.setIsHomeRecommend(req.getIsHomeRecommend());
        item.setSort(req.getSort());
        if (contentType == HealthPopularization.CONTENT_TYPE_ARTICLE) {
            String content = trimToNull(req.getContent());
            if (content == null) {
@@ -136,6 +136,7 @@
        vo.setTitle(item.getTitle());
        vo.setCoverImg(item.getCoverImg());
        vo.setClickCount(defaultNumber(item.getClickCount()));
        vo.setSort(defaultNumber(item.getSort()));
        vo.setContentType(item.getContentType());
        vo.setStatus(item.getStatus());
        vo.setIsHomeRecommend(item.getIsHomeRecommend());
tcm-training-admin-backend/src/main/java/com/tcm/training/admin/live/vo/HealthPopularizationListItemVO.java
@@ -14,6 +14,7 @@
    private String title;
    private String coverImg;
    private Integer clickCount;
    private Integer sort;
    private Integer contentType;
    private Integer status;
    private Integer isHomeRecommend;
tcm-training-admin/src/pages/live/health-popularization/index.tsx
@@ -18,6 +18,7 @@
  title: string;
  coverImg?: string;
  clickCount?: number;
  sort?: number;
  contentType: number;
  status: number;
  createdAt: string;
@@ -128,6 +129,12 @@
      render: (value) => value || 0,
    },
    {
      title: '排序',
      dataIndex: 'sort',
      width: 100,
      render: (value) => value ?? 0,
    },
    {
      title: '类型',
      dataIndex: 'contentType',
      width: 100,
tcm-training-admin/src/pages/live/health-popularization/manage.tsx
@@ -7,7 +7,7 @@
import BraftEditorCom from '@/components/BraftEditor';
import { PlusOutlined } from '@ant-design/icons';
import { history, useAccess } from '@umijs/max';
import { Button, Form, Image, Input, Switch, Upload, message } from 'antd';
import { Button, Form, Image, Input, InputNumber, Switch, Upload, message } from 'antd';
import React, { useEffect, useMemo, useState } from 'react';
import './style.less';
@@ -43,6 +43,7 @@
          form.setFieldsValue({
            title: '',
            content: '',
            sort: 0,
            status: true,
            isHomeRecommend: true,
          });
@@ -55,6 +56,7 @@
          title: detail.title,
          coverImg: detail.coverImg,
          content: detail.content || '',
          sort: detail.sort ?? 0,
          status: detail.status === 1,
          isHomeRecommend: detail.isHomeRecommend === 1,
        });
@@ -72,6 +74,7 @@
      coverImg,
      contentType: 1,
      content: values.content,
      sort: values.sort,
      status: values.status ? 1 : 0,
      isHomeRecommend: values.isHomeRecommend ? 1 : 0,
    };
@@ -137,6 +140,9 @@
                </div>
              </Upload>
            </Form.Item>
            <Form.Item label="排序" name="sort" rules={[{ required: true, message: '请输入排序' }]}>
              <InputNumber min={0} precision={0} placeholder="请输入" style={{ width: '100%' }} disabled={loading} />
            </Form.Item>
            <div className="health-popularization-edit-form__switch-group">
              <div className="health-popularization-edit-form__switch-item">
                <span className="health-popularization-edit-form__switch-label">是否启用</span>