yujian
2019-11-07 3f76ec837b343e5a8538f2ce50010714d16cdeef
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java
@@ -1,6 +1,8 @@
package com.yeshi.fanli.controller.client.v2;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
@@ -14,23 +16,27 @@
import com.yeshi.fanli.entity.bus.homemodule.FloatAD;
import com.yeshi.fanli.entity.bus.msg.MsgDeviceReadState;
import com.yeshi.fanli.entity.bus.user.UserActiveLog;
import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.entity.config.AppHomeFloatImg;
import com.yeshi.fanli.entity.taobao.ClientTBPid;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.homemodule.FloatADService;
import com.yeshi.fanli.service.inter.msg.MsgDeviceReadStateService;
import com.yeshi.fanli.service.inter.redpack.RedPackWinNewUserService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
import com.yeshi.fanli.service.inter.user.TBPidService;
import com.yeshi.fanli.service.inter.user.UserActiveLogService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.util.AESUtil;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.jd.JDUtil;
import com.yeshi.fanli.vo.homemodule.FloatImgDetailVO;
import net.sf.json.JSONObject;
@@ -71,6 +77,10 @@
   @Resource
   private UserActiveLogService userActiveLogService;
   @Resource
   private RedPackWinNewUserService redPackWinNewUserService;
   /**
    * s 首页配置信息
    * 
@@ -135,6 +145,74 @@
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * s 首页配置信息
    *
    * @param acceptData
    * @param out
    */
   @RequestMapping(value = "getHomeConfigNew", method = RequestMethod.POST)
   public void getHomeConfigNew(AcceptData acceptData, Long uid, PrintWriter out) {
      if (uid != null && uid == 0L)
         uid = null;
      // 活动弹框
      List<FloatAD> listAD = null;
      if (redPackWinNewUserService.verifyHasReward(uid)) {
         listAD = floatADService.getValidByPosition(FloatAD.POSITION_INDEX);
      } else {
         listAD = floatADService.getValidCommonByPosition(FloatAD.POSITION_INDEX);
      }
      List<FloatImgDetailVO> listVO = new ArrayList<FloatImgDetailVO>();
      if (listAD != null && !listAD.isEmpty()) {
         for (FloatAD floatAD: listAD) {
            JumpDetailV2 jumpDetail = floatAD.getJumpDetail();
            if (jumpDetail != null) {
               jumpDetail = jumpDetailV2Service.selectByPrimaryKey(jumpDetail.getId());
               if (jumpDetail != null) {
                  jumpDetail.setNeedLogin(floatAD.isJumpNeedLogin());
               }
            }
            FloatImgDetailVO floatImgVO = new FloatImgDetailVO();
            floatImgVO.setId(floatAD.getId().toString());
            floatImgVO.setImg(floatAD.getPicture());
            floatImgVO.setParams(floatAD.getParams());
            floatImgVO.setJumpDetail(jumpDetail);
            floatImgVO.setShowTime(floatAD.getShowMode());
            floatImgVO.setAccountLogin(floatAD.isJumpNeedLogin());
            listVO.add(floatImgVO);
         }
      }
      JSONObject data = new JSONObject();
      data.put("listAD", JsonUtil.getApiCommonGson().toJson(listVO));
      // 领券帮助链接,1.5.2后生效
      String couponHelp = configService.get("taobao_coupon_help");
      data.put("couponHelpUrl", couponHelp);
      // 判断新老用户 显示热门功能按钮滑动
      UserActiveLog da = null;
      if (uid != null)
         da = userActiveLogService.getFirstActiveInfo(uid);
      // 新人
      if (da == null || (System.currentTimeMillis() - da.getCreateTime().getTime()) <= 1000 * 60 * 60 * 24 * 15L) {
         data.put("userTimeType", 0);
      } else {// 老人
         data.put("userTimeType", 1);
      }
      // 是否显示热门功能按钮
      String platform = acceptData.getPlatform();
      data.put("hotFuctionLink",
            configService.getByVersion("hot_function_url", platform, Integer.parseInt(acceptData.getVersion())));
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 消息中心弹框
    * 
@@ -237,10 +315,27 @@
         data.put("baichuan", false);// 不需要采用阿里百川的方式加载webview
         data.put("goodsDetail", false);// 不需要拦截商品详情
      }
//TODO 前端需要处理
//      if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
//         JSONObject js = new JSONObject();
//         String jsStr = configService.get("url_extract_id");
//         String md5 = StringUtil.Md5(jsStr);
//         js.put("md5", md5);
//         data.put("js", js);
//      }
      out.print(JsonUtil.loadTrueResult(data));
   }
   @RequestMapping(value = "getWebJS", method = RequestMethod.POST)
   public void getWebJS(AcceptData acceptData, PrintWriter out) {
      JSONObject data = new JSONObject();
      String urlIdJS = configService.get("url_extract_id");
      data.put("urlIdJSMD5", StringUtil.Md5(urlIdJS));
      data.put("urlIdJS", AESUtil.encrypt(urlIdJS, Constant.UIDAESKEY));
      out.print(JsonUtil.loadTrueResult(data));
   }
   /**
    * 获取账号绑定中的配置信息
    *