浏览代码

全部患者

Huanyi 2 月之前
父节点
当前提交
75b4af470a

+ 30 - 0
ruoyi-admin/src/main/java/org/dromara/web/controller/InvoiceManagementController.java

@@ -0,0 +1,30 @@
+package org.dromara.web.controller;
+
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.web.domain.bo.InvoiceMakeOutBo;
+import org.dromara.web.service.InvoiceManagementService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @Author: Huanyi
+ * @CreateTime: 2025-08-15
+ * @Description:
+ * @Version: 1.0
+ */
+
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/invoice/management")
+public class InvoiceManagementController {
+
+    private final InvoiceManagementService invoiceManagementService;
+
+    @PutMapping("/makeOut")
+    public R makeOut(@RequestBody InvoiceMakeOutBo bo) {
+        return invoiceManagementService.makeOut(bo);
+    }
+
+}

+ 28 - 0
ruoyi-admin/src/main/java/org/dromara/web/domain/bo/InvoiceMakeOutBo.java

@@ -0,0 +1,28 @@
+package org.dromara.web.domain.bo;
+
+import lombok.Data;
+
+/**
+ * @Author: Huanyi
+ * @CreateTime: 2025-08-15
+ * @Description:
+ * @Version: 1.0
+ */
+
+@Data
+public class InvoiceMakeOutBo {
+
+    private Long id;
+
+    /**
+     * 发票类型
+     * 0、个人
+     * 1、企业
+     */
+    private Integer type;
+
+    private String email;
+
+    private String note;
+
+}

+ 15 - 0
ruoyi-admin/src/main/java/org/dromara/web/service/InvoiceManagementService.java

@@ -0,0 +1,15 @@
+package org.dromara.web.service;
+
+import org.dromara.common.core.domain.R;
+import org.dromara.web.domain.bo.InvoiceMakeOutBo;
+
+/**
+ * @Author: Huanyi
+ * @CreateTime: 2025-08-15
+ * @Description:
+ * @Version: 1.0
+ */
+
+public interface InvoiceManagementService {
+    R makeOut(InvoiceMakeOutBo bo);
+}

+ 52 - 0
ruoyi-admin/src/main/java/org/dromara/web/service/impl/InvoiceManagementServiceImpl.java

@@ -0,0 +1,52 @@
+package org.dromara.web.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.dromara.common.core.domain.R;
+import org.dromara.web.domain.ChargeRecord;
+import org.dromara.web.domain.bo.EmailSendBo;
+import org.dromara.web.domain.bo.InvoiceMakeOutBo;
+import org.dromara.web.mapper.ChargeRecordMapper;
+import org.dromara.web.service.EmailService;
+import org.dromara.web.service.InvoiceManagementService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * @Author: Huanyi
+ * @CreateTime: 2025-08-15
+ * @Description:
+ * @Version: 1.0
+ */
+
+@Service
+@RequiredArgsConstructor
+@Slf4j
+public class InvoiceManagementServiceImpl implements InvoiceManagementService {
+
+    private final EmailService emailService;
+
+    private final ChargeRecordMapper chargeRecordMapper;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R makeOut(InvoiceMakeOutBo bo) {
+
+        EmailSendBo sendBo = new EmailSendBo();
+        sendBo.setEmail(bo.getEmail());
+        sendBo.setMessage("");
+        sendBo.setFileBase64("");
+        emailService.send(sendBo);
+
+        LambdaUpdateWrapper<ChargeRecord> wrapper = new LambdaUpdateWrapper<>();
+        wrapper.eq(ChargeRecord::getId, bo.getId())
+            .set(ChargeRecord::getWhetherInvoice, 1);
+        int flag = chargeRecordMapper.update(wrapper);
+        if (flag <= 0) {
+            throw new RuntimeException("开票失败!");
+        }
+
+        return R.ok();
+    }
+}