package com.nova.sankuai.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nova.sankuai.domain.dto.RechargePageDto; import com.nova.sankuai.domain.entity.DeductionRecord; import com.nova.sankuai.domain.vo.DeductionRecordVo; import com.nova.sankuai.infra.mapper.DeductionRecordMapper; import com.nova.sankuai.infra.utils.PageRequest; import com.nova.sankuai.infra.utils.PageUtil; import com.nova.sankuai.service.IDeductionRecordService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; /** * @author weikangdi * @create 2021/11/5 */ @Service @AllArgsConstructor public class DeductionRecordServiceImpl extends ServiceImpl implements IDeductionRecordService { private final DeductionRecordMapper mapper; private final PageUtil pageUtil; @Override public IPage pageModel(PageRequest pageRequest, RechargePageDto pageDto) { IPage page = mapper.pageModel(pageUtil.getPage(pageRequest), pageDto); return page; } @Override @Transactional(rollbackFor = {Exception.class}) public Long createRecord(Long customerRecordId, Long mechanismId, Integer status, String memo, Double deductionAmount) { DeductionRecord deductionRecord = new DeductionRecord(); deductionRecord.setCreationDate(new Date()); deductionRecord.setCustomerRecordId(customerRecordId); deductionRecord.setMechanismId(mechanismId); deductionRecord.setDeductionAmount(deductionAmount); deductionRecord.setStatus(status); deductionRecord.setMemo(memo); save(deductionRecord); return deductionRecord.getId(); } }