完成课程退款功能
This commit is contained in:
@ -1,5 +1,7 @@
|
||||
package com.greenorange.promotion.constant;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
public interface SystemConstant {
|
||||
|
||||
/**
|
||||
@ -11,6 +13,18 @@ public interface SystemConstant {
|
||||
/**
|
||||
* 文件公共前缀
|
||||
*/
|
||||
String FILE_COMMON_PREFIX = "http://27.30.77.229:9091/file/download/";
|
||||
String FILE_COMMON_PREFIX = "http://160.202.242.36:9091/file/download/";
|
||||
|
||||
|
||||
/**
|
||||
* 一级抽成比例
|
||||
*/
|
||||
BigDecimal FIRST_LEVEL_COMMISSION_RATE = new BigDecimal("0.02");
|
||||
|
||||
|
||||
/**
|
||||
* 二级抽成比例
|
||||
*/
|
||||
BigDecimal SECOND_LEVEL_COMMISSION_RATE = new BigDecimal("0.03");
|
||||
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ import com.greenorange.promotion.model.dto.courseOrder.CourseOrderUpdateRequest;
|
||||
import com.greenorange.promotion.model.entity.Course;
|
||||
import com.greenorange.promotion.model.entity.CourseOrder;
|
||||
import com.greenorange.promotion.model.vo.course.CourseCardVO;
|
||||
import com.greenorange.promotion.model.vo.course.CourseVO;
|
||||
import com.greenorange.promotion.model.vo.courseOrder.CourseOrderCardVO;
|
||||
import com.greenorange.promotion.model.vo.courseOrder.CourseOrderVO;
|
||||
import com.greenorange.promotion.service.common.CommonService;
|
||||
@ -73,7 +74,10 @@ public class CourseOrderController {
|
||||
Long courseId = courseOrderAddRequest.getCourseId();
|
||||
Course course = courseService.getById(courseId);
|
||||
ThrowUtils.throwIf(course == null, ErrorCode.OPERATION_ERROR, "该课程不存在");
|
||||
CourseOrder courseOrder = commonService.copyProperties(course, CourseOrder.class);
|
||||
CourseVO courseVO = commonService.copyProperties(course, CourseVO.class);
|
||||
CourseOrder courseOrder = commonService.copyProperties(courseVO, CourseOrder.class);
|
||||
courseOrder.setId(null);
|
||||
courseOrder.setCourseId(courseId);
|
||||
courseOrder.setOrderNumber(OrderNumberUtils.generateOrderId());
|
||||
courseOrder.setTotalAmount(course.getDiscountPrice());
|
||||
courseOrder.setUserId(userId);
|
||||
|
@ -15,7 +15,7 @@ import java.util.*;
|
||||
public class Generator {
|
||||
|
||||
// 数据源配置
|
||||
private static final String DATASOURCE_URL = "jdbc:mysql://27.30.77.229:3306/qingcheng_dev?serverTimezone=Asia/Shanghai";
|
||||
private static final String DATASOURCE_URL = "jdbc:mysql://160.202.242.36:3306/qingcheng_dev?serverTimezone=Asia/Shanghai";
|
||||
private static final String USERNAME = "qingcheng";
|
||||
private static final String PASSWORD = "Qc@8ls2jf";
|
||||
|
||||
@ -27,13 +27,13 @@ public class Generator {
|
||||
// 作者
|
||||
private static final String AUTHOR = "chenxinzhi";
|
||||
// 表注释
|
||||
private static final String TABLE_COMMENT = "晋升申请";
|
||||
private static final String TABLE_COMMENT = "退款记录";
|
||||
// 实体类名
|
||||
private static final String ENTITY_NAME = "AdvancementApply";
|
||||
private static final String ENTITY_NAME = "RefundRecord";
|
||||
// 表名
|
||||
private static final String TABLE_NAME = "advancement_apply";
|
||||
private static final String TABLE_NAME = "refund_record";
|
||||
// 实体类属性名
|
||||
private static final String ENTITY_NAME_LOWER = "advancementApply";
|
||||
private static final String ENTITY_NAME_LOWER = "refundRecord";
|
||||
|
||||
// 父包名
|
||||
private static final String PARENT_PATH = "com.greenorange.promotion";
|
||||
|
@ -59,7 +59,7 @@ public class OrderStatusListener {
|
||||
LambdaUpdateWrapper<CourseOrder> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||
lambdaUpdateWrapper.eq(CourseOrder::getId, orderId)
|
||||
.set(CourseOrder::getOrderStatus, OrderStatusConstant.CLOSED);
|
||||
courseOrderService.updateById(courseOrder);
|
||||
courseOrderService.update(lambdaUpdateWrapper);
|
||||
}
|
||||
|
||||
|
||||
|
@ -0,0 +1,18 @@
|
||||
package com.greenorange.promotion.mapper;
|
||||
|
||||
import com.greenorange.promotion.model.entity.RefundRecord;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
* @description 针对表【refund_record(退款记录表)】的数据库操作Mapper
|
||||
* @createDate 2025-07-01 08:18:44
|
||||
* @Entity com.greenorange.promotion.model.entity.RefundRecord
|
||||
*/
|
||||
public interface RefundRecordMapper extends BaseMapper<RefundRecord> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -37,7 +37,7 @@ public class CourseAddRequest implements Serializable {
|
||||
*/
|
||||
@NotBlank(message = "课程类别不能为空")
|
||||
@EnumValue(enumClass = CourseTypeEnum.class)
|
||||
@Schema(description = "课程类别[考公,财经]", example = "自媒体")
|
||||
@Schema(description = "课程类别[考公,财经]", example = "财经")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
|
@ -0,0 +1,86 @@
|
||||
package com.greenorange.promotion.model.dto.refundRecord;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import lombok.Data;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 退款记录添加请求体
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "退款记录添加请求体", requiredProperties = {
|
||||
"outTradeNo",
|
||||
"outRefundNo",
|
||||
"name",
|
||||
"type",
|
||||
"image",
|
||||
"totalAmount",
|
||||
"refundAmount",
|
||||
"userId",
|
||||
})
|
||||
public class RefundRecordAddRequest implements Serializable {
|
||||
|
||||
/**
|
||||
* 订单号
|
||||
*/
|
||||
@NotBlank(message = "订单号不能为空")
|
||||
@Schema(description = "订单号", example = "")
|
||||
private String outTradeNo;
|
||||
|
||||
/**
|
||||
* 退款单号
|
||||
*/
|
||||
@NotBlank(message = "退款单号不能为空")
|
||||
@Schema(description = "退款单号", example = "")
|
||||
private String outRefundNo;
|
||||
|
||||
/**
|
||||
* 课程名称
|
||||
*/
|
||||
@NotBlank(message = "课程名称不能为空")
|
||||
@Schema(description = "课程名称", example = "")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 课程类别
|
||||
*/
|
||||
@NotBlank(message = "课程类别不能为空")
|
||||
@Schema(description = "课程类别", example = "")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 课程图片
|
||||
*/
|
||||
@NotBlank(message = "课程图片不能为空")
|
||||
@Schema(description = "课程图片", example = "")
|
||||
private String image;
|
||||
|
||||
/**
|
||||
* 订单价格
|
||||
*/
|
||||
@Schema(description = "订单价格", example = "")
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
/**
|
||||
* 退款金额
|
||||
*/
|
||||
@Schema(description = "退款金额", example = "")
|
||||
private BigDecimal refundAmount;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@Min(value = 1L, message = "用户id ID不能小于1")
|
||||
@Schema(description = "用户id", example = "")
|
||||
private Long userId;
|
||||
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
@ -0,0 +1,30 @@
|
||||
package com.greenorange.promotion.model.dto.refundRecord;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import lombok.Data;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import com.greenorange.promotion.common.PageRequest;
|
||||
|
||||
/**
|
||||
* 退款记录查询请求体,继承自分页请求 PageRequest
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "退款记录查询请求体", requiredProperties = {"current", "pageSize"})
|
||||
public class RefundRecordQueryRequest extends PageRequest implements Serializable {
|
||||
|
||||
/**
|
||||
* 退款单号
|
||||
*/
|
||||
@Schema(description = "退款单号", example = "42250701082233444328323233")
|
||||
private String outRefundNo;
|
||||
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
@ -0,0 +1,93 @@
|
||||
package com.greenorange.promotion.model.dto.refundRecord;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import lombok.Data;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 退款记录更新请求体
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "退款记录更新请求体", requiredProperties = {
|
||||
"id",
|
||||
"orderNumber",
|
||||
"outRefundNo",
|
||||
"name",
|
||||
"type",
|
||||
"image",
|
||||
"totalAmount",
|
||||
"refundAmount",
|
||||
"userId",
|
||||
})
|
||||
public class RefundRecordUpdateRequest implements Serializable {
|
||||
|
||||
/**
|
||||
* 退款记录id
|
||||
*/
|
||||
@Min(value = 1L, message = "退款记录id ID不能小于1")
|
||||
@Schema(description = "退款记录id", example = "")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 订单号
|
||||
*/
|
||||
@NotBlank(message = "订单号不能为空")
|
||||
@Schema(description = "订单号", example = "")
|
||||
private String orderNumber;
|
||||
|
||||
/**
|
||||
* 退款单号
|
||||
*/
|
||||
@NotBlank(message = "退款单号不能为空")
|
||||
@Schema(description = "退款单号", example = "")
|
||||
private String outRefundNo;
|
||||
|
||||
/**
|
||||
* 课程名称
|
||||
*/
|
||||
@NotBlank(message = "课程名称不能为空")
|
||||
@Schema(description = "课程名称", example = "")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 课程类别
|
||||
*/
|
||||
@NotBlank(message = "课程类别不能为空")
|
||||
@Schema(description = "课程类别", example = "")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 课程图片
|
||||
*/
|
||||
@NotBlank(message = "课程图片不能为空")
|
||||
@Schema(description = "课程图片", example = "")
|
||||
private String image;
|
||||
|
||||
/**
|
||||
* 订单价格
|
||||
*/
|
||||
@Schema(description = "订单价格", example = "")
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
/**
|
||||
* 退款金额
|
||||
*/
|
||||
@Schema(description = "退款金额", example = "")
|
||||
private BigDecimal refundAmount;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@Min(value = 1L, message = "用户id ID不能小于1")
|
||||
@Schema(description = "用户id", example = "")
|
||||
private Long userId;
|
||||
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
@ -0,0 +1,87 @@
|
||||
package com.greenorange.promotion.model.entity;
|
||||
|
||||
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 java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 退款记录表
|
||||
* @TableName refund_record
|
||||
*/
|
||||
@TableName(value ="refund_record")
|
||||
@Data
|
||||
public class RefundRecord implements Serializable {
|
||||
/**
|
||||
* 退款记录id
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 订单号
|
||||
*/
|
||||
private String outTradeNo;
|
||||
|
||||
/**
|
||||
* 退款单号
|
||||
*/
|
||||
private String outRefundNo;
|
||||
|
||||
/**
|
||||
* 课程名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 课程类别
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 课程图片
|
||||
*/
|
||||
private String image;
|
||||
|
||||
/**
|
||||
* 订单价格
|
||||
*/
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
/**
|
||||
* 退款金额
|
||||
*/
|
||||
private BigDecimal refundAmount;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private Integer isDelete;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
@ -0,0 +1,80 @@
|
||||
package com.greenorange.promotion.model.vo.refundRecord;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 退款记录 视图对象
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "退款记录 视图对象")
|
||||
public class RefundRecordVO implements Serializable {
|
||||
|
||||
/**
|
||||
* 退款记录ID
|
||||
*/
|
||||
@Schema(description = "退款记录ID", example = "1")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 订单号
|
||||
*/
|
||||
@Schema(description = "订单号", example = "202507011522234822953432323")
|
||||
private String outTradeNo;
|
||||
|
||||
/**
|
||||
* 退款单号
|
||||
*/
|
||||
@Schema(description = "退款单号", example = "402507011522234822953432323")
|
||||
private String outRefundNo;
|
||||
|
||||
/**
|
||||
* 课程名称
|
||||
*/
|
||||
@Schema(description = "课程名称", example = "数据分析工程师训练营")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 课程类别
|
||||
*/
|
||||
@Schema(description = "课程类别", example = "财经")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 课程图片
|
||||
*/
|
||||
@Schema(description = "课程图片", example = "32DE33ND")
|
||||
private String image;
|
||||
|
||||
/**
|
||||
* 订单价格
|
||||
*/
|
||||
@Schema(description = "订单价格", example = "50.00")
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
/**
|
||||
* 退款金额
|
||||
*/
|
||||
@Schema(description = "退款金额", example = "40.00")
|
||||
private BigDecimal refundAmount;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@Schema(description = "用户id", example = "1")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Schema(description = "创建时间", example = "2025-07-01 15:22:23")
|
||||
private Date createTime;
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package com.greenorange.promotion.service.refund;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.greenorange.promotion.model.dto.refundRecord.RefundRecordQueryRequest;
|
||||
import com.greenorange.promotion.model.entity.RefundRecord;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
* @description 针对表【refund_record(退款记录表)】的数据库操作Service
|
||||
* @createDate 2025-07-01 08:18:44
|
||||
*/
|
||||
public interface RefundRecordService extends IService<RefundRecord> {
|
||||
|
||||
|
||||
/**
|
||||
* 获取查询条件
|
||||
*/
|
||||
QueryWrapper<RefundRecord> getQueryWrapper(RefundRecordQueryRequest refundRecordQueryRequest);
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
package com.greenorange.promotion.service.refund.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.greenorange.promotion.constant.CommonConstant;
|
||||
import com.greenorange.promotion.model.dto.refundRecord.RefundRecordQueryRequest;
|
||||
import com.greenorange.promotion.model.entity.RefundRecord;
|
||||
import com.greenorange.promotion.service.refund.RefundRecordService;
|
||||
import com.greenorange.promotion.mapper.RefundRecordMapper;
|
||||
import com.greenorange.promotion.utils.SqlUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
* @description 针对表【refund_record(退款记录表)】的数据库操作Service实现
|
||||
* @createDate 2025-07-01 08:18:44
|
||||
*/
|
||||
@Service
|
||||
public class RefundRecordServiceImpl extends ServiceImpl<RefundRecordMapper, RefundRecord>
|
||||
implements RefundRecordService{
|
||||
|
||||
/**
|
||||
* 获取查询条件
|
||||
*/
|
||||
@Override
|
||||
public QueryWrapper<RefundRecord> getQueryWrapper(RefundRecordQueryRequest refundRecordQueryRequest) {
|
||||
String outRefundNo = refundRecordQueryRequest.getOutRefundNo();
|
||||
String sortField = refundRecordQueryRequest.getSortField();
|
||||
String sortOrder = refundRecordQueryRequest.getSortOrder();
|
||||
QueryWrapper<RefundRecord> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq(StringUtils.isNotBlank(outRefundNo), "outRefundNo", outRefundNo);
|
||||
queryWrapper.orderBy(SqlUtils.validSortField(sortField), sortOrder.equals(CommonConstant.SORT_ORDER_DESC), sortField);
|
||||
return queryWrapper;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -10,8 +10,11 @@ import com.greenorange.promotion.constant.OrderStatusConstant;
|
||||
import com.greenorange.promotion.exception.ThrowUtils;
|
||||
import com.greenorange.promotion.model.entity.Course;
|
||||
import com.greenorange.promotion.model.entity.CourseOrder;
|
||||
import com.greenorange.promotion.model.entity.RefundRecord;
|
||||
import com.greenorange.promotion.service.common.CommonService;
|
||||
import com.greenorange.promotion.service.course.CourseOrderService;
|
||||
import com.greenorange.promotion.service.course.CourseService;
|
||||
import com.greenorange.promotion.service.refund.RefundRecordService;
|
||||
import com.greenorange.promotion.service.wechat.WechatPayService;
|
||||
import com.greenorange.promotion.utils.RefundUtils;
|
||||
import com.wechat.pay.java.core.notification.NotificationParser;
|
||||
@ -53,6 +56,14 @@ public class WechatPayServiceImpl implements WechatPayService {
|
||||
private CourseService courseService;
|
||||
|
||||
|
||||
@Resource
|
||||
private CommonService commonService;
|
||||
|
||||
|
||||
@Resource
|
||||
private RefundRecordService refundRecordService;
|
||||
|
||||
|
||||
/**
|
||||
* 请求参数
|
||||
*/
|
||||
@ -152,7 +163,18 @@ public class WechatPayServiceImpl implements WechatPayService {
|
||||
amountReq.setCurrency("CNY");
|
||||
createRequest.setAmount(amountReq);
|
||||
|
||||
//TODO 生成退款记录
|
||||
// 生成退款记录
|
||||
Course course = courseService.getById(courseOrder.getCourseId());
|
||||
RefundRecord refundRecord = commonService.copyProperties(course, RefundRecord.class);
|
||||
refundRecord.setId(null);
|
||||
refundRecord.setOutTradeNo(orderNumber);
|
||||
refundRecord.setOutRefundNo(outRefundNo);
|
||||
refundRecord.setTotalAmount(courseOrder.getTotalAmount().movePointRight(2));
|
||||
refundRecord.setRefundAmount(refundAmount.movePointRight(2));
|
||||
refundRecord.setUserId(courseOrder.getUserId());
|
||||
refundRecord.setCreateTime(null);
|
||||
refundRecord.setUpdateTime(null);
|
||||
refundRecordService.save(refundRecord);
|
||||
|
||||
// 申请退款
|
||||
System.out.println("退款请求:" + createRequest);
|
||||
@ -189,6 +211,7 @@ public class WechatPayServiceImpl implements WechatPayService {
|
||||
courseService.updateById(course);
|
||||
}
|
||||
|
||||
// TODO 修改课程推广待提成状态
|
||||
System.out.println("---------------------------微信退款回调(结束)-------------------------------");
|
||||
return true;
|
||||
}
|
||||
|
@ -83,12 +83,12 @@ wx:
|
||||
appId: wx61b63e27bddf4ea2
|
||||
#商户号
|
||||
merchantId: 1700326544
|
||||
# #商户API私钥
|
||||
# privateKeyPath: apiclient_key.pem
|
||||
#商户API私钥
|
||||
privateKeyPath: apiclient_key.pem
|
||||
#商户证书序列号
|
||||
merchantSerialNumber: 6DC8953AB741D309920DA650B92F837BE38A2757
|
||||
# #商户APIv3密钥
|
||||
# apiV3Key: fbemuj4Xql7CYlQJAoTEPYxvPSNgYT2t
|
||||
#商户APIv3密钥
|
||||
apiV3Key: fbemuj4Xql7CYlQJAoTEPYxvPSNgYT2t
|
||||
#通知地址
|
||||
notifyUrl: https://winning-mouse-internally.ngrok-free.app
|
||||
#微信服务器地址
|
||||
|
28
src/main/resources/mapper/RefundRecordMapper.xml
Normal file
28
src/main/resources/mapper/RefundRecordMapper.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<?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.greenorange.promotion.mapper.RefundRecordMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.greenorange.promotion.model.entity.RefundRecord">
|
||||
<id property="id" column="id" jdbcType="BIGINT"/>
|
||||
<result property="orderNumber" column="orderNumber" jdbcType="VARCHAR"/>
|
||||
<result property="outRefundNo" column="outRefundNo" jdbcType="VARCHAR"/>
|
||||
<result property="name" column="name" jdbcType="VARCHAR"/>
|
||||
<result property="type" column="type" jdbcType="VARCHAR"/>
|
||||
<result property="image" column="image" jdbcType="VARCHAR"/>
|
||||
<result property="totalAmount" column="totalAmount" jdbcType="DECIMAL"/>
|
||||
<result property="refundAmount" column="refundAmount" jdbcType="DECIMAL"/>
|
||||
<result property="userId" column="userId" jdbcType="BIGINT"/>
|
||||
<result property="isDelete" column="isDelete" jdbcType="TINYINT"/>
|
||||
<result property="createTime" column="createTime" jdbcType="TIMESTAMP"/>
|
||||
<result property="updateTime" column="updateTime" jdbcType="TIMESTAMP"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,orderNumber,outRefundNo,
|
||||
name,type,image,
|
||||
totalAmount,refundAmount,userId,
|
||||
isDelete,createTime,updateTime
|
||||
</sql>
|
||||
</mapper>
|
Reference in New Issue
Block a user