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.CustomerPushRecord; import com.nova.sankuai.domain.enums.UserTypeEnum; import com.nova.sankuai.domain.vo.CustomerPushRecordVo; import com.nova.sankuai.infra.mapper.CustomerPushRecordMapper; import com.nova.sankuai.infra.utils.PageRequest; import com.nova.sankuai.infra.utils.PageUtil; import com.nova.sankuai.security.UserDetail; import com.nova.sankuai.service.ICustomerPushRecordService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @author weikangdi * @create 2021/11/5 */ @Service @AllArgsConstructor public class CustomerPushRecordServiceImpl extends ServiceImpl implements ICustomerPushRecordService { private final CustomerPushRecordMapper mapper; private final PageUtil pageUtil; @Override public IPage pageModel(PageRequest pageRequest, RechargePageDto pageDto, UserDetail user) { IPage page = mapper.pageModel(pageUtil.getPage(pageRequest), pageDto); if (UserTypeEnum.USER.getCode().equals(user.getType())) { List records = page.getRecords(); List newRecords = new ArrayList<>(); for (CustomerPushRecordVo record : records) { if (CustomerPushRecord.STATUS_INVALID == record.getStatus()) { record.setCustomerRecordName("***"); record.setPhone("***"); record.setCustomerRecordId(null); } newRecords.add(record); } page = page.setRecords(newRecords); } return page; } @Override @Transactional(rollbackFor = {Exception.class}) public void createRecord(Long customerRecordId, Long mechanismId, Long deductionId, Integer status, String memo) { CustomerPushRecord pushRecord = new CustomerPushRecord(); pushRecord.setMechanismId(mechanismId); pushRecord.setDeductionId(deductionId); pushRecord.setCustomerRecordId(customerRecordId); pushRecord.setStatus(status); pushRecord.setMemo(memo); pushRecord.setCreationDate(new Date()); save(pushRecord); } }