package com.yc.ship.module.marketing.service.couponAuditRecord;

import com.yc.ship.framework.common.util.object.BeanUtils;
import com.yc.ship.module.marketing.controller.admin.couponAuditRecord.vo.CouponAuditRecordSaveReqVo;
import com.yc.ship.module.marketing.dal.dataobject.coupon.CouponDO;
import com.yc.ship.module.marketing.dal.dataobject.couponAuditRecord.CouponAuditRecordDo;
import com.yc.ship.module.marketing.dal.mysql.coupon.CouponMapper;
import com.yc.ship.module.marketing.dal.mysql.couponAuditRecord.CouponAuditRecordMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;

import javax.annotation.Resource;

/**
 * 优惠券审核记录 Service 实现类
 *
 * @author lfy
 */
@Service
@Validated
public class CouponAuditRecordServiceImpl implements CouponAuditRecordService {

    @Resource
    private CouponAuditRecordMapper couponAuditRecordMapper;

    @Resource
    private CouponMapper couponMapper;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Long createCouponAuditRecord(CouponAuditRecordSaveReqVo createReqVO) {
        CouponAuditRecordDo couponAuditRecordDo = BeanUtils.toBean(createReqVO, CouponAuditRecordDo.class);
        couponAuditRecordMapper.insert(couponAuditRecordDo);
        CouponDO couponDO = new CouponDO();
        couponDO.setId(createReqVO.getCouponId()).setAuditState(createReqVO.getAuditState());
        couponMapper.updateById(couponDO);
        return couponAuditRecordDo.getId();
    }
}