refactor: springdoc 替换 springfox

This commit is contained in:
xingyu4j
2022-12-09 13:43:15 +08:00
parent 02174383a7
commit 9fc6e0f00b
469 changed files with 3317 additions and 3721 deletions

View File

@@ -15,9 +15,9 @@ import cn.iocoder.yudao.module.pay.dal.dataobject.merchant.PayMerchantDO;
import cn.iocoder.yudao.module.pay.service.merchant.PayAppService;
import cn.iocoder.yudao.module.pay.service.merchant.PayChannelService;
import cn.iocoder.yudao.module.pay.service.merchant.PayMerchantService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
@@ -33,7 +33,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Slf4j
@Api(tags = "管理后台 - 支付应用信息")
@Tag(name = "管理后台 - 支付应用信息")
@RestController
@RequestMapping("/pay/app")
@Validated
@@ -47,14 +47,14 @@ public class PayAppController {
private PayMerchantService merchantService;
@PostMapping("/create")
@ApiOperation("创建支付应用信息")
@Operation(summary = "创建支付应用信息")
@PreAuthorize("@ss.hasPermission('pay:app:create')")
public CommonResult<Long> createApp(@Valid @RequestBody PayAppCreateReqVO createReqVO) {
return success(appService.createApp(createReqVO));
}
@PutMapping("/update")
@ApiOperation("更新支付应用信息")
@Operation(summary = "更新支付应用信息")
@PreAuthorize("@ss.hasPermission('pay:app:update')")
public CommonResult<Boolean> updateApp(@Valid @RequestBody PayAppUpdateReqVO updateReqVO) {
appService.updateApp(updateReqVO);
@@ -62,7 +62,7 @@ public class PayAppController {
}
@PutMapping("/update-status")
@ApiOperation("更新支付应用状态")
@Operation(summary = "更新支付应用状态")
@PreAuthorize("@ss.hasPermission('pay:app:update')")
public CommonResult<Boolean> updateAppStatus(@Valid @RequestBody PayAppUpdateStatusReqVO updateReqVO) {
appService.updateAppStatus(updateReqVO.getId(), updateReqVO.getStatus());
@@ -70,8 +70,8 @@ public class PayAppController {
}
@DeleteMapping("/delete")
@ApiOperation("删除支付应用信息")
@ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class)
@Operation(summary = "删除支付应用信息")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('pay:app:delete')")
public CommonResult<Boolean> deleteApp(@RequestParam("id") Long id) {
appService.deleteApp(id);
@@ -79,8 +79,8 @@ public class PayAppController {
}
@GetMapping("/get")
@ApiOperation("获得支付应用信息")
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
@Operation(summary = "获得支付应用信息")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('pay:app:query')")
public CommonResult<PayAppRespVO> getApp(@RequestParam("id") Long id) {
PayAppDO app = appService.getApp(id);
@@ -88,8 +88,8 @@ public class PayAppController {
}
@GetMapping("/list")
@ApiOperation("获得支付应用信息列表")
@ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class)
@Operation(summary = "获得支付应用信息列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('pay:app:query')")
public CommonResult<List<PayAppRespVO>> getAppList(@RequestParam("ids") Collection<Long> ids) {
List<PayAppDO> list = appService.getAppList(ids);
@@ -97,7 +97,7 @@ public class PayAppController {
}
@GetMapping("/page")
@ApiOperation("获得支付应用信息分页")
@Operation(summary = "获得支付应用信息分页")
@PreAuthorize("@ss.hasPermission('pay:app:query')")
public CommonResult<PageResult<PayAppPageItemRespVO>> getAppPage(@Valid PayAppPageReqVO pageVO) {
// 得到应用分页列表
@@ -140,7 +140,7 @@ public class PayAppController {
}
@GetMapping("/export-excel")
@ApiOperation("导出支付应用信息 Excel")
@Operation(summary = "导出支付应用信息 Excel")
@PreAuthorize("@ss.hasPermission('pay:app:export')")
@OperateLog(type = EXPORT)
public void exportAppExcel(@Valid PayAppExportReqVO exportReqVO,
@@ -152,8 +152,8 @@ public class PayAppController {
}
@GetMapping("/list-merchant-id")
@ApiOperation("根据商户 ID 查询支付应用信息")
@ApiImplicitParam(name = "merchantId", value = "商户ID", required = true, example = "1", dataTypeClass = Long.class)
@Operation(summary = "根据商户 ID 查询支付应用信息")
@Parameter(name = "merchantId", description = "商户ID", required = true, example = "1")
@PreAuthorize("@ss.hasPermission('pay:merchant:query')")
public CommonResult<List<PayAppRespVO>> getMerchantListByName(@RequestParam Long merchantId) {
List<PayAppDO> appListDO = appService.getListByMerchantId(merchantId);

View File

@@ -8,10 +8,10 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -26,7 +26,7 @@ import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Api(tags = "管理后台 - 支付渠道")
@Tag(name = "管理后台 - 支付渠道")
@RestController
@RequestMapping("/pay/channel")
@Validated
@@ -36,14 +36,14 @@ public class PayChannelController {
private PayChannelService channelService;
@PostMapping("/create")
@ApiOperation("创建支付渠道 ")
@Operation(summary = "创建支付渠道 ")
@PreAuthorize("@ss.hasPermission('pay:channel:create')")
public CommonResult<Long> createChannel(@Valid @RequestBody PayChannelCreateReqVO createReqVO) {
return success(channelService.createChannel(createReqVO));
}
@PutMapping("/update")
@ApiOperation("更新支付渠道 ")
@Operation(summary = "更新支付渠道 ")
@PreAuthorize("@ss.hasPermission('pay:channel:update')")
public CommonResult<Boolean> updateChannel(@Valid @RequestBody PayChannelUpdateReqVO updateReqVO) {
channelService.updateChannel(updateReqVO);
@@ -51,8 +51,8 @@ public class PayChannelController {
}
@DeleteMapping("/delete")
@ApiOperation("删除支付渠道 ")
@ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class)
@Operation(summary = "删除支付渠道 ")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('pay:channel:delete')")
public CommonResult<Boolean> deleteChannel(@RequestParam("id") Long id) {
channelService.deleteChannel(id);
@@ -60,8 +60,8 @@ public class PayChannelController {
}
@GetMapping("/get")
@ApiOperation("获得支付渠道 ")
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
@Operation(summary = "获得支付渠道 ")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('pay:channel:query')")
public CommonResult<PayChannelRespVO> getChannel(@RequestParam("id") Long id) {
PayChannelDO channel = channelService.getChannel(id);
@@ -69,9 +69,9 @@ public class PayChannelController {
}
@GetMapping("/list")
@ApiOperation("获得支付渠道列表")
@ApiImplicitParam(name = "ids", value = "编号列表",
required = true, example = "1024,2048", dataTypeClass = List.class)
@Operation(summary = "获得支付渠道列表")
@Parameter(name = "ids", description = "编号列表",
required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('pay:channel:query')")
public CommonResult<List<PayChannelRespVO>> getChannelList(@RequestParam("ids") Collection<Long> ids) {
List<PayChannelDO> list = channelService.getChannelList(ids);
@@ -79,7 +79,7 @@ public class PayChannelController {
}
@GetMapping("/page")
@ApiOperation("获得支付渠道分页")
@Operation(summary = "获得支付渠道分页")
@PreAuthorize("@ss.hasPermission('pay:channel:query')")
public CommonResult<PageResult<PayChannelRespVO>> getChannelPage(@Valid PayChannelPageReqVO pageVO) {
PageResult<PayChannelDO> pageResult = channelService.getChannelPage(pageVO);
@@ -87,7 +87,7 @@ public class PayChannelController {
}
@GetMapping("/export-excel")
@ApiOperation("导出支付渠道Excel")
@Operation(summary = "导出支付渠道Excel")
@PreAuthorize("@ss.hasPermission('pay:channel:export')")
@OperateLog(type = EXPORT)
public void exportChannelExcel(@Valid PayChannelExportReqVO exportReqVO,
@@ -99,14 +99,14 @@ public class PayChannelController {
}
@GetMapping("/get-channel")
@ApiOperation("根据条件查询微信支付渠道")
@ApiImplicitParams({
@ApiImplicitParam(name = "merchantId", value = "商户编号",
required = true, example = "1", dataTypeClass = Long.class),
@ApiImplicitParam(name = "appId", value = "应用编号",
required = true, example = "1", dataTypeClass = Long.class),
@ApiImplicitParam(name = "code", value = "支付渠道编码",
required = true, example = "wx_pub", dataTypeClass = String.class)
@Operation(summary = "根据条件查询微信支付渠道")
@Parameters({
@Parameter(name = "merchantId", description = "商户编号",
required = true, example = "1"),
@Parameter(name = "appId", description = "应用编号",
required = true, example = "1"),
@Parameter(name = "code", description = "支付渠道编码",
required = true, example = "wx_pub")
})
@PreAuthorize("@ss.hasPermission('pay:channel:query')")
public CommonResult<PayChannelRespVO> getChannel(

View File

@@ -8,9 +8,9 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -25,7 +25,7 @@ import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Api(tags = "支付商户信息")
@Tag(name = "支付商户信息")
@RestController
@RequestMapping("/pay/merchant")
@Validated
@@ -35,14 +35,14 @@ public class PayMerchantController {
private PayMerchantService merchantService;
@PostMapping("/create")
@ApiOperation("创建支付商户信息")
@Operation(summary = "创建支付商户信息")
@PreAuthorize("@ss.hasPermission('pay:merchant:create')")
public CommonResult<Long> createMerchant(@Valid @RequestBody PayMerchantCreateReqVO createReqVO) {
return success(merchantService.createMerchant(createReqVO));
}
@PutMapping("/update")
@ApiOperation("更新支付商户信息")
@Operation(summary = "更新支付商户信息")
@PreAuthorize("@ss.hasPermission('pay:merchant:update')")
public CommonResult<Boolean> updateMerchant(@Valid @RequestBody PayMerchantUpdateReqVO updateReqVO) {
merchantService.updateMerchant(updateReqVO);
@@ -50,7 +50,7 @@ public class PayMerchantController {
}
@PutMapping("/update-status")
@ApiOperation("修改支付商户状态")
@Operation(summary = "修改支付商户状态")
@PreAuthorize("@ss.hasPermission('pay:merchant:update')")
public CommonResult<Boolean> updateMerchantStatus(@Valid @RequestBody PayMerchantUpdateStatusReqVO reqVO) {
merchantService.updateMerchantStatus(reqVO.getId(), reqVO.getStatus());
@@ -58,8 +58,8 @@ public class PayMerchantController {
}
@DeleteMapping("/delete")
@ApiOperation("删除支付商户信息")
@ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class)
@Operation(summary = "删除支付商户信息")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('pay:merchant:delete')")
public CommonResult<Boolean> deleteMerchant(@RequestParam("id") Long id) {
merchantService.deleteMerchant(id);
@@ -67,8 +67,8 @@ public class PayMerchantController {
}
@GetMapping("/get")
@ApiOperation("获得支付商户信息")
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
@Operation(summary = "获得支付商户信息")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('pay:merchant:query')")
public CommonResult<PayMerchantRespVO> getMerchant(@RequestParam("id") Long id) {
PayMerchantDO merchant = merchantService.getMerchant(id);
@@ -76,8 +76,8 @@ public class PayMerchantController {
}
@GetMapping("/list-by-name")
@ApiOperation("根据商户名称获得支付商户信息列表")
@ApiImplicitParam(name = "name", value = "商户名称", example = "芋道", dataTypeClass = String.class)
@Operation(summary = "根据商户名称获得支付商户信息列表")
@Parameter(name = "name", description = "商户名称", example = "芋道")
@PreAuthorize("@ss.hasPermission('pay:merchant:query')")
public CommonResult<List<PayMerchantRespVO>> getMerchantListByName(@RequestParam(required = false) String name) {
List<PayMerchantDO> merchantListDO = merchantService.getMerchantListByName(name);
@@ -85,8 +85,8 @@ public class PayMerchantController {
}
@GetMapping("/list")
@ApiOperation("获得支付商户信息列表")
@ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class)
@Operation(summary = "获得支付商户信息列表")
@Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
@PreAuthorize("@ss.hasPermission('pay:merchant:query')")
public CommonResult<List<PayMerchantRespVO>> getMerchantList(@RequestParam("ids") Collection<Long> ids) {
List<PayMerchantDO> list = merchantService.getMerchantList(ids);
@@ -94,7 +94,7 @@ public class PayMerchantController {
}
@GetMapping("/page")
@ApiOperation("获得支付商户信息分页")
@Operation(summary = "获得支付商户信息分页")
@PreAuthorize("@ss.hasPermission('pay:merchant:query')")
public CommonResult<PageResult<PayMerchantRespVO>> getMerchantPage(@Valid PayMerchantPageReqVO pageVO) {
PageResult<PayMerchantDO> pageResult = merchantService.getMerchantPage(pageVO);
@@ -102,7 +102,7 @@ public class PayMerchantController {
}
@GetMapping("/export-excel")
@ApiOperation("导出支付商户信息 Excel")
@Operation(summary = "导出支付商户信息 Excel")
@PreAuthorize("@ss.hasPermission('pay:merchant:export')")
@OperateLog(type = EXPORT)
public void exportMerchantExcel(@Valid PayMerchantExportReqVO exportReqVO,

View File

@@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
/**
@@ -11,26 +10,26 @@ import javax.validation.constraints.*;
@Data
public class PayAppBaseVO {
@ApiModelProperty(value = "应用名", required = true)
@Schema(title = "应用名", required = true)
@NotNull(message = "应用名不能为空")
private String name;
@ApiModelProperty(value = "开启状态", required = true)
@Schema(title = "开启状态", required = true)
@NotNull(message = "开启状态不能为空")
private Integer status;
@ApiModelProperty(value = "备注")
@Schema(title = "备注")
private String remark;
@ApiModelProperty(value = "支付结果的回调地址", required = true)
@Schema(title = "支付结果的回调地址", required = true)
@NotNull(message = "支付结果的回调地址不能为空")
private String payNotifyUrl;
@ApiModelProperty(value = "退款结果的回调地址", required = true)
@Schema(title = "退款结果的回调地址", required = true)
@NotNull(message = "退款结果的回调地址不能为空")
private String refundNotifyUrl;
@ApiModelProperty(value = "商户编号", required = true)
@Schema(title = "商户编号", required = true)
@NotNull(message = "商户编号不能为空")
private Long merchantId;

View File

@@ -1,9 +1,8 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import io.swagger.annotations.*;
@ApiModel("管理后台 - 支付应用信息创建 Request VO")
@Schema(title = "管理后台 - 支付应用信息创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)

View File

@@ -1,37 +1,36 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import io.swagger.annotations.*;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ApiModel(value = "管理后台 - 支付应用信息 Excel 导出 Request VO", description = "参数和 PayAppPageReqVO 是一致的")
@Schema(title = "管理后台 - 支付应用信息 Excel 导出 Request VO", description = "参数和 PayAppPageReqVO 是一致的")
@Data
public class PayAppExportReqVO {
@ApiModelProperty(value = "应用名")
@Schema(title = "应用名")
private String name;
@ApiModelProperty(value = "开启状态")
@Schema(title = "开启状态")
private Integer status;
@ApiModelProperty(value = "备注")
@Schema(title = "备注")
private String remark;
@ApiModelProperty(value = "支付结果的回调地址")
@Schema(title = "支付结果的回调地址")
private String payNotifyUrl;
@ApiModelProperty(value = "退款结果的回调地址")
@Schema(title = "退款结果的回调地址")
private String refundNotifyUrl;
@ApiModelProperty(value = "商户名称")
@Schema(title = "商户名称")
private String merchantName;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "创建时间")
@Schema(title = "创建时间")
private LocalDateTime[] createTime;
}

View File

@@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@@ -9,16 +8,16 @@ import lombok.ToString;
import java.time.LocalDateTime;
import java.util.Set;
@ApiModel(value = "管理后台 - 支付应用信息分页查询 Response VO", description = "相比于支付信息,还会多出应用渠道的开关信息")
@Schema(title = "管理后台 - 支付应用信息分页查询 Response VO", description = "相比于支付信息,还会多出应用渠道的开关信息")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayAppPageItemRespVO extends PayAppBaseVO {
@ApiModelProperty(value = "应用编号", required = true)
@Schema(title = "应用编号", required = true)
private Long id;
@ApiModelProperty(value = "创建时间", required = true)
@Schema(title = "创建时间", required = true)
private LocalDateTime createTime;
/**
@@ -26,19 +25,19 @@ public class PayAppPageItemRespVO extends PayAppBaseVO {
*/
private PayMerchant payMerchant;
@ApiModel("商户")
@Schema(title = "商户")
@Data
public static class PayMerchant {
@ApiModelProperty(value = "商户编号", required = true, example = "1")
@Schema(title = "商户编号", required = true, example = "1")
private Long id;
@ApiModelProperty(value = "商户名称", required = true, example = "研发部")
@Schema(title = "商户名称", required = true, example = "研发部")
private String name;
}
@ApiModelProperty(value = "渠道编码集合", required = true, example = "alipay_pc,alipay_wap...")
@Schema(title = "渠道编码集合", required = true, example = "alipay_pc,alipay_wap...")
private Set<String> channelCodes;

View File

@@ -1,40 +1,39 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import io.swagger.annotations.*;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ApiModel("管理后台 - 支付应用信息分页 Request VO")
@Schema(title = "管理后台 - 支付应用信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayAppPageReqVO extends PageParam {
@ApiModelProperty(value = "应用名")
@Schema(title = "应用名")
private String name;
@ApiModelProperty(value = "开启状态")
@Schema(title = "开启状态")
private Integer status;
@ApiModelProperty(value = "备注")
@Schema(title = "备注")
private String remark;
@ApiModelProperty(value = "支付结果的回调地址")
@Schema(title = "支付结果的回调地址")
private String payNotifyUrl;
@ApiModelProperty(value = "退款结果的回调地址")
@Schema(title = "退款结果的回调地址")
private String refundNotifyUrl;
@ApiModelProperty(value = "商户名称")
@Schema(title = "商户名称")
private String merchantName;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "创建时间")
@Schema(title = "创建时间")
private LocalDateTime[] createTime;
}

View File

@@ -1,20 +1,19 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import io.swagger.annotations.*;
@ApiModel("管理后台 - 支付应用信息 Response VO")
@Schema(title = "管理后台 - 支付应用信息 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayAppRespVO extends PayAppBaseVO {
@ApiModelProperty(value = "应用编号", required = true)
@Schema(title = "应用编号", required = true)
private Long id;
@ApiModelProperty(value = "创建时间", required = true)
@Schema(title = "创建时间", required = true)
private LocalDateTime createTime;
}

View File

@@ -1,16 +1,15 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
@ApiModel("管理后台 - 支付应用信息更新 Request VO")
@Schema(title = "管理后台 - 支付应用信息更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayAppUpdateReqVO extends PayAppBaseVO {
@ApiModelProperty(value = "应用编号", required = true)
@Schema(title = "应用编号", required = true)
@NotNull(message = "应用编号不能为空")
private Long id;

View File

@@ -1,20 +1,19 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.app;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
@ApiModel("管理后台 - 应用更新状态 Request VO")
@Schema(title = "管理后台 - 应用更新状态 Request VO")
@Data
public class PayAppUpdateStatusReqVO {
@ApiModelProperty(value = "商户编号", required = true, example = "1024")
@Schema(title = "商户编号", required = true, example = "1024")
@NotNull(message = "商户编号不能为空")
private Long id;
@ApiModelProperty(value = "状态", required = true, example = "1", notes = "见 SysCommonStatusEnum 枚举")
@Schema(title = "状态", required = true, example = "1", description = "见 SysCommonStatusEnum 枚举")
@NotNull(message = "状态不能为空")
private Integer status;

View File

@@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
/**
@@ -11,26 +10,26 @@ import javax.validation.constraints.*;
@Data
public class PayChannelBaseVO {
@ApiModelProperty(value = "渠道编码", required = true)
@Schema(title = "渠道编码", required = true)
@NotNull(message = "渠道编码不能为空")
private String code;
@ApiModelProperty(value = "开启状态", required = true)
@Schema(title = "开启状态", required = true)
@NotNull(message = "开启状态不能为空")
private Integer status;
@ApiModelProperty(value = "备注")
@Schema(title = "备注")
private String remark;
@ApiModelProperty(value = "渠道费率,单位:百分比", required = true)
@Schema(title = "渠道费率,单位:百分比", required = true)
@NotNull(message = "渠道费率,单位:百分比不能为空")
private Double feeRate;
@ApiModelProperty(value = "商户编号", required = true)
@Schema(title = "商户编号", required = true)
@NotNull(message = "商户编号不能为空")
private Long merchantId;
@ApiModelProperty(value = "应用编号", required = true)
@Schema(title = "应用编号", required = true)
@NotNull(message = "应用编号不能为空")
private Long appId;

View File

@@ -1,20 +1,19 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
@ApiModel("管理后台 - 支付渠道 创建 Request VO")
@Schema(title = "管理后台 - 支付渠道 创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayChannelCreateReqVO extends PayChannelBaseVO {
@ApiModelProperty(value = "渠道配置的 json 字符串")
@Schema(title = "渠道配置的 json 字符串")
@NotBlank(message = "渠道配置不能为空")
private String config;

View File

@@ -1,40 +1,39 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import io.swagger.annotations.*;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ApiModel(value = "管理后台 - 支付渠道 Excel 导出 Request VO", description = "参数和 PayChannelPageReqVO 是一致的")
@Schema(title = "管理后台 - 支付渠道 Excel 导出 Request VO", description = "参数和 PayChannelPageReqVO 是一致的")
@Data
public class PayChannelExportReqVO {
@ApiModelProperty(value = "渠道编码")
@Schema(title = "渠道编码")
private String code;
@ApiModelProperty(value = "开启状态")
@Schema(title = "开启状态")
private Integer status;
@ApiModelProperty(value = "备注")
@Schema(title = "备注")
private String remark;
@ApiModelProperty(value = "渠道费率,单位:百分比")
@Schema(title = "渠道费率,单位:百分比")
private Double feeRate;
@ApiModelProperty(value = "商户编号")
@Schema(title = "商户编号")
private Long merchantId;
@ApiModelProperty(value = "应用编号")
@Schema(title = "应用编号")
private Long appId;
@ApiModelProperty(value = "支付渠道配置")
@Schema(title = "支付渠道配置")
private String config;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "创建时间")
@Schema(title = "创建时间")
private LocalDateTime[] createTime;
}

View File

@@ -1,43 +1,42 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import io.swagger.annotations.*;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ApiModel("管理后台 - 支付渠道 分页 Request VO")
@Schema(title = "管理后台 - 支付渠道 分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayChannelPageReqVO extends PageParam {
@ApiModelProperty(value = "渠道编码")
@Schema(title = "渠道编码")
private String code;
@ApiModelProperty(value = "开启状态")
@Schema(title = "开启状态")
private Integer status;
@ApiModelProperty(value = "备注")
@Schema(title = "备注")
private String remark;
@ApiModelProperty(value = "渠道费率,单位:百分比")
@Schema(title = "渠道费率,单位:百分比")
private Double feeRate;
@ApiModelProperty(value = "商户编号")
@Schema(title = "商户编号")
private Long merchantId;
@ApiModelProperty(value = "应用编号")
@Schema(title = "应用编号")
private Long appId;
@ApiModelProperty(value = "支付渠道配置")
@Schema(title = "支付渠道配置")
private String config;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "创建时间")
@Schema(title = "创建时间")
private LocalDateTime[] createTime;
}

View File

@@ -1,22 +1,21 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import io.swagger.annotations.*;
@ApiModel("管理后台 - 支付渠道 Response VO")
@Schema(title = "管理后台 - 支付渠道 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayChannelRespVO extends PayChannelBaseVO {
@ApiModelProperty(value = "商户编号", required = true)
@Schema(title = "商户编号", required = true)
private Long id;
@ApiModelProperty(value = "创建时间", required = true)
@Schema(title = "创建时间", required = true)
private LocalDateTime createTime;
@ApiModelProperty(value = "配置", required = true)
@Schema(title = "配置", required = true)
private String config;
}

View File

@@ -1,20 +1,19 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.channel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
@ApiModel("管理后台 - 支付渠道 更新 Request VO")
@Schema(title = "管理后台 - 支付渠道 更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayChannelUpdateReqVO extends PayChannelBaseVO {
@ApiModelProperty(value = "商户编号", required = true)
@Schema(title = "商户编号", required = true)
@NotNull(message = "商户编号不能为空")
private Long id;
@ApiModelProperty(value = "渠道配置的json字符串")
@Schema(title = "渠道配置的json字符串")
@NotBlank(message = "渠道配置不能为空")
private String config;
}

View File

@@ -1,6 +1,5 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
@@ -12,19 +11,19 @@ import javax.validation.constraints.NotNull;
@Data
public class PayMerchantBaseVO {
@ApiModelProperty(value = "商户全称", required = true)
@Schema(title = "商户全称", required = true)
@NotNull(message = "商户全称不能为空")
private String name;
@ApiModelProperty(value = "商户简称", required = true)
@Schema(title = "商户简称", required = true)
@NotNull(message = "商户简称不能为空")
private String shortName;
@ApiModelProperty(value = "开启状态", required = true)
@Schema(title = "开启状态", required = true)
@NotNull(message = "开启状态不能为空")
private Integer status;
@ApiModelProperty(value = "备注")
@Schema(title = "备注")
private String remark;
}

View File

@@ -1,9 +1,8 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import io.swagger.annotations.*;
@ApiModel("管理后台 - 支付商户信息创建 Request VO")
@Schema(title = "管理后台 - 支付商户信息创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)

View File

@@ -1,34 +1,33 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import io.swagger.annotations.*;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ApiModel(value = "管理后台 - 支付商户信息 Excel 导出 Request VO", description = "参数和 PayMerchantPageReqVO 是一致的")
@Schema(title = "管理后台 - 支付商户信息 Excel 导出 Request VO", description = "参数和 PayMerchantPageReqVO 是一致的")
@Data
public class PayMerchantExportReqVO {
@ApiModelProperty(value = "商户号")
@Schema(title = "商户号")
private String no;
@ApiModelProperty(value = "商户全称")
@Schema(title = "商户全称")
private String name;
@ApiModelProperty(value = "商户简称")
@Schema(title = "商户简称")
private String shortName;
@ApiModelProperty(value = "开启状态")
@Schema(title = "开启状态")
private Integer status;
@ApiModelProperty(value = "备注")
@Schema(title = "备注")
private String remark;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "创建时间")
@Schema(title = "创建时间")
private LocalDateTime[] createTime;
}

View File

@@ -1,37 +1,36 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import io.swagger.annotations.*;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ApiModel("管理后台 - 支付商户信息分页 Request VO")
@Schema(title = "管理后台 - 支付商户信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayMerchantPageReqVO extends PageParam {
@ApiModelProperty(value = "商户号")
@Schema(title = "商户号")
private String no;
@ApiModelProperty(value = "商户全称")
@Schema(title = "商户全称")
private String name;
@ApiModelProperty(value = "商户简称")
@Schema(title = "商户简称")
private String shortName;
@ApiModelProperty(value = "开启状态")
@Schema(title = "开启状态")
private Integer status;
@ApiModelProperty(value = "备注")
@Schema(title = "备注")
private String remark;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "创建时间")
@Schema(title = "创建时间")
private LocalDateTime[] createTime;
}

View File

@@ -1,26 +1,25 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.time.LocalDateTime;
@ApiModel("管理后台 - 支付商户信息 Response VO")
@Schema(title = "管理后台 - 支付商户信息 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayMerchantRespVO extends PayMerchantBaseVO {
@ApiModelProperty(value = "商户编号", required = true)
@Schema(title = "商户编号", required = true)
private Long id;
@ApiModelProperty(value = "创建时间", required = true)
@Schema(title = "创建时间", required = true)
private LocalDateTime createTime;
@ApiModelProperty(value = "商户号", required = true, example = "M233666999")
@Schema(title = "商户号", required = true, example = "M233666999")
private String no;
}

View File

@@ -1,16 +1,15 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
@ApiModel("管理后台 - 支付商户信息更新 Request VO")
@Schema(title = "管理后台 - 支付商户信息更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayMerchantUpdateReqVO extends PayMerchantBaseVO {
@ApiModelProperty(value = "商户编号", required = true)
@Schema(title = "商户编号", required = true)
@NotNull(message = "商户编号不能为空")
private Long id;

View File

@@ -1,20 +1,19 @@
package cn.iocoder.yudao.module.pay.controller.admin.merchant.vo.merchant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
@ApiModel("管理后台 - 商户更新状态 Request VO")
@Schema(title = "管理后台 - 商户更新状态 Request VO")
@Data
public class PayMerchantUpdateStatusReqVO {
@ApiModelProperty(value = "商户编号", required = true, example = "1024")
@Schema(title = "商户编号", required = true, example = "1024")
@NotNull(message = "商户编号不能为空")
private Long id;
@ApiModelProperty(value = "状态", required = true, example = "1", notes = "见 SysCommonStatusEnum 枚举")
@Schema(title = "状态", required = true, example = "1", description = "见 SysCommonStatusEnum 枚举")
@NotNull(message = "状态不能为空")
private Integer status;

View File

@@ -18,9 +18,9 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
@@ -39,7 +39,7 @@ import java.util.Map;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Api(tags = "管理后台 - 支付订单")
@Tag(name = "管理后台 - 支付订单")
@RestController
@RequestMapping("/pay/order")
@Validated
@@ -55,8 +55,8 @@ public class PayOrderController {
private PayAppService appService;
@GetMapping("/get")
@ApiOperation("获得支付订单")
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
@Operation(summary = "获得支付订单")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('pay:order:query')")
public CommonResult<PayOrderDetailsRespVO> getOrder(@RequestParam("id") Long id) {
PayOrderDO order = orderService.getOrder(id);
@@ -83,7 +83,7 @@ public class PayOrderController {
}
@GetMapping("/page")
@ApiOperation("获得支付订单分页")
@Operation(summary = "获得支付订单分页")
@PreAuthorize("@ss.hasPermission('pay:order:query')")
public CommonResult<PageResult<PayOrderPageItemRespVO>> getOrderPage(@Valid PayOrderPageReqVO pageVO) {
PageResult<PayOrderDO> pageResult = orderService.getOrderPage(pageVO);
@@ -114,7 +114,7 @@ public class PayOrderController {
}
@GetMapping("/export-excel")
@ApiOperation("导出支付订单Excel")
@Operation(summary = "导出支付订单Excel")
@PreAuthorize("@ss.hasPermission('pay:order:export')")
@OperateLog(type = EXPORT)
public void exportOrderExcel(@Valid PayOrderExportReqVO exportReqVO,

View File

@@ -1,6 +1,5 @@
package cn.iocoder.yudao.module.pay.controller.admin.order.vo;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -18,90 +17,90 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
@Data
public class PayOrderBaseVO {
@ApiModelProperty(value = "商户编号", required = true)
@Schema(title = "商户编号", required = true)
@NotNull(message = "商户编号不能为空")
private Long merchantId;
@ApiModelProperty(value = "应用编号", required = true)
@Schema(title = "应用编号", required = true)
@NotNull(message = "应用编号不能为空")
private Long appId;
@ApiModelProperty(value = "渠道编号")
@Schema(title = "渠道编号")
private Long channelId;
@ApiModelProperty(value = "渠道编码")
@Schema(title = "渠道编码")
private String channelCode;
@ApiModelProperty(value = "商户订单编号", required = true)
@Schema(title = "商户订单编号", required = true)
@NotNull(message = "商户订单编号不能为空")
private String merchantOrderId;
@ApiModelProperty(value = "商品标题", required = true)
@Schema(title = "商品标题", required = true)
@NotNull(message = "商品标题不能为空")
private String subject;
@ApiModelProperty(value = "商品描述", required = true)
@Schema(title = "商品描述", required = true)
@NotNull(message = "商品描述不能为空")
private String body;
@ApiModelProperty(value = "异步通知地址", required = true)
@Schema(title = "异步通知地址", required = true)
@NotNull(message = "异步通知地址不能为空")
private String notifyUrl;
@ApiModelProperty(value = "通知商户支付结果的回调状态", required = true)
@Schema(title = "通知商户支付结果的回调状态", required = true)
@NotNull(message = "通知商户支付结果的回调状态不能为空")
private Integer notifyStatus;
@ApiModelProperty(value = "支付金额,单位:分", required = true)
@Schema(title = "支付金额,单位:分", required = true)
@NotNull(message = "支付金额,单位:分不能为空")
private Long amount;
@ApiModelProperty(value = "渠道手续费,单位:百分比")
@Schema(title = "渠道手续费,单位:百分比")
private Double channelFeeRate;
@ApiModelProperty(value = "渠道手续金额,单位:分")
@Schema(title = "渠道手续金额,单位:分")
private Long channelFeeAmount;
@ApiModelProperty(value = "支付状态", required = true)
@Schema(title = "支付状态", required = true)
@NotNull(message = "支付状态不能为空")
private Integer status;
@ApiModelProperty(value = "用户 IP", required = true)
@Schema(title = "用户 IP", required = true)
@NotNull(message = "用户 IP不能为空")
private String userIp;
@ApiModelProperty(value = "订单失效时间", required = true)
@Schema(title = "订单失效时间", required = true)
@NotNull(message = "订单失效时间不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime expireTime;
@ApiModelProperty(value = "订单支付成功时间")
@Schema(title = "订单支付成功时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime successTime;
@ApiModelProperty(value = "订单支付通知时间")
@Schema(title = "订单支付通知时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime notifyTime;
@ApiModelProperty(value = "支付成功的订单拓展单编号")
@Schema(title = "支付成功的订单拓展单编号")
private Long successExtensionId;
@ApiModelProperty(value = "退款状态", required = true)
@Schema(title = "退款状态", required = true)
@NotNull(message = "退款状态不能为空")
private Integer refundStatus;
@ApiModelProperty(value = "退款次数", required = true)
@Schema(title = "退款次数", required = true)
@NotNull(message = "退款次数不能为空")
private Integer refundTimes;
@ApiModelProperty(value = "退款总金额,单位:分", required = true)
@Schema(title = "退款总金额,单位:分", required = true)
@NotNull(message = "退款总金额,单位:分不能为空")
private Long refundAmount;
@ApiModelProperty(value = "渠道用户编号")
@Schema(title = "渠道用户编号")
private String channelUserId;
@ApiModelProperty(value = "渠道订单号")
@Schema(title = "渠道订单号")
private String channelOrderNo;
}

View File

@@ -1,32 +1,31 @@
package cn.iocoder.yudao.module.pay.controller.admin.order.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.time.LocalDateTime;
@ApiModel("管理后台 - 支付订单详细信息 Response VO")
@Schema(title = "管理后台 - 支付订单详细信息 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayOrderDetailsRespVO extends PayOrderBaseVO {
@ApiModelProperty(value = "支付订单编号")
@Schema(title = "支付订单编号")
private Long id;
@ApiModelProperty(value = "商户名称")
@Schema(title = "商户名称")
private String merchantName;
@ApiModelProperty(value = "应用名称")
@Schema(title = "应用名称")
private String appName;
@ApiModelProperty(value = "渠道编号名称")
@Schema(title = "渠道编号名称")
private String channelCodeName;
@ApiModelProperty(value = "创建时间")
@Schema(title = "创建时间")
private LocalDateTime createTime;
/**
@@ -35,13 +34,13 @@ public class PayOrderDetailsRespVO extends PayOrderBaseVO {
private PayOrderExtension payOrderExtension;
@Data
@ApiModel("支付订单扩展")
@Schema(title = "支付订单扩展")
public static class PayOrderExtension {
@ApiModelProperty(value = "支付订单号")
@Schema(title = "支付订单号")
private String no;
@ApiModelProperty(value = "支付异步通知的内容")
@Schema(title = "支付异步通知的内容")
private String channelNotifyData;
}

View File

@@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.pay.controller.admin.order.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -9,84 +8,84 @@ import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ApiModel(value = "管理后台 - 支付订单 Excel 导出 Request VO", description = "参数和 PayOrderPageReqVO 是一致的")
@Schema(title = "管理后台 - 支付订单 Excel 导出 Request VO", description = "参数和 PayOrderPageReqVO 是一致的")
@Data
public class PayOrderExportReqVO {
@ApiModelProperty(value = "商户编号")
@Schema(title = "商户编号")
private Long merchantId;
@ApiModelProperty(value = "应用编号")
@Schema(title = "应用编号")
private Long appId;
@ApiModelProperty(value = "渠道编号")
@Schema(title = "渠道编号")
private Long channelId;
@ApiModelProperty(value = "渠道编码")
@Schema(title = "渠道编码")
private String channelCode;
@ApiModelProperty(value = "商户订单编号")
@Schema(title = "商户订单编号")
private String merchantOrderId;
@ApiModelProperty(value = "商品标题")
@Schema(title = "商品标题")
private String subject;
@ApiModelProperty(value = "商品描述")
@Schema(title = "商品描述")
private String body;
@ApiModelProperty(value = "异步通知地址")
@Schema(title = "异步通知地址")
private String notifyUrl;
@ApiModelProperty(value = "通知商户支付结果的回调状态")
@Schema(title = "通知商户支付结果的回调状态")
private Integer notifyStatus;
@ApiModelProperty(value = "支付金额,单位:分")
@Schema(title = "支付金额,单位:分")
private Long amount;
@ApiModelProperty(value = "渠道手续费,单位:百分比")
@Schema(title = "渠道手续费,单位:百分比")
private Double channelFeeRate;
@ApiModelProperty(value = "渠道手续金额,单位:分")
@Schema(title = "渠道手续金额,单位:分")
private Long channelFeeAmount;
@ApiModelProperty(value = "支付状态")
@Schema(title = "支付状态")
private Integer status;
@ApiModelProperty(value = "用户 IP")
@Schema(title = "用户 IP")
private String userIp;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "订单失效时间")
@Schema(title = "订单失效时间")
private LocalDateTime[] expireTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "开始订单支付成功时间")
@Schema(title = "开始订单支付成功时间")
private LocalDateTime[] successTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "开始订单支付通知时间")
@Schema(title = "开始订单支付通知时间")
private LocalDateTime[] notifyTime;
@ApiModelProperty(value = "支付成功的订单拓展单编号")
@Schema(title = "支付成功的订单拓展单编号")
private Long successExtensionId;
@ApiModelProperty(value = "退款状态")
@Schema(title = "退款状态")
private Integer refundStatus;
@ApiModelProperty(value = "退款次数")
@Schema(title = "退款次数")
private Integer refundTimes;
@ApiModelProperty(value = "退款总金额,单位:分")
@Schema(title = "退款总金额,单位:分")
private Long refundAmount;
@ApiModelProperty(value = "渠道用户编号")
@Schema(title = "渠道用户编号")
private String channelUserId;
@ApiModelProperty(value = "渠道订单号")
@Schema(title = "渠道订单号")
private String channelOrderNo;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "创建时间")
@Schema(title = "创建时间")
private LocalDateTime[] createTime;
}

View File

@@ -1,35 +1,34 @@
package cn.iocoder.yudao.module.pay.controller.admin.order.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.time.LocalDateTime;
@ApiModel("管理后台 - 支付订单分页 Request VO")
@Schema(title = "管理后台 - 支付订单分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayOrderPageItemRespVO extends PayOrderBaseVO {
@ApiModelProperty(value = "支付订单编号", required = true)
@Schema(title = "支付订单编号", required = true)
private Long id;
@ApiModelProperty(value = "创建时间", required = true)
@Schema(title = "创建时间", required = true)
private LocalDateTime createTime;
@ApiModelProperty(value = "商户名称")
@Schema(title = "商户名称")
private String merchantName;
@ApiModelProperty(value = "应用名称")
@Schema(title = "应用名称")
private String appName;
@ApiModelProperty(value = "渠道名称")
@Schema(title = "渠道名称")
private String channelCodeName;
@ApiModelProperty(value = "支付订单号")
@Schema(title = "支付订单号")
private String no;

View File

@@ -1,8 +1,7 @@
package cn.iocoder.yudao.module.pay.controller.admin.order.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@@ -12,86 +11,86 @@ import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ApiModel("管理后台 - 支付订单分页 Request VO")
@Schema(title = "管理后台 - 支付订单分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayOrderPageReqVO extends PageParam {
@ApiModelProperty(value = "商户编号")
@Schema(title = "商户编号")
private Long merchantId;
@ApiModelProperty(value = "应用编号")
@Schema(title = "应用编号")
private Long appId;
@ApiModelProperty(value = "渠道编号")
@Schema(title = "渠道编号")
private Long channelId;
@ApiModelProperty(value = "渠道编码")
@Schema(title = "渠道编码")
private String channelCode;
@ApiModelProperty(value = "商户订单编号")
@Schema(title = "商户订单编号")
private String merchantOrderId;
@ApiModelProperty(value = "商品标题")
@Schema(title = "商品标题")
private String subject;
@ApiModelProperty(value = "商品描述")
@Schema(title = "商品描述")
private String body;
@ApiModelProperty(value = "异步通知地址")
@Schema(title = "异步通知地址")
private String notifyUrl;
@ApiModelProperty(value = "通知商户支付结果的回调状态")
@Schema(title = "通知商户支付结果的回调状态")
private Integer notifyStatus;
@ApiModelProperty(value = "支付金额,单位:分")
@Schema(title = "支付金额,单位:分")
private Long amount;
@ApiModelProperty(value = "渠道手续费,单位:百分比")
@Schema(title = "渠道手续费,单位:百分比")
private Double channelFeeRate;
@ApiModelProperty(value = "渠道手续金额,单位:分")
@Schema(title = "渠道手续金额,单位:分")
private Long channelFeeAmount;
@ApiModelProperty(value = "支付状态")
@Schema(title = "支付状态")
private Integer status;
@ApiModelProperty(value = "用户 IP")
@Schema(title = "用户 IP")
private String userIp;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "订单失效时间")
@Schema(title = "订单失效时间")
private LocalDateTime[] expireTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "订单支付成功时间")
@Schema(title = "订单支付成功时间")
private LocalDateTime[] successTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "订单支付通知时间")
@Schema(title = "订单支付通知时间")
private LocalDateTime[] notifyTime;
@ApiModelProperty(value = "支付成功的订单拓展单编号")
@Schema(title = "支付成功的订单拓展单编号")
private Long successExtensionId;
@ApiModelProperty(value = "退款状态")
@Schema(title = "退款状态")
private Integer refundStatus;
@ApiModelProperty(value = "退款次数")
@Schema(title = "退款次数")
private Integer refundTimes;
@ApiModelProperty(value = "退款总金额,单位:分")
@Schema(title = "退款总金额,单位:分")
private Long refundAmount;
@ApiModelProperty(value = "渠道用户编号")
@Schema(title = "渠道用户编号")
private String channelUserId;
@ApiModelProperty(value = "渠道订单号")
@Schema(title = "渠道订单号")
private String channelOrderNo;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "创建时间")
@Schema(title = "创建时间")
private LocalDateTime[] createTime;
}

View File

@@ -1,23 +1,22 @@
package cn.iocoder.yudao.module.pay.controller.admin.order.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.time.LocalDateTime;
@ApiModel("管理后台 - 支付订单 Response VO")
@Schema(title = "管理后台 - 支付订单 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayOrderRespVO extends PayOrderBaseVO {
@ApiModelProperty(value = "支付订单编号", required = true)
@Schema(title = "支付订单编号", required = true)
private Long id;
@ApiModelProperty(value = "创建时间", required = true)
@Schema(title = "创建时间", required = true)
private LocalDateTime createTime;
}

View File

@@ -18,9 +18,9 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import cn.iocoder.yudao.framework.pay.core.enums.PayChannelEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
@@ -39,7 +39,7 @@ import java.util.Map;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@Api(tags = "管理后台 - 退款订单")
@Tag(name = "管理后台 - 退款订单")
@RestController
@RequestMapping("/pay/refund")
@Validated
@@ -55,8 +55,8 @@ public class PayRefundController {
private PayOrderService orderService;
@GetMapping("/get")
@ApiOperation("获得退款订单")
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
@Operation(summary = "获得退款订单")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('pay:refund:query')")
public CommonResult<PayRefundDetailsRespVO> getRefund(@RequestParam("id") Long id) {
PayRefundDO refund = refundService.getRefund(id);
@@ -79,7 +79,7 @@ public class PayRefundController {
}
@GetMapping("/page")
@ApiOperation("获得退款订单分页")
@Operation(summary = "获得退款订单分页")
@PreAuthorize("@ss.hasPermission('pay:refund:query')")
public CommonResult<PageResult<PayRefundPageItemRespVO>> getRefundPage(@Valid PayRefundPageReqVO pageVO) {
PageResult<PayRefundDO> pageResult = refundService.getRefundPage(pageVO);
@@ -111,7 +111,7 @@ public class PayRefundController {
}
@GetMapping("/export-excel")
@ApiOperation("导出退款订单 Excel")
@Operation(summary = "导出退款订单 Excel")
@PreAuthorize("@ss.hasPermission('pay:refund:export')")
@OperateLog(type = EXPORT)
public void exportRefundExcel(@Valid PayRefundExportReqVO exportReqVO,

View File

@@ -1,6 +1,5 @@
package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -16,94 +15,94 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
@Data
public class PayRefundBaseVO {
@ApiModelProperty(value = "商户编号", required = true)
@Schema(title = "商户编号", required = true)
@NotNull(message = "商户编号不能为空")
private Long merchantId;
@ApiModelProperty(value = "应用编号", required = true)
@Schema(title = "应用编号", required = true)
@NotNull(message = "应用编号不能为空")
private Long appId;
@ApiModelProperty(value = "渠道编号", required = true)
@Schema(title = "渠道编号", required = true)
@NotNull(message = "渠道编号不能为空")
private Long channelId;
@ApiModelProperty(value = "渠道编码", required = true)
@Schema(title = "渠道编码", required = true)
@NotNull(message = "渠道编码不能为空")
private String channelCode;
@ApiModelProperty(value = "支付订单编号 pay_order 表id", required = true)
@Schema(title = "支付订单编号 pay_order 表id", required = true)
@NotNull(message = "支付订单编号 pay_order 表id不能为空")
private Long orderId;
@ApiModelProperty(value = "交易订单号 pay_extension 表no 字段", required = true)
@Schema(title = "交易订单号 pay_extension 表no 字段", required = true)
@NotNull(message = "交易订单号 pay_extension 表no 字段不能为空")
private String tradeNo;
@ApiModelProperty(value = "商户订单编号(商户系统生成)", required = true)
@Schema(title = "商户订单编号(商户系统生成)", required = true)
@NotNull(message = "商户订单编号(商户系统生成)不能为空")
private String merchantOrderId;
@ApiModelProperty(value = "商户退款订单号(商户系统生成)", required = true)
@Schema(title = "商户退款订单号(商户系统生成)", required = true)
@NotNull(message = "商户退款订单号(商户系统生成)不能为空")
private String merchantRefundNo;
@ApiModelProperty(value = "异步通知商户地址", required = true)
@Schema(title = "异步通知商户地址", required = true)
@NotNull(message = "异步通知商户地址不能为空")
private String notifyUrl;
@ApiModelProperty(value = "通知商户退款结果的回调状态", required = true)
@Schema(title = "通知商户退款结果的回调状态", required = true)
@NotNull(message = "通知商户退款结果的回调状态不能为空")
private Integer notifyStatus;
@ApiModelProperty(value = "退款状态", required = true)
@Schema(title = "退款状态", required = true)
@NotNull(message = "退款状态不能为空")
private Integer status;
@ApiModelProperty(value = "退款类型(部分退款,全部退款)", required = true)
@Schema(title = "退款类型(部分退款,全部退款)", required = true)
@NotNull(message = "退款类型(部分退款,全部退款)不能为空")
private Integer type;
@ApiModelProperty(value = "支付金额,单位分", required = true)
@Schema(title = "支付金额,单位分", required = true)
@NotNull(message = "支付金额,单位分不能为空")
private Long payAmount;
@ApiModelProperty(value = "退款金额,单位分", required = true)
@Schema(title = "退款金额,单位分", required = true)
@NotNull(message = "退款金额,单位分不能为空")
private Long refundAmount;
@ApiModelProperty(value = "退款原因", required = true)
@Schema(title = "退款原因", required = true)
@NotNull(message = "退款原因不能为空")
private String reason;
@ApiModelProperty(value = "用户 IP")
@Schema(title = "用户 IP")
private String userIp;
@ApiModelProperty(value = "渠道订单号pay_order 中的channel_order_no 对应", required = true)
@Schema(title = "渠道订单号pay_order 中的channel_order_no 对应", required = true)
@NotNull(message = "渠道订单号pay_order 中的channel_order_no 对应不能为空")
private String channelOrderNo;
@ApiModelProperty(value = "渠道退款单号,渠道返回")
@Schema(title = "渠道退款单号,渠道返回")
private String channelRefundNo;
@ApiModelProperty(value = "渠道调用报错时,错误码")
@Schema(title = "渠道调用报错时,错误码")
private String channelErrorCode;
@ApiModelProperty(value = "渠道调用报错时,错误信息")
@Schema(title = "渠道调用报错时,错误信息")
private String channelErrorMsg;
@ApiModelProperty(value = "支付渠道的额外参数")
@Schema(title = "支付渠道的额外参数")
private String channelExtras;
@ApiModelProperty(value = "退款失效时间")
@Schema(title = "退款失效时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime expireTime;
@ApiModelProperty(value = "退款成功时间")
@Schema(title = "退款成功时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime successTime;
@ApiModelProperty(value = "退款通知时间")
@Schema(title = "退款通知时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime notifyTime;

View File

@@ -1,9 +1,8 @@
package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import io.swagger.annotations.*;
@ApiModel("管理后台 - 退款订单创建 Request VO")
@Schema(title = "管理后台 - 退款订单创建 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)

View File

@@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@@ -9,31 +8,31 @@ import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
@ApiModel("管理后台 - 退款订单详情 Response VO")
@Schema(title = "管理后台 - 退款订单详情 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayRefundDetailsRespVO extends PayRefundBaseVO {
@ApiModelProperty(value = "支付退款编号", required = true)
@Schema(title = "支付退款编号", required = true)
private Long id;
@ApiModelProperty(value = "商户名称")
@Schema(title = "商户名称")
private String merchantName;
@ApiModelProperty(value = "应用名称")
@Schema(title = "应用名称")
private String appName;
@ApiModelProperty(value = "渠道编号名称")
@Schema(title = "渠道编号名称")
private String channelCodeName;
@NotNull(message = "商品标题不能为空")
private String subject;
@ApiModelProperty(value = "创建时间")
@Schema(title = "创建时间")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新时间")
@Schema(title = "更新时间")
private LocalDateTime updateTime;
}

View File

@@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -9,87 +8,87 @@ import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ApiModel(value = "管理后台 - 退款订单 Excel 导出 Request VO", description = "参数和 PayRefundPageReqVO 是一致的")
@Schema(title = "管理后台 - 退款订单 Excel 导出 Request VO", description = "参数和 PayRefundPageReqVO 是一致的")
@Data
public class PayRefundExportReqVO {
@ApiModelProperty(value = "商户编号")
@Schema(title = "商户编号")
private Long merchantId;
@ApiModelProperty(value = "应用编号")
@Schema(title = "应用编号")
private Long appId;
@ApiModelProperty(value = "渠道编号")
@Schema(title = "渠道编号")
private Long channelId;
@ApiModelProperty(value = "渠道编码")
@Schema(title = "渠道编码")
private String channelCode;
@ApiModelProperty(value = "支付订单编号 pay_order 表id")
@Schema(title = "支付订单编号 pay_order 表id")
private Long orderId;
@ApiModelProperty(value = "交易订单号 pay_extension 表no 字段")
@Schema(title = "交易订单号 pay_extension 表no 字段")
private String tradeNo;
@ApiModelProperty(value = "商户订单编号(商户系统生成)")
@Schema(title = "商户订单编号(商户系统生成)")
private String merchantOrderId;
@ApiModelProperty(value = "商户退款订单号(商户系统生成)")
@Schema(title = "商户退款订单号(商户系统生成)")
private String merchantRefundNo;
@ApiModelProperty(value = "异步通知商户地址")
@Schema(title = "异步通知商户地址")
private String notifyUrl;
@ApiModelProperty(value = "通知商户退款结果的回调状态")
@Schema(title = "通知商户退款结果的回调状态")
private Integer notifyStatus;
@ApiModelProperty(value = "退款状态")
@Schema(title = "退款状态")
private Integer status;
@ApiModelProperty(value = "退款类型(部分退款,全部退款)")
@Schema(title = "退款类型(部分退款,全部退款)")
private Integer type;
@ApiModelProperty(value = "支付金额,单位分")
@Schema(title = "支付金额,单位分")
private Long payAmount;
@ApiModelProperty(value = "退款金额,单位分")
@Schema(title = "退款金额,单位分")
private Long refundAmount;
@ApiModelProperty(value = "退款原因")
@Schema(title = "退款原因")
private String reason;
@ApiModelProperty(value = "用户 IP")
@Schema(title = "用户 IP")
private String userIp;
@ApiModelProperty(value = "渠道订单号pay_order 中的channel_order_no 对应")
@Schema(title = "渠道订单号pay_order 中的channel_order_no 对应")
private String channelOrderNo;
@ApiModelProperty(value = "渠道退款单号,渠道返回")
@Schema(title = "渠道退款单号,渠道返回")
private String channelRefundNo;
@ApiModelProperty(value = "渠道调用报错时,错误码")
@Schema(title = "渠道调用报错时,错误码")
private String channelErrorCode;
@ApiModelProperty(value = "渠道调用报错时,错误信息")
@Schema(title = "渠道调用报错时,错误信息")
private String channelErrorMsg;
@ApiModelProperty(value = "支付渠道的额外参数")
@Schema(title = "支付渠道的额外参数")
private String channelExtras;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "退款失效时间")
@Schema(title = "退款失效时间")
private LocalDateTime[] expireTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "退款成功时间")
@Schema(title = "退款成功时间")
private LocalDateTime[] successTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "退款通知时间")
@Schema(title = "退款通知时间")
private LocalDateTime[] notifyTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "创建时间")
@Schema(title = "创建时间")
private LocalDateTime[] createTime;
}

View File

@@ -1,32 +1,31 @@
package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.time.LocalDateTime;
@ApiModel("管理后台 - 退款订单分页查询 Response VO")
@Schema(title = "管理后台 - 退款订单分页查询 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayRefundPageItemRespVO extends PayRefundBaseVO {
@ApiModelProperty(value = "支付订单编号", required = true)
@Schema(title = "支付订单编号", required = true)
private Long id;
@ApiModelProperty(value = "商户名称")
@Schema(title = "商户名称")
private String merchantName;
@ApiModelProperty(value = "应用名称")
@Schema(title = "应用名称")
private String appName;
@ApiModelProperty(value = "渠道名称")
@Schema(title = "渠道名称")
private String channelCodeName;
@ApiModelProperty(value = "创建时间", required = true)
@Schema(title = "创建时间", required = true)
private LocalDateTime createTime;
}

View File

@@ -1,8 +1,7 @@
package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@@ -12,89 +11,89 @@ import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ApiModel("管理后台 - 退款订单分页 Request VO")
@Schema(title = "管理后台 - 退款订单分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayRefundPageReqVO extends PageParam {
@ApiModelProperty(value = "商户编号")
@Schema(title = "商户编号")
private Long merchantId;
@ApiModelProperty(value = "应用编号")
@Schema(title = "应用编号")
private Long appId;
@ApiModelProperty(value = "渠道编号")
@Schema(title = "渠道编号")
private Long channelId;
@ApiModelProperty(value = "渠道编码")
@Schema(title = "渠道编码")
private String channelCode;
@ApiModelProperty(value = "支付订单编号 pay_order 表id")
@Schema(title = "支付订单编号 pay_order 表id")
private Long orderId;
@ApiModelProperty(value = "交易订单号 pay_extension 表no 字段")
@Schema(title = "交易订单号 pay_extension 表no 字段")
private String tradeNo;
@ApiModelProperty(value = "商户订单编号(商户系统生成)")
@Schema(title = "商户订单编号(商户系统生成)")
private String merchantOrderId;
@ApiModelProperty(value = "商户退款订单号(商户系统生成)")
@Schema(title = "商户退款订单号(商户系统生成)")
private String merchantRefundNo;
@ApiModelProperty(value = "异步通知商户地址")
@Schema(title = "异步通知商户地址")
private String notifyUrl;
@ApiModelProperty(value = "通知商户退款结果的回调状态")
@Schema(title = "通知商户退款结果的回调状态")
private Integer notifyStatus;
@ApiModelProperty(value = "退款状态")
@Schema(title = "退款状态")
private Integer status;
@ApiModelProperty(value = "退款类型(部分退款,全部退款)")
@Schema(title = "退款类型(部分退款,全部退款)")
private Integer type;
@ApiModelProperty(value = "支付金额,单位分")
@Schema(title = "支付金额,单位分")
private Long payAmount;
@ApiModelProperty(value = "退款金额,单位分")
@Schema(title = "退款金额,单位分")
private Long refundAmount;
@ApiModelProperty(value = "退款原因")
@Schema(title = "退款原因")
private String reason;
@ApiModelProperty(value = "用户 IP")
@Schema(title = "用户 IP")
private String userIp;
@ApiModelProperty(value = "渠道订单号pay_order 中的channel_order_no 对应")
@Schema(title = "渠道订单号pay_order 中的channel_order_no 对应")
private String channelOrderNo;
@ApiModelProperty(value = "渠道退款单号,渠道返回")
@Schema(title = "渠道退款单号,渠道返回")
private String channelRefundNo;
@ApiModelProperty(value = "渠道调用报错时,错误码")
@Schema(title = "渠道调用报错时,错误码")
private String channelErrorCode;
@ApiModelProperty(value = "渠道调用报错时,错误信息")
@Schema(title = "渠道调用报错时,错误信息")
private String channelErrorMsg;
@ApiModelProperty(value = "支付渠道的额外参数")
@Schema(title = "支付渠道的额外参数")
private String channelExtras;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "退款失效时间")
@Schema(title = "退款失效时间")
private LocalDateTime[] expireTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "退款成功时间")
@Schema(title = "退款成功时间")
private LocalDateTime[] successTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "退款通知时间")
@Schema(title = "退款通知时间")
private LocalDateTime[] notifyTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "创建时间")
@Schema(title = "创建时间")
private LocalDateTime[] createTime;
}

View File

@@ -1,23 +1,22 @@
package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.time.LocalDateTime;
@ApiModel("管理后台 - 退款订单 Response VO")
@Schema(title = "管理后台 - 退款订单 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayRefundRespVO extends PayRefundBaseVO {
@ApiModelProperty(value = "支付退款编号", required = true)
@Schema(title = "支付退款编号", required = true)
private Long id;
@ApiModelProperty(value = "创建时间", required = true)
@Schema(title = "创建时间", required = true)
private LocalDateTime createTime;
}

View File

@@ -1,16 +1,15 @@
package cn.iocoder.yudao.module.pay.controller.admin.refund.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
@ApiModel("管理后台 - 退款订单更新 Request VO")
@Schema(title = "管理后台 - 退款订单更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PayRefundUpdateReqVO extends PayRefundBaseVO {
@ApiModelProperty(value = "支付退款编号", required = true)
@Schema(title = "支付退款编号", required = true)
@NotNull(message = "支付退款编号不能为空")
private Long id;

View File

@@ -12,8 +12,8 @@ import cn.iocoder.yudao.module.pay.service.order.PayOrderService;
import cn.iocoder.yudao.module.pay.service.order.dto.PayOrderSubmitReqDTO;
import cn.iocoder.yudao.module.pay.service.order.dto.PayOrderSubmitRespDTO;
import cn.iocoder.yudao.module.pay.service.refund.PayRefundService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -26,7 +26,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP;
import static cn.iocoder.yudao.module.pay.enums.ErrorCodeConstants.*;
@Api(tags = "用户 APP - 支付订单")
@Tag(name = "用户 APP - 支付订单")
@RestController
@RequestMapping("/pay/order")
@Validated
@@ -42,7 +42,7 @@ public class AppPayOrderController {
private PayClientFactory payClientFactory;
@PostMapping("/submit")
@ApiOperation("提交支付订单")
@Operation(summary = "提交支付订单")
// @PreAuthenticated // TODO 暂时不加登陆验证,前端暂时没做好
public CommonResult<AppPayOrderSubmitRespVO> submitPayOrder(@RequestBody AppPayOrderSubmitReqVO reqVO) {
// 获得订单
@@ -63,7 +63,7 @@ public class AppPayOrderController {
// TODO @芋艿:是不是放到 notify 模块更合适
//TODO 芋道源码 换成了统一的地址了 /notify/{channelId},测试通过可以删除
@PostMapping("/notify/wx-pub/{channelId}")
@ApiOperation("通知微信公众号支付的结果")
@Operation(summary = "通知微信公众号支付的结果")
public String notifyWxPayOrder(@PathVariable("channelId") Long channelId,
@RequestBody String xmlData) throws Exception {
orderService.notifyPayOrder(channelId, PayNotifyDataDTO.builder().body(xmlData).build());
@@ -77,7 +77,7 @@ public class AppPayOrderController {
* @return 返回跳转页面
*/
@GetMapping(value = "/return/{channelId}")
@ApiOperation("渠道统一的支付成功返回地址")
@Operation(summary = "渠道统一的支付成功返回地址")
public String returnAliPayOrder(@PathVariable("channelId") Long channelId, @RequestParam Map<String, String> params){
//TODO 可以根据渠道和 app_id 返回不同的页面
log.info("app_id is {}", params.get("app_id"));
@@ -93,7 +93,7 @@ public class AppPayOrderController {
* @return 成功返回 "success"
*/
@PostMapping(value = "/notify/{channelId}")
@ApiOperation("渠道统一的支付成功,或退款成功 通知url")
@Operation(summary = "渠道统一的支付成功,或退款成功 通知url")
public String notifyChannelPay(@PathVariable("channelId") Long channelId,
@RequestParam Map<String, String> params,
@RequestBody String originData) throws Exception {

View File

@@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.pay.controller.app.order.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;
@@ -9,20 +8,20 @@ import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Map;
@ApiModel("用户 APP - 支付订单提交 Request VO")
@Schema(title = "用户 APP - 支付订单提交 Request VO")
@Data
@Accessors(chain = true)
public class AppPayOrderSubmitReqVO {
@ApiModelProperty(value = "支付单编号", required = true, example = "1024")
@Schema(title = "支付单编号", required = true, example = "1024")
@NotNull(message = "支付单编号不能为空")
private Long id;
@ApiModelProperty(value = "支付渠道", required = true, example = "wx_pub")
@Schema(title = "支付渠道", required = true, example = "wx_pub")
@NotEmpty(message = "支付渠道不能为空")
private String channelCode;
@ApiModelProperty(value = "支付渠道的额外参数", notes = "例如说,微信公众号需要传递 openid 参数")
@Schema(title = "支付渠道的额外参数", description = "例如说,微信公众号需要传递 openid 参数")
private Map<String, String> channelExtras;
}

View File

@@ -1,13 +1,13 @@
package cn.iocoder.yudao.module.pay.controller.app.order.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@ApiModel("用户 APP - 支付订单提交 Response VO")
@Schema(title = "用户 APP - 支付订单提交 Response VO")
@Data
@Accessors(chain = true)
@Builder

View File

@@ -8,8 +8,8 @@ import cn.iocoder.yudao.module.pay.convert.refund.PayRefundConvert;
import cn.iocoder.yudao.module.pay.service.order.dto.PayRefundReqDTO;
import cn.iocoder.yudao.module.pay.service.refund.PayRefundService;
import cn.iocoder.yudao.module.pay.util.PaySeqUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
@@ -22,7 +22,7 @@ import javax.annotation.Resource;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.common.util.servlet.ServletUtils.getClientIP;
@Api(tags = "用户 APP - 退款订单")
@Tag(name = "用户 APP - 退款订单")
@RestController
@RequestMapping("/pay/refund")
@Validated
@@ -33,7 +33,7 @@ public class AppPayRefundController {
private PayRefundService refundService;
@PostMapping("/refund")
@ApiOperation("提交退款订单")
@Operation(summary = "提交退款订单")
public CommonResult<AppPayRefundRespVO> submitRefundOrder(@RequestBody AppPayRefundReqVO reqVO){
PayRefundReqDTO req = PayRefundConvert.INSTANCE.convert(reqVO);
req.setUserIp(getClientIP());

View File

@@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.pay.controller.app.refund.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -9,25 +8,25 @@ import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@ApiModel("用户 APP - 退款订单 Req VO")
@Schema(title = "用户 APP - 退款订单 Req VO")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AppPayRefundReqVO {
@ApiModelProperty(value = "支付订单编号自增", required = true, example = "10")
@Schema(title = "支付订单编号自增", required = true, example = "10")
@NotNull(message = "支付订单编号自增")
private Long payOrderId;
@ApiModelProperty(value = "退款金额", required = true, example = "1")
@Schema(title = "退款金额", required = true, example = "1")
@NotNull(message = "退款金额")
private Long amount;
@ApiModelProperty(value = "退款原因", required = true, example = "不喜欢")
@Schema(title = "退款原因", required = true, example = "不喜欢")
@NotEmpty(message = "退款原因")
private String reason;
@ApiModelProperty(value = "商户退款订单号", required = true, example = "MR202111180000000001")
@Schema(title = "商户退款订单号", required = true, example = "MR202111180000000001")
//TODO 测试暂时模拟生成
//@NotEmpty(message = "商户退款订单号")
private String merchantRefundId;

View File

@@ -1,14 +1,13 @@
package cn.iocoder.yudao.module.pay.controller.app.refund.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@ApiModel("用户 APP - 提交退款订单 Response VO")
@Schema(title = "用户 APP - 提交退款订单 Response VO")
@Data
@Accessors(chain = true)
@Builder
@@ -16,7 +15,7 @@ import lombok.experimental.Accessors;
@AllArgsConstructor
public class AppPayRefundRespVO {
@ApiModelProperty(value = "退款订单编号", required = true, example = "10")
@Schema(title = "退款订单编号", required = true, example = "10")
private Long refundId;
}

View File

@@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.pay.service.notify.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -10,18 +9,18 @@ import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@ApiModel(value = "支付单的通知 Request VO", description = "业务方接入支付回调时,使用该 VO 对象")
@Schema(title = "支付单的通知 Request VO", description = "业务方接入支付回调时,使用该 VO 对象")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PayNotifyOrderReqVO {
@ApiModelProperty(value = "商户订单编号", required = true, example = "10")
@Schema(title = "商户订单编号", required = true, example = "10")
@NotEmpty(message = "商户订单号不能为空")
private String merchantOrderId;
@ApiModelProperty(value = "支付订单编号", required = true, example = "20")
@Schema(title = "支付订单编号", required = true, example = "20")
@NotNull(message = "支付订单编号不能为空")
private Long payOrderId;

View File

@@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.pay.service.notify.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -10,22 +9,22 @@ import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@ApiModel(value = "退款单的通知 Request VO", description = "业务方接入退款回调时,使用该 VO 对象")
@Schema(title = "退款单的通知 Request VO", description = "业务方接入退款回调时,使用该 VO 对象")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PayRefundOrderReqVO {
@ApiModelProperty(value = "商户退款单编号", required = true, example = "10")
@Schema(title = "商户退款单编号", required = true, example = "10")
@NotEmpty(message = "商户退款单编号不能为空")
private String merchantOrderId;
@ApiModelProperty(value = "支付退款编号", required = true, example = "20")
@Schema(title = "支付退款编号", required = true, example = "20")
@NotNull(message = "支付退款编号不能为空")
private Long payRefundId;
@ApiModelProperty(value = "退款状态(成功,失败)", required = true, example = "10")
@Schema(title = "退款状态(成功,失败)", required = true, example = "10")
private Integer status;
}