package com.ruoyi.web.controller.smartor; 
 | 
  
 | 
import com.github.pagehelper.ISelect; 
 | 
import com.ruoyi.common.annotation.Log; 
 | 
import com.ruoyi.common.core.controller.BaseController; 
 | 
import com.ruoyi.common.core.domain.AjaxResult; 
 | 
import com.ruoyi.common.core.domain.entity.SysUser; 
 | 
import com.ruoyi.common.core.page.TableDataInfo; 
 | 
import com.ruoyi.common.enums.BusinessType; 
 | 
import com.ruoyi.common.exception.base.BaseException; 
 | 
import com.ruoyi.common.utils.PageUtils; 
 | 
import com.ruoyi.common.utils.poi.ExcelUtil; 
 | 
import com.smartor.domain.HeLibrary; 
 | 
import com.smartor.domain.HeLibraryVO; 
 | 
import com.smartor.domain.SvyLibTemplateReq; 
 | 
import com.smartor.domain.SvyLibTemplateVO; 
 | 
import com.smartor.service.IHeLibraryService; 
 | 
import io.swagger.annotations.Api; 
 | 
import io.swagger.annotations.ApiOperation; 
 | 
import org.apache.commons.collections4.CollectionUtils; 
 | 
import org.apache.commons.lang3.ObjectUtils; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.security.access.prepost.PreAuthorize; 
 | 
import org.springframework.web.bind.annotation.*; 
 | 
  
 | 
import javax.servlet.http.HttpServletResponse; 
 | 
import java.util.List; 
 | 
  
 | 
/** 
 | 
 * 宣教资料库Controller 
 | 
 * 
 | 
 * @author ruoyi 
 | 
 * @date 2023-12-24 
 | 
 */ 
 | 
@Api(description = "宣教资料库") 
 | 
@RestController 
 | 
@RequestMapping("/smartor/library") 
 | 
public class HeLibraryController extends BaseController { 
 | 
    @Autowired 
 | 
    private IHeLibraryService heLibraryService; 
 | 
  
 | 
    /** 
 | 
     * 查询宣教资料库列表 
 | 
     */ 
 | 
    @ApiOperation("查询宣教资料库列表") 
 | 
    //@PreAuthorize("@ss.hasPermi('system:library:list')") 
 | 
    @PostMapping("/list") 
 | 
    public TableDataInfo list(@RequestBody HeLibrary heLibrary) { 
 | 
        PageUtils.startPageByPost(heLibrary.getPageNum(), heLibrary.getPageSize()); 
 | 
        List<HeLibrary> list = heLibraryService.selectHeLibraryList(heLibrary); 
 | 
        if (CollectionUtils.isNotEmpty(list)) { 
 | 
            //获取total 
 | 
            long total = PageUtils.count(new ISelect() { 
 | 
                @Override 
 | 
                public void doSelect() { 
 | 
                    heLibrary.setPageNum(null); 
 | 
                    heLibrary.setPageSize(null); 
 | 
                    heLibraryService.selectHeLibraryList(heLibrary); 
 | 
                } 
 | 
            }); 
 | 
  
 | 
            return getDataTable2(total, list); 
 | 
        } 
 | 
        return getDataTable2(0, list); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 导出宣教资料库列表 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('system:library:export')") 
 | 
    @Log(title = "宣教资料库", businessType = BusinessType.EXPORT) 
 | 
    @PostMapping("/export") 
 | 
    public void export(HttpServletResponse response, HeLibrary heLibrary) { 
 | 
        List<HeLibrary> list = heLibraryService.selectHeLibraryList(heLibrary); 
 | 
        ExcelUtil<HeLibrary> util = new ExcelUtil<HeLibrary>(HeLibrary.class); 
 | 
        util.exportExcel(response, list, "宣教资料库数据"); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 获取宣教资料库详细信息 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('system:library:query')") 
 | 
    @GetMapping(value = "/getInfo/{id}") 
 | 
    public AjaxResult getInfo(@PathVariable("id") Long id) { 
 | 
        return success(heLibraryService.selectHeLibraryById(id)); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 新增宣教资料库 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('system:library:add')") 
 | 
    @Log(title = "宣教资料库", businessType = BusinessType.INSERT) 
 | 
    @PostMapping("/add") 
 | 
    public AjaxResult add(@RequestBody HeLibrary heLibrary) { 
 | 
        SysUser user = getLoginUser().getUser(); 
 | 
        heLibrary.setOrgid(user.getOrgid()); 
 | 
        return toAjax(heLibraryService.insertHeLibrary(heLibrary)); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 修改宣教资料库 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('system:library:edit')") 
 | 
    @Log(title = "宣教资料库", businessType = BusinessType.UPDATE) 
 | 
    @PostMapping("/edit") 
 | 
    public AjaxResult edit(@RequestBody HeLibrary heLibrary) { 
 | 
        return toAjax(heLibraryService.updateHeLibrary(heLibrary)); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 删除宣教资料库 
 | 
     */ 
 | 
    @ApiOperation("删除宣教资料库") 
 | 
    //@PreAuthorize("@ss.hasPermi('system:library:remove')") 
 | 
    @Log(title = "宣教资料库", businessType = BusinessType.DELETE) 
 | 
    @GetMapping("/remove/{ids}") 
 | 
    public AjaxResult remove(@PathVariable Long[] ids) { 
 | 
        return toAjax(heLibraryService.deleteHeLibraryByIds(ids)); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 新增或修改宣教详情 
 | 
     */ 
 | 
    @ApiOperation("新增或修改宣教详情") 
 | 
    //@PreAuthorize("@ss.hasPermi('system:script:list')") 
 | 
    @PostMapping("/saveOrUpdateHeLibrary") 
 | 
    public AjaxResult saveOrUpdateHeLibrary(@RequestBody HeLibraryVO heLibraryVO) { 
 | 
        if (ObjectUtils.isEmpty(heLibraryVO)) { 
 | 
            throw new BaseException("入参为空,请检查入参"); 
 | 
        } 
 | 
        SysUser user = getLoginUser().getUser(); 
 | 
        heLibraryVO.setOrgid(user.getOrgid()); 
 | 
        return success(heLibraryService.saveOrUpdateScript(heLibraryVO)); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 查询模板详情根据条件 
 | 
     */ 
 | 
    @ApiOperation("查询模板详情根据条件") 
 | 
    @PostMapping("/selectInfoByCondition") 
 | 
    public AjaxResult selectInfoByCondition(@RequestBody HeLibrary heLibrary) { 
 | 
        if (ObjectUtils.isEmpty(heLibrary)) { 
 | 
            throw new BaseException("查询模板详情入参为空,请检查入参"); 
 | 
        } 
 | 
        return success(heLibraryService.selectInfoByCondition(heLibrary)); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 查询模板详情根据条件(小程序专用) 
 | 
     */ 
 | 
    @ApiOperation("查询模板详情根据条件(小程序专用)") 
 | 
    @PostMapping("/selectInfoByConditionXCH") 
 | 
    public AjaxResult selectInfoByConditionXCH(@RequestBody HeLibrary heLibrary) { 
 | 
        if (ObjectUtils.isEmpty(heLibrary)) { 
 | 
            throw new BaseException("查询模板详情入参为空,请检查入参"); 
 | 
        } 
 | 
        return success(heLibraryService.selectInfoByConditionXCH(heLibrary)); 
 | 
    } 
 | 
} 
 |