提交 61e3db52 authored 作者: 吴德鹏's avatar 吴德鹏

update

上级 8c17b589
...@@ -4,7 +4,9 @@ import org.slf4j.Logger; ...@@ -4,7 +4,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@EnableScheduling
@SpringBootApplication @SpringBootApplication
public class AfrishopV3Application { public class AfrishopV3Application {
private static Logger logger = LoggerFactory.getLogger(AfrishopV3Application.class); private static Logger logger = LoggerFactory.getLogger(AfrishopV3Application.class);
......
...@@ -192,13 +192,15 @@ public class ItemController { ...@@ -192,13 +192,15 @@ public class ItemController {
//商品参数 //商品参数
List<TbCfItemParam> itemParamList = itemParamRepository.findAllByItemId(itemId); List<TbCfItemParam> itemParamList = itemParamRepository.findAllByItemId(itemId);
//商品详情
Optional<TbCfItemDesc> byId = descRepository.findById(itemId);
map.put("score",item.getTotalScore()); map.put("score",item.getTotalScore());
map.put("isCollection",userId != null && !userId.isEmpty() && collectionRepository.existsByUserIdAndItemItemId(userId,itemId)); map.put("isCollection",userId != null && !userId.isEmpty() && collectionRepository.existsByUserIdAndItemItemId(userId,itemId));
map.put("optionList",categoryList); map.put("optionList",categoryList);
map.put("itemDetail",skusList); map.put("itemDetail",skusList);
map.put("itemInfo", item); map.put("itemInfo", item);
map.put("itemParam", itemParamList); map.put("itemParam", itemParamList);
map.put("itemDesc",descRepository.findById(itemId)); map.put("itemDesc",byId.orElse(new TbCfItemDesc()));
return new Result<>(map); return new Result<>(map);
} }
......
...@@ -182,7 +182,7 @@ public class TbCfOrder { ...@@ -182,7 +182,7 @@ public class TbCfOrder {
this.commentCount = commentCount; this.commentCount = commentCount;
} }
@OneToMany(mappedBy = "orderId", cascade = CascadeType.ALL) @OneToMany(mappedBy = "orderId", cascade = CascadeType.ALL,fetch = FetchType.EAGER)
private List<TbCfItemOrderR> itemOrderList = new ArrayList<>(); private List<TbCfItemOrderR> itemOrderList = new ArrayList<>();
......
...@@ -42,7 +42,6 @@ public class OrderTask { ...@@ -42,7 +42,6 @@ public class OrderTask {
private final TbCfAddressRepository addressRepository; private final TbCfAddressRepository addressRepository;
private final TbCfItemSkuRepository itemSkuRepository; private final TbCfItemSkuRepository itemSkuRepository;
private final TbCfStationItemRepository stationItemRepository; private final TbCfStationItemRepository stationItemRepository;
...@@ -86,7 +85,7 @@ public class OrderTask { ...@@ -86,7 +85,7 @@ public class OrderTask {
/** /**
* 将超时(24小时)未付款的订单释放库存 * 将超时(24小时)未付款的订单释放库存
*/ */
@Scheduled(cron = "0 0 0-23 * * ?") @Scheduled(cron = "0 0/10 * * * ? ")
public void orderReleaseStock() throws ExecutionException, InterruptedException { public void orderReleaseStock() throws ExecutionException, InterruptedException {
ExecutorService executorService = Executors.newFixedThreadPool(20); ExecutorService executorService = Executors.newFixedThreadPool(20);
...@@ -97,9 +96,11 @@ public class OrderTask { ...@@ -97,9 +96,11 @@ public class OrderTask {
cal.setTime(new Date()); cal.setTime(new Date());
cal.add(Calendar.DATE, -1); cal.add(Calendar.DATE, -1);
Date realDate = cal.getTime(); Date realDate = cal.getTime();
Future<List<TbCfOrder>> orders = executorService.submit(() -> orderRepository.findAllByOrderTimeLessThanAndOrderStatus(realDate,10)); Future<List<TbCfOrder>> orders = executorService.submit(() ->
orderRepository.findAllByOrderTimeLessThanAndOrderStatus(realDate, 10));
orderList = orders.get(); orderList = orders.get();
System.err.println(orderList);
} }
for (TbCfOrder order : orderList) { for (TbCfOrder order : orderList) {
...@@ -111,10 +112,20 @@ public class OrderTask { ...@@ -111,10 +112,20 @@ public class OrderTask {
for (TbCfItemOrderR orderDetail : orderDetailList) { for (TbCfItemOrderR orderDetail : orderDetailList) {
orderDetail.setOrderStatus(OrderStatusEnum.CLOSE.getValue()); orderDetail.setOrderStatus(OrderStatusEnum.CLOSE.getValue());
itemOrderRepository.save(orderDetail); itemOrderRepository.save(orderDetail);
logger.info("商品释放库存。。。");
//释放库存 //释放库存
Optional<TbCfItemSkus> skuOptional = itemSkuRepository.findFirstByItemId(orderDetail.getItemId()); Optional<TbCfItemSkus> skuOptional = itemSkuRepository.findFirstByItemId(orderDetail.getItemId());
if (skuOptional.isPresent()) { if (skuOptional.isPresent()) {
TbCfItemSkus item = skuOptional.get(); TbCfItemSkus item = skuOptional.get();
Optional<TbCfStationItem> byId = stationItemRepository.findById(orderDetail.getItemId());
System.out.println("释放数量:" + orderDetail.getItemNum());
if (byId.isPresent()) {
TbCfStationItem tbCfStationItem = byId.get();
System.out.println("商品库存:" + tbCfStationItem.getItemCount());
tbCfStationItem.setItemCount(tbCfStationItem.getItemCount() + orderDetail.getItemNum());
}
System.out.println("商品sku库存:" + item.getSkuCount());
item.setSkuCount(item.getSkuCount() + orderDetail.getItemNum()); item.setSkuCount(item.getSkuCount() + orderDetail.getItemNum());
itemSkuRepository.save(item); itemSkuRepository.save(item);
} }
...@@ -161,106 +172,106 @@ public class OrderTask { ...@@ -161,106 +172,106 @@ public class OrderTask {
//推送订单至意境通平台 //推送订单至意境通平台
public void addOrderToYJT(List<TbCfPlatformOrder> orderList) throws IOException { public void addOrderToYJT(List<TbCfPlatformOrder> orderList) throws IOException {
// try { // try {
for (TbCfPlatformOrder platformOrder : orderList) { for (TbCfPlatformOrder platformOrder : orderList) {
//查询用户信息 //查询用户信息
Optional<TbCfOrder> orderOptional = orderRepository.findById(platformOrder.getOrderId()); Optional<TbCfOrder> orderOptional = orderRepository.findById(platformOrder.getOrderId());
if( !orderOptional.isPresent()) return; if (!orderOptional.isPresent()) return;
TbCfOrder order = orderOptional.get(); TbCfOrder order = orderOptional.get();
Optional<TbCfUserInfo> userInfoOptional = userRepository.findById(order.getUserId()); Optional<TbCfUserInfo> userInfoOptional = userRepository.findById(order.getUserId());
if( !userInfoOptional.isPresent() ) return; if (!userInfoOptional.isPresent()) return;
TbCfUserInfo user = userInfoOptional.get(); TbCfUserInfo user = userInfoOptional.get();
Optional<TbCfItemOrderR> itemOrderOptional = itemOrderRepository.findById(platformOrder.getRelativeId()); Optional<TbCfItemOrderR> itemOrderOptional = itemOrderRepository.findById(platformOrder.getRelativeId());
//封装请求参数 //封装请求参数
Map<String, Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
//账号号码 //账号号码
paramMap.put("user_no", USER_NO); paramMap.put("user_no", USER_NO);
//账号TOKEN //账号TOKEN
paramMap.put("token", TOKEN); paramMap.put("token", TOKEN);
//快递单号(后续用来查询物流轨迹的唯一标识) //快递单号(后续用来查询物流轨迹的唯一标识)
paramMap.put("orderNo", filterParam(platformOrder.getPExpressNumber())); paramMap.put("orderNo", filterParam(platformOrder.getPExpressNumber()));
//用户ID //用户ID
paramMap.put("user_id", filterParam(platformOrder.getUserId())); paramMap.put("user_id", filterParam(platformOrder.getUserId()));
//##用户相关## //##用户相关##
Map<String, String> userMap = new HashMap<>(); Map<String, String> userMap = new HashMap<>();
//用户编号 //用户编号
userMap.put("userNo", filterParam(user.getUserNo())); userMap.put("userNo", filterParam(user.getUserNo()));
//用户名 //用户名
userMap.put("userName", filterParam(user.getNick())); userMap.put("userName", filterParam(user.getNick()));
//手机号 //手机号
userMap.put("phone", user.getPhone() == null ? null : user.getPhone().substring(1)); userMap.put("phone", user.getPhone() == null ? null : user.getPhone().substring(1));
paramMap.put("user_array", userMap); paramMap.put("user_array", userMap);
//##订单相关## //##订单相关##
Map<String, Object> orderMap = new HashMap<>(); Map<String, Object> orderMap = new HashMap<>();
//订单ID //订单ID
orderMap.put("orderId", platformOrder.getRelativeId()); orderMap.put("orderId", platformOrder.getRelativeId());
//下单号码 //下单号码
orderMap.put("deliveryPhone", filterParam(order.getDeliveryPhone())); orderMap.put("deliveryPhone", filterParam(order.getDeliveryPhone()));
//下单地址 //下单地址
orderMap.put("deliveryAddress", filterParam(order.getDeliveryAddress())); orderMap.put("deliveryAddress", filterParam(order.getDeliveryAddress()));
//下单人 //下单人
orderMap.put("deliveryName", filterParam(order.getDeliveryName())); orderMap.put("deliveryName", filterParam(order.getDeliveryName()));
//国家 默认赞比亚 //国家 默认赞比亚
orderMap.put("country", "Zambia"); orderMap.put("country", "Zambia");
//##商品相关## //##商品相关##
List<Map<String, Object>> itemDetailList = new ArrayList<>(); List<Map<String, Object>> itemDetailList = new ArrayList<>();
String itemTitle = null;//商品名 String itemTitle = null;//商品名
BigDecimal itemPrice = null;//商品价格 BigDecimal itemPrice = null;//商品价格
// String descripitionName = platformOrder.getTemplateTitle();//报关品名 // String descripitionName = platformOrder.getTemplateTitle();//报关品名
if ("2".equals(order.getOrderSource().toString())) { if ("2".equals(order.getOrderSource().toString())) {
//PC官网订单 //PC官网订单
// ItemVo item = tbCfItemSkusDao.queryItemDetail(platformOrder.getItemId()); // ItemVo item = tbCfItemSkusDao.queryItemDetail(platformOrder.getItemId());
// itemTitle = item.getItemName(); // itemTitle = item.getItemName();
// itemPrice = item.getSkuPrice(); // itemPrice = item.getSkuPrice();
} else { } else {
//app or 移动端订单 //app or 移动端订单
Optional<TbCfStationItem> byId = stationItemRepository.findById(platformOrder.getItemId()); Optional<TbCfStationItem> byId = stationItemRepository.findById(platformOrder.getItemId());
if (byId.isPresent()) { if (byId.isPresent()) {
itemTitle = byId.get().getItemName(); itemTitle = byId.get().getItemName();
itemPrice = byId.get().getItemPrice(); itemPrice = byId.get().getItemPrice();
}
}
Map<String, Object> itemMap = new HashMap<>();
//商品名称
itemMap.put("itemTitle", filterParam(itemTitle));
//购买数量
itemMap.put("itemNum", itemOrderOptional.isPresent() ? itemOrderOptional.get().getItemNum() : 1);
//商品价格
itemMap.put("itemPrice", itemPrice);
//品名
// itemMap.put("descripitionName", filterParam(descripitionName));
itemDetailList.add(itemMap);
orderMap.put("itemDetailList", itemDetailList);
paramMap.put("order_info", orderMap);
//发送请求
System.err.println(paramMap);
String body = HttpClientUtil.sendPostWithBodyParameter(ADD_ORDER_API, paramMap);
JSONObject jsonObject = JSONObject.fromObject(body);
System.err.println(jsonObject);
logger.info("订单号[" + order.getOrderNo() + "]开始下单,时间:" + new Date());
logger.info(String.valueOf(jsonObject));
if ("0".equals(jsonObject.getString("error"))) {
//下单成功
lock.lock();
// PlatformOrderVo platformOrderVo = tbCfPlatformOrderDao.queryObject(platformOrder.getRelativeId());
platformOrder.setLogisticsStatus(20);
platformOrderRepository.save(platformOrder);
lock.unlock();
} }
} }
Map<String, Object> itemMap = new HashMap<>();
//商品名称
itemMap.put("itemTitle", filterParam(itemTitle));
//购买数量
itemMap.put("itemNum", itemOrderOptional.isPresent() ? itemOrderOptional.get().getItemNum() : 1);
//商品价格
itemMap.put("itemPrice", itemPrice);
//品名
// itemMap.put("descripitionName", filterParam(descripitionName));
itemDetailList.add(itemMap);
orderMap.put("itemDetailList", itemDetailList);
paramMap.put("order_info", orderMap);
//发送请求
System.err.println(paramMap);
String body = HttpClientUtil.sendPostWithBodyParameter(ADD_ORDER_API, paramMap);
JSONObject jsonObject = JSONObject.fromObject(body);
System.err.println(jsonObject);
logger.info("订单号[" + order.getOrderNo() + "]开始下单,时间:" + new Date());
logger.info(String.valueOf(jsonObject));
if ("0".equals(jsonObject.getString("error"))) {
//下单成功
lock.lock();
// PlatformOrderVo platformOrderVo = tbCfPlatformOrderDao.queryObject(platformOrder.getRelativeId());
platformOrder.setLogisticsStatus(20);
platformOrderRepository.save(platformOrder);
lock.unlock();
}
}
// } catch (Exception e) { // } catch (Exception e) {
// //发生异常 // //发生异常
// logger.error("对接意境通下单发生异常:" + e); // logger.error("对接意境通下单发生异常:" + e);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论