|
|
@ -0,0 +1,44 @@ |
|
|
|
|
|
package com.qniao.dam.application.service.dailyincome; |
|
|
|
|
|
|
|
|
|
|
|
import com.qniao.dam.domain.aggregate.dailyincome.DailyIncomeAggregate; |
|
|
|
|
|
import com.qniao.dam.domain.aggregate.dailyincome.entity.DailyIncome; |
|
|
|
|
|
import com.qniao.dam.infrastructure.persistent.dao.dailyincome.DailyIncomeDao; |
|
|
|
|
|
import com.qniao.dam.query.dailyincome.DailyIncomeQueryService; |
|
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
|
|
import java.time.LocalDate; |
|
|
|
|
|
import java.time.LocalDateTime; |
|
|
|
|
|
import java.util.Objects; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* @author Zpj |
|
|
|
|
|
* @date 2026/5/3 |
|
|
|
|
|
*/ |
|
|
|
|
|
@Service |
|
|
|
|
|
public class DailyIncomeApplicationService { |
|
|
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
|
private DailyIncomeDao dailyIncomeDao; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private DailyIncomeQueryService dailyIncomeQueryService; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private DailyIncomeAggregate dailyIncomeAggregate; |
|
|
|
|
|
|
|
|
|
|
|
public void stat(LocalDate statDate) { |
|
|
|
|
|
LocalDateTime startTime = statDate.atStartOfDay(); |
|
|
|
|
|
LocalDateTime endTime = statDate.atTime(23, 59, 59); |
|
|
|
|
|
BigDecimal income = dailyIncomeDao.statIncome(startTime, endTime); |
|
|
|
|
|
DailyIncome dailyIncome = dailyIncomeQueryService.queryBy(statDate); |
|
|
|
|
|
if (Objects.nonNull(dailyIncome)) { |
|
|
|
|
|
dailyIncome.setIncome(income); |
|
|
|
|
|
dailyIncomeAggregate.edit(dailyIncome); |
|
|
|
|
|
} else { |
|
|
|
|
|
dailyIncome = new DailyIncome(); |
|
|
|
|
|
dailyIncome.setIncome(income); |
|
|
|
|
|
dailyIncome.setStatDate(statDate); |
|
|
|
|
|
dailyIncomeAggregate.create(dailyIncome); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |