From 61187119197eed112c23c41cf0c0be365243be0d Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Mon, 27 Oct 2025 13:55:14 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=88=86=E9=94=80=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/DistributionUserController.java | 79 ++++++++++++++++ .../czg/market/dto/MkDistributionUserDTO.java | 16 +++- .../entity/MkDistributionLevelConfig.java | 4 + .../czg/market/entity/MkDistributionUser.java | 4 +- .../service/MkDistributionUserService.java | 3 +- .../impl/MkDistributionUserServiceImpl.java | 89 +++++++++++++++++-- 6 files changed, 181 insertions(+), 14 deletions(-) create mode 100644 cash-api/market-server/src/main/java/com/czg/controller/admin/DistributionUserController.java diff --git a/cash-api/market-server/src/main/java/com/czg/controller/admin/DistributionUserController.java b/cash-api/market-server/src/main/java/com/czg/controller/admin/DistributionUserController.java new file mode 100644 index 00000000..c7619487 --- /dev/null +++ b/cash-api/market-server/src/main/java/com/czg/controller/admin/DistributionUserController.java @@ -0,0 +1,79 @@ +package com.czg.controller.admin; + +import com.czg.annotation.SaAdminCheckPermission; +import com.czg.log.annotation.OperationLog; +import com.czg.market.dto.MkDistributionUserDTO; +import com.czg.market.entity.MkDistributionUser; +import com.czg.market.service.MkDistributionUserService; +import com.czg.resp.CzgResult; +import com.czg.sa.StpKit; +import com.czg.utils.AssertUtil; +import com.czg.validator.group.DefaultGroup; +import com.czg.validator.group.UpdateGroup; +import com.mybatisflex.core.paginate.Page; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * 分销员 + * + * @author Administrator + */ +@RestController +@RequestMapping("/admin/distribution/user") +public class DistributionUserController { + @Resource + private MkDistributionUserService distributionUserService; + + /** + * 分销员:获取分销员分页列表 + */ + @GetMapping + public CzgResult> getDistributionUser(MkDistributionUserDTO param) { + return CzgResult.success(distributionUserService.getDistributionUser(param)); + } + + /** + * 分销员:添加分销员 + * + * @return 是否成功 + */ + @PostMapping + @OperationLog("分销员-添加") + @SaAdminCheckPermission(value = "distribution:user:add", name = "分销员添加") + public CzgResult addDistributionUser(@RequestBody MkDistributionUser param) { + Long shopId = StpKit.USER.getShopId(0L); + param.setShopId(shopId); + distributionUserService.addDistributionUser(param); + return CzgResult.success(); + } + + + /** + * 分销员:修改 + */ + @PutMapping + @OperationLog("分销员-修改") + @SaAdminCheckPermission("distribution:user:update") + public CzgResult updateDistributionUser(@RequestBody @Validated({UpdateGroup.class, DefaultGroup.class}) MkDistributionUserDTO dto) { + Long shopId = StpKit.USER.getShopId(0L); + dto.setShopId(shopId); + distributionUserService.updateDistributionUserById(dto); + return CzgResult.success(); + } + + /** + * 分销员:删除 + */ + @DeleteMapping + @OperationLog("分销员-删除") + @SaAdminCheckPermission("distribution:user::delete") + public CzgResult deleteDistributionUser(@RequestParam Long id) { + AssertUtil.isNull(id, "{}不能为空", "id"); + distributionUserService.deleteDistributionUser(id); + return CzgResult.success(); + } + + +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDistributionUserDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDistributionUserDTO.java index 80b8df35..ec7907da 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDistributionUserDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDistributionUserDTO.java @@ -7,6 +7,7 @@ import java.sql.Timestamp; import com.czg.TimeQueryParam; import lombok.experimental.Accessors; + import java.io.Serial; import java.time.LocalDateTime; @@ -32,7 +33,7 @@ public class MkDistributionUserDTO extends TimeQueryParam implements Serializabl /** * 分销员ID,主键自增 */ - private Integer id; + private Long id; /** * 上级ID 关联本表id字段,无上级时为NULL @@ -57,7 +58,7 @@ public class MkDistributionUserDTO extends TimeQueryParam implements Serializabl /** * 分销等级名称 */ - private Long distributionLevelName; + private String distributionLevelName; /** * 总收益 @@ -91,7 +92,7 @@ public class MkDistributionUserDTO extends TimeQueryParam implements Serializabl /** - * 默认 0 不分钱 1 正常分销员 9 被取消的分销员 + * 默认 0 不分钱 1 正常分销员 9 被取消的分销员 */ private Integer status; @@ -105,4 +106,13 @@ public class MkDistributionUserDTO extends TimeQueryParam implements Serializabl */ private LocalDateTime updateTime; + /** + * 用户名称 + */ + private String shopUserName; + /** + * 手机号 + */ + private String shopUserPhone; + } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionLevelConfig.java b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionLevelConfig.java index e6a59a88..12b049c0 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionLevelConfig.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionLevelConfig.java @@ -49,6 +49,10 @@ public class MkDistributionLevelConfig implements Serializable { * 有效人数 */ private Integer inviteCount; + /** + * 等级 + */ + private Integer level; /** * 消费金额 diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionUser.java b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionUser.java index 4d2c989d..95606bdc 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionUser.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionUser.java @@ -37,7 +37,7 @@ public class MkDistributionUser implements Serializable { * 分销员ID,主键自增 */ @Id(keyType = KeyType.Auto) - private Integer id; + private Long id; /** * 上级ID 关联本表id字段,无上级时为NULL @@ -62,7 +62,7 @@ public class MkDistributionUser implements Serializable { /** * 分销等级名称 */ - private Long distributionLevelName; + private String distributionLevelName; /** * 总收益 diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java index 523d05a1..acc90152 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java @@ -1,10 +1,9 @@ package com.czg.market.service; import com.czg.market.dto.MkDistributionUserDTO; -import com.czg.market.dto.ShopCouponDTO; +import com.czg.market.entity.MkDistributionUser; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; -import com.czg.market.entity.MkDistributionUser; /** * 分销员表 服务层。 diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java index baf12f4e..21877e42 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java @@ -1,13 +1,31 @@ package com.czg.service.market.service.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import com.czg.account.entity.ShopUser; +import com.czg.account.service.ShopUserService; import com.czg.market.dto.MkDistributionUserDTO; -import com.mybatisflex.core.paginate.Page; -import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.czg.market.entity.MkDistributionConfig; +import com.czg.market.entity.MkDistributionLevelConfig; import com.czg.market.entity.MkDistributionUser; +import com.czg.market.service.MkDistributionConfigService; +import com.czg.market.service.MkDistributionLevelConfigService; import com.czg.market.service.MkDistributionUserService; import com.czg.service.market.mapper.MkDistributionUserMapper; +import com.czg.utils.AssertUtil; +import com.mybatisflex.core.paginate.Page; +import com.mybatisflex.core.query.QueryWrapper; +import com.mybatisflex.spring.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.stereotype.Service; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.stream.Collectors; + /** * 分销员表 服务层实现。 * @@ -15,25 +33,82 @@ import org.springframework.stereotype.Service; * @since 2025-10-27 */ @Service -public class MkDistributionUserServiceImpl extends ServiceImpl implements MkDistributionUserService{ +public class MkDistributionUserServiceImpl extends ServiceImpl implements MkDistributionUserService { + + @Resource + private MkDistributionConfigService mkDistributionConfigService; + @Resource + private MkDistributionLevelConfigService levelConfigService; + @DubboReference + private ShopUserService shopUserService; @Override public Page getDistributionUser(MkDistributionUserDTO param) { - return null; + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq(MkDistributionUser::getShopId, param.getShopId()); + queryWrapper.eq(MkDistributionUser::getParentId, param.getParentId()); + queryWrapper.eq(MkDistributionUser::getShopUserId, param.getShopUserId()); + queryWrapper.ge(MkDistributionUser::getCreateTime, param.getStartTime()); + queryWrapper.le(MkDistributionUser::getCreateTime, param.getEndTime()); + queryWrapper.orderBy(MkDistributionUser::getCreateTime).desc(); + Page page = pageAs(new Page<>(param.getPage(), param.getSize()), queryWrapper, MkDistributionUserDTO.class); + Map shopUserMap = new HashMap<>(); + if (CollUtil.isNotEmpty(page.getRecords())) { + if (param.getShopUserId() != null) { + shopUserMap.put(param.getShopUserId(), shopUserService.getById(param.getShopUserId())); + } else { + Set shopUserIds = page.getRecords().stream() + .map(MkDistributionUserDTO::getShopUserId) + .filter(Objects::nonNull) + .collect(Collectors.toSet()); + shopUserMap = shopUserService.list(QueryWrapper.create().in(ShopUser::getId, shopUserIds)) + .stream().collect(Collectors.toMap(ShopUser::getId, shopUser -> shopUser)); + } + for (MkDistributionUserDTO record : page.getRecords()) { + ShopUser shopUser = shopUserMap.get(record.getShopUserId()); + if (shopUser == null || shopUser.getId() == null) { + continue; + } + record.setShopUserName(shopUser.getNickName()); + record.setShopUserPhone(shopUser.getPhone()); + } + } + return page; } @Override public void addDistributionUser(MkDistributionUser param) { - + AssertUtil.isNull(param.getShopId(), "店铺ID不能为空"); + AssertUtil.isNull(param.getOpeningMethod(), "开通方式不能为空"); + MkDistributionConfig config = mkDistributionConfigService.getOne( + QueryWrapper.create().eq(MkDistributionConfig::getShopId, param.getShopId()) + .eq(MkDistributionConfig::getIsEnable, 1)); + AssertUtil.isNull(config, "店铺未配置分销"); + if (config.getInviteCount() == 0) { + param.setStatus(1); + MkDistributionLevelConfig levelConfig = levelConfigService.getOne(QueryWrapper.create() + .eq(MkDistributionLevelConfig::getShopId, param.getShopId()) + .eq(MkDistributionLevelConfig::getLevel, 1)); + AssertUtil.isNull(levelConfig, "店铺未配置分销等级"); + param.setDistributionLevelId(levelConfig.getId()); + param.setDistributionLevelName(levelConfig.getName()); + } + save(param); } @Override public void updateDistributionUserById(MkDistributionUserDTO param) { - + AssertUtil.isNull(param.getId(), "分销员ID不能为空"); + MkDistributionUser distributionUser = BeanUtil.toBean(param, MkDistributionUser.class); + updateById(distributionUser); } @Override public void deleteDistributionUser(Long id) { - + AssertUtil.isNull(id, "分销员ID不能为空"); + MkDistributionUser distributionUser = new MkDistributionUser(); + distributionUser.setId(id); + distributionUser.setDel(true); + updateById(distributionUser); } } From 7c18e80c88fb4f5b6440a4bc1c18b8971e089d8a Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Mon, 27 Oct 2025 14:09:31 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=BE=AA=E7=8E=AF=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/DistributionController.java | 5 +- .../service/MkDistributionConfigService.java | 12 ---- .../service/MkDistributionUserService.java | 17 +++++ .../impl/MkDistributionConfigServiceImpl.java | 54 --------------- .../impl/MkDistributionUserServiceImpl.java | 69 +++++++++++++++++++ .../service/impl/OrderInfoServiceImpl.java | 4 +- 6 files changed, 92 insertions(+), 69 deletions(-) diff --git a/cash-api/market-server/src/main/java/com/czg/controller/admin/DistributionController.java b/cash-api/market-server/src/main/java/com/czg/controller/admin/DistributionController.java index 7f6bd4fa..8ce8a78c 100644 --- a/cash-api/market-server/src/main/java/com/czg/controller/admin/DistributionController.java +++ b/cash-api/market-server/src/main/java/com/czg/controller/admin/DistributionController.java @@ -5,6 +5,7 @@ import com.czg.annotation.SaCheckMainShop; import com.czg.market.dto.MkDistributionConfigDTO; import com.czg.market.service.MkDistributionAmountFlowService; import com.czg.market.service.MkDistributionConfigService; +import com.czg.market.service.MkDistributionUserService; import com.czg.market.vo.*; import com.czg.order.dto.MkDistributionPayDTO; import com.czg.resp.CzgResult; @@ -30,6 +31,8 @@ public class DistributionController { @Resource private MkDistributionConfigService configService; @Resource + private MkDistributionUserService distributionUserService; + @Resource private MkDistributionAmountFlowService distributionAmountFlowService; /** @@ -64,7 +67,7 @@ public class DistributionController { AssertUtil.isNull(payParam.getShopId(), "店铺id不能为空"); AssertUtil.isNull(payParam.getAmount(), "充值金额不能为空"); AssertUtil.isTrue(payParam.getAmount().compareTo(BigDecimal.ZERO) == 0, "金额不为0"); - return CzgResult.success(configService.cashPayOrder(StpKit.USER.getLoginIdAsLong(), payParam)); + return CzgResult.success(distributionUserService.cashPayOrder(StpKit.USER.getLoginIdAsLong(), payParam)); } /** diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionConfigService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionConfigService.java index 698bf0b3..29018d4f 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionConfigService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionConfigService.java @@ -19,16 +19,4 @@ public interface MkDistributionConfigService extends IService pay(long userId, MkDistributionPayDTO payDTO); - - Boolean cashPayOrder(long adminId, MkDistributionPayDTO payParam); - - /** - * 分销员开通 - * @param userId 用户 - * @param amount 金额 - * @param shopId 店铺id - */ - void open(Long userId, BigDecimal amount, Long shopId, Long sourceId); } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java index acc90152..afd7769a 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java @@ -2,9 +2,13 @@ package com.czg.market.service; import com.czg.market.dto.MkDistributionUserDTO; import com.czg.market.entity.MkDistributionUser; +import com.czg.order.dto.MkDistributionPayDTO; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; +import java.math.BigDecimal; +import java.util.Map; + /** * 分销员表 服务层。 * @@ -37,4 +41,17 @@ public interface MkDistributionUserService extends IService */ void deleteDistributionUser(Long id); + + Map pay(long userId, MkDistributionPayDTO payDTO); + + Boolean cashPayOrder(long adminId, MkDistributionPayDTO payParam); + + /** + * 分销员开通 + * @param userId 用户 + * @param amount 金额 + * @param shopId 店铺id + */ + void open(Long userId, BigDecimal amount, Long shopId, Long sourceId); + } diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionConfigServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionConfigServiceImpl.java index 95901a4d..21ac2b14 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionConfigServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionConfigServiceImpl.java @@ -49,19 +49,8 @@ public class MkDistributionConfigServiceImpl extends ServiceImpl pay(long userId, MkDistributionPayDTO payDTO) { - MkDistributionConfigVO detail = 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()); - AssertUtil.isNull(shopInfo, "店铺不存在"); - BigDecimal amount = shopInfoService.updateAmount(shopInfo.getId(), payParam.getAmount()); - Long mainShopId = shopInfoService.getMainIdByShopId(shopInfo.getId()); - - distributionAmountFlowService.save(new MkDistributionAmountFlow() - .setType(payParam.getAmount().compareTo(BigDecimal.ZERO) < 0 ? TableValueConstant.DistributionAmountFlow.Type.MANUAL_SUB.getCode() : - TableValueConstant.DistributionAmountFlow.Type.MANUAL_RECHARGE.getCode()) - .setMainShopId(mainShopId).setShopId(shopInfo.getId()).setAmount(amount).setChangeAmount(payParam.getAmount()) - .setRemark(payParam.getRemark()).setOpAccount(StpKit.USER.getAccount())); - return true; - } - - @Override - public void open(Long userId, BigDecimal amount, Long shopId, Long sourceId) { - ShopUser shopUserInfo = shopUserService.getShopUserInfo(shopId, userId); - Long mainShopId = shopInfoService.getMainIdByShopId(shopId); - BigDecimal finalAmount = shopInfoService.updateAmount(shopId, amount); - distributionAmountFlowService.save(new MkDistributionAmountFlow() - .setType(TableValueConstant.DistributionAmountFlow.Type.OPEN.getCode()) - .setMainShopId(mainShopId).setShopId(shopId).setAmount(finalAmount).setChangeAmount(amount).setSourceId(sourceId) - .setRemark("分销员购买").setOpAccount(StpKit.USER.getAccount())); - distributionUserService.addDistributionUser(new MkDistributionUser().setParentId(null).setShopId(shopId) - .setShopUserId(shopUserInfo.getId()).setOpeningMethod("付费开通")); - } } diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java index 21877e42..24690c3b 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java @@ -2,16 +2,29 @@ package com.czg.service.market.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.IdUtil; +import com.czg.account.entity.ShopInfo; import com.czg.account.entity.ShopUser; +import com.czg.account.service.ShopInfoService; import com.czg.account.service.ShopUserService; +import com.czg.constant.TableValueConstant; +import com.czg.exception.CzgException; import com.czg.market.dto.MkDistributionUserDTO; +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.MkDistributionConfigVO; +import com.czg.order.dto.MkDistributionPayDTO; +import com.czg.order.entity.OrderPayment; +import com.czg.order.service.OrderPaymentService; +import com.czg.sa.StpKit; import com.czg.service.market.mapper.MkDistributionUserMapper; +import com.czg.system.service.WxService; import com.czg.utils.AssertUtil; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; @@ -20,6 +33,7 @@ import jakarta.annotation.Resource; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.HashMap; import java.util.Map; import java.util.Objects; @@ -41,6 +55,17 @@ public class MkDistributionUserServiceImpl extends ServiceImpl getDistributionUser(MkDistributionUserDTO param) { @@ -111,4 +136,48 @@ public class MkDistributionUserServiceImpl extends ServiceImpl 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()); + AssertUtil.isNull(shopInfo, "店铺不存在"); + BigDecimal amount = shopInfoService.updateAmount(shopInfo.getId(), payParam.getAmount()); + Long mainShopId = shopInfoService.getMainIdByShopId(shopInfo.getId()); + + distributionAmountFlowService.save(new MkDistributionAmountFlow() + .setType(payParam.getAmount().compareTo(BigDecimal.ZERO) < 0 ? TableValueConstant.DistributionAmountFlow.Type.MANUAL_SUB.getCode() : + TableValueConstant.DistributionAmountFlow.Type.MANUAL_RECHARGE.getCode()) + .setMainShopId(mainShopId).setShopId(shopInfo.getId()).setAmount(amount).setChangeAmount(payParam.getAmount()) + .setRemark(payParam.getRemark()).setOpAccount(StpKit.USER.getAccount())); + return true; + } + + @Override + public void open(Long userId, BigDecimal amount, Long shopId, Long sourceId) { + ShopUser shopUserInfo = shopUserService.getShopUserInfo(shopId, userId); + Long mainShopId = shopInfoService.getMainIdByShopId(shopId); + BigDecimal finalAmount = shopInfoService.updateAmount(shopId, amount); + distributionAmountFlowService.save(new MkDistributionAmountFlow() + .setType(TableValueConstant.DistributionAmountFlow.Type.OPEN.getCode()) + .setMainShopId(mainShopId).setShopId(shopId).setAmount(finalAmount).setChangeAmount(amount).setSourceId(sourceId) + .setRemark("分销员购买").setOpAccount(StpKit.USER.getAccount())); + distributionUserService.addDistributionUser(new MkDistributionUser().setParentId(null).setShopId(shopId) + .setShopUserId(shopUserInfo.getId()).setOpeningMethod("付费开通")); + } } diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java index cf1e958f..6c02e13a 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java @@ -137,7 +137,7 @@ public class OrderInfoServiceImpl extends ServiceImpl