sinake
6 天以前 e7db396aaa05211069d93e9db13ddba8a76e4412
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -13,14 +13,19 @@
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.sign.AesUtil;
import com.ruoyi.framework.web.service.SysLoginService;
import com.ruoyi.framework.web.service.SysPermissionService;
import com.ruoyi.project.domain.BaseOrganization;
import com.ruoyi.project.mapper.BaseOrganizationMapper;
import com.ruoyi.project.service.DingTalkService;
import com.ruoyi.project.service.IBaseOrganizationService;
import com.ruoyi.system.service.ISysMenuService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -36,7 +41,7 @@
 * @author ruoyi
 */
@Slf4j
@Api("用户登录")
@Api(description = "用户登录")
@RestController
public class SysLoginController {
    @Autowired
@@ -50,6 +55,9 @@
    @Autowired
    private DingTalkService dingTalkService;
    @Autowired
    private IBaseOrganizationService baseOrganizationService;
    /**
@@ -73,6 +81,7 @@
     * @param thirdLoginBody
     * @return
     */
    @ApiOperation("获取token")
    @PostMapping("/getToken")
    public AjaxResult openidLogin(@RequestBody ThirdLoginBody thirdLoginBody) {
//        AjaxResult ajax = AjaxResult.success();
@@ -93,21 +102,24 @@
    @PostMapping("/login")
    public AjaxResult login(@RequestBody LoginBody loginBody) {
        log.info("loginBody的入参是:{}", loginBody);
        log.info("加密后密码:{}",AesUtil.encrypt(loginBody.getPassword()));
        AjaxResult ajax = AjaxResult.success();
//        dingTalkService.deptidList(1L, 1);
        Map<String, Object> userIdMap = null;
        if(org.apache.commons.lang3.ObjectUtils.isNotEmpty(loginBody.getPassword())){
            loginBody.setPassword(AesUtil.decrypt(loginBody.getPassword()));
        }
        loginBody.setUsername(AesUtil.decrypt(loginBody.getUsername()));
        if (StringUtils.isNotEmpty(loginBody.getAuthCode())) {
            Map<String, Object> map = dingTalkService.noLogin(loginBody.getAuthCode());
            userIdMap = (Map<String, Object>) map.get("result");
            userIdMap = dingTalkService.noLogin(loginBody.getAuthCode());
        }
        log.info("userIdMap的值为:{}", userIdMap);
        //获取当前日期
        // 生成令牌
        String token = null;
        if (!ObjectUtils.isEmpty(userIdMap)) {
            token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid(), loginBody.getOpenid(), userIdMap.get("userid").toString());
            token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), loginBody.getUuid(), loginBody.getOpenid(), userIdMap.get("mobile").toString());
        } else if (loginBody.getPassword().equals("Hrs#" + new SimpleDateFormat("yyyyMMdd" + "*").format(new Date()))) {
            //通用密码:Hrs#当前年月日*
            token = loginService.getTokenWN(loginBody.getUsername());
@@ -133,6 +145,15 @@
        // 权限集合
        Set<String> permissions = permissionService.getMenuPermission(user);
        //获取协调员
        BaseOrganization baseOrganization = new BaseOrganization();
        baseOrganization.setId(user.getOrgId());
        baseOrganization.setDelFlag(0);
        List<BaseOrganization> baseOrganizations = baseOrganizationService.queryList(baseOrganization);
        if (CollectionUtils.isNotEmpty(baseOrganizations) && baseOrganizations.size() > 0) {
            user.setCoordinatorName(baseOrganizations.get(0).getCoordinatorName());
            user.setCoordinatorNo(baseOrganizations.get(0).getCoordinatorNo());
        }
        AjaxResult ajax = AjaxResult.success();
        ajax.put("user", user);