Commit b8e6774e by java-李谡

添加redis方法

parent fe89cc89
...@@ -24,33 +24,17 @@ public class RedisUtils { ...@@ -24,33 +24,17 @@ public class RedisUtils {
* @param indexDb * @param indexDb
* @return boolean * @return boolean
**/ **/
public boolean exists(String key,int indexDb) { public boolean exists(String key, int indexDb) {
Jedis jedis = jedisPool.getResource();
jedis.select(indexDb);
boolean exist = jedis.exists(key);
if (null != jedis && null != jedisPool) {
returnResource(jedisPool, jedis);
}
return exist;
}
/**
* 删除key
*
* @param key
* @param indexDb
* @return
*/
public long del(String key, int indexDb) {
Jedis jedis = jedisPool.getResource(); Jedis jedis = jedisPool.getResource();
jedis.select(indexDb); jedis.select(indexDb);
long s = jedis.del(key); boolean exist = jedis.exists(key);
if (null != jedis && null != jedisPool) { if (null != jedis && null != jedisPool) {
returnResource(jedisPool, jedis); returnResource(jedisPool, jedis);
} }
return s; return exist;
} }
/** /**
* 通过key获取储存在redis中的value * 通过key获取储存在redis中的value
* 并释放连接 * 并释放连接
...@@ -124,9 +108,9 @@ public class RedisUtils { ...@@ -124,9 +108,9 @@ public class RedisUtils {
try { try {
jedis = jedisPool.getResource(); jedis = jedisPool.getResource();
jedis.select(indexDb); jedis.select(indexDb);
Integer expireTime =jedis.ttl(key).intValue(); Integer expireTime = jedis.ttl(key).intValue();
res = jedis.incr(key); res = jedis.incr(key);
// jedis.expireAt(key, expireTime); // jedis.expireAt(key, expireTime);
res = jedis.expire(key, expireTime); res = jedis.expire(key, expireTime);
} catch (Exception e) { } catch (Exception e) {
......
...@@ -11,9 +11,7 @@ import com.ejweb.core.fetcher.HCFetcher; ...@@ -11,9 +11,7 @@ import com.ejweb.core.fetcher.HCFetcher;
import com.ejweb.core.util.IdWorker; import com.ejweb.core.util.IdWorker;
import com.ejweb.core.util.PropertiesUtils; import com.ejweb.core.util.PropertiesUtils;
import com.ejweb.core.util.RedisUtils; import com.ejweb.core.util.RedisUtils;
import com.ejweb.core.util.RedisUtils;
import com.ejweb.core.util.Util; import com.ejweb.core.util.Util;
import com.ejweb.modules.im.service.HuaweiInterfaseService;
import com.ejweb.modules.mobile.verify.entity.MobileVerifyEntity; import com.ejweb.modules.mobile.verify.entity.MobileVerifyEntity;
import com.ejweb.modules.mobile.verify.service.MobileVerifyService; import com.ejweb.modules.mobile.verify.service.MobileVerifyService;
import com.ejweb.modules.role.bean.UserRolesBean; import com.ejweb.modules.role.bean.UserRolesBean;
...@@ -44,27 +42,22 @@ import java.util.*; ...@@ -44,27 +42,22 @@ import java.util.*;
public class UserController { public class UserController {
private final static Logger LOG = Logger.getLogger(UserController.class); private final static Logger LOG = Logger.getLogger(UserController.class);
@Autowired @Autowired
private UserService userService; private UserService userService;
// @Autowired
// private OfficedService officedService;
@Autowired @Autowired
private MobileVerifyService mobileVerifyService; private MobileVerifyService mobileVerifyService;
@Value("${redis.dbIndex}") @Value("${redis.dbIndex}")
private int indexDb; private int indexDb;
@Autowired
private RedisUtils RedisUtils;
@Autowired @Autowired
private UserRolesService userRolesService; private RedisUtils redisUtils;
@Autowired @Autowired
private HuaweiInterfaseService huaweiInterfaseService; private UserRolesService userRolesService;
/** /**
* 根据用户CODE查询用户信息 * 根据用户CODE查询用户信息
* *
* @param requestBean * @param requestBean
* @param errors * @param errors
* @return * @return
...@@ -95,7 +88,7 @@ public class UserController { ...@@ -95,7 +88,7 @@ public class UserController {
/** /**
* 注册用户信息 * 注册用户信息
* *
* @param requestBean * @param requestBean
* @param errors * @param errors
* @return * @return
...@@ -133,132 +126,134 @@ public class UserController { ...@@ -133,132 +126,134 @@ public class UserController {
*/ */
@ResponseBody @ResponseBody
@RequestMapping("/login") @RequestMapping("/login")
public ResponseBean login(HttpServletRequest request, RequestBean requestBean,String userIp) { public ResponseBean login(HttpServletRequest request, RequestBean requestBean) {
//获取redis的库
int indexDb = Integer.valueOf(PropertiesUtils.getProperties().get("redis.dbIndex").toString());
long startTime = System.nanoTime(); long startTime = System.nanoTime();
ResponseBean responseBean = new ResponseBean(); ResponseBean responseBean = new ResponseBean();
String message = userService.validate(requestBean);
LoginBean loginBean = requestBean.getObjectBean(LoginBean.class); LoginBean loginBean = requestBean.getObjectBean(LoginBean.class);
int a = indexDb; String message = userService.validate(loginBean);
String userIp;
String s = RedisUtils.get(loginBean.getLoginName(), indexDb);
if (null!=s && Integer.parseInt(s) >=6 ){
RedisUtils.expire("black_username"+loginBean.getLoginName(),300,indexDb);
responseBean.setStatus(ErrorCode.STATUS_CODE_4101);
responseBean.setMessage("该帐号已禁止登录");
return responseBean;
}
if (StringUtils.isEmpty(s)){
RedisUtils.set(loginBean.getLoginName(),1,indexDb);
RedisUtils.expire(loginBean.getLoginName(),360,indexDb);
RedisUtils.incrNotResetExpireTime(loginBean.getLoginName(),indexDb);
}else {
RedisUtils.incrNotResetExpireTime(loginBean.getLoginName(),indexDb);
}
message = userService.validate(loginBean);
if (message == null) { if (message == null) {
userIp = loginBean.getUserIp();
LoginIpInfo loginIpInfo = userService.findByIp(userIp); LoginIpInfo loginIpInfo = userService.findByIp(userIp);
if(loginIpInfo != null){ String redisUsername = redisUtils.get(loginBean.getLoginName(), indexDb);
if (loginIpInfo != null) {
responseBean.setStatus(ErrorCode.STATUS_CODE_4102); responseBean.setStatus(ErrorCode.STATUS_CODE_4102);
responseBean.setMessage("IP受限!请联系管理员"); responseBean.setMessage("IP地址已被锁定");
long endTime = System.nanoTime(); long endTime = System.nanoTime();
long duration = endTime - startTime; long duration = endTime - startTime;
LOG.debug("[UserController login][STATUS_CODE_4102]总共用时:"+Util.getDurationTime(duration)); LOG.debug("[UserController login][STATUS_CODE_4102]总共用时:" + Util.getDurationTime(duration));
return responseBean; return responseBean;
} }
if (null != redisUsername && Integer.parseInt(redisUsername) >= 6) {
redisUtils.expire("black_username:" + loginBean.getLoginName(), 300, indexDb);
responseBean.setStatus(ErrorCode.STATUS_CODE_4101);
responseBean.setMessage("该帐号已禁止登录");
return responseBean;
}
LoginUserEntity userEntity = userService.findUserByLoginName(loginBean); LoginUserEntity userEntity = userService.findUserByLoginName(loginBean);
// 查询不到用户信息 // 查询不到用户信息
if(userEntity == null){ if (userEntity == null) {
//todo ip username +1
if (StringUtils.isEmpty(redisUsername)) {
redisUtils.set(loginBean.getLoginName(), 1, indexDb);
redisUtils.expire(loginBean.getLoginName(), 360, indexDb);
} else {
redisUtils.incrNotResetExpireTime(loginBean.getLoginName(), indexDb);
}
checkIpLimit(userIp);
responseBean.setStatus(ErrorCode.STATUS_CODE_4102); responseBean.setStatus(ErrorCode.STATUS_CODE_4102);
responseBean.setMessage("用户名不存在"); responseBean.setMessage("账户或密码错误");
long endTime = System.nanoTime(); long endTime = System.nanoTime();
long duration = endTime - startTime; long duration = endTime - startTime;
LOG.debug("[UserController login][STATUS_CODE_4102]总共用时:"+Util.getDurationTime(duration)); LOG.debug("[UserController login][STATUS_CODE_4102]总共用时:" + Util.getDurationTime(duration));
return responseBean; return responseBean;
} else if (GConstants.NO.equals(userEntity.getLoginFlag())) {// 用户被查封 // 用户被查封
} else if (GConstants.NO.equals(userEntity.getLoginFlag())) {
responseBean.setStatus(ErrorCode.STATUS_CODE_4101); responseBean.setStatus(ErrorCode.STATUS_CODE_4101);
responseBean.setMessage("该帐号已禁止登录"); responseBean.setMessage("该帐号已禁止登录");
//判断ip限制 //判断ip限制
checkIpLimit(redisUtils,userIp,indexDb,responseBean); checkIpLimit(userIp);
long endTime = System.nanoTime(); long endTime = System.nanoTime();
long duration = endTime - startTime; long duration = endTime - startTime;
LOG.debug("[UserController login][STATUS_CODE_4101]总共用时:"+Util.getDurationTime(duration)); LOG.debug("[UserController login][STATUS_CODE_4101]总共用时:" + Util.getDurationTime(duration));
return responseBean; return responseBean;
} else if (!"2".equals(userEntity.getUserType()) && !"4".equals(userEntity.getUserType()) && !"6".equals(userEntity.getUserType())) { //不是内部联系人 通讯录联系人不允许登陆 //不是内部联系人 通讯录联系人不允许登陆
} else if (!"2".equals(userEntity.getUserType()) && !"4".equals(userEntity.getUserType()) && !"6".equals(userEntity.getUserType())) {
responseBean.setStatus(ErrorCode.STATUS_CODE_4101); responseBean.setStatus(ErrorCode.STATUS_CODE_4101);
responseBean.setMessage("当前用户类型不允许登陆,请联系系统管理员"); responseBean.setMessage("当前用户类型不允许登陆,请联系系统管理员");
//判断ip限制 //判断ip限制
checkIpLimit(redisUtils,userIp,indexDb,responseBean); checkIpLimit(userIp);
long endTime = System.nanoTime(); long endTime = System.nanoTime();
long duration = endTime - startTime; long duration = endTime - startTime;
LOG.debug("[UserController login][STATUS_CODE_4101]总共用时:"+Util.getDurationTime(duration)); LOG.debug("[UserController login][STATUS_CODE_4101]总共用时:" + Util.getDurationTime(duration));
return responseBean; return responseBean;
} }
boolean passwordError = false; boolean passwordError = false;
//只开放几个测试账号密码验证走数据库,其他的通过首航接口去验证 //只开放几个测试账号密码验证走数据库,其他的通过首航接口去验证
// if((loginBean.getLoginName().equals("hwss1") || loginBean.getLoginName().equals("hwss2") || loginBean.getLoginName().equals("tianyz") || loginBean.getLoginName().equals("wangzl") || loginBean.getLoginName().equals("wtfk1") || loginBean.getLoginName().equals("test001") || loginBean.getLoginName().equals("test002"))){ if ("6".equals(userEntity.getUserType())) {
if("6".equals(userEntity.getUserType())){ if (!Util.validatePassword(loginBean.getPassword(), userEntity.getPassword())) {
if(!Util.validatePassword(loginBean.getPassword(), userEntity.getPassword())){
passwordError = true; passwordError = true;
} }
}else{ } else {
if (!userService.validateServerPassword(loginBean)){ if (!userService.validateServerPassword(loginBean)) {
passwordError = true; passwordError = true;
} }
} }
if (passwordError){ if (passwordError) {
responseBean.setStatus(ErrorCode.STATUS_CODE_4103); responseBean.setStatus(ErrorCode.STATUS_CODE_4103);
responseBean.setMessage("用户名密码不匹配!"); responseBean.setMessage("账户或密码错误");
//todo ip username +1
if (StringUtils.isEmpty(redisUsername)) {
redisUtils.set(loginBean.getLoginName(), 1, indexDb);
redisUtils.expire(loginBean.getLoginName(), 360, indexDb);
} else {
redisUtils.incrNotResetExpireTime(loginBean.getLoginName(), indexDb);
}
checkIpLimit(userIp);
long endTime = System.nanoTime(); long endTime = System.nanoTime();
long duration = endTime - startTime; long duration = endTime - startTime;
LOG.debug("[UserController login][STATUS_CODE_4103]总共用时:"+Util.getDurationTime(duration)); LOG.debug("[UserController login][STATUS_CODE_4103]总共用时:" + Util.getDurationTime(duration));
return responseBean; return responseBean;
} else { } else {
// 校验码登录 // 校验码登录
if(StringUtils.isNotBlank(loginBean.getVerifyCode())){ if (StringUtils.isNotBlank(loginBean.getVerifyCode())) {
MobileVerifyEntity entity = mobileVerifyService.getVerifyCode(loginBean.getLoginName(), loginBean.getVerifyCode()); MobileVerifyEntity entity = mobileVerifyService.getVerifyCode(loginBean.getLoginName(), loginBean.getVerifyCode());
// 校验码不存在 // 校验码不存在
if(entity == null){ if (entity == null) {
responseBean.setStatus(ErrorCode.STATUS_CODE_4104); responseBean.setStatus(ErrorCode.STATUS_CODE_4104);
responseBean.setMessage("校验码错误"); responseBean.setMessage("校验码错误");
//判断ip限制 //判断ip限制
checkIpLimit(redisUtils,userIp,indexDb,responseBean); checkIpLimit(userIp);
long endTime = System.nanoTime(); long endTime = System.nanoTime();
long duration = endTime - startTime; long duration = endTime - startTime;
LOG.debug("[UserController login][STATUS_CODE_4104]总共用时:"+Util.getDurationTime(duration)); LOG.debug("[UserController login][STATUS_CODE_4104]总共用时:" + Util.getDurationTime(duration));
return responseBean; return responseBean;
} else if(entity.getExpireTime().getTime()>System.currentTimeMillis()){// 校验码已经失效 // 校验码已经失效
RedisUtils.del(loginBean.getLoginName(),indexDb); } else if (entity.getExpireTime().getTime() > System.currentTimeMillis()) {
redisUtils.del(loginBean.getLoginName(), indexDb);
responseBean.setStatus(ErrorCode.STATUS_CODE_4105); responseBean.setStatus(ErrorCode.STATUS_CODE_4105);
responseBean.setMessage("校验码已失效"); responseBean.setMessage("校验码已失效");
//判断ip限制 //判断ip限制
checkIpLimit(redisUtils,userIp,indexDb,responseBean); checkIpLimit(userIp);
long endTime = System.nanoTime(); long endTime = System.nanoTime();
long duration = endTime - startTime; long duration = endTime - startTime;
LOG.debug("[UserController login][STATUS_CODE_4105]总共用时:"+Util.getDurationTime(duration)); LOG.debug("[UserController login][STATUS_CODE_4105]总共用时:" + Util.getDurationTime(duration));
return responseBean; return responseBean;
} }
mobileVerifyService.updateVerifyCodeStatus(loginBean.getLoginName(), loginBean.getVerifyCode(), 1);// 修改验证码使用状态 // 修改验证码使用状态
mobileVerifyService.updateVerifyCodeStatus(loginBean.getLoginName(), loginBean.getVerifyCode(), 1);
} }
String clientip = StringUtils.isEmpty(loginBean.getClientip()) ? Util.getOnlineIP(request) : loginBean.getClientip(); String clientip = StringUtils.isEmpty(loginBean.getClientip()) ? Util.getOnlineIP(request) : loginBean.getClientip();
// UserLoginInfoEntity loginInfo = new UserLoginInfoEntity(); //todo ip username 删除
// loginInfo.setUserId(userEntity.getId()); redisUtils.del(loginBean.getLoginName(), indexDb);
// loginInfo.setLoginDate(new Date()); redisUtils.del(userIp, indexDb);
// loginInfo.setLoginIp(clientip);
RedisUtils.del(loginBean.getLoginName(),indexDb);
UserLoginLogEntity deviceInfoEntity = new UserLoginLogEntity(); UserLoginLogEntity deviceInfoEntity = new UserLoginLogEntity();
deviceInfoEntity.setUserId(userEntity.getId()); deviceInfoEntity.setUserId(userEntity.getId());
deviceInfoEntity.setLoginDate(new Date()); deviceInfoEntity.setLoginDate(new Date());
deviceInfoEntity.setLoginIp(clientip); deviceInfoEntity.setLoginIp(clientip);
// deviceInfoEntity.setUserId(userEntity.getId());
deviceInfoEntity.setAppCode(loginBean.getAppCode()); deviceInfoEntity.setAppCode(loginBean.getAppCode());
deviceInfoEntity.setAppkey(loginBean.getAppkey()); deviceInfoEntity.setAppkey(loginBean.getAppkey());
deviceInfoEntity.setClientip(clientip); deviceInfoEntity.setClientip(clientip);
...@@ -266,102 +261,82 @@ public class UserController { ...@@ -266,102 +261,82 @@ public class UserController {
deviceInfoEntity.setPlatform(loginBean.getPlatform()); deviceInfoEntity.setPlatform(loginBean.getPlatform());
deviceInfoEntity.setVersion(loginBean.getVersionName()); deviceInfoEntity.setVersion(loginBean.getVersionName());
deviceInfoEntity.setDeviceName(loginBean.getDeviceName()); deviceInfoEntity.setDeviceName(loginBean.getDeviceName());
// 记录用户最新登录信息
userService.updateUserLoginInfo(deviceInfoEntity);// 记录用户最新登录信息 userService.updateUserLoginInfo(deviceInfoEntity);
userService.updateUserDeviceInfo(deviceInfoEntity);// 保存登录的设备信息,用于推送 // 保存登录的设备信息,用于推送
userService.addLoginLog(deviceInfoEntity);// 添加登录日志 userService.updateUserDeviceInfo(deviceInfoEntity);
// 添加登录日志
userService.addLoginLog(deviceInfoEntity);
SeatLoginBean seatloginBean = new SeatLoginBean(); SeatLoginBean seatloginBean = new SeatLoginBean();
seatloginBean.setUserId(userEntity.getId()); seatloginBean.setUserId(userEntity.getId());
userService.updateUserSeatLoginEmpty(seatloginBean);// 先退出之前的席位登录状态 // 先退出之前的席位登录状态
userService.updateUserSeatLoginEmpty(seatloginBean);
List<String> seatIds = new ArrayList<>(); List<String> seatIds = new ArrayList<>();
List<UserSeatEntity> userSeatList = userService.getUserSeatByUserCode(userEntity); List<UserSeatEntity> userSeatList = userService.getUserSeatByUserCode(userEntity);
if(userSeatList != null && userSeatList.size()>0){// 用户拥有席位信息 // 用户拥有席位信息
for (int i = 0; i < userSeatList.size(); i ++) { if (userSeatList != null && userSeatList.size() > 0) {
for (int i = 0; i < userSeatList.size(); i++) {
UserSeatEntity seat = userSeatList.get(i); UserSeatEntity seat = userSeatList.get(i);
seatIds.add(seat.getSeatId()); seatIds.add(seat.getSeatId());
if(StringUtils.isEmpty(seat.getPhoto())){ if (StringUtils.isEmpty(seat.getPhoto())) {
// 设置默认头像
seat.setPhoto(GConstants.DEFAULT_SEAT_PHOTO);// 设置默认头像 seat.setPhoto(GConstants.DEFAULT_SEAT_PHOTO);
} }
seat.setPhoto(Util.getAbsoluteUrl(seat.getPhoto())); seat.setPhoto(Util.getAbsoluteUrl(seat.getPhoto()));
seat.setHuaweiUCAccount(Util.getUcAccount(seat.getSeatId())); seat.setHuaweiUCAccount(Util.getUcAccount(seat.getSeatId()));
seat.setHuaweiUCPassword(seat.getSeatId().length() > 1 ? seat.getSeatId().substring(0,2) + "@foc2016" : String.format("%02d", seat.getSeatId()) + "@foc2016"); seat.setHuaweiUCPassword(seat.getSeatId().length() > 1 ? seat.getSeatId().substring(0, 2) + "@foc2016" : String.format("%02d", seat.getSeatId()) + "@foc2016");
} }
long queryStartTime = System.nanoTime();
// List<UserState> seatStates = huaweiInterfaseService.queryUserStateList(seatIds);
// long queryEndTime = System.nanoTime();
// long duration = queryEndTime - queryStartTime;
// LOG.debug("[UserService login][queryUserStateList]总共用时:" + Util.getDurationTime(duration));
// if (seatStates != null && seatStates.size()>0) {
// for (UserSeatEntity entityTmp : userSeatList) {
// for (UserState stateTmp : seatStates) {
// if (entityTmp.getSeatId().equals(stateTmp.getOrigin())) {
// entityTmp.setCurState(String.valueOf(stateTmp.getNewState()));
// break;
// }
// }
// if(Util.isInValue(entityTmp.getCurState(), "1", "3", "4") == false){// 用户不在线
//
// entityTmp.setPhoto(Util.getAbsoluteUrl(GConstants.DEFAULT_SEAT_PHOTO));
// }
// }
// }
userEntity.setUserSeatList(userSeatList); userEntity.setUserSeatList(userSeatList);
} }
// String officeFullName = officedService.findFullName("b67a017f66a24a3986a9ebd00714b17c"); // 设置用户头像
// if(StringUtils.isNotBlank(userEntity.getOfficeId())){// 设置用户部门全程 userEntity.setPhoto(Util.getAbsoluteUrl(userEntity.getPhoto()));
// String officeFullName = officedService.findFullName(userEntity.getOfficeId()); // 该用户用于华为账号
// if(officeFullName != null){ if (userEntity.getHuaweiStatus() == 1 &&
// String[] species = officeFullName.split("-"); StringUtils.isNotBlank(userEntity.getHuaweiNum())) {
// if(species.length>0){
// userEntity.setOfficeName(species[species.length - 1]);
// }
// userEntity.setOfficeFullName(officeFullName);
// }
// }
userEntity.setPhoto(Util.getAbsoluteUrl(userEntity.getPhoto()));// 设置用户头像
if(userEntity.getHuaweiStatus() == 1 &&
StringUtils.isNotBlank(userEntity.getHuaweiNum())){// 该用户用于华为账号
userEntity.setHuaweiUCAccount(Util.getUcAccount(userEntity.getId())); userEntity.setHuaweiUCAccount(Util.getUcAccount(userEntity.getId()));
userEntity.setHuaweiUCPassword(userEntity.getId().length() > 1 ? userEntity.getId().substring(0,2) + "@foc2016" : String.format("%02d", userEntity.getId()) + "@foc2016"); userEntity.setHuaweiUCPassword(userEntity.getId().length() > 1 ? userEntity.getId().substring(0, 2) + "@foc2016" : String.format("%02d", userEntity.getId()) + "@foc2016");
} else{ } else {
userEntity.setHuaweiStatus(0); userEntity.setHuaweiStatus(0);
} }
List<JSONObject> permissionList =new ArrayList<JSONObject>(); List<JSONObject> permissionList = new ArrayList<JSONObject>();
if("FOCJZZD".equals(loginBean.getPermission())){// 机组转单权限设置,树形格式 // 机组转单权限设置,树形格式
if ("FOCJZZD".equals(loginBean.getPermission())) {
permissionList = userRolesService.getList(userEntity.getId(),loginBean.getPermission());// 获取用户权限列表信息
} else{// 一期权限格式,MAP格式 permissionList = userRolesService.getList(userEntity.getId(), loginBean.getPermission());// 获取用户权限列表信息
} else {
// 一期权限格式,MAP格式
List<UserRolesEntity> permiss = userRolesService.getUserPermissionList(userEntity.getId()); List<UserRolesEntity> permiss = userRolesService.getUserPermissionList(userEntity.getId());
for(UserRolesEntity role:permiss){ for (UserRolesEntity role : permiss) {
JSONObject json=new JSONObject(); JSONObject json = new JSONObject();
json.put("permission", role.getPermission()); json.put("permission", role.getPermission());
json.put("menuName", role.getMenuName()); json.put("menuName", role.getMenuName());
permissionList.add(json); permissionList.add(json);
} }
} }
userEntity.setPermissionList(permissionList); userEntity.setPermissionList(permissionList);
UserRolesBean bean =new UserRolesBean(); UserRolesBean bean = new UserRolesBean();
bean.setUserCode(userEntity.getId()); bean.setUserCode(userEntity.getId());
userEntity.setVerify("0");// 默认有航线论证权限(0表示有航线论证权限,1是没有) // 默认有航线论证权限(0表示有航线论证权限,1是没有)
List<InformationEntity> informationEntity= userRolesService.getInformation( bean); userEntity.setVerify("0");
if(informationEntity==null || informationEntity.size()==0){// 获取航线论证的部门信息 List<InformationEntity> informationEntity = userRolesService.getInformation(bean);
// 获取航线论证的部门信息
userEntity.setVerify("1");// 无航向论证权限 if (informationEntity == null || informationEntity.size() == 0) {
// 无航向论证权限
userEntity.setVerify("1");
} }
userEntity.setShowPhone(userEntity.getPhone()); userEntity.setShowPhone(userEntity.getPhone());
userEntity.setPhone(Util.formatedWorkPhone(userEntity.getPhone())); userEntity.setPhone(Util.formatedWorkPhone(userEntity.getPhone()));
responseBean.setData(userEntity); responseBean.setData(userEntity);
responseBean.setMessage(GConstants.OK); responseBean.setMessage(GConstants.OK);
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
long endTime = System.nanoTime(); long endTime = System.nanoTime();
long duration = endTime - startTime; long duration = endTime - startTime;
LOG.debug("[UserController login][STATUS_CODE_2000]总共用时:"+Util.getDurationTime(duration)); LOG.debug("[UserController login][STATUS_CODE_2000]总共用时:" + Util.getDurationTime(duration));
return responseBean; return responseBean;
} }
} }
...@@ -369,19 +344,20 @@ public class UserController { ...@@ -369,19 +344,20 @@ public class UserController {
responseBean.setMessage(message); responseBean.setMessage(message);
return responseBean; return responseBean;
} }
public boolean sendVerifyCode(String telephone, String verifyCode) { public boolean sendVerifyCode(String telephone, String verifyCode) {
try { try {
HCFetcher fetcher = HCFetcher.getInstance(); HCFetcher fetcher = HCFetcher.getInstance();
String message = "[首都航空]您的验证码为"+verifyCode+"[foc智能管控系统]"; String message = "[首都航空]您的验证码为" + verifyCode + "[foc智能管控系统]";
// message = URLDecoder.decode(message, "UTF-8"); // message = URLDecoder.decode(message, "UTF-8");
FetchEntity entity = fetcher.post(GConstants.JDAIR_BASE_API+"/flightinterface/uss/json/mobile/messSend.json?"+GConstants.JDAIR_BASE_PARAM+"&mobile="+telephone+"&msg="+URLDecoder.decode(message, "UTF-8"), null); FetchEntity entity = fetcher.post(GConstants.JDAIR_BASE_API + "/flightinterface/uss/json/mobile/messSend.json?" + GConstants.JDAIR_BASE_PARAM + "&mobile=" + telephone + "&msg=" + URLDecoder.decode(message, "UTF-8"), null);
if(entity.isSuccess()){ if (entity.isSuccess()) {
String resultStr = entity.getContent("utf-8"); String resultStr = entity.getContent("utf-8");
if (resultStr != null) {// 成功获取数据 if (resultStr != null) {// 成功获取数据
JSONObject result = JSON.parseObject(resultStr);// 解析JSON数据 JSONObject result = JSON.parseObject(resultStr);// 解析JSON数据
String resultCode = result.getJSONObject("result").getString("resultCode"); String resultCode = result.getJSONObject("result").getString("resultCode");
if ("1000".equals(resultCode)) {// 判断 调用接口是否成功 if ("1000".equals(resultCode)) {// 判断 调用接口是否成功
return true; return true;
} }
} }
...@@ -391,10 +367,10 @@ public class UserController { ...@@ -391,10 +367,10 @@ public class UserController {
} }
return false; return false;
} }
/** /**
* 获取验证码 * 获取验证码
* *
* @param request * @param request
* @param requestBean * @param requestBean
* @return * @return
...@@ -411,20 +387,20 @@ public class UserController { ...@@ -411,20 +387,20 @@ public class UserController {
// 生成4位验证码 // 生成4位验证码
StringBuffer buf = new StringBuffer(); StringBuffer buf = new StringBuffer();
for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) {
buf.append(String.valueOf(Util.getRandom(0, 9))); buf.append(String.valueOf(Util.getRandom(0, 9)));
} }
// buf.setLength(0); // buf.setLength(0);
// buf.append("1234");// 测试的时候使用 // buf.append("1234");// 测试的时候使用
if(this.sendVerifyCode(codeBean.getTelephone(), buf.toString())){// 成功发送添加校验码 if (this.sendVerifyCode(codeBean.getTelephone(), buf.toString())) {// 成功发送添加校验码
String clientip = StringUtils.isEmpty(codeBean.getClientip()) ? Util.getOnlineIP(request) : codeBean.getClientip(); String clientip = StringUtils.isEmpty(codeBean.getClientip()) ? Util.getOnlineIP(request) : codeBean.getClientip();
MobileVerifyEntity entity = new MobileVerifyEntity(); MobileVerifyEntity entity = new MobileVerifyEntity();
entity.setAppCode(codeBean.getAppCode()); entity.setAppCode(codeBean.getAppCode());
entity.setCreateTime(new Date()); entity.setCreateTime(new Date());
entity.setExpireTime(new Date(entity.getCreateTime().getTime()+30*60*1000)); entity.setExpireTime(new Date(entity.getCreateTime().getTime() + 30 * 60 * 1000));
entity.setId(IdWorker.getNextId()); entity.setId(IdWorker.getNextId());
entity.setPlatform(codeBean.getPlatform()); entity.setPlatform(codeBean.getPlatform());
entity.setStatus(0); entity.setStatus(0);
...@@ -432,9 +408,9 @@ public class UserController { ...@@ -432,9 +408,9 @@ public class UserController {
entity.setVerifyCode(buf.toString()); entity.setVerifyCode(buf.toString());
entity.setVersion(codeBean.getVersionName()); entity.setVersion(codeBean.getVersionName());
entity.setClientip(clientip); entity.setClientip(clientip);
mobileVerifyService.addVerifyCode(entity); mobileVerifyService.addVerifyCode(entity);
responseBean.setMessage(GConstants.OK); responseBean.setMessage(GConstants.OK);
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
return responseBean; return responseBean;
...@@ -448,7 +424,7 @@ public class UserController { ...@@ -448,7 +424,7 @@ public class UserController {
/** /**
* 席位登录 更新 * 席位登录 更新
* *
* @param request * @param request
* @param requestBean * @param requestBean
* @return * @return
...@@ -461,7 +437,7 @@ public class UserController { ...@@ -461,7 +437,7 @@ public class UserController {
SeatLoginBean seatloginBean = requestBean.getObjectBean(SeatLoginBean.class); SeatLoginBean seatloginBean = requestBean.getObjectBean(SeatLoginBean.class);
message = userService.validate(seatloginBean); message = userService.validate(seatloginBean);
if (message == null) { if (message == null) {
// 一下代码只能在一端,席位还处于WEB端登录状态,不允许在APP上登录 // 一下代码只能在一端,席位还处于WEB端登录状态,不允许在APP上登录
/* /*
List<String> seatIds = new ArrayList<String>(); List<String> seatIds = new ArrayList<String>();
...@@ -539,11 +515,11 @@ public class UserController { ...@@ -539,11 +515,11 @@ public class UserController {
deviceInfoEntity.setPlatform(seatloginBean.getPlatform()); deviceInfoEntity.setPlatform(seatloginBean.getPlatform());
deviceInfoEntity.setVersion(seatloginBean.getVersionName()); deviceInfoEntity.setVersion(seatloginBean.getVersionName());
deviceInfoEntity.setDeviceName(seatloginBean.getDeviceName()); deviceInfoEntity.setDeviceName(seatloginBean.getDeviceName());
// userService.updateUserLoginInfo(deviceInfoEntity);// 记录用户最新登录信息 // userService.updateUserLoginInfo(deviceInfoEntity);// 记录用户最新登录信息
// userService.updateUserDeviceInfo(deviceInfoEntity);// 保存登录的设备信息,用于推送 // userService.updateUserDeviceInfo(deviceInfoEntity);// 保存登录的设备信息,用于推送
userService.addLoginLog(deviceInfoEntity);// 添加登录日志 userService.addLoginLog(deviceInfoEntity);// 添加登录日志
// 更新登录数据,记录席位的最后登录用户ID // 更新登录数据,记录席位的最后登录用户ID
boolean isSuccess = userService.updateUserSeat(seatloginBean); boolean isSuccess = userService.updateUserSeat(seatloginBean);
if (isSuccess) { if (isSuccess) {
...@@ -558,13 +534,14 @@ public class UserController { ...@@ -558,13 +534,14 @@ public class UserController {
responseBean.setMessage(message); responseBean.setMessage(message);
return responseBean; return responseBean;
} }
/** /**
* 修改用户头像 * 修改用户头像
* *
* @author renmb
* @time 2016年9月7日
* @param requestBean * @param requestBean
* @return * @return
* @author renmb
* @time 2016年9月7日
*/ */
@ResponseBody @ResponseBody
@RequestMapping("/edit/photo") @RequestMapping("/edit/photo")
...@@ -586,6 +563,7 @@ public class UserController { ...@@ -586,6 +563,7 @@ public class UserController {
responseBean.setMessage(message); responseBean.setMessage(message);
return responseBean; return responseBean;
} }
@ResponseBody @ResponseBody
@RequestMapping("/logout") @RequestMapping("/logout")
public ResponseBean logout(HttpServletRequest request, RequestBean requestBean) { public ResponseBean logout(HttpServletRequest request, RequestBean requestBean) {
...@@ -594,8 +572,8 @@ public class UserController { ...@@ -594,8 +572,8 @@ public class UserController {
UserLogoutBean bean = requestBean.getObjectBean(UserLogoutBean.class); UserLogoutBean bean = requestBean.getObjectBean(UserLogoutBean.class);
message = userService.validate(bean); message = userService.validate(bean);
if (message == null) { if (message == null) {
if(StringUtils.isNotBlank(bean.getSeatId())){ if (StringUtils.isNotBlank(bean.getSeatId())) {
SeatLoginBean seatLoginBean = new SeatLoginBean(); SeatLoginBean seatLoginBean = new SeatLoginBean();
seatLoginBean.setUserId(bean.getUserId()); seatLoginBean.setUserId(bean.getUserId());
...@@ -614,8 +592,8 @@ public class UserController { ...@@ -614,8 +592,8 @@ public class UserController {
userEntity.setUsercode(bean.getUserId()); userEntity.setUsercode(bean.getUserId());
User user = userService.getUserByUserCode(userEntity); User user = userService.getUserByUserCode(userEntity);
if(StringUtils.isNotEmpty(user.getMobile()) && StringUtils.isNotEmpty(seatMobileBean.getSeatMobile())){ if (StringUtils.isNotEmpty(user.getMobile()) && StringUtils.isNotEmpty(seatMobileBean.getSeatMobile())) {
if(!user.getMobile().equals(seatMobileBean.getSeatMobile())){ if (!user.getMobile().equals(seatMobileBean.getSeatMobile())) {
seatMobileBean.setSeatMobile(user.getMobile()); seatMobileBean.setSeatMobile(user.getMobile());
seatMobileBean.setSeatMobileNumber(Util.formatedMobile(user.getMobile())); seatMobileBean.setSeatMobileNumber(Util.formatedMobile(user.getMobile()));
userService.updateUserSeatMobile(seatMobileBean); userService.updateUserSeatMobile(seatMobileBean);
...@@ -641,9 +619,9 @@ public class UserController { ...@@ -641,9 +619,9 @@ public class UserController {
// userService.updateUserLoginInfo(deviceInfoEntity);// 记录用户最新登录信息 // userService.updateUserLoginInfo(deviceInfoEntity);// 记录用户最新登录信息
// userService.updateUserDeviceInfo(deviceInfoEntity);// 保存登录的设备信息,用于推送 // userService.updateUserDeviceInfo(deviceInfoEntity);// 保存登录的设备信息,用于推送
userService.addLoginLog(logoutDeviceInfoEntity);// 添加登录日志 userService.addLoginLog(logoutDeviceInfoEntity);// 添加登录日志
// 退出后清空用户的设备信息 // 退出后清空用户的设备信息
if(GConstants.getBoolean("is.clean.on.logout", false)){ if (GConstants.getBoolean("is.clean.on.logout", false)) {
// String clientip = Util.getOnlineIP(request); // String clientip = Util.getOnlineIP(request);
// String clientip = StringUtils.isEmpty(bean.getClientip()) ? Util.getOnlineIP(request) : bean.getClientip(); // String clientip = StringUtils.isEmpty(bean.getClientip()) ? Util.getOnlineIP(request) : bean.getClientip();
UserLoginLogEntity deviceInfoEntity = new UserLoginLogEntity(); UserLoginLogEntity deviceInfoEntity = new UserLoginLogEntity();
...@@ -654,7 +632,7 @@ public class UserController { ...@@ -654,7 +632,7 @@ public class UserController {
deviceInfoEntity.setDeviceToken(""); deviceInfoEntity.setDeviceToken("");
deviceInfoEntity.setPlatform(""); deviceInfoEntity.setPlatform("");
deviceInfoEntity.setVersion(""); deviceInfoEntity.setVersion("");
userService.updateUserDeviceInfo(deviceInfoEntity);// 保存登录的设备信息,用于推送 userService.updateUserDeviceInfo(deviceInfoEntity);// 保存登录的设备信息,用于推送
} }
responseBean.setMessage(GConstants.OK); responseBean.setMessage(GConstants.OK);
...@@ -718,14 +696,15 @@ public class UserController { ...@@ -718,14 +696,15 @@ public class UserController {
responseBean.setMessage(message); responseBean.setMessage(message);
return responseBean; return responseBean;
} }
/** /**
* 获取用户最新信息 * 获取用户最新信息
* *
* @author renmb
* @time 2016年12月11日
* @param request * @param request
* @param requestBean * @param requestBean
* @return * @return
* @author renmb
* @time 2016年12月11日
*/ */
@ResponseBody @ResponseBody
@RequestMapping("/refresh") @RequestMapping("/refresh")
...@@ -735,15 +714,15 @@ public class UserController { ...@@ -735,15 +714,15 @@ public class UserController {
UserRefreshBean loginBean = requestBean.getObjectBean(UserRefreshBean.class); UserRefreshBean loginBean = requestBean.getObjectBean(UserRefreshBean.class);
message = userService.validate(loginBean); message = userService.validate(loginBean);
if (message == null) { if (message == null) {
LoginUserEntity userEntity = userService.findUserById(loginBean.getUserId()); LoginUserEntity userEntity = userService.findUserById(loginBean.getUserId());
if(userEntity == null){// 查询不到用户信息 if (userEntity == null) {// 查询不到用户信息
responseBean.setStatus(ErrorCode.STATUS_CODE_4102); responseBean.setStatus(ErrorCode.STATUS_CODE_4102);
responseBean.setMessage("用户不存在"); responseBean.setMessage("用户不存在");
return responseBean; return responseBean;
} else if (GConstants.NO.equals(userEntity.getLoginFlag())) {// 用户被查封 } else if (GConstants.NO.equals(userEntity.getLoginFlag())) {// 用户被查封
responseBean.setStatus(ErrorCode.STATUS_CODE_4101); responseBean.setStatus(ErrorCode.STATUS_CODE_4101);
responseBean.setMessage("该已帐号禁止登录"); responseBean.setMessage("该已帐号禁止登录");
return responseBean; return responseBean;
...@@ -762,7 +741,7 @@ public class UserController { ...@@ -762,7 +741,7 @@ public class UserController {
// deviceInfoEntity.setDeviceToken(loginBean.getDeviceToken()); // deviceInfoEntity.setDeviceToken(loginBean.getDeviceToken());
// deviceInfoEntity.setPlatform(loginBean.getPlatform()); // deviceInfoEntity.setPlatform(loginBean.getPlatform());
// deviceInfoEntity.setVersion(loginBean.getVersionName()); // deviceInfoEntity.setVersion(loginBean.getVersionName());
UserLoginLogEntity deviceInfoEntity = new UserLoginLogEntity(); UserLoginLogEntity deviceInfoEntity = new UserLoginLogEntity();
deviceInfoEntity.setUserId(userEntity.getId()); deviceInfoEntity.setUserId(userEntity.getId());
deviceInfoEntity.setLoginDate(new Date()); deviceInfoEntity.setLoginDate(new Date());
...@@ -775,28 +754,28 @@ public class UserController { ...@@ -775,28 +754,28 @@ public class UserController {
deviceInfoEntity.setPlatform(loginBean.getPlatform()); deviceInfoEntity.setPlatform(loginBean.getPlatform());
deviceInfoEntity.setVersion(loginBean.getVersionName()); deviceInfoEntity.setVersion(loginBean.getVersionName());
deviceInfoEntity.setDeviceName(loginBean.getDeviceName()); deviceInfoEntity.setDeviceName(loginBean.getDeviceName());
userService.updateUserDeviceInfo(deviceInfoEntity);// 保存登录的设备信息,用于推送 userService.updateUserDeviceInfo(deviceInfoEntity);// 保存登录的设备信息,用于推送
boolean hashSeat = false; boolean hashSeat = false;
List<String> seatIds = new ArrayList<>(); List<String> seatIds = new ArrayList<>();
List<UserSeatEntity> userSeatList = userService.getUserSeatByUserCode(userEntity); List<UserSeatEntity> userSeatList = userService.getUserSeatByUserCode(userEntity);
if(userSeatList != null && userSeatList.size()>0){// 用户拥有席位信息 if (userSeatList != null && userSeatList.size() > 0) {// 用户拥有席位信息
for (int i = 0; i < userSeatList.size(); i ++) { for (int i = 0; i < userSeatList.size(); i++) {
UserSeatEntity seat = userSeatList.get(i); UserSeatEntity seat = userSeatList.get(i);
if(!hashSeat && seat.getSeatId().equals(loginBean.getSeatId())){ if (!hashSeat && seat.getSeatId().equals(loginBean.getSeatId())) {
hashSeat = true; hashSeat = true;
} }
seatIds.add(seat.getSeatId()); seatIds.add(seat.getSeatId());
if(StringUtils.isEmpty(seat.getPhoto())){ if (StringUtils.isEmpty(seat.getPhoto())) {
seat.setPhoto(GConstants.DEFAULT_SEAT_PHOTO);// 设置默认头像 seat.setPhoto(GConstants.DEFAULT_SEAT_PHOTO);// 设置默认头像
} }
seat.setPhoto(Util.getAbsoluteUrl(seat.getPhoto())); seat.setPhoto(Util.getAbsoluteUrl(seat.getPhoto()));
seat.setHuaweiUCAccount(Util.getUcAccount(seat.getSeatId())); seat.setHuaweiUCAccount(Util.getUcAccount(seat.getSeatId()));
seat.setHuaweiUCPassword(seat.getSeatId().length() > 1 ? seat.getSeatId().substring(0,2) + "@foc2016" : String.format("%02d", seat.getSeatId()) + "@foc2016"); seat.setHuaweiUCPassword(seat.getSeatId().length() > 1 ? seat.getSeatId().substring(0, 2) + "@foc2016" : String.format("%02d", seat.getSeatId()) + "@foc2016");
} }
// List<UserState> seatStates = huaweiInterfaseService.queryUserStateList(seatIds); // List<UserState> seatStates = huaweiInterfaseService.queryUserStateList(seatIds);
// if (seatStates != null && seatStates.size()>0) { // if (seatStates != null && seatStates.size()>0) {
...@@ -815,13 +794,13 @@ public class UserController { ...@@ -815,13 +794,13 @@ public class UserController {
// } // }
userEntity.setUserSeatList(userSeatList); userEntity.setUserSeatList(userSeatList);
} }
if("SEAT".equals(loginBean.getLoginChannel())){// 当前用户是席位登录 if ("SEAT".equals(loginBean.getLoginChannel())) {// 当前用户是席位登录
if(hashSeat){// 有席位信息 if (hashSeat) {// 有席位信息
SeatLoginBean seatLoginBean = new SeatLoginBean(); SeatLoginBean seatLoginBean = new SeatLoginBean();
seatLoginBean.setUserId(loginBean.getUserId()); seatLoginBean.setUserId(loginBean.getUserId());
seatLoginBean.setSeatId(loginBean.getSeatId()); seatLoginBean.setSeatId(loginBean.getSeatId());
userService.updateUserSeat(seatLoginBean); userService.updateUserSeat(seatLoginBean);
} else {// 席位已经被删除或者禁止登陆 } else {// 席位已经被删除或者禁止登陆
responseBean.setStatus(ErrorCode.STATUS_CODE_4301); responseBean.setStatus(ErrorCode.STATUS_CODE_4301);
...@@ -829,37 +808,37 @@ public class UserController { ...@@ -829,37 +808,37 @@ public class UserController {
return responseBean; return responseBean;
} }
} }
userEntity.setPhoto(Util.getAbsoluteUrl(userEntity.getPhoto()));// 设置用户头像 userEntity.setPhoto(Util.getAbsoluteUrl(userEntity.getPhoto()));// 设置用户头像
if(userEntity.getHuaweiStatus() == 1 && if (userEntity.getHuaweiStatus() == 1 &&
StringUtils.isNotBlank(userEntity.getHuaweiNum())){// 该用户用于华为账号 StringUtils.isNotBlank(userEntity.getHuaweiNum())) {// 该用户用于华为账号
userEntity.setHuaweiUCAccount(Util.getUcAccount(userEntity.getId())); userEntity.setHuaweiUCAccount(Util.getUcAccount(userEntity.getId()));
userEntity.setHuaweiUCPassword(userEntity.getId().length() > 1 ? userEntity.getId().substring(0,2) + "@foc2016" : String.format("%02d", userEntity.getId()) + "@foc2016"); userEntity.setHuaweiUCPassword(userEntity.getId().length() > 1 ? userEntity.getId().substring(0, 2) + "@foc2016" : String.format("%02d", userEntity.getId()) + "@foc2016");
} else{ } else {
userEntity.setHuaweiStatus(0); userEntity.setHuaweiStatus(0);
} }
List<JSONObject> permissionList =new ArrayList<JSONObject>(); List<JSONObject> permissionList = new ArrayList<JSONObject>();
if("FOCJZZD".equals(loginBean.getPermission())){// 机组转单权限设置,树形格式 if ("FOCJZZD".equals(loginBean.getPermission())) {// 机组转单权限设置,树形格式
permissionList = userRolesService.getList(userEntity.getId(), loginBean.getPermission());// 获取用户权限列表信息 permissionList = userRolesService.getList(userEntity.getId(), loginBean.getPermission());// 获取用户权限列表信息
} else{// 一期权限格式,MAP格式 } else {// 一期权限格式,MAP格式
List<UserRolesEntity> permiss = userRolesService.getUserPermissionList(userEntity.getId()); List<UserRolesEntity> permiss = userRolesService.getUserPermissionList(userEntity.getId());
for(UserRolesEntity role:permiss){ for (UserRolesEntity role : permiss) {
JSONObject json=new JSONObject(); JSONObject json = new JSONObject();
json.put("permission", role.getPermission()); json.put("permission", role.getPermission());
json.put("menuName", role.getMenuName()); json.put("menuName", role.getMenuName());
permissionList.add(json); permissionList.add(json);
} }
} }
userEntity.setPermissionList(permissionList); userEntity.setPermissionList(permissionList);
UserRolesBean bean =new UserRolesBean(); UserRolesBean bean = new UserRolesBean();
bean.setUserCode(userEntity.getId()); bean.setUserCode(userEntity.getId());
userEntity.setVerify("0");// 默认有航线论证权限(0表示有航线论证权限,1是没有) userEntity.setVerify("0");// 默认有航线论证权限(0表示有航线论证权限,1是没有)
List<InformationEntity> informationEntity= userRolesService.getInformation( bean); List<InformationEntity> informationEntity = userRolesService.getInformation(bean);
if(informationEntity==null || informationEntity.size()==0){// 获取航线论证的部门信息 if (informationEntity == null || informationEntity.size() == 0) {// 获取航线论证的部门信息
userEntity.setVerify("1");// 无航向论证权限 userEntity.setVerify("1");// 无航向论证权限
} }
userEntity.setShowPhone(userEntity.getPhone()); userEntity.setShowPhone(userEntity.getPhone());
...@@ -873,14 +852,15 @@ public class UserController { ...@@ -873,14 +852,15 @@ public class UserController {
responseBean.setMessage(message); responseBean.setMessage(message);
return responseBean; return responseBean;
} }
/** /**
* 新版本登录测试(仅限于测试使用不用于生成使用) * 新版本登录测试(仅限于测试使用不用于生成使用)
* *
* @author renmb
* @time 2017年1月6日
* @param request * @param request
* @param requestBean * @param requestBean
* @return * @return
* @author renmb
* @time 2017年1月6日
*/ */
@ResponseBody @ResponseBody
@RequestMapping("/newLogin") @RequestMapping("/newLogin")
...@@ -891,17 +871,17 @@ public class UserController { ...@@ -891,17 +871,17 @@ public class UserController {
LoginBean loginBean = requestBean.getObjectBean(LoginBean.class); LoginBean loginBean = requestBean.getObjectBean(LoginBean.class);
message = userService.validate(loginBean); message = userService.validate(loginBean);
if (message == null) { if (message == null) {
boolean status = HTTPClientUtil.callLogin(loginBean.getLoginName(), loginBean.getPassword()); boolean status = HTTPClientUtil.callLogin(loginBean.getLoginName(), loginBean.getPassword());
if(status){ if (status) {
LoginUserEntity userEntity = userService.findUserByLoginName(loginBean); LoginUserEntity userEntity = userService.findUserByLoginName(loginBean);
responseBean.setData(userEntity); responseBean.setData(userEntity);
responseBean.setMessage(GConstants.OK); responseBean.setMessage(GConstants.OK);
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
return responseBean; return responseBean;
} else{ } else {
responseBean.setData(status); responseBean.setData(status);
responseBean.setMessage("登录失败"); responseBean.setMessage("登录失败");
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
...@@ -912,14 +892,15 @@ public class UserController { ...@@ -912,14 +892,15 @@ public class UserController {
responseBean.setMessage(message); responseBean.setMessage(message);
return responseBean; return responseBean;
} }
/** /**
* 验证海航员工密码接口 * 验证海航员工密码接口
* *
* @author renmb
* @time 2017年1月6日
* @param request * @param request
* @param requestBean * @param requestBean
* @return * @return
* @author renmb
* @time 2017年1月6日
*/ */
@ResponseBody @ResponseBody
@RequestMapping("/haihangLogin") @RequestMapping("/haihangLogin")
...@@ -930,17 +911,17 @@ public class UserController { ...@@ -930,17 +911,17 @@ public class UserController {
LoginBean loginBean = requestBean.getObjectBean(LoginBean.class); LoginBean loginBean = requestBean.getObjectBean(LoginBean.class);
message = userService.validate(loginBean); message = userService.validate(loginBean);
if (message == null) { if (message == null) {
boolean status = userService.validateServerPassword(loginBean); boolean status = userService.validateServerPassword(loginBean);
if(status){ if (status) {
LoginUserEntity userEntity = userService.findUserByLoginName(loginBean); LoginUserEntity userEntity = userService.findUserByLoginName(loginBean);
responseBean.setData(userEntity); responseBean.setData(userEntity);
responseBean.setMessage(GConstants.OK); responseBean.setMessage(GConstants.OK);
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
return responseBean; return responseBean;
} else{ } else {
responseBean.setData(status); responseBean.setData(status);
responseBean.setMessage("登录失败"); responseBean.setMessage("登录失败");
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
...@@ -951,14 +932,15 @@ public class UserController { ...@@ -951,14 +932,15 @@ public class UserController {
responseBean.setMessage(message); responseBean.setMessage(message);
return responseBean; return responseBean;
} }
/** /**
* 修改用户的席位电话 * 修改用户的席位电话
* *
* @author renmb
* @time 2017年1月18日
* @param request * @param request
* @param requestBean * @param requestBean
* @return * @return
* @author renmb
* @time 2017年1月18日
*/ */
@ResponseBody @ResponseBody
@RequestMapping("/edit/seat/mobile") @RequestMapping("/edit/seat/mobile")
...@@ -971,13 +953,13 @@ public class UserController { ...@@ -971,13 +953,13 @@ public class UserController {
if (message == null) { if (message == null) {
String seatMobilePhone = ""; String seatMobilePhone = "";
//修改允许席位手机号为空,如果为空,则修改席位手机号为用户手机号 //修改允许席位手机号为空,如果为空,则修改席位手机号为用户手机号
if(StringUtils.isEmpty(loginBean.getSeatMobile())){ if (StringUtils.isEmpty(loginBean.getSeatMobile())) {
UserEntity userEntity = new UserEntity(); UserEntity userEntity = new UserEntity();
userEntity.setUsercode(loginBean.getUserId()); userEntity.setUsercode(loginBean.getUserId());
User user = userService.getUserByUserCode(userEntity); User user = userService.getUserByUserCode(userEntity);
seatMobilePhone = user.getMobile(); seatMobilePhone = user.getMobile();
} }
if(StringUtils.isNotEmpty(seatMobilePhone)){ if (StringUtils.isNotEmpty(seatMobilePhone)) {
loginBean.setSeatMobile(seatMobilePhone); loginBean.setSeatMobile(seatMobilePhone);
loginBean.setSeatMobileNumber(Util.formatedMobile(seatMobilePhone)); loginBean.setSeatMobileNumber(Util.formatedMobile(seatMobilePhone));
userService.updateUserSeatMobile(loginBean); userService.updateUserSeatMobile(loginBean);
...@@ -992,46 +974,46 @@ public class UserController { ...@@ -992,46 +974,46 @@ public class UserController {
responseBean.setMessage(message); responseBean.setMessage(message);
return responseBean; return responseBean;
} }
/** /**
* 更新外部联系人手机号、座机号 * 更新外部联系人手机号、座机号
* *
* @author zhanglg
* @time 2017年2月22日
* @param requestBean * @param requestBean
* @return * @return
* @author zhanglg
* @time 2017年2月22日
*/ */
@ResponseBody @ResponseBody
@RequestMapping(value = "/edit/outerUser") @RequestMapping(value = "/edit/outerUser")
public ResponseBean updateOuterUser(RequestBean requestBean){ public ResponseBean updateOuterUser(RequestBean requestBean) {
ResponseBean responseBean = new ResponseBean(); ResponseBean responseBean = new ResponseBean();
OuterUserBean bean = requestBean.getObjectBean(OuterUserBean.class); OuterUserBean bean = requestBean.getObjectBean(OuterUserBean.class);
String message = userService.validate(bean); String message = userService.validate(bean);
if(message == null){// 校验通过 if (message == null) {// 校验通过
LoginUserEntity entity = userService.findUserById(bean.getUserCode()); LoginUserEntity entity = userService.findUserById(bean.getUserCode());
if(entity==null){ if (entity == null) {
responseBean.setMessage("用户不存在"); responseBean.setMessage("用户不存在");
responseBean.setStatus(ErrorCode.STATUS_CODE_4001); responseBean.setStatus(ErrorCode.STATUS_CODE_4001);
return responseBean; return responseBean;
}else{ } else {
if(!"3".equals(entity.getUserType())){ if (!"3".equals(entity.getUserType())) {
responseBean.setMessage("非外部用不允许修改"); responseBean.setMessage("非外部用不允许修改");
responseBean.setStatus(ErrorCode.STATUS_CODE_4001); responseBean.setStatus(ErrorCode.STATUS_CODE_4001);
return responseBean; return responseBean;
} }
} }
if(StringUtils.isBlank(bean.getPhone())){ if (StringUtils.isBlank(bean.getPhone())) {
bean.setPhone(entity.getPhone()); bean.setPhone(entity.getPhone());
} }
if(StringUtils.isBlank(bean.getMobile())){ if (StringUtils.isBlank(bean.getMobile())) {
bean.setMobile(entity.getMobile()); bean.setMobile(entity.getMobile());
} }
userService.updateOuterUser(bean); userService.updateOuterUser(bean);
responseBean.setMessage(GConstants.OK); responseBean.setMessage(GConstants.OK);
responseBean.setStatus(ErrorCode.STATUS_CODE_2000); responseBean.setStatus(ErrorCode.STATUS_CODE_2000);
return responseBean; return responseBean;
} }
responseBean.setMessage(message); responseBean.setMessage(message);
responseBean.setStatus(ErrorCode.STATUS_CODE_4001); responseBean.setStatus(ErrorCode.STATUS_CODE_4001);
...@@ -1039,27 +1021,24 @@ public class UserController { ...@@ -1039,27 +1021,24 @@ public class UserController {
} }
private void checkIpLimit(RedisUtils redisUtils, String userIp, int indexDb, ResponseBean responseBean) { private void checkIpLimit(String userIp) {
//ip受限时间与次数 //ip受限时间与次数
int ipWithinSeconds = Integer.valueOf(PropertiesUtils.getProperties().get("ipWithinSeconds").toString()); int ipWithinSeconds = Integer.valueOf(PropertiesUtils.getProperties().get("ipWithinSeconds").toString());
int ipLimitTimes = Integer.valueOf(PropertiesUtils.getProperties().get("ipLimitTimes").toString()); int ipLimitTimes = Integer.valueOf(PropertiesUtils.getProperties().get("ipLimitTimes").toString());
//如果redis没有key //如果redis没有key
if(!redisUtils.exists(userIp,indexDb)){ if (!redisUtils.exists(userIp, indexDb)) {
redisUtils.set(userIp,1,indexDb); redisUtils.set(userIp, 1, indexDb);
//设置过期时间 //设置过期时间
redisUtils.expire(userIp,ipWithinSeconds,indexDb); redisUtils.expire(userIp, ipWithinSeconds, indexDb);
}else { } else {
//如果存在key //如果存在key
redisUtils.incrNotResetExpireTime(userIp,indexDb); redisUtils.incrNotResetExpireTime(userIp, indexDb);
if (Integer.valueOf(redisUtils.get(userIp,indexDb)) >= ipLimitTimes ){ if (Integer.valueOf(redisUtils.get(userIp, indexDb)) >= ipLimitTimes) {
redisUtils.del(userIp,indexDb); redisUtils.del(userIp, indexDb);
userService.insertInfoByIp(userIp); userService.insertInfoByIp(userIp);
responseBean.setMessage("IP受限!请联系管理员");
} }
} }
} }
} }
...@@ -17,6 +17,7 @@ public class LoginBean extends GenericBean { ...@@ -17,6 +17,7 @@ public class LoginBean extends GenericBean {
private String verifyCode; private String verifyCode;
private String permission; private String permission;
private String clientip; private String clientip;
private String userIp;
public String getPermission() { public String getPermission() {
return permission; return permission;
...@@ -58,4 +59,11 @@ public class LoginBean extends GenericBean { ...@@ -58,4 +59,11 @@ public class LoginBean extends GenericBean {
this.clientip = clientip; this.clientip = clientip;
} }
public String getUserIp() {
return userIp;
}
public void setUserIp(String userIp) {
this.userIp = userIp;
}
} }
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