提交修改

This commit is contained in:
quyixiao 2025-08-27 13:31:23 +08:00
parent a011f75daa
commit f4998e7103
8 changed files with 202 additions and 22 deletions

View File

@ -42,6 +42,7 @@ private static final long serialVersionUID = 1L;
public final static String gmt_cancel = CLASS_NAME + "gmt_cancel"; // 订单取消时间
public final static String create_timestamp = CLASS_NAME + "create_timestamp"; // 创建时间撮
public final static String modify_timestamp = CLASS_NAME + "modify_timestamp"; // 修改时间撮
public final static String refund_count = CLASS_NAME + "refund_count"; // 退款子单数量
//
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@ -85,6 +86,8 @@ private static final long serialVersionUID = 1L;
private Long createTimestamp;
//修改时间撮
private Long modifyTimestamp;
//退款子单数量
private Integer refundCount;
/**
*
* @return
@ -400,6 +403,21 @@ private static final long serialVersionUID = 1L;
this.modifyTimestamp = modifyTimestamp;
}
/**
* 退款子单数量
* @return
*/
public Integer getRefundCount() {
return refundCount;
}
/**
* 退款子单数量
* @param refundCount
*/
public void setRefundCount(Integer refundCount) {
this.refundCount = refundCount;
}
@Override
public String toString() {
return "VvReverseOrderEntity{" +
@ -424,6 +442,7 @@ private static final long serialVersionUID = 1L;
",gmtCancel=" + gmtCancel +
",createTimestamp=" + createTimestamp +
",modifyTimestamp=" + modifyTimestamp +
",refundCount=" + refundCount +
"}";
}
}

View File

@ -49,7 +49,7 @@ public class MysqlMain_update {
List<TablesBean> list = new ArrayList<TablesBean>();
String a = "vv_trade_order_line";
String a = "vv_reverse_order";
for (String s : a.split(",")) {
list.add(new TablesBean(s));
}

View File

@ -10,15 +10,23 @@ public enum ReverseStatusEnums {
// agree_refunded 同意退款 ,
// refunded 退款完成
// close 退款关闭
cancel("cancel","订单取消"),
buyer_apply_reverse_wait_seller_agree("buyer_apply_reverse_wait_seller_agree","买家申请退款,等待卖家同意,"),
wait_buyer_post("wait_buyer_post","买家邮寄"),
shipping("shipping","运送中"),
delivered("delivered","已签收"),
reject_delivered("reject_delivered","拒绝接收"),
agree_refunded("agree_refunded","同意退款"),
refunded("refunded","退款完成"),
close("close","退款关闭");
cancel("cancel", "订单取消"),
buyer_apply_reverse_wait_seller_agree("buyer_apply_reverse_wait_seller_agree", "买家申请退款,等待卖家同意,"),
seller_agree_return_wait_buyer_post("seller_agree_return_wait_buyer_post", "卖家同意退货,买家邮寄"),
shipping("shipping", "运送中"),
delivered("delivered", "已签收"),
reject_delivered("reject_delivered", "拒绝接收"),
agree_refunded("agree_refunded", "同意退款"),
refunded("refunded", "退款完成"),
close("close", "退款关闭");
ReverseStatusEnums(String status, String desc) {
this.status = status;

View File

@ -0,0 +1,31 @@
package com.heyu.api.alibaba.request.mm.reverse;
import com.heyu.api.alibaba.request.mm.order.ResourceDTO;
import lombok.Data;
import java.util.List;
@Data
public class AppliyReverseProveRequest {
/***
* 物流单号
*/
private String trackNumber;
/***
* 逆向物流单号
*/
private Long reverseOrderId;
/***
* 图片或视频
*/
private List<ResourceDTO> resourceDTOList;
}

View File

@ -24,4 +24,9 @@ public class AppliyReverseRequest {
* 退款类型 1 仅退款 2 退款退货
*/
private Integer refundType;
}

View File

@ -0,0 +1,37 @@
package com.heyu.api.alibaba.request.mm.reverse;
import lombok.Data;
@Data
public class VvApproveRequest {
/***
* 逆向id
*/
private Long reverseOrderId;
/***
* seller_agree_return_wait_buyer_post 卖家同意退货买家邮寄
*
* agree_refunded 同意 退款
*
* delivered 妥投成功
*
* reject_delivered 拒绝妥投
*
* agree_refunded 同意退款
*
* close 关闭逆向
*/
private String status ;
}

View File

@ -2,9 +2,10 @@ package com.heyu.api.controller.mm;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.heyu.api.alibaba.request.mm.enums.ReverseStatusEnums;
import com.heyu.api.alibaba.request.mm.reverse.VvApproveRequest;
import com.heyu.api.alibaba.request.mm.reverse.VvReverseListRequest;
import com.heyu.api.alibaba.request.mm.reverse.VvReverseOrderDTO;
import com.heyu.api.data.utils.SanUtils;
import com.heyu.api.data.dao.vv.VvReverseOrderDao;
import com.heyu.api.data.dao.vv.VvReverseOrderLineDao;
import com.heyu.api.data.dao.vv.VvReverseOrderProveDao;
@ -12,6 +13,7 @@ import com.heyu.api.data.entity.vv.VvReverseOrderEntity;
import com.heyu.api.data.entity.vv.VvReverseOrderLineEntity;
import com.heyu.api.data.entity.vv.VvReverseOrderProveEntity;
import com.heyu.api.data.utils.R;
import com.heyu.api.data.utils.SanUtils;
import com.heyu.api.utils.ISelect;
import com.heyu.api.utils.PPageUtils;
import lombok.extern.slf4j.Slf4j;
@ -85,4 +87,54 @@ public class AdminReverseController {
}
/***
* seller_agree_return_wait_buyer_post 卖家同意退货买家邮寄
*
*
* delivered 妥投成功
*
*
* agree_refunded 同意 退款
*
* reject_delivered 拒绝妥投
*
*
* close 关闭逆向
*/
@RequestMapping("/approve")
public R approve(@RequestBody VvApproveRequest vvApproveRequest) {
VvReverseOrderEntity vvReverseOrderEntity = vvReverseOrderDao.selectVvReverseOrderById(vvApproveRequest.getReverseOrderId());
if (ReverseStatusEnums.seller_agree_return_wait_buyer_post.getStatus().equals(vvApproveRequest.getStatus())) {
if (ReverseStatusEnums.buyer_apply_reverse_wait_seller_agree.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不是 seller_agree_return_wait_buyer_post");
}
vvReverseOrderEntity.setStatus(vvApproveRequest.getStatus());
// vvReverseOrderEntity.setgm
} else if (ReverseStatusEnums.delivered.getStatus().equals(vvApproveRequest.getStatus())) {
if (ReverseStatusEnums.shipping.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不是 shipping");
}
} else if (ReverseStatusEnums.reject_delivered.getStatus().equals(vvApproveRequest.getStatus())) {
if (ReverseStatusEnums.shipping.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不是 shipping");
}
} else if (ReverseStatusEnums.agree_refunded.getStatus().equals(vvApproveRequest.getStatus())) {
if (ReverseStatusEnums.delivered.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不是 delivered");
}
} else if (ReverseStatusEnums.close.getStatus().equals(vvApproveRequest.getStatus())) {
}
vvReverseOrderDao.updateVvReverseOrderById(vvReverseOrderEntity);
return R.ok();
}
}

View File

@ -2,19 +2,16 @@ package com.heyu.api.controller.vv;
import com.heyu.api.alibaba.request.mm.enums.ReverseStatusEnums;
import com.heyu.api.alibaba.request.mm.order.ResourceDTO;
import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseProveRequest;
import com.heyu.api.alibaba.request.mm.reverse.AppliyReverseRequest;
import com.heyu.api.data.dao.vv.VvReverseOrderDao;
import com.heyu.api.data.dao.vv.VvReverseOrderLineDao;
import com.heyu.api.data.dao.vv.VvTradeOrderDao;
import com.heyu.api.data.dao.vv.VvTradeOrderLineDao;
import com.heyu.api.data.entity.vv.VvReverseOrderEntity;
import com.heyu.api.data.entity.vv.VvReverseOrderLineEntity;
import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
import com.heyu.api.data.dao.vv.*;
import com.heyu.api.data.entity.vv.*;
import com.heyu.api.data.utils.BigDecimalUtil;
import com.heyu.api.data.utils.R;
import com.heyu.api.data.utils.SanUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@ -43,6 +40,8 @@ public class AppReverseController {
@Autowired
private VvTradeOrderDao vvTradeOrderDao;
@Autowired
private VvReverseOrderProveDao vvReverseOrderProveDao;
/***
@ -54,7 +53,6 @@ public class AppReverseController {
public R add(@RequestBody AppliyReverseRequest appliyReverseRequest) {
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByIds(appliyReverseRequest.getTradeOrderLineIds());
Map<Long, VvTradeOrderLineEntity> vvTradeOrderLineEntityMap = SanUtils.list2Map(vvTradeOrderLineEntityList, VvTradeOrderLineEntity::getId);
Long tradeOrderId = SanUtils.findAnyNotNull(vvTradeOrderLineEntityList, VvTradeOrderLineEntity::getTradeOrderId);
@ -75,13 +73,13 @@ public class AppReverseController {
BigDecimal originRefundAmount = SanUtils.sum(vvTradeOrderLineEntityList, VvTradeOrderLineEntity::getSalePrice); // 本来应该退款金额
vvReverseOrderEntity.setRefundTradeOrderLineCount(appliyReverseRequest.getTradeOrderLineIds().size());
vvReverseOrderEntity.setRefundType(appliyReverseRequest.getRefundType());
vvReverseOrderEntity.setGmtBuyerApplyRefund(new Date());
vvReverseOrderEntity.setCreateTimestamp(System.currentTimeMillis());
vvReverseOrderEntity.setModifyTimestamp(System.currentTimeMillis());
vvReverseOrderEntity.setRefundCount(appliyReverseRequest.getTradeOrderLineIds().size());
vvReverseOrderEntity.setGmtBuyerApplyRefund(new Date());
vvReverseOrderDao.insertOrUpdateVvReverseOrder(vvReverseOrderEntity);
BigDecimal preSum = BigDecimal.ZERO;
for (int i = 0; i < appliyReverseRequest.getTradeOrderLineIds().size(); i++) {
@ -112,11 +110,41 @@ public class AppReverseController {
// 保存逆向子单
vvReverseOrderLineDao.insertVvReverseOrderLine(vvReverseOrderLineEntity);
// 设置退款相关的东西
vvTradeOrderLineEntity.setRefundCount(1);
vvTradeOrderLineEntity.setRefundAmount(vvReverseOrderLineEntity.getRefundAmount());
// 更新子单的逆向状态
vvTradeOrderLineEntity.setReverseStatus(ReverseStatusEnums.buyer_apply_reverse_wait_seller_agree.getStatus());
vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity);
}
return R.ok();
}
@RequestMapping("/uploadProve")
public R uploadProve(@RequestBody AppliyReverseProveRequest appliyReverseRequest) {
VvReverseOrderEntity vvReverseOrderEntity = vvReverseOrderDao.selectVvReverseOrderById(appliyReverseRequest.getReverseOrderId());
if (!ReverseStatusEnums.seller_agree_wait_buyer_post.getStatus().equals(vvReverseOrderEntity.getStatus())) {
return R.error("逆向订单状态不对");
}
vvReverseOrderEntity.setStatus(ReverseStatusEnums.shipping.getStatus());
vvReverseOrderEntity.setTrackNumber(appliyReverseRequest.getTrackNumber());
vvReverseOrderEntity.setGmtBuyerPost(new Date());
vvReverseOrderDao.updateVvReverseOrderById(vvReverseOrderEntity);
if (CollectionUtils.isNotEmpty(appliyReverseRequest.getResourceDTOList())) {
for (ResourceDTO resourceDTO : appliyReverseRequest.getResourceDTOList()) {
VvReverseOrderProveEntity vvReverseOrderProveEntity = new VvReverseOrderProveEntity();
vvReverseOrderProveEntity.setReverseOrderId(vvReverseOrderEntity.getId());
vvReverseOrderProveEntity.setResourceUrl(resourceDTO.getResourceUrl());
vvReverseOrderProveEntity.setType(resourceDTO.getType());
vvReverseOrderProveDao.insertOrUpdateVvReverseOrderProve(vvReverseOrderProveEntity);
}
}
return R.ok();
}
}