xuhy
2025-08-25 0ef46975993c06e780ec4981d7535167673aa51d
ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
@@ -3,6 +3,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.ruoyi.other.api.feignClient.OtherClient;
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
@@ -38,6 +39,8 @@
   private SysLoginService sysLoginService;
   @Resource
   private SysUserClient userClient;
   @Resource
   private OtherClient otherClient;
   
   
   
@@ -53,8 +56,18 @@
        if(CollectionUtils.isEmpty(roles)){
            return R.fail("请关联角色!");
        }
        map.put("roleName",roles.get(0).getRoleName());
      R<SysUser> sysUser1 = userClient.getSysUser(userInfo.getSysUser().getUserId());
      SysUser data = sysUser1.getData();
      if (data.getRoleType() == 2){
         String status = otherClient.getServiceStatus(data.getUserId().intValue()).getData();
         switch (status){
            case "1":
               return R.fail("未缴纳服务费");
            case "2":
               return R.fail("服务费已过期");
         }
      }
      map.put("roleName",roles.get(0).getRoleName());
      map.put("info", userInfo);
      // 修改用户最后登录时间
      SysUser sysUser = new SysUser();
@@ -64,7 +77,42 @@
      userClient.updateSysUser(sysUser);
      return R.ok(map);
   }
   @PostMapping("loginShop")
   @PostMapping("loginSite")
   public R<?> loginSite(@RequestBody LoginBody form, HttpServletRequest request) {
      // 用户登录
      LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(), request);
      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("请关联角色!");
      }
      R<SysUser> sysUser1 = userClient.getSysUser(userInfo.getSysUser().getUserId());
      SysUser data = sysUser1.getData();
      if (data.getRoleType() != 2){
         return R.fail("仅限站点账号登录!");
      }
         String status = otherClient.getServiceStatus(data.getUserId().intValue()).getData();
         switch (status){
            case "1":
               return R.fail("未缴纳服务费");
            case "2":
               return R.fail("服务费已过期");
         }
      map.put("roleName",roles.get(0).getRoleName());
      map.put("info", userInfo);
      // 修改用户最后登录时间
      SysUser sysUser = new SysUser();
      sysUser.setUserId(userInfo.getSysUser().getUserId());
      sysUser.setLoginDate(new Date());
      System.out.println("修改用户登录时间" + sysUser);
      userClient.updateSysUser(sysUser);
      return R.ok(map);
   }
   /*@PostMapping("loginShop")
   public R<?> loginShop(@RequestBody LoginBody form, HttpServletRequest request) {
      // 用户登录
      LoginUser userInfo = sysLoginService.loginShop(form.getUsername(), form.getPassword(), request);
@@ -85,7 +133,7 @@
      userClient.updateSysUser(sysUser);
      return R.ok(map);
   }
   */
   @DeleteMapping("logout")
   public R<?> logout(HttpServletRequest request) {
      String token = SecurityUtils.getToken(request);