package com.yeshi.buwan.controller.admin.api; import com.google.gson.*; import com.yeshi.buwan.domain.vip.UserVIPInfo; import com.yeshi.buwan.domain.vip.VIPOrderRecord; import com.yeshi.buwan.service.inter.vip.VIPService; import com.yeshi.buwan.util.Constant; import com.yeshi.buwan.util.StringUtil; import com.yeshi.buwan.util.TimeUtil; import com.yeshi.buwan.web.tag.PageEntity; 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 org.springframework.web.bind.annotation.ResponseBody; import org.yeshi.utils.JsonUtil; import javax.annotation.Resource; import java.lang.reflect.Type; import java.util.Date; import java.util.List; @Controller @RequestMapping("admin/new/api/vip") public class VipAdminController { @Resource private VIPService vipService; private Gson getGson() { Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().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; } @ResponseBody @RequestMapping(value = "/vipUserList", method = RequestMethod.POST) public String vipUserList(Boolean vip,String uid, int page) { Date minDate = null; Date maxDate = null; if (vip != null) { if (vip) { minDate = new Date(System.currentTimeMillis() + 1000 * 60 * 5); } else { minDate = new Date(0L); maxDate = new Date(); } } List list = vipService.listVIPUser(minDate, maxDate, page, Constant.pageCount); long count = vipService.countVIPUser(minDate, maxDate); JSONObject data = new JSONObject(); data.put("pageEntity", new PageEntity(page, Constant.pageCount,(int)count)); data.put("list", getGson().toJson(list)); return JsonUtil.loadTrueResult(data); } @ResponseBody @RequestMapping(value = "/vipOrderList", method = RequestMethod.POST) public String vipOrderList(Boolean pay, String uid, int page) { if (StringUtil.isNullOrEmpty(uid)) { uid = null; } Integer state = null; if (pay != null) { if (pay) { state = VIPOrderRecord.STATE_PAY; } else { state = VIPOrderRecord.STATE_NOT_PAY; } } List list = vipService.listOrderRecord(uid, state, page, Constant.pageCount); long count = vipService.countOrderRecord(uid, state); JSONObject data = new JSONObject(); data.put("pageEntity", new PageEntity(page, Constant.pageCount,(int)count)); data.put("list", getGson().toJson(list)); return JsonUtil.loadTrueResult(data); } }