提交修改

This commit is contained in:
quyixiao 2025-11-16 20:37:58 +08:00
parent f11c291625
commit 451904cd3f
7 changed files with 59 additions and 32 deletions

View File

@ -7,10 +7,16 @@ package com.heyu.api.data.dao.vv;
* @author quyixiao * @author quyixiao
* @since 2025-11-16 * @since 2025-11-16
*/ */
import com.heyu.api.data.entity.vv.VvTradeOrderLineStatusLogEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.heyu.api.data.entity.vv.VvTradeOrderLineStatusLogEntity;
import com.lz.mybatis.plugin.annotations.IN;
import com.lz.mybatis.plugin.annotations.OrderBy;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper @Mapper
public interface VvTradeOrderLineStatusLogDao extends BaseMapper<VvTradeOrderLineStatusLogEntity> { public interface VvTradeOrderLineStatusLogDao extends BaseMapper<VvTradeOrderLineStatusLogEntity> {
@ -21,16 +27,16 @@ public interface VvTradeOrderLineStatusLogDao extends BaseMapper<VvTradeOrderLin
Long insertVvTradeOrderLineStatusLog(VvTradeOrderLineStatusLogEntity vvTradeOrderLineStatusLog); Long insertVvTradeOrderLineStatusLog(VvTradeOrderLineStatusLogEntity vvTradeOrderLineStatusLog);
Long insertOrUpdateVvTradeOrderLineStatusLog(VvTradeOrderLineStatusLogEntity vvTradeOrderLineStatusLog); Long insertOrUpdateVvTradeOrderLineStatusLog(VvTradeOrderLineStatusLogEntity vvTradeOrderLineStatusLog);
int updateVvTradeOrderLineStatusLogById(VvTradeOrderLineStatusLogEntity vvTradeOrderLineStatusLog); int updateVvTradeOrderLineStatusLogById(VvTradeOrderLineStatusLogEntity vvTradeOrderLineStatusLog);
int updateCoverVvTradeOrderLineStatusLogById(VvTradeOrderLineStatusLogEntity vvTradeOrderLineStatusLog); int updateCoverVvTradeOrderLineStatusLogById(VvTradeOrderLineStatusLogEntity vvTradeOrderLineStatusLog);
int deleteVvTradeOrderLineStatusLogById(@Param("id")Long id);
int deleteVvTradeOrderLineStatusLogById(@Param("id") Long id);
@OrderBy(VvTradeOrderLineStatusLogEntity.id_)
List<VvTradeOrderLineStatusLogEntity> selectVvTradeOrderLineStatusLogByIdList(@IN List<Long> tradeOrderLineId);
} }

View File

@ -9,10 +9,6 @@ public class VVOrderDetailRequest {
* 订单id * 订单id
*/ */
private Long tradeOrderId; private Long tradeOrderId;
} }

View File

@ -1,6 +1,7 @@
package com.heyu.api.alibaba.request.mm.order.resp; package com.heyu.api.alibaba.request.mm.order.resp;
import com.heyu.api.data.entity.vv.VvPackageEntity; import com.heyu.api.data.entity.vv.VvPackageEntity;
import com.heyu.api.data.entity.vv.VvTradeOrderLineStatusLogEntity;
import lombok.Data; import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
@ -10,8 +11,10 @@ import java.util.List;
@Data @Data
public class AdminPackageDTO extends VvPackageEntity { public class AdminPackageDTO extends VvPackageEntity {
private List<VvTradeOrderLineDO> vvTradeOrderLineDOList = new ArrayList<>(); private List<VvTradeOrderLineDO> vvTradeOrderLineDOList = new ArrayList<>();
private List<OrderActionDTO> orderActionList; private List<OrderActionDTO> orderActionList;
private List<VvTradeOrderLineStatusLogEntity> vvTradeOrderLineStatusLogList ;
} }

View File

@ -7,8 +7,6 @@ import lombok.Data;
@Data @Data
public class VVOrderDetailResp { public class VVOrderDetailResp {
/*** /***
* 订单行信息 * 订单行信息
*/ */

View File

@ -27,13 +27,10 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic
@Autowired @Autowired
private VvPackageDao vvPackageDao; private VvPackageDao vvPackageDao;
@Autowired @Autowired
private VvTradeOrderLineStatusLogDao vvTradeOrderLineStatusLogDao; private VvTradeOrderLineStatusLogDao vvTradeOrderLineStatusLogDao;
@Override @Override
public List<VVOrderListResp> convertTradeOrderLineResp(List<VvTradeOrderEntity> vvTradeOrderEntities, public List<VVOrderListResp> convertTradeOrderLineResp(List<VvTradeOrderEntity> vvTradeOrderEntities,
List<VvTradeOrderLineEntity> list,boolean isApp) { List<VvTradeOrderLineEntity> list,boolean isApp) {
@ -90,11 +87,9 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic
for (Long tradeOrderLineId : tradeOrderLineIdList) { for (Long tradeOrderLineId : tradeOrderLineIdList) {
addOrderLineStatusLog(tradeOrderLineId, status, changeStatusUser, reason); addOrderLineStatusLog(tradeOrderLineId, status, changeStatusUser, reason);
} }
return tradeOrderLineIdList.size(); return tradeOrderLineIdList.size();
} }
@Override @Override
public int addOrderLineStatusLog(Long tradeOrderLineId, String status, String changeStatusUser, String... reason) { public int addOrderLineStatusLog(Long tradeOrderLineId, String status, String changeStatusUser, String... reason) {
VvTradeOrderLineStatusLogEntity entity = new VvTradeOrderLineStatusLogEntity(); VvTradeOrderLineStatusLogEntity entity = new VvTradeOrderLineStatusLogEntity();
@ -105,9 +100,8 @@ public class VvTradeOrderConvertServiceImpl implements VvTradeOrderConvertServic
entity.setReason(reason[0]); entity.setReason(reason[0]);
} }
entity.setTraceId(LogAspect.threadLocalNo.get()); entity.setTraceId(LogAspect.threadLocalNo.get());
vvTradeOrderLineStatusLogDao.insertVvTradeOrderLineStatusLog(entity);
return 1; return 1;
} }
} }

View File

@ -5,8 +5,10 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.heyu.api.alibaba.request.mm.VvUnShippingDTO; import com.heyu.api.alibaba.request.mm.VvUnShippingDTO;
import com.heyu.api.alibaba.request.mm.order.*; import com.heyu.api.alibaba.request.mm.order.*;
import com.heyu.api.alibaba.request.mm.order.resp.AdminPackageDTO;
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderDetailResp; import com.heyu.api.alibaba.request.mm.order.resp.VVOrderDetailResp;
import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp; import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp;
import com.heyu.api.alibaba.request.mm.order.resp.VvTradeOrderLineDO;
import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseRequest; import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseRequest;
import com.heyu.api.data.dao.vv.*; import com.heyu.api.data.dao.vv.*;
import com.heyu.api.data.dto.PackageDelivedDelayDTO; import com.heyu.api.data.dto.PackageDelivedDelayDTO;
@ -66,7 +68,6 @@ public class AdminOrderController {
@Autowired @Autowired
private VvBuyerDao vvBuyerDao; private VvBuyerDao vvBuyerDao;
@Value("${eb.config.rabbitQueue.delayQueue}") @Value("${eb.config.rabbitQueue.delayQueue}")
private String delayQueue; private String delayQueue;
@ -86,6 +87,8 @@ public class AdminOrderController {
@Autowired @Autowired
private VvReverseOrderDao vvReverseOrderDao; private VvReverseOrderDao vvReverseOrderDao;
@Autowired
private VvTradeOrderLineStatusLogDao vvTradeOrderLineStatusLogDao;
/*** /***
* 列表 * 列表
@ -154,7 +157,7 @@ public class AdminOrderController {
vvOrderRequest.getModifyTimestampSort() vvOrderRequest.getModifyTimestampSort()
); );
List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities, list,false); List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(tradeOrderEntities, list, false);
pageUtils.setRows(vvOrderListResps); pageUtils.setRows(vvOrderListResps);
return R.ok().setData(pageUtils); return R.ok().setData(pageUtils);
@ -162,31 +165,42 @@ public class AdminOrderController {
/*** /***
* 订单详情 * 订单详情
*
* /mm/order/detail * /mm/order/detail
*
*/ */
@RequestMapping("/detail") @RequestMapping("/detail")
public R detail(@RequestBody VVOrderDetailRequest request) { public R detail(@RequestBody VVOrderDetailRequest request) {
VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderDao.selectVvTradeOrderById(request.getTradeOrderId()); VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderDao.selectVvTradeOrderById(request.getTradeOrderId());
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(request.getTradeOrderId()); List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(request.getTradeOrderId());
List<Long> tradeOrderLineIdList = SanUtils.getFieldList(vvTradeOrderLineEntityList, VvTradeOrderLineEntity::getId);
List<VvTradeOrderLineStatusLogEntity> vvTradeOrderLineStatusLogList = vvTradeOrderLineStatusLogDao.selectVvTradeOrderLineStatusLogByIdList(tradeOrderLineIdList);
Map<Long, List<VvTradeOrderLineStatusLogEntity>> tradeOrderLineStatusLogMap = SanUtils.groupBy(vvTradeOrderLineStatusLogList, VvTradeOrderLineStatusLogEntity::getTradeOrderLineId);
List<VvTradeOrderEntity> vvTradeOrderEntities = SanUtils.asList(vvTradeOrderEntity); List<VvTradeOrderEntity> vvTradeOrderEntities = SanUtils.asList(vvTradeOrderEntity);
List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(vvTradeOrderEntities, vvTradeOrderLineEntityList, false); List<VVOrderListResp> vvOrderListResps = vvTradeOrderConvertService.convertTradeOrderLineResp(vvTradeOrderEntities, vvTradeOrderLineEntityList, false);
VVOrderDetailResp vvOrderDetailResp = new VVOrderDetailResp(); VVOrderDetailResp vvOrderDetailResp = new VVOrderDetailResp();
vvOrderDetailResp.setVvTradeOrderResp(vvOrderListResps.get(0)); vvOrderDetailResp.setVvTradeOrderResp(vvOrderListResps.get(0));
if (CollectionUtils.isEmpty(vvOrderListResps)) {
for (VVOrderListResp vvOrderListResp : vvOrderListResps) {
List<AdminPackageDTO> adminPackageDTOS = vvOrderListResp.getPackageList();
if (CollectionUtils.isEmpty(adminPackageDTOS)) {
for (AdminPackageDTO adminPackageDTO : adminPackageDTOS) {
if (CollectionUtils.isNotEmpty(adminPackageDTO.getVvTradeOrderLineDOList())) {
VvTradeOrderLineDO tradeOrderLineDO = adminPackageDTO.getVvTradeOrderLineDOList().get(0);
adminPackageDTO.setVvTradeOrderLineStatusLogList(tradeOrderLineStatusLogMap.get(tradeOrderLineDO.getId()));
}
}
}
}
}
VvBuyerEntity vvBuyerEntity = vvBuyerDao.selectVvBuyerById(vvTradeOrderEntity.getBuyerId()); VvBuyerEntity vvBuyerEntity = vvBuyerDao.selectVvBuyerById(vvTradeOrderEntity.getBuyerId());
vvOrderDetailResp.setVvBuyerEntity(vvBuyerEntity); vvOrderDetailResp.setVvBuyerEntity(vvBuyerEntity);
return R.ok().setData(vvOrderDetailResp); return R.ok().setData(vvOrderDetailResp);
} }
/*** /***
* 打包并发货 * 打包并发货
* http://localhost:8888/mm/order/toShipping * http://localhost:8888/mm/order/toShipping
@ -342,12 +356,14 @@ public class AdminOrderController {
*/ */
@RequestMapping("/cancel") @RequestMapping("/cancel")
public R delivered(@RequestBody VvCancelDTO vvCancelDTO) { public R delivered(@RequestBody VvCancelDTO vvCancelDTO) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(vvCancelDTO.getTradeOrderId()); List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(vvCancelDTO.getTradeOrderId());
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) { for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) {
if (!OrderStatusEnums.wait_shipping.getStatus().equals(vvTradeOrderLineEntity.getStatus())) { if (!OrderStatusEnums.wait_shipping.getStatus().equals(vvTradeOrderLineEntity.getStatus())) {
return R.error("订单状态不是wait_shipping不能取消订单"); return R.error("订单状态不是wait_shipping不能取消订单");
} }
} }
AppliyReverseRequest appliyReverseRequest = new AppliyReverseRequest(); AppliyReverseRequest appliyReverseRequest = new AppliyReverseRequest();
appliyReverseRequest.setRefundType(RefundTypeEnums.only_refund.getCode()); appliyReverseRequest.setRefundType(RefundTypeEnums.only_refund.getCode());
appliyReverseRequest.setRefundReason("订单取消:" + vvCancelDTO.getCancelReason()); appliyReverseRequest.setRefundReason("订单取消:" + vvCancelDTO.getCancelReason());
@ -380,7 +396,6 @@ public class AdminOrderController {
vvCancelDTO.getCancelReason() vvCancelDTO.getCancelReason()
); );
} }
vvReverseOrderDao.updateVvReverseOrderById(reverseOrderEntity); vvReverseOrderDao.updateVvReverseOrderById(reverseOrderEntity);
} }
return r; return r;
@ -401,6 +416,7 @@ public class AdminOrderController {
vvSettlementProveDetailDao.insertOrUpdateVvSettlementProveDetail(vvSettlementProveDetailEntity); vvSettlementProveDetailDao.insertOrUpdateVvSettlementProveDetail(vvSettlementProveDetailEntity);
} }
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
tradeOrderLineEntity.setSettleStatus(1); tradeOrderLineEntity.setSettleStatus(1);
// 更新利润 // 更新利润

View File

@ -2,6 +2,7 @@ package com.heyu.api.listener.delay.handler;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.heyu.api.data.dao.vv.VvTradeOrderLineStatusLogDao;
import com.heyu.api.data.enums.OrderStatusEnums; import com.heyu.api.data.enums.OrderStatusEnums;
import com.heyu.api.data.dao.vv.VvPackageDao; import com.heyu.api.data.dao.vv.VvPackageDao;
import com.heyu.api.data.dao.vv.VvTradeOrderLineDao; import com.heyu.api.data.dao.vv.VvTradeOrderLineDao;
@ -29,6 +30,10 @@ public class DeliveredHandler extends BaseDelayedHandler {
@Autowired @Autowired
private VvTradeOrderLineDao vvTradeOrderLineDao; private VvTradeOrderLineDao vvTradeOrderLineDao;
@Autowired
private VvTradeOrderLineStatusLogDao vvTradeOrderLineStatusLogDao;
@Override @Override
public R handler(String message) { public R handler(String message) {
log.info("DeliveredHandler receive message:{}", message); log.info("DeliveredHandler receive message:{}", message);
@ -45,10 +50,19 @@ public class DeliveredHandler extends BaseDelayedHandler {
// 更新子单信息 // 更新子单信息
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTrackNumber(vvPackage.getTrackNumber()); List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTrackNumber(vvPackage.getTrackNumber());
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) { for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) {
vvTradeOrderLineEntity.setDeliveredBy(RoleEnums.job.getRole()); vvTradeOrderLineEntity.setDeliveredUser(RoleEnums.job.getRole());
vvTradeOrderLineEntity.setGmtDelivered(new Date()); vvTradeOrderLineEntity.setGmtDelivered(new Date());
vvTradeOrderLineEntity.setStatus(OrderStatusEnums.delivered.getStatus()); vvTradeOrderLineEntity.setStatus(OrderStatusEnums.delivered.getStatus());
vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity); vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity);
} }
return R.ok(); return R.ok();
} }