重置分销组
This commit is contained in:
parent
464bb80755
commit
f8788a7786
|
|
@ -73,12 +73,23 @@ public class DistributionUserController {
|
||||||
@OperationLog("分销员-修改")
|
@OperationLog("分销员-修改")
|
||||||
@SaAdminCheckPermission(value = "distribution:user:update", name = "分销员修改")
|
@SaAdminCheckPermission(value = "distribution:user:update", name = "分销员修改")
|
||||||
public CzgResult<Void> updateDistributionUser(@RequestBody @Validated({UpdateGroup.class, DefaultGroup.class}) MkDistributionUserDTO dto) {
|
public CzgResult<Void> updateDistributionUser(@RequestBody @Validated({UpdateGroup.class, DefaultGroup.class}) MkDistributionUserDTO dto) {
|
||||||
Long shopId = StpKit.USER.getShopId(0L);
|
Long shopId = StpKit.USER.getShopId();
|
||||||
dto.setShopId(shopId);
|
dto.setShopId(shopId);
|
||||||
distributionUserService.updateDistributionUserById(dto);
|
distributionUserService.updateDistributionUserById(dto);
|
||||||
return CzgResult.success();
|
return CzgResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping("/resetLevel")
|
||||||
|
@OperationLog("分销员-重置分销组")
|
||||||
|
@SaAdminCheckPermission(value = "distribution:user:update", name = "重置分销组")
|
||||||
|
public CzgResult<Void> resetDistributionUserLevel(@RequestBody MkDistributionUserDTO dto) {
|
||||||
|
Long shopId = StpKit.USER.getShopId();
|
||||||
|
dto.setShopId(shopId);
|
||||||
|
distributionUserService.resetDistributionUserLevel(dto);
|
||||||
|
return CzgResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分销员:删除
|
* 分销员:删除
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,10 @@ public interface MkDistributionUserService extends IService<MkDistributionUser>
|
||||||
* 更新分销员
|
* 更新分销员
|
||||||
*/
|
*/
|
||||||
void updateDistributionUserById(MkDistributionUserDTO param);
|
void updateDistributionUserById(MkDistributionUserDTO param);
|
||||||
|
/**
|
||||||
|
* 重置分销员等级
|
||||||
|
*/
|
||||||
|
void resetDistributionUserLevel(MkDistributionUserDTO param);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -220,8 +220,8 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
|
||||||
}
|
}
|
||||||
MkDistributionUser mkDistributionUser = this.getOne(QueryWrapper.create()
|
MkDistributionUser mkDistributionUser = this.getOne(QueryWrapper.create()
|
||||||
.eq(MkDistributionUser::getId, shopUser.getId()).eq(MkDistributionUser::getShopId, shopId));
|
.eq(MkDistributionUser::getId, shopUser.getId()).eq(MkDistributionUser::getShopId, shopId));
|
||||||
if(mkDistributionUser == null){
|
if (mkDistributionUser == null) {
|
||||||
mkDistributionUser= new MkDistributionUser();
|
mkDistributionUser = new MkDistributionUser();
|
||||||
mkDistributionUser.setId(shopUser.getId());
|
mkDistributionUser.setId(shopUser.getId());
|
||||||
mkDistributionUser.setShopId(shopId);
|
mkDistributionUser.setShopId(shopId);
|
||||||
mkDistributionUser.setOpeningMethod("自主申请");
|
mkDistributionUser.setOpeningMethod("自主申请");
|
||||||
|
|
@ -321,6 +321,7 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
|
||||||
List<Long> userIds = shopUserService.listAs(QueryWrapper.create()
|
List<Long> userIds = shopUserService.listAs(QueryWrapper.create()
|
||||||
.select(ShopUser::getUserId)
|
.select(ShopUser::getUserId)
|
||||||
.eq(ShopUser::getDistributionUserId, shopUserId), Long.class);
|
.eq(ShopUser::getDistributionUserId, shopUserId), Long.class);
|
||||||
|
userIds.add(distributionUser.getUserId());
|
||||||
BigDecimal totalAmount = orderInfoService.getOneAs(QueryWrapper.create()
|
BigDecimal totalAmount = orderInfoService.getOneAs(QueryWrapper.create()
|
||||||
.select("sum(pay_amount)")
|
.select("sum(pay_amount)")
|
||||||
.eq(OrderInfo::getShopId, shopId)
|
.eq(OrderInfo::getShopId, shopId)
|
||||||
|
|
@ -328,9 +329,9 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
|
||||||
.in(OrderInfo::getUserId, userIds), BigDecimal.class);
|
.in(OrderInfo::getUserId, userIds), BigDecimal.class);
|
||||||
MkDistributionLevelConfig levelConfig = levelConfigService.getOne(QueryWrapper.create()
|
MkDistributionLevelConfig levelConfig = levelConfigService.getOne(QueryWrapper.create()
|
||||||
.eq(MkDistributionLevelConfig::getShopId, distributionUser.getShopId())
|
.eq(MkDistributionLevelConfig::getShopId, distributionUser.getShopId())
|
||||||
.le(MkDistributionLevelConfig::getInviteCount, distributionUser.getInviteCount())
|
.le(MkDistributionLevelConfig::getCostAmount, totalAmount)
|
||||||
.gt(MkDistributionLevelConfig::getId, distributionUser.getDistributionLevelId())
|
.gt(MkDistributionLevelConfig::getId, distributionUser.getDistributionLevelId())
|
||||||
.orderBy(MkDistributionLevelConfig::getLevel).desc().limit(1));
|
.orderBy(MkDistributionLevelConfig::getId).asc().limit(1));
|
||||||
if (levelConfig != null) {
|
if (levelConfig != null) {
|
||||||
if (totalAmount.compareTo(levelConfig.getCostAmount()) >= 0) {
|
if (totalAmount.compareTo(levelConfig.getCostAmount()) >= 0) {
|
||||||
MkDistributionUser newDistributionUser = new MkDistributionUser();
|
MkDistributionUser newDistributionUser = new MkDistributionUser();
|
||||||
|
|
@ -427,6 +428,50 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
|
||||||
updateById(distributionUser);
|
updateById(distributionUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resetDistributionUserLevel(MkDistributionUserDTO param) {
|
||||||
|
AssertUtil.isNull(param.getId(), "分销员ID不能为空");
|
||||||
|
MkDistributionUser distributionUser = getById(param.getId());
|
||||||
|
AssertUtil.isNull(distributionUser, "分销员不存在");
|
||||||
|
MkDistributionConfigVO detail = mkDistributionConfigService.detail(param.getShopId());
|
||||||
|
AssertUtil.isNull(detail, "店铺未配置分销");
|
||||||
|
MkDistributionUser newDistributionUser = new MkDistributionUser();
|
||||||
|
newDistributionUser.setId(distributionUser.getId());
|
||||||
|
MkDistributionLevelConfig levelConfig = new MkDistributionLevelConfig();
|
||||||
|
if ("not_upgrade".equals(detail.getUpgradeType())) {
|
||||||
|
levelConfig = levelConfigService.getOne(QueryWrapper.create()
|
||||||
|
.eq(MkDistributionLevelConfig::getShopId, param.getShopId())
|
||||||
|
.orderBy(MkDistributionLevelConfig::getId).asc().limit(1));
|
||||||
|
} else if ("invite".equals(detail.getUpgradeType())) {
|
||||||
|
levelConfig = levelConfigService.getOne(QueryWrapper.create()
|
||||||
|
.eq(MkDistributionLevelConfig::getShopId, param.getShopId())
|
||||||
|
.le(MkDistributionLevelConfig::getInviteCount, distributionUser.getInviteCount())
|
||||||
|
.orderBy(MkDistributionLevelConfig::getInviteCount).asc().limit(1));
|
||||||
|
} else if ("cost".equals(detail.getUpgradeType())) {
|
||||||
|
List<Long> userIds = shopUserService.listAs(QueryWrapper.create()
|
||||||
|
.select(ShopUser::getUserId)
|
||||||
|
.eq(ShopUser::getDistributionUserId, distributionUser.getId()), Long.class);
|
||||||
|
userIds.add(distributionUser.getUserId());
|
||||||
|
BigDecimal totalAmount = orderInfoService.getOneAs(QueryWrapper.create()
|
||||||
|
.select("sum(pay_amount)")
|
||||||
|
.eq(OrderInfo::getShopId, param.getShopId())
|
||||||
|
.eq(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode())
|
||||||
|
.in(OrderInfo::getUserId, userIds), BigDecimal.class);
|
||||||
|
levelConfig = levelConfigService.getOne(QueryWrapper.create()
|
||||||
|
.eq(MkDistributionLevelConfig::getShopId, distributionUser.getShopId())
|
||||||
|
.le(MkDistributionLevelConfig::getCostAmount, totalAmount)
|
||||||
|
.orderBy(MkDistributionLevelConfig::getId).asc().limit(1));
|
||||||
|
}
|
||||||
|
if (levelConfig != null) {
|
||||||
|
distributionUser.setDistributionLevelId(levelConfig.getId());
|
||||||
|
distributionUser.setDistributionLevelName(levelConfig.getName());
|
||||||
|
} else {
|
||||||
|
distributionUser.setDistributionLevelId(0L);
|
||||||
|
distributionUser.setDistributionLevelName("无等级");
|
||||||
|
}
|
||||||
|
updateById(newDistributionUser);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteDistributionUser(Long id) {
|
public void deleteDistributionUser(Long id) {
|
||||||
AssertUtil.isNull(id, "分销员ID不能为空");
|
AssertUtil.isNull(id, "分销员ID不能为空");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue