Commit dbdc43c4 authored by shiyu's avatar shiyu

用户订单列表

parent 1ba88c9d
...@@ -6,6 +6,7 @@ import com.wechat.pay.java.service.refund.model.Status; ...@@ -6,6 +6,7 @@ import com.wechat.pay.java.service.refund.model.Status;
import com.wwdz.ch.core.api.wxpay.WxPayServiceApi; import com.wwdz.ch.core.api.wxpay.WxPayServiceApi;
import com.wwdz.ch.core.consts.DistributionEnum; import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.consts.LogisticsEnum; import com.wwdz.ch.core.consts.LogisticsEnum;
import com.wwdz.ch.core.consts.ResultCode;
import com.wwdz.ch.core.entity.wxPay.DistributionOrderRefundRequestDto; import com.wwdz.ch.core.entity.wxPay.DistributionOrderRefundRequestDto;
import com.wwdz.ch.core.type.PageSearchResult; import com.wwdz.ch.core.type.PageSearchResult;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
...@@ -80,6 +81,9 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -80,6 +81,9 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
@Autowired @Autowired
RedissonClient redissonClient; RedissonClient redissonClient;
@Autowired
AuctionRecordDao auctionRecordDao;
@Transactional @Transactional
@Override @Override
public Result createDistributionOrder(DistributionOrderRequestDto dto) { public Result createDistributionOrder(DistributionOrderRequestDto dto) {
...@@ -174,11 +178,28 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -174,11 +178,28 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
@Override @Override
public Result createAuctionOrder(DistributionOrderRequestDto dto) { public Result createAuctionOrder(DistributionOrderRequestDto dto) {
try { try {
String shareRecordId = dto.getShareRecordId();
String distributionOrderId = IdUtils.getOrderNumber(DISTRIBUTION_ORDER_PREFIX); String distributionOrderId = IdUtils.getOrderNumber(DISTRIBUTION_ORDER_PREFIX);
AuctionRecord auctionRecord = auctionRecordDao.findLastedRecord(dto.getItemId());
if (auctionRecord.getUserId().longValue() != dto.getBuyerId().longValue()) {
return Result.failed("下单信息错误");
}
SupplierItem supplierItem = supplierItemDao.findById(dto.getItemId());
DistributionOrderRequestDto prePayDto = new DistributionOrderRequestDto();
prePayDto.setDistributionOrderId(distributionOrderId);
prePayDto.setAmount(dto.getAmount());
prePayDto.setBuyerOpenid(dto.getBuyerOpenid());
prePayDto.setItemName(supplierItem.getName());
Result prePayResult = wxPayServiceApi.createPrepareOrder(prePayDto);
if (!prePayResult.getSuccess()) {
logger.error(">>>>>>>> 订单号: {}, 预下单失败 <<<<<<<<",distributionOrderId );
return Result.failed(ResultCode.PAY_FAILED);
}
String prepayId = (String) prePayResult.getData();
String shareRecordId = auctionRecord.getShareRecordId();
DistributionOrder distributionOrder = new DistributionOrder(); DistributionOrder distributionOrder = new DistributionOrder();
distributionOrder.setItemId(dto.getItemId()); distributionOrder.setItemId(dto.getItemId());
distributionOrder.setItemNum(1); distributionOrder.setItemNum(1);
distributionOrder.setPrepayId(prepayId);
distributionOrder.setShareRecordId(shareRecordId); distributionOrder.setShareRecordId(shareRecordId);
distributionOrder.setDistributionOrderId(distributionOrderId); distributionOrder.setDistributionOrderId(distributionOrderId);
distributionOrder.setBuyerId(dto.getBuyerId()); distributionOrder.setBuyerId(dto.getBuyerId());
...@@ -196,11 +217,9 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -196,11 +217,9 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
distributionOrderDao.insert(distributionOrder); distributionOrderDao.insert(distributionOrder);
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
map.put("distributionOrderId", distributionOrderId); map.put("distributionOrderId", distributionOrderId);
map.put("prepayId", null); map.put("prepayId", prepayId);
//计算分销商的利润 //计算分销商的利润
DistributorProfit distributorProfit = new DistributorProfit(); DistributorProfit distributorProfit = new DistributorProfit();
//供货成本价
SupplierItem supplierItem = supplierItemDao.findById(dto.getItemId());
//利润,该记录在用户未付款时未无效,仅用于在分销商查看订单详情时,计算预计利润 //利润,该记录在用户未付款时未无效,仅用于在分销商查看订单详情时,计算预计利润
Double profit = distributionOrder.getAmount().doubleValue() * 0.03; Double profit = distributionOrder.getAmount().doubleValue() * 0.03;
distributorProfit.setDistributionOrderId(distributionOrderId); distributorProfit.setDistributionOrderId(distributionOrderId);
...@@ -563,7 +582,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -563,7 +582,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
}); });
return Result.success(PageSearchResult.of(pageInfo, distributionOrderVoList)); return Result.success(PageSearchResult.of(pageInfo, distributionOrderVoList));
} catch (Exception e) { } catch (Exception e) {
logger.error("查询分销商订单列表失败 error : {}", e); logger.error("查询用户订单列表失败 error : {}", e);
} }
return Result.failed(); return Result.failed();
} }
......
...@@ -47,6 +47,21 @@ public class DistributionOrderController { ...@@ -47,6 +47,21 @@ public class DistributionOrderController {
} }
@ApiOperation(value = "拍卖分销单下单,尚未付款")
@PostMapping("/createAuctionOrder")
public Result createAuctionOrder(@RequestBody DistributionOrderRequestDto dto) {
logger.info("拍卖分销单下单,请求参数:{}", JSON.toJSONString(dto));
Validator validator = new Validator(FormHandler.ofEntity(dto));
validator.set("itemId", "商品id").must().number()
.set("userId", "userId").must().number()
.end();
if (!validator.isValid()) {
return Result.failed(validator.getErrorInfo());
}
return distributionOrderService.createAuctionOrder(dto);
}
@ApiOperation(value = "分销商购买样品,尚未付款") @ApiOperation(value = "分销商购买样品,尚未付款")
@PostMapping("/buySample") @PostMapping("/buySample")
public Result buySample(@RequestBody DistributionOrderRequestDto dto) { public Result buySample(@RequestBody DistributionOrderRequestDto 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