feat: add core entities, controllers, services, and mappers across multi-module project

This commit is contained in:
zhangsz committed 2026-09-20 15:03:05 +08:00
commit 4335344af7
1456 files changed
+58308

No files matched your search

View File
Whitespace-only changes.
View File
Whitespace-only changes.
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4" />
+176
View File
@@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>AI_Questioning</artifactId>
<groupId>cn.unizk</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>common</artifactId>
<name>common</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.release>8</maven.compiler.release>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.freemarker/freemarker -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-jsqlparser-4.9</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-generator -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alibabacloud-dysmsapi20170525</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.esotericsoftware/kryo -->
<dependency>
<groupId>com.esotericsoftware</groupId>
<artifactId>kryo</artifactId>
</dependency>
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<exclusions>
<exclusion>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
</dependency>
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alibabacloud-sts20150401</artifactId>
</dependency>
<!-- Source: https://mvnrepository.com/artifact/com.huaweicloud/esdk-obs-java-bundle -->
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>esdk-obs-java-bundle</artifactId>
<version>3.25.10</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
@@ -0,0 +1,69 @@
package cn.unizk.cache;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.SerializationException;
import java.io.ByteArrayOutputStream;
@Slf4j
public class KryoRedisSerializer<T> implements RedisSerializer<T> {
private static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
private static final ThreadLocal<Kryo> kryos = ThreadLocal.withInitial(() -> {
Kryo kryo = new Kryo();
kryo.setRegistrationRequired(false);
return kryo;
});
private Class<T> clazz;
public KryoRedisSerializer(Class<T> clazz){
super();
this.clazz = clazz;
}
@Override
public byte[] serialize(T t) throws SerializationException {
if (t == null) {
return EMPTY_BYTE_ARRAY;
}
Kryo kryo = kryos.get();
kryo.setReferences(false);
kryo.register(clazz);
try (ByteArrayOutputStream baos = new ByteArrayOutputStream();
Output output = new Output(baos)) {
kryo.writeClassAndObject(output, t);
output.flush();
return baos.toByteArray();
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return EMPTY_BYTE_ARRAY;
}
@Override
public T deserialize(byte[] bytes) throws SerializationException {
if (bytes == null || bytes.length <= 0) {
return null;
}
Kryo kryo = kryos.get();
kryo.setReferences(false);
kryo.register(clazz);
try (Input input = new Input(bytes)) {
return (T) kryo.readClassAndObject(input);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return null;
}
}
+33
View File
@@ -0,0 +1,33 @@
package cn.unizk.cache;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* @Author hao
* @Date 2025/7/10 14:52
* @Version 1.0
**/
public class LocalCache {
public static final Map<String,String> MESSAGE_QUEUE = new ConcurrentHashMap<>();
public static final Map<String,String> IAT_MODEL_MSG_QUEUE = new ConcurrentHashMap<>();
private static class WxAccessTokenCache {
static String accessToken;
static long expireTime;
}
public static void setWxAccessTokenCache(String accessToken, long expireTime) {
WxAccessTokenCache.accessToken = accessToken;
WxAccessTokenCache.expireTime = expireTime;
}
public static String getAccessToken() {
return WxAccessTokenCache.accessToken;
}
public static long getExpireTime() {
return WxAccessTokenCache.expireTime;
}
}
@@ -0,0 +1,29 @@
package cn.unizk.config;
import cn.unizk.config.properties.MinioProperties;
import io.minio.MinioClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.annotation.Resource;
/**
* @Author hao
* @Date 2025/8/27 17:14
* @Version 1.0
**/
@Configuration
public class MinioConfig {
@Resource
private MinioProperties minioProperties;
@Bean
public MinioClient minioClient(){
return MinioClient.builder()
.endpoint(minioProperties.getEndpoint())
.credentials(minioProperties.getAccessKey(),minioProperties.getSecretKey())
.build();
}
}
@@ -0,0 +1,22 @@
package cn.unizk.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @Author hao
* @Date 2025/8/21 13:58
* @Version 1.0
**/
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
@@ -0,0 +1,32 @@
package cn.unizk.config;
import cn.unizk.cache.KryoRedisSerializer;
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.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
public class RedisConfig {
@Bean(name = "kryoRedisTemplate")
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(factory);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new KryoRedisSerializer<>(Object.class));
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setHashValueSerializer(new KryoRedisSerializer<>(Object.class));
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
@Bean
public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory factory) {
StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();
stringRedisTemplate.setConnectionFactory(factory);
return stringRedisTemplate;
}
}
@@ -0,0 +1,35 @@
package cn.unizk.config;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.*;
/**
* @Author hao
* @Date 2025/9/9 19:01
* @Version 1.0
**/
@Configuration
public class ThreadPoolConfig {
@Bean("payQueryScheduler")
public ScheduledExecutorService scheduler() {
ThreadFactory factory = new ThreadFactoryBuilder().setNameFormat("pay-query-pool-%d").build();
return Executors.newScheduledThreadPool(10, factory);
}
@Bean("udpRetryExecutor")
public Executor udpRetryExecutor() {
ThreadPoolExecutor executor = new ThreadPoolExecutor(
Runtime.getRuntime().availableProcessors(),
Runtime.getRuntime().availableProcessors() * 2,
60L, TimeUnit.SECONDS,
new ArrayBlockingQueue<>(256),
new ThreadFactoryBuilder().setNameFormat("udp-retry-%d").build(),
new ThreadPoolExecutor.CallerRunsPolicy()); // 满了就让调用线程自己跑,防止丢任务
executor.allowCoreThreadTimeOut(true);
return executor;
}
}
@@ -0,0 +1,34 @@
package cn.unizk.config.properties;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* @Author hao
* @Date 2025/10/22 18:17
* @Version 1.0
**/
@Getter
@Setter
@Component
@ConfigurationProperties(prefix = "hf")
public class HfProperties {
private String huifuId;
private String payApi;
private String refundApi;
private String publicKey;
private String privateKey;
private String notifyUrl;
private String productId;
private String configureAppletCallbackUrl;
}
@@ -0,0 +1,22 @@
package cn.unizk.config.properties;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* @Author hao
* @Date 2026/3/6 14:34
* @Version 1.0
**/
@ConfigurationProperties(prefix = "huaweiyun")
@Component
@Getter
@Setter
public class HuaweiyunProperties {
private String accessKey;
private String secretKey;
}
@@ -0,0 +1,24 @@
package cn.unizk.config.properties;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* @Author hao
* @Date 2025/8/27 17:13
* @Version 1.0
**/
@ConfigurationProperties(prefix = "minio")
@Component
@Data
public class MinioProperties {
private String endpoint;
private String accessKey;
private String secretKey;
private String nginxHost;
}
@@ -0,0 +1,27 @@
package cn.unizk.constant;
/**
* @Author hao
* @Date 2025/7/22 14:11
* @Version 1.0
**/
public class UniConstant {
public static final String AI = "AI";
public static final String PAITENT = "paitent";
public static final String ZONED_SHANGHAI = "Asia/Shanghai";
public static final String POST_CONTENT_TYPE = "application/json; charset=utf-8";
public static final String HTTP_STATUS_CODE = "code";
public static final String HTTP_RESPONSE = "res";
public static final String CHANNEL_HEADER = "channelID";
public static final String WX_ACCESS_TOKEN = "access_token";
public static final String GET_ACCESS_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/stable_token";
public static final String CONST_TRUE = "true";
public static final String CONST_FALSE = "false";
public static final String REDIS_CURRENT_DEVICE_USER = "device:";
public static final Integer MAX_TREAT_TIME = 60;
public static final String VIDEO_PROGRESS_CACHE = "video:progress:batch:";
public static final String DEVICE_ID = "deviceId:";
}
@@ -0,0 +1,21 @@
package cn.unizk.constant;
import java.util.Arrays;
import java.util.List;
/**
* @Author hao
* @Date 2026/3/9 12:01
* @Version 1.0
**/
public class VideoUploadConstants {
// 允许的后缀
public static final List<String> ALLOWED_EXTENSIONS = Arrays.asList("mp4");
// 允许的 MIME Types (不同浏览器/系统可能略有差异,建议涵盖常见情况)
public static final List<String> ALLOWED_MIME_TYPES = Arrays.asList(
"video/mp4",
"video/x-m4v"
);
}
@@ -0,0 +1,39 @@
package cn.unizk.convert.device;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
/**
* @Author hao
* @Date 2025/11/25 9:58
* @Version 1.0
**/
public class CfConverter implements Converter<String> {
@Override
public Class<?> supportJavaTypeKey() {
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public WriteCellData<?> convertToExcelData(String value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
String displayValue;
if (value == null){
displayValue = "";
}else if ("1".equals(value)){
displayValue = "医疗版本";
}else if ("2".equals(value)){
displayValue = "非医疗版本";
}else {
displayValue = "";
}
return new WriteCellData<>(displayValue);
}
}
@@ -0,0 +1,38 @@
package cn.unizk.convert.device;
import cn.hutool.core.date.DateUtil;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import java.time.LocalDateTime;
/**
* @Author hao
* @Date 2025/11/24 18:14
* @Version 1.0
**/
public class LocalDateTimeConverter implements Converter<LocalDateTime> {
@Override
public Class<?> supportJavaTypeKey() {
return LocalDateTime.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public WriteCellData<?> convertToExcelData(LocalDateTime value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
String displayValue;
if (value == null){
displayValue = "";
}else {
displayValue = DateUtil.format(value,"yyyy-MM-dd HH:mm:ss");
}
return new WriteCellData<>(displayValue);
}
}
@@ -0,0 +1,41 @@
package cn.unizk.convert.device;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
/**
* @Author hao
* @Date 2025/11/24 18:20
* @Version 1.0
**/
public class OperatingStatusConverter implements Converter<Integer> {
@Override
public Class<?> supportJavaTypeKey() {
return Integer.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public WriteCellData<?> convertToExcelData(Integer value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
String displayValue;
if (value == null){
displayValue = "";
}else if (value == 0){
displayValue = "运行中";
}else if (value == 1){
displayValue = "正常关机";
}else if (value == 2){
displayValue = "非正常关机";
}else {
displayValue = "待机中";
}
return new WriteCellData<>(displayValue);
}
}
@@ -0,0 +1,38 @@
package cn.unizk.convert.device;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.converters.WriteConverterContext;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
/**
* @Author hao
* @Date 2025/11/24 18:06
* @Version 1.0
**/
public class StatusConverter implements Converter<String> {
@Override
public Class<?> supportJavaTypeKey() {
return Integer.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public WriteCellData<?> convertToExcelData(String value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
String displayValue;
if (value == null){
displayValue = "";
}else if ("1".equals(value)){
displayValue = "启用";
}else {
displayValue = "禁用";
}
return new WriteCellData<>(displayValue);
}
}
@@ -0,0 +1,39 @@
package cn.unizk.convert.device;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
/**
* @Author hao
* @Date 2025/11/25 10:02
* @Version 1.0
**/
public class WmConverter implements Converter<String> {
@Override
public Class<?> supportJavaTypeKey() {
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public WriteCellData<?> convertToExcelData(String value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
String displayValue;
if (value == null){
displayValue = "";
}else if ("0".equals(value)){
displayValue = "脱机模式";
}else if ("1".equals(value)){
displayValue = "联网模式";
}else {
displayValue = "";
}
return new WriteCellData<>(displayValue);
}
}
@@ -0,0 +1,16 @@
package cn.unizk.entity.dto;
import lombok.Data;
/**
* @Author hao
* @Date 2026/3/13 11:49
* @Version 1.0
**/
@Data
public class CashOutDTO {
private String amount;
private Integer storeId;
}
@@ -0,0 +1,26 @@
package cn.unizk.entity.dto;
import lombok.Getter;
import lombok.Setter;
/**
* @Author hao
* @Date 2026/3/13 11:51
* @Version 1.0
**/
@Getter
@Setter
public class CashOutResponse {
private Integer code;
private String message;
public CashOutResponse(){}
public CashOutResponse(Integer code,String message){
this.code = code;
this.message = message;
}
}
@@ -0,0 +1,29 @@
package cn.unizk.entity.dto;
import com.google.gson.Gson;
import lombok.Getter;
import lombok.Setter;
/**
* @Author hao
* @Date 2025/10/22 17:43
* @Version 1.0
**/
@Getter
@Setter
public class CommonRequestDTO<T> {
private String sys_id;
private String product_id;
private String sign;
private T data;
@Override
public String toString() {
Gson gson = new Gson();
return gson.toJson(this);
}
}
@@ -0,0 +1,87 @@
package cn.unizk.entity.dto;
import cn.unizk.convert.device.*;
import cn.unizk.entity.po.Device;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.alibaba.excel.enums.poi.FillPatternTypeEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
* @Author hao
* @Date 2025/11/24 17:24
* @Version 1.0
**/
@Data
@ContentRowHeight(20)
@HeadRowHeight(25)
@ColumnWidth(15)
// 头背景设置成天蓝色 IndexedColors.RED.getIndex()
@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 40)
public class DeviceExcelDTO {
@ExcelProperty(value = "设备ID")
private String deviceId;
@ExcelProperty(value = "MUID")
private String muid;
@ExcelProperty(value = "设备状态",converter = StatusConverter.class)
private String status;
@ExcelProperty(value = "所属信息")
private String affiliatedWith;
@ExcelProperty(value = "出库状态")
private String outboundType;
@ExcelProperty(value = "剩余次数")
private String expireTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
@ExcelProperty(value = "入库时间",converter = LocalDateTimeConverter.class)
private LocalDateTime warehousingTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
@ExcelProperty(value = "出库时间",converter = LocalDateTimeConverter.class)
private LocalDateTime outboundTime;
@ExcelProperty(value = "运行状态",converter = OperatingStatusConverter.class)
private Integer operatingStatus;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
@ExcelProperty(value = "设备时间",converter = LocalDateTimeConverter.class)
private LocalDateTime lastRunTime;
@ExcelProperty(value = "机器配置",converter = CfConverter.class)
private String cf;
@ExcelProperty(value = "工作模式",converter = WmConverter.class)
private String wm;
@ExcelProperty(value = "硬件版本")
private String hw;
@ExcelProperty(value = "软件版本")
private String sw;
@ExcelProperty(value = "ICCID号码")
private String iccid;
@ExcelProperty(value = "4G设备固件版本")
private String cr;
@ExcelProperty(value = "充值次数")
private Integer rechargeCount;
}
@@ -0,0 +1,18 @@
package cn.unizk.entity.dto;
import lombok.Data;
/**
* @Author hao
* @Date 2026/8/19 15:21
* @Version 1.0
**/
@Data
public class ElectronicSignatureDTO {
private Integer id;
private String url;
private String name;
}
@@ -0,0 +1,36 @@
package cn.unizk.entity.dto;
import com.google.gson.Gson;
import lombok.Getter;
import lombok.Setter;
/**
* @Author hao
* @Date 2025/10/23 11:28
* @Version 1.0
**/
@Getter
@Setter
public class HuifuSyncRefundResDTO {
private RefundResData data;
@Getter
@Setter
public static class RefundResData {
private String resp_code;
private String resp_desc;
private String product_id;
private String huifu_id;
private String req_date;
private String req_seq_id;
private String trans_stat;
private String trans_finish_time;
private String ord_amt;
}
@Override
public String toString() {
Gson gson = new Gson();
return gson.toJson(this);
}
}
@@ -0,0 +1,20 @@
package cn.unizk.entity.dto;
import com.alibaba.fastjson2.JSONObject;
import lombok.Data;
/**
* @Author hao
* @Date 2025/10/20 18:35
* @Version 1.0
**/
@Data
public class IsoDTO {
private Integer rescode = 200;
private Boolean success = true;
private String resmsg = "success_";
private JSONObject data;
}
@@ -0,0 +1,20 @@
package cn.unizk.entity.dto;
import lombok.Data;
import java.util.Map;
/**
* @Author hao
* @Date 2026/8/12 15:34
* @Version 1.0
**/
@Data
public class MajorJointsDTO {
private String title;
private Map<Integer,String> map;
private String report;
}
@@ -0,0 +1,20 @@
package cn.unizk.entity.dto;
import lombok.Data;
/**
* @Author hao
* @Date 2026/7/7 14:58
* @Version 1.0
**/
@Data
public class PlaceOrderCommonDTO {
private String reqSeqId;
private String price;
private String reqDate;
private String describe;
}
@@ -0,0 +1,48 @@
package cn.unizk.entity.dto;
import com.google.gson.Gson;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
/**
* @Author hao
* @Date 2025/12/18 17:07
* @Version 1.0
**/
@Getter
@Setter
public class PrDTO {
private String id;
private List<PrItem> prItems;
public String toString(){
Gson gson = new Gson();
return gson.toJson(this);
}
@Setter
@Getter
public static class PrItem {
private String fr;
private String pw;
private String pl;
private String ul;
private String tl;
public String toString(){
Gson gson = new Gson();
return gson.toJson(this);
}
}
}
@@ -0,0 +1,32 @@
package cn.unizk.entity.dto;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
/**
* @Author hao
* @Date 2025/10/22 17:44
* @Version 1.0
**/
@Getter
@Setter
public class ProfitSharingRefundDTO extends RefundDTO {
private AcctSplitBunch acct_split_bunch;
@Getter
@Setter
public static class AcctSplitBunch {
private List<AcctInfos> acct_infos;
@Getter
@Setter
public static class AcctInfos {
private String div_amt;
private String huifu_id;
private String part_loan_amt;
}
}
}
@@ -0,0 +1,30 @@
package cn.unizk.entity.dto;
import lombok.Getter;
import lombok.Setter;
/**
* @Author hao
* @Date 2025/10/22 18:48
* @Version 1.0
**/
@Getter
@Setter
public class RefundDTO {
private String req_date;
private String req_seq_id;
private String huifu_id;
private String ord_amt;
private String org_req_date;
// private String org_hf_seq_id;
private String org_req_seq_id;
private String notify_url = "https://peaktcm.com/hf/webhook/refundCallback";
}
@@ -0,0 +1,45 @@
package cn.unizk.entity.dto;
import com.alibaba.fastjson2.JSON;
import lombok.Getter;
import lombok.Setter;
/**
* @Author hao
* @Date 2025/8/20 12:17
* @Version 1.0
**/
@Getter
@Setter
public class WxPayPlaceOrder {
private String appid;
private String mchid;
private String description;
private String out_trade_no;
private String time_expire;
//支付成功回调地址
private String notify_url;
private Amount amount;
private Payer payer;
@Getter
@Setter
public static class Amount {
private Integer total;
private String currency = "CNY";
}
@Getter
@Setter
public static class Payer {
private String openid;
}
@Override
public String toString() {
return JSON.toJSONString(this);
}
}
@@ -0,0 +1,41 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-08-06
*/
@Getter
@Setter
@ToString
@TableName("applet_module")
public class AppletModule implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String name;
// private String moduleStatus;
private String routePath;
private String iconUrl;
private LocalDateTime createTime;
}
@@ -0,0 +1,48 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 预约配置表
* </p>
*
* @author caiwenhao
* @since 2026-05-18
*/
@Getter
@Setter
@ToString
@TableName("appointment_config")
public class AppointmentConfig implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 配置键
*/
private String configKey;
/**
* 配置值
*/
private String configValue;
/**
* 描述
*/
private String description;
private LocalDateTime updatedAt;
}
@@ -0,0 +1,106 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* <p>
* 预约记录表
* </p>
*
* @author caiwenhao
* @since 2026-05-18
*/
@Getter
@Setter
@ToString
public class Appointments implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 预约编号
*/
private String appointmentNo;
private String openid;
/**
* 医生ID
*/
private Long physioId;
/**
* 每日排班表ID
*/
private Long dailyScheduleId;
/**
* 患者姓名
*/
private String patientName;
/**
* 患者手机号
*/
private String patientPhone;
/**
* 患者身份证号
*/
private String patientIdCard;
/**
* 就诊日期
*/
private LocalDate visitDate;
/**
* 时间段代码
*/
private String timeSlotCode;
/**
* 状态:待确认、已确认、已取消、已完成
*/
private String status;
/**
* 取消原因
*/
private String cancelReason;
/**
* 取消时间
*/
private LocalDateTime cancelledAt;
/**
* 备注
*/
private String remark;
private String evaluation;
private Integer treatRating;
private BigDecimal payAmount;
private Integer payStatus;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
}
@@ -0,0 +1,22 @@
package cn.unizk.entity.po;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 基类
*/
@Data
public class BaseEntity implements Serializable {
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime createTime;
}
@@ -0,0 +1,20 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @Author hao
* @Date 2025/10/9 14:08
* @Version 1.0
**/
@Data
@TableName(value = "business_channel")
public class BusinessChannel {
@TableId(value = "channel_id",type = IdType.AUTO)
private Integer channelId;
private String channelName;
private String remarks;
}
@@ -0,0 +1,34 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @Author hao
* @Date 2026/3/13 14:22
* @Version 1.0
**/
@Data
@TableName("cash_out_record")
public class CashOutRecord {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private BigDecimal amount;
private String outHuifuId;
private Integer storeId;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime createTime;
}
@@ -0,0 +1,44 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author caiwenhao
* @since 2026-03-06
*/
@Getter
@Setter
@ToString
public class Chapter implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "chapter_id", type = IdType.AUTO)
private Integer chapterId;
@NotNull(message = "courseId cannot be null")
private Integer courseId;
@NotBlank(message = "title cannot be empty")
private String title;
@NotBlank(message = "videoUrl cannot be empty")
private String videoUrl;
private Integer videoDuration;
private LocalDateTime createTime;
}
@@ -0,0 +1,43 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
*
* </p>
*
* @author caiwenhao
* @since 2026-03-20
*/
@Getter
@Setter
@ToString
@TableName("child_store_account")
public class ChildStoreAccount implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "account_id", type = IdType.AUTO)
private Integer accountId;
private String accountName;
private Integer storeId;
private String huifuId;
private String bankCardNumber;
private BigDecimal percentage;
private BigDecimal accountBalance;
}
@@ -0,0 +1,65 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-08-20
*/
@Getter
@Setter
@ToString
@TableName("clinic_work_log")
public class ClinicWorkLog implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String name;
private Integer age;
/**
* 0--女;1--男
*/
private Integer gender;
private String profession;
private String phoneNumber;
private String diagnosis;
/**
* 0--初诊;1--复诊
*/
private Integer oneOrMore;
private String medicalTreatment;
private String physicianSignature;
private String remark;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private LocalDate createTime;
}
@@ -0,0 +1,33 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author hao
* @Date 2025/8/30 17:20
* @Version 1.0
**/
@Data
@TableName("combo")
public class Combo {
@TableId(value = "combo_id",type = IdType.AUTO)
private Integer comboId;
private String deviceId;
private String comboName;
private Integer comboDuration;
private BigDecimal comboPrice;
private String image;
private Integer channelId;
}
@@ -0,0 +1,72 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
@Data
@TableName("conversation")
public class Conversation extends BaseEntity implements Serializable {
@TableId(type = IdType.AUTO)
private Integer id;
/**
*
* 32位会话id
*
*/
private String sessionId;
/**
*
* 使用openid
*
*/
private String userId;
/**
*
*用户问题答案json
*
*/
private String qaJson;
/**
*
*AI生成症状摘要
*
*/
private String symptomSummary;
/**
*
*会话状态: 1(活跃中), 2(已完成), -1(已删除)
*
*/
private Integer status;
/**
*
*AI诊断
*
*/
private String aiDiagnosis;
/**
*
*ai治疗方案 暂存诊疗师看
*
*/
private String aiTreatment;
}
@@ -0,0 +1,45 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author caiwenhao
* @since 2026-03-06
*/
@Getter
@Setter
@ToString
public class Course implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "course_id", type = IdType.AUTO)
private Integer courseId;
@NotBlank(message = "title cannot be empty")
private String title;
@NotBlank(message = "objName cannot be empty")
private String objName;
@NotNull(message = "price cannot be price")
private BigDecimal price;
private Integer purchases;
private LocalDateTime createTime;
}
@@ -0,0 +1,66 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* <p>
* 每日排班表
* </p>
*
* @author caiwenhao
* @since 2026-05-18
*/
@Getter
@Setter
@ToString
@TableName("daily_schedules")
public class DailySchedules implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 医生ID
*/
private Long physioId;
/**
* 排班日期
*/
private LocalDate scheduleDate;
/**
* 时间段代码
*/
private String timeSlotCode;
/**
* 该天该时间段可预约人数
*/
private Integer maxBookings;
/**
* 已预约人数
*/
private Integer bookedCount;
/**
* 状态:可用、已满、关闭
*/
private String status;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
}
@@ -0,0 +1,111 @@
package cn.unizk.entity.po;
import cn.unizk.convert.device.LocalDateTimeConverter;
import cn.unizk.convert.device.OperatingStatusConverter;
import cn.unizk.convert.device.StatusConverter;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @Author hao
* @Date 2025/8/30 16:45
* @Version 1.0
**/
@TableName("device")
@Data
public class Device {
@TableId("device_id")
@ExcelProperty(value = "设备ID")
private String deviceId;
@ExcelProperty(value = "MUID")
private String muid;
private Integer storeId;
private Integer agentId;
private Integer userId;
@ExcelProperty(value = "设备状态",converter = StatusConverter.class)
private String status;
@ExcelProperty(value = "所属信息")
private String affiliatedWith;
private Integer paymentMethod;
@ExcelProperty(value = "剩余次数")
private String expireTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
@ExcelProperty(value = "入库时间",converter = LocalDateTimeConverter.class)
private LocalDateTime warehousingTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
@ExcelProperty(value = "出库时间",converter = LocalDateTimeConverter.class)
private LocalDateTime outboundTime;
private BigDecimal balance;
private Integer surplus;
private Integer forcePay;
private String lo;
private String la;
private Integer freeCount;
//0--非自动升级;1--自动升级
private Integer upgradeSwitch;
@ExcelProperty(value = "运行状态",converter = OperatingStatusConverter.class)
private Integer operatingStatus;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
@ExcelProperty(value = "设备时间",converter = LocalDateTimeConverter.class)
private LocalDateTime lastRunTime;
@ExcelProperty(value = "机器配置")
private String cf;
@ExcelProperty(value = "工作模式")
private String wm;
@ExcelProperty(value = "硬件版本")
private String hw;
@ExcelProperty(value = "软件版本")
private String sw;
@ExcelProperty(value = "ICCID号码")
private String iccid;
@ExcelProperty(value = "4G设备固件版本")
private String cr;
private String mo;
@ExcelProperty(value = "充值次数")
private Integer rechargeCount;
private String remark;
private Integer treatStatus;
}
@@ -0,0 +1,36 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @Author hao
* @Date 2025/11/5 15:34
* @Version 1.0
**/
@Data
@TableName(value = "device_recharge_record")
public class DeviceRechargeRecord {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private String deviceId;
private Integer rechargeType;
private Integer quantity;
private BigDecimal money;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime createTime;
}
@@ -0,0 +1,39 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
/**
* @Author hao
* @Date 2025/11/19 10:22
* @Version 1.0
**/
@Data
@TableName("device_upgrade")
public class DeviceUpgrade {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
@NotBlank(message = "软件版本号必填")
private String sVersion;
@NotBlank(message = "硬件版本号必填")
private String hVersion;
@NotBlank(message = "文件名必填")
private String fileName;
private String releaseNotes;
private Integer beCurrentVersion;
private LocalDateTime createTime;
private LocalDateTime updateTime;
}
@@ -0,0 +1,41 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
* @Author hao
* @Date 2025/11/6 12:26
* @Version 1.0
**/
@TableName("device_usage_detail")
@Data
public class DeviceUsageDetail {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private Integer usageRecordId;
private String fr;
private String pw;
private String pl;
private String ul;
private String wt;
private String status;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime createTime;
}
@@ -0,0 +1,42 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
* @Author hao
* @Date 2025/10/22 11:24
* @Version 1.0
**/
@Data
@TableName("device_usage_record")
public class DeviceUsageRecord {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private String deviceId;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime startTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime endTime;
private String startUseFlag;
private String wm;
private String belong;
private String muid;
private Integer invalidFlag;
}
@@ -0,0 +1,51 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-08-13
*/
@Getter
@Setter
@ToString
@TableName("dia_record")
public class DiaRecord implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private Integer appUserId;
private String batchNumber;
private String part;
private String area;
private String question;
private String response;
private String result;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime createTime;
}
@@ -0,0 +1,22 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @Author hao
* @Date 2025/12/16 16:58
* @Version 1.0
**/
@TableName("diagnosis_template")
@Data
public class DiagnosisTemplate {
private Integer id;
private String location;
private String mainAcupoint;
private String matchingAcupoint;
}
@@ -0,0 +1,17 @@
package cn.unizk.entity.po;
import lombok.Data;
/**
* @Author hao
* @Date 2025/7/25 9:54
* @Version 1.0
**/
@Data
public class DiagnosticReport {
/**
*
*/
private String sessionId;
}
@@ -0,0 +1,23 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @Author hao
* @Date 2026/1/27 18:54
* @Version 1.0
**/
@Data
@TableName(value = "exam_score")
public class ExamScore {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private String typeName;
private Integer score;
}
@@ -0,0 +1,53 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-06-05
*/
@Getter
@Setter
@ToString
@TableName("golf_cust_info")
public class GolfCustInfo implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@NotBlank(message = "custName cannot be null")
private String custName;
/**
* 0--女;1--男
*/
@NotNull(message = "gender cannot be null")
private Integer gender;
@NotNull(message = "age cannot be null")
private Integer age;
@NotBlank(message = "phoneNumber cannot be null")
private String phoneNumber;
@NotNull(message = "golfingAge cannot be null")
private Integer golfingAge;
@NotNull(message = "weekFrequency cannot be null")
private Integer weekFrequency;
}
@@ -0,0 +1,23 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author hao
* @Date 2026/4/17 13:42
* @Version 1.0
**/
@TableName(value = "grf_pj")
@Data
public class GrfPj {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private BigDecimal price;
}
@@ -0,0 +1,74 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author caiwenhao
* @since 2025-09-29
*/
@Getter
@Setter
@TableName("huifu_data")
public class HuifuData implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String dataType;
private String uboIdDocType;
/**
* 证件正面照片
*/
private String uboIdDocCopy;
/**
* 证件反面照片
*/
private String uboIdDocCopyBack;
/**
* 受益人证件姓名
*/
private String uboIdDocName;
/**
* 受益人证件号码
*/
private String uboIdDocNumber;
/**
* 证件居住地址
*/
private String uboIdDocAddress;
/**
* 证件有效期开始时间
*/
private String uboPeriodBegin;
/**
* 证件有效期结束时间(长期填长期)
*/
private String uboPeriodEnd;
private String name;
private String mobile;
private Integer idCardNumber;
private String contactType;
}
@@ -0,0 +1,74 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-08-20
*/
@Getter
@Setter
@ToString
@TableName("inventory_statistics")
public class InventoryStatistics implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String productName;
private Integer type;
/**
* 规格
*/
private String specification;
/**
* 单位
*/
private String unit;
/**
* 入库数量
*/
private Integer quantityInStock;
/**
* 出库数量
*/
private Integer outboundQuantity;
/**
* 剩余数量
*/
private Integer remainingQuantity;
/**
* 操作人
*/
private String operator;
private String remark;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private LocalDate createTime;
}
@@ -0,0 +1,89 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
*
* </p>
*
* @author caiwenhao
* @since 2025-08-21
* 理疗师
*/
@Getter
@Setter
@TableName("jk_physio")
public class JkPhysio implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private Integer storeId;
private String physioName;
private String idcard;
private String idcardImage;
private String physioTel;
private String physioGender;
private String physioLevel;
private String rejectReason;
/**
* 评分
*/
private Object rating;
/**
* 服务订单数
*/
private Integer serviceOrderNum;
/**
* 返佣金额
*/
private BigDecimal rebatePrice;
private BigDecimal appointmentPrice;
private Integer maxBookingsPerSlot;
/**
* 擅长内容
*/
private String beGoodAt;
private String address;
//资格证书
private String credentials;
//头像照
private String headShot;
private String status;
private Integer audit;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime createTime;
}
@@ -0,0 +1,75 @@
package cn.unizk.entity.po;
import cn.unizk.validatedGroup.DefaultGroup;
import cn.unizk.validatedGroup.UpdateGroup;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* <p>
*
* </p>
*
* @author caiwenhao
* @since 2025-08-21
*/
@Getter
@Setter
@TableName("jk_product")
public class JkProduct implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "product_id", type = IdType.AUTO)
@NotNull(groups = UpdateGroup.class, message = "productId cannot be null")
private Integer productId;
@NotBlank(groups = DefaultGroup.class, message = "productName cannot be null")
private String productName;
@NotBlank(groups = DefaultGroup.class, message = "productType cannot be null")
private String productType;
private String productImage;
@NotNull(groups = DefaultGroup.class, message = "价格不能为空")
private BigDecimal productPrice;
private String productTags;
/**
* 商品排序
*/
private String productSort;
/**
* 商品状态(上架,下架)
*/
private String productStatus;
/**
* 库存
*/
@NotNull(groups = DefaultGroup.class, message = "库存不能为空")
private Integer productStock;
private String exquisite;
private Integer sales;
private String details;
private Integer whetherCarousel;
}
@@ -0,0 +1,57 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@TableName("jk_store")
public class JkStore {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private String storeName;
private String storeImage;
private String address;
private String status;
private String businessHours;
private String type;
private String contactTel;
private String introduction;
private BigDecimal appointPrice;
//经度
private Double longitude;
//纬度
private Double latitude;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime createTime;
private String acctNo;
private Integer activateFzFlag;
private Integer channelId;
private String huifuId;
private BigDecimal profitSharingPercentage;
}
@@ -0,0 +1,32 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-09-03
*/
@Getter
@Setter
@ToString
public class Joint implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String jointName;
private String icoUrl;
}
@@ -0,0 +1,46 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author caiwenhao
* @since 2025-08-26
*/
@Getter
@Setter
public class Menu implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "menu_id", type = IdType.AUTO)
private Integer menuId;
private String menuName;
private Integer parentId;
private Integer orderNum;
private String path;
private String component;
private String status;
private String perms;
private String role;
private String icon;
private LocalDateTime createTime;
}
@@ -0,0 +1,51 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
@Data
@TableName("message")
public class Message extends BaseEntity implements Serializable {
@TableId(type = IdType.AUTO)
private Integer id;
/**
*
* 32位会话id
*
*/
private String sessionId;
private Integer sort;
private Integer effSort; //有效排序
/**
*
*AI回复
*
*/
private String aiMessage;
/**
*
*用户回复
*
*/
private String userMessage;
/**
*
*是否为有效信息 1 是 2 否
*
*/
private Integer status;
}
@@ -0,0 +1,71 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-06-30
*/
@Getter
@Setter
@ToString
@TableName("mobile_app_user")
public class MobileAppUser implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String openid;
private String phoneNumber;
private String nickname;
private String avatar;
private String painNumber;
private Integer age;
private Double height;
private Double weight;
private String symptom;
private Integer points;
private Integer hasMember;
private String therapy;
private Integer foursRating;
private String evaluationResult;
private String userType;
private Integer gender;
private Integer freeTrial;
private Integer firstStoreId;
private Integer firstPhysioId;
private LocalDateTime createTime;
}
@@ -0,0 +1,37 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-07-08
*/
@Getter
@Setter
@ToString
@TableName("mobile_app_user_account")
public class MobileAppUserAccount implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private Integer mobileUserId;
private BigDecimal accountBalance;
private Integer memberLevel;
}
@@ -0,0 +1,116 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* <p>
* 预约记录表
* </p>
*
* @author niuniu
* @since 2026-07-01
*/
@Getter
@Setter
@ToString
@TableName("mobile_appointments")
public class MobileAppointments implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 预约编号
*/
private String appointmentNo;
private Integer mobileUserId;
/**
* 医生ID
*/
private Long physioId;
/**
* 每日排班表ID
*/
private Long dailyScheduleId;
/**
* 患者姓名
*/
private String patientName;
/**
* 患者手机号
*/
private String patientPhone;
/**
* 患者身份证号
*/
private String patientIdCard;
/**
* 就诊日期
*/
private LocalDate visitDate;
/**
* 时间段代码
*/
private String timeSlotCode;
/**
* 状态:待确认、已确认、已取消、已完成
*/
private String status;
/**
* 取消原因
*/
private String cancelReason;
/**
* 取消时间
*/
private LocalDateTime cancelledAt;
private BigDecimal payAmount;
/**
* 0--未支付;1--已支付;2--已退款
*/
private Integer payStatus;
/**
* 0--疼痛明显减轻;1--无变化;2--疼痛加重
*/
private Integer treatRating;
/**
* 评价内容
*/
private String evaluation;
/**
* 备注
*/
private String remark;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
}
@@ -0,0 +1,41 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-06-30
*/
@Getter
@Setter
@ToString
@TableName("mobile_chapter")
public class MobileChapter implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "chapter_id", type = IdType.AUTO)
private Integer chapterId;
private Integer courseId;
private String title;
private String videoUrl;
private Integer videoDuration;
private LocalDateTime createTime;
}
@@ -0,0 +1,43 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-06-30
*/
@Getter
@Setter
@ToString
@TableName("mobile_combo")
public class MobileCombo implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "combo_id", type = IdType.AUTO)
private Integer comboId;
private String deviceId;
private String comboName;
private Integer comboDuration;
private BigDecimal comboPrice;
private String image;
private Integer channelId;
}
@@ -0,0 +1,42 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-06-30
*/
@Getter
@Setter
@ToString
@TableName("mobile_course")
public class MobileCourse implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "course_id", type = IdType.AUTO)
private Integer courseId;
private String title;
private String objName;
private BigDecimal price;
private Integer purchases;
private LocalDateTime createTime;
}
@@ -0,0 +1,114 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-07-01
*/
@Getter
@Setter
@ToString
@TableName("mobile_order")
public class MobileOrder implements Serializable {
private static final long serialVersionUID = 1L;
@TableId("order_id")
private String orderId;
private String outTradeNo;
private Integer mobileUserId;
private Integer productId;
private Integer comboId;
private Integer courseId;
/**
* 商品描述
*/
private String description;
/**
* 订单总价
*/
private BigDecimal totalPrice;
/**
* paid---已支付
* unpaid---未支付
* canceled---订单已取消
* 'paid', 'unpaid', 'canceled','not_shipped','shipped','unverified','verified','to_be_evaluate','request_refund','refunded'
*/
private String status;
private Integer storeId;
private Integer physioId;
private String deviceId;
private LocalDateTime createTime;
/**
* 支付时间
*/
private LocalDateTime payTime;
private String recipientPhone;
private String recipientName;
private String receivingAddress;
/**
* none;success;fail
*/
private String applyFzFlag;
/**
* 配送;自提
*/
private String deliveryWay;
private String hfSeqId;
private String rejectReason;
private LocalDateTime refundFinishTime;
private LocalDateTime applyRefundTime;
private String refundTrackingNumber;
private String refundReason;
/**
* 0-无售后,1-仅退款申请,2-退货退款申请,3-商家同意退款,4-商家拒绝退款,5-退款成功,6-退货退款成功,7-售后关闭
*/
private Integer afterSaleStatus;
/**
* 1--扫码开机;2--购买商品
*/
private Integer orderType;
private String refundReqSeqId;
private String platformType;
}
@@ -0,0 +1,43 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-07-10
*/
@Getter
@Setter
@ToString
@TableName("mobile_order_item")
public class MobileOrderItem implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String mobileOrderId;
private Integer productId;
private Integer comboId;
private Integer quantity;
private BigDecimal price;
private BigDecimal discount;
}
@@ -0,0 +1,48 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-07-01
*/
@Getter
@Setter
@ToString
@TableName("mobile_user_address")
public class MobileUserAddress implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "address_id", type = IdType.AUTO)
private Integer addressId;
private Integer mobileUserId;
private String receiverName;
private String phone;
private String address;
private LocalDateTime updateTime;
private LocalDateTime createTime;
/**
* 0--是;1--否
*/
private Integer defaultAddr;
}
@@ -0,0 +1,42 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-06-30
*/
@Getter
@Setter
@ToString
@TableName("mobile_user_have_course")
public class MobileUserHaveCourse implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private Integer mobileUserId;
private Integer courseId;
private LocalDateTime buyTime;
/**
* 0--封锁;1--正常
*/
private Integer status;
}
@@ -0,0 +1,49 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-07-01
*/
@Getter
@Setter
@ToString
@TableName("mobile_user_medical_visit_info")
public class MobileUserMedicalVisitInfo implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private Integer mobileUserId;
private String name;
private String phoneNumber;
/**
* 0--女;1--男
*/
private Integer gender;
/**
* 1--默认;0--非默认
*/
private Integer itsDefault;
private LocalDateTime createTime;
}
@@ -0,0 +1,43 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-06-30
*/
@Getter
@Setter
@ToString
@TableName("mobile_user_video_progress")
public class MobileUserVideoProgress implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private Integer mobileUserId;
private Integer chapterId;
private Integer lastPosition;
private Integer spentTime;
private Integer progress;
private LocalDateTime updateTime;
}
@@ -0,0 +1,38 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-08-10
*/
@Getter
@Setter
@ToString
@TableName("module_perms")
public class ModulePerms implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String platformType;
private String businessType;
private Integer moduleId;
private String status;
}
@@ -0,0 +1,34 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/**
* @Author hao
* @Date 2026/1/30 10:18
* @Version 1.0
**/
@TableName("order_review")
@Data
public class OrderReview {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
@NotBlank(message = "orderId cannot be empty")
private String orderId;
@NotNull(message = "star cannot be empty")
private Integer star;
@NotBlank(message = "comment cannot be empty")
private String comment;
private LocalDateTime createTime;
}
@@ -0,0 +1,31 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @Author hao
* @Date 2026/1/26 14:25
* @Version 1.0
**/
@TableName("physio_exam")
@Data
public class PhysioExam {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private String title;
private String answer;
//1--单选;2--多选;3--判断题
private Integer type;
private String correctAnswer;
private Integer subject;
}
@@ -0,0 +1,56 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 理疗师排班规则表
* </p>
*
* @author caiwenhao
* @since 2026-05-18
*/
@Getter
@Setter
@ToString
@TableName("physio_schedules")
public class PhysioSchedules implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 理疗师ID
*/
private Integer physioId;
/**
* 时间段代码
*/
private String timeSlotCode;
/**
* 该时间段可预约人数
*/
private Integer maxBookings;
/**
* 是否启用:1-启用,0-停用
*/
private Integer active;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
}
@@ -0,0 +1,42 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-09-02
*/
@Getter
@Setter
@ToString
@TableName("physio_thirteen_area")
public class PhysioThirteenArea implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String areaName;
private String pictureUrl;
private String explanation;
private String cause;
private String improveMethod;
private Integer type;
}
@@ -0,0 +1,21 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @Author hao
* @Date 2025/9/3 15:46
* @Version 1.0
**/
@Data
@TableName("product_carousel")
public class ProductCarousel {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private Integer productId;
private String imageUrl;
private String type;
}
@@ -0,0 +1,24 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @Author hao
* @Date 2025/7/29 14:13
* @Version 1.0
**/
@Data
@TableName("question")
public class Question {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private String question;
private String options;
private Integer sort;
private LocalDateTime createTime;
}
@@ -0,0 +1,26 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author hao
* @Date 2026/4/17 15:07
* @Version 1.0
**/
@TableName(value = "recharge_package")
@Data
public class RechargePackage {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private BigDecimal rechargePrice;
private BigDecimal giftPrice;
private Integer memberLevel;
}
@@ -0,0 +1,24 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @Author hao
* @Date 2025/10/9 18:06
* @Version 1.0
**/
@TableName("report_template")
@Data
public class ReportTemplate {
private Integer id;
private String text;
private LocalDateTime createTime;
private LocalDateTime updateTime;
}
@@ -0,0 +1,38 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-07-15
*/
@Getter
@Setter
@ToString
@TableName("run_consultation")
public class RunConsultation implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String question;
private String lesion;
private String conclusion;
private String plan;
}
@@ -0,0 +1,31 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author hao
* @Date 2026/3/13 15:04
* @Version 1.0
**/
@TableName("store_account")
@Data
public class StoreAccount {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private Integer storeId;
private BigDecimal balance;
private BigDecimal availableBalance;
private BigDecimal freezeBalance;
private BigDecimal controlAmount;
}
@@ -0,0 +1,52 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author caiwenhao
* @since 2025-12-22
*/
@Getter
@Setter
@ToString
@TableName("sub_health_dietary_regulation")
public class SubHealthDietaryRegulation implements Serializable {
private static final long serialVersionUID = 1L;
@TableId("symptom_number")
@NotBlank(message = "symptomNumber cannot be empty")
private String symptomNumber;
@NotBlank(message = "symptomDescription cannot be empty")
private String symptomDescription;
@NotBlank(message = "lackNutrients cannot be empty")
private String lackNutrients;
@NotBlank(message = "diagnosticReference cannot be empty")
private String diagnosticReference;
@NotBlank(message = "commonReasons cannot be empty")
private String commonReasons;
@NotBlank(message = "fruitSuggestion cannot be empty")
private String fruitSuggestion;
@NotBlank(message = "vegetableSuggestion cannot be empty")
private String vegetableSuggestion;
@NotBlank(message = "detectAndAdd cannot be empty")
private String detectAndAdd;
}
@@ -0,0 +1,37 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* sys_dict
* @author
*/
@Data
@TableName("sys_dict")
public class SysDict implements Serializable {
@TableId(value = "dict_code",type = IdType.AUTO)
private Integer dictCode;
private String dictValue;
private String dictType;
private Integer dictSort;
private String pcDisplayImage;
private String status;
private Date createTime;
private static final long serialVersionUID = 1L;
}
@@ -0,0 +1,31 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @Author hao
* @Date 2025/8/27 18:33
* @Version 1.0
**/
@Data
@TableName("sys_file")
public class SysFile {
@TableId(value = "file_id",type = IdType.AUTO)
private Integer fileId;
private String fileName;
private String fileUrl;
private String bucketName;
private String fileType;
private LocalDateTime createTime;
}
@@ -0,0 +1,41 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
/**
* @Author hao
* @Date 2025/8/22 19:11
* @Version 1.0
**/
@Data
@TableName("sys_user")
public class SysUser {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private String role;
private Integer storeId;
private String username;
private String password;
private String dept;
//enable,disable
private String status;
private String avatar;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime updateTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime createTime;
}
@@ -0,0 +1,69 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.time.LocalTime;
/**
* <p>
* 时间段配置表
* </p>
*
* @author caiwenhao
* @since 2026-05-18
*/
@Getter
@Setter
@ToString
@TableName("time_slots")
public class TimeSlots implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 时间段代码:M1,M2,M3,A1,A2,A3,A4
*/
private String slotCode;
/**
* 时间段名称
*/
private String slotName;
/**
* 开始时间
*/
private LocalTime startTime;
/**
* 结束时间
*/
private LocalTime endTime;
/**
* 上下午
*/
private String period;
/**
* 排序
*/
private Integer sortOrder;
/**
* 是否启用
*/
private Byte active;
private LocalDateTime createdAt;
}
@@ -0,0 +1,35 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @Author hao
* @Date 2025/12/16 17:05
* @Version 1.0
**/
@Data
@TableName("treat_parameter")
public class TreatParameter {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private String symptomsName;
private String acupoint;
private String ul;
private String pl;
private String pw;
private String fr;
private String tl;
private String part;
}
@@ -0,0 +1,121 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-08-18
*/
@Getter
@Setter
@ToString
@TableName("user_consultation_record")
public class UserConsultationRecord implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String batchNumber;
private Integer userId;
private Integer physioId;
private String department;
private String patientName;
/**
* 疼痛点位
*/
private String painArea;
/**
* 病程
*/
private String painDuration;
/**
* 疼痛等级
*/
private String level;
/**
* 诱发动作
*/
private String inducedAction;
/**
* 放射范围
*/
private String radiationRange;
/**
* 伴随症状
*/
private String symptoms;
/**
* 关节受限
*/
private String jointRestricted;
/**
* 关节稳定
*/
private String jointStability;
/**
* 发病诱因
*/
private String triggeringFactors;
/**
* 过往治疗
*/
private String pastTreat;
/**
* 中医诊断
*/
private String chineseDiagnosis;
/**
* 西医诊断
*/
private String westernDiagnosis;
/**
* 禁忌
*/
private String taboo;
private String electronicPrescriptionUrl;
//调配者
private String coordinatorSignUrl;
//校对者
private String proofreaderSignUrl;
private LocalDate createTime;
private String drugPrice;
private String phoneNumber;
}
@@ -0,0 +1,28 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @Author hao
* @Date 2025/12/16 15:37
* @Version 1.0
**/
@Data
@TableName(value = "user_device_treat_record")
public class UserDeviceTreatRecord {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private Integer userId;
private String deviceId;
private LocalDateTime createTime;
}
@@ -0,0 +1,43 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author niuniu
* @since 2026-09-09
*/
@Getter
@Setter
@ToString
@TableName("user_free_trial_info")
public class UserFreeTrialInfo implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private Integer userId;
private String symptomPosition;
private Integer strainLevel;
private Integer restrictedDegree;
private Integer consumptionLevel;
private LocalDateTime createTime;
}
@@ -0,0 +1,46 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author caiwenhao
* @since 2026-03-09
*/
/*@Getter
@Setter
@ToString
@TableName("user_have_course")
public class UserHaveCourse implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private Integer wxUserId;
private Integer courseId;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime buyTime;
*//**
* 0--封锁;1--正常
*//*
private Integer status;
}*/
@@ -0,0 +1,55 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author caiwenhao
* @since 2026-05-08
*/
@Getter
@Setter
@ToString
@TableName("user_treatment_parameters")
public class UserTreatmentParameters implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
// private String openid;
private Integer appUserId;
private String deviceId;
private String ul;
private String pl;
private String pw;
private String fr;
private String tl;
private Integer status;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone="GMT+8")
private LocalDateTime createTime;
}
@@ -0,0 +1,90 @@
package cn.unizk.entity.po;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @Author hao
* @Date 2025/8/29 16:21
* @Version 1.0
**/
/*@TableName(value = "wx_order")
@Data
public class WxOrder {
@TableId(value = "order_id")
private String orderId;
private String outTradeNo;
private String openid;
private String productId;
private Integer comboId;
private Integer courseId;
private String description;
private BigDecimal totalPrice;
*//**
* paid---已支付
* unpaid---未支付
* canceled---订单已取消
* 'paid', 'unpaid', 'canceled','not_shipped','shipped','unverified','verified','to_be_evaluate','request_refund','refunded'
*//*
private String status;
private Integer storeId;
private Integer physioId;
private String deviceId;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime createTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private LocalDateTime payTime;
private String recipientPhone;
private String recipientName;
private String receivingAddress;
private String applyFzFlag;
private String deliveryWay;
private String hfSeqId;
private String rejectReason;
private LocalDateTime refundFinishTime;
private LocalDateTime applyRefundTime;
private String refundTrackingNumber;
private String refundReason;
private Integer afterSaleStatus;
//1--扫码付费开机;3--购买视频课程;4--会员充值;6--开通会员
private Integer orderType;
private String platformType;
private String refundReqSeqId;
}*/
Loaded 100 of 1456 files, more files were not shown because too many files have changed in this diff. Show more