package com.yc.action.personalized;
|
|
import java.io.IOException;
|
import java.io.PrintWriter;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
|
import org.apache.commons.lang.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import com.google.gson.Gson;
|
import com.google.gson.reflect.TypeToken;
|
import com.yc.multiData.SpObserver;
|
import com.yc.service.personalized.CustomHomeGroupIfc;
|
import com.yc.service.personalized.CustomHomePanelPositionIfc;
|
import com.yc.utils.SessionKey;
|
|
@Controller
|
public class CustomHomeGroupAction {
|
|
@Autowired
|
private CustomHomeGroupIfc groupIfc;
|
|
@Autowired
|
private CustomHomePanelPositionIfc positionIfc;
|
|
@RequestMapping("/addCustomHomeGroup.do")
|
public void addGroup(HttpServletRequest request,
|
HttpServletResponse response) throws IOException {
|
String widthStr = request.getParameter("width");
|
String sortStr = request.getParameter("sort");
|
if (StringUtils.isBlank(widthStr)
|
|| StringUtils.isBlank(sortStr)) {
|
print(response,
|
"{\"code\":\"error\",\"info\":\"请将信息填写完整!\"}");
|
return;
|
}
|
int width = -1;
|
int sort = -1;
|
try {
|
width = Integer.parseInt(widthStr);
|
sort = Integer.parseInt(sortStr);
|
} catch (NumberFormatException e) {
|
print(response,
|
"{\"code\":\"error\",\"info\":\"信息填写有误,宽度所占百分比 和 排列顺序 必须是整数!\"}");
|
return;
|
}
|
String userCode = (String) request.getSession().getAttribute(SessionKey.HRCODE);
|
try {
|
SpObserver.setDBtoInstance("_"+request.getSession().getAttribute(SessionKey.DATA_BASE_ID));
|
groupIfc.addGroup(userCode, width, sort);
|
print(response,
|
"{\"code\":\"success\",\"info\":\"添加成功!\"}");
|
} catch (Exception e) {
|
e.printStackTrace();
|
print(response,
|
"{\"code\":\"error\",\"info\":\"添加出现异常!\"}");
|
}finally{
|
SpObserver.setDBtoInstance();
|
}
|
}
|
|
|
|
@RequestMapping("/delCustomHomeGroup.do")
|
public void delGroup(HttpServletRequest request,
|
HttpServletResponse response) throws IOException {
|
String groupStr = request.getParameter("groupId");
|
int groupId = -1;
|
try{
|
groupId = Integer.parseInt(groupStr);
|
}catch (NumberFormatException e) {
|
return;
|
}
|
try{
|
SpObserver.setDBtoInstance("_"+request.getSession().getAttribute(SessionKey.DATA_BASE_ID));
|
String userCode = (String) request.getSession().getAttribute(SessionKey.HRCODE);
|
groupIfc.delGroup(groupId,userCode);
|
positionIfc.delPanelPositionByGroup(groupId, userCode);
|
print(response,"{\"code\":\"success\",\"info\":\"删除成功!\"}");
|
}catch (Exception e) {
|
e.printStackTrace();
|
print(response,
|
"{\"code\":\"error\",\"info\":\"删除出现异常!\"}");
|
}finally{
|
SpObserver.setDBtoInstance();
|
}
|
}
|
|
|
|
@RequestMapping("/updateCustomHomeGroup.do")
|
public void updateGroup(HttpServletRequest request,
|
HttpServletResponse response) throws IOException {
|
String groupStr = request.getParameter("groupId");
|
String widthStr = request.getParameter("width");
|
String sortStr = request.getParameter("sort");
|
int groupId = -1;
|
try{
|
groupId = Integer.parseInt(groupStr);
|
}catch (NumberFormatException e) {
|
return;
|
}
|
if (StringUtils.isBlank(widthStr)
|
|| StringUtils.isBlank(sortStr)) {
|
print(response,
|
"{\"code\":\"error\",\"info\":\"请将信息填写完整!\"}");
|
return;
|
}
|
int width = -1;
|
int sort = -1;
|
try {
|
width = Integer.parseInt(widthStr);
|
sort = Integer.parseInt(sortStr);
|
} catch (NumberFormatException e) {
|
print(response,
|
"{\"code\":\"error\",\"info\":\"信息填写有误,宽度所占百分比 和 排列顺序 必须是整数!\"}");
|
return;
|
}
|
String userCode = (String) request.getSession().getAttribute(SessionKey.HRCODE);
|
try {
|
SpObserver.setDBtoInstance("_"+request.getSession().getAttribute(SessionKey.DATA_BASE_ID));
|
groupIfc.updateGroup(width, sort, groupId, userCode);
|
print(response,
|
"{\"code\":\"success\",\"info\":\"修改成功!\"}");
|
} catch (Exception e) {
|
e.printStackTrace();
|
print(response,
|
"{\"code\":\"error\",\"info\":\"修改出现异常!\"}");
|
}finally{
|
SpObserver.setDBtoInstance();
|
}
|
}
|
|
@RequestMapping("/getCustomHomeGroups.do")
|
public void getGroups(HttpServletRequest request,
|
HttpServletResponse response) throws IOException {
|
String userCode = (String) request.getSession().getAttribute(SessionKey.HRCODE);
|
List<Map<String,Object>> list =null;
|
try {
|
SpObserver.setDBtoInstance("_"+request.getSession().getAttribute(SessionKey.DATA_BASE_ID));
|
list=groupIfc.getGroups(userCode);
|
}finally{
|
SpObserver.setDBtoInstance();
|
}
|
Gson gson = new Gson();
|
String json = gson.toJson(list,new TypeToken<List<Map<String,Object>>>(){}.getType());
|
StringBuilder sb = new StringBuilder();
|
sb.append("{\"rows\":").append(json).append("}");
|
print(response, sb.toString());
|
json = null;
|
sb=null;
|
}
|
|
|
@RequestMapping("/getCustomHomeGroup.do")
|
public void getGroup(HttpServletRequest request,
|
HttpServletResponse response) throws IOException {
|
String groupStr = request.getParameter("group");
|
int groupId = -1;
|
try{
|
groupId = Integer.parseInt(groupStr);
|
}catch (NumberFormatException e) {
|
return;
|
}
|
// String userCode = (String) request.getSession().getAttribute(SessionKey.HRCODE);
|
Map<String,Object> map =null;
|
try {
|
SpObserver.setDBtoInstance("_"+request.getSession().getAttribute(SessionKey.DATA_BASE_ID));
|
map=groupIfc.getGroup(groupId);
|
}finally{
|
SpObserver.setDBtoInstance();
|
}
|
Gson gson = new Gson();
|
String json = gson.toJson(map,new TypeToken<Map<String,Object>>(){}.getType());
|
print(response, json);
|
json = null;
|
}
|
/**
|
* 输出信息到客户端
|
*
|
* @param response
|
* @param str
|
* @throws IOException
|
*/
|
public void print(HttpServletResponse response, String str)
|
throws IOException {
|
response.setCharacterEncoding("utf-8");
|
PrintWriter out = response.getWriter();
|
out.write(str);
|
out.flush();
|
out.close();
|
}
|
}
|