admin
2020-08-26 26f7accb815f55f18f8eedfca4324700a96884ec
fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SpecialCardAdminController.java
@@ -2,13 +2,13 @@
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.yeshi.fanli.entity.accept.AdminAcceptData;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartHttpServletRequest;
@@ -20,17 +20,19 @@
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.Special;
import com.yeshi.fanli.entity.bus.homemodule.SpecialCard;
import com.yeshi.fanli.exception.homemodule.FloatADException;
import com.yeshi.fanli.exception.homemodule.SpecialCardException;
import com.yeshi.fanli.exception.homemodule.SpecialException;
import com.yeshi.fanli.service.inter.config.AppVersionService;
import com.yeshi.fanli.service.inter.homemodule.AdActivityVersionControlService;
import com.yeshi.fanli.service.inter.homemodule.SpecialCardService;
import com.yeshi.fanli.service.inter.homemodule.SpecialService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.common.entity.PageEntity;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.vo.homemodule.SpecialVO;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@@ -53,14 +55,17 @@
   /**
    * 保存信息
    *
    * @param acceptData
    * @param callback
    * @param special
    * @param specialCard
    * @param request
    * @param out
    */
   @RequestMapping(value = "save")
   public void save(String callback, SpecialCard specialCard, HttpServletRequest request, PrintWriter out) {
   public void save(AdminAcceptData acceptData, String callback, SpecialCard specialCard, HttpServletRequest request, PrintWriter out) {
      try {
            specialCard.setSystem(acceptData.getSystem());
         // 1. 先判断httpRequest 是否含有文件类型
         if (request instanceof MultipartHttpServletRequest) {
            MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request;
@@ -68,9 +73,8 @@
         } else {
            specialCardService.saveObject(null, specialCard);
         }
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
      } catch (FloatADException e) {
      } catch (SpecialCardException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("保存失败"));
@@ -78,6 +82,31 @@
      }
   }
   /**
    * 查询
    *
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param key
    *            模糊查询:说明、标识
    * @param out
    */
   @RequestMapping(value = "queryActivity")
   public void queryActivity(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Integer sort,
           PrintWriter out) {
      List<Long> listPid = new ArrayList<Long>();
      listPid.add(15L);
      listPid.add(16L);
      listPid.add(17L);
      queryList(acceptData, callback, pageIndex, pageSize, key, sort, listPid, out);
   }
   /**
    * 查询
    * 
@@ -89,7 +118,12 @@
    * @param out
    */
   @RequestMapping(value = "query")
   public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer sort, PrintWriter out) {
   public void query(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Integer sort, PrintWriter out) {
      queryList(acceptData,callback, pageIndex, pageSize, key, sort, null, out);
   }
   public void queryList(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Integer sort,
         List<Long> listPid, PrintWriter out) {
      if (pageIndex == null || pageIndex < 1) {
         pageIndex = 1;
@@ -100,14 +134,14 @@
      }
      try {
         List<SpecialCard> list = specialCardService.listQuery((pageIndex - 1) * pageSize, pageSize, key, sort);
         List<SpecialCard> list = specialCardService.listQuery((pageIndex - 1) * pageSize, pageSize, key, sort, listPid,acceptData.getSystem());
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         long count = specialCardService.countlistQuery(key);
         long count = specialCardService.countlistQuery(key, listPid,acceptData.getSystem());
         int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
         PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
@@ -119,16 +153,13 @@
         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("操作异常"));
         e.printStackTrace();
      }
   }
   /**
    * 删除
    * 
@@ -137,8 +168,7 @@
    * @param out
    */
   @RequestMapping(value = "delete")
   public void delete(String callback, String idArray, PrintWriter out) {
   public void delete(AdminAcceptData acceptData,String callback, String idArray, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(idArray)) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("请选择操作的数据"));
@@ -153,36 +183,36 @@
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据"));
            return;
         }
         int count = specialCardService.deleteBatchByPrimaryKey(list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("成功删除[" + count + "]条数据"));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败"));
         e.printStackTrace();
      }
   }
   /**
    * 保存信息
    *
    * @param acceptData
    * @param callback
    * @param special
    * @param record
    * @param jumpType
    * @param extra
    * @param request
    * @param out
    */
   @RequestMapping(value = "saveSpecial")
   public void saveSpecial(String callback, Special record, String jumpType, HttpServletRequest request,
   public void saveSpecial(AdminAcceptData acceptData,String callback, Special record, String jumpType, CommonShareInfo extra, HttpServletRequest request,
         PrintWriter out) {
      try {
         // 1. 先判断httpRequest 是否含有文件类型
            record.setSystem(acceptData.getSystem());
         if (request instanceof MultipartHttpServletRequest) {
            MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request;
            specialService.saveObject(fileRequest.getFile("file"), fileRequest.getFile("file2"),
                  fileRequest.getFile("file3"), record, jumpType);
                  fileRequest.getFile("file3"), record, jumpType, extra);
         } else {
            specialService.saveObject(null, null, null, record, jumpType);
            specialService.saveObject(null, null, null, record, jumpType, extra);
         }
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("保存成功"));
@@ -202,7 +232,7 @@
    * @param out
    */
   @RequestMapping(value = "deleteSpecial")
   public void deleteSpecial(String callback, String idArray, PrintWriter out) {
   public void deleteSpecial(AdminAcceptData acceptData,String callback, String idArray, PrintWriter out) {
      try {
         if (StringUtil.isNullOrEmpty(idArray)) {
@@ -220,25 +250,21 @@
         }
         int count = specialService.deleteBatchByPrimaryKey(list);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("成功删除[" + count + "]条数据"));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("删除失败"));
         e.printStackTrace();
      }
   }
   /**
    * 修改排序
    * 
    * @param callback
    * @param goodsClass
    * @param out
    */
   @RequestMapping(value = "saveSpecialOrder")
   public void saveSpecialOrder(String callback, Long id, Integer moveType, Integer sex, PrintWriter out) {
   public void saveSpecialOrder(AdminAcceptData acceptData,String callback, Long id, Integer moveType, Integer sex, PrintWriter out) {
      try {
         specialService.updateOrder(id, moveType, sex);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
@@ -256,11 +282,10 @@
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param bannerId
    * @param out
    */
   @RequestMapping(value = "querySpecial")
   public void querySpecial(String callback, Integer pageIndex, Integer pageSize, String key, Long cardId, Integer sex,
   public void querySpecial(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Long cardId, Integer sex,
         String version, String platform, PrintWriter out) {
      pageSize = 100;
      if (pageIndex == null || pageIndex < 1) {
@@ -279,17 +304,12 @@
      List<AppVersionInfo> versionList = null;
      if (!StringUtil.isNullOrEmpty(version) || !StringUtil.isNullOrEmpty(platform)) {
         versionList = new ArrayList<>();
         if (!StringUtil.isNullOrEmpty(version) && !StringUtil.isNullOrEmpty(platform)) {
            AppVersionInfo appVersion = appVersionService.getByPlatformAndVersion(platform, version);
         if (!StringUtil.isNullOrEmpty(version)) {
            AppVersionInfo appVersion = appVersionService.selectByPrimaryKey(Long.parseLong(version));
            if (appVersion != null)
               versionList.add(appVersion);
         } else if (!StringUtil.isNullOrEmpty(version)) {
            List<AppVersionInfo> appVersionList = appVersionService.listByVersion(version);
            if (appVersionList != null) {
               versionList.addAll(appVersionList);
            }
         } else {
            List<AppVersionInfo> appVersionList = appVersionService.getAppVersionInfoListByPlatform(platform);
            List<AppVersionInfo> appVersionList = appVersionService.getAppVersionInfoListByPlatform(platform,acceptData.getSystem());
            if (appVersionList != null) {
               versionList.addAll(appVersionList);
            }
@@ -298,32 +318,25 @@
      try {
         List<Special> list = specialService.listQueryByCard((pageIndex - 1) * pageSize, pageSize, cardId, key, sex);
         long count = specialService.countlistQueryByCard(cardId, key, sex);
         // 获取有效的专题
         List<SpecialVO> list = specialService.listQueryByCard((pageIndex - 1) * pageSize, pageSize, cardId, key, sex);
         if (list == null || list.size() == 0) {
            JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("暂无数据"));
            return;
         }
         long count = specialService.countlistQueryByCard(cardId, key, sex);
         // 过滤
         if (versionList != null) {
            if (versionList.size() > 0) {
               List<Long> sourceIdList = new ArrayList<>();
               for (Special special : list) {
               for (SpecialVO special : list) {
                  sourceIdList.add(special.getId());
               }
               List<Long> versionIdList = new ArrayList<>();
               for (AppVersionInfo versionInfo : versionList)
                  versionIdList.add(versionInfo.getId());
               List<Long> sourceIds = adActivityVersionControlService.filterSourceIdByVersion(sourceIdList,
               Set<Long> sets = adActivityVersionControlService.filterSourceIdByVersion(sourceIdList,
                     AdActivityType.special, versionIdList);
               Set<Long> sets = new HashSet<>();
               if (sourceIds != null)
                  for (Long sourceId : sourceIds) {
                     sets.add(sourceId);
                  }
               for (int i = 0; i < list.size(); i++) {
                  if (!sets.contains(list.get(i).getId())) {
                     list.remove(i--);
@@ -346,9 +359,7 @@
         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("操作异常"));
         e.printStackTrace();
@@ -357,15 +368,14 @@
   /**
    * 设置版本
    *
    * @param acceptData
    * @param callback
    * @param id
    * @param moveType
    * @param sex
    * @param versions
    * @param out
    */
   @RequestMapping(value = "setVersions")
   public void setVersions(String callback, Long id, String versions, PrintWriter out) {
   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++) {
@@ -381,15 +391,52 @@
   }
   @RequestMapping(value = "getVersions")
   public void getVersions(String callback, Long id, PrintWriter out) {
   public void getVersions(AdminAcceptData acceptData,String callback, Long id, PrintWriter out) {
      List<AdActivityVersionControl> list = adActivityVersionControlService
            .listByTypeAndSourceId(AdActivityType.special, id);
      List<Long> versionList = new ArrayList<>();
      if (list != null)
         for (AdActivityVersionControl control : list)
            versionList.add(control.getId());
            versionList.add(control.getVersion().getId());
      JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(versionList));
   }
   /**
    * 修改状态
    * @param callback
    * @param id
    * @param out
    */
   @RequestMapping(value = "switchStateCard")
   public void switchStateCard(AdminAcceptData acceptData,String callback, Long id, PrintWriter out) {
      try {
         specialCardService.switchState(id);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (SpecialCardException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
   /**
    * 修改状态
    * @param callback
    * @param id
    * @param out
    */
   @RequestMapping(value = "switchState")
   public void switchState(AdminAcceptData acceptData,String callback, Long id, PrintWriter out) {
      try {
         specialService.switchState(id);
         JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("操作成功"));
      } catch (SpecialException e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
      } catch (Exception e) {
         JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("操作失败"));
         e.printStackTrace();
      }
   }
}