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,28 +55,39 @@ public class UpdateUserStatusImpl implements IUpdateUserStatus { ...@@ -52,28 +55,39 @@ public class UpdateUserStatusImpl implements IUpdateUserStatus {
response.setMsg("接口参数不全"); response.setMsg("接口参数不全");
return JSONObject.fromObject(response).toString(); return JSONObject.fromObject(response).toString();
} }
Map<String, Object> searchMap = new HashMap<>(5); String key = "update_online_job_" + phone;
searchMap.put("telephone", phone); String value = "onlineValue";
List<UserEntity> list = userMapper.queryByConditions(searchMap); long seconds = 10;
if (CollectionUtils.isNotEmpty(list)) { if (redisUtil.setNX(key, value, seconds)) {
UserEntity user = list.get(0); Map<String, Object> searchMap = new HashMap<>(5);
int oldStatus = user.getOnlineStatus(); searchMap.put("telephone", phone);
Map<String, Object> updateMap = new HashMap<>(5); List<UserEntity> list = userMapper.queryByConditions(searchMap);
updateMap.put("mobile", phone); if (CollectionUtils.isNotEmpty(list)) {
updateMap.put("onlineStatus", status); UserEntity user = list.get(0);
userMapper.updateUserStatus(updateMap); int oldStatus = user.getOnlineStatus();
OnlineLogEntity logEntity = new OnlineLogEntity(); Integer newStatus = Integer.parseInt(status);
logEntity.setOldStatus(oldStatus); if (oldStatus != newStatus) {
logEntity.setNewStatus(Integer.parseInt(status)); Map<String, Object> updateMap = new HashMap<>(5);
logEntity.setUserId(user.getId()); updateMap.put("mobile", phone);
logEntity.setCreateTime(new Date()); updateMap.put("onlineStatus", status);
logMapper.save(logEntity); userMapper.updateUserStatus(updateMap);
response.setData(data); OnlineLogEntity logEntity = new OnlineLogEntity();
response.setResult(ReturnAppResult.APP_SUCCESS.getResultCode()); logEntity.setOldStatus(oldStatus);
response.setMsg("更新成功"); logEntity.setNewStatus(newStatus);
} else { 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.setResult(ReturnAppResult.APP_FAIL.getResultCode());
response.setMsg("更新失败,用户不存在"); response.setMsg("更新太频繁,请稍后再尝试");
} }
} catch (Exception e) { } catch (Exception e) {
logger.error("更新用户上下线状态失败", e); logger.error("更新用户上下线状态失败", e);
......
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