Merge branch 'master' of codeup.aliyun.com:6265f483e4166464dc2f9c14/boeu/baseservers

This commit is contained in:
dongruihua
2023-01-03 22:29:22 +08:00
4 changed files with 89 additions and 54 deletions

View File

@@ -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

View File

@@ -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;
@@ -106,22 +107,26 @@ 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",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());
map.put("sex",user.getGender());

View File

@@ -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"));

View File

@@ -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<String, String> 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"));