Pu Zhibing
2025-05-07 8c6ed6820e53c27fa40973da285fd39a66424540
ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
@@ -3,12 +3,15 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.ruoyi.chargingPile.api.feignClient.PartnerClient;
import com.ruoyi.chargingPile.api.model.Partner;
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
import io.seata.spring.annotation.GlobalTransactional;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.auth.form.LoginBody;
import com.ruoyi.auth.form.RegisterBody;
@@ -39,6 +42,12 @@
   @Resource
   private SysUserClient userClient;
   
   @Resource
   private PartnerClient partnerClient;
   
   @PostMapping("login")
   @GlobalTransactional(rollbackFor = Exception.class)//分布式事务
@@ -48,12 +57,22 @@
      HashMap<String, Object> map = new HashMap<>();
      map.put("token", tokenService.createToken(userInfo));
      List<SysRole> roles = userInfo.getSysUser().getRoles();
//        if(CollectionUtils.isEmpty(roles)){
//            return R.fail("请关联角色!");
//        }
        if(CollectionUtils.isEmpty(roles)){
            return R.fail("请关联角色!");
        }
//        map.put("roleName",roles.get(0).getRoleName());
        map.put("roleName",roles.get(0).getRoleName());
      map.put("info", userInfo);
      if(userInfo.getSysUser().getRoleType() == 2){
         Partner partner = partnerClient.getPartnerById(userInfo.getSysUser().getObjectId()).getData();
         map.put("partnerName", partner.getName());
      }
      long time = userInfo.getSysUser().getPassWordUpdate().getTime();
      map.put("password", false);
      //30天提示修改密码
      if(System.currentTimeMillis() >= (time + 2592000000L)){
         map.put("password", true);
      }
      // 修改用户最后登录时间
      SysUser sysUser = new SysUser();
      sysUser.setUserId(userInfo.getSysUser().getUserId());