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 36f08d22..00450d12 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,7 +5,7 @@ import cn.hutool.core.util.StrUtil; import com.czg.annotation.SaAdminCheckPermission; import com.czg.annotation.SaCheckMainShop; import com.czg.market.dto.MkDistributionConfigDTO; -import com.czg.market.dto.MkDistributionWithdrawFlowDTO; +import com.czg.market.entity.MkDistributionWithdrawFlow; import com.czg.market.service.*; import com.czg.market.vo.*; import com.czg.order.dto.MkDistributionPayDTO; @@ -115,15 +115,15 @@ public class DistributionController { /** * 用户提现列表 - * @param shopUserId 用户id + * @param userId 用户id * @param key 搜索 * @param startTime 开始时间 * @param endTime 结束时间 */ @GetMapping("/withdrawFlow") - public CzgResult> withdrawPageInfo(@RequestParam(required = false) Long shopUserId, @RequestParam(required = false) String key, - @RequestParam(required = false) String startTime, @RequestParam(required = false) String endTime) { - return CzgResult.success(withdrawFlowService.withdrawPageInfo(StpKit.USER.getShopId(), shopUserId, StrUtil.isBlank(startTime) ? null : DateUtil.parseLocalDateTime(startTime), + public CzgResult> withdrawPageInfo(@RequestParam(required = false) Long userId, @RequestParam(required = false) String key, + @RequestParam(required = false) String startTime, @RequestParam(required = false) String endTime) { + return CzgResult.success(withdrawFlowService.withdrawPageInfo(StpKit.USER.getShopId(), userId, StrUtil.isBlank(startTime) ? null : DateUtil.parseLocalDateTime(startTime), StrUtil.isBlank(endTime) ? null : DateUtil.parseLocalDateTime(endTime), key)); } diff --git a/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java b/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java index 15c66978..8d3a861f 100644 --- a/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java +++ b/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java @@ -136,20 +136,18 @@ public class UDistributionController { /** * 提现详情 */ - @PostMapping("/withdraw/detail") - public CzgResult> withdraw(@RequestParam Long id, @RequestParam Long shopId) { - return CzgResult.success(distributionUserService.withdrawDetail(StpKit.USER.getLoginIdAsLong(), shopId, id)); + @GetMapping("/withdraw/detail") + public CzgResult> withdraw(@RequestParam Long id) { + return CzgResult.success(distributionUserService.withdrawDetail(StpKit.USER.getLoginIdAsLong(), id)); } /** * 提现记录 - * @param shopId - * @return */ @GetMapping("/withdraw/flow") - public CzgResult> withArdwFlow(@RequestParam Long shopId) { - return CzgResult.success(withdrawFlowService.pageInfo(StpKit.USER.getLoginIdAsLong(), shopId)); + public CzgResult> withArdwFlow() { + return CzgResult.success(withdrawFlowService.pageInfo(StpKit.USER.getLoginIdAsLong())); } } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/entity/UserInfo.java b/cash-common/cash-common-service/src/main/java/com/czg/account/entity/UserInfo.java index 23e38364..c070cebb 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/entity/UserInfo.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/entity/UserInfo.java @@ -10,6 +10,7 @@ import lombok.NoArgsConstructor; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.time.LocalDateTime; /** @@ -110,4 +111,6 @@ public class UserInfo implements Serializable { private String realName; private String idCard; + private BigDecimal distributionAmount; + } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/UserInfoService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/UserInfoService.java index e5a344a4..1241e6c1 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/UserInfoService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/UserInfoService.java @@ -6,6 +6,8 @@ import com.czg.account.dto.user.userinfo.UserInfoPwdEditDTO; import com.czg.account.entity.UserInfo; import com.mybatisflex.core.service.IService; +import java.math.BigDecimal; + /** * 服务层。 * @@ -22,4 +24,7 @@ public interface UserInfoService extends IService { Boolean updatePwd(long userId, UserInfoPwdEditDTO userInfoPwdEditDTO); Boolean getCode(Long userId, String type); + + void updateDistributionAmount(long userId, BigDecimal amount); + } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDistributionWithdrawFlowDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDistributionWithdrawFlowDTO.java index cfef5bd8..81668292 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDistributionWithdrawFlowDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDistributionWithdrawFlowDTO.java @@ -24,9 +24,9 @@ import lombok.NoArgsConstructor; @AllArgsConstructor @Accessors(chain = true) public class MkDistributionWithdrawFlowDTO implements Serializable { - @NotNull - private Long shopId; @NotNull(message = "提现金额不为空") @DecimalMin(value = "30", message = "提现金额不能小于30") private BigDecimal amount; + + } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionWithdrawFlow.java b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionWithdrawFlow.java index 668182b3..5912cf14 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionWithdrawFlow.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionWithdrawFlow.java @@ -36,15 +36,11 @@ public class MkDistributionWithdrawFlow implements Serializable { @Id(keyType = KeyType.Auto) private Long id; - /** - * 店铺id - */ - private Long shopId; /** * 店铺用户id */ - private Long shopUserId; + private Long userId; /** * 提现金额 @@ -83,4 +79,10 @@ public class MkDistributionWithdrawFlow implements Serializable { */ private String status; + + @Column(ignore = true) + private String nickName; + @Column(ignore = true) + private String phone; + } 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 074afee8..f29a6e75 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 @@ -111,10 +111,10 @@ public interface MkDistributionUserService extends IService */ void distribute(Long sourceId, String orderNo, BigDecimal amount, Long userId, Long shopId, String type); - void updateIncome(BigDecimal pendingIncome, BigDecimal receivedIncome, BigDecimal withdrawIncome, Long id); + void updateIncome(BigDecimal pendingIncome, BigDecimal receivedIncome, BigDecimal withdrawIncome, Long id, Long userId); Boolean withdraw(long userId, MkDistributionWithdrawFlowDTO withdrawFlowDTO); - Map withdrawDetail(long userId, Long shopId, Long id); + Map withdrawDetail(long userId, Long id); } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionWithdrawFlowService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionWithdrawFlowService.java index d3ad2c3d..5bfefcec 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionWithdrawFlowService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionWithdrawFlowService.java @@ -1,6 +1,5 @@ package com.czg.market.service; -import com.czg.market.dto.MkDistributionWithdrawFlowDTO; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; import com.czg.market.entity.MkDistributionWithdrawFlow; @@ -15,7 +14,7 @@ import java.time.LocalDateTime; */ public interface MkDistributionWithdrawFlowService extends IService { - Page pageInfo(long userId, Long shopId); + Page pageInfo(long userId); - Page withdrawPageInfo(Long shopId, Long shopUserId, LocalDateTime startTime, LocalDateTime endTime, String key); + Page withdrawPageInfo(Long shopId, Long userId, LocalDateTime startTime, LocalDateTime endTime, String key); } diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/mapper/UserInfoMapper.java b/cash-service/account-service/src/main/java/com/czg/service/account/mapper/UserInfoMapper.java index 4541f244..9d29c998 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/mapper/UserInfoMapper.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/mapper/UserInfoMapper.java @@ -2,6 +2,9 @@ package com.czg.service.account.mapper; import com.czg.account.entity.UserInfo; import com.mybatisflex.core.BaseMapper; +import org.apache.ibatis.annotations.Update; + +import java.math.BigDecimal; /** * 映射层。 @@ -11,4 +14,5 @@ import com.mybatisflex.core.BaseMapper; */ public interface UserInfoMapper extends BaseMapper { + boolean updateAmount(long userId, BigDecimal amount); } diff --git a/cash-service/account-service/src/main/resources/mapper/UserInfoMapper.xml b/cash-service/account-service/src/main/resources/mapper/UserInfoMapper.xml index bc5b78ae..06b522ad 100644 --- a/cash-service/account-service/src/main/resources/mapper/UserInfoMapper.xml +++ b/cash-service/account-service/src/main/resources/mapper/UserInfoMapper.xml @@ -4,4 +4,8 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + update tb_user_info set distribution_amount = distribution_amount + #{amount} where id = #{id} + and distribution_amount + #{amount} >= 0 + 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 ed0e7d8a..84b5a051 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 @@ -436,7 +436,7 @@ public class MkDistributionUserServiceImpl extends ServiceImpl withdrawDetail(long userId, Long shopId, Long id) { - ShopUser shopUserInfo = shopUserService.getShopUserInfo(shopId, userId); - MkDistributionWithdrawFlow flow = withdrawFlowService.getOne(new QueryWrapper().eq(MkDistributionWithdrawFlow::getId, id).eq(MkDistributionWithdrawFlow::getShopUserId, shopUserInfo.getId())); + public Map withdrawDetail(long userId, Long id) { + MkDistributionWithdrawFlow flow = withdrawFlowService.getOne(new QueryWrapper().eq(MkDistributionWithdrawFlow::getId, id).eq(MkDistributionWithdrawFlow::getUserId, userId)); AssertUtil.isNull(flow, "提现记录不存在"); AssertUtil.isTrue(TableValueConstant.DistributionWithdrawFlow.Status.FINISH.getCode().equals(flow.getStatus()), "已经提现"); diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionWithdrawFlowServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionWithdrawFlowServiceImpl.java index 7689098a..e3a05cbd 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionWithdrawFlowServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionWithdrawFlowServiceImpl.java @@ -1,8 +1,10 @@ package com.czg.service.market.service.impl; +import cn.hutool.core.util.StrUtil; import com.czg.account.entity.ShopUser; +import com.czg.account.entity.UserInfo; import com.czg.account.service.ShopUserService; -import com.czg.market.dto.MkDistributionWithdrawFlowDTO; +import com.czg.utils.MyQueryWrapper; import com.czg.utils.PageUtil; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; @@ -10,10 +12,11 @@ import com.mybatisflex.spring.service.impl.ServiceImpl; import com.czg.market.entity.MkDistributionWithdrawFlow; import com.czg.market.service.MkDistributionWithdrawFlowService; import com.czg.service.market.mapper.MkDistributionWithdrawFlowMapper; -import jakarta.annotation.Resource; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; + /** * 提现记录表 服务层实现。 * @@ -26,8 +29,34 @@ public class MkDistributionWithdrawFlowServiceImpl extends ServiceImpl pageInfo(long userId, Long shopId) { - ShopUser shopUserInfo = shopUserService.getShopUserInfo(shopId, userId); - return page(PageUtil.buildPage(), new QueryWrapper().eq(MkDistributionWithdrawFlow::getShopUserId, shopUserInfo.getId())); + public Page pageInfo(long userId) { + return page(PageUtil.buildPage(), new QueryWrapper().eq(MkDistributionWithdrawFlow::getUserId, userId)); + } + + @Override + public Page withdrawPageInfo(Long shopId, Long userId, LocalDateTime startTime, LocalDateTime endTime, String key) { + QueryWrapper queryWrapper = new MyQueryWrapper() + .selectAll(MkDistributionWithdrawFlow.class) + .leftJoin(UserInfo.class).on(UserInfo::getId, MkDistributionWithdrawFlow::getUserId) + .select(UserInfo::getNickName, UserInfo::getPhone) + .eq(MkDistributionWithdrawFlow::getShopId, shopId).eq(MkDistributionWithdrawFlow::getUserId, userId) + .ge(MkDistributionWithdrawFlow::getCreateTime, startTime) + .le(MkDistributionWithdrawFlow::getCreateTime, endTime); + if (StrUtil.isNotBlank(key)){ + queryWrapper.and(and -> { + and.or(or -> { + or.like(ShopUser::getId, key); + }); + + and.or(or -> { + or.like(ShopUser::getNickName, key); + }); + + and.or(or -> { + or.like(ShopUser::getPhone, key); + }); + }); + } + return page(PageUtil.buildPage(), queryWrapper); } }