Răsfoiți Sursa

获取用户信息

2507040827 16 ore în urmă
părinte
comite
e43ddbea13

+ 2 - 2
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/controller/AitagTagInfoController.java

@@ -2,6 +2,7 @@ package cn.com.yusys.yusp.controller;
 
 import cn.com.yusys.yusp.commons.exception.BizException;
 import cn.com.yusys.yusp.commons.module.adapter.web.rest.ResultDto;
+import cn.com.yusys.yusp.util.SessionCommonUtil;
 import cn.com.yusys.yusp.domain.dto.TagInfoDto;
 import cn.com.yusys.yusp.domain.entity.AitagTagInfoEntity;
 import cn.com.yusys.yusp.domain.vo.AitagTagInfoQueryVo;
@@ -20,7 +21,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.ClassPathResource;
 import org.springframework.core.io.Resource;
-import org.springframework.core.io.UrlResource;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
@@ -54,7 +54,6 @@ public class AitagTagInfoController {
     @Autowired
     private AitagTagInfoService aitagTagInfoService;
 
-
     /**
      * 列表查询
      *
@@ -222,6 +221,7 @@ public class AitagTagInfoController {
     @PostMapping("/generateRegex")
     public ResultDto<String> generateRegex( @RequestBody GenerateRegexVo regexVo) throws IOException {
         Map body = JSONObject.parseObject(JSONObject.toJSONString(regexVo), Map.class);
+
         AiTaggingResponseVo taggingResponse = aitagTagInfoService.callAiTag(body, "/api/aitag/admin/v1/generate_reg");
         if(cn.com.yusys.yusp.commons.util.StringUtils.equals(taggingResponse.getCode(),"200")){
             return ResultDto.success(taggingResponse.getData());

+ 7 - 0
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/service/impl/AitagTagInfoServiceImpl.java

@@ -19,6 +19,7 @@ import cn.com.yusys.yusp.domain.entity.AitagTagInfoEntity;
 import cn.com.yusys.yusp.domain.vo.AitagTagInfoQueryVo;
 import cn.com.yusys.yusp.service.AitagTagInfoService;
 import cn.com.yusys.yusp.service.TagImportListener;
+import cn.com.yusys.yusp.util.SessionCommonUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
@@ -143,6 +144,7 @@ public class AitagTagInfoServiceImpl extends ServiceImpl<AitagTagInfoDao, AitagT
         aitagTagInfo.setTagVersion("1");
         aitagTagInfo.setIsDelete(TAG_UNDELETED);
         aitagTagInfo.setState(TAG_ENABLED);
+        aitagTagInfo.setReviser(SessionCommonUtil.getUserInfo());
         this.save(aitagTagInfo);
         return aitagTagInfo.getId();
     }
@@ -185,6 +187,7 @@ public class AitagTagInfoServiceImpl extends ServiceImpl<AitagTagInfoDao, AitagT
         AitagTagInfoEntity parentTagInfo = this.baseMapper.selectById(aitagTagInfoEntity.getParentId());
         aitagTagInfoEntity.setTagPath(parentTagInfo.getTagPath()+"/"+aitagTagInfoEntity.getTagNm());
         aitagTagInfoEntity.setTagLevel(parentTagInfo.getTagLevel()+1);
+        aitagTagInfoEntity.setReviser(SessionCommonUtil.getUserInfo());
         this.baseMapper.updateById(aitagTagInfoEntity);
     }
 
@@ -195,6 +198,7 @@ public class AitagTagInfoServiceImpl extends ServiceImpl<AitagTagInfoDao, AitagT
         for (String id:list){
             aitagTagInfoEntity.setId(id);
             aitagTagInfoEntity.setIsDelete(TAG_DELETED);
+            aitagTagInfoEntity.setReviser(SessionCommonUtil.getUserInfo());
             this.baseMapper.updateById(aitagTagInfoEntity);
         }
     }
@@ -212,11 +216,13 @@ public class AitagTagInfoServiceImpl extends ServiceImpl<AitagTagInfoDao, AitagT
             aitagTagInfoEntity.setId(versionRollback.getId());
             aitagTagInfoEntity.setRevisionTime(DateUtils.getCurrDateTimeStr());
             aitagTagInfoEntity.setReviser(versionRollback.getReviser());
+            aitagTagInfoEntity.setReviser(SessionCommonUtil.getUserInfo());
             this.baseMapper.updateById(aitagTagInfoEntity);
             LambdaUpdateWrapper<AitagTagInfoVersionEntity> updateTagVersion = new LambdaUpdateWrapper<>();
             updateTagVersion.eq(AitagTagInfoVersionEntity::getTagCode,versionRollback.getTagCode());
             updateTagVersion.ge(AitagTagInfoVersionEntity::getTagVersion,versionRollback.getVersion());
             AitagTagInfoVersionEntity aitagTagInfoVersionEntity = new AitagTagInfoVersionEntity();
+            aitagTagInfoVersionEntity.setReviser(SessionCommonUtil.getUserInfo());
             aitagTagInfoVersionEntity.setIsDelete(TAG_DELETED);
             this.aitagTagInfoVersionDao.update(aitagTagInfoVersionEntity,updateTagVersion);
             return aitagTagInfoEntity.getId();
@@ -312,6 +318,7 @@ public class AitagTagInfoServiceImpl extends ServiceImpl<AitagTagInfoDao, AitagT
             aitagTagInfo.setIsDelete(TAG_UNDELETED);
             aitagTagInfo.setCategoryId(categoryId);
             aitagTagInfo.setState(TAG_ENABLED);
+            aitagTagInfo.setReviser(SessionCommonUtil.getUserInfo());
             this.save(aitagTagInfo);
         }
 

+ 3 - 0
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/service/impl/AitagTagLogServiceImpl.java

@@ -143,6 +143,9 @@ public class AitagTagLogServiceImpl extends ServiceImpl<AitagTagLogDao, AitagTag
 
     private String getTagPath(String result) {
         List<Map> results = JSONArray.parseArray(result, Map.class);
+        if(results == null){
+            return "";
+        }
         for (Map resultMap: results){
             String tagId = resultMap.getOrDefault("id","").toString();
             AitagTagInfoEntity aitagTagInfoEntity = tagInfoDao.selectById(tagId);

+ 53 - 0
server/yusp-tagging-core/src/main/java/cn/com/yusys/yusp/util/SessionCommonUtil.java

@@ -0,0 +1,53 @@
+package cn.com.yusys.yusp.util;
+
+import cn.com.yusys.yusp.commons.exception.BizException;
+import cn.com.yusys.yusp.commons.util.SpringContextUtils;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestAttributes;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.annotation.PostConstruct;
+import javax.servlet.http.HttpServletRequest;
+
+
+@Component
+public class SessionCommonUtil {
+
+    private static StringRedisTemplate redisTemplate;
+
+
+    @PostConstruct
+    public void init() {
+        redisTemplate = SpringContextUtils.getBean(StringRedisTemplate.class);
+    }
+    public static String getUserInfo() {
+        RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
+        if (requestAttributes != null) {
+            HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest();
+            String authorization = request.getHeader("Authorization");
+            if (authorization != null) {
+                String jwtToken = authorization.startsWith("Bearer ") ? authorization.substring(7) : authorization;
+                String jsonStr = (String) redisTemplate.opsForValue().get("access:"+jwtToken);
+                if (jsonStr != null) {
+                    // 解析JSON数组
+                    JSONArray objects = JSONArray.parseArray(jsonStr);
+                    if (objects.size() >= 2) {
+                        String map = objects.get(1).toString();
+                        JSONObject jsonObject = JSONObject.parseObject(map);
+                        String userInfo = jsonObject.getString("userInfo");
+                        JSONObject userInfoMap = JSONObject.parseObject(userInfo);
+                        return userInfoMap.getString("userName");
+                    }
+                }
+            }else{
+               throw BizException.of("E009");
+            }
+        }
+        throw BizException.of("E009");
+    }
+
+}

+ 2 - 1
server/yusp-tagging-core/src/main/resources/messages/yusp_input_msg.properties

@@ -105,4 +105,5 @@ E004=Excel \u4E2D\u6CA1\u6709\u6709\u6548\u6570\u636E
 E005=\u53D1\u73B0\u91CD\u590D\u7684\u6807\u7B7E\u540D\u79F0:[{0}]
 E006=\u6821\u9A8C\u5931\u8D25\uFF1A\u6807\u7B7E [{0}] \u7684\u7236\u6807\u7B7E [{1}] \u4E0D\u5B58\u5728\u4E8E\u6587\u4EF6\u4E2D\u3002
 E007=\u68C0\u6D4B\u5230\u6807\u7B7E\u5C42\u7EA7\u73AF\u8DEF:{0}
-E008=\u8C03\u7528AI\u6253\u6807\u63A5\u53E3\u5931\u8D25
+E008=\u8C03\u7528AI\u6253\u6807\u63A5\u53E3\u5931\u8D25
+E009=\u83B7\u53D6\u7528\u6237\u767B\u9646\u4FE1\u606F\u4E3A\u7A7A