Commit 530a4537 authored by jay's avatar jay

用户上下线接口调整

parent ce6f5be6
...@@ -7,6 +7,7 @@ import com.house365.rest.context.Parameter; ...@@ -7,6 +7,7 @@ import com.house365.rest.context.Parameter;
import com.house365.rest.exception.ServiceRunException; import com.house365.rest.exception.ServiceRunException;
import com.house365.rest.parameter.House365RestObject; import com.house365.rest.parameter.House365RestObject;
import com.house365.rest.parameter.House365RestResponse; import com.house365.rest.parameter.House365RestResponse;
import com.house365.ws.cached.RedisUtilsInterface;
import com.house365.ws.dao.mapper.OnlineLogMapper; import com.house365.ws.dao.mapper.OnlineLogMapper;
import com.house365.ws.dao.mapper.UserMapper; import com.house365.ws.dao.mapper.UserMapper;
import com.house365.ws.system.ReturnAppResult; import com.house365.ws.system.ReturnAppResult;
...@@ -36,6 +37,8 @@ public class UpdateUserStatusImpl implements IUpdateUserStatus { ...@@ -36,6 +37,8 @@ public class UpdateUserStatusImpl implements IUpdateUserStatus {
private UserMapper userMapper; private UserMapper userMapper;
@Autowired @Autowired
private OnlineLogMapper logMapper; private OnlineLogMapper logMapper;
@Autowired
private RedisUtilsInterface redisUtil;
@Override @Override
public Object exectue(Parameter parameter) throws ServiceRunException { public Object exectue(Parameter parameter) throws ServiceRunException {
...@@ -52,29 +55,40 @@ public class UpdateUserStatusImpl implements IUpdateUserStatus { ...@@ -52,29 +55,40 @@ public class UpdateUserStatusImpl implements IUpdateUserStatus {
response.setMsg("接口参数不全"); response.setMsg("接口参数不全");
return JSONObject.fromObject(response).toString(); return JSONObject.fromObject(response).toString();
} }
String key = "update_online_job_" + phone;
String value = "onlineValue";
long seconds = 10;
if (redisUtil.setNX(key, value, seconds)) {
Map<String, Object> searchMap = new HashMap<>(5); Map<String, Object> searchMap = new HashMap<>(5);
searchMap.put("telephone", phone); searchMap.put("telephone", phone);
List<UserEntity> list = userMapper.queryByConditions(searchMap); List<UserEntity> list = userMapper.queryByConditions(searchMap);
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
UserEntity user = list.get(0); UserEntity user = list.get(0);
int oldStatus = user.getOnlineStatus(); int oldStatus = user.getOnlineStatus();
Integer newStatus = Integer.parseInt(status);
if (oldStatus != newStatus) {
Map<String, Object> updateMap = new HashMap<>(5); Map<String, Object> updateMap = new HashMap<>(5);
updateMap.put("mobile", phone); updateMap.put("mobile", phone);
updateMap.put("onlineStatus", status); updateMap.put("onlineStatus", status);
userMapper.updateUserStatus(updateMap); userMapper.updateUserStatus(updateMap);
OnlineLogEntity logEntity = new OnlineLogEntity(); OnlineLogEntity logEntity = new OnlineLogEntity();
logEntity.setOldStatus(oldStatus); logEntity.setOldStatus(oldStatus);
logEntity.setNewStatus(Integer.parseInt(status)); logEntity.setNewStatus(newStatus);
logEntity.setUserId(user.getId()); logEntity.setUserId(user.getId());
logEntity.setCreateTime(new Date()); logEntity.setCreateTime(new Date());
logMapper.save(logEntity); logMapper.save(logEntity);
response.setData(data); response.setData(data);
response.setResult(ReturnAppResult.APP_SUCCESS.getResultCode()); response.setResult(ReturnAppResult.APP_SUCCESS.getResultCode());
response.setMsg("更新成功"); response.setMsg("更新成功");
}
} else { } else {
response.setResult(ReturnAppResult.APP_FAIL.getResultCode()); response.setResult(ReturnAppResult.APP_FAIL.getResultCode());
response.setMsg("更新失败,用户不存在"); response.setMsg("更新失败,用户不存在");
} }
}else {
response.setResult(ReturnAppResult.APP_FAIL.getResultCode());
response.setMsg("更新太频繁,请稍后再尝试");
}
} catch (Exception e) { } catch (Exception e) {
logger.error("更新用户上下线状态失败", e); logger.error("更新用户上下线状态失败", e);
response.setResult(ReturnAppResult.APP_FAIL.getResultCode()); response.setResult(ReturnAppResult.APP_FAIL.getResultCode());
......
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