From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 一月 2020 12:06:27 +0800 Subject: [PATCH] 用户注册信息 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java | 235 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 142 insertions(+), 93 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java index 60fbcb8..b9313d7 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java @@ -11,7 +11,6 @@ import java.util.Set; import javax.annotation.Resource; -import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -37,28 +36,30 @@ import com.yeshi.fanli.entity.integral.CodePublishRecord; import com.yeshi.fanli.entity.integral.IntegralExchange; import com.yeshi.fanli.entity.integral.IntegralTask; +import com.yeshi.fanli.entity.integral.IntegralTask.TaskUniqueKeyEnum; import com.yeshi.fanli.entity.integral.IntegralTaskClass.UniqueKeyEnum; import com.yeshi.fanli.entity.integral.IntegralTaskRecord; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.exception.integral.IntegralExchangeException; -import com.yeshi.fanli.exception.integral.IntegralGetException; import com.yeshi.fanli.exception.integral.IntegralTaskRecordException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; import com.yeshi.fanli.service.inter.config.ConfigService; -import com.yeshi.fanli.service.inter.integral.CodePublishRecordService; -import com.yeshi.fanli.service.inter.integral.IntegralDetailService; -import com.yeshi.fanli.service.inter.integral.IntegralExchangeRecordService; -import com.yeshi.fanli.service.inter.integral.IntegralExchangeService; -import com.yeshi.fanli.service.inter.integral.IntegralGetService; -import com.yeshi.fanli.service.inter.integral.IntegralTaskClassService; -import com.yeshi.fanli.service.inter.integral.IntegralTaskRankService; -import com.yeshi.fanli.service.inter.integral.IntegralTaskRecordService; -import com.yeshi.fanli.service.inter.integral.IntegralTaskService; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserInfoService; +import com.yeshi.fanli.service.inter.user.integral.CodePublishRecordService; +import com.yeshi.fanli.service.inter.user.integral.IntegralDetailService; +import com.yeshi.fanli.service.inter.user.integral.IntegralExchangeRecordService; +import com.yeshi.fanli.service.inter.user.integral.IntegralExchangeService; +import com.yeshi.fanli.service.inter.user.integral.IntegralGetService; +import com.yeshi.fanli.service.inter.user.integral.IntegralTaskClassService; +import com.yeshi.fanli.service.inter.user.integral.IntegralTaskRankService; +import com.yeshi.fanli.service.inter.user.integral.IntegralTaskRecordService; +import com.yeshi.fanli.service.inter.user.integral.IntegralTaskService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.util.annotation.RequestSerializableByKey; import com.yeshi.fanli.vo.integral.DailySignVO; import com.yeshi.fanli.vo.integral.ExchangeTipVO; import com.yeshi.fanli.vo.integral.IntegralDetailVO; @@ -109,8 +110,7 @@ @Resource private JumpDetailV2Service jumpDetailV2Service; - - + /** * 鑾峰彇浠诲姟鍒楄〃 * @@ -119,7 +119,7 @@ * @param page * @param out */ -// @RequestSerializableByKey(key="#acceptData.device") + // @RequestSerializableByKey(key="#acceptData.device") @RequestMapping(value = "getTaskList", method = RequestMethod.POST) public void getTaskList(AcceptData acceptData, Long uid, Integer page, PrintWriter out) { if (uid == null || uid <= 0) { @@ -185,19 +185,22 @@ data.put("userRank", gson.toJson(userRank)); data.put("dailySign", dailySignVO); } + for (int i = 0; i < list.size(); i++) { + IntegralTaskClassVO taskClassVO = list.get(i); - for (IntegralTaskClassVO taskClassVO : list) { - UniqueKeyEnum uniqueKey = taskClassVO.getUniqueKey(); - - UserInfoExtraVO extraVO = userInfoExtraService.getInfoExtraVOByUid(uid); - if (extraVO == null || StringUtil.isNullOrEmpty(extraVO.getInviteCode())) { - JumpDetailV2 jumpDetailV2 = jumpDetailV2Service.getByTypeCache("invite_activate", - Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())); - - taskClassVO.setJumpDetail(jumpDetailV2); + UniqueKeyEnum uniqueKey = taskClassVO.getUniqueKey(); + + // 閭�璇峰ソ鍙嬶細鏄惁婵�娲婚個璇风爜 + if (uniqueKey == UniqueKeyEnum.inviteTeam) { + UserInfoExtraVO extraVO = userInfoExtraService.getInfoExtraVOByUid(uid); + if (extraVO == null || StringUtil.isNullOrEmpty(extraVO.getInviteCode())) { + JumpDetailV2 jumpDetailV2 = jumpDetailV2Service.getByTypeCache("invite_activate", + Constant.getPlatformCode(acceptData.getPlatform()), + Integer.parseInt(acceptData.getVersion())); + taskClassVO.setJumpDetail(jumpDetailV2); + } } - - + String progress = taskClassVO.getProgress(); if (StringUtil.isNullOrEmpty(progress)) continue; @@ -233,18 +236,27 @@ taskClassVO.setLightUp(true); } - Integer dateType = 1; // 鏌ヨ褰撴棩 - if (uniqueKey == UniqueKeyEnum.orderReward) - dateType = null; // 鏌ヨ鍘嗗彶 - - Long id = taskClassVO.getId(); int countFinished = 0; - Integer totalGoldCoin = integralTaskRecordService.getTotalGoldCoin(uid, id, dateType); + Long id = taskClassVO.getId(); + // 鏌ヨ褰撴棩 + Integer totalGoldCoin = integralTaskRecordService.getTotalGoldCoin(uid, id, 1); if (totalGoldCoin != null && totalGoldCoin > 0) { taskClassVO.setFinishedCoin("+" + totalGoldCoin); - if (uniqueKey != UniqueKeyEnum.dailySign) - countFinished = integralTaskRecordService.countFinished(uid, id, dateType); + if (uniqueKey != UniqueKeyEnum.dailySign && uniqueKey != UniqueKeyEnum.accountMaintain) { + countFinished = integralTaskRecordService.countFinished(uid, id, 1); + } } + + if (uniqueKey == UniqueKeyEnum.accountMaintain) { + countFinished = integralTaskRecordService.countFinished(uid, id, null); // 鏌ヨ鍘嗗彶 + } + + /* + * // 瀹屽杽淇℃伅瀹屾垚鍚庯紝鍒楄〃涓秷澶� if (uniqueKey == + * UniqueKeyEnum.accountMaintain && taskNum == countFinished) { + * list.remove(i); i --; continue; } + */ + progress = progress.replace("{宸插畬鎴恾", countFinished + "").replace("{鎬讳换鍔", taskNum + ""); if (signState == 0 && uniqueKey == UniqueKeyEnum.dailySign) { @@ -276,10 +288,7 @@ return; } - int count = 5; - if ("android".equalsIgnoreCase(acceptData.getPlatform())) { - count = Integer.MAX_VALUE; - } + int count = Integer.MAX_VALUE; List<IntegralTaskRecord> list = integralTaskRecordService.listNotReceived(count, uid); if (list == null) { @@ -305,6 +314,7 @@ * // 鏈鍙杋d * @param out */ + @RequestSerializableByKey(key = "'receiveGoldCoin-'+#uid") @RequestMapping(value = "receiveGoldCoin", method = RequestMethod.POST) public void receiveGoldCoin(AcceptData acceptData, Long uid, Integer type, String ids, String gids, PrintWriter out) { @@ -332,24 +342,8 @@ return; } Integer goldCoin = integralTaskRecordService.receiveGoldCoin(uid, idList); - Set<Long> gidList = gson.fromJson(gids, new TypeToken<HashSet<Long>>() { - }.getType()); - List<IntegralTaskRecord> list = null; - if (gidList != null && gidList.size() > 0) { - list = integralTaskRecordService.listNotReceivedExcludeId(5 - gidList.size(), uid, gidList); - } else { - list = integralTaskRecordService.listNotReceivedExcludeId(5, uid, null); - } - - if (list == null) { - list = new ArrayList<IntegralTaskRecord>(); - } - GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); - Gson gson2 = gsonBuilder.create(); - JSONObject data = new JSONObject(); data.put("goldCoin", goldCoin); - data.put("list", gson2.toJson(list)); out.print(JsonUtil.loadTrueResult(data)); } catch (IntegralTaskRecordException e) { out.print(JsonUtil.loadFalseResult(e.getMsg())); @@ -399,6 +393,28 @@ out.print(JsonUtil.loadTrueResult(data)); } + @RequestMapping(value = "getExchangeDetail") + public void getExchangeDetail(AcceptData acceptData, Long id, String callback, PrintWriter out) { + if (id == null || id <= 0) { + out.print(JsonUtil.loadFalseResult(1, "鍏戞崲ID鏈夎")); + return; + } + IntegralExchange exchange = integralExchangeService.selectByPrimaryKey(id); + if (exchange != null) { + GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); + Gson gson = gsonBuilder.create(); + if (StringUtil.isNullOrEmpty(callback)) + out.print(JsonUtil.loadTrueResult(gson.toJson(exchange))); + else + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(gson.toJson(exchange)))); + } else { + if (StringUtil.isNullOrEmpty(callback)) + out.print(JsonUtil.loadFalseResult("鏈壘鍒�")); + else + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("鏈壘鍒�"))); + } + } + /** * 鍏戞崲閲戝竵妫�楠� * @@ -407,22 +423,28 @@ * @param id * @param out */ - @RequestMapping(value = "verifyExchange", method = RequestMethod.POST) - public void verifyExchange(AcceptData acceptData, Long uid, Long id, PrintWriter out) { + @RequestMapping(value = "verifyExchange") + public void verifyExchange(AcceptData acceptData, Long uid, Long id, String callback, PrintWriter out) { try { ExchangeTipVO exchange = integralExchangeService.verifyExchange(uid, id); GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); Gson gson = gsonBuilder.create(); - JSONObject data = new JSONObject(); data.put("result", gson.toJson(exchange)); - out.print(JsonUtil.loadTrueResult(data)); + if (StringUtil.isNullOrEmpty(callback)) { + out.print(JsonUtil.loadTrueResult(data)); + } else { + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data))); + } } catch (IntegralExchangeException e) { - out.print(JsonUtil.loadFalseResult(1, e.getMsg())); + if (StringUtil.isNullOrEmpty(callback)) { + out.print(JsonUtil.loadFalseResult(1, e.getMsg())); + } else { + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(1, e.getMsg()))); + } } } - /** * 鍏戞崲閲戝竵 @@ -432,22 +454,29 @@ * @param id * @param out */ - @RequestMapping(value = "exchange", method = RequestMethod.POST) - public void exchange(AcceptData acceptData, Long uid, Long id, PrintWriter out) { + @RequestSerializableByKey(key = "'integralexchange-'+#uid") + @RequestMapping(value = "exchange") + public void exchange(AcceptData acceptData, Long uid, Long id, String callback, PrintWriter out) { try { IntegralExchange exchange = integralExchangeService.exchange(uid, id); UserInfoExtra extraVO = userInfoExtraService.getUserInfoExtra(uid); - + GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); Gson gson = gsonBuilder.create(); JSONObject data = new JSONObject(); data.put("result", gson.toJson(exchange)); data.put("goldCoin", extraVO.getGoldCoin() + "鏋�"); - out.print(JsonUtil.loadTrueResult(data)); + if (StringUtil.isNullOrEmpty(callback)) + out.print(JsonUtil.loadTrueResult(data)); + else + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data))); } catch (IntegralExchangeException e) { - out.print(JsonUtil.loadFalseResult(1, e.getMsg())); + if (StringUtil.isNullOrEmpty(callback)) + out.print(JsonUtil.loadFalseResult(1, e.getMsg())); + else + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(1, e.getMsg()))); } } @@ -483,6 +512,7 @@ * @param id * @param out */ + @RequestSerializableByKey(key = "'exchangeInviteCode-'+#uid") @RequestMapping(value = "exchangeInviteCode", method = RequestMethod.POST) public void exchangeInviteCode(AcceptData acceptData, Long uid, Long id, PrintWriter out) { try { @@ -509,9 +539,9 @@ out.print(JsonUtil.loadFalseResult(1, "椤电爜涓嶆纭�")); return; } - + try { - List<CodePublishRecord> list = codePublishRecordService.listValid((page - 1) * Constant.PAGE_SIZE, + List<CodePublishRecord> list = codePublishRecordService.listValid(null, (page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE); if (list == null) { list = new ArrayList<CodePublishRecord>(); @@ -522,7 +552,7 @@ JSONObject data = new JSONObject(); data.put("count", count); data.put("list", getGson().toJson(list)); - data.put("helpLink", configService.get("publish_list_help_link")); + data.put("helpLink", configService.get(ConfigKeyEnum.publishListHelpLink.getKey())); out.print(JsonUtil.loadTrueResult(data)); } catch (Exception e) { out.print(JsonUtil.loadFalseResult(1, "鑾峰彇澶辫触")); @@ -539,7 +569,7 @@ * @param out */ @RequestMapping(value = "pushEvent", method = RequestMethod.POST) - public void pushEvent(AcceptData acceptData, String event, Long uid, PrintWriter out) { + public void pushEvent(AcceptData acceptData, String event, Long uid, String data, PrintWriter out) { if (uid == null || uid == 0) { out.print(JsonUtil.loadFalseResult("鐢ㄦ埛灏氭湭鐧诲綍")); return; @@ -550,34 +580,53 @@ return; } IntegralTaskRecord record = null; - try { - record = integralGetService.addEventStatistic(uid, event, null); - } catch (IntegralGetException e) { - } - if (record == null) { - out.print(JsonUtil.loadFalseResult("娣诲姞澶辫触")); - return; - } - JSONObject data = new JSONObject(); - if ("recommendSearch".equalsIgnoreCase(event) || "scanGoods".equalsIgnoreCase(event) - || "scanTBCart".equalsIgnoreCase(event)) { - JSONObject notify = new JSONObject(); - switch (event) { - case "recommendSearch": - notify.put("name", "瀹屾垚涓�娆℃櫤鑳芥悳绱�"); - break; - case "scanGoods": - notify.put("name", "瀹屾垚涓�娆″晢鍝佹祻瑙�"); - break; - case "scanTBCart": - notify.put("name", "瀹屾垚涓�娆¤喘鐗╄溅娴忚"); - break; + try { + if (TaskUniqueKeyEnum.recommendSearch.name().equalsIgnoreCase(event)) { + record = integralGetService.addRecommendSearch(uid); + } else if (TaskUniqueKeyEnum.shareInvite.name().equalsIgnoreCase(event)) { + record = integralGetService.addShareInvite(uid); + } else if (TaskUniqueKeyEnum.inShop.name().equalsIgnoreCase(event)) { + JSONObject json = JSONObject.fromObject(data); + record = integralGetService.addIntoShop(uid, StringUtil.Md5(json.optString("url"))); + } else if (TaskUniqueKeyEnum.scanPush.name().equalsIgnoreCase(event)) { + record = integralGetService.addScanPushHistory(uid); + } else if (TaskUniqueKeyEnum.scanGoods.name().equalsIgnoreCase(event)) { + JSONObject json = JSONObject.fromObject(data); + record = integralGetService.addScanGoodsDetail(uid, json.optInt("goodsType"), json.optLong("goodsId")); + } else if (TaskUniqueKeyEnum.scanHomeBanner.name().equalsIgnoreCase(event)) { + JSONObject json = JSONObject.fromObject(data); + record = integralGetService.addScanRecommendBanner(uid, json.optString("id")); + } else if (TaskUniqueKeyEnum.scanSpecial.name().equalsIgnoreCase(event)) { + JSONObject json = JSONObject.fromObject(data); + record = integralGetService.addScanRecommendSpecial(uid, json.optString("id")); + } else if (TaskUniqueKeyEnum.scanTBCart.name().equalsIgnoreCase(event)) { + record = integralGetService.addScanTaoBaoCart(uid); } - notify.put("score", String.format("+%s閲戝竵", record.getGoldCoin())); - data.put("notify", notify); + + if (record != null) { + JSONObject notifyData = new JSONObject(); + if (TaskUniqueKeyEnum.recommendSearch.name().equalsIgnoreCase(event) + || TaskUniqueKeyEnum.scanGoods.name().equalsIgnoreCase(event) + || TaskUniqueKeyEnum.scanTBCart.name().equalsIgnoreCase(event)) { + JSONObject notify = new JSONObject(); + if (TaskUniqueKeyEnum.recommendSearch.name().equalsIgnoreCase(event)) + notify.put("name", "瀹屾垚涓�娆℃櫤鑳芥悳绱�"); + else if (TaskUniqueKeyEnum.scanGoods.name().equalsIgnoreCase(event)) + notify.put("name", "瀹屾垚涓�娆″晢鍝佹祻瑙�"); + else if (TaskUniqueKeyEnum.scanTBCart.name().equalsIgnoreCase(event)) + notify.put("name", "瀹屾垚涓�娆¤喘鐗╄溅娴忚"); + + notify.put("score", String.format("+%s閲戝竵", record.getGoldCoin())); + notifyData.put("notify", notify); + } + out.print(JsonUtil.loadTrueResult(notifyData)); + } else { + out.print(JsonUtil.loadFalseResult("")); + } + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult("")); } - out.print(JsonUtil.loadTrueResult(data)); } /** -- Gitblit v1.8.0