diff --git a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/marriagebounty/entity/MarriageBountyOrder.java b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/marriagebounty/entity/MarriageBountyOrder.java index 1eeba6e..1bda1d7 100644 --- a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/marriagebounty/entity/MarriageBountyOrder.java +++ b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/marriagebounty/entity/MarriageBountyOrder.java @@ -27,7 +27,7 @@ public class MarriageBountyOrder extends Entity { @ApiModelProperty("悬赏招亲订单标识关系") private transient List orderRelList; - @ApiModelProperty("悬赏招亲订单") + @ApiModelProperty("悬赏招亲订单产品记录") private transient List productRecordList; @ApiModelProperty("悬赏招亲订单奖励") diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/MarriageBountyOrderRepositoryImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/MarriageBountyOrderRepositoryImpl.java index 70d17c6..7b800c9 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/MarriageBountyOrderRepositoryImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/MarriageBountyOrderRepositoryImpl.java @@ -14,6 +14,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -86,17 +87,31 @@ public class MarriageBountyOrderRepositoryImpl implements MarriageBountyOrderRep entity.getInsertOrderRewardList().forEach(orderReward -> { orderReward.setMarriageBountyOrderId(entity.getId()); marriageBountyOrderRewardDao.insert(orderReward); + insertRewardReceiveRecord(orderReward.getId(), orderReward.getRewardReceiveRecordList()); }); } if (CollUtil.isNotEmpty(entity.getUpdateOrderRewardList())) { entity.getUpdateOrderRewardList().forEach(orderReward -> { orderReward.setMarriageBountyOrderId(entity.getId()); marriageBountyOrderRewardDao.updateById(orderReward); + insertRewardReceiveRecord(orderReward.getId(), orderReward.getRewardReceiveRecordList()); }); } if (CollUtil.isNotEmpty(entity.getDeleteOrderRewardList())) { - marriageBountyOrderRewardDao.deleteBatchIds(entity.getDeleteOrderRewardList().stream().map(MarriageBountyOrderReward::getId).collect(Collectors.toList())); + List marriageBountyOrderRewardIdList = entity.getDeleteOrderRewardList().stream().map(MarriageBountyOrderReward::getId).collect(Collectors.toList()); + marriageBountyOrderRewardDao.deleteBatchIds(marriageBountyOrderRewardIdList); + marriageBountyOrderRewardReceiveRecordDao.delete(new LambdaQueryWrapper() + .in(MarriageBountyOrderRewardReceiveRecord::getMarriageBountyOrderRewardId, marriageBountyOrderRewardIdList)); } return entity.getId(); } + + private void insertRewardReceiveRecord(Long marriageBountyOrderRewardId, List rewardReceiveRecordList) { + if (CollUtil.isNotEmpty(rewardReceiveRecordList)) { + rewardReceiveRecordList.forEach(rewardReceiveRecord -> { + rewardReceiveRecord.setMarriageBountyOrderRewardId(marriageBountyOrderRewardId); + marriageBountyOrderRewardReceiveRecordDao.insert(rewardReceiveRecord); + }); + } + } }