增加订单分润查询接口

This commit is contained in:
2025-08-19 23:42:31 +08:00
parent 135839cc1c
commit b98fc2b902
11 changed files with 314 additions and 4 deletions

View File

@ -1,15 +1,16 @@
package com.sczx.order.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sczx.order.common.Result;
import com.sczx.order.dto.OrderDetailDTO;
import com.sczx.order.dto.OrderDistribDTO;
import com.sczx.order.dto.OrderDistribQueryReq;
import com.sczx.order.service.OrderDistribService;
import com.sczx.order.service.OrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
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 org.springframework.web.bind.annotation.*;
/**
* @Author: 张黎
@ -24,6 +25,9 @@ public class PubOrderController {
@Autowired
private OrderService orderService;
@Autowired
private OrderDistribService orderDistribService;
@ApiOperation(value = "根据订单查询订单详情")
@GetMapping("/getOrderDetailByOrderNo")
@ -31,4 +35,13 @@ public class PubOrderController {
return Result.ok(orderService.getOrderDetailByOrderNo(orderNo));
}
@ApiOperation(value = "根据订单查询订单详情")
@PostMapping("/pageQueryOrderDistrib")
public Result<IPage<OrderDistribDTO>> pageQueryOrderDistrib(@RequestParam(name = "pageNo", required = false, defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", required = false, defaultValue = "10") Integer pageSize,
@RequestBody OrderDistribQueryReq orderDistribQueryReq){
return Result.ok(orderDistribService.pageQueryOrderDistrib(pageNo, pageSize, orderDistribQueryReq));
}
}

View File

@ -0,0 +1,16 @@
package com.sczx.order.convert;
import com.sczx.order.dto.OrderDistribDTO;
import com.sczx.order.po.OrderDistribPO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
@Mapper
public interface OrderDistribConvert {
OrderDistribConvert INSTANCE = Mappers.getMapper(OrderDistribConvert.class);
OrderDistribDTO poToDto(OrderDistribPO orderDistribPO);
OrderDistribPO dtoToPo(OrderDistribDTO orderDistribDTO);
List<OrderDistribDTO> dtosToPos(List<OrderDistribPO> orderDistribPOList);
}

View File

@ -0,0 +1,39 @@
package com.sczx.order.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@ApiModel(value = "OrderDistribDTO对象", description = "订单利润分配")
@Data
public class OrderDistribDTO {
@ApiModelProperty("ID主键")
private Long id;
@ApiModelProperty("关联的订单ID外键")
private Long orderId;
@ApiModelProperty("订单编号")
private String orderNo;
@ApiModelProperty("运营商id")
private Integer companyId;
@ApiModelProperty("运营商id")
private Integer storeId;
@ApiModelProperty("引荐人id")
private Long referralUserId;
@ApiModelProperty("分配类型")
private String distribType;
@ApiModelProperty("分配比例")
private BigDecimal distribRate;
@ApiModelProperty("分配金额")
private BigDecimal distribAmount;
}

View File

@ -0,0 +1,22 @@
package com.sczx.order.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "OrderDistribQueryReq对象", description = "订单利润分配查询对象")
@Data
public class OrderDistribQueryReq {
@ApiModelProperty("订单编号")
private String orderNo;
@ApiModelProperty("运营商id")
private Integer companyId;
@ApiModelProperty("运营商id")
private Integer storeId;
@ApiModelProperty("引荐人id")
private Long referralUserId;
}

View File

@ -0,0 +1,22 @@
package com.sczx.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sczx.order.dto.OrderDistribDTO;
import com.sczx.order.dto.OrderDistribQueryReq;
import com.sczx.order.po.OrderDistribPO;
import org.apache.ibatis.annotations.Param;
/**
* <p>
* 订单利润分配 Mapper 接口
* </p>
*
* @author zhangli
* @since 2025-08-19 22:46:17
*/
public interface OrderDistribMapper extends BaseMapper<OrderDistribPO> {
IPage<OrderDistribDTO> pageQueryOrderDistrib(Page<OrderDistribDTO> page, @Param("orderDistribQueryReq") OrderDistribQueryReq orderDistribQueryReq);
}

View File

@ -0,0 +1,69 @@
package com.sczx.order.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* <p>
* 订单利润分配
* </p>
*
* @author zhangli
* @since 2025-08-19 22:46:17
*/
@Getter
@Setter
@TableName("zc_order_distrib")
@ApiModel(value = "OrderDistribPO对象", description = "订单利润分配")
public class OrderDistribPO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("ID主键")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@ApiModelProperty("关联的订单ID外键")
private Long orderId;
@ApiModelProperty("订单编号")
private String orderNo;
@ApiModelProperty("运营商id")
private Integer companyId;
@ApiModelProperty("运营商id")
private Integer storeId;
@ApiModelProperty("引荐人id")
private Long referralUserId;
@ApiModelProperty("分配类型")
private String distribType;
@ApiModelProperty("分配比例")
private BigDecimal distribRate;
@ApiModelProperty("分配金额")
private BigDecimal distribAmount;
@ApiModelProperty("删除标志0代表存在 2代表删除")
private String delFlag;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@ApiModelProperty("更新时间")
private LocalDateTime updateTime;
}

View File

@ -0,0 +1,20 @@
package com.sczx.order.repository;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sczx.order.dto.OrderDistribDTO;
import com.sczx.order.dto.OrderDistribQueryReq;
import com.sczx.order.po.OrderDistribPO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 订单利润分配 服务类
* </p>
*
* @author zhangli
* @since 2025-08-19 22:46:17
*/
public interface OrderDistribRepo extends IService<OrderDistribPO> {
IPage<OrderDistribDTO> pageQueryOrderDistrib(Integer pageNo, Integer pageSize, OrderDistribQueryReq orderDistribQueryReq);
}

View File

@ -0,0 +1,29 @@
package com.sczx.order.repository.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sczx.order.dto.OrderDistribDTO;
import com.sczx.order.dto.OrderDistribQueryReq;
import com.sczx.order.mapper.OrderDistribMapper;
import com.sczx.order.po.OrderDistribPO;
import com.sczx.order.repository.OrderDistribRepo;
import org.springframework.stereotype.Service;
/**
* <p>
* 订单利润分配 服务实现类
* </p>
*
* @author zhangli
* @since 2025-08-19 22:46:17
*/
@Service
public class OrderDistribRepoImpl extends ServiceImpl<OrderDistribMapper, OrderDistribPO> implements OrderDistribRepo {
@Override
public IPage<OrderDistribDTO> pageQueryOrderDistrib(Integer pageNo, Integer pageSize, OrderDistribQueryReq orderDistribQueryReq) {
Page<OrderDistribDTO> page = new Page<>(pageNo, pageSize);
return this.getBaseMapper().pageQueryOrderDistrib(page, orderDistribQueryReq);
}
}

View File

@ -0,0 +1,17 @@
package com.sczx.order.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sczx.order.dto.OrderDistribDTO;
import com.sczx.order.dto.OrderDistribQueryReq;
public interface OrderDistribService {
/**
* 分页查询订单分润记录表
* @param pageNo
* @param pageSize
* @param orderDistribQueryReq
* @return
*/
IPage<OrderDistribDTO> pageQueryOrderDistrib(Integer pageNo, Integer pageSize, OrderDistribQueryReq orderDistribQueryReq);
}

View File

@ -0,0 +1,23 @@
package com.sczx.order.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sczx.order.dto.OrderDistribDTO;
import com.sczx.order.dto.OrderDistribQueryReq;
import com.sczx.order.repository.OrderDistribRepo;
import com.sczx.order.service.OrderDistribService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class OrderDistribServiceImpl implements OrderDistribService {
@Autowired
private OrderDistribRepo orderDistribRepo;
@Override
public IPage<OrderDistribDTO> pageQueryOrderDistrib(Integer pageNo, Integer pageSize, OrderDistribQueryReq orderDistribQueryReq) {
return orderDistribRepo.pageQueryOrderDistrib(pageNo, pageSize, orderDistribQueryReq);
}
}

View File

@ -0,0 +1,40 @@
<?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.sczx.order.mapper.OrderDistribMapper">
<select id="pageQueryOrderDistrib" resultType="com.sczx.order.dto.OrderDistribDTO">
select
od.id,
od.order_id,
od.order_no,
od.company_id,
od.store_id,
od.referral_user_id,
od.distrib_type,
od.distrib_rate,
od.distrib_amount,
od.create_time,
od.update_time,
od.create_user,
od.update_user,
od.is_deleted
from
order_distrib od
<where>
od.is_deleted = 0
<if test="orderDistribQueryReq.orderNo != null and orderDistribQueryReq.orderNo != ''">
and od.order_no = #{orderDistribQueryReq.orderNo}
</if>
<if test="orderDistribQueryReq.companyId != null">
and od.company_id = #{orderDistribQueryReq.companyId}
</if>
<if test="orderDistribQueryReq.storeId != null">
and od.store_id = #{orderDistribQueryReq.storeId}
</if>
<if test="orderDistribQueryReq.referralUserId != null">
and od.referral_user_id = #{orderDistribQueryReq.referralUserId}
</if>
</where>
order by od.create_time desc
</select>
</mapper>