Merge remote-tracking branch 'origin/test' into test
This commit is contained in:
commit
6fe5149412
|
|
@ -96,7 +96,6 @@ public interface MkDistributionUserService extends IService<MkDistributionUser>
|
|||
void deleteDistributionUser(Long id);
|
||||
|
||||
|
||||
Map<String, Object> pay(long userId, MkDistributionPayDTO payDTO);
|
||||
|
||||
Boolean cashPayOrder(long adminId, MkDistributionPayDTO payParam);
|
||||
|
||||
|
|
|
|||
|
|
@ -17,23 +17,14 @@ import com.czg.constant.TableValueConstant;
|
|||
import com.czg.exception.CzgException;
|
||||
import com.czg.market.dto.MkDistributionUserDTO;
|
||||
import com.czg.market.dto.MkDistributionWithdrawFlowDTO;
|
||||
import com.czg.market.entity.MkDistributionAmountFlow;
|
||||
import com.czg.market.entity.MkDistributionConfig;
|
||||
import com.czg.market.entity.MkDistributionLevelConfig;
|
||||
import com.czg.market.entity.MkDistributionUser;
|
||||
import com.czg.market.service.MkDistributionAmountFlowService;
|
||||
import com.czg.market.service.MkDistributionConfigService;
|
||||
import com.czg.market.service.MkDistributionLevelConfigService;
|
||||
import com.czg.market.service.MkDistributionUserService;
|
||||
import com.czg.market.vo.DistributionCenterShopVO;
|
||||
import com.czg.market.vo.DistributionCenterTopVO;
|
||||
import com.czg.market.entity.*;
|
||||
import com.czg.market.service.*;
|
||||
import com.czg.market.vo.DistributionCenterShopVO;
|
||||
import com.czg.market.vo.DistributionCenterTopVO;
|
||||
import com.czg.market.vo.InviteUserVO;
|
||||
import com.czg.market.vo.MkDistributionConfigVO;
|
||||
import com.czg.order.dto.MkDistributionPayDTO;
|
||||
import com.czg.order.entity.OrderInfo;
|
||||
import com.czg.order.entity.OrderPayment;
|
||||
import com.czg.order.service.OrderInfoService;
|
||||
import com.czg.order.service.OrderPaymentService;
|
||||
import com.czg.sa.StpKit;
|
||||
|
|
@ -41,10 +32,10 @@ import com.czg.service.market.enums.OrderStatusEnums;
|
|||
import com.czg.service.market.mapper.MkDistributionUserMapper;
|
||||
import com.czg.utils.AssertUtil;
|
||||
import com.czg.utils.CzgRandomUtils;
|
||||
import com.czg.utils.FunUtils;
|
||||
import com.czg.utils.PageUtil;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.czg.utils.FunUtils;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||
|
|
@ -55,13 +46,9 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -423,20 +410,12 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
|
|||
.eq(MkDistributionConfig::getIsEnable, 1));
|
||||
AssertUtil.isNull(config, "店铺未配置分销");
|
||||
param.setStatus(0);
|
||||
if (!"自主申请".equals(param.getOpeningMethod()) || (config.getInviteCount() == 0)) {
|
||||
MkDistributionLevelConfig levelConfig = levelConfigService.getOne(QueryWrapper.create()
|
||||
.eq(MkDistributionLevelConfig::getShopId, param.getShopId())
|
||||
.orderBy(MkDistributionLevelConfig::getId).asc().limit(1));
|
||||
param.setStatus(1);
|
||||
AssertUtil.isNull(levelConfig, "店铺未配置分销等级");
|
||||
param.setDistributionLevelId(levelConfig.getId());
|
||||
param.setDistributionLevelName(levelConfig.getName());
|
||||
}
|
||||
param.setId(param.getId());
|
||||
param.setUserId(shopUser.getUserId());
|
||||
param.setInviteCode(CzgRandomUtils.randomString(10));
|
||||
BigDecimal totalAmount = mapper.getOrderConsumeAmountById(param.getShopId(), param.getUserId());
|
||||
param.setConsumeAmount(totalAmount);
|
||||
if (!"自主申请".equals(param.getOpeningMethod()) || config.getInviteCount() == 0) {
|
||||
initLevel(config, param);
|
||||
}
|
||||
save(param);
|
||||
ShopUser shopUser2 = new ShopUser();
|
||||
shopUser2.setId(shopUser.getId());
|
||||
|
|
@ -458,38 +437,50 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
|
|||
MkDistributionUser distributionUser = getById(param.getId());
|
||||
AssertUtil.isNull(distributionUser, "分销员不存在");
|
||||
AssertUtil.isTrue(distributionUser.getIsAssignLevel() == 0, "分销员并未指定等级,不可重置");
|
||||
MkDistributionConfigVO detail = mkDistributionConfigService.detail(param.getShopId());
|
||||
AssertUtil.isNull(detail, "店铺未配置分销");
|
||||
MkDistributionConfig config = mkDistributionConfigService.getOne(
|
||||
QueryWrapper.create().eq(MkDistributionConfig::getShopId, param.getShopId())
|
||||
.eq(MkDistributionConfig::getIsEnable, 1));
|
||||
AssertUtil.isNull(config, "店铺未配置分销");
|
||||
initLevel(config, distributionUser);
|
||||
MkDistributionUser newDistributionUser = new MkDistributionUser();
|
||||
newDistributionUser.setId(distributionUser.getId());
|
||||
newDistributionUser.setIsAssignLevel(0);
|
||||
newDistributionUser.setDistributionLevelId(distributionUser.getDistributionLevelId());
|
||||
newDistributionUser.setDistributionLevelName(distributionUser.getDistributionLevelName());
|
||||
newDistributionUser.setConsumeAmount(distributionUser.getConsumeAmount());
|
||||
updateById(distributionUser);
|
||||
}
|
||||
|
||||
|
||||
private void initLevel(MkDistributionConfig config, MkDistributionUser distributionUser) {
|
||||
MkDistributionLevelConfig levelConfig = new MkDistributionLevelConfig();
|
||||
if ("not_upgrade".equals(detail.getUpgradeType())) {
|
||||
if ("not_upgrade".equals(config.getUpgradeType())) {
|
||||
levelConfig = levelConfigService.getOne(QueryWrapper.create()
|
||||
.eq(MkDistributionLevelConfig::getShopId, param.getShopId())
|
||||
.eq(MkDistributionLevelConfig::getShopId, config.getShopId())
|
||||
.orderBy(MkDistributionLevelConfig::getId).asc().limit(1));
|
||||
} else if ("invite".equals(detail.getUpgradeType())) {
|
||||
} else if ("invite".equals(config.getUpgradeType())) {
|
||||
levelConfig = levelConfigService.getOne(QueryWrapper.create()
|
||||
.eq(MkDistributionLevelConfig::getShopId, param.getShopId())
|
||||
.eq(MkDistributionLevelConfig::getShopId, config.getShopId())
|
||||
.le(MkDistributionLevelConfig::getInviteCount, distributionUser.getInviteCount())
|
||||
.orderBy(MkDistributionLevelConfig::getInviteCount).asc().limit(1));
|
||||
} else if ("cost".equals(detail.getUpgradeType())) {
|
||||
BigDecimal totalAmount = mapper.getOrderConsumeAmountByList(param.getShopId(), distributionUser.getId());
|
||||
BigDecimal ownTotalAmount = mapper.getOrderConsumeAmountById(param.getShopId(), distributionUser.getUserId());
|
||||
} else if ("cost".equals(config.getUpgradeType())) {
|
||||
BigDecimal totalAmount = mapper.getOrderConsumeAmountByList(config.getShopId(), distributionUser.getId());
|
||||
BigDecimal ownTotalAmount = mapper.getOrderConsumeAmountById(config.getShopId(), distributionUser.getUserId());
|
||||
totalAmount = totalAmount.add(ownTotalAmount);
|
||||
levelConfig = levelConfigService.getOne(QueryWrapper.create()
|
||||
.eq(MkDistributionLevelConfig::getShopId, distributionUser.getShopId())
|
||||
.le(MkDistributionLevelConfig::getCostAmount, totalAmount)
|
||||
.orderBy(MkDistributionLevelConfig::getId).asc().limit(1));
|
||||
distributionUser.setConsumeAmount(totalAmount);
|
||||
}
|
||||
if (levelConfig != null) {
|
||||
newDistributionUser.setDistributionLevelId(levelConfig.getId());
|
||||
newDistributionUser.setDistributionLevelName(levelConfig.getName());
|
||||
distributionUser.setDistributionLevelId(levelConfig.getId());
|
||||
distributionUser.setDistributionLevelName(levelConfig.getName());
|
||||
distributionUser.setStatus(1);
|
||||
} else {
|
||||
newDistributionUser.setDistributionLevelId(0L);
|
||||
newDistributionUser.setDistributionLevelName("无等级");
|
||||
distributionUser.setDistributionLevelId(0L);
|
||||
distributionUser.setDistributionLevelName("无等级");
|
||||
}
|
||||
updateById(newDistributionUser);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -502,21 +493,6 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
|
|||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Map<String, Object> pay(long userId, MkDistributionPayDTO payDTO) {
|
||||
MkDistributionConfigVO detail = mkDistributionConfigService.detail(payDTO.getShopId());
|
||||
AssertUtil.isTrue(detail.getIsEnable() != 1, "分销未开启");
|
||||
if (!TableValueConstant.DistributionConfig.OpenType.PAY.getCode().equals(detail.getOpenType())) {
|
||||
throw new CzgException("当前未开启购买分销配置");
|
||||
}
|
||||
|
||||
OrderPayment orderPayment = new OrderPayment().setShopId(payDTO.getShopId()).setSourceId(userId)
|
||||
.setPayType("distribution").setOrderNo(payDTO.getPlatformType() + IdUtil.getSnowflakeNextId()).setAmount(detail.getPayAmount());
|
||||
orderPaymentService.save(orderPayment);
|
||||
|
||||
return Map.of();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean cashPayOrder(long adminId, MkDistributionPayDTO payParam) {
|
||||
ShopInfo shopInfo = shopInfoService.getById(payParam.getShopId());
|
||||
|
|
|
|||
Loading…
Reference in New Issue