SysNoticeServiceImpl.java 3.59 KB
package com.zteits.sys.biz;

import java.util.Date;

import com.clouds.common.utils.SequenceUtil;
import com.github.pagehelper.PageInfo;
import com.zteits.clouds.api.apibase.bean.BizResult;
import com.zteits.clouds.api.apibase.bean.PageBean;
import com.zteits.clouds.api.dto.sys.SysNoticeDTO;
import com.zteits.clouds.api.dto.sys.param.NoticeQueryReq;
import com.zteits.clouds.api.dto.sys.param.NoticeSaveReq;
import com.zteits.clouds.api.dto.sys.param.NoticeUpdateReq;
import com.zteits.clouds.api.dto.sys.param.QueryLatestNoticeRequest;
import com.zteits.clouds.api.dto.sys.param.QueryNoticeForPageRequest;
import com.zteits.clouds.api.service.sys.SysNoticeService;
import com.zteits.sys.dao.SysNoticeDao;
import com.zteits.sys.domain.SysNotice;
import com.zteits.sys.pagepaper.PageBeanUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component("com.zteits.sys.biz.SysNoticeServiceImpl")
public class SysNoticeServiceImpl implements SysNoticeService {
    private static final Logger logger = LoggerFactory.getLogger(SysNoticeServiceImpl.class);

    @Autowired
    private SysNoticeDao sysNoticeDao;

    @Override
    public BizResult<SysNoticeDTO> queryLatestNotice(QueryLatestNoticeRequest request) {
        logger.info("---begin---获取最新公告..");
        SysNoticeDTO sysNoticeDTO = null;
        SysNotice sysNotice = sysNoticeDao.queryLatestNotice(request);
        if (sysNotice == null) {
            return new BizResult<>(sysNoticeDTO);
        }
        sysNoticeDTO = new SysNoticeDTO();
        BeanUtils.copyProperties(sysNotice, sysNoticeDTO);
        return new BizResult<>(sysNoticeDTO);
    }

    @Override
    public BizResult<PageBean<SysNoticeDTO>> queryNoticeForPage(QueryNoticeForPageRequest request) {
        PageBean<SysNoticeDTO> pageBean = new PageBean<>();
        PageInfo<SysNotice> pageInfo = sysNoticeDao.queryNoticeForPage(request);
        if (pageInfo != null) {
            PageBeanUtil.copyProperties(pageInfo, pageBean, SysNoticeDTO.class);
        }
        return new BizResult<>(pageBean);
    }

    @Override
    public BizResult<Boolean> saveNotice(NoticeSaveReq req) {

        SysNotice sysNotice = new SysNotice();
        BeanUtils.copyProperties(req, sysNotice);

        sysNotice.setOrgId(req.getOrgId());
        sysNotice.setNoticeBigType(req.getNoticeBigType());
        sysNotice.setNoticeType(req.getNoticeType());
        sysNotice.setEffDate(req.getEffDate());
        sysNotice.setExpDate(req.getExpireDate());
        sysNotice.setCreateDate(new Date());
        sysNotice.setCreateEmpId(req.getsOpId() + "");
        sysNotice.setCreateEmpName(req.getsOpName());
        sysNotice.setModfiyDate(new Date());
        sysNotice.setModfiyEmpId(req.getsOpId() + "");
        sysNotice.setModfiyEmpName(req.getsOpName());
        sysNotice.setNoticeId(SequenceUtil.getNextId().toString());

        Boolean flag = sysNoticeDao.saveNotice(sysNotice);

        return new BizResult<>(flag);
    }

    @Override
    public BizResult<SysNoticeDTO> queryNotice(NoticeQueryReq req) {

        SysNoticeDTO dto = null;
        SysNotice sysNotice = sysNoticeDao.queryNotice(req);
        if (null != sysNotice) {
            dto = new SysNoticeDTO();
            BeanUtils.copyProperties(sysNotice, dto);
        }
        return new BizResult<>(dto);
    }

    @Override
    public BizResult<Boolean> updateNotice(NoticeUpdateReq req) {

        Boolean flag = sysNoticeDao.updateNotice(req);
        return new BizResult<>(flag);
    }

}