Commit 358d512b by 墨竹

feat:好办增加登录

parent 3bba28b5
...@@ -8,6 +8,7 @@ import java.util.Date; ...@@ -8,6 +8,7 @@ import java.util.Date;
* @author hua * @author hua
*/ */
public class HandoverStaffInfoDTO extends StaffDTO { public class HandoverStaffInfoDTO extends StaffDTO {
private Integer friendCount; private Integer friendCount;
private Integer haobanFriendCount; private Integer haobanFriendCount;
private Date dimissionTime; private Date dimissionTime;
......
...@@ -4,9 +4,6 @@ import java.io.Serializable; ...@@ -4,9 +4,6 @@ import java.io.Serializable;
public class LoginDTO implements Serializable { public class LoginDTO implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private StaffDTO staffDTO; private StaffDTO staffDTO;
......
...@@ -4,7 +4,10 @@ import java.io.Serializable; ...@@ -4,7 +4,10 @@ import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
public class StaffDTO implements Serializable{ public class StaffDTO implements Serializable {
private static final long serialVersionUID = 1L;
/** /**
* 员工id * 员工id
*/ */
...@@ -16,11 +19,11 @@ public class StaffDTO implements Serializable{ ...@@ -16,11 +19,11 @@ public class StaffDTO implements Serializable{
/** /**
* 微信用户id * 微信用户id
*/ */
private String wxUserId; private String wxUserId;
/** /**
* 手机号 * 手机号
*/ */
private String phoneNumber; private String phoneNumber;
/** /**
* 员工姓名 * 员工姓名
*/ */
...@@ -89,8 +92,6 @@ public class StaffDTO implements Serializable{ ...@@ -89,8 +92,6 @@ public class StaffDTO implements Serializable{
*/ */
private Integer relationFlag; private Integer relationFlag;
private static final long serialVersionUID = 1L;
public String getClerkId() { public String getClerkId() {
return clerkId; return clerkId;
} }
......
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
/**
* 好办登录信息
*
* @author mozhu
* @date 2021/12/14 17:37
*/
public class WellDoneLoginDTO implements Serializable {
private static final long serialVersionUID = -8035522410061849606L;
/**
* 员工id
*/
private String staffId;
/**
* wx企业id
*/
private String wxEnterpriseId;
/**
* 导购电话号码
*/
private String phoneNumber;
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
}
package com.gic.haoban.manage.web.interceptor; package com.gic.haoban.manage.web.interceptor;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.haoban.auth.api.anno.MenuCheck;
import com.gic.haoban.auth.api.dto.UserRightDetailDTO;
import com.gic.haoban.auth.api.enums.RoleCodeEnum;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.web.auth.AuthRequestUtil;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
...@@ -19,7 +12,6 @@ import javax.servlet.http.HttpServletRequest; ...@@ -19,7 +12,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Map; import java.util.Map;
/** /**
...@@ -29,11 +21,7 @@ import java.util.Map; ...@@ -29,11 +21,7 @@ import java.util.Map;
*/ */
public class WebInterceptor extends HandlerInterceptorAdapter { public class WebInterceptor extends HandlerInterceptorAdapter {
private static Logger logger= LoggerFactory.getLogger(WebInterceptor.class); private static final Logger logger = LoggerFactory.getLogger(WebInterceptor.class);
// @Autowired
// private ClerkRightManageService clerkRightManageService;
private void errorResult(HttpServletResponse httpServletResponse, HaoBanErrCode errCode) { private void errorResult(HttpServletResponse httpServletResponse, HaoBanErrCode errCode) {
HaobanResponse response = new HaobanResponse(); HaobanResponse response = new HaobanResponse();
...@@ -55,7 +43,6 @@ public class WebInterceptor extends HandlerInterceptorAdapter { ...@@ -55,7 +43,6 @@ public class WebInterceptor extends HandlerInterceptorAdapter {
logger.info("post-url:{}", requestURI); logger.info("post-url:{}", requestURI);
Map<String, String[]> parameterMap = httpServletRequest.getParameterMap(); Map<String, String[]> parameterMap = httpServletRequest.getParameterMap();
logger.info("post-params:{}", JSONObject.toJSONString(parameterMap)); logger.info("post-params:{}", JSONObject.toJSONString(parameterMap));
return true; return true;
} }
......
...@@ -25,7 +25,6 @@ import com.gic.haoban.manage.api.dto.*; ...@@ -25,7 +25,6 @@ import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.SecretTypeEnum; import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.DepartmentApiService; import com.gic.haoban.manage.api.service.DepartmentApiService;
import com.gic.haoban.manage.api.service.StaffApiService; import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import com.gic.haoban.manage.service.dao.mapper.StaffDepartmentRelatedMapper; import com.gic.haoban.manage.service.dao.mapper.StaffDepartmentRelatedMapper;
import com.gic.haoban.manage.service.dao.mapper.StaffMapper; import com.gic.haoban.manage.service.dao.mapper.StaffMapper;
import com.gic.haoban.manage.service.entity.TabHaobanDepartment; import com.gic.haoban.manage.service.entity.TabHaobanDepartment;
...@@ -86,8 +85,7 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -86,8 +85,7 @@ public class StaffApiServiceImpl implements StaffApiService {
private StoreGroupService storeGroupService; private StoreGroupService storeGroupService;
@Autowired @Autowired
private UserLoginLogService userLoginLogService; private UserLoginLogService userLoginLogService;
@Autowired
private WxEnterpriseRelatedApiService wxEnterpriseRelatedApiService;
@Autowired @Autowired
private SyncErrorLogService syncErrorLogService; private SyncErrorLogService syncErrorLogService;
......
package com.gic.haoban.manage.web.auth; package com.gic.haoban.manage.web.auth;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.gic.redis.data.util.RedisUtil; import com.gic.redis.data.util.RedisUtil;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -30,14 +29,6 @@ public class AuthRequestUtil { ...@@ -30,14 +29,6 @@ public class AuthRequestUtil {
public static final String REDIS_FAKE_LOGIN_FLAG_PREFIX = "GIC:HAOBAN:HAOBAN_MOBILE_APP:FAKE_LOGIN_TOKEN:"; public static final String REDIS_FAKE_LOGIN_FLAG_PREFIX = "GIC:HAOBAN:HAOBAN_MOBILE_APP:FAKE_LOGIN_TOKEN:";
public static String LOGIN_SESSION_KEY = "HAOBAN:LOGINUSER"; public static String LOGIN_SESSION_KEY = "HAOBAN:LOGINUSER";
// public static LoginDTO getSessionUser() {
// String json = (String) getSession().getAttribute(LOGIN_SESSION_KEY);
// if (StringUtils.isBlank(json)){
// return null;
// }
// return JSON.parseObject(json, LoginDTO.class);
// }
public static void setSessionUser(Object obj) { public static void setSessionUser(Object obj) {
String userJson = JSON.toJSONString(obj); String userJson = JSON.toJSONString(obj);
getSession().setAttribute(LOGIN_SESSION_KEY, userJson); getSession().setAttribute(LOGIN_SESSION_KEY, userJson);
...@@ -48,7 +39,7 @@ public class AuthRequestUtil { ...@@ -48,7 +39,7 @@ public class AuthRequestUtil {
} }
public static Object getAppLoginUser(String token) { public static Object getAppLoginUser(String token) {
logger.info("token1111111111=" + token); logger.info("token-web=" + token);
if (StringUtils.isBlank(token)) { if (StringUtils.isBlank(token)) {
return null; return null;
} }
......
...@@ -98,7 +98,7 @@ public class LoginController extends WebBaseController { ...@@ -98,7 +98,7 @@ public class LoginController extends WebBaseController {
} }
LoginDTO loginVO = new LoginDTO(); LoginDTO loginVO = new LoginDTO();
logger.info("【好办登录】staff={}", JSON.toJSONString(loginStaff)); logger.info("【好办web登录】staff={}", JSON.toJSONString(loginStaff));
if (loginStaff == null) { if (loginStaff == null) {
return; return;
} }
...@@ -124,7 +124,6 @@ public class LoginController extends WebBaseController { ...@@ -124,7 +124,6 @@ public class LoginController extends WebBaseController {
@RequestMapping("login_local") @RequestMapping("login_local")
@Deprecated @Deprecated
public HaobanResponse login() { public HaobanResponse login() {
LoginDTO loginVO = new LoginDTO(); LoginDTO loginVO = new LoginDTO();
StaffDTO staff = staffApiService.selectById("2205f92cdb5f468cb996e91dded414c2"); StaffDTO staff = staffApiService.selectById("2205f92cdb5f468cb996e91dded414c2");
String token = ToolUtil.randomUUID() + "-" + ToolUtil.randomStringByTime(); String token = ToolUtil.randomUUID() + "-" + ToolUtil.randomStringByTime();
...@@ -271,14 +270,14 @@ public class LoginController extends WebBaseController { ...@@ -271,14 +270,14 @@ public class LoginController extends WebBaseController {
ModelAndView model = new ModelAndView(new RedirectView("/haoban-3/#/gic-error", false, false)); ModelAndView model = new ModelAndView(new RedirectView("/haoban-3/#/gic-error", false, false));
return model; return model;
} }
LoginDTO loginVO = new LoginDTO(); LoginDTO loginDTO = new LoginDTO();
loginVO.setWxEnterpriseId(detailDTO.getWxEnterpriseId()); loginDTO.setWxEnterpriseId(detailDTO.getWxEnterpriseId());
loginVO.setStaffDTO(staff); loginDTO.setStaffDTO(staff);
AuthRequestUtil.setSessionUser(loginVO);
String redirectUri = config.getHost() + "index"; String redirectUri = config.getHost() + "index";
redirectUri = redirectUri.replace("haoban-manage3-web", "haoban-3/#"); redirectUri = redirectUri.replace("haoban-manage3-web", "haoban-3/#");
String token = ToolUtil.randomUUID() + "-" + ToolUtil.randomStringByTime(); String token = ToolUtil.randomUUID() + "-" + ToolUtil.randomStringByTime();
AuthRequestUtil.setAppLoginUser(token, loginVO); AuthRequestUtil.setSessionUser(loginDTO);
AuthRequestUtil.setAppLoginUser(token, loginDTO);
try { try {
Cookie cookie = new Cookie("token", token); Cookie cookie = new Cookie("token", token);
cookie.setPath("/"); cookie.setPath("/");
...@@ -286,7 +285,6 @@ public class LoginController extends WebBaseController { ...@@ -286,7 +285,6 @@ public class LoginController extends WebBaseController {
response.sendRedirect(redirectUri); response.sendRedirect(redirectUri);
response.setHeader("token", token); response.setHeader("token", token);
} catch (IOException e) { } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
return null; return null;
......
package com.gic.haoban.manage.web.controller; package com.gic.haoban.manage.web.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.clerk.api.dto.ClerkDTO; import com.gic.clerk.api.dto.ClerkDTO;
...@@ -12,22 +15,23 @@ import com.gic.enterprise.api.dto.StoreDTO; ...@@ -12,22 +15,23 @@ import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.EnterpriseService; import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.haoban.app.customer.dto.StaffOpenRelatedDTO; import com.gic.haoban.app.customer.dto.StaffOpenRelatedDTO;
import com.gic.haoban.app.customer.service.api.service.StaffMemberRelationApiService; import com.gic.haoban.app.customer.service.api.service.StaffMemberRelationApiService;
import com.gic.haoban.common.utils.AuthRequestUtil; import com.gic.haoban.common.utils.AuthRequestWellDoneUtil;
import com.gic.haoban.common.utils.EntityUtil; import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.SecretTypeEnum; import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.*; import com.gic.haoban.manage.api.service.*;
import com.gic.haoban.manage.web.anno.IgnoreLogin;
import com.gic.haoban.manage.web.config.Config; import com.gic.haoban.manage.web.config.Config;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.qo.ClerkLoginQO;
import com.gic.haoban.manage.web.qo.GetUserByMemberCodeQo; import com.gic.haoban.manage.web.qo.GetUserByMemberCodeQo;
import com.gic.haoban.manage.web.qo.MemberLoginQo; import com.gic.haoban.manage.web.qo.MemberLoginQo;
import com.gic.haoban.manage.web.qo.StaffLoginQO;
import com.gic.haoban.manage.web.utils.JwtUtil; import com.gic.haoban.manage.web.utils.JwtUtil;
import com.gic.haoban.manage.web.vo.AppStaffVo; import com.gic.haoban.manage.web.vo.AppStaffVo;
import com.gic.haoban.manage.web.vo.InfoVo;
import com.gic.haoban.manage.web.vo.MemberSendMessageVo; import com.gic.haoban.manage.web.vo.MemberSendMessageVo;
import com.gic.haoban.manage.web.vo.StoreMemberVO; import com.gic.haoban.manage.web.vo.StoreMemberVO;
import com.gic.haoban.manage.web.vo.WellDoneLoginInfoVO;
import com.gic.member.api.service.MemberOpenCardBusinessService; import com.gic.member.api.service.MemberOpenCardBusinessService;
import com.gic.wechat.api.dto.qywx.UserDTO; import com.gic.wechat.api.dto.qywx.UserDTO;
import com.gic.wechat.api.service.qywx.QywxCorpApiService; import com.gic.wechat.api.service.qywx.QywxCorpApiService;
...@@ -88,6 +92,7 @@ public class WxEnterpriseInfoController extends WebBaseController { ...@@ -88,6 +92,7 @@ public class WxEnterpriseInfoController extends WebBaseController {
* @return * @return
*/ */
@RequestMapping(value = "get-info-by-code", method = {RequestMethod.GET, RequestMethod.POST}) @RequestMapping(value = "get-info-by-code", method = {RequestMethod.GET, RequestMethod.POST})
@IgnoreLogin
public HaobanResponse getInfoByCode(String code) { public HaobanResponse getInfoByCode(String code) {
String userDTOJson = qywxCorpApiService.getCodeSession(config.getWxSuiteid(), code); String userDTOJson = qywxCorpApiService.getCodeSession(config.getWxSuiteid(), code);
logger.info("userDTOJson=============>{}", userDTOJson); logger.info("userDTOJson=============>{}", userDTOJson);
...@@ -144,42 +149,39 @@ public class WxEnterpriseInfoController extends WebBaseController { ...@@ -144,42 +149,39 @@ public class WxEnterpriseInfoController extends WebBaseController {
String wxEnterpriseId = loginStaff.getWxEnterpriseId(); String wxEnterpriseId = loginStaff.getWxEnterpriseId();
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseApiService.getOne(wxEnterpriseId); WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseApiService.getOne(wxEnterpriseId);
String accesstoken = qywxCorpApiService.getCorpAccessToken(wxEnterpriseDTO.getCorpid(), config.getWxSuiteid()); String accesstoken = qywxCorpApiService.getCorpAccessToken(wxEnterpriseDTO.getCorpid(), config.getWxSuiteid());
InfoVo infoVo = new InfoVo(); WellDoneLoginInfoVO wellDoneLoginInfoVo = new WellDoneLoginInfoVO();
infoVo.setAccessToken(accesstoken); wellDoneLoginInfoVo.setAccessToken(accesstoken);
infoVo.setStaffId(loginStaff.getStaffId()); wellDoneLoginInfoVo.setStaffId(loginStaff.getStaffId());
infoVo.setWxEnterpriseId(wxEnterpriseId); wellDoneLoginInfoVo.setWxEnterpriseId(wxEnterpriseId);
infoVo.setStaffName(loginStaff.getStaffName()); wellDoneLoginInfoVo.setStaffName(loginStaff.getStaffName());
infoVo.setPhoneNumber(loginStaff.getPhoneNumber()); wellDoneLoginInfoVo.setPhoneNumber(loginStaff.getPhoneNumber());
infoVo.setNationcode(loginStaff.getNationCode()); wellDoneLoginInfoVo.setNationcode(loginStaff.getNationCode());
infoVo.setWxUserId(loginStaff.getWxUserId()); wellDoneLoginInfoVo.setWxUserId(loginStaff.getWxUserId());
return resultResponse(HaoBanErrCode.ERR_1, infoVo); return resultResponse(HaoBanErrCode.ERR_1, wellDoneLoginInfoVo);
} }
/** /**
* 好办小程序-登陆 * 好办小程序-登陆
* *
* @param clerkLoginQO 登录QO * @param staffLoginQO 员工登录:
* @return {@link HaobanResponse } * @return {@link HaobanResponse }
* @author mozhu * @author mozhu
* @date 2021-12-10 15:56:13 * @date 2021-12-14 20:18:12
*/ */
@RequestMapping(value = "welldone-login", method = RequestMethod.POST) @RequestMapping(value = "welldone-login", method = RequestMethod.POST)
public HaobanResponse welldoneLogin(@RequestBody ClerkLoginQO clerkLoginQO) { @IgnoreLogin
String phoneNumber = clerkLoginQO.getPhoneNumber(); public HaobanResponse welldoneLogin(@RequestBody StaffLoginQO staffLoginQO) {
ClerkDTO clerkDTO = clerkService.getClerkByPhoneNumber(phoneNumber); StaffDTO staffDTO = staffApiService.selectById(staffLoginQO.getStaffId());
if (clerkDTO == null) { if (staffDTO == null) {
return resultResponse(HaoBanErrCode.ERR_6); return resultResponse(HaoBanErrCode.ERR_6);
} }
String clerkId = clerkDTO.getClerkId();
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
map.put("clerkId", clerkId); map.put("staffId", staffDTO.getStaffId());
map.put("enterpriseId", clerkDTO.getEnterpriseId()); map.put("wxEnterpriseId", staffDTO.getWxEnterpriseId());
map.put("isManager", clerkDTO.getClerkType() == 1 ? "1" : "0"); map.put("phoneNumber", staffDTO.getPhoneNumber());
map.put("phoneNumber", phoneNumber);
String token = JwtUtil.genToken(map); String token = JwtUtil.genToken(map);
AuthRequestUtil.setAppLoginUser(JSON.toJSONString(map)); AuthRequestWellDoneUtil.setAppLoginUser(token, BeanUtil.mapToBean(map, WellDoneLoginDTO.class, false));
return resultResponse(HaoBanErrCode.ERR_1, token); return resultResponse(HaoBanErrCode.ERR_1, token);
} }
...@@ -190,10 +192,20 @@ public class WxEnterpriseInfoController extends WebBaseController { ...@@ -190,10 +192,20 @@ public class WxEnterpriseInfoController extends WebBaseController {
* @author mozhu * @author mozhu
* @date 2021-12-10 18:34:12 * @date 2021-12-10 18:34:12
*/ */
@RequestMapping("welldone-token-refresh") @RequestMapping(value = "welldone-token-refresh", method = RequestMethod.GET)
public HaobanResponse welldoneTokenRefresh() { public HaobanResponse welldoneTokenRefresh() {
AuthRequestUtil.setAppLoginUser(AuthRequestUtil.getAppLoginUser()); String token = AuthRequestWellDoneUtil.getToken();
return resultResponse(HaoBanErrCode.ERR_1); if (ObjectUtil.isNull(token)) {
return resultResponse(HaoBanErrCode.ERR_30004);
}
Map<String, String> tokenMap = JwtUtil.parseToken(token);
if (MapUtil.isEmpty(tokenMap)) {
return resultResponse(HaoBanErrCode.ERR_30009);
}
AuthRequestWellDoneUtil.delToken();
String newToken = JwtUtil.genToken(tokenMap);
AuthRequestWellDoneUtil.setAppLoginUser(newToken, BeanUtil.mapToBean(tokenMap, WellDoneLoginDTO.class, false));
return resultResponse(HaoBanErrCode.ERR_1, token);
} }
/** /**
...@@ -201,14 +213,16 @@ public class WxEnterpriseInfoController extends WebBaseController { ...@@ -201,14 +213,16 @@ public class WxEnterpriseInfoController extends WebBaseController {
* *
* @return * @return
*/ */
@RequestMapping("welldone-loginout") @RequestMapping(value = "welldone-loginout", method = RequestMethod.GET)
@IgnoreLogin
public HaobanResponse welldoneLoginOut() { public HaobanResponse welldoneLoginOut() {
AuthRequestUtil.delSessionUser(); AuthRequestWellDoneUtil.delToken();
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
@RequestMapping("get-user-by-member-code") @RequestMapping("get-user-by-member-code")
@IgnoreLogin
public HaobanResponse getInfoByMemberCode(GetUserByMemberCodeQo qo) { public HaobanResponse getInfoByMemberCode(GetUserByMemberCodeQo qo) {
WxEnterpriseDTO enterpriseDetailDTO = null; WxEnterpriseDTO enterpriseDetailDTO = null;
if (StringUtils.isNotBlank(qo.getCorpId())) { if (StringUtils.isNotBlank(qo.getCorpId())) {
...@@ -346,7 +360,6 @@ public class WxEnterpriseInfoController extends WebBaseController { ...@@ -346,7 +360,6 @@ public class WxEnterpriseInfoController extends WebBaseController {
return resultResponse(HaoBanErrCode.ERR_1, staffs); return resultResponse(HaoBanErrCode.ERR_1, staffs);
} }
return resultResponse(HaoBanErrCode.ERR_1, new ArrayList<>()); return resultResponse(HaoBanErrCode.ERR_1, new ArrayList<>());
} }
/** /**
......
...@@ -122,6 +122,7 @@ public enum HaoBanErrCode { ...@@ -122,6 +122,7 @@ public enum HaoBanErrCode {
ERR_30006(30006, "用户名或密码错误"), ERR_30006(30006, "用户名或密码错误"),
ERR_30007(30007, "未设置密码,请先设置密码"), ERR_30007(30007, "未设置密码,请先设置密码"),
ERR_30008(30008, "超级管理员不存在"), ERR_30008(30008, "超级管理员不存在"),
ERR_30009(30009, "token不正确,请重新登录"),
//角色 //角色
ERR_40001(40001, "角色异常"), ERR_40001(40001, "角色异常"),
...@@ -236,7 +237,7 @@ public enum HaoBanErrCode { ...@@ -236,7 +237,7 @@ public enum HaoBanErrCode {
private int code; private int code;
private String msg; private String msg;
private HaoBanErrCode(int code, String value) { HaoBanErrCode(int code, String value) {
this.code = code; this.code = code;
this.msg = value; this.msg = value;
} }
......
package com.gic.haoban.manage.web.interceptor;
import com.gic.haoban.auth.api.dto.UserRightDetailDTO;
import com.gic.haoban.common.utils.AuthRequestUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 测试登录拦截器
*
* @author zhurz
*/
public class TestLoginInterceptor extends HandlerInterceptorAdapter {
private static Logger logger = LoggerFactory.getLogger(TestLoginInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
// 测试用
HttpServletRequest request = AuthRequestUtil.getRequest();
String testFlag = request.getHeader("testFlag");
if (!"Y".equals(testFlag)) return true;
String testEnterpriseId = request.getHeader("testEnterpriseId");
String testUserId = request.getHeader("testUserId");
UserRightDetailDTO sessionUser = new UserRightDetailDTO();
sessionUser.setUserId(testUserId);
sessionUser.setEnterpriseId(testEnterpriseId);
AuthRequestUtil.setSessionUser(sessionUser);
return true;
}
}
package com.gic.haoban.manage.web.interceptor; package com.gic.haoban.manage.web.interceptor;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.haoban.common.utils.AuthRequestUtil; import com.gic.haoban.common.utils.AuthRequestWellDoneUtil;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.manage.api.dto.WellDoneLoginDTO;
import com.gic.haoban.manage.web.anno.IgnoreLogin;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.redis.data.util.GicRateLimiter;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
...@@ -25,6 +28,8 @@ public class WebInterceptor extends HandlerInterceptorAdapter { ...@@ -25,6 +28,8 @@ public class WebInterceptor extends HandlerInterceptorAdapter {
private static final Logger logger = LoggerFactory.getLogger(WebInterceptor.class); private static final Logger logger = LoggerFactory.getLogger(WebInterceptor.class);
private static final String MOUDLE = "haoban-manage3-wx";
private void errorResult(HttpServletResponse httpServletResponse, HaoBanErrCode errCode) { private void errorResult(HttpServletResponse httpServletResponse, HaoBanErrCode errCode) {
HaobanResponse response = new HaobanResponse(); HaobanResponse response = new HaobanResponse();
...@@ -46,9 +51,25 @@ public class WebInterceptor extends HandlerInterceptorAdapter { ...@@ -46,9 +51,25 @@ public class WebInterceptor extends HandlerInterceptorAdapter {
logger.info("post-url:{}", requestURI); logger.info("post-url:{}", requestURI);
Map<String, String[]> parameterMap = httpServletRequest.getParameterMap(); Map<String, String[]> parameterMap = httpServletRequest.getParameterMap();
logger.info("post-params:{}", JSONObject.toJSONString(parameterMap)); logger.info("post-params:{}", JSONObject.toJSONString(parameterMap));
Object appLoginUser = AuthRequestUtil.getAppLoginUser(); HandlerMethod handler = (HandlerMethod) o;
if (ObjectUtil.isNotNull(appLoginUser)) { IgnoreLogin ignoreLogin = handler.getMethodAnnotation(IgnoreLogin.class);
if (null != ignoreLogin) {
return true;
}
WellDoneLoginDTO wellDoneLoginDTO = (WellDoneLoginDTO) AuthRequestWellDoneUtil.getLoginUser();
if (wellDoneLoginDTO == null) {
this.errorResult(httpServletResponse, HaoBanErrCode.ERR_4);
logger.info("用户不存在!");
return false;
}
String wxEnterpriseId = wellDoneLoginDTO.getWxEnterpriseId();
GicRateLimiter instance = GicRateLimiter.getInstance(MOUDLE);
Long acquire = instance.acquire(requestURI, wxEnterpriseId);
logger.info("限流返回值:{},{}", requestURI, acquire);
if (acquire == 0L) {
this.errorResult(httpServletResponse, HaoBanErrCode.ERR_13);
logger.info("wxEnterpriseId:{},限流!", wxEnterpriseId);
return false;
} }
return true; return true;
} }
......
package com.gic.haoban.manage.web.qo;
import java.io.Serializable;
/**
* 员工登录
*
* @author mozhu
* @date 2021/12/10 15:00
*/
public class ClerkLoginQO implements Serializable {
private static final long serialVersionUID = -170574390217887304L;
/**
* 电话号码
*/
private String phoneNumber;
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
}
package com.gic.haoban.manage.web.qo;
import org.hibernate.validator.constraints.NotEmpty;
import java.io.Serializable;
/**
* 员工登录
*
* @author mozhu
* @date 2021/12/10 15:00
*/
public class StaffLoginQO implements Serializable {
private static final long serialVersionUID = -170574390217887304L;
@NotEmpty(message = "员工id不允许为空")
private String staffId;
private String wxEnterpriseId;
private String phoneNumber;
private String nationcode;
private String wxUserId;
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getNationcode() {
return nationcode;
}
public void setNationcode(String nationcode) {
this.nationcode = nationcode;
}
public String getWxUserId() {
return wxUserId;
}
public void setWxUserId(String wxUserId) {
this.wxUserId = wxUserId;
}
}
...@@ -7,19 +7,20 @@ import java.io.Serializable; ...@@ -7,19 +7,20 @@ import java.io.Serializable;
* *
* @author hua * @author hua
*/ */
public class InfoVo implements Serializable { public class WellDoneLoginInfoVO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String staffId; private String staffId;
private String wxEnterpriseId; private String wxEnterpriseId;
private String accessToken; private String accessToken;
private String staffName; private String staffName;
private String phoneNumber; private String phoneNumber;
private String nationcode; private String nationcode;
private String wxUserId; private String wxUserId;
public String getWxUserId() { public String getWxUserId() {
return wxUserId; return wxUserId;
} }
public void setWxUserId(String wxUserId) { public void setWxUserId(String wxUserId) {
this.wxUserId = wxUserId; this.wxUserId = wxUserId;
} }
...@@ -59,6 +60,5 @@ public class InfoVo implements Serializable { ...@@ -59,6 +60,5 @@ public class InfoVo implements Serializable {
public void setNationcode(String nationcode) { public void setNationcode(String nationcode) {
this.nationcode = nationcode; this.nationcode = nationcode;
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment