From 64518bf5805ac3b8b65f76f0867e69b49105800a Mon Sep 17 00:00:00 2001 From: 777 <123@qwe.com> Date: Mon, 30 Jun 2025 11:52:47 +0800 Subject: [PATCH] 123 --- .../cai/admin/AccountBlackController.java | 70 ++++++++++++++++++- .../cai/admin/DynamicController.java | 21 ++++++ .../cai/admin/UserCameraAuditController.java | 9 +++ .../src/main/resources/application-dev.yml | 2 +- .../admin/export/AccountBlackExportVo.java | 20 ++++++ .../cai/service/AccountBlackService.java | 2 + .../com/ruoyi/cai/service/DynamicService.java | 1 - .../cai/service/UserCameraAuditService.java | 2 + .../service/impl/AccountBlackServiceImpl.java | 7 ++ .../impl/UserCameraAuditServiceImpl.java | 10 ++- 10 files changed, 139 insertions(+), 5 deletions(-) create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/dto/admin/export/AccountBlackExportVo.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/AccountBlackController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/AccountBlackController.java index 223a87c4..7df3c17d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/AccountBlackController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/AccountBlackController.java @@ -1,9 +1,12 @@ package com.ruoyi.web.controller.cai.admin; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.cai.domain.AccountBlack; +import com.ruoyi.cai.dto.admin.export.AccountBlackExportVo; import com.ruoyi.cai.dto.admin.vo.UserAdminVo; import com.ruoyi.cai.mapper.AccountBlackMapper; import com.ruoyi.cai.mapper.AccountMapper; @@ -13,18 +16,29 @@ import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.excel.ExcelResult; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.domain.vo.SysUserExportVo; +import com.ruoyi.system.domain.vo.SysUserImportVo; +import com.ruoyi.system.listener.SysUserImportListener; import lombok.RequiredArgsConstructor; +import org.springframework.http.MediaType; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; -import java.util.Arrays; +import java.util.*; /** * 账户黑名单 @@ -104,4 +118,58 @@ public class AccountBlackController extends BaseController { @PathVariable String[] ids) { return toAjax(accountBlackService.removeBatchByIds(Arrays.asList(ids))); } + + + /** + * 获取导入模板 + */ + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) { + ExcelUtil.exportExcel(new ArrayList<>(), "用户黑名单", AccountBlackExportVo.class, response); + } + + @Log(title = "账户黑名单", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(AccountBlack user, HttpServletResponse response) { + List list = accountBlackService.list(Wrappers.lambdaQuery(user)); + List listVo = BeanUtil.copyToList(list, AccountBlackExportVo.class); + ExcelUtil.exportExcel(listVo, "用户黑名单", AccountBlackExportVo.class, response); + } + + /** + * 导入数据 + * + * @param file 导入文件 + */ + @Log(title = "账户黑名单", businessType = BusinessType.IMPORT) + @PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + public R importData(@RequestPart("file") MultipartFile file) throws Exception { + List listVo = ExcelUtil.importExcel(file.getInputStream(), AccountBlackExportVo.class); + List save = new ArrayList<>(); + List edit = new ArrayList<>(); + Set hashSet = new HashSet<>(); + for (AccountBlackExportVo list : listVo) { + if(StringUtils.isBlank(list.getCardAccount()) || StringUtils.isBlank(list.getCardName())){ + continue; + } + boolean addBoolean = hashSet.add(list.getCardAccount() + list.getCardName()); + if(!addBoolean){ + continue; + } + int excelEnableStatus = (list.getEnableStatus()!= null && list.getEnableStatus() == 1)?1:0; + AccountBlack accountBlack = accountBlackService.selectByCardAccount(list.getCardName(), list.getCardAccount()); + if(accountBlack == null){ + accountBlack = new AccountBlack(); + accountBlack.setCardAccount(list.getCardAccount()); + accountBlack.setCardName(list.getCardName()); + accountBlack.setEnableStatus(excelEnableStatus); + save.add(accountBlack); + }else{ + accountBlack.setEnableStatus(excelEnableStatus); + edit.add(accountBlack); + } + } + accountBlackService.saveBatch(save); + return R.ok("操作成功!导入"+save.size()+"条数据"); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/DynamicController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/DynamicController.java index 175c689b..7cf89400 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/DynamicController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/DynamicController.java @@ -26,6 +26,7 @@ import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.Collections; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -109,6 +110,26 @@ public class DynamicController extends BaseController { return R.ok(success); } + @SaCheckPermission("cai:dynamic:edit") + @RepeatSubmit() + @PostMapping("/batch/fail") + @Log(title = "批量审核通过驳回", businessType = BusinessType.UPDATE) + public R batchAuditFail(@RequestBody BatchAuditReq bo) { + List ids = bo.getIds(); + Integer fail = 0; + for (Long id : ids) { + boolean b = dynamicService.auditFail(id); + if(!b){ + fail++; + } + } + String message = "操作成功!"; + if(fail > 0){ + message = String.format("%s, 驳回失败条数有:%s条", message,fail); + } + return R.ok(message,true); + } + @SaCheckPermission("cai:dynamic:edit") @RepeatSubmit() @PostMapping("/top") diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/UserCameraAuditController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/UserCameraAuditController.java index 26fe4c6c..e18c748e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/UserCameraAuditController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/UserCameraAuditController.java @@ -87,6 +87,15 @@ public class UserCameraAuditController extends BaseController { return R.ok(); } + @SaCheckPermission("cai:userCameraAudit:edit") + @RepeatSubmit() + @PostMapping("/batch/fail") + @Log(title = "批量审核不通过自拍认证", businessType = BusinessType.UPDATE) + public R editFail(@RequestBody BatchAuditReq bo) { + userCameraAuditService.auditBatchFail(bo.getIds()); + return R.ok(); + } + /** * 删除自拍认证 * diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 1a81f75b..af1a2051 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -100,7 +100,7 @@ agora: secret: df67ecc59f8645b890e2448377e4d1ba yunxin: app-key: 629390c317fb293f1bb87834411e0136 - app-secret: e54d5a8fd162 + app-secret: dsadasdaskkql knife4j: enable: false insight: diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/admin/export/AccountBlackExportVo.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/admin/export/AccountBlackExportVo.java new file mode 100644 index 00000000..ec6c1a3c --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/admin/export/AccountBlackExportVo.java @@ -0,0 +1,20 @@ +package com.ruoyi.cai.dto.admin.export; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +@Data +public class AccountBlackExportVo { + @ExcelProperty(value = "账户号") + private String cardAccount; + /** + * 账户名称 + */ + @ExcelProperty(value = "账户名称") + private String cardName; + /** + * 是否开启 + */ + @ExcelProperty(value = "是否启用(1-启用,0-不启用)") + private Integer enableStatus; +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/AccountBlackService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/AccountBlackService.java index a2a18e85..034c6d56 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/AccountBlackService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/AccountBlackService.java @@ -12,4 +12,6 @@ import com.ruoyi.cai.domain.AccountBlack; public interface AccountBlackService extends IService { boolean existsByNameAndAccount(String cardName, String cardAccount); + + AccountBlack selectByCardAccount(String cardName, String cardAccount); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/DynamicService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/DynamicService.java index 2e02b74f..5c4d03d4 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/DynamicService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/DynamicService.java @@ -45,5 +45,4 @@ public interface DynamicService extends IService { boolean auditFail(Long id); - } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserCameraAuditService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserCameraAuditService.java index c9657feb..7afb3abc 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserCameraAuditService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/UserCameraAuditService.java @@ -29,6 +29,8 @@ public interface UserCameraAuditService extends IService { void auditFail(Long id); + void auditBatchFail(List ids); + void auditBatchSuccess(List ids); void deleteBatch(List ids); diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AccountBlackServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AccountBlackServiceImpl.java index 18dbf313..8944369c 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AccountBlackServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/AccountBlackServiceImpl.java @@ -21,4 +21,11 @@ public class AccountBlackServiceImpl extends ServiceImpl ids) { + boolean update = this.update(Wrappers.lambdaUpdate(UserCameraAudit.class) + .in(UserCameraAudit::getId, ids) + .eq(UserCameraAudit::getAuditStatus, AuditStatusEnum.AUDITING.getCode()) + .set(UserCameraAudit::getAuditStatus, AuditStatusEnum.FAIL.getCode())); + } + @Override public void auditBatchSuccess(List ids) { for (Long id : ids) {