分销佣金计算时间设置
This commit is contained in:
parent
1424eaa90f
commit
f9308fa5bf
@ -19,7 +19,8 @@ public interface DistributionMapper extends BaseMapper<Distribution> {
|
||||
* @param commissionFrozen 分销金额
|
||||
* @param distributionId 分销员ID
|
||||
*/
|
||||
@Update("UPDATE li_distribution set commission_frozen = (commission_frozen+#{commissionFrozen}) , rebate_total=(rebate_total+#{commissionFrozen}) WHERE id = #{distributionId}")
|
||||
@Update("UPDATE li_distribution set commission_frozen = (commission_frozen+#{commissionFrozen}) " +
|
||||
", rebate_total=(rebate_total+#{commissionFrozen}) WHERE id = #{distributionId}")
|
||||
void subCanRebate(Double commissionFrozen, String distributionId);
|
||||
|
||||
/**
|
||||
@ -28,7 +29,9 @@ public interface DistributionMapper extends BaseMapper<Distribution> {
|
||||
* @param commissionFrozen 分销金额
|
||||
* @param distributionId 分销员ID
|
||||
*/
|
||||
@Update("UPDATE li_distribution set commission_frozen = (commission_frozen+#{commissionFrozen}) , rebate_total=(rebate_total+#{commissionFrozen}) , distribution_order_count=(distribution_order_count+1) WHERE id = #{distributionId}")
|
||||
@Update("UPDATE li_distribution set commission_frozen = (commission_frozen+#{commissionFrozen}) " +
|
||||
", rebate_total=(rebate_total+#{commissionFrozen}) " +
|
||||
", distribution_order_count=(distribution_order_count+1) WHERE id = #{distributionId}")
|
||||
void addCanRebate(Double commissionFrozen, String distributionId);
|
||||
|
||||
}
|
@ -20,9 +20,8 @@ public interface DistributionOrderMapper extends BaseMapper<DistributionOrder> {
|
||||
* @param settleCycle 时间
|
||||
*/
|
||||
@Update("UPDATE li_distribution AS d " +
|
||||
"SET d.can_rebate =(d.can_rebate +(SELECT SUM( dorder.rebate ) " +
|
||||
"SET d.commission_frozen =(d.commission_frozen -(SELECT SUM( dorder.rebate ) " +
|
||||
"FROM li_distribution_order AS dorder WHERE dorder.distribution_id = d.id AND dorder.distribution_order_status=#{distributionOrderStatus} AND dorder.settle_cycle< #{settleCycle} ))")
|
||||
"SET d.can_rebate =(d.can_rebate +(SELECT SUM( dorder.rebate ) FROM li_distribution_order AS dorder WHERE dorder.distribution_order_status = #{distributionOrderStatus} AND dorder.settle_cycle< #{settleCycle} AND dorder.distribution_id = d.id ))" +
|
||||
",d.commission_frozen =(d.commission_frozen -(SELECT SUM( dorder.rebate ) FROM li_distribution_order AS dorder WHERE dorder.distribution_order_status = #{distributionOrderStatus} AND dorder.settle_cycle< #{settleCycle} AND dorder.distribution_id = d.id ) )")
|
||||
void rebate(String distributionOrderStatus, DateTime settleCycle);
|
||||
|
||||
}
|
@ -25,6 +25,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@ -38,6 +39,7 @@ import java.util.List;
|
||||
* @author pikachu
|
||||
* @since 2020-03-14 23:04:56
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class DistributionOrderServiceImpl extends ServiceImpl<DistributionOrderMapper, DistributionOrder> implements DistributionOrderService {
|
||||
@ -107,7 +109,7 @@ public class DistributionOrderServiceImpl extends ServiceImpl<DistributionOrderM
|
||||
distributionOrder.setSettleCycle(new DateTime());
|
||||
} else {
|
||||
DateTime dateTime = new DateTime();
|
||||
dateTime.offsetNew(DateField.DAY_OF_MONTH, distributionSetting.getCashDay());
|
||||
dateTime = dateTime.offsetNew(DateField.DAY_OF_MONTH, distributionSetting.getCashDay());
|
||||
distributionOrder.setSettleCycle(dateTime);
|
||||
}
|
||||
|
||||
@ -120,13 +122,15 @@ public class DistributionOrderServiceImpl extends ServiceImpl<DistributionOrderM
|
||||
|
||||
//如果天数写0则立即进行结算
|
||||
if (distributionSetting.getCashDay().equals(0)) {
|
||||
DateTime dateTime = new DateTime();
|
||||
dateTime = dateTime.offsetNew(DateField.MINUTE, 5);
|
||||
//计算分销提佣
|
||||
this.baseMapper.rebate(DistributionOrderStatusEnum.WAIT_BILL.name(), new DateTime());
|
||||
this.baseMapper.rebate(DistributionOrderStatusEnum.WAIT_BILL.name(), dateTime);
|
||||
|
||||
//修改分销订单状态
|
||||
this.update(new LambdaUpdateWrapper<DistributionOrder>()
|
||||
.eq(DistributionOrder::getDistributionOrderStatus, DistributionOrderStatusEnum.WAIT_BILL.name())
|
||||
.le(DistributionOrder::getSettleCycle, new DateTime())
|
||||
.le(DistributionOrder::getSettleCycle, dateTime)
|
||||
.set(DistributionOrder::getDistributionOrderStatus, DistributionOrderStatusEnum.WAIT_CASH.name()));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user