package com.yeshi.buwan.controller.admin.api;
|
|
import com.google.gson.*;
|
import com.yeshi.buwan.acFun.AcFunUtil;
|
import com.yeshi.buwan.domain.SolrVideo;
|
import com.yeshi.buwan.domain.VideoInfo;
|
import com.yeshi.buwan.domain.vip.UserVIPInfo;
|
import com.yeshi.buwan.domain.vip.VIPOrderRecord;
|
import com.yeshi.buwan.dto.search.SolrResultDTO;
|
import com.yeshi.buwan.dto.search.SolrVideoSearchFilter;
|
import com.yeshi.buwan.iqiyi.IqiYiNewAPI;
|
import com.yeshi.buwan.iqiyi.util.IqiyiUtil;
|
import com.yeshi.buwan.service.imp.ClassService;
|
import com.yeshi.buwan.service.imp.ResourceVideoService;
|
import com.yeshi.buwan.service.imp.VideoManager;
|
import com.yeshi.buwan.service.inter.vip.VIPService;
|
import com.yeshi.buwan.service.manager.SolrAlbumDataManager;
|
import com.yeshi.buwan.util.Constant;
|
import com.yeshi.buwan.util.StringUtil;
|
import com.yeshi.buwan.util.TimeUtil;
|
import com.yeshi.buwan.vo.video.VideoAdminInfoVO;
|
import com.yeshi.buwan.web.tag.PageEntity;
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
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.io.PrintWriter;
|
import java.lang.reflect.Type;
|
import java.util.ArrayList;
|
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<Date>() {
|
@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<UserVIPInfo> 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<VIPOrderRecord> 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);
|
}
|
|
|
}
|