From 3fb49196d6df5da332d8fafcd0a57bc383724938 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 12 八月 2025 14:49:20 +0800
Subject: [PATCH] 浪潮对接单点登录:配置调整

---
 src/main/java/com/ruoyi/tide/controller/TideController.java |   94 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 94 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/tide/controller/TideController.java b/src/main/java/com/ruoyi/tide/controller/TideController.java
new file mode 100644
index 0000000..335b174
--- /dev/null
+++ b/src/main/java/com/ruoyi/tide/controller/TideController.java
@@ -0,0 +1,94 @@
+package com.ruoyi.tide.controller;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.framework.aspectj.lang.annotation.Anonymous;
+import com.ruoyi.framework.security.service.SysLoginService;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.project.system.service.ISysUserService;
+import com.ruoyi.tide.pojo.TidePojo;
+import com.ruoyi.tide.utils.TideUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+@RequestMapping("/tide")
+@RestController
+@Api(tags = "瀵规帴娴疆绯荤粺")
+@Anonymous
+@Slf4j
+public class TideController {
+
+    @Autowired
+    private SysLoginService loginService;
+
+    @Autowired
+    private ISysUserService userService;
+
+    @ApiOperation(value = "鐧诲綍")
+    @PostMapping("/tideLogin")
+    public AjaxResult login(@RequestBody TidePojo tidePojo) {
+        String token = TideUtils.getToken(tidePojo.getCode());
+        JSONObject userInfo = TideUtils.getUserInfo(token);
+        JSONObject tenant = JSONObject.parseObject(userInfo.get("tenant").toString());
+        AjaxResult ajax = AjaxResult.success();
+        // 鐢熸垚浠ょ墝
+        String generateToken = loginService.login(tenant.get("tenantAccount").toString(), tenant.get("tenantPassword").toString(), null,
+                IdWorker.get32UUID());
+        ajax.put(Constants.TOKEN, generateToken);
+        return ajax;
+    }
+
+    @PostMapping("/applicationOrdering")
+    public JSONObject order (@RequestBody TidePojo tidePojo) {
+        SysUser user = userService.selectUserByUserName(tidePojo.getPltAccountLogin());
+        String randomString = TideUtils.getRandomString(12);
+        //璐﹀彿涓嶅瓨鍦紝鎵ц鏂板鎿嶄綔
+        if(Objects.isNull(user)){
+            user = new SysUser();
+            String password = SecurityUtils.encryptPassword(randomString);
+            user.setPassword(password);
+            user.setUserName(tidePojo.getPltAccountLogin());
+            user.setNickName(tidePojo.getEnterpriseName());
+            user.setStatus("0");
+            user.setDelFlag("0");
+            user.setPostIds(new Long[]{1L});
+            user.setRoleId(1L);
+            userService.insertUser(user);
+        }
+        Map<String, Object> map = new HashMap<>();
+        map.put("account", tidePojo.getPltAccountLogin());
+        map.put("token", randomString);
+        map.put("tenantId", user.getUserId());
+        return TideUtils.getResult(20000, "鎴愬姛", map);
+    }
+
+    @PostMapping("/cancellation")
+    public JSONObject cancellation (@RequestBody TidePojo tidePojo) {
+        log.info("鎵ц浜嗘敞閿�淇℃伅锛�" + tidePojo);
+        if(Objects.nonNull(tidePojo)){
+            SysUser sysUser = userService.selectUserByUserName(tidePojo.getPltAccountLogin());
+            if(Objects.nonNull(sysUser)){
+                userService.deleteUserById(sysUser.getUserId());
+            }
+        }
+        return TideUtils.getResult(20000, "鎴愬姛", null);
+    }
+
+    public static void main(String[] args) {
+        String password = SecurityUtils.encryptPassword("c($Rb_@!n%U7");
+        System.out.println(password);
+    }
+}

--
Gitblit v1.9.3