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

优化

上级 13818b97
......@@ -39,4 +39,6 @@ public interface TbCfItemOrderRDao extends BaseDao<TbCfItemOrderREntity> {
List<TbCfItemOrderREntity> getOrderItemsId(String orderId);
int updateEnable(@Param("orderItemId") String orderItemId);
List<TbCfItemOrderREntity> queryByOrderId(String orderId);
}
......@@ -87,7 +87,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
@Override
public PlatformOrderVo saveOrUpdateAgentInfo(PlatformOrderVo tbCfPlatformOrder) {
//tbCfPlatformOrder 有relativeId 则就是修改
String platName="afrishop";
String platName = "afrishop";
int res = 0;
if (StringUtils.isNotEmpty(tbCfPlatformOrder.getRelativeId())) {
tbCfPlatformOrder.setPlatformName(platName);
......@@ -115,12 +115,17 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
tbCfItemOrderRDao.update(tbCfItemOrderREntity2);
List<TbCfItemDetailEntity> orderItemList = tbCfOrderDao.getOrderItemLists(tbCfPlatformOrder.getOrderId());
Set<Integer> statusList = new HashSet<>();
for (TbCfItemDetailEntity itemList : orderItemList) {
TbCfItemOrderREntity tbCfItemOrder = tbCfItemOrderRDao.getOrderItemId(tbCfPlatformOrder.getOrderId(), itemList.getItemId());
Integer orderStatus = tbCfItemOrder.getOrderStatus();
statusList.add(orderStatus);
if (orderItemList != null && orderItemList.size() > 0) {
for (TbCfItemDetailEntity itemList : orderItemList) {
if (itemList!=null){
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.setOrderId(tbCfPlatformOrder.getOrderId());
tbCfOrderEntity.setOrderStatus(OrderStatusEnum.SHIPPED.getValue());
......@@ -133,7 +138,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
tbCfItemOrderREntity3.setDeliveryTime(new Date());
tbCfItemOrderRDao.updateDeliveryTime(tbCfItemOrderREntity3);
}
if (res>0){
if (res > 0) {
tbCfPlatformOrder = tbCfPlatformOrderDao.queryObject(tbCfPlatformOrder.getOrdersId());
}
return tbCfPlatformOrder;
......@@ -172,7 +177,7 @@ public class TbCfOrderServiceImpl implements TbCfOrderService {
@Override
public int deleteOrder(String orderId) {
List<TbCfItemOrderREntity> orderItemsList = tbCfItemOrderRDao.getOrderItemsId(orderId);
for(TbCfItemOrderREntity orderItem:orderItemsList){
for (TbCfItemOrderREntity orderItem : orderItemsList) {
tbCfItemOrderRDao.updateEnable(orderItem.getOrderItemId());
}
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 @@
limit #{offset}, #{limit}
</if>
</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 count(*) from tb_cf_item_order_r
WHERE 1=1
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论