admin
2019-12-03 ad1c19461fee4c7c4a26795bef75d26f9738faf1
多图分享修改
10个文件已修改
178 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareStorageControllerV2.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/web/ShareHotGoodsController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/ShameUserInviteCodePublishJOB.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserGoodsStorageServiceImpl.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserGoodsStorageService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserShareGoodsRecordService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/CommonGoodsFactory.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/vo/goods/ShareInfoVO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareControllerV2.java
@@ -158,17 +158,22 @@
    private UserTaoLiJinRecordService userTaoLiJinRecordService;
    /**
     * 获取淘宝的分享链接
     * 
     * @param acceptData
     * @param uid
     *            -用户ID
     * @param auctionId-商品ID
     * @param goodsId-商品ID
     * @param source
     * @param totalNum
     * @param goodsType
     * @param needGoods
     *            -是否需要商品信息
     * @param request
     * @param out
     */
    @RequestMapping(value = "createShareInfo")
    public void createShareInfo(AcceptData acceptData, Long uid, Long goodsId, String source, Integer totalNum,
            Integer goodsType, HttpServletRequest request, PrintWriter out) {
            Integer goodsType, Boolean needGoods, HttpServletRequest request, PrintWriter out) {
        if (uid == null || uid <= 0) {
            out.print(JsonUtil.loadFalseResult(1, "用户ID不能为空"));
            return;
@@ -194,19 +199,19 @@
        // 淘宝
        if (goodsType == null || goodsType == Constant.SOURCE_TYPE_TAOBAO) {
            createTaoBaoShare(acceptData, uid, goodsId, totalNum, source, request, out);
            createTaoBaoShare(acceptData, uid, goodsId, totalNum, source, needGoods, request, out);
            return;
        }
        // 京东
        if (goodsType == Constant.SOURCE_TYPE_JD) {
            createJDShare(acceptData, uid, goodsId, source, out);
            createJDShare(acceptData, uid, goodsId, source, needGoods, out);
            return;
        }
        // 拼多多
        if (goodsType == Constant.SOURCE_TYPE_PDD) {
            createPDDShare(acceptData, uid, goodsId, source, out);
            createPDDShare(acceptData, uid, goodsId, source, needGoods, out);
            return;
        }
    }
@@ -238,7 +243,10 @@
     * @param out
     */
    public void createTaoBaoShare(AcceptData acceptData, Long uid, Long goodsId, Integer totalNum, String source,
            HttpServletRequest request, PrintWriter out) {
            Boolean needGoods, HttpServletRequest request, PrintWriter out) {
        if (needGoods == null)
            needGoods = false;
        UserExtraTaoBaoInfo extraInfo = userExtraTaoBaoInfoService.getByUid(uid);
        UserInfoExtra userExtraInfo = userInfoExtraService.getUserInfoExtra(uid);
        String inviteCode = null;
@@ -267,6 +275,13 @@
            // 测试
            TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(uid, goodsId, relationId);
            if (taoBaoLink != null && taoBaoLink.getGoods() != null && needGoods) {
                ConfigParamsDTO dto = new ConfigParamsDTO(hongBaoManageService.getFanLiRate(),
                        hongBaoManageService.getShareRate(), new BigDecimal(80));
                GoodsDetailVO goodsInfo = GoodsDetailVOFactory.convertTaoBao(taoBaoLink.getGoods(), dto);
                shareInfo.setGoodsInfo(goodsInfo);
            }
            String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(),
                    Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY),
@@ -598,7 +613,8 @@
     * @param request
     * @param out
     */
    public void createJDShare(AcceptData acceptData, Long uid, Long goodsId, String source, PrintWriter out) {
    public void createJDShare(AcceptData acceptData, Long uid, Long goodsId, String source, boolean needGoods,
            PrintWriter out) {
        JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsId);
        if (jdGoods == null) {
            out.print(JsonUtil.loadFalseResult(1, "该商品已下架"));
@@ -617,7 +633,8 @@
            couponUrl = couponInfo.getLink();
        }
        String materialId = "https://item.jd.com/" + goodsId + ".html";
        String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", uid + "");
        String jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "",
                uid + "");
        ShareInfoVO shareInfo = new ShareInfoVO();
        shareInfo.setClickUrl(jumpLink);
@@ -625,6 +642,10 @@
        shareInfo.setRule(configService.get("share_rule_link_jd"));
        shareInfo.setPictUrl(jdGoods.getPicUrl());
        shareInfo.setCommentTexts(new ArrayList<>());
        if (needGoods)
            shareInfo.setGoodsInfo(GoodsDetailVOFactory.convertJDGoods(jdGoods, new ConfigParamsDTO(
                    hongBaoManageService.getFanLiRate(), hongBaoManageService.getShareRate(), new BigDecimal(80))));
        String shareText = "";
        boolean hasCoupon = false;
@@ -716,7 +737,8 @@
     * @param source
     * @param out
     */
    public void createPDDShare(AcceptData acceptData, Long uid, Long goodsId, String source, PrintWriter out) {
    public void createPDDShare(AcceptData acceptData, Long uid, Long goodsId, String source, boolean needGoods,
            PrintWriter out) {
        PDDGoodsDetail goods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId);
        if (goods == null) {
            out.print(JsonUtil.loadFalseResult(1, "该商品已下架"));
@@ -737,6 +759,10 @@
        shareInfo.setCommentTexts(new ArrayList<>());
        shareInfo.setRule(configService.get("share_rule_link_pdd"));
        shareInfo.setPictUrl(goods.getGoodsImageUrl());
        if (needGoods) {
            shareInfo.setGoodsInfo(GoodsDetailVOFactory.convertPDDGoods(goods, new ConfigParamsDTO(
                    hongBaoManageService.getFanLiRate(), hongBaoManageService.getShareRate(), new BigDecimal(80))));
        }
        String template = "";
        boolean hasCoupon = false;
@@ -1020,7 +1046,8 @@
            couponUrl = couponInfo.getLink();
        }
        String materialId = "https://item.jd.com/" + goodsId + ".html";
        String shortLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", uid + "");
        String shortLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "",
                uid + "");
        String content = shareGoodsTextTemplateService.createContentByTemplateJD(template, uid, goods, shortLink,
                hasCoupon);
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareStorageControllerV2.java
@@ -31,6 +31,7 @@
import com.yeshi.fanli.service.inter.user.UserGoodsStorageService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.vo.goods.GoodsDetailVO;
@@ -56,8 +57,6 @@
    @Resource
    private UserGoodsStorageService userGoodsStorageService;
    /**
     *  单个商品加入选品库
@@ -106,8 +105,10 @@
     * 批量添加选品库
     * 
     * @param acceptData
     * @param uid        用户id
     * @param ids        简版商品id
     * @param uid
     *            用户id
     * @param ids
     *            简版商品id
     * @param out
     */
    @RequestMapping(value = "addStorage", method = RequestMethod.POST)
@@ -132,8 +133,10 @@
     * 查询用户选品库数据
     * 
     * @param acceptData
     * @param page       页码 初始值 1
     * @param uid        用户id
     * @param page
     *            页码 初始值 1
     * @param uid
     *            用户id
     * @param out
     */
    @RequestMapping(value = "getlist", method = RequestMethod.POST)
@@ -252,7 +255,6 @@
        out.print(JsonUtil.loadTrueResult(data));
    }
    /**
     * 分享商品返回二维码图片
     * 
@@ -276,7 +278,11 @@
        try {
            Gson gson = new Gson();
            List<Long> listStorageID = gson.fromJson(storageIds, new TypeToken<ArrayList<Long>>() {}.getType());
            List<Long> listStorageID = gson.fromJson(storageIds, new TypeToken<ArrayList<Long>>() {
            }.getType());
            if (!VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
            if (listStorageID == null || listStorageID.size() < 9) {
                out.print(JsonUtil.loadFalseResult("分享商品数量不足"));
                return;
@@ -287,8 +293,13 @@
                return;
            }
            JSONObject data = userGoodsStorageService.createShareV2(uid, listStorageID);
                JSONObject data = userGoodsStorageService.createShareV2(uid, listStorageID, true);
            out.print(JsonUtil.loadTrueResult(data));
            } else {
                JSONObject data = userGoodsStorageService.createShareV2(uid, listStorageID, false);
                out.print(JsonUtil.loadTrueResult(data));
            }
        } catch (UserGoodsStorageException e) {
            out.print(JsonUtil.loadFalseResult("分享失败"));
            e.printStackTrace();
fanli/src/main/java/com/yeshi/fanli/controller/web/ShareHotGoodsController.java
@@ -59,6 +59,11 @@
            array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, "100", null)));
        }
        out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(array)));
    }
    /**
fanli/src/main/java/com/yeshi/fanli/job/ShameUserInviteCodePublishJOB.java
@@ -12,6 +12,7 @@
import com.yeshi.fanli.entity.integral.CodePublishRecord;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.integral.CodePublishRecordService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.TimeUtil;
/**
@@ -32,8 +33,8 @@
    // 7点到23点每10分钟执行一次
    @Scheduled(cron = "0 0/10 7-23 * * ? ")
    public void publish() {
        // if (!Constant.IS_TASK)
        // return;
        if (!Constant.IS_TASK)
            return;
        long time = System.currentTimeMillis();
        int day = TimeUtil.getDayDifferenceCount(new Date(TimeUtil.convertToTimeTemp("2019-11-28", "yyyy-MM-dd")),
                new Date());
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserGoodsStorageServiceImpl.java
@@ -115,6 +115,7 @@
    
    /**
     * 根据主键 、uid 批量删除
     *
     * @param list
     * @return
     */
@@ -184,7 +185,6 @@
                }
            }
            
            if (commonGoods != null) {
                try {
                    commonGoodsService.addOrUpdateCommonGoods(commonGoods);
@@ -204,7 +204,8 @@
                    userGoodsStorageMapper.updateByPrimaryKeySelective(goodsStorage);
                } else {
                    goodsStorage = new UserGoodsStorage();
                    goodsStorage.setUid(uid);;
                    goodsStorage.setUid(uid);
                    ;
                    goodsStorage.setState(UserGoodsStorage.STATE_NORMAL);
                    goodsStorage.setCommonGoods(commonGoods);
                    goodsStorage.setCreateTime(new Date());
@@ -214,7 +215,6 @@
            }
        }
    }
    
    @Override
    @Transactional
@@ -240,7 +240,8 @@
                    userGoodsStorageMapper.updateByPrimaryKeySelective(goodsStorage);
                } else {
                    goodsStorage = new UserGoodsStorage();
                    goodsStorage.setUid(uid);;
                    goodsStorage.setUid(uid);
                    ;
                    goodsStorage.setState(UserGoodsStorage.STATE_NORMAL);
                    goodsStorage.setCommonGoods(commonGoods);
                    goodsStorage.setCreateTime(new Date());
@@ -250,7 +251,6 @@
            }
        }
    }
    
    @Override
    public JSONArray getMyStorage(int page, int pageSize, Long uid, Integer source) throws UserGoodsStorageException {
@@ -289,7 +289,6 @@
            }
        }
        
        BigDecimal  rate = manageService.getFanLiRate();
        Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
@@ -300,12 +299,11 @@
                continue;
            }
            
            int state = 0;
            Integer goodsType = commonGoods.getGoodsType();
            
            if (listTaoKeGoods != null && listTaoKeGoods.size() > 0
                    && goodsType != null && goodsType == Constant.SOURCE_TYPE_TAOBAO) {
            if (listTaoKeGoods != null && listTaoKeGoods.size() > 0 && goodsType != null
                    && goodsType == Constant.SOURCE_TYPE_TAOBAO) {
                state = 1;  // 默认停售
                Long goodsId = commonGoods.getGoodsId();
                for (TaoBaoGoodsBrief taoKeGoods: listTaoKeGoods) {
@@ -338,7 +336,6 @@
        
        return array;
    }
    
    @Override
    public boolean isExistStorage(Long uid, Long auctionId, Integer goodType) {
@@ -385,7 +382,8 @@
            totalMoney = MoneyBigDecimalUtil.add(totalMoney, money);
        }
        
        ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsStorage(uid, listGoodsBrief, listStorageID);
        ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsStorage(uid, listGoodsBrief,
                listStorageID);
        FileUploadResult uploadResult = new FileUploadResult();
        uploadResult.setUrl(shareRecord.getSharePictureUrl());
        
@@ -397,10 +395,9 @@
        return data;
    }
    
    @Override
    public JSONObject createShareV2(Long uid, List<Long> listStorageID) throws UserGoodsStorageException, UserShareGoodsRecordException {
    public JSONObject createShareV2(Long uid, List<Long> listStorageID, boolean needDrawPicture)
            throws UserGoodsStorageException, UserShareGoodsRecordException {
        List<UserGoodsStorage> listStorage = userGoodsStorageMapper.listQueryByIds(listStorageID);
        if (listStorage == null || listStorage.size() == 0) {
            throw new UserGoodsStorageException(1, "选品库商品不存在");
@@ -434,7 +431,8 @@
            }
        }
        
        ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsStorageV2(uid, listCommonGoods, listStorageID);
        ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordGoodsStorageV2(uid, listCommonGoods,
                listStorageID, needDrawPicture);
        FileUploadResult uploadResult = new FileUploadResult();
        uploadResult.setUrl(shareRecord.getSharePictureUrl());
        
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java
@@ -96,8 +96,6 @@
    @Resource
    private IntegralGetService integralGetService;
    
    @Override
    public int insert(UserShareGoodsRecord record) {
        return userShareGoodsRecordMapper.insert(record);
@@ -241,8 +239,7 @@
    }
    @Override
    public void saveSingleShareRecord(Long uid, Long goodsId, Integer goodsType)
            throws UserShareGoodsRecordException {
    public void saveSingleShareRecord(Long uid, Long goodsId, Integer goodsType) throws UserShareGoodsRecordException {
        if (goodsId == null) {
            throw new UserShareGoodsRecordException(1, "分享商品不能为空");
        }
@@ -426,9 +423,12 @@
    /**
     * 生成分享图
     * 
     * @param uid       用户id
     * @param shareId   分享记录id
     * @param source    来源
     * @param uid
     *            用户id
     * @param shareId
     *            分享记录id
     * @param source
     *            来源
     * @param listGoods
     * @return
     * @throws UserShareGoodsRecordException
@@ -661,7 +661,8 @@
    }
    @Override
    public ShareGoodsRecordDTO addRecordGoodsDetail(Long uid, Long auctionId, Integer goodsType, boolean isTaolijin) throws UserShareGoodsRecordException {
    public ShareGoodsRecordDTO addRecordGoodsDetail(Long uid, Long auctionId, Integer goodsType, boolean isTaolijin)
            throws UserShareGoodsRecordException {
        if (auctionId == null || uid == null || uid <= 0) {
            throw new UserShareGoodsRecordException(1, "传递参数不正确");
        }
@@ -682,8 +683,8 @@
    }
    @Override
    public ShareGoodsRecordDTO addRecordGoodsStorage(Long uid, List<TaoBaoGoodsBrief> listGoodsBrief, List<Long> listStorageID)
            throws UserShareGoodsRecordException {
    public ShareGoodsRecordDTO addRecordGoodsStorage(Long uid, List<TaoBaoGoodsBrief> listGoodsBrief,
            List<Long> listStorageID) throws UserShareGoodsRecordException {
        if (uid == null || uid <= 0 || listGoodsBrief == null || listGoodsBrief.size() == 0) {
            throw new UserShareGoodsRecordException(1, "传递参数不正确");
        }
@@ -700,7 +701,6 @@
        for (TaoBaoGoodsBrief goodsBrief: listGoodsBrief) {
            listCommonGoods.add(CommonGoodsFactory.create(goodsBrief));
        }
        
        Long id = record.getId();
        // 分享链接
@@ -727,8 +727,8 @@
    }
    
    @Override
    public ShareGoodsRecordDTO addRecordGoodsStorageV2(Long uid, List<CommonGoods> listGoods, List<Long> listStorageID)
            throws UserShareGoodsRecordException {
    public ShareGoodsRecordDTO addRecordGoodsStorageV2(Long uid, List<CommonGoods> listGoods, List<Long> listStorageID,
            boolean needDrawPicture) throws UserShareGoodsRecordException {
        if (uid == null || uid <= 0 || listGoods == null || listGoods.size() == 0) {
            throw new UserShareGoodsRecordException(1, "传递参数不正确");
        }
@@ -745,7 +745,6 @@
        // 分享链接
        String shareUrl = getShareUrlV2(record);
        // 分享二维码链接
        FileUploadResult uploadResult = drawingSharePicture(uid, id, shareUrl, listGoods);
        ShareGoodsRecordDTO recordDTO = new ShareGoodsRecordDTO();
        recordDTO.setUid(uid);
@@ -753,7 +752,10 @@
        recordDTO.setShareUrl(shareUrl);
        recordDTO.setListId(listStorageID);
        recordDTO.setListGoods(listGoods);
        if (needDrawPicture) {
            FileUploadResult uploadResult = drawingSharePicture(uid, id, shareUrl, listGoods);
        recordDTO.setSharePictureUrl(uploadResult.getUrl());
        }
        recordDTO.setSource(ShareSourceTypeEnum.storage);
        // 缓存分享商品信息
@@ -948,7 +950,6 @@
        return url;
    }
    
    /**
     * 分享链接
     * 
@@ -959,8 +960,8 @@
        Long uid = shareRecord.getUid();
        Long shareId = shareRecord.getId();
        String url = String.format("http://%s/share_mushGoods_1.6.0.html?uid=%s&shareId=%s",
                configService.getH5Host(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY), shareId + "");
        String url = String.format("http://%s/share_mushGoods_1.6.0.html?uid=%s&shareId=%s", configService.getH5Host(),
                AESUtil.encrypt(uid + "", Constant.UIDAESKEY), shareId + "");
        String shortLink = HttpUtil.getShortLink(url);
        if (!StringUtil.isNullOrEmpty(shortLink)) {
@@ -972,9 +973,12 @@
    /**
     * 生成分享图
     * 
     * @param uid       用户id
     * @param shareId   分享记录id
     * @param source    来源
     * @param uid
     *            用户id
     * @param shareId
     *            分享记录id
     * @param source
     *            来源
     * @param listGoods
     * @return
     * @throws UserShareGoodsRecordException
fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserGoodsStorageService.java
@@ -105,11 +105,12 @@
     * 创建分享
     * @param uid
     * @param listStorageID
     * @param needDrawPicture是否需要绘图
     * @return
     * @throws UserGoodsStorageException
     * @throws UserShareGoodsRecordException
     */
    public JSONObject createShareV2(Long uid, List<Long> listStorageID)
    public JSONObject createShareV2(Long uid, List<Long> listStorageID,boolean needDrawPicture)
            throws UserGoodsStorageException, UserShareGoodsRecordException;
}
fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserShareGoodsRecordService.java
@@ -146,6 +146,6 @@
    public List<UserShareGoodsGroup> listByRecordId(Long shareId);
    public ShareGoodsRecordDTO addRecordGoodsStorageV2(Long uid, List<CommonGoods> listCommonGoods,
            List<Long> listStorageID) throws UserShareGoodsRecordException;
            List<Long> listStorageID,boolean needDrawPicture) throws UserShareGoodsRecordException;
    
}
fanli/src/main/java/com/yeshi/fanli/util/factory/CommonGoodsFactory.java
@@ -81,6 +81,8 @@
            } else {
                cg.setCouponAmount(new BigDecimal(0));
            }
            cg.setCouponLeftCount(1);
            cg.setCouponTotalCount(1);
        }
        
        JDCommissionInfo commissionInfo = goods.getCommissionInfo();
fanli/src/main/java/com/yeshi/fanli/vo/goods/ShareInfoVO.java
@@ -76,6 +76,17 @@
    @Expose
    private String wxErCode;// 微信二维码内容
    @Expose
    private GoodsDetailVO goodsInfo;
    public GoodsDetailVO getGoodsInfo() {
        return goodsInfo;
    }
    public void setGoodsInfo(GoodsDetailVO goodsInfo) {
        this.goodsInfo = goodsInfo;
    }
    public List<String> getCommentTexts() {
        return commentTexts;