import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
@Data
public class PageDTO<T> implements Serializable {
private static final long serialVersionUID = -7272187594751710513L;
/**
* 当前页
*/
@ApiModelProperty(value = "当前页")
@NotNull(message = "当前页不能为null")
private Long current;
/**
* 每页显示条数,默认 10
*/
@ApiModelProperty(value = "每页显示条数,默认 10")
@NotNull(message = "每页显示条数不能为null")
private Long size;
/**
* 查询条件
*/
@NotNull(message = "查询条件不能为null")
@ApiModelProperty(value = "查询条件", required = true)
private T condition;
/**
* 排序字段信息
*/
private List<OrderItemDTO> orders;
}
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OrderItemDTO implements Serializable {
private static final long serialVersionUID = -1958427169170964042L;
/**
* 需要进行排序的字段
*/
private String column;
/**
* 是否正序排列,默认 true
*/
private Boolean asc;
}
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Collections;
import java.util.List;
@Data
@NoArgsConstructor
public class PageResp<E> implements Serializable {
private static final long serialVersionUID = 6800886854010910392L;
public PageResp(long current, long size) {
this.current = current;
this.size = size;
}
/**
* 当前页
*/
@ApiModelProperty(value = "当前页")
private long current;
/**
* 每页显示条数,默认 10
*/
@ApiModelProperty(value = "每页显示条数,默认 10")
private long size;
/**
* 总数
*/
@ApiModelProperty(value = "总数")
private long total = 0;
/**
* 返回记录列表
*/
@ApiModelProperty(value = "返回记录列表")
private List<E> records = Collections.emptyList();
}
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableTransactionManagement
@Configuration
@MapperScan("com.ocso.sema.gemini.dao.mapper")
public class MybatisPlusConfig {
/**
* 分页插件
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
//向Mybatis过滤器链中添加分页拦截器
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
//还可以添加i他的拦截器
return interceptor;
}
@Bean
public ConfigurationCustomizer configurationCustomizer() {
return mybatisConfiguration -> mybatisConfiguration.setUseGeneratedShortKey(false);
}
}
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
public class R<T> implements Serializable {
private static final long serialVersionUID = 1L;
@Getter
@Setter
private int code;
@Getter
@Setter
private String msg;
@Getter
@Setter
private T data;
public Boolean isOk() {
return code == CommonConstants.SUCCESS;
}
public static <T> R<T> ok() {
return restResult(null, CommonConstants.SUCCESS, CommonConstants.SUCCESS_MSG);
}
public static <T> R<T> ok(T data) {
return restResult(data, CommonConstants.SUCCESS, CommonConstants.SUCCESS_MSG);
}
public static <T> R<T> ok(T data, String msg) {
return restResult(data, CommonConstants.SUCCESS, msg);
}
public static <T> R<T> failed() {
return restResult(null, CommonConstants.FAIL, CommonConstants.FAIL_MSG);
}
public static <T> R<T> failed(String msg) {
return restResult(null, CommonConstants.FAIL, msg);
}
public static <T> R<T> failed(T data) {
return restResult(data, CommonConstants.FAIL, CommonConstants.FAIL_MSG);
}
public static <T> R<T> failed(T data, String msg) {
return restResult(data, CommonConstants.FAIL, msg);
}
public static <T> R<T> failed(T data, int code, String msg) {
return restResult(data, code, msg);
}
public static <T> R<T> failed(String msg, int code) {
return restResult(null, code, msg);
}
public static <T, E> R<T> copyCodeAndMsg(R<E> r) {
return restResult(null, r.getCode(), r.getMsg());
}
private static <T> R<T> restResult(T data, int code, String msg) {
R<T> apiResult = new R<T>();
apiResult.setCode(code);
apiResult.setData(data);
apiResult.setMsg(msg);
return apiResult;
}
}
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum ResultCode {
// 操作成功标识
SUCCESS(200, "Success"),
// 系统异常标识
SYS_ERROR(500, "服务器异常,请稍后再试!"),
USER_NOT_EXIST(401, "用户不存在"),
NO_PERMISSION(402, "没有此操作权限"),
NO_LOGGED_IN(403, "用户未登录"),
EXTERNAL_SYSTEM_ERROR(1000, "调用外部系统[%s]出错"),
;
private Integer code;
private String message;
}
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory){
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(factory);
GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
StringRedisSerializer redisSerializer = new StringRedisSerializer();
redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer);
redisTemplate.setKeySerializer(redisSerializer);
redisTemplate.setHashKeySerializer(redisSerializer);
return redisTemplate;
}
}
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Slf4j
@Configuration
@ComponentScan(basePackages = "com.ocso.sema.gemini.service.job")
public class XxlJobConfig {
@Value("${xxl.job.flag}")
private boolean flag;
@Value("${xxl.job.admin.addresses}")
private String adminAddresses;
@Value("${xxl.job.executor.appname}")
private String appName;
@Value("${xxl.job.executor.port}")
private int port;
@Value("${xxl.job.executor.logpath}")
private String logPath;
@Value("${xxl.job.executor.logretentiondays}")
private int logRetentionDays;
@Bean
public XxlJobSpringExecutor xxlJobExecutor() {
//判断是否注册到调度中心
if (flag) {
log.info(">>>>>>>>>>> xxl-job config init.");
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
xxlJobSpringExecutor.setAppname(appName);
xxlJobSpringExecutor.setPort(port);
xxlJobSpringExecutor.setLogPath(logPath);
xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
return xxlJobSpringExecutor;
} else {
return null;
}
}
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://yangchuntao.blog.csdn.net/article/details/123423614
内容来源于网络,如有侵权,请联系作者删除!