DiscountSpecialCarServiceImpl.java 6.09 KB
package com.zteits.bill.biz.discount;

import org.apache.commons.collections4.CollectionUtils;
import com.alibaba.fastjson.JSONObject;
import com.clouds.common.utils.SequenceUtil;
import com.github.pagehelper.PageInfo;
import com.zteits.bill.dao.discount.ActivityDiscountSpecialCarDao;
import com.zteits.bill.domain.TActivityDiscount;
import com.zteits.bill.domain.TActivityDiscountRule;
import com.zteits.bill.domain.TActivityDiscountSpecialCar;
import com.zteits.bill.pagepager.PageBeanUtil;
import com.zteits.clouds.api.apibase.bean.BizResult;
import com.zteits.clouds.api.apibase.bean.PageBean;
import com.zteits.clouds.api.apibase.constants.*;
import com.zteits.clouds.api.apibase.exception.BizException;
import com.zteits.clouds.api.dto.bill.discount.dto.TActivityDiscountDTO;
import com.zteits.clouds.api.dto.bill.discount.dto.TActivityDiscountSpecialCarDTO;
import com.zteits.clouds.api.dto.bill.discount.param.*;
import com.zteits.clouds.api.service.bill.billrule.DiscountSpecialCarService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

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

/**
 * Copyright: Copyright (c) 2018  zteits
 *
 * @Description:
 * @version: v1.0.0
 * @author: xiejianpeng
 * @date: 2018/9/5 11
 * Modification History:
 * Date             Author          Version            Description
 * ---------------------------------------------------------*
 * 2018/9/5      xiejianpeng         v1.0.0               创建
 */
@Service("com.zteits.bill.biz.discount.DiscountSpecialCarServiceImpl")
public class DiscountSpecialCarServiceImpl implements DiscountSpecialCarService {

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

    @Autowired
    private ActivityDiscountSpecialCarDao activityDiscountSpecialCarDao;

    @Override
    public BizResult<PageBean<TActivityDiscountSpecialCarDTO>> queryDiscountSpecialCarForPage(QueryDiscountSpecialCarRequest request) {
        logger.info("begin分页查询特殊车辆折扣...入参={}", JSONObject.toJSON(request));
        PageBean<TActivityDiscountSpecialCarDTO> pageBean = new PageBean<TActivityDiscountSpecialCarDTO>();
        if(request == null){
            logger.info("入参为空");
            throw new BizException(ErrorType.PARAMM_NULL, "入参为空!");
        }
        //1.设置分页
        PageInfo<TActivityDiscountSpecialCar> pageInfo = activityDiscountSpecialCarDao.queryDiscountSpecialCarForPage(request);
        PageBeanUtil.copyProperties(pageInfo, pageBean, TActivityDiscountSpecialCarDTO.class);
        logger.info("end分页查询特殊车辆折扣...");
        return new BizResult<PageBean<TActivityDiscountSpecialCarDTO>>(pageBean);
    }

    @Override
    public BizResult<Boolean> insertDiscountSpecialCarList(AddDiscountSpecialCarRequest request) {
        if (null == request) {
            throw new BizException(ErrorType.PARAMM_NULL, "请求对象为空");
        }
        Integer flg = 0;
        List<AcivityDiscountSpecialCarReq> discountpecialCarReqList = request.getDiscountSpecialCarList();
        List<TActivityDiscountSpecialCar> discountSpecialCarList = new ArrayList<TActivityDiscountSpecialCar>();
        if(CollectionUtils.isNotEmpty(discountpecialCarReqList)) {
            for (AcivityDiscountSpecialCarReq discountpecialCarReq : discountpecialCarReqList) {
                TActivityDiscountSpecialCar discountSpecialCar = new TActivityDiscountSpecialCar();
                BeanUtils.copyProperties(discountpecialCarReq, discountSpecialCar);
                discountSpecialCar.setDiscNo(request.getDiscNo());
                discountSpecialCar.setPlNo(request.getPlNo());
                discountSpecialCar.setDataState(DataStatusEnum.DATA_STATUS_VALID.value());
                discountSpecialCar.setCreateEmpid(request.getCreateEmpid());
                discountSpecialCar.setCreateName(request.getCreateName());
                discountSpecialCar.setCreateDate(request.getCreateDate());
                discountSpecialCarList.add(discountSpecialCar);
            }
            /**添加特殊车辆折扣详情****/
            flg = activityDiscountSpecialCarDao.insertDiscountSpecialCarList(discountSpecialCarList);
        }
        return new BizResult<Boolean>(flg>0?true:false);
    }

    @Override
    public BizResult<Boolean> deleteDiscountSpecialCarById(DelDiscountSpecialCarRequest request) {
        TActivityDiscountSpecialCar tActivityDiscountSpecialCar = new TActivityDiscountSpecialCar();
        if(request != null){
            BeanUtils.copyProperties(request, tActivityDiscountSpecialCar);
            tActivityDiscountSpecialCar.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value());
        }
        /**删除特殊车辆折扣信息******/
        Integer flg = activityDiscountSpecialCarDao.updateDiscountSpecialCar(tActivityDiscountSpecialCar);
        return new BizResult<Boolean>(flg>0?true:false);
    }

    @Override
    public BizResult<Boolean> insertDiscountSpecialCar(AcivityDiscountSpecialCarReq request) {
        TActivityDiscountSpecialCar discountSpecialCar = new TActivityDiscountSpecialCar();
        BeanUtils.copyProperties(request, discountSpecialCar);
        discountSpecialCar.setDataState(DataStatusEnum.DATA_STATUS_VALID.value());
        Integer flg = activityDiscountSpecialCarDao.insertDiscountSpecialCar(discountSpecialCar);
        return new BizResult<Boolean>(flg>0?true:false);
    }

    @Override
    public BizResult<TActivityDiscountSpecialCarDTO> queryDiscountSpecialCarByCarNumber(QueryDiscountSpecialCarRequest request) {
        TActivityDiscountSpecialCarDTO tActivityDiscountSpecialCarDTO = new TActivityDiscountSpecialCarDTO();
        TActivityDiscountSpecialCar tActivityDiscountSpecialCar = activityDiscountSpecialCarDao.queryDiscountSpecialCarByCarNumber(request);
        if(tActivityDiscountSpecialCar != null) {
            BeanUtils.copyProperties(tActivityDiscountSpecialCar, tActivityDiscountSpecialCarDTO);
        }
        return new BizResult<>(tActivityDiscountSpecialCarDTO);
    }
}