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); } }