Procházet zdrojové kódy

发票详情防止重复数据

skyline před 2 roky
rodič
revize
2058470971

+ 5 - 5
service/src/main/java/com/kym/service/admin/impl/InvoiceDetailServiceImpl.java

@@ -1,18 +1,15 @@
 package com.kym.service.admin.impl;
 
-import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.poi.excel.ExcelUtil;
 import cn.hutool.poi.excel.ExcelWriter;
 import com.alibaba.fastjson2.JSON;
-import com.alibaba.fastjson2.JSONObject;
 import com.github.pagehelper.PageHelper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.kym.common.utils.CommUtil;
 import com.kym.entity.admin.InvoiceDetail;
 import com.kym.entity.admin.queryParams.InvoiceDetailQueryParam;
 import com.kym.entity.common.PageBean;
-import com.kym.entity.miniapp.DataDict;
 import com.kym.entity.miniapp.Invoice;
 import com.kym.entity.wechat.FapiaoApplications;
 import com.kym.mapper.admin.InvoiceDetailMapper;
@@ -20,8 +17,10 @@ import com.kym.service.admin.InvoiceDetailService;
 import com.kym.service.miniapp.DataDictService;
 import org.springframework.stereotype.Service;
 
-import java.util.*;
-import java.util.stream.Collectors;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -55,6 +54,7 @@ public class InvoiceDetailServiceImpl extends MPJBaseServiceImpl<InvoiceDetailMa
     public ExcelWriter exportInvoiceDetail(InvoiceDetailQueryParam params) {
         var invoiceDetailList = lambdaQuery()
                 .eq(CommUtil.isNotEmptyAndNull(params.getApplyId()), InvoiceDetail::getApplyId, params.getApplyId())
+                .eq(CommUtil.isNotEmptyAndNull(params.getStatus()), InvoiceDetail::getStatus, params.getStatus())
                 .orderByDesc(InvoiceDetail::getFapiaoTime)
                 .list();
         ExcelWriter writer = ExcelUtil.getWriter();

+ 3 - 0
service/src/main/java/com/kym/service/wechat/impl/WxPayServiceImpl.java

@@ -874,6 +874,7 @@ public class WxPayServiceImpl implements WxPayService {
      * @return
      */
     @Override
+    @Transactional
     public void wxInvoiceNotify(Object[] notifyRes) {
         try {
             InvoiceNotification invoiceNotification = ((NotificationParser) notifyRes[1]).parse((RequestParam) notifyRes[0], InvoiceNotification.class);
@@ -911,6 +912,7 @@ public class WxPayServiceImpl implements WxPayService {
                         .setBuyerInformation(fapiaoApplications.getFapiao_information().get(0).getBuyer_information())
                         .setExtraInformation(fapiaoApplications.getFapiao_information().get(0).getExtra_information())
                         .setItems(fapiaoApplications.getFapiao_information().get(0).getItems());
+                invoiceDetailService.removeByMap(Map.of("apply_id", invoice.getApplyId()));
                 invoiceDetailService.save(invoiceDetail);
 
             } else {
@@ -1009,6 +1011,7 @@ public class WxPayServiceImpl implements WxPayService {
                 .setBuyerInformation(fapiaoApplications.getFapiao_information().get(0).getBuyer_information())
                 .setExtraInformation(fapiaoApplications.getFapiao_information().get(0).getExtra_information())
                 .setItems(fapiaoApplications.getFapiao_information().get(0).getItems());
+        invoiceDetailService.removeByMap(Map.of("apply_id", applyId));
         invoiceDetailService.save(invoiceDetail);