81,122
社区成员




package yh.position.action.police;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import yh.position.action.BaseAction;
import yh.position.dao.impl.PoliceDaoImpl;
import yh.position.dao.impl.TaskDaoImpl;
import yh.position.dao.impl.UserDaoImpl;
import yh.position.model.Police;
import yh.position.model.Task;
import yh.position.model.User;
import yh.position.util.ConstantUtil;
import yh.position.util.JpushUtil;
/**
* 处理接警请求
*
* @author Administrator
*
*/
public class PoliceAcceptTaskAction extends BaseAction {
private static final long serialVersionUID = 1L;
private int taskId;// 派警任务ID
public int getTaskId() {
return taskId;
}
public void setTaskId(int taskId) {
this.taskId = taskId;
}
@Override
public String execute() {
PoliceDaoImpl policeDaoImpl = new PoliceDaoImpl();
UserDaoImpl userDaoImpl=new UserDaoImpl();
TaskDaoImpl taskDaoImpl = new TaskDaoImpl();
int policeId = currPoliceId();
Police police = policeDaoImpl.get(policeId);
Task task = taskDaoImpl.get(taskId);// 获得派警信息
if (null != police.getCurrTask()) {
message = "接警失败:您有未完成的派警任务!";
} else if (null == task) {
message = "接警失败:派警信息不存在!";
} else if (task.getAccept() != ConstantUtil.ACCEPT_NEW) {
message = "接警失败:该任务已经被接,不能再次接受!";
} else {
/** 可以接警 修改任务状态,建立警察-当前任务关系 */
task.setAccept(ConstantUtil.ACCEPT_DOING);
task.setAcceptTime(new Date());
task.setPoliceId(policeId);
police.setCurrTask(task);
policeDaoImpl.update(police);
/** 返回资料 返回任务信息,其中包含报警信息,报警人资料给 接警警员 */
jsonMap.put("task", task);
/** 发送通知给报警人,警员已经派出 */
User user = userDaoImpl.get(task.getAlarmInfo().getUserId());
Map<String, Object> extraMap = new HashMap<String, Object>();
extraMap.put("tag", "1");
JpushUtil.sendAndroidNotificationWithAlias("接警通知",
"警方已经接警,请保持手机畅通。", extraMap, user.getLoginName());
// 设置返回标识
code = 1;
message = "OK";
}
returnJson();
return SUCCESS;
}
}