package com.ruoyi.project.system.service.impl;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.project.system.mapper.TbFormModuleMapper;
import com.ruoyi.project.system.domain.TbFormModule;
import com.ruoyi.project.system.service.ITbFormModuleService;

/**
 * 组件类型Service业务层处理
 *
 * @author ruoyi
 * @date 2020-06-17
 */
@Service
public class TbFormModuleServiceImpl implements ITbFormModuleService
{
    @Autowired
    private TbFormModuleMapper tbFormModuleMapper;

    /**
     * 动态修改表数据
     * @param tableName 表名
     * @param tableMap 需要修改的数据
     * @param id 数据的主键id
     * @return 受影响行数
     */
    @Override
    public int updateTableData(String tableName, Map tableMap, String id) {
        return tbFormModuleMapper.updateTableData(tableName,tableMap,id);
    }

    /**
     * 动态插入表数据
     * @param tableName 表名
     * @param tableMap
     * @return
     */
    @Override
    public int insertTableData(String tableName, LinkedHashMap tableMap) {
        return tbFormModuleMapper.insertTableData(tableName,tableMap);
    }
    @Override
    public int insertTable(String tableName,  String vModel , String defaultValue) {
        return tbFormModuleMapper.insertTable(tableName,vModel,defaultValue);

    }

    /**
     * 动态删除数据
     * @param tableName 表名
     * @param id 信息id
     * @return
     */
    @Override
    public int deleteTableData(String tableName, Long id) {
        return tbFormModuleMapper.deleteTableData(tableName,id);
    }

    /**
     * 动态查询表数据
     * @param tableName 表名
     * @return
     */
    @Override
    public List<Map> selectTableData(String tableName) {

        return tbFormModuleMapper.selectTableData(tableName);
    }
    /**
     * 根据表名查询对应表结构
     * @param tableName 表名
     * @return 表结构
     */
    @Override
    public List<TbFormModule> selTbDataByName(String tableName) {
        return tbFormModuleMapper.selTbDataByName(tableName);
    }

    /**
     * 查询组件类型
     *
     * @param id 组件类型ID
     * @return 组件类型
     */
    @Override
    public TbFormModule selectTbFormModuleById(Long id)
    {
        return tbFormModuleMapper.selectTbFormModuleById(id);
    }

    /**
     * 查询组件类型列表
     *
     * @param tbFormModule 组件类型
     * @return 组件类型
     */
    @Override
    public List<TbFormModule> selectTbFormModuleList(TbFormModule tbFormModule)
    {
    return tbFormModuleMapper.selectTbFormModuleList(tbFormModule);
}

    /**
     * 新增组件类型
     *
     * @param tbFormModule 组件类型
     * @return 结果
     */
    @Override
    public int insertTbFormModule(TbFormModule tbFormModule)
    {
        tbFormModule.setCreateTime(DateUtils.getNowDate());
        return tbFormModuleMapper.insertTbFormModule(tbFormModule);
    }

    /**
     * 修改组件类型
     *
     * @param tbFormModule 组件类型
     * @return 结果
     */
    @Override
    public int updateTbFormModule(TbFormModule tbFormModule)
    {
        return tbFormModuleMapper.updateTbFormModule(tbFormModule);
    }

    /**
     * 批量删除组件类型
     *
     * @param ids 需要删除的组件类型ID
     * @return 结果
     */
    @Override
    public int deleteTbFormModuleByIds(String[] action)
    {
        return tbFormModuleMapper.deleteTbFormModuleByIds(action);
    }

    /**
     * 删除组件类型信息
     *
     * @param id 组件类型ID
     * @return 结果
     */
    @Override
    public int deleteTbFormModuleById(Long id)
    {
        return tbFormModuleMapper.deleteTbFormModuleById(id);
    }
    /**
     * 根据表名删除组件信息
     * @param formId 表名
     * @return
     */
    @Override
    public int deleteTableZJ(String formId) {

        return tbFormModuleMapper.deleteTableZJ(formId);
    }
}
