提交修改

This commit is contained in:
quyixiao 2025-10-23 19:33:43 +08:00
parent 68b96deeb6
commit f26b69361b
5 changed files with 74 additions and 13 deletions

View File

@ -6,6 +6,6 @@ import lombok.Data;
@Data
public class PackageDelivedDelayDTO extends DelayDTO{
private String packageId;
private Long packageId;
}

View File

@ -131,7 +131,7 @@ public class VvPackageServiceImpl extends ServiceImpl<VvPackageDao, VvPackageEnt
// 设置签收时间
vvPackageEntity.setGmtSignReceipt(time);
PackageDelivedDelayDTO dto = new PackageDelivedDelayDTO();
dto.setPackageId(vvPackageEntity.getId() + "");
dto.setPackageId(vvPackageEntity.getId() );
dto.setRole(role);
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));

View File

@ -0,0 +1,30 @@
package com.heyu.api.alibaba.request.mm.enums;
public enum DelayTypeEnums {
delivered("delivered", "妥投");
private String type;
private String desc;
DelayTypeEnums(String type, String desc) {
this.type = type;
this.desc = desc;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}

View File

@ -21,7 +21,4 @@ public class AppTradeOrderLineResp extends VvTradeOrderLineEntity {
*/
private VvPackageEntity vvPackageEntity;
}

View File

@ -1,16 +1,29 @@
package com.heyu.api.listener;
import com.alibaba.fastjson.JSONObject;
import com.heyu.api.alibaba.request.mm.enums.DelayTypeEnums;
import com.heyu.api.alibaba.request.mm.enums.OrderStatusEnums;
import com.heyu.api.data.dao.vv.VvPackageDao;
import com.heyu.api.data.dao.vv.VvTradeOrderLineDao;
import com.heyu.api.data.dto.PackageDelivedDelayDTO;
import com.heyu.api.data.entity.vv.VvPackageEntity;
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.enums.RoleEnums;
import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.messaging.handler.annotation.Header;
import org.springframework.messaging.handler.annotation.Payload;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Component
@Slf4j
@ -20,21 +33,42 @@ public class DelaySimpleRabbitListener {
private String delayQueue;
@Autowired
private VvPackageDao vvPackageDao;
@Autowired
private VvTradeOrderLineDao vvTradeOrderLineDao;
@RabbitHandler
@RabbitListener(queues = "#{delayQueue.name}", containerFactory = "accountAmountQueueSimpleRabbitListenerContainerFactory")
public void consumeMessage(@Payload String message, @Header(AmqpHeaders.DELIVERY_TAG) long delivertTag, Channel channel) {
try {
log.info("DeliveredDelaySimpleRabbitListener delayQueue :{} message:{}", delayQueue, message);
Map<String, Object> map = JSONObject.parseObject(message, Map.class);
String type = map.get("type") + "";
if (DelayTypeEnums.delivered.getType().equals(type)) {
PackageDelivedDelayDTO packageDelivedDelayDTO = JSONObject.parseObject(message, PackageDelivedDelayDTO.class);
// 更新包信息
VvPackageEntity vvPackage = vvPackageDao.selectVvPackageById(packageDelivedDelayDTO.getPackageId());
vvPackage.setIscheck("3");
vvPackage.setGmtDelivered(new Date());
vvPackage.setDeliveredBy(RoleEnums.job.getRole());
vvPackageDao.insertOrUpdateVvPackage(vvPackage);
// 更新子单信息
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTrackNumber(vvPackage.getTrackNumber());
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) {
vvTradeOrderLineEntity.setDeliveredBy(RoleEnums.job.getRole());
vvTradeOrderLineEntity.setGmtDelivered(new Date());
vvTradeOrderLineEntity.setStatus(OrderStatusEnums.delivered.getStatus());
vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity);
}
}
} catch (Exception e) {
log.error("DeliveredDelaySimpleRabbitListener handle", e);
} finally {