mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	trade:【交易售后】查询分页列表
This commit is contained in:
		@@ -1,10 +1,13 @@
 | 
			
		||||
package cn.iocoder.yudao.module.trade.controller.admin.aftersale;
 | 
			
		||||
 | 
			
		||||
import cn.hutool.core.collection.CollUtil;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 | 
			
		||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
 | 
			
		||||
import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
 | 
			
		||||
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
 | 
			
		||||
import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.TradeAfterSaleDisagreeReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.TradeAfterSalePageReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.TradeAfterSaleRespVO;
 | 
			
		||||
import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.TradeAfterSaleRespPageItemVO;
 | 
			
		||||
import cn.iocoder.yudao.module.trade.convert.aftersale.TradeAfterSaleConvert;
 | 
			
		||||
import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.TradeAfterSaleDO;
 | 
			
		||||
import cn.iocoder.yudao.module.trade.service.aftersale.TradeAfterSaleService;
 | 
			
		||||
@@ -18,8 +21,10 @@ import org.springframework.web.bind.annotation.*;
 | 
			
		||||
 | 
			
		||||
import javax.annotation.Resource;
 | 
			
		||||
import javax.validation.Valid;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
 | 
			
		||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
 | 
			
		||||
import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP;
 | 
			
		||||
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
 | 
			
		||||
 | 
			
		||||
@@ -33,12 +38,22 @@ public class TradeAfterSaleController {
 | 
			
		||||
    @Resource
 | 
			
		||||
    private TradeAfterSaleService afterSaleService;
 | 
			
		||||
 | 
			
		||||
    @Resource
 | 
			
		||||
    private MemberUserApi memberUserApi;
 | 
			
		||||
 | 
			
		||||
    @GetMapping("/page")
 | 
			
		||||
    @ApiOperation("获得交易售后分页")
 | 
			
		||||
    @PreAuthorize("@ss.hasPermission('trade:after-sale:query')")
 | 
			
		||||
    public CommonResult<PageResult<TradeAfterSaleRespVO>> getAfterSalePage(@Valid TradeAfterSalePageReqVO pageVO) {
 | 
			
		||||
    public CommonResult<PageResult<TradeAfterSaleRespPageItemVO>> getAfterSalePage(@Valid TradeAfterSalePageReqVO pageVO) {
 | 
			
		||||
        PageResult<TradeAfterSaleDO> pageResult = afterSaleService.getAfterSalePage(pageVO);
 | 
			
		||||
        return success(TradeAfterSaleConvert.INSTANCE.convertPage(pageResult));
 | 
			
		||||
        if (CollUtil.isEmpty(pageResult.getList())) {
 | 
			
		||||
            return success(PageResult.empty());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 拼接数据
 | 
			
		||||
        Map<Long, MemberUserRespDTO> memberUsers = memberUserApi.getUserMap(
 | 
			
		||||
                convertSet(pageResult.getList(), TradeAfterSaleDO::getUserId));
 | 
			
		||||
        return success(TradeAfterSaleConvert.INSTANCE.convertPage(pageResult, memberUsers));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @PutMapping("/agree")
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
package cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo;
 | 
			
		||||
 | 
			
		||||
import cn.iocoder.yudao.module.trade.controller.admin.base.property.ProductPropertyRespVO;
 | 
			
		||||
import cn.iocoder.yudao.module.trade.controller.admin.base.product.property.ProductPropertyRespVO;
 | 
			
		||||
import io.swagger.annotations.ApiModelProperty;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import org.springframework.format.annotation.DateTimeFormat;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
package cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo;
 | 
			
		||||
 | 
			
		||||
import cn.iocoder.yudao.module.trade.controller.admin.base.member.user.MemberUserRespVO;
 | 
			
		||||
import io.swagger.annotations.ApiModel;
 | 
			
		||||
import io.swagger.annotations.ApiModelProperty;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
@@ -8,11 +9,11 @@ import lombok.ToString;
 | 
			
		||||
 | 
			
		||||
import java.time.LocalDateTime;
 | 
			
		||||
 | 
			
		||||
@ApiModel("管理后台 - 交易售后 Response VO")
 | 
			
		||||
@ApiModel("管理后台 - 交易售后分页的每一条记录 Response VO")
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
@ToString(callSuper = true)
 | 
			
		||||
public class TradeAfterSaleRespVO extends TradeAfterSaleBaseVO {
 | 
			
		||||
public class TradeAfterSaleRespPageItemVO extends TradeAfterSaleBaseVO {
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "售后编号", required = true, example = "27630")
 | 
			
		||||
    private Long id;
 | 
			
		||||
@@ -20,4 +21,9 @@ public class TradeAfterSaleRespVO extends TradeAfterSaleBaseVO {
 | 
			
		||||
    @ApiModelProperty(value = "创建时间", required = true)
 | 
			
		||||
    private LocalDateTime createTime;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 用户信息
 | 
			
		||||
     */
 | 
			
		||||
    private MemberUserRespVO user;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,4 @@
 | 
			
		||||
/**
 | 
			
		||||
 * 占位符,可忽略
 | 
			
		||||
 */
 | 
			
		||||
package cn.iocoder.yudao.module.trade.controller.admin.base.member;
 | 
			
		||||
@@ -0,0 +1,20 @@
 | 
			
		||||
package cn.iocoder.yudao.module.trade.controller.admin.base.member.user;
 | 
			
		||||
 | 
			
		||||
import io.swagger.annotations.ApiModel;
 | 
			
		||||
import io.swagger.annotations.ApiModelProperty;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
 | 
			
		||||
@ApiModel("管理后台 - 会员用户 Response VO")
 | 
			
		||||
@Data
 | 
			
		||||
public class MemberUserRespVO {
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "用户 ID", required = true, example = "1")
 | 
			
		||||
    private Long id;
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "用户昵称", required = true, example = "芋道源码")
 | 
			
		||||
    private String nickname;
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "用户头像", example = "https://www.iocoder.cn/xxx.png")
 | 
			
		||||
    private String avatar;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
package cn.iocoder.yudao.module.trade.controller.admin.base.property;
 | 
			
		||||
package cn.iocoder.yudao.module.trade.controller.admin.base.product.property;
 | 
			
		||||
 | 
			
		||||
import io.swagger.annotations.ApiModel;
 | 
			
		||||
import io.swagger.annotations.ApiModelProperty;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
 | 
			
		||||
@ApiModel("管理后台 - 商品规格 Request VO")
 | 
			
		||||
@ApiModel("管理后台 - 商品规格 Response VO")
 | 
			
		||||
@Data
 | 
			
		||||
public class ProductPropertyRespVO {
 | 
			
		||||
 | 
			
		||||
@@ -1,8 +1,10 @@
 | 
			
		||||
package cn.iocoder.yudao.module.trade.convert.aftersale;
 | 
			
		||||
 | 
			
		||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
 | 
			
		||||
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
 | 
			
		||||
import cn.iocoder.yudao.module.pay.api.refund.dto.PayRefundCreateReqDTO;
 | 
			
		||||
import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.TradeAfterSaleRespVO;
 | 
			
		||||
import cn.iocoder.yudao.module.trade.controller.admin.aftersale.vo.TradeAfterSaleRespPageItemVO;
 | 
			
		||||
import cn.iocoder.yudao.module.trade.controller.admin.base.member.user.MemberUserRespVO;
 | 
			
		||||
import cn.iocoder.yudao.module.trade.controller.app.aftersale.vo.AppTradeAfterSaleCreateReqVO;
 | 
			
		||||
import cn.iocoder.yudao.module.trade.dal.dataobject.aftersale.TradeAfterSaleDO;
 | 
			
		||||
import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO;
 | 
			
		||||
@@ -12,6 +14,8 @@ import org.mapstruct.Mapping;
 | 
			
		||||
import org.mapstruct.Mappings;
 | 
			
		||||
import org.mapstruct.factory.Mappers;
 | 
			
		||||
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
@Mapper
 | 
			
		||||
public interface TradeAfterSaleConvert {
 | 
			
		||||
 | 
			
		||||
@@ -34,6 +38,15 @@ public interface TradeAfterSaleConvert {
 | 
			
		||||
    PayRefundCreateReqDTO convert(String userIp, TradeAfterSaleDO afterSale,
 | 
			
		||||
                                  TradeOrderProperties orderProperties);
 | 
			
		||||
 | 
			
		||||
    PageResult<TradeAfterSaleRespVO> convertPage(PageResult<TradeAfterSaleDO> page);
 | 
			
		||||
    MemberUserRespVO convert(MemberUserRespDTO bean);
 | 
			
		||||
 | 
			
		||||
    PageResult<TradeAfterSaleRespPageItemVO> convertPage(PageResult<TradeAfterSaleDO> page);
 | 
			
		||||
 | 
			
		||||
    default PageResult<TradeAfterSaleRespPageItemVO> convertPage(PageResult<TradeAfterSaleDO> pageResult,
 | 
			
		||||
                                                                 Map<Long, MemberUserRespDTO> memberUsers) {
 | 
			
		||||
        PageResult<TradeAfterSaleRespPageItemVO> pageVOResult = convertPage(pageResult);
 | 
			
		||||
        pageVOResult.getList().forEach(item -> item.setUser(convert(memberUsers.get(item.getUserId()))));
 | 
			
		||||
        return pageVOResult;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user