Browse Source

委托服务费用

master
张彭杰 3 weeks ago
parent
commit
38945ce674
10 changed files with 270 additions and 0 deletions
  1. 31
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/EntrustServiceOrderUserQueryController.java
  2. 18
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/request/PageEntrustServiceOrderByInitiatorQueryParams.java
  3. 61
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/response/UserPageEntrustServiceOrderByInitiatorVo.java
  4. 75
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/marriageinformation/response/MarriageInformationVo.java
  5. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/eso/EntrustServiceOrderDao.java
  6. 8
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/EntrustServiceOrderQueryService.java
  7. 20
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/impl/EntrustServiceOrderQueryServiceImpl.java
  8. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/marriageinformation/MarriageInformationQueryService.java
  9. 15
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/marriageinformation/impl/MarriageInformationQueryServiceImpl.java
  10. 33
      dating-agency-mall-server/src/main/resources/mapper/eso/EntrustServiceOrderDao.xml

31
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/EntrustServiceOrderUserQueryController.java

@ -0,0 +1,31 @@
package com.qniao.dam.api.query.eso.user;
import com.qniao.dam.api.query.eso.user.request.PageEntrustServiceOrderByInitiatorQueryParams;
import com.qniao.dam.api.query.eso.user.response.UserPageEntrustServiceOrderByInitiatorVo;
import com.qniao.dam.query.eso.EntrustServiceOrderQueryService;
import com.qniao.domain.QnPage;
import com.qniao.framework.utils.PageUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@Api(tags = "委托服务单")
@RestController
@RequestMapping("user")
public class EntrustServiceOrderUserQueryController {
@Resource
private EntrustServiceOrderQueryService entrustServiceOrderQueryService;
@GetMapping("page/entrust-service-order/by/initiator")
@ApiOperation("发起人获取委托服务单列表")
public QnPage<UserPageEntrustServiceOrderByInitiatorVo> userPageOrderByOperator(PageUtil pageUtil,
PageEntrustServiceOrderByInitiatorQueryParams queryParams,
@RequestParam("userId") Long userId) {
queryParams.setQueryInitiatorUserId(userId);
return PageUtil.convert(entrustServiceOrderQueryService.userPageOrderByInitiator(pageUtil, queryParams), UserPageEntrustServiceOrderByInitiatorVo.class);
}
}

18
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/request/PageEntrustServiceOrderByInitiatorQueryParams.java

@ -0,0 +1,18 @@
package com.qniao.dam.api.query.eso.user.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class PageEntrustServiceOrderByInitiatorQueryParams {
@ApiModelProperty(hidden = true)
private Long queryInitiatorUserId;
@ApiModelProperty("状态")
private Integer status;
@ApiModelProperty("付款状态")
private Integer paymentStatus;
}

61
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/response/UserPageEntrustServiceOrderByInitiatorVo.java

@ -0,0 +1,61 @@
package com.qniao.dam.api.query.eso.user.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qniao.dam.api.query.marriageinformation.response.MarriageInformationVo;
import com.qniao.dam.domian.aggregate.eso.constant.EntrustServicePaymentStatusEnum;
import com.qniao.dam.domian.aggregate.eso.constant.EntrustServiceStatusEnum;
import com.qniao.dam.domian.aggregate.eso.constant.EntrustServiceTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class UserPageEntrustServiceOrderByInitiatorVo {
@ApiModelProperty("目标用户标识")
@JsonSerialize(using = ToStringSerializer.class)
private Long targetUserId;
@ApiModelProperty("目标资料标识")
@JsonSerialize(using = ToStringSerializer.class)
private Long targetMiId;
@ApiModelProperty("目标资料信息")
@JsonSerialize(using = ToStringSerializer.class)
private MarriageInformationVo targetMiInfo;
@ApiModelProperty("红娘标识")
@JsonSerialize(using = ToStringSerializer.class)
private Long matchmakerId;
@ApiModelProperty("委托服务类型")
private EntrustServiceTypeEnum type;
@ApiModelProperty("奖励金额")
private BigDecimal rewardAmount;
@ApiModelProperty("关联订单ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long associateOrderId;
@ApiModelProperty("关联订单号")
private String associateOrderCode;
@ApiModelProperty("付款金额")
private BigDecimal paidAmount;
@ApiModelProperty("状态")
private EntrustServiceStatusEnum status;
@ApiModelProperty("付款状态")
private EntrustServicePaymentStatusEnum paymentStatus;
@ApiModelProperty("下单时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
}

75
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/marriageinformation/response/MarriageInformationVo.java

@ -0,0 +1,75 @@
package com.qniao.dam.api.query.marriageinformation.response;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class MarriageInformationVo {
@ApiModelProperty("唯一标识")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("昵称")
private String nickName;
@ApiModelProperty("头像URL")
private String profilePhoto;
@ApiModelProperty("性别 0 男 1女")
private Integer genderCode;
@ApiModelProperty("省编码")
private Integer provinceCode;
@ApiModelProperty("省名称")
private String provinceName;
@ApiModelProperty("市名编码")
private Integer cityCode;
@ApiModelProperty("市名称")
private String cityName;
@ApiModelProperty("区编码")
private Integer districtCode;
@ApiModelProperty("区名称")
private String districtName;
@ApiModelProperty("出身年份")
private String birthYear;
@ApiModelProperty("出身日期")
private String birthDate;
@ApiModelProperty("年龄")
private Integer age;
@ApiModelProperty("身高")
private Integer height;
@ApiModelProperty("体重")
private Integer weight;
@ApiModelProperty("学历编码")
private Integer educationCode;
@ApiModelProperty("学历中文")
private String education;
@ApiModelProperty("最小收入")
private Integer minimumIncome;
@ApiModelProperty("最大收入")
private Integer maximumIncome;
@ApiModelProperty("收入编码")
private Integer incomeCode;
@ApiModelProperty("收入中文")
private String income;
}

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

@ -1,7 +1,12 @@
package com.qniao.dam.infrastructure.persistent.dao.eso; package com.qniao.dam.infrastructure.persistent.dao.eso;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qniao.dam.api.query.eso.user.request.PageEntrustServiceOrderByInitiatorQueryParams;
import com.qniao.dam.api.query.eso.user.response.UserPageEntrustServiceOrderByInitiatorVo;
import com.qniao.dam.domain.aggregate.eso.entity.EntrustServiceOrder; import com.qniao.dam.domain.aggregate.eso.entity.EntrustServiceOrder;
import org.apache.ibatis.annotations.Param;
/** /**
* 委托服务订单 * 委托服务订单
@ -9,4 +14,6 @@ import com.qniao.dam.domain.aggregate.eso.entity.EntrustServiceOrder;
* @date 2026/03/06 * @date 2026/03/06
*/ */
public interface EntrustServiceOrderDao extends BaseMapper<EntrustServiceOrder> { public interface EntrustServiceOrderDao extends BaseMapper<EntrustServiceOrder> {
IPage<UserPageEntrustServiceOrderByInitiatorVo> pageOrderByInitiator(Page<Object> pageWithoutOrders,
@Param("queryParams") PageEntrustServiceOrderByInitiatorQueryParams queryParams);
} }

8
dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/EntrustServiceOrderQueryService.java

@ -1,10 +1,18 @@
package com.qniao.dam.query.eso; package com.qniao.dam.query.eso;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qniao.dam.api.query.eso.user.request.PageEntrustServiceOrderByInitiatorQueryParams;
import com.qniao.dam.api.query.eso.user.response.UserPageEntrustServiceOrderByInitiatorVo;
import com.qniao.dam.domain.aggregate.eso.entity.EntrustServiceOrder; import com.qniao.dam.domain.aggregate.eso.entity.EntrustServiceOrder;
import com.qniao.domain.QnPage;
import com.qniao.framework.utils.PageUtil;
public interface EntrustServiceOrderQueryService { public interface EntrustServiceOrderQueryService {
void checkEntrustServiceOrder(EntrustServiceOrder entrustServiceOrder); void checkEntrustServiceOrder(EntrustServiceOrder entrustServiceOrder);
EntrustServiceOrder queryByAssociateOrderId(Long associateOrderId); EntrustServiceOrder queryByAssociateOrderId(Long associateOrderId);
IPage<UserPageEntrustServiceOrderByInitiatorVo> userPageOrderByInitiator(PageUtil pageUtil,
PageEntrustServiceOrderByInitiatorQueryParams queryParams);
} }

20
dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/impl/EntrustServiceOrderQueryServiceImpl.java

@ -1,10 +1,16 @@
package com.qniao.dam.query.eso.impl; package com.qniao.dam.query.eso.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qniao.dam.api.query.eso.user.request.PageEntrustServiceOrderByInitiatorQueryParams;
import com.qniao.dam.api.query.eso.user.response.UserPageEntrustServiceOrderByInitiatorVo;
import com.qniao.dam.domain.aggregate.eso.entity.EntrustServiceOrder; import com.qniao.dam.domain.aggregate.eso.entity.EntrustServiceOrder;
import com.qniao.dam.domian.aggregate.eso.constant.EntrustServiceStatusEnum; import com.qniao.dam.domian.aggregate.eso.constant.EntrustServiceStatusEnum;
import com.qniao.dam.infrastructure.persistent.dao.eso.EntrustServiceOrderDao; import com.qniao.dam.infrastructure.persistent.dao.eso.EntrustServiceOrderDao;
import com.qniao.dam.query.eso.EntrustServiceOrderQueryService; import com.qniao.dam.query.eso.EntrustServiceOrderQueryService;
import com.qniao.dam.query.marriageinformation.MarriageInformationQueryService;
import com.qniao.das.domian.aggregate.marriageinformation.MarriageInformation;
import com.qniao.framework.utils.PageUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -15,6 +21,8 @@ public class EntrustServiceOrderQueryServiceImpl implements EntrustServiceOrderQ
@Resource @Resource
private EntrustServiceOrderDao entrustServiceOrderDao; private EntrustServiceOrderDao entrustServiceOrderDao;
@Resource
private MarriageInformationQueryService marriageInformationQueryService;
@Override @Override
public void checkEntrustServiceOrder(EntrustServiceOrder entrustServiceOrder) { public void checkEntrustServiceOrder(EntrustServiceOrder entrustServiceOrder) {
@ -32,4 +40,16 @@ public class EntrustServiceOrderQueryServiceImpl implements EntrustServiceOrderQ
.eq(EntrustServiceOrder::getAssociateOrderId, associateOrderId) .eq(EntrustServiceOrder::getAssociateOrderId, associateOrderId)
.last("limit 1")); .last("limit 1"));
} }
@Override
public IPage<UserPageEntrustServiceOrderByInitiatorVo> userPageOrderByInitiator(PageUtil pageUtil,
PageEntrustServiceOrderByInitiatorQueryParams queryParams) {
IPage<UserPageEntrustServiceOrderByInitiatorVo> page = entrustServiceOrderDao.pageOrderByInitiator(pageUtil.toPageWithoutOrders(), queryParams);
if (page.getSize() > 0) {
page.getRecords().forEach(record -> {
record.setTargetMiInfo(marriageInformationQueryService.queryVo(record.getTargetMiId()));
});
}
return page;
}
} }

2
dating-agency-mall-server/src/main/java/com/qniao/dam/query/marriageinformation/MarriageInformationQueryService.java

@ -1,9 +1,11 @@
package com.qniao.dam.query.marriageinformation; package com.qniao.dam.query.marriageinformation;
import com.qniao.dam.api.query.marriageinformation.response.MarriageInformationVo;
import com.qniao.das.domian.aggregate.marriageinformation.MarriageInformation; import com.qniao.das.domian.aggregate.marriageinformation.MarriageInformation;
public interface MarriageInformationQueryService { public interface MarriageInformationQueryService {
MarriageInformation queryByUserId(Long userId); MarriageInformation queryByUserId(Long userId);
MarriageInformationVo queryVo(Long id);
} }

15
dating-agency-mall-server/src/main/java/com/qniao/dam/query/marriageinformation/impl/MarriageInformationQueryServiceImpl.java

@ -1,13 +1,17 @@
package com.qniao.dam.query.marriageinformation.impl; package com.qniao.dam.query.marriageinformation.impl;
import com.qniao.dam.api.query.marriageinformation.response.MarriageInformationVo;
import com.qniao.dam.infrastructure.persistent.dao.domain.MarriageInformationDao; import com.qniao.dam.infrastructure.persistent.dao.domain.MarriageInformationDao;
import com.qniao.dam.infrastructure.utils.AgeCalculatorUtil;
import com.qniao.dam.query.marriageinformation.MarriageInformationQueryService; import com.qniao.dam.query.marriageinformation.MarriageInformationQueryService;
import com.qniao.dam.query.usermarriageinformation.UserMarriageInformationQueryService; import com.qniao.dam.query.usermarriageinformation.UserMarriageInformationQueryService;
import com.qniao.das.domian.aggregate.marriageinformation.MarriageInformation; import com.qniao.das.domian.aggregate.marriageinformation.MarriageInformation;
import com.qniao.das.domian.aggregate.marriageinformation.UserMarriageInformation; import com.qniao.das.domian.aggregate.marriageinformation.UserMarriageInformation;
import com.qniao.framework.utils.TypeConvertUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Objects;
@Service @Service
public class MarriageInformationQueryServiceImpl implements MarriageInformationQueryService { public class MarriageInformationQueryServiceImpl implements MarriageInformationQueryService {
@ -22,4 +26,15 @@ public class MarriageInformationQueryServiceImpl implements MarriageInformationQ
UserMarriageInformation userMarriageInformation = userMarriageInformationQueryService.queryByOwn(userId); UserMarriageInformation userMarriageInformation = userMarriageInformationQueryService.queryByOwn(userId);
return marriageInformationDao.selectById(userMarriageInformation.getMiId()); return marriageInformationDao.selectById(userMarriageInformation.getMiId());
} }
@Override
public MarriageInformationVo queryVo(Long id) {
MarriageInformationVo vo = null;
MarriageInformation marriageInformation = marriageInformationDao.selectById(id);
if (Objects.nonNull(marriageInformation)) {
vo = TypeConvertUtils.convert(marriageInformation, MarriageInformationVo.class);
vo.setAge(AgeCalculatorUtil.calculateAge(vo.getBirthYear(), vo.getBirthDate()));
}
return vo;
}
} }

33
dating-agency-mall-server/src/main/resources/mapper/eso/EntrustServiceOrderDao.xml

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qniao.dam.infrastructure.persistent.dao.eso.EntrustServiceOrderDao">
<select id="pageOrderByInitiator"
resultType="com.qniao.dam.api.query.eso.user.response.UserPageEntrustServiceOrderByInitiatorVo">
SELECT
daeso.target_user_id,
daeso.target_mi_id,
daeso.matchmaker_id,
daeso.reward_amount,
daeso.associate_order_id,
dao.order_code as associateOrderCode,
daeso.paid_amount,
daeso.`status`,
daeso.payment_status,
daeso.create_time
from da_entrust_service_order as daeso
LEFT JOIN da_order as dao on dao.id=daeso.associate_order_id
where daeso.is_delete=0
<if test="queryParams.queryInitiatorUserId != null">
and daeso.initiator_user_id = #{queryParams.queryInitiatorUserId}
</if>
<if test="queryParams.status != null">
and daeso.`status` = #{queryParams.status}
</if>
<if test="queryParams.paymentStatus != null">
and daeso.payment_status = #{queryParams.paymentStatus}
</if>
ORDER BY daeso.create_time desc
</select>
</mapper>
Loading…
Cancel
Save