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

update

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