admin
2019-11-12 0cf8c0bf5649b0b7269f78f6eae7c09cffea75cd
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/RedPackControllerV2.java
@@ -26,20 +26,26 @@
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.redpack.RedPackBalance;
import com.yeshi.fanli.entity.redpack.RedPackDetail.RedPackDetailTypeEnum;
import com.yeshi.fanli.entity.redpack.RedPackExchange;
import com.yeshi.fanli.entity.redpack.RedPackWinInvite;
import com.yeshi.fanli.entity.redpack.RedPackWinInvite.RedPackWinInviteTypeEnum;
import com.yeshi.fanli.exception.redpack.RedPackBalanceException;
import com.yeshi.fanli.exception.redpack.RedPackExchangeException;
import com.yeshi.fanli.exception.redpack.RedPackGiveRecordException;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
import com.yeshi.fanli.service.inter.redpack.RedPackBalanceService;
import com.yeshi.fanli.service.inter.redpack.RedPackConfigService;
import com.yeshi.fanli.service.inter.redpack.RedPackDetailService;
import com.yeshi.fanli.service.inter.redpack.RedPackExchangeService;
import com.yeshi.fanli.service.inter.redpack.RedPackGiveRecordService;
import com.yeshi.fanli.service.inter.redpack.RedPackWinInviteService;
import com.yeshi.fanli.service.inter.redpack.RedPackWinNewUserService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.util.Constant;
@@ -47,6 +53,7 @@
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.UserInviteUtil;
import com.yeshi.fanli.vo.redpack.RedPackDetailVO;
import com.yeshi.fanli.vo.redpack.RedPackWinDetailVO;
import com.yeshi.fanli.vo.redpack.RedPackWinInviteVO;
import net.sf.json.JSONObject;
@@ -74,10 +81,19 @@
   private RedPackWinInviteService redPackWinInviteService;
   @Resource
   private RedPackWinNewUserService redPackWinNewUserService;
   @Resource
   private UserInfoService userInfoService;
   @Resource
   private UserInfoExtraService userInfoExtraService;
   @Resource
   private JumpDetailV2Service jumpDetailV2Service;
   @Resource
   private SwiperPictureService swiperPictureService;
   /**
    * 统计
@@ -102,7 +118,14 @@
      BigDecimal yesterdayUse = zero;
      BigDecimal thisMonthUse = zero;
      BigDecimal lastMonthUse = zero;
      BigDecimal balance = redPackBalanceService.getBalance(uid);
      BigDecimal balance = null;
      try {
         balance = redPackBalanceService.getBalance(uid);
      } catch (RedPackBalanceException e) {
         out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
         return;
      }
      if (balance == null) {
         balance = zero;
      } else {
@@ -343,12 +366,14 @@
      }
      JSONObject data = new JSONObject();
      data.put("winMoney", redPackWinInviteService.getRewardMoney(uid).setScale(2));
      data.put("count", redPackWinInviteService.countRewardRecord(uid));
      data.put("list", JsonUtil.getApiCommonGson().toJson(list));
      if (!StringUtil.isNullOrEmpty(callback)) {
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
      } else
      } else {
         out.print(JsonUtil.loadTrueResult(data));
      }
   }
   /**
@@ -364,10 +389,23 @@
         out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
         return;
      }
      JSONObject data = new JSONObject();
      data.put("balance", redPackBalanceService.getBalance(uid));
      try {
         data.put("balance", redPackBalanceService.getBalance(uid));
      } catch (RedPackBalanceException e) {
         out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
         return;
      }
      data.put("ruleLink", redPackConfigService.getValueByKey("invite_reward_rule_link"));
      data.put("shareLink", UserInviteUtil.getShareUrl(uid));
      RedPackBalance redPackBalance = redPackBalanceService.selectByPrimaryKey(uid);
      if (redPackBalance != null && redPackBalance.getState() == RedPackBalance.STATE_LOCKED) {
         data.put("redPackLock", true);
      } else {
         data.put("redPackLock", false);
      }
      UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
      if (userInfoExtra != null && !StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
@@ -381,4 +419,49 @@
      } else
         out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 新人红包详情
    *
    * @param acceptData
    * @param uid
    * @param out
    */
   @RequestMapping(value = "getWinDetail", method = RequestMethod.POST)
   public void getWinDetail(AcceptData acceptData, Long uid, PrintWriter out) {
      if (uid == null || uid <= 0) {
         out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
         return;
      }
      try {
         RedPackWinDetailVO winDetail = redPackWinNewUserService.receiveReward(uid);
         if (winDetail == null) {
            out.print(JsonUtil.loadFalseResult(1, "红包已被抢光"));
            return;
         }
         winDetail.setLogo(Constant.systemCommonConfig.getDefaultPortrait());
         winDetail.setLogoLight(Constant.systemCommonConfig.getDefaultPortrait());
         JSONObject params = new JSONObject();
         params.put("url", redPackConfigService.getValueByKey("goods_shop_link_h5"));
         winDetail.setParams(params.toString());
         winDetail.setJumpDetail(jumpDetailV2Service.getByTypeCache("web",
               Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
         winDetail.setTips(redPackConfigService.getValueByKey("new_user_win_tips"));
         // 2、顶部轮播图
         List<SwiperPicture> oldtopPicList = swiperPictureService.getByBannerCard("redpack_win_detail_banner");
         List<SwiperPicture> topPicList = new ArrayList<>();
         if (oldtopPicList != null && oldtopPicList.size() > 0)
            topPicList.addAll(oldtopPicList);
         JSONObject data = new JSONObject();
         data.put("detail", JsonUtil.getApiCommonGson().toJson(winDetail));
         data.put("banner", JsonUtil.getApiCommonGson().toJson(topPicList));
         out.print(JsonUtil.loadTrueResult(data));
      } catch (Exception e) {
         out.print(JsonUtil.loadFalseResult(1, "红包已被抢光啦"));
      }
   }
}