Commit dbdc43c4 authored by shiyu's avatar shiyu

用户订单列表

parent 1ba88c9d
......@@ -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.consts.DistributionEnum;
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.type.PageSearchResult;
import com.wwdz.ch.core.type.Result;
......@@ -80,6 +81,9 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
@Autowired
RedissonClient redissonClient;
@Autowired
AuctionRecordDao auctionRecordDao;
@Transactional
@Override
public Result createDistributionOrder(DistributionOrderRequestDto dto) {
......@@ -174,11 +178,28 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
@Override
public Result createAuctionOrder(DistributionOrderRequestDto dto) {
try {
String shareRecordId = dto.getShareRecordId();
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.setItemId(dto.getItemId());
distributionOrder.setItemNum(1);
distributionOrder.setPrepayId(prepayId);
distributionOrder.setShareRecordId(shareRecordId);
distributionOrder.setDistributionOrderId(distributionOrderId);
distributionOrder.setBuyerId(dto.getBuyerId());
......@@ -196,11 +217,9 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
distributionOrderDao.insert(distributionOrder);
Map<String, String> map = new HashMap<>();
map.put("distributionOrderId", distributionOrderId);
map.put("prepayId", null);
map.put("prepayId", prepayId);
//计算分销商的利润
DistributorProfit distributorProfit = new DistributorProfit();
//供货成本价
SupplierItem supplierItem = supplierItemDao.findById(dto.getItemId());
//利润,该记录在用户未付款时未无效,仅用于在分销商查看订单详情时,计算预计利润
Double profit = distributionOrder.getAmount().doubleValue() * 0.03;
distributorProfit.setDistributionOrderId(distributionOrderId);
......@@ -563,7 +582,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
});
return Result.success(PageSearchResult.of(pageInfo, distributionOrderVoList));
} catch (Exception e) {
logger.error("查询分销商订单列表失败 error : {}", e);
logger.error("查询用户订单列表失败 error : {}", e);
}
return Result.failed();
}
......
......@@ -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 = "分销商购买样品,尚未付款")
@PostMapping("/buySample")
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