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