diff --git a/cash-api/market-server/src/main/java/com/czg/controller/admin/MemberController.java b/cash-api/market-server/src/main/java/com/czg/controller/admin/MemberController.java index 693140d88..5cde5aa0a 100644 --- a/cash-api/market-server/src/main/java/com/czg/controller/admin/MemberController.java +++ b/cash-api/market-server/src/main/java/com/czg/controller/admin/MemberController.java @@ -1,17 +1,22 @@ package com.czg.controller.admin; +import com.czg.account.dto.PageDTO; import com.czg.exception.CzgException; import com.czg.market.dto.MemberConfigDTO; import com.czg.market.dto.MemberLevelDTO; import com.czg.market.entity.MemberLevelConfig; +import com.czg.market.entity.MemberOrder; import com.czg.market.service.MemberLevelConfigService; +import com.czg.market.service.MemberOrderService; import com.czg.market.service.TbMemberConfigService; import com.czg.market.vo.MemberConfigVO; import com.czg.market.vo.MemberLevelVO; import com.czg.resp.CzgResult; import com.czg.sa.StpKit; import com.czg.utils.AssertUtil; +import com.czg.utils.PageUtil; import com.czg.validator.group.UpdateGroup; +import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; import jakarta.annotation.Resource; import jakarta.validation.groups.Default; @@ -31,7 +36,22 @@ public class MemberController { private TbMemberConfigService memberConfigService; @Resource private MemberLevelConfigService memberLevelConfigService; + @Resource + private MemberOrderService memberOrderService; + + /** + * 会员购买订单记录 分页 + * @param startTime 开始时间 + * @param endTime 结束时间 + * @param key 用户id + * @return 订单信息 + */ + @GetMapping("/order") + public CzgResult> memberOrderPage(@RequestParam(required = false) String startTime, + @RequestParam(required = false) String endTime, @RequestParam(required = false) String key) { + return CzgResult.success(memberOrderService.pageInfo(startTime, endTime, key)); + } /** * 配置信息获取 * 权限标识: activate:list diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MemberOrderService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MemberOrderService.java index c678dc0cf..188c6dfab 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MemberOrderService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MemberOrderService.java @@ -1,6 +1,7 @@ package com.czg.market.service; import com.czg.market.dto.MemberOrderDTO; +import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; import com.czg.market.entity.MemberOrder; @@ -13,4 +14,6 @@ import com.czg.market.entity.MemberOrder; public interface MemberOrderService extends IService { MemberOrder createMemberOrder(MemberOrderDTO orderDTO); + + Page pageInfo(String startTime, String endTime, String key); } diff --git a/cash-common/cash-common-tools/pom.xml b/cash-common/cash-common-tools/pom.xml index 2faba48ed..a4ceb0083 100644 --- a/cash-common/cash-common-tools/pom.xml +++ b/cash-common/cash-common-tools/pom.xml @@ -20,6 +20,12 @@ com.alibaba dashscope-sdk-java + + + org.slf4j + slf4j-simple + + com.alipay.sdk diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MemberOrderServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MemberOrderServiceImpl.java index c1e250b12..4f5fcb8ca 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MemberOrderServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MemberOrderServiceImpl.java @@ -1,14 +1,18 @@ package com.czg.service.market.service.impl; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson2.JSONObject; import com.czg.account.dto.shopuser.ShopUserAddDTO; import com.czg.account.entity.ShopUser; +import com.czg.account.entity.table.ShopUserTableDef; +import com.czg.account.entity.table.UserInfoTableDef; import com.czg.account.service.*; import com.czg.market.dto.MemberConfigDTO; import com.czg.account.entity.ShopInfo; import com.czg.account.entity.UserInfo; +import com.czg.market.entity.table.MemberOrderTableDef; import com.czg.market.service.TbMemberConfigService; import com.czg.market.vo.MemberConfigVO; import com.czg.exception.CzgException; @@ -17,9 +21,13 @@ 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; import com.czg.service.market.enums.OrderStatusEnums; import com.czg.service.market.mapper.MemberOrderMapper; import com.czg.utils.AssertUtil; +import com.czg.utils.PageUtil; +import com.mybatisflex.core.paginate.Page; +import com.mybatisflex.core.query.QueryCondition; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; import com.czg.market.entity.MemberOrder; @@ -30,6 +38,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; +import java.time.LocalDateTime; /** * 会员充值订单 服务层实现。 @@ -54,6 +63,31 @@ public class MemberOrderServiceImpl extends ServiceImpl pageInfo(String startTime, String endTime, String key) { + LocalDateTime start = StrUtil.isBlank(startTime) ? null : DateUtil.parseLocalDateTime(startTime); + LocalDateTime end = StrUtil.isBlank(endTime) ? null : DateUtil.parseLocalDateTime(endTime); + + return page(PageUtil.buildPage(), QueryWrapper.create() + .leftJoin(UserInfoTableDef.USER_INFO).on(UserInfoTableDef.USER_INFO.ID.eq(MemberOrderTableDef.MEMBER_ORDER.USER_ID)) + .leftJoin(ShopUserTableDef.SHOP_USER).on(ShopUserTableDef.SHOP_USER.MAIN_SHOP_ID.eq(MemberOrderTableDef.MEMBER_ORDER.SHOP_ID) + .and(ShopUserTableDef.SHOP_USER.USER_ID.eq(MemberOrderTableDef.MEMBER_ORDER.USER_ID))) + .le(MemberOrder::getCreateTime, end) + .ge(MemberOrder::getCreateTime, start) + .and(a -> { + a.or(r -> { + r.like(ShopUser::getId, key); + }); + + a.or(r -> { + r.like(UserInfo::getNickName, key); + }); + }) + .eq(MemberOrder::getShopId, StpKit.USER.getMainShopId()) + .orderBy(MemberOrder::getCreateTime, true) + ); + } + @Override public MemberOrder createMemberOrder(MemberOrderDTO orderDTO) { ShopInfo shopInfo = shopInfoService.getById(orderDTO.getShopId());