提交 7e7780ed authored 作者: zgy's avatar zgy

优化

上级 13818b97
...@@ -39,4 +39,6 @@ public interface TbCfItemOrderRDao extends BaseDao<TbCfItemOrderREntity> { ...@@ -39,4 +39,6 @@ public interface TbCfItemOrderRDao extends BaseDao<TbCfItemOrderREntity> {
List<TbCfItemOrderREntity> getOrderItemsId(String orderId); List<TbCfItemOrderREntity> getOrderItemsId(String orderId);
int updateEnable(@Param("orderItemId") String orderItemId); int updateEnable(@Param("orderItemId") String orderItemId);
List<TbCfItemOrderREntity> queryByOrderId(String orderId);
} }
...@@ -87,7 +87,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService { ...@@ -87,7 +87,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
@Override @Override
public PlatformOrderVo saveOrUpdateAgentInfo(PlatformOrderVo tbCfPlatformOrder) { public PlatformOrderVo saveOrUpdateAgentInfo(PlatformOrderVo tbCfPlatformOrder) {
//tbCfPlatformOrder 有relativeId 则就是修改 //tbCfPlatformOrder 有relativeId 则就是修改
String platName="afrishop"; String platName = "afrishop";
int res = 0; int res = 0;
if (StringUtils.isNotEmpty(tbCfPlatformOrder.getRelativeId())) { if (StringUtils.isNotEmpty(tbCfPlatformOrder.getRelativeId())) {
tbCfPlatformOrder.setPlatformName(platName); tbCfPlatformOrder.setPlatformName(platName);
...@@ -115,12 +115,17 @@ public class TbCfOrderServiceImpl implements TbCfOrderService { ...@@ -115,12 +115,17 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
tbCfItemOrderRDao.update(tbCfItemOrderREntity2); tbCfItemOrderRDao.update(tbCfItemOrderREntity2);
List<TbCfItemDetailEntity> orderItemList = tbCfOrderDao.getOrderItemLists(tbCfPlatformOrder.getOrderId()); List<TbCfItemDetailEntity> orderItemList = tbCfOrderDao.getOrderItemLists(tbCfPlatformOrder.getOrderId());
Set<Integer> statusList = new HashSet<>(); Set<Integer> statusList = new HashSet<>();
for (TbCfItemDetailEntity itemList : orderItemList) { if (orderItemList != null && orderItemList.size() > 0) {
TbCfItemOrderREntity tbCfItemOrder = tbCfItemOrderRDao.getOrderItemId(tbCfPlatformOrder.getOrderId(), itemList.getItemId()); for (TbCfItemDetailEntity itemList : orderItemList) {
Integer orderStatus = tbCfItemOrder.getOrderStatus(); if (itemList!=null){
statusList.add(orderStatus); TbCfItemOrderREntity tbCfItemOrder = tbCfItemOrderRDao.getOrderItemId(tbCfPlatformOrder.getOrderId(), itemList.getItemId());
Integer orderStatus = tbCfItemOrder.getOrderStatus();
statusList.add(orderStatus);
}
}
} }
if(statusList.contains(20)||statusList.size()==0){}else { if (statusList.contains(20) || statusList.size() == 0) {
} else {
TbCfOrderEntity tbCfOrderEntity = new TbCfOrderEntity(); TbCfOrderEntity tbCfOrderEntity = new TbCfOrderEntity();
tbCfOrderEntity.setOrderId(tbCfPlatformOrder.getOrderId()); tbCfOrderEntity.setOrderId(tbCfPlatformOrder.getOrderId());
tbCfOrderEntity.setOrderStatus(OrderStatusEnum.SHIPPED.getValue()); tbCfOrderEntity.setOrderStatus(OrderStatusEnum.SHIPPED.getValue());
...@@ -133,7 +138,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService { ...@@ -133,7 +138,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
tbCfItemOrderREntity3.setDeliveryTime(new Date()); tbCfItemOrderREntity3.setDeliveryTime(new Date());
tbCfItemOrderRDao.updateDeliveryTime(tbCfItemOrderREntity3); tbCfItemOrderRDao.updateDeliveryTime(tbCfItemOrderREntity3);
} }
if (res>0){ if (res > 0) {
tbCfPlatformOrder = tbCfPlatformOrderDao.queryObject(tbCfPlatformOrder.getOrdersId()); tbCfPlatformOrder = tbCfPlatformOrderDao.queryObject(tbCfPlatformOrder.getOrdersId());
} }
return tbCfPlatformOrder; return tbCfPlatformOrder;
...@@ -172,7 +177,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService { ...@@ -172,7 +177,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
@Override @Override
public int deleteOrder(String orderId) { public int deleteOrder(String orderId) {
List<TbCfItemOrderREntity> orderItemsList = tbCfItemOrderRDao.getOrderItemsId(orderId); List<TbCfItemOrderREntity> orderItemsList = tbCfItemOrderRDao.getOrderItemsId(orderId);
for(TbCfItemOrderREntity orderItem:orderItemsList){ for (TbCfItemOrderREntity orderItem : orderItemsList) {
tbCfItemOrderRDao.updateEnable(orderItem.getOrderItemId()); tbCfItemOrderRDao.updateEnable(orderItem.getOrderItemId());
} }
return tbCfOrderDao.updateOrder(orderId); return tbCfOrderDao.updateOrder(orderId);
......
package com.platform.task;
import com.platform.dao.TbCfItemOrderRDao;
import com.platform.dao.TbCfOrderDao;
import com.platform.entity.TbCfItemOrderREntity;
import com.platform.entity.TbCfOrderEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
/**
* @Auther: wudepeng
* @Date: 2020/04/03
* @Description:
*/
@Component("orderTask")
public class OrderTask {
@Autowired
private TbCfOrderDao tbCfOrderDao;
@Autowired
private TbCfItemOrderRDao tbCfItemOrderRDao;
private String lock = new String();
@Scheduled(cron = "0 0 0/2 * * ? ")
public void changeOrderStatus() throws ExecutionException, InterruptedException {
ExecutorService executorService = Executors.newCachedThreadPool();
Future<List<TbCfOrderEntity>> future = executorService.submit(() ->
tbCfOrderDao.queryList(null)
);
List<TbCfOrderEntity> orderList = future.get();
for (TbCfOrderEntity order : orderList) {
List<TbCfItemOrderREntity> orderDetailList = tbCfItemOrderRDao.queryByOrderId(order.getOrderId());
Integer count = 0;
for (TbCfItemOrderREntity orderDetail : orderDetailList) {
if ("10".equals(orderDetail.getDeliveryFlag().toString())) {
count++;
}
}
if (count == orderDetailList.size()) {
synchronized (lock) {
TbCfOrderEntity tbCfOrderEntity = tbCfOrderDao.queryObject(order.getOrderId());
tbCfOrderEntity.setDeliveryFlag(10);
tbCfOrderDao.update(tbCfOrderEntity);
}
}
}
}
}
...@@ -61,7 +61,9 @@ ...@@ -61,7 +61,9 @@
limit #{offset}, #{limit} limit #{offset}, #{limit}
</if> </if>
</select> </select>
<select id="queryByOrderId" resultType="com.platform.entity.TbCfItemOrderREntity">
select * from tb_cf_item_order_r where order_id=#{orderId}
</select>
<select id="queryTotal" resultType="int"> <select id="queryTotal" resultType="int">
select count(*) from tb_cf_item_order_r select count(*) from tb_cf_item_order_r
WHERE 1=1 WHERE 1=1
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论