Commit 530a4537 authored by jay's avatar jay

用户上下线接口调整

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