admin
2022-08-25 c9db68e33f90231b064b8864fc69ccf7d25f5e0b
淘宝商品ID字符串化
11个文件已修改
131 ■■■■ 已修改文件
facade-lijin/pom.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
facade-lijin/src/main/java/com/ks/lijin/pojo/DO/TaoBaoOrderRecord.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
facade-lijin/src/main/java/com/ks/lijin/service/LiJinLinkService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
facade-lijin/src/main/java/com/ks/lijin/service/LijinCreateService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
facade-lijin/src/main/java/com/ks/lijin/utils/taobao/TaoBaoUtil.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
facade-lijin/src/main/java/com/ks/lijin/utils/taobao/TaoKeApiUtil.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lijin/src/main/java/com/ks/lijin/service/manager/LiJinProviderTaoKeAccountManager.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lijin/src/main/java/com/ks/lijin/service/manager/LijinGoodsManager.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lijin/src/main/java/com/ks/lijin/service/remote/LiJinLinkServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lijin/src/main/java/com/ks/lijin/service/remote/LijinCreateServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lijin/src/test/java/com/ks/LuckyTest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
facade-lijin/pom.xml
@@ -31,7 +31,7 @@
        <dependency>
            <groupId>com.ks</groupId>
            <artifactId>facade-goods</artifactId>
            <version>0.0.1</version>
            <version>0.0.2</version>
        </dependency>
facade-lijin/src/main/java/com/ks/lijin/pojo/DO/TaoBaoOrderRecord.java
@@ -79,7 +79,7 @@
    private String is_lx;
    private String item_category_name;
    @Indexed
    private long item_id;
    private String item_id;
    private String item_img;
    private String item_link;
    private int item_num;
@@ -223,11 +223,11 @@
        this.item_category_name = item_category_name;
    }
    public long getItem_id() {
    public String getItem_id() {
        return item_id;
    }
    public void setItem_id(long item_id) {
    public void setItem_id(String item_id) {
        this.item_id = item_id;
    }
facade-lijin/src/main/java/com/ks/lijin/service/LiJinLinkService.java
@@ -15,6 +15,6 @@
     * @param pageSize
     * @return
     */
    public List<LiJinProviderLink> getValidLijinLink(Long auctionId, int page, int pageSize);
    public List<LiJinProviderLink> getValidLijinLink(String auctionId, int page, int pageSize);
}
facade-lijin/src/main/java/com/ks/lijin/service/LijinCreateService.java
@@ -36,7 +36,7 @@
     * @param uid      用户ID
     * @return 礼金创建的面额
     */
    public BigDecimal getTBLijinAmount(Long actionId, String uid)
    public BigDecimal getTBLijinAmount(String actionId, String uid)
            throws LiJinGoodsException, LiJinUserException, LiJinAmountException;
@@ -48,7 +48,7 @@
     * @return 礼金创建的面额
     * @throws LiJinGoodsException
     */
    public BigDecimal getTBLijinAmount(Long actionId, VIPEnum vipRank) throws LiJinGoodsException, LiJinAmountException;
    public BigDecimal getTBLijinAmount(String actionId, VIPEnum vipRank) throws LiJinGoodsException, LiJinAmountException;
    /**
@@ -81,7 +81,7 @@
     * @throws LiJinUserException
     * @throws LiJinAmountException
     */
    public LiJinExpendRecord createTBLijin(String uid, Long auctionId)
    public LiJinExpendRecord createTBLijin(String uid, String auctionId)
            throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException;
    /**
@@ -106,7 +106,7 @@
     * @throws LiJinUserException
     * @throws LiJinAmountException
     */
    public LiJinExpendRecord createTBLijin(String uid, Date registerDate, Long auctionId)
    public LiJinExpendRecord createTBLijin(String uid, Date registerDate, String auctionId)
            throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException;
facade-lijin/src/main/java/com/ks/lijin/utils/taobao/TaoBaoUtil.java
@@ -12,6 +12,7 @@
import java.util.regex.Pattern;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.stereotype.Component;
import org.yeshi.utils.*;
@@ -368,6 +369,72 @@
        return null;
    }
    /**
     * @return boolean
     * @author hxh
     * @description 判断淘宝商品ID是否相等
     * @date 14:55 2022/8/24
     * @param: auctionId1
     * @param: auctionId2
     **/
    public static boolean isEqual(String auctionId1, String auctionId2) {
        if (auctionId1 == null || auctionId2 == null) {
            return false;
        }
        if (auctionId1.indexOf("-") > 0 && auctionId2.indexOf("-") > 0) {
            return auctionId1.split("-")[1].equals(auctionId2.split("-")[1]);
        }
        return auctionId1.equals(auctionId2);
    }
    /**
     * @return java.lang.String
     * @author hxh
     * @description 获取商品ID的后半段
     * @date 15:20 2022/8/24
     * @param: auctionId
     **/
    public static String getAuctionId(String auctionId) {
        if (auctionId == null)
            return auctionId;
        if (auctionId.indexOf("-") > 0) {
            return auctionId.split("-")[1];
        } else {
            return auctionId;
        }
    }
    /**
     * @author hxh
     * @description 获取mongodb商品ID相同的条件
     * @date 16:05 2022/8/24
     * @param: key
     * @param: auctionId
     * @return org.springframework.data.mongodb.core.query.Criteria
     **/
    public static Criteria getAuctionIdEqualCriteria(String key, String auctionId) {
        if (!isNewAuctionId(auctionId)) {
            return Criteria.where(key).is(auctionId);
        } else {
            return Criteria.where(key).regex("*-" + getAuctionId(auctionId));
        }
    }
    /**
     * @return boolean
     * @author hxh
     * @description 是否为新的商品ID
     * @date 15:39 2022/8/24
     * @param: auctionId
     **/
    public static boolean isNewAuctionId(String auctionId) {
        if (auctionId != null && auctionId.indexOf("-") > 0)
            return true;
        return false;
    }
}
facade-lijin/src/main/java/com/ks/lijin/utils/taobao/TaoKeApiUtil.java
@@ -26,7 +26,7 @@
    private static Map<String, Integer> invalidMap = new HashMap<>();
    // 淘礼金创建
    public static TaoLiJinDTO createTaoLiJin(Long auctionId, String name, BigDecimal perface, int totalNum,
    public static TaoLiJinDTO createTaoLiJin(String auctionId, String name, BigDecimal perface, int totalNum,
                                             Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime, TaoKeAppInfo app)
            throws LiJinAccountException, LiJinAmountException, LiJinException, LiJinGoodsException {
        Map<String, String> map = new HashMap<>();
@@ -157,7 +157,7 @@
    // 裂淘礼金创建
    public static TaoLiJinDTO createLieBianTaoLiJin(Long auctionId, String name, BigDecimal perface, int totalNum,
    public static TaoLiJinDTO createLieBianTaoLiJin(String auctionId, String name, BigDecimal perface, int totalNum,
                                                    Date sendStartTime, Date sendEndTime, Date useStartTime, Date useEndTime, TaoKeAppInfo app)
            throws LiJinAccountException, LiJinAmountException, LiJinException, LiJinGoodsException {
        Map<String, String> map = new HashMap<>();
@@ -406,7 +406,7 @@
    }
    public static TaoBaoGoodsBrief searchGoodsDetail(Long id) throws TaoBaoGoodsDownException {
    public static TaoBaoGoodsBrief searchGoodsDetail(String id) throws TaoBaoGoodsDownException {
        return searchGoodsDetail(id, null, null);
    }
@@ -417,7 +417,7 @@
     * @return
     * @throws
     */
    public static TaoBaoGoodsBrief searchGoodsDetail(Long id, String specialId, String relationId) throws TaoBaoGoodsDownException {
    public static TaoBaoGoodsBrief searchGoodsDetail(String id, String specialId, String relationId) throws TaoBaoGoodsDownException {
        TaoBaoGoodsBrief goods = getSimpleGoodsInfo(id);
        if (goods == null)
            return null;
@@ -430,8 +430,8 @@
        if (result != null && result.getTaoBaoGoodsBriefs() != null)
            for (TaoBaoGoodsBrief g : result.getTaoBaoGoodsBriefs()) {
                System.out.println(goods.getAuctionId() + ":" + g.getAuctionId());
                if (goods.getAuctionId().longValue() == g.getAuctionId()) {
                    g.setId(goods.getAuctionId());
                if (TaoBaoUtil.isEqual(goods.getAuctionId(), g.getAuctionId())) {
                    //g.setId(goods.getAuctionId());
                    g.setCreatetime(new Date());
                    g.setMaterialLibType(goods.getMaterialLibType());
                    g.setProvcity(goods.getProvcity());
@@ -453,7 +453,7 @@
     * @param id -商品AuctionId
     * @return
     */
    public static TaoBaoGoodsBrief getSimpleGoodsInfo(Long id) throws TaoBaoGoodsDownException {
    public static TaoBaoGoodsBrief getSimpleGoodsInfo(String id) throws TaoBaoGoodsDownException {
        Map<String, String> map = new HashMap<>();
        map.put("method", "taobao.tbk.item.info.get");
        map.put("num_iids", id + "");
@@ -480,7 +480,7 @@
    private static TaoBaoGoodsBrief parseSimpleGoodsInfo(JSONObject item) {
        TaoBaoGoodsBrief goods = new TaoBaoGoodsBrief();
        goods.setAuctionId(item.optLong("num_iid"));
        goods.setAuctionId(item.optString("num_iid"));
        goods.setAuctionUrl(item.optString("item_url"));
        goods.setBiz30day(item.optInt("volume"));
        if (item.optJSONObject("small_images") != null) {
@@ -646,7 +646,7 @@
            goods.setPictUrlWhite(item.optString("white_image"));
        }
        goods.setAuctionId(item.optLong("num_iid"));
        goods.setAuctionId(item.optString("num_iid"));
        goods.setAuctionUrl("https:" + item.optString("url"));
        goods.setBiz30day(item.optInt("volume"));
        goods.setCouponInfo(item.optString("coupon_info"));
@@ -761,7 +761,7 @@
        Date useEndTime = sendEndTime;
        try {
            createLieBianTaoLiJin(auctionId, name, perface, totalNum,
            createLieBianTaoLiJin(auctionId+"", name, perface, totalNum,
                    sendStartTime, sendEndTime, useStartTime, useEndTime, app);
        } catch (LiJinAccountException e) {
            e.printStackTrace();
service-lijin/src/main/java/com/ks/lijin/service/manager/LiJinProviderTaoKeAccountManager.java
@@ -35,7 +35,7 @@
     * @param money
     */
    @Transactional(rollbackFor = Exception.class)
    public void createLijinSuccess(Long accountId, Long auctionId, BigDecimal money, Date createTime) {
    public void createLijinSuccess(Long accountId, String auctionId, BigDecimal money, Date createTime) {
        String day = TimeUtil.getGernalTime(createTime.getTime(), "yyyyMMdd");
        String goodsKey = String.format("lijingoodsnum-%s-%s", day, accountId);
        String accountMoneyKey = String.format("lijinaccountmoney-%s-%s", day, accountId);
@@ -77,7 +77,7 @@
     * @param accountId
     */
    public void initTodayData(Long accountId) {
        createLijinSuccess(accountId, 1L, new BigDecimal(0), new Date());
        createLijinSuccess(accountId, 1L+"", new BigDecimal(0), new Date());
    }
service-lijin/src/main/java/com/ks/lijin/service/manager/LijinGoodsManager.java
@@ -26,7 +26,7 @@
     * @param auctionId
     * @param date
     */
    public void createdFullToday(Long auctionId, Date date) {
    public void createdFullToday(String auctionId, Date date) {
        int expireTime = (int) ((TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(date.getTime() + 1000 * 60 * 60 * 24L, "yyyyMMdd"), "yyyyMMdd") - date.getTime()) / 1000);
        String day = TimeUtil.getGernalTime(date.getTime(), "yyyyMMdd");
        String key = String.format("lijingoodslimit-%s-%s", day, auctionId);
@@ -39,7 +39,7 @@
     * @param auctionId
     * @return
     */
    public boolean todayCanCreate(Long auctionId) {
    public boolean todayCanCreate(String auctionId) {
        String day = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyyMMdd");
        String key = String.format("lijingoodslimit-%s-%s", day, auctionId);
        logger.info("key值为:" + key);
service-lijin/src/main/java/com/ks/lijin/service/remote/LiJinLinkServiceImpl.java
@@ -10,7 +10,7 @@
@Service(version = "1.0")
public class LiJinLinkServiceImpl implements LiJinLinkService {
    @Override
    public List<LiJinProviderLink> getValidLijinLink(Long auctionId, int page, int pageSize) {
    public List<LiJinProviderLink> getValidLijinLink(String auctionId, int page, int pageSize) {
        return new ArrayList<>();
    }
}
service-lijin/src/main/java/com/ks/lijin/service/remote/LijinCreateServiceImpl.java
@@ -139,7 +139,7 @@
    }
    @Override
    public BigDecimal getTBLijinAmount(Long actionId, String uid) throws LiJinGoodsException, LiJinUserException, LiJinAmountException {
    public BigDecimal getTBLijinAmount(String actionId, String uid) throws LiJinGoodsException, LiJinUserException, LiJinAmountException {
        if (!lijinGoodsManager.todayCanCreate(actionId)) {
            throw new LiJinGoodsException(LiJinGoodsException.CODE_GOODS_CREATED_FULL, "今日礼金创建次数已达上限");
@@ -169,7 +169,7 @@
    @Override
    public BigDecimal getTBLijinAmount(Long actionId, VIPEnum vipRank) throws LiJinGoodsException, LiJinAmountException {
    public BigDecimal getTBLijinAmount(String actionId, VIPEnum vipRank) throws LiJinGoodsException, LiJinAmountException {
        if (!lijinGoodsManager.todayCanCreate(actionId)) {
            throw new LiJinGoodsException(LiJinGoodsException.CODE_GOODS_CREATED_FULL, "今日礼金创建次数已达上限");
        }
@@ -340,12 +340,12 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public LiJinExpendRecord createTBLijin(String uid, Long goodsId) throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException {
    public LiJinExpendRecord createTBLijin(String uid, String goodsId) throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException {
        return createTBLijin(uid, null, goodsId);
    }
    @Override
    public LiJinExpendRecord createTBLijin(String uid, Date registerDate, Long auctionId) throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException {
    public LiJinExpendRecord createTBLijin(String uid, Date registerDate, String auctionId) throws LiJinException, LiJinGoodsException, LiJinUserException, LiJinAmountException {
        //用户是否有创建权限
        userCanCreateTBLijin(uid, registerDate);
@@ -443,7 +443,7 @@
     * @param num
     * @param taoLiJinDTO
     */
    private LiJinExpendRecord addCreateSuccessRecord(String uid, Long goodsId, BigDecimal lijinAmount, String title, int num, TaoLijinCreateResultDTO taoLiJinDTO) {
    private LiJinExpendRecord addCreateSuccessRecord(String uid, String goodsId, BigDecimal lijinAmount, String title, int num, TaoLijinCreateResultDTO taoLiJinDTO) {
        Date now = new Date();
        // 保存记录
        LiJinExpendRecord record = new LiJinExpendRecord();
@@ -485,7 +485,7 @@
     * @throws LiJinGoodsException
     * @throws LiJinException
     */
    private TaoLijinCreateResultDTO executeTaoLiJin(Long goodsId, BigDecimal lijinAmount, LiJinCreateParam params) throws LiJinGoodsException, LiJinException, LiJinAmountException {
    private TaoLijinCreateResultDTO executeTaoLiJin(String goodsId, BigDecimal lijinAmount, LiJinCreateParam params) throws LiJinGoodsException, LiJinException, LiJinAmountException {
        // 查询供应商账号信息
        List<LiJinProviderTaoKeAccount> listAccount = liJinProviderAccountService.listValidByProviderId(Constant.PROVIDER_DEFAULT_ID, LiJinProviderTaoKeAccount.ERROR_CODE_NORMAL);
        if (listAccount == null || listAccount.size() == 0) {
@@ -544,7 +544,7 @@
    }
    private TaoLiJinDTO executeTaoLiJinAPI(Long goodsId, BigDecimal lijinAmount, LiJinCreateParam params) throws LiJinException, LiJinGoodsException, LiJinAccountException, LiJinAmountException {
    private TaoLiJinDTO executeTaoLiJinAPI(String goodsId, BigDecimal lijinAmount, LiJinCreateParam params) throws LiJinException, LiJinGoodsException, LiJinAccountException, LiJinAmountException {
        return TaoKeApiUtil.createTaoLiJin(goodsId, params.getTitle(), lijinAmount,
                params.getNum(), params.getSendStartTime(), params.getSendEndTime(),
                params.getUseStartTime(), params.getUseEndTime(), new TaoKeAppInfo(params.getAppkey(), params.getAppsecret(), params.getPid()));
service-lijin/src/test/java/com/ks/LuckyTest.java
@@ -75,7 +75,7 @@
    @Test
    public void redis() {
        Long auctionId = 600889742753L;
        String auctionId = 600889742753L+"";
        String day = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyyMMdd");
        String key = String.format("lijingoodslimit-%s-%s", day, auctionId);
        Boolean hasKey = redisTemplate.hasKey(key);