package com.yeshi.fanli.controller.admin; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; 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; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @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) { try { RecommendActivity recommendActivity = activityService.getRecommendActivityById(id); if (recommendActivity ==null) { if (StringUtil.isNullOrEmpty(callback)) { out.print(JsonUtil.loadFalseResult("该动态已不存在")); } else { out.print(callback + "(" + JsonUtil.loadFalseResult("该动态已不存在") + ")"); } return; } if (recommendActivity.getType() == RecommendActivity.TYPE_INVITE) { RecommendActivityInviteInfo info = activityService .getRecommendActivityInviteInfoByActivityId(recommendActivity.getId()); recommendActivity.setInviteInfo(info); } Date startTime = recommendActivity.getStartTime(); Date endTime = recommendActivity.getEndTime(); if (startTime == null && endTime == null) { recommendActivity.setTimeTask(false); recommendActivity.setStartTime_str(""); recommendActivity.setEndTime_str(""); } else { recommendActivity.setTimeTask(true); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); if (startTime == null) { recommendActivity.setStartTime_str(""); } else { recommendActivity.setStartTime_str(sdf.format(startTime)); } if (endTime == null) { recommendActivity.setEndTime_str(""); } else { recommendActivity.setEndTime_str(sdf.format(endTime)); } } ActivityUser activityUser = recommendActivity.getActivityUser(); if (activityUser != null) { ActivityUser resultUser = activityService.selectActivityUserByPrimaryKey(activityUser.getId()); recommendActivity.setActivityUser(resultUser); } if (StringUtil.isNullOrEmpty(callback)) { out.print(JsonUtil.loadTrueResult(recommendActivity)); } else { out.print(callback + "(" + JsonUtil.loadTrueResult(recommendActivity) + ")"); } } catch (Exception e) { if (StringUtil.isNullOrEmpty(callback)) { out.print(JsonUtil.loadFalseResult("操作失败")); } else { out.print(callback + "(" + JsonUtil.loadFalseResult("操作失败") + ")"); } e.printStackTrace(); } } @RequestMapping(value = "addShareGoodsActivity") public void addShareGoodsActivity(String callback, Long uid, String actionIds, RecommendActivity activity, PrintWriter out) { if (uid == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请选择发布用户") + ")"); return; } if (StringUtil.isNullOrEmpty(actionIds)) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "选择商品") + ")"); return; } 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,auctionIds, activity); 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()) + ")"); } } catch (Exception e) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "操作失败") + ")"); e.printStackTrace(); } } // 修改商品分享动态 @RequestMapping(value = "updateShareGoodsActivity") public void updateShareGoodsActivity(String callback, Long uid, String actionIds, RecommendActivity activity, PrintWriter out) { if (activity.getId() == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请上传ID") + ")"); return; } if (uid == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请选择发布用户") + ")"); return; } if (StringUtil.isNullOrEmpty(activity.getTitle())) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请上传标题") + ")"); return; } if (StringUtil.isNullOrEmpty(actionIds)) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "选择商品") + ")"); return; } 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(uid, auctionIds, activity); 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()) + ")"); } } catch (Exception e) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "操作失败") + ")"); e.printStackTrace(); } } /** * 添加邀请动态 * * @param callback * @param uid * @param title * @param img * @param top * @param shareCount * @param out */ @RequestMapping(value = "addInviteActivity") public void addInviteActivity(String callback, Long uid,RecommendActivity activity, String img, int px, int py, int size, PrintWriter out) { if (uid == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请选择发布用户") + ")"); return; } if (StringUtil.isNullOrEmpty(activity.getTitle())) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请上传标题") + ")"); return; } if (StringUtil.isNullOrEmpty(img)) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "分享图不能为空") + ")"); return; } //去掉 图片路径前后空格 img = img.trim(); try { activityService.addInviteImgRecommendActivity(uid, activity, img, 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()) + ")"); } } catch (Exception e) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "操作失败") + ")"); e.printStackTrace(); } } /** * 更新邀请动态 * * @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 uid, RecommendActivity activity, String img, int px, int py, int size, PrintWriter out) { if (activity.getId() == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "ID不能为空") + ")"); return; } if (uid == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请选择发布用户") + ")"); return; } if (StringUtil.isNullOrEmpty(activity.getTitle())) { 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(uid, activity, img, 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()) + ")"); } catch (Exception e) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "操作失败") + ")"); e.printStackTrace(); } } /** * 添加图文动态 * * @param callback * @param uid * @param title * @param imgs * @param top * @param out */ @RequestMapping(value = "addTextImgActivity") public void addTextImgActivity(String callback, Long uid, RecommendActivity activity, String imgs, PrintWriter out) { if (uid == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请选择发布用户") + ")"); return; } if (StringUtil.isNullOrEmpty(activity.getTitle())) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请上传标题") + ")"); return; } 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).trim()); } try { activityService.addTextAndImgRecommendActivity(uid, imgList, activity); 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()) + ")"); } catch (Exception e) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "操作失败") + ")"); e.printStackTrace(); } } /** * 修改动态图文 * * @param callback * @param id * @param uid * @param title * @param imgs * @param top * @param out */ @RequestMapping(value = "updateTextImgActivity") public void updateTextImgActivity(String callback, Long uid, String imgs, RecommendActivity activity, PrintWriter out) { if (activity.getId() == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请上传ID") + ")"); return; } if (uid == null) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "请选择发布用户") + ")"); return; } if (StringUtil.isNullOrEmpty(activity.getTitle())) { 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).trim()); } try { activityService.updateTextAndImgRecommendActivity(uid, imgList, activity); 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()) + ")"); } catch (Exception e) { out.print(callback + "(" + JsonUtil.loadFalseResult(1, "操作失败") + ")"); e.printStackTrace(); } } /** * * @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 = activityService.queryRecommendActivityList(key, pageIndex, Constant.PAGE_SIZE); if (list == null || list.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据")); return; } for (RecommendActivity activity: list) { Date startTime = activity.getStartTime(); Date endTime = activity.getEndTime(); if (startTime == null && endTime == null) { activity.setTimeTask(false); activity.setStartTime_str(""); activity.setEndTime_str(""); } else { activity.setTimeTask(true); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); if (startTime == null) { activity.setStartTime_str(""); } else { activity.setStartTime_str(sdf.format(startTime)); } if (endTime == null) { activity.setEndTime_str(""); } else { activity.setEndTime_str(sdf.format(endTime)); } } } int count = (int) activityService.getRecommendActivityCount(key); 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(); } } }