|
|
|
@ -1,13 +1,17 @@
|
|
|
|
|
package com.baiye.modules.platform.service.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.hutool.core.date.DateField;
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
|
import com.baiye.constant.DefaultNumberConstants;
|
|
|
|
|
import com.baiye.exception.BadRequestException;
|
|
|
|
|
import com.baiye.modules.platform.domain.Company;
|
|
|
|
|
import com.baiye.modules.platform.domain.PayCombo;
|
|
|
|
|
import com.baiye.modules.platform.domain.PayComboUser;
|
|
|
|
|
import com.baiye.modules.platform.domain.PayFatherTemplate;
|
|
|
|
|
import com.baiye.modules.platform.repository.CompanyRepository;
|
|
|
|
|
import com.baiye.modules.platform.repository.PayComboRepository;
|
|
|
|
|
import com.baiye.modules.platform.repository.PayComboUserRepository;
|
|
|
|
|
import com.baiye.modules.platform.repository.PayFatherTemplateRepository;
|
|
|
|
|
import com.baiye.modules.platform.service.PayFatherTemplateService;
|
|
|
|
|
import com.baiye.modules.platform.service.dto.PayFatherTemplateQueryCriteria;
|
|
|
|
@ -22,6 +26,7 @@ import org.springframework.data.domain.Sort;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.Set;
|
|
|
|
@ -38,7 +43,7 @@ public class PayFatherTemplateServiceImpl implements PayFatherTemplateService {
|
|
|
|
|
private final PayFatherTemplateRepository payFatherTemplateRepository;
|
|
|
|
|
private final PayComboRepository payComboRepository;
|
|
|
|
|
private final CompanyRepository companyRepository;
|
|
|
|
|
|
|
|
|
|
private final PayComboUserRepository payComboUserRepository;
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public void add(PayFatherTemplate payFatherTemplate) {
|
|
|
|
@ -124,4 +129,29 @@ public class PayFatherTemplateServiceImpl implements PayFatherTemplateService {
|
|
|
|
|
public PayFatherTemplate findById(Long fatherTemplateId) {
|
|
|
|
|
return payFatherTemplateRepository.findById(fatherTemplateId).orElseGet(PayFatherTemplate::new);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void addDefaultTemplate(String name, Long userId, Date endTime, Long companyId) {
|
|
|
|
|
PayFatherTemplate payFatherTemplate = new PayFatherTemplate();
|
|
|
|
|
payFatherTemplate.setName(name);
|
|
|
|
|
payFatherTemplate.setStatus(DefaultNumberConstants.ZERO_NUMBER);
|
|
|
|
|
//添加父模板
|
|
|
|
|
Long fatherTemplateId = payFatherTemplateRepository.save(payFatherTemplate).getId();
|
|
|
|
|
PayCombo payCombo = new PayCombo().createDefaultCombo(fatherTemplateId);
|
|
|
|
|
//添加子模板
|
|
|
|
|
Long payComboId = payComboRepository.save(payCombo).getId();
|
|
|
|
|
|
|
|
|
|
PayComboUser payComboUser = new PayComboUser();
|
|
|
|
|
payComboUser.setUserId(userId);
|
|
|
|
|
payComboUser.setPayComboId(payComboId);
|
|
|
|
|
payComboUser.setBeginTime(DateUtil.date());
|
|
|
|
|
if (endTime == null) {
|
|
|
|
|
endTime = DateUtil.offset(DateUtil.date(), DateField.YEAR, 1);
|
|
|
|
|
}
|
|
|
|
|
payComboUser.setEndTime(endTime);
|
|
|
|
|
//绑定用户
|
|
|
|
|
payComboUserRepository.save(payComboUser);
|
|
|
|
|
//绑定公司
|
|
|
|
|
companyRepository.updateCompanyTemplateIdById(fatherTemplateId, companyId);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|