分销订单
This commit is contained in:
parent
4b7be309b2
commit
64c095f20e
@ -1,4 +1,4 @@
|
||||
package cn.lili.controller.distribution;
|
||||
package cn.lili.controller.other.distribution;
|
||||
|
||||
import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.utils.ResultUtil;
|
||||
@ -13,7 +13,6 @@ import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package cn.lili.controller.distribution;
|
||||
package cn.lili.controller.other.distribution;
|
||||
|
||||
import cn.lili.common.utils.ResultUtil;
|
||||
import cn.lili.common.vo.PageVO;
|
@ -1,4 +1,4 @@
|
||||
package cn.lili.controller.distribution;
|
||||
package cn.lili.controller.other.distribution;
|
||||
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.exception.ServiceException;
|
@ -1,4 +1,4 @@
|
||||
package cn.lili.controller.distribution;
|
||||
package cn.lili.controller.other.distribution;
|
||||
|
||||
import cn.lili.common.utils.ResultUtil;
|
||||
import cn.lili.common.vo.ResultMessage;
|
||||
@ -9,7 +9,6 @@ import cn.lili.modules.distribution.service.DistributionService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
@ -33,6 +33,7 @@ public class Distribution extends BaseEntity {
|
||||
this.memberName = memberName;
|
||||
this.name = name;
|
||||
this.idNumber = idNumber;
|
||||
distributionOrderCount=0;
|
||||
this.distributionStatus = DistributionStatusEnum.APPLY.name();
|
||||
}
|
||||
|
||||
@ -57,6 +58,8 @@ public class Distribution extends BaseEntity {
|
||||
@ApiModelProperty(value = "冻结金额")
|
||||
private Double commissionFrozen = 0D;
|
||||
|
||||
@ApiModelProperty(value = "分销订单数")
|
||||
private Integer distributionOrderCount;
|
||||
|
||||
/**
|
||||
* @see DistributionStatusEnum
|
||||
|
@ -14,5 +14,8 @@ import org.apache.ibatis.annotations.Update;
|
||||
public interface DistributionMapper extends BaseMapper<Distribution> {
|
||||
|
||||
@Update("UPDATE li_distribution set can_rebate = can_rebate+#{canRebate} WHERE id = #{distributionId}")
|
||||
void updateCanRebate(Double canRebate,String distributionId);
|
||||
void subCanRebate(Double canRebate,String distributionId);
|
||||
|
||||
@Update("UPDATE li_distribution set can_rebate = (can_rebate+#{canRebate}) AND rebate_total=(rebate_total+#{canRebate}) AND distribution_order_count=(distribution_order_count+1) WHERE id = #{distributionId}")
|
||||
void addCanRebate(Double canRebate,String distributionId);
|
||||
}
|
@ -28,6 +28,7 @@ public interface DistributionOrderService extends IService<DistributionOrder> {
|
||||
* @param orderSn 订单编号
|
||||
*/
|
||||
void payOrder(String orderSn);
|
||||
void test(String orderSn);
|
||||
|
||||
/**
|
||||
* 取消订单
|
||||
|
@ -80,6 +80,11 @@ public interface DistributionService extends IService<Distribution> {
|
||||
* @param canRebate 修改金额
|
||||
* @param distributionId 分销员ID
|
||||
*/
|
||||
void updateCanRebate(Double canRebate,String distributionId);
|
||||
void subCanRebate(Double canRebate,String distributionId);
|
||||
|
||||
/**
|
||||
* 添加分销金额
|
||||
* @param rebate
|
||||
*/
|
||||
void addRebate(Double rebate,String distributionId);
|
||||
}
|
@ -24,7 +24,6 @@ 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.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@ -69,15 +68,17 @@ public class DistributionOrderServiceImpl extends ServiceImpl<DistributionOrderM
|
||||
|
||||
//判断是否为分销订单,如果为分销订单则获取分销佣金
|
||||
if (order.getDistributionId() != null) {
|
||||
|
||||
//根据订单编号获取有分销金额的店铺流水记录
|
||||
List<StoreFlow> storeFlowList = storeFlowService.list(new LambdaQueryWrapper<StoreFlow>()
|
||||
.eq(StoreFlow::getOrderSn, orderSn)
|
||||
.isNotNull(StoreFlow::getDistributionRebate));
|
||||
Double rebate=0.0;
|
||||
//循环店铺流水记录判断是否包含分销商品
|
||||
//包含分销商品则进行记录分销订单、计算分销总额
|
||||
for (StoreFlow storeFlow : storeFlowList) {
|
||||
rebate=CurrencyUtil.add(rebate,storeFlow.getDistributionRebate());
|
||||
DistributionOrder distributionOrder = new DistributionOrder(storeFlow);
|
||||
distributionOrder.setDistributionId(order.getDistributionId());
|
||||
|
||||
//分销员信息
|
||||
Distribution distribution = distributionService.getById(order.getDistributionId());
|
||||
distributionOrder.setDistributionName(distribution.getMemberName());
|
||||
@ -86,12 +87,56 @@ public class DistributionOrderServiceImpl extends ServiceImpl<DistributionOrderM
|
||||
Setting setting = settingService.get(SettingEnum.DISTRIBUTION_SETTING.name());
|
||||
DistributionSetting distributionSetting = JSONUtil.toBean(setting.getSettingValue(), DistributionSetting.class);
|
||||
DateTime dateTime = new DateTime();
|
||||
// dateTime.offsetNew(DateField.DAY_OF_MONTH,distributionSetting.getCashDay());
|
||||
dateTime.offsetNew(DateField.DAY_OF_MONTH, 1);
|
||||
dateTime.offsetNew(DateField.DAY_OF_MONTH,distributionSetting.getCashDay());
|
||||
distributionOrder.setSettleCycle(dateTime);
|
||||
this.save(distributionOrder);
|
||||
}
|
||||
//如果包含分销商品则记录会员的分销总额
|
||||
if(rebate!=0.0){
|
||||
distributionService.addRebate(rebate,order.getDistributionId());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@Override
|
||||
public void test(String orderSn) {
|
||||
|
||||
//根据订单编号获取订单数据
|
||||
Order order = orderService.getBySn(orderSn);
|
||||
|
||||
//判断是否为分销订单,如果为分销订单则获取分销佣金
|
||||
if (order.getDistributionId() != null) {
|
||||
//根据订单编号获取有分销金额的店铺流水记录
|
||||
List<StoreFlow> storeFlowList = storeFlowService.list(new LambdaQueryWrapper<StoreFlow>()
|
||||
.eq(StoreFlow::getOrderSn, orderSn)
|
||||
.isNotNull(StoreFlow::getDistributionRebate));
|
||||
Double rebate=0.0;
|
||||
//循环店铺流水记录判断是否包含分销商品
|
||||
//包含分销商品则进行记录分销订单、计算分销总额
|
||||
for (StoreFlow storeFlow : storeFlowList) {
|
||||
rebate=CurrencyUtil.add(rebate,storeFlow.getDistributionRebate());
|
||||
DistributionOrder distributionOrder = new DistributionOrder(storeFlow);
|
||||
distributionOrder.setDistributionId(order.getDistributionId());
|
||||
//分销员信息
|
||||
Distribution distribution = distributionService.getById(order.getDistributionId());
|
||||
distributionOrder.setDistributionName(distribution.getMemberName());
|
||||
|
||||
//设置结算天数(解冻日期)
|
||||
Setting setting = settingService.get(SettingEnum.DISTRIBUTION_SETTING.name());
|
||||
DistributionSetting distributionSetting = JSONUtil.toBean(setting.getSettingValue(), DistributionSetting.class);
|
||||
DateTime dateTime = new DateTime();
|
||||
//默认提现周期一天
|
||||
dateTime.offsetNew(DateField.DAY_OF_MONTH,1);
|
||||
//dateTime.offsetNew(DateField.DAY_OF_MONTH,distributionSetting.getCashDay());
|
||||
distributionOrder.setSettleCycle(dateTime);
|
||||
this.save(distributionOrder);
|
||||
}
|
||||
//如果包含分销商品则记录会员的分销总额
|
||||
if(rebate!=0.0){
|
||||
distributionService.addRebate(rebate,order.getDistributionId());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -126,7 +171,7 @@ public class DistributionOrderServiceImpl extends ServiceImpl<DistributionOrderM
|
||||
|
||||
this.save(backDistributionOrder);
|
||||
//修改分销员提成金额
|
||||
distributionService.updateCanRebate(CurrencyUtil.sub(0,storeFlow.getDistributionRebate()),distributionOrder.getDistributionId());
|
||||
distributionService.subCanRebate(CurrencyUtil.sub(0,storeFlow.getDistributionRebate()),distributionOrder.getDistributionId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -43,10 +43,6 @@ public class DistributionServiceImpl extends ServiceImpl<DistributionMapper, Dis
|
||||
@Autowired
|
||||
private MemberService memberService;
|
||||
|
||||
//分销员
|
||||
@Autowired
|
||||
private DistributionMapper distributionMapper;
|
||||
|
||||
//缓存
|
||||
@Autowired
|
||||
private Cache cache;
|
||||
@ -175,8 +171,13 @@ public class DistributionServiceImpl extends ServiceImpl<DistributionMapper, Dis
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateCanRebate(Double canRebate, String distributionId) {
|
||||
this.distributionMapper.updateCanRebate(canRebate,distributionId);
|
||||
public void subCanRebate(Double canRebate, String distributionId) {
|
||||
this.baseMapper.subCanRebate(canRebate,distributionId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addRebate(Double rebate, String distributionId) {
|
||||
this.baseMapper.addCanRebate(rebate,distributionId);
|
||||
}
|
||||
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package cn.lili.controller.distribution;
|
||||
package cn.lili.controller.other.distribution;
|
||||
|
||||
import cn.lili.common.utils.ResultUtil;
|
||||
import cn.lili.common.vo.ResultMessage;
|
@ -1,4 +1,4 @@
|
||||
package cn.lili.controller.distribution;
|
||||
package cn.lili.controller.other.distribution;
|
||||
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.utils.ResultUtil;
|
||||
@ -9,7 +9,6 @@ import cn.lili.modules.distribution.service.DistributionGoodsService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package cn.lili.controller.distribution;
|
||||
package cn.lili.controller.other.distribution;
|
||||
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.exception.ServiceException;
|
@ -1,4 +1,4 @@
|
||||
package cn.lili.controller.distribution;
|
||||
package cn.lili.controller.other.distribution;
|
||||
|
||||
import cn.lili.common.utils.ResultUtil;
|
||||
import cn.lili.common.vo.ResultMessage;
|
||||
@ -8,7 +8,6 @@ import cn.lili.modules.distribution.service.DistributionOrderService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
@ -1,4 +1,4 @@
|
||||
package cn.lili.controller.distribution;
|
||||
package cn.lili.controller.other.distribution;
|
||||
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.utils.ResultUtil;
|
||||
@ -14,7 +14,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package cn.lili.controller.distribution;
|
||||
package cn.lili.controller.other.distribution;
|
||||
|
||||
import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.utils.ResultUtil;
|
||||
@ -9,7 +9,6 @@ import cn.lili.modules.distribution.service.DistributionOrderService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
Loading…
x
Reference in New Issue
Block a user