15 changed files with 380 additions and 4 deletions
Split View
Diff Options
-
31dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/esf/entity/EntrustServiceFee.java
-
27dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/esf/user/EntrustServiceFeeUserCommandController.java
-
27dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/esf/user/request/UserCreateEntrustServiceFeeDto.java
-
12dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/esf/user/request/UserDeleteEntrustServiceFeeDto.java
-
34dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/esf/user/request/UserEditEntrustServiceFeeDto.java
-
28dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/esf/user/EntrustServiceFeeUserQueryController.java
-
17dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/esf/user/response/UserEntrustServiceFeeVo.java
-
34dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/esf/EntrustServiceFeeApplicationService.java
-
11dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/order/OrderApplicationService.java
-
31dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/esf/EntrustServiceFeeAggregate.java
-
12dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/esf/repository/EntrustServiceFeeRepository.java
-
12dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/esf/EntrustServiceFeeDao.java
-
41dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/EntrustServiceFeeRepositoryImpl.java
-
12dating-agency-mall-server/src/main/java/com/qniao/dam/query/esf/EntrustServiceFeeQueryService.java
-
55dating-agency-mall-server/src/main/java/com/qniao/dam/query/esf/impl/EntrustServiceFeeQueryServiceImpl.java
@ -0,0 +1,31 @@ |
|||
package com.qniao.dam.domain.aggregate.esf.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.qniao.dam.domian.aggregate.eso.constant.EntrustServiceTypeEnum; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import com.qniao.domain.Entity; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
/** |
|||
* 委托服务费用 |
|||
* |
|||
* @date 2026/03/07 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@TableName("da_entrust_service_fee") |
|||
public class EntrustServiceFee extends Entity<EntrustServiceFee> { |
|||
|
|||
@ApiModelProperty("征婚资料标识") |
|||
private Long miId; |
|||
|
|||
@ApiModelProperty("委托服务类型") |
|||
private EntrustServiceTypeEnum type; |
|||
|
|||
@ApiModelProperty("费用") |
|||
private BigDecimal fee; |
|||
|
|||
} |
|||
@ -0,0 +1,27 @@ |
|||
package com.qniao.dam.api.command.esf.user; |
|||
|
|||
import com.qniao.dam.api.command.esf.user.request.*; |
|||
import com.qniao.dam.application.service.esf.EntrustServiceFeeApplicationService; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import javax.annotation.Resource; |
|||
import javax.validation.Valid; |
|||
|
|||
@Api(tags = "委托服务费用") |
|||
@RestController |
|||
@RequestMapping("user") |
|||
public class EntrustServiceFeeUserCommandController { |
|||
|
|||
@Resource |
|||
private EntrustServiceFeeApplicationService entrustServiceFeeApplicationService; |
|||
|
|||
@ApiOperation("用户编辑委托服务费用") |
|||
@PostMapping("edit/entrust-service-fee") |
|||
public void userEditEntrustServiceFee(@RequestBody @Valid UserEditEntrustServiceFeeDto dto, |
|||
@RequestParam("userId") Long userId) { |
|||
entrustServiceFeeApplicationService.edit(dto.trans2Domain()); |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,27 @@ |
|||
package com.qniao.dam.api.command.esf.user.request; |
|||
|
|||
import com.qniao.dam.domain.aggregate.esf.entity.EntrustServiceFee; |
|||
import com.qniao.domain.Trans2DomainAssembler; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import com.qniao.framework.utils.TypeConvertUtils; |
|||
import java.math.BigDecimal; |
|||
import lombok.Data; |
|||
|
|||
@Data |
|||
public class UserCreateEntrustServiceFeeDto implements Trans2DomainAssembler<EntrustServiceFee> { |
|||
|
|||
|
|||
@ApiModelProperty("征婚资料标识") |
|||
private Long miId; |
|||
|
|||
@ApiModelProperty("委托服务类型") |
|||
private Integer type; |
|||
|
|||
@ApiModelProperty("费用") |
|||
private BigDecimal fee; |
|||
|
|||
@Override |
|||
public EntrustServiceFee trans2Domain() { |
|||
return TypeConvertUtils.convert(this, EntrustServiceFee.class); |
|||
} |
|||
} |
|||
@ -0,0 +1,12 @@ |
|||
package com.qniao.dam.api.command.esf.user.request; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
@Data |
|||
public class UserDeleteEntrustServiceFeeDto { |
|||
|
|||
@ApiModelProperty("唯一标识") |
|||
private Long id; |
|||
|
|||
} |
|||
@ -0,0 +1,34 @@ |
|||
package com.qniao.dam.api.command.esf.user.request; |
|||
|
|||
import com.qniao.dam.domain.aggregate.esf.entity.EntrustServiceFee; |
|||
import com.qniao.dam.domian.aggregate.eso.constant.EntrustServiceTypeEnum; |
|||
import com.qniao.domain.Trans2DomainAssembler; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import com.qniao.framework.utils.TypeConvertUtils; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
|
|||
@Data |
|||
public class UserEditEntrustServiceFeeDto implements Trans2DomainAssembler<EntrustServiceFee> { |
|||
|
|||
@ApiModelProperty("征婚资料标识") |
|||
@NotNull(message = "征婚资料标识不能为空") |
|||
private Long miId; |
|||
|
|||
@ApiModelProperty("委托服务类型") |
|||
@NotNull(message = "委托服务类型不能为空") |
|||
private EntrustServiceTypeEnum type; |
|||
|
|||
@ApiModelProperty("费用") |
|||
@NotNull(message = "费用不能为空") |
|||
private BigDecimal fee; |
|||
|
|||
@Override |
|||
public EntrustServiceFee trans2Domain() { |
|||
return TypeConvertUtils.convert(this, EntrustServiceFee.class); |
|||
} |
|||
} |
|||
@ -0,0 +1,28 @@ |
|||
package com.qniao.dam.api.query.esf.user; |
|||
|
|||
import com.qniao.dam.api.query.esf.user.response.UserEntrustServiceFeeVo; |
|||
import com.qniao.dam.query.esf.EntrustServiceFeeQueryService; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RequestParam; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import javax.annotation.Resource; |
|||
|
|||
@Api(tags = "委托服务费用") |
|||
@RestController |
|||
@RequestMapping("user") |
|||
public class EntrustServiceFeeUserQueryController { |
|||
|
|||
@Resource |
|||
private EntrustServiceFeeQueryService entrustServiceFeeQueryService; |
|||
|
|||
@GetMapping("get/entrust-service-fee") |
|||
@ApiOperation("用户获取委托服务费用") |
|||
public UserEntrustServiceFeeVo userGetEntrustServiceFee(@RequestParam("miId") Long miId) { |
|||
return entrustServiceFeeQueryService.getEntrustServiceFee(miId); |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,17 @@ |
|||
package com.qniao.dam.api.query.esf.user.response; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
@Data |
|||
public class UserEntrustServiceFeeVo { |
|||
|
|||
@ApiModelProperty("交换联系方式费用") |
|||
private BigDecimal contactInfoExchangeFee; |
|||
|
|||
@ApiModelProperty("线下见面费用") |
|||
private BigDecimal offlineMeetingFee; |
|||
|
|||
} |
|||
@ -0,0 +1,34 @@ |
|||
package com.qniao.dam.application.service.esf; |
|||
|
|||
import com.qniao.dam.domain.aggregate.esf.EntrustServiceFeeAggregate; |
|||
import com.qniao.dam.domain.aggregate.esf.entity.EntrustServiceFee; |
|||
import com.qniao.dam.query.esf.EntrustServiceFeeQueryService; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.util.Objects; |
|||
|
|||
@Service |
|||
public class EntrustServiceFeeApplicationService { |
|||
|
|||
@Resource |
|||
private EntrustServiceFeeAggregate entrustServiceFeeAggregate; |
|||
@Resource |
|||
private EntrustServiceFeeQueryService entrustServiceFeeQueryService; |
|||
|
|||
public void create(EntrustServiceFee entrustServiceFee) { |
|||
entrustServiceFeeAggregate.create(entrustServiceFee); |
|||
} |
|||
|
|||
public void edit(EntrustServiceFee entrustServiceFee) { |
|||
EntrustServiceFee existEntrustServiceFee = entrustServiceFeeQueryService.queryBy(entrustServiceFee.getMiId(), entrustServiceFee.getType()); |
|||
if (Objects.nonNull(existEntrustServiceFee)){ |
|||
entrustServiceFee.setId(existEntrustServiceFee.getId()); |
|||
} |
|||
entrustServiceFeeAggregate.edit(entrustServiceFee); |
|||
} |
|||
|
|||
public void delete(Long id) { |
|||
entrustServiceFeeAggregate.delete(id); |
|||
} |
|||
} |
|||
@ -0,0 +1,31 @@ |
|||
package com.qniao.dam.domain.aggregate.esf; |
|||
|
|||
import com.qniao.dam.domain.aggregate.esf.entity.EntrustServiceFee; |
|||
import com.qniao.dam.domain.aggregate.esf.repository.EntrustServiceFeeRepository; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import javax.annotation.Resource; |
|||
|
|||
/** |
|||
* 委托服务费用 |
|||
* |
|||
* @date 2026/03/07 |
|||
*/ |
|||
@Service |
|||
public class EntrustServiceFeeAggregate { |
|||
|
|||
@Resource |
|||
private EntrustServiceFeeRepository repository; |
|||
|
|||
public void create(EntrustServiceFee entity) { |
|||
repository.save(entity); |
|||
} |
|||
|
|||
public void edit(EntrustServiceFee entity) { |
|||
repository.save(entity); |
|||
} |
|||
|
|||
public void delete(Long id) { |
|||
repository.delete(id); |
|||
} |
|||
} |
|||
@ -0,0 +1,12 @@ |
|||
package com.qniao.dam.domain.aggregate.esf.repository; |
|||
|
|||
import com.qniao.dam.domain.aggregate.esf.entity.EntrustServiceFee; |
|||
import com.qniao.domain.Repository; |
|||
|
|||
/** |
|||
* 委托服务费用 |
|||
* |
|||
* @date 2026/03/07 |
|||
*/ |
|||
public interface EntrustServiceFeeRepository extends Repository<EntrustServiceFee, Long> { |
|||
} |
|||
@ -0,0 +1,12 @@ |
|||
package com.qniao.dam.infrastructure.persistent.dao.esf; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.qniao.dam.domain.aggregate.esf.entity.EntrustServiceFee; |
|||
|
|||
/** |
|||
* 委托服务费用 |
|||
* |
|||
* @date 2026/03/07 |
|||
*/ |
|||
public interface EntrustServiceFeeDao extends BaseMapper<EntrustServiceFee> { |
|||
} |
|||
@ -0,0 +1,41 @@ |
|||
package com.qniao.dam.infrastructure.persistent.repository.impl; |
|||
|
|||
import com.qniao.dam.domain.aggregate.esf.entity.EntrustServiceFee; |
|||
import com.qniao.dam.domain.aggregate.esf.repository.EntrustServiceFeeRepository; |
|||
import com.qniao.dam.infrastructure.persistent.dao.esf.EntrustServiceFeeDao; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.util.Objects; |
|||
|
|||
/** |
|||
* 委托服务费用 |
|||
* |
|||
* @date 2026/03/07 |
|||
*/ |
|||
@Service |
|||
public class EntrustServiceFeeRepositoryImpl implements EntrustServiceFeeRepository { |
|||
|
|||
@Resource |
|||
private EntrustServiceFeeDao dao; |
|||
|
|||
@Override |
|||
public EntrustServiceFee load(Long id) { |
|||
return dao.selectById(id); |
|||
} |
|||
|
|||
@Override |
|||
public Long save(EntrustServiceFee entity) { |
|||
if (Objects.isNull(entity) || Objects.isNull(dao.selectById(entity.getId()))) { |
|||
dao.insert(entity); |
|||
} else { |
|||
dao.updateById(entity); |
|||
} |
|||
return entity.getId(); |
|||
} |
|||
|
|||
@Override |
|||
public void delete(Long id) { |
|||
dao.deleteById(id); |
|||
} |
|||
} |
|||
@ -0,0 +1,12 @@ |
|||
package com.qniao.dam.query.esf; |
|||
|
|||
import com.qniao.dam.api.query.esf.user.response.UserEntrustServiceFeeVo; |
|||
import com.qniao.dam.domain.aggregate.esf.entity.EntrustServiceFee; |
|||
import com.qniao.dam.domian.aggregate.eso.constant.EntrustServiceTypeEnum; |
|||
|
|||
public interface EntrustServiceFeeQueryService { |
|||
|
|||
UserEntrustServiceFeeVo getEntrustServiceFee(Long miId); |
|||
|
|||
EntrustServiceFee queryBy(Long miId, EntrustServiceTypeEnum type); |
|||
} |
|||
@ -0,0 +1,55 @@ |
|||
package com.qniao.dam.query.esf.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.qniao.dam.api.query.esf.user.response.UserEntrustServiceFeeVo; |
|||
import com.qniao.dam.domain.aggregate.esf.entity.EntrustServiceFee; |
|||
import com.qniao.dam.domain.aggregate.rewardconfig.entity.RewardConfig; |
|||
import com.qniao.dam.domian.aggregate.eso.constant.EntrustServiceTypeEnum; |
|||
import com.qniao.dam.domian.aggregate.rewardconfig.constant.RewardTypeEnum; |
|||
import com.qniao.dam.infrastructure.persistent.dao.esf.EntrustServiceFeeDao; |
|||
import com.qniao.dam.query.esf.EntrustServiceFeeQueryService; |
|||
import com.qniao.dam.query.rewardconfig.RewardConfigQueryService; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.math.BigDecimal; |
|||
import java.util.Objects; |
|||
|
|||
@Service |
|||
public class EntrustServiceFeeQueryServiceImpl implements EntrustServiceFeeQueryService { |
|||
|
|||
@Resource |
|||
private RewardConfigQueryService rewardConfigQueryService; |
|||
@Resource |
|||
private EntrustServiceFeeDao entrustServiceFeeDao; |
|||
|
|||
|
|||
@Override |
|||
public UserEntrustServiceFeeVo getEntrustServiceFee(Long miId) { |
|||
UserEntrustServiceFeeVo feeVo = new UserEntrustServiceFeeVo(); |
|||
EntrustServiceFee contactInfoExchangeFee = queryBy(miId, EntrustServiceTypeEnum.CONTACT_INFO_EXCHANGE); |
|||
if (Objects.nonNull(contactInfoExchangeFee)) { |
|||
feeVo.setContactInfoExchangeFee(contactInfoExchangeFee.getFee()); |
|||
} else { |
|||
RewardConfig rewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.ENTRUST_SERVICE_CONTACT_INFO_EXCHANGE_FEE); |
|||
feeVo.setContactInfoExchangeFee(new BigDecimal(rewardConfig.getValue())); |
|||
} |
|||
EntrustServiceFee offlineMeetingFee = queryBy(miId, EntrustServiceTypeEnum.OFFLINE_MEETING); |
|||
if (Objects.nonNull(offlineMeetingFee)) { |
|||
feeVo.setOfflineMeetingFee(offlineMeetingFee.getFee()); |
|||
} else { |
|||
RewardConfig rewardConfig = rewardConfigQueryService.queryByRewardType(RewardTypeEnum.ENTRUST_SERVICE_OFFLINE_MEETING_FEE); |
|||
feeVo.setOfflineMeetingFee(new BigDecimal(rewardConfig.getValue())); |
|||
} |
|||
return feeVo; |
|||
} |
|||
|
|||
@Override |
|||
public EntrustServiceFee queryBy(Long miId, EntrustServiceTypeEnum type) { |
|||
return entrustServiceFeeDao.selectOne(new LambdaQueryWrapper<EntrustServiceFee>() |
|||
.eq(EntrustServiceFee::getMiId, miId) |
|||
.eq(EntrustServiceFee::getType, type) |
|||
.last("limit 1")); |
|||
} |
|||
|
|||
} |
|||
Write
Preview
Loading…
Cancel
Save