yangdamao 3 月之前
父节点
当前提交
752b07d547

+ 9 - 0
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/order/TopOldOrderController.java

@@ -350,4 +350,13 @@ public class TopOldOrderController extends BaseController {
         return AjaxResult.success();
     }
 
+    /**
+     * 订单发票上传
+     */
+    @ApiOperation("订单发票上传")
+    @PostMapping("/invoice/upload")
+    public AjaxResult<Void> invoiceUpload(@RequestBody TopInvoiceUploadBo bo) {
+        return toAjax(iTopOldOrderService.invoiceUpload(bo) ? 1 : 0);
+    }
+
 }

+ 23 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/bo/TopInvoiceUploadBo.java

@@ -0,0 +1,23 @@
+package com.zhongzheng.modules.top.goods.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 订单编辑对象 top_order
+ *
+ * @author ruoyi
+ * @date 2023-04-20
+ */
+@Data
+@ApiModel("订单发票上传")
+public class TopInvoiceUploadBo {
+
+    @ApiModelProperty("订单号")
+    private String orderSn;
+
+    @ApiModelProperty("发票图片地址")
+    private String invoiceUrl;
+
+}

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/ITopOldOrderService.java

@@ -216,4 +216,6 @@ public interface ITopOldOrderService extends IService<TopOldOrder> {
 	TopQuestionImportVo importOrderQuestion(List<TopOrderQuestionImportBo> questionImportBos);
 
 	boolean batchSaveOrderQuestion(List<TopOrderRepQuestionBo> bos);
+
+	boolean invoiceUpload(TopInvoiceUploadBo bo);
 }

+ 32 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java

@@ -394,16 +394,22 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                 .eq(TopNuoMplatformLog::getStatus, 2));
         if (CollectionUtils.isNotEmpty(fromLogs)){
             BigDecimal invoiceTotal = BigDecimal.ZERO;
+            List<String> invoiceUrls = new ArrayList<>();
             for (TopNuoMplatformLog fromLog : fromLogs) {
                 OrderInvoiceHostBo invoiceBo = JSONObject.parseObject(fromLog.getContent(), OrderInvoiceHostBo.class);
                 if (ObjectUtils.isNotNull(invoiceBo)){
                     BigDecimal price = invoiceBo.getOrder().getInvoiceDetail().getPrice();
                     invoiceTotal = invoiceTotal.add(price);
                 }
-                orderVo.setInvoiceDate(invoiceBo.getOrder().getInvoiceDate());
+                if (ObjectUtils.isNotNull(invoiceBo)){
+                    orderVo.setInvoiceDate(invoiceBo.getOrder().getInvoiceDate());
+                }
+                String url = StringUtils.isNotBlank(fromLog.getOssPdfUrl()) ? fromLog.getOssPdfUrl():fromLog.getPdfUrl();
+                invoiceUrls.add(url);
             }
             orderVo.setInvoiceMoney(invoiceTotal);
             orderVo.setInvoiceStatus(1);
+            orderVo.setInvoiceUrl(invoiceUrls);
         }else {
             orderVo.setInvoiceStatus(0);
         }
@@ -5186,6 +5192,31 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         return topOldOrderQuestionService.saveBatch(collect);
     }
 
+    @Override
+    public boolean invoiceUpload(TopInvoiceUploadBo bo) {
+        TopOldOrder order = getOne(new LambdaQueryWrapper<TopOldOrder>().eq(TopOldOrder::getOrderSn, bo.getOrderSn()));
+        if (ObjectUtils.isNull(order)){
+            throw new CustomException("订单查询失败,请检查订单号");
+        }
+        //新增发票
+        TopNuoMplatformLog entity = new TopNuoMplatformLog();
+        entity.setOrderNo(bo.getOrderSn());
+        entity.setOrderNoList(bo.getOrderSn());
+        entity.setTenantId(order.getTenantId().toString());
+        entity.setStatus(2);
+        entity.setFromPlat(3);
+        entity.setPdfUrl(bo.getInvoiceUrl());
+        entity.setOssPdfUrl(bo.getInvoiceUrl());
+        entity.setUpdateTime(DateUtils.getNowTime());
+        entity.setCreateTime(DateUtils.getNowTime());
+        topNuoMplatformLogService.save(entity);
+
+        //修改订单发票状态
+        return update(new LambdaUpdateWrapper<TopOldOrder>()
+                .eq(TopOldOrder::getOrderSn,bo.getOrderSn())
+                .set(TopOldOrder::getInvoiceStatus,1));
+    }
+
     private String hideIDCard(String idCard) {
         if (idCard == null || idCard.length() != 18) {
             return idCard;

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/vo/TopOldOrderVo.java

@@ -151,6 +151,9 @@ public class TopOldOrderVo {
 	@ApiModelProperty("佣金")
 	private BigDecimal brokerage;
 
+	@ApiModelProperty("订单发票地址")
+	private List<String> invoiceUrl;
+
 	public String getOrderBusiness() {
 		if (CollectionUtils.isEmpty(this.businessNames)){
 			return "";