From c8a9b0aa391237339da07db6f9751d0192776457 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 07 三月 2026 21:14:20 +0800
Subject: [PATCH] bug修改

---
 xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpInvitationCodeController.java |   49 +++++++++++++++++++++++++++----------------------
 1 files changed, 27 insertions(+), 22 deletions(-)

diff --git a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpInvitationCodeController.java b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpInvitationCodeController.java
index 3d02b2c..748469c 100644
--- a/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpInvitationCodeController.java
+++ b/xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpInvitationCodeController.java
@@ -5,6 +5,8 @@
 import cn.afterturn.easypoi.excel.ExcelImportUtil;
 import cn.afterturn.easypoi.excel.entity.ExportParams;
 import cn.afterturn.easypoi.excel.entity.ImportParams;
+import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
+import cn.hutool.core.io.resource.ClassPathResource;
 import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.xiaopeng.api.model.account.SysUser;
@@ -17,6 +19,7 @@
 import com.xiaopeng.common.core.web.page.PageInfo;
 import com.xiaopeng.common.log.annotation.Log;
 import com.xiaopeng.common.log.enums.BusinessType;
+import com.xiaopeng.operation.dto.InvitationAddDto;
 import com.xiaopeng.operation.exportExcle.XpInvitationCodeExportExcel;
 import com.xiaopeng.operation.exportExcle.XpWhitelistExportExcel;
 import com.xiaopeng.operation.importExcel.InvitationCodeImportExcel;
@@ -26,6 +29,7 @@
 import com.xiaopeng.operation.service.IXpWhitelistService;
 import io.swagger.annotations.*;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.openxml4j.exceptions.NotOfficeXmlFileException;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
@@ -37,6 +41,7 @@
 import javax.annotation.Resource;
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
+import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URLEncoder;
@@ -56,7 +61,7 @@
 @RestController
 @Api(tags = "邀请码管理")
 @Slf4j
-@RequestMapping("/api/v1/invitation")
+@RequestMapping("")
 public class XpInvitationCodeController {
     @Resource
     private IXpInvitationCodeService xpInvitationCodeService;
@@ -64,7 +69,7 @@
     private IXpWhitelistService xpWhitelistService;
 
     @ApiOperation(value = "邀请码管理分页列表",response = XpInvitationCode.class)
-    @PostMapping("/pageList")
+    @PostMapping("/api/v1/invitation/pageList")
     public R<PageInfo<XpInvitationCode>> pageList(@RequestBody InvitationPageListQuery query) {
         PageInfo<XpInvitationCode> pageList = xpInvitationCodeService.pageList(query);
         return R.ok(pageList);
@@ -72,20 +77,17 @@
     /**
      * 生成邀请码
      */
-    @PutMapping("/add")
+    @PostMapping("/api/v1/invitation/add")
     @ResponseBody
     @ApiOperation(value = "生成邀请码")
-    @ApiImplicitParams({
-            @ApiImplicitParam(value = "手机号 多个逗号隔开", name = "phones", dataType = "String", required = true)
-    })
     @Transactional
-    public R add(@RequestParam("phones") String phones){
-        return xpInvitationCodeService.add(phones);
+    public R add(@RequestBody InvitationAddDto dto){
+        return xpInvitationCodeService.add(dto.getPhones());
     }
     /**
      * 解绑
      */
-    @PutMapping("/unbind")
+    @PutMapping("/api/v1/invitation/unbind")
     @ResponseBody
     @ApiOperation(value = "解绑")
     @ApiImplicitParams({
@@ -99,8 +101,8 @@
         xpInvitationCodeService.update(xpInvitationCodeUpdateWrapper);
         return R.ok();
     }
-    @ApiOperation(value = "点位导入模板下载")
-    @GetMapping("/import-template")
+    @ApiOperation(value = "邀请码导入模板下载")
+    @GetMapping("/api/v1/invitation/import-template")
     public void importTemplate() {
         List<InvitationCodeImportExcel> invitationCodeImportExcels = new ArrayList<>();
         InvitationCodeImportExcel invitationCodeImportExcel = new InvitationCodeImportExcel();
@@ -108,14 +110,17 @@
         Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), InvitationCodeImportExcel.class, invitationCodeImportExcels);
         HttpServletResponse response = WebUtils.response();
         ServletOutputStream outputStream = null;
+        //1.获取excel模板
+        ClassPathResource classPathResource = new ClassPathResource("template/邀请码导入模板.xlsx");
+        TemplateExportParams params = new TemplateExportParams(classPathResource.getPath());
+        response.setContentType("application/vnd.ms-excel");
+        response.setCharacterEncoding("utf-8");
         try {
             String fileName = URLEncoder.encode("邀请码导入模板.xlsx", "utf-8");
-            response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
-            response.setHeader("content-Type", "application/vnd.ms-excel");
-            response.setHeader("Pragma", "no-cache");
-            response.setHeader("Cache-Control", "no-cache");
+            response.setHeader("Content-dispodition", "attachment;filename=" + fileName);
             outputStream = response.getOutputStream();
             workbook.write(outputStream);
+
         } catch (IOException e) {
             e.printStackTrace();
             System.out.println("邀请码导入模板下载失败!");
@@ -127,15 +132,15 @@
             }
         }
     }
-    @Log(title = "邀请码导入", businessType = BusinessType.IMPORT)
     @ApiOperation(value = "邀请码导入")
-    @PostMapping("/importExcel")
+    @PostMapping("/base/v1/invitation/importExcel")
     public R<String> importExcel(@RequestPart("file") MultipartFile file) {
+        System.out.println("文件名 = " + file.getOriginalFilename());
+        System.out.println("文件大小 = " + file.getSize());
+        System.out.println("ContentType = " + file.getContentType());
         ImportParams params = new ImportParams();
-//        params.setTitleRows(1); // 标题行数
         params.setHeadRows(1); //表头行数
         InputStream inputStream = null;
-//        List<CustomerImportFailedData> failedData = new ArrayList<>();
         List<InvitationCodeImportExcel> invitationCodeImportExcels;
         try {
             inputStream = file.getInputStream();
@@ -204,13 +209,13 @@
         return R.ok();
     }
     @ApiOperation(value = "邀请码导出")
-    @PostMapping(value = "/exportExcel")
+    @PostMapping(value = "/api/v1/invitation/exportExcel")
     public void exportExcel(@RequestBody InvitationPageListQuery query) {
         List<XpInvitationCode> list = xpInvitationCodeService.exportList(query);
         List<XpInvitationCodeExportExcel> xpWhitelistExportExcels = new ArrayList<>();
         for (XpInvitationCode xpInvitationCode : list) {
             XpInvitationCodeExportExcel xpWhitelistExportExcel = new XpInvitationCodeExportExcel();
-            xpWhitelistExportExcel.setId(xpInvitationCode.getId());
+//            xpWhitelistExportExcel.setId(xpInvitationCode.getId());
             xpWhitelistExportExcel.setBind_account(xpInvitationCode.getBindAccount());
             xpWhitelistExportExcel.setInvitationCode(xpInvitationCode.getInvitationCode());
             LocalDateTime createTime = xpInvitationCode.getCreateTime();
@@ -245,7 +250,7 @@
     /**
      * 批量删除
      */
-    @GetMapping("/deleteByIds")
+    @GetMapping("/api/v1/invitation/deleteByIds")
     @ResponseBody
     @ApiOperation(value = "批量删除")
     public R deleteByIds(String ids){

--
Gitblit v1.7.1