package com.yeshi.buwan.controller.admin.api;
|
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.yeshi.buwan.domain.HomeType;
|
import com.yeshi.buwan.domain.HomeVideo;
|
import com.yeshi.buwan.domain.SuperHomeType;
|
import com.yeshi.buwan.domain.recommend.HomeRecommendSpecial;
|
import com.yeshi.buwan.domain.system.DetailSystem;
|
import com.yeshi.buwan.domain.web.DetailSystemSelect;
|
import com.yeshi.buwan.domain.web.HomeTypeAdmin;
|
import com.yeshi.buwan.service.imp.HomeTypeService;
|
import com.yeshi.buwan.service.inter.recommend.HomeRecommendSpecialService;
|
import com.yeshi.buwan.service.inter.recommend.HomeVideoService;
|
import com.yeshi.buwan.util.Constant;
|
import com.yeshi.buwan.util.StringUtil;
|
import com.yeshi.buwan.util.SystemUtil;
|
import com.yeshi.buwan.util.video.VideoUtil;
|
import com.yeshi.buwan.web.tag.PageEntity;
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.validation.BindingResult;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpSession;
|
import javax.validation.Valid;
|
import java.io.PrintWriter;
|
import java.io.Serializable;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@Controller
|
@RequestMapping("admin/new/api/home")
|
public class HomeTypeController {
|
|
@Resource
|
private HomeTypeService homeTypeService;
|
|
@Resource
|
private HomeVideoService homeVideoService;
|
|
@Resource
|
private HomeRecommendSpecialService homeRecommendSpecialService;
|
|
@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);
|
}
|
|
@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();
|
}
|
}
|
|
|
List<HomeTypeAdmin> list = homeTypeService.getHomeTypeAdmin(key, SystemUtil.getAdminSelectedSystemId(session), dataKey, detailsystem, page);
|
|
//拉取标签
|
|
|
Map<String, HomeRecommendSpecial> specialMap = new HashMap<>();
|
|
|
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));
|
|
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);
|
|
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<>();
|
|
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);
|
}
|
}
|
|
homeVideoService.addHomeVideo(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, HttpSession session,
|
PrintWriter out) {
|
if (bingdingResult.hasErrors()) {// 错误
|
|
}
|
homeType.setCreatetime(System.currentTimeMillis() + "");
|
homeType.setSystem(SystemUtil.getAdminSelectedSystem(session));
|
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);
|
}
|
|
}
|
|
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 = "/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 = "/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);
|
}
|
}
|
|
}
|