Commit ef7f85a9 authored by shiyu's avatar shiyu

换藏订单列表

parent 4dd100e3
......@@ -28,6 +28,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.time.Duration;
import java.time.Instant;
......@@ -174,13 +175,17 @@ public class SysExchangeApplyOrderServiceImpl implements SysExchangeApplyOrderSe
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);
DistributionOrder commitOrder = new DistributionOrder();
if (StringUtils.hasLength(userOrderId)) {
commitOrder = distributionOrderDao.findById(userOrderId);
}
EntityMapper.copyAttribute(commitOrder, commitOrderVo);
//用户寄来平台的物流信息
List<ExchangeOrderSnapshot> commitExchangeOrderSnapshots = exchangeOrderSnapshotDao.findByOrderId(userOrderId);
......@@ -208,7 +213,10 @@ public class SysExchangeApplyOrderServiceImpl implements SysExchangeApplyOrderSe
//接收方的订单信息
List<ExchangeApplyOrderDetail> detailList = exchangeApplyOrderDetailDao.findByOrderId(exchangeApplyOrder.getExchangeApplyOrderId());
SysExchangeOrderVo receiveOrderVo = new SysExchangeOrderVo();
DistributionOrder receiveOrder = distributionOrderDao.findById(targetUserOrderId);
DistributionOrder receiveOrder = new DistributionOrder();
if (StringUtils.hasLength(targetUserOrderId)) {
receiveOrder = distributionOrderDao.findById(targetUserOrderId);
}
EntityMapper.copyAttribute(receiveOrder, receiveOrderVo);
//用户寄来平台的物流信息
List<ExchangeOrderSnapshot> receiveExchangeOrderSnapshots = exchangeOrderSnapshotDao.findByOrderId(targetUserOrderId);
......
......@@ -9,7 +9,7 @@ public class DistributionEnum {
PRE_PAY(1, "待付款"),
PRE_SALE(5, "众筹中"),
PRE_EXCHANGE(6, "待寄至平台"),
PRE_INSPECTION(8, "待平台验货"),
PRE_INSPECTION(8, "待平台检查"),
PRE_SEND(10, "待发货"),
PRE_SIGNED(20, "待收货"),
AFTER_SALE(30, "售后中"),
......
......@@ -6,9 +6,10 @@ public class ExchangeApplyOrderEnum {
PRE_HANDLE(0, "待处理"),
AGREE(1, "同意"),
DISAGREE(2, "拒绝"),
SYSTEM_AGREE(3, "平台鉴定后通过"),
SYSTEM_DISAGREE(4, "平台鉴定后拒绝"),
CANCEL(-1, "取消"),
SYSTEM_AGREE(3, "平台检查后通过"),
SYSTEM_DISAGREE(4, "平台检查后拒绝"),
CANCEL(-1, "交换关闭"),
FINISH(10, "交换完成"),
;
private int code;
......
......@@ -20,6 +20,8 @@ public interface ExchangeApplyOrderDao {
ExchangeApplyOrder findByOrderId(String orderId);
ExchangeApplyOrder findByExchangeOrderId(String exchangeOrderId);
/**
* 更新记录
*
......@@ -47,4 +49,7 @@ public interface ExchangeApplyOrderDao {
* @return
*/
long countPreHandleOrderOfReceive(long targetUserId);
}
......@@ -233,6 +233,7 @@ public class SupplierItemDaoImpl implements SupplierItemDao {
SupplierItemExample supplierItemExample = new SupplierItemExample();
SupplierItemExample.Criteria criteria = supplierItemExample.createCriteria();
criteria.andCreatorIdEqualTo(creatorId);
criteria.andStockGreaterThan(0);
criteria.andIsDeletedEqualTo(false);
JdbcHelper.ifPresent(queryTime, criteria::andCreateTimeGreaterThanOrEqualTo);
return supplierItemMapper.countByExample(supplierItemExample);
......
......@@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper;
import com.wwdz.ch.db.dao.exchange.ExchangeApplyOrderDao;
import com.wwdz.ch.db.domain.distribution.ExchangeApplyOrder;
import com.wwdz.ch.db.domain.distribution.ExchangeApplyOrderExample;
import com.wwdz.ch.db.domain.distribution.SupplierItemExample;
import com.wwdz.ch.db.dto.request.exchange.ExchangeApplyOrderRequestDto;
import com.wwdz.ch.db.mapper.distribution.ExchangeApplyOrderMapper;
import com.xxdxxs.db.component.JdbcHelper;
......@@ -47,6 +48,16 @@ public class ExchangeApplyOrderDaoImpl implements ExchangeApplyOrderDao {
return exchangeApplyOrderMapper.selectOneByExample(example);
}
@Override
public ExchangeApplyOrder findByExchangeOrderId(String exchangeOrderId) {
ExchangeApplyOrderExample example = new ExchangeApplyOrderExample();
ExchangeApplyOrderExample.Criteria criteria = example.createCriteria();
criteria.andUserOrderIdEqualTo(exchangeOrderId);
ExchangeApplyOrderExample.Criteria orCriteria = example.or();
orCriteria.andTargetUserOrderIdEqualTo(exchangeOrderId);
return exchangeApplyOrderMapper.selectOneByExample(example);
}
@Override
public long countPreHandleOrderOfCommit(long userId) {
ExchangeApplyOrderExample example = new ExchangeApplyOrderExample();
......
package com.wwdz.ch.wx.entity.vo.distribution;
import com.wwdz.ch.core.entity.SupplierItemVo;
import com.wwdz.ch.wx.entity.GroupPurchaseInfo;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Data
public class ExchangeOrderDetailVo implements Entity {
/**
* 申请交换单
*/
private String exchangeApplyOrderId;
/**
* 交换单申请时间
*/
private Date exchangeApplyOrderCreateTime;
/**
* 交换单类型
* 我收到的,我提交的
*/
private Integer exchangeApplyOrderType;
private String exchangeApplyOrderTypeName;
/**
* 订单号
*/
private String distributionOrderId;
/**
* 用于交换的用户商品信息
*/
private UserExchangeInfo userExchangeInfo;
/**
* 想要换的目标商品id
*/
private List<SupplierItemVo> targetItemList;
/**
* 买方id
*/
private Long buyerId;
/**
* 买家名称
*/
private String buyerName;
/**
* 店铺id
*/
private Long shopId;
/**
* 店铺名称
*/
private String shopName;
/**
* 卖方id
*/
private Long sellerId;
/**
* 卖家名称
*/
private String sellerName;
/**
* 买家收货地址id
*/
private Long addressId;
/**
* 收件人名称
*/
private String receiverName;
/**
* 收件人电话
*/
private String receiverPhone;
/**
* 收件人收货地址
*/
private String receiverAddress;
/**
* 快递公司编码
*/
private String logisticsCode;
private String logisticsName;
/**
* 运单号
*/
private String waybill;
/**
* 创建时间(下单时间)
*/
private Date createTime;
/**
* 支付时间
*/
private Date payTime;
/**
* 发货时间
*/
private Date deliveryTime;
/**
* 完成时间
*/
private Date finishTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 分销订单状态
*/
private Integer state;
/**
* 订单状态
*/
private String stateName;
/**
* 支付截止时间
*/
private Date expireTime;
/**
* 商品类型1一口价2竞拍3藏品
*/
private Integer type;
private String typeName;
/**
* 寄到平台的快递公司编码
*/
private String fromLogisticsCode;
private String fromLogisticsName;
/**
* 寄来的物流单号
*/
private String fromWaybill;
/**
* 平台收货地址
*/
private String channelReceiveAddress;
}
package com.wwdz.ch.wx.entity.vo.distribution;
import com.wwdz.ch.core.entity.SupplierItemVo;
import com.wwdz.ch.wx.entity.GroupPurchaseInfo;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Data
public class ExchangeOrderVo implements Entity {
/**
* 申请交换单
*/
private String exchangeApplyOrderId;
/**
* 交换单申请时间
*/
private Date exchangeApplyOrderCreateTime;
/**
* 交换单类型
* 我收到的,我提交的
*/
private Integer exchangeApplyOrderType;
private String exchangeApplyOrderTypeName;
/**
* 换藏订单号
*/
private String distributionOrderId;
/**
* 用于交换的用户商品信息
*/
private List<SupplierItemVo> userItemList;
/**
* 想要换的目标商品id
*/
private List<SupplierItemVo> targetItemList;
/**
* 买家收货地址id
*/
private Long addressId;
/**
* 买家收货地址
*/
private String address;
/**
* 快递公司编码
*/
private String logisticsCode;
/**
* 运单号
*/
private String waybill;
/**
* 创建时间
*/
private Date createTime;
/**
* 发货时间
*/
private Date deliveryTime;
/**
* 完成时间
*/
private Date finishTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 订单状态
*/
private Integer state;
/**
* 订单状态
*/
private String stateName;
/**
* 物流状态
*/
private Integer logisticsState;
private Integer logisticsStateName;
/**
* 截止时间
*/
private Date expireTime;
/**
* 商品类型
*/
private Integer type;
private String typeName;
}
......@@ -64,7 +64,6 @@ public class ExchangeApplyOrderServiceImpl implements ExchangeApplyOrderService
@Override
public Result applyExchange(ExchangeApplyOrderRequestDto dto) {
try {
SupplierItemRequestDto supplierItemRequestDto = new SupplierItemRequestDto();
supplierItemRequestDto.setCreatorId(dto.getUserId());
List<ExchangeOrderSnapshot> exchangeOrderSnapshotList = exchangeOrderSnapshotDao.findByUserId(dto.getUserId());
......@@ -106,7 +105,9 @@ public class ExchangeApplyOrderServiceImpl implements ExchangeApplyOrderService
exchangeApplyOrderDetail.setUpdateTime(now);
exchangeApplyOrderDetailDao.insert(exchangeApplyOrderDetail);
}
return Result.success();
Map<String, Object> map = new HashMap<>();
map.put("exchangeApplyOrderId", exchangeApplyOrderId);
return Result.success(map);
} catch (Exception e) {
logger.error("用户申请以物换物 error:{}", e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
......
package com.wwdz.ch.wx.service.distribution;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
public interface ExchangeOrderService {
/**
* 查询换藏订单列表
* @param dto
* @return
*/
Result findOrder(DistributionOrderRequestDto dto);
/**
* 查询换藏订单详情
* @param dto
* @return
*/
Result findOrderDetail(DistributionOrderRequestDto dto);
}
package com.wwdz.ch.wx.web.distribution;
import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.wx.entity.request.ExchangeRequestDto;
import com.wwdz.ch.wx.service.distribution.ExchangeOrderService;
import com.xxdxxs.service.FormHandler;
import com.xxdxxs.validation.Validator;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/wx/exchangeOrder")
public class ExchangeOrderController {
private static final Logger logger = LoggerFactory.getLogger(ExchangeOrderController.class);
@Autowired
ExchangeOrderService exchangeOrderService;
@ApiOperation(value = "查询用户换藏订单列表")
@PostMapping("/findList")
public Result findList(@RequestBody DistributionOrderRequestDto dto) {
logger.info("查询用户换藏订单列表,请求参数:{}", JSON.toJSONString(dto));
Validator validator = new Validator(FormHandler.ofEntity(dto));
validator.set("userId", "用户id").must().number()
.end();
if (!validator.isValid()) {
return Result.failed(validator.getErrorInfo());
}
return exchangeOrderService.findOrder(dto);
}
@ApiOperation(value = "查询换藏订单详情")
@PostMapping("/findOrderDetail")
public Result findOrderDetail(@RequestBody DistributionOrderRequestDto dto) {
logger.info("查询换藏订单详情,请求参数:{}", JSON.toJSONString(dto));
Validator validator = new Validator(FormHandler.ofEntity(dto));
validator.set("distributionOrderId", "订单号").must().string()
.set("userId", "用户id").must().number()
.end();
if (!validator.isValid()) {
return Result.failed(validator.getErrorInfo());
}
return exchangeOrderService.findOrderDetail(dto);
}
}
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