//package com.backendsys.service.Med;
//
//import com.backendsys.aspect.HttpRequestAspect;
//import com.backendsys.entity.Med.MedMaterialDTO;
//import com.backendsys.entity.Tencent.TencentCos.TempCredentialsDTO;
//import com.backendsys.mapper.Med.MedMaterialMapper;
//import com.backendsys.service.SDKService.SDKTencent.SDKTencentCOSService;
//import com.backendsys.utils.response.PageInfoResult;
//import com.github.pagehelper.PageHelper;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//import org.springframework.transaction.annotation.Transactional;
//
//import java.util.List;
//import java.util.Map;
//
//@Service
//public class MedMaterialServiceImpl implements MedMaterialService {
//
//    @Autowired
//    private HttpRequestAspect httpRequestAspect;
//
//    @Autowired
//    private SDKTencentCOSService sdkTencentCOSService;
//
//    @Autowired
//    private MedMaterialMapper medMaterialMapper;
//
//    /**
//     * 查询 素材列表
//     */
//    @Override
//    public Map<String, Object> queryMaterial(Integer pageNum, Integer pageSize, MedMaterialDTO medMaterialDTO) {
//        // 分页查询
//        if (pageNum != null && pageSize != null) {
//            PageHelper.startPage(pageNum, pageSize);
//            PageHelper.getLocalPage().setPageSizeZero(true);
//        }
//        // 分页输出 (自定义)
//        List<Map<String, Object>> list = medMaterialMapper.queryMaterialList(medMaterialDTO);
//        PageInfoResult pageInfoResult = new PageInfoResult(list);
//        return pageInfoResult.toMap();
//    }
//
//    /**
//     * 查询 素材列表 (仅显示启用/审核通过的)
//     */
//    @Override
//    public Map<String, Object> queryMaterialPublish(Integer pageNum, Integer pageSize, MedMaterialDTO medMaterialDTO) {
//
//        // 素材状态 (-1禁用, 1启用)
//        medMaterialDTO.setStatus(1);
//        // 审核状态 (-1审核拒绝, 1待审核, 2审核通过)
//        medMaterialDTO.setAudit_status(2);
//
//        // 分页查询
//        if (pageNum != null && pageSize != null) {
//            PageHelper.startPage(pageNum, pageSize);
//            PageHelper.getLocalPage().setPageSizeZero(true);
//        }
//        // 分页输出 (自定义)
//        List<Map<String, Object>> list = medMaterialMapper.queryMaterialList(medMaterialDTO);
//        PageInfoResult pageInfoResult = new PageInfoResult(list);
//        return pageInfoResult.toMap();
//    }
//
//    /**
//     * 查询 素材详情
//     */
//    @Override
//    public Map<String, Object> queryMaterialDetail(MedMaterialDTO medMaterialDTO) {
//        return medMaterialMapper.queryMaterialDetail(medMaterialDTO);
//    }
//    @Override
//    public Map<String, Object> queryMaterialById(Long material_id) {
//        MedMaterialDTO medMaterialDTO = new MedMaterialDTO();
//        medMaterialDTO.setMaterial_id(material_id);
//        return medMaterialMapper.queryMaterialDetail(medMaterialDTO);
//    }
//
//    /**
//     * 创建 素材
//     */
//    @Override
//    @Transactional
//    public Map<String, Object> insertMaterial(MedMaterialDTO medMaterialDTO) {
//        medMaterialMapper.insertMaterial(medMaterialDTO);
//        return Map.of("material_id", medMaterialDTO.getMaterial_id());
//    }
//
//    /**
//     * 更新 素材
//     */
//    @Override
//    @Transactional
//    public Map<String, Object> updateMaterial(MedMaterialDTO medMaterialDTO) {
//        medMaterialMapper.updateMaterial(medMaterialDTO);
//        return Map.of("material_id", medMaterialDTO.getMaterial_id());
//    }
//
//    /**
//     * 审核 素材
//     */
//    @Override
//    @Transactional
//    public Map<String, Object> auditMaterial(MedMaterialDTO medMaterialDTO) {
//        medMaterialMapper.auditMaterial(medMaterialDTO);
//        return Map.of("material_id", medMaterialDTO.getMaterial_id());
//    }
//
//    /**
//     * 删除 素材
//     */
//    @Override
//    @Transactional
//    public Map<String, Object> deleteMaterial(MedMaterialDTO medMaterialDTO) {
//        medMaterialMapper.deleteMaterial(medMaterialDTO);
//        return Map.of("material_id", medMaterialDTO.getMaterial_id());
//    }
//
//    /**
//     * 删除 素材 (批量)
//     */
//    @Override
//    @Transactional
//    public Map<String, Object> deleteMaterialBatch(List<Long> ids) {
//        medMaterialMapper.deleteMaterialBatch(ids);
//        return Map.of("material_ids", ids);
//    }
//
//
////    /**
////     * 获得临时密钥 (权限目录：/materials/用户ID/文件类型/文件.xx)
////     */
////    @Override
////    public TempCredentialsDTO getTempCredentials() {
////        // [查询] 自身 UserId
////        Long user_id = httpRequestAspect.getUserId();
//////        return sdkTencentCOSService.getTempCredentials("materials/" + user_id + "/*");
////        return sdkTencentCOSService.getTempCredentials("temp/*");
////    }
//
//}
