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