添加 mapstruct 依赖
mp_app 添加 创建和更新时间字段
This commit is contained in:
parent
0b09e75eb7
commit
6094afbd1d
@ -71,5 +71,10 @@
|
||||
<groupId>org.liquibase</groupId>
|
||||
<artifactId>liquibase-core</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springdoc</groupId>
|
||||
<artifactId>springdoc-openapi-starter-common</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
@ -15,58 +17,51 @@ import lombok.experimental.Accessors;
|
||||
* </p>
|
||||
*
|
||||
* @author shikong
|
||||
* @since 2024-12-07
|
||||
* @since 2024-12-09
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
@TableName("mp_app")
|
||||
@Schema(name = "MpApp", description = "微信公众号记录表")
|
||||
public class MpApp extends Model<MpApp> {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 公众号id
|
||||
*/
|
||||
@Schema(description = "公众号id")
|
||||
@TableId("id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 开发者id
|
||||
*/
|
||||
@Schema(description = "开发者id")
|
||||
@TableField("app_id")
|
||||
private String appId;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@Schema(description = "名称")
|
||||
@TableField("app_name")
|
||||
private String appName;
|
||||
|
||||
/**
|
||||
* 开发者密钥
|
||||
*/
|
||||
@Schema(description = "开发者密钥")
|
||||
@TableField("app_secret")
|
||||
private String appSecret;
|
||||
|
||||
/**
|
||||
* 令牌
|
||||
*/
|
||||
@Schema(description = "令牌")
|
||||
@TableField("token")
|
||||
private String token;
|
||||
|
||||
/**
|
||||
* 消息加密密钥
|
||||
*/
|
||||
@Schema(description = "消息加密密钥")
|
||||
@TableField("encoding_aes_key")
|
||||
private String encodingAesKey;
|
||||
|
||||
/**
|
||||
* 是否启用
|
||||
*/
|
||||
@Schema(description = "是否启用")
|
||||
@TableField("enable")
|
||||
private Boolean enable;
|
||||
|
||||
@TableField("create_time")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@TableField("update_time")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
@Override
|
||||
public Serializable pkVal() {
|
||||
return this.id;
|
||||
|
@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
* </p>
|
||||
*
|
||||
* @author shikong
|
||||
* @since 2024-12-07
|
||||
* @since 2024-12-09
|
||||
*/
|
||||
public interface MpAppMapper extends BaseMapper<MpApp> {
|
||||
|
||||
|
@ -8,4 +8,21 @@
|
||||
<changeSet id="1733576524057-1" author="shikong">
|
||||
<sqlFile path="schema/0.init.sql"/>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="1733731383678-1" author="shikong">
|
||||
<addColumn tableName="mp_app">
|
||||
<column name="create_time"
|
||||
type="datetime"
|
||||
defaultValueComputed="CURRENT_TIMESTAMP">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
</addColumn>
|
||||
<addColumn tableName="mp_app">
|
||||
<column name="update_time"
|
||||
type="datetime"
|
||||
defaultValueComputed="CURRENT_TIMESTAMP">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
</databaseChangeLog>
|
||||
|
@ -61,6 +61,8 @@ public class OrmGenerator implements SmartLifecycle {
|
||||
FastAutoGenerator.create(dataSourceProperties.getUrl(), dataSourceProperties.getUsername(), dataSourceProperties.getPassword())
|
||||
.globalConfig(builder -> {
|
||||
builder.author(getGitUserName())
|
||||
.disableOpenDir()
|
||||
.enableSpringdoc()
|
||||
.outputDir(sourceDir)
|
||||
.commentDate(DatePattern.NORM_DATE_PATTERN);
|
||||
})
|
||||
|
@ -4,6 +4,8 @@ import cn.skcks.docking.wx.annotation.web.methods.GetJson;
|
||||
import cn.skcks.docking.wx.common.json.JsonResponse;
|
||||
import cn.skcks.docking.wx.common.page.PageWrapper;
|
||||
import cn.skcks.docking.wx.orm.entity.MpApp;
|
||||
import cn.skcks.docking.wx.services.mp.convertor.MpAppConvertor;
|
||||
import cn.skcks.docking.wx.services.mp.dto.app.MpAppDto;
|
||||
import cn.skcks.docking.wx.services.mp.service.app.MpAppService;
|
||||
import cn.skcks.docking.wx.services.mp.vo.verify.SignatureVo;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@ -28,9 +30,9 @@ public class MpAppController {
|
||||
|
||||
@Operation(summary = "公众号列表")
|
||||
@GetJson("/list")
|
||||
public JsonResponse<List<MpApp>> getMpAppList() {
|
||||
public JsonResponse<List<MpAppDto>> getMpAppList() {
|
||||
List<MpApp> mpAppList = mpAppService.getMpAppList();
|
||||
return JsonResponse.success(mpAppList);
|
||||
return JsonResponse.success(MpAppConvertor.INSTANCE.toMpAppDto(mpAppList));
|
||||
}
|
||||
|
||||
@Operation(summary = "公众号分页列表")
|
||||
@ -39,8 +41,14 @@ public class MpAppController {
|
||||
@Parameter(name = "pageNo", description = "页数", example = "1"),
|
||||
@Parameter(name = "pageSize", description = "条数", example = "10")
|
||||
})
|
||||
public JsonResponse<PageWrapper<MpApp>> getMpAppListPage(@RequestParam Integer pageNo, @RequestParam Integer pageSize) {
|
||||
return JsonResponse.success(mpAppService.getMpAppPageList(pageNo,pageSize));
|
||||
public JsonResponse<PageWrapper<MpAppDto>> getMpAppListPage(@RequestParam Integer pageNo, @RequestParam Integer pageSize) {
|
||||
PageWrapper<MpApp> mpAppPageList = mpAppService.getMpAppPageList(pageNo, pageSize);
|
||||
PageWrapper<MpAppDto> mpAppDtoPageList = PageWrapper.of(MpAppConvertor.INSTANCE.toMpAppDto(mpAppPageList.getData()),
|
||||
mpAppPageList.getPage(),
|
||||
mpAppPageList.getPageSize(),
|
||||
mpAppPageList.getPageTotal(),
|
||||
mpAppPageList.getTotal());
|
||||
return JsonResponse.success(mpAppDtoPageList);
|
||||
}
|
||||
|
||||
@RequestMapping("/{appId}")
|
||||
|
@ -0,0 +1,20 @@
|
||||
package cn.skcks.docking.wx.services.mp.convertor;
|
||||
|
||||
import cn.skcks.docking.wx.orm.entity.MpApp;
|
||||
import cn.skcks.docking.wx.services.mp.dto.app.MpAppDto;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public abstract class MpAppConvertor {
|
||||
public static MpAppConvertor INSTANCE = Mappers.getMapper(MpAppConvertor.class);
|
||||
|
||||
abstract public MpAppDto toMpAppDto(MpApp mpApp);
|
||||
abstract public MpApp toMpApp(MpAppDto mpAppDto);
|
||||
|
||||
abstract public List<MpAppDto> toMpAppDto(List<MpApp> mpApp);
|
||||
abstract public Collection<MpAppDto> toMpAppDto(Collection<MpApp> mpApp);
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
package cn.skcks.docking.wx.services.mp.dto.app;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(name = "MpApp", description = "微信公众号记录表")
|
||||
@Data
|
||||
public class MpAppDto {
|
||||
@Schema(description = "公众号id")
|
||||
@TableId("id")
|
||||
private String id;
|
||||
|
||||
@Schema(description = "开发者id")
|
||||
@TableField("app_id")
|
||||
private String appId;
|
||||
|
||||
@Schema(description = "名称")
|
||||
@TableField("app_name")
|
||||
private String appName;
|
||||
|
||||
@Schema(description = "开发者密钥")
|
||||
@TableField("app_secret")
|
||||
private String appSecret;
|
||||
|
||||
@Schema(description = "令牌")
|
||||
@TableField("token")
|
||||
private String token;
|
||||
|
||||
@Schema(description = "消息加密密钥")
|
||||
@TableField("encoding_aes_key")
|
||||
private String encodingAesKey;
|
||||
|
||||
@Schema(description = "是否启用")
|
||||
@TableField("enable")
|
||||
private Boolean enable;
|
||||
|
||||
@DateTimeFormat(pattern= DatePattern.NORM_DATETIME_PATTERN)
|
||||
@JsonFormat(pattern=DatePattern.NORM_DATETIME_PATTERN)
|
||||
@Schema(description = "创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@DateTimeFormat(pattern= DatePattern.NORM_DATETIME_PATTERN)
|
||||
@JsonFormat(pattern=DatePattern.NORM_DATETIME_PATTERN)
|
||||
@Schema(description = "更新时间")
|
||||
private LocalDateTime updateTime;
|
||||
}
|
21
pom.xml
21
pom.xml
@ -51,6 +51,7 @@
|
||||
<springboot.version>3.4.0</springboot.version>
|
||||
<springdoc.version>2.7.0</springdoc.version>
|
||||
<lombok.version>1.18.36</lombok.version>
|
||||
<org.mapstruct.version>1.6.3</org.mapstruct.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
@ -60,6 +61,12 @@
|
||||
<version>${lombok.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.mapstruct</groupId>
|
||||
<artifactId>mapstruct</artifactId>
|
||||
<version>${org.mapstruct.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<dependencyManagement>
|
||||
@ -134,11 +141,25 @@
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<annotationProcessorPaths>
|
||||
<path>
|
||||
<groupId>org.mapstruct</groupId>
|
||||
<artifactId>mapstruct-processor</artifactId>
|
||||
<version>${org.mapstruct.version}</version>
|
||||
</path>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok-mapstruct-binding -->
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok-mapstruct-binding</artifactId>
|
||||
<version>0.2.0</version>
|
||||
</dependency>
|
||||
|
||||
<path>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>${lombok.version}</version>
|
||||
</path>
|
||||
|
||||
<path>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-configuration-processor</artifactId>
|
||||
|
@ -8,6 +8,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ -30,6 +31,10 @@ public class PageWrapper<T> {
|
||||
return new PageWrapper<>(data, page, pageSize, pageTotal, total);
|
||||
}
|
||||
|
||||
public static <T> PageWrapper<T> of(List<T> data, long page, long pageSize, long pageTotal, long total) {
|
||||
return new PageWrapper<>(data, page, pageSize, pageTotal, total);
|
||||
}
|
||||
|
||||
public static <T> PageWrapper<T> of(PageInfo<T> pageInfo) {
|
||||
return new PageWrapper<>(pageInfo.getList(),
|
||||
pageInfo.getPageNum(),
|
||||
|
Loading…
Reference in New Issue
Block a user