提交修改

This commit is contained in:
quyixiao 2025-11-09 14:09:32 +08:00
parent 8cbd40b17b
commit 6b8dee7ca1
2 changed files with 44 additions and 1 deletions

View File

@ -127,7 +127,6 @@ public class VvPackageServiceImpl extends ServiceImpl<VvPackageDao, VvPackageEnt
String fTime = dataDTO.getFtime();
Date time = DateUtils.parseDate(fTime);
Date timeAfter15 = DateUtils.addDays(time, 15);
// 设置签收时间
vvPackageEntity.setGmtSignReceipt(time);
PackageDelivedDelayDTO dto = new PackageDelivedDelayDTO();

View File

@ -10,8 +10,11 @@ import com.heyu.api.alibaba.request.mm.order.*;
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderDetailResp;
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp;
import com.heyu.api.data.dao.vv.*;
import com.heyu.api.data.dto.PackageDelivedDelayDTO;
import com.heyu.api.data.entity.vv.*;
import com.heyu.api.data.enums.DelayTypeEnums;
import com.heyu.api.data.utils.BigDecimalUtil;
import com.heyu.api.data.utils.DateUtils;
import com.heyu.api.data.utils.R;
import com.heyu.api.data.utils.SanUtils;
import com.heyu.api.service.VvTradeOrderConvertService;
@ -19,7 +22,10 @@ import com.heyu.api.utils.ISelect;
import com.heyu.api.utils.PPageUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.amqp.core.MessageDeliveryMode;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -67,6 +73,18 @@ public class AdminOrderController {
private VvBuyerDao vvBuyerDao;
@Value("${eb.config.rabbitQueue.delayQueue}")
private String delayQueue;
@Value("${eb.config.rabbitQueue.delayExchangeName}")
private String delayExchangeName;
@Autowired
private RabbitTemplate rabbitTemplate;
/***
* 列表
*/
@ -234,6 +252,32 @@ public class AdminOrderController {
tradeOrderLineEntity.setUnpackUser(vvDeliveredDTO.getUserName());
vvTradeOrderLineDao.updateVvTradeOrderLineById(tradeOrderLineEntity);
}
VvPackageEntity vvPackageEntity = vvPackageDao.selectVvPackageByTrackNumber(vvDeliveredDTO.getTrackNumber());
Date time = new Date();
Date timeAfter15 = DateUtils.addDays(time, 15);
// 设置签收时间
vvPackageEntity.setGmtSignReceipt(time);
PackageDelivedDelayDTO dto = new PackageDelivedDelayDTO();
dto.setPackageId(vvPackageEntity.getId() );
dto.setRole(vvDeliveredDTO.getUserName());
dto.setSendTime(DateUtils.formatDate(new Date(), com.heyu.api.data.utils.DateUtils.YYYY_MM_DD_HH_MM_SS));
dto.setDelayTime(DateUtils.formatDate(timeAfter15, com.heyu.api.data.utils.DateUtils.YYYY_MM_DD_HH_MM_SS));
dto.setType(DelayTypeEnums.delivered.getType());
int second = DateUtils.betweenSecond(time, timeAfter15);
log.info("AdminOrderController delay send :{}",JSON.toJSONString(dto));
// 通过广播模式发布延时消息 延时30分钟 持久化消息 消费后销毁 这里无需指定路由会广播至每个绑定此交换机的队列
rabbitTemplate.convertAndSend(delayExchangeName, "", JSON.toJSONString(dto), message -> {
message.getMessageProperties().setDeliveryMode(MessageDeliveryMode.PERSISTENT);
message.getMessageProperties().setDelay((second) * 1000); // 毫秒为单位指定此消息的延时时长 ,+ 1 尽量保证机器人跑完了再发送消息
return message;
});
return R.ok();
}