Commit c9ecbfa9 authored by hezhen's avatar hezhen

123

parent 176f8117
......@@ -168,6 +168,8 @@ public class AppUserSellingWaterBiz extends BaseBiz<AppUserSellingWaterMapper, A
sellingWater.setAcceptId(zAcceptId);
sellingWater=selectOne(sellingWater);
if (sellingWater != null ){
sellingWater.setWaiting(1);
updateSelectiveById(sellingWater);
BigDecimal commission=orderAmount.multiply(sellingWater.getExtract()).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP);
sellingWater.setAcceptId(acceptId);
sellingWater.setWaiting(1);
......
......@@ -69,6 +69,7 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
public void orderWater(OrderWaterDTO orderWaterDTO) {
//订单状态
log.info("进入分账----orderWater------status===" + orderWaterDTO.getStatus()+"---orderNo==="+orderWaterDTO.getOrderNo());
Integer status = orderWaterDTO.getStatus();
if (status == null || status == 0) {
log.info("分账----orderWater----参数不能为空----status===" + status);
......@@ -127,6 +128,7 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM
List<BaseCommissionRatio> baseCommissionRatios = commissionRatioBiz.getList();
BigDecimal amount=BigDecimal.ZERO;
BigDecimal companyDivisionAmount=orderAmount;
BigDecimal extrac = new BigDecimal(100);
if (baseCommissionRatios.size() > 0){
//先计算分给店铺
BigDecimal companyExtrac = baseCommissionRatios.stream().map(BaseCommissionRatio::getExtract).reduce(BigDecimal.ZERO,BigDecimal::add);
......@@ -181,6 +183,7 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM
acceptDetailed.setStatus(0);
insertSelective(acceptDetailed);
amount=amount.add(divisionAmount);
extrac=extrac.subtract(commissionRatio.getExtract());
orderWaterDTO.setAcceptId(acceptDetailed.getId());
sellingWaterBiz.payOrderWater(orderWaterDTO);
}
......@@ -190,6 +193,7 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM
BaseOrderAcceptDetailed acceptDetailed=new BaseOrderAcceptDetailed();
BeanUtils.copyProperties(orderWaterDTO,acceptDetailed);
acceptDetailed.setMchId(companyId);
acceptDetailed.setExtract(extrac);
acceptDetailed.setOrderAmount(orderAmount);
acceptDetailed.setDivisionAmount(companyDivisionAmount);
acceptDetailed.setDivisionType(5);
......@@ -234,7 +238,7 @@ public class BaseOrderAcceptDetailedBiz extends BaseBiz<BaseOrderAcceptDetailedM
} else if (acceptDetailed1.getDivisionType() == 2 || acceptDetailed1.getDivisionType() == 3 || acceptDetailed1.getDivisionType() == 4) {
if (otherDivisionAmount.compareTo(BigDecimal.ZERO) > 0) {
if (!orderDetailDTO.getOrderStatus().equals(OrderDetailDTO.CANEL)) {
BigDecimal divisionAmount = otherDivisionAmount.multiply(acceptDetailed1.getExtract()).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP);
BigDecimal divisionAmount = orderAmount.multiply(acceptDetailed1.getExtract()).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP);
acceptDetailed1.setDivisionAmount(divisionAmount);
}
insertSelective(acceptDetailed1);
......
......@@ -46,7 +46,7 @@ public class WaterMQHandler {
*/
@RabbitListener(queues = ORDER_WATER_QUEUE)
public void integralHandler(Message message, @Headers Map<String, Object> headers, Channel channel) {
log.info("拥金队列 messageJson:"+ JSONUtil.parse(message));
log.info("分账队列 messageJson:"+ JSONUtil.parse(message));
ExecutorService executorService = Executors.newCachedThreadPool();
executorService.execute(new Runnable() {
@Override
......@@ -71,7 +71,7 @@ public class WaterMQHandler {
orderWaterDTO.setStatus(2);
break;
case ORDER_CANCEL:
orderWaterDTO.setStatus(3);
orderWaterDTO.setStatus(2);
break;
default:
break;
......
......@@ -60,7 +60,8 @@ public class OrderDetailBiz{
BaseOrder baseOrder=new BaseOrder();
baseOrder.setNo(orderNo);
baseOrder=orderBiz.selectOne(baseOrder);
if (baseOrder == null ||(type == 1 && !baseOrder.getStatus() .equals(OrderStatusEnum.ORDER_TOSTART.getCode())) ||( (type == 2 || type == 3) && !baseOrder.getStatus().equals(OrderStatusEnum.ORDER_FINISH.getCode()))){
if (baseOrder == null ||(type == 1 && !baseOrder.getStatus() .equals(OrderStatusEnum.ORDER_TOSTART.getCode())) ||
( (type == 2 || type == 3) && !(baseOrder.getStatus().equals(OrderStatusEnum.ORDER_FINISH.getCode()) || baseOrder.getStatus().equals(OrderStatusEnum.ORDER_CANCEL.getCode()) ) )){
throw new BaseException("订单不存在或状态不是已完成",ResultCode.FAILED_CODE);
}
BigDecimal goodsAmount=baseOrder.getGoodsAmount().subtract(baseOrder.getCouponAmount());
......
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