TdCBusinessCouponRuleParkRelServiceImpl.java 6.89 KB
package com.zteits.business.biz.impl;
import com.clouds.common.utils.SequenceUtil;

import org.apache.commons.collections4.CollectionUtils;
import com.github.pagehelper.PageInfo;
import com.zteits.business.domain.TdCBusinessCouponRuleParkRel;

import com.zteits.clouds.api.apibase.constants.SequenceTypeEnum;
import com.zteits.clouds.api.dto.business.param.TdCBusinessCouponRuleParkRelRequest;
import com.zteits.clouds.api.dto.park.param.parkgroup.ParkGroupParkDTO;
import com.zteits.clouds.api.service.business.TdCBusinessCouponRuleParkRelService;
import com.zteits.business.dao.TdCBusinessCouponRuleParkRelDao;
import com.zteits.business.domain.TdCBusinessCouponRuleParkRel;
import com.zteits.business.domain.TdCBusinessCouponRuleParkRelExample;
import com.zteits.clouds.api.apibase.bean.BizResult;
import com.zteits.clouds.api.apibase.bean.PageBean;
import com.zteits.clouds.api.apibase.constants.DataStatusEnum;
import com.zteits.clouds.api.dto.business.dto.TdCBusinessCouponRuleParkRelDTO;
import com.zteits.clouds.api.dto.business.param.TdCBusinessCouponRuleParkRelRequest;
import com.zteits.clouds.api.dto.clouds.param.BatchDeleteByPrimaryKeyRequest;
import com.zteits.clouds.api.dto.park.param.parkgroup.ParkGroupParkDTO;
import com.zteits.clouds.api.service.business.TdCBusinessCouponRuleParkRelService;
import com.zteits.sys.pagepaper.PageBeanUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

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

@Component
public class TdCBusinessCouponRuleParkRelServiceImpl implements TdCBusinessCouponRuleParkRelService {
    @Autowired
    private TdCBusinessCouponRuleParkRelDao tdCBusinessCouponRuleParkRelDao;

    @Override
    public BizResult<List<TdCBusinessCouponRuleParkRelDTO>> queryTdCBusinessCouponRuleParkRel(TdCBusinessCouponRuleParkRelRequest request) {
        List<TdCBusinessCouponRuleParkRelDTO> tdCBusinessCouponRuleParkRelDTOS = new ArrayList<>();
        List<TdCBusinessCouponRuleParkRel> tdCBusinessCouponRuleParkRels = tdCBusinessCouponRuleParkRelDao.queryTdCBusinessCouponRuleParkRel(request);
        if (CollectionUtils.isEmpty(tdCBusinessCouponRuleParkRels)) {
            return new BizResult<>(tdCBusinessCouponRuleParkRelDTOS);
        }
        for (TdCBusinessCouponRuleParkRel source : tdCBusinessCouponRuleParkRels) {
            TdCBusinessCouponRuleParkRelDTO dto = new TdCBusinessCouponRuleParkRelDTO();
            BeanUtils.copyProperties(source, dto);
            tdCBusinessCouponRuleParkRelDTOS.add(dto);
        }
        return new BizResult<>(tdCBusinessCouponRuleParkRelDTOS);
    }

    @Override
    public BizResult<PageBean<TdCBusinessCouponRuleParkRelDTO>> queryTdCBusinessCouponRuleParkRelForPage(TdCBusinessCouponRuleParkRelRequest request) {
        PageBean<TdCBusinessCouponRuleParkRelDTO> pageBean = new PageBean<>();
        PageInfo<TdCBusinessCouponRuleParkRel> pageInfo = tdCBusinessCouponRuleParkRelDao.queryTdCBusinessCouponRuleParkRelForPage(request);
        if (pageInfo != null && pageInfo.getList() != null && pageInfo.getList().size() > 0) {
            PageBeanUtil.copyProperties(pageInfo, pageBean, TdCBusinessCouponRuleParkRelDTO.class);
        }
        return new BizResult<>(pageBean);
    }

    @Override
    public BizResult<Boolean> batchDeleteTdCBusinessCouponRuleParkRelByPrimaryKey(BatchDeleteByPrimaryKeyRequest request) {
        int delenum = tdCBusinessCouponRuleParkRelDao.batchDeleteTdCBusinessCouponRuleParkRelByPrimaryKey(request.getIds(), request.getOpId(), request.getsOpName());
        return new BizResult<>(delenum > 0);
    }

    @Override
    public BizResult<Boolean> saveTdCBusinessCouponRuleParkRel(TdCBusinessCouponRuleParkRelRequest request) {
        TdCBusinessCouponRuleParkRel tdCBusinessCouponRuleParkRel = new TdCBusinessCouponRuleParkRel();
        int saveNum = 0;
        if (request.getParks() != null && request.getParks().size() > 0) {
            for (ParkGroupParkDTO park : request.getParks()) {
                request.setCardRelParkNo(SequenceUtil.getNextId(SequenceTypeEnum.BUS_CARD_RULE_REL_PARK));
                BeanUtils.copyProperties(request, tdCBusinessCouponRuleParkRel);
                tdCBusinessCouponRuleParkRel.setPlNo(park.getPlNo());
                tdCBusinessCouponRuleParkRel.setPlName(park.getPlName());
                saveNum = tdCBusinessCouponRuleParkRelDao.saveTdCBusinessCouponRuleParkRel(tdCBusinessCouponRuleParkRel);
            }
        } else {
            request.setCardRelParkNo(SequenceUtil.getNextId(SequenceTypeEnum.BUS_CARD_RULE_REL_PARK));
            BeanUtils.copyProperties(request, tdCBusinessCouponRuleParkRel);
            saveNum = tdCBusinessCouponRuleParkRelDao.saveTdCBusinessCouponRuleParkRel(tdCBusinessCouponRuleParkRel);
        }
        return new BizResult<>(saveNum > 0);
    }

    @Override
    public BizResult<Boolean> updateByPrimaryKeySelective(TdCBusinessCouponRuleParkRelRequest request) {
        TdCBusinessCouponRuleParkRel tdCBusinessCouponRuleParkRel = new TdCBusinessCouponRuleParkRel();
        BeanUtils.copyProperties(request, tdCBusinessCouponRuleParkRel);
        int upNum = tdCBusinessCouponRuleParkRelDao.updateByPrimaryKeySelective(tdCBusinessCouponRuleParkRel);
        return new BizResult<>(upNum > 0);
    }

    /**
     * 根据 card_rel_park_no 获取信息
     *
     */
    @Override
    public BizResult<TdCBusinessCouponRuleParkRelDTO> queryTdCBusinessCouponRuleParkRelByRelNo(TdCBusinessCouponRuleParkRelRequest request) {
        TdCBusinessCouponRuleParkRelExample example = new TdCBusinessCouponRuleParkRelExample();
        example.createCriteria()
                .andCardRelParkNoEqualTo(request.getCardRelParkNo())
                .andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
        List<TdCBusinessCouponRuleParkRel> tdCBusinessCouponRuleParkRels = tdCBusinessCouponRuleParkRelDao.selectByExample(example);
        if (CollectionUtils.isNotEmpty(tdCBusinessCouponRuleParkRels)) {
            TdCBusinessCouponRuleParkRel rel = tdCBusinessCouponRuleParkRels.get(0);
            TdCBusinessCouponRuleParkRelDTO dto = new TdCBusinessCouponRuleParkRelDTO();
            BeanUtils.copyProperties(rel, dto);
            return new BizResult<>(dto);
        }
        return new BizResult<>(null);
    }

    /**
     * 根据CardRelParkNo获取商户购买一种的券信息
     *
     * @param request 主键
     * @return
     */
    @Override
    public BizResult<TdCBusinessCouponRuleParkRelDTO> queryByCardRelParkNo(TdCBusinessCouponRuleParkRelRequest request) {
        TdCBusinessCouponRuleParkRel rel = tdCBusinessCouponRuleParkRelDao.queryByCardRelParkNo(request.getCardRelParkNo());
        if(null != rel){
            TdCBusinessCouponRuleParkRelDTO dto = new TdCBusinessCouponRuleParkRelDTO();
            BeanUtils.copyProperties(rel, dto);
            return new BizResult<>(dto);
        }
        return new BizResult<>(null);
    }
}