admin
2019-06-27 349fe3ad7dc7295729f5ef98aabd7c3c68a90ce6
Merge remote-tracking branch 'origin/master'

Conflicts:
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/ShareHotGoodsService.java
11个文件已修改
165 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/dao/taobao/ShareHotGoodsDao.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/exception/taobao/TaoKeApiException.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/ShareHotGoodsService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/resource/env-dev/mongo.properties 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/test/java/org/fanli/DeviceTokenTest.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/test/java/org/fanli/MyBatisProduce.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/test/java/org/fanli/TaoKeTest.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/taobao/ShareHotGoodsDao.java
@@ -22,4 +22,19 @@
        return mongoTemplate.find(query, ShareHotGoods.class);
    }
    public void deleteByGoodsId(Long goodsId) {
        Query query = new Query();
        Criteria ca = Criteria.where("goods.auctionId").is(goodsId);
        query.addCriteria(ca);
        List<ShareHotGoods> list = mongoTemplate.find(query, ShareHotGoods.class);
        if (list == null || list.size() == 0) {
            return;
        }
        for (ShareHotGoods shareHotGoods: list) {
            mongoTemplate.remove(shareHotGoods);
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/exception/taobao/TaoKeApiException.java
@@ -17,6 +17,12 @@
    public static final int CODE_API_ERROR = 3;
    // 其他错误
    public static final int CODE_OTHER = 4;
    // 商品支持创建红包
    public static final int CODE_TLJ_FORBIDDEN = 101;
    // 官方账户余额不足
    public static final int CODE_TLJ_NO_MONEY = 102;
    private int code;
    private String msg;
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java
@@ -43,7 +43,7 @@
    @Override
    public void deleteById(String id) {
        shareHotGoodsDao.delete(id);
    }
    }
    @Override
    public List<TaoBaoGoodsBrief> listPreGoods() {
@@ -54,5 +54,10 @@
                goodsList.add(TaoBaoUtil.convert(v2));
        }
        return goodsList;
    }
    }
    @Override
    public void deleteByGoodsId(Long goodsId) {
        shareHotGoodsDao.deleteByGoodsId(goodsId);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinRecordServiceImpl.java
@@ -24,11 +24,13 @@
import com.yeshi.fanli.entity.bus.user.UserMoneyExtra;
import com.yeshi.fanli.entity.goods.CommonGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.exception.tlj.UserTaoLiJinRecordException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.msg.UserOtherMsgNotificationService;
import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoBuyRelationMapService;
import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinDetailService;
@@ -93,6 +95,9 @@
    @Resource
    private TaoBaoBuyRelationMapService taoBaoBuyRelationMapService;
    @Resource
    private ShareHotGoodsService shareHotGoodsService;
    @Override
    public UserTaoLiJinRecord selectByPrimaryKey(Long id) {
        return userTaoLiJinRecordMapper.selectByPrimaryKey(id);
@@ -232,22 +237,39 @@
        if (origin == 1) {
            BigDecimal tljSelf = userMoneyExtra.getTljSelf();
            if (tljSelf == null || tljSelf.compareTo(totalMoney) < 0) {
                throw new UserTaoLiJinRecordException(101, "红包余额不足");
                throw new UserTaoLiJinRecordException(101, "自购红包余额不足");
            }
        } 
        
        // 分享时的红包余额
        BigDecimal tlj = userMoneyExtra.getTlj();
        if (tlj == null || tlj.compareTo(totalMoney) < 0) {
            throw new UserTaoLiJinRecordException(101, "红包余额不足");
            throw new UserTaoLiJinRecordException(101, "分享红包余额不足");
        }
        
        // 创建淘礼金红包
        TaoLiJinDTO taoLiJinDTO = TaoKeApiUtil.createTaoLiJin(auctionId, name, perface, totalNum, sendStartTime,
                sendEndTime, useStartTime, useEndTime, pid);
        TaoLiJinDTO taoLiJinDTO = null;
        try {
            taoLiJinDTO = TaoKeApiUtil.createTaoLiJin(auctionId, name, perface, totalNum, sendStartTime,
                    sendEndTime, useStartTime, useEndTime, pid);
        } catch (TaoKeApiException e) {
            LogHelper.errorDetailInfo(e);
            executor.execute(new Runnable() {
                @Override
                public void run() {
                    if (e.getCode() == TaoKeApiException.CODE_TLJ_FORBIDDEN) {
                        // 该商品不支持创建淘礼金红包
                        shareHotGoodsService.deleteByGoodsId(auctionId);
                    } else if (e.getCode() == TaoKeApiException.CODE_TLJ_NO_MONEY) {
                        // 官方玩法钱包余额不足  TODO
                    }
                }
            });
        }
        if (taoLiJinDTO == null) {
            throw new UserTaoLiJinRecordException(101, "红包创建失败");
            throw new UserTaoLiJinRecordException(101, "淘宝API推广红包创建失败");
        }
        // 保存记录
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/ShareHotGoodsService.java
@@ -36,4 +36,11 @@
     */
    public List<TaoBaoGoodsBrief> listPreGoods();
    /**
     * 根据商品id删除
     *
     * @param goodsId
     */
    public void deleteByGoodsId(Long goodsId);
}
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
@@ -1948,7 +1948,7 @@
    // 淘礼金创建
    public static TaoLiJinDTO createTaoLiJin(Long auctionId, String name, BigDecimal perface, int totalNum,
            Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime,String pid) {
            Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime,String pid) throws TaoKeApiException{
        Map<String, String> map = new HashMap<>();
        map.put("method", "taobao.tbk.dg.vegas.tlj.create");
        map.put("adzone_id", pid.split("_")[3]);
@@ -1981,6 +1981,7 @@
            System.out.println(json);
            JSONObject root = json.optJSONObject("tbk_dg_vegas_tlj_create_response");
            if (root != null && root.optJSONObject("result") != null) {
                if (root.optJSONObject("result").optBoolean("success")) {
                    JSONObject modelJson = root.optJSONObject("result").optJSONObject("model");
                    TaoLiJinDTO dto = new TaoLiJinDTO();
@@ -1988,7 +1989,22 @@
                    dto.setSendUrl(modelJson.optString("send_url"));
                    return dto;
                }
                // 接口返回异常
                String msgCode = root.optJSONObject("result").optString("msg_code");
                if (!StringUtil.isNullOrEmpty(msgCode)) {
                     switch(msgCode){
                     case "FAIL_BIZ_ITEM_FORBIDDEN":
                         throw new TaoKeApiException(TaoKeApiException.CODE_TLJ_FORBIDDEN, "该商品不支持创建淘礼金红包");
                     case "2":
                         throw new TaoKeApiException(TaoKeApiException.CODE_TLJ_NO_MONEY, "官方玩法钱包余额不足");
                     default:
                         return null;
                   }
                }
            }
        } catch (TaoKeApiException e) {
             throw e;
        } catch (Exception e) {
            LogHelper.errorDetailInfo(e);
        }
fanli/src/main/resource/env-dev/mongo.properties
@@ -1,14 +1,17 @@
mongo.dbname=flq
mongo.port=27017
mongo.port=27016
#开发环境
mongo.host=192.168.1.253
mongo.username=admin
mongo.password=123456
#mongo.host=192.168.1.253
#mongo.username=admin
#mongo.password=123456
mongo.host=193.112.35.168
mongo.username=yeshi
mongo.password=Yeshi2016@
mongo.connectionsPerHost=8
mongo.threadsAllowedToBlockForConnectionMultiplier=4
mongo.connectTimeout=1000
mongo.connectTimeout=10000
mongo.maxWaitTime=1500
mongo.autoConnectRetry=true
mongo.socketKeepAlive=true
fanli/src/test/java/org/fanli/DeviceTokenTest.java
@@ -5,8 +5,9 @@
import com.yeshi.fanli.dao.mybatis.push.DeviceTokenIOSMapper;
import com.yeshi.fanli.entity.push.DeviceTokenIOS;
import com.yeshi.fanli.service.inter.push.DeviceTokenHWService;
@Ignore
//@Ignore
public class DeviceTokenTest {
    @Test
@@ -16,4 +17,14 @@
        System.out.println(ios);
    }
    @Test
    public void test2() {
        DeviceTokenHWService deviceTokenHWService = com.yeshi.fanli.util.BeanUtil.getBean(DeviceTokenHWService.class);
//        deviceTokenHWService.addDeviceToken("05566411asdasdasdadas--0000000000000000000000000-", "test------------",
//                437032L);
//        deviceTokenHWService.unBindDeviceToken("test------------");
        deviceTokenHWService.bindUid("test------------", 437032L);
    }
}
fanli/src/test/java/org/fanli/MyBatisProduce.java
@@ -1,27 +1,26 @@
package org.fanli;
import org.junit.Ignore;
import org.junit.Test;
import org.yeshi.utils.mybatis.ColumnParseUtil;
import org.yeshi.utils.mybatis.MyBatisMapperUtil;
import com.yeshi.fanli.entity.bus.user.ExtractAuditRecord;
import com.yeshi.fanli.entity.goods.recommend.RecommendGoodsDeleteHistory;
import com.yeshi.fanli.entity.order.CommonOrderTradeIdMap;
import com.yeshi.fanli.entity.jd.JDOrderItem;
import com.yeshi.fanli.entity.push.DeviceTokenHW;
//@Ignore
public class MyBatisProduce {
    @Test
    public void test3() {
        MyBatisMapperUtil.createMapper(RecommendGoodsDeleteHistory.class);
//        MyBatisMapperUtil.createMapper(JDOrder.class);
        MyBatisMapperUtil.createMapper(JDOrderItem.class);
        // MyBatisMapperUtil.createMapper(UserMoneyDebtReturnHistory.class);
    }
    @Test
    public void test1() {
        ColumnParseUtil.parseColumn(ExtractAuditRecord.class,
                "D:\\workspace\\fanli\\fanli-server\\fanli\\src\\main\\java\\com\\yeshi\\fanli\\mapping\\ExtractAuditRecordMapper.xml");
        ColumnParseUtil.parseColumn(DeviceTokenHW.class,
                "D:\\workspace\\fanli\\fanli-server\\fanli\\src\\main\\java\\com\\yeshi\\fanli\\mapping\\push\\DeviceTokenHWMapper.xml");
    }
}
fanli/src/test/java/org/fanli/TaoKeTest.java
@@ -1,3 +1,4 @@
package org.fanli;
import java.io.File;
@@ -5,12 +6,10 @@
import java.io.FileNotFoundException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.junit.Ignore;
import org.junit.Test;
import org.yeshi.utils.HttpUtil;
@@ -22,18 +21,16 @@
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoLink;
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.job.UpdateRelationAndSpecialOrderJob;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoBuyRelationMapService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsActivityService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoOrderService;
import com.yeshi.fanli.service.inter.user.TBPidService;
import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.util.BeanUtil;
import com.yeshi.fanli.util.SpringContext;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
@@ -49,24 +46,21 @@
    @Test
    public void test1() {
        UpdateRelationAndSpecialOrderJob updateRelationAndSpecialOrderJob=    BeanUtil.getBean(UpdateRelationAndSpecialOrderJob.class);
        SpringContext.initCOS();
        updateRelationAndSpecialOrderJob.doJob2();
        try {
            TaoBaoGoodsBrief goods = TaoKeApiUtil.getSimpleGoodsInfo(575733104503L);
            System.out.println(goods);
        } catch (TaobaoGoodsDownException e) {
            e.printStackTrace();
        }
    }
    @Test
    public void test2() {
        TaoKeAppInfo app = new TaoKeAppInfo();
        app.setAdzoneId("44841750025");
        app.setAppKey("25070111");
        app.setAppSecret("c7809ad9cd926fc45199d1d3ab7fe2eb");
        app.setPid("mm_124933865_113050446_44841750025");
        try {
            TaoBaoGoodsBrief goods = TaoKeApiUtil.searchGoodsDetail(527893773636L, app);
            System.out.println(goods.getId());
        } catch (TaobaoGoodsDownException e) {
            e.printStackTrace();
        }
        System.out.println(HttpUtil.getShortLink("http://h5.flq001.com"));
        System.out.println(HttpUtil.getShortLink("http://h5.flq002.com"));
        System.out.println(HttpUtil.getShortLink("http://h5.flq003.com"));
        System.out.println(HttpUtil.getShortLink("http://h5.flq004.com"));
        System.out.println(HttpUtil.getShortLink("http://h5.flq005.com"));
    }
    @Test
@@ -82,9 +76,6 @@
        Long[] auctionIds = new Long[] { 528561708277L, 563689377074L, 570752677800L, 569281626446L, 567165767332L,
                555437572417L, 534857332052L, 565233575889L, 565536124572L };
        for (Long auctionId : auctionIds)
            TaoKeApiUtil.createTaoLiJin(auctionId, "返利券新人淘礼金红包", new BigDecimal("1.00"), 1, 1, new Date(),
                    new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 24L), new Date());
        // TaoKeApiUtil.getLiJinXG();
        // String
        // url="https://uland.taobao.com/taolijin/edetail?eh=aIrBfHZGd4iZuQF0XRz0iAXoB+DaBK5LQS0Flu/fbSp4QsdWMikAalrisGmre1Id0BFAqRODu114yl7QZ1qFyc7LbOC0oAuo+MUwzxYlSKECGml30RY8PBx5jSVkulpmRQIlrKaDNziGVmobyGguP+jgTFwOoHsRe9593cvcC9QGQASttHIRqdGO5qxVOPQ2buEoHk5wx6hxhsv5QYr1rbcOQrCzclRfPTIk7Z0myMWxZvcNeMU+E+L71lQF+6uZp7DLcYmoygrjfjYOW9fVleIg09jheaZgonv6QcvcARY=&union_lens=lensId:0b0b4505_0c2a_16af789993f_0880;traffic_flag=lm";
pom.xml
@@ -560,7 +560,7 @@
    <modules>
        <module>utils</module>
        <module>fanli</module>
        <module>test1</module>
        <module>test12</module>
    </modules>
</project>