admin
2021-08-27 8fee151ffae0c3818694b7318583814bf92663e2
src/main/java/com/yeshi/buwan/controller/admin/api/HomeTypeController.java
@@ -3,13 +3,20 @@
import java.io.PrintWriter;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import javax.validation.Valid;
import com.yeshi.buwan.domain.recommend.HomeRecommendSpecial;
import com.yeshi.buwan.service.inter.recommend.HomeRecommendSpecialService;
import com.yeshi.buwan.service.inter.recommend.HomeVideoService;
import com.yeshi.buwan.util.NumberUtil;
import com.yeshi.buwan.util.SystemUtil;
import com.yeshi.buwan.util.video.VideoUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@@ -20,7 +27,7 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.yeshi.buwan.domain.DetailSystem;
import com.yeshi.buwan.domain.system.DetailSystem;
import com.yeshi.buwan.domain.HomeType;
import com.yeshi.buwan.domain.HomeVideo;
import com.yeshi.buwan.domain.SuperHomeType;
@@ -36,277 +43,325 @@
@RequestMapping("admin/new/api/home")
public class HomeTypeController {
   @Resource
   private HomeTypeService homeTypeService;
    @Resource
    private HomeTypeService homeTypeService;
   @RequestMapping(value = "/gethometypelist", method = RequestMethod.POST)
   public void getHomeTypeList(PrintWriter out) {
      List<HomeType> list = homeTypeService.getHomeType();
      JSONArray array = new JSONArray();
      Gson gson = new GsonBuilder().create();
      for (HomeType ht : list) {
         ht.setHomeVideoList(null);
         ht.setItemTypeList(null);
         ht.setVideoList(null);
         array.add(gson.toJson(ht));
      }
      JSONObject object = new JSONObject();
      object.put("code", 0);
      object.put("data", array);
      out.print(object);
   }
    @Resource
    private HomeVideoService homeVideoService;
   @RequestMapping(value = "/gethometypelistadmin", method = RequestMethod.POST)
   public void getHomeTypeListAdmin(int page, int detailsystem, String key, HttpSession session, PrintWriter out) {
      key = StringUtil.isNullOrEmpty(key) ? "" : key;
    @Resource
    private HomeRecommendSpecialService homeRecommendSpecialService;
      List<HomeTypeAdmin> list = homeTypeService.getHomeTypeAdmin(key, SystemUtil.getAdminSelectedSystemId(session), detailsystem, page);
      long count = homeTypeService.getHomeTypeAdminCount(key, SystemUtil.getAdminSelectedSystemId(session), detailsystem);
      PageEntity pe = new PageEntity();
      pe.setPageIndex(page);
      pe.setPageSize(Constant.pageCount);
      pe.setTotalCount((int) count);
      JSONArray array = new JSONArray();
      Gson gson = new GsonBuilder().create();
      for (HomeTypeAdmin ht : list) {
         JSONObject root = new JSONObject();
         ht.getHomeType().getHomeType().getSystem().setAdmin(null);
         root.put("homeType", gson.toJson(ht.getHomeType().getHomeType()));
         JSONArray darray = new JSONArray();
         for (DetailSystemSelect dss : ht.getDetailSystemList()) {
            dss.getDetailSystem().setSystem(null);
            darray.add(gson.toJson(dss));
         }
         root.put("detailSystemList", darray);
         array.add(root);
      }
    @RequestMapping(value = "/gethometypelist", method = RequestMethod.POST)
    public void getHomeTypeList(HttpSession session, PrintWriter out) {
        List<HomeType> list = homeTypeService.getHomeTypeList(SystemUtil.getAdminSelectedSystemId(session));
        JSONArray array = new JSONArray();
        Gson gson = new GsonBuilder().create();
        for (HomeType ht : list) {
            ht.setHomeVideoList(null);
            ht.setItemTypeList(null);
            ht.setVideoList(null);
            ht.setAdmin(null);
            ht.setSystem(null);
            array.add(gson.toJson(ht));
        }
        JSONObject object = new JSONObject();
        object.put("code", 0);
        object.put("data", array);
        out.print(object);
    }
      JSONObject data = new JSONObject();
      data.put("pageEntity", gson.toJson(pe));
      data.put("data", array);
    @RequestMapping(value = "/gethometypelistadmin", method = RequestMethod.POST)
    public void getHomeTypeListAdmin(int page, int detailsystem, String special, String key, HttpSession session, PrintWriter out) {
        key = StringUtil.isNullOrEmpty(key) ? "" : key;
        String dataKey = null;
        if (special != null && !special.equalsIgnoreCase("0")) {
            HomeRecommendSpecial bean = homeRecommendSpecialService.getSpecial(special);
            if (bean != null) {
                dataKey = bean.getDataKey();
            }
        }
      JSONObject object = new JSONObject();
      object.put("code", 0);
      object.put("data", data);
      out.print(object);
   }
   @RequestMapping(value = "/addhomevideos", method = RequestMethod.POST)
   public void addHomeVideos(String videoids, String tag, String picture, String types, PrintWriter out) {
      List<HomeVideo> list = new ArrayList<HomeVideo>();
        List<HomeTypeAdmin> list = homeTypeService.getHomeTypeAdmin(key, SystemUtil.getAdminSelectedSystemId(session), dataKey, detailsystem, page);
      String[] videos = videoids.split(",");
      String[] homeTypes = types.split(",");
      for (String ht : homeTypes) {
         for (String vid : videos) {
            HomeVideo hv = new HomeVideo();
            hv.setCreatetime(System.currentTimeMillis() + "");
            if (homeTypes.length < 2 && videos.length < 2) {
               hv.setPicture(picture);
               hv.setTag(tag);
            }
            hv.setType(new HomeType(ht));
            hv.setVideo(new VideoInfo(vid));
            list.add(hv);
         }
      }
        //拉取标签
      homeTypeService.addHomeTypeVideo(list);
      JSONObject object = new JSONObject();
      object.put("code", 0);
      object.put("msg", "添加成功");
      out.print(object);
   }
   @RequestMapping(value = "/addhometype", method = RequestMethod.POST)
   public void addHomeType(@Valid HomeType homeType, String detailsystemids, BindingResult bingdingResult,
         PrintWriter out) {
      if (bingdingResult.hasErrors()) {// 错误
        Map<String, HomeRecommendSpecial> specialMap = new HashMap<>();
      }
      homeType.setCreatetime(System.currentTimeMillis()+"");
      Serializable id = homeTypeService.addHomeType(homeType);
      if (id != null && !StringUtil.isNullOrEmpty(detailsystemids)) {
         homeType.setId(id + "");
         String[] dss = detailsystemids.split(",");
         for (String did : dss) {
            SuperHomeType sht = new SuperHomeType();
            sht.setCreatetime(System.currentTimeMillis() + "");
            sht.setDetailSystem(new DetailSystem(did));
            sht.setHomeType(new HomeType(homeType.getId()));
            homeTypeService.addSuperHomeType(sht);
         }
        long count = homeTypeService.getHomeTypeAdminCount(key, SystemUtil.getAdminSelectedSystemId(session), detailsystem, dataKey);
        PageEntity pe = new PageEntity();
        pe.setPageIndex(page);
        pe.setPageSize(Constant.pageCount);
        pe.setTotalCount((int) count);
        JSONArray array = new JSONArray();
        Gson gson = new GsonBuilder().create();
        for (HomeTypeAdmin ht : list) {
            String specialDataKey = ht.getHomeType().getHomeType().getSpecialDataKey();
            if (specialMap.get(specialDataKey) == null) {
                specialMap.put(specialDataKey, homeRecommendSpecialService.getSpecialByDataKey(specialDataKey));
            }
      }
            ht.setSpecial(specialMap.get(specialDataKey));
      if (id != null) {
         JSONObject object = new JSONObject();
         object.put("code", 0);
         object.put("msg", "添加成功");
         out.print(object);
      } else {
         JSONObject object = new JSONObject();
         object.put("code", 1);
         object.put("msg", "添加失败");
         out.print(object);
      }
            JSONObject root = new JSONObject();
            ht.getHomeType().getHomeType().getSystem().setAdmin(null);
            root.put("homeType", gson.toJson(ht.getHomeType().getHomeType()));
            JSONArray darray = new JSONArray();
            for (DetailSystemSelect dss : ht.getDetailSystemList()) {
                dss.getDetailSystem().setSystem(null);
                darray.add(gson.toJson(dss));
            }
            root.put("detailSystemList", darray);
            root.put("special", specialMap.get(specialDataKey));
            array.add(root);
        }
   }
        JSONObject data = new JSONObject();
        data.put("pageEntity", gson.toJson(pe));
        data.put("data", array);
   @RequestMapping(value = "/updatehometype", method = RequestMethod.POST)
   public void updateHomeType(@Valid HomeType homeType, String detailsystemids, PrintWriter out) {
      homeTypeService.deleteSuperHomeTypeByType(homeType.getId());
      if (!StringUtil.isNullOrEmpty(detailsystemids)) {
         String[] dss = detailsystemids.split(",");
         for (String did : dss) {
            SuperHomeType sht = new SuperHomeType();
            sht.setCreatetime(System.currentTimeMillis() + "");
            sht.setDetailSystem(new DetailSystem(did));
            sht.setHomeType(new HomeType(homeType.getId()));
            homeTypeService.addSuperHomeType(sht);
         }
      }
      HomeType ht = homeTypeService.getHomeTypeById(homeType.getId());
      ht.setActivity(homeType.getActivity());
      ht.setColumns(homeType.getColumns());
      ht.setHasMore(homeType.isHasMore());
      ht.setIcon(homeType.getIcon());
      ht.setIosControl(homeType.getIosControl());
      ht.setName(homeType.getName());
      ht.setNumber(homeType.getNumber());
      ht.setOrderby(homeType.getOrderby());
      ht.setParams(homeType.getParams());
      ht.setVideoType(homeType.getVideoType());
      homeTypeService.updateHomeType(ht);
      JSONObject object = new JSONObject();
      object.put("code", 0);
      object.put("msg", "更改成功");
      out.print(object);
        JSONObject object = new JSONObject();
        object.put("code", 0);
        object.put("data", data);
        out.print(object);
    }
   }
    @RequestMapping(value = "/addhomevideos", method = RequestMethod.POST)
    public void addHomeVideos(String videoids, String tag, String picture, String types, PrintWriter out) {
        List<HomeVideo> list = new ArrayList<>();
   @RequestMapping(value = "/gethometype", method = RequestMethod.POST)
   public void getHomeType(long id, PrintWriter out) {
      HomeType ht = homeTypeService.getHomeTypeById(id + "");
      List<DetailSystemSelect> selectList = homeTypeService.getDetailSystemSelectByType(id + "");
      Gson gson = new GsonBuilder().create();
      JSONObject object = new JSONObject();
      object.put("code", 0);
      object.put("data", gson.toJson(ht));
      for (DetailSystemSelect dss : selectList) {
         dss.getDetailSystem().setSystem(null);
      }
      object.put("detailsystemselect", gson.toJson(selectList));
      out.print(object);
   }
        String[] videos = videoids.split(",");
        String[] homeTypes = types.split(",");
        for (String ht : homeTypes) {
            for (String vid : videos) {
                HomeVideo hv = new HomeVideo();
                hv.setCreatetime(System.currentTimeMillis() + "");
                if (homeTypes.length < 2 && videos.length < 2) {
                    hv.setPicture(picture);
                    hv.setTag(tag);
                }
                hv.setType(new HomeType(ht));
                hv.setVideoId(vid);
                hv.setBigPicture(false);
                hv.setFromType(VideoUtil.getVideoFromType(hv.getVideoId()));
                list.add(hv);
            }
        }
   @RequestMapping(value = "/deletehometype", method = RequestMethod.POST)
   public void deleteHomeType(String ids, PrintWriter out) {
      String[] idStrs = ids.split(",");
      for (String id : idStrs) {
         homeTypeService.deleteHomeType(id);
      }
      JSONObject object = new JSONObject();
      object.put("code", 0);
      object.put("msg", "删除成功");
      out.print(object);
   }
        homeVideoService.addHomeVideo(list);
        JSONObject object = new JSONObject();
        object.put("code", 0);
        object.put("msg", "添加成功");
        out.print(object);
    }
   @RequestMapping(value = "/deletesuperhometype", method = RequestMethod.POST)
   public void deleteSuperHomeType(long id, int detailsystem, PrintWriter out) {
      homeTypeService.deleteHomeTypeAdmin(id + "", detailsystem + "");
      JSONObject object = new JSONObject();
      object.put("code", 0);
      object.put("msg", "删除成功");
      out.print(object);
   }
    @RequestMapping(value = "/addhometype", method = RequestMethod.POST)
    public void addHomeType(@Valid HomeType homeType, String detailsystemids, BindingResult bingdingResult, HttpSession session,
                            PrintWriter out) {
        if (bingdingResult.hasErrors()) {// 错误
   @RequestMapping(value = "/addsuperhometype", method = RequestMethod.POST)
   public void addSuperHomeType(long id, int detailsystem, PrintWriter out) {
      SuperHomeType sht = new SuperHomeType();
      sht.setCreatetime(System.currentTimeMillis() + "");
      sht.setDetailSystem(new DetailSystem(detailsystem + ""));
      sht.setHomeType(new HomeType(id + ""));
      homeTypeService.addSuperHomeType(sht);
      JSONObject object = new JSONObject();
      object.put("code", 0);
      object.put("msg", "添加成功");
      out.print(object);
   }
        }
        homeType.setCreatetime(System.currentTimeMillis() + "");
        homeType.setSystem(SystemUtil.getAdminSelectedSystem(session));
        Serializable id = homeTypeService.addHomeType(homeType);
   @RequestMapping(value = "/gethomevideolist", method = RequestMethod.POST)
   public void getHomeVideoList(long id, int page, String key, PrintWriter out) {
      key = StringUtil.isNullOrEmpty(key) ? "" : key;
      List<HomeVideo> list = homeTypeService.getHomeVideoList(id + "", key, page);
      long count = homeTypeService.getHomeVideoListCount(id + "", key);
      PageEntity pe = new PageEntity();
      pe.setPageIndex(page);
      pe.setPageSize(Constant.pageCount);
      pe.setTotalCount((int) count);
      Gson gson = new GsonBuilder().create();
        if (id != null && !StringUtil.isNullOrEmpty(detailsystemids)) {
            homeType.setId(id + "");
            String[] dss = detailsystemids.split(",");
            for (String did : dss) {
                SuperHomeType sht = new SuperHomeType();
                sht.setCreatetime(System.currentTimeMillis() + "");
                sht.setDetailSystem(new DetailSystem(did));
                sht.setHomeType(new HomeType(homeType.getId()));
                homeTypeService.addSuperHomeType(sht);
            }
      JSONObject data = new JSONObject();
      data.put("pageEntity", gson.toJson(pe));
      data.put("data", gson.toJson(list));
        }
      JSONObject object = new JSONObject();
      object.put("code", 0);
      object.put("data", data);
      out.print(object);
   }
        if (id != null) {
            JSONObject object = new JSONObject();
            object.put("code", 0);
            object.put("msg", "添加成功");
            out.print(object);
        } else {
            JSONObject object = new JSONObject();
            object.put("code", 1);
            object.put("msg", "添加失败");
            out.print(object);
        }
   @RequestMapping(value = "/deletehomevideo", method = RequestMethod.POST)
   public void deleteHomeVideo(String ids, PrintWriter out) {
      String[] idStrs = ids.split(",");
      for (String id : idStrs) {
         homeTypeService.deleteHomeVideo(new HomeVideo(id));
      }
      JSONObject object = new JSONObject();
      object.put("code", 0);
      object.put("msg", "删除成功");
      out.print(object);
   }
    }
   @RequestMapping(value = "/gethomevideo", method = RequestMethod.POST)
   public void getHomeVideo(long id, PrintWriter out) {
      HomeVideo hv = homeTypeService.getHomeVideoById(id + "");
      if (hv == null) {
         JSONObject object = new JSONObject();
         object.put("code", 1);
         object.put("msg", "该视频不存在");
         out.print(object);
      } else {
         Gson gson = new GsonBuilder().create();
         JSONObject object = new JSONObject();
         object.put("code", 0);
         object.put("data", gson.toJson(hv));
         out.print(object);
      }
   }
    @RequestMapping(value = "/updatehometype", method = RequestMethod.POST)
    public void updateHomeType(@Valid HomeType homeType, String detailsystemids, PrintWriter out) {
        homeTypeService.deleteSuperHomeTypeByType(homeType.getId());
        if (!StringUtil.isNullOrEmpty(detailsystemids)) {
            String[] dss = detailsystemids.split(",");
            for (String did : dss) {
                SuperHomeType sht = new SuperHomeType();
                sht.setCreatetime(System.currentTimeMillis() + "");
                sht.setDetailSystem(new DetailSystem(did));
                sht.setHomeType(new HomeType(homeType.getId()));
                homeTypeService.addSuperHomeType(sht);
            }
        }
        HomeType ht = homeTypeService.getHomeTypeById(homeType.getId());
        ht.setActivity(homeType.getActivity());
        ht.setColumns(homeType.getColumns());
        ht.setHasMore(homeType.isHasMore());
        ht.setMoreTag(homeType.getMoreTag());
        ht.setRefreshPosition(homeType.getRefreshPosition());
        ht.setIcon(homeType.getIcon());
        ht.setIosControl(homeType.getIosControl());
        ht.setName(homeType.getName());
        ht.setNumber(homeType.getNumber());
        ht.setOrderby(homeType.getOrderby());
        ht.setParams(homeType.getParams());
        ht.setBigPicture(homeType.isBigPicture());
//        ht.setVideoType(homeType.getVideoType());
        ht.setSpecialDataKey(homeType.getSpecialDataKey());
        homeTypeService.updateHomeType(ht);
        JSONObject object = new JSONObject();
        object.put("code", 0);
        object.put("msg", "更改成功");
        out.print(object);
   @RequestMapping(value = "/updatehomevideo", method = RequestMethod.POST)
   public void updateHomeVideo(long id, String tag, String picture,String orderby, PrintWriter out) {
      HomeVideo hv = homeTypeService.getHomeVideoById(id + "");
      if (hv == null) {
         JSONObject object = new JSONObject();
         object.put("code", 1);
         object.put("msg", "该视频不存在");
         out.print(object);
      } else {
         hv.setPicture(picture);
         hv.setTag(tag);
         int ob=1;
         if(orderby !=null){
            ob=Integer.parseInt(orderby);
         }
         hv.setOrderby(ob);
         homeTypeService.updateHomeVideo(hv);
         JSONObject object = new JSONObject();
         object.put("code", 0);
         object.put("msg", "更新成功");
         out.print(object);
      }
   }
    }
    @RequestMapping(value = "/gethometype", method = RequestMethod.POST)
    public void getHomeType(long id, PrintWriter out) {
        HomeType ht = homeTypeService.getHomeTypeById(id + "");
        ht.setSystem(null);
        ht.setAdmin(null);
        List<DetailSystemSelect> selectList = homeTypeService.getDetailSystemSelectByType(id + "");
        Gson gson = new GsonBuilder().create();
        JSONObject object = new JSONObject();
        object.put("code", 0);
        object.put("data", gson.toJson(ht));
        for (DetailSystemSelect dss : selectList) {
            dss.getDetailSystem().setSystem(null);
        }
        object.put("detailsystemselect", gson.toJson(selectList));
        out.print(object);
    }
    @RequestMapping(value = "/deletehometype", method = RequestMethod.POST)
    public void deleteHomeType(String ids, PrintWriter out) {
        String[] idStrs = ids.split(",");
        for (String id : idStrs) {
            homeTypeService.deleteHomeType(id);
        }
        JSONObject object = new JSONObject();
        object.put("code", 0);
        object.put("msg", "删除成功");
        out.print(object);
    }
    @RequestMapping(value = "/deletesuperhometype", method = RequestMethod.POST)
    public void deleteSuperHomeType(long id, int detailsystem, PrintWriter out) {
        homeTypeService.deleteHomeTypeAdmin(id + "", detailsystem + "");
        JSONObject object = new JSONObject();
        object.put("code", 0);
        object.put("msg", "删除成功");
        out.print(object);
    }
    @RequestMapping(value = "/addsuperhometype", method = RequestMethod.POST)
    public void addSuperHomeType(long id, int detailsystem, PrintWriter out) {
        SuperHomeType sht = new SuperHomeType();
        sht.setCreatetime(System.currentTimeMillis() + "");
        sht.setDetailSystem(new DetailSystem(detailsystem + ""));
        sht.setHomeType(new HomeType(id + ""));
        homeTypeService.addSuperHomeType(sht);
        JSONObject object = new JSONObject();
        object.put("code", 0);
        object.put("msg", "添加成功");
        out.print(object);
    }
    @RequestMapping(value = "/gethomevideolist", method = RequestMethod.POST)
    public void getHomeVideoList(long id, int page, String key, PrintWriter out) {
        key = StringUtil.isNullOrEmpty(key) ? "" : key;
        List<HomeVideo> list = homeVideoService.getHomeVideoList(id + "", key, page);
        for (HomeVideo homeVideo : list) {
            homeVideo.setType(null);
            homeVideo.setAdmin(null);
        }
        long count = homeVideoService.getHomeVideoListCount(id + "", key);
        PageEntity pe = new PageEntity();
        pe.setPageIndex(page);
        pe.setPageSize(Constant.pageCount);
        pe.setTotalCount((int) count);
        Gson gson = new GsonBuilder().create();
        JSONObject data = new JSONObject();
        data.put("pageEntity", gson.toJson(pe));
        data.put("data", gson.toJson(list));
        JSONObject object = new JSONObject();
        object.put("code", 0);
        object.put("data", data);
        out.print(object);
    }
    @RequestMapping(value = "/deletehomevideo", method = RequestMethod.POST)
    public void deleteHomeVideo(String ids, PrintWriter out) {
        String[] idStrs = ids.split(",");
        for (String id : idStrs) {
            homeVideoService.deleteHomeVideo(new HomeVideo(id));
        }
        JSONObject object = new JSONObject();
        object.put("code", 0);
        object.put("msg", "删除成功");
        out.print(object);
    }
    @RequestMapping(value = "/gethomevideo", method = RequestMethod.POST)
    public void getHomeVideo(long id, PrintWriter out) {
        HomeVideo hv = homeTypeService.getHomeVideoById(id + "");
        if (hv == null) {
            JSONObject object = new JSONObject();
            object.put("code", 1);
            object.put("msg", "该视频不存在");
            out.print(object);
        } else {
            hv.setAdmin(null);
            hv.setType(null);
            hv.getVideo().setAdmin(null);
            Gson gson = new GsonBuilder().create();
            JSONObject object = new JSONObject();
            object.put("code", 0);
            object.put("data", gson.toJson(hv));
            out.print(object);
        }
    }
    @RequestMapping(value = "/updatehomevideo", method = RequestMethod.POST)
    public void updateHomeVideo(long id, String tag, String picture, String orderby, Boolean bigPicture, PrintWriter out) {
        HomeVideo hv = homeTypeService.getHomeVideoById(id + "");
        if (hv == null) {
            JSONObject object = new JSONObject();
            object.put("code", 1);
            object.put("msg", "该视频不存在");
            out.print(object);
        } else {
            hv.setPicture(picture);
            hv.setTag(tag);
            int ob = 1;
            if (orderby != null) {
                ob = Integer.parseInt(orderby);
            }
            hv.setOrderby(ob);
            hv.setBigPicture(bigPicture);
            homeVideoService.updateHomeVideo(hv);
            JSONObject object = new JSONObject();
            object.put("code", 0);
            object.put("msg", "更新成功");
            out.print(object);
        }
    }
}