diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/EntrustServiceOrderUserQueryController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/EntrustServiceOrderUserQueryController.java index e694a9e..d34646e 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/EntrustServiceOrderUserQueryController.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/EntrustServiceOrderUserQueryController.java @@ -1,8 +1,10 @@ package com.qniao.dam.api.query.eso.user; +import com.qniao.dam.api.query.eso.user.request.GetEntrustServiceOrderAbstractByMatchmakerQueryParams; import com.qniao.dam.api.query.eso.user.request.PageEntrustServiceOrderByInitiatorQueryParams; import com.qniao.dam.api.query.eso.user.request.PageEntrustServiceOrderByMatchmakerQueryParams; import com.qniao.dam.api.query.eso.user.request.PageEntrustServiceOrderQueryParams; +import com.qniao.dam.api.query.eso.user.response.EntrustServiceOrderAbstractVo; import com.qniao.dam.api.query.eso.user.response.UserPageEntrustServiceOrderByInitiatorVo; import com.qniao.dam.api.query.eso.user.response.UserPageEntrustServiceOrderByMatchmakerVo; import com.qniao.dam.api.query.eso.user.response.UserPageEntrustServiceOrderVo; @@ -48,4 +50,11 @@ public class EntrustServiceOrderUserQueryController { return PageUtil.convert(entrustServiceOrderQueryService.pageOrder(pageUtil, queryParams), UserPageEntrustServiceOrderVo.class); } + + @GetMapping("get/entrust-service-order/abstract/by/matchmaker") + @ApiOperation("红娘获取委托服务单摘要") + public EntrustServiceOrderAbstractVo userGetEntrustServiceOrderAbstractByMatchmaker(@Validated GetEntrustServiceOrderAbstractByMatchmakerQueryParams queryParams, + @RequestParam("userId") Long userId) { + return entrustServiceOrderQueryService.getAbstractByMatchmaker(queryParams.getQueryMatchmakerId()); + } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/request/GetEntrustServiceOrderAbstractByMatchmakerQueryParams.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/request/GetEntrustServiceOrderAbstractByMatchmakerQueryParams.java new file mode 100644 index 0000000..a49c6b6 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/request/GetEntrustServiceOrderAbstractByMatchmakerQueryParams.java @@ -0,0 +1,15 @@ +package com.qniao.dam.api.query.eso.user.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +public class GetEntrustServiceOrderAbstractByMatchmakerQueryParams { + + @ApiModelProperty("红娘标识") + @NotNull(message = "红娘标识不能为空") + private Long queryMatchmakerId; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/response/EntrustServiceOrderAbstractVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/response/EntrustServiceOrderAbstractVo.java new file mode 100644 index 0000000..b2e8dfb --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/eso/user/response/EntrustServiceOrderAbstractVo.java @@ -0,0 +1,18 @@ +package com.qniao.dam.api.query.eso.user.response; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class EntrustServiceOrderAbstractVo { + + @ApiModelProperty("待接单数量") + private Integer pendingAcceptNum = 0; + + @ApiModelProperty("已接单数量") + private Integer acceptedNum = 0; + + @ApiModelProperty("已完成数量") + private Integer finishedNum = 0; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/EntrustServiceOrderQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/EntrustServiceOrderQueryService.java index f0faf4f..606dda9 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/EntrustServiceOrderQueryService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/EntrustServiceOrderQueryService.java @@ -4,6 +4,7 @@ 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.request.PageEntrustServiceOrderByMatchmakerQueryParams; import com.qniao.dam.api.query.eso.user.request.PageEntrustServiceOrderQueryParams; +import com.qniao.dam.api.query.eso.user.response.EntrustServiceOrderAbstractVo; import com.qniao.dam.api.query.eso.user.response.UserPageEntrustServiceOrderByInitiatorVo; import com.qniao.dam.api.query.eso.user.response.UserPageEntrustServiceOrderByMatchmakerVo; import com.qniao.dam.api.query.eso.user.response.UserPageEntrustServiceOrderVo; @@ -11,6 +12,8 @@ import com.qniao.dam.domain.aggregate.eso.entity.EntrustServiceOrder; import com.qniao.domain.QnPage; import com.qniao.framework.utils.PageUtil; +import javax.validation.constraints.NotNull; + public interface EntrustServiceOrderQueryService { void checkEntrustServiceOrder(EntrustServiceOrder entrustServiceOrder); @@ -19,15 +22,18 @@ public interface EntrustServiceOrderQueryService { IPage pageOrderByInitiator(PageUtil pageUtil, PageEntrustServiceOrderByInitiatorQueryParams queryParams); -/** - * 分页查询按红娘排序的委托服务列表 - * - * @param pageUtil 分页工具类,包含分页参数信息 - * @param queryParams 按红娘排序的委托服务查询参数,包含查询条件 - * @return 返回分页结果对象,包含查询到的数据列表及分页信息 - */ + + /** + * 分页查询按红娘排序的委托服务列表 + * + * @param pageUtil 分页工具类,包含分页参数信息 + * @param queryParams 按红娘排序的委托服务查询参数,包含查询条件 + * @return 返回分页结果对象,包含查询到的数据列表及分页信息 + */ IPage pageOrderByMatchmaker(PageUtil pageUtil, PageEntrustServiceOrderByMatchmakerQueryParams queryParams); IPage pageOrder(PageUtil pageUtil, PageEntrustServiceOrderQueryParams queryParams); + + EntrustServiceOrderAbstractVo getAbstractByMatchmaker(Long matchmakerId); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/impl/EntrustServiceOrderQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/impl/EntrustServiceOrderQueryServiceImpl.java index c2d9183..2b34f1a 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/impl/EntrustServiceOrderQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/eso/impl/EntrustServiceOrderQueryServiceImpl.java @@ -5,6 +5,7 @@ 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.request.PageEntrustServiceOrderByMatchmakerQueryParams; import com.qniao.dam.api.query.eso.user.request.PageEntrustServiceOrderQueryParams; +import com.qniao.dam.api.query.eso.user.response.EntrustServiceOrderAbstractVo; import com.qniao.dam.api.query.eso.user.response.UserPageEntrustServiceOrderByInitiatorVo; import com.qniao.dam.api.query.eso.user.response.UserPageEntrustServiceOrderByMatchmakerVo; import com.qniao.dam.api.query.eso.user.response.UserPageEntrustServiceOrderVo; @@ -15,11 +16,13 @@ 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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Arrays; +@Slf4j @Service public class EntrustServiceOrderQueryServiceImpl implements EntrustServiceOrderQueryService { @@ -82,4 +85,19 @@ public class EntrustServiceOrderQueryServiceImpl implements EntrustServiceOrderQ } return page; } + + @Override + public EntrustServiceOrderAbstractVo getAbstractByMatchmaker(Long matchmakerId) { + EntrustServiceOrderAbstractVo abstractVo = new EntrustServiceOrderAbstractVo(); + abstractVo.setPendingAcceptNum(entrustServiceOrderDao.selectCount(new LambdaQueryWrapper() + .eq(EntrustServiceOrder::getMatchmakerId, matchmakerId) + .eq(EntrustServiceOrder::getStatus, EntrustServiceStatusEnum.PENDING_ACCEPT))); + abstractVo.setAcceptedNum(entrustServiceOrderDao.selectCount(new LambdaQueryWrapper() + .eq(EntrustServiceOrder::getMatchmakerId, matchmakerId) + .eq(EntrustServiceOrder::getStatus, EntrustServiceStatusEnum.ACCEPTED))); + abstractVo.setFinishedNum(entrustServiceOrderDao.selectCount(new LambdaQueryWrapper() + .eq(EntrustServiceOrder::getMatchmakerId, matchmakerId) + .eq(EntrustServiceOrder::getStatus, EntrustServiceStatusEnum.FINISHED))); + return abstractVo; + } } \ No newline at end of file