From cae8c39e8c08a9dc8087c5b1d7a96c8868f8569e Mon Sep 17 00:00:00 2001 From: huangqizhen <15552608129@163.com> Date: Wed, 23 Jul 2025 14:10:10 +0800 Subject: [PATCH] =?UTF-8?q?7.23=E4=BF=AE=E6=94=B9=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 6 ++ .../com/example/demo/Mysql/MysqlServiceImpl.java | 11 +-- .../example/demo/controller/MenuController.java | 5 + .../java/com/example/demo/domain/entity/User.java | 10 +- .../java/com/example/demo/mapper/MenuMapper.java | 5 + .../java/com/example/demo/mapper/RoleMapper.java | 2 + .../com/example/demo/password/ExcelProcessor.java | 108 +++++++++++++++++++++ .../java/com/example/demo/service/MenuService.java | 3 + .../example/demo/service/PermissionService.java | 1 + .../example/demo/serviceImpl/MenuServiceImpl.java | 33 +++++++ src/main/resources/mapper/MenuMapper.xml | 15 +++ src/main/resources/mapper/RoleMapper.xml | 15 +++ src/main/resources/mapper/UserMapper.xml | 4 +- 13 files changed, 203 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/example/demo/password/ExcelProcessor.java diff --git a/pom.xml b/pom.xml index 385c0d8..b3b2b4d 100644 --- a/pom.xml +++ b/pom.xml @@ -42,6 +42,12 @@ + org.apache.poi + poi-ooxml + 5.2.3 + + + org.apache.httpcomponents httpclient 4.5.14 diff --git a/src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java b/src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java index 4643675..5e0f08e 100644 --- a/src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java +++ b/src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java @@ -254,14 +254,9 @@ public class MysqlServiceImpl implements MysqlService { } if (validOneTypes.contains(gtype)){ user.setConsumeNum(user.getConsumeNum() + 1); - user.setSumConsumeGold(user.getSumConsumeGold() + buy_jb); - user.setSumConsumeTaskGold(user.getSumConsumeTaskGold() + core_jb); - if(currentMonth.getValue() >= 7){ - user.setSumConsumeJune(user.getSumConsumeJune()+free); - } - if(currentMonth.getValue() < 7){ - user.setSumConsumeDecember(user.getSumFreeDecember()+free); - } + user.setSumConsumePermanent(user.getSumConsumePermanent() + buy_jb); + user.setSumConsumeTask(user.getSumConsumeTask() + core_jb); + user.setSumConsumeFree(user.getSumConsumeFree() + free); } userService.updateAllGold(user); diff --git a/src/main/java/com/example/demo/controller/MenuController.java b/src/main/java/com/example/demo/controller/MenuController.java index eb54768..5ddbae0 100644 --- a/src/main/java/com/example/demo/controller/MenuController.java +++ b/src/main/java/com/example/demo/controller/MenuController.java @@ -44,4 +44,9 @@ public class MenuController { return menuService.addPermission(roleVo); } + //更新权限 + @PostMapping("/update") + public Result updatePermission(@RequestBody RoleVo roleVo) { + return menuService.updatePermission(roleVo); + } } diff --git a/src/main/java/com/example/demo/domain/entity/User.java b/src/main/java/com/example/demo/domain/entity/User.java index 5f97982..054ce64 100644 --- a/src/main/java/com/example/demo/domain/entity/User.java +++ b/src/main/java/com/example/demo/domain/entity/User.java @@ -48,13 +48,11 @@ public class User implements Serializable { @ExcelProperty("历史消费次数") private Integer consumeNum; // 消费次数 @ExcelProperty("历史消费永久金币") - private Integer sumConsumeGold; + private Integer sumConsumePermanent; @ExcelProperty("历史消费任务金币") - private Integer sumConsumeTaskGold; - @ExcelProperty("历史消费六月金币") - private Integer sumConsumeJune; - @ExcelProperty("历史消费十二月金币") - private Integer sumConsumeDecember; + private Integer sumConsumeTask; + @ExcelProperty("历史消费免费金币") + private Integer sumConsumeFree; @ExcelIgnore private List markets; @ExcelProperty("首充日期") diff --git a/src/main/java/com/example/demo/mapper/MenuMapper.java b/src/main/java/com/example/demo/mapper/MenuMapper.java index bedd339..d0f3b40 100644 --- a/src/main/java/com/example/demo/mapper/MenuMapper.java +++ b/src/main/java/com/example/demo/mapper/MenuMapper.java @@ -28,4 +28,9 @@ public interface MenuMapper { //查找菜单id Menu selectByMenuId(Integer id); + + //修改权限 + void updateMenu(List roleMenuList); + //删除权限 + void deleteMenu(Integer id); } diff --git a/src/main/java/com/example/demo/mapper/RoleMapper.java b/src/main/java/com/example/demo/mapper/RoleMapper.java index 51fb1e0..4b38036 100644 --- a/src/main/java/com/example/demo/mapper/RoleMapper.java +++ b/src/main/java/com/example/demo/mapper/RoleMapper.java @@ -46,4 +46,6 @@ public interface RoleMapper { void deleteRoleMenu(RoleVo roleVo); //获取当前角色的上级角色 RoleVo selectFather(Integer id); + //修改角色 + void updateRole(RoleVo roleVo); } diff --git a/src/main/java/com/example/demo/password/ExcelProcessor.java b/src/main/java/com/example/demo/password/ExcelProcessor.java new file mode 100644 index 0000000..f0921d9 --- /dev/null +++ b/src/main/java/com/example/demo/password/ExcelProcessor.java @@ -0,0 +1,108 @@ +package com.example.demo.password; + +import com.example.demo.Util.BaseDES; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.http.*; +import org.springframework.web.client.RestTemplate; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.util.HashMap; +import java.util.Map; + +public class ExcelProcessor { + + public static void main(String[] args) { + String inputFilePath = "D:\\地区导出.xls"; // 输入文件路径 + String outputFilePath = "D:\\output.xlsx"; // 输出文件路径 + + try (FileInputStream fis = new FileInputStream(new File(inputFilePath)); + Workbook workbook = new HSSFWorkbook(fis); + FileOutputStream fos = new FileOutputStream(new File(outputFilePath))) { + + Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表 + RestTemplate restTemplate = new RestTemplate(); + + // 创建新的输出工作簿 + Workbook outputWorkbook = new XSSFWorkbook(); + Sheet outputSheet = outputWorkbook.createSheet("Result"); + Row headerRow = outputSheet.createRow(0); + headerRow.createCell(0).setCellValue("jwcode"); + headerRow.createCell(1).setCellValue("name"); + headerRow.createCell(2).setCellValue("country"); + + int outputRowIndex = 1; + + // 遍历输入文件的每一行 + for (int i = 1; i <= sheet.getLastRowNum(); i++) { // 假设第一行是标题 + Row row = sheet.getRow(i); + if (row == null) continue; + + String jwcode = row.getCell(1).getStringCellValue(); // 假设 jwcode 在第一列 + System.out.println("Processing jwcode: " + jwcode); + + // 调用接口 + Map result = callApi(jwcode, restTemplate); + + // 写入结果到新 Excel 文件 + Row outputRow = outputSheet.createRow(outputRowIndex++); + outputRow.createCell(0).setCellValue(jwcode); + outputRow.createCell(1).setCellValue(result.getOrDefault("name", "未知")); + outputRow.createCell(2).setCellValue(result.getOrDefault("country", "未知")); + } + + // 保存输出文件 + outputWorkbook.write(fos); + System.out.println("Processing completed. Output file saved to: " + outputFilePath); + + } catch (Exception e) { + e.printStackTrace(); + } + } + + private static Map callApi(String jwcode, RestTemplate restTemplate) { + Map result = new HashMap<>(); + result.put("name", "未知"); + result.put("country", "未知"); + + try { + BaseDES des = new BaseDES(); + String desjwcode = des.encrypt(String.valueOf(jwcode)); + + // 创建 JSON 请求体 + Map requestBody = new HashMap<>(); + requestBody.put("jwcode", desjwcode); + + // 设置请求头 + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + + // 创建 HttpEntity + HttpEntity> entity = new HttpEntity<>(requestBody, headers); + + // 发送 POST 请求 + ResponseEntity response = restTemplate.exchange( + "http://hwapi.rzfwq.com/hwjnApp/hwhc-login/hwhclogin/hc/login/clent/info", + HttpMethod.POST, entity, Map.class); + + // 检查响应状态码 + if (response.getStatusCode().is2xxSuccessful()) { + Map responseBody = response.getBody(); + if (responseBody != null) { + Map data = (Map) responseBody.get("data"); + if (data != null) { + result.put("name", (String) data.getOrDefault("name", "未知")); + result.put("country", (String) data.getOrDefault("country", "未知")); + } + } + } + } catch (Exception e) { + System.out.println("Error processing jwcode: " + jwcode + ", Error: " + e.getMessage()); + } + + return result; + } +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/service/MenuService.java b/src/main/java/com/example/demo/service/MenuService.java index 93dae2c..b3fefbe 100644 --- a/src/main/java/com/example/demo/service/MenuService.java +++ b/src/main/java/com/example/demo/service/MenuService.java @@ -23,5 +23,8 @@ public interface MenuService { //新增权限 Result addPermission(RoleVo roleVo); + //修改权限 + Result updatePermission(RoleVo roleVo); + } diff --git a/src/main/java/com/example/demo/service/PermissionService.java b/src/main/java/com/example/demo/service/PermissionService.java index 3800dc5..87659ab 100644 --- a/src/main/java/com/example/demo/service/PermissionService.java +++ b/src/main/java/com/example/demo/service/PermissionService.java @@ -31,4 +31,5 @@ public interface PermissionService { //更新管理员信息 Result updateAdmin(AdminVo adminVo)throws Exception; + } diff --git a/src/main/java/com/example/demo/serviceImpl/MenuServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/MenuServiceImpl.java index 805d9f5..cfce95d 100644 --- a/src/main/java/com/example/demo/serviceImpl/MenuServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/MenuServiceImpl.java @@ -98,4 +98,37 @@ public class MenuServiceImpl implements MenuService { return Result.success("权限新增成功"); } + @Override + public Result updatePermission(RoleVo roleVo) { + //校验 + if(Objects.isNull(roleVo)) { + return Result.error("传入角色为空"); + } + if(Objects.isNull(roleVo.getId())) { + return Result.error("角色ID为空"); + } + if(roleVo.getMenuIds() == null||roleVo.getMenuIds().isEmpty()) { + return Result.error("角色权限为空"); + } + if(roleMapper.selectByRoleId(roleVo.getId())==null){ + return Result.error("角色不存在"); + } + //角色菜单权限对应 + List roleMenuList = new ArrayList<>(); + //循环导入 + for (Integer menuId : roleVo.getMenuIds()) { + if(menuMapper.selectByMenuId(menuId)==null){ + return Result.error("菜单不存在"); + } + RoleMenu roleMenu = new RoleMenu(); + roleMenu.setRoleId(roleVo.getId()); + roleMenu.setMenuId(menuId); + roleMenuList.add(roleMenu); + } + menuMapper.deleteMenu(roleVo.getId()); + roleMapper.updateRole(roleVo); + menuMapper.addPermission(roleMenuList); + return Result.success("权限更新成功"); + } + } diff --git a/src/main/resources/mapper/MenuMapper.xml b/src/main/resources/mapper/MenuMapper.xml index e753797..847ac16 100644 --- a/src/main/resources/mapper/MenuMapper.xml +++ b/src/main/resources/mapper/MenuMapper.xml @@ -1,6 +1,21 @@ + + + UPDATE role_menu + + + menu_id = #{item.menuId}, + + + WHERE role_id = #{item.roleId} + + + + DELETE FROM role_menu + WHERE role_id = #{id} + diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml index d880b1e..d335dec 100644 --- a/src/main/resources/mapper/UserMapper.xml +++ b/src/main/resources/mapper/UserMapper.xml @@ -128,7 +128,9 @@ current_task_gold = #{currentTaskGold}, consume_num = #{consumeNum}, recharge_num = #{rechargeNum} - + sum_consume_permanent = #{sumConsumePermanent}, + sum_consume_task = #{sumConsumeTask}, + sum_consume_free = #{sumConsumeFree}, where jwcode = #{jwcode}