From 5f36844279a86008b0ebc750070d346bd49c7cdd Mon Sep 17 00:00:00 2001 From: Timi Date: Wed, 12 Aug 2026 12:10:21 +0800 Subject: [PATCH] update GaoStore update --- .../gao/controller/GaoStoreController.java | 18 +++++- .../implement/GaoStoreServiceImplement.java | 56 ++++++++++--------- 2 files changed, 48 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/imyeyu/api/modules/gao/controller/GaoStoreController.java b/src/main/java/com/imyeyu/api/modules/gao/controller/GaoStoreController.java index e01b8ab..c544d4e 100644 --- a/src/main/java/com/imyeyu/api/modules/gao/controller/GaoStoreController.java +++ b/src/main/java/com/imyeyu/api/modules/gao/controller/GaoStoreController.java @@ -1,10 +1,13 @@ package com.imyeyu.api.modules.gao.controller; +import com.imyeyu.api.bean.ModuleCode; import com.imyeyu.api.modules.gao.annotation.RequireGaoPermission; import com.imyeyu.api.modules.gao.bean.GaoPermissionCode; import com.imyeyu.api.modules.gao.entity.GaoStore; import com.imyeyu.api.modules.gao.service.GaoStoreService; +import com.imyeyu.api.modules.user.service.PermissionChecker; import com.imyeyu.api.modules.user.service.UserLoginService; +import com.imyeyu.java.TimiJava; import com.imyeyu.network.Network; import com.imyeyu.spring.TimiSpring; import com.imyeyu.spring.annotation.AOPLog; @@ -35,6 +38,7 @@ public class GaoStoreController { private final GaoStoreService service; private final UserLoginService userLoginService; + private final PermissionChecker permissionChecker; @AOPLog @RequestRateLimit @@ -66,7 +70,19 @@ public class GaoStoreController { @RequireGaoPermission(GaoPermissionCode.STORE_UPDATE) @PostMapping("/update") public void update(@RequestBody GaoStore store) { - service.update(store); + if (permissionChecker.hasAny(ModuleCode.GAO, GaoPermissionCode.STORE_CREATE.getValue())) { + // 门店管理 + service.update(store); + } else { + // 店长 + GaoStore dbStore = service.get(store.getId()); + dbStore.setName(store.getName()); + dbStore.setTelephone(store.getTelephone()); + dbStore.setAddress(store.getAddress()); + dbStore.setRemark(store.getRemark()); + dbStore.setAutoClosedDay(TimiJava.defaultIfNull(store.getAutoClosedDay(), false)); + service.update(dbStore); + } } @AOPLog diff --git a/src/main/java/com/imyeyu/api/modules/gao/service/implement/GaoStoreServiceImplement.java b/src/main/java/com/imyeyu/api/modules/gao/service/implement/GaoStoreServiceImplement.java index 413d35d..1aa64b1 100644 --- a/src/main/java/com/imyeyu/api/modules/gao/service/implement/GaoStoreServiceImplement.java +++ b/src/main/java/com/imyeyu/api/modules/gao/service/implement/GaoStoreServiceImplement.java @@ -74,8 +74,8 @@ public class GaoStoreServiceImplement extends AbstractEntityService storeList = mapper.selectByIdList(new LinkedHashSet<>(idList)); - Map storeMap = storeList.stream().collect(Collectors.toMap(GaoStore::getId, Function.identity())); - for (int i = 0; i < idList.size(); i++) { - GaoStore store = storeMap.get(idList.get(i)); - if (store == null) { - continue; + Logger logger = new Logger(Logger.Module.GAO, "GAO_STORE_SORT"); + try { + logger.setContent(jackson.writeValueAsString(idList)); + List storeList = mapper.selectByIdList(new LinkedHashSet<>(idList)); + Map storeMap = storeList.stream().collect(Collectors.toMap(GaoStore::getId, Function.identity())); + for (int i = 0; i < idList.size(); i++) { + GaoStore store = storeMap.get(idList.get(i)); + if (store == null) { + continue; + } + store.setSort(i); + mapper.update(store); } - store.setSort(i); - mapper.update(store); + logger.setLevel(Logger.Level.INFO); + } catch (TimiException e) { + logger.setLevel(Logger.Level.WARN); + logger.setException(e.getMessage()); + throw e; + } catch (Exception e) { + logger.setLevel(Logger.Level.ERROR); + logger.setException(TimiJava.serializeThrowable(e)); + log.error("删除 GAO 门店失败", e); + throw new TimiException(TimiCode.ERROR, "删除 GAO 门店失败", e); + } finally { + loggerService.create(logger); } }