From 85fba1a5492b88994242931a9d3625421f156d2c Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 3 Jan 2023 11:09:08 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=88=B0=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/school/api/PortalConsoleApi.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java index 6b62e18f..d83c0ff5 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java @@ -15,6 +15,7 @@ import com.xboe.core.CurrentUser; import com.xboe.core.IAuthorizationToken; import com.xboe.core.JsonResponse; import com.xboe.core.api.ApiBaseController; +import com.xboe.data.dto.UserData; import com.xboe.data.outside.IOutSideDataService; import com.xboe.module.teacher.entity.Teacher; import com.xboe.module.teacher.service.ITeacherService; @@ -66,11 +67,11 @@ public class PortalConsoleApi extends ApiBaseController{ return error("账号错误,无此账号"); } -// UserData userData = outsideDataService.getUserInfoByUserId(null); -// if(userData==null) { -// log.error("通过api获取用用户信息错误【"+getCurrent().getAccountId()+"】对应的用户"); -// return error("未能获取当前用户信息"); -// } + UserData userData = outsideDataService.getUserInfoByUserId(null); + if(userData==null) { + log.error("通过api获取用用户信息错误【"+getCurrent().getAccountId()+"】对应的用户"); + return error("未能获取当前用户信息"); + } User user = userService.get(getCurrent().getAccountId()); Organization org = null; @@ -120,8 +121,8 @@ public class PortalConsoleApi extends ApiBaseController{ map.put("aid",account.getId()); map.put("sysId",user.getSysId()); - //map.put("adminType",userData.getAdminType());//管理员类型,1表默认管理员,2表非默认管理员,0表不是管理员 - map.put("adminType",0); + map.put("adminType",userData.getAdminType());//管理员类型,1表默认管理员,2表非默认管理员,0表不是管理员 + //map.put("adminType",0); map.put("companyId",user.getCompanyId()); map.put("name",user.getName()); map.put("sex",user.getGender()); From f63025e9bc062b06085bbb146b99409f2eac9c04 Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 3 Jan 2023 12:42:47 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=95=99=E5=B8=88=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=EF=BC=8C=E6=94=B9=E6=88=90=E5=8F=AA=E6=98=AF=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=AF=B9=E5=BA=94=E7=9A=844=E4=B8=AA?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=80=BC=EF=BC=8C=E4=B8=8D=E6=9B=B4=E6=94=B9?= =?UTF-8?q?=E5=85=B6=E5=AE=83=E7=9A=84=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TeacherServiceImpl.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java index 99b781ca..3328801d 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java @@ -23,6 +23,7 @@ import com.xboe.constants.Constants; import com.xboe.core.exception.XaskException; import com.xboe.core.orm.FieldFilters; import com.xboe.core.orm.QueryBuilder; +import com.xboe.core.orm.UpdateBuilder; import com.xboe.module.teacher.dao.TeacherDao; import com.xboe.module.teacher.dto.TeacherSyncUpdateDto; import com.xboe.module.teacher.entity.Teacher; @@ -208,12 +209,20 @@ public class TeacherServiceImpl implements ITeacherService { @Override @Transactional public void updateTeacher(TeacherFiledVo entity) { - Teacher teacher = dao.get(entity.getId()); - teacher.setPhoto(entity.getPhoto()); - teacher.setWorkExperience(entity.getWorkExperience()); - teacher.setCourses(entity.getCourses()); - teacher.setExpertise(entity.getExpertise()); - dao.update(teacher); + +// Teacher teacher = dao.get(entity.getId()); +// teacher.setPhoto(entity.getPhoto()); +// teacher.setWorkExperience(entity.getWorkExperience()); +// teacher.setCourses(entity.getCourses()); +// teacher.setExpertise(entity.getExpertise()); +// dao.update(teacher); + //修改为以下方式,不影响其它字段的 + dao.updateMultiFieldById(entity.getId(), + UpdateBuilder.create("photo", entity.getPhoto()), + UpdateBuilder.create("workExperience", entity.getWorkExperience()), + UpdateBuilder.create("courses", entity.getCourses()), + UpdateBuilder.create("expertise", entity.getExpertise()) + ); } @Override From d116c305e99c935bb934b36008790bb5a80e8b10 Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 3 Jan 2023 18:20:59 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E5=8F=8A=E7=94=A8=E6=88=B7=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/school/api/PortalConsoleApi.java | 26 ++++---- .../com/xboe/school/api/PortalLoginApi.java | 61 +++++++++++-------- 2 files changed, 49 insertions(+), 38 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java index d83c0ff5..7975260a 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java @@ -70,7 +70,7 @@ public class PortalConsoleApi extends ApiBaseController{ UserData userData = outsideDataService.getUserInfoByUserId(null); if(userData==null) { log.error("通过api获取用用户信息错误【"+getCurrent().getAccountId()+"】对应的用户"); - return error("未能获取当前用户信息"); + //return error("未能获取当前用户信息"); } User user = userService.get(getCurrent().getAccountId()); @@ -107,21 +107,25 @@ public class PortalConsoleApi extends ApiBaseController{ } } + //以下是使用的接口数据判断身份 // int utype=1;//仅仅是学员 -// if(userData.getTeacher()) { -// utype=2; -// } -// if(userData.getAdminType()>0) { -// if(utype==2) { -// utype=5;//是管理员,又是教师 -// }else { -// utype=3; -// } +// if(userData!=null) { +// +// if(userData.getTeacher()) { +// utype=2; +// } +// if(userData.getAdminType()>0) { +// if(utype==2) { +// utype=5;//是管理员,又是教师 +// }else { +// utype=3; +// } +// } // } map.put("aid",account.getId()); map.put("sysId",user.getSysId()); - map.put("adminType",userData.getAdminType());//管理员类型,1表默认管理员,2表非默认管理员,0表不是管理员 + map.put("adminType",userData==null? 0:userData.getAdminType());//管理员类型,1表默认管理员,2表非默认管理员,0表不是管理员 //map.put("adminType",0); map.put("companyId",user.getCompanyId()); map.put("name",user.getName()); diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java index 628cf497..09de3763 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java @@ -263,35 +263,42 @@ public class PortalLoginApi extends ApiBaseController { return wrap(JsonResponseStatus.TOKEN_NOPASS, "token error"); } Account account = null; - if(StringUtil.isNotBlank(tokenInfo.get("aid"))){ + String aid=tokenInfo.get("aid"); + if(StringUtil.isBlank(aid)){ + aid=tokenInfo.get("uId");; + } + if(StringUtil.isBlank(aid)){ + return wrap(JsonResponseStatus.TOKEN_NOPASS, "token error no uId"); + } + if(StringUtil.isNotBlank(aid)){ //检查系统用户是否存在 - account = accountService.get(tokenInfo.get("aid")); + account = accountService.get(aid); }else{ - //log.error("查询用户kid【"+tokenInfo.get("userId")+"】"); - // 没有aid则判断是否已同步的用户,不是则同步 - if(StringUtil.isNotBlank(tokenInfo.get("userId"))){ - account = accountService.findLoginBySysId(tokenInfo.get("userId")); - if(account == null){ //系统中无此用户,需要同步用户 - log.error("未找到【"+tokenInfo.get("userId")+"】的用户"); - UserVo fwUser = fwUserService.getById(tokenInfo.get("userId")); - if(fwUser != null) { - try { - account = userService.syncUser(fwUser); - } catch (Exception e) { - log.error("boelogin同步用户错误:" + e.getMessage()); - return error("登录失败,未同步用户"); - } - } - }else { - if(account.getDeleted()!=null && account.getDeleted()) { - return error("登录失败,用户已删除,请与管理员联系"); - }else if(account.getStatus()!=null && account.getStatus()==Account.STATUS_DEAD) { - return error("登录失败,用户已停用,请与管理员联系"); - } - } - }else { - return error("token不合法"); - } +// //log.error("查询用户kid【"+tokenInfo.get("userId")+"】"); +// // 没有aid则判断是否已同步的用户,不是则同步 +// if(StringUtil.isNotBlank(tokenInfo.get("userId"))){ +// account = accountService.findLoginBySysId(tokenInfo.get("userId")); +// if(account == null){ //系统中无此用户,需要同步用户 +// log.error("未找到【"+tokenInfo.get("userId")+"】的用户"); +// UserVo fwUser = fwUserService.getById(tokenInfo.get("userId")); +// if(fwUser != null) { +// try { +// account = userService.syncUser(fwUser); +// } catch (Exception e) { +// log.error("boelogin同步用户错误:" + e.getMessage()); +// return error("登录失败,未同步用户"); +// } +// } +// }else { +// if(account.getDeleted()!=null && account.getDeleted()) { +// return error("登录失败,用户已删除,请与管理员联系"); +// }else if(account.getStatus()!=null && account.getStatus()==Account.STATUS_DEAD) { +// return error("登录失败,用户已停用,请与管理员联系"); +// } +// } +// }else { +// return error("token不合法"); +// } } if (account == null) { log.error("未找到用户的id:"+tokenInfo.get("userId")); From d3567d9e0b355c8349a42dfc299a2f28f4ccf38e Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 3 Jan 2023 19:17:06 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=9A=84=E6=A3=80=E6=9F=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/filter/AuthenticationFilter.java | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/filter/AuthenticationFilter.java b/servers/boe-server-all/src/main/java/com/xboe/system/filter/AuthenticationFilter.java index 33d9e7c3..51d33584 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/system/filter/AuthenticationFilter.java +++ b/servers/boe-server-all/src/main/java/com/xboe/system/filter/AuthenticationFilter.java @@ -101,8 +101,8 @@ public class AuthenticationFilter extends OncePerRequestFilter { // } if(cuser==null) { // 判断token中获取的值是否当前系统的,不是则告诉前端来获取 - if(tokenData.containsKey("userId")) { - error(response,302,"系统无当前用户,需同步"); + if(tokenData.containsKey("uId")) { + error(response,302,"token 错误"); return; } error(response,401,"请重新登录"); @@ -127,9 +127,9 @@ public class AuthenticationFilter extends OncePerRequestFilter { private CurrentUser convertByMap(Map data) { if(!data.containsKey("aid")) { - //在这里写根据原系统UserId去查询用户信息。然后生成CurrentUser 返回就可以了 - if(data.containsKey("userId")) { - User user = userService.getBySysId(data.get("userId")); + //修改为新的接口,通过uId获取 + if(data.containsKey("uId")) { + User user = userService.get(data.get("uId")); if(user != null){ CurrentUser cuser=new CurrentUser(); cuser.setAccountId(user.getId()); @@ -141,8 +141,22 @@ public class AuthenticationFilter extends OncePerRequestFilter { return null; } } +// if(data.containsKey("userId")) { +// User user = userService.getBySysId(data.get("userId")); +// if(user != null){ +// CurrentUser cuser=new CurrentUser(); +// cuser.setAccountId(user.getId()); +// cuser.setName(user.getName()); +// cuser.setCode(user.getUserNo()); +// cuser.setDepartId(user.getDepartId()); +// return cuser; +// }else { +// return null; +// } +// } return null; } + //此处用于本地登录的情况,直接从token中获取,不需要再查询一次了 CurrentUser cuser=new CurrentUser(); cuser.setAccountId(data.get("aid")); cuser.setName(data.get("name"));