Commit f6e6a537 authored by shiyu's avatar shiyu

后台交换单详情

parent 17ce84f0
package com.wwdz.ch.admin.entity.vo;
import com.wwdz.ch.core.consts.ExchangeApplyOrderEnum;
import com.wwdz.ch.core.entity.SupplierItemVo;
import com.xxdxxs.entity.Entity;
import io.swagger.models.auth.In;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class SysExchangeApplyOrderDetailVo implements Entity {
......@@ -20,14 +21,25 @@ public class SysExchangeApplyOrderDetailVo implements Entity {
*/
private Date createTime;
/**
* 申请单状态
*/
private Integer state;
private String stateName;
/**
* 用于交换的用户商品信息
* 用于交换的用户订单信息
*/
private SysDistributionOrderVo userItemList;
private SysExchangeOrderVo userCommitOrderInfo;
/**
* 想要换的目标商品id
* 想要换的目标方订单信息
*/
private List<SupplierItemVo> targetItemList;
private SysExchangeOrderVo receiveTargetOrderInfo;
public void setState(Integer state) {
this.state = state;
this.stateName = ExchangeApplyOrderEnum.StateEnum.getNameByCode(state);
}
}
package com.wwdz.ch.admin.entity.vo;
import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.consts.LogisticsEnum;
import com.wwdz.ch.core.entity.SupplierItemVo;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class SysExchangeOrderVo implements Entity {
private List<SupplierItemVo> itemVoList;
private String distributionOrderId;
/**
* 买方id
*/
private Long buyerId;
/**
* 买家名称
*/
private String buyerName;
/**
* 交换单状态
*/
private Integer state;
private String stateName;
private Date createTime;
/**
* 卖方id
*/
private Long sellerId;
/**
* 卖家名称
*/
private String sellerName;
/**
* 平台寄出的快递公司编码
*/
private String logisticsCode;
private String logisticsName;
/**
* 运单号
*/
private String waybill;
/**
* 用户寄出的物流公司编码
*/
private String fromLogisticsCode;
private String fromLogisticsName;
private String fromWaybill;
/**
* 买家收货地址
*/
private String address;
/**
* 收件人名称
*/
private String receiverName;
/**
* 收件人电话
*/
private String receiverPhone;
/**
* 收件人收货地址
*/
private String receiverAddress;
public void setState(Integer state) {
this.state = state;
this.stateName = DistributionEnum.DistributionOrderStateEnum.getNameByCode(state);
}
public void setLogisticsCode(String logisticsCode) {
this.logisticsCode = logisticsCode;
this.logisticsName = LogisticsEnum.getNameByCode(logisticsCode);
}
public void setFromLogisticsCode(String fromLogisticsCode) {
this.fromLogisticsCode = fromLogisticsCode;
this.fromLogisticsName = LogisticsEnum.getNameByCode(logisticsCode);
}
}
package com.wwdz.ch.admin.impl;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.admin.entity.vo.SysExchangeApplyOrderDetailVo;
import com.wwdz.ch.admin.entity.vo.SysExchangeOrderVo;
import com.wwdz.ch.admin.service.SysExchangeApplyOrderService;
import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.consts.ExchangeApplyOrderEnum;
......@@ -25,6 +27,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils;
import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
......@@ -166,9 +170,25 @@ public class SysExchangeApplyOrderServiceImpl implements SysExchangeApplyOrderSe
@Override
public Result findDetail(ExchangeApplyOrderRequestDto dto) {
try {
ExchangeApplyOrder exchangeApplyOrder = exchangeApplyOrderDao.findByOrderId(dto.getExchangeApplyOrderId());
ExchangeApplyOrderVo exchangeApplyOrderVo = new ExchangeApplyOrderVo();
EntityMapper.copyAttribute(exchangeApplyOrder, exchangeApplyOrderVo);
String orderId = dto.getExchangeApplyOrderId();
ExchangeApplyOrder exchangeApplyOrder = exchangeApplyOrderDao.findByOrderId(orderId);
String targetUserOrderId = exchangeApplyOrder.getTargetUserOrderId();
String userOrderId = exchangeApplyOrder.getUserOrderId();
SysExchangeApplyOrderDetailVo sysExchangeApplyOrderDetailVo = new SysExchangeApplyOrderDetailVo();
sysExchangeApplyOrderDetailVo.setExchangeApplyOrderId(orderId);
sysExchangeApplyOrderDetailVo.setCreateTime(exchangeApplyOrder.getCreateTime());
sysExchangeApplyOrderDetailVo.setState(exchangeApplyOrder.getState());
//申请方的订单信息
SysExchangeOrderVo commitOrderVo = new SysExchangeOrderVo();
DistributionOrder commitOrder = distributionOrderDao.findById(userOrderId);
EntityMapper.copyAttribute(commitOrder, commitOrderVo);
//用户寄来平台的物流信息
List<ExchangeOrderSnapshot> commitExchangeOrderSnapshots = exchangeOrderSnapshotDao.findByOrderId(userOrderId);
if (!CollectionUtils.isEmpty(commitExchangeOrderSnapshots)) {
commitOrderVo.setFromLogisticsCode(commitExchangeOrderSnapshots.get(0).getLogisticsCode());
commitOrderVo.setFromWaybill(commitExchangeOrderSnapshots.get(0).getWaybill());
}
//交换的目标商品
long targetItemId = exchangeApplyOrder.getTargetItemId();
SupplierItem targetItem = supplierItemDao.findById(targetItemId);
......@@ -180,10 +200,22 @@ public class SysExchangeApplyOrderServiceImpl implements SysExchangeApplyOrderSe
targetItemVo.setDistributionPrice(PriceUtil.convertPriceFenToYuan(targetItem.getDistributionPrice()));
targetItemVo.setOfficialEstimatedPrice(PriceUtil.convertPriceFenToYuan(targetItem.getOfficialEstimatedPrice()));
targetItemVo.setHomePageImage(MediaUtil.getHomePageImage(targetItem.getImages(), targetItem.getVideos()));
targetItemVo.setCreatorName(cacheUtil.getAppletUserNameById(targetItem.getCreatorId()));
exchangeApplyOrderVo.setTargetItemList(Arrays.asList(targetItemVo));
commitOrderVo.setItemVoList(Arrays.asList(targetItemVo));
commitOrderVo.setBuyerName(cacheUtil.getAppletUserNameById(commitOrder.getBuyerId()));
commitOrderVo.setSellerName(cacheUtil.getAppletUserNameById(commitOrder.getSellerId()));
sysExchangeApplyOrderDetailVo.setUserCommitOrderInfo(commitOrderVo);
//接收方的订单信息
List<ExchangeApplyOrderDetail> detailList = exchangeApplyOrderDetailDao.findByOrderId(exchangeApplyOrder.getExchangeApplyOrderId());
SysExchangeOrderVo receiveOrderVo = new SysExchangeOrderVo();
DistributionOrder receiveOrder = distributionOrderDao.findById(targetUserOrderId);
EntityMapper.copyAttribute(receiveOrder, receiveOrderVo);
//用户寄来平台的物流信息
List<ExchangeOrderSnapshot> receiveExchangeOrderSnapshots = exchangeOrderSnapshotDao.findByOrderId(targetUserOrderId);
if (!CollectionUtils.isEmpty(receiveExchangeOrderSnapshots)) {
receiveOrderVo.setFromLogisticsCode(receiveExchangeOrderSnapshots.get(0).getLogisticsCode());
receiveOrderVo.setFromWaybill(receiveExchangeOrderSnapshots.get(0).getWaybill());
}
List<SupplierItemVo> userItemList = new ArrayList<>();
//用户用来交换的商品
for (ExchangeApplyOrderDetail exchangeApplyOrderDetail : detailList) {
......@@ -197,8 +229,11 @@ public class SysExchangeApplyOrderServiceImpl implements SysExchangeApplyOrderSe
supplierItemVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
userItemList.add(supplierItemVo);
}
exchangeApplyOrderVo.setUserItemList(userItemList);
return Result.success(exchangeApplyOrderVo);
receiveOrderVo.setItemVoList(userItemList);
receiveOrderVo.setBuyerName(cacheUtil.getAppletUserNameById(receiveOrder.getBuyerId()));
receiveOrderVo.setSellerName(cacheUtil.getAppletUserNameById(receiveOrder.getSellerId()));
sysExchangeApplyOrderDetailVo.setReceiveTargetOrderInfo(receiveOrderVo);
return Result.success(sysExchangeApplyOrderDetailVo);
} catch (Exception e) {
logger.error("查询交换单详情 error:{}", e);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment