喻健
2018-12-10 5a9e4c13d08d3b1cb7da8f50f1097b33bb113b23
选品库商品优化
4个文件已修改
105 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5ShareController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/user/UserGoodsStorageMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserGoodsStorageServiceImpl.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsGroupServiceImpl.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5ShareController.java
@@ -26,6 +26,34 @@
     * @param source   来源
     * @param out
     */
    @RequestMapping(value = "getDetail")
    public void getDetail(String callback, Long shareId, String source, PrintWriter out) {
        try {
            if (shareId == null) {
                out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("传递参数不正确")));
                return;
            }
            userShareGoodsGroupService.updateBrowseRecord(shareId, 1);
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("更新成功")));
        } catch (UserShareGoodsRecordException e) {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(e.getMsg())));
        } catch (Exception e) {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("更新失败")));
            e.printStackTrace();
        }
    }
    /**
     * 分享商品
     * @param callback
     * @param shareId  分享id
     * @param source   来源
     * @param out
     */
    @RequestMapping(value = "record")
    public void query(String callback, Long shareId, String source, PrintWriter out) {
        
@@ -47,4 +75,5 @@
        }
    }
    
}
fanli/src/main/java/com/yeshi/fanli/mapping/user/UserGoodsStorageMapper.xml
@@ -99,7 +99,7 @@
     SELECT * FROM yeshi_ec_user_goods_storage  tg
     LEFT JOIN  `yeshi_ec_common_goods` cg ON tg.`guc_common_id` = cg.`cg_id`
     WHERE tg.`guc_uid` = #{uid}
     ORDER BY tg.`guc_updatetime` DESC
     ORDER BY  tg.guc_state,tg.`guc_updatetime` DESC
     LIMIT #{start},#{count}
   </select>
   
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserGoodsStorageServiceImpl.java
@@ -4,7 +4,6 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.annotation.Resource;
@@ -208,12 +207,10 @@
        long nd = 1000 * 24 * 60 * 60;
        List<CommonGoods> listUpadteCommonGoods = new ArrayList<CommonGoods>();
        
        BigDecimal  rate = manageService.getFanLiRate();
        Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
                .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
        Map<String, String> map = manageService.convertMap();
        BigDecimal  rate = manageService.getFanLiRate();
        
        for (UserGoodsStorage userGoodsStorage : listStorage) {
            CommonGoods commonGoods = userGoodsStorage.getCommonGoods();
@@ -231,20 +228,28 @@
            if (goodsState != null && (goodsState != 1 || !goodsState.equals(1))) {
                Date updateTime = commonGoods.getUpdateTime();
                if (updateTime != null) {
                    long diff = nowDate.getTime() - updateTime.getTime();
                    // 计算差多少小时
                    long diff = nowDate.getTime() - updateTime.getTime();
                    long day = diff / nd;
                    long hour = diff % nd / nh;
                    if (hour > 1 ) {
                    if (hour > 1 || day > 0 ) {
                        try {
                            if (commonGoods.getGoodsType() == CommonGoods.GOODS_TYPE_TB) {
                                goodsBrief = redisManager.getTaoBaoGoodsBrief(commonGoods.getGoodsId());
                                goodsBrief.setState(0);
                                goodsState = 0;
                                goodsBrief.setState(goodsState);
                                CommonGoods upadeteCommonGoods = CommonGoodsFactory.create(goodsBrief);
                                upadeteCommonGoods.setState(goodsState);
                                upadeteCommonGoods.setId(commonGoods.getId());
                                listUpadteCommonGoods.add(upadeteCommonGoods);
                            }
                        } catch (TaobaoGoodsDownException e) {
                            // 已下架
                            goodsState = 1;
                            commonGoods.setState(1);
                            commonGoods.setState(goodsState);
                            listUpadteCommonGoods.add(commonGoods);
                            e.printStackTrace();
                        }
                    }
@@ -253,25 +258,21 @@
            
            if (goodsBrief == null) {
                goodsBrief = TaoBaoUtil.convert(commonGoods);
            } else {
                CommonGoods upadeteCommonGoods = CommonGoodsFactory.create(goodsBrief);
                upadeteCommonGoods.setState(goodsState);
                listUpadteCommonGoods.add(upadeteCommonGoods);
            }
            }
            
            // 判断是否已分享
            Integer state = userGoodsStorage.getState();
            int shared = UserGoodsStorage.STATE_SHARED;
            if (state != null && (state == shared || state.equals(shared))) {
                if (goodsState != 1 || goodsState.equals(1)) {
                if (goodsState != 1 || !goodsState.equals(1)) {
                    goodsBrief.setState(2); // 已分享状态
                }
            }
            // 改变图片尺寸
            String pictUrl = commonGoods.getPicture();
            String pictUrl = goodsBrief.getPictUrl();
            if (!StringUtil.isNullOrEmpty(pictUrl) && !pictUrl.contains("320x320")) {
                commonGoods.setPicture(TbImgUtil.getTBSize320Img(pictUrl));
                goodsBrief.setPictUrl(TbImgUtil.getTBSize320Img(pictUrl));
            }
            String json = gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, rate.toString(), null));
@@ -349,6 +350,5 @@
        data.put("notifyDesc", configService.get("goods_share_notify"));
        return data;
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsGroupServiceImpl.java
@@ -194,7 +194,6 @@
            Map<String, String> map = hongBaoManageService.convertMap();
            String proportion = map.get("hongbao_goods_proportion");
            String fcRate = map.get("hongbao_fc_ratio");
            for (UserShareGoodsGroup userShareGoodsGroup : list) {
                CommonGoods commonGoods = userShareGoodsGroup.getCommonGoods();
@@ -211,20 +210,29 @@
                if (goodsState != null && (goodsState != 1 || !goodsState.equals(1))) {
                    Date updateTime = commonGoods.getUpdateTime();
                    if (updateTime != null) {
                        long diff = nowDate.getTime() - updateTime.getTime();
                        // 计算差多少小时
                        long hour = diff % nd / nh;
                        if (hour > 1) {
                            try {
                                if (commonGoods.getGoodsType() == CommonGoods.GOODS_TYPE_TB) {
                                    goodsBrief = redisManager.getTaoBaoGoodsBrief(commonGoods.getGoodsId());
                                    goodsBrief.setState(0);
                                    goodsState = 0;
                                }
                        long diff = nowDate.getTime() - updateTime.getTime();
                        long day = diff / nd;
                        long hour = diff % nd / nh;
                        if (hour > 1 || day > 0 ) {
                            try {
                                if (commonGoods.getGoodsType() == CommonGoods.GOODS_TYPE_TB) {
                                    goodsBrief = redisManager.getTaoBaoGoodsBrief(commonGoods.getGoodsId());
                                    goodsState = 0;
                                    goodsBrief.setState(goodsState);
                                    CommonGoods upadeteCommonGoods = CommonGoodsFactory.create(goodsBrief);
                                    upadeteCommonGoods.setState(goodsState);
                                    upadeteCommonGoods.setId(commonGoods.getId());
                                    listUpadteCommonGoods.add(upadeteCommonGoods);
                                }
                            } catch (TaobaoGoodsDownException e) {
                                // 已下架
                                goodsState = 1;
                                commonGoods.setState(1);
                                commonGoods.setState(goodsState);
                                listUpadteCommonGoods.add(commonGoods);
                                e.printStackTrace();
                            }
                        }
@@ -233,11 +241,7 @@
                if (goodsBrief == null) {
                    goodsBrief = TaoBaoUtil.convert(commonGoods);
                } else {
                    CommonGoods upadeteCommonGoods = CommonGoodsFactory.create(goodsBrief);
                    upadeteCommonGoods.setState(goodsState);
                    listUpadteCommonGoods.add(upadeteCommonGoods);
                }
                }
                // 改变图片尺寸
                String pictUrl = commonGoods.getPicture();
@@ -245,10 +249,8 @@
                    commonGoods.setPicture(TbImgUtil.getTBSize320Img(pictUrl));
                }
                String json = gson
                        .toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion, fcRate));
                String json = gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goodsBrief, proportion, null));
                dataObject.put("groupId", userShareGoodsGroup.getId());
                dataObject.put("goods", json);
                array.add(dataObject);