提交修改

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> selectAppTradeOrderByTradeOrderIds(@IFNullReturnEmpty @IN List<Long> id);
}

View File

@ -122,7 +122,8 @@ public interface VvTradeOrderLineDao extends BaseMapper<VvTradeOrderLineEntity>
@ExludeColumn({
VvTradeOrderLineEntity.profit_amount,
VvTradeOrderLineEntity.settle_status,
VvTradeOrderLineEntity.is_delete
VvTradeOrderLineEntity.is_delete,
VvTradeOrderLineEntity.origin_price
})
List<VvTradeOrderLineEntity> selectByAppCondition(IPage page,
@IF @IN List<Long> tradeOrderId,
@ -148,6 +149,17 @@ public interface VvTradeOrderLineDao extends BaseMapper<VvTradeOrderLineEntity>
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> selectByTradeOrderIdAndTransactionId(Long tradeOrderId, @IF String transactionId);

View File

@ -18,11 +18,6 @@ public class AppliyReverseRequest extends AppBaseRequest {
private String userName;
/***
* 物流单号
*/
private String trackNumber;
/***
* 退款状态
@ -55,10 +50,11 @@ public class AppliyReverseRequest extends AppBaseRequest {
*/
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();
// 获取订单
@ -130,7 +131,7 @@ public class AppOrderController {
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);
@ -149,7 +150,6 @@ public class AppOrderController {
// 如果有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<>();
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntities) {
Long tradeOrderId = vvTradeOrderLineEntity.getTradeOrderId();
Map<String, VvTradeOrderLineTrackNumberDTO> keyMap = groupBytrader_order_id_sku_id.get(tradeOrderId);
if (keyMap == null) {
@ -172,20 +172,36 @@ public class AppOrderController {
keyMap.put(key, vvTradeOrderLineTrackNumberDTO);
groupBytrader_order_id_sku_id.put(tradeOrderId, keyMap);
}
for (Long tradeOrderId : tradeOrderIds) {
VvTradeOrderLineEntity vvTradeOrderLineEntity = listGroupByTradeOrderId.get(tradeOrderId).get(0);
Map<String, VvTradeOrderLineTrackNumberDTO> stringVvTradeOrderLineTrackNumberDTOMap = groupBytrader_order_id_sku_id.get(tradeOrderId);
for (Map.Entry<String, VvTradeOrderLineTrackNumberDTO> mapEntry : stringVvTradeOrderLineTrackNumberDTOMap.entrySet()) {
VvTradeOrderLineTrackNumberDTO vvTradeOrderLineTrackNumberDTO = mapEntry.getValue();
AppTradeOrderLineResp appTradeOrderLineResp = new 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 分组
if (StringUtils.isNotEmpty(vvTradeOrderLineTrackNumberDTO.getTrackNumber())) {
VvPackageEntity packageDTO = vvPackageEntityMap.get(vvTradeOrderLineTrackNumberDTO.getTrackNumber());
appTradeOrderLineResp.setVvPackageEntity(packageDTO);
}
appTradeOrderLineResp.setNum(vvTradeOrderLineTrackNumberDTO.getVvTradeOrderLineEntities().size());
VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderEntityMap.get(vvTradeOrderLineEntity.getTradeOrderId());
appTradeOrderLineResp.setTrackNumber(vvTradeOrderLineTrackNumberDTO.getTrackNumber());
appTradeOrderLineResp.setTradeOrderEntity(vvTradeOrderEntity);
@ -195,7 +211,6 @@ public class AppOrderController {
return R.ok().setData(vvOrderListResps);
}
/***
* 订单添加
*/

View File

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