Browse Source

玫瑰

master
张彭杰 3 months ago
parent
commit
4629584f55
5 changed files with 80 additions and 3 deletions
  1. 5
      dating-agency-mall-server/pom.xml
  2. 38
      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/usermanagement/UserManagementDao.java
  4. 9
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/usermanagement/UserManagementQueryService.java
  5. 24
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/usermanagement/impl/UserManagementQueryServiceImpl.java

5
dating-agency-mall-server/pom.xml

@ -116,6 +116,11 @@
<artifactId>dating-agency-service-sdk</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.qniao</groupId>
<artifactId>dating-agency-chat-audio-entity</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!-- 本地钉钉SDK -->
<dependency>
<groupId>taobao.sdk.java</groupId>

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

@ -2,6 +2,7 @@ package com.qniao.dam.application.service.order;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.qniao.daca.domain.aggregate.usermanagement.entity.UserManagement;
import com.qniao.dam.api.command.order.user.request.UserCalculateSiteActivityOrderDto;
import com.qniao.dam.api.command.order.user.request.UserSubmitSiteActivityOrderDto;
import com.qniao.dam.api.command.order.user.response.UserCalculateMatchmakerOrderFeeVo;
@ -47,6 +48,7 @@ import com.qniao.dam.query.order.OrderQueryService;
import com.qniao.dam.query.product.ProductQueryService;
import com.qniao.dam.query.rewardconfig.RewardConfigQueryService;
import com.qniao.dam.query.right.RightQueryService;
import com.qniao.dam.query.usermanagement.UserManagementQueryService;
import com.qniao.dam.query.usermarriageinformation.UserMarriageInformationQueryService;
import com.qniao.das.application.DatingAgencyServiceApplicationService;
import com.qniao.das.application.request.CalculateSiteActivityFeeDto;
@ -120,6 +122,8 @@ public class OrderApplicationService extends BaseApplicationService {
private OrderDiscountConfigQueryService orderDiscountConfigQueryService;
@Resource
private UserMarriageInformationQueryService userMarriageInformationQueryService;
@Resource
private UserManagementQueryService userManagementQueryService;
@Value("${default_marriage_bounty_matchmaker_id}")
@ -492,6 +496,8 @@ public class OrderApplicationService extends BaseApplicationService {
*/
public UserSubmitOrderVo submitMatchMakerOrder(Order order,
MatchmakerOrderTypeEnum matchmakerOrderType) {
//免费红娘直播时长有要求
checkLiveDuration(order, matchmakerOrderType);
//1. 填充订单信息 + 同类型权益不同规格限制购买和提醒
fillOrderInfo(order);
//2. 结束历史订单
@ -506,6 +512,32 @@ public class OrderApplicationService extends BaseApplicationService {
return new UserSubmitOrderVo(order.getId(), paymentOrder.getId(), false);
}
private void checkLiveDuration(Order order,
MatchmakerOrderTypeEnum matchmakerOrderType) {
if (MatchmakerOrderTypeEnum.JOIN.equals(matchmakerOrderType)) {
if (CollUtil.isNotEmpty(order.getOrderItemList())) {
for (OrderItem orderItem : order.getOrderItemList()) {
ProductSpec productSpec = productSpecRepository.load(orderItem.getProductSpecId());
Product product = productRepository.load(productSpec.getProductId());
if (ProductSubCategoryEnum.MATCHMAKER_FREE_FEE.equals(product.getSubCategory())) {
//免费红娘
boolean enable = false;
UserManagement userManagement = userManagementQueryService.queryByUserId(order.getUserId());
if (Objects.nonNull(userManagement)) {
//todo
if (userManagement.getLiveDurationMins() >= 600) {
enable = true;
}
}
if (!enable) {
throw new BizException("直播时长不足");
}
}
}
}
}
}
private void cancelHisOrder(Order order) {
List<Order> orderList = orderQueryService.listHis(order.getUserId(), order.getOrderBelonging(), OrderStatusEnum.UNPAID);
if (CollUtil.isNotEmpty(orderList)) {
@ -570,9 +602,9 @@ public class OrderApplicationService extends BaseApplicationService {
}
}
order.calculate();
if (order.getSettlementAmount().compareTo(BigDecimal.ZERO) <= 0) {
throw new BizException("订单金额应该大于0");
}
// if (order.getSettlementAmount().compareTo(BigDecimal.ZERO) <= 0) {
// throw new BizException("订单金额应该大于0");
// }
}
}

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

@ -0,0 +1,7 @@
package com.qniao.dam.infrastructure.persistent.dao.usermanagement;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qniao.daca.domain.aggregate.usermanagement.entity.UserManagement;
public interface UserManagementDao extends BaseMapper<UserManagement> {
}

9
dating-agency-mall-server/src/main/java/com/qniao/dam/query/usermanagement/UserManagementQueryService.java

@ -0,0 +1,9 @@
package com.qniao.dam.query.usermanagement;
import com.qniao.daca.domain.aggregate.usermanagement.entity.UserManagement;
public interface UserManagementQueryService {
UserManagement queryByUserId(Long userId);
}

24
dating-agency-mall-server/src/main/java/com/qniao/dam/query/usermanagement/impl/UserManagementQueryServiceImpl.java

@ -0,0 +1,24 @@
package com.qniao.dam.query.usermanagement.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qniao.daca.domain.aggregate.usermanagement.entity.UserManagement;
import com.qniao.dam.infrastructure.persistent.dao.usermanagement.UserManagementDao;
import com.qniao.dam.query.usermanagement.UserManagementQueryService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class UserManagementQueryServiceImpl implements UserManagementQueryService {
@Resource
private UserManagementDao userManagementDao;
@Override
public UserManagement queryByUserId(Long userId) {
return userManagementDao.selectOne(new LambdaQueryWrapper<UserManagement>()
.eq(UserManagement::getUserId, userId)
.last("limit 1"));
}
}
Loading…
Cancel
Save