From d1f26741bddf6f512d62c0100d42c52be8d37e76 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 06 二月 2021 15:35:40 +0800 Subject: [PATCH] 工具类优化 --- fanli/src/main/java/com/yeshi/fanli/job/order/vipshop/UpdateVipShopOrderJob.java | 294 +++++++++++++++++++++++++++++++--------------------------- 1 files changed, 158 insertions(+), 136 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/job/order/vipshop/UpdateVipShopOrderJob.java b/fanli/src/main/java/com/yeshi/fanli/job/order/vipshop/UpdateVipShopOrderJob.java index 72a9576..c92d312 100644 --- a/fanli/src/main/java/com/yeshi/fanli/job/order/vipshop/UpdateVipShopOrderJob.java +++ b/fanli/src/main/java/com/yeshi/fanli/job/order/vipshop/UpdateVipShopOrderJob.java @@ -1,136 +1,158 @@ -package com.yeshi.fanli.job.order.vipshop; - -import java.util.ArrayList; -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import com.xxl.job.core.biz.model.ReturnT; -import com.xxl.job.core.handler.annotation.XxlJob; -import com.yeshi.fanli.dto.vipshop.VipShopOrderQueryModel; -import com.yeshi.fanli.dto.vipshop.VipShopQueryOrderResultDTO; -import com.yeshi.fanli.entity.vipshop.VipShopOrder; -import com.yeshi.fanli.exception.vipshop.VipShopOrderException; -import com.yeshi.fanli.log.LogHelper; -import com.yeshi.fanli.service.inter.order.vipshop.VipShopOrderService; -import com.yeshi.fanli.util.RedisKeyEnum; -import com.yeshi.fanli.util.RedisManager; -import com.yeshi.fanli.util.StringUtil; -import com.yeshi.fanli.util.cmq.order.VipShopOrderCMQManager; -import com.yeshi.fanli.util.vipshop.VipShopApiUtil; - -//浠庢窐瀹濈埇鍘昏鍗曟洿鏂� -@Component -public class UpdateVipShopOrderJob { - - @Resource - private VipShopOrderService vipShopOrderService; - - @Resource - private RedisManager redisManager; - - /** - * 淇濆瓨璁㈠崟 - * - * @param VipShopOrderList - */ - public void saveVipShopOrders(List<VipShopOrder> vipShopOrderList) { - for (VipShopOrder order : vipShopOrderList) { - try { - vipShopOrderService.addOrder(order); - /** - * 鍋氶鐜囬檺鍒� - */ - String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.VIPShopOrder, order.getOrderSn() + ""); - String result = redisManager.getCommonString(key); - // 鍒ゆ柇 -// if (StringUtil.isNullOrEmpty(result)) { - VipShopOrderCMQManager.getInstance().addVipShopOrder(order.getOrderSn() + ""); - redisManager.cacheCommonString(key, "1", 60 * 60 * 2);// 2灏忔椂鍐呬笉鍐嶆洿鏂� - LogHelper.test("鍞搧浼氳鍗曟秷鎭彂閫佹垚鍔�"); -// }else{ -// LogHelper.test("鍞搧浼氳鍗曢鐜囬檺鍒�"); -// } - } catch (VipShopOrderException e) { - e.printStackTrace(); - LogHelper.errorDetailInfo(e); - } - } - } - - /** - * 蹇�熻鍗曟洿鏂帮紙鐖彇鏈皬鏃跺唴鐨勫崟,姣忓垎閽熶竴娆★級 - */ - @XxlJob("updateVipShopOrderHandler") - public ReturnT<String> updateVipShopSoonOrder(String param) throws Exception { - LogHelper.test("updateVipShopOrderHandler:"+param); - long endTime = System.currentTimeMillis(); - if ("1hour".equalsIgnoreCase(param)) {// 鏇存柊1灏忔椂鍐呯殑璁㈠崟 - updateByOrderTime(endTime - 1000 * 60 * 60 * 1L, endTime); - updateByUpdateTime(endTime - 1000 * 60 * 60 * 1L, endTime); - } else if ("1day".equalsIgnoreCase(param)) {// 鏇存柊鏈�杩�1澶╂洿鏂扮殑鏁版嵁 - updateByOrderTime(endTime - 1000 * 60 * 60 * 24L, endTime); - updateByUpdateTime(endTime - 1000 * 60 * 60 * 24L, endTime); - } - /* - * else if ("3day".equalsIgnoreCase(param)) {// 鏇存柊鏈�杩�3澶╂洿鏂扮殑鏁版嵁 - * updateByOrderTime(endTime - 1000 * 60 * 60 * 24 * 3L, endTime); - * updateByUpdateTime(endTime - 1000 * 60 * 60 * 24 * 3L, endTime); } - */ - return ReturnT.SUCCESS; - } - - /** - * 鎸変笅鍗曟椂闂存洿鏂� - * @Title: updateByOrderTime - * @Description: - * @param startTime - * @param endTime - * void 杩斿洖绫诲瀷 - * @throws - */ - - public void updateByOrderTime(long startTime, long endTime) { - List<VipShopOrder> vipShopOrderList = new ArrayList<>(); - int page = 1; - VipShopQueryOrderResultDTO result = VipShopApiUtil - .getOrderList(VipShopOrderQueryModel.createOrderTime(startTime, endTime, null, page)); - - while (result != null && result.getOrderList().size() > 0) { - page++; - vipShopOrderList.addAll(result.getOrderList()); - result = VipShopApiUtil - .getOrderList(VipShopOrderQueryModel.createOrderTime(startTime, endTime, null, page)); - } - - saveVipShopOrders(vipShopOrderList); - } - - /** - * 鎸夋洿鏂版椂闂存洿鏂� - * @Title: updateByOrderTime - * @Description: - * @param startTime - * @param endTime - * void 杩斿洖绫诲瀷 - * @throws - */ - - public void updateByUpdateTime(long startTime, long endTime) { - List<VipShopOrder> vipShopOrderList = new ArrayList<>(); - int page = 1; - VipShopQueryOrderResultDTO result = VipShopApiUtil - .getOrderList(VipShopOrderQueryModel.createUpdateTime(startTime, endTime, null, page)); - - while (result != null && result.getOrderList().size() > 0) { - page++; - vipShopOrderList.addAll(result.getOrderList()); - result = VipShopApiUtil - .getOrderList(VipShopOrderQueryModel.createUpdateTime(startTime, endTime, null, page)); - } - saveVipShopOrders(vipShopOrderList); - } - -} +package com.yeshi.fanli.job.order.vipshop; + +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Resource; + +import com.yeshi.fanli.util.Constant; +import org.springframework.stereotype.Component; + +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.handler.annotation.XxlJob; +import com.yeshi.fanli.dto.vipshop.VipShopOrderQueryModel; +import com.yeshi.fanli.dto.vipshop.VipShopQueryOrderResultDTO; +import com.yeshi.fanli.entity.vipshop.VipShopOrder; +import com.yeshi.fanli.exception.vipshop.VipShopOrderException; +import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.service.inter.order.vipshop.VipShopOrderService; +import com.yeshi.fanli.util.RedisKeyEnum; +import com.yeshi.fanli.util.RedisManager; +import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.mq.cmq.order.VipShopOrderCMQManager; +import com.yeshi.fanli.util.vipshop.VipShopApiUtil; + +//浠庢窐瀹濈埇鍘昏鍗曟洿鏂� +@Component +public class UpdateVipShopOrderJob { + + @Resource + private VipShopOrderService vipShopOrderService; + + @Resource + private RedisManager redisManager; + + /** + * 淇濆瓨璁㈠崟 + * + * @param vipShopOrderList + */ + public void saveVipShopOrders(List<VipShopOrder> vipShopOrderList) { + //5鍒嗛挓涓嶆洿鏂板氨鎶ヨ + try { + redisManager.cacheCommonString(RedisKeyEnum.monitor.getKey() + Constant.SOURCE_TYPE_VIP, "1", 60 * 5); + } catch (Exception e) { + } + for (VipShopOrder order : vipShopOrderList) { + try { + vipShopOrderService.addOrder(order); + /** + * 鍋氶鐜囬檺鍒� + */ + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.VIPShopOrder, order.getOrderSn() + ""); + String result = redisManager.getCommonString(key); + // 鍒ゆ柇 +// if (StringUtil.isNullOrEmpty(result)) { + VipShopOrderCMQManager.getInstance().addVipShopOrder(order.getOrderSn() + ""); + redisManager.cacheCommonString(key, "1", 60 * 60 * 2);// 2灏忔椂鍐呬笉鍐嶆洿鏂� + LogHelper.test("鍞搧浼氳鍗曟秷鎭彂閫佹垚鍔�"); +// }else{ +// LogHelper.test("鍞搧浼氳鍗曢鐜囬檺鍒�"); +// } + } catch (VipShopOrderException e) { + e.printStackTrace(); + LogHelper.errorDetailInfo(e); + } + } + } + + /** + * 蹇�熻鍗曟洿鏂帮紙鐖彇鏈皬鏃跺唴鐨勫崟,姣忓垎閽熶竴娆★級 + */ + @XxlJob("updateVipShopOrderHandler") + public ReturnT<String> updateVipShopSoonOrder(String param) throws Exception { + LogHelper.test("updateVipShopOrderHandler:" + param); + long endTime = System.currentTimeMillis(); + if ("1hour".equalsIgnoreCase(param)) {// 鏇存柊1灏忔椂鍐呯殑璁㈠崟 + updateByOrderTime(endTime - 1000 * 60 * 60 * 1L, endTime); + updateByUpdateTime(endTime - 1000 * 60 * 60 * 1L, endTime); + } else if ("1day".equalsIgnoreCase(param)) {// 鏇存柊鏈�杩�1澶╂洿鏂扮殑鏁版嵁 + updateByOrderTime(endTime - 1000 * 60 * 60 * 24L, endTime); + updateByUpdateTime(endTime - 1000 * 60 * 60 * 24L, endTime); + } + /* + * else if ("3day".equalsIgnoreCase(param)) {// 鏇存柊鏈�杩�3澶╂洿鏂扮殑鏁版嵁 + * updateByOrderTime(endTime - 1000 * 60 * 60 * 24 * 3L, endTime); + * updateByUpdateTime(endTime - 1000 * 60 * 60 * 24 * 3L, endTime); } + */ + return ReturnT.SUCCESS; + } + + + + //鏍规嵁璁㈠崟鍙锋洿鏂� + @XxlJob("order-vip-updateByOrderSn") + public ReturnT<String> updateByOrderSn(String param) throws Exception { + List<VipShopOrder> orders = vipShopOrderService.listByOrderSn(param); + if (orders == null || orders.size() == 0) + throw new Exception("璁㈠崟涓嶅瓨鍦�"); + + VipShopQueryOrderResultDTO result = VipShopApiUtil + .getOrderList(VipShopOrderQueryModel.createOrderTime(orders.get(0).getOrderTime(), orders.get(0).getOrderTime() + 1000, null, 1)); + saveVipShopOrders(result.getOrderList()); + return ReturnT.SUCCESS; + } + + /** + * 鎸変笅鍗曟椂闂存洿鏂� + * + * @param startTime + * @param endTime void 杩斿洖绫诲瀷 + * @throws + * @Title: updateByOrderTime + * @Description: + */ + + public void updateByOrderTime(long startTime, long endTime) { + List<VipShopOrder> vipShopOrderList = new ArrayList<>(); + int page = 1; + VipShopQueryOrderResultDTO result = VipShopApiUtil + .getOrderList(VipShopOrderQueryModel.createOrderTime(startTime, endTime, null, page)); + + while (result != null && result.getOrderList().size() > 0) { + page++; + vipShopOrderList.addAll(result.getOrderList()); + result = VipShopApiUtil + .getOrderList(VipShopOrderQueryModel.createOrderTime(startTime, endTime, null, page)); + } + + saveVipShopOrders(vipShopOrderList); + } + + /** + * 鎸夋洿鏂版椂闂存洿鏂� + * + * @param startTime + * @param endTime void 杩斿洖绫诲瀷 + * @throws + * @Title: updateByOrderTime + * @Description: + */ + + public void updateByUpdateTime(long startTime, long endTime) { + List<VipShopOrder> vipShopOrderList = new ArrayList<>(); + int page = 1; + VipShopQueryOrderResultDTO result = VipShopApiUtil + .getOrderList(VipShopOrderQueryModel.createUpdateTime(startTime, endTime, null, page)); + + while (result != null && result.getOrderList().size() > 0) { + page++; + vipShopOrderList.addAll(result.getOrderList()); + result = VipShopApiUtil + .getOrderList(VipShopOrderQueryModel.createUpdateTime(startTime, endTime, null, page)); + } + saveVipShopOrders(vipShopOrderList); + } + + +} -- Gitblit v1.8.0