package com.yeshi.fanli.controller.admin; import java.io.PrintWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import net.sf.json.JSONArray; 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.yeshi.utils.JsonUtil; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.yeshi.fanli.entity.bus.activity.ActivityUser; import com.yeshi.fanli.entity.bus.activity.RecommendActivity; import com.yeshi.fanli.entity.bus.activity.RecommendActivityInviteInfo; import com.yeshi.fanli.exception.ActivityException; import com.yeshi.fanli.service.inter.activity.ActivityService; import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; @Controller @RequestMapping("admin/new/api/v1/activity") public class ActivityAdminController { @Resource private ActivityService activityService; @Resource private TaoBaoGoodsBriefService taoBaoGoodsBriefService; /** * 获取活动用户列表 * * @param callback * @param out */ @RequestMapping(value = "getActivityUserList") public void getUserList(String callback, PrintWriter out) { List list = activityService.getActivityUserList(); if (StringUtil.isNullOrEmpty(callback)) { out.print(JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(list))); } else { out.print(callback + "(" + JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(list)) + ")"); } } @RequestMapping(value = "getActivity") public void getActivity(String callback, long id, PrintWriter out) { RecommendActivity recommendActivity = activityService.getRecommendActivityById(id); if (recommendActivity.getType() == RecommendActivity.TYPE_INVITE) { RecommendActivityInviteInfo info = activityService .getRecommendActivityInviteInfoByActivityId(recommendActivity.getId()); recommendActivity.setInviteInfo(info); } if (recommendActivity !=null) { ActivityUser activityUser = recommendActivity.getActivityUser(); if (activityUser != null) { ActivityUser resultUser = activityService.selectActivityUserByPrimaryKey(activityUser.getId()); if (resultUser != null) { recommendActivity.setActivityUser(resultUser); } } } if (StringUtil.isNullOrEmpty(callback)) { out.print(JsonUtil.loadTrueResult(recommendActivity)); } else { out.print(callback + "(" + JsonUtil.loadTrueResult(recommendActivity) + ")"); } } @RequestMapping(value = "addShareGoodsActivity") public void addShareGoodsActivity(String callback, Long uid, String title, String actionIds, boolean top, int shareCount, PrintWriter out) { if (uid == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请选择发布用户") + ")"); return; } if (StringUtil.isNullOrEmpty(title)) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请上传标题") + ")"); return; } if (StringUtil.isNullOrEmpty(actionIds)) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "选择商品") + ")"); return; } // title = Jsoup.parse(title).text(); JSONArray array = JSONArray.fromObject(actionIds); List auctionIds = new ArrayList<>(); for (int i = 0; i < array.size(); i++) { auctionIds.add(array.optLong(i)); } try { activityService.addShareGoodsRecommendActivity(uid, title, auctionIds, top, shareCount); if (StringUtil.isNullOrEmpty(callback)) { out.print(JsonUtil.loadTrueResult("添加成功")); } else { out.print(callback + "(" + JsonUtil.loadTrueResult("添加成功") + ")"); } } catch (ActivityException e) { if (StringUtil.isNullOrEmpty(callback)) { out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); } else { out.print(callback + "(" + JsonUtil.loadFalseResult(e.getCode(), e.getMsg()) + ")"); } } } // 修改商品分享动态 @RequestMapping(value = "updateShareGoodsActivity") public void updateShareGoodsActivity(String callback, Long id, Long uid, String title, String actionIds, boolean top, int shareCount, PrintWriter out) { if (id == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请上传ID") + ")"); return; } if (uid == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请选择发布用户") + ")"); return; } if (StringUtil.isNullOrEmpty(title)) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请上传标题") + ")"); return; } if (StringUtil.isNullOrEmpty(actionIds)) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "选择商品") + ")"); return; } // title = Jsoup.parse(title).text(); JSONArray array = JSONArray.fromObject(actionIds); List auctionIds = new ArrayList<>(); for (int i = 0; i < array.size(); i++) { auctionIds.add(array.optLong(i)); } try { activityService.updateShareGoodsRecommendActivity(id, uid, title, auctionIds, top, shareCount); if (StringUtil.isNullOrEmpty(callback)) { out.print(JsonUtil.loadTrueResult("添加成功")); } else { out.print(callback + "(" + JsonUtil.loadTrueResult("添加成功") + ")"); } } catch (ActivityException e) { if (StringUtil.isNullOrEmpty(callback)) { out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); } else { out.print(callback + "(" + JsonUtil.loadFalseResult(e.getCode(), e.getMsg()) + ")"); } } } /** * 添加邀请动态 * * @param callback * @param uid * @param title * @param img * @param top * @param shareCount * @param out */ @RequestMapping(value = "addInviteActivity") public void addInviteActivity(String callback, Long uid, String title, String img, boolean top, int shareCount, int px, int py, int size, PrintWriter out) { if (uid == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请选择发布用户") + ")"); return; } if (StringUtil.isNullOrEmpty(title)) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请上传标题") + ")"); return; } if (StringUtil.isNullOrEmpty(img)) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "分享图不能为空") + ")"); return; } // title = Jsoup.parse(title).text(); try { activityService.addInviteImgRecommendActivity(uid, title, img, top, shareCount, px, py, size); if (StringUtil.isNullOrEmpty(callback)) { out.print(JsonUtil.loadTrueResult("添加成功")); } else { out.print(callback + "(" + JsonUtil.loadTrueResult("添加成功") + ")"); } } catch (ActivityException e) { if (StringUtil.isNullOrEmpty(callback)) { out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); } else { out.print(callback + "(" + JsonUtil.loadFalseResult(e.getCode(), e.getMsg()) + ")"); } } } /** * 更新邀请动态 * * @param callback * @param id * @param uid * @param title * @param img * @param top * @param shareCount * @param out */ @RequestMapping(value = "updateInviteActivity") public void updateInviteActivity(String callback, Long id, Long uid, String title, String img, boolean top, int shareCount, int px, int py, int size, PrintWriter out) { if (id == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请选择用户") + ")"); return; } if (uid == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请选择发布用户") + ")"); return; } if (StringUtil.isNullOrEmpty(title)) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请上传标题") + ")"); return; } if (StringUtil.isNullOrEmpty(img)) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "分享图不能为空") + ")"); return; } // title = Jsoup.parse(title).text(); try { activityService.updateInviteImgRecommendActivity(id, uid, title, img, top, shareCount, px, py, size); if (StringUtil.isNullOrEmpty(callback)) out.print(JsonUtil.loadTrueResult("添加成功")); else out.print(callback + "(" + JsonUtil.loadTrueResult("添加成功") + ")"); } catch (ActivityException e) { if (StringUtil.isNullOrEmpty(callback)) out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); else out.print(callback + "(" + JsonUtil.loadFalseResult(e.getCode(), e.getMsg()) + ")"); } } /** * 添加图文动态 * * @param callback * @param uid * @param title * @param imgs * @param top * @param out */ @RequestMapping(value = "addTextImgActivity") public void addTextImgActivity(String callback, Long uid, String title, String imgs, boolean top, int shareCount, PrintWriter out) { if (uid == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请选择发布用户") + ")"); return; } if (StringUtil.isNullOrEmpty(title)) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请上传标题") + ")"); return; } // title = Jsoup.parse(title).text(); List imgList = new ArrayList<>(); if (!StringUtil.isNullOrEmpty(imgs)) { JSONArray array = JSONArray.fromObject(imgs); for (int i = 0; i < array.size(); i++) imgList.add(array.optString(i)); } try { activityService.addTextAndImgRecommendActivity(uid, title, imgList, top, shareCount); if (StringUtil.isNullOrEmpty(callback)) out.print(JsonUtil.loadTrueResult("添加成功")); else out.print(callback + "(" + JsonUtil.loadTrueResult("添加成功") + ")"); } catch (ActivityException e) { if (StringUtil.isNullOrEmpty(callback)) out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); else out.print(callback + "(" + JsonUtil.loadFalseResult(e.getCode(), e.getMsg()) + ")"); } } /** * 修改动态图文 * * @param callback * @param id * @param uid * @param title * @param imgs * @param top * @param out */ @RequestMapping(value = "updateTextImgActivity") public void updateTextImgActivity(String callback, Long id, Long uid, String title, String imgs, boolean top, int shareCount, PrintWriter out) { if (id == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请上传ID") + ")"); return; } if (uid == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请选择发布用户") + ")"); return; } if (StringUtil.isNullOrEmpty(title)) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请上传标题") + ")"); return; } // title = Jsoup.parse(title).text(); List imgList = new ArrayList<>(); if (!StringUtil.isNullOrEmpty(imgs)) { JSONArray array = JSONArray.fromObject(imgs); for (int i = 0; i < array.size(); i++) imgList.add(array.optString(i)); } try { activityService.updateTextAndImgRecommendActivity(id, uid, title, imgList, top, shareCount); if (StringUtil.isNullOrEmpty(callback)) out.print(JsonUtil.loadTrueResult("添加成功")); else out.print(callback + "(" + JsonUtil.loadTrueResult("添加成功") + ")"); } catch (ActivityException e) { if (StringUtil.isNullOrEmpty(callback)) out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); else out.print(callback + "(" + JsonUtil.loadFalseResult(e.getCode(), e.getMsg()) + ")"); } } /** * * @param pageIndex * 页数 * @param key * 查询条件 * @param out */ @RequestMapping(value = "getRecommendActivityList", method = RequestMethod.POST) public void getRecommendActivityList(int pageIndex, String key, PrintWriter out) { List recommendActivityList = null; if (StringUtil.isNullOrEmpty(key)) { recommendActivityList = activityService.getRecommendActivityList(pageIndex, Constant.PAGE_SIZE); } else { recommendActivityList = activityService.queryRecommendActivityList(key, pageIndex, Constant.PAGE_SIZE); } int count = (int) activityService.getRecommendActivityCount(); int totalPage = count % Constant.PAGE_SIZE == 0 ? count / Constant.PAGE_SIZE : count / Constant.PAGE_SIZE + 1; PageEntity pe = new PageEntity(pageIndex, Constant.PAGE_SIZE, count, totalPage); Map map = new HashMap(); map.put("key", key); pe.setParams(map); JSONObject data = new JSONObject(); data.put("pe", pe); data.put("recommendActivityList", recommendActivityList); out.print(JsonUtil.loadTrueResult(data)); return; } @RequestMapping(value = "deleteRecommendActivity", method = RequestMethod.POST) public void deleteRecommendActivity(long[] rsids, PrintWriter out) { // recommendSpecialService.deleteSpecials(rsids); activityService.deleteRecommendActivity(rsids); out.print(JsonUtil.loadTrueResult("删除成功")); } /** * * @param pageIndex * 页数 * @param key * 查询条件 * @param out */ @RequestMapping(value = "query") public void query(String callback, Integer pageIndex, Integer pageSize, String key, PrintWriter out) { if (pageIndex == null || pageIndex < 1) { pageIndex = 1; } if (pageSize == null || pageSize < 1) { pageSize = Constant.PAGE_SIZE; } try { List list = null; if (StringUtil.isNullOrEmpty(key)) { list = activityService.getRecommendActivityList(pageIndex, Constant.PAGE_SIZE); } else { list = activityService.queryRecommendActivityList(key, pageIndex, Constant.PAGE_SIZE); } if (list == null || list.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据")); return; } int count = (int) activityService.getRecommendActivityCount(); int totalPage = count % Constant.PAGE_SIZE == 0 ? count / Constant.PAGE_SIZE : count / Constant.PAGE_SIZE + 1; PageEntity pe = new PageEntity(pageIndex, Constant.PAGE_SIZE, count, totalPage); JSONObject data = new JSONObject(); data.put("pe", pe); data.put("result_list", list); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("查询失败")); e.printStackTrace(); } } @RequestMapping(value = "saveModify") public void saveModify(String callback, RecommendActivity recommendActivity, PrintWriter out) { try { Long id = recommendActivity.getId(); if (id == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID不能为空")); return; } RecommendActivity resultObj = activityService.selectByPrimaryKey(id); if (resultObj == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作数据已不存在")); return; } activityService.updateByPrimaryKeySelective(recommendActivity); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("修改成功")); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作异常")); e.printStackTrace(); } } @RequestMapping(value = "delete") public void delete(String callback, String idArray, PrintWriter out) { if (StringUtil.isNullOrEmpty(idArray)) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据")); return; } try { Gson gson = new Gson(); long[] hsids = gson.fromJson(idArray, new TypeToken() {}.getType()); if (hsids == null || hsids.length == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据")); return; } activityService.deleteRecommendActivity(hsids); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("删除成功")); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败")); e.printStackTrace(); } } }