Commit 915bf517 authored by shiyu's avatar shiyu

Merge branch 'master' into quanku_v1.9

parents 382963e7 fb1db89e
...@@ -285,6 +285,12 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -285,6 +285,12 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
if (stock <= 0) { if (stock <= 0) {
return Result.failed("商品库存不足"); return Result.failed("商品库存不足");
} }
//1.查询购买者对该商品的历史购买记录
List<DistributionOrder> distributionOrders = distributionOrderDao.findValidOrderOfItemIdByBuyerId(dto.getBuyerId(), itemId);
if (!CollectionUtils.isEmpty(distributionOrders)) {
return Result.failed("限购一件");
}
String distributionOrderId = IdUtils.getOrderNumber(DISTRIBUTION_ORDER_PREFIX); String distributionOrderId = IdUtils.getOrderNumber(DISTRIBUTION_ORDER_PREFIX);
DistributionOrderRequestDto prePayDto = new DistributionOrderRequestDto(); DistributionOrderRequestDto prePayDto = new DistributionOrderRequestDto();
prePayDto.setDistributionOrderId(distributionOrderId); prePayDto.setDistributionOrderId(distributionOrderId);
...@@ -296,6 +302,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -296,6 +302,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
if (!prePayResult.getSuccess()) { if (!prePayResult.getSuccess()) {
return Result.failed("预下单失败"); return Result.failed("预下单失败");
} }
String prepayId = (String) prePayResult.getData(); String prepayId = (String) prePayResult.getData();
DistributionOrder distributionOrder = new DistributionOrder(); DistributionOrder distributionOrder = new DistributionOrder();
distributionOrder.setItemId(itemId); distributionOrder.setItemId(itemId);
......
...@@ -105,21 +105,29 @@ public class SupplierItemServiceImpl implements SupplierItemService { ...@@ -105,21 +105,29 @@ public class SupplierItemServiceImpl implements SupplierItemService {
public Result findDetail(SupplierItemRequestDto dto) { public Result findDetail(SupplierItemRequestDto dto) {
try { try {
String shareRecordId = dto.getShareRecordId(); String shareRecordId = dto.getShareRecordId();
DistributorShareRecord distributorShareRecord = null; DistributorShareRecord distributorShareRecord = new DistributorShareRecord();
long itemId = 0; Long itemId;
if (dto.getId() != null) { if (StringUtils.isEmpty(shareRecordId) && dto.getId() == null) {
itemId = dto.getId();
}
else if (StringUtils.isEmpty(shareRecordId) && dto.getId() == null) {
return Result.failed("商品信息为空"); return Result.failed("商品信息为空");
} else { } else if (StringUtils.hasLength(shareRecordId)) {
distributorShareRecord = distributorShareRecordDao.findById(shareRecordId); if (!shareRecordId.contains(SYSTEM_ACCOUNT.toString())) {
if (distributorShareRecord == null || !distributorShareRecord.getEnabled()) { distributorShareRecord = distributorShareRecordDao.findById(shareRecordId);
return Result.failed("该商品已下架"); if (distributorShareRecord == null || !distributorShareRecord.getEnabled()) {
return Result.failed("该商品已下架");
} else {
itemId = distributorShareRecord.getItemId();
}
} else { } else {
itemId = distributorShareRecord.getItemId(); itemId = dto.getId();
} }
} else {
itemId = dto.getId();
}
if (itemId == null) {
logger.error("商品详情分享id和商品id参数全为空,查询失败");
return Result.failed("商品信息为空");
} }
SupplierItemVo supplierItemVo = new SupplierItemVo(); SupplierItemVo supplierItemVo = new SupplierItemVo();
//用户点击链接进入详情页需要记录 //用户点击链接进入详情页需要记录
if (!dto.getIsShop()) { if (!dto.getIsShop()) {
......
...@@ -89,12 +89,12 @@ public class WxPayServiceTest { ...@@ -89,12 +89,12 @@ public class WxPayServiceTest {
@Test @Test
public void refund() { public void refund() {
List<String> list = Arrays.asList("DA2402241539558250270"); List<String> list = Arrays.asList("DA2403061107510927305", "DA2403061103288138522");
list.forEach(orderId ->{ list.forEach(orderId ->{
DistributionOrderRequestDto dto = new DistributionOrderRequestDto(); DistributionOrderRequestDto dto = new DistributionOrderRequestDto();
dto.setDistributionOrderId(orderId); dto.setDistributionOrderId(orderId);
dto.setAmount("12.8"); dto.setAmount("6.8");
dto.setRefundPrice("12.8"); dto.setRefundPrice("6.8");
Result result = wxPayServiceApi.refund(dto); Result result = wxPayServiceApi.refund(dto);
logger.info("申请微信支付退款:{}", result); logger.info("申请微信支付退款:{}", result);
}); });
......
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