Browse Source

feat: 企业任务保存缓存数据

lixuesong 1 year ago
parent
commit
067c2b25a9

+ 81 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmDeptTaskController.java

@@ -3,9 +3,11 @@ package com.qunzhixinxi.hnqz.admin.controller;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
 import com.qunzhixinxi.hnqz.admin.entity.WmTask;
 import com.qunzhixinxi.hnqz.admin.entity.WmTask;
@@ -25,8 +27,10 @@ import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
@@ -55,6 +59,7 @@ public class WmDeptTaskController {
     private final WmTaskService wmTaskService;
     private final WmTaskService wmTaskService;
     private final WmTaskTypeService wmTaskTypeService;
     private final WmTaskTypeService wmTaskTypeService;
     private final SysUserService sysUserService;
     private final SysUserService sysUserService;
+    private final RedisTemplate redisTemplate;
 
 
     /**
     /**
      * 查询关联的企业积分包
      * 查询关联的企业积分包
@@ -215,4 +220,80 @@ public class WmDeptTaskController {
 
 
         return R.ok(wmDeptTaskService.saveEntTaskForTaskType63(params));
         return R.ok(wmDeptTaskService.saveEntTaskForTaskType63(params));
     }
     }
+
+    /**
+     * 企业任务保存-企业通用-缓存
+     *
+     * @param params 参数
+     * @return {@link R}<{@link ?}> 结果
+     */
+    @SysLog("企业任务保存-企业通用-缓存")
+    @PostMapping("/dept-task/save-task-type61-temp")
+    public R<?> saveEntTaskForTaskType61Temp(@Validated @RequestBody DeptTaskDTO.TaskType61 params) {
+        log.info("企业任务保存-企业通用-缓存:{}", params);
+
+        String cacheKey = String.format("%s-%s-%s", CacheConstants.ENT_TASK_CACHE_KEY, "61", SecurityUtils.getUser().getId());
+        redisTemplate.opsForValue().set(cacheKey, JSONUtil.toJsonStr(params));
+
+        return R.ok();
+    }
+
+    /**
+     * 企业任务保存-医学会各级年会及卫星会-缓存
+     *
+     * @param params 参数
+     * @return {@link R}<{@link ?}> 结果
+     */
+    @SysLog("企业任务保存-医学会各级年会及卫星会-缓存")
+    @PostMapping("/dept-task/save-task-type62-temp")
+    public R<?> saveEntTaskForTaskType62Temp(@Validated @RequestBody DeptTaskDTO.TaskType62 params) {
+        log.info("企业任务保存-医学会各级年会及卫星会-缓存:{}", params);
+
+        String cacheKey = String.format("%s-%s-%s", CacheConstants.ENT_TASK_CACHE_KEY, "62", SecurityUtils.getUser().getId());
+        redisTemplate.opsForValue().set(cacheKey, JSONUtil.toJsonStr(params));
+
+        return R.ok();
+    }
+
+    /**
+     * 企业任务保存-专家共识巡讲会-缓存
+     *
+     * @param params 参数
+     * @return {@link R}<{@link ?}> 结果
+     */
+    @SysLog("企业任务保存-专家共识巡讲会-缓存")
+    @PostMapping("/dept-task/save-task-type63-temp")
+    public R<?> saveEntTaskForTaskType63Temp(@Validated @RequestBody DeptTaskDTO.TaskType63 params) {
+        log.info("企业任务保存-专家共识巡讲会-缓存:{}", params);
+
+        String cacheKey = String.format("%s-%s-%s", CacheConstants.ENT_TASK_CACHE_KEY, "63", SecurityUtils.getUser().getId());
+        redisTemplate.opsForValue().set(cacheKey, JSONUtil.toJsonStr(params));
+
+        return R.ok();
+    }
+
+    /**
+     * 获取企业任务保存缓存数据
+     *
+     * @param taskTypeId 任务类型 ID
+     * @return {@link R}<{@link ?}> 结果
+     */
+    @GetMapping("/dept-task/task-type-temp/{taskTypeId}")
+    public R<?> getEntTaskTemp(@PathVariable("taskTypeId") String taskTypeId) {
+        String cacheKey = String.format("%s-%s-%s", CacheConstants.ENT_TASK_CACHE_KEY, taskTypeId, SecurityUtils.getUser().getId());
+        String jsonStr = (String) redisTemplate.opsForValue().get(cacheKey);
+        if (StrUtil.isBlank(jsonStr)) {
+            return R.ok();
+        }
+        switch (taskTypeId) {
+            case "61":
+                return R.ok(JSONUtil.toBean(jsonStr, DeptTaskDTO.TaskType61.class));
+            case "62":
+                return R.ok(JSONUtil.toBean(jsonStr, DeptTaskDTO.TaskType62.class));
+            case "63":
+                return R.ok(JSONUtil.toBean(jsonStr, DeptTaskDTO.TaskType63.class));
+            default:
+                return R.ok();
+        }
+    }
 }
 }