Browse Source

feat: 批量下发积分包 step1

shc 3 years ago
parent
commit
db07ca2118

+ 5 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/constant/CacheConstants.java

@@ -74,4 +74,9 @@ public interface CacheConstants {
 	 */
 	String MONITORING_INDICATOR = "monitoring_indicator";
 
+	/**
+	 * 批量创建积分包缓存 package:history:#{deptId}:#{userId}
+	 */
+	String BATCH_PACKAGE_HISTORY = "package:history:%s:%s";
+
 }

+ 62 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -18,7 +18,11 @@
 package com.qunzhixinxi.hnqz.admin.controller;
 
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.convert.Convert;
+import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
 import com.alibaba.csp.sentinel.util.StringUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -27,6 +31,8 @@ import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.common.collect.ImmutableMap;
+import com.pig4cloud.plugin.excel.annotation.RequestExcel;
+import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.admin.api.dto.UserDTO;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
@@ -41,6 +47,7 @@ import com.qunzhixinxi.hnqz.admin.mapper.*;
 import com.qunzhixinxi.hnqz.admin.service.*;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
+import com.qunzhixinxi.hnqz.common.security.annotation.Inner;
 import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
 import io.swagger.annotations.Api;
@@ -56,6 +63,7 @@ import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -104,6 +112,7 @@ public class WmScorePackageController {
 	private final WmDaAgentMapper wmDaAgentMapper;
 	private final SysUserMapper sysUserMapper;
 	private final WmReportMapper wmReportMapper;
+	private final RedisTemplate<String, String> redisTemplate;
 
 
 	/**
@@ -3277,4 +3286,57 @@ public class WmScorePackageController {
 		return R.ok(wmScorePackageService.listDrugsByPackageId(page, packageId, drugName.trim()));
 	}
 
+
+	// ~ 批量下发积分包 ===================================================================================================
+
+
+	/**
+	 * 获取最近的记录
+	 *
+	 * @return 最近记录
+	 */
+	@GetMapping(value = "/batch/history")
+	public R<?> getBatchHistory() {
+		HnqzUser user = SecurityUtils.getUser();
+
+		// 缓存记录key
+		String key = String.format(CacheConstants.BATCH_PACKAGE_HISTORY, user.getDeptId(), user.getId());
+
+		String result = redisTemplate.opsForValue().get(key);
+
+		if (StrUtil.isNotEmpty(result) && JSONUtil.isJson(result)) {
+			JSONObject jsonObject = JSONUtil.parseObj(result);
+			WmScorePackage wmScorePackage = JSONUtil.toBean(jsonObject, WmScorePackage.class);
+			return R.ok(wmScorePackage);
+		}
+
+		return R.ok();
+	}
+
+
+	@Inner(value = false)
+	@PostMapping(value = "/package/batch")
+	public R<?> batchCreatePackage(@RequestBody WmScorePackage wmScorePackage) {
+
+
+
+		Map<String, Object> map = new HashMap<>();
+
+		map.put("history",wmScorePackage);
+		map.put("timestamp",
+				DateTimeFormatter.ofPattern(DatePattern.CHINESE_DATE_TIME_PATTERN).format(LocalDateTime.now()));
+
+		String res = JSONUtil.toJsonStr(map);
+
+		// 缓存记录key
+		HnqzUser user = SecurityUtils.getUser();
+		String key = String.format(CacheConstants.BATCH_PACKAGE_HISTORY, user.getDeptId(), user.getId());
+		redisTemplate.opsForValue().set(key,res);
+
+		return null;
+
+
+	}
+
+
 }