فهرست منبع

兽医站缓存

Newspaper 2 سال پیش
والد
کامیت
a3afb8b35a
1فایلهای تغییر یافته به همراه23 افزوده شده و 7 حذف شده
  1. 23 7
      admin/src/main/java/com/huimv/farm/damsubsidy/controller/BaseVeterStationController.java

+ 23 - 7
admin/src/main/java/com/huimv/farm/damsubsidy/controller/BaseVeterStationController.java

@@ -11,6 +11,8 @@ import com.huimv.farm.damsubsidy.service.IBaseVeterStationService;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
@@ -36,34 +38,35 @@ public class BaseVeterStationController {
     private RedisTemplate<String, String> redisTemplate;
 
     @PostMapping("/add")
+    @Transactional
     public Result addMenu(@RequestBody BaseVeterStation baseVeterStation , HttpServletRequest request){
         baseVeterStation.setCreateUser(TokenSign.getMemberIdByJwtToken(request));
         baseVeterStation.setCreateTime(DateTime.now());
         baseVeterStationService.save(baseVeterStation);
-        List<BaseVeterStation> baseVeterStationList = baseVeterStationService.list();
-        String veterStations = JSON.toJSON(baseVeterStationList).toString();
-        redisTemplate.opsForValue().set("veterStation",veterStations);
+        updateCache();
         return new Result(ResultCode.SUCCESS,"添加成功");
     }
 
     @PostMapping("/edit")
+    @Transactional
     public Result editMenu(@RequestBody BaseVeterStation baseVeterStation, HttpServletRequest httpServletRequest){
         baseVeterStation.setUpdateUser(TokenSign.getUserName(httpServletRequest));
         baseVeterStation.setUpdateTime(DateTime.now());
         baseVeterStationService.updateById(baseVeterStation);
+        updateCache();
         return new Result(ResultCode.SUCCESS,"修改成功");
     }
 
     @RequestMapping("/remove")
+    @Transactional
     public Result removeMenu(@RequestParam(name = "id") Integer id){
         baseVeterStationService.removeById(id);
-        List<BaseVeterStation> baseVeterStationList = baseVeterStationService.list();
-        String veterStations = JSON.toJSON(baseVeterStationList).toString();
-        redisTemplate.opsForValue().set("veterStation",veterStations);
+        updateCache();
         return new Result(ResultCode.SUCCESS,"删除成功");
     }
 
     @PostMapping("/list")
+    @Transactional
     public Result list() {
         String veterStation = redisTemplate.opsForValue().get("veterStation");
         List<BaseVeterStation> baseVeterStationList = null;
@@ -73,14 +76,27 @@ public class BaseVeterStationController {
             String veterStations = JSON.toJSON(baseVeterStationList).toString();
             redisTemplate.opsForValue().set("veterStation",veterStations);
         }else {
+            System.out.println("-----------获取缓存数据-----------");
             baseVeterStationList = JSONObject.parseArray(veterStation,BaseVeterStation.class);
         }
         return new Result(ResultCode.SUCCESS, baseVeterStationList);
     }
 
-
     @PostMapping("/page")
     public Result page( @RequestBody Map map) {
         return baseVeterStationService.page(map);
     }
+
+    private void updateCache(){
+        List<BaseVeterStation> baseVeterStationList = baseVeterStationService.list();
+        String veterStations = JSON.toJSON(baseVeterStationList).toString();
+        try {
+            redisTemplate.opsForValue().set("veterStation",veterStations);
+            System.out.println("缓存更新成功");
+        } catch (Exception e) {
+            System.out.println("数据缓存失败");
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            e.printStackTrace();
+        }
+    }
 }