Browse Source

红娘订单

master
张彭杰 1 year ago
parent
commit
1238d68f98
5 changed files with 68 additions and 6 deletions
  1. 4
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/request/UserSubmitMarriageBountyOrderDto.java
  2. 22
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/order/OrderApplicationService.java
  3. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/MatchmakerMarriageInformationDao.java
  4. 9
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/matchmakermarriage/MatchmakerMarriageInformationQueryService.java
  5. 32
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/matchmakermarriage/impl/MatchmakerMarriageInformationQueryServiceImpl.java

4
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/order/user/request/UserSubmitMarriageBountyOrderDto.java

@ -32,6 +32,9 @@ public class UserSubmitMarriageBountyOrderDto implements Trans2DomainAssembler<O
@NotNull(message = "征婚资料标识不能为空")
private Long miId;
@ApiModelProperty("发榜红娘ID")
private Long matchmakerId;
@ApiModelProperty("悬赏招亲版本展示")
private MarriageBountyOrderDisplay display;
@ -66,6 +69,7 @@ public class UserSubmitMarriageBountyOrderDto implements Trans2DomainAssembler<O
MarriageBountyOrder marriageBountyOrder = new MarriageBountyOrder();
marriageBountyOrder.setMiId(miId);
marriageBountyOrder.setType(type);
marriageBountyOrder.setMatchmakerId(matchmakerId);
//可见范围
if (Objects.isNull(display)) {
//默认所有人可见

22
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/order/OrderApplicationService.java

@ -34,10 +34,10 @@ import com.qniao.dam.domian.aggregate.product.constant.ProductTypeEnum;
import com.qniao.dam.domian.aggregate.rewardconfig.constant.RewardTypeEnum;
import com.qniao.dam.infrastructure.persistent.dao.activity.ActivityProductDao;
import com.qniao.dam.infrastructure.persistent.dao.domain.MarriageInformationDao;
import com.qniao.dam.infrastructure.persistent.dao.domain.MatchmakerDao;
import com.qniao.dam.infrastructure.utils.SnowFlakeUtil;
import com.qniao.dam.query.marriagebounty.MarriageBountyOrderQueryService;
import com.qniao.dam.query.matchmaker.MatchmakerQueryService;
import com.qniao.dam.query.matchmakermarriage.MatchmakerMarriageInformationQueryService;
import com.qniao.dam.query.order.OrderQueryService;
import com.qniao.dam.query.product.ProductQueryService;
import com.qniao.dam.query.rewardconfig.RewardConfigQueryService;
@ -46,6 +46,7 @@ import com.qniao.das.application.DatingAgencyServiceApplicationService;
import com.qniao.das.application.request.CalculateSiteActivityFeeDto;
import com.qniao.das.application.response.CalculateSiteActivityFeeVo;
import com.qniao.das.domian.aggregate.marriageinformation.MarriageInformation;
import com.qniao.das.domian.aggregate.matchmakermarriage.MatchmakerMarriageInformation;
import com.qniao.das.domian.aggregate.vip.VIPEnum;
import com.qniao.dau.domain.aggregate.matchmaker.entity.Matchmaker;
import com.qniao.domain.BaseApplicationService;
@ -99,9 +100,8 @@ public class OrderApplicationService extends BaseApplicationService {
private DatingAgencyServiceApplicationService datingAgencyServiceApplicationService;
@Resource
private RewardConfigQueryService rewardConfigQueryService;
@Value("${marriage_bounty_meeting_quantity:5}")
private Integer marriageBountyMeetingQuantity;
@Resource
private MatchmakerMarriageInformationQueryService matchmakerMarriageInformationQueryService;
@Value("${default_marriage_bounty_matchmaker_id}")
private Long defaultMarriageBountyMatchmakerId;
@ -220,8 +220,18 @@ public class OrderApplicationService extends BaseApplicationService {
order.setOrderCode(snowFlakeUtil.getSnowflakeOrderCode());
//5. 选择发榜服务红娘
if (PublishIdentityTypeEnum.GUEST.equals(marriageBountyOrder.getPublishType())) {
//选择默认平台红娘
marriageBountyOrder.setMatchmakerId(defaultMarriageBountyMatchmakerId);
if (Objects.isNull(marriageBountyOrder.getMatchmakerId())) {
//没有人邀请发榜
RewardConfig rewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.MARRIAGE_BOUNTY_MATCHMAKER_PROTECTION_PERIOD);
MatchmakerMarriageInformation matchmakerMarriageInformation = matchmakerMarriageInformationQueryService.queryByRecommend(marriageBountyOrder.getUserId(), null);
if (Objects.nonNull(rewardConfig) && Objects.nonNull(matchmakerMarriageInformation) &&
LocalDateTime.now().isBefore(rewardConfig.getPeriodTime(matchmakerMarriageInformation.getCreateTime()))) {
marriageBountyOrder.setMatchmakerId(matchmakerMarriageInformation.getMatchmakerId());
} else {
//选择默认平台红娘
marriageBountyOrder.setMatchmakerId(defaultMarriageBountyMatchmakerId);
}
}
} else {
//红娘发榜
Matchmaker matchmaker = matchmakerQueryService.queryByUserId(marriageBountyOrder.getUserId());

7
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/MatchmakerMarriageInformationDao.java

@ -0,0 +1,7 @@
package com.qniao.dam.infrastructure.persistent.dao.domain;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qniao.das.domian.aggregate.matchmakermarriage.MatchmakerMarriageInformation;
public interface MatchmakerMarriageInformationDao extends BaseMapper<MatchmakerMarriageInformation> {
}

9
dating-agency-mall-server/src/main/java/com/qniao/dam/query/matchmakermarriage/MatchmakerMarriageInformationQueryService.java

@ -0,0 +1,9 @@
package com.qniao.dam.query.matchmakermarriage;
import com.qniao.das.domian.aggregate.matchmakermarriage.MatchmakerMarriageInformation;
public interface MatchmakerMarriageInformationQueryService {
MatchmakerMarriageInformation queryByRecommend(Long userId, Long miId);
}

32
dating-agency-mall-server/src/main/java/com/qniao/dam/query/matchmakermarriage/impl/MatchmakerMarriageInformationQueryServiceImpl.java

@ -0,0 +1,32 @@
package com.qniao.dam.query.matchmakermarriage.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qniao.dam.infrastructure.persistent.dao.domain.MatchmakerMarriageInformationDao;
import com.qniao.dam.query.matchmakermarriage.MatchmakerMarriageInformationQueryService;
import com.qniao.das.domian.aggregate.matchmakermarriage.MatchmakerMarriageInformation;
import com.qniao.das.domian.aggregate.matchmakermarriage.constant.RelationTypeEnum;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Objects;
@Service
public class MatchmakerMarriageInformationQueryServiceImpl implements MatchmakerMarriageInformationQueryService {
@Resource
private MatchmakerMarriageInformationDao matchmakerMarriageInformationDao;
@Override
public MatchmakerMarriageInformation queryByRecommend(Long userId, Long miId) {
LambdaQueryWrapper<MatchmakerMarriageInformation> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MatchmakerMarriageInformation::getUserId, userId);
if (Objects.nonNull(miId)) {
wrapper.eq(MatchmakerMarriageInformation::getMiId, miId);
} else {
wrapper.isNull(MatchmakerMarriageInformation::getMiId);
}
wrapper.eq(MatchmakerMarriageInformation::getRelationType, RelationTypeEnum.RECOMMEND);
wrapper.last("limit 1");
return matchmakerMarriageInformationDao.selectOne(wrapper);
}
}
Loading…
Cancel
Save