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; 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.RafflePrizeActivityAggregate;
import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity; 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.entity.RafflePrizeActivityItem;
import com.qniao.dam.domain.aggregate.rpa.repository.RafflePrizeActivityRepository; import com.qniao.dam.domain.aggregate.rpa.repository.RafflePrizeActivityRepository;
import com.qniao.dam.infrastructure.persistent.dao.rpa.RafflePrizeActivityDao; import com.qniao.dam.infrastructure.persistent.dao.rpa.RafflePrizeActivityDao;
import com.qniao.dam.infrastructure.utils.CompareEntityUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -30,6 +32,11 @@ public class RafflePrizeActivityApplicationService {
} }
public void edit(RafflePrizeActivity rafflePrizeActivity) { 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); 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); RafflePrizeActivity rafflePrizeActivity = rafflePrizeActivityRepository.load(id);
int num = rafflePrizeActivity.getItemList().stream() int num = rafflePrizeActivity.getItemList().stream()
.map(RafflePrizeActivityItem::getWinningRate).reduce(BigDecimal.ZERO, BigDecimal::add) .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 javax.annotation.Resource;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* 抽奖奖品活动 * 抽奖奖品活动
@ -41,20 +42,23 @@ public class RafflePrizeActivityRepositoryImpl implements RafflePrizeActivityRep
public Long save(RafflePrizeActivity entity) { public Long save(RafflePrizeActivity entity) {
if (Objects.isNull(entity.getId()) || Objects.isNull(dao.selectById(entity.getId()))) { if (Objects.isNull(entity.getId()) || Objects.isNull(dao.selectById(entity.getId()))) {
dao.insert(entity); dao.insert(entity);
if (CollUtil.isNotEmpty(entity.getItemList())) {
entity.getItemList().forEach(item -> {
item.setRafflePrizeActivityId(entity.getId());
rafflePrizeActivityItemDao.insert(item);
});
}
} else { } else {
dao.updateById(entity); 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(); return entity.getId();
} }

Loading…
Cancel
Save