浏览代码

范例BUG修复@20210225:Spring Cache缓存使用范例的BUG修复,确保缓存的key不为null。

huangbo 4 年之前
父节点
当前提交
d9bd46ab42

+ 4 - 3
ipu-rest-scaffold/src/main/java/com/ai/ipu/server/control/MenuController.java

@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
9 9

10 10
import com.ai.ipu.data.JMap;
11 11
import com.ai.ipu.data.impl.JsonMap;
12
import com.ai.ipu.restful.framework.SpringSessionManager;
12 13
import com.ai.ipu.server.service.MenuService;
13 14

14 15
@Controller
@ -27,7 +28,7 @@ public class MenuController {
27 28
    public JMap takeMenu(JMap input) throws Exception {
28 29
        log.debug("获取菜单");
29 30
        /*获取账号*/
30
        String username = input.getString("username");
31
        String username = input.getString("username", SpringSessionManager.getAccount());
31 32
        String menuData = menuService.menu(username);
32 33
        JMap result = new JsonMap();
33 34
        result.put("menu",menuData);
@ -39,7 +40,7 @@ public class MenuController {
39 40
    public JMap clearMenuCache(JMap input) throws Exception {
40 41
        log.debug("清除缓存");
41 42
        /*获取账号*/
42
        String username = input.getString("username");
43
        String username = input.getString("username", SpringSessionManager.getAccount());
43 44
        menuService.clearMenuCache(username);
44 45
        return new JsonMap();
45 46
    }
@ -61,7 +62,7 @@ public class MenuController {
61 62
    public JMap updateMenuCache(JMap input) throws Exception {
62 63
        log.debug("更新缓存里的菜单");
63 64
        /*获取账号*/
64
        String username = input.getString("username");
65
        String username = input.getString("username", SpringSessionManager.getAccount());
65 66
        String menuData = menuService.updateMenuCache(username);
66 67
        JMap result = new JsonMap();
67 68
        result.put("menu",menuData);

+ 1 - 1
ipu-rest-scaffold/src/main/java/com/ai/ipu/server/service/impl/MenuServiceImpl.java

@ -16,7 +16,7 @@ public class MenuServiceImpl implements MenuService {
16 16
    
17 17
    private static final String MENU_DATA_CONFIG = "menu.json";
18 18
    
19
    //@Cacheable(value = "menu", key = "#username", condition = "{#root.target.needCache(#username)}")
19
    @Cacheable(value = "menu", key = "#username", condition = "{#root.target.needCache(#username)}")
20 20
    public String menu(String username) throws Exception {
21 21
        /*读取默认的菜单配置*/
22 22
        String menuJson =