SitesServiceImpl.java 5.27 KB
package com.cnlive.shenhe.service.serviceImpl;

import com.alibaba.fastjson.JSON;
import com.cnlive.shenhe.dto.SitesDTO;
import com.cnlive.shenhe.entity.ShySites;
import com.cnlive.shenhe.entity.ShyUsers;
import com.cnlive.shenhe.mapper.ShySitesMapper;
import com.cnlive.shenhe.service.SitesService;
import com.cnlive.shenhe.service.UsersService;
import com.cnlive.shenhe.utils.CommonUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;


/**
 * @Auther: 周伟鹏
 * @Date: 2018/11/29 14:23
 * @Description:
 */
@Service
public class SitesServiceImpl implements SitesService {

    private static Logger logger = LoggerFactory.getLogger(SitesServiceImpl.class);
    @Autowired
    ShySitesMapper shySitesMapper;
    @Autowired
    UsersService usersService;

    /**
     * 分页、条件查询 返回列表
     *
     * @param sitesDTO
     * @return
     */
    @Override
    public PageInfo<ShySites> getPage(SitesDTO sitesDTO) {
        logger.info("接受参数列表为,SitesDTO:{}", JSON.toJSONString(sitesDTO));
        Example example = new Example(ShySites.class);
        Example.Criteria criteria = example.createCriteria();
        Example.Criteria criteria2 = example.createCriteria();
        if (CommonUtils.isNotEmpty(sitesDTO.getOrderByClause())) {
            example.setOrderByClause(sitesDTO.getOrderByClause());
        }
        if (CommonUtils.isNotEmpty(sitesDTO.getKeyword())) {
            criteria.andLike("name", "%" + sitesDTO.getKeyword() + "%");
            criteria2.andLike("spid", "%" + sitesDTO.getKeyword() + "%");
            example.or(criteria2);
        }
        if (CommonUtils.isNotNull(sitesDTO.getSpId())) {
            criteria.andEqualTo("spid", sitesDTO.getSpId());
            criteria2.andEqualTo("spid", sitesDTO.getSpId());
        }
        PageHelper.startPage(sitesDTO.getPage(), sitesDTO.getPageSize(), true);
        List<ShySites> shySitesList = shySitesMapper.selectByExample(example);
        PageInfo<ShySites> pageInfo = new PageInfo<ShySites>(shySitesList);
        return pageInfo;
    }

    /**
     * 根据主键id查询白名单对象
     *
     * @param siteId
     * @return
     */
    @Override
    public ShySites get(Integer siteId) {
        return shySitesMapper.selectByPrimaryKey(siteId);
    }

    /**
     * 根据主键修改白名单对象
     *
     * @param site
     * @return
     */
    @Override
    public boolean update(ShySites site) {
        return shySitesMapper.updateByPrimaryKeySelective(site) == 1;
    }

    /**
     * 根据spid查询白名单对象
     *
     * @param spId
     * @return
     */
    @Override
    public ShySites findspidDescByspid(int spId) {
        Example example = new Example(ShySites.class);
        Example.Criteria criteria = example.createCriteria();
        criteria.andEqualTo("spid", spId);
        List<ShySites> shySites = shySitesMapper.selectByExample(example);
        if (CommonUtils.isNotNull(shySites) && shySites.size() > 0) {
            return shySites.get(0);
        }
        return null;
    }

    /**
     * 根据name查询白名单对象
     *
     * @param spDesc
     * @return
     */
    @Override
    public ShySites findspidBySpdesc(String spDesc) {
        Example example = new Example(ShySites.class);
        Example.Criteria criteria = example.createCriteria();
        if (CommonUtils.isNotEmpty(spDesc)) {
            criteria.andEqualTo("name", spDesc);
        }
        List<ShySites> shySites = shySitesMapper.selectByExample(example);
        if (CommonUtils.isNotNull(shySites) && shySites.size() > 0) {
            return shySites.get(0);
        }
        return null;
    }

    /**
     * 获取免审白名单列表(点播)
     *
     * @return
     */
    @Override
    public List<Integer> getBusinessList(Integer business_) {
        List<ShySites> sitesList = shySitesMapper.selectAll();
        List<Integer> sites = new ArrayList<Integer>();
        for (ShySites shySites : sitesList) {
            if (CommonUtils.isNotEmpty(shySites.getWrite_business())) {
                String[] business = shySites.getWrite_business().split(",");
                List<String> asList = Arrays.asList(business);
                if (asList.contains(business_ + "")) {
                    sites.add(shySites.getSpid());
                }
            }
        }
        return sites;
    }

    /**
     * 获取用户(操作人)
     *
     * @param updater
     * @param auditorId
     * @return
     */
    @Override
    public String getUpdater(String updater, String auditorId) {
        if (CommonUtils.isNotEmpty(auditorId)) {
            ShyUsers user = new ShyUsers();
            user.setUser_id(auditorId);
            user = usersService.select(user);
            if (CommonUtils.isNotNull(user)) {
                String email = CommonUtils.isEmpty(user.getEmail()) || "null".equals(user.getEmail()) ? "" : user.getEmail();
                updater = CommonUtils.isEmpty(user.getUsername()) ? email : user.getUsername();
            }
        }
        return updater;
    }
}