63 changed files with 1370 additions and 203 deletions
@ -0,0 +1,23 @@ |
|||
package com.bnyer.img.api.dto; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Getter; |
|||
import lombok.Setter; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @Date :2023/03/31 |
|||
* @description : |
|||
*/ |
|||
@Getter |
|||
@Setter |
|||
@ApiModel("会员vip查询类") |
|||
public class QueryUserVipDto { |
|||
@ApiModelProperty(value="主键Id") |
|||
private Long id; |
|||
|
|||
@ApiModelProperty(value="vip客户端类型:10用户-抖音 20用户-快手 30用户-微信 40艺术家-微信") |
|||
private Integer userClientType; |
|||
|
|||
} |
|||
@ -0,0 +1,36 @@ |
|||
package com.bnyer.img.api.factory; |
|||
|
|||
import com.bnyer.common.core.domain.R; |
|||
import com.bnyer.img.api.dto.QueryUserVipDto; |
|||
import com.bnyer.img.api.remote.RemoteWxMiniService; |
|||
import com.bnyer.img.api.vo.UserVipVo; |
|||
import org.slf4j.Logger; |
|||
import org.slf4j.LoggerFactory; |
|||
import org.springframework.cloud.openfeign.FallbackFactory; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 图文服务降级处理 |
|||
* |
|||
* @author penny |
|||
*/ |
|||
@Component |
|||
public class RemoteWxMiniFallbackFactory implements FallbackFactory<RemoteWxMiniService> |
|||
{ |
|||
private static final Logger log = LoggerFactory.getLogger(RemoteWxMiniFallbackFactory.class); |
|||
|
|||
|
|||
@Override |
|||
public RemoteWxMiniService create(Throwable throwable) { |
|||
log.error("api图文服务调用失败:{}", throwable.getMessage()); |
|||
return new RemoteWxMiniService() { |
|||
@Override |
|||
public R<List<UserVipVo>> queryUserVipList(QueryUserVipDto dto) { |
|||
return R.fail("获取会员信息失败:+"+throwable.getMessage()); |
|||
} |
|||
|
|||
}; |
|||
} |
|||
} |
|||
@ -1,4 +1,4 @@ |
|||
package com.bnyer.img.api; |
|||
package com.bnyer.img.api.remote; |
|||
|
|||
import com.bnyer.common.core.constant.ServiceNameConstants; |
|||
import com.bnyer.common.core.domain.R; |
|||
@ -0,0 +1,26 @@ |
|||
package com.bnyer.img.api.remote; |
|||
|
|||
import com.bnyer.common.core.constant.ServiceNameConstants; |
|||
import com.bnyer.common.core.domain.R; |
|||
import com.bnyer.img.api.dto.QueryUserVipDto; |
|||
import com.bnyer.img.api.factory.RemoteWxMiniFallbackFactory; |
|||
import com.bnyer.img.api.vo.UserVipVo; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
@FeignClient(contextId = "remoteWxMiniService", value = ServiceNameConstants.IMG_SERVICE, fallbackFactory = RemoteWxMiniFallbackFactory.class) |
|||
public interface RemoteWxMiniService { |
|||
|
|||
/** |
|||
* 获取会员vip列表 |
|||
* @return |
|||
*/ |
|||
@GetMapping(value = "/queryUserVipList") |
|||
R<List<UserVipVo>> queryUserVipList(QueryUserVipDto dto); |
|||
} |
|||
@ -0,0 +1,49 @@ |
|||
package com.bnyer.img.api.vo; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Getter; |
|||
import lombok.Setter; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
import java.math.BigDecimal; |
|||
|
|||
|
|||
@Getter |
|||
@Setter |
|||
@ApiModel("会员vip响应类") |
|||
public class UserVipVo implements Serializable { |
|||
|
|||
@ApiModelProperty(value="主键Id") |
|||
private Long id; |
|||
|
|||
@ApiModelProperty(value="vip编码") |
|||
private String vipCode; |
|||
|
|||
@ApiModelProperty(value="vip名称") |
|||
private String vipName; |
|||
|
|||
@ApiModelProperty(value="原价") |
|||
private BigDecimal originPrice; |
|||
|
|||
@ApiModelProperty(value="售价") |
|||
private BigDecimal price; |
|||
|
|||
@ApiModelProperty(value="描述") |
|||
private String description; |
|||
|
|||
@ApiModelProperty(value="热门描述") |
|||
private String hotSignDesc; |
|||
|
|||
@ApiModelProperty(value="排序") |
|||
private Integer sort; |
|||
|
|||
@ApiModelProperty(value="是否到期自动续费(0>否;1->是)") |
|||
private String isDelay; |
|||
|
|||
@ApiModelProperty(value="时长天数") |
|||
private Integer days; |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
} |
|||
@ -0,0 +1,67 @@ |
|||
package com.bnyer.common.core.annotation; |
|||
|
|||
import org.apache.commons.lang3.StringUtils; |
|||
|
|||
import java.lang.annotation.Documented; |
|||
import java.lang.annotation.Retention; |
|||
import java.lang.annotation.RetentionPolicy; |
|||
import java.lang.annotation.Target; |
|||
|
|||
import static java.lang.annotation.ElementType.*; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @Date :2023/03/31 |
|||
* @description : 自定义参数校验注解 |
|||
*/ |
|||
@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER}) |
|||
@Retention(RetentionPolicy.RUNTIME) |
|||
@Documented |
|||
public @interface DiyParamsValidation { |
|||
|
|||
/** |
|||
* 限制字符串或者数字 可选项,用 | 分割 ,如 00|10|20 |
|||
* @return |
|||
*/ |
|||
String range() default ""; |
|||
|
|||
|
|||
/** |
|||
* 预定义Range |
|||
* |
|||
*/ |
|||
public static class Range{ |
|||
/** |
|||
* 参数只能是00,20 |
|||
*/ |
|||
public static final String STATE_D_E="00|20"; |
|||
/** |
|||
* 参数只能是00,10,20 |
|||
*/ |
|||
public static final String STATE_ALL="00|10|20"; |
|||
/** |
|||
* 参数只能是desc,asc |
|||
*/ |
|||
public static final String SORT_DIRECTION="desc|asc"; |
|||
|
|||
private static boolean contains(String range,String value){ |
|||
boolean flag = false; |
|||
if(StringUtils.isEmpty(value)){ |
|||
return false; |
|||
} |
|||
if(StringUtils.isNotEmpty(range)){ |
|||
String[] arr = range.split("\\|"); |
|||
for (String string : arr) { |
|||
if(value.equals(string)){ |
|||
flag = true; |
|||
break; |
|||
} |
|||
} |
|||
} |
|||
return flag; |
|||
} |
|||
} |
|||
|
|||
|
|||
String message() default "参数基本校验不通过错误:注意格式及长度"; |
|||
} |
|||
@ -0,0 +1,83 @@ |
|||
package com.bnyer.common.core.domain; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import java.util.Date; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Getter; |
|||
import lombok.NoArgsConstructor; |
|||
import lombok.Setter; |
|||
import lombok.ToString; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
/** |
|||
* 支付宝支付配置表 |
|||
*/ |
|||
@ApiModel(value="com-bnyer-common-core-domain-PayAlipayConfig") |
|||
@Getter |
|||
@Setter |
|||
@ToString |
|||
@AllArgsConstructor |
|||
@NoArgsConstructor |
|||
@TableName(value = "pay_alipay_config") |
|||
public class AlipayConfig extends BaseDomain { |
|||
/** |
|||
* 主键 |
|||
*/ |
|||
@TableId(value = "id", type = IdType.AUTO) |
|||
@ApiModelProperty(value="主键") |
|||
private Long id; |
|||
|
|||
/** |
|||
* appid |
|||
*/ |
|||
@TableField(value = "appid") |
|||
@ApiModelProperty(value="appid") |
|||
private String appid; |
|||
|
|||
/** |
|||
* app私钥 |
|||
*/ |
|||
@TableField(value = "app_private_key") |
|||
@ApiModelProperty(value="app私钥") |
|||
private String appPrivateKey; |
|||
|
|||
/** |
|||
* 阿里公钥 |
|||
*/ |
|||
@TableField(value = "alipay_public_key") |
|||
@ApiModelProperty(value="阿里公钥") |
|||
private String alipayPublicKey; |
|||
|
|||
/** |
|||
* RSA/RSA2 |
|||
*/ |
|||
@TableField(value = "key_type") |
|||
@ApiModelProperty(value="RSA/RSA2") |
|||
private String keyType; |
|||
|
|||
/** |
|||
* 回调地址url |
|||
*/ |
|||
@TableField(value = "backurl") |
|||
@ApiModelProperty(value="回调地址url") |
|||
private String backurl; |
|||
|
|||
/** |
|||
* 帐号状态(0正常 1停用) |
|||
*/ |
|||
@TableField(value = "status") |
|||
@ApiModelProperty(value="帐号状态(0正常 1停用)") |
|||
private String status; |
|||
|
|||
@TableField(value = "remark") |
|||
@ApiModelProperty(value="") |
|||
private String remark; |
|||
} |
|||
@ -0,0 +1,150 @@ |
|||
package com.bnyer.common.core.domain; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Getter; |
|||
import lombok.NoArgsConstructor; |
|||
import lombok.Setter; |
|||
import lombok.ToString; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
/** |
|||
* 付款信息表 |
|||
*/ |
|||
@ApiModel(value="com-bnyer-common-core-domain-PayPayInfo") |
|||
@Getter |
|||
@Setter |
|||
@ToString |
|||
@AllArgsConstructor |
|||
@NoArgsConstructor |
|||
@TableName(value = "pay_pay_info") |
|||
public class PayInfo extends BaseDomain { |
|||
/** |
|||
* 主键 |
|||
*/ |
|||
@TableId(value = "id", type = IdType.AUTO) |
|||
@ApiModelProperty(value="主键") |
|||
private Long id; |
|||
|
|||
/** |
|||
* 支付单号(内部生成) |
|||
*/ |
|||
@TableField(value = "pay_id") |
|||
@ApiModelProperty(value="支付单号(内部生成)") |
|||
private String payId; |
|||
|
|||
/** |
|||
* 业务主订单id:关联内部业务订单表 |
|||
*/ |
|||
@TableField(value = "order_id") |
|||
@ApiModelProperty(value="业务主订单id:关联内部业务订单表") |
|||
private String orderId; |
|||
|
|||
/** |
|||
* 支付状态:1000未支付;1001支付成功 ;1002支付失败 |
|||
*/ |
|||
@TableField(value = "pay_status") |
|||
@ApiModelProperty(value="支付状态:1000未支付;1001支付成功 ;1002支付失败") |
|||
private Integer payStatus; |
|||
|
|||
/** |
|||
* 支付类型:wxpay/alipay |
|||
*/ |
|||
@TableField(value = "pay_type") |
|||
@ApiModelProperty(value="支付类型:wxpay/alipay") |
|||
private String payType; |
|||
|
|||
/** |
|||
* 支付单号(第三方返回) |
|||
*/ |
|||
@TableField(value = "pay_no") |
|||
@ApiModelProperty(value="支付单号(第三方返回)") |
|||
private String payNo; |
|||
|
|||
/** |
|||
* appid |
|||
*/ |
|||
@TableField(value = "appid") |
|||
@ApiModelProperty(value="appid") |
|||
private String appid; |
|||
|
|||
/** |
|||
* 商品标题 |
|||
*/ |
|||
@TableField(value = "goods_subject") |
|||
@ApiModelProperty(value="商品标题") |
|||
private String goodsSubject; |
|||
|
|||
/** |
|||
* 商品描述 |
|||
*/ |
|||
@TableField(value = "goods_desc") |
|||
@ApiModelProperty(value="商品描述") |
|||
private String goodsDesc; |
|||
|
|||
/** |
|||
* 支付金额,单位元 |
|||
*/ |
|||
@TableField(value = "pay_amount") |
|||
@ApiModelProperty(value="支付金额,单位元") |
|||
private BigDecimal payAmount; |
|||
|
|||
/** |
|||
* 支付时间 |
|||
*/ |
|||
@TableField(value = "pay_time") |
|||
@ApiModelProperty(value="支付时间") |
|||
private Date payTime; |
|||
|
|||
/** |
|||
* 支付场景:1.会员充值 |
|||
*/ |
|||
@TableField(value = "scene_code") |
|||
@ApiModelProperty(value="支付场景:1.会员充值") |
|||
private Integer sceneCode; |
|||
|
|||
/** |
|||
* 用户ip |
|||
*/ |
|||
@TableField(value = "ip") |
|||
@ApiModelProperty(value="用户ip") |
|||
private String ip; |
|||
|
|||
/** |
|||
* 调用第三方下单返回 |
|||
*/ |
|||
@TableField(value = "third_code") |
|||
@ApiModelProperty(value="调用第三方下单返回") |
|||
private String thirdCode; |
|||
|
|||
/** |
|||
* 调用第三方下单返回 |
|||
*/ |
|||
@TableField(value = "third_msg") |
|||
@ApiModelProperty(value="调用第三方下单返回") |
|||
private String thirdMsg; |
|||
|
|||
/** |
|||
* 调用第三方下单返回 |
|||
*/ |
|||
@TableField(value = "third_no") |
|||
@ApiModelProperty(value="调用第三方下单返回") |
|||
private String thirdNo; |
|||
|
|||
/** |
|||
* 备注 |
|||
*/ |
|||
@TableField(value = "remark") |
|||
@ApiModelProperty(value="备注") |
|||
private String remark; |
|||
} |
|||
@ -0,0 +1,143 @@ |
|||
package com.bnyer.common.core.domain; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Getter; |
|||
import lombok.NoArgsConstructor; |
|||
import lombok.Setter; |
|||
import lombok.ToString; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
/** |
|||
* 会员订单表 |
|||
*/ |
|||
@ApiModel(value="com-bnyer-common-core-domain-OrderVipOrder") |
|||
@Getter |
|||
@Setter |
|||
@ToString |
|||
@AllArgsConstructor |
|||
@NoArgsConstructor |
|||
@TableName(value = "order_vip_order") |
|||
public class VipOrder extends BaseDomain { |
|||
/** |
|||
* 主键 |
|||
*/ |
|||
@TableId(value = "id", type = IdType.AUTO) |
|||
@ApiModelProperty(value="主键") |
|||
private Long id; |
|||
|
|||
/** |
|||
* 订单id |
|||
*/ |
|||
@TableField(value = "order_id") |
|||
@ApiModelProperty(value="订单id") |
|||
private String orderId; |
|||
|
|||
/** |
|||
* 用户手机号 |
|||
*/ |
|||
@TableField(value = "phone") |
|||
@ApiModelProperty(value="用户手机号") |
|||
private String phone; |
|||
|
|||
/** |
|||
* 用户id |
|||
*/ |
|||
@TableField(value = "user_id") |
|||
@ApiModelProperty(value="用户id") |
|||
private Long userId; |
|||
|
|||
/** |
|||
* vip主键Id |
|||
*/ |
|||
@TableField(value = "vip_id") |
|||
@ApiModelProperty(value="vip主键Id") |
|||
private Long vipId; |
|||
|
|||
/** |
|||
* vip编码 |
|||
*/ |
|||
@TableField(value = "vip_code") |
|||
@ApiModelProperty(value="vip编码") |
|||
private String vipCode; |
|||
|
|||
/** |
|||
* vip名称 |
|||
*/ |
|||
@TableField(value = "vip_name") |
|||
@ApiModelProperty(value="vip名称") |
|||
private String vipName; |
|||
|
|||
/** |
|||
* 支付金额,单位元 |
|||
*/ |
|||
@TableField(value = "pay_amount") |
|||
@ApiModelProperty(value="支付金额,单位元") |
|||
private BigDecimal payAmount; |
|||
|
|||
/** |
|||
* 是否到期自动续费(0>否;1->是) |
|||
*/ |
|||
@TableField(value = "is_delay") |
|||
@ApiModelProperty(value="是否到期自动续费(0>否;1->是)") |
|||
private String isDelay; |
|||
|
|||
/** |
|||
* 时长天数 |
|||
*/ |
|||
@TableField(value = "days") |
|||
@ApiModelProperty(value="时长天数") |
|||
private Integer days; |
|||
|
|||
/** |
|||
* 订单状态:0未处理;1成功;2失败 |
|||
*/ |
|||
@TableField(value = "order_status") |
|||
@ApiModelProperty(value="订单状态:0未处理;1成功;2失败") |
|||
private Integer orderStatus; |
|||
|
|||
/** |
|||
* 订单关闭原因:0超时未支付; 1买家取消 |
|||
*/ |
|||
@TableField(value = "close_type") |
|||
@ApiModelProperty(value="订单关闭原因:0超时未支付; 1买家取消") |
|||
private Byte closeType; |
|||
|
|||
/** |
|||
* 支付时间 |
|||
*/ |
|||
@TableField(value = "pay_time") |
|||
@ApiModelProperty(value="支付时间") |
|||
private Date payTime; |
|||
|
|||
/** |
|||
* 取消时间 |
|||
*/ |
|||
@TableField(value = "cancel_time") |
|||
@ApiModelProperty(value="取消时间") |
|||
private Date cancelTime; |
|||
|
|||
/** |
|||
* 用户客户端类型:10用户-抖音 20用户-快手 30用户-微信 40艺术家-微信 |
|||
*/ |
|||
@TableField(value = "user_client_type") |
|||
@ApiModelProperty(value = "用户客户端类型:10用户-抖音 20用户-快手 30用户-微信 40艺术家-微信") |
|||
private Integer userClientType; |
|||
|
|||
/** |
|||
* 备注 |
|||
*/ |
|||
@TableField(value = "remark") |
|||
@ApiModelProperty(value="备注") |
|||
private String remark; |
|||
} |
|||
@ -0,0 +1,83 @@ |
|||
package com.bnyer.common.core.domain; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import java.util.Date; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Getter; |
|||
import lombok.NoArgsConstructor; |
|||
import lombok.Setter; |
|||
import lombok.ToString; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
/** |
|||
* 微信支付配置表 |
|||
*/ |
|||
@ApiModel(value="com-bnyer-common-core-domain-PayWxpayConfig") |
|||
@Getter |
|||
@Setter |
|||
@ToString |
|||
@AllArgsConstructor |
|||
@NoArgsConstructor |
|||
@TableName(value = "pay_wxpay_config") |
|||
public class WxpayConfig extends BaseDomain { |
|||
/** |
|||
* 主键 |
|||
*/ |
|||
@TableId(value = "id", type = IdType.AUTO) |
|||
@ApiModelProperty(value="主键") |
|||
private Long id; |
|||
|
|||
/** |
|||
* APP|JSAPI|MWEB|MINIPROGRAM 支付 |
|||
*/ |
|||
@TableField(value = "trade_type") |
|||
@ApiModelProperty(value="APP|JSAPI|MWEB|MINIPROGRAM 支付") |
|||
private String tradeType; |
|||
|
|||
/** |
|||
* appid |
|||
*/ |
|||
@TableField(value = "appid") |
|||
@ApiModelProperty(value="appid") |
|||
private String appid; |
|||
|
|||
/** |
|||
* 商户号 |
|||
*/ |
|||
@TableField(value = "mchid") |
|||
@ApiModelProperty(value="商户号") |
|||
private String mchid; |
|||
|
|||
/** |
|||
* 回调地址url |
|||
*/ |
|||
@TableField(value = "backurl") |
|||
@ApiModelProperty(value="回调地址url") |
|||
private String backurl; |
|||
|
|||
/** |
|||
* 密钥 |
|||
*/ |
|||
@TableField(value = "key") |
|||
@ApiModelProperty(value="密钥") |
|||
private String key; |
|||
|
|||
/** |
|||
* 帐号状态(0正常 1停用) |
|||
*/ |
|||
@TableField(value = "status") |
|||
@ApiModelProperty(value="帐号状态(0正常 1停用)") |
|||
private String status; |
|||
|
|||
@TableField(value = "remark") |
|||
@ApiModelProperty(value="") |
|||
private String remark; |
|||
} |
|||
@ -0,0 +1,23 @@ |
|||
package com.bnyer.common.core.dto; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Getter; |
|||
import lombok.Setter; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @Date :2023/03/31 |
|||
* @description : |
|||
*/ |
|||
@Getter |
|||
@Setter |
|||
@ApiModel("会员vip查询类") |
|||
public class QueryUserVipDto { |
|||
@ApiModelProperty(value="主键Id") |
|||
private Long id; |
|||
|
|||
@ApiModelProperty(value="vip客户端类型:10用户-抖音 20用户-快手 30用户-微信 40艺术家-微信") |
|||
private Integer userClientType; |
|||
|
|||
} |
|||
@ -1,34 +0,0 @@ |
|||
package com.bnyer.common.core.dto; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Getter; |
|||
import lombok.NoArgsConstructor; |
|||
import lombok.Setter; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import javax.validation.constraints.NotNull; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @Date :2023/03/27 |
|||
* @description : |
|||
*/ |
|||
@Getter |
|||
@Setter |
|||
@NoArgsConstructor |
|||
public class VipOrderDto implements Serializable { |
|||
|
|||
@NotBlank(message = "手机号不能为空!") |
|||
@ApiModelProperty(value="手机号") |
|||
private String phone; |
|||
|
|||
@NotNull(message = "用户vipId不能为空!") |
|||
@ApiModelProperty(value="用户vip表id") |
|||
private Long userVipId; |
|||
|
|||
@NotBlank(message = "vip类型状态不能为空!") |
|||
@ApiModelProperty(value="vip类型状态(0->月卡;1->季卡;2->年卡)") |
|||
private String type; |
|||
|
|||
} |
|||
@ -0,0 +1,44 @@ |
|||
package com.bnyer.common.core.enums; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Getter; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
@Getter |
|||
@AllArgsConstructor |
|||
public enum EnumUserClientType { |
|||
|
|||
DU(10,"抖音","用户","DU"), |
|||
KU(20,"快手","用户","KU"), |
|||
WU(30,"微信","用户","WU"), |
|||
WY(40,"微信","艺术家","WY"), |
|||
; |
|||
|
|||
private final int type; |
|||
|
|||
private final String name; |
|||
|
|||
private final String role; |
|||
|
|||
private final String desc; |
|||
|
|||
public static String getName(int type) { |
|||
for (EnumUserClientType s : EnumUserClientType.values()) { |
|||
if (type == s.type) { |
|||
return s.getName(); |
|||
} |
|||
} |
|||
return null; |
|||
} |
|||
public static String getDesc(int type) { |
|||
for (EnumUserClientType s : EnumUserClientType.values()) { |
|||
if (type == s.type) { |
|||
return s.getDesc(); |
|||
} |
|||
} |
|||
return null; |
|||
} |
|||
} |
|||
@ -0,0 +1,30 @@ |
|||
package com.bnyer.common.core.utils; |
|||
|
|||
import java.text.SimpleDateFormat; |
|||
import java.util.Date; |
|||
import java.util.Random; |
|||
|
|||
public class OrderUtil { |
|||
|
|||
/** |
|||
* 生成流水(不超过32位) |
|||
* |
|||
* @frontStr 费用类型 RV=会员充值 |
|||
* @return 3位项目ID+2费用类型+14时间+11userId+2随机位 |
|||
*/ |
|||
public static String getOrderId(String frontStr, Date curTime, String userClientType, String userId) { |
|||
SimpleDateFormat simple = new SimpleDateFormat("yyyyMMddHHmmss"); |
|||
String ms = simple.format(curTime); |
|||
|
|||
Random rand = new Random(); |
|||
String strRand = String.valueOf(rand.nextInt(100)); |
|||
while (strRand.length() < 2) { |
|||
strRand = "0" + strRand; |
|||
} |
|||
return frontStr+userClientType + ms + userId+ strRand; |
|||
} |
|||
|
|||
public static void main(String[] args) { |
|||
System.out.println(getOrderId("RV",new Date(),"DY",1+"")); |
|||
} |
|||
} |
|||
@ -1,42 +0,0 @@ |
|||
package com.bnyer.common.core.vo; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Getter; |
|||
import lombok.NoArgsConstructor; |
|||
import lombok.Setter; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @Date :2023/03/27 |
|||
* @description : |
|||
*/ |
|||
@Getter |
|||
@Setter |
|||
@NoArgsConstructor |
|||
public class VipOrderVo { |
|||
|
|||
@ApiModelProperty(value="手机号") |
|||
private String phone; |
|||
|
|||
@ApiModelProperty(value="用户vip表id") |
|||
private Long userVipId; |
|||
|
|||
@ApiModelProperty(value="vip类型状态(0->月卡;1->季卡;2->年卡)") |
|||
private String type; |
|||
|
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@ApiModelProperty(value="开始时间") |
|||
private Date startTime; |
|||
|
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@ApiModelProperty(value="到期时间") |
|||
private Date endTime; |
|||
|
|||
@ApiModelProperty(value="总金额") |
|||
private BigDecimal totalAmount; |
|||
|
|||
} |
|||
@ -0,0 +1,45 @@ |
|||
package com.bnyer.order.dto; |
|||
|
|||
import com.bnyer.common.core.annotation.DiyParamsValidation; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Getter; |
|||
import lombok.NoArgsConstructor; |
|||
import lombok.Setter; |
|||
import org.hibernate.validator.constraints.Range; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import javax.validation.constraints.NotNull; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @Date :2023/03/27 |
|||
* @description : |
|||
*/ |
|||
@Getter |
|||
@Setter |
|||
@NoArgsConstructor |
|||
public class VipOrderDto implements Serializable { |
|||
|
|||
@NotBlank(message = "手机号不能为空!") |
|||
@ApiModelProperty(value="手机号") |
|||
private String phone; |
|||
|
|||
// @ApiModelProperty(value = "购买数量")
|
|||
// private Integer payNum;
|
|||
|
|||
@NotNull(message = "vipId不能为空!") |
|||
@ApiModelProperty(value="vip表id") |
|||
private Long vipId; |
|||
|
|||
// @NotBlank(message = "用户客户端类型不能为空!")
|
|||
// @Range(min = 10,max = 40,message = "用户客户端类型只能包含:10用户-抖音 20用户-快手 30用户-微信 40艺术家-微信")
|
|||
// @ApiModelProperty(value="用户客户端类型:10用户-抖音 20用户-快手 30用户-微信 40艺术家-微信")
|
|||
// private Integer userClientType;
|
|||
|
|||
// @NotBlank(message = "vip类型状态不能为空!")
|
|||
// @DiyParamsValidation(range = "0|1|2",message = "下单范围类型暂时只能传0->月卡;1->季卡;2->年卡")
|
|||
// @ApiModelProperty(value="vip类型状态(0->月卡;1->季卡;2->年卡)")
|
|||
// private String type;
|
|||
|
|||
} |
|||
@ -0,0 +1,32 @@ |
|||
package com.bnyer.order.enums; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Getter; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
@Getter |
|||
@AllArgsConstructor |
|||
public enum EnumVipOrderStatus { |
|||
|
|||
NOT_PROCESS(0,"未处理"), |
|||
SUCCESS(1,"成功"), |
|||
FAILS(2,"失败"), |
|||
; |
|||
|
|||
private final int status; |
|||
|
|||
private final String name; |
|||
|
|||
public static String getStatusName(int status) { |
|||
for (EnumVipOrderStatus s : EnumVipOrderStatus.values()) { |
|||
if (status == s.status) { |
|||
return s.getName(); |
|||
} |
|||
} |
|||
return null; |
|||
} |
|||
|
|||
} |
|||
@ -1,7 +0,0 @@ |
|||
package com.bnyer.order.mapper; |
|||
|
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
@Mapper |
|||
public class TestMapper { |
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
package com.bnyer.order.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.bnyer.common.core.domain.VipOrder; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
@Mapper |
|||
public interface VipOrderMapper extends BaseMapper<VipOrder> { |
|||
} |
|||
@ -0,0 +1,60 @@ |
|||
package com.bnyer.order.vo; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Getter; |
|||
import lombok.NoArgsConstructor; |
|||
import lombok.Setter; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @Date :2023/03/27 |
|||
* @description : |
|||
*/ |
|||
@Getter |
|||
@Setter |
|||
@NoArgsConstructor |
|||
public class VipOrderVo { |
|||
|
|||
@ApiModelProperty(value="手机号") |
|||
private String phone; |
|||
|
|||
@ApiModelProperty(value="vip表id") |
|||
private Long vipId; |
|||
|
|||
@ApiModelProperty(value = "vip编码") |
|||
private String vipCode; |
|||
|
|||
@ApiModelProperty(value = "vip名称") |
|||
private String vipName; |
|||
|
|||
@ApiModelProperty(value="vip类型状态(0->月卡;1->季卡;2->年卡)") |
|||
private String type; |
|||
|
|||
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|||
// @ApiModelProperty(value="开始时间")
|
|||
// private Date startTime;
|
|||
//
|
|||
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
|||
// @ApiModelProperty(value="到期时间")
|
|||
// private Date endTime;
|
|||
|
|||
@ApiModelProperty(value = "用户客户端类型:10用户-抖音 20用户-快手 30用户-微信 40艺术家-微信") |
|||
private Integer userClientType; |
|||
|
|||
@ApiModelProperty(value="热门描述") |
|||
private String hotSignDesc; |
|||
|
|||
@ApiModelProperty(value="是否到期自动续费(0>否;1->是)") |
|||
private String isDelay; |
|||
|
|||
@ApiModelProperty(value="时长天数") |
|||
private Integer days; |
|||
|
|||
@ApiModelProperty(value="支付金额") |
|||
private BigDecimal payAmount; |
|||
|
|||
} |
|||
@ -0,0 +1,31 @@ |
|||
<?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.bnyer.order.mapper.VipOrderMapper"> |
|||
<resultMap id="BaseResultMap" type="com.bnyer.common.core.domain.VipOrder"> |
|||
<!--@mbg.generated--> |
|||
<!--@Table order_vip_order--> |
|||
<id column="id" jdbcType="BIGINT" property="id" /> |
|||
<result column="order_id" jdbcType="VARCHAR" property="orderId" /> |
|||
<result column="phone" jdbcType="VARCHAR" property="phone" /> |
|||
<result column="user_id" jdbcType="BIGINT" property="userId" /> |
|||
<result column="vip_id" jdbcType="BIGINT" property="vipId" /> |
|||
<result column="vip_code" jdbcType="VARCHAR" property="vipCode" /> |
|||
<result column="vip_name" jdbcType="VARCHAR" property="vipName" /> |
|||
<result column="pay_amount" jdbcType="DECIMAL" property="payAmount" /> |
|||
<result column="is_delay" jdbcType="CHAR" property="isDelay" /> |
|||
<result column="days" jdbcType="INTEGER" property="days" /> |
|||
<result column="order_status" jdbcType="INTEGER" property="orderStatus" /> |
|||
<result column="close_type" jdbcType="TINYINT" property="closeType" /> |
|||
<result column="pay_time" jdbcType="TIMESTAMP" property="payTime" /> |
|||
<result column="cancel_time" jdbcType="TIMESTAMP" property="cancelTime" /> |
|||
<result column="user_client_type" jdbcType="INTEGER" property="userClientType" /> |
|||
<result column="remark" jdbcType="VARCHAR" property="remark" /> |
|||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> |
|||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" /> |
|||
</resultMap> |
|||
<sql id="Base_Column_List"> |
|||
<!--@mbg.generated--> |
|||
id, order_id, phone, user_id, vip_id, vip_code, vip_name, pay_amount, is_delay, `days`, |
|||
order_status, close_type, pay_time, cancel_time,user_client_type, remark, create_time, update_time |
|||
</sql> |
|||
</mapper> |
|||
@ -1,4 +0,0 @@ |
|||
package com.bnyer.pay.controller; |
|||
|
|||
public class TestController { |
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
package com.bnyer.pay.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.bnyer.common.core.domain.AlipayConfig; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
@Mapper |
|||
public interface PayAlipayConfigMapper extends BaseMapper<AlipayConfig> { |
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
package com.bnyer.pay.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.bnyer.common.core.domain.PayInfo; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
@Mapper |
|||
public interface PayPayInfoMapper extends BaseMapper<PayInfo> { |
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
package com.bnyer.pay.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.bnyer.common.core.domain.WxpayConfig; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
@Mapper |
|||
public interface PayWxpayConfigMapper extends BaseMapper<WxpayConfig> { |
|||
} |
|||
@ -1,4 +0,0 @@ |
|||
package com.bnyer.pay.mapper; |
|||
|
|||
public class TestMapper { |
|||
} |
|||
@ -0,0 +1,12 @@ |
|||
package com.bnyer.pay.service; |
|||
|
|||
import com.bnyer.common.core.domain.AlipayConfig; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
public interface PayAlipayConfigService extends IService<AlipayConfig>{ |
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,12 @@ |
|||
package com.bnyer.pay.service; |
|||
|
|||
import com.bnyer.common.core.domain.PayInfo; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
public interface PayPayInfoService extends IService<PayInfo>{ |
|||
|
|||
|
|||
} |
|||
@ -0,0 +1,12 @@ |
|||
package com.bnyer.pay.service; |
|||
|
|||
import com.bnyer.common.core.domain.WxpayConfig; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
public interface PayWxpayConfigService extends IService<WxpayConfig>{ |
|||
|
|||
|
|||
} |
|||
@ -1,4 +0,0 @@ |
|||
package com.bnyer.pay.service; |
|||
|
|||
public class TestService { |
|||
} |
|||
@ -0,0 +1,15 @@ |
|||
package com.bnyer.pay.service.impl; |
|||
|
|||
import org.springframework.stereotype.Service; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.bnyer.pay.mapper.PayAlipayConfigMapper; |
|||
import com.bnyer.common.core.domain.AlipayConfig; |
|||
import com.bnyer.pay.service.PayAlipayConfigService; |
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
@Service |
|||
public class PayAlipayConfigServiceImpl extends ServiceImpl<PayAlipayConfigMapper, AlipayConfig> implements PayAlipayConfigService{ |
|||
|
|||
} |
|||
@ -0,0 +1,15 @@ |
|||
package com.bnyer.pay.service.impl; |
|||
|
|||
import org.springframework.stereotype.Service; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.bnyer.common.core.domain.PayInfo; |
|||
import com.bnyer.pay.mapper.PayPayInfoMapper; |
|||
import com.bnyer.pay.service.PayPayInfoService; |
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
@Service |
|||
public class PayPayInfoServiceImpl extends ServiceImpl<PayPayInfoMapper, PayInfo> implements PayPayInfoService{ |
|||
|
|||
} |
|||
@ -0,0 +1,15 @@ |
|||
package com.bnyer.pay.service.impl; |
|||
|
|||
import org.springframework.stereotype.Service; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.bnyer.pay.mapper.PayWxpayConfigMapper; |
|||
import com.bnyer.common.core.domain.WxpayConfig; |
|||
import com.bnyer.pay.service.PayWxpayConfigService; |
|||
/** |
|||
* @author :WXC |
|||
* @description : |
|||
*/ |
|||
@Service |
|||
public class PayWxpayConfigServiceImpl extends ServiceImpl<PayWxpayConfigMapper, WxpayConfig> implements PayWxpayConfigService{ |
|||
|
|||
} |
|||
@ -1,4 +0,0 @@ |
|||
package com.bnyer.pay.service.impl; |
|||
|
|||
public class TestServiceImpl { |
|||
} |
|||
@ -0,0 +1,23 @@ |
|||
<?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.bnyer.pay.mapper.PayAlipayConfigMapper"> |
|||
<resultMap id="BaseResultMap" type="com.bnyer.common.core.domain.AlipayConfig"> |
|||
<!--@mbg.generated--> |
|||
<!--@Table pay_alipay_config--> |
|||
<id column="id" jdbcType="BIGINT" property="id" /> |
|||
<result column="appid" jdbcType="VARCHAR" property="appid" /> |
|||
<result column="app_private_key" jdbcType="VARCHAR" property="appPrivateKey" /> |
|||
<result column="alipay_public_key" jdbcType="VARCHAR" property="alipayPublicKey" /> |
|||
<result column="key_type" jdbcType="VARCHAR" property="keyType" /> |
|||
<result column="backurl" jdbcType="VARCHAR" property="backurl" /> |
|||
<result column="status" jdbcType="CHAR" property="status" /> |
|||
<result column="remark" jdbcType="VARCHAR" property="remark" /> |
|||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> |
|||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" /> |
|||
</resultMap> |
|||
<sql id="Base_Column_List"> |
|||
<!--@mbg.generated--> |
|||
id, appid, app_private_key, alipay_public_key, `key_type`, backurl, `status`, remark, |
|||
create_time, update_time |
|||
</sql> |
|||
</mapper> |
|||
@ -0,0 +1,33 @@ |
|||
<?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.bnyer.pay.mapper.PayPayInfoMapper"> |
|||
<resultMap id="BaseResultMap" type="com.bnyer.common.core.domain.PayInfo"> |
|||
<!--@mbg.generated--> |
|||
<!--@Table pay_pay_info--> |
|||
<id column="id" jdbcType="BIGINT" property="id" /> |
|||
<result column="pay_id" jdbcType="VARCHAR" property="payId" /> |
|||
<result column="order_id" jdbcType="VARCHAR" property="orderId" /> |
|||
<result column="pay_status" jdbcType="INTEGER" property="payStatus" /> |
|||
<result column="pay_type" jdbcType="VARCHAR" property="payType" /> |
|||
<result column="pay_no" jdbcType="VARCHAR" property="payNo" /> |
|||
<result column="appid" jdbcType="VARCHAR" property="appid" /> |
|||
<result column="goods_subject" jdbcType="VARCHAR" property="goodsSubject" /> |
|||
<result column="goods_desc" jdbcType="VARCHAR" property="goodsDesc" /> |
|||
<result column="pay_amount" jdbcType="DECIMAL" property="payAmount" /> |
|||
<result column="pay_time" jdbcType="TIMESTAMP" property="payTime" /> |
|||
<result column="scene_code" jdbcType="INTEGER" property="sceneCode" /> |
|||
<result column="ip" jdbcType="VARCHAR" property="ip" /> |
|||
<result column="third_code" jdbcType="VARCHAR" property="thirdCode" /> |
|||
<result column="third_msg" jdbcType="VARCHAR" property="thirdMsg" /> |
|||
<result column="third_no" jdbcType="VARCHAR" property="thirdNo" /> |
|||
<result column="remark" jdbcType="VARCHAR" property="remark" /> |
|||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> |
|||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" /> |
|||
</resultMap> |
|||
<sql id="Base_Column_List"> |
|||
<!--@mbg.generated--> |
|||
id, pay_id, order_id, pay_status, pay_type, pay_no, appid, goods_subject, goods_desc, |
|||
pay_amount, pay_time, scene_code, ip, third_code, third_msg, third_no, remark, create_time, |
|||
update_time |
|||
</sql> |
|||
</mapper> |
|||
@ -0,0 +1,22 @@ |
|||
<?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.bnyer.pay.mapper.PayWxpayConfigMapper"> |
|||
<resultMap id="BaseResultMap" type="com.bnyer.common.core.domain.WxpayConfig"> |
|||
<!--@mbg.generated--> |
|||
<!--@Table pay_wxpay_config--> |
|||
<id column="id" jdbcType="BIGINT" property="id" /> |
|||
<result column="trade_type" jdbcType="VARCHAR" property="tradeType" /> |
|||
<result column="appid" jdbcType="VARCHAR" property="appid" /> |
|||
<result column="mchid" jdbcType="VARCHAR" property="mchid" /> |
|||
<result column="backurl" jdbcType="VARCHAR" property="backurl" /> |
|||
<result column="key" jdbcType="VARCHAR" property="key" /> |
|||
<result column="status" jdbcType="CHAR" property="status" /> |
|||
<result column="remark" jdbcType="VARCHAR" property="remark" /> |
|||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> |
|||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" /> |
|||
</resultMap> |
|||
<sql id="Base_Column_List"> |
|||
<!--@mbg.generated--> |
|||
id, trade_type, appid, mchid, backurl, `key`, `status`, remark, create_time, update_time |
|||
</sql> |
|||
</mapper> |
|||
Loading…
Reference in new issue