package com.yeshi.fanli.controller.admin.order; import java.io.PrintWriter; import java.lang.reflect.Type; import java.util.Date; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.yeshi.utils.JsonUtil; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonElement; import com.google.gson.JsonPrimitive; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; import com.yeshi.fanli.entity.elme.ElmeOrder; import com.yeshi.fanli.service.inter.elme.ElmeOrderService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.TimeUtil; import net.sf.json.JSONObject; @Controller @RequestMapping("admin/new/api/v1/elmeOrder") public class ElmeOrderController { @Resource private ElmeOrderService elmeOrderService; /** * 订单列表查询 * @param callback * @param pageIndex * @param key * @param out */ @RequestMapping(value = "query") public void query(String callback, Integer pageIndex, String key, PrintWriter out) { try { if (pageIndex == null || pageIndex < 0) { pageIndex = 1; } int pageSize = Constant.PAGE_SIZE; List list = elmeOrderService.query((pageIndex-1)* pageSize, pageSize, key); if (list == null || list.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据")); return; } long count = elmeOrderService.count(key); int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); 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:ss")); } } }).create(); JSONObject data = new JSONObject(); data.put("pe", pe); data.put("result_list", gson.toJson(list)); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败")); e.printStackTrace(); } } }