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>
<java.version>17</java.version>
<mybatis.version>3.5.16</mybatis.version>
<springdoc.version>2.8.5</springdoc.version>
<therapi-javadoc.version>0.15.0</therapi-javadoc.version>
<easyexcel.version>4.0.3</easyexcel.version>
<velocity.version>2.3</velocity.version>
@ -59,7 +58,7 @@
<flatten-maven-plugin.version>1.3.0</flatten-maven-plugin.version>
<!-- 打包默认跳过测试 -->
<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>
</properties>
@ -102,10 +101,11 @@
<!-- 依赖声明 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-springdoc-ui</artifactId>
<version>3.0.3</version>
<groupId>com.github.xingfudeshi</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>${knife4j-plus.version}</version>
</dependency>
<!-- SpringBoot的依赖配置-->
@ -154,12 +154,6 @@
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
<version>${springdoc.version}</version>
</dependency>
<dependency>
<groupId>com.github.therapi</groupId>
<artifactId>therapi-runtime-javadoc</artifactId>
@ -426,24 +420,6 @@
<version>${revision}</version>
</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>
</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.vo.CommentVO;
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.tags.Tag;
import lombok.extern.slf4j.Slf4j;
@ -54,8 +52,7 @@ public class AppCommentController {
@Operation(summary = "删除评论")
@PostMapping("/delete")
public R<Void> deleteComment(
@ApiParam(value = "评论ID") @RequestParam String commentId) {
public R<Void> deleteComment(@RequestParam String commentId) {
try {
String username = LoginHelper.getUsername();
commentService.deleteComment(commentId, username);
@ -68,7 +65,7 @@ public class AppCommentController {
@Operation(summary = "获取评论详情")
@GetMapping("/detail")
public R<Map<String, Object>> getCommentDetail(@ApiParam(value = "评论ID") @RequestParam String commentId) {
public R<Map<String, Object>> getCommentDetail(@RequestParam String commentId) {
try {
Comment comment = commentService.getCommentDetail(commentId);
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.dto.PayParam;
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.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 jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@ -53,9 +54,9 @@ public class AppPayController {
}
@ApiImplicitParams({
@ApiImplicitParam(name = "paymentMethod", value = "支付方式", paramType = "path", allowableValues = "WECHAT,ALIPAY"),
@ApiImplicitParam(name = "paymentClient", value = "调起方式", paramType = "path", allowableValues = "APP,NATIVE,JSAPI,H5,MP")
@Parameters({
@Parameter(name = "paymentMethod", description = "支付方式", allowReserved = true, schema = @Schema(allowableValues = {"WECHAT", "ALIPAY"})),
@Parameter(name = "paymentClient", description = "调起方式", allowReserved = true, schema = @Schema(allowableValues = {"APP", "NATIVE", "JSAPI", "H5", "MP"}))
})
@PostMapping(value = "/pay")
@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.VlogUploadService;
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.tags.Tag;
import lombok.AllArgsConstructor;
@ -21,7 +20,7 @@ import org.springframework.web.bind.annotation.*;
@Slf4j
@Api(tags = "VlogController 短视频相关业务功能的接口")
@Tag(name = "VlogController 短视频相关业务功能的接口")
@RequestMapping("/app/vlog")
@RestController
@AllArgsConstructor

View File

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

View File

@ -1,15 +1,11 @@
package org.dromara.app.merchant;
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.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.AccountStatisticVO;
import com.wzj.soopin.member.enums.AccountTypeEnum;
import com.wzj.soopin.transaction.service.IAccountBillService;
import io.swagger.annotations.Api;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -31,7 +27,7 @@ import org.springframework.web.bind.annotation.RestController;
* @since 2020-12-18 16:59
*/
@Slf4j
@Api(tags = "商户端,账单接口")
@Tag(name = "商户端,账单接口")
@RequestMapping("/app/merchant/account/")
@RestController
@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.service.IMerchantOrderService;
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.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R;
@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.*;
* @since 2020-12-18 16:59
*/
@Slf4j
@Api(tags = "商户端,订单接口")
@Tag(name = "商户端,订单接口")
@RequestMapping("/app/merchant/order")
@RestController
@RequiredArgsConstructor

View File

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

View File

@ -21,12 +21,6 @@
<artifactId>ruoyi-common-core</artifactId>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
</dependency>
<dependency>
<groupId>com.github.therapi</groupId>
<artifactId>therapi-runtime-javadoc</artifactId>
@ -37,32 +31,10 @@
<artifactId>jackson-module-kotlin</artifactId>
</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>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</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>
<groupId>com.github.xingfudeshi</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
</dependency>
</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;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.wzj.soopin.auth.domain.dto.entity.enums.VerificationSourceEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.mybatis.core.domain.BaseEntity;
@ -13,20 +13,20 @@ import org.dromara.common.mybatis.core.domain.BaseEntity;
*/
@Data
@TableName("li_verification_source")
@ApiModel(value = "验证码资源维护")
@Schema(description = "验证码资源维护")
public class VerificationSource extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "名称")
@Schema(description = "名称")
private String name;
@ApiModelProperty(value = "资源地址")
@Schema(description = "资源地址")
private String resource;
/**
* @see VerificationSourceEnum
*/
@ApiModelProperty(value = "验证码资源类型 SLIDER/SOURCE")
@Schema(description = "验证码资源类型 SLIDER/SOURCE")
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.MsgService;
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.tags.Tag;
import lombok.extern.slf4j.Slf4j;
@ -61,7 +59,7 @@ public class CommentController extends BaseController {
@Operation(summary = "下架评论")
@PostMapping("/offline")
public R<Void> offlineComment(@ApiParam(value = "评论ID") @RequestParam String commentId) {
public R<Void> offlineComment(@RequestParam String commentId) {
try {
String username = LoginHelper.getUsername();
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.TencentCloudUtil;
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.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.dromara.common.core.domain.R;
@ -19,7 +19,7 @@ import java.util.List;
import java.util.Map;
@Slf4j
@Api(tags = "管理端-视频")
@Tag(name = "管理端-视频")
@RequestMapping("/cms/video")
@RestController
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.core.conditions.query.LambdaQueryWrapper;
import com.wzj.soopin.content.domain.po.Article;
import io.swagger.annotations.ApiModel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.BaseBO;
import org.dromara.common.core.domain.model.BaseAudit;
/**
* 文章DO
@ -17,7 +15,7 @@ import org.dromara.common.core.domain.model.BaseAudit;
*/
@Data
@TableName("cont_article")
@ApiModel(value = "文章")
@Schema(description = "文章")
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.wzj.soopin.content.domain.po.Vlog;
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;
@ -21,10 +20,11 @@ import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Schema(description = "视频上传业务参数")
public class VlogBO extends BaseBO {
private String id;
@ApiModelProperty(value = "作者id", hidden = true)
@Schema(description = "作者id", hidden = true)
private String memberId;
private String url;
private String cover;
@ -39,28 +39,28 @@ public class VlogBO extends BaseBO {
private Integer cityCode;
private String firstFrameImg;
@ApiModelProperty("排序字段,例如 commentCounts, likeCounts, reason")
@Schema(description = "排序字段,例如 commentCounts, likeCounts, reason")
private String Column;
@ApiModelProperty("排序方向true 为升序false 为降序")
@Schema(description = "排序方向true 为升序false 为降序")
private Boolean asc;
@ApiModelProperty("手机号(模糊查询)")
@Schema(description = "手机号(模糊查询)")
private String mobile;
@ApiModelProperty("用户昵称(模糊查询)")
@Schema(description = "用户昵称(模糊查询)")
private String nickname;
@ApiModelProperty("视频标题(模糊查询)")
@Schema(description = "视频标题(模糊查询)")
private String titleQuery;
@ApiModelProperty("视频状态(精确查询)")
@Schema(description = "视频状态(精确查询)")
private Integer status;
@ApiModelProperty("创建时间范围-开始时间,格式:yyyy-MM-dd HH:MM:ss")
@Schema(description = "创建时间范围-开始时间,格式:yyyy-MM-dd HH:MM:ss")
private LocalDateTime startTime;
@ApiModelProperty("创建时间范围-结束时间,格式:yyyy-MM-dd HH:MM:ss")
@Schema(description = "创建时间范围-结束时间,格式:yyyy-MM-dd HH:MM:ss")
private LocalDateTime endTime;
private List<String> blockVd;

View File

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

View File

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

View File

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

View File

@ -1,12 +1,10 @@
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 lombok.Data;
@Data
@ApiModel("订单支付请求体")
@Schema(description = "订单支付请求体")
public class OrderPayForm {
@Schema(description = "支付id", required = true)

View File

@ -1,7 +1,5 @@
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 lombok.Data;
@ -9,7 +7,7 @@ import lombok.Data;
* @author 86199
*/
@Data
@ApiModel("支付响应")
@Schema(description = "支付响应")
public class OrderPayVO {
@Schema(description = "支付方式1-支付宝2-微信(默认)")
private Integer payType;

View File

@ -2,7 +2,7 @@ package com.wzj.soopin.order.domain.vo;
import cn.hutool.core.text.CharSequenceUtil;
import com.wzj.soopin.order.utils.StringUtils;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
@ -17,19 +17,19 @@ public class PageVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "页号")
@Schema(description = "页号")
private Integer page = 1;
@ApiModelProperty(value = "页面大小")
@Schema(description = "页面大小")
private Integer size = 10;
@ApiModelProperty(value = "排序字段")
@Schema(description = "排序字段")
private String sort;
@ApiModelProperty(value = "排序方式 asc/desc")
@Schema(description = "排序方式 asc/desc")
private String order;
@ApiModelProperty(value = "需要驼峰转换蛇形", notes = "一般不做处理,如果数据库中就是蛇形,则这块需要处理。")
@Schema(description = "需要驼峰转换蛇形,一般不做处理,如果数据库中就是蛇形,则这块需要处理。")
private Boolean notConvert;
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.StringUtils;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
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.dto.StatisticsQueryParam;
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.tags.Tag;
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.vo.RefundOrderStatisticsDataVO;
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.tags.Tag;
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.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.BaseBO;
@ -17,22 +16,22 @@ import java.util.Date;
*/
@Data
@TableName("li_member_statistics_data")
@ApiModel(value = "会员统计")
@Schema(description = "会员统计")
public class MemberStatisticsData extends BaseBO {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "统计日")
@Schema(description = "统计日")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private Date createDate;
@ApiModelProperty(value = "当前会员数量")
@Schema(description = "当前会员数量")
private Long memberCount;
@ApiModelProperty(value = "新增会员数量")
@Schema(description = "新增会员数量")
private Long newlyAdded;
@ApiModelProperty(value = "当日活跃数量")
@Schema(description = "当日活跃数量")
private Long activeQuantity;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,21 +1,13 @@
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.fasterxml.jackson.annotation.JsonFormat;
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 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
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "退款日志")
@Schema(description = "退款日志")
public class RefundLog extends BaseAudit {
@ApiModelProperty(value = "会员ID")
@Schema(description = "会员ID")
private String memberId;
@ApiModelProperty(value = "退单编号")
@Schema(description = "退单编号")
private String afterSaleNo;
@ApiModelProperty(value = "订单编号")
@Schema(description = "订单编号")
private String orderSn;
@ApiModelProperty(value = "金额")
@Schema(description = "金额")
private Double totalAmount;
@ApiModelProperty(value = "改笔交易支付金额")
@Schema(description = "改笔交易支付金额")
private Double payPrice;
@ApiModelProperty(value = "是否已退款")
@Schema(description = "是否已退款")
private Boolean isRefund;
@ApiModelProperty(value = "退款方式")
@Schema(description = "退款方式")
private String paymentName;
@ApiModelProperty(value = "支付第三方付款流水")
@Schema(description = "支付第三方付款流水")
private String paymentReceivableNo;
@ApiModelProperty(value = "退款请求流水")
@Schema(description = "退款请求流水")
private String outOrderNo;
@ApiModelProperty(value = "第三方退款流水号")
@Schema(description = "第三方退款流水号")
private String receivableNo;
@ApiModelProperty(value = "退款理由")
@Schema(description = "退款理由")
private String refundReason;
@ApiModelProperty(value = "退款失败原因")
@Schema(description = "退款失败原因")
private String errorMessage;
}

View File

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

View File

@ -1,13 +1,11 @@
package com.wzj.soopin.transaction.kit.params.dto;
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.ToString;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
/**
@ -18,31 +16,32 @@ import java.util.List;
*/
@Data
@ToString
@Schema(description = "支付参数")
public class CashierParam {
@ApiModelProperty(value = "价格")
@Schema(description = "价格")
private Long price;
@ApiModelProperty(value = "支付title")
@Schema(description = "支付title")
private String title;
@ApiModelProperty(value = "支付详细描述")
@Schema(description = "支付详细描述")
private String detail;
@ApiModelProperty(value = "订单sn集合")
@Schema(description = "订单sn集合")
private String orderSns;
@ApiModelProperty(value = "支持支付方式")
@Schema(description = "支持支付方式")
private List<String> support;
@ApiModelProperty(value = "订单创建时间")
@Schema(description = "订单创建时间")
private LocalDateTime createTime;
@ApiModelProperty(value = "支付自动结束时间")
@Schema(description = "支付自动结束时间")
private Long autoCancel;
@ApiModelProperty(value = "剩余余额")
@Schema(description = "剩余余额")
private Double walletValue;
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.OrderItem;
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.OrderService;
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.exception.ServiceException;
import org.dromara.system.service.ISysConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
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.lang.Assert;
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.toolkit.Wrappers;
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.DivideRuleVO;
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.TransState;
import com.wzj.soopin.transaction.mapper.DivideDetailMapper;
@ -43,7 +40,6 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.enums.TenantType;
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.SysTenantExtend;
import org.dromara.system.domain.vo.SysTenantVo;
@ -175,7 +171,7 @@ public class DivideServiceImpl extends ServiceImpl<DivideMapper, Divide> impleme
//获取订单信息
Order order = orderService.getById(orderId);
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());
Assert.notNull(payOrder, () -> new ServiceException("支付单不存在"));
Assert.isTrue(payOrder.getTransState() == TransState.PAID.getCode(), () -> new ServiceException("订单未支付"));