puzhibing
2026-05-12 08cc6d5cf7e93b75cfabe7dcc2aeaa9afa1117eb
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/controller/XpInvitationCodeController.java
@@ -20,6 +20,9 @@
import com.xiaopeng.common.core.utils.DateUtils;
import com.xiaopeng.common.core.utils.WebUtils;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.common.log.annotation.AdminOperationLog;
import com.xiaopeng.common.log.enums.AdminBusinessType;
import com.xiaopeng.common.log.enums.AdminOperationType;
import com.xiaopeng.common.security.service.TokenService;
import com.xiaopeng.operation.constant.I18nKeyConstant;
import com.xiaopeng.operation.dto.InvitationAddDto;
@@ -97,6 +100,12 @@
    @PostMapping("/api/v1/invitation/add")
    @ResponseBody
    @ApiOperation(value = "生成邀请码")
    @AdminOperationLog(
            businessType = AdminBusinessType.INVITATION_CODE_MANAGEMENT,
            operationType = AdminOperationType.ADD,
            content = "生成邀请码",
            appendRequestData = true
    )
    public R add(@RequestBody InvitationAddDto dto) {
        long existing = xpInvitationCodeService.count();
        long incoming = Arrays.stream(Optional.ofNullable(dto.getPhones()).orElse("").split(","))
@@ -119,6 +128,12 @@
    @PutMapping("/api/v1/invitation/unbind")
    @ResponseBody
    @ApiOperation(value = "解绑")
    @AdminOperationLog(
            businessType = AdminBusinessType.INVITATION_CODE_MANAGEMENT,
            operationType = AdminOperationType.EDIT,
            contentExpression = "'解绑邀请码,id=' + #p0",
            appendRequestData = false
    )
    @ApiImplicitParams({
            @ApiImplicitParam(value = "id", name = "id", dataType = "Long", required = true)
    })
@@ -165,6 +180,12 @@
    @ApiOperation(value = "邀请码导入")
    @PostMapping("/base/v1/invitation/importExcel")
    @AdminOperationLog(
            businessType = AdminBusinessType.INVITATION_CODE_MANAGEMENT,
            operationType = AdminOperationType.IMPORT,
            content = "导入邀请码",
            appendRequestData = false
    )
    public R<String> importExcel(@RequestParam("file") MultipartFile file) {
        ImportParams params = new ImportParams();
        params.setHeadRows(1); //表头行数
@@ -313,6 +334,12 @@
    @ApiOperation(value = "邀请码导出")
    @PostMapping(value = "/api/v1/invitation/exportExcel")
    @AdminOperationLog(
            businessType = AdminBusinessType.INVITATION_CODE_MANAGEMENT,
            operationType = AdminOperationType.EXPORT,
            content = "导出邀请码",
            appendRequestData = true
    )
    public void exportExcel(@RequestBody InvitationPageListQuery query) {
        List<XpInvitationCode> list = xpInvitationCodeService.exportList(query);
        List<XpInvitationCodeExportExcel> xpWhitelistExportExcels = new ArrayList<>();
@@ -357,6 +384,12 @@
    @GetMapping("/api/v1/invitation/deleteByIds")
    @ResponseBody
    @ApiOperation(value = "批量删除")
    @AdminOperationLog(
            businessType = AdminBusinessType.INVITATION_CODE_MANAGEMENT,
            operationType = AdminOperationType.DELETE,
            contentExpression = "'批量删除邀请码,ids=' + #p0",
            appendRequestData = false
    )
    public R deleteByIds(String ids) {
        // 再转化为Long类型
        List<Long> longs = Arrays.stream(ids.split(",")).map(Long::parseLong).collect(Collectors.toList());