Przeglądaj źródła

场景上传用户归属改造

dsx 2 lat temu
rodzic
commit
58f933843c

+ 7 - 0
pom.xml

@@ -182,6 +182,13 @@
       <version>2.17.0</version>
     </dependency>
 
+    <!--        htt请求工具-->
+    <dependency>
+      <groupId>com.dtflys.forest</groupId>
+      <artifactId>forest-spring-boot-starter</artifactId>
+      <version>1.5.19</version>
+    </dependency>
+
   </dependencies>
   <build>
     <finalName>${artifactId}</finalName>

+ 2 - 0
src/main/java/com/fdkankan/contro/ModelingControlApplication.java

@@ -1,5 +1,6 @@
 package com.fdkankan.contro;
 
+import com.dtflys.forest.springboot.annotation.ForestScan;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -21,6 +22,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
 @EnableAsync
 @MapperScan("com.fdkankan.**.mapper")
 @EnableDiscoveryClient
+@ForestScan(basePackages = "com.fdkankan.contro.httpclient")
 public class ModelingControlApplication {
     public static void main(String[] args) {
         SpringApplication.run(ModelingControlApplication.class, args);

+ 26 - 0
src/main/java/com/fdkankan/contro/httpclient/MyClient.java

@@ -0,0 +1,26 @@
+package com.fdkankan.contro.httpclient;
+
+
+import com.dtflys.forest.annotation.Body;
+import com.dtflys.forest.annotation.Get;
+import com.dtflys.forest.annotation.Post;
+import com.dtflys.forest.annotation.Var;
+import com.dtflys.forest.extensions.DownloadFile;
+import com.fdkankan.web.response.ResultData;
+
+import java.io.File;
+import java.util.Map;
+
+public interface MyClient {
+
+    @Get(url = "{url}")
+    @DownloadFile(dir = "{dir}", filename = "{filename}")
+    File downloadFile(@Var("url") String url, @Var("dir") String dir, @Var("filename")String filename);
+
+    @Get(url = "${url}?${params}")
+    ResultData get(@Var("url") String url, @Var("params") String params);
+
+    @Post(url = "${url}")
+    ResultData post(@Var("url") String url, @Body Map<String, Object> params);
+
+}

+ 2 - 0
src/main/java/com/fdkankan/contro/service/IUserService.java

@@ -18,4 +18,6 @@ public interface IUserService extends IService<User> {
 
     SSOUser getSSOUserByUserId(Long userId);
 
+    User getByUserName(String userName);
+
 }

+ 24 - 0
src/main/java/com/fdkankan/contro/service/impl/SceneFileBuildServiceImpl.java

@@ -26,6 +26,7 @@ import com.fdkankan.contro.bean.SendCallAlgorithmDetail;
 import com.fdkankan.contro.common.Result;
 import com.fdkankan.contro.constant.RedisConstants;
 import com.fdkankan.contro.entity.*;
+import com.fdkankan.contro.httpclient.MyClient;
 import com.fdkankan.contro.mapper.ISceneFileBuildMapper;
 import com.fdkankan.contro.service.*;
 import com.fdkankan.contro.vo.ResponseSceneFile;
@@ -86,6 +87,8 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
 
     private static final String zipPassword = "a3ad34136de359536af553f9e7f3cefd";
 
+    private static final String URL_ADD_UCENTER_USER = "/service/manage/inner/addUcenterUser";
+
     @Value("${main.url}")
     private String mainUrl;
     @Value("${fyun.type}")
@@ -118,6 +121,9 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
     @Value("${build.notSupport.beforeTime:202203}")
     private String jgNotSupportBuildTime;
 
+    @Value("${4dkk.fdService.basePath}")
+    private String fdServiceUrl;
+
     @Autowired
     private RedisUtil redisUtil;
 
@@ -206,6 +212,9 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
     @Autowired
     private IFdkkLaserService fdkkLaserService;
 
+    @Autowired
+    private MyClient myClient;
+
     @Override
     public SceneFileBuild findByFileId(String fileId) {
 
@@ -2086,6 +2095,8 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
                     JSONObject configJson = JSONObject.parseObject(FileUtils.readFile(configJsonPath));
                     String folderName = configJson.getString("id");
                     String customUserId = configJson.getString("customUserId");
+                    String customUserName = configJson.getString("customUserName");
+                    String customUserPwd = configJson.getString("customUserPwd");
                     if(StrUtil.isBlank(folderName) || StrUtil.isBlank(snCode)){
                         throw new RuntimeException("config.json 文件有误!");
                     }
@@ -2113,6 +2124,19 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
                     scenePre.setUpdateTime(new Date());
                     scenePreService.updateById(scenePre);
                     log.info("文件上传成功,开始通知计算");
+
+                    //如果用户不存在,则注册用户
+                    User user = userService.getByUserName(customUserName);
+                    if(Objects.isNull(user)){
+                        Map<String, Object> params = new HashMap<>();
+                        params.put("ryId", customUserId);
+                        params.put("ryNo", customUserName);
+                        params.put("nickName", customUserName);
+                        params.put("password", customUserName);
+                        String url = fdServiceUrl.concat(URL_ADD_UCENTER_USER);
+
+                    }
+
                     // 通知计算
                     this.copyDataAndBuild(null, dataSource, "V4", null, customUserId);
                     log.info("通知计算成功");

+ 6 - 0
src/main/java/com/fdkankan/contro/service/impl/UserServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fdkankan.contro.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.exception.BusinessException;
@@ -48,6 +49,11 @@ public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements I
         return this.getSsoUserByUserName(user,user.getUserName());
     }
 
+    @Override
+    public User getByUserName(String userName) {
+        return this.getOne(new LambdaQueryWrapper<User>().eq(User::getUserName, userName));
+    }
+
 }