facade-goods/pom.xml
@@ -24,6 +24,12 @@ <artifactId>utils</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>com.dataoke</groupId> <artifactId>sdk</artifactId> <version>RELEASE</version> <scope>compile</scope> </dependency> </dependencies> facade-goods/src/main/java/com/yeshi/goods/facade/utils/taobao/DaTaoKeApiUtil.java
@@ -1,17 +1,21 @@ package com.yeshi.goods.facade.utils.taobao; import com.alipay.api.domain.ImageInfo; import com.dtk.api.client.DtkApiClient; import com.dtk.api.client.DtkApiRequest; import com.dtk.api.request.search.DtkGetTop100Request; import com.dtk.api.response.base.DtkApiResponse; import com.dtk.api.response.search.DtkGetTop100Response; import com.google.gson.*; import com.google.gson.reflect.TypeToken; import com.yeshi.common.entity.taobao.TaoKeAppInfo; import com.yeshi.goods.facade.dto.taobao.TaoBaoGoodsImportantInfo; import com.yeshi.goods.facade.dto.taobao.TaoBaoImg; import com.yeshi.goods.facade.dto.taobao.TaoBaoShopDTO; import com.yeshi.goods.facade.dto.taobao.dataoke.DaTaoKeGoodsResult; import com.yeshi.goods.facade.dto.taobao.dataoke.DaTaoKeListTopOffDTO; import com.yeshi.goods.facade.dto.taobao.dataoke.DaTaoKeResult; import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.goods.facade.entity.taobao.dataoke.DaTaoKeDetailV2; import com.yeshi.goods.facade.dto.taobao.dataoke.DaTaoKeGoodsResult; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.commons.httpclient.HttpClient; @@ -22,9 +26,14 @@ import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import org.yeshi.utils.*; import org.yeshi.utils.HttpUtil; import org.yeshi.utils.MoneyBigDecimalUtil; import org.yeshi.utils.StringUtil; import org.yeshi.utils.TimeUtil; import java.io.*; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.lang.reflect.Type; import java.math.BigDecimal; import java.net.URLEncoder; @@ -678,6 +687,17 @@ return daTaoKeGoodsResult; } public static List<String> getHotSearch() { String appKey = APP_KEY; String appSecret = APP_KEY_SECRET; TreeMap<String, String> paraMap = new TreeMap<>(); paraMap.put("version", "v1.0.0"); DtkGetTop100Request request = new DtkGetTop100Request(); request.setType(2); DtkApiResponse<DtkGetTop100Response> response = DtkApiClient.getInstance(appKey, appSecret).execute(request); return response.getData().getHotWords(); } private static List<DaTaoKeDetailV2> parseDaTaoKeDetailV2List(JSONArray array) { List<DaTaoKeDetailV2> detailList = new ArrayList<>(); for (int i = 0; i < array.size(); i++) { @@ -960,6 +980,6 @@ public static void main(String[] args) { parseTaoBaoToken("8\uD83D\uDC48嘻etMgX8V2M30信 https://m.tb.cn/h.4CFFCNf?sm=fb01ec 大码女装法式初恋复古超仙rouje碎花吊带小雏菊石原里美连衣裙子"); getHotSearch(); } } fanli/pom.xml
@@ -33,6 +33,12 @@ <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>com.dataoke</groupId> <artifactId>sdk</artifactId> <version>1.0.0</version> </dependency> <!-- JAR包依赖 --> <dependency> fanli/src/main/java/com/yeshi/fanli/controller/admin/HotSearchAdminController.java
@@ -152,7 +152,7 @@ try { Gson gson = new Gson(); long[] hsids = gson.fromJson(idArray, new TypeToken<long[]>() {}.getType()); Long[] hsids = gson.fromJson(idArray, new TypeToken<long[]>() {}.getType()); if (hsids == null || hsids.length == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据")); fanli/src/main/java/com/yeshi/fanli/controller/client/lijin/LijinHongBaoController.java
@@ -3,6 +3,7 @@ import com.google.gson.*; import com.ks.vip.exception.LijinBalanceException; import com.ks.vip.pojo.DO.UserLijinRecord; import com.yeshi.fanli.entity.SystemEnum; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.lijin.dto.LijinSendInfo; @@ -54,6 +55,12 @@ lijinSendInfo = userLijinSendManager.getSendingLijinInfo(acceptData.getSystem(), acceptData.getDevice(), uid); } //是否需要显示弹框 String value = configService.getValue(ConfigKeyEnum.lijinSendNotify, acceptData.getSystem()); if (!"1".equalsIgnoreCase(value)) { lijinSendInfo = null; } if (lijinSendInfo == null) { out.print(JsonUtil.loadFalseResult("无红包")); return; fanli/src/main/java/com/yeshi/fanli/entity/system/ConfigKeyEnum.java
@@ -183,6 +183,7 @@ lijinRecievedSuccessLink("lijin_recieve_success_link", "礼金领取成功链接"), lijinRuleLink("lijin_rule_link", "礼金规则链接"), lijinCourseLink("lijin_course_link", "礼金教程链接"), lijinSendNotify("lijin_send_notify","礼金发放通知"), // 文案转链 fanli/src/main/java/com/yeshi/fanli/job/goods/HotSearchKeyJob.java
New file @@ -0,0 +1,82 @@ package com.yeshi.fanli.job.goods; import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.handler.annotation.XxlJob; import com.yeshi.fanli.entity.SystemEnum; import com.yeshi.fanli.entity.bus.search.HotSearch; import com.yeshi.fanli.service.inter.config.HotSearchService; import com.yeshi.fanli.service.inter.goods.PullNewGoodsService; import com.yeshi.fanli.util.Constant; import com.yeshi.goods.facade.dto.taobao.haodanku.HDKGoodsListResultDTO; import com.yeshi.goods.facade.entity.taobao.haodanku.HDKGoodsDetail; import com.yeshi.goods.facade.service.HDKGoodsDetailService; import com.yeshi.goods.facade.utils.taobao.DaTaoKeApiUtil; import com.yeshi.goods.facade.utils.taobao.HaoDanKuApiUtil; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; import java.util.List; //热门搜索关键字搜索 @Component public class HotSearchKeyJob { @Resource private HotSearchService hotSearchService; /** * 同步大淘客的热门搜索 * * @param param * @return * @throws Exception ReturnT<String> 返回类型 * @throws * @Title: syncAll * @Description: */ @XxlJob("hotsearch-dataoke") public ReturnT<String> syncDataoKeSearch(String param) throws Exception { List<String> keyList = DaTaoKeApiUtil.getHotSearch(); //获取前10的搜索 List<String> sub1 = keyList.subList(0, 10); //获取10到30的搜索 List<String> sub2 = keyList.subList(10, 30); List<String> list = null; for (SystemEnum system : SystemEnum.values()) { list = new ArrayList<>(); list.addAll(sub1); Collections.shuffle(sub2); list.addAll(sub2.subList(0, 10)); //删除原来的热门搜索 List<HotSearch> hotSearchList = hotSearchService.getHotSearchCache(Constant.SOURCE_TYPE_TAOBAO, system); List<Long> idList = new ArrayList<>(); for (HotSearch hs : hotSearchList) { idList.add(hs.getId()); } Long[] ids = new Long[idList.size()]; idList.toArray(ids); hotSearchService.deleteHotSearch(ids); //添加热门搜索 int orderby = list.size(); for (String s : list) { HotSearch hs = new HotSearch(); hs.setSystem(system); hs.setUseType(Constant.SOURCE_TYPE_TAOBAO); hs.setName(s); hs.setOrderby(orderby--); hotSearchService.addHotSearch(hs); } } return ReturnT.SUCCESS; } public static void main(String[] args) { } } fanli/src/main/java/com/yeshi/fanli/lijin/manager/UserLijinSendManager.java
@@ -7,6 +7,7 @@ import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.push.DeviceActive; import com.yeshi.fanli.lijin.dto.LijinSendInfo; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.push.DeviceActiveService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.util.RedisManager; @@ -35,6 +36,9 @@ @Resource private UserLijinMnager userLijinMnager; @Resource private ConfigService configService; private String getRedisKey(SystemEnum system, String deviceId, Long uid) { String key = "lijinsend-" + system.name() + "-"; fanli/src/main/java/com/yeshi/fanli/service/impl/config/HotSearchServiceImpl.java
@@ -36,8 +36,8 @@ hotSearchMapper.insert(hotSearch); } public void deleteHotSearch(long[] hsids) { for (long hsid : hsids) { public void deleteHotSearch(Long[] hsids) { for (Long hsid : hsids) { // superHotSearchService.deleteSuper(id, systemId) fanli/src/main/java/com/yeshi/fanli/service/inter/config/HotSearchService.java
@@ -10,7 +10,7 @@ void addHotSearch(HotSearch hotSearch); void deleteHotSearch(long[] hsids); void deleteHotSearch(Long[] hsids); void updateHotSearch(HotSearch hotSearch); fanli/src/main/resource/dubbo/consumer.xml
@@ -11,8 +11,8 @@ <dubbo:annotation package="com.yeshi.fanli"></dubbo:annotation> <!--<dubbo:registry address="zookeeper://172.16.16.46:2181"/>--> <dubbo:registry address="zookeeper://193.112.35.168:2182"/> <dubbo:registry address="zookeeper://172.16.16.46:2181"/> <!--<dubbo:registry address="zookeeper://193.112.35.168:2182"/>--> <!-- url=dubbo://192.168.3.122:20882/com.yeshi.goods.facade.service.TaoBaoCouponCacheService -->