Browse Source

审核

release
张彭杰 1 year ago
parent
commit
bf25dfb74e
2 changed files with 24 additions and 13 deletions
  1. 9
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/rpa/RafflePrizeActivityApplicationService.java
  2. 28
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeActivityRepositoryImpl.java

9
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/rpa/RafflePrizeActivityApplicationService.java

@ -1,10 +1,12 @@
package com.qniao.dam.application.service.rpa;
import cn.hutool.core.lang.Tuple;
import com.qniao.dam.domain.aggregate.rpa.RafflePrizeActivityAggregate;
import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity;
import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivityItem;
import com.qniao.dam.domain.aggregate.rpa.repository.RafflePrizeActivityRepository;
import com.qniao.dam.infrastructure.persistent.dao.rpa.RafflePrizeActivityDao;
import com.qniao.dam.infrastructure.utils.CompareEntityUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -30,6 +32,11 @@ public class RafflePrizeActivityApplicationService {
}
public void edit(RafflePrizeActivity rafflePrizeActivity) {
RafflePrizeActivity oldRafflePrizeActivity = rafflePrizeActivityRepository.load(rafflePrizeActivity.getId());
Tuple tuple = CompareEntityUtil.compareEntityList(rafflePrizeActivity.getItemList(), oldRafflePrizeActivity.getItemList());
rafflePrizeActivity.setInsertItemList(tuple.get(0));
rafflePrizeActivity.setUpdateItemList(tuple.get(1));
rafflePrizeActivity.setDeleteItemList(tuple.get(2));
rafflePrizeActivityAggregate.edit(rafflePrizeActivity);
}
@ -45,7 +52,7 @@ public class RafflePrizeActivityApplicationService {
}
}
public RafflePrizeActivityItem draw(Long id) {
public RafflePrizeActivityItem draw(Long id) {
RafflePrizeActivity rafflePrizeActivity = rafflePrizeActivityRepository.load(id);
int num = rafflePrizeActivity.getItemList().stream()
.map(RafflePrizeActivityItem::getWinningRate).reduce(BigDecimal.ZERO, BigDecimal::add)

28
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeActivityRepositoryImpl.java

@ -12,6 +12,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 抽奖奖品活动
@ -41,20 +42,23 @@ public class RafflePrizeActivityRepositoryImpl implements RafflePrizeActivityRep
public Long save(RafflePrizeActivity entity) {
if (Objects.isNull(entity.getId()) || Objects.isNull(dao.selectById(entity.getId()))) {
dao.insert(entity);
if (CollUtil.isNotEmpty(entity.getItemList())) {
entity.getItemList().forEach(item -> {
item.setRafflePrizeActivityId(entity.getId());
rafflePrizeActivityItemDao.insert(item);
});
}
} else {
dao.updateById(entity);
if (CollUtil.isNotEmpty(entity.getItemList())) {
entity.getItemList().forEach(item -> {
item.setRafflePrizeActivityId(entity.getId());
rafflePrizeActivityItemDao.updateById(item);
});
}
}
if (CollUtil.isNotEmpty(entity.getInsertItemList())) {
entity.getInsertItemList().forEach(item -> {
item.setRafflePrizeActivityId(entity.getId());
rafflePrizeActivityItemDao.insert(item);
});
}
if (CollUtil.isNotEmpty(entity.getUpdateItemList())) {
entity.getUpdateItemList().forEach(item -> {
item.setRafflePrizeActivityId(entity.getId());
rafflePrizeActivityItemDao.updateById(item);
});
}
if (CollUtil.isNotEmpty(entity.getDeleteItemList())) {
rafflePrizeActivityItemDao.deleteBatchIds(entity.getDeleteItemList().stream().map(RafflePrizeActivityItem::getId).collect(Collectors.toList()));
}
return entity.getId();
}

Loading…
Cancel
Save