mitao
2024-06-17 444a36ac307d1c9863a5f1dd38368598b089359f
提交【管理后台】订单管理-开票申请相关接口
1个文件已添加
7个文件已修改
205 ■■■■■ 已修改文件
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtMemberInvoicingController.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/dto/MgtMemberInvoicingAuditDTO.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/vo/MgtMemberInvoicingVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IMemberInvoiceService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CustomConfigController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICustomConfigService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CustomConfigServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtMemberInvoicingController.java
@@ -3,6 +3,7 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.order.controller.management.dto.MgtMemberInvoicingAuditDTO;
import com.ruoyi.order.controller.management.dto.MgtMemberInvoicingQuery;
import com.ruoyi.order.controller.management.vo.MgtMemberInvoicingVO;
import com.ruoyi.order.service.IMemberInvoiceService;
@@ -10,7 +11,10 @@
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -31,10 +35,41 @@
    private final IMemberInvoiceService memberInvoiceService;
    /**
     * 获取开票申请列表分页数据
     *
     * @param query 管理后台-开票申请相关接口
     * @return PageDTO<MgtMemberInvoicingVO>
     */
    @ApiOperation("获取开票申请列表分页数据")
    @PostMapping("/page")
    public R<PageDTO<MgtMemberInvoicingVO>> getMemberInvoicingPage(
            @Validated @RequestBody MgtMemberInvoicingQuery query) {
        return R.ok(memberInvoiceService.getMemberInvoicingPage(query));
    }
    /**
     * 查看详情
     *
     * @param id 开票申请id
     * @return MgtMemberInvoicingVO
     */
    @ApiOperation("查看详情")
    @GetMapping("/detail/{id}")
    public R<MgtMemberInvoicingVO> getMemberInvoicingDetail(
            @Validated @PathVariable("id") Long id) {
        return R.ok(memberInvoiceService.getMemberInvoicingDetail(id));
    }
    /**
     * 审核
     *
     * @param dto 管理后台-开票申请审核数据传输对象
     */
    @ApiOperation("开票申请审核")
    @PutMapping("/audit")
    public R<?> audit(@RequestBody MgtMemberInvoicingAuditDTO dto) {
        memberInvoiceService.audit(dto);
        return R.ok();
    }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/dto/MgtMemberInvoicingAuditDTO.java
New file
@@ -0,0 +1,26 @@
package com.ruoyi.order.controller.management.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import lombok.Data;
/**
 * @author mitao
 * @date 2024/6/17
 */
@Data
@ApiModel(value = "管理后台-开票申请审核数据传输对象")
public class MgtMemberInvoicingAuditDTO implements Serializable {
    private static final long serialVersionUID = 270187655212997297L;
    @ApiModelProperty(value = "开票申请id")
    private Long id;
    @ApiModelProperty(value = "开票状态 1待审核,2 已开票,3 已拒绝", notes = "传数字")
    private Integer invoiceStatus;
    @ApiModelProperty(value = "拒绝原因")
    private String remark;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/vo/MgtMemberInvoicingVO.java
@@ -37,7 +37,13 @@
    @ApiModelProperty(value = "开票状态 1待审核,2 已开票,3 已拒绝")
    private Integer invoiceStatus;
    @ApiModelProperty(value = "拒绝原因")
    private String remark;
    @ApiModelProperty(value = "申请金额")
    private BigDecimal invoiceMoney;
    @ApiModelProperty("关联订单")
    private String orderNo;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IMemberInvoiceService.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.order.controller.management.dto.MgtMemberInvoicingAuditDTO;
import com.ruoyi.order.controller.management.dto.MgtMemberInvoicingQuery;
import com.ruoyi.order.controller.management.vo.MgtMemberInvoicingVO;
import com.ruoyi.order.domain.MemberInvoice;
@@ -20,5 +21,26 @@
   PageDTO<MemberInvoice> getMemberInvoiceList(MemberInvoiceDTO memberInvoiceDTO);
    /**
     * 获取开票申请列表分页数据
     *
     * @param query 管理后台-开票申请相关接口
     * @return PageDTO<MgtMemberInvoicingVO>
     */
    PageDTO<MgtMemberInvoicingVO> getMemberInvoicingPage(MgtMemberInvoicingQuery query);
    /**
     * 查看详情
     *
     * @param id 开票申请id
     * @return MgtMemberInvoicingVO
     */
    MgtMemberInvoicingVO getMemberInvoicingDetail(Long id);
    /**
     * 审核
     *
     * @param dto 管理后台-开票申请审核数据传输对象
     */
    void audit(MgtMemberInvoicingAuditDTO dto);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java
@@ -5,7 +5,10 @@
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.exception.ServiceException;
import com.ruoyi.common.core.utils.page.BeanUtils;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.order.controller.management.dto.MgtMemberInvoicingAuditDTO;
import com.ruoyi.order.controller.management.dto.MgtMemberInvoicingQuery;
import com.ruoyi.order.controller.management.vo.MgtMemberInvoicingVO;
import com.ruoyi.order.domain.MemberInvoice;
@@ -24,9 +27,11 @@
import io.seata.common.util.StringUtils;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service;
/**
@@ -101,6 +106,12 @@
        return PageDTO.of(page1);
    }
    /**
     * 获取开票申请列表分页数据
     *
     * @param query 管理后台-开票申请相关接口
     * @return PageDTO<MgtMemberInvoicingVO>
     */
    @Override
    public PageDTO<MgtMemberInvoicingVO> getMemberInvoicingPage(MgtMemberInvoicingQuery query) {
        Page<MemberInvoice> page = new Page<>(query.getPageCurr(), query.getPageSize());
@@ -144,4 +155,58 @@
        });
        return pageVO;
    }
    /**
     * 查看详情
     *
     * @param id 开票申请id
     * @return MgtMemberInvoicingVO
     */
    @Override
    public MgtMemberInvoicingVO getMemberInvoicingDetail(Long id) {
        MemberInvoice memberInvoice = getMemberInvoice(id);
        MgtMemberInvoicingVO mgtMemberInvoicingVO = BeanUtils.copyBean(memberInvoice,
                MgtMemberInvoicingVO.class);
        // 查询用户信息
        Member member = memberClient.getMembeOne(mgtMemberInvoicingVO.getMemberId(),
                SecurityConstants.INNER).getData();
        if (Objects.nonNull(member)) {
            mgtMemberInvoicingVO.setNickname(member.getNickname());
            mgtMemberInvoicingVO.setPhone(member.getPhone());
        }
        // 查询关联订单
        List<MemberInvoiceOrder> memberInvoiceOrderList = iMemberInvoiceOrderService.lambdaQuery()
                .eq(MemberInvoiceOrder::getInvoiceId, id).list();
        String orderNo = memberInvoiceOrderList.stream().map(MemberInvoiceOrder::getOrderNo)
                .collect(Collectors.joining(","));
        mgtMemberInvoicingVO.setOrderNo(orderNo);
        return mgtMemberInvoicingVO;
    }
    @NotNull
    private MemberInvoice getMemberInvoice(Long id) {
        MemberInvoice memberInvoice = this.getById(id);
        if (Objects.isNull(memberInvoice)) {
            throw new ServiceException("开票申请不存在");
        }
        return memberInvoice;
    }
    /**
     * 审核
     *
     * @param dto 管理后台-开票申请审核数据传输对象
     */
    @Override
    public void audit(MgtMemberInvoicingAuditDTO dto) {
        MemberInvoice memberInvoice = getMemberInvoice(dto.getId());
        if (!Objects.equals(memberInvoice.getInvoiceStatus(), 1)) {
            throw new ServiceException("该开票申请已被审核");
        }
        memberInvoice.setInvoiceStatus(dto.getInvoiceStatus());
        if (Objects.equals(dto.getInvoiceStatus(), 3)) {
            memberInvoice.setRemark(dto.getRemark());
        }
        this.updateById(memberInvoice);
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CustomConfigController.java
@@ -91,11 +91,26 @@
        return R.ok();
    }
    /**
     * 售后设置
     *
     * @param dto 售后设置对象
     */
    @ApiOperation(value = "售后设置")
    @PostMapping("/save-after-sale-setting")
    public R<?> saveAfterSaleSetting(@Validated @RequestBody MgtAfterSaleSettingDTO dto) {
        iCustomConfigService.saveAfterSaleSetting(dto);
        return R.ok();
    }
    /**
     * 获取售后设置
     *
     * @return List<CustomConfigVO>
     */
    @ApiOperation("获取售后设置")
    @PostMapping("/get-after-sale-setting")
    public R<List<CustomConfigVO>> getAfterSaleSetting() {
        return R.ok(iCustomConfigService.getAfterSaleSetting());
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICustomConfigService.java
@@ -46,5 +46,17 @@
     */
    void saveOrderDescription(String description);
    /**
     * 售后设置
     *
     * @param dto 售后设置对象
     */
    void saveAfterSaleSetting(MgtAfterSaleSettingDTO dto);
    /**
     * 获取售后设置
     *
     * @return List<CustomConfigVO>
     */
    List<CustomConfigVO> getAfterSaleSetting();
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CustomConfigServiceImpl.java
@@ -60,7 +60,7 @@
    private Optional<CustomConfig> getCustomConfigByKey(String key) {
        return this.lambdaQuery()
                .eq(CustomConfig::getConfigType, key)
                .eq(CustomConfig::getConfigKey, key)
                .eq(CustomConfig::getDelFlag, 0).oneOpt();
    }
@@ -111,6 +111,11 @@
        this.saveOrUpdate(orderDescription);
    }
    /**
     * 售后设置
     *
     * @param dto 售后设置对象
     */
    @Override
    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
    public void saveAfterSaleSetting(MgtAfterSaleSettingDTO dto) {
@@ -133,4 +138,19 @@
        receiverNameConfig.setConfigValue(value);
        this.saveOrUpdate(receiverNameConfig);
    }
    /**
     * 获取售后设置
     *
     * @return List<CustomConfigVO>
     */
    @Override
    public List<CustomConfigVO> getAfterSaleSetting() {
        List<CustomConfig> list = this.lambdaQuery()
                .in(CustomConfig::getConfigType, ConfigEnum.RETURN_ADDRESS_USER_NAME,
                        ConfigEnum.RETURN_ADDRESS_USER_PHONE,
                        ConfigEnum.RETURN_ADDRESS_USER_ADDRESS, ConfigEnum.RETURN_CYCLE)
                .eq(CustomConfig::getDelFlag, 0).list();
        return BeanUtils.copyList(list, CustomConfigVO.class);
    }
}