| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.tide.controller; |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | 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.SysDept; |
| | | import com.ruoyi.project.system.domain.SysUser; |
| | | import com.ruoyi.project.system.service.ISysDeptService; |
| | | 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.apache.commons.lang3.ObjectUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Isolation; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | 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 javax.annotation.PreDestroy; |
| | | import javax.annotation.security.PermitAll; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | 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; |
| | | |
| | | @Autowired |
| | | private ISysDeptService deptService; |
| | | |
| | | @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") |
| | | @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED) |
| | | public JSONObject order (@RequestBody TidePojo tidePojo) { |
| | | SysUser user = userService.selectUserByUserName(tidePojo.getPltAccountLogin()); |
| | | String defaultPwd = "I73Kj+Mn$+SI";//é»è®¤å¼éå¯ç åºå®åæ» |
| | | // String randomString = TideUtils.getRandomString(12); |
| | | //è´¦å·ä¸åå¨ï¼æ§è¡æ°å¢æä½ |
| | | if(ObjectUtils.isEmpty(user)){ |
| | | //1.å
æ°å¢ç¨æ·å¯¹åºçå
¬å¸ |
| | | SysDept dept = new SysDept(); |
| | | dept.setParentId(100L);//ç¶å
¬å¸id |
| | | dept.setDeptName(tidePojo.getEnterpriseName()); |
| | | dept.setDeptNick(tidePojo.getEnterpriseName()); |
| | | dept.setOrderNum(0); |
| | | boolean deptNameUnique = deptService.checkDeptNameUnique(dept); |
| | | if (deptNameUnique){ |
| | | deptService.insertDept(dept); |
| | | } |
| | | //æ¥è¯¢å
¬å¸ |
| | | SysDept newSysDept = deptService.selectDeptByDeptName(dept.getDeptName()); |
| | | dept.setDeptId(ObjectUtils.isEmpty(newSysDept)?100L:newSysDept.getDeptId()); |
| | | dept.setTenantId(dept.getDeptId()); |
| | | deptService.updateDept(dept); |
| | | 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); |
| | | user.setRoleIds(new Long[]{2L});//é»è®¤æ®éè§è² |
| | | user.setDeptIds(new Long[]{dept.getDeptId()});//ç»å®å
¬å¸ |
| | | user.setTenantId(dept.getDeptId()); |
| | | userService.insertUser(user); |
| | | } |
| | | Map<String, Object> 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); |
| | | } |
| | | } |