喻健
2018-12-14 2cf13a80a08bd95c6fc04f250348b9547e23ab86
分享记录优化细节
7个文件已修改
66 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5ShareController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/share/UserShareGoodsGroupMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/share/UserShareGoodsGroupMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsGroupServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | 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/UserShareGoodsGroupService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserShareGoodsRecordService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/apph5/AppH5ShareController.java
@@ -35,8 +35,9 @@
                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("传递参数不正确"));
                return;
            }
            // 获取商品信息
            JSONObject data = userShareGoodsRecordService.getGoodsGroup(shareId);
            JSONObject data = userShareGoodsRecordService.getGoodsGroupDetail(shareId);
            JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
            
        } catch (Exception e) {
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/share/UserShareGoodsGroupMapper.java
@@ -5,6 +5,7 @@
import org.apache.ibatis.annotations.Param;
import com.yeshi.fanli.entity.bus.share.UserShareGoodsGroup;
import com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord.ShareSourceTypeEnum;
public interface UserShareGoodsGroupMapper {
@@ -47,7 +48,7 @@
     * @param recordId
     * @return
     */
    UserShareGoodsGroup getSingleGoods(@Param("cid") Long cid, @Param("uid") Long uid);
    UserShareGoodsGroup getSingleGoods(@Param("source") ShareSourceTypeEnum source, @Param("cid") Long cid, @Param("uid") Long uid);
    
    /**
     * 查询最新更新的商品
fanli/src/main/java/com/yeshi/fanli/mapping/share/UserShareGoodsGroupMapper.xml
@@ -143,11 +143,10 @@
   </select>
    
  <select id="getSingleGoods" resultMap="BaseResultMap">
    SELECT *,COUNT(g.`gu_id`)AS totalGoods FROM yeshi_ec_share_goods_group g
    RIGHT JOIN `yeshi_ec_share_goods_record` r ON g.`gu_record_id` = r.`sgr_id`
    WHERE g.`gu_common_goods_id` = #{cid} AND r.`sgr_uid` = #{uid}  AND r.sgr_share_state = 1
    GROUP BY r.`sgr_id`
    ORDER BY totalGoods LIMIT 1
    SELECT * FROM yeshi_ec_share_goods_group g
    LEFT JOIN `yeshi_ec_share_goods_record` r ON g.`gu_record_id` = r.`sgr_id`
    WHERE  r.sgr_share_state = 1 AND  r.`sgr_source` = #{source}
           AND  g.`gu_common_goods_id` = #{cid} AND r.`sgr_uid` = #{uid}
   </select>
   
   <select id="getNewestRecord" resultMap="BaseResultMap">
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsGroupServiceImpl.java
@@ -11,6 +11,7 @@
import com.yeshi.fanli.dao.mybatis.share.UserShareGoodsGroupMapper;
import com.yeshi.fanli.entity.bus.share.UserShareGoodsGroup;
import com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord.ShareSourceTypeEnum;
import com.yeshi.fanli.entity.bus.user.HongBao;
import com.yeshi.fanli.exception.share.UserShareGoodsRecordException;
import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
@@ -62,7 +63,7 @@
    @Override
    public UserShareGoodsGroup getSingleGoods(Long cid, Long uid) {
        return userShareGoodsGroupMapper.getSingleGoods(cid, uid);
        return userShareGoodsGroupMapper.getSingleGoods(ShareSourceTypeEnum.goodsDetail,cid, uid );
    }
    @Override
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserShareGoodsRecordServiceImpl.java
@@ -105,11 +105,6 @@
        return userShareGoodsRecordMapper.updateByPrimaryKeySelective(record);
    }
    @Override
    public int updateByPrimaryKey(UserShareGoodsRecord record) {
        return userShareGoodsRecordMapper.updateByPrimaryKey(record);
    }
    @Override
    public List<UserShareGoodsRecord> listQueryByUid(long start, int count, Long uid, String source) {
@@ -320,25 +315,20 @@
                return;
            }
            
            UserShareGoodsGroup shareGoodsGroup = null;
            
            UserShareGoodsGroup singleGoods = userShareGoodsGroupService.getSingleGoods(resultCommonGoods.getId(),
                    userShareGoodsRecord.getUid());
            if (singleGoods != null && singleGoods.getTotalGoods() == 1) {
                // 同一个商品多次分享
                shareGoodsGroup = singleGoods;
            }
            
            if (shareGoodsGroup != null) {
            if (singleGoods != null) {
                // 单个商品多次分享
                userShareGoodsRecord.setPicture(taoBaoGoodsBrief.getPictUrl());
                userShareGoodsRecord.setId(shareGoodsGroup.getRecordId());
                userShareGoodsRecord.setId(singleGoods.getRecordId());
                userShareGoodsRecord.setUpdateTime(new Date());
                userShareGoodsRecordMapper.updateByPrimaryKey(userShareGoodsRecord);
                userShareGoodsRecordMapper.updateByPrimaryKeySelective(userShareGoodsRecord);
                
                // 最新商品
                shareGoodsGroup.setUpdateTime(new Date());
                userShareGoodsGroupService.updateByPrimaryKeySelective(shareGoodsGroup);
                singleGoods.setUpdateTime(new Date());
                userShareGoodsGroupService.updateByPrimaryKeySelective(singleGoods);
                
            } else 
            {
@@ -349,18 +339,17 @@
                userShareGoodsRecord.setUpdateTime(date);
                userShareGoodsRecordMapper.insertSelective(userShareGoodsRecord);
                
                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());
                singleGoods = new UserShareGoodsGroup();
                singleGoods.setTotalOrder(0);
                singleGoods.setTotalBrowse(0);
                singleGoods.setTodayBrowse(0);
                singleGoods.setTotalMoney(new BigDecimal(0));
                singleGoods.setCreateTime(date);
                singleGoods.setUpdateTime(date);
                singleGoods.setCommonGoods(resultCommonGoods);
                singleGoods.setRecordId(userShareGoodsRecord.getId());
                
                userShareGoodsGroupService.insertSelective(shareGoodsGroup);
                userShareGoodsGroupService.insertSelective(singleGoods);
            }
            
        } catch (CommonGoodsException e) {
@@ -437,7 +426,7 @@
        
        Long uid = shareRecord.getUid();
        Long shareId = shareRecord.getId();
        String source = shareRecord.getSource().getDesc();
        String source = shareRecord.getSource().name();
        
        String url = String.format("http://%s/share_mushGoods.html?uid=%s&shareId=%s&source=%s", configService.getH5Host(),
                AESUtil.encrypt(uid + "", Constant.UIDAESKEY), shareRecord.getId() + "", source +"");
@@ -652,6 +641,7 @@
                                    goodsBrief = redisManager.getTaoBaoGoodsBrief(commonGoods.getGoodsId());
                                
                                    goodsState = 0;
                                    goodsBrief.setState(goodsState); // 在售
                                    
                                    CommonGoods upadeteCommonGoods = CommonGoodsFactory.create(goodsBrief);
                                    upadeteCommonGoods.setState(goodsState);
fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserShareGoodsGroupService.java
@@ -26,7 +26,7 @@
    public List<UserShareGoodsGroup> listByRecordId(Long recordId);
    
    /**
     * 查询单个商品 判断是否单个商品分享
     * 查询单个商品 判断是否单个商品分享  goodsDetail
     * @param recordId
     * @return
     */
fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserShareGoodsRecordService.java
@@ -17,8 +17,6 @@
    public int updateByPrimaryKeySelective(UserShareGoodsRecord record);
    public int updateByPrimaryKey(UserShareGoodsRecord record);
    public UserShareGoodsRecord selectByPrimaryKey(Long id);
    
    /**