Merge branch 'master' of http://git.yoho.cn/ufo/ufo-service-model
# Conflicts: # users/src/main/java/com/yohobuy/ufo/model/enums/InboxBusinessTypeEnum.java
Showing
10 changed files
with
172 additions
and
7 deletions
@@ -35,7 +35,7 @@ | @@ -35,7 +35,7 @@ | ||
35 | <sql id="Base_Column_List" > | 35 | <sql id="Base_Column_List" > |
36 | id, product_id, goods_id, storage_id, deposit_code, shelf_code, owner_uid, order_code, | 36 | id, product_id, goods_id, storage_id, deposit_code, shelf_code, owner_uid, order_code, |
37 | skup, status, order_status, update_time, create_time, deposit_start_time, deposit_end_time, | 37 | skup, status, order_status, update_time, create_time, deposit_start_time, deposit_end_time, |
38 | - edit_pid, del_status, out_type | 38 | + edit_pid, del_status, out_type, new_order_code, new_skup |
39 | </sql> | 39 | </sql> |
40 | <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" > | 40 | <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" > |
41 | select | 41 | select |
@@ -38,6 +38,6 @@ public class BuyerOrderConfirmDelayMsgConsumer implements YhConsumer { | @@ -38,6 +38,6 @@ public class BuyerOrderConfirmDelayMsgConsumer implements YhConsumer { | ||
38 | 38 | ||
39 | OrderRequest req = OrderRequest.builder().uid(buyerUid).orderCode(orderCode).build(); | 39 | OrderRequest req = OrderRequest.builder().uid(buyerUid).orderCode(orderCode).build(); |
40 | buyerOrderService.confirm(req); | 40 | buyerOrderService.confirm(req); |
41 | - logger.info("topic {}, msg {} finish", getMessageTopic(), buyerConfirmEvent); | 41 | + logger.info("topic {}, msg {} finish", getMessageTopic(), o); |
42 | } | 42 | } |
43 | } | 43 | } |
@@ -5,10 +5,7 @@ import com.alibaba.fastjson.JSONObject; | @@ -5,10 +5,7 @@ import com.alibaba.fastjson.JSONObject; | ||
5 | import com.yoho.error.ServiceError; | 5 | import com.yoho.error.ServiceError; |
6 | import com.yoho.error.exception.ServiceException; | 6 | import com.yoho.error.exception.ServiceException; |
7 | import com.yohobuy.ufo.model.order.bo.OrderInfo; | 7 | import com.yohobuy.ufo.model.order.bo.OrderInfo; |
8 | -import com.yohobuy.ufo.model.order.common.OrderAttributes; | ||
9 | -import com.yohobuy.ufo.model.order.common.OrderCodeType; | ||
10 | -import com.yohobuy.ufo.model.order.common.OrderStatus; | ||
11 | -import com.yohobuy.ufo.model.order.common.TabType; | 8 | +import com.yohobuy.ufo.model.order.common.*; |
12 | import com.yohobuy.ufo.model.order.constants.SkupType; | 9 | import com.yohobuy.ufo.model.order.constants.SkupType; |
13 | import com.yohoufo.common.alarm.EventBusPublisher; | 10 | import com.yohoufo.common.alarm.EventBusPublisher; |
14 | import com.yohoufo.common.utils.DateUtil; | 11 | import com.yohoufo.common.utils.DateUtil; |
@@ -49,6 +46,11 @@ import java.util.Arrays; | @@ -49,6 +46,11 @@ import java.util.Arrays; | ||
49 | import java.util.List; | 46 | import java.util.List; |
50 | import java.util.concurrent.TimeUnit; | 47 | import java.util.concurrent.TimeUnit; |
51 | 48 | ||
49 | +import static com.yohobuy.ufo.model.order.common.EnumExpressDataOperateTransferCode.judge_pass; | ||
50 | +import static com.yohobuy.ufo.model.order.common.EnumExpressDataOperateTransferCode.platform_receive; | ||
51 | +import static com.yohobuy.ufo.model.order.common.EnumExpressDataType.operate_transfer; | ||
52 | +import static com.yohobuy.ufo.model.order.common.EnumExpressType.EXPRESS_TYPE_JUDGE_CENTER; | ||
53 | + | ||
52 | @Service | 54 | @Service |
53 | public class BuyerOrderPaymentService extends AbstractOrderPaymentService { | 55 | public class BuyerOrderPaymentService extends AbstractOrderPaymentService { |
54 | 56 | ||
@@ -95,6 +97,9 @@ public class BuyerOrderPaymentService extends AbstractOrderPaymentService { | @@ -95,6 +97,9 @@ public class BuyerOrderPaymentService extends AbstractOrderPaymentService { | ||
95 | @Autowired | 97 | @Autowired |
96 | private AppraiseService appraiseService; | 98 | private AppraiseService appraiseService; |
97 | 99 | ||
100 | + @Autowired | ||
101 | + private IExpressInfoService expressInfoService; | ||
102 | + | ||
98 | private boolean isDepositWithQuickDeliverGoods(int uid, long orderCode, Integer oa){ | 103 | private boolean isDepositWithQuickDeliverGoods(int uid, long orderCode, Integer oa){ |
99 | BuyerOrderGoods pbog = buyerOrderGoodsMapper.selectOnlyByOrderCode(orderCode); | 104 | BuyerOrderGoods pbog = buyerOrderGoodsMapper.selectOnlyByOrderCode(orderCode); |
100 | SellerOrderGoods psog = sellerOrderGoodsMapper.selectByPrimaryKey(pbog.getSkup()); | 105 | SellerOrderGoods psog = sellerOrderGoodsMapper.selectByPrimaryKey(pbog.getSkup()); |
@@ -230,6 +235,23 @@ public class BuyerOrderPaymentService extends AbstractOrderPaymentService { | @@ -230,6 +235,23 @@ public class BuyerOrderPaymentService extends AbstractOrderPaymentService { | ||
230 | 235 | ||
231 | // notice | 236 | // notice |
232 | inBoxFacade.noticeWhenQuickDeliverOrderPaid(buyerOrder.getUid(), buyerOrder.getOrderCode(), sellerOrderGoods); | 237 | inBoxFacade.noticeWhenQuickDeliverOrderPaid(buyerOrder.getUid(), buyerOrder.getOrderCode(), sellerOrderGoods); |
238 | + Integer sellerUid = buyerOrder.getSellerUid(); | ||
239 | + Integer buyerUid = buyerOrder.getUid(); | ||
240 | + Long orderCode = buyerOrder.getOrderCode(); | ||
241 | + Integer skup = sellerOrderGoods.getId(); | ||
242 | + | ||
243 | + if (BuyerOrderUtils.isQuickDeliver(buyerOrder.getAttributes())) { | ||
244 | + try { | ||
245 | + // 插入物流调拨信息 | ||
246 | + expressInfoService.saveOperateTransferExpressInfo(buyerUid, orderCode, | ||
247 | + EXPRESS_TYPE_JUDGE_CENTER.getCode(), operate_transfer, platform_receive); | ||
248 | + expressInfoService.saveOperateTransferExpressInfo(buyerUid, orderCode, | ||
249 | + EXPRESS_TYPE_JUDGE_CENTER.getCode(), operate_transfer, judge_pass); | ||
250 | + } catch (Exception ex) { | ||
251 | + logger.warn("pay successful, processQuickDeliverOrder invoke save transfer express info fail, sellerUid {}, buyerUid {},orderCode {},skup {}", | ||
252 | + sellerUid, buyerUid, orderCode, skup); | ||
253 | + } | ||
254 | + } | ||
233 | } | 255 | } |
234 | 256 | ||
235 | @Override | 257 | @Override |
@@ -60,4 +60,11 @@ public interface DepositService { | @@ -60,4 +60,11 @@ public interface DepositService { | ||
60 | * @param depositCode | 60 | * @param depositCode |
61 | */ | 61 | */ |
62 | void clearCacheByDepositCode(Integer uid, String depositCode); | 62 | void clearCacheByDepositCode(Integer uid, String depositCode); |
63 | + | ||
64 | + /** | ||
65 | + * 根据货号查询库存 | ||
66 | + * @param depositCode | ||
67 | + * @return | ||
68 | + */ | ||
69 | + StorageDeposit selectStorageDeposit(Integer uid, String depositCode); | ||
63 | } | 70 | } |
@@ -35,6 +35,8 @@ public interface IExpressInfoService { | @@ -35,6 +35,8 @@ public interface IExpressInfoService { | ||
35 | void deliverToDepot(Integer sellerUid,Integer expressCompanyId, Long orderCode, String wayBillCode,Integer depotNum); | 35 | void deliverToDepot(Integer sellerUid,Integer expressCompanyId, Long orderCode, String wayBillCode,Integer depotNum); |
36 | 36 | ||
37 | 37 | ||
38 | + | ||
39 | + | ||
38 | /** | 40 | /** |
39 | * 卖家发货的商品,买家取消后,鉴定中心寄回商品给卖家 | 41 | * 卖家发货的商品,买家取消后,鉴定中心寄回商品给卖家 |
40 | * @param sellerUid 卖家uid | 42 | * @param sellerUid 卖家uid |
@@ -7,20 +7,25 @@ import com.yohobuy.ufo.model.order.bo.OrderInfo; | @@ -7,20 +7,25 @@ import com.yohobuy.ufo.model.order.bo.OrderInfo; | ||
7 | import com.yohobuy.ufo.model.order.common.OrderCodeType; | 7 | import com.yohobuy.ufo.model.order.common.OrderCodeType; |
8 | import com.yohobuy.ufo.model.order.common.OrderStatus; | 8 | import com.yohobuy.ufo.model.order.common.OrderStatus; |
9 | import com.yohobuy.ufo.model.order.constants.StorageDepositStatusEnum; | 9 | import com.yohobuy.ufo.model.order.constants.StorageDepositStatusEnum; |
10 | +import com.yohoufo.dal.order.SellerOrderGoodsMapper; | ||
10 | import com.yohoufo.dal.order.model.DepositOrder; | 11 | import com.yohoufo.dal.order.model.DepositOrder; |
11 | import com.yohoufo.dal.order.model.EntrySellerRechargeOrder; | 12 | import com.yohoufo.dal.order.model.EntrySellerRechargeOrder; |
13 | +import com.yohoufo.dal.order.model.SellerOrderGoods; | ||
12 | import com.yohoufo.dal.order.model.StorageDeposit; | 14 | import com.yohoufo.dal.order.model.StorageDeposit; |
13 | import com.yohoufo.order.model.request.PaymentRequest; | 15 | import com.yohoufo.order.model.request.PaymentRequest; |
14 | import com.yohoufo.order.model.response.PrepayResponse; | 16 | import com.yohoufo.order.model.response.PrepayResponse; |
15 | import com.yohoufo.order.service.AbstractOrderPaymentService; | 17 | import com.yohoufo.order.service.AbstractOrderPaymentService; |
16 | import com.yohoufo.order.service.DepositService; | 18 | import com.yohoufo.order.service.DepositService; |
17 | import com.yohoufo.order.service.deposit.DepositOrderService; | 19 | import com.yohoufo.order.service.deposit.DepositOrderService; |
20 | +import com.yohoufo.order.service.proxy.InBoxFacade; | ||
18 | import org.slf4j.Logger; | 21 | import org.slf4j.Logger; |
19 | import org.slf4j.LoggerFactory; | 22 | import org.slf4j.LoggerFactory; |
20 | import org.springframework.beans.factory.annotation.Autowired; | 23 | import org.springframework.beans.factory.annotation.Autowired; |
21 | import org.springframework.stereotype.Service; | 24 | import org.springframework.stereotype.Service; |
22 | 25 | ||
26 | +import javax.swing.text.html.Option; | ||
23 | import java.util.Objects; | 27 | import java.util.Objects; |
28 | +import java.util.Optional; | ||
24 | 29 | ||
25 | @Service | 30 | @Service |
26 | public class DepositOrderPaymentService extends AbstractOrderPaymentService { | 31 | public class DepositOrderPaymentService extends AbstractOrderPaymentService { |
@@ -32,6 +37,12 @@ public class DepositOrderPaymentService extends AbstractOrderPaymentService { | @@ -32,6 +37,12 @@ public class DepositOrderPaymentService extends AbstractOrderPaymentService { | ||
32 | @Autowired | 37 | @Autowired |
33 | private DepositService depositService; | 38 | private DepositService depositService; |
34 | 39 | ||
40 | + @Autowired | ||
41 | + protected InBoxFacade inBoxFacade; | ||
42 | + | ||
43 | + @Autowired | ||
44 | + private SellerOrderGoodsMapper sellerOrderGoodsMapper; | ||
45 | + | ||
35 | @Override | 46 | @Override |
36 | public boolean isTimeoutCancelStatus(OrderInfo orderInfo) { | 47 | public boolean isTimeoutCancelStatus(OrderInfo orderInfo) { |
37 | return false; | 48 | return false; |
@@ -151,6 +162,19 @@ public class DepositOrderPaymentService extends AbstractOrderPaymentService { | @@ -151,6 +162,19 @@ public class DepositOrderPaymentService extends AbstractOrderPaymentService { | ||
151 | if (result != 1) { | 162 | if (result != 1) { |
152 | logger.error("depositService.changeStorageStatus find wrong, depositCode is {}, result is {}", depositOrder.getDepositCode(), result); | 163 | logger.error("depositService.changeStorageStatus find wrong, depositCode is {}, result is {}", depositOrder.getDepositCode(), result); |
153 | return; | 164 | return; |
165 | + } else { | ||
166 | + try { | ||
167 | + logger.info("depositService.notify begin, orderInfo is {}", orderInfo); | ||
168 | + | ||
169 | + StorageDeposit deposit = depositService.selectStorageDeposit(depositOrder.getUid(), depositOrder.getDepositCode()); | ||
170 | + | ||
171 | + SellerOrderGoods psog = Optional.ofNullable(deposit).map(StorageDeposit::getSkup) | ||
172 | + .map(sellerOrderGoodsMapper::selectByPrimaryKey).orElse(null); | ||
173 | + | ||
174 | + inBoxFacade.recallDepositnotify(deposit.getOwnerUid(), psog); // 更新待拣货状态成功后,发通知 | ||
175 | + } catch (Exception e) { | ||
176 | + logger.error("depositService.notify find wrong, orderInfo is {}", orderInfo); | ||
177 | + } | ||
154 | } | 178 | } |
155 | } | 179 | } |
156 | 180 |
@@ -13,8 +13,10 @@ import com.yohoufo.common.cache.ControllerCacheAop; | @@ -13,8 +13,10 @@ import com.yohoufo.common.cache.ControllerCacheAop; | ||
13 | import com.yohoufo.common.caller.UfoServiceCaller; | 13 | import com.yohoufo.common.caller.UfoServiceCaller; |
14 | import com.yohoufo.common.exception.UfoServiceException; | 14 | import com.yohoufo.common.exception.UfoServiceException; |
15 | import com.yohoufo.common.helper.ImageUrlAssist; | 15 | import com.yohoufo.common.helper.ImageUrlAssist; |
16 | +import com.yohoufo.dal.order.BuyerOrderMapper; | ||
16 | import com.yohoufo.dal.order.SellerOrderGoodsMapper; | 17 | import com.yohoufo.dal.order.SellerOrderGoodsMapper; |
17 | import com.yohoufo.dal.order.StorageDepositMapper; | 18 | import com.yohoufo.dal.order.StorageDepositMapper; |
19 | +import com.yohoufo.dal.order.model.BuyerOrder; | ||
18 | import com.yohoufo.dal.order.model.SellerOrderGoods; | 20 | import com.yohoufo.dal.order.model.SellerOrderGoods; |
19 | import com.yohoufo.dal.order.model.StorageDeposit; | 21 | import com.yohoufo.dal.order.model.StorageDeposit; |
20 | import com.yohoufo.dal.order.model.StorageDepositCount; | 22 | import com.yohoufo.dal.order.model.StorageDepositCount; |
@@ -52,6 +54,9 @@ public class DepositServiceImpl implements DepositService { | @@ -52,6 +54,9 @@ public class DepositServiceImpl implements DepositService { | ||
52 | private SellerOrderGoodsMapper sellerOrderGoodsMapper; | 54 | private SellerOrderGoodsMapper sellerOrderGoodsMapper; |
53 | 55 | ||
54 | @Autowired | 56 | @Autowired |
57 | + private BuyerOrderMapper buyerOrderMapper; | ||
58 | + | ||
59 | + @Autowired | ||
55 | private UfoServiceCaller ufoServiceCaller; | 60 | private UfoServiceCaller ufoServiceCaller; |
56 | 61 | ||
57 | private static final int DEPOSIT_MAX_TIME = 45 * 24 * 60 * 60; | 62 | private static final int DEPOSIT_MAX_TIME = 45 * 24 * 60 * 60; |
@@ -107,6 +112,8 @@ public class DepositServiceImpl implements DepositService { | @@ -107,6 +112,8 @@ public class DepositServiceImpl implements DepositService { | ||
107 | } | 112 | } |
108 | // 召回或者到期退回的 | 113 | // 召回或者到期退回的 |
109 | List<StorageDeposit> depositList = storageDepositMapper.queryUserDopositBack(uid, (page - 1) * limit, limit); | 114 | List<StorageDeposit> depositList = storageDepositMapper.queryUserDopositBack(uid, (page - 1) * limit, limit); |
115 | + List<BuyerOrder> buyerGoodsList = buyerOrderMapper.selectByOrderCodes(depositList.stream().map(StorageDeposit::getOrderCode).collect(Collectors.toList()), null); | ||
116 | + Map<Long, BuyerOrder> buyerGoodsMap = buyerGoodsList.stream().map(Function.identity()).collect(Collectors.toMap(BuyerOrder::getOrderCode, Function.identity())); | ||
110 | List<Integer> skupList = depositList.stream().map(StorageDeposit::getSkup).collect(Collectors.toList()); | 117 | List<Integer> skupList = depositList.stream().map(StorageDeposit::getSkup).collect(Collectors.toList()); |
111 | List<SellerOrderGoods> goodsList = sellerOrderGoodsMapper.selectBySkups(skupList); | 118 | List<SellerOrderGoods> goodsList = sellerOrderGoodsMapper.selectBySkups(skupList); |
112 | Map<Integer, SellerOrderGoods> goodsMap = goodsList.stream().map(Function.identity()).collect(Collectors.toMap(SellerOrderGoods::getId, Function.identity())); | 119 | Map<Integer, SellerOrderGoods> goodsMap = goodsList.stream().map(Function.identity()).collect(Collectors.toMap(SellerOrderGoods::getId, Function.identity())); |
@@ -120,7 +127,10 @@ public class DepositServiceImpl implements DepositService { | @@ -120,7 +127,10 @@ public class DepositServiceImpl implements DepositService { | ||
120 | bo.setColorName(goods.getColorName()); | 127 | bo.setColorName(goods.getColorName()); |
121 | bo.setSizeName(goods.getSizeName()); | 128 | bo.setSizeName(goods.getSizeName()); |
122 | bo.setPic(ImageUrlAssist.getAllProductPicUrl(goods.getImageUrl(), "goodsimg", "center", "d2hpdGU=")); | 129 | bo.setPic(ImageUrlAssist.getAllProductPicUrl(goods.getImageUrl(), "goodsimg", "center", "d2hpdGU=")); |
123 | - bo.setPrice(goods.getGoodsPrice().toString()); | 130 | + BuyerOrder buyerOrder = buyerGoodsMap.get(buyerGoodsMap.get(depo.getOrderCode())); |
131 | + if (buyerOrder != null) { | ||
132 | + bo.setPrice(buyerOrder.getAmount().toString()); | ||
133 | + } | ||
124 | bo.setDepositStatusName(getBackStatusName(depo.getStatus())); | 134 | bo.setDepositStatusName(getBackStatusName(depo.getStatus())); |
125 | bo.setDepositCode(depo.getDepositCode()); | 135 | bo.setDepositCode(depo.getDepositCode()); |
126 | } | 136 | } |
@@ -368,6 +378,15 @@ public class DepositServiceImpl implements DepositService { | @@ -368,6 +378,15 @@ public class DepositServiceImpl implements DepositService { | ||
368 | } | 378 | } |
369 | 379 | ||
370 | /** | 380 | /** |
381 | + * 根据货号查询库存 | ||
382 | + * @param depositCode | ||
383 | + * @return | ||
384 | + */ | ||
385 | + public StorageDeposit selectStorageDeposit(Integer uid, String depositCode) { | ||
386 | + return storageDepositMapper.queryByDepositCode(uid, depositCode); | ||
387 | + } | ||
388 | + | ||
389 | + /** | ||
371 | * Do 转 Vo | 390 | * Do 转 Vo |
372 | * @param storageDeposit | 391 | * @param storageDeposit |
373 | * @return | 392 | * @return |
@@ -1872,6 +1872,41 @@ public class InBoxFacade { | @@ -1872,6 +1872,41 @@ public class InBoxFacade { | ||
1872 | appraisePassNoticeSeller(buyerUid,orderCode, sog); | 1872 | appraisePassNoticeSeller(buyerUid,orderCode, sog); |
1873 | } | 1873 | } |
1874 | 1874 | ||
1875 | + // 召回的 | ||
1876 | + public void recallDepositnotify(int uid, SellerOrderGoods sog) { | ||
1877 | + if (null == sog) { | ||
1878 | + logger.warn("InBoxFacade recallDepositnotify error SellerOrderGoods is null, uid {}", uid); | ||
1879 | + return; | ||
1880 | + } | ||
1881 | + String prdName = sog.getProductName(); | ||
1882 | + String sizeName = sog.getSizeName(); | ||
1883 | + try { | ||
1884 | + executorService.execute(()->{ | ||
1885 | + Product product = productMapper.selectByPrimaryKey(sog.getProductId()); | ||
1886 | + String productCode = product.getProductCode(); | ||
1887 | + | ||
1888 | + InboxBusinessTypeEnum ibtOfSeller = InboxBusinessTypeEnum.NOTICE_SELLER_DEPOSIT_RECALL; | ||
1889 | + String paramsOfSeller = buildParams(prdName, sizeName,productCode); | ||
1890 | + InboxReqVO reqOfSeller = buildInboxReqVO(uid, paramsOfSeller, ibtOfSeller); | ||
1891 | + InBoxResponse respOfSeller = inBoxSDK.addInbox(reqOfSeller); | ||
1892 | + logger.info("record recallDepositnotify to seller inbox msg, uid {}, sog {} resp {}", | ||
1893 | + uid, sog, respOfSeller); | ||
1894 | + | ||
1895 | + String phone = userProxyService.getMobile(uid); | ||
1896 | + if (StringUtils.isBlank(phone)){ | ||
1897 | + logger.warn("in recallDepositnotify sms fail, uid {} sog {}", uid, sog); | ||
1898 | + return; | ||
1899 | + } | ||
1900 | + List<String> mobileList = Arrays.asList(phone); | ||
1901 | + String content= getReplacedContent(InboxBusinessTypeEnum.SMS_NOTIFY_SELLER_DEPOSIT_RECALL.getContent(),prdName, sizeName, productCode); | ||
1902 | + sendSmsService.smsSendByMobile(content,mobileList); | ||
1903 | + logger.info("record recallDepositnotify inbox sms msg, uid {}, sog {}", uid, sog); | ||
1904 | + }); | ||
1905 | + } catch (Exception e) { | ||
1906 | + logger.warn("InBoxFacade recallDepositnotify error inbox msg, uid {}, sog {}", uid, sog, e); | ||
1907 | + } | ||
1908 | + } | ||
1909 | + | ||
1875 | public InboxReqVO buildInboxReqVO(int uid, String params, InboxBusinessTypeEnum ibt) { | 1910 | public InboxReqVO buildInboxReqVO(int uid, String params, InboxBusinessTypeEnum ibt) { |
1876 | InboxReqVO req = new InboxReqVO(); | 1911 | InboxReqVO req = new InboxReqVO(); |
1877 | req.setType(ibt.getType()); | 1912 | req.setType(ibt.getType()); |
1 | +package com.yohoufo.order.service.proxy; | ||
2 | + | ||
3 | +import com.yoho.message.sdk.service.ufo.IUFOSendService; | ||
4 | +import com.yohoufo.dal.order.SellerOrderMapper; | ||
5 | +import com.yohoufo.dal.product.ProductMapper; | ||
6 | +import com.yohoufo.inboxclient.sdk.InBoxSDK; | ||
7 | +import com.yohoufo.order.utils.PubThreadFactory; | ||
8 | +import org.springframework.beans.factory.annotation.Autowired; | ||
9 | +import org.springframework.stereotype.Service; | ||
10 | + | ||
11 | +import javax.annotation.PostConstruct; | ||
12 | +import java.util.concurrent.ArrayBlockingQueue; | ||
13 | +import java.util.concurrent.ExecutorService; | ||
14 | +import java.util.concurrent.ThreadPoolExecutor; | ||
15 | +import java.util.concurrent.TimeUnit; | ||
16 | + | ||
17 | +@Service | ||
18 | +public class SellerOrderMessage { | ||
19 | + | ||
20 | + private ExecutorService executorService; | ||
21 | + | ||
22 | + @Autowired | ||
23 | + private InBoxSDK inBoxSDK; | ||
24 | + | ||
25 | + @Autowired | ||
26 | + private SendSmsService sendSmsService; | ||
27 | + | ||
28 | + @Autowired | ||
29 | + private UserProxyService userProxyService; | ||
30 | + | ||
31 | + @Autowired | ||
32 | + private ProductMapper productMapper; | ||
33 | + | ||
34 | + @Autowired | ||
35 | + private SellerOrderMapper sellerOrderMapper; | ||
36 | + | ||
37 | + @Autowired | ||
38 | + private IUFOSendService ufoSendService; | ||
39 | + | ||
40 | + @PostConstruct | ||
41 | + public void init() { | ||
42 | + executorService = new ThreadPoolExecutor(5, 10, | ||
43 | + 60, TimeUnit.SECONDS, | ||
44 | + new ArrayBlockingQueue<>(1000), | ||
45 | + new PubThreadFactory("seller-order-message")); | ||
46 | + } | ||
47 | + | ||
48 | + | ||
49 | +} |
@@ -35,6 +35,7 @@ import org.springframework.web.bind.annotation.RequestParam; | @@ -35,6 +35,7 @@ import org.springframework.web.bind.annotation.RequestParam; | ||
35 | import org.springframework.web.bind.annotation.RestController; | 35 | import org.springframework.web.bind.annotation.RestController; |
36 | import org.springframework.web.servlet.ModelAndView; | 36 | import org.springframework.web.servlet.ModelAndView; |
37 | 37 | ||
38 | +import java.lang.reflect.Method; | ||
38 | import java.math.BigDecimal; | 39 | import java.math.BigDecimal; |
39 | import java.util.Collection; | 40 | import java.util.Collection; |
40 | import java.util.List; | 41 | import java.util.List; |
@@ -451,6 +452,8 @@ public class ProductController { | @@ -451,6 +452,8 @@ public class ProductController { | ||
451 | cacheAop.clearCache( | 452 | cacheAop.clearCache( |
452 | ProductController.class.getMethod("queryProductDetailById", new Class[]{Integer.class}), | 453 | ProductController.class.getMethod("queryProductDetailById", new Class[]{Integer.class}), |
453 | new Object[]{productId}); | 454 | new Object[]{productId}); |
455 | + Method queryLeastFlashSalePrice = ProductController.class.getMethod("queryLeastFlashSalePrice", new Class[]{Integer.class}); | ||
456 | + cacheAop.clearCache(queryLeastFlashSalePrice, new Object[]{productId}); | ||
454 | Integer storageId = sp.getStorageId(); | 457 | Integer storageId = sp.getStorageId(); |
455 | // sku最低价 | 458 | // sku最低价 |
456 | LOG.info("clearCache queryStorageLeastprice skup = {}, ", skup); | 459 | LOG.info("clearCache queryStorageLeastprice skup = {}, ", skup); |
@@ -506,6 +509,8 @@ public class ProductController { | @@ -506,6 +509,8 @@ public class ProductController { | ||
506 | cacheAop.clearCache( | 509 | cacheAop.clearCache( |
507 | ProductController.class.getMethod("queryProductInStockNewBriefById", new Class[]{Integer.class}), | 510 | ProductController.class.getMethod("queryProductInStockNewBriefById", new Class[]{Integer.class}), |
508 | new Object[]{productId}); | 511 | new Object[]{productId}); |
512 | + Method queryLeastFlashSalePrice = ProductController.class.getMethod("queryLeastFlashSalePrice", new Class[]{Integer.class}); | ||
513 | + cacheAop.clearCache(queryLeastFlashSalePrice, new Object[]{productId}); | ||
509 | } catch (Exception e) { | 514 | } catch (Exception e) { |
510 | LOG.error("删除商品详情缓存失败!", e); | 515 | LOG.error("删除商品详情缓存失败!", e); |
511 | } | 516 | } |
@@ -528,6 +533,8 @@ public class ProductController { | @@ -528,6 +533,8 @@ public class ProductController { | ||
528 | cacheAop.clearCache( | 533 | cacheAop.clearCache( |
529 | ProductController.class.getMethod("queryProductInStockNewBriefById", new Class[]{Integer.class}), | 534 | ProductController.class.getMethod("queryProductInStockNewBriefById", new Class[]{Integer.class}), |
530 | new Object[]{productId}); | 535 | new Object[]{productId}); |
536 | + Method queryLeastFlashSalePrice = ProductController.class.getMethod("queryLeastFlashSalePrice", new Class[]{Integer.class}); | ||
537 | + cacheAop.clearCache(queryLeastFlashSalePrice, new Object[]{productId}); | ||
531 | } | 538 | } |
532 | } | 539 | } |
533 | if (CollectionUtils.isNotEmpty(storageIdList)) { | 540 | if (CollectionUtils.isNotEmpty(storageIdList)) { |
-
Please register or login to post a comment