提交修改

This commit is contained in:
quyixiao 2025-11-13 23:12:36 +08:00
parent 47c86d3d96
commit 48cdc2fbb6
5 changed files with 43 additions and 25 deletions

View File

@ -65,4 +65,5 @@ public interface VvTradeOrderDao extends BaseMapper<VvTradeOrderEntity> {
List<VvTradeOrderEntity> selectVvTradeOrderByTradeOrderIds(@IFNullReturnEmpty @IN List<Long> id); List<VvTradeOrderEntity> selectVvTradeOrderByTradeOrderIds(@IFNullReturnEmpty @IN List<Long> id);
List<VvTradeOrderEntity> selectAppTradeOrderByTradeOrderIds(@IFNullReturnEmpty @IN List<Long> id);
} }

View File

@ -122,7 +122,8 @@ public interface VvTradeOrderLineDao extends BaseMapper<VvTradeOrderLineEntity>
@ExludeColumn({ @ExludeColumn({
VvTradeOrderLineEntity.profit_amount, VvTradeOrderLineEntity.profit_amount,
VvTradeOrderLineEntity.settle_status, VvTradeOrderLineEntity.settle_status,
VvTradeOrderLineEntity.is_delete VvTradeOrderLineEntity.is_delete,
VvTradeOrderLineEntity.origin_price
}) })
List<VvTradeOrderLineEntity> selectByAppCondition(IPage page, List<VvTradeOrderLineEntity> selectByAppCondition(IPage page,
@IF @IN List<Long> tradeOrderId, @IF @IN List<Long> tradeOrderId,
@ -148,6 +149,17 @@ public interface VvTradeOrderLineDao extends BaseMapper<VvTradeOrderLineEntity>
List<VvTradeOrderLineEntity> selectVvTradeOrderByTradeOrderIds(@IN List<Long> tradeOrderId); List<VvTradeOrderLineEntity> selectVvTradeOrderByTradeOrderIds(@IN List<Long> tradeOrderId);
@OrderBy(VvTradeOrderLineEntity.id_)
@GroupBy(VvTradeOrderLineEntity.trade_order_id)
@ExludeColumn({
VvTradeOrderLineEntity.profit_amount,
VvTradeOrderLineEntity.settle_status,
VvTradeOrderLineEntity.is_delete,
VvTradeOrderLineEntity.origin_price
})
List<VvTradeOrderLineEntity> selectAppTradeOrderByTradeOrderIds(@IN List<Long> tradeOrderId);
List<VvTradeOrderLineEntity> selectVvTradeOrderLineByBuyerIdTrackNumber(Long buyerId, String trackNumber); List<VvTradeOrderLineEntity> selectVvTradeOrderLineByBuyerIdTrackNumber(Long buyerId, String trackNumber);
List<VvTradeOrderLineEntity> selectByTradeOrderIdAndTransactionId(Long tradeOrderId, @IF String transactionId); List<VvTradeOrderLineEntity> selectByTradeOrderIdAndTransactionId(Long tradeOrderId, @IF String transactionId);

View File

@ -18,11 +18,6 @@ public class AppliyReverseRequest extends AppBaseRequest {
private String userName; private String userName;
/***
* 物流单号
*/
private String trackNumber;
/*** /***
* 退款状态 * 退款状态
@ -55,10 +50,11 @@ public class AppliyReverseRequest extends AppBaseRequest {
*/ */
private List<ResourceDTO> resourceDTOList; private List<ResourceDTO> resourceDTOList;
/*** /***
* 订单号 * 订单号
*/ */
private Long tradeOrderId; private List<Long> tradeOrderLineIds;
} }

View File

@ -122,6 +122,7 @@ public class AppOrderController {
); );
} }
}); });
// 获取子单 // 获取子单
List<VvTradeOrderLineEntity> vvTradeOrderLineEntitiesGroupByTradeOrderId = pageUtils.getRows(); List<VvTradeOrderLineEntity> vvTradeOrderLineEntitiesGroupByTradeOrderId = pageUtils.getRows();
// 获取订单 // 获取订单
@ -130,7 +131,7 @@ public class AppOrderController {
List<VvTradeOrderEntity> tradeOrderEntities = vvTradeOrderDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds); List<VvTradeOrderEntity> tradeOrderEntities = vvTradeOrderDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds);
// 拿到所有的子订单 // 拿到所有的子订单
List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = vvTradeOrderLineDao.selectVvTradeOrderByTradeOrderIds(tradeOrderIds); List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = vvTradeOrderLineDao.selectAppTradeOrderByTradeOrderIds(tradeOrderIds);
Map<Long, List<VvTradeOrderLineEntity>> listGroupByTradeOrderId = SanUtils.list2GroupBy(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTradeOrderId); Map<Long, List<VvTradeOrderLineEntity>> listGroupByTradeOrderId = SanUtils.list2GroupBy(vvTradeOrderLineEntities, VvTradeOrderLineEntity::getTradeOrderId);
@ -149,7 +150,6 @@ public class AppOrderController {
// 如果有tracknumber ,则以 trader_order_id_sku_id 分组 如果有trackNumber 则以 trader_order_id_track_number_sku_id 分组 // 如果有tracknumber ,则以 trader_order_id_sku_id 分组 如果有trackNumber 则以 trader_order_id_track_number_sku_id 分组
Map<Long, Map<String, VvTradeOrderLineTrackNumberDTO>> groupBytrader_order_id_sku_id = new HashMap<>(); Map<Long, Map<String, VvTradeOrderLineTrackNumberDTO>> groupBytrader_order_id_sku_id = new HashMap<>();
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntities) { for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntities) {
Long tradeOrderId = vvTradeOrderLineEntity.getTradeOrderId(); Long tradeOrderId = vvTradeOrderLineEntity.getTradeOrderId();
Map<String, VvTradeOrderLineTrackNumberDTO> keyMap = groupBytrader_order_id_sku_id.get(tradeOrderId); Map<String, VvTradeOrderLineTrackNumberDTO> keyMap = groupBytrader_order_id_sku_id.get(tradeOrderId);
if (keyMap == null) { if (keyMap == null) {
@ -172,20 +172,36 @@ public class AppOrderController {
keyMap.put(key, vvTradeOrderLineTrackNumberDTO); keyMap.put(key, vvTradeOrderLineTrackNumberDTO);
groupBytrader_order_id_sku_id.put(tradeOrderId, keyMap); groupBytrader_order_id_sku_id.put(tradeOrderId, keyMap);
} }
for (Long tradeOrderId : tradeOrderIds) { for (Long tradeOrderId : tradeOrderIds) {
VvTradeOrderLineEntity vvTradeOrderLineEntity = listGroupByTradeOrderId.get(tradeOrderId).get(0); VvTradeOrderLineEntity vvTradeOrderLineEntity = listGroupByTradeOrderId.get(tradeOrderId).get(0);
Map<String, VvTradeOrderLineTrackNumberDTO> stringVvTradeOrderLineTrackNumberDTOMap = groupBytrader_order_id_sku_id.get(tradeOrderId); Map<String, VvTradeOrderLineTrackNumberDTO> stringVvTradeOrderLineTrackNumberDTOMap = groupBytrader_order_id_sku_id.get(tradeOrderId);
for (Map.Entry<String, VvTradeOrderLineTrackNumberDTO> mapEntry : stringVvTradeOrderLineTrackNumberDTOMap.entrySet()) { for (Map.Entry<String, VvTradeOrderLineTrackNumberDTO> mapEntry : stringVvTradeOrderLineTrackNumberDTOMap.entrySet()) {
VvTradeOrderLineTrackNumberDTO vvTradeOrderLineTrackNumberDTO = mapEntry.getValue(); VvTradeOrderLineTrackNumberDTO vvTradeOrderLineTrackNumberDTO = mapEntry.getValue();
AppTradeOrderLineResp appTradeOrderLineResp = new AppTradeOrderLineResp(); AppTradeOrderLineResp appTradeOrderLineResp = new AppTradeOrderLineResp();
BeanUtils.copyProperties(vvTradeOrderLineEntity, appTradeOrderLineResp); BeanUtils.copyProperties(vvTradeOrderLineEntity, appTradeOrderLineResp);
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineTrackNumberDTO.getVvTradeOrderLineEntities();
// 设置促销价格和销售价格
BigDecimal promotionPrice = BigDecimal.ZERO;
BigDecimal salePrice = BigDecimal.ZERO;
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
//当时促销价
promotionPrice = promotionPrice.add(tradeOrderLineEntity.getPromotionPrice());
salePrice = salePrice.add(tradeOrderLineEntity.getSalePrice());
}
vvTradeOrderLineEntity.setPromotionPrice(promotionPrice);
vvTradeOrderLineEntity.setSalePrice(salePrice);
// 如果有tracknumber ,则以 trader_order_id_sku_id 分组 如果有trackNumber 则以 trader_order_id_track_number_sku_id 分组 // 如果有tracknumber ,则以 trader_order_id_sku_id 分组 如果有trackNumber 则以 trader_order_id_track_number_sku_id 分组
if (StringUtils.isNotEmpty(vvTradeOrderLineTrackNumberDTO.getTrackNumber())) { if (StringUtils.isNotEmpty(vvTradeOrderLineTrackNumberDTO.getTrackNumber())) {
VvPackageEntity packageDTO = vvPackageEntityMap.get(vvTradeOrderLineTrackNumberDTO.getTrackNumber()); VvPackageEntity packageDTO = vvPackageEntityMap.get(vvTradeOrderLineTrackNumberDTO.getTrackNumber());
appTradeOrderLineResp.setVvPackageEntity(packageDTO); appTradeOrderLineResp.setVvPackageEntity(packageDTO);
} }
appTradeOrderLineResp.setNum(vvTradeOrderLineTrackNumberDTO.getVvTradeOrderLineEntities().size()); appTradeOrderLineResp.setNum(vvTradeOrderLineTrackNumberDTO.getVvTradeOrderLineEntities().size());
VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderEntityMap.get(vvTradeOrderLineEntity.getTradeOrderId()); VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderEntityMap.get(vvTradeOrderLineEntity.getTradeOrderId());
appTradeOrderLineResp.setTrackNumber(vvTradeOrderLineTrackNumberDTO.getTrackNumber()); appTradeOrderLineResp.setTrackNumber(vvTradeOrderLineTrackNumberDTO.getTrackNumber());
appTradeOrderLineResp.setTradeOrderEntity(vvTradeOrderEntity); appTradeOrderLineResp.setTradeOrderEntity(vvTradeOrderEntity);
@ -195,7 +211,6 @@ public class AppOrderController {
return R.ok().setData(vvOrderListResps); return R.ok().setData(vvOrderListResps);
} }
/*** /***
* 订单添加 * 订单添加
*/ */

View File

@ -2,9 +2,6 @@ package com.heyu.api.controller.vv;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.heyu.api.data.enums.ReverseStatusEnums;
import com.heyu.api.data.enums.ReverseUploadSceneEnums;
import com.heyu.api.data.enums.ShippingTypeEnums;
import com.heyu.api.alibaba.request.mm.order.ResourceDTO; import com.heyu.api.alibaba.request.mm.order.ResourceDTO;
import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseCloseRequest; import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseCloseRequest;
import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseProveRequest; import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseProveRequest;
@ -12,10 +9,12 @@ import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseRequest;
import com.heyu.api.common.annotation.Describe; import com.heyu.api.common.annotation.Describe;
import com.heyu.api.data.dao.vv.*; import com.heyu.api.data.dao.vv.*;
import com.heyu.api.data.entity.vv.*; import com.heyu.api.data.entity.vv.*;
import com.heyu.api.data.enums.ReverseStatusEnums;
import com.heyu.api.data.enums.ReverseUploadSceneEnums;
import com.heyu.api.data.enums.ShippingTypeEnums;
import com.heyu.api.data.utils.NumberUtil; import com.heyu.api.data.utils.NumberUtil;
import com.heyu.api.data.utils.R; import com.heyu.api.data.utils.R;
import com.heyu.api.data.utils.SanUtils; import com.heyu.api.data.utils.SanUtils;
import com.heyu.api.data.utils.StringUtils;
import com.heyu.api.service.ReverseOrderService; import com.heyu.api.service.ReverseOrderService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
@ -65,20 +64,14 @@ public class AppReverseController {
@RequestMapping("/add") @RequestMapping("/add")
public R add(@RequestBody AppliyReverseRequest appliyReverseRequest) { public R add(@RequestBody AppliyReverseRequest appliyReverseRequest) {
// 退款类型 1 仅退款 2 退款退货 // 退款类型 1 仅退款 2 退款退货
if(NumberUtil.equals(appliyReverseRequest.getRefundType(), 1 )){ if (NumberUtil.equals(appliyReverseRequest.getRefundType(), 1)) {
appliyReverseRequest.setStatus(ReverseStatusEnums.buyer_apply_refund_wait_seller_agree.getStatus()); appliyReverseRequest.setStatus(ReverseStatusEnums.buyer_apply_refund_wait_seller_agree.getStatus());
}else{ } else {
appliyReverseRequest.setStatus(ReverseStatusEnums.buyer_apply_return_wait_seller_agree.getStatus()); appliyReverseRequest.setStatus(ReverseStatusEnums.buyer_apply_return_wait_seller_agree.getStatus());
} }
appliyReverseRequest.setRefundReason("买家申请退款:" + appliyReverseRequest.getRefundReason()); appliyReverseRequest.setRefundReason("买家申请退款:" + appliyReverseRequest.getRefundReason());
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = null; List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(appliyReverseRequest.getTradeOrderLineIds());
if(StringUtils.isNotEmpty(appliyReverseRequest.getTrackNumber())){ ;
vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTrackNumber(appliyReverseRequest.getTrackNumber());
}else{
vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(appliyReverseRequest.getTradeOrderId());
}
R r = reverseOrderService.createReverseOrder(vvTradeOrderLineEntityList, appliyReverseRequest); R r = reverseOrderService.createReverseOrder(vvTradeOrderLineEntityList, appliyReverseRequest);
if (r.ifSuccessful()) { if (r.ifSuccessful()) {
VvReverseOrderEntity vvReverseOrderEntity = (VvReverseOrderEntity) r.getData(); VvReverseOrderEntity vvReverseOrderEntity = (VvReverseOrderEntity) r.getData();
@ -87,6 +80,7 @@ public class AppReverseController {
} }
return R.ok(); return R.ok();
} }
/** /**
* 退货退款 /app/reverse/tracknumber * 退货退款 /app/reverse/tracknumber
* *