|
@@ -5,6 +5,8 @@ import com.izouma.dingdong.domain.BankCard;
|
|
|
import com.izouma.dingdong.domain.MoneyRecord;
|
|
import com.izouma.dingdong.domain.MoneyRecord;
|
|
|
import com.izouma.dingdong.domain.User;
|
|
import com.izouma.dingdong.domain.User;
|
|
|
import com.izouma.dingdong.domain.WithdrawApply;
|
|
import com.izouma.dingdong.domain.WithdrawApply;
|
|
|
|
|
+import com.izouma.dingdong.domain.backstage.Email;
|
|
|
|
|
+import com.izouma.dingdong.enums.EmailType;
|
|
|
import com.izouma.dingdong.enums.FinancialType;
|
|
import com.izouma.dingdong.enums.FinancialType;
|
|
|
import com.izouma.dingdong.enums.WithdrawStatus;
|
|
import com.izouma.dingdong.enums.WithdrawStatus;
|
|
|
import com.izouma.dingdong.exception.BusinessException;
|
|
import com.izouma.dingdong.exception.BusinessException;
|
|
@@ -12,11 +14,13 @@ import com.izouma.dingdong.repo.BankCardRepo;
|
|
|
import com.izouma.dingdong.repo.MoneyRecordRepo;
|
|
import com.izouma.dingdong.repo.MoneyRecordRepo;
|
|
|
import com.izouma.dingdong.repo.UserRepo;
|
|
import com.izouma.dingdong.repo.UserRepo;
|
|
|
import com.izouma.dingdong.repo.WithdrawApplyRepo;
|
|
import com.izouma.dingdong.repo.WithdrawApplyRepo;
|
|
|
|
|
+import com.izouma.dingdong.repo.backstage.EmailRepo;
|
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
import javax.transaction.Transactional;
|
|
import javax.transaction.Transactional;
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
|
|
+import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
|
|
|
|
|
|
|
|
|
@@ -28,6 +32,7 @@ public class WithdrawApplyService {
|
|
|
private UserRepo userRepo;
|
|
private UserRepo userRepo;
|
|
|
private BankCardRepo bankCardRepo;
|
|
private BankCardRepo bankCardRepo;
|
|
|
private MoneyRecordRepo moneyRecordRepo;
|
|
private MoneyRecordRepo moneyRecordRepo;
|
|
|
|
|
+ private EmailRepo emailRepo;
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
|
提现申请
|
|
提现申请
|
|
@@ -57,6 +62,14 @@ public class WithdrawApplyService {
|
|
|
//.bankCard(bankCard)
|
|
//.bankCard(bankCard)
|
|
|
.build();
|
|
.build();
|
|
|
|
|
|
|
|
|
|
+ emailRepo.save(Email.builder()
|
|
|
|
|
+ .receiveUserId(user.getId())
|
|
|
|
|
+ .title("提现申请提交")
|
|
|
|
|
+ .sendTime(LocalDate.now())
|
|
|
|
|
+ .content(apply.getAmount() + "元," + "提现到:" + bankCard.userInfo())
|
|
|
|
|
+ .build()
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
return withdrawalsApplyRepo.save(apply);
|
|
return withdrawalsApplyRepo.save(apply);
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -70,6 +83,8 @@ public class WithdrawApplyService {
|
|
|
if (consent == null) {
|
|
if (consent == null) {
|
|
|
throw new BusinessException("操作错误");
|
|
throw new BusinessException("操作错误");
|
|
|
}
|
|
}
|
|
|
|
|
+ Email email;
|
|
|
|
|
+
|
|
|
if (consent) {
|
|
if (consent) {
|
|
|
withdrawals.setConsent(true);
|
|
withdrawals.setConsent(true);
|
|
|
withdrawals.setStatus(WithdrawStatus.SUCCESS);
|
|
withdrawals.setStatus(WithdrawStatus.SUCCESS);
|
|
@@ -81,20 +96,39 @@ public class WithdrawApplyService {
|
|
|
|
|
|
|
|
|
|
|
|
|
//记录到对账单
|
|
//记录到对账单
|
|
|
|
|
+ BankCard bankCard = withdrawals.getBankCard();
|
|
|
moneyRecordRepo.save(
|
|
moneyRecordRepo.save(
|
|
|
MoneyRecord.builder()
|
|
MoneyRecord.builder()
|
|
|
.name("提现")
|
|
.name("提现")
|
|
|
.userId(withdrawals.getUserId())
|
|
.userId(withdrawals.getUserId())
|
|
|
.time(LocalDateTime.now())
|
|
.time(LocalDateTime.now())
|
|
|
.type(FinancialType.WITHDRAW)
|
|
.type(FinancialType.WITHDRAW)
|
|
|
- .remark(withdrawals.getBankCard().getBankName())
|
|
|
|
|
|
|
+ .remark(bankCard.getBankName())
|
|
|
.build()
|
|
.build()
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
|
|
+ //发送邮件通知
|
|
|
|
|
+ email = Email.builder()
|
|
|
|
|
+ .receiveUserId(user.getId())
|
|
|
|
|
+ .title("提现申请通过")
|
|
|
|
|
+ .sendTime(LocalDate.now())
|
|
|
|
|
+ .content(withdrawals.getAmount() + "元," + "提现到:" + bankCard.userInfo())
|
|
|
|
|
+ .build();
|
|
|
|
|
+
|
|
|
} else {
|
|
} else {
|
|
|
withdrawals.setConsent(false);
|
|
withdrawals.setConsent(false);
|
|
|
withdrawals.setStatus(WithdrawStatus.FAIL);
|
|
withdrawals.setStatus(WithdrawStatus.FAIL);
|
|
|
|
|
+ //发送邮件通知
|
|
|
|
|
+ email = Email.builder()
|
|
|
|
|
+ .receiveUserId(withdrawals.getUserId())
|
|
|
|
|
+ .title("提现申请失败")
|
|
|
|
|
+ .sendTime(LocalDate.now())
|
|
|
|
|
+ .content("提现失败")
|
|
|
|
|
+ .build();
|
|
|
}
|
|
}
|
|
|
|
|
+ //报错邮件通知
|
|
|
|
|
+ emailRepo.save(email);
|
|
|
|
|
+
|
|
|
withdrawals.setAuditTime(LocalDateTime.now());
|
|
withdrawals.setAuditTime(LocalDateTime.now());
|
|
|
return withdrawalsApplyRepo.save(withdrawals);
|
|
return withdrawalsApplyRepo.save(withdrawals);
|
|
|
}
|
|
}
|