//package com.backendsys.service.Med;
//
//import com.backendsys.entity.Med.MedMaterialDTO;
//import com.backendsys.entity.Med.MedMyMaterialDTO;
//import com.backendsys.mapper.Med.MedMaterialMapper;
//import com.backendsys.mapper.Med.MedMyMaterialMapper;
//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.LinkedHashMap;
//import java.util.List;
//import java.util.Map;
//
//@Service
//public class MedMyMaterialServiceImpl implements MedMyMaterialService {
//
//    @Autowired
//    private MedMaterialMapper medMaterialMapper;
//
//    @Autowired
//    private MedMyMaterialMapper medMyMaterialMapper;
//
//    /**
//     * 查询 我的素材列表
//     */
//    @Override
//    public Map<String, Object> queryMyMaterial(Integer pageNum, Integer pageSize, MedMyMaterialDTO medMyMaterialDTO) {
//        // 分页查询
//        if (pageNum != null && pageSize != null) {
//            PageHelper.startPage(pageNum, pageSize);
//            PageHelper.getLocalPage().setPageSizeZero(true);
//        }
//        // 分页输出 (自定义)
//        List<Map<String, Object>> list = medMyMaterialMapper.queryMyMaterialList(medMyMaterialDTO);
//        PageInfoResult pageInfoResult = new PageInfoResult(list);
//        return pageInfoResult.toMap();
//    }
//
//    /**
//     * 查询 我的素材详情
//     */
//    @Override
//    public Map<String, Object> queryMyMaterialDetail(MedMyMaterialDTO medMyMaterialDTO) {
//        return medMyMaterialMapper.queryMyMaterialDetail(medMyMaterialDTO);
//    }
//
//    /**
//     * 加入 我的素材 (从素材中心)
//     */
//    @Override
//    @Transactional
//    public Map<String, Object> addToMyMaterial(MedMyMaterialDTO medMyMaterialDTO, Map<String, Object> materialDetail) {
//
//        // 将查询到的 素材详情，赋值到 我的素材
//        medMyMaterialDTO.setCategory_id((Long) materialDetail.get("category_id"));
//        medMyMaterialDTO.setTitle((String) materialDetail.get("title"));
//        medMyMaterialDTO.setDescription((String) materialDetail.get("description"));
//        medMyMaterialDTO.setThumb((String) materialDetail.get("thumb"));
//        medMyMaterialDTO.setMaterial_type((Integer) materialDetail.get("material_type"));
//        medMyMaterialDTO.setContent((String) materialDetail.get("content"));
//        medMyMaterialDTO.setFile((String) materialDetail.get("file"));
//
//        medMyMaterialMapper.insertMyMaterial(medMyMaterialDTO);
//
//        return Map.of("my_material_id", medMyMaterialDTO.getMy_material_id());
//    }
//
//    /**
//     * 创建 我的素材
//     */
//    @Override
//    @Transactional
//    public Map<String, Object> insertMyMaterial(MedMyMaterialDTO medMyMaterialDTO) {
//        medMyMaterialMapper.insertMyMaterial(medMyMaterialDTO);
//        return Map.of("my_material_id", medMyMaterialDTO.getMy_material_id());
//    }
//
//    /**
//     * 分享 我的素材 (到素材列表)
//     */
//    @Override
//    @Transactional
//    public Map<String, Object> shareToMaterial(MedMyMaterialDTO medMyMaterialDTO, Map<String, Object> myMaterialDetail) {
//
//        // // 将查询到的 素材详情，赋值到 素材中心，并设置为 待审核/启用 状态
//        MedMaterialDTO medMaterialDTO = new MedMaterialDTO();
//        medMaterialDTO.setCategory_id((Long) myMaterialDetail.get("category_id"));
//        medMaterialDTO.setTitle((String) myMaterialDetail.get("title"));
//        medMaterialDTO.setDescription((String) myMaterialDetail.get("description"));
//        medMaterialDTO.setThumb((String) myMaterialDetail.get("thumb"));
//        medMaterialDTO.setMaterial_type((Integer) myMaterialDetail.get("material_type"));
//        medMaterialDTO.setContent((String) myMaterialDetail.get("content"));
//        medMaterialDTO.setFile((String) myMaterialDetail.get("file"));
//        medMaterialDTO.setAudit_status(1);
//        medMaterialDTO.setStatus(1);
//
//        medMaterialMapper.insertMaterial(medMaterialDTO);
//
//        LinkedHashMap<String, Object> result = new LinkedHashMap<>();
//        result.put("my_material_id", medMyMaterialDTO.getMy_material_id());
//        result.put("material_id", medMaterialDTO.getMaterial_id());
//
//        return result;
//    }
//
//
//
//    /**
//     * 更新 素材
//     */
//    @Override
//    @Transactional
//    public Map<String, Object> updateMyMaterial(MedMyMaterialDTO medMyMaterialDTO) {
//        medMyMaterialMapper.updateMyMaterial(medMyMaterialDTO);
//        return Map.of("material_id", medMyMaterialDTO.getMy_material_id());
//    }
//
//    /**
//     * 删除 我的素材
//     */
//    @Override
//    @Transactional
//    public Map<String, Object> deleteMyMaterial(MedMyMaterialDTO medMyMaterialDTO) {
//        medMyMaterialMapper.deleteMyMaterial(medMyMaterialDTO);
//        return Map.of("my_material_id", medMyMaterialDTO.getMy_material_id());
//    }
//
//    /**
//     * 删除 我的素材 (批量)
//     */
//    @Override
//    @Transactional
//    public Map<String, Object> deleteMyMaterialBatch(List<Long> ids) {
//        medMyMaterialMapper.deleteMyMaterialBatch(ids);
//        return Map.of("my_material_ids", ids);
//    }
//
//}
