ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtMemberInvoicingController.java
New file @@ -0,0 +1,40 @@ package com.ruoyi.order.controller.management; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.order.controller.management.dto.MgtMemberInvoicingQuery; import com.ruoyi.order.controller.management.vo.MgtMemberInvoicingVO; import com.ruoyi.order.service.IMemberInvoiceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> * 开票申请表 前端控制器 * </p> * * @author mitao * @since 2024-05-16 */ @Api(tags = "管理后台-开票申请相关接口") @RestController @RequiredArgsConstructor @RequestMapping("/mgt/invoicing-application") public class MgtMemberInvoicingController { private final IMemberInvoiceService memberInvoiceService; @ApiOperation("获取开票申请列表分页数据") @PostMapping("/page") public R<PageDTO<MgtMemberInvoicingVO>> getMemberInvoicingPage( @Validated @RequestBody MgtMemberInvoicingQuery query) { return R.ok(memberInvoiceService.getMemberInvoicingPage(query)); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/dto/MgtMemberInvoicingQuery.java
New file @@ -0,0 +1,26 @@ package com.ruoyi.order.controller.management.dto; import com.ruoyi.common.core.web.page.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author mitao * @date 2024/6/15 */ @Data @ApiModel(value = "管理后台-开票申请相关接口") public class MgtMemberInvoicingQuery extends BasePage { private static final long serialVersionUID = -2817314070304563106L; @ApiModelProperty(value = "下单会员") private String nickname; @ApiModelProperty("联系方式") private String phone; @ApiModelProperty(value = "开票状态 1待审核,2 已开票,3 已拒绝", notes = "传数字") private Integer invoiceStatus; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/vo/MgtMemberInvoicingVO.java
New file @@ -0,0 +1,43 @@ package com.ruoyi.order.controller.management.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import lombok.Data; /** * @author mitao * @date 2024/6/15 */ @Data @ApiModel(value = "开票申请视图对象", description = "开票申请视图对象") public class MgtMemberInvoicingVO implements Serializable { private static final long serialVersionUID = 8675136188843149666L; @ApiModelProperty(value = "开票申请id") private Long id; @ApiModelProperty(value = "会员id") private Long memberId; @ApiModelProperty(value = "会员姓名") private String nickname; @ApiModelProperty(value = "联系电话") private String phone; @ApiModelProperty(value = "申请时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; @ApiModelProperty(value = "开票状态 1待审核,2 已开票,3 已拒绝") private Integer invoiceStatus; @ApiModelProperty(value = "申请金额") private BigDecimal invoiceMoney; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/vo/MgtOrderReturnRequestVO.java
@@ -66,6 +66,14 @@ @ApiModelProperty(value = "退货快递单号") private String courierNumber; @ApiModelProperty("退货时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime returnTime; @ApiModelProperty("平台收货时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime platformReceiptTime; @ApiModelProperty(value = "订单编号") private String orderNo; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/OrderReturnRequest.java
@@ -99,4 +99,10 @@ @ApiModelProperty(value = "物流编码") private String logisticsNum; @ApiModelProperty("退货时间") private LocalDateTime returnTime; @ApiModelProperty("平台收货时间") private LocalDateTime platformReceiptTime; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IMemberInvoiceService.java
@@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.order.controller.management.dto.MgtMemberInvoicingQuery; import com.ruoyi.order.controller.management.vo.MgtMemberInvoicingVO; import com.ruoyi.order.domain.MemberInvoice; import com.ruoyi.order.dto.MemberInvoiceDTO; @@ -18,4 +20,5 @@ PageDTO<MemberInvoice> getMemberInvoiceList(MemberInvoiceDTO memberInvoiceDTO); PageDTO<MgtMemberInvoicingVO> getMemberInvoicingPage(MgtMemberInvoicingQuery query); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java
@@ -5,23 +5,27 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.enums.OrderFromEnum; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.order.controller.management.dto.MgtMemberInvoicingQuery; import com.ruoyi.order.controller.management.vo.MgtMemberInvoicingVO; import com.ruoyi.order.domain.MemberInvoice; import com.ruoyi.order.domain.MemberInvoiceOrder; import com.ruoyi.order.domain.OrderAuction; import com.ruoyi.order.dto.MemberInvoiceDTO; import com.ruoyi.order.mapper.MemberInvoiceMapper; import com.ruoyi.order.service.IMemberInvoiceOrderService; import com.ruoyi.order.service.IMemberInvoiceService; import com.ruoyi.order.service.IOrderAuctionService; import com.ruoyi.order.service.IOrderService; import com.ruoyi.system.api.domain.GoodsSeckill; import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.domain.Order; import com.ruoyi.system.api.domain.dto.MemberDTO; import com.ruoyi.system.api.feignClient.GoodsSkuClient; import com.ruoyi.system.api.feignClient.MemberClient; import io.seata.common.util.StringUtils; import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; import javax.annotation.Resource; import org.springframework.stereotype.Service; @@ -51,6 +55,8 @@ @Resource private IOrderAuctionService iOrderAuctionService; @Resource private MemberClient memberClient; @Override public void saveMemberInvoice(MemberInvoiceDTO memberInvoiceDTO) { MemberInvoice memberInvoice =new MemberInvoice(); @@ -94,4 +100,48 @@ Page<MemberInvoice> page1 = this.page(page, wrapper); return PageDTO.of(page1); } @Override public PageDTO<MgtMemberInvoicingVO> getMemberInvoicingPage(MgtMemberInvoicingQuery query) { Page<MemberInvoice> page = new Page<>(query.getPageCurr(), query.getPageSize()); Set<Long> memberIdSet = null; if (StringUtils.isNotBlank(query.getNickname()) || StringUtils.isNotBlank( query.getPhone())) { MemberDTO memberDTO = new MemberDTO(); memberDTO.setNickname(query.getNickname()); memberDTO.setPhone(query.getPhone()); List<Member> memberList = memberClient.getMemberListByCondition(memberDTO, SecurityConstants.INNER).getData(); if (memberList.isEmpty()) { return PageDTO.empty(page); } memberIdSet = memberList.stream().map(Member::getId) .collect(Collectors.toSet()); } page = this.lambdaQuery() .in(com.ruoyi.common.core.utils.StringUtils.isNotEmpty(memberIdSet), MemberInvoice::getMemberId, memberIdSet) .eq(query.getInvoiceStatus() != null, MemberInvoice::getInvoiceStatus, query.getInvoiceStatus()).page(page); if (page.getRecords().isEmpty()) { return PageDTO.empty(page); } PageDTO<MgtMemberInvoicingVO> pageVO = PageDTO.of(page, MgtMemberInvoicingVO.class); Set<Long> memberSet = pageVO.getList().stream().map(MgtMemberInvoicingVO::getMemberId) .collect(Collectors.toSet()); List<Member> memberList = memberClient.getMemberListByIds(memberSet, SecurityConstants.INNER).getData(); Map<Long, Member> memberMap = memberList.stream() .collect(Collectors.toMap(Member::getId, member -> member)); pageVO.getList().forEach(vo -> { Member member = memberMap.get(vo.getMemberId()); if (member != null) { vo.setNickname(member.getNickname()); vo.setPhone(member.getPhone()); } }); return pageVO; } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java
@@ -237,6 +237,7 @@ throw new ServiceException("该售后状态不允许确认收货"); } orderReturnRequest.setStatus(ReturnRequestStatusEnum.COMPLETED); orderReturnRequest.setPlatformReceiptTime(LocalDateTime.now()); this.updateById(orderReturnRequest); // 退款 Order order = orderMapper.selectById(orderReturnRequest.getOrderId()); ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -788,8 +788,7 @@ .like(StringUtils.isNotBlank(query.getOrderNo()), Order::getOrderNo, query.getOrderNo()) .eq(StringUtils.isNotNull(query.getOrderFrom()) && query.getQueryType() .equals(OrderTypeEnum.MALL_ODER), Order::getOrderFrom, .equals(OrderTypeEnum.MALL_ODER), Order::getOrderFrom, query.getOrderFrom()) .like(StringUtils.isNotBlank(query.getSkuName()), Order::getSkuName, query.getSkuName())