zhangjinli 3 years ago
parent 36c91e9145
commit 851bbfc37d

@ -29,10 +29,16 @@ public class AdminLoginTokenInterceptor implements HandlerInterceptor {
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 判断访问的方法上是否有@needToken注解 // 判断访问的方法上是否有@needToken注解
HandlerMethod handlerMethod = (HandlerMethod) handler; boolean tokenValid =false;
boolean tokenValid = handlerMethod.hasMethodAnnotation(AdminTokenValid.class); try {
HandlerMethod handlerMethod = (HandlerMethod) handler;
tokenValid = handlerMethod.hasMethodAnnotation(AdminTokenValid.class);
}catch (Exception e){
response.setStatus(500);
this.respUrlError(response);
return false;
}
if (!tokenValid) { if (!tokenValid) {
return true; return true;
} }
@ -53,7 +59,7 @@ public class AdminLoginTokenInterceptor implements HandlerInterceptor {
} }
/** /**
* Json * Json
*/ */
private void respFail(ServletResponse response) throws IOException { private void respFail(ServletResponse response) throws IOException {
Result err = Result.fail(HttpStatusEnum.LOGIN_FAILED); Result err = Result.fail(HttpStatusEnum.LOGIN_FAILED);
@ -62,4 +68,14 @@ public class AdminLoginTokenInterceptor implements HandlerInterceptor {
response.setContentType("application/json; charset=utf-8"); response.setContentType("application/json; charset=utf-8");
response.getOutputStream().write(s.getBytes()); response.getOutputStream().write(s.getBytes());
} }
/**
* handler
*/
private void respUrlError(ServletResponse response) throws IOException {
Result err = Result.fail(HttpStatusEnum.NOT_FOUND);
String s = objectMapper.writeValueAsString(err);
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json; charset=utf-8");
response.getOutputStream().write(s.getBytes());
}
} }

@ -1,6 +1,7 @@
package com.zh.project0512.aop; package com.zh.project0512.aop;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.zh.project0512.annotation.AdminTokenValid;
import com.zh.project0512.annotation.TokenValid; import com.zh.project0512.annotation.TokenValid;
import com.zh.project0512.utils.JwtUtil; import com.zh.project0512.utils.JwtUtil;
import com.zh.project0512.utils.result.HttpStatusEnum; import com.zh.project0512.utils.result.HttpStatusEnum;
@ -29,8 +30,15 @@ public class LoginTokenInterceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 判断访问的方法上是否有@needToken注解 // 判断访问的方法上是否有@needToken注解
HandlerMethod handlerMethod = (HandlerMethod) handler; boolean tokenValid =false;
boolean tokenValid = handlerMethod.hasMethodAnnotation(TokenValid.class); try {
HandlerMethod handlerMethod = (HandlerMethod) handler;
tokenValid = handlerMethod.hasMethodAnnotation(AdminTokenValid.class);
}catch (Exception e){
response.setStatus(500);
this.respUrlError(response);
return false;
}
if (!tokenValid) { if (!tokenValid) {
return true; return true;
} }
@ -51,7 +59,7 @@ public class LoginTokenInterceptor implements HandlerInterceptor {
} }
/** /**
* Json * Json
*/ */
private void respFail(ServletResponse response) throws IOException { private void respFail(ServletResponse response) throws IOException {
Result err = Result.fail(HttpStatusEnum.LOGIN_FAILED); Result err = Result.fail(HttpStatusEnum.LOGIN_FAILED);
@ -60,4 +68,14 @@ public class LoginTokenInterceptor implements HandlerInterceptor {
response.setContentType("application/json; charset=utf-8"); response.setContentType("application/json; charset=utf-8");
response.getOutputStream().write(s.getBytes()); response.getOutputStream().write(s.getBytes());
} }
/**
* handler
*/
private void respUrlError(ServletResponse response) throws IOException {
Result err = Result.fail(HttpStatusEnum.NOT_FOUND);
String s = objectMapper.writeValueAsString(err);
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json; charset=utf-8");
response.getOutputStream().write(s.getBytes());
}
} }

@ -74,17 +74,18 @@ public class AdminController {
UpdateWrapper<Admin> uw = new UpdateWrapper<>(); UpdateWrapper<Admin> uw = new UpdateWrapper<>();
uw.eq("id", admin.getId()).set("token", token).set("lastLoginAt", LocalDateTime.now()); uw.eq("id", admin.getId()).set("token", token).set("lastLoginAt", LocalDateTime.now());
adminService.update(uw); adminService.update(uw);
JSONObject ad = (JSONObject) JSONObject.toJSON(admin);
String roleIdsStr = admin.getRoleIds(); String roleIdsStr = admin.getRoleIds();
if (roleIdsStr != null && !roleIdsStr.trim().equals("")) { if (roleIdsStr != null && !roleIdsStr.trim().equals("")) {
String[] roleIds = roleIdsStr.split(","); String[] roleIds = roleIdsStr.split(",");
if (roleIds.length > 1) { if (roleIds.length > 1) {
return Result.success(admin,"暂不支持多角色的用户菜单列表展示"); return Result.success(ad,"暂不支持多角色的用户菜单列表展示");
} }
} }
AdminJurisdictionFBIDTO adminJurisdictionFBIDTO = new AdminJurisdictionFBIDTO(); AdminJurisdictionFBIDTO adminJurisdictionFBIDTO = new AdminJurisdictionFBIDTO();
adminJurisdictionFBIDTO.setRoleId(Integer.valueOf(roleIdsStr)); adminJurisdictionFBIDTO.setRoleId(Integer.valueOf(roleIdsStr));
List<AdminJurisdictionFBRIVo> byRoleId = userJurisdictionService.findByRoleId(adminJurisdictionFBIDTO); List<AdminJurisdictionFBRIVo> byRoleId = userJurisdictionService.findByRoleId(adminJurisdictionFBIDTO);
JSONObject ad = (JSONObject) JSONObject.toJSON(admin);
ad.put("role",byRoleId); ad.put("role",byRoleId);
return Result.success(ad); return Result.success(ad);
} }

@ -35,7 +35,7 @@ public interface UserEffectRecordsMapper extends BaseMapper<UserEffectRecords> {
"INNER JOIN (SELECT t1.openid,t2.createAt,IFNULL(sum(t2.effectResultTran),0) as effectValue from user t1 left join userEffectRecords t2 on t2.userId = t1.id GROUP BY openid) as t2 on t2.openid = t1.openid\n" + "INNER JOIN (SELECT t1.openid,t2.createAt,IFNULL(sum(t2.effectResultTran),0) as effectValue from user t1 left join userEffectRecords t2 on t2.userId = t1.id GROUP BY openid) as t2 on t2.openid = t1.openid\n" +
"${ew.customSqlSegment} " + "${ew.customSqlSegment} " +
"GROUP BY departmentId\n" + "GROUP BY departmentId\n" +
"ORDER BY effectValue DESC") "ORDER BY effectValue DESC,departmentId ASC")
IPage<Map> rankByDepartment(IPage page, @Param("ew") Wrapper<UserEffectRecords> queryWrapper); IPage<Map> rankByDepartment(IPage page, @Param("ew") Wrapper<UserEffectRecords> queryWrapper);
@Select("SELECT t1.userId,t2.name as title,t2.avatar,t2.departmentId,t2.departmentName as subtitle,IFNULL(sum(t1.effectResultTran),0) as effectValue from userEffectRecords as t1\n" + @Select("SELECT t1.userId,t2.name as title,t2.avatar,t2.departmentId,t2.departmentName as subtitle,IFNULL(sum(t1.effectResultTran),0) as effectValue from userEffectRecords as t1\n" +

@ -10,6 +10,7 @@ import org.springframework.validation.ObjectError;
import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.bind.annotation.RestControllerAdvice;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -61,6 +62,13 @@ public class RestExceptionHandler {
return new ResponseEntity<>(result,HttpStatus.BAD_REQUEST); return new ResponseEntity<>(result,HttpStatus.BAD_REQUEST);
} }
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ExceptionHandler(Exception.class)
@ResponseBody
public Result<String> badRequestExceptionHandler(){
return Result.fail(HttpStatusEnum.BAD_REQUEST);
}
/** /**
* *
* @param req * @param req

Loading…
Cancel
Save