调整框架及订单模块

This commit is contained in:
2025-11-03 17:36:17 +08:00
parent 4f9b9c29a3
commit 323cae015f
67 changed files with 202 additions and 216 deletions

View File

@@ -180,7 +180,7 @@
</dependency>
<dependency>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-member-api</artifactId>
<artifactId>tashow-user-api</artifactId>
<version>${revision}</version>
</dependency>
<dependency>

View File

@@ -16,7 +16,7 @@
<module>tashow-product-api</module>
<module>tashow-trade-api</module>
<module>tashow-pay-api</module>
<module>tashow-member-api</module>
<module>tashow-user-api</module>
</modules>
</project>

View File

@@ -1,4 +0,0 @@
/**
* 消息队列的消息
*/
package com.tashow.cloud.memberapi.message;

View File

@@ -8,7 +8,7 @@
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>tashow-member-api</artifactId>
<artifactId>tashow-user-api</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>

View File

@@ -1,8 +1,8 @@
package com.tashow.cloud.memberapi.api.address;
package com.tashow.cloud.userapi.api.address;
import com.tashow.cloud.common.pojo.CommonResult;
import com.tashow.cloud.memberapi.api.address.dto.MemberAddressRespDTO;
import com.tashow.cloud.memberapi.enums.ApiConstants;
import com.tashow.cloud.userapi.api.address.dto.MemberAddressRespDTO;
import com.tashow.cloud.userapi.enums.ApiConstants;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

View File

@@ -1,4 +1,4 @@
package com.tashow.cloud.memberapi.api.address.dto;
package com.tashow.cloud.userapi.api.address.dto;
import lombok.Data;

View File

@@ -1,4 +1,4 @@
/**
* member API 定义暴露给其它模块的 API
*/
package com.tashow.cloud.memberapi.api;
package com.tashow.cloud.userapi.api;

View File

@@ -1,8 +1,8 @@
package com.tashow.cloud.memberapi.api.user;
package com.tashow.cloud.userapi.api.user;
import com.tashow.cloud.common.pojo.CommonResult;
import com.tashow.cloud.memberapi.api.user.dto.MemberUserRespDTO;
import com.tashow.cloud.memberapi.enums.ApiConstants;
import com.tashow.cloud.userapi.api.user.dto.UserMemberRespDTO;
import com.tashow.cloud.userapi.enums.ApiConstants;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@@ -17,9 +17,9 @@ import static com.tashow.cloud.common.util.collection.CollectionUtils.convertMap
* RPC 服务 - 会员用户
*/
@FeignClient(name = ApiConstants.NAME) // TODO 芋艿fallbackFactory =
public interface MemberUserApi {
public interface UserMemberApi {
String PREFIX = ApiConstants.PREFIX + "/user";
String PREFIX = ApiConstants.PREFIX + "/member";
/**
@@ -28,9 +28,9 @@ public interface MemberUserApi {
* @param ids 用户编号的数组
* @return 会员用户 Map
*/
default Map<Long, MemberUserRespDTO> getUserMap(Collection<Long> ids) {
List<MemberUserRespDTO> list = getUserList(ids).getCheckedData();
return convertMap(list, MemberUserRespDTO::getId);
default Map<Long, UserMemberRespDTO> getUserMap(Collection<Long> ids) {
List<UserMemberRespDTO> list = getUserList(ids).getCheckedData();
return convertMap(list, UserMemberRespDTO::getId);
}
/**
@@ -39,7 +39,7 @@ public interface MemberUserApi {
* @return
*/
@GetMapping(PREFIX + "/get")
CommonResult<MemberUserRespDTO> getUser(@RequestParam("id") Long id);
CommonResult<UserMemberRespDTO> getUser(@RequestParam("id") Long id);
/**
* 获得会员用户信息们
@@ -47,7 +47,7 @@ public interface MemberUserApi {
* @return
*/
@GetMapping(PREFIX + "/list")
CommonResult<List<MemberUserRespDTO>> getUserList(@RequestParam("ids") Collection<Long> ids);
CommonResult<List<UserMemberRespDTO>> getUserList(@RequestParam("ids") Collection<Long> ids);
/**
* 基于用户昵称模糊匹配用户列表
@@ -55,7 +55,7 @@ public interface MemberUserApi {
* @return
*/
@GetMapping(PREFIX + "/list-by-nickname")
CommonResult<List<MemberUserRespDTO>> getUserListByNickname(@RequestParam("nickname") String nickname);
CommonResult<List<UserMemberRespDTO>> getUserListByNickname(@RequestParam("nickname") String nickname);
/**
* 基于手机号精准匹配用户
@@ -63,7 +63,7 @@ public interface MemberUserApi {
* @return
*/
@GetMapping(PREFIX + "/get-by-mobile")
CommonResult<MemberUserRespDTO> getUserByMobile(@RequestParam("mobile") String mobile);
CommonResult<UserMemberRespDTO> getUserByMobile(@RequestParam("mobile") String mobile);
/**
* 校验用户是否存在

View File

@@ -1,4 +1,4 @@
package com.tashow.cloud.memberapi.api.user.dto;
package com.tashow.cloud.userapi.api.user.dto;
import lombok.Data;
@@ -8,7 +8,7 @@ import java.time.LocalDateTime;
* RPC 服务 - 用户信息 Response DTO
*/
@Data
public class MemberUserRespDTO {
public class UserMemberRespDTO {
//用户编号
private Long id;

View File

@@ -1,4 +1,4 @@
package com.tashow.cloud.memberapi.enums;
package com.tashow.cloud.userapi.enums;
import com.tashow.cloud.common.enums.RpcConstants;
@@ -15,9 +15,9 @@ public class ApiConstants {
*
* 注意需要保证和 spring.application.name 保持一致
*/
public static final String NAME = "member-server";
public static final String NAME = "user-server";
public static final String PREFIX = RpcConstants.RPC_API_PREFIX + "/member";
public static final String PREFIX = RpcConstants.RPC_API_PREFIX + "/user";
public static final String VERSION = "1.0.0";

View File

@@ -1,4 +1,4 @@
package com.tashow.cloud.memberapi.enums;
package com.tashow.cloud.userapi.enums;
/**
* Member 字典类型的枚举类

View File

@@ -1,4 +1,4 @@
package com.tashow.cloud.memberapi.enums;
package com.tashow.cloud.userapi.enums;
import com.tashow.cloud.common.exception.ErrorCode;

View File

@@ -1,4 +1,4 @@
package com.tashow.cloud.memberapi.enums;
package com.tashow.cloud.userapi.enums;
import cn.hutool.core.util.EnumUtil;
import lombok.AllArgsConstructor;

View File

@@ -1,4 +1,4 @@
package com.tashow.cloud.memberapi.enums.point;
package com.tashow.cloud.userapi.enums.point;
import cn.hutool.core.util.EnumUtil;
import com.tashow.cloud.common.core.ArrayValuable;

View File

@@ -0,0 +1,4 @@
/**
* 消息队列的消息
*/
package com.tashow.cloud.userapi.message;

View File

@@ -1,21 +0,0 @@
package com.tashow.cloud.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 文档地址
*
* @author 芋道源码
*/
@Getter
@AllArgsConstructor
public enum DocumentEnum {
REDIS_INSTALL("https://gitee.com/zhijiantianya/ruoyi-vue-pro/issues/I4VCSJ", "Redis 安装文档"),
TENANT("https://doc.iocoder.cn", "SaaS 多租户文档");
private final String url;
private final String memo;
}

View File

@@ -177,6 +177,15 @@ public class LocalDateTimeUtils {
public static Long between(LocalDateTime dateTime) {
return LocalDateTimeUtil.between(dateTime, LocalDateTime.now(), ChronoUnit.DAYS);
}
/**
* 获取指定日期到现在过了几天,如果指定日期在当前日期之后,获取结果为负
*
* @param dateTime 日期
* @return 相差天数
*/
public static Long betweenWithNow(LocalDateTime dateTime) {
return LocalDateTimeUtil.between(dateTime, LocalDateTime.now(), ChronoUnit.SECONDS);
}
/**
* 获取今天的开始时间

View File

@@ -9,7 +9,7 @@ import jakarta.validation.constraints.NotNull;
import java.util.Collections;
import java.util.List;
@ConfigurationProperties(prefix = "yudao.security")
@ConfigurationProperties(prefix = "tashow.security")
@Validated
@Data
public class SecurityProperties {

View File

@@ -138,7 +138,10 @@ public class WebSecurityConfigurerAdapter {
.requestMatchers(HttpMethod.PATCH, permitAllUrls.get(HttpMethod.PATCH).toArray(new String[0])).permitAll()
// 1.3 基于 tashow.security.permit-all-urls 无需认证
.requestMatchers(securityProperties.getPermitAllUrls().toArray(new String[0])).permitAll()
)
//app-api 不在security控制权限
.authorizeHttpRequests(c->c.requestMatchers(webProperties.getAppApi().getPrefix()+"/**").permitAll())
// ②:每个项目的自定义规则
.authorizeHttpRequests(c -> authorizeRequestsCustomizers.forEach(customizer -> customizer.customize(c)))
// ③:兜底规则,必须认证

View File

@@ -1,7 +1,6 @@
package com.tashow.cloud.tenant.core.context;
import com.alibaba.ttl.TransmittableThreadLocal;
import com.tashow.cloud.common.enums.DocumentEnum;
/**
* 多租户上下文 Holder
@@ -37,8 +36,7 @@ public class TenantContextHolder {
public static Long getRequiredTenantId() {
Long tenantId = getTenantId();
if (tenantId == null) {
throw new NullPointerException("TenantContextHolder 不存在租户编号!可参考文档:"
+ DocumentEnum.TENANT.getUrl());
throw new NullPointerException("TenantContextHolder 不存在租户编号!");
}
return tenantId;
}

View File

@@ -3,7 +3,6 @@ package com.tashow.cloud.web.web.config;
import com.tashow.cloud.common.enums.WebFilterOrderEnum;
import com.tashow.cloud.infraapi.api.logger.ApiErrorLogApi;
import com.tashow.cloud.web.web.core.filter.CacheRequestBodyFilter;
import com.tashow.cloud.web.web.core.filter.DemoFilter;
import com.tashow.cloud.web.web.core.handler.GlobalExceptionHandler;
import com.tashow.cloud.web.web.core.handler.GlobalResponseBodyHandler;
import com.tashow.cloud.web.web.core.util.WebFrameworkUtils;
@@ -12,7 +11,6 @@ import jakarta.servlet.Filter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.client.RestTemplateBuilder;
@@ -104,15 +102,6 @@ public class WebAutoConfiguration implements WebMvcConfigurer {
return createFilterBean(new CacheRequestBodyFilter(), WebFilterOrderEnum.REQUEST_BODY_CACHE_FILTER);
}
/**
* 创建 DemoFilter Bean演示模式
*/
@Bean
@ConditionalOnProperty(value = "yudao.demo", havingValue = "true")
public FilterRegistrationBean<DemoFilter> demoFilter() {
return createFilterBean(new DemoFilter(), WebFilterOrderEnum.DEMO_FILTER);
}
public static <T extends Filter> FilterRegistrationBean<T> createFilterBean(T filter, Integer order) {
FilterRegistrationBean<T> bean = new FilterRegistrationBean<>(filter);
bean.setOrder(order);

View File

@@ -1,35 +0,0 @@
package com.tashow.cloud.web.web.core.filter;
import cn.hutool.core.util.StrUtil;
import com.tashow.cloud.common.pojo.CommonResult;
import com.tashow.cloud.common.util.servlet.ServletUtils;
import com.tashow.cloud.web.web.core.util.WebFrameworkUtils;
import jakarta.servlet.FilterChain;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.filter.OncePerRequestFilter;
import static com.tashow.cloud.common.exception.enums.GlobalErrorCodeConstants.DEMO_DENY;
/**
* 演示 Filter禁止用户发起写操作避免影响测试数据
*
* @author 芋道源码
*/
public class DemoFilter extends OncePerRequestFilter {
@Override
protected boolean shouldNotFilter(HttpServletRequest request) {
String method = request.getMethod();
return !StrUtil.equalsAnyIgnoreCase(method, "POST", "PUT", "DELETE") // 写操作时,不进行过滤率
|| WebFrameworkUtils.getLoginUserId(request) == null; // 非登录用户时,不进行过滤
}
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) {
// 直接返回 DEMO_DENY 的结果。即,请求不继续
ServletUtils.writeJSON(response, CommonResult.error(DEMO_DENY));
}
}

View File

@@ -22,8 +22,8 @@ import static com.tashow.cloud.web.web.config.WebAutoConfiguration.createFilterB
@AutoConfiguration
@EnableConfigurationProperties(XssProperties.class)
@ConditionalOnProperty(prefix = "yudao.xss", name = "enable", havingValue = "true", matchIfMissing = true) // 设置为 false 禁用
public class YudaoXssAutoConfiguration implements WebMvcConfigurer {
@ConditionalOnProperty(prefix = "tashow.xss", name = "enable", havingValue = "true", matchIfMissing = true) // 设置为 false 禁用
public class TashowXssAutoConfiguration implements WebMvcConfigurer {
/**
* Xss 清理者

View File

@@ -12,7 +12,7 @@ import java.util.List;
*
* @author 芋道源码
*/
@ConfigurationProperties(prefix = "yudao.xss")
@ConfigurationProperties(prefix = "tashow.xss")
@Validated
@Data
public class XssProperties {

View File

@@ -8,7 +8,7 @@ import com.tashow.cloud.ai.service.dialog.AiDialogService;
import com.tashow.cloud.common.pojo.CommonResult;
import com.tashow.cloud.common.pojo.PageParam;
import jakarta.annotation.Resource;
import jakarta.annotation.security.PermitAll;
import jakarta.validation.Valid;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
@@ -35,8 +35,7 @@ public class DialogController {
* 获取对话消息列表
*/
@GetMapping("/getDialog")
@PermitAll
public CommonResult<DialogResp> msList(PageParam pageParam) {
public CommonResult<DialogResp> msList(@Valid PageParam pageParam) {
//获取当前登录用户
Long userId = 1L;
return success(aiDialogService.getDialog(userId,pageParam));
@@ -47,7 +46,6 @@ public class DialogController {
* 翻译
*/
@PostMapping("/translate")
@PermitAll
public CommonResult<TranslateRespVo> translate(@Validated TranslateReqVo fileReqVo) {
return success(aiDialogService.translate(fileReqVo));
}

View File

@@ -32,8 +32,6 @@ public class SecurityConfiguration {
.requestMatchers(adminSeverContextPath + "/**").permitAll();
// 文件读取
registry.requestMatchers(buildAdminApi("/infra/file/*/get/**")).permitAll();
// TODO 芋艿:这个每个项目都需要重复配置,得捉摸有没通用的方案
// RPC 服务的安全配置
registry.requestMatchers(ApiConstants.PREFIX + "/**").permitAll();
}

View File

@@ -4,7 +4,7 @@ package com.tashow.cloud.pay.controller.admin.transfer.vo;
import com.tashow.cloud.common.util.validation.ValidationUtils;
import com.tashow.cloud.common.validation.InEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import com.tashow.cloud.sdk.payment.enums.transfer.PayTransferTypeEnum;
import jakarta.validation.Validator;
import jakarta.validation.constraints.*;
@@ -83,7 +83,7 @@ public class PayTransferCreateReqVO {
PayTransferTypeEnum transferType = typeOf(type);
switch (transferType) {
case ALIPAY_BALANCE: {
return PayTypeEnum.isAlipay(channelCode);
return PayOrderTypeEnum.isAlipay(channelCode);
}
case WX_BALANCE:
case BANK_CARD:

View File

@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.tashow.cloud.common.enums.CommonStatusEnum;
import com.tashow.cloud.pay.dal.dataobject.app.PayAppDO;
import com.tashow.cloud.sdk.payment.client.PayClientConfig;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import com.tashow.cloud.tenant.core.db.TenantBaseDO;
import lombok.*;
@@ -33,7 +33,7 @@ public class PayChannelDO extends TenantBaseDO {
/**
* 渠道编码
*
* 枚举 {@link PayTypeEnum}
* 枚举 {@link PayOrderTypeEnum}
*/
private String code;
/**

View File

@@ -5,7 +5,7 @@ import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO;
import com.tashow.cloud.pay.dal.dataobject.app.PayAppDO;
import com.tashow.cloud.pay.dal.dataobject.channel.PayChannelDO;
import com.tashow.cloud.payapi.enums.order.PayOrderStatusEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import lombok.*;
import java.time.LocalDateTime;
@@ -42,7 +42,7 @@ public class PayOrderDO extends BaseDO {
/**
* 渠道编码
*
* 枚举 {@link PayTypeEnum}
* 枚举 {@link PayOrderTypeEnum}
*/
private String channelCode;

View File

@@ -8,7 +8,7 @@ import com.tashow.cloud.pay.dal.dataobject.app.PayAppDO;
import com.tashow.cloud.pay.dal.dataobject.channel.PayChannelDO;
import com.tashow.cloud.pay.dal.dataobject.order.PayOrderDO;
import com.tashow.cloud.payapi.enums.refund.PayRefundStatusEnum;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import lombok.*;
import java.time.LocalDateTime;
@@ -60,7 +60,7 @@ public class PayRefundDO extends BaseDO {
/**
* 渠道编码
*
* 枚举 {@link PayTypeEnum}
* 枚举 {@link PayOrderTypeEnum}
*/
private String channelCode;
/**

View File

@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO;
import com.tashow.cloud.pay.dal.dataobject.app.PayAppDO;
import com.tashow.cloud.pay.dal.dataobject.channel.PayChannelDO;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import com.tashow.cloud.sdk.payment.enums.transfer.PayTransferStatusRespEnum;
import lombok.Data;
@@ -55,7 +55,7 @@ public class PayTransferDO extends BaseDO {
/**
* 转账渠道编码
*
* 枚举 {@link PayTypeEnum}
* 枚举 {@link PayOrderTypeEnum}
*/
private String channelCode;

View File

@@ -13,7 +13,7 @@ import com.tashow.cloud.sdk.payment.client.PayClient;
import com.tashow.cloud.sdk.payment.client.PayClientConfig;
import com.tashow.cloud.sdk.payment.client.PayClientFactory;
import com.tashow.cloud.sdk.payment.client.impl.weixin.WxPubPayClient;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
import jakarta.validation.Validator;
@@ -52,7 +52,7 @@ public class PayChannelServiceImpl implements PayChannelService {
*/
@PostConstruct
public void init() {
payClientFactory.registerPayClientClass(PayTypeEnum.WX_PUB, WxPubPayClient.class);
payClientFactory.registerPayClientClass(PayOrderTypeEnum.WX_PUB, WxPubPayClient.class);
}
@Override
@@ -90,7 +90,7 @@ public class PayChannelServiceImpl implements PayChannelService {
*/
private PayClientConfig parseConfig(String code, String configStr) {
// 解析配置
Class<? extends PayClientConfig> payClass = PayTypeEnum.getByCode(code).getConfigClass();
Class<? extends PayClientConfig> payClass = PayOrderTypeEnum.getByCode(code).getConfigClass();
if (ObjectUtil.isNull(payClass)) {
throw exception(CHANNEL_NOT_FOUND);
}

View File

@@ -89,7 +89,7 @@
</dependency>
<dependency>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-member-api</artifactId>
<artifactId>tashow-user-api</artifactId>
</dependency>
</dependencies>

View File

@@ -3,7 +3,7 @@ package com.tashow.cloud.trade.controller.admin.aftersale;
import cn.hutool.core.collection.CollUtil;
import com.tashow.cloud.common.pojo.CommonResult;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.memberapi.api.user.MemberUserApi;
import com.tashow.cloud.userapi.api.user.UserMemberApi;
import com.tashow.cloud.payapi.api.notify.dto.PayRefundNotifyReqDTO;
import com.tashow.cloud.trade.controller.admin.aftersale.vo.*;
import com.tashow.cloud.trade.convert.aftersale.AfterSaleConvert;
@@ -43,7 +43,7 @@ public class AfterSaleController {
@Resource
private AfterSaleLogService afterSaleLogService;
@Resource
private MemberUserApi memberUserApi;
private UserMemberApi memberUserApi;
// 获得售后订单分页
@GetMapping("/page")

View File

@@ -3,7 +3,8 @@ package com.tashow.cloud.trade.controller.admin.order;
import cn.hutool.core.collection.CollUtil;
import com.tashow.cloud.common.pojo.CommonResult;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.memberapi.api.user.MemberUserApi;
import com.tashow.cloud.userapi.api.user.UserMemberApi;
import com.tashow.cloud.userapi.api.user.dto.UserMemberRespDTO;
import com.tashow.cloud.productapi.api.product.ProdApi;
import com.tashow.cloud.productapi.api.product.dto.ProdDO;
import com.tashow.cloud.trade.controller.admin.order.vo.*;
@@ -23,8 +24,10 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
import static com.tashow.cloud.common.pojo.CommonResult.success;
import static com.tashow.cloud.common.util.collection.CollectionUtils.convertList;
import static com.tashow.cloud.common.util.collection.CollectionUtils.convertSet;
@@ -45,7 +48,7 @@ public class TradeOrderController {
private TradeOrderLogService tradeOrderLogService;
@Resource
private MemberUserApi memberUserApi;
private UserMemberApi memberUserApi;
@Resource
private ProdApi prodApi;
@@ -67,8 +70,10 @@ public class TradeOrderController {
// 查询订单项
List<TradeOrderItemDO> orderItems = tradeOrderQueryService.getOrderItemListByOrderId(
convertSet(pageResult.getList(), TradeOrderDO::getId));
//查询用户信息
Map<Long, UserMemberRespDTO> userMap = memberUserApi.getUserMap(convertList(pageResult.getList(), TradeOrderDO::getUserId));
// 最终组合
return success(TradeOrderConvert.INSTANCE.convertPage(pageResult, orderItems));
return success(TradeOrderConvert.INSTANCE.convertPage(pageResult, orderItems,userMap));
}
/**

View File

@@ -5,7 +5,6 @@ package com.tashow.cloud.trade.controller.admin.order.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.tashow.cloud.common.enums.TerminalEnum;
import com.tashow.cloud.common.util.json.databind.StringLocalDateTimeSerializer;
import com.tashow.cloud.common.validation.InEnum;
import com.tashow.cloud.tradeapi.enums.order.TradeOrderStatusEnum;
import com.tashow.cloud.tradeapi.enums.order.TradeOrderTypeEnum;
import lombok.Data;
@@ -34,13 +33,11 @@ public class TradeOrderBaseVO {
* 订单来源
* {@link TerminalEnum#getTerminal()}
*/
@InEnum(TerminalEnum.class)
private Integer orderTerminal;
/**
* 订单状态
* {@link TradeOrderStatusEnum#getStatus()}
*/
@InEnum(TradeOrderStatusEnum.class)
private Integer orderStatus;
// 用户编号

View File

@@ -18,12 +18,18 @@ public class TradeOrderPageRespVO extends TradeOrderBaseVO {
private String shopName;
//店铺log
private String shopLogo;
//支付剩余时间
private String payLastTime;
//客服备注
private String merchantRemark;
//取消备注
private String cancelRemark;
//支付剩余时间 单位秒
private Long payLastTime;
//财务状态
private Integer financeStatus;
//售后状态
private Integer afterSaleStatus;
//订单类目
private String orderCategoryName;
//用户备注
private String userRemark;
//支付方式
private Integer payType;
@Data
@@ -38,7 +44,7 @@ public class TradeOrderPageRespVO extends TradeOrderBaseVO {
private Integer count;
// 订单总价
private Integer price;
// 订单总价
// 订单优惠金额
private Integer discountPrice;
//到手价
private Integer handedPrice;

View File

@@ -1,7 +1,7 @@
package com.tashow.cloud.trade.convert.aftersale;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.memberapi.api.user.dto.MemberUserRespDTO;
import com.tashow.cloud.userapi.api.user.dto.UserMemberRespDTO;
import com.tashow.cloud.payapi.api.refund.dto.PayRefundCreateReqDTO;
import com.tashow.cloud.trade.controller.admin.aftersale.vo.AfterSaleDetailRespVO;
import com.tashow.cloud.trade.controller.admin.aftersale.vo.AfterSaleRespPageItemVO;
@@ -47,12 +47,12 @@ public interface AfterSaleConvert {
})
PayRefundCreateReqDTO convert(String userIp, AfterSaleDO afterSale, TradeOrderProperties orderProperties);
MemberUserRespVO convert(MemberUserRespDTO bean);
MemberUserRespVO convert(UserMemberRespDTO bean);
PageResult<AfterSaleRespPageItemVO> convertPage(PageResult<AfterSaleDO> page);
default PageResult<AfterSaleRespPageItemVO> convertPage(PageResult<AfterSaleDO> pageResult,
Map<Long, MemberUserRespDTO> memberUsers) {
Map<Long, UserMemberRespDTO> memberUsers) {
PageResult<AfterSaleRespPageItemVO> voPageResult = convertPage(pageResult);
// 处理会员
voPageResult.getList().forEach(afterSale -> afterSale.setUser(
@@ -65,7 +65,7 @@ public interface AfterSaleConvert {
PageResult<AppAfterSaleRespVO> convertPage02(PageResult<AfterSaleDO> page);
default AfterSaleDetailRespVO convert(AfterSaleDO afterSale, TradeOrderDO order, TradeOrderItemDO orderItem,
MemberUserRespDTO user, List<AfterSaleLogDO> logs) {
UserMemberRespDTO user, List<AfterSaleLogDO> logs) {
AfterSaleDetailRespVO respVO = convert02(afterSale);
// 处理用户信息
respVO.setUser(convert(user));

View File

@@ -9,8 +9,8 @@ import com.tashow.cloud.common.util.date.LocalDateTimeUtils;
import com.tashow.cloud.common.util.ip.AreaUtils;
import com.tashow.cloud.common.util.string.StrUtils;
import com.tashow.cloud.excel.dict.core.DictFrameworkUtils;
import com.tashow.cloud.memberapi.api.address.dto.MemberAddressRespDTO;
import com.tashow.cloud.memberapi.api.user.dto.MemberUserRespDTO;
import com.tashow.cloud.userapi.api.address.dto.MemberAddressRespDTO;
import com.tashow.cloud.userapi.api.user.dto.UserMemberRespDTO;
import com.tashow.cloud.payapi.api.order.dto.PayOrderCreateReqDTO;
import com.tashow.cloud.payapi.enums.DictTypeConstants;
import com.tashow.cloud.productapi.api.product.dto.ProdDO;
@@ -55,15 +55,26 @@ public interface TradeOrderConvert {
TradeOrderConvert INSTANCE = Mappers.getMapper(TradeOrderConvert.class);
//region 分页结果
default PageResult<TradeOrderPageRespVO> convertPage(PageResult<TradeOrderDO> pageResult, List<TradeOrderItemDO> orderItems) {
default PageResult<TradeOrderPageRespVO> convertPage(PageResult<TradeOrderDO> pageResult, List<TradeOrderItemDO> orderItems,Map<Long, UserMemberRespDTO> userMap) {
Map<Long, List<TradeOrderItemDO>> orderItemMap = convertMultiMap(orderItems, TradeOrderItemDO::getOrderId);
// 转化 List
List<TradeOrderPageRespVO> orderVOs = CollectionUtils.convertList(pageResult.getList(), order -> {
TradeOrderPageRespVO orderPageRespVO = convertOrder(order,userMap.get(order.getUserId()));
List<TradeOrderPageRespVO.Item> items = new ArrayList<>();
List<TradeOrderItemDO> itemDO = orderItemMap.get(order.getId());
TradeOrderPageRespVO orderPageRespVO = convert(order, itemDO);
orderPageRespVO.getItems().stream().forEach(item -> {
item.setHandedPrice(item.getPrice() - item.getDiscountPrice());
});
for (TradeOrderItemDO tradeOrderItemDO : itemDO) {
TradeOrderPageRespVO.Item item = convertItem(tradeOrderItemDO);
item.setHandedPrice(tradeOrderItemDO.getPrice() - tradeOrderItemDO.getDiscountPrice());
orderPageRespVO.setShopName(tradeOrderItemDO.getShopName());
orderPageRespVO.setShopLogo(tradeOrderItemDO.getShopLogo());
orderPageRespVO.setOrderCategoryName(tradeOrderItemDO.getOrderCategoryName());
//支付剩余时间 单位miao
orderPageRespVO.setPayLastTime(LocalDateTimeUtils.betweenWithNow(order.getPayTime()));
items.add(item);
}
orderPageRespVO.setItems(items);
return orderPageRespVO;
});
return new PageResult<>(orderVOs, pageResult.getTotal());
@@ -72,9 +83,13 @@ public interface TradeOrderConvert {
@Mappings({
@Mapping(source = "order.id", target = "id"),
@Mapping(source = "order.userId", target = "userId"),
@Mapping(source = "order.merchantRemark", target = "merchantRemark"),
@Mapping(source = "order.createTime", target = "createTime"),
@Mapping(source = "user.nickname", target = "userNickName"),
@Mapping(source = "user.avatar", target = "userAvatar"),
})
TradeOrderPageRespVO convert(TradeOrderDO order, List<TradeOrderItemDO> items);
TradeOrderPageRespVO convertOrder(TradeOrderDO order,UserMemberRespDTO user);
TradeOrderPageRespVO.Item convertItem(TradeOrderItemDO item);
//endregion
//region 订单详情
@@ -174,7 +189,7 @@ public interface TradeOrderConvert {
return createReqDTO;
}
MemberUserRespVO convert(MemberUserRespDTO bean);
MemberUserRespVO convert(UserMemberRespDTO bean);
default PageResult<AppTradeOrderPageItemRespVO> convertPage02(PageResult<TradeOrderDO> pageResult,
List<TradeOrderItemDO> orderItems) {
@@ -274,7 +289,7 @@ public interface TradeOrderConvert {
default BrokerageAddReqBO convert(MemberUserRespDTO user, TradeOrderItemDO item,
default BrokerageAddReqBO convert(UserMemberRespDTO user, TradeOrderItemDO item,
ProductSpuRespDTO spu, ProductSkuRespDTO sku) {
BrokerageAddReqBO bo = new BrokerageAddReqBO().setBizId(String.valueOf(item.getId())).setSourceUserId(item.getUserId())
.setBasePrice(item.getPayPrice())

View File

@@ -68,6 +68,10 @@ public class TradeOrderItemDO extends BaseDO {
* 店铺名称
*/
private String shopName;
/**
* 店铺logo
*/
private String shopLogo;
/**
* 订单类目id
*/

View File

@@ -1,7 +1,7 @@
package com.tashow.cloud.trade.framework.rpc.config;
import com.tashow.cloud.memberapi.api.address.MemberAddressApi;
import com.tashow.cloud.memberapi.api.user.MemberUserApi;
import com.tashow.cloud.userapi.api.address.MemberAddressApi;
import com.tashow.cloud.userapi.api.user.UserMemberApi;
import com.tashow.cloud.payapi.api.order.PayOrderApi;
import com.tashow.cloud.payapi.api.refund.PayRefundApi;
import com.tashow.cloud.payapi.api.transfer.PayTransferApi;
@@ -16,7 +16,7 @@ import org.springframework.context.annotation.Configuration;
@Configuration(proxyBeanMethods = false)
@EnableFeignClients(clients = {
MemberUserApi.class, MemberAddressApi.class,
UserMemberApi.class, MemberAddressApi.class,
ProdApi.class,
PayOrderApi.class, PayRefundApi.class, PayTransferApi.class, PayWalletApi.class,
AdminUserApi.class, NotifyMessageSendApi.class, SocialClientApi.class, SocialUserApi.class

View File

@@ -11,8 +11,8 @@ import cn.hutool.extra.spring.SpringUtil;
import com.tashow.cloud.common.enums.UserTypeEnum;
import com.tashow.cloud.common.util.json.JsonUtils;
import com.tashow.cloud.common.util.number.MoneyUtils;
import com.tashow.cloud.memberapi.api.address.MemberAddressApi;
import com.tashow.cloud.memberapi.api.address.dto.MemberAddressRespDTO;
import com.tashow.cloud.userapi.api.address.MemberAddressApi;
import com.tashow.cloud.userapi.api.address.dto.MemberAddressRespDTO;
import com.tashow.cloud.payapi.api.order.PayOrderApi;
import com.tashow.cloud.payapi.api.order.dto.PayOrderCreateReqDTO;
import com.tashow.cloud.payapi.api.refund.PayRefundApi;

View File

@@ -30,7 +30,7 @@
<!-- 依赖服务 -->
<dependency>
<groupId>com.tashow.cloud</groupId>
<artifactId>tashow-member-api</artifactId>
<artifactId>tashow-user-api</artifactId>
<version>${revision}</version>
</dependency>
<dependency>

View File

@@ -0,0 +1 @@
package com.tashow.cloud.user.api;

View File

@@ -1,8 +1,8 @@
package com.tashow.cloud.user.user;
package com.tashow.cloud.user.api.user;
import com.tashow.cloud.common.pojo.CommonResult;
import com.tashow.cloud.memberapi.api.user.MemberUserApi;
import com.tashow.cloud.memberapi.api.user.dto.MemberUserRespDTO;
import com.tashow.cloud.userapi.api.user.UserMemberApi;
import com.tashow.cloud.userapi.api.user.dto.UserMemberRespDTO;
import com.tashow.cloud.user.convert.user.MemberUserConvert;
import com.tashow.cloud.user.dal.dataobject.user.UserLoginDO;
import com.tashow.cloud.user.service.user.UserLoginService;
@@ -15,7 +15,7 @@ import java.util.List;
import static com.tashow.cloud.common.exception.util.ServiceExceptionUtil.exception;
import static com.tashow.cloud.common.pojo.CommonResult.success;
import static com.tashow.cloud.memberapi.enums.ErrorCodeConstants.USER_MOBILE_NOT_EXISTS;
import static com.tashow.cloud.userapi.enums.ErrorCodeConstants.USER_MOBILE_NOT_EXISTS;
/**
* 会员用户的 API 实现类
@@ -24,29 +24,29 @@ import static com.tashow.cloud.memberapi.enums.ErrorCodeConstants.USER_MOBILE_NO
*/
@RestController // 提供 RESTful API 接口 Feign 调用
@Validated
public class MemberUserApiImpl implements MemberUserApi {
public class UserMemberApiImpl implements UserMemberApi {
@Resource
private UserLoginService userService;
@Override
public CommonResult<MemberUserRespDTO> getUser(Long id) {
public CommonResult<UserMemberRespDTO> getUser(Long id) {
UserLoginDO user = userService.getUser(id);
return success(MemberUserConvert.INSTANCE.convert2(user));
}
@Override
public CommonResult<List<MemberUserRespDTO>> getUserList(Collection<Long> ids) {
public CommonResult<List<UserMemberRespDTO>> getUserList(Collection<Long> ids) {
return success(MemberUserConvert.INSTANCE.convertList2(userService.getUserList(ids)));
}
@Override
public CommonResult<List<MemberUserRespDTO>> getUserListByNickname(String nickname) {
public CommonResult<List<UserMemberRespDTO>> getUserListByNickname(String nickname) {
return success(MemberUserConvert.INSTANCE.convertList2(userService.getUserListByNickname(nickname)));
}
@Override
public CommonResult<MemberUserRespDTO> getUserByMobile(String mobile) {
public CommonResult<UserMemberRespDTO> getUserByMobile(String mobile) {
return success(MemberUserConvert.INSTANCE.convert2(userService.getUserByMobile(mobile)));
}

View File

@@ -20,7 +20,7 @@ import static com.tashow.cloud.common.pojo.CommonResult.success;
// 管理后台 - 会员用户
@RestController
@RequestMapping("/member/user")
@RequestMapping("/user/member")
@Validated
public class UserLoginController {

View File

@@ -18,10 +18,10 @@ import static com.tashow.cloud.security.security.core.util.SecurityFrameworkUtil
// 用户 APP - 用户个人中心
@RestController
@RequestMapping("/member/user")
@RequestMapping("/user/member")
@Validated
@Slf4j
public class AppMemberUserController {
public class AppUserMemberController {
@Resource
private UserLoginService userService;

View File

@@ -1,7 +1,7 @@
package com.tashow.cloud.user.convert.user;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.memberapi.api.user.dto.MemberUserRespDTO;
import com.tashow.cloud.userapi.api.user.dto.UserMemberRespDTO;
import com.tashow.cloud.user.controller.admin.user.vo.UserLoginRespVO;
import com.tashow.cloud.user.controller.admin.user.vo.MemberUserUpdateReqVO;
import com.tashow.cloud.user.controller.app.user.vo.AppMemberUserInfoRespVO;
@@ -25,10 +25,9 @@ public interface MemberUserConvert {
@Mappings({
@Mapping(source = "bean.id", target = "id"),
})
UserMemberRespDTO convert2(UserLoginDO bean);
MemberUserRespDTO convert2(UserLoginDO bean);
List<MemberUserRespDTO> convertList2(List<UserLoginDO> list);
List<UserMemberRespDTO> convertList2(List<UserLoginDO> list);
UserLoginDO convert(MemberUserUpdateReqVO bean);

View File

@@ -1,6 +1,6 @@
package com.tashow.cloud.user.framework.security.config;
import com.tashow.cloud.memberapi.enums.ApiConstants;
import com.tashow.cloud.userapi.enums.ApiConstants;
import com.tashow.cloud.security.security.config.AuthorizeRequestsCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

View File

@@ -35,8 +35,8 @@ import java.util.Objects;
import static com.tashow.cloud.common.exception.util.ServiceExceptionUtil.exception;
import static com.tashow.cloud.common.util.servlet.ServletUtils.getClientIP;
import static com.tashow.cloud.memberapi.enums.ErrorCodeConstants.AUTH_MOBILE_USED;
import static com.tashow.cloud.memberapi.enums.ErrorCodeConstants.AUTH_SOCIAL_USER_NOT_FOUND;
import static com.tashow.cloud.userapi.enums.ErrorCodeConstants.AUTH_MOBILE_USED;
import static com.tashow.cloud.userapi.enums.ErrorCodeConstants.AUTH_SOCIAL_USER_NOT_FOUND;
import static com.tashow.cloud.systemapi.enums.ErrorCodeConstants.*;
import static com.tashow.cloud.web.web.core.util.WebFrameworkUtils.getTerminal;

View File

@@ -39,7 +39,7 @@ import java.util.List;
import static com.tashow.cloud.common.exception.util.ServiceExceptionUtil.exception;
import static com.tashow.cloud.common.util.servlet.ServletUtils.getClientIP;
import static com.tashow.cloud.memberapi.enums.ErrorCodeConstants.USER_MOBILE_USED;
import static com.tashow.cloud.userapi.enums.ErrorCodeConstants.USER_MOBILE_USED;
import static com.tashow.cloud.systemapi.enums.ErrorCodeConstants.USER_MOBILE_NOT_EXISTS;
import static com.tashow.cloud.systemapi.enums.ErrorCodeConstants.USER_NOT_EXISTS;

View File

@@ -1,7 +1,7 @@
package com.tashow.cloud.sdk.payment.client;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
/**
* 支付客户端的工厂接口
@@ -33,6 +33,6 @@ public interface PayClientFactory {
* @param channel 支付渠道的编码的枚举
* @param payClientClass 支付客户端 class
*/
void registerPayClientClass(PayTypeEnum channel, Class<?> payClientClass);
void registerPayClientClass(PayOrderTypeEnum channel, Class<?> payClientClass);
}

View File

@@ -7,14 +7,14 @@ import com.tashow.cloud.sdk.payment.client.PayClientConfig;
import com.tashow.cloud.sdk.payment.client.PayClientFactory;
import com.tashow.cloud.sdk.payment.client.impl.alipay.*;
import com.tashow.cloud.sdk.payment.client.impl.weixin.*;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import lombok.extern.slf4j.Slf4j;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import static com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum.*;
import static com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum.*;
/**
@@ -35,7 +35,7 @@ public class PayClientFactoryImpl implements PayClientFactory {
/**
* 支付客户端 Class Map
*/
private final Map<PayTypeEnum, Class<?>> clientClass = new ConcurrentHashMap<>();
private final Map<PayOrderTypeEnum, Class<?>> clientClass = new ConcurrentHashMap<>();
public PayClientFactoryImpl() {
// 微信支付客户端
@@ -56,7 +56,7 @@ public class PayClientFactoryImpl implements PayClientFactory {
}
@Override
public void registerPayClientClass(PayTypeEnum channel, Class<?> payClientClass) {
public void registerPayClientClass(PayOrderTypeEnum channel, Class<?> payClientClass) {
clientClass.put(channel, payClientClass);
}
@@ -87,7 +87,7 @@ public class PayClientFactoryImpl implements PayClientFactory {
@SuppressWarnings("unchecked")
private <Config extends PayClientConfig> AbstractPayClient<Config> createPayClient(Long channelId, String channelCode,
Config config) {
PayTypeEnum channelEnum = PayTypeEnum.getByCode(channelCode);
PayOrderTypeEnum channelEnum = PayOrderTypeEnum.getByCode(channelCode);
Assert.notNull(channelEnum, String.format("支付渠道(%s) 为空", channelCode));
Class<?> payClientClass = clientClass.get(channelEnum);
Assert.notNull(payClientClass, String.format("支付渠道(%s) Class 为空", channelCode));

View File

@@ -6,7 +6,7 @@ import com.alipay.api.request.AlipayTradeAppPayRequest;
import com.alipay.api.response.AlipayTradeAppPayResponse;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -23,7 +23,7 @@ import lombok.extern.slf4j.Slf4j;
public class AlipayAppPayClient extends AbstractAlipayPayClient {
public AlipayAppPayClient(Long channelId, AlipayPayClientConfig config) {
super(channelId, PayTypeEnum.ALIPAY_APP.getCode(), config);
super(channelId, PayOrderTypeEnum.ALIPAY_APP.getCode(), config);
}
@Override

View File

@@ -9,7 +9,7 @@ import com.alipay.api.request.AlipayTradePayRequest;
import com.alipay.api.response.AlipayTradePayResponse;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -32,7 +32,7 @@ import static com.tashow.cloud.sdk.payment.client.impl.alipay.AlipayPayClientCon
public class AlipayBarPayClient extends AbstractAlipayPayClient {
public AlipayBarPayClient(Long channelId, AlipayPayClientConfig config) {
super(channelId, PayTypeEnum.ALIPAY_BAR.getCode(), config);
super(channelId, PayOrderTypeEnum.ALIPAY_BAR.getCode(), config);
}
@Override

View File

@@ -8,7 +8,7 @@ import com.alipay.api.request.AlipayTradePagePayRequest;
import com.alipay.api.response.AlipayTradePagePayResponse;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -25,7 +25,7 @@ import java.util.Objects;
public class AlipayPcPayClient extends AbstractAlipayPayClient {
public AlipayPcPayClient(Long channelId, AlipayPayClientConfig config) {
super(channelId, PayTypeEnum.ALIPAY_PC.getCode(), config);
super(channelId, PayOrderTypeEnum.ALIPAY_PC.getCode(), config);
}
@Override

View File

@@ -6,7 +6,7 @@ import com.alipay.api.request.AlipayTradePrecreateRequest;
import com.alipay.api.response.AlipayTradePrecreateResponse;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -26,7 +26,7 @@ import static com.tashow.cloud.sdk.payment.client.impl.alipay.AlipayPayClientCon
public class AlipayQrPayClient extends AbstractAlipayPayClient {
public AlipayQrPayClient(Long channelId, AlipayPayClientConfig config) {
super(channelId, PayTypeEnum.ALIPAY_QR.getCode(), config);
super(channelId, PayOrderTypeEnum.ALIPAY_QR.getCode(), config);
}
@Override

View File

@@ -7,7 +7,7 @@ import com.alipay.api.request.AlipayTradeWapPayRequest;
import com.alipay.api.response.AlipayTradeWapPayResponse;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -22,7 +22,7 @@ import lombok.extern.slf4j.Slf4j;
public class AlipayWapPayClient extends AbstractAlipayPayClient {
public AlipayWapPayClient(Long channelId, AlipayPayClientConfig config) {
super(channelId, PayTypeEnum.ALIPAY_WAP.getCode(), config);
super(channelId, PayOrderTypeEnum.ALIPAY_WAP.getCode(), config);
}
@Override

View File

@@ -9,7 +9,7 @@ import com.github.binarywang.wxpay.constant.WxPayConstants;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -29,7 +29,7 @@ import static com.tashow.cloud.common.util.json.JsonUtils.toJsonString;
public class WxAppPayClient extends AbstractWxPayClient {
public WxAppPayClient(Long channelId, WxPayClientConfig config) {
super(channelId, PayTypeEnum.WX_APP.getCode(), config);
super(channelId, PayOrderTypeEnum.WX_APP.getCode(), config);
}
@Override

View File

@@ -10,7 +10,7 @@ import com.github.binarywang.wxpay.exception.WxPayException;
import com.tashow.cloud.common.util.date.LocalDateTimeUtils;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -38,7 +38,7 @@ public class WxBarPayClient extends AbstractWxPayClient {
private static final Duration AUTH_CODE_EXPIRE = Duration.ofMinutes(3);
public WxBarPayClient(Long channelId, WxPayClientConfig config) {
super(channelId, PayTypeEnum.WX_BAR.getCode(), config);
super(channelId, PayOrderTypeEnum.WX_BAR.getCode(), config);
}
@Override

View File

@@ -1,6 +1,6 @@
package com.tashow.cloud.sdk.payment.client.impl.weixin;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import lombok.extern.slf4j.Slf4j;
/**
@@ -16,7 +16,7 @@ import lombok.extern.slf4j.Slf4j;
public class WxLitePayClient extends WxPubPayClient {
public WxLitePayClient(Long channelId, WxPayClientConfig config) {
super(channelId, PayTypeEnum.WX_LITE.getCode(), config);
super(channelId, PayOrderTypeEnum.WX_LITE.getCode(), config);
}
}

View File

@@ -8,7 +8,7 @@ import com.github.binarywang.wxpay.constant.WxPayConstants;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -23,7 +23,7 @@ import lombok.extern.slf4j.Slf4j;
public class WxNativePayClient extends AbstractWxPayClient {
public WxNativePayClient(Long channelId, WxPayClientConfig config) {
super(channelId, PayTypeEnum.WX_NATIVE.getCode(), config);
super(channelId, PayOrderTypeEnum.WX_NATIVE.getCode(), config);
}
@Override

View File

@@ -11,7 +11,7 @@ import com.github.binarywang.wxpay.constant.WxPayConstants;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -30,7 +30,7 @@ import static com.tashow.cloud.common.util.json.JsonUtils.toJsonString;
public class WxPubPayClient extends AbstractWxPayClient {
public WxPubPayClient(Long channelId, WxPayClientConfig config) {
super(channelId, PayTypeEnum.WX_PUB.getCode(), config);
super(channelId, PayOrderTypeEnum.WX_PUB.getCode(), config);
}
protected WxPubPayClient(Long channelId, String channelCode, WxPayClientConfig config) {

View File

@@ -8,7 +8,7 @@ import com.github.binarywang.wxpay.constant.WxPayConstants;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderRespDTO;
import com.tashow.cloud.sdk.payment.dto.order.PayOrderUnifiedReqDTO;
import com.tashow.cloud.sdk.payment.enums.channel.PayTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderTypeEnum;
import com.tashow.cloud.sdk.payment.enums.order.PayOrderDisplayModeEnum;
import lombok.extern.slf4j.Slf4j;
@@ -23,7 +23,7 @@ import lombok.extern.slf4j.Slf4j;
public class WxWapPayClient extends AbstractWxPayClient {
public WxWapPayClient(Long channelId, WxPayClientConfig config) {
super(channelId, PayTypeEnum.WX_WAP.getCode(), config);
super(channelId, PayOrderTypeEnum.WX_WAP.getCode(), config);
}
protected WxWapPayClient(Long channelId, String channelCode, WxPayClientConfig config) {

View File

@@ -0,0 +1,20 @@
package com.tashow.cloud.sdk.payment.enums.order;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 支付渠道
*/
@Getter
@AllArgsConstructor
public enum PayOrderChannelEnum {
ONLINE(1, "线上支付"),
UNDERLINE(10, "线下支付"),
;
private final Integer status;
private final String name;
}

View File

@@ -1,4 +1,4 @@
package com.tashow.cloud.sdk.payment.enums.channel;
package com.tashow.cloud.sdk.payment.enums.order;
import cn.hutool.core.util.ArrayUtil;
import com.tashow.cloud.sdk.payment.client.PayClientConfig;
@@ -14,7 +14,7 @@ import lombok.Getter;
*/
@Getter
@AllArgsConstructor
public enum PayTypeEnum {
public enum PayOrderTypeEnum {
WX_PUB("wx_pub", "微信 JSAPI 支付", WxPayClientConfig.class), // 公众号网页
WX_LITE("wx_lite", "微信小程序支付", WxPayClientConfig.class),
@@ -60,7 +60,7 @@ public enum PayTypeEnum {
*/
public static final String CLOUDPAY = "CLOUDPAY";
public static PayTypeEnum getByCode(String code) {
public static PayOrderTypeEnum getByCode(String code) {
return ArrayUtil.firstMatch(o -> o.getCode().equals(code), values());
}