超级会员相关

This commit is contained in:
张松
2025-09-12 09:21:18 +08:00
parent 2f88f54b0f
commit 31678fa6f1
12 changed files with 29 additions and 27 deletions

View File

@@ -1,14 +0,0 @@
package com.czg.service.order.mapper;
import com.mybatisflex.core.BaseMapper;
import com.czg.order.entity.MemberOrder;
/**
* 会员充值订单 映射层。
*
* @author zs
* @since 2025-09-11
*/
public interface MemberOrderMapper extends BaseMapper<MemberOrder> {
}

View File

@@ -1,84 +0,0 @@
package com.czg.service.order.service.impl;
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson2.JSONObject;
import com.czg.market.dto.MemberConfigDTO;
import com.czg.account.entity.ShopInfo;
import com.czg.account.entity.UserInfo;
import com.czg.account.service.ShopInfoService;
import com.czg.account.service.ShopUserService;
import com.czg.market.service.TbMemberConfigService;
import com.czg.account.service.UserInfoService;
import com.czg.market.vo.MemberConfigVO;
import com.czg.exception.CzgException;
import com.czg.order.dto.MemberOrderDTO;
import com.czg.service.order.enums.OrderStatusEnums;
import com.czg.utils.AssertUtil;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.czg.order.entity.MemberOrder;
import com.czg.order.service.MemberOrderService;
import com.czg.service.order.mapper.MemberOrderMapper;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
/**
* 会员充值订单 服务层实现。
*
* @author zs
* @since 2025-09-11
*/
@Service
public class MemberOrderServiceImpl extends ServiceImpl<MemberOrderMapper, MemberOrder> implements MemberOrderService {
@DubboReference
private ShopInfoService shopInfoService;
@DubboReference
private UserInfoService userInfoService;
@DubboReference
private ShopUserService shopUserService;
@DubboReference
private TbMemberConfigService memberConfigService;
@Override
public MemberOrder createMemberOrder(MemberOrderDTO orderDTO) {
ShopInfo shopInfo = shopInfoService.getById(orderDTO.getShopId());
AssertUtil.isNull(shopInfo, "生成订单失败,店铺信息不存在");
if (orderDTO.getUserId() != null) {
UserInfo userInfo = userInfoService.getById(orderDTO.getUserId());
AssertUtil.isNull(userInfo, "生成订单失败,用户信息不存在");
}
MemberConfigVO memberConfigVO = memberConfigService.detail(shopInfo.getId());
if(memberConfigVO.getConfigList() == null || memberConfigVO.getConfigList().isEmpty()) {
throw new CzgException("会员开通方案未配置,请联系店铺");
}
MemberConfigDTO.ConfigList configItem = memberConfigVO.getConfigList().stream()
.filter(item -> item.getName().equals(orderDTO.getName()))
.findFirst()
.orElseThrow(() -> new CzgException("会员开通方案未配置,请联系店铺"));
//生成订单
MemberOrder orderInfo = new MemberOrder();
orderInfo.setOrderNo(orderDTO.getPlatformType() + IdUtil.getSnowflakeNextId());
orderInfo.setShopId(orderDTO.getShopId());
orderInfo.setPayAmount(BigDecimal.ZERO);
orderInfo.setStatus(OrderStatusEnums.UNPAID.getCode());
orderInfo.setAmount(configItem.getPrice().multiply(BigDecimal.valueOf(orderDTO.getNum())));
orderInfo.setPrice(configItem.getPrice());
orderInfo.setName(configItem.getName());
orderInfo.setUserId(orderDTO.getUserId());
orderInfo.setReward(configItem.getReward());
orderInfo.setCircleTime(configItem.getCircleTime());
if (configItem.getCouponList() != null && !configItem.getCouponList().isEmpty()) {
orderInfo.setCouponList(JSONObject.toJSONString(configItem.getCouponList()));
}
orderInfo.setNum(orderDTO.getNum());
save(orderInfo);
return orderInfo;
}
}

View File

@@ -21,6 +21,7 @@ import com.czg.enums.ShopUserFlowBizEnum;
import com.czg.exception.ApiNotPrintException;
import com.czg.exception.CzgException;
import com.czg.exception.OrderCancelException;
import com.czg.market.service.MemberOrderService;
import com.czg.market.service.TbMemberConfigService;
import com.czg.order.dto.*;
import com.czg.order.entity.*;
@@ -61,8 +62,6 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static org.apache.dubbo.registry.zookeeper.util.CuratorFrameworkParams.MAX_RETRIES;
/**
* 订单表 服务层实现。
*

View File

@@ -17,10 +17,11 @@ import com.czg.entity.resp.*;
import com.czg.enums.ShopUserFlowBizEnum;
import com.czg.exception.CzgException;
import com.czg.exception.PaySuccessException;
import com.czg.market.service.MemberOrderService;
import com.czg.order.dto.BigDecimalDTO;
import com.czg.order.dto.CheckOrderPay;
import com.czg.order.dto.OrderInfoRefundDTO;
import com.czg.order.entity.MemberOrder;
import com.czg.market.entity.MemberOrder;
import com.czg.order.entity.OrderDetail;
import com.czg.order.entity.OrderInfo;
import com.czg.order.entity.OrderPayment;

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czg.service.order.mapper.MemberOrderMapper">
</mapper>