From d8359ddb48dab5cc797a9d552e11fde571f4920c Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 27 八月 2019 12:32:46 +0800 Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java | 162 +++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 113 insertions(+), 49 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 d5b294f..80e4ce2 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 @@ -30,21 +30,29 @@ import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinDetail.TaoLiJinDetailTypeEnum; import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.entity.bus.user.UserInfoExtra; import com.yeshi.fanli.entity.bus.user.UserRank; +import com.yeshi.fanli.entity.common.JumpDetailV2; 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.IntegralTaskClass.UniqueKeyEnum; import com.yeshi.fanli.entity.integral.IntegralTaskRecord; 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.util.Constant; @@ -82,12 +90,24 @@ @Resource private IntegralExchangeRecordService integralExchangeRecordService; - + @Resource private IntegralDetailService integralDetailService; @Resource + private IntegralTaskRankService integralTaskRankService; + + @Resource private CodePublishRecordService codePublishRecordService; + + @Resource + private IntegralTaskService integralTaskService; + + @Resource + private IntegralGetService integralGetService; + + @Resource + private JumpDetailV2Service jumpDetailV2Service; /** * 鑾峰彇浠诲姟鍒楄〃 @@ -97,6 +117,7 @@ * @param page * @param out */ + // @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) { @@ -119,18 +140,18 @@ list = new ArrayList<IntegralTaskClassVO>(); } long count = integralTaskClassService.countTaskClass(); - + // 鐢ㄦ埛绛惧埌 Integer signState = 0; if (page == 1) { - + // 绛惧埌 - try { + try { signState = integralTaskClassService.finishedDailySign(uid); } catch (Exception e) { e.printStackTrace(); } - + UserInfoExtraVO extraVO = userInfoExtraService.getInfoExtraVOByUid(uid); if (extraVO == null) { out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鐩稿叧淇℃伅涓嶅瓨鍦�")); @@ -148,12 +169,12 @@ out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛绛夌骇涓嶅瓨鍦�")); return; } - + // 绛惧埌鏃ユ湡淇℃伅 DailySignVO dailySignVO = integralTaskClassService.getDailySignList(uid, userRank.getId()); boolean ejectSign = false; - if (signState == 1) + if (signState == 1) ejectSign = true; data.put("signState", ejectSign); @@ -163,17 +184,26 @@ data.put("dailySign", dailySignVO); } - 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); + } + String progress = taskClassVO.getProgress(); if (StringUtil.isNullOrEmpty(progress)) continue; - + Integer taskNum = taskClassVO.getTaskNum(); if (taskNum == null) continue; - UniqueKeyEnum uniqueKey = taskClassVO.getUniqueKey(); if (uniqueKey == UniqueKeyEnum.dailySign) { if (signState == 0) { taskClassVO.setLightUp(true); // 绛惧埌澶辫触 @@ -182,10 +212,25 @@ } else if (signState == 2) { taskClassVO.setLightUp(false); } + + // 鏍规嵁澶╂暟鍙樺寲鏇存敼绛惧埌閲戦 + Integer num = integralTaskRecordService.getNowdaySignNum(uid, taskClassVO.getId()); + + String uniqueKeyTask = UniqueKeyEnum.dailySign.name() + num; + IntegralTask integralTask = integralTaskService.getByCidAndUniqueKey(taskClassVO.getId(), + uniqueKeyTask); + Integer goldCoin = 0; + if (integralTask != null) { + goldCoin = integralTask.getGoldCoin(); + Integer baseDoubleNum = integralTask.getDoubleNum(); + if (baseDoubleNum != null && baseDoubleNum > 0) + goldCoin = goldCoin * baseDoubleNum; + } + taskClassVO.setTotalCoin(goldCoin); } else { taskClassVO.setLightUp(true); } - + Integer dateType = 1; // 鏌ヨ褰撴棩 if (uniqueKey == UniqueKeyEnum.orderReward) dateType = null; // 鏌ヨ鍘嗗彶 @@ -199,14 +244,14 @@ countFinished = integralTaskRecordService.countFinished(uid, id, dateType); } progress = progress.replace("{宸插畬鎴恾", countFinished + "").replace("{鎬讳换鍔", taskNum + ""); - + if (signState == 0 && uniqueKey == UniqueKeyEnum.dailySign) { progress = "鏈鍒�"; taskClassVO.setBtnName("绛惧埌"); - } + } taskClassVO.setProgress(progress); } - + data.put("count", count); data.put("list", gson.toJson(list)); out.print(JsonUtil.loadTrueResult(data)); @@ -233,7 +278,7 @@ if ("android".equalsIgnoreCase(acceptData.getPlatform())) { count = Integer.MAX_VALUE; } - + List<IntegralTaskRecord> list = integralTaskRecordService.listNotReceived(count, uid); if (list == null) { list = new ArrayList<IntegralTaskRecord>(); @@ -252,17 +297,20 @@ * * @param acceptData * @param uid - * @param ids // 棰嗗彇id - * @param gids // 鏈鍙杋d + * @param ids + * // 棰嗗彇id + * @param gids + * // 鏈鍙杋d * @param out */ @RequestMapping(value = "receiveGoldCoin", method = RequestMethod.POST) - public void receiveGoldCoin(AcceptData acceptData, Long uid, Integer type, String ids, String gids, PrintWriter out) { + public void receiveGoldCoin(AcceptData acceptData, Long uid, Integer type, String ids, String gids, + PrintWriter out) { if (uid == null || uid <= 0) { out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); return; } - + try { // 鍏ㄩ儴棰嗗彇 if (type != null && type == 1) { @@ -271,8 +319,8 @@ data.put("goldCoin", goldCoin); out.print(JsonUtil.loadTrueResult(data)); return; - } - + } + // 閮ㄥ垎棰嗗彇 Gson gson = new Gson(); Set<Long> idList = gson.fromJson(ids, new TypeToken<HashSet<Long>>() { @@ -282,20 +330,21 @@ return; } Integer goldCoin = integralTaskRecordService.receiveGoldCoin(uid, idList); - Set<Long> gidList = gson.fromJson(gids, new TypeToken<HashSet<Long>>() {}.getType()); + 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)); @@ -336,7 +385,7 @@ if (list == null) list = new ArrayList<IntegralExchange>(); - //Long count = integralExchangeService.countValid(); + // Long count = integralExchangeService.countValid(); GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); Gson gson = gsonBuilder.create(); @@ -363,7 +412,6 @@ GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); Gson gson = gsonBuilder.create(); - JSONObject data = new JSONObject(); data.put("result", gson.toJson(exchange)); out.print(JsonUtil.loadTrueResult(data)); @@ -385,11 +433,14 @@ 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)); } catch (IntegralExchangeException e) { out.print(JsonUtil.loadFalseResult(1, e.getMsg())); @@ -431,8 +482,11 @@ @RequestMapping(value = "exchangeInviteCode", method = RequestMethod.POST) public void exchangeInviteCode(AcceptData acceptData, Long uid, Long id, PrintWriter out) { try { - integralExchangeService.exchangeInviteCode(uid, id); - out.print(JsonUtil.loadTrueResult("閭�璇风爜婵�娲绘垚鍔�")); + String inviteCode = integralExchangeService.exchangeInviteCode(uid, id); + JSONObject data = new JSONObject(); + data.put("msg", "鍏戞崲鎴愬姛锛岄噾甯佸凡娑堣�� "); + data.put("inviteCode", inviteCode); + out.print(JsonUtil.loadTrueResult(data)); } catch (IntegralExchangeException e) { out.print(JsonUtil.loadFalseResult(1, e.getMsg())); } @@ -452,19 +506,24 @@ return; } - List<CodePublishRecord> list = codePublishRecordService.listValid((page - 1) * Constant.PAGE_SIZE, - Constant.PAGE_SIZE); - if (list == null) { - list = new ArrayList<CodePublishRecord>(); + try { + List<CodePublishRecord> list = codePublishRecordService.listValid((page - 1) * Constant.PAGE_SIZE, + Constant.PAGE_SIZE); + if (list == null) { + list = new ArrayList<CodePublishRecord>(); + } + + long count = codePublishRecordService.countValid(); + + JSONObject data = new JSONObject(); + data.put("count", count); + data.put("list", getGson().toJson(list)); + data.put("helpLink", configService.get("publish_list_help_link")); + out.print(JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult(1, "鑾峰彇澶辫触")); + return; } - - long count = codePublishRecordService.countValid(); - - JSONObject data = new JSONObject(); - data.put("count", count); - data.put("list", getGson().toJson(list)); - data.put("helpLink", configService.get("publish_list_help_link")); - out.print(JsonUtil.loadTrueResult(data)); } /** @@ -481,9 +540,18 @@ out.print(JsonUtil.loadFalseResult("鐢ㄦ埛灏氭湭鐧诲綍")); return; } - + if (StringUtil.isNullOrEmpty(event)) { out.print(JsonUtil.loadFalseResult("浜嬩欢涓虹┖")); + return; + } + IntegralTaskRecord record = null; + try { + record = integralGetService.addEventStatistic(uid, event); + } catch (IntegralGetException e) { + } + if (record == null) { + out.print(JsonUtil.loadFalseResult("娣诲姞澶辫触")); return; } @@ -492,21 +560,17 @@ || "scanTBCart".equalsIgnoreCase(event)) { JSONObject notify = new JSONObject(); switch (event) { - case "recommendSearch": notify.put("name", "瀹屾垚涓�娆℃櫤鑳芥悳绱�"); - notify.put("score", "+20閲戝竵"); break; case "scanGoods": notify.put("name", "瀹屾垚涓�娆″晢鍝佹祻瑙�"); - notify.put("score", "+100閲戝竵"); break; case "scanTBCart": notify.put("name", "瀹屾垚涓�娆¤喘鐗╄溅娴忚"); - notify.put("score", "+300閲戝竵"); break; } - + notify.put("score", String.format("+%s閲戝竵", record.getGoldCoin())); data.put("notify", notify); } out.print(JsonUtil.loadTrueResult(data)); @@ -578,7 +642,6 @@ return gson; } - /** * 鏄庣粏璇︽儏 * @@ -590,7 +653,8 @@ * 骞翠唤 * @param month * 鏈堜唤 - * @param type 缁熻绫诲瀷 0鍏ㄩ儴 1 + * @param type + * 缁熻绫诲瀷 0鍏ㄩ儴 1 * @param out */ @RequestMapping(value = "getDetails") @@ -605,7 +669,7 @@ out.print(JsonUtil.loadFalseResult(1, "鏃ユ湡涓嶅畬鏁�")); return; } - + Date date = null; if (year != null && month != null) { -- Gitblit v1.8.0