会员订单

This commit is contained in:
张松
2025-11-25 09:31:10 +08:00
parent d11866ad81
commit efed3ada4a
4 changed files with 63 additions and 0 deletions

View File

@@ -1,17 +1,22 @@
package com.czg.controller.admin; package com.czg.controller.admin;
import com.czg.account.dto.PageDTO;
import com.czg.exception.CzgException; import com.czg.exception.CzgException;
import com.czg.market.dto.MemberConfigDTO; import com.czg.market.dto.MemberConfigDTO;
import com.czg.market.dto.MemberLevelDTO; import com.czg.market.dto.MemberLevelDTO;
import com.czg.market.entity.MemberLevelConfig; import com.czg.market.entity.MemberLevelConfig;
import com.czg.market.entity.MemberOrder;
import com.czg.market.service.MemberLevelConfigService; import com.czg.market.service.MemberLevelConfigService;
import com.czg.market.service.MemberOrderService;
import com.czg.market.service.TbMemberConfigService; import com.czg.market.service.TbMemberConfigService;
import com.czg.market.vo.MemberConfigVO; import com.czg.market.vo.MemberConfigVO;
import com.czg.market.vo.MemberLevelVO; import com.czg.market.vo.MemberLevelVO;
import com.czg.resp.CzgResult; import com.czg.resp.CzgResult;
import com.czg.sa.StpKit; import com.czg.sa.StpKit;
import com.czg.utils.AssertUtil; import com.czg.utils.AssertUtil;
import com.czg.utils.PageUtil;
import com.czg.validator.group.UpdateGroup; import com.czg.validator.group.UpdateGroup;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.validation.groups.Default; import jakarta.validation.groups.Default;
@@ -31,7 +36,22 @@ public class MemberController {
private TbMemberConfigService memberConfigService; private TbMemberConfigService memberConfigService;
@Resource @Resource
private MemberLevelConfigService memberLevelConfigService; private MemberLevelConfigService memberLevelConfigService;
@Resource
private MemberOrderService memberOrderService;
/**
* 会员购买订单记录 分页
* @param startTime 开始时间
* @param endTime 结束时间
* @param key 用户id
* @return 订单信息
*/
@GetMapping("/order")
public CzgResult<Page<MemberOrder>> 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 * 权限标识: activate:list

View File

@@ -1,6 +1,7 @@
package com.czg.market.service; package com.czg.market.service;
import com.czg.market.dto.MemberOrderDTO; import com.czg.market.dto.MemberOrderDTO;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService; import com.mybatisflex.core.service.IService;
import com.czg.market.entity.MemberOrder; import com.czg.market.entity.MemberOrder;
@@ -13,4 +14,6 @@ import com.czg.market.entity.MemberOrder;
public interface MemberOrderService extends IService<MemberOrder> { public interface MemberOrderService extends IService<MemberOrder> {
MemberOrder createMemberOrder(MemberOrderDTO orderDTO); MemberOrder createMemberOrder(MemberOrderDTO orderDTO);
Page<MemberOrder> pageInfo(String startTime, String endTime, String key);
} }

View File

@@ -20,6 +20,12 @@
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>dashscope-sdk-java</artifactId> <artifactId>dashscope-sdk-java</artifactId>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.alipay.sdk</groupId> <groupId>com.alipay.sdk</groupId>

View File

@@ -1,14 +1,18 @@
package com.czg.service.market.service.impl; package com.czg.service.market.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.czg.account.dto.shopuser.ShopUserAddDTO; import com.czg.account.dto.shopuser.ShopUserAddDTO;
import com.czg.account.entity.ShopUser; 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.account.service.*;
import com.czg.market.dto.MemberConfigDTO; import com.czg.market.dto.MemberConfigDTO;
import com.czg.account.entity.ShopInfo; import com.czg.account.entity.ShopInfo;
import com.czg.account.entity.UserInfo; import com.czg.account.entity.UserInfo;
import com.czg.market.entity.table.MemberOrderTableDef;
import com.czg.market.service.TbMemberConfigService; import com.czg.market.service.TbMemberConfigService;
import com.czg.market.vo.MemberConfigVO; import com.czg.market.vo.MemberConfigVO;
import com.czg.exception.CzgException; 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.entity.OrderPayment;
import com.czg.order.service.OrderInfoService; import com.czg.order.service.OrderInfoService;
import com.czg.order.service.OrderPaymentService; import com.czg.order.service.OrderPaymentService;
import com.czg.sa.StpKit;
import com.czg.service.market.enums.OrderStatusEnums; import com.czg.service.market.enums.OrderStatusEnums;
import com.czg.service.market.mapper.MemberOrderMapper; import com.czg.service.market.mapper.MemberOrderMapper;
import com.czg.utils.AssertUtil; 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.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl; import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.czg.market.entity.MemberOrder; import com.czg.market.entity.MemberOrder;
@@ -30,6 +38,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
/** /**
* 会员充值订单 服务层实现。 * 会员充值订单 服务层实现。
@@ -54,6 +63,31 @@ public class MemberOrderServiceImpl extends ServiceImpl<MemberOrderMapper, Membe
@DubboReference @DubboReference
private OrderPaymentService paymentService; private OrderPaymentService paymentService;
@Override
public Page<MemberOrder> 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 @Override
public MemberOrder createMemberOrder(MemberOrderDTO orderDTO) { public MemberOrder createMemberOrder(MemberOrderDTO orderDTO) {
ShopInfo shopInfo = shopInfoService.getById(orderDTO.getShopId()); ShopInfo shopInfo = shopInfoService.getById(orderDTO.getShopId());