admin
2019-06-27 ab9e60fa9a8e43d797446730a5dc9ebfb6b3f4e6
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/TaoLiJinControllerV2.java
@@ -27,13 +27,13 @@
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.lable.QualityFactory;
import com.yeshi.fanli.entity.bus.tlj.DeviceTaoLiJinRecord;
import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinDetail.TaoLiJinDetailTypeEnum;
import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinOrigin;
import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinOrigin.TaoLiJinOriginEnum;
import com.yeshi.fanli.entity.bus.user.UserMoneyExtra;
import com.yeshi.fanli.entity.bus.user.UserRank;
import com.yeshi.fanli.entity.taobao.ShareHotGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.exception.tlj.UserTaoLiJinOriginException;
@@ -45,9 +45,9 @@
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.monitor.BusinessEmergent110Service;
import com.yeshi.fanli.service.inter.monitor.MonitorService;
import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService;
import com.yeshi.fanli.service.inter.tlj.DeviceTaoLiJinRecordService;
import com.yeshi.fanli.service.inter.tlj.GoodsTaoLiJinRateService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinDetailService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinRecordService;
@@ -60,6 +60,7 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoLiJinUtil;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import com.yeshi.fanli.vo.tlj.TaoLiJinDetailVO;
import com.yeshi.fanli.vo.user.UserTaoLiJinRecordVO;
@@ -120,9 +121,6 @@
   private QualityGoodsService qualityGoodsService;
   
   @Resource
   private GoodsTaoLiJinRateService goodsTaoLiJinRateService;
   @Resource
   private DeviceTaoLiJinRecordService deviceTaoLiJinRecordService;
   @Resource
@@ -130,7 +128,11 @@
   
   @Resource(name = "taskExecutor")
   private TaskExecutor executor;
   @Resource
   private ShareHotGoodsService shareHotGoodsService;
   /**
    * 获取淘礼金分享记录
    * 
@@ -325,7 +327,21 @@
               return new JsonPrimitive(TimeUtil.getGernalTime(value.getTime(), "yyyy.MM.dd HH:mm"));
            }
         }
      }).registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() {
         @Override
         public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) {
            if (value == null) {
               return new JsonPrimitive("");
            } else {
               // 保留2位小数
               value = value.setScale(2);
               return new JsonPrimitive(value.toString());
            }
         }
      });
      Gson gson = gsonBuilder.create();
      JSONObject data = new JSONObject();
@@ -374,11 +390,11 @@
         data.put("content", "自购直接抵现,优惠真实可见!");
         data.put("type", 1);
         data.put("money", money.setScale(2).toString());
         data.put("usage", "领取成功,已存入“我的-推广红包");
         data.put("usage", "领取成功,已存入“我的-推广红包”");
         data.put("jumpName", "去使用");
         data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_taolijin_goods"));
         data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_goods_hot"));
         data.put("tip", configTaoLiJinService.getValueByKey("hongbao_newbies_tip"));
         data.put("rules", configTaoLiJinService.getValueByKey("taolijin_rules"));
         data.put("rules", configTaoLiJinService.getValueByKey("newbies_rules_link"));
         
         out.print(JsonUtil.loadTrueResult(data));
         return;
@@ -387,7 +403,6 @@
      
      // 登录用户
      JSONObject data = new JSONObject();
      data.put("rules", configTaoLiJinService.getValueByKey("taolijin_rules"));
      data.put("icon", configTaoLiJinService.getValueByKey("taolijin_system_icon"));
      
      if (type.equals(TaoLiJinOriginEnum.newbiesWin.name())) {
@@ -409,10 +424,11 @@
         data.put("content", "自购直接抵现,优惠真实可见!");
         data.put("type", 1);
         data.put("money", hasMoney.setScale(2).toString());
         data.put("usage", "领取成功,已存入“我的-推广红包");
         data.put("usage", "领取成功,已存入“我的-推广红包”");
         data.put("jumpName", "去使用");
         data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_taolijin_goods"));
         data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_goods_hot"));
         data.put("tip", configTaoLiJinService.getValueByKey("hongbao_newbies_tip"));
         data.put("rules", configTaoLiJinService.getValueByKey("newbies_rules_link"));
         
      } else if(type.equals(TaoLiJinOriginEnum.rankWin.name())) {
         boolean isRank = false;
@@ -448,6 +464,7 @@
            data.put("jumpName", "去查看");
            data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("user_rank"));
            data.put("tip", configTaoLiJinService.getValueByKey("hongbao_rank_not_enough_tip"));
            data.put("rules", configTaoLiJinService.getValueByKey("rank_rules_link"));
            out.print(JsonUtil.loadTrueResult(data));
            return;
         } else {
@@ -455,10 +472,11 @@
            data.put("content", "推广红包,好友福利!");
            data.put("type", 1);
            data.put("money", hasMoney.setScale(2).toString());
            data.put("usage", "领取成功,已存入“我的-推广红包");
            data.put("usage", "领取成功,已存入“我的-推广红包”");
            data.put("jumpName", "去使用");
            data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_taolijin_goods"));
            data.put("jumpDetail", jumpDetailV2Service.getByTypeCache("share_goods_hot"));
            data.put("tip", configTaoLiJinService.getValueByKey("hongbao_rank_tip"));
            data.put("rules", configTaoLiJinService.getValueByKey("rank_rules_link"));
         }
         
      } else {
@@ -478,23 +496,18 @@
    * @param out
    */
   @RequestMapping(value = "getShareGoods", method = RequestMethod.POST)
   public void getShareGoods(AcceptData acceptData, Long uid, Integer page, PrintWriter out) {
   public void getShareGoods(AcceptData acceptData, Long uid, PrintWriter out) {
      if (uid == null || uid <= 0) {
         out.print(JsonUtil.loadFalseResult(1, "用户未登录"));
         return;
      }
      
      if (page == null || page < 1) {
         page = 1;
      String day = TimeUtil.getGernalTime(java.lang.System.currentTimeMillis());
      List<ShareHotGoods> listHot = shareHotGoodsService.listByDay(day);
      if (listHot == null) {
         listHot = new ArrayList<ShareHotGoods>();
      }
      int pageSize = 10;
      
      List<QualityFactory> listFreeGoods = qualityGoodsService.listFreeGoods((page - 1) * pageSize, pageSize);
      if (listFreeGoods == null) {
         listFreeGoods = new ArrayList<QualityFactory>();
      }
      long count = listFreeGoods.size();
      
      JSONArray array = new JSONArray();
      Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
@@ -511,19 +524,22 @@
      
      
      BigDecimal proportion = hongBaoManageService.getFanLiRate();
      for (QualityFactory qualityFactory : listFreeGoods) {
         TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief();
      for (ShareHotGoods hotGoods : listHot) {
         TaoBaoGoodsBrief taoBaoGoodsBrief = hotGoods.getGoods();
         if (taoBaoGoodsBrief == null) {
            continue;
         }
         
         TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null);
         // 计算推广红包
         String warningRate = configTaoLiJinService.getValueByKey("warning_value");
         BigDecimal spreadMoney = TaoLiJinUtil.getSpreadMoney(warningRate, taoBaoGoodsBrief);
         
         BigDecimal spreadMoney = goodsTaoLiJinRateService.getGoodsSpreadMoney(taoBaoGoodsBrief);
         // 推广红包 不能小于1
         if (spreadMoney.compareTo(new BigDecimal(1)) < 0) {
         if (spreadMoney.compareTo(new BigDecimal(1.1)) < 0) {
            continue;
         }
         TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null);
         // 去掉标签
         extra.setLabels(null);
                  
@@ -547,7 +563,7 @@
      });
      
      JSONObject data = new JSONObject();
      data.put("count", count);
      data.put("count", array.size());
      data.put("list", array);
      out.print(JsonUtil.loadTrueResult(data));
   }