admin
2019-06-26 5e5f8d4bc1e3b7764d6e69a6a4beba0383147158
淘礼金相关PID修改
4个文件已修改
120 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/dao/goods/taobao/dataoke/DaTaoKeGoodsDetailV2Dao.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java 112 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/tlj/UserTaoLiJinRecordService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/goods/taobao/dataoke/DaTaoKeGoodsDetailV2Dao.java
@@ -139,7 +139,7 @@
    public List<DaTaoKeDetailV2> listPreShareHotGoods(int count) {
        //TODO 
        Query query = new Query();
        query.addCriteria(new Criteria().andOperator(Criteria.where("commissionRate")));
        query.addCriteria(new Criteria().andOperator(Criteria.where("commissionRate*actualPrice").gt(7.34)));
        query.limit(count);
        return mongoTemplate.find(query, getEntityClass());
    }
fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java
@@ -38,6 +38,7 @@
import com.yeshi.fanli.service.inter.user.UserMoneyExtraService;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.factory.CommonGoodsFactory;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.util.taobao.TaoLiJinUtil;
@@ -49,49 +50,48 @@
    @Resource(name = "taskExecutor")
    private TaskExecutor executor;
    @Resource
    private RedisManager redisManager;
    @Resource
    private UserTaoLiJinRecordMapper userTaoLiJinRecordMapper;
    @Resource
    private CommonGoodsService commonGoodsService;
    @Resource
    private HongBaoManageService hongBaoManageService;
    @Resource
    private UserMoneyExtraService userMoneyExtraService;
    @Resource
    private UserTaoLiJinReportService userTaoLiJinReportService;
    @Resource
    private UserTaoLiJinDetailService userTaoLiJinDetailService;
    @Resource
    private UserTaoLiJinOriginService userTaoLiJinOriginService;
    @Resource
    private ConfigTaoLiJinService configTaoLiJinService;
    @Resource
    private UserOtherMsgNotificationService userOtherMsgNotificationService;
    @Resource
    private UserInfoExtraService userInfoExtraService;
    @Override
    public UserTaoLiJinRecord  selectByPrimaryKey(Long id){
    public UserTaoLiJinRecord selectByPrimaryKey(Long id) {
        return userTaoLiJinRecordMapper.selectByPrimaryKey(id);
    }
    @Override
    public UserTaoLiJinRecord createSelfBuyTaoLiJin(Long uid, int totalNum, TaoBaoGoodsBrief goods) throws UserTaoLiJinRecordException{
    public UserTaoLiJinRecord createSelfBuyTaoLiJin(Long uid, int totalNum, TaoBaoGoodsBrief goods)
            throws UserTaoLiJinRecordException {
        Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -114,14 +114,17 @@
        }
        // 新人红包 自购一元
        BigDecimal perface = new BigDecimal(1);
        return createUserTaoLiJin(1, uid, goods.getAuctionId(), perface, 1, name, sendStartTime,
                    sendEndTime, null, useEndTime);
        String pid = TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT;
        if (goods.getMaterialLibType() == null || goods.getMaterialLibType() == 0)
            pid = TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID;
        return createUserTaoLiJin(1, uid, goods.getAuctionId(), perface, 1, name, sendStartTime, sendEndTime, null,
                useEndTime, pid);
    }
    @Override
    public UserTaoLiJinRecord createShareTaoLiJin(Long uid, int totalNum, TaoBaoGoodsBrief goods) throws UserTaoLiJinRecordException{
    public UserTaoLiJinRecord createShareTaoLiJin(Long uid, int totalNum, TaoBaoGoodsBrief goods)
            throws UserTaoLiJinRecordException {
        Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -142,7 +145,7 @@
        } catch (ParseException e2) {
            e2.printStackTrace();
        }
        boolean isNewUser = userInfoExtraService.isNewUser(uid);
        if (isNewUser) {
            // 判定为老用户: 新人只要使用了新人红包,也就是那1块钱,那么,他看到的分享爆款中的商品-就只能分享。
@@ -151,7 +154,7 @@
                isNewUser = false;
            }
        }
        BigDecimal perface = null;
        if (isNewUser) {
            perface = new BigDecimal(1);
@@ -159,17 +162,16 @@
            // 计算推广红包
            String warningRate = configTaoLiJinService.getValueByKey("warning_value");
            perface = TaoLiJinUtil.getSpreadMoney(warningRate, goods);
     }
        return createUserTaoLiJin(2, uid, goods.getAuctionId(), perface, totalNum, name, sendStartTime,
                    sendEndTime, null, useEndTime);
        }
        return createUserTaoLiJin(2, uid, goods.getAuctionId(), perface, totalNum, name, sendStartTime, sendEndTime,
                null, useEndTime, TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT);
    }
    @Override
    @Transactional
    public UserTaoLiJinRecord createUserTaoLiJin(int origin, Long uid, Long auctionId, BigDecimal perface, int totalNum, String name,
            Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime) throws UserTaoLiJinRecordException{
            Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime,String pid) throws UserTaoLiJinRecordException{
        
        // 用户剩余可以淘礼金验证
        UserMoneyExtra userMoneyExtra = userMoneyExtraService.selectByPrimaryKey(uid);
@@ -187,7 +189,7 @@
        }
        
        // 创建淘礼金红包
        TaoLiJinDTO taoLiJinDTO = TaoKeApiUtil.createTaoLiJin(auctionId, name, perface, totalNum, sendStartTime, sendEndTime, useStartTime, useEndTime);
        TaoLiJinDTO taoLiJinDTO = TaoKeApiUtil.createTaoLiJin(auctionId, name, perface, totalNum, sendStartTime, sendEndTime, useStartTime, useEndTime, pid);
        if (taoLiJinDTO == null) {
            throw new UserTaoLiJinRecordException(101, "红包创建失败");
        }
@@ -313,42 +315,39 @@
        return record;
    }
    @Override
    public List<UserTaoLiJinRecordVO> getRecordByUid(long start, int count, Long uid){
    public List<UserTaoLiJinRecordVO> getRecordByUid(long start, int count, Long uid) {
        List<UserTaoLiJinRecordVO> list = userTaoLiJinRecordMapper.getRecordByUid(start, count, uid);
        if (list == null || list.size() == 0) {
            return list;
        }
        List<Long> listGoodsId = new ArrayList<Long>();
        for (UserTaoLiJinRecordVO userTaoLiJinRecordVO: list) {
        for (UserTaoLiJinRecordVO userTaoLiJinRecordVO : list) {
            listGoodsId.add(userTaoLiJinRecordVO.getAuctionId());
        }
        if (listGoodsId.size() == 0) {
            return null;
        }
        List<CommonGoods> listGoods = commonGoodsService.getByListGoodsId(listGoodsId);
        if (listGoods == null || listGoods.size() == 0) {
            return null;
        }
        // 组织相关数据
        for (UserTaoLiJinRecordVO userTaoLiJinRecordVO: list) {
        for (UserTaoLiJinRecordVO userTaoLiJinRecordVO : list) {
            long auctionId = userTaoLiJinRecordVO.getAuctionId().longValue();
            // 商品信息
            for (int i = 0; i< listGoods.size(); i++) {
            for (int i = 0; i < listGoods.size(); i++) {
                CommonGoods commonGoods = listGoods.get(i);
                long goodsId = commonGoods.getGoodsId().longValue();
                if (auctionId == goodsId) {
                    userTaoLiJinRecordVO.setTitle(commonGoods.getTitle());
                    userTaoLiJinRecordVO.setPictUrl(commonGoods.getPicture());
                    if(CommonGoods.SHOP_TYPE_TB == commonGoods.getShopType()) {
                    if (CommonGoods.SHOP_TYPE_TB == commonGoods.getShopType()) {
                        userTaoLiJinRecordVO.setUserType(0);
                    } else {
                        userTaoLiJinRecordVO.setUserType(1);
@@ -356,22 +355,22 @@
                    break;
                }
            }
            // 计算剩余未领取数量
            int winNum = userTaoLiJinRecordVO.getWinNum();
            int totalNum = userTaoLiJinRecordVO.getTotalNum();
            userTaoLiJinRecordVO.setSurplusNum(totalNum - winNum);
            // 计算分享奖金
            BigDecimal shareMoney = new BigDecimal(0);
            BigDecimal commission = userTaoLiJinRecordVO.getCommission();
            if (commission != null && commission.compareTo(shareMoney) > 1) {
                BigDecimal shareRate = hongBaoManageService.getShareRate();
                shareMoney = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(commission, new BigDecimal("0.01")), MoneyBigDecimalUtil.div(shareRate, new BigDecimal(100)));
                shareMoney = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(commission, new BigDecimal("0.01")),
                        MoneyBigDecimalUtil.div(shareRate, new BigDecimal(100)));
                shareMoney = BigDecimalUtil.getWithNoZera(shareMoney);
            }
            ClientTextStyleVO desc = new ClientTextStyleVO();
            desc.setColor("#FFFFFF");
            desc.setContent("预估分享奖金:¥" + shareMoney);
@@ -380,26 +379,25 @@
        }
        return list;
    }
    @Override
    public long countRecordByUid(Long uid) {
        return userTaoLiJinRecordMapper.countRecordByUid(uid);
    }
    @Override
    public long countTodayNum(Long uid) {
        return userTaoLiJinRecordMapper.countTodayNum(uid);
    }
    @Override
    public BigDecimal getShareHongBaoByUidAndGoodsId(Long uid, Long goodsId) {
        return userTaoLiJinRecordMapper.getShareHongBaoByUidAndGoodsId(uid, goodsId);
    }
    @Override
    public UserTaoLiJinRecord getByRightsId(String rightsId) {
        return userTaoLiJinRecordMapper.getByRightsId(rightsId);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/tlj/UserTaoLiJinRecordService.java
@@ -21,7 +21,7 @@
     * @throws UserTaoLiJinRecordException
     */
    public UserTaoLiJinRecord createUserTaoLiJin(int origin, Long uid, Long auctionId, BigDecimal perface, int totalNum, String name, Date sendStartTime,
            Date sendEndTime, Date useStartTime, Date useEndTime) throws UserTaoLiJinRecordException;
            Date sendEndTime, Date useStartTime, Date useEndTime,String pid) throws UserTaoLiJinRecordException;
    
    /**
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
@@ -1948,10 +1948,10 @@
    // 淘礼金创建
    public static TaoLiJinDTO createTaoLiJin(Long auctionId, String name, BigDecimal perface, int totalNum,
            Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime) {
            Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime,String pid) {
        Map<String, String> map = new HashMap<>();
        map.put("method", "taobao.tbk.dg.vegas.tlj.create");
        map.put("adzone_id", TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT.split("_")[3]);
        map.put("adzone_id", pid.split("_")[3]);
        map.put("item_id", auctionId + "");
        map.put("total_num", totalNum + "");
        map.put("name", name);