From 62a447d89331aee1feae7724c7616aa1bb2cfe79 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 16 十月 2024 14:28:37 +0800 Subject: [PATCH] 将CMQ替换为rabbitmq --- fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SwiperBannerAdminController.java | 1248 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 624 insertions(+), 624 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SwiperBannerAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SwiperBannerAdminController.java index b822ad2..9e93961 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SwiperBannerAdminController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SwiperBannerAdminController.java @@ -1,624 +1,624 @@ -package com.yeshi.fanli.controller.admin.homemodule; - -import java.io.PrintWriter; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import com.yeshi.fanli.entity.accept.AdminAcceptData; -import org.apache.commons.beanutils.PropertyUtils; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.multipart.MultipartHttpServletRequest; -import org.yeshi.utils.JsonUtil; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.reflect.TypeToken; -import com.yeshi.fanli.entity.AppVersionInfo; -import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl; -import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl.AdActivityType; -import com.yeshi.fanli.entity.bus.homemodule.CommonShareInfo; -import com.yeshi.fanli.entity.bus.homemodule.CommonShareInfo.CommonShareInfoEnum; -import com.yeshi.fanli.entity.bus.homemodule.SwiperBanner; -import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture; -import com.yeshi.fanli.entity.common.JumpDetailV2; -import com.yeshi.fanli.exception.banner.SwiperBannerException; -import com.yeshi.fanli.exception.banner.SwiperPictureException; -import com.yeshi.fanli.log.LogHelper; -import com.yeshi.fanli.service.inter.config.AppVersionService; -import com.yeshi.fanli.service.inter.homemodule.AdActivityVersionControlService; -import com.yeshi.fanli.service.inter.homemodule.CommonShareInfoService; -import com.yeshi.fanli.service.inter.homemodule.SwiperBannerService; -import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService; -import com.yeshi.common.entity.PageEntity; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.StringUtil; -import com.yeshi.fanli.vo.homemodule.BannerVO; - -import net.sf.json.JSONArray; -import net.sf.json.JSONObject; - -/** - * 杞挱鍥剧鐞� - * - * @author Administrator - * - */ -@Controller -@RequestMapping("admin/new/api/v1/swiperbanner") -public class SwiperBannerAdminController { - - @Resource - private SwiperBannerService swiperBannerService; - - @Resource - private SwiperPictureService swiperPictureService; - - @Resource - private AppVersionService appVersionService; - - @Resource - private AdActivityVersionControlService adActivityVersionControlService; - - @Resource - private CommonShareInfoService commonShareInfoService; - - - /** - * 鏂板 - * - * @param callback - * @param swiperBanner - * @param out - */ - @RequestMapping(value = "saveAdd") - public void saveAdd(AdminAcceptData acceptData, String callback, SwiperBanner swiperBanner, PrintWriter out) { - - try { - String title = swiperBanner.getTitle(); - String card = swiperBanner.getCard(); - - if (StringUtil.isNullOrEmpty(title) || StringUtil.isNullOrEmpty(card)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍚嶇О涓庢爣璇嗕笉鑳戒负绌�")); - return; - } - - if (swiperBanner.getState() == null) { - swiperBanner.setState(1);// 榛樿鍋滅敤 - } - - Date nowTime = new Date(); - swiperBanner.setCreatetime(nowTime); - swiperBanner.setUpdatetime(nowTime); - swiperBanner.setSystem(acceptData.getSystem()); - swiperBannerService.insertSelective(swiperBanner); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("娣诲姞鎴愬姛")); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - LogHelper.errorDetailInfo(e); - e.printStackTrace(); - } - } - - /** - * 淇敼 - * - * @param callback - * @param swiperBanner - * @param out - */ - @RequestMapping(value = "saveModify") - public void saveModify(AdminAcceptData acceptData, String callback, SwiperBanner swiperBanner, PrintWriter out) { - try { - Long id = swiperBanner.getId(); - if (id == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID涓嶈兘涓虹┖")); - return; - } - - SwiperBanner resultObj = swiperBannerService.selectByPrimaryKey(id); - if (resultObj == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔鏁版嵁宸蹭笉瀛樺湪")); - return; - } - - String title = swiperBanner.getTitle(); - String card = swiperBanner.getCard(); - if (StringUtil.isNullOrEmpty(title) && StringUtil.isNullOrEmpty(card)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇敼鍐呭涓嶈兘涓虹┖")); - return; - } - - if (swiperBanner.getState() == null) { - swiperBanner.setState(1);// 榛樿鍋滅敤 - } - - if (StringUtil.isNullOrEmpty(title)) { - swiperBanner.setTitle(null); - } - - if (StringUtil.isNullOrEmpty(card)) { - swiperBanner.setCard(null); - } - swiperBanner.setUpdatetime(new Date()); - swiperBannerService.updateByPrimaryKeySelective(swiperBanner); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇敼鎴愬姛")); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - LogHelper.errorDetailInfo(e); - e.printStackTrace(); - } - } - - /** - * 淇敼鐘舵�� - * @param callback - * @param id - * @param out - */ - @RequestMapping(value = "switchState") - public void switchState(AdminAcceptData acceptData, String callback, Long id, PrintWriter out) { - try { - swiperBannerService.switchState(id); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); - } catch (SwiperBannerException e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); - LogHelper.errorDetailInfo(e); - e.printStackTrace(); - } - } - - /** - * 鏌ヨ - * @param acceptData - * @param callback - * @param pageIndex - * @param pageSize - * @param key 妯$硦鏌ヨ锛氳鏄庛�佹爣璇� - * @param sort 鎺掑簭 锛� 鍒涘缓鏃堕棿鍊掑簭1 榛樿姝e簭 - * @param out - */ - @RequestMapping(value = "query") - public void query(AdminAcceptData acceptData, String callback, Integer pageIndex, Integer pageSize, String key, Integer sort, PrintWriter out) { - if (pageIndex == null || pageIndex < 1) { - pageIndex = 1; - } - - if (pageSize == null || pageSize < 1) { - pageSize = Constant.PAGE_SIZE; - } - try { - List<SwiperBanner> list = swiperBannerService.query((pageIndex - 1) * pageSize, pageSize, key, sort,acceptData.getSystem()); - if (list == null || list.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); - return; - } - - for (SwiperBanner swiperBanne : list) { - if (swiperBanne.getState() != null && swiperBanne.getState() == 0) { - swiperBanne.setState(1); - } else { - swiperBanne.setState(0); - } - long TotalPic = swiperPictureService.countQueryByBannerID(swiperBanne.getId()); - swiperBanne.setTotalPic(TotalPic); - } - - long count = swiperBannerService.countQuery(key,acceptData.getSystem()); - int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); - PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); - - GsonBuilder gsonBuilder = new GsonBuilder(); - gsonBuilder.serializeNulls(); - Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create(); - - JSONObject data = new JSONObject(); - data.put("pe", pe); - data.put("result_list", gson.toJson(list)); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - LogHelper.errorDetailInfo(e); - e.printStackTrace(); - } - } - - /** - * 鍒犻櫎 - * - * @param callback - * @param idArray - * @param out - */ - @RequestMapping(value = "delete") - public void delete(AdminAcceptData acceptData, String callback, String idArray, PrintWriter out) { - try { - if (StringUtil.isNullOrEmpty(idArray)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鎿嶄綔鐨勬暟鎹�")); - return; - } - - Gson gson = new Gson(); - List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() { - }.getType()); - - if (list == null || list.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈娴嬪埌鍒犻櫎鐨勬暟鎹�")); - return; - } - int count = swiperBannerService.deleteBatchByPrimaryKey(list); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎴愬姛鍒犻櫎[" + count + "]鏉℃暟鎹�")); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒犻櫎澶辫触")); - LogHelper.errorDetailInfo(e); - e.printStackTrace(); - } - } - - @RequestMapping(value = "getEffectiveOption") - public void getEffectiveOption(AdminAcceptData acceptData, String callback, PrintWriter out) { - try { - List<Object> list = new ArrayList<Object>(); - Map<String, Object> mapDefalut = new HashMap<String, Object>(); - mapDefalut.put("key", 0); - mapDefalut.put("value", "--鏈�夋嫨--"); - list.add(mapDefalut); - - List<SwiperBanner> listBanner = swiperBannerService.getEffectiveOption(acceptData.getSystem()); - if (listBanner != null && listBanner.size() > 0) { - for (SwiperBanner swiperBanner : listBanner) { - Map<String, Object> map = new HashMap<String, Object>(); - map.put("key", swiperBanner.getId()); - map.put("value", swiperBanner.getTitle()); - list.add(map); - } - } - - JSONObject data = new JSONObject(); - data.put("result_list", list); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒犻櫎澶辫触")); - LogHelper.errorDetailInfo(e); - e.printStackTrace(); - } - } - - /** - * 鏌ヨ鍥剧墖鍒楄〃 - * - * @param callback - * @param pageIndex - * @param pageSize - * @param bannerId - * @param out - */ - @RequestMapping(value = "queryPicInfo") - public void queryPicInfo(AdminAcceptData acceptData, String callback, Integer pageIndex, Integer pageSize, Long bannerId, String version, - String platform, PrintWriter out) { - if (bannerId == null) { - out.print(JsonUtil.loadFalseResult("杞挱鍥剧鐞咺D涓嶈兘涓虹┖")); - return; - } - if (pageIndex == null || pageIndex < 1) { - pageIndex = 1; - } - if (pageSize == null || pageSize < 1) { - pageSize = 100; - } - List<AppVersionInfo> versionList = null; - if (!StringUtil.isNullOrEmpty(version) || !StringUtil.isNullOrEmpty(platform)) { - versionList = new ArrayList<>(); - if (!StringUtil.isNullOrEmpty(version)) { - AppVersionInfo appVersion = appVersionService.selectByPrimaryKey(Long.parseLong(version)); - if (appVersion != null) - versionList.add(appVersion); - } else { - List<AppVersionInfo> appVersionList = appVersionService.getAppVersionInfoListByPlatform(platform,acceptData.getSystem()); - if (appVersionList != null) { - versionList.addAll(appVersionList); - } - } - } - - try { - List<SwiperPicture> listPic = swiperPictureService.queryByBannerID((pageIndex - 1) * pageSize, pageSize, - bannerId); - if (listPic == null || listPic.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); - return; - } - - List<BannerVO> list = new ArrayList<BannerVO>(); - // 璺宠浆閾炬帴 - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); - for (SwiperPicture swiperPicture : listPic) { - BannerVO bannerVO = new BannerVO(); - try { - PropertyUtils.copyProperties(bannerVO, swiperPicture); - } catch (Exception e) { - e.printStackTrace(); - continue; - } - - - if (bannerVO.getState() != null && bannerVO.getState() == 0) { - bannerVO.setState(1); - } else { - bannerVO.setState(0); - } - - - Date startTime = bannerVO.getStartTime(); - if (startTime == null) { - bannerVO.setStartTime_str(""); - } else { - bannerVO.setStartTime_str(sdf.format(startTime)); - } - - Date endTime = bannerVO.getEndTime(); - if (endTime == null) { - bannerVO.setEndTime_str(""); - } else { - bannerVO.setEndTime_str(sdf.format(endTime)); - } - - String params = bannerVO.getParams(); - if (params == null) { - bannerVO.setParams(""); - } - - String remark = bannerVO.getRemark(); - if (remark == null) { - bannerVO.setRemark(""); - } - - JumpDetailV2 jumpDetail = bannerVO.getJumpDetail(); - if (jumpDetail == null) { - // 榛樿鏈�夋嫨 - JumpDetailV2 jumpDetailV2 = new JumpDetailV2(); - jumpDetailV2.setName("-鏈�夋嫨-"); - jumpDetailV2.setType("default"); - bannerVO.setJumpDetail(jumpDetailV2); - } - - // 鍒嗕韩琛ュ厖淇℃伅 - CommonShareInfo info = commonShareInfoService.getByPidAndType(bannerVO.getId(), - CommonShareInfoEnum.banner.name()); - if (info == null) { - bannerVO.setNeedSpin(false); - bannerVO.setComment(""); - } else { - bannerVO.setNeedSpin(info.getNeedSpin()); - if (StringUtil.isNullOrEmpty(info.getComment())) { - bannerVO.setComment(""); - } else { - bannerVO.setComment(info.getComment()); - } - } - list.add(bannerVO); - } - - long count = swiperPictureService.countQueryByBannerID(bannerId); - // 杩囨护 - if (versionList != null) { - if (versionList.size() > 0) { - List<Long> sourceIdList = new ArrayList<>(); - for (SwiperPicture swiperPicture : list) { - sourceIdList.add(swiperPicture.getId()); - } - List<Long> versionIdList = new ArrayList<>(); - for (AppVersionInfo versionInfo : versionList) - versionIdList.add(versionInfo.getId()); - Set<Long> sets = adActivityVersionControlService.filterSourceIdByVersion(sourceIdList, - AdActivityType.banner, versionIdList); - - for (int i = 0; i < list.size(); i++) { - if (!sets.contains(list.get(i).getId())) { - list.remove(i--); - } - } - count = list.size(); - } else { - list.clear(); - count = 0; - } - } - - int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); - PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); - - GsonBuilder gsonBuilder = new GsonBuilder(); - gsonBuilder.serializeNulls(); - Gson gson = gsonBuilder.setDateFormat("yyyy-MM-dd'T'HH:mm").create(); - - JSONObject data = new JSONObject(); - data.put("pe", pe); - data.put("result_list", gson.toJson(list)); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (SwiperPictureException e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - LogHelper.errorDetailInfo(e); - e.printStackTrace(); - } - - } - - /** - * 淇濆瓨淇℃伅 - * - * @param callback - * @param special - * @param out - */ - @RequestMapping(value = "savePicInfo") - public void savePicInfo(AdminAcceptData acceptData, String callback, SwiperPicture record, String jumpType, CommonShareInfo extra, - HttpServletRequest request, PrintWriter out) { - try { - record.setSystem(acceptData.getSystem()); - // 1. 鍏堝垽鏂環ttpRequest 鏄惁鍚湁鏂囦欢绫诲瀷 - if (request instanceof MultipartHttpServletRequest) { - MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request; - swiperPictureService.saveObject(fileRequest.getFile("file"), record, jumpType, extra); - } else { - swiperPictureService.saveObject(null, record, jumpType, extra); - } - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); - } catch (SwiperPictureException e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇濆瓨澶辫触")); - LogHelper.errorDetailInfo(e); - e.printStackTrace(); - } - } - - - /** - * 淇敼鐘舵�� - * @param callback - * @param id - * @param out - */ - @RequestMapping(value = "switchStatePic") - public void switchStatePic(AdminAcceptData acceptData, String callback, Long id, PrintWriter out) { - try { - swiperPictureService.switchState(id); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); - } catch (SwiperPictureException e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); - LogHelper.errorDetailInfo(e); - e.printStackTrace(); - } - } - - - /** - * 鍒犻櫎鍥剧墖浠ュ強淇℃伅 - * - * @param callback - * @param idArray - * @param out - */ - @RequestMapping(value = "deletePicInfo") - public void deletePicInfo(AdminAcceptData acceptData, String callback, String idArray, PrintWriter out) { - try { - if (StringUtil.isNullOrEmpty(idArray)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鎿嶄綔鐨勬暟鎹�")); - return; - } - - Gson gson = new Gson(); - List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() { - }.getType()); - - if (list == null || list.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈娴嬪埌鍒犻櫎鐨勬暟鎹�")); - return; - } - - int count = swiperPictureService.deleteBatchByPrimaryKey(list); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎴愬姛鍒犻櫎[" + count + "]鏉℃暟鎹�")); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒犻櫎澶辫触")); - LogHelper.errorDetailInfo(e); - e.printStackTrace(); - } - } - - /** - * 淇敼鎺掑簭 - * - * @param callback - * @param goodsClass - * @param out - */ - @RequestMapping(value = "saveOrder") - public void saveOrder(AdminAcceptData acceptData, String callback, Long id, Integer moveType, PrintWriter out) { - if (moveType == null || (!moveType.equals(1) && !moveType.equals(-1))) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掔殑绫诲瀷涓嶆纭�")); - return; - } - - if (id == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID涓嶈兘涓虹┖")); - return; - } - - try { - SwiperPicture resultObj = swiperPictureService.selectByPrimaryKey(id); - if (resultObj == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔鏁版嵁宸蹭笉瀛樺湪")); - return; - } - - Long bannerId = resultObj.getBannerId(); - Integer oldOrder = resultObj.getOrder(); - List<SwiperPicture> list = swiperPictureService.getOrderByBannerID(bannerId, moveType, oldOrder); - - if (list != null && list.size() > 0) { - SwiperPicture changeObj = list.get(0); - // 浜ゆ崲鎺掑簭搴忓彿 - resultObj.setOrder(changeObj.getOrder()); - changeObj.setOrder(oldOrder); - swiperPictureService.updateByPrimaryKeySelective(changeObj); - } - - swiperPictureService.updateByPrimaryKeySelective(resultObj); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - LogHelper.errorDetailInfo(e); - e.printStackTrace(); - } - } - - /** - * 璁剧疆鐗堟湰 - * - * @param callback - * @param id - * @param out - */ - @RequestMapping(value = "setVersions") - public void setVersions(AdminAcceptData acceptData, String callback, Long id, String versions, PrintWriter out) { - JSONArray versionArray = JSONArray.fromObject(versions); - List<Long> versionIds = new ArrayList<>(); - for (int i = 0; i < versionArray.size(); i++) { - Long version = versionArray.optLong(i); - versionIds.add(version); - } - try { - swiperPictureService.setVersions(id, versionIds); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("")); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMessage())); - } - } - - @RequestMapping(value = "getVersions") - public void getVersions(AdminAcceptData acceptData, String callback, Long id, PrintWriter out) { - List<AdActivityVersionControl> list = adActivityVersionControlService - .listByTypeAndSourceId(AdActivityType.banner, id); - - List<Long> versionList = new ArrayList<>(); - if (list != null) - for (AdActivityVersionControl control : list) - versionList.add(control.getVersion().getId()); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(versionList)); - } - -} +package com.yeshi.fanli.controller.admin.homemodule; + +import java.io.PrintWriter; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import com.yeshi.fanli.entity.accept.AdminAcceptData; +import org.apache.commons.beanutils.PropertyUtils; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.yeshi.utils.JsonUtil; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.reflect.TypeToken; +import com.yeshi.fanli.entity.AppVersionInfo; +import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl; +import com.yeshi.fanli.entity.bus.homemodule.AdActivityVersionControl.AdActivityType; +import com.yeshi.fanli.entity.bus.homemodule.CommonShareInfo; +import com.yeshi.fanli.entity.bus.homemodule.CommonShareInfo.CommonShareInfoEnum; +import com.yeshi.fanli.entity.bus.homemodule.SwiperBanner; +import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture; +import com.yeshi.fanli.entity.common.JumpDetailV2; +import com.yeshi.fanli.exception.banner.SwiperBannerException; +import com.yeshi.fanli.exception.banner.SwiperPictureException; +import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.service.inter.config.AppVersionService; +import com.yeshi.fanli.service.inter.homemodule.AdActivityVersionControlService; +import com.yeshi.fanli.service.inter.homemodule.CommonShareInfoService; +import com.yeshi.fanli.service.inter.homemodule.SwiperBannerService; +import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService; +import com.yeshi.common.entity.PageEntity; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.vo.homemodule.BannerVO; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +/** + * 杞挱鍥剧鐞� + * + * @author Administrator + * + */ +@Controller +@RequestMapping("admin/new/api/v1/swiperbanner") +public class SwiperBannerAdminController { + + @Resource + private SwiperBannerService swiperBannerService; + + @Resource + private SwiperPictureService swiperPictureService; + + @Resource + private AppVersionService appVersionService; + + @Resource + private AdActivityVersionControlService adActivityVersionControlService; + + @Resource + private CommonShareInfoService commonShareInfoService; + + + /** + * 鏂板 + * + * @param callback + * @param swiperBanner + * @param out + */ + @RequestMapping(value = "saveAdd") + public void saveAdd(AdminAcceptData acceptData, String callback, SwiperBanner swiperBanner, PrintWriter out) { + + try { + String title = swiperBanner.getTitle(); + String card = swiperBanner.getCard(); + + if (StringUtil.isNullOrEmpty(title) || StringUtil.isNullOrEmpty(card)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍚嶇О涓庢爣璇嗕笉鑳戒负绌�")); + return; + } + + if (swiperBanner.getState() == null) { + swiperBanner.setState(1);// 榛樿鍋滅敤 + } + + Date nowTime = new Date(); + swiperBanner.setCreatetime(nowTime); + swiperBanner.setUpdatetime(nowTime); + swiperBanner.setSystem(acceptData.getSystem()); + swiperBannerService.insertSelective(swiperBanner); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("娣诲姞鎴愬姛")); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + LogHelper.errorDetailInfo(e); + e.printStackTrace(); + } + } + + /** + * 淇敼 + * + * @param callback + * @param swiperBanner + * @param out + */ + @RequestMapping(value = "saveModify") + public void saveModify(AdminAcceptData acceptData, String callback, SwiperBanner swiperBanner, PrintWriter out) { + try { + Long id = swiperBanner.getId(); + if (id == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID涓嶈兘涓虹┖")); + return; + } + + SwiperBanner resultObj = swiperBannerService.selectByPrimaryKey(id); + if (resultObj == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔鏁版嵁宸蹭笉瀛樺湪")); + return; + } + + String title = swiperBanner.getTitle(); + String card = swiperBanner.getCard(); + if (StringUtil.isNullOrEmpty(title) && StringUtil.isNullOrEmpty(card)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇敼鍐呭涓嶈兘涓虹┖")); + return; + } + + if (swiperBanner.getState() == null) { + swiperBanner.setState(1);// 榛樿鍋滅敤 + } + + if (StringUtil.isNullOrEmpty(title)) { + swiperBanner.setTitle(null); + } + + if (StringUtil.isNullOrEmpty(card)) { + swiperBanner.setCard(null); + } + swiperBanner.setUpdatetime(new Date()); + swiperBannerService.updateByPrimaryKeySelective(swiperBanner); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇敼鎴愬姛")); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + LogHelper.errorDetailInfo(e); + e.printStackTrace(); + } + } + + /** + * 淇敼鐘舵�� + * @param callback + * @param id + * @param out + */ + @RequestMapping(value = "switchState") + public void switchState(AdminAcceptData acceptData, String callback, Long id, PrintWriter out) { + try { + swiperBannerService.switchState(id); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); + } catch (SwiperBannerException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); + LogHelper.errorDetailInfo(e); + e.printStackTrace(); + } + } + + /** + * 鏌ヨ + * @param acceptData + * @param callback + * @param pageIndex + * @param pageSize + * @param key 妯$硦鏌ヨ锛氳鏄庛�佹爣璇� + * @param sort 鎺掑簭 锛� 鍒涘缓鏃堕棿鍊掑簭1 榛樿姝e簭 + * @param out + */ + @RequestMapping(value = "query") + public void query(AdminAcceptData acceptData, String callback, Integer pageIndex, Integer pageSize, String key, Integer sort, PrintWriter out) { + if (pageIndex == null || pageIndex < 1) { + pageIndex = 1; + } + + if (pageSize == null || pageSize < 1) { + pageSize = Constant.PAGE_SIZE; + } + try { + List<SwiperBanner> list = swiperBannerService.query((pageIndex - 1) * pageSize, pageSize, key, sort,acceptData.getSystem()); + if (list == null || list.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); + return; + } + + for (SwiperBanner swiperBanne : list) { + if (swiperBanne.getState() != null && swiperBanne.getState() == 0) { + swiperBanne.setState(1); + } else { + swiperBanne.setState(0); + } + long TotalPic = swiperPictureService.countQueryByBannerID(swiperBanne.getId()); + swiperBanne.setTotalPic(TotalPic); + } + + long count = swiperBannerService.countQuery(key,acceptData.getSystem()); + int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); + PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); + + GsonBuilder gsonBuilder = new GsonBuilder(); + gsonBuilder.serializeNulls(); + Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create(); + + JSONObject data = new JSONObject(); + data.put("pe", pe); + data.put("result_list", gson.toJson(list)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + LogHelper.errorDetailInfo(e); + e.printStackTrace(); + } + } + + /** + * 鍒犻櫎 + * + * @param callback + * @param idArray + * @param out + */ + @RequestMapping(value = "delete") + public void delete(AdminAcceptData acceptData, String callback, String idArray, PrintWriter out) { + try { + if (StringUtil.isNullOrEmpty(idArray)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鎿嶄綔鐨勬暟鎹�")); + return; + } + + Gson gson = new Gson(); + List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() { + }.getType()); + + if (list == null || list.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈娴嬪埌鍒犻櫎鐨勬暟鎹�")); + return; + } + int count = swiperBannerService.deleteBatchByPrimaryKey(list); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎴愬姛鍒犻櫎[" + count + "]鏉℃暟鎹�")); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒犻櫎澶辫触")); + LogHelper.errorDetailInfo(e); + e.printStackTrace(); + } + } + + @RequestMapping(value = "getEffectiveOption") + public void getEffectiveOption(AdminAcceptData acceptData, String callback, PrintWriter out) { + try { + List<Object> list = new ArrayList<Object>(); + Map<String, Object> mapDefalut = new HashMap<String, Object>(); + mapDefalut.put("key", 0); + mapDefalut.put("value", "--鏈�夋嫨--"); + list.add(mapDefalut); + + List<SwiperBanner> listBanner = swiperBannerService.getEffectiveOption(acceptData.getSystem()); + if (listBanner != null && listBanner.size() > 0) { + for (SwiperBanner swiperBanner : listBanner) { + Map<String, Object> map = new HashMap<String, Object>(); + map.put("key", swiperBanner.getId()); + map.put("value", swiperBanner.getTitle()); + list.add(map); + } + } + + JSONObject data = new JSONObject(); + data.put("result_list", list); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒犻櫎澶辫触")); + LogHelper.errorDetailInfo(e); + e.printStackTrace(); + } + } + + /** + * 鏌ヨ鍥剧墖鍒楄〃 + * + * @param callback + * @param pageIndex + * @param pageSize + * @param bannerId + * @param out + */ + @RequestMapping(value = "queryPicInfo") + public void queryPicInfo(AdminAcceptData acceptData, String callback, Integer pageIndex, Integer pageSize, Long bannerId, String version, + String platform, PrintWriter out) { + if (bannerId == null) { + out.print(JsonUtil.loadFalseResult("杞挱鍥剧鐞咺D涓嶈兘涓虹┖")); + return; + } + if (pageIndex == null || pageIndex < 1) { + pageIndex = 1; + } + if (pageSize == null || pageSize < 1) { + pageSize = 100; + } + List<AppVersionInfo> versionList = null; + if (!StringUtil.isNullOrEmpty(version) || !StringUtil.isNullOrEmpty(platform)) { + versionList = new ArrayList<>(); + if (!StringUtil.isNullOrEmpty(version)) { + AppVersionInfo appVersion = appVersionService.selectByPrimaryKey(Long.parseLong(version)); + if (appVersion != null) + versionList.add(appVersion); + } else { + List<AppVersionInfo> appVersionList = appVersionService.getAppVersionInfoListByPlatform(platform,acceptData.getSystem()); + if (appVersionList != null) { + versionList.addAll(appVersionList); + } + } + } + + try { + List<SwiperPicture> listPic = swiperPictureService.queryByBannerID((pageIndex - 1) * pageSize, pageSize, + bannerId); + if (listPic == null || listPic.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); + return; + } + + List<BannerVO> list = new ArrayList<BannerVO>(); + // 璺宠浆閾炬帴 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"); + for (SwiperPicture swiperPicture : listPic) { + BannerVO bannerVO = new BannerVO(); + try { + PropertyUtils.copyProperties(bannerVO, swiperPicture); + } catch (Exception e) { + e.printStackTrace(); + continue; + } + + + if (bannerVO.getState() != null && bannerVO.getState() == 0) { + bannerVO.setState(1); + } else { + bannerVO.setState(0); + } + + + Date startTime = bannerVO.getStartTime(); + if (startTime == null) { + bannerVO.setStartTime_str(""); + } else { + bannerVO.setStartTime_str(sdf.format(startTime)); + } + + Date endTime = bannerVO.getEndTime(); + if (endTime == null) { + bannerVO.setEndTime_str(""); + } else { + bannerVO.setEndTime_str(sdf.format(endTime)); + } + + String params = bannerVO.getParams(); + if (params == null) { + bannerVO.setParams(""); + } + + String remark = bannerVO.getRemark(); + if (remark == null) { + bannerVO.setRemark(""); + } + + JumpDetailV2 jumpDetail = bannerVO.getJumpDetail(); + if (jumpDetail == null) { + // 榛樿鏈�夋嫨 + JumpDetailV2 jumpDetailV2 = new JumpDetailV2(); + jumpDetailV2.setName("-鏈�夋嫨-"); + jumpDetailV2.setType("default"); + bannerVO.setJumpDetail(jumpDetailV2); + } + + // 鍒嗕韩琛ュ厖淇℃伅 + CommonShareInfo info = commonShareInfoService.getByPidAndType(bannerVO.getId(), + CommonShareInfoEnum.banner.name()); + if (info == null) { + bannerVO.setNeedSpin(false); + bannerVO.setComment(""); + } else { + bannerVO.setNeedSpin(info.getNeedSpin()); + if (StringUtil.isNullOrEmpty(info.getComment())) { + bannerVO.setComment(""); + } else { + bannerVO.setComment(info.getComment()); + } + } + list.add(bannerVO); + } + + long count = swiperPictureService.countQueryByBannerID(bannerId); + // 杩囨护 + if (versionList != null) { + if (versionList.size() > 0) { + List<Long> sourceIdList = new ArrayList<>(); + for (SwiperPicture swiperPicture : list) { + sourceIdList.add(swiperPicture.getId()); + } + List<Long> versionIdList = new ArrayList<>(); + for (AppVersionInfo versionInfo : versionList) + versionIdList.add(versionInfo.getId()); + Set<Long> sets = adActivityVersionControlService.filterSourceIdByVersion(sourceIdList, + AdActivityType.banner, versionIdList); + + for (int i = 0; i < list.size(); i++) { + if (!sets.contains(list.get(i).getId())) { + list.remove(i--); + } + } + count = list.size(); + } else { + list.clear(); + count = 0; + } + } + + int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); + PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); + + GsonBuilder gsonBuilder = new GsonBuilder(); + gsonBuilder.serializeNulls(); + Gson gson = gsonBuilder.setDateFormat("yyyy-MM-dd'T'HH:mm").create(); + + JSONObject data = new JSONObject(); + data.put("pe", pe); + data.put("result_list", gson.toJson(list)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (SwiperPictureException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + LogHelper.errorDetailInfo(e); + e.printStackTrace(); + } + + } + + /** + * 淇濆瓨淇℃伅 + * + * @param callback + * @param special + * @param out + */ + @RequestMapping(value = "savePicInfo") + public void savePicInfo(AdminAcceptData acceptData, String callback, SwiperPicture record, String jumpType, CommonShareInfo extra, + HttpServletRequest request, PrintWriter out) { + try { + record.setSystem(acceptData.getSystem()); + // 1. 鍏堝垽鏂環ttpRequest 鏄惁鍚湁鏂囦欢绫诲瀷 + if (request instanceof MultipartHttpServletRequest) { + MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request; + swiperPictureService.saveObject(fileRequest.getFile("file"), record, jumpType, extra,acceptData.getSystem()); + } else { + swiperPictureService.saveObject(null, record, jumpType, extra,acceptData.getSystem()); + } + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); + } catch (SwiperPictureException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇濆瓨澶辫触")); + LogHelper.errorDetailInfo(e); + e.printStackTrace(); + } + } + + + /** + * 淇敼鐘舵�� + * @param callback + * @param id + * @param out + */ + @RequestMapping(value = "switchStatePic") + public void switchStatePic(AdminAcceptData acceptData, String callback, Long id, PrintWriter out) { + try { + swiperPictureService.switchState(id); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); + } catch (SwiperPictureException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); + LogHelper.errorDetailInfo(e); + e.printStackTrace(); + } + } + + + /** + * 鍒犻櫎鍥剧墖浠ュ強淇℃伅 + * + * @param callback + * @param idArray + * @param out + */ + @RequestMapping(value = "deletePicInfo") + public void deletePicInfo(AdminAcceptData acceptData, String callback, String idArray, PrintWriter out) { + try { + if (StringUtil.isNullOrEmpty(idArray)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鎿嶄綔鐨勬暟鎹�")); + return; + } + + Gson gson = new Gson(); + List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() { + }.getType()); + + if (list == null || list.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈娴嬪埌鍒犻櫎鐨勬暟鎹�")); + return; + } + + int count = swiperPictureService.deleteBatchByPrimaryKey(list); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎴愬姛鍒犻櫎[" + count + "]鏉℃暟鎹�")); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒犻櫎澶辫触")); + LogHelper.errorDetailInfo(e); + e.printStackTrace(); + } + } + + /** + * 淇敼鎺掑簭 + * + * @param callback + * @param goodsClass + * @param out + */ + @RequestMapping(value = "saveOrder") + public void saveOrder(AdminAcceptData acceptData, String callback, Long id, Integer moveType, PrintWriter out) { + if (moveType == null || (!moveType.equals(1) && !moveType.equals(-1))) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掔殑绫诲瀷涓嶆纭�")); + return; + } + + if (id == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID涓嶈兘涓虹┖")); + return; + } + + try { + SwiperPicture resultObj = swiperPictureService.selectByPrimaryKey(id); + if (resultObj == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔鏁版嵁宸蹭笉瀛樺湪")); + return; + } + + Long bannerId = resultObj.getBannerId(); + Integer oldOrder = resultObj.getOrder(); + List<SwiperPicture> list = swiperPictureService.getOrderByBannerID(bannerId, moveType, oldOrder); + + if (list != null && list.size() > 0) { + SwiperPicture changeObj = list.get(0); + // 浜ゆ崲鎺掑簭搴忓彿 + resultObj.setOrder(changeObj.getOrder()); + changeObj.setOrder(oldOrder); + swiperPictureService.updateByPrimaryKeySelective(changeObj); + } + + swiperPictureService.updateByPrimaryKeySelective(resultObj); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + LogHelper.errorDetailInfo(e); + e.printStackTrace(); + } + } + + /** + * 璁剧疆鐗堟湰 + * + * @param callback + * @param id + * @param out + */ + @RequestMapping(value = "setVersions") + public void setVersions(AdminAcceptData acceptData, String callback, Long id, String versions, PrintWriter out) { + JSONArray versionArray = JSONArray.fromObject(versions); + List<Long> versionIds = new ArrayList<>(); + for (int i = 0; i < versionArray.size(); i++) { + Long version = versionArray.optLong(i); + versionIds.add(version); + } + try { + swiperPictureService.setVersions(id, versionIds); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("")); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMessage())); + } + } + + @RequestMapping(value = "getVersions") + public void getVersions(AdminAcceptData acceptData, String callback, Long id, PrintWriter out) { + List<AdActivityVersionControl> list = adActivityVersionControlService + .listByTypeAndSourceId(AdActivityType.banner, id); + + List<Long> versionList = new ArrayList<>(); + if (list != null) + for (AdActivityVersionControl control : list) + versionList.add(control.getVersion().getId()); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(versionList)); + } + +} -- Gitblit v1.8.0