package com.sv.service.oms;

import com.github.pagehelper.PageHelper;
import com.sv.entity.VenueLessonTagConfig;
import com.sv.mapper.VenueLessonTagConfigMapper;
import com.ydd.framework.core.common.Pagination;
import com.ydd.framework.core.service.impl.BaseServiceImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.List;

/**
 * Service - 课程tag
 *
 * @author zhaoziyu
 * @since 2018-08-07
 */
@Service
@Transactional(readOnly = true)
public class VenueLessonTagConfigService extends BaseServiceImpl {

	private final Logger logger = LoggerFactory.getLogger(VenueLessonTagConfigService.class);

	@Resource
	private VenueLessonTagConfigMapper venueLessonTagConfigMapper;

	/**
	 * 创建课程tag
	 *
	 * @param venueLessonTagConfig 课程tag
	 */
	
	@Transactional
    public void save(VenueLessonTagConfig venueLessonTagConfig) {
		venueLessonTagConfig.setPlatformId(1);
		if (venueLessonTagConfig.getId() != null && venueLessonTagConfig.getId() > 0) {
			// 更新
			venueLessonTagConfigMapper.update(venueLessonTagConfig);
		} else {
			// 新建
			VenueLessonTagConfig dbTag = venueLessonTagConfigMapper.findByName(venueLessonTagConfig.getName().trim());
			if(dbTag != null)
				return;
			venueLessonTagConfigMapper.insert(venueLessonTagConfig);
		}
	}

	/**
	 * 更新课程tag
 	 *
	 * @param venueLessonTagConfig 课程tag
	 */
	
	@Transactional
    public void update(VenueLessonTagConfig venueLessonTagConfig) {
		venueLessonTagConfigMapper.update(venueLessonTagConfig);
	}

	/**
	 * 删除课程tag
	 *
	 * @param id 编号
   	 * @return 删除数量
	 */
	
	@Transactional
    public Integer delete(Integer id) {
		if (id == null || id <= 0) {
			return 0;
		}
		return venueLessonTagConfigMapper.delete(id);
	}

	/**
	 * 删除课程tag
	 *
	 * @param ids 编号数组
	 * @return 删除数量
	 */
	
	@Transactional
    public Integer deleteByIds(Integer[] ids) {
		if (ids == null || ids.length == 0) {
			return 0;
		}
		return venueLessonTagConfigMapper.deleteByIds(ids);
	}

	/**
	 * 查询课程tag
	 *
	 * @param id 编号
	 * @return 课程tag
	 */
	public VenueLessonTagConfig findById(Integer id) {
		return venueLessonTagConfigMapper.findById(id);
	}

	/**
	 * 查询课程tag
	 *
	 * @param pagination 分页信息
	 * @return 分页结果
	 */
	
	public Pagination findPage(Pagination pagination) {
		PageHelper.startPage(pagination.getPage(), pagination.getPageSize());
		PageHelper.orderBy("id desc");
		pagination.setQueryResult(venueLessonTagConfigMapper.findAll());
		return pagination;
	}

	public List<VenueLessonTagConfig> findAll(){
		return venueLessonTagConfigMapper.findAll();
	}
}

