From 6c33001421bbdc70d6d432ae0904057f832bccab Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 19 Jan 2024 16:21:33 +0800
Subject: [PATCH] fapiao
---
src/main/java/cc/mrbird/febs/mall/service/MallInvoiceService.java | 2 +
src/main/java/cc/mrbird/febs/pay/service/WxFaPiaoService.java | 2 +
src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java | 11 +++++
src/main/java/cc/mrbird/febs/mall/service/impl/MallInvoiceServiceImpl.java | 33 ++++++++++++++++
src/main/resources/templates/febs/views/modules/order/invoiceList.html | 12 ++++-
src/main/java/cc/mrbird/febs/pay/service/impl/WxFaPiaoServiceImpl.java | 3 +
6 files changed, 59 insertions(+), 4 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
index 30ab00c..cff652b 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
@@ -693,4 +693,15 @@
return mallInvoiceService.addInvoiceUrl(mallInvoice);
}
+ /**
+ * 发票列表-更新抬头
+ * @param id
+ * @return
+ */
+ @GetMapping("updateInvoiceDetail/{id}")
+ @ControllerEndpoint(operation = "发票列表-更新抬头", exceptionMessage = "操作失败")
+ public FebsResponse updateInvoiceDetail(@NotNull(message = "{required}") @PathVariable Long id) {
+ return mallInvoiceService.updateInvoiceDetail(id);
+ }
+
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/MallInvoiceService.java b/src/main/java/cc/mrbird/febs/mall/service/MallInvoiceService.java
index 2c8fa1c..4be679a 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/MallInvoiceService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/MallInvoiceService.java
@@ -26,4 +26,6 @@
List<MallOrderItem> invoiceItemList();
FebsResponse addInvoiceUrl(MallInvoice mallInvoice);
+
+ FebsResponse updateInvoiceDetail(Long id);
}
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..7586ece 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,30 @@
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.setState(1);
+ 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();
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/pay/service/WxFaPiaoService.java b/src/main/java/cc/mrbird/febs/pay/service/WxFaPiaoService.java
index 87fc111..7b73f49 100644
--- a/src/main/java/cc/mrbird/febs/pay/service/WxFaPiaoService.java
+++ b/src/main/java/cc/mrbird/febs/pay/service/WxFaPiaoService.java
@@ -22,4 +22,6 @@
String sendGet(String url, Map<String, Object> params, String token);
Map<String, Object> fapiaoCallBack(HttpServletRequest request, @RequestBody Map<String, Object> requestBody);
+
+ String getUserInvoiceInfo(String fapiaoApplyId) throws IOException;
}
diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/WxFaPiaoServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/WxFaPiaoServiceImpl.java
index 8ea75df..341b6b6 100644
--- a/src/main/java/cc/mrbird/febs/pay/service/impl/WxFaPiaoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/pay/service/impl/WxFaPiaoServiceImpl.java
@@ -364,7 +364,7 @@
// mallOrderInfo.setIsInvoice(1);
// mallOrderInfoMapper.updateById(mallOrderInfo);
//获取用户的抬头信息
- String userInvoiceInfo = getUserInvoiceInfo(fapiao_apply_id);
+ String userInvoiceInfo = this.getUserInvoiceInfo(fapiao_apply_id);
JSONObject userInvoiceInfoJson = JSONUtil.parseObj(userInvoiceInfo);
//查看当前订单是否已经开具发票
Long memberId = mallOrderInfo.getMemberId();
@@ -425,6 +425,7 @@
/**
* 获取用户的抬头信息
*/
+ @Override
public String getUserInvoiceInfo(String fapiaoApplyId) throws IOException {
//初始化请求参数
diff --git a/src/main/resources/templates/febs/views/modules/order/invoiceList.html b/src/main/resources/templates/febs/views/modules/order/invoiceList.html
index 88fd2ae..91e6dc5 100644
--- a/src/main/resources/templates/febs/views/modules/order/invoiceList.html
+++ b/src/main/resources/templates/febs/views/modules/order/invoiceList.html
@@ -111,10 +111,15 @@
area:['100%','100%'],
});
}
+ if (layEvent === 'updateInvoiceDetail') {
+ febs.modal.confirm('更新', '是否更新用户的抬头信息?', function () {
+ updateInvoiceDetail(data.id);
+ });
+ }
});
- function cancelOrder(id) {
- febs.get(ctx + 'admin/order/cancelOrder/' + id, null, function () {
+ function updateInvoiceDetail(id) {
+ febs.get(ctx + 'admin/order/updateInvoiceDetail/' + id, null, function () {
febs.alert.success('操作成功');
$query.click();
});
@@ -195,7 +200,8 @@
{title: '操作',
templet: function (d) {
if(d.status === 4){
- return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="seeInvoiceDetail" shiro:hasPermission="user:update">开票信息</button>'
+ return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="seeInvoiceDetail" shiro:hasPermission="user:update">开票信息</button>' +
+ '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="updateInvoiceDetail" shiro:hasPermission="user:update">更新抬头</button>'
}else{
return ''
}
--
Gitblit v1.9.1