feat: 增加获取当前登录用户信息接口

This commit is contained in:
张松 2024-11-29 10:28:48 +08:00
parent f3fd3a4a71
commit 6888cedbd5
1 changed files with 41 additions and 0 deletions

View File

@ -5,11 +5,19 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import cn.ysk.cashier.config.security.config.bean.LoginCodeEnum;
import cn.ysk.cashier.config.security.security.TokenProvider;
import cn.ysk.cashier.mybatis.mapper.MpShopInfoMapper;
import cn.ysk.cashier.mybatis.mapper.TbMerchantAccountMapper;
import cn.ysk.cashier.mybatis.service.MpShopUserService;
import cn.ysk.cashier.pojo.TbToken;
import cn.ysk.cashier.pojo.shop.TbMerchantAccount;
import cn.ysk.cashier.pojo.shop.TbPlussShopStaff;
import cn.ysk.cashier.repository.TbTokenRepository;
import cn.ysk.cashier.repository.shop.TbMerchantAccountRepository;
import cn.ysk.cashier.repository.shop.TbPlussShopStaffRepository;
import cn.ysk.cashier.utils.*;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.wf.captcha.base.Captcha;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -43,6 +51,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
@ -66,6 +75,11 @@ public class AuthorizationController {
private final TbShopInfoRepository tbShopInfoRepository;
private final TbPlussShopStaffRepository staffRepository;
private final TbMerchantAccountRepository tbMerchantAccountRepository;
private final TbMerchantAccountMapper tbMerchantAccountMapper;
private final TbTokenRepository tbTokenRepository;
private final MpShopUserService shopUserService;
private final MpShopInfoMapper shopInfoMapper;
@Resource
private LoginProperties loginProperties;
@ -154,6 +168,33 @@ public class AuthorizationController {
return ResponseEntity.ok(authInfo);
}
@GetMapping("/userInfo")
public ResponseEntity<Object> getUserInfo(HttpServletRequest request) {
String token = tokenProvider.getToken(request);
JSONObject userInfo = JSON.parseObject(JSON.toJSONString(redisUtils.get("online-token-" + token)));
String userName = userInfo.getString("userName");
String shopId = userInfo.getString("shopId");
TbShopInfo shopInfo = shopInfoMapper.selectById(shopId);
TbPlussShopStaff shopStaff;
if (userName.contains("@")) {
shopStaff = staffRepository.queryMasterAccount(shopId);
} else {
shopStaff = staffRepository.queryByAccount(userName, shopId);
}
// TbMerchantAccount merchantAccount = tbMerchantAccountMapper.selectOne(Wrappers.<TbMerchantAccount>lambdaQuery()
// .eq(TbMerchantAccount::getAccount, shopStaff.getAccount()));
// Integer accountId = merchantAccount.getId();
// Integer staffId = shopStaff.getId();
// List<TbToken> onlineUserList = tbTokenRepository.findListByAccountIdAndStaffId(accountId, staffId);
shopStaff.setPassword(null);
return ResponseEntity.ok(new HashMap<String, Object>(){{
put("shopInfo", shopInfo);
put("shopStaff", shopStaff);
}});
}
/**
* 小程序登录
*