yujian
2019-09-03 d1dccd08a249b830a95eeeb04af25f87d5c056be
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java
@@ -36,10 +36,10 @@
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.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;
@@ -108,8 +108,7 @@
   @Resource
   private JumpDetailV2Service jumpDetailV2Service;
   /**
    * 获取任务列表
    * 
@@ -118,7 +117,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) {
@@ -186,17 +185,19 @@
         }
         for (IntegralTaskClassVO taskClassVO : list) {
            UniqueKeyEnum uniqueKey = taskClassVO.getUniqueKey();
            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);
            // 邀请好友:是否激活邀请码
            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;
@@ -232,8 +233,9 @@
               taskClassVO.setLightUp(true);
            }
            Integer dateType = 1; // 查询当日
            if (uniqueKey == UniqueKeyEnum.orderReward)
            // 查询当日
            Integer dateType = 1;
            if (uniqueKey == UniqueKeyEnum.orderReward || uniqueKey == UniqueKeyEnum.accountMaintain)
               dateType = null; // 查询历史
            Long id = taskClassVO.getId();
@@ -420,7 +422,6 @@
         out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
      }
   }
   /**
    * 兑换金币
@@ -436,7 +437,7 @@
         IntegralExchange exchange = integralExchangeService.exchange(uid, id);
         UserInfoExtra extraVO = userInfoExtraService.getUserInfoExtra(uid);
         GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
         Gson gson = gsonBuilder.create();
@@ -507,7 +508,7 @@
         out.print(JsonUtil.loadFalseResult(1, "页码不正确"));
         return;
      }
      try {
         List<CodePublishRecord> list = codePublishRecordService.listValid((page - 1) * Constant.PAGE_SIZE,
               Constant.PAGE_SIZE);
@@ -537,7 +538,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;
@@ -548,34 +549,49 @@
         return;
      }
      IntegralTaskRecord record = null;
      try {
         record = integralGetService.addEventStatistic(uid, event, null);
      } catch (IntegralGetException e) {
      }
      if (record == null) {
         out.print(JsonUtil.loadFalseResult("添加失败"));
         return;
      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);
      }
      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;
      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);
         }
         notify.put("score", String.format("+%s金币", record.getGoldCoin()));
         data.put("notify", notify);
         out.print(JsonUtil.loadTrueResult(notifyData));
      } else {
         out.print(JsonUtil.loadFalseResult(""));
      }
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**