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); String defaultPwd = "I73Kj+Mn$+SI";//默认开通密码固定写死 //账号不存在,执行新增操作 if(Objects.isNull(user)){ user = new SysUser(); String password = SecurityUtils.encryptPassword(defaultPwd); 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 map = new HashMap<>(); map.put("account", tidePojo.getPltAccountLogin()); map.put("token", defaultPwd); 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); } }