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<CustomerPushRecordMapper, CustomerPushRecord> implements ICustomerPushRecordService {
|
|
private final CustomerPushRecordMapper mapper;
|
|
private final PageUtil pageUtil;
|
|
@Override
|
public IPage<CustomerPushRecordVo> pageModel(PageRequest pageRequest, RechargePageDto pageDto, UserDetail user) {
|
IPage<CustomerPushRecordVo> page = mapper.pageModel(pageUtil.getPage(pageRequest), pageDto);
|
if (UserTypeEnum.USER.getCode().equals(user.getType())) {
|
List<CustomerPushRecordVo> records = page.getRecords();
|
List<CustomerPushRecordVo> 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);
|
}
|
}
|