From 529ad9dd8d1876b57e852bc45b602ba3ccc8df2a Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Wed, 10 Apr 2024 17:19:08 +0800 Subject: [PATCH] 公告-首页公告调整 --- src/main/java/cc/mrbird/febs/mall/service/impl/MallInvoiceServiceImpl.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 60 insertions(+), 0 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallInvoiceServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallInvoiceServiceImpl.java index 6d55625..492f7de 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/MallInvoiceServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MallInvoiceServiceImpl.java @@ -17,15 +17,20 @@ import cc.mrbird.febs.mall.service.MallInvoiceService; import cc.mrbird.febs.mall.vo.AdminMallOrderInfoVo; import cc.mrbird.febs.mall.vo.ApiMallInvoiceVo; +import cc.mrbird.febs.pay.service.WxFaPiaoService; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.io.IOException; import java.util.List; @Slf4j @@ -36,6 +41,7 @@ private final MallOrderInfoMapper mallOrderInfoMapper; private final MallOrderItemMapper mallOrderItemMapper; private final RedisUtils redisUtils; + private final WxFaPiaoService wxFaPiaoService; @Override public FebsResponse getInvoices(ApiMallInvoiceDto apiMallInvoiceDto) { MallMember member = LoginUserUtil.getLoginUser(); @@ -110,6 +116,7 @@ } @Override + @Transactional public FebsResponse addInvoiceUrl(MallInvoice mallInvoice) { Long id = mallInvoice.getId(); MallInvoice mallInvoiceOld = this.baseMapper.selectById(id); @@ -125,4 +132,57 @@ this.baseMapper.updateById(mallInvoiceOld); return new FebsResponse().success(); } + + @Override + @Transactional + public FebsResponse updateInvoiceDetail(Long id) { + MallInvoice mallInvoice = this.baseMapper.selectById(id); + if(ObjectUtil.isEmpty(mallInvoice)){ + return new FebsResponse().fail().message("开票信息异常。"); + } + String fapiaoApplyId = mallInvoice.getFapiaoApplyId(); + try { + String userInvoiceInfo = wxFaPiaoService.getUserInvoiceInfo(fapiaoApplyId); + JSONObject userInvoiceInfoJson = JSONUtil.parseObj(userInvoiceInfo); + mallInvoice.setType(userInvoiceInfoJson.getStr("type")); + mallInvoice.setName(userInvoiceInfoJson.getStr("name")); + mallInvoice.setTaxpayerId(userInvoiceInfoJson.getStr("taxpayer_id")); + mallInvoice.setAddress(userInvoiceInfoJson.getStr("address")); + mallInvoice.setTelephone(userInvoiceInfoJson.getStr("telephone")); + mallInvoice.setBankName(userInvoiceInfoJson.getStr("bank_name")); + mallInvoice.setBankAccount(userInvoiceInfoJson.getStr("bank_account")); + this.baseMapper.updateById(mallInvoice); + } catch (IOException e) { + e.printStackTrace(); + } + return new FebsResponse().success(); + } + + @Override + @Transactional + public FebsResponse updateOrderDetail(Long id) { + MallInvoice mallInvoice = this.baseMapper.selectById(id); + + if(ObjectUtil.isEmpty(mallInvoice.getFapiaoApplyId())){ + return new FebsResponse().fail().message("订单的支付方式不是微信支付。"); + } + String fapiaoApplyId = mallInvoice.getFapiaoApplyId(); + MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectBypayOrderNo(fapiaoApplyId); + if(OrderStatusEnum.FINISH.getValue() != mallOrderInfo.getStatus()){ + return new FebsResponse().fail().message("当前订单还未完成。"); + } + /** + * fapiao_apply_id + * 发票申请单号,唯一标识一次开票行为。微信支付场景下,为微信支付订单号;非微信支付场景下,为调用【获取抬头填写链接】接口时指定的发票申请单号 + * 对应订单信息的pay_order_no支付订单号 + */ + mallInvoice.setStatus(mallOrderInfo.getStatus()); + this.baseMapper.updateById(mallInvoice); + /** + * 更新订单为已开票 + */ + mallOrderInfo.setIsInvoice(1); + mallOrderInfoMapper.updateById(mallOrderInfo); + return new FebsResponse().success(); + } } -- Gitblit v1.9.1