|
@@ -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;
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|