Pu Zhibing
2024-10-16 c4664502dfdaffff555b532e65b51a57ac8b29c2
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,17 +57,20 @@
      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());
      }
      // 修改用户最后登录时间
      SysUser sysUser = new SysUser();
      sysUser.setUserId(userInfo.getSysUser().getUserId());
      sysUser.setLoginDate(new Date());
      sysUser.setRoleId(userInfo.getSysUser().getRoleId());
      System.out.println("修改用户登录时间" + sysUser);
      userClient.updateSysUser(sysUser);
      return R.ok(map);