ShyActivityServiceImpl.java 4.43 KB
package com.cnlive.shenhe.service.serviceImpl;


import com.alibaba.fastjson.JSON;
import com.cnlive.shenhe.dto.ShyActivityDTO;
import com.cnlive.shenhe.entity.ShyActivity;
import com.cnlive.shenhe.mapper.ShyActivityMapper;
import com.cnlive.shenhe.service.ShyActivityService;
import com.cnlive.shenhe.utils.CommonConst;
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.Date;
import java.util.List;

/**
 * @author Administrator
 * @author yanzhaowang
 * @create 2022-03-08 10:43
 */
@Service
public class ShyActivityServiceImpl implements ShyActivityService {

    private static Logger logger = LoggerFactory.getLogger(ShyActivityServiceImpl.class);

    @Autowired
    private ShyActivityMapper shyActivityMapper;

    /**
     * 添加活动
     *
     * @param shyActivity
     * @return
     */
    @Override
    public Boolean insertShyActivity(ShyActivity shyActivity) {
        Date date = new Date();
        shyActivity.setCreate_time(date);
        shyActivity.setUpdate_time(date);
        shyActivity.setExempt_from_trial(CommonConst.AUDIT_TYPE_USER);
        logger.info("添加对象为:{}", JSON.toJSON(shyActivity));
        int result = shyActivityMapper.insertSelective(shyActivity);
        return result > 0;
    }

    /**
     * 根据主键删除活动
     *
     * @param id
     * @return
     */
    @Override
    public Boolean deleteShyActivity(Integer id) {
        int result = shyActivityMapper.deleteByPrimaryKey(id);
        return result > 0;
    }

    /**
     * 修改活动
     *
     * @param shyActivity
     * @return
     */
    @Override
    public Boolean updateShyActivity(ShyActivity shyActivity) {
        Date date = new Date();
        shyActivity.setCreate_time(date);
        shyActivity.setUpdate_time(date);
        logger.info("修改对象为:{}", JSON.toJSON(shyActivity));
        int result = shyActivityMapper.updateByPrimaryKeySelective(shyActivity);
        return result > 0;
    }

    /**
     * 查询活动
     *
     * @param shyActivityDTO
     * @return
     */
    @Override
    public PageInfo<ShyActivity> selectByExample(ShyActivityDTO shyActivityDTO) {
        logger.info("参数接受对象为,ShyActivityDTO:{}", JSON.toJSONString(shyActivityDTO));
        Example example = new Example(ShyActivity.class);
        //如果为空 按照倒序排序  分页查询所有
        //以创建时间为条件进行倒序
        example.setOrderByClause("`create_time` desc");

        Example.Criteria criteria = example.createCriteria();

        // 如果查询条件不为空  按照条件走模糊查询
        if (shyActivityDTO.getExempt_from_trial() != null) {
            criteria.andLike("exempt_from_trial", "%" + shyActivityDTO.getExempt_from_trial() + "%");
        }
        // 如果查询条件不为空  按照条件走模糊查询
        if (CommonUtils.isNotEmpty(shyActivityDTO.getActivity())) {
            criteria.andLike("activity", "%" + shyActivityDTO.getActivity() + "%");
        }
        PageHelper.startPage(shyActivityDTO.getPageNum(), shyActivityDTO.getPageSize(), true);
        List<ShyActivity> shyActivities = shyActivityMapper.selectByExample(example);
        PageInfo<ShyActivity> shyActivityPageInfo = new PageInfo<>(shyActivities);
        return shyActivityPageInfo;
    }


    /**
     * 根据条件查询活动
     *
     * @param
     * @param exemptFromTrial
     * @return
     */
    @Override
    public List<Integer> selectByExample(Integer exemptFromTrial) {
        return shyActivityMapper.selectAllByExempt_from_trial(exemptFromTrial);
    }


    /**
     * 查询所有的数据
     *
     * @return
     */
    @Override
    public List<ShyActivity> selectAll() {
        return shyActivityMapper.selectAll();
    }

    /**
     * 根据id查询单个对象
     *
     * @param id
     * @return
     */
    @Override
    public Boolean selectById(Integer id) {
        ShyActivity shyActivity = shyActivityMapper.selectById(id);
        return shyActivity == null;
    }


    /**
     * 根据source查询审核类型
     *
     * @param id
     * @return
     */
    @Override
    public Integer selectBySource(Integer id) {
        return shyActivityMapper.selectBySource(id);
    }
}