admin
2020-05-12 2ec42a5aacea35d2918f0e17f07685cf5b4d25c8
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java
@@ -12,6 +12,7 @@
import javax.annotation.Resource;
import org.apache.commons.beanutils.PropertyUtils;
import org.springframework.core.task.TaskExecutor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -29,6 +30,7 @@
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
import com.yeshi.fanli.entity.bus.homemodule.Special;
import com.yeshi.fanli.entity.bus.homemodule.SpecialExtra;
import com.yeshi.fanli.entity.bus.homemodule.SpecialLabel;
import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
@@ -48,11 +50,13 @@
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.count.DailyCountMomentsService;
import com.yeshi.fanli.service.inter.dynamic.ArticleOfficialService;
import com.yeshi.fanli.service.inter.dynamic.DynamicInfoService;
import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService;
import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
import com.yeshi.fanli.service.inter.homemodule.SpecialExtraService;
import com.yeshi.fanli.service.inter.homemodule.SpecialService;
import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
@@ -73,6 +77,7 @@
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.vo.dynamic.ArticleVO;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
import com.yeshi.fanli.vo.homemodule.SpecialVO;
import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import net.sf.json.JSONArray;
@@ -135,8 +140,13 @@
   @Resource
   private ShareGoodsService shareGoodsService;
   // @Resource
   // private DailyCountMomentsService dailyCountMomentsService;
   @Resource
   private DailyCountMomentsService dailyCountMomentsService;
   @Resource
   private SpecialExtraService specialExtraService;
   @Resource(name = "taskExecutor")
   private TaskExecutor executor;
@@ -254,7 +264,7 @@
         // 2.0.7返回发圈+活动+学院+素材
         list.add(map.get(TYPE_FAQUAN));
         list.add(map.get(TYPE_HUODONG));
          list.add(map.get(TYPE_XUEYUAN));
         // list.add(map.get(TYPE_XUEYUAN));
         // list.add(map.get(TYPE_SUCAI));
      } else if (VersionUtil.greaterThan_2_0_6(acceptData.getPlatform(), acceptData.getVersion())) {
         // 2.0.6返回热销+活动+推荐+学院+邀请
@@ -365,34 +375,48 @@
      long time = System.currentTimeMillis();
      // 删除尚未启用的过期的
      List<SpecialVO> listVo = new ArrayList<SpecialVO>();
      for (int i = 0; i < list.size(); i++) {
         Special special = list.get(i);
         if (special.getState() == 1L) {
            list.remove(i--);
         } else {
            if (special.getStartTime() != null && special.getEndTime() != null)
               special.setTimeTask(true);
            else
               special.setTimeTask(false);
            if (special.isTimeTask()) {
               if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) {
                  list.remove(i--);
               } else// 设置倒计时
               {
                  special.setCountDownTime((special.getEndTime().getTime() - time) / 1000);
               }
            }
            List<SpecialLabel> listLabels = special.getListLabels();
            if (listLabels != null && !listLabels.isEmpty()) {
               List<ClientTextStyleVO> labels = new ArrayList<>();
               for (SpecialLabel specialLabel : listLabels) {
                  labels.add(new ClientTextStyleVO(specialLabel.getName(), specialLabel.getBgColor()));
               }
               special.setLabels(labels);
            continue;
         }
         // 是否活动已过期
         if (special.getStartTime() != null && special.getEndTime() != null) {
            if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) {
               continue;
            } else {
               special.setCountDownTime((special.getEndTime().getTime() - time) / 1000);
            }
         }
         SpecialVO specialVO = new SpecialVO();
         try {
            PropertyUtils.copyProperties(specialVO, special);
         } catch (Exception e) {
            e.printStackTrace();
            continue;
         }
         // 设置标签
         List<SpecialLabel> listLabels = specialVO.getListLabels();
         if (listLabels != null && !listLabels.isEmpty()) {
            List<ClientTextStyleVO> labels = new ArrayList<>();
            for (SpecialLabel specialLabel : listLabels) {
               labels.add(new ClientTextStyleVO(specialLabel.getName(), specialLabel.getBgColor()));
            }
            specialVO.setLabels(labels);
         }
         // 评论信息
         if (VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) {
            SpecialExtra extra = specialExtraService.selectByPrimaryKey(specialVO.getId());
            if (extra != null && !StringUtil.isNullOrEmpty(extra.getComment())) {
               specialVO.setComment(extra.getComment());
            }
         }
         listVo.add(specialVO);
      }
      long count = specialService.countByPlaceKeyList(listKey, platformCode,
@@ -402,7 +426,7 @@
      Gson gson = gsonBuilder.create();
      JSONObject data = new JSONObject();
      data.put("count", count);
      data.put("list", gson.toJson(list));
      data.put("list", gson.toJson(listVo));
      out.print(JsonUtil.loadTrueResult(data));
   }
@@ -888,8 +912,7 @@
            executor.execute(new Runnable() {
               @Override
               public void run() { // 添加每日统计
                  // TODO
                  // dailyCountMomentsService.addShareClick();
                  dailyCountMomentsService.addShareClick();
               }
            });
         }
@@ -919,7 +942,7 @@
         } catch (ShareGoodsException e) {
            e.printStackTrace();
         }
         jumpLink =  ShareControllerV2.getERCodeContentNew(
         jumpLink = ShareControllerV2.getERCodeContentNew(
               configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()), taoBaoLink.getGoods(),
               TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken()));
      } else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_JD) {
@@ -1042,10 +1065,74 @@
      executor.execute(new Runnable() {
         @Override
         public void run() { // 添加每日统计
            // TODO
            // dailyCountMomentsService.addCopyComment();
            dailyCountMomentsService.addCopyComment();
         }
      });
   }
   /**
    * 评论复制-专题
    *
    * @param acceptData
    * @param id
    * @param out
    */
   @RequestMapping(value = "copySpecialComment", method = RequestMethod.POST)
   public void copySpecialComment(AcceptData acceptData, Long uid, Long id, PrintWriter out) {
      if (uid == null || id == null) {
         out.print(JsonUtil.loadFalseResult("参数不能为空"));
         return;
      }
      SpecialExtra extra = specialExtraService.selectByPrimaryKey(id);
      if (extra == null ||  StringUtil.isNullOrEmpty(extra.getComment())) {
         out.print(JsonUtil.loadFalseResult("该内容已不存在"));
         return;
      }
      UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
      if (user == null) {
         out.print(JsonUtil.loadFalseResult("用户未登录"));
         return;
      }
      if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
         out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
         return;
      }
      UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid);
      String relationId = null;
      if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null
            && taoBaoInfo.getRelationValid() == true)
         relationId = taoBaoInfo.getRelationId();
      if (StringUtil.isNullOrEmpty(relationId)) {
         out.print(JsonUtil.loadFalseResult(2, "淘宝未授权,请前往\"我的\"绑定淘宝账号"));
         return;
      }
      String text = extra.getComment();
      String newText = text;
      if (extra.getNeedSpin() != null && extra.getNeedSpin()) {
         try {
            newText = convertLinkManager.convertLinkFromText(text, uid, true);
         } catch (ConvertLinkExceptionException e) {
            if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) {
               out.print(JsonUtil.loadFalseResult("评论生成失败"));
               return;
            }
         } catch (Exception e) {
            LogHelper.errorDetailInfo(e);
            out.print(JsonUtil.loadFalseResult("评论生成失败"));
            return;
         }
      }
      JSONObject data = new JSONObject();
      data.put("text", newText);
      out.print(JsonUtil.loadTrueResult(data));
   }
}