package com.yeshi.buwan.controller.admin.api; import com.google.gson.*; import com.yeshi.buwan.domain.special.SearchSpecial; import com.yeshi.buwan.service.inter.search.SearchSpecialPositionService; import com.yeshi.buwan.service.inter.search.SearchSpecialService; import com.yeshi.buwan.util.Constant; import com.yeshi.buwan.util.JsonUtil; import com.yeshi.buwan.util.SystemUtil; import com.yeshi.buwan.util.TimeUtil; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import javax.annotation.Resource; import javax.servlet.http.HttpSession; import java.io.PrintWriter; import java.lang.reflect.Type; import java.util.Date; import java.util.List; @Controller @RequestMapping("admin/new/api/search/special") public class SearchSpecialAdminController { @Resource private SearchSpecialService searchSpecialService; @Resource private SearchSpecialPositionService searchSpecialPositionService; private Gson getGson() { Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer() { @Override public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) { if (value == null) { return new JsonPrimitive(""); } else { return new JsonPrimitive(TimeUtil.getGernalTime(value.getTime(), "yyyy.MM.dd HH:mm")); } } }).create(); return gson; } /** * 获取专题列表 * * @param key * @param page * @param out */ @RequestMapping(value = "/getSpecialList", method = RequestMethod.POST) public void getSpecialList(String key, int page, HttpSession session, PrintWriter out) { String systemId = SystemUtil.getAdminSelectedSystemId(session); List list = searchSpecialService.listSpecial(key, systemId, page, Constant.pageCount); long count = searchSpecialService.countSpecial(key, systemId); Gson gson = getGson(); JSONObject root = new JSONObject(); root.put("data", gson.toJson(list)); root.put("count", count); out.print(JsonUtil.loadTrueAdmin(root)); } /** * 获取专题详情 * * @param session * @param out */ @RequestMapping(value = "/getSpecialDetail", method = RequestMethod.POST) public void getSpecialDetail(String id, HttpSession session, PrintWriter out) { SearchSpecial searchSpecial = searchSpecialService.selectByPrimaryKey(id); if (searchSpecial == null) { out.print(JsonUtil.loadFalseAdmin("专题不存在")); } else { Gson gson = getGson(); out.print(JsonUtil.loadTrueAdmin(gson.toJson(searchSpecial))); } } /** * 删除专题 * * @param ids * @param session * @param out */ @RequestMapping(value = "/deleteSpecial", method = RequestMethod.POST) public void deleteSpecial(String ids, HttpSession session, PrintWriter out) { JSONArray array = JSONArray.fromObject(ids); for (int i = 0; i < array.size(); i++) { searchSpecialService.deleteByPrimaryKey(array.optString(i)); } out.print(JsonUtil.loadTrueAdmin("")); } /** * 更新专题 * * @param id * @param content * @param session * @param out */ @RequestMapping(value = "/updateSpecial", method = RequestMethod.POST) public void updateSpecial(String id, String content, HttpSession session, PrintWriter out) { SearchSpecial searchSpecial = getGson().fromJson(content, SearchSpecial.class); //查询是否存在 SearchSpecial old = searchSpecialService.selectByPrimaryKey(id); if (old == null) { out.print(JsonUtil.loadFalseAdmin("id不存在")); return; } old.setContainerList(searchSpecial.getContainerList()); if (searchSpecial.getColumn() != null) old.setColumn(searchSpecial.getColumn()); if (searchSpecial.getKey() != null) { old.setKey(searchSpecial.getKey()); } if (searchSpecial.getName() != null) { old.setName(searchSpecial.getName()); } if (searchSpecial.getRemarks() != null) { old.setRemarks(searchSpecial.getRemarks()); } old.setUpdateTime(new Date()); searchSpecialService.updateSelective(old); out.print(JsonUtil.loadTrueAdmin("")); } /** * 添加专题 * * @param content * @param session * @param out */ @RequestMapping(value = "/addSpecial", method = RequestMethod.POST) public void addSpecial(String content, HttpSession session, PrintWriter out) { SearchSpecial searchSpecial = getGson().fromJson(content, SearchSpecial.class); try { searchSpecialService.save(searchSpecial); out.print(JsonUtil.loadTrueAdmin("")); } catch (Exception e) { out.print(JsonUtil.loadFalseAdmin("")); } } }