admin
2021-09-03 b41a6efe17ba61d150c5a9b7309651cebae54e0d
src/main/java/com/yeshi/buwan/controller/admin/api/VipAdminController.java
@@ -1,28 +1,18 @@
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.user.LoginUser;
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.domain.vip.OrderRecord;
import com.yeshi.buwan.service.inter.LoginUserService;
import com.yeshi.buwan.service.inter.order.OrderService;
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.vo.vip.UserVIPInfoVO;
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;
@@ -43,9 +33,15 @@
    @Resource
    private VIPService vipService;
    @Resource
    private OrderService orderService;
    @Resource
    private LoginUserService loginUserService;
    private Gson getGson() {
        Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
        Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
            @Override
            public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
                if (value == null) {
@@ -62,7 +58,7 @@
    @ResponseBody
    @RequestMapping(value = "/vipUserList", method = RequestMethod.POST)
    public String vipUserList(Boolean vip,String uid, int page) {
    public void vipUserList(Boolean vip, String uid, int page, PrintWriter out) {
        Date minDate = null;
        Date maxDate = null;
        if (vip != null) {
@@ -73,37 +69,59 @@
                maxDate = new Date();
            }
        }
        List<UserVIPInfo> list = new ArrayList<>();
        long count = 0;
        if (!StringUtil.isNullOrEmpty(uid)) {
            UserVIPInfo vipInfo = vipService.getVIPInfo(uid);
            if (vipInfo != null) {
                list.add(vipInfo);
                count = 1;
            }
        } else {
            list = vipService.listVIPUser(minDate, maxDate, page, Constant.pageCount);
            count = vipService.countVIPUser(minDate, maxDate);
        }
        List<UserVIPInfo> list = vipService.listVIPUser(minDate, maxDate, page, Constant.pageCount);
        long count = vipService.countVIPUser(minDate, maxDate);
        List<UserVIPInfoVO> voList = new ArrayList<>();
        for (UserVIPInfo vipInfo : list) {
            UserVIPInfoVO vo = new UserVIPInfoVO();
            vo.setCreateTime(vipInfo.getCreateTime());
            vo.setExpireDate(vipInfo.getExpireDate());
            vo.setUpdateTime(vipInfo.getUpdateTime());
            LoginUser loginUser = loginUserService.getLoginUser(vipInfo.getUid());
            vo.setUser(loginUser);
            voList.add(vo);
        }
        JSONObject data = new JSONObject();
        data.put("pageEntity", new PageEntity(page, Constant.pageCount,(int)count));
        data.put("list", getGson().toJson(list));
        return JsonUtil.loadTrueResult(data);
        data.put("pageEntity", new PageEntity(page, Constant.pageCount, (int) count));
        data.put("list", getGson().toJson(voList));
        out.print(JsonUtil.loadTrueResult(data));
    }
    @ResponseBody
    @RequestMapping(value = "/vipOrderList", method = RequestMethod.POST)
    public String vipOrderList(Boolean pay, String uid, int page) {
    public void vipOrderList(Boolean pay, String uid, int page, PrintWriter out) {
        if (StringUtil.isNullOrEmpty(uid)) {
            uid = null;
        }
        Integer state = null;
        if (pay != null) {
            if (pay) {
                state = VIPOrderRecord.STATE_PAY;
                state = OrderRecord.STATE_PAY;
            } else {
                state = VIPOrderRecord.STATE_NOT_PAY;
                state = OrderRecord.STATE_NOT_PAY;
            }
        }
        List<VIPOrderRecord> list = vipService.listOrderRecord(uid, state, page, Constant.pageCount);
        long count = vipService.countOrderRecord(uid, state);
        List<OrderRecord> list = orderService.listOrderRecord(uid,null, state, page, Constant.pageCount);
        long count = orderService.countOrderRecord(uid,null, state);
        JSONObject data = new JSONObject();
        data.put("pageEntity", new PageEntity(page, Constant.pageCount,(int)count));
        data.put("pageEntity", new PageEntity(page, Constant.pageCount, (int) count));
        data.put("list", getGson().toJson(list));
        return JsonUtil.loadTrueResult(data);
        out.print(JsonUtil.loadTrueResult(data));
    }