From 7e7db2fa55a9a3af46d4fd8ede0dee147f101d64 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 09 五月 2020 21:41:27 +0800 Subject: [PATCH] 2.1需求 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SpecialCardAdminController.java | 707 ++++++++++++++++++---------------------------------------- 1 files changed, 227 insertions(+), 480 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SpecialCardAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SpecialCardAdminController.java index c8287b0..0c9283d 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SpecialCardAdminController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/homemodule/SpecialCardAdminController.java @@ -2,37 +2,39 @@ import java.io.PrintWriter; import java.util.ArrayList; -import java.util.Date; import java.util.List; +import java.util.Set; import javax.annotation.Resource; - -import net.sf.json.JSONObject; +import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.multipart.commons.CommonsMultipartFile; +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.Special; import com.yeshi.fanli.entity.bus.homemodule.SpecialCard; -import com.yeshi.fanli.entity.bus.homemodule.SuperSpecialCard; -import com.yeshi.fanli.entity.common.JumpDetailV2; -import com.yeshi.fanli.entity.system.System; -import com.yeshi.fanli.service.AdminUserService; -import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; -import com.yeshi.fanli.service.inter.config.SystemConfigService; -import com.yeshi.fanli.service.inter.config.SystemService; +import com.yeshi.fanli.entity.bus.homemodule.SpecialExtra; +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.service.inter.homemodule.SuperSpecialCardService; import com.yeshi.fanli.tag.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; @Controller @RequestMapping("admin/new/api/v1/specialcard") @@ -40,223 +42,54 @@ @Resource private SpecialService specialService; - + @Resource private SpecialCardService specialCardService; - + @Resource - private SuperSpecialCardService superSpecialCardService; - + private AppVersionService appVersionService; + @Resource - private SystemConfigService systemConfigService; - - @Resource - private JumpDetailV2Service jumpDetailV2Service; - - @Resource - private AdminUserService adminUserService; - - @Resource - private SystemService systemService; - - - + private AdActivityVersionControlService adActivityVersionControlService; + /** - * 鏂板 + * 淇濆瓨淇℃伅 + * * @param callback * @param special * @param out */ - @RequestMapping(value = "saveAdd") - public void saveAdd(String callback, SpecialCard specialCard, PrintWriter out) { - + @RequestMapping(value = "save") + public void save(String callback, SpecialCard specialCard, HttpServletRequest request, PrintWriter out) { try { - - String name = specialCard.getName(); - String card = specialCard.getCard(); - - if (StringUtil.isNullOrEmpty(name) || StringUtil.isNullOrEmpty(card)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("涓撻淇℃伅涓庢爣璇嗕笉鑳戒负绌�")); - return; - } - - Date nowTime = new Date(); - specialCard.setState(1); // 榛樿鍋滅敤 - specialCard.setCreatetime(nowTime); - specialCard.setUpdatetime(nowTime); - specialCardService.insert(specialCard); - - List<System> systemList = systemService.getSystems(); - if (systemList != null && systemList.size() > 0) { - for (System system: systemList) { - SuperSpecialCard superCard = new SuperSpecialCard(); - superCard.setSpecialCard(specialCard); - superCard.setSystem(system); - superSpecialCardService.insertSelective(superCard); - } - } - - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("娣诲姞鎴愬姛")); - - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - e.printStackTrace(); - } - } - - /** - * 淇敼 - * @param callback - * @param special - * @param out - */ - @RequestMapping(value = "saveModify") - public void saveModify(String callback, SpecialCard specialCard, PrintWriter out) { - try { - - Long id = specialCard.getId(); - if (id == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID涓嶈兘涓虹┖")); - return; - } - - SpecialCard resultObj = specialCardService.selectByPrimaryKey(id); - if (resultObj == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔鏁版嵁宸蹭笉瀛樺湪")); - return; - } - - String name = specialCard.getName(); - String card = specialCard.getCard(); - if (StringUtil.isNullOrEmpty(name) && StringUtil.isNullOrEmpty(card)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇敼鍐呭涓嶈兘涓虹┖")); - return; - } - - if (StringUtil.isNullOrEmpty(name)) { - specialCard.setName(null); - } - - if (StringUtil.isNullOrEmpty(card)) { - specialCard.setCard(null); - } - - specialCard.setUpdatetime(new Date()); - specialCardService.updateByPrimaryKeySelective(specialCard); - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇敼鎴愬姛")); - - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - e.printStackTrace(); - } - } - - - /** - * 淇鐘舵�� - * @param callback - * @param id - * @param out - */ - @RequestMapping(value = "updateState") - public void updateState(String callback, Long id, PrintWriter out) { - try { - - if (id == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID涓嶈兘涓虹┖")); - return; - } - - SpecialCard resultObj = specialCardService.selectByPrimaryKey(id); - if (resultObj == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔鏁版嵁宸蹭笉瀛樺湪")); - return; - } - - Integer state = resultObj.getState(); - if (state == null || state.equals(1) || state == 1) { - resultObj.setState(0); + // 1. 鍏堝垽鏂環ttpRequest 鏄惁鍚湁鏂囦欢绫诲瀷 + if (request instanceof MultipartHttpServletRequest) { + MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request; + specialCardService.saveObject(fileRequest.getFile("file"), specialCard); } else { - resultObj.setState(1); + specialCardService.saveObject(null, specialCard); } - - specialCardService.updateByPrimaryKeySelective(resultObj); - - JSONObject data = new JSONObject(); - data.put("state", resultObj.getState()); - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - + 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("鎿嶄綔寮傚父")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇濆瓨澶辫触")); e.printStackTrace(); } } - - /** - * 淇敼绯荤粺鐘舵�� - * @param callback - * @param type - * @param cardId - * @param systemId - * @param out - */ - @RequestMapping(value = "saveSystemState") - public void saveSystemState(String callback, Long cardId, Long systemId, PrintWriter out) { - - if (cardId == null || systemId == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉鑳戒负绌�")); - return; - } - - try { - List<SuperSpecialCard> list = superSpecialCardService.querybyCardIdAndSystemId(cardId, systemId); - - if (list != null && list.size() > 0) { - superSpecialCardService.deletebyCardIdAndSystemId(cardId, systemId); - JSONObject data = new JSONObject(); - data.put("check", 0); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } else { - - SpecialCard specialCard = new SpecialCard(); - specialCard.setId(cardId); - - System system = new System(); - system.setId(systemId); - - SuperSpecialCard superCard = new SuperSpecialCard(); - superCard.setSpecialCard(specialCard); - superCard.setSystem(system); - - superSpecialCardService.insertSelective(superCard); - JSONObject data = new JSONObject(); - data.put("check", 1); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } - - } catch (Exception e1) { - e1.printStackTrace(); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇敼澶辫触")); - } - - } - - /** * 鏌ヨ + * * @param callback * @param pageIndex * @param pageSize - * @param key 妯$硦鏌ヨ锛氳鏄庛�佹爣璇� + * @param key + * 妯$硦鏌ヨ锛氳鏄庛�佹爣璇� * @param out */ @RequestMapping(value = "query") - public void query(String callback, Integer pageIndex, Integer pageSize, String key, - Integer sort, PrintWriter out) { + public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer sort, PrintWriter out) { if (pageIndex == null || pageIndex < 1) { pageIndex = 1; @@ -267,34 +100,26 @@ } try { - List<SpecialCard> list = specialCardService.listQuery((pageIndex - 1) * pageSize, - pageSize, key, sort); + List<SpecialCard> list = specialCardService.listQuery((pageIndex - 1) * pageSize, pageSize, key, sort); if (list == null || list.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); return; } - - for (SpecialCard specialCard: list) { - long totalSpecial= specialService.countlistQueryByCard(specialCard.getId(), null); - specialCard.setTotalSpecial(totalSpecial); - } long count = specialCardService.countlistQuery(key); - + 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(); + 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("鎿嶄綔寮傚父")); e.printStackTrace(); @@ -302,16 +127,15 @@ } - /** * 鍒犻櫎 + * * @param callback * @param idArray * @param out */ @RequestMapping(value = "delete") public void delete(String callback, String idArray, PrintWriter out) { - try { if (StringUtil.isNullOrEmpty(idArray)) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鎿嶄綔鐨勬暟鎹�")); @@ -319,217 +143,53 @@ } Gson gson = new Gson(); - List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {}.getType()); + 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 = specialCardService.deleteBatchByPrimaryKey(list); - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎴愬姛鍒犻櫎["+ count +"]鏉℃暟鎹�")); - + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎴愬姛鍒犻櫎[" + count + "]鏉℃暟鎹�")); } catch (Exception e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒犻櫎澶辫触")); e.printStackTrace(); } - } - - /** - * 鏌ヨ涓撻 + * 淇濆瓨淇℃伅 + * * @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, PrintWriter out) { - - if (pageIndex == null || pageIndex < 1) { - pageIndex = 1; - } - - if (pageSize == null || pageSize < 1) { - pageSize = Constant.PAGE_SIZE; - } - - if (cardId == null) { - out.print(JsonUtil.loadFalseResult("鍞竴鏍囪瘑ID涓嶈兘涓虹┖")); - return; - } - - try { - - List<Special> list = specialService.listQueryByCard((pageIndex - 1) * pageSize, - pageSize, cardId, key); - - if (list == null || list.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); - return; - } - - // 璺宠浆閾炬帴 - for (Special special: list) { - String params = special.getParams(); - if (!StringUtil.isNullOrEmpty(params)) { - JSONObject jsonData = JSONObject.fromObject(params); - if (jsonData.get("url") != null){ - special.setParams(jsonData.get("url").toString()); - } else { - special.setParams(null); - } - } - - JumpDetailV2 jumpDetail = special.getJumpDetail(); - if (jumpDetail == null) { - // 榛樿鏈�夋嫨 - JumpDetailV2 jumpDetailV2 = new JumpDetailV2(); - jumpDetailV2.setName("-鏈�夋嫨-"); - jumpDetailV2.setType("default"); - special.setJumpDetail(jumpDetailV2); - } - } - - long count = specialService.countlistQueryByCard(cardId, key); - - 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("鎿嶄綔寮傚父")); - e.printStackTrace(); - } - - } - - - /** - * 淇敼涓撻淇℃伅 - * @param callback - * @param record - * @param out - */ - @RequestMapping(value = "modifySpecial") - public void modifySpecial(String callback, Special record, String jumpType, PrintWriter out) { - - Long id = record.getId(); - if (id == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID涓嶈兘涓虹┖")); - return; - } - - try { - - Special resultObj = specialService.selectByPrimaryKey(id); - if (resultObj == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔鏁版嵁宸蹭笉瀛樺湪")); - return; - } - - String params = record.getParams(); - if (params != null && params.trim().length() == 0) { - params = null; - } - - if (!StringUtil.isNullOrEmpty(params)) { - - String jumpValue = systemConfigService.get("jump"); - if (StringUtil.isNullOrEmpty(jumpValue)) { - jumpValue = "{\"url\":\"#\"}"; - } - - params = jumpValue.replace("#", params); - } - - if (!StringUtil.isNullOrEmpty(jumpType)) { - List<JumpDetailV2> listByType = jumpDetailV2Service.listByType(jumpType); - if (listByType !=null && listByType.size() > 0) { - resultObj.setJumpDetail(listByType.get(0)); - } - } - - - String name = record.getName(); - if (name != null && name.trim().length() == 0) { - name = null; - } - - String remark = record.getRemark(); - if (remark != null && remark.trim().length() == 0) { - remark = null; - } - - resultObj.setName(name); - resultObj.setParams(params); - resultObj.setShowType(record.getShowType()); - resultObj.setRemark(remark); - - specialService.updateByPrimaryKey(resultObj); - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); - - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); - e.printStackTrace(); - } - } - - /** - * 涓撻鍥剧墖涓婁紶 - * @param file - * @param uid - * @param id - * @param request - * @param response + * @param special * @param out */ @RequestMapping(value = "saveSpecial") - public void saveSpecial(@RequestParam("file") CommonsMultipartFile file, Long id, Long cardId, + public void saveSpecial(String callback, Special record, String jumpType, SpecialExtra extra, HttpServletRequest request, PrintWriter out) { - - if (file == null) { - out.print(JsonUtil.loadFalseResult("涓婁紶鏂囦欢涓虹┖")); - return; - } - try { - Special resultObj = null; - if (id != null) { - resultObj = specialService.selectByPrimaryKey(id); - if (resultObj == null) { - out.print(JsonUtil.loadFalseResult("璇ヤ笓棰樺凡涓嶅瓨鍦�")); - return; - } + // 1. 鍏堝垽鏂環ttpRequest 鏄惁鍚湁鏂囦欢绫诲瀷 + if (request instanceof MultipartHttpServletRequest) { + MultipartHttpServletRequest fileRequest = (MultipartHttpServletRequest) request; + specialService.saveObject(fileRequest.getFile("file"), fileRequest.getFile("file2"), + fileRequest.getFile("file3"), record, jumpType, extra); + } else { + specialService.saveObject(null, null, null, record, jumpType, extra); } - - specialService.uploadPicture(file, resultObj, cardId); - out.print(JsonUtil.loadTrueResult("涓婁紶鎴愬姛")); - + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); + } catch (SpecialException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); } catch (Exception e) { - out.print(JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇濆瓨澶辫触")); e.printStackTrace(); } } - /** * 鍒犻櫎涓撻 + * * @param callback * @param idArray * @param out @@ -544,66 +204,21 @@ } Gson gson = new Gson(); - List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {}.getType()); + 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 = specialService.deleteBatchByPrimaryKey(list); - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎴愬姛鍒犻櫎["+ count +"]鏉℃暟鎹�")); + 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 id - * @param out - */ - @RequestMapping(value = "updateSpecialState") - public void updateSpecialState(String callback, Long id, PrintWriter out) { - try { - - if (id == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID涓嶈兘涓虹┖")); - return; - } - - Special resultObj = specialService.selectByPrimaryKey(id); - if (resultObj == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔鏁版嵁宸蹭笉瀛樺湪")); - return; - } - - Long state = resultObj.getState(); - if (state == null || state.equals(1) || state == 1) { - resultObj.setState(0L); - } else { - resultObj.setState(1L); - } - - specialService.updateByPrimaryKeySelective(resultObj); - - JSONObject data = new JSONObject(); - data.put("state", resultObj.getState()); - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - e.printStackTrace(); - } - } - - /** * 淇敼鎺掑簭 @@ -613,49 +228,181 @@ * @param out */ @RequestMapping(value = "saveSpecialOrder") - public void saveSpecialOrder(String callback, Long id,Integer moveType, PrintWriter out) { - - if (moveType == null || (!moveType.equals(1) && !moveType.equals(-1))) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼犻�掔殑绫诲瀷涓嶆纭�")); + public void saveSpecialOrder(String callback, Long id, Integer moveType, Integer sex, PrintWriter out) { + try { + specialService.updateOrder(id, moveType, sex); + 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(); + } + } + + /** + * 鏌ヨ涓撻 + * + * @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, + String version, String platform, PrintWriter out) { + pageSize = 100; + if (pageIndex == null || pageIndex < 1) { + pageIndex = 1; + } + + if (pageSize == null || pageSize < 1) { + pageSize = Constant.PAGE_SIZE; + } + + if (cardId == null) { + out.print(JsonUtil.loadFalseResult("鍞竴鏍囪瘑ID涓嶈兘涓虹┖")); return; } - - if (id == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("ID涓嶈兘涓虹┖")); - return; + + 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); + if (appVersionList != null) { + versionList.addAll(appVersionList); + } + } } - + try { - Special resultObj = specialService.selectByPrimaryKey(id); - if (resultObj == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔鏁版嵁宸蹭笉瀛樺湪")); + 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 cid = resultObj.getCardId(); - Integer oldOrder = resultObj.getOrderby(); - List<Special> list = specialService.getOrderByCardID(cid, moveType, oldOrder); - - if (list != null && list.size() > 0) { - Special changeObj = list.get(0); - // 浜ゆ崲鎺掑簭搴忓彿 - resultObj.setOrderby(changeObj.getOrderby()); - - changeObj.setOrderby(oldOrder); - - specialService.updateByPrimaryKeySelective(changeObj); + + long count = specialService.countlistQueryByCard(cardId, key, sex); + // 杩囨护 + if (versionList != null) { + if (versionList.size() > 0) { + List<Long> sourceIdList = new ArrayList<>(); + for (SpecialVO special : list) { + sourceIdList.add(special.getId()); + } + List<Long> versionIdList = new ArrayList<>(); + for (AppVersionInfo versionInfo : versionList) + versionIdList.add(versionInfo.getId()); + Set<Long> sets = adActivityVersionControlService.filterSourceIdByVersion(sourceIdList, + AdActivityType.special, 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; + } } - - specialService.updateByPrimaryKeySelective(resultObj); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); + 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) { - e.printStackTrace(); JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); } + } + /** + * 璁剧疆鐗堟湰 + * + * @param callback + * @param id + * @param moveType + * @param sex + * @param out + */ + @RequestMapping(value = "setVersions") + public void setVersions(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 { + specialService.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(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.getVersion().getId()); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(versionList)); + } + + /** + * 淇敼鐘舵�� + * @param callback + * @param id + * @param out + */ + @RequestMapping(value = "switchStateCard") + public void switchStateCard(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(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(); + } + } } -- Gitblit v1.8.0