yujian
2019-05-15 72f99531c8575c5621bb6067939b8b73807ab22f
动态时间随机8分钟以内  + 分享优化
7个文件已修改
151 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/ShareController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/dynamic/DynamicInfoDao.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dto/share/ShareInfoDTO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/DynamicInfoJob.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserGoodsStorageServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/ShareController.java
@@ -685,6 +685,7 @@
                String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(),
                        Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY),
                        auctionId + "");
                String shortLink = HttpUtil.getShortLink(url);
                if (!StringUtil.isNullOrEmpty(shortLink)) {
                    url = shortLink;
@@ -753,7 +754,7 @@
                ShareInfoDTO shareInfo = userShareGoodsRecordService.saveShareRecord(uid, 
                        ShareSourceTypeEnum.activity, title, listGoods);
                data.put("shareId", shareInfo.getShareId());
                data.put("clickUrl", shareInfo.getCodeUrl());
                data.put("clickUrl", shareInfo.getShareUrl());
                data.put("pictUrl", TbImgUtil.getTBSizeImg(picUrl, 500));
                // 帮助链接
                data.put("helpLink","http://apph5.yeshitv.com/apppage/all_help_content.html?id=148&from=singlemessage&isappinstalled=0");
fanli/src/main/java/com/yeshi/fanli/dao/dynamic/DynamicInfoDao.java
@@ -63,9 +63,16 @@
        Query query = new Query();
        query.addCriteria(Criteria.where("id").is(record.getId()));
        
        // 更新分享次数
        Update update = Update.update("imgs", record.getImgs()).set("desc", record.getDesc());
        mongoTemplate.updateMulti(query, update, DynamicInfo.class);
        if (record.getClassId() == 1) {
            Update update = Update.update("imgs", record.getImgs()).set("desc", record.getDesc());
            mongoTemplate.updateMulti(query, update, DynamicInfo.class);
        } else {
            Update update = Update.update("imgs", record.getImgs());
            mongoTemplate.updateMulti(query, update, DynamicInfo.class);
        }
    }
    
    /**
fanli/src/main/java/com/yeshi/fanli/dto/share/ShareInfoDTO.java
@@ -5,10 +5,6 @@
    private Long shareId;
    // 分享链接
    private String shareUrl;
    // 分享二维码
    private String codeUrl;
    // md5
    private String md5;
    
    
    public Long getShareId() {
@@ -23,18 +19,4 @@
    public void setShareUrl(String shareUrl) {
        this.shareUrl = shareUrl;
    }
    public String getCodeUrl() {
        return codeUrl;
    }
    public void setCodeUrl(String codeUrl) {
        this.codeUrl = codeUrl;
    }
    public String getMd5() {
        return md5;
    }
    public void setMd5(String md5) {
        this.md5 = md5;
    }
}
fanli/src/main/java/com/yeshi/fanli/job/DynamicInfoJob.java
@@ -31,9 +31,9 @@
    @Scheduled(cron = "0 0/10 6-23 * * ?")
    public void insetDynamicInfo() {
        
        if (!Constant.IS_TASK) {
            return;
        }
//        if (!Constant.IS_TASK) {
//            return;
//        }
        
        try {
            dynamicInfoService.insertTimeHotSale();
@@ -64,9 +64,9 @@
    @Scheduled(cron = "0 0 6,7,15,16,21,22,23 * * ? ")
    public void insetShopInfo1() {
        
        if (!Constant.IS_TASK) {
            return;
        }
//        if (!Constant.IS_TASK) {
//            return;
//        }
        
        try {
            dynamicInfoService.insertShopInfo();
@@ -85,9 +85,9 @@
    @Scheduled(cron = "0 0/30 8,9,10 * * ?")
    public void insetShopInfo2() {
        
        if (!Constant.IS_TASK) {
            return;
        }
//        if (!Constant.IS_TASK) {
//            return;
//        }
        
        try {
            dynamicInfoService.insertShopInfo();
@@ -107,9 +107,9 @@
    @Scheduled(cron = "0 0/30 11,12,13,14 * * ?")
    public void insetShopInfo3() {
        
        if (!Constant.IS_TASK) {
            return;
        }
//        if (!Constant.IS_TASK) {
//            return;
//        }
        
        try {
            dynamicInfoService.insertShopInfo();
@@ -151,9 +151,9 @@
    @Scheduled(cron = "0 0 0 * * ?")
    public void remove() {
        
        if (!Constant.IS_TASK) {
            return;
        }
//        if (!Constant.IS_TASK) {
//            return;
//        }
        
        try {
            dynamicInfoService.removeByDate(DateUtil.reduceDay(3, new Date()));
@@ -173,9 +173,9 @@
    @Scheduled(cron = "0 0/3 * * * ?")
    public void activityNeedPublish() {
        
        if (!Constant.IS_TASK) {
            return;
        }
//        if (!Constant.IS_TASK) {
//            return;
//        }
        
        try {
            List<RecommendActivity> list = activityService.getNeedPublish();
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java
@@ -280,7 +280,7 @@
        dynamicInfo.setClassId(classId);
        dynamicInfo.setSubclassId(subclassId);
        dynamicInfo.setDaTaoKeId(daTaoKe.getId());
        dynamicInfo.setCreateTime(DateUtil.reduceRandomMinute(new Date()));
        dynamicInfo.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8));
        dynamicInfo.setUpdateTime(new Date());
        // 随机分享次数
        dynamicInfo.setShareCount(1000 + (int) (Math.random() * 8000));
@@ -382,7 +382,7 @@
            dynamicVO.setCreateTime(existInfo.getCreateTime());
            dynamicVO.setShareCount(existInfo.getShareCount());
        } else {
            dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date()));
            dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8));
            dynamicVO.setShareCount(1000 + (int) (Math.random() * 8000));
        }
        
@@ -489,7 +489,7 @@
        dynamicVO.setShowType(DynamicInfo.SHOW_TYPE_TWO);
        dynamicVO.setShop(taoBaoShop);
        dynamicVO.setUser(activityUserService.listRand(1).get(0));
        dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date()));
        dynamicVO.setCreateTime(DateUtil.reduceRandomMinute(new Date(), 8));
        dynamicVO.setUpdateTime(new Date());
        
        // 介绍内容
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserGoodsStorageServiceImpl.java
@@ -313,14 +313,13 @@
        BigDecimal totalMoney = new BigDecimal(0.00);
        List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
        
        String rateStr = hongBaoManageService.get("hongbao_goods_proportion");
        BigDecimal rate = hongBaoManageService.getShareRate();
        for (UserGoodsStorage userGoodsStorage: listResult) {
            CommonGoods commonGoods = userGoodsStorage.getCommonGoods();
            TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(commonGoods);
            listGoodsBrief.add(goodsBrief);
            
            BigDecimal money = TaoBaoUtil.getGoodsHongBaoMoney(goodsBrief, new BigDecimal(rateStr));
            BigDecimal money = TaoBaoUtil.getGoodsHongBaoMoney(goodsBrief, rate);
            totalMoney = MoneyBigDecimalUtil.add(totalMoney, money);
        }
        
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java
@@ -368,13 +368,10 @@
        userShareGoodsRecord.setUpdateTime(date);
        userShareGoodsRecordMapper.insertSelective(userShareGoodsRecord);
        Map<String, Object> map = new HashMap<String, Object>();
        // 多个商品分享
        FileUploadResult loadResult = multipleGoodsShare(userShareGoodsRecord, listGoods);
         multipleGoodsShareRecord(userShareGoodsRecord, listGoods);
    
        ShareInfoDTO shareInfo = new ShareInfoDTO();
        shareInfo.setMd5(loadResult.getMd5());
        shareInfo.setCodeUrl(loadResult.getUrl());
        shareInfo.setShareId(userShareGoodsRecord.getId());
        shareInfo.setShareUrl(getShareUrl(userShareGoodsRecord));
        
@@ -441,6 +438,57 @@
    }
    /**
     * 多个商品分享生成记录
     *
     * @param userShareGoodsRecord
     * @param listGoods
     */
    @Transactional
    public void multipleGoodsShareRecord(UserShareGoodsRecord userShareGoodsRecord,
            List<TaoBaoGoodsBrief> listGoods) throws UserShareGoodsRecordException {
        // 分享记录
        Date date = new Date();
        List<TaoBaoGoodsBrief> listGoodsBrief = new ArrayList<TaoBaoGoodsBrief>();
        List<UserShareGoodsGroup> listGroup = new ArrayList<UserShareGoodsGroup>();
        for (TaoBaoGoodsBrief taoBaoGoodsBrief : listGoods) {
            CommonGoods commonGoods = CommonGoodsFactory.create(taoBaoGoodsBrief);
            commonGoods.setState(taoBaoGoodsBrief.getState());
            try {
                CommonGoods resultCommonGoods = commonGoodsService.addOrUpdateCommonGoods(commonGoods);
                if (resultCommonGoods != null) {
                    TaoBaoGoodsBrief goodsBrief = TaoBaoUtil.convert(resultCommonGoods);
                    listGoodsBrief.add(goodsBrief);
                }
                UserShareGoodsGroup shareGoodsGroup = new UserShareGoodsGroup();
                shareGoodsGroup.setTotalOrder(0);
                shareGoodsGroup.setTotalBrowse(0);
                shareGoodsGroup.setTodayBrowse(0);
                shareGoodsGroup.setTotalMoney(new BigDecimal(0));
                shareGoodsGroup.setCreateTime(date);
                shareGoodsGroup.setUpdateTime(date);
                shareGoodsGroup.setCommonGoods(resultCommonGoods);
                shareGoodsGroup.setRecordId(userShareGoodsRecord.getId());
                listGroup.add(shareGoodsGroup);
            } catch (CommonGoodsException e) {
                e.printStackTrace();
                continue;
            }
        }
        if (listGroup.size() > 0) {
            userShareGoodsGroupService.insertBatch(listGroup);
        }
    }
    /**
     * 多个商品分享生成记录
     * 
@@ -754,15 +802,19 @@
        }
        shareRecord.setShareState(1);// 分享生效
        updateByPrimaryKeySelective(shareRecord);
        // 更新商品为已分享
        userGoodsStorageService.updateShareState(shareId);
        updateByPrimaryKeySelective(shareRecord);// 更新商品为已分享
        // 更新选品库商品为已分享
        executor.execute(new Runnable() {
            @Override
            public void run() {
                userGoodsStorageService.updateShareState(shareId);
            }
        });
    }
    @Override
    public long countShareRecordByUid(Long uid) {
        return userShareGoodsRecordMapper.countQueryByUid(uid, null);
    }
}