refactor(docs): 升级 Swagger 注解为 OpenAPI 3.0 并集成 Knife4j

- 将项目中使用的 Swagger 2.x 注解(如 @Api、@ApiOperation 等)全面替换为  OpenAPI3.0 对应注解(如 @Tag、@Operation 等)
 - 解决Knife4j依赖的springdoc-openapi版本和springboot3.4.4版本不兼容问题
This commit is contained in:
huk 2025-09-25 15:19:18 +08:00
parent efb510e448
commit 0400f2d8d7
49 changed files with 290 additions and 365 deletions

34
pom.xml
View File

@ -19,7 +19,6 @@
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>17</java.version> <java.version>17</java.version>
<mybatis.version>3.5.16</mybatis.version> <mybatis.version>3.5.16</mybatis.version>
<springdoc.version>2.8.5</springdoc.version>
<therapi-javadoc.version>0.15.0</therapi-javadoc.version> <therapi-javadoc.version>0.15.0</therapi-javadoc.version>
<easyexcel.version>4.0.3</easyexcel.version> <easyexcel.version>4.0.3</easyexcel.version>
<velocity.version>2.3</velocity.version> <velocity.version>2.3</velocity.version>
@ -59,7 +58,7 @@
<flatten-maven-plugin.version>1.3.0</flatten-maven-plugin.version> <flatten-maven-plugin.version>1.3.0</flatten-maven-plugin.version>
<!-- 打包默认跳过测试 --> <!-- 打包默认跳过测试 -->
<skipTests>true</skipTests> <skipTests>true</skipTests>
<knife4j.version>3.03</knife4j.version> <knife4j-plus.version>4.6.0</knife4j-plus.version>
<okhttp.version>4.12.0</okhttp.version> <okhttp.version>4.12.0</okhttp.version>
</properties> </properties>
@ -102,10 +101,11 @@
<!-- 依赖声明 --> <!-- 依赖声明 -->
<dependencyManagement> <dependencyManagement>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>com.github.xiaoymin</groupId> <groupId>com.github.xingfudeshi</groupId>
<artifactId>knife4j-springdoc-ui</artifactId> <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>3.0.3</version> <version>${knife4j-plus.version}</version>
</dependency> </dependency>
<!-- SpringBoot的依赖配置--> <!-- SpringBoot的依赖配置-->
@ -154,12 +154,6 @@
<scope>import</scope> <scope>import</scope>
</dependency> </dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
<version>${springdoc.version}</version>
</dependency>
<dependency> <dependency>
<groupId>com.github.therapi</groupId> <groupId>com.github.therapi</groupId>
<artifactId>therapi-runtime-javadoc</artifactId> <artifactId>therapi-runtime-javadoc</artifactId>
@ -426,24 +420,6 @@
<version>${revision}</version> <version>${revision}</version>
</dependency> </dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.6.2</version>
<scope>compile</scope>
</dependency>
<!--<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-springdoc-ui</artifactId>
<version>3.0.3</version>
</dependency>-->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>${springdoc.version}</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>

View File

@ -5,8 +5,6 @@ import com.wzj.soopin.content.domain.bo.CommentBO;
import com.wzj.soopin.content.domain.po.Comment; import com.wzj.soopin.content.domain.po.Comment;
import com.wzj.soopin.content.domain.vo.CommentVO; import com.wzj.soopin.content.domain.vo.CommentVO;
import com.wzj.soopin.content.service.CommentService; import com.wzj.soopin.content.service.CommentService;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -54,8 +52,7 @@ public class AppCommentController {
@Operation(summary = "删除评论") @Operation(summary = "删除评论")
@PostMapping("/delete") @PostMapping("/delete")
public R<Void> deleteComment( public R<Void> deleteComment(@RequestParam String commentId) {
@ApiParam(value = "评论ID") @RequestParam String commentId) {
try { try {
String username = LoginHelper.getUsername(); String username = LoginHelper.getUsername();
commentService.deleteComment(commentId, username); commentService.deleteComment(commentId, username);
@ -68,7 +65,7 @@ public class AppCommentController {
@Operation(summary = "获取评论详情") @Operation(summary = "获取评论详情")
@GetMapping("/detail") @GetMapping("/detail")
public R<Map<String, Object>> getCommentDetail(@ApiParam(value = "评论ID") @RequestParam String commentId) { public R<Map<String, Object>> getCommentDetail(@RequestParam String commentId) {
try { try {
Comment comment = commentService.getCommentDetail(commentId); Comment comment = commentService.getCommentDetail(commentId);
if (comment == null) { if (comment == null) {

View File

@ -7,9 +7,10 @@ import com.wzj.soopin.transaction.enums.PaymentMethodEnum;
import com.wzj.soopin.transaction.kit.CashierSupport; import com.wzj.soopin.transaction.kit.CashierSupport;
import com.wzj.soopin.transaction.kit.dto.PayParam; import com.wzj.soopin.transaction.kit.dto.PayParam;
import com.wzj.soopin.transaction.kit.params.dto.CashierParam; import com.wzj.soopin.transaction.kit.params.dto.CashierParam;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
@ -53,9 +54,9 @@ public class AppPayController {
} }
@ApiImplicitParams({ @Parameters({
@ApiImplicitParam(name = "paymentMethod", value = "支付方式", paramType = "path", allowableValues = "WECHAT,ALIPAY"), @Parameter(name = "paymentMethod", description = "支付方式", allowReserved = true, schema = @Schema(allowableValues = {"WECHAT", "ALIPAY"})),
@ApiImplicitParam(name = "paymentClient", value = "调起方式", paramType = "path", allowableValues = "APP,NATIVE,JSAPI,H5,MP") @Parameter(name = "paymentClient", description = "调起方式", allowReserved = true, schema = @Schema(allowableValues = {"APP", "NATIVE", "JSAPI", "H5", "MP"}))
}) })
@PostMapping(value = "/pay") @PostMapping(value = "/pay")
@Operation(summary = "支付") @Operation(summary = "支付")

View File

@ -7,7 +7,6 @@ import com.wzj.soopin.content.service.IVlogPullService;
import com.wzj.soopin.content.service.VlogService; import com.wzj.soopin.content.service.VlogService;
import com.wzj.soopin.content.service.VlogUploadService; import com.wzj.soopin.content.service.VlogUploadService;
import com.wzj.soopin.content.utils.QcCloud; import com.wzj.soopin.content.utils.QcCloud;
import io.swagger.annotations.Api;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -21,7 +20,7 @@ import org.springframework.web.bind.annotation.*;
@Slf4j @Slf4j
@Api(tags = "VlogController 短视频相关业务功能的接口") @Tag(name = "VlogController 短视频相关业务功能的接口")
@RequestMapping("/app/vlog") @RequestMapping("/app/vlog")
@RestController @RestController
@AllArgsConstructor @AllArgsConstructor

View File

@ -1,6 +1,6 @@
package org.dromara.app; package org.dromara.app;
import io.swagger.annotations.Api; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RestController;
* @author Chopper * @author Chopper
* @since 2020-12-18 16:59 * @since 2020-12-18 16:59
*/ */
@Api(tags = "买家端,退款回调") @Tag(name = "买家端,退款回调")
@RestController @RestController
@RequestMapping("/buyer/payment/cashierRefund") @RequestMapping("/buyer/payment/cashierRefund")
@RequiredArgsConstructor @RequiredArgsConstructor

View File

@ -1,15 +1,11 @@
package org.dromara.app.merchant; package org.dromara.app.merchant;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.member.convert.AccountBillConvert; import com.wzj.soopin.member.convert.AccountBillConvert;
import com.wzj.soopin.member.domain.bo.AccountBillBO; import com.wzj.soopin.member.domain.bo.AccountBillBO;
import com.wzj.soopin.member.domain.po.AccountBill;
import com.wzj.soopin.member.domain.vo.AccountBillVO; import com.wzj.soopin.member.domain.vo.AccountBillVO;
import com.wzj.soopin.member.domain.vo.AccountStatisticVO; import com.wzj.soopin.member.domain.vo.AccountStatisticVO;
import com.wzj.soopin.member.enums.AccountTypeEnum;
import com.wzj.soopin.transaction.service.IAccountBillService; import com.wzj.soopin.transaction.service.IAccountBillService;
import io.swagger.annotations.Api;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -31,7 +27,7 @@ import org.springframework.web.bind.annotation.RestController;
* @since 2020-12-18 16:59 * @since 2020-12-18 16:59
*/ */
@Slf4j @Slf4j
@Api(tags = "商户端,账单接口") @Tag(name = "商户端,账单接口")
@RequestMapping("/app/merchant/account/") @RequestMapping("/app/merchant/account/")
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor

View File

@ -7,8 +7,8 @@ import com.wzj.soopin.order.domain.entity.Order;
import com.wzj.soopin.order.domain.vo.OrderVO; import com.wzj.soopin.order.domain.vo.OrderVO;
import com.wzj.soopin.order.service.IMerchantOrderService; import com.wzj.soopin.order.service.IMerchantOrderService;
import com.wzj.soopin.order.service.VerificationCodeService; import com.wzj.soopin.order.service.VerificationCodeService;
import io.swagger.annotations.Api;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.*;
* @since 2020-12-18 16:59 * @since 2020-12-18 16:59
*/ */
@Slf4j @Slf4j
@Api(tags = "商户端,订单接口") @Tag(name = "商户端,订单接口")
@RequestMapping("/app/merchant/order") @RequestMapping("/app/merchant/order")
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor

View File

@ -115,6 +115,8 @@ security:
- /**/*.js - /**/*.js
- /favicon.ico - /favicon.ico
- /error - /error
- /webjars/**
- /swagger-resources/**
- /*/api-docs - /*/api-docs
- /*/api-docs/** - /*/api-docs/**
- /warm-flow-ui/token-name - /warm-flow-ui/token-name
@ -295,6 +297,8 @@ springdoc:
- group: 7.系统模块 - group: 7.系统模块
packages-to-scan: org.dromara.system packages-to-scan: org.dromara.system
legacy-mode: true legacy-mode: true
knife4j:
enable: true
# 防止XSS攻击 # 防止XSS攻击
xss: xss:
# 过滤开关 # 过滤开关

View File

@ -21,12 +21,6 @@
<artifactId>ruoyi-common-core</artifactId> <artifactId>ruoyi-common-core</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.github.therapi</groupId> <groupId>com.github.therapi</groupId>
<artifactId>therapi-runtime-javadoc</artifactId> <artifactId>therapi-runtime-javadoc</artifactId>
@ -37,32 +31,10 @@
<artifactId>jackson-module-kotlin</artifactId> <artifactId>jackson-module-kotlin</artifactId>
</dependency> </dependency>
<!-- Swagger 2.0 注解兼容包 -->
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-annotations</artifactId>
<version>2.2.15</version> <!-- 与 SpringDoc 版本匹配 -->
</dependency>
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-models</artifactId>
<version>2.2.15</version> <!-- 与 SpringDoc 版本匹配 -->
</dependency>
<dependency> <dependency>
<groupId>io.swagger</groupId> <groupId>com.github.xingfudeshi</groupId>
<artifactId>swagger-annotations</artifactId> <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>1.6.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-springdoc-ui</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@ -0,0 +1,22 @@
package org.dromara.common.web.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebConfig implements WebMvcConfigurer {
/**
* 添加knife4j静态资源文件映射
* @param registry
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}

View File

@ -1,8 +1,8 @@
package com.wzj.soopin.auth.domain.dto; package com.wzj.soopin.auth.domain.dto;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel; import com.wzj.soopin.auth.domain.dto.entity.enums.VerificationSourceEnum;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
@ -13,20 +13,20 @@ import org.dromara.common.mybatis.core.domain.BaseEntity;
*/ */
@Data @Data
@TableName("li_verification_source") @TableName("li_verification_source")
@ApiModel(value = "验证码资源维护") @Schema(description = "验证码资源维护")
public class VerificationSource extends BaseEntity { public class VerificationSource extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "名称") @Schema(description = "名称")
private String name; private String name;
@ApiModelProperty(value = "资源地址") @Schema(description = "资源地址")
private String resource; private String resource;
/** /**
* @see VerificationSourceEnum * @see VerificationSourceEnum
*/ */
@ApiModelProperty(value = "验证码资源类型 SLIDER/SOURCE") @Schema(description = "验证码资源类型 SLIDER/SOURCE")
private String type; private String type;
} }

View File

@ -8,8 +8,6 @@ import com.wzj.soopin.content.domain.vo.CommentVO;
import com.wzj.soopin.content.service.CommentService; import com.wzj.soopin.content.service.CommentService;
import com.wzj.soopin.content.service.MsgService; import com.wzj.soopin.content.service.MsgService;
import com.wzj.soopin.content.utils.RedisOperator; import com.wzj.soopin.content.utils.RedisOperator;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -61,7 +59,7 @@ public class CommentController extends BaseController {
@Operation(summary = "下架评论") @Operation(summary = "下架评论")
@PostMapping("/offline") @PostMapping("/offline")
public R<Void> offlineComment(@ApiParam(value = "评论ID") @RequestParam String commentId) { public R<Void> offlineComment(@RequestParam String commentId) {
try { try {
String username = LoginHelper.getUsername(); String username = LoginHelper.getUsername();
commentService.offlineComment(commentId, username); commentService.offlineComment(commentId, username);

View File

@ -6,8 +6,8 @@ import com.wzj.soopin.content.service.VlogUploadService;
import com.wzj.soopin.content.utils.RedisOperator; import com.wzj.soopin.content.utils.RedisOperator;
import com.wzj.soopin.content.utils.TencentCloudUtil; import com.wzj.soopin.content.utils.TencentCloudUtil;
import com.wzj.soopin.member.service.IFansService; import com.wzj.soopin.member.service.IFansService;
import io.swagger.annotations.Api;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
@ -19,7 +19,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
@Slf4j @Slf4j
@Api(tags = "管理端-视频") @Tag(name = "管理端-视频")
@RequestMapping("/cms/video") @RequestMapping("/cms/video")
@RestController @RestController
public class VlogUploadController extends BaseInfoProperties { public class VlogUploadController extends BaseInfoProperties {

View File

@ -3,11 +3,9 @@ package com.wzj.soopin.content.domain.bo;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.content.domain.po.Article; import com.wzj.soopin.content.domain.po.Article;
import io.swagger.annotations.ApiModel;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.dromara.common.core.domain.BaseBO; import org.dromara.common.core.domain.BaseBO;
import org.dromara.common.core.domain.model.BaseAudit;
/** /**
* 文章DO * 文章DO
@ -17,7 +15,7 @@ import org.dromara.common.core.domain.model.BaseAudit;
*/ */
@Data @Data
@TableName("cont_article") @TableName("cont_article")
@ApiModel(value = "文章") @Schema(description = "文章")
public class ArticleBO extends BaseBO<Article> { public class ArticleBO extends BaseBO<Article> {
/** /**

View File

@ -2,8 +2,7 @@ package com.wzj.soopin.content.domain.bo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.content.domain.po.Vlog; import com.wzj.soopin.content.domain.po.Vlog;
import io.swagger.annotations.ApiModel; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -21,10 +20,11 @@ import java.util.List;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@ToString @ToString
@Schema(description = "视频上传业务参数")
public class VlogBO extends BaseBO { public class VlogBO extends BaseBO {
private String id; private String id;
@ApiModelProperty(value = "作者id", hidden = true) @Schema(description = "作者id", hidden = true)
private String memberId; private String memberId;
private String url; private String url;
private String cover; private String cover;
@ -39,28 +39,28 @@ public class VlogBO extends BaseBO {
private Integer cityCode; private Integer cityCode;
private String firstFrameImg; private String firstFrameImg;
@ApiModelProperty("排序字段,例如 commentCounts, likeCounts, reason") @Schema(description = "排序字段,例如 commentCounts, likeCounts, reason")
private String Column; private String Column;
@ApiModelProperty("排序方向true 为升序false 为降序") @Schema(description = "排序方向true 为升序false 为降序")
private Boolean asc; private Boolean asc;
@ApiModelProperty("手机号(模糊查询)") @Schema(description = "手机号(模糊查询)")
private String mobile; private String mobile;
@ApiModelProperty("用户昵称(模糊查询)") @Schema(description = "用户昵称(模糊查询)")
private String nickname; private String nickname;
@ApiModelProperty("视频标题(模糊查询)") @Schema(description = "视频标题(模糊查询)")
private String titleQuery; private String titleQuery;
@ApiModelProperty("视频状态(精确查询)") @Schema(description = "视频状态(精确查询)")
private Integer status; private Integer status;
@ApiModelProperty("创建时间范围-开始时间,格式:yyyy-MM-dd HH:MM:ss") @Schema(description = "创建时间范围-开始时间,格式:yyyy-MM-dd HH:MM:ss")
private LocalDateTime startTime; private LocalDateTime startTime;
@ApiModelProperty("创建时间范围-结束时间,格式:yyyy-MM-dd HH:MM:ss") @Schema(description = "创建时间范围-结束时间,格式:yyyy-MM-dd HH:MM:ss")
private LocalDateTime endTime; private LocalDateTime endTime;
private List<String> blockVd; private List<String> blockVd;

View File

@ -1,12 +1,9 @@
package com.wzj.soopin.content.domain.po; package com.wzj.soopin.content.domain.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
/** /**

View File

@ -1,7 +1,6 @@
package com.wzj.soopin.content.domain.vo; package com.wzj.soopin.content.domain.vo;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit; import org.dromara.common.core.domain.model.BaseAudit;
@ -14,7 +13,7 @@ import org.dromara.common.core.domain.model.BaseAudit;
*/ */
@Data @Data
@TableName("cont_article") @TableName("cont_article")
@ApiModel(value = "文章") @Schema(description = "文章")
public class ArticleVO extends BaseAudit { public class ArticleVO extends BaseAudit {
/** /**

View File

@ -1,11 +1,9 @@
package com.wzj.soopin.member.domain.po; package com.wzj.soopin.member.domain.po;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
@ -21,7 +19,7 @@ import java.util.Date;
*/ */
@Data @Data
@TableName("li_member") @TableName("li_member")
@ApiModel(value = "会员") @Schema(description = "会员")
@NoArgsConstructor @NoArgsConstructor
public class OrgMember extends BaseEntity { public class OrgMember extends BaseEntity {
@ -29,67 +27,67 @@ public class OrgMember extends BaseEntity {
private String id; private String id;
@ApiModelProperty(value = "会员用户名") @Schema(description = "会员用户名")
private String username; private String username;
@ApiModelProperty(value = "会员密码") @Schema(description = "会员密码")
private String password; private String password;
@ApiModelProperty(value = "昵称") @Schema(description = "昵称")
private String nickName; private String nickName;
@ApiModelProperty(value = "会员性别,1为男0为女") @Schema(description = "会员性别,1为男0为女")
private Integer sex; private Integer sex;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "会员生日") @Schema(description = "会员生日")
private Date birthday; private Date birthday;
@ApiModelProperty(value = "会员地址ID") @Schema(description = "会员地址ID")
private String regionId; private String regionId;
@ApiModelProperty(value = "会员地址") @Schema(description = "会员地址")
private String region; private String region;
@ApiModelProperty(value = "手机号码", required = true) @Schema(description = "手机号码", required = true)
private String mobile; private String mobile;
@ApiModelProperty(value = "积分数量") @Schema(description = "积分数量")
private Long point; private Long point;
@ApiModelProperty(value = "积分总数量") @Schema(description = "积分总数量")
private Long totalPoint; private Long totalPoint;
@ApiModelProperty(value = "会员头像") @Schema(description = "会员头像")
private String face; private String face;
@ApiModelProperty(value = "会员状态") @Schema(description = "会员状态")
private Boolean disabled; private Boolean disabled;
@ApiModelProperty(value = "是否开通店铺") @Schema(description = "是否开通店铺")
private Boolean haveStore; private Boolean haveStore;
@ApiModelProperty(value = "店铺ID") @Schema(description = "店铺ID")
private String storeId; private String storeId;
@ApiModelProperty(value = "客户端") @Schema(description = "客户端")
private String clientEnum; private String clientEnum;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "最后一次登录时间") @Schema(description = "最后一次登录时间")
private Date lastLoginDate; private Date lastLoginDate;
@ApiModelProperty(value = "会员等级ID") @Schema(description = "会员等级ID")
private String gradeId; private String gradeId;
@ApiModelProperty(value = "是否为达人") @Schema(description = "是否为达人")
private Integer expert; private Integer expert;
@ApiModelProperty(value = "是否为代理") @Schema(description = "是否为代理")
private Integer agent; private Integer agent;
@ApiModelProperty(value = "经验值数量") @Schema(description = "经验值数量")
private Long experience; private Long experience;
private String userSig; // 添加 UserSig 属性 private String userSig; // 添加 UserSig 属性
@ -99,12 +97,6 @@ public class OrgMember extends BaseEntity {
@TableField(value = "ban_end_time") @TableField(value = "ban_end_time")
private Date banEndTime; private Date banEndTime;
// /**
// * 是否为达人
// */
// @TableField("is_expert")
// private Integer isExpert;
public OrgMember(String username, String password, String mobile) { public OrgMember(String username, String password, String mobile) {
this.username = username; this.username = username;
this.password = password; this.password = password;

View File

@ -3,16 +3,13 @@ package com.wzj.soopin.order.domain.bo;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.order.domain.entity.AftersaleItem; import com.wzj.soopin.order.domain.entity.AftersaleItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.dromara.common.excel.annotation.Excel;
import java.math.BigDecimal; import java.math.BigDecimal;
@Data @Data
@ApiModel(description="订单中所包含的商品 查询 对象") @Schema(description = "订单中所包含的商品 列表查询对象")
public class AftersaleItemBo { public class AftersaleItemBo {
@Schema(description = "MEMBER_ID 精确匹配") @Schema(description = "MEMBER_ID 精确匹配")

View File

@ -3,13 +3,11 @@ package com.wzj.soopin.order.domain.bo;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.order.domain.entity.OrderDeliveryHistory; import com.wzj.soopin.order.domain.entity.OrderDeliveryHistory;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
@Data @Data
@ApiModel(description="订单发货记录 查询 对象") @Schema(description = "订单发货记录 列表查询对象")
public class OrderDeliveryHistoryBo { public class OrderDeliveryHistoryBo {
@Schema(description ="订单id 精确匹配") @Schema(description ="订单id 精确匹配")

View File

@ -3,13 +3,11 @@ package com.wzj.soopin.order.domain.bo;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.order.domain.entity.OrderOperateHistory; import com.wzj.soopin.order.domain.entity.OrderOperateHistory;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
@Data @Data
@ApiModel(description="订单操作历史记录 查询 对象") @Schema(description = "订单操作历史记录 列表查询对象")
public class OrderOperateHistoryBo { public class OrderOperateHistoryBo {
@Schema(description = "订单号 精确匹配") @Schema(description = "订单号 精确匹配")

View File

@ -1,12 +1,10 @@
package com.wzj.soopin.order.domain.form; package com.wzj.soopin.order.domain.form;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
@Data @Data
@ApiModel("订单支付请求体") @Schema(description = "订单支付请求体")
public class OrderPayForm { public class OrderPayForm {
@Schema(description = "支付id", required = true) @Schema(description = "支付id", required = true)

View File

@ -1,7 +1,5 @@
package com.wzj.soopin.order.domain.vo; package com.wzj.soopin.order.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
@ -9,7 +7,7 @@ import lombok.Data;
* @author 86199 * @author 86199
*/ */
@Data @Data
@ApiModel("支付响应") @Schema(description = "支付响应")
public class OrderPayVO { public class OrderPayVO {
@Schema(description = "支付方式1-支付宝2-微信(默认)") @Schema(description = "支付方式1-支付宝2-微信(默认)")
private Integer payType; private Integer payType;

View File

@ -2,7 +2,7 @@ package com.wzj.soopin.order.domain.vo;
import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.text.CharSequenceUtil;
import com.wzj.soopin.order.utils.StringUtils; import com.wzj.soopin.order.utils.StringUtils;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -17,19 +17,19 @@ public class PageVO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "页号") @Schema(description = "页号")
private Integer page = 1; private Integer page = 1;
@ApiModelProperty(value = "页面大小") @Schema(description = "页面大小")
private Integer size = 10; private Integer size = 10;
@ApiModelProperty(value = "排序字段") @Schema(description = "排序字段")
private String sort; private String sort;
@ApiModelProperty(value = "排序方式 asc/desc") @Schema(description = "排序方式 asc/desc")
private String order; private String order;
@ApiModelProperty(value = "需要驼峰转换蛇形", notes = "一般不做处理,如果数据库中就是蛇形,则这块需要处理。") @Schema(description = "需要驼峰转换蛇形,一般不做处理,如果数据库中就是蛇形,则这块需要处理。")
private Boolean notConvert; private Boolean notConvert;
public String getSort() { public String getSort() {

View File

@ -2,7 +2,6 @@ package com.wzj.soopin.order.domain.vo;
import com.wzj.soopin.order.utils.DateUtil; import com.wzj.soopin.order.utils.DateUtil;
import com.wzj.soopin.order.utils.StringUtils; import com.wzj.soopin.order.utils.StringUtils;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;

View File

@ -3,7 +3,6 @@ package com.wzj.soopin.statistics.controller;
import com.wzj.soopin.statistics.entity.dos.MemberStatisticsData; import com.wzj.soopin.statistics.entity.dos.MemberStatisticsData;
import com.wzj.soopin.statistics.entity.dto.StatisticsQueryParam; import com.wzj.soopin.statistics.entity.dto.StatisticsQueryParam;
import com.wzj.soopin.statistics.service.MemberStatisticsService; import com.wzj.soopin.statistics.service.MemberStatisticsService;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;

View File

@ -6,7 +6,6 @@ import com.wzj.soopin.order.domain.vo.PageVO;
import com.wzj.soopin.statistics.entity.dto.StatisticsQueryParam; import com.wzj.soopin.statistics.entity.dto.StatisticsQueryParam;
import com.wzj.soopin.statistics.entity.vo.RefundOrderStatisticsDataVO; import com.wzj.soopin.statistics.entity.vo.RefundOrderStatisticsDataVO;
import com.wzj.soopin.statistics.service.RefundOrderStatisticsService; import com.wzj.soopin.statistics.service.RefundOrderStatisticsService;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;

View File

@ -2,8 +2,7 @@ package com.wzj.soopin.statistics.entity.dos;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.dromara.common.core.domain.BaseBO; import org.dromara.common.core.domain.BaseBO;
@ -17,22 +16,22 @@ import java.util.Date;
*/ */
@Data @Data
@TableName("li_member_statistics_data") @TableName("li_member_statistics_data")
@ApiModel(value = "会员统计") @Schema(description = "会员统计")
public class MemberStatisticsData extends BaseBO { public class MemberStatisticsData extends BaseBO {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "统计日") @Schema(description = "统计日")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private Date createDate; private Date createDate;
@ApiModelProperty(value = "当前会员数量") @Schema(description = "当前会员数量")
private Long memberCount; private Long memberCount;
@ApiModelProperty(value = "新增会员数量") @Schema(description = "新增会员数量")
private Long newlyAdded; private Long newlyAdded;
@ApiModelProperty(value = "当日活跃数量") @Schema(description = "当日活跃数量")
private Long activeQuantity; private Long activeQuantity;

View File

@ -1,8 +1,7 @@
package com.wzj.soopin.statistics.entity.dos; package com.wzj.soopin.statistics.entity.dos;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.dromara.common.core.domain.BaseBO; import org.dromara.common.core.domain.BaseBO;
@ -16,22 +15,22 @@ import java.util.Date;
*/ */
@Data @Data
@TableName("li_s_platform_view_data") @TableName("li_s_platform_view_data")
@ApiModel(value = "平台pv统计") @Schema(description = "平台pv统计")
public class PlatformViewData extends BaseBO { public class PlatformViewData extends BaseBO {
@ApiModelProperty(value = "pv数量") @Schema(description = "pv数量")
private Long pvNum; private Long pvNum;
@ApiModelProperty(value = "uv数量") @Schema(description = "uv数量")
private Long uvNum; private Long uvNum;
@ApiModelProperty(value = "统计日") @Schema(description = "统计日")
private Date date; private Date date;
//默认是平台流量统计// //默认是平台流量统计//
@ApiModelProperty(value = "店铺id") @Schema(description = "店铺id")
private String storeId = "-1"; private String storeId = "-1";
} }

View File

@ -1,6 +1,6 @@
package com.wzj.soopin.statistics.entity.dto; package com.wzj.soopin.statistics.entity.dto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
/** /**
@ -10,9 +10,10 @@ import lombok.Data;
* @since 2020/11/17 7:34 下午 * @since 2020/11/17 7:34 下午
*/ */
@Data @Data
@Schema(description = "商品统计查询参数")
public class GoodsStatisticsQueryParam extends StatisticsQueryParam { public class GoodsStatisticsQueryParam extends StatisticsQueryParam {
@ApiModelProperty(value = "查询类型按数量NUM、按金额PRICE") @Schema(description = "查询类型按数量NUM、按金额PRICE")
private String type; private String type;
} }

View File

@ -1,6 +1,6 @@
package com.wzj.soopin.statistics.entity.dto; package com.wzj.soopin.statistics.entity.dto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
/** /**
@ -10,21 +10,22 @@ import lombok.Data;
* @since 2020/12/9 14:20 * @since 2020/12/9 14:20
*/ */
@Data @Data
@Schema(description = "统计查询参数")
public class StatisticsQueryParam { public class StatisticsQueryParam {
@ApiModelProperty(value = "快捷搜索", allowableValues = "TODAY, YESTERDAY, LAST_SEVEN, LAST_THIRTY") @Schema(description = "快捷搜索", allowableValues = "TODAY, YESTERDAY, LAST_SEVEN, LAST_THIRTY")
private String searchType; private String searchType;
@ApiModelProperty(value = "类型YEAR、月MONTH") @Schema(description = "类型YEAR、月MONTH")
private String timeType; private String timeType;
@ApiModelProperty(value = "年份") @Schema(description = "年份")
private Integer year; private Integer year;
@ApiModelProperty(value = "月份") @Schema(description = "月份")
private Integer month; private Integer month;
@ApiModelProperty(value = "店铺ID") @Schema(description = "店铺ID")
private String storeId; private String storeId;
} }

View File

@ -1,6 +1,6 @@
package com.wzj.soopin.statistics.entity.vo; package com.wzj.soopin.statistics.entity.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
/** /**
@ -10,18 +10,19 @@ import lombok.Data;
* @since 2020/12/10 15:42 * @since 2020/12/10 15:42
*/ */
@Data @Data
@Schema(description = "分类统计VO")
public class CategoryStatisticsDataVO { public class CategoryStatisticsDataVO {
@ApiModelProperty("一级分类ID") @Schema(description = "一级分类ID")
private String categoryId; private String categoryId;
@ApiModelProperty("一级分类名称") @Schema(description = "一级分类名称")
private String categoryName; private String categoryName;
@ApiModelProperty(value = "销售数量") @Schema(description = "销售数量")
private String num; private String num;
@ApiModelProperty(value = "销售金额") @Schema(description = "销售金额")
private Double price; private Double price;
} }

View File

@ -1,6 +1,6 @@
package com.wzj.soopin.statistics.entity.vo; package com.wzj.soopin.statistics.entity.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
/** /**
@ -10,17 +10,18 @@ import lombok.Data;
* @since 2020/12/9 14:25 * @since 2020/12/9 14:25
*/ */
@Data @Data
@Schema(description = "商品统计VO")
public class GoodsStatisticsDataVO { public class GoodsStatisticsDataVO {
@ApiModelProperty(value = "商品ID") @Schema(description = "商品ID")
private String goodsId; private String goodsId;
@ApiModelProperty(value = "商品名称") @Schema(description = "商品名称")
private String goodsName; private String goodsName;
@ApiModelProperty(value = "销售数量") @Schema(description = "销售数量")
private String num; private String num;
@ApiModelProperty(value = "销售金额") @Schema(description = "销售金额")
private Double price; private Double price;
} }

View File

@ -1,6 +1,6 @@
package com.wzj.soopin.statistics.entity.vo; package com.wzj.soopin.statistics.entity.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
/** /**
@ -10,24 +10,25 @@ import lombok.Data;
* @since 2020/12/9 14:25 * @since 2020/12/9 14:25
*/ */
@Data @Data
@Schema(description = "消息提示")
public class IndexNoticeVO { public class IndexNoticeVO {
@ApiModelProperty(value = "待处理商品审核") @Schema(description = "待处理商品审核")
private Long goods; private Long goods;
@ApiModelProperty(value = "待处理店铺入驻审核") @Schema(description = "待处理店铺入驻审核")
private Long store; private Long store;
@ApiModelProperty(value = "待处理售后申请") @Schema(description = "待处理售后申请")
private Long refund; private Long refund;
@ApiModelProperty(value = "待处理投诉审核") @Schema(description = "待处理投诉审核")
private Long complain; private Long complain;
@ApiModelProperty(value = "待处理分销员提现申请") @Schema(description = "待处理分销员提现申请")
private Long distributionCash; private Long distributionCash;
@ApiModelProperty(value = "待处理商家结算") @Schema(description = "待处理商家结算")
private Long waitPayBill; private Long waitPayBill;
} }

View File

@ -1,6 +1,7 @@
package com.wzj.soopin.statistics.entity.vo; package com.wzj.soopin.statistics.entity.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
/** /**
@ -10,44 +11,45 @@ import lombok.Data;
* @since 2020/12/22 14:23 * @since 2020/12/22 14:23
*/ */
@Data @Data
@Schema(description = "首页统计内容")
public class IndexStatisticsVO { public class IndexStatisticsVO {
@ApiModelProperty(value = "订单总数量") @Schema(description = "订单总数量")
private Long orderNum; private Long orderNum;
@ApiModelProperty(value = "商品总数量") @Schema(description = "商品总数量")
private Long goodsNum; private Long goodsNum;
@ApiModelProperty(value = "会员总数量") @Schema(description = "会员总数量")
private Long memberNum; private Long memberNum;
@ApiModelProperty(value = "店铺总数量") @Schema(description = "店铺总数量")
private Long storeNum; private Long storeNum;
/** /**
* 流量概括 * 流量概括
*/ */
@ApiModelProperty(value = "今日访问数UV") @Schema(description = "今日访问数UV")
private Integer todayUV; private Integer todayUV;
@ApiModelProperty(value = "昨日访问数UV") @Schema(description = "昨日访问数UV")
private Integer yesterdayUV; private Integer yesterdayUV;
@ApiModelProperty(value = "前七日访问数UV") @Schema(description = "前七日访问数UV")
private Integer lastSevenUV; private Integer lastSevenUV;
@ApiModelProperty(value = "三十日访问数UV") @Schema(description = "三十日访问数UV")
private Integer lastThirtyUV; private Integer lastThirtyUV;
/** /**
* 今日信息概括 * 今日信息概括
*/ */
@ApiModelProperty(value = "今日订单数") @Schema(description = "今日订单数")
private Long todayOrderNum; private Long todayOrderNum;
@ApiModelProperty(value = "今日下单金额") @Schema(description = "今日下单金额")
private Double todayOrderPrice; private Double todayOrderPrice;
@ApiModelProperty(value = "今日新增会员数量") @Schema(description = "今日新增会员数量")
private Long todayMemberNum; private Long todayMemberNum;
@ApiModelProperty(value = "今日新增商品数量") @Schema(description = "今日新增商品数量")
private Long todayGoodsNum; private Long todayGoodsNum;
@ApiModelProperty(value = "今日新增店铺数量") @Schema(description = "今日新增店铺数量")
private Long todayStoreNum; private Long todayStoreNum;
@ApiModelProperty(value = "今日新增评论数量") @Schema(description = "今日新增评论数量")
private Long todayMemberEvaluation; private Long todayMemberEvaluation;
@ApiModelProperty(value = "当前在线人数") @Schema(description = "当前在线人数")
private Long currentNumberPeopleOnline; private Long currentNumberPeopleOnline;
} }

View File

@ -1,6 +1,6 @@
package com.wzj.soopin.statistics.entity.vo; package com.wzj.soopin.statistics.entity.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
/** /**
@ -10,15 +10,16 @@ import lombok.Data;
* @since 2021-02-26 17:25 * @since 2021-02-26 17:25
*/ */
@Data @Data
@Schema
public class MemberDistributionVO { public class MemberDistributionVO {
@ApiModelProperty(value = "客户端类型") @Schema(description = "客户端类型")
private String clientEnum; private String clientEnum;
@ApiModelProperty(value = "数量") @Schema(description = "数量")
private Integer num; private Integer num;
@ApiModelProperty(value = "比例") @Schema(description = "比例")
private Double proportion; private Double proportion;
} }

View File

@ -1,6 +1,7 @@
package com.wzj.soopin.statistics.entity.vo; package com.wzj.soopin.statistics.entity.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
/** /**
@ -10,55 +11,56 @@ import lombok.Data;
* @since 2021-03-03 10:27 * @since 2021-03-03 10:27
*/ */
@Data @Data
@Schema(description = "订单统计概述")
public class OrderOverviewVO { public class OrderOverviewVO {
@ApiModelProperty(value = "UV人次") @Schema(description = "UV人次")
private Long uvNum; private Long uvNum;
/** /**
* 下单统计 * 下单统计
*/ */
@ApiModelProperty(value = "下单数量") @Schema(description = "下单数量")
private Long orderNum; private Long orderNum;
@ApiModelProperty(value = "下单人数") @Schema(description = "下单人数")
private Long orderMemberNum; private Long orderMemberNum;
@ApiModelProperty(value = "下单金额") @Schema(description = "下单金额")
private Double orderAmount; private Double orderAmount;
/** /**
* 付款统计 * 付款统计
*/ */
@ApiModelProperty(value = "付款订单数量") @Schema(description = "付款订单数量")
private Long paymentOrderNum; private Long paymentOrderNum;
@ApiModelProperty(value = "付款人数") @Schema(description = "付款人数")
private Long paymentsNum; private Long paymentsNum;
@ApiModelProperty(value = "付款金额") @Schema(description = "付款金额")
private Double paymentAmount; private Double paymentAmount;
/** /**
* 退单统计 * 退单统计
*/ */
@ApiModelProperty(value = "退单笔数") @Schema(description = "退单笔数")
private Long refundOrderNum; private Long refundOrderNum;
@ApiModelProperty(value = "退单金额") @Schema(description = "退单金额")
private Double refundOrderPrice; private Double refundOrderPrice;
/** /**
* 转换率 * 转换率
*/ */
@ApiModelProperty(value = "下单转换率") @Schema(description = "下单转换率")
private String orderConversionRate; private String orderConversionRate;
@ApiModelProperty(value = "付款转换率") @Schema(description = "付款转换率")
private String paymentsConversionRate; private String paymentsConversionRate;
@ApiModelProperty(value = "整体转换率") @Schema(description = "整体转换率")
private String overallConversionRate; private String overallConversionRate;
public Long getUvNum() { public Long getUvNum() {

View File

@ -4,7 +4,7 @@ package com.wzj.soopin.statistics.entity.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.wzj.soopin.order.domain.vo.OrderItemVO; import com.wzj.soopin.order.domain.vo.OrderItemVO;
import io.micrometer.common.util.StringUtils; import io.micrometer.common.util.StringUtils;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.Setter; import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -21,53 +21,47 @@ import java.util.List;
* @since 2020-08-17 20:28 * @since 2020-08-17 20:28
*/ */
@Data @Data
@Schema(description = "订单简略信息")
public class OrderSimpleVO { public class OrderSimpleVO {
@ApiModelProperty("sn") @Schema(description = "订单编号")
private String sn; private String sn;
@ApiModelProperty(value = "总价格") @Schema(description = "订单总价")
private Double flowPrice; private Double flowPrice;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间") @Schema(description = "创建时间")
private Date createTime; private Date createTime;
/**
* @see @Schema(description = "订单状态")
*/
@ApiModelProperty(value = "订单状态")
private String orderStatus; private String orderStatus;
/**
* @see @Schema(description = "付款状态")
*/
@ApiModelProperty(value = "付款状态")
private String payStatus; private String payStatus;
@ApiModelProperty(value = "支付方式") @Schema(description = "支付方式")
private String paymentMethod; private String paymentMethod;
@ApiModelProperty(value = "支付时间") @Schema(description = "支付时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date paymentTime; private Date paymentTime;
@ApiModelProperty(value = "用户名") @Schema(description = "用户名")
private String memberName; private String memberName;
@ApiModelProperty(value = "店铺名称") @Schema(description = "店铺名称")
private String storeName; private String storeName;
@ApiModelProperty(value = "店铺ID") @Schema(description = "店铺ID")
private String storeId; private String storeId;
/** @Schema(description = "订单来源")
* @see
*/
@ApiModelProperty(value = "订单来源")
private String clientType; private String clientType;
@ApiModelProperty(value = "用户电话") @Schema(description = "用户电话")
private String mobile; private String mobile;
/** /**
@ -75,60 +69,60 @@ public class OrderSimpleVO {
*/ */
private List<OrderItemVO> orderItems; private List<OrderItemVO> orderItems;
@ApiModelProperty(hidden = true, value = "item goods_id") @Schema(description = "item 商品id")
@Setter @Setter
private String groupGoodsId; private String groupGoodsId;
@ApiModelProperty(hidden = true, value = "item sku id") @Schema(description = "item sku id")
@Setter @Setter
private String groupSkuId; private String groupSkuId;
@ApiModelProperty(hidden = true, value = "item 数量") @Schema(description = "item 数量")
@Setter @Setter
private String groupNum; private String groupNum;
@ApiModelProperty(hidden = true, value = "item 图片") @Schema(description = "item 图片")
@Setter @Setter
private String groupImages; private String groupImages;
@ApiModelProperty(hidden = true, value = "item 名字") @Schema(description = "item 名字")
@Setter @Setter
private String groupName; private String groupName;
@ApiModelProperty(hidden = true, value = "item 编号") @Schema(description = "item 编号")
@Setter @Setter
private String groupOrderItemsSn; private String groupOrderItemsSn;
@ApiModelProperty(hidden = true, value = "item 商品价格") @Schema(description = "item 价格")
@Setter @Setter
private String groupGoodsPrice; private String groupGoodsPrice;
/** /**
*/ */
@ApiModelProperty(hidden = true, value = "item 售后状态", allowableValues = "NOT_APPLIED(未申请),ALREADY_APPLIED(已申请),EXPIRED(已失效不允许申请售后)")
@Setter @Setter
@Schema(description = "item 售后状态")
private String groupAfterSaleStatus; private String groupAfterSaleStatus;
/** /**
*/ */
@ApiModelProperty(hidden = true, value = "item 投诉状态")
@Setter @Setter
@Schema(description = "item 投诉状态")
private String groupComplainStatus; private String groupComplainStatus;
/** /**
*/ */
@ApiModelProperty(hidden = true, value = "item 评价状态")
@Setter @Setter
@Schema(description = "item 评价状态")
private String groupCommentStatus; private String groupCommentStatus;
/** /**
*/ */
@ApiModelProperty(value = "订单类型") @Schema(description = "订单类型")
private String orderType; private String orderType;
/** /**
*/ */
@ApiModelProperty(value = "货运状态") @Schema(description = "货运状态")
private String deliverStatus; private String deliverStatus;
public List<OrderItemVO> getOrderItems() { public List<OrderItemVO> getOrderItems() {

View File

@ -1,7 +1,7 @@
package com.wzj.soopin.statistics.entity.vo; package com.wzj.soopin.statistics.entity.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -14,22 +14,23 @@ import java.util.Date;
* @since 2020/12/9 17:13 * @since 2020/12/9 17:13
*/ */
@Data @Data
@Schema(description = "订单统计数据VO")
public class OrderStatisticsDataVO { public class OrderStatisticsDataVO {
@ApiModelProperty(value = "店铺") @Schema(description = "店铺")
private String storeName; private String storeName;
@ApiModelProperty(value = "购买人") @Schema(description = "购买人")
private String memberName; private String memberName;
@ApiModelProperty(value = "订单金额") @Schema(description = "订单金额")
private Double price; private Double price;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间") @Schema(description = "创建时间")
private Date createTime; private Date createTime;
@ApiModelProperty(value = "订单编号") @Schema(description = "订单编号")
private String orderItemSn; private String orderItemSn;
} }

View File

@ -1,7 +1,7 @@
package com.wzj.soopin.statistics.entity.vo; package com.wzj.soopin.statistics.entity.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
@ -13,19 +13,20 @@ import java.util.Date;
* @since 2020-06-19 17:50 * @since 2020-06-19 17:50
*/ */
@Data @Data
@Schema(description = "流量数据展示VO")
public class PlatformViewVO { public class PlatformViewVO {
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@ApiModelProperty(value = "展示时间") @Schema(description = "展示时间")
private Date date; private Date date;
@ApiModelProperty(value = "pv数量") @Schema(description = "pv数量")
private Long pvNum; private Long pvNum;
@ApiModelProperty(value = "uv数量") @Schema(description = "uv数量")
private Long uvNum; private Long uvNum;
@ApiModelProperty(value = "店铺id") @Schema(description = "店铺id")
private String storeId = "-1"; private String storeId = "-1";

View File

@ -1,6 +1,6 @@
package com.wzj.soopin.statistics.entity.vo; package com.wzj.soopin.statistics.entity.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
/** /**
@ -10,23 +10,24 @@ import lombok.Data;
* @since 2020/12/10 11:24 * @since 2020/12/10 11:24
*/ */
@Data @Data
@Schema(description = "退款统计VO")
public class RefundOrderStatisticsDataVO { public class RefundOrderStatisticsDataVO {
@ApiModelProperty(value = "售后SN") @Schema(description = "售后SN")
private String refundSn; private String refundSn;
@ApiModelProperty(value = "商家名称 ") @Schema(description = "商家名称 ")
private String storeName; private String storeName;
@ApiModelProperty(value = "会员名称") @Schema(description = "会员名称")
private String memberName; private String memberName;
@ApiModelProperty(value = "商品名称") @Schema(description = "商品名称")
private String name; private String name;
@ApiModelProperty(value = "规格内容") @Schema(description = "规格内容")
private String specs; private String specs;
@ApiModelProperty(value = "实际退款金额") @Schema(description = "实际退款金额")
private Double finalPrice; private Double finalPrice;
} }

View File

@ -1,6 +1,6 @@
package com.wzj.soopin.statistics.entity.vo; package com.wzj.soopin.statistics.entity.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
/** /**
@ -10,42 +10,42 @@ import lombok.Data;
* @since 2021/3/17 4:04 下午 * @since 2021/3/17 4:04 下午
*/ */
@Data @Data
@Schema(description = "店铺首页数据")
public class StoreIndexStatisticsVO { public class StoreIndexStatisticsVO {
@ApiModelProperty(value = "商品总数量") @Schema(description = "商品总数量")
private Long goodsNum; private Long goodsNum;
@ApiModelProperty(value = "订单总数量") @Schema(description = "订单总数量")
private Integer orderNum; private Integer orderNum;
@ApiModelProperty(value = "订单总额") @Schema(description = "订单总额")
private Double orderPrice; private Double orderPrice;
@ApiModelProperty(value = "访客数UV") @Schema(description = "访客数UV")
private Integer storeUV; private Integer storeUV;
@ApiModelProperty(value = "待付款订单数量") @Schema(description = "待付款订单数量")
private Long unPaidOrder; private Long unPaidOrder;
@ApiModelProperty(value = "待发货订单数量") @Schema(description = "待发货订单数量")
private Long unDeliveredOrder; private Long unDeliveredOrder;
@ApiModelProperty(value = "待收货订单数量") @Schema(description = "待收货订单数量")
private Long deliveredOrder; private Long deliveredOrder;
@ApiModelProperty(value = "待处理退货数量") @Schema(description = "待处理退货数量")
private Long returnGoods; private Long returnGoods;
@ApiModelProperty(value = "待处理退款数量") @Schema(description = "待处理退款数量")
private Long returnMoney; private Long returnMoney;
@ApiModelProperty(value = "待回复评价数量") @Schema(description = "待回复评价数量")
private Long memberEvaluation; private Long memberEvaluation;
@ApiModelProperty(value = "待处理交易投诉数量") @Schema(description = "待处理交易投诉数量")
private Long complaint; private Long complaint;
@ApiModelProperty(value = "待上架商品数量") @Schema(description = "待上架商品数量")
private Long waitUpper; private Long waitUpper;
@ApiModelProperty(value = "待审核商品数量") @Schema(description = "待审核商品数量")
private Long waitAuth; private Long waitAuth;
@ApiModelProperty(value = "可参与秒杀活动数量") @Schema(description = "可参与秒杀活动数量")
private Long seckillNum; private Long seckillNum;
@ApiModelProperty(value = "未对账结算单数量") @Schema(description = "未对账结算单数量")
private Long waitPayBill; private Long waitPayBill;
} }

View File

@ -1,6 +1,6 @@
package com.wzj.soopin.statistics.entity.vo; package com.wzj.soopin.statistics.entity.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
/** /**
@ -10,15 +10,16 @@ import lombok.Data;
* @since 2021/3/15 5:55 下午 * @since 2021/3/15 5:55 下午
*/ */
@Data @Data
@Schema(description = "店铺评分VO")
public class StoreRatingVO { public class StoreRatingVO {
@ApiModelProperty(value = "物流评分") @Schema(description = "物流评分")
private String deliveryScore; private String deliveryScore;
@ApiModelProperty(value = "服务评分") @Schema(description = "服务评分")
private String serviceScore; private String serviceScore;
@ApiModelProperty(value = "描述评分") @Schema(description = "描述评分")
private String descriptionScore; private String descriptionScore;
} }

View File

@ -1,6 +1,6 @@
package com.wzj.soopin.statistics.entity.vo; package com.wzj.soopin.statistics.entity.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
/** /**
@ -10,17 +10,18 @@ import lombok.Data;
* @since 2020/12/9 14:25 * @since 2020/12/9 14:25
*/ */
@Data @Data
@Schema(description = "商品统计VO")
public class StoreStatisticsDataVO { public class StoreStatisticsDataVO {
@ApiModelProperty(value = "店铺ID") @Schema(description = "店铺ID")
private String storeId; private String storeId;
@ApiModelProperty(value = "店铺名称") @Schema(description = "店铺名称")
private String storeName; private String storeName;
@ApiModelProperty(value = "销售数量") @Schema(description = "销售数量")
private String num; private String num;
@ApiModelProperty(value = "销售金额") @Schema(description = "销售金额")
private Double price; private Double price;
} }

View File

@ -1,21 +1,13 @@
package com.wzj.soopin.transaction.domain.po; package com.wzj.soopin.transaction.domain.po;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.dromara.common.core.domain.model.BaseAudit; import org.dromara.common.core.domain.model.BaseAudit;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.util.Date;
/** /**
* 退款日志 * 退款日志
@ -28,46 +20,43 @@ import java.util.Date;
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@ApiModel(value = "退款日志") @Schema(description = "退款日志")
public class RefundLog extends BaseAudit { public class RefundLog extends BaseAudit {
@ApiModelProperty(value = "会员ID") @Schema(description = "会员ID")
private String memberId; private String memberId;
@ApiModelProperty(value = "退单编号") @Schema(description = "退单编号")
private String afterSaleNo; private String afterSaleNo;
@ApiModelProperty(value = "订单编号") @Schema(description = "订单编号")
private String orderSn; private String orderSn;
@ApiModelProperty(value = "金额") @Schema(description = "金额")
private Double totalAmount; private Double totalAmount;
@ApiModelProperty(value = "改笔交易支付金额") @Schema(description = "改笔交易支付金额")
private Double payPrice; private Double payPrice;
@ApiModelProperty(value = "是否已退款") @Schema(description = "是否已退款")
private Boolean isRefund; private Boolean isRefund;
@ApiModelProperty(value = "退款方式") @Schema(description = "退款方式")
private String paymentName; private String paymentName;
@Schema(description = "支付第三方付款流水")
@ApiModelProperty(value = "支付第三方付款流水")
private String paymentReceivableNo; private String paymentReceivableNo;
@ApiModelProperty(value = "退款请求流水") @Schema(description = "退款请求流水")
private String outOrderNo; private String outOrderNo;
@Schema(description = "第三方退款流水号")
@ApiModelProperty(value = "第三方退款流水号")
private String receivableNo; private String receivableNo;
@ApiModelProperty(value = "退款理由") @Schema(description = "退款理由")
private String refundReason; private String refundReason;
@ApiModelProperty(value = "退款失败原因") @Schema(description = "退款失败原因")
private String errorMessage; private String errorMessage;
} }

View File

@ -1,11 +1,9 @@
package com.wzj.soopin.transaction.kit.dto; package com.wzj.soopin.transaction.kit.dto;
import com.wzj.soopin.transaction.kit.params.dto.CashierParam; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
import org.springframework.web.bind.annotation.PathVariable;
/** /**
@ -16,18 +14,19 @@ import org.springframework.web.bind.annotation.PathVariable;
*/ */
@Data @Data
@ToString @ToString
@Schema(description = "支付参数")
public class PayParam { public class PayParam {
@NotNull @NotNull
@ApiModelProperty(value = "交易类型", allowableValues = "TRADE,ORDER,RECHARGE") @Schema(description = "交易类型", allowableValues = "TRADE,ORDER,RECHARGE")
private String orderType; private String orderType;
@ApiModelProperty(value = "订单号") @Schema(description = "订单号")
private String sn; private String sn;
@NotNull @NotNull
@ApiModelProperty(value = "客户端类型") @Schema(description = "客户端类型")
private String clientType; private String clientType;
private String paymentMethod; private String paymentMethod;

View File

@ -1,13 +1,11 @@
package com.wzj.soopin.transaction.kit.params.dto; package com.wzj.soopin.transaction.kit.params.dto;
import com.wzj.soopin.order.utils.StringUtils; import com.wzj.soopin.order.utils.StringUtils;
import io.swagger.annotations.ApiModelProperty; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -18,31 +16,32 @@ import java.util.List;
*/ */
@Data @Data
@ToString @ToString
@Schema(description = "支付参数")
public class CashierParam { public class CashierParam {
@ApiModelProperty(value = "价格") @Schema(description = "价格")
private Long price; private Long price;
@ApiModelProperty(value = "支付title") @Schema(description = "支付title")
private String title; private String title;
@ApiModelProperty(value = "支付详细描述") @Schema(description = "支付详细描述")
private String detail; private String detail;
@ApiModelProperty(value = "订单sn集合") @Schema(description = "订单sn集合")
private String orderSns; private String orderSns;
@ApiModelProperty(value = "支持支付方式") @Schema(description = "支持支付方式")
private List<String> support; private List<String> support;
@ApiModelProperty(value = "订单创建时间") @Schema(description = "订单创建时间")
private LocalDateTime createTime; private LocalDateTime createTime;
@ApiModelProperty(value = "支付自动结束时间") @Schema(description = "支付自动结束时间")
private Long autoCancel; private Long autoCancel;
@ApiModelProperty(value = "剩余余额") @Schema(description = "剩余余额")
private Double walletValue; private Double walletValue;
public String getDetail() { public String getDetail() {

View File

@ -3,7 +3,6 @@ package com.wzj.soopin.transaction.kit.params.impl;
import com.wzj.soopin.order.domain.entity.Order; import com.wzj.soopin.order.domain.entity.Order;
import com.wzj.soopin.order.domain.entity.OrderItem; import com.wzj.soopin.order.domain.entity.OrderItem;
import com.wzj.soopin.order.emum.OrderStatusEnum; import com.wzj.soopin.order.emum.OrderStatusEnum;
import com.wzj.soopin.order.mapper.OrderMapper;
import com.wzj.soopin.order.service.OrderItemService; import com.wzj.soopin.order.service.OrderItemService;
import com.wzj.soopin.order.service.OrderService; import com.wzj.soopin.order.service.OrderService;
import com.wzj.soopin.transaction.enums.CashierEnum; import com.wzj.soopin.transaction.enums.CashierEnum;
@ -16,7 +15,6 @@ import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.constant.ResultCode; import org.dromara.common.core.constant.ResultCode;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
import org.dromara.system.service.ISysConfigService; import org.dromara.system.service.ISysConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;

View File

@ -3,8 +3,6 @@ package com.wzj.soopin.transaction.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
import cn.hutool.core.text.StrBuilder; import cn.hutool.core.text.StrBuilder;
import cn.hutool.core.util.RandomUtil;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -29,7 +27,6 @@ import com.wzj.soopin.transaction.domain.po.PayOrder;
import com.wzj.soopin.transaction.domain.vo.DivideRuleDetailVO; import com.wzj.soopin.transaction.domain.vo.DivideRuleDetailVO;
import com.wzj.soopin.transaction.domain.vo.DivideRuleVO; import com.wzj.soopin.transaction.domain.vo.DivideRuleVO;
import com.wzj.soopin.transaction.domain.vo.DivideVO; import com.wzj.soopin.transaction.domain.vo.DivideVO;
import com.wzj.soopin.transaction.enums.DivideRuleDetailType;
import com.wzj.soopin.transaction.enums.DivideStatus; import com.wzj.soopin.transaction.enums.DivideStatus;
import com.wzj.soopin.transaction.enums.TransState; import com.wzj.soopin.transaction.enums.TransState;
import com.wzj.soopin.transaction.mapper.DivideDetailMapper; import com.wzj.soopin.transaction.mapper.DivideDetailMapper;
@ -43,7 +40,6 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.enums.TenantType; import org.dromara.common.core.enums.TenantType;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.system.domain.SysTenant; import org.dromara.system.domain.SysTenant;
import org.dromara.system.domain.SysTenantExtend; import org.dromara.system.domain.SysTenantExtend;
import org.dromara.system.domain.vo.SysTenantVo; import org.dromara.system.domain.vo.SysTenantVo;
@ -175,7 +171,7 @@ public class DivideServiceImpl extends ServiceImpl<DivideMapper, Divide> impleme
//获取订单信息 //获取订单信息
Order order = orderService.getById(orderId); Order order = orderService.getById(orderId);
Assert.notNull(order, () -> new ServiceException("订单不存在")); Assert.notNull(order, () -> new ServiceException("订单不存在"));
Assert.isTrue(Objects.equals(order.getStatus(), OrderStatusEnum.UNPAID.getValue()), () -> new ServiceException("订单未支付")); Assert.isTrue(Objects.equals(order.getStatus(), OrderStatusEnum.VERIFY.getValue()), () -> new ServiceException("订单未支付"));
PayOrder payOrder = payOrderService.getById(order.getPayId()); PayOrder payOrder = payOrderService.getById(order.getPayId());
Assert.notNull(payOrder, () -> new ServiceException("支付单不存在")); Assert.notNull(payOrder, () -> new ServiceException("支付单不存在"));
Assert.isTrue(payOrder.getTransState() == TransState.PAID.getCode(), () -> new ServiceException("订单未支付")); Assert.isTrue(payOrder.getTransState() == TransState.PAID.getCode(), () -> new ServiceException("订单未支付"));