first commit

This commit is contained in:
2026-01-27 14:03:02 +08:00
commit f20694754f
805 changed files with 92805 additions and 0 deletions

193
fuint-application/pom.xml Normal file
View File

@ -0,0 +1,193 @@
<?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>fuint</artifactId>
<groupId>com.fuint</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>fuint-application</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<properties>
<kaptcha.version>0.0.9</kaptcha.version>
</properties>
<dependencies>
<dependency>
<groupId>com.fuint</groupId>
<artifactId>fuint-framework</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>io.sentry</groupId>
<artifactId>sentry-logback</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>nl.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
<exclusions>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
</dependency>
<dependency>
<groupId>com.github.axet</groupId>
<artifactId>kaptcha</artifactId>
<version>${kaptcha.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.24.0-GA</version>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
<!-- aliyun短信API -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.4.6</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>transmittable-thread-local</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>com.github.javen205</groupId>
<artifactId>IJPay-WxPay</artifactId>
<version>2.9.12.1</version>
</dependency>
<dependency>
<groupId>com.github.javen205</groupId>
<artifactId>IJPay-AliPay</artifactId>
<version>2.9.12.1</version>
</dependency>
<dependency>
<groupId>com.github.javen205</groupId>
<artifactId>IJPay-UnionPay</artifactId>
<version>2.9.12.1</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
<!-- io常用工具类 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.13.0</version>
</dependency>
<!--常用工具类 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.12</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,38 @@
package com.fuint.common;
import java.util.HashMap;
import java.util.Map;
/**
* 常量定义
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
public class Constants {
// 第几页默认第1页
public static final int PAGE_NUMBER = 1;
// 每页记录数默认20条
public static final int PAGE_SIZE = 20;
// 读取数据最多行数
public static final int MAX_ROWS = 5000;
// 读取数据全部行数
public static final int ALL_ROWS = 1000000;
/**
* 系统配置, 从setting表中读取
*/
public static Map<String, String> SYS_CONFIGS = new HashMap<String, String>();
public static final int HTTP_RESPONSE_CODE_PARAM_ERROR = 202;
public static final int HTTP_RESPONSE_CODE_USER_NOT_EXIST = 402;
public static final int HTTP_RESPONSE_CODE_USER_LOGIN_ERROR = 403;
public static final int HTTP_RESPONSE_CODE_NOLOGIN = 1001;
public static final String SESSION_USER = "FUINT_USER";
public static final String SESSION_ADMIN_USER = "FUINT_ADMIN_USER";
}

View File

@ -0,0 +1,147 @@
package com.fuint.common.aspect;
import javassist.ClassClassPath;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAttribute;
import javassist.bytecode.LocalVariableAttribute;
import javassist.bytecode.MethodInfo;
import org.apache.commons.lang.ArrayUtils;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.stereotype.Component;
/**
* 控制器日志
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Component // 声明组件
@Aspect // 声明切面
@ComponentScan //组件自动扫描
@EnableAspectJAutoProxy // spring自动切换JDK动态代理和CGLIB
public class LogAop {
/**
*自定义日志
*/
private Logger logger = LoggerFactory.getLogger(LogAop.class);
/**
* 打印类method的名称以及参数
* @param point 切面
*/
public void printMethodParams(JoinPoint point){
if (point == null) {
return;
}
try {
// 获取方法的参数值数组。方法名、类型以及地址等信息
String className = point.getTarget().getClass().getName();
String methodName = point.getSignature().getName();
// 重新定义日志
logger = LoggerFactory.getLogger(point.getTarget().getClass());
logger.info("-------------------------"+className+"------------------------------------");
logger.info("methodName = {}", methodName);
// 获取方法的参数值数组
Object[] methodArgs = point.getArgs();
// 获取方法参数名称
String[] paramNames = getFieldsName(className, methodName);
// 输出方法的参数名和参数值
printParams(paramNames, methodArgs);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 使用获取方法参数名称
* @param class_name 类名
* @param method_name 方法名
* @throws Exception
*/
private String[] getFieldsName(String class_name, String method_name) throws Exception {
Class<?> clazz = Class.forName(class_name);
String clazz_name = clazz.getName();
ClassPool pool = ClassPool.getDefault();
ClassClassPath classPath = new ClassClassPath(clazz);
pool.insertClassPath(classPath);
try {
CtClass ctClass = pool.get(clazz_name);
CtMethod ctMethod = ctClass.getDeclaredMethod(method_name);
MethodInfo methodInfo = ctMethod.getMethodInfo();
CodeAttribute codeAttribute = methodInfo.getCodeAttribute();
LocalVariableAttribute attr = (LocalVariableAttribute) codeAttribute.getAttribute(LocalVariableAttribute.tag);
if (attr == null) {
return null;
}
String[] paramsArgsName = new String[ctMethod.getParameterTypes().length];
int pos = Modifier.isStatic(ctMethod.getModifiers()) ? 0 : 1;
for (int i = 0; i < paramsArgsName.length; i++) {
paramsArgsName[i] = attr.variableName(i + pos);
}
return paramsArgsName;
} catch (Exception ex) {
return null;
}
}
/**
* 判断是否为基本类型
*/
private boolean isPrimite(Class<?> clazz) {
if (clazz.isPrimitive() || clazz == String.class){
return true;
}else {
return false;
}
}
/**
* 打印方法参数值 基本类型直接打印非基本类型需要重写toString方法
* @param paramsArgsName 方法参数名数组
* @param paramsArgsValue 方法参数值数组
*/
private void printParams(String[] paramsArgsName, Object[] paramsArgsValue) {
if (ArrayUtils.isEmpty(paramsArgsName) || ArrayUtils.isEmpty(paramsArgsValue)) {
return;
}
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < paramsArgsName.length; i++) {
// 参数名
String name = paramsArgsName[i];
// 参数值
Object value = paramsArgsValue[i];
buffer.append(name +" = ");
if (isPrimite(value.getClass())) {
buffer.append(value + " ,");
} else {
buffer.append(value.toString() + " ,");
}
}
logger.info("params : " + buffer.toString());
logger.info("-------------------------------------------------------------");
}
/**
* 在方法执行前进行切面
* 定义切面表达式
* @param point 切面
*/
@Before("execution(public * com.fuint.module..*.*(..))")
public void before(JoinPoint point) {
this.printMethodParams(point);
}
}

View File

@ -0,0 +1,16 @@
package com.fuint.common.aspect;
import org.aspectj.lang.annotation.Aspect;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
/**
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Component
@Aspect
public class RedisModelAspect {
public static final Logger logger = LoggerFactory.getLogger(RedisModelAspect.class);
}

View File

@ -0,0 +1,240 @@
package com.fuint.common.aspect;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fuint.common.dto.AccountInfo;
import com.fuint.common.service.AccountService;
import com.fuint.common.service.ActionLogService;
import com.fuint.common.util.CommonUtil;
import com.fuint.common.util.TokenUtil;
import com.fuint.framework.annoation.OperationServiceLog;
import com.fuint.repository.model.TActionLog;
import com.fuint.utils.StringUtil;
import org.apache.commons.lang.StringUtils;
import org.apache.ibatis.javassist.*;
import org.apache.ibatis.javassist.bytecode.CodeAttribute;
import org.apache.ibatis.javassist.bytecode.LocalVariableAttribute;
import org.apache.ibatis.javassist.bytecode.MethodInfo;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.*;
import org.aspectj.lang.reflect.MethodSignature;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* 后台操作日志
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Component
@Aspect
public class TActionLogAop {
private final Logger logger = LoggerFactory.getLogger(TActionLogAop.class);
@Lazy
@Autowired
private ActionLogService tActionLogService;
@Lazy
@Autowired
private AccountService tAccountService;
private String userName = ""; // 用户名
private Integer merchantId = 0; // 商户ID
private Integer storeId = 0; // 店铺ID
private Long startTimeMillis = 0l; // 开始时间
private Long endTimeMillis = 0l; // 结束时间
private String clientIp = "";
private Integer clientPort = 0;
private String module = "";
private String url = "";
private String userAgent = "";
private String param = "";
// Service层切点
@Pointcut("@annotation(com.fuint.framework.annoation.OperationServiceLog)")
public void serviceAspect() {
// empty
}
/**
* service 方法前调用
*
* @param joinPoint
*/
@Before("serviceAspect()")
public void doBeforeService(JoinPoint joinPoint) {
// 记录方法开始执行的时间
startTimeMillis = System.currentTimeMillis();
Map<String, String> params = getJoinPointPramas(joinPoint);
String methodName = params.get("methodName");
String classPath = params.get("classPath");
Class<?> clazz = null;
CtMethod ctMethod = null;
LocalVariableAttribute attr = null;
int length = 0;
int pos = 0;
try {
//获取切入点参数
clazz = Class.forName(classPath);
String clazzName = clazz.getName();
ClassPool pool = ClassPool.getDefault();
ClassClassPath classClassPath = new ClassClassPath(clazz);
pool.insertClassPath(classClassPath);
CtClass ctClass = pool.get(clazzName);
ctMethod = ctClass.getDeclaredMethod(methodName);
MethodInfo methodInfo = ctMethod.getMethodInfo();
CodeAttribute codeAttribute = methodInfo.getCodeAttribute();
attr = (LocalVariableAttribute) codeAttribute.getAttribute(LocalVariableAttribute.tag);
length = ctMethod.getParameterTypes().length;
pos = Modifier.isStatic(ctMethod.getModifiers()) ? 0 : 1;
Object[] paramsArgsValues = joinPoint.getArgs();
String[] parmasArgsNames = new String[length];
Map<String, Object> parmasMap = new HashMap<String, Object>();
for (int i = 0; i < length; i++) {
parmasArgsNames[i] = attr.variableName(i + pos);
String paramsArgsName = attr.variableName(i + pos);
if (paramsArgsName.equalsIgnoreCase("request")
|| paramsArgsName.equalsIgnoreCase("response")
|| paramsArgsName.equalsIgnoreCase("session")
|| paramsArgsName.equalsIgnoreCase("model")) {
continue;
}
Object paramsArgsValue = paramsArgsValues[i];
parmasMap.put(paramsArgsName, paramsArgsValue);
}
param = JSON.toJSONString(parmasMap);
} catch (ClassNotFoundException e) {
logger.info("AOP切入点获取参数异常", e);
} catch (NotFoundException e) {
logger.info("AOP切入点获取参数异常", e);
} catch (Exception e) {
logger.info("AOP切入点获取参数异常", e.getMessage());
}
}
/**
* 方法后调用
*
* @param operationServiceLog
*/
@After("serviceAspect() && @annotation(operationServiceLog)")
public void doAfterInService(OperationServiceLog operationServiceLog) {
try {
HttpServletRequest request = getRequest();
if (request == null) {
return;
}
endTimeMillis = System.currentTimeMillis(); // 记录方法执行完成的时间
clientIp = CommonUtil.getIPFromHttpRequest(request);
userAgent = request.getHeader("user-agent");
url = request.getRequestURI();
clientPort = 0;
module = operationServiceLog.description();
if (module.length() > 255) {
module = module.substring(0, 255);
}
String token = request.getHeader("Access-Token");
if (StringUtils.isNotEmpty(token)) {
AccountInfo accountInfo = TokenUtil.getAccountInfoByToken(token);
if (accountInfo != null) {
userName = accountInfo.getAccountName();
merchantId = accountInfo.getMerchantId() == null ? 0 : accountInfo.getMerchantId();
storeId = accountInfo.getStoreId() == null ? 0 : accountInfo.getStoreId();
}
} else {
if (StringUtil.isNotEmpty(param) && param.length() > 10) {
JSONObject jsonObject = JSON.parseObject(param);
if (jsonObject != null) {
JSONObject tAccount = jsonObject.getJSONObject("tAccount");
if (tAccount != null) {
String accountName = tAccount.getString("username");
AccountInfo accountInfo = tAccountService.getAccountByName(accountName);
if (accountInfo != null) {
userName = accountInfo.getAccountName();
merchantId = accountInfo.getMerchantId();
storeId = accountInfo.getStoreId();
}
}
}
}
}
printOptLog();
} catch (Exception e) {
logger.error("保存后台日志出错啦:{}", e.getMessage());
e.printStackTrace();
}
}
/**
* 组装日志
*/
private void printOptLog() {
if (userAgent.length() > 255) {
userAgent = userAgent.substring(0, 255);
}
if (url.length() > 255) {
url = url.substring(0, 255);
}
TActionLog hal = new TActionLog();
hal.setAcctName(userName);
hal.setModule(module);
hal.setActionTime(new Date());
hal.setClientIp(clientIp);
hal.setClientPort(clientPort);
hal.setUrl(url);
hal.setTimeConsuming(new BigDecimal(endTimeMillis - startTimeMillis));
hal.setUserAgent(userAgent);
hal.setMerchantId(merchantId);
hal.setStoreId(storeId);
if (param.length() > 10000) {
param = param.substring(0, 10000);
}
hal.setParam(param.equals("{}") ? "" : param);
if (StringUtils.isNotEmpty(module) && userName != null && StringUtils.isNotEmpty(userName)) {
tActionLogService.saveActionLog(hal);
}
}
protected HttpServletRequest getRequest() {
try {
return ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
} catch (Exception e) {
return null;
}
}
/**
* 获取切入点参数信息
*
* @param joinPoint
* @return
*/
public Map<String, String> getJoinPointPramas(JoinPoint joinPoint) {
Map<String, String> mapParams = new HashMap<String, String>();
// 获取切入点所在的方法
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
Method smethod = signature.getMethod();
String classPath = joinPoint.getTarget().getClass().getName();
String methodName = joinPoint.getSignature().getName();
mapParams.put("module", module);
mapParams.put("classPath", classPath);
mapParams.put("methodName", methodName);
return mapParams;
}
}

View File

@ -0,0 +1,43 @@
package com.fuint.common.bean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import lombok.Data;
/**
* 支付宝支付Bean
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
@Component
@PropertySource("file:${env.properties.path}/${env.profile}/application.properties")
@ConfigurationProperties(prefix = "alipay")
public class AliPayBean {
private String appId;
private String privateKey;
private String publicKey;
private String appCertPath;
private String aliPayCertPath;
private String aliPayRootCertPath;
private String serverUrl;
private String domain;
@Override
public String toString() {
return "AliPayBean{" +
"appId='" + appId + '\'' +
", privateKey='" + privateKey + '\'' +
", publicKey='" + publicKey + '\'' +
", appCertPath='" + appCertPath + '\'' +
", aliPayCertPath='" + aliPayCertPath + '\'' +
", aliPayRootCertPath='" + aliPayRootCertPath + '\'' +
", serverUrl='" + serverUrl + '\'' +
", domain='" + domain + '\'' +
'}';
}
}

View File

@ -0,0 +1,83 @@
package com.fuint.common.bean;
import com.alibaba.fastjson.JSON;
/**
* H5支付Bean
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
public class H5SceneInfo {
private H5 h5_info;
public H5 getH5Info() {
return h5_info;
}
public void setH5Info(H5 h5_info) {
this.h5_info = h5_info;
}
@Override
public String toString() {
return JSON.toJSONString(this);
}
public static class H5 {
private String type;
private String app_name;
private String bundle_id;
private String package_name;
private String wap_url;
private String wap_name;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getApp_name() {
return app_name;
}
public void setApp_name(String app_name) {
this.app_name = app_name;
}
public String getBundle_id() {
return bundle_id;
}
public void setBundle_id(String bundle_id) {
this.bundle_id = bundle_id;
}
public String getPackage_name() {
return package_name;
}
public void setPackage_name(String package_name) {
this.package_name = package_name;
}
public String getWap_url() {
return wap_url;
}
public void setWap_url(String wap_url) {
this.wap_url = wap_url;
}
public String getWap_name() {
return wap_name;
}
public void setWap_name(String wap_name) {
this.wap_name = wap_name;
}
}
}

View File

@ -0,0 +1,35 @@
package com.fuint.common.bean;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
/**
* 云闪付支付Bean
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
@Component
@PropertySource("file:${env.properties.path}/${env.profile}/application.properties")
@ConfigurationProperties(prefix = "union")
public class UnionPayBean {
private String machId;
private String key;
private String serverUrl;
private String domain;
@Override
public String toString() {
return "UnionPayBean{" +
"machId='" + machId + '\'' +
", key='" + key + '\'' +
", serverUrl='" + serverUrl + '\'' +
", domain='" + domain + '\'' +
'}';
}
}

View File

@ -0,0 +1,33 @@
package com.fuint.common.bean;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
/**
* 微信支付Bean
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
@Component
@PropertySource("file:${env.properties.path}/${env.profile}/application.properties")
@ConfigurationProperties(prefix = "wxpay")
public class WxPayBean {
private String appId;
private String appSecret;
private String mchId;
private String apiV2;
private String certPath;
private String domain; // 填写完整的回调地址
@Override
public String toString() {
return "WxPayBean [appId=" + appId + ", appSecret=" + appSecret + ", mchId=" + mchId + ", apiV2="
+ apiV2 + ", certPath=" + certPath + ", domain=" + domain + "]";
}
}

View File

@ -0,0 +1,43 @@
package com.fuint.common.bean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import lombok.Data;
/**
* 微信V3支付Bean
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Component
@PropertySource("file:${env.properties.path}/${env.profile}/application.properties")
@ConfigurationProperties(prefix = "v3")
@Data
public class WxPayV3Bean {
private String appId;
private String keyPath;
private String certPath;
private String certP12Path;
private String platformCertPath;
private String mchId;
private String apiKey;
private String apiKey3;
private String domain;
@Override
public String toString() {
return "WxPayV3Bean{" +
"keyPath='" + keyPath + '\'' +
", certPath='" + certPath + '\'' +
", certP12Path='" + certP12Path + '\'' +
", platformCertPath='" + platformCertPath + '\'' +
", mchId='" + mchId + '\'' +
", apiKey='" + apiKey + '\'' +
", apiKey3='" + apiKey3 + '\'' +
", domain='" + domain + '\'' +
'}';
}
}

View File

@ -0,0 +1,36 @@
package com.fuint.common.bean.shoppingOrders;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 联系人Bean
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ContactBean implements Serializable {
private static final long serialVersionUID = 2256209964320569284L;
/**
* 寄件人联系方式寄件人联系方式采用掩码传输最后4位数字不能打掩码 示例值: `189****1234, 021-****1234, ****1234, 0**2-***1234, 0**2-******23-10, ****123-8008` 值限制: 0 ≤ value ≤ 1024
*/
@SerializedName("consignor_contact")
private String consignorContact;
/**
* 收件人联系方式收件人联系方式为采用掩码传输最后4位数字不能打掩码 示例值: `189****1234, 021-****1234, ****1234, 0**2-***1234, 0**2-******23-10, ****123-8008` 值限制: 0 ≤ value ≤ 1024
*/
@SerializedName("receiver_contact")
private String receiverContact;
}

View File

@ -0,0 +1,49 @@
package com.fuint.common.bean.shoppingOrders;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 订单需要上传物流信息的订单Bean
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderKeyBean implements Serializable {
private static final long serialVersionUID = 1486092394664728388L;
/**
* 必填
* 订单单号类型用于确认需要上传详情的订单。枚举值1使用下单商户号和商户侧单号枚举值2使用微信支付单号。
*/
@SerializedName("order_number_type")
private int orderNumberType;
/**
* 原支付交易对应的微信订单号
*/
@SerializedName("transaction_id")
private String transactionId;
/**
* 支付下单商户的商户号,由微信支付生成并下发。
*/
@SerializedName("mchid")
private String mchId;
/**
* 商户系统内部订单号,只能是数字、大小写字母`_-*`且在同一个商户号下唯一
*/
@SerializedName("out_trade_no")
private String outTradeNo;
}

View File

@ -0,0 +1,31 @@
package com.fuint.common.bean.shoppingOrders;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 支付者支付者信息Bean
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PayerBean implements Serializable {
private static final long serialVersionUID = -7943088204264205895L;
/**
* 必填
* 用户标识用户在小程序appid下的唯一标识。 下单前需获取到用户的Openid 示例值: oUpF8uMuAJO_M2pxb1Q9zNjWeS6o 字符字节限制: [1, 128]
*/
@SerializedName("openid")
private String openid;
}

View File

@ -0,0 +1,67 @@
package com.fuint.common.bean.shoppingOrders;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 上传发货信息
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ShippingInfo implements Serializable {
private static final long serialVersionUID = 2105037984591600658L;
/**
* 必填
* 订单,需要上传物流信息的订单
*/
@SerializedName("order_key")
private OrderKeyBean orderKey;
/**
* 必填
* 发货模式发货模式枚举值1、UNIFIED_DELIVERY统一发货2、SPLIT_DELIVERY分拆发货
* 示例值: UNIFIED_DELIVERY
*/
@SerializedName("delivery_mode")
private int deliveryMode;
/**
* 必填
* 物流模式发货方式枚举值1、实体物流配送采用快递公司进行实体物流配送形式 2、同城配送 3、虚拟商品虚拟商品例如话费充值点卡等无实体配送形式 4、用户自提
* */
@SerializedName("logistics_type")
private int logisticsType;
/**
* 必填
* 物流信息列表,发货物流单列表,支持统一发货(单个物流单)和分拆发货(多个物流单)两种模式,多重性: [1, 10]
*/
@SerializedName("shipping_list")
private List<ShippingListBean> shippingList;
/**
* 必填
* 上传时间,用于标识请求的先后顺序 示例值: `2022-12-15T13:29:35.120+08:00
*/
@SerializedName("upload_time")
private String uploadTime;
/**
* 必填
* 支付者,支付者信息
*/
@SerializedName("payer")
private PayerBean payer;
}

View File

@ -0,0 +1,64 @@
package com.fuint.common.bean.shoppingOrders;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 上传发货信息Bean
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ShippingListBean implements Serializable {
private static final long serialVersionUID = -6884739637300493109L;
/**
* 物流单号,物流快递发货时必填,示例值: 323244567777 字符字节限制: [1, 128]
*/
@SerializedName("tracking_no")
private String trackingNo;
/**
* 物流公司编码快递公司ID参见「查询物流公司编码列表」物流快递发货时必填 示例值: DHL 字符字节限制: [1, 128]
*/
@SerializedName("express_company")
private String expressCompany;
/**
* 物流关联的商品列表,当统一发货(单个物流单)时,该项不填;当分拆发货(多个物流单)时,需填入各物流单关联的商品列表 多重性: [0, 50]
*/
@SerializedName("item_list")
private List<ShippingItemListBean> itemList;
/**
* 联系方式,当发货的物流公司为顺丰时,联系方式为必填,收件人或寄件人联系方式二选一
*/
@SerializedName("contact")
private ContactBean contact;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class ShippingItemListBean implements Serializable {
private static final long serialVersionUID = -1433227869321841858L;
/**
* 商户侧商品ID商户系统内部商品编码分拆发货模式下为必填用于标识每笔物流单号内包含的商品需与「上传购物详情」中传入的商品ID匹配
* 示例值: 1246464644 字符字节限制: [1, 64]
*/
@SerializedName("merchant_item_id")
private String merchantItemId;
}
}

View File

@ -0,0 +1,41 @@
package com.fuint.common.config;
import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.io.InputStream;
import java.util.Properties;
/**
* 图形验证码组件配置
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Configuration
public class CaptchaConfig {
private static final Logger logger = LoggerFactory.getLogger(CaptchaConfig.class);
/**
* 验证码
*/
@Bean
public DefaultKaptcha defaultCaptcha() {
DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
Properties property = new Properties();
try {
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("captcha-conf.properties");
property.load(inputStream);
Config config = new Config(property);
defaultKaptcha.setConfig(config);
} catch (Exception e) {
logger.error("Kaptcha properties load error {}", e);
throw new RuntimeException("Kaptcha properties load error");
}
return defaultKaptcha;
}
}

View File

@ -0,0 +1,23 @@
package com.fuint.common.config;
/**
* 消息定义
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
public class Message {
public static final String PARAM_ERROR = "参数出错";
public static final String COUPON_NOT_EXIST = "该卡券不存在";
public static final String COUPON_IS_EXPIRE = "该卡券未生效";
public static final String USER_NOT_EXIST = "该用户不存在";
public static final String MAX_COUPON_LIMIT = "已经领取过了";
public static final String COUPON_TYPE_ERROR = "卡券类型有误";
public static final String POINT_LIMIT = "您的积分不足";
public static final String NEED_CODE = "需要领取码";
public static final String CODE_ERROR = "领取码错误";
public static final String CODE_ERROR_1 = "核销码错误";
public static final String GRADE_ERROR = "该卡券不适用于您的会员等级";
public static final String HAS_COUPON = "您已领取过该卡券";
public static final String SEND_WAY_ERROR = "该卡券无法领取";
}

View File

@ -0,0 +1,51 @@
package com.fuint.common.config;
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.injector.LogicSqlInjector;
import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* MybatisPlus配置
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Configuration
@MapperScan({"com.fuint.repository.**.mapper"})
public class MybatisPlusConfig {
/**
* 分页插件
* @return PaginationInterceptor
*/
@Bean
@ConditionalOnMissingBean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
/**
* 逻辑删除插件
*
* @return LogicSqlInjector
*/
@Bean
@ConditionalOnMissingBean
public ISqlInjector sqlInjector() {
return new LogicSqlInjector();
}
/**
* 乐观锁插件
* @return
*/
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor() {
return new OptimisticLockerInterceptor();
}
}

View File

@ -0,0 +1,67 @@
package com.fuint.common.config;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.interceptor.KeyGenerator;
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.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.session.data.redis.config.ConfigureRedisAction;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
/**
* 配置redis缓存
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Configuration
@EnableCaching
@EnableRedisHttpSession
public class RedisConfig extends CachingConfigurerSupport {
@Autowired
private RedisConnectionFactory redisConnectionFactory;
@Bean
public KeyGenerator keyGenerator() {
return (target, method, params) -> {
StringBuilder sb = new StringBuilder();
sb.append(target.getClass().getName());
sb.append(method.getName());
for (Object obj : params) {
sb.append(obj.toString());
}
return sb.toString();
};
}
@Bean
public static ConfigureRedisAction configureRedisAction() {
return ConfigureRedisAction.NO_OP;
}
@Bean
Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer(ObjectMapper objectMapper) {
Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(
Object.class);
jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
return jackson2JsonRedisSerializer;
}
@Bean
RedisTemplate<String, Object> redisTemplate(Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
redisTemplate.setDefaultSerializer(jackson2JsonRedisSerializer);
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
redisTemplate.setKeySerializer(stringRedisSerializer);
redisTemplate.setHashKeySerializer(stringRedisSerializer);
return redisTemplate;
}
}

View File

@ -0,0 +1,100 @@
package com.fuint.common.config;
import org.springframework.context.annotation.Bean;
import org.springframework.http.HttpMethod;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
/**
* 安全中心配置
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
/**
* 解决 无法直接注入 AuthenticationManager
*
* @return
* @throws Exception
*/
@Bean
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
/**
* anyRequest | 匹配所有请求路径
* access | SpringEl表达式结果为true时可以访问
* anonymous | 匿名可以访问
* denyAll | 用户不能访问
* fullyAuthenticated | 用户完全认证可以访问非remember-me下自动登录
* hasAnyAuthority | 如果有参数,参数表示权限,则其中任何一个权限可以访问
* hasAnyRole | 如果有参数,参数表示角色,则其中任何一个角色可以访问
* hasAuthority | 如果有参数,参数表示权限,则其权限可以访问
* hasIpAddress | 如果有参数参数表示IP地址如果用户IP和参数匹配则可以访问
* hasRole | 如果有参数,参数表示角色,则其角色可以访问
* permitAll | 用户可以任意访问
* rememberMe | 允许通过remember-me登录的用户访问
* authenticated | 用户登录后可访问
*/
@Override
protected void configure(HttpSecurity httpSecurity) throws Exception {
httpSecurity
// CSRF禁用因为不使用session
.csrf().disable()
// 基于token所以不需要session
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
// 过滤请求
.authorizeRequests()
// 允许匿名访问
.antMatchers(
"/clientApi/**",
"/backendApi/**",
"/merchantApi/**"
).anonymous()
.antMatchers(
HttpMethod.GET,
"/",
"/static/**",
"/*.html",
"/**/*.html",
"/**/*.css",
"/**/*.js",
"/profile/**"
).permitAll()
.antMatchers("/swagger-ui.html").anonymous()
.antMatchers("/swagger-resources/**").anonymous()
.antMatchers("/webjars/**").anonymous()
.antMatchers("/*/api-docs").anonymous()
.antMatchers("/druid/**").anonymous()
// 除上面外的所有请求全部需要鉴权认证
.anyRequest().authenticated()
.and()
.headers().frameOptions().disable();
}
/**
* 强散列哈希加密实现
*/
@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder() {
return new BCryptPasswordEncoder();
}
/**
* 身份认证接口
*/
@Override
protected void configure(AuthenticationManagerBuilder auth) {
// empty
}
}

View File

@ -0,0 +1,44 @@
package com.fuint.common.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* Swagger接口文档
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig implements WebMvcConfigurer {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.enable(true)
.select()
.apis(RequestHandlerSelectors.basePackage("com.fuint.module"))
.build();
}
@Bean
public ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("fuint会员营销系统接口文档")
.description("fuint会员营销系统接口文档“/clientApi”目录接口为会员端相关接口“/backendApi”目录接口为后台管理端相关接口。")
.termsOfServiceUrl("https://www.fuint.cn/")
.contact(new Contact("海南延禾信息技术有限公司","https://www.fuint.cn/", "fushengqian@qq.com"))
.version("1.0")
.build();
}
}

View File

@ -0,0 +1,110 @@
package com.fuint.common.config;
import com.fuint.common.web.AdminUserInterceptor;
import com.fuint.common.web.CommandInterceptor;
import com.fuint.common.web.ClientUserInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.CacheControl;
import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.web.servlet.config.annotation.*;
import org.springframework.web.servlet.resource.CssLinkResourceTransformer;
import org.springframework.web.servlet.resource.VersionResourceResolver;
import java.util.concurrent.TimeUnit;
/**
* web配置
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**")
.addResourceLocations("/resources/", "classpath:/other-resources/")
.setCacheControl(CacheControl.maxAge(365, TimeUnit.DAYS))
.resourceChain(false)
.addResolver(new VersionResourceResolver().addContentVersionStrategy("/**"))
.addTransformer(new CssLinkResourceTransformer());
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
registry.addResourceHandler("/**").addResourceLocations(
"classpath:/static/");
registry.addResourceHandler("swagger-ui.html").addResourceLocations(
"classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations(
"classpath:/META-INF/resources/webjars/");
super.addResourceHandlers(registry);
}
@Bean
public CommandInterceptor commandInterceptor() {
return new CommandInterceptor();
}
@Bean
public AdminUserInterceptor adminUserInterceptor() {
return new AdminUserInterceptor();
}
@Bean
public ClientUserInterceptor portalUserInterceptor() {
return new ClientUserInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
// Command
registry.addInterceptor(commandInterceptor())
.addPathPatterns("/cmd/**");
// 后台拦截
registry.addInterceptor(adminUserInterceptor())
.addPathPatterns("/backendApi/**")
.excludePathPatterns("/clientApi/captcha/**")
.excludePathPatterns("/backendApi/captcha/**")
.excludePathPatterns("/backendApi/userCoupon/exportList")
.excludePathPatterns("/backendApi/order/export")
.excludePathPatterns("/backendApi/goods/goods/downloadTemplate")
.excludePathPatterns("/backendApi/member/downloadTemplate")
.excludePathPatterns("/backendApi/login/**");
// 客户端拦截
registry.addInterceptor(portalUserInterceptor())
.addPathPatterns("/clientApi/**")
.excludePathPatterns("/clientApi/sign/**")
.excludePathPatterns("/clientApi/page/home")
.excludePathPatterns("/clientApi/captcha/**")
.excludePathPatterns("/clientApi/goodsApi/**")
.excludePathPatterns("/clientApi/coupon/list")
.excludePathPatterns("/clientApi/coupon/detail")
.excludePathPatterns("/clientApi/cart/**")
.excludePathPatterns("/clientApi/user/**")
.excludePathPatterns("/clientApi/settlement/submit")
.excludePathPatterns("/clientApi/pay/doPay")
.excludePathPatterns("/clientApi/pay/weixinCallback")
.excludePathPatterns("/clientApi/pay/weixinRefundNotify")
.excludePathPatterns("/clientApi/pay/aliPayCallback")
.excludePathPatterns("/clientApi/order/todoCounts")
.excludePathPatterns("/clientApi/order/detail")
.excludePathPatterns("/clientApi/store/**")
.excludePathPatterns("/clientApi/article/**")
.excludePathPatterns("/clientApi/message/getOne")
.excludePathPatterns("/clientApi/message/wxPush")
.excludePathPatterns("/clientApi/sms/sendVerifyCode")
.excludePathPatterns("/clientApi/book/list")
.excludePathPatterns("/clientApi/book/detail")
.excludePathPatterns("/clientApi/book/cateList");
}
@Bean
public CharacterEncodingFilter characterEncodingFilter() {
CharacterEncodingFilter filter = new CharacterEncodingFilter();
filter.setEncoding("UTF-8");
filter.setForceEncoding(true);
return filter;
}
}

View File

@ -0,0 +1,66 @@
package com.fuint.common.domain;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 树状结构节点实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class TreeNode implements Serializable {
@ApiModelProperty("菜单ID")
private long id;
@ApiModelProperty("菜单名称")
private String name;
@ApiModelProperty("菜单名称(字母)")
private String ename;
@ApiModelProperty("节点是否打开")
private Boolean open;
@ApiModelProperty("是否菜单")
private int isMenu;
@ApiModelProperty("节点是否选中")
private Boolean checked;
@ApiModelProperty("url")
private String url;
@ApiModelProperty("路径")
private String path;
@ApiModelProperty("权限标识")
private String perms;
@ApiModelProperty("子菜单")
private List<TreeNode> childrens = new ArrayList<>();
@ApiModelProperty("菜单级别")
private int level;
@ApiModelProperty("上级菜单")
private long pId;
@ApiModelProperty("图标")
private String icon;
@ApiModelProperty("新图标")
private String newIcon;
@ApiModelProperty("排序")
private Integer sort;
@ApiModelProperty("状态")
private String status;
}

View File

@ -0,0 +1,61 @@
package com.fuint.common.domain;
import java.io.Serializable;
import java.util.List;
import java.util.stream.Collectors;
import com.fasterxml.jackson.annotation.JsonInclude;
/**
* TreeSelect树结构实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
public class TreeSelect implements Serializable {
private static final long serialVersionUID = 1L;
// 节点ID
private Long id;
// 节点名称
private String label;
// 子节点
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<TreeSelect> childrens;
public TreeSelect() {
// empty
}
public TreeSelect(TreeNode menu) {
this.id = menu.getId();
this.label = menu.getName();
this.childrens = menu.getChildrens().stream().map(TreeSelect::new).collect(Collectors.toList());
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public List<TreeSelect> getChildrens() {
return childrens;
}
public void setChildrens(List<TreeSelect> childrens) {
this.childrens = childrens;
}
}

View File

@ -0,0 +1,67 @@
package com.fuint.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* 后台账户实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class AccountDto {
@ApiModelProperty("账户主键id")
private Integer id;
@ApiModelProperty("账户编码")
private String accountKey;
@ApiModelProperty("账户名称")
private String accountName;
@ApiModelProperty("密码")
private String password;
@ApiModelProperty("状态 : 0 无效 1 有效")
private int accountStatus;
@ApiModelProperty("激活状态 : 0 未激活 1已激活")
private int isActive;
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createDate;
@ApiModelProperty("修改时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date modifyDate;
@ApiModelProperty("随机码(公盐)")
private String salt;
@ApiModelProperty("是否被锁定")
private int locked;
@ApiModelProperty("真实姓名")
private String realName;
@ApiModelProperty("所属商户ID")
private Integer merchantId;
@ApiModelProperty("所属商户名称")
private String merchantName;
@ApiModelProperty("所属店铺ID")
private Integer storeId;
@ApiModelProperty("所属店铺名称")
private String storeName;
@ApiModelProperty("关联员工ID")
private Integer staffId;
}

View File

@ -0,0 +1,74 @@
package com.fuint.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 后台登录账号信息
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class AccountInfo implements Serializable {
@ApiModelProperty("账户主键id")
private Integer id;
@ApiModelProperty("账户编码")
private String accountKey;
@ApiModelProperty("账户名称")
private String accountName;
@ApiModelProperty("状态 : 0 无效 1 有效")
private int accountStatus;
@ApiModelProperty("激活状态 : 0 未激活 1已激活")
private String isActive;
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createDate;
@ApiModelProperty("修改时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date modifyDate;
@ApiModelProperty("随机码(公盐)")
private String salt;
@ApiModelProperty("所属角色ID")
private String roleIds;
@ApiModelProperty("是否被锁定")
private int locked;
@ApiModelProperty("从属对象")
private int ownerId;
@ApiModelProperty("真实姓名")
private String realName;
@ApiModelProperty("所属商户ID")
private Integer merchantId;
@ApiModelProperty("所属商户名称")
private String merchantName;
@ApiModelProperty("所属店铺ID")
private Integer storeId;
@ApiModelProperty("所属店铺名称")
private String storeName;
@ApiModelProperty("关联员工ID")
private Integer staffId;
@ApiModelProperty("登录的Token")
private String token;
}

View File

@ -0,0 +1,54 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 会员地址信息
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class AddressDto implements Serializable {
@ApiModelProperty("账户主键ID")
private Integer id;
@ApiModelProperty("会员ID")
private Integer userId;
@ApiModelProperty("会员名称")
private String name;
@ApiModelProperty("会员手机号")
private String mobile;
@ApiModelProperty("省份ID")
private Integer provinceId;
@ApiModelProperty("省份名称")
private String provinceName;
@ApiModelProperty("城市ID")
private Integer cityId;
@ApiModelProperty("城市名称")
private String cityName;
@ApiModelProperty("区ID")
private Integer regionId;
@ApiModelProperty("区名称")
private String regionName;
@ApiModelProperty("详细地址")
private String detail;
@ApiModelProperty("是否默认地址")
private String isDefault;
@ApiModelProperty("状态")
private String status;
}

View File

@ -0,0 +1,60 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 文章实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class ArticleDto implements Serializable {
@ApiModelProperty("账户主键ID")
private Integer id;
@ApiModelProperty("标题")
private String title;
@ApiModelProperty("简介")
private String brief;
@ApiModelProperty("所属商户ID")
private Integer merchantId;
@ApiModelProperty("所属店铺")
private Integer storeId;
@ApiModelProperty("链接地址")
private String url;
@ApiModelProperty("点击数")
private Long click;
@ApiModelProperty("图片地址")
private String image;
@ApiModelProperty("描述")
private String description;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("状态 A正常D删除")
private String status;
@ApiModelProperty("排序")
private Integer sort;
}

View File

@ -0,0 +1,23 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 个人资产实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class AssetDto {
@ApiModelProperty("次卡数量")
private Integer timer;
@ApiModelProperty("储值卡数量")
private Integer prestore;
@ApiModelProperty("优惠券数量")
private Integer coupon;
}

View File

@ -0,0 +1,53 @@
package com.fuint.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fuint.repository.model.MtUser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 余额变动实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class BalanceDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("会员ID")
private Integer userId;
@ApiModelProperty("会员信息")
private MtUser userInfo;
@ApiModelProperty("订单号")
private String orderSn;
@ApiModelProperty("余额变化数量")
private BigDecimal amount;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("创建时间")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("备注说明")
private String description;
@ApiModelProperty("状态A正常D删除")
private String status;
@ApiModelProperty("最后操作人")
private String operator;
}

View File

@ -0,0 +1,57 @@
package com.fuint.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 焦点图实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class BannerDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("标题")
private String title;
@ApiModelProperty("所属商户ID")
private Integer merchantId;
@ApiModelProperty("所属店铺ID")
private Integer storeId;
@ApiModelProperty("链接地址")
private String url;
@ApiModelProperty("图片地址")
private String image;
@ApiModelProperty("描述信息")
private String description;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("创建时间")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("排序")
private Integer sort;
@ApiModelProperty("状态A正常D删除")
private String status;
}

View File

@ -0,0 +1,31 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Map;
/**
* 消息体Body信息
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class Body implements Serializable {
@ApiModelProperty("入参信息")
private Map<String,Object> inParams;
@ApiModelProperty("出参信息")
private Map<String,Object> outParams;
@Override
public String toString() {
final StringBuilder sb = new StringBuilder("Body{");
sb.append("inParams=").append(inParams);
sb.append(", outParams=").append(outParams);
sb.append('}');
return sb.toString();
}
}

View File

@ -0,0 +1,51 @@
package com.fuint.common.dto;
import java.io.Serializable;
import java.util.Date;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 预约分类实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class BookCateDto implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("分类名称")
private String name;
@ApiModelProperty("所属商户ID")
private Integer merchantId;
@ApiModelProperty("所属店铺ID")
private Integer storeId;
@ApiModelProperty("图片地址")
private String logo;
@ApiModelProperty("描述")
private String description;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("排序")
private Integer sort;
@ApiModelProperty("A正常D删除")
private String status;
}

View File

@ -0,0 +1,83 @@
package com.fuint.common.dto;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 预约实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class BookDto implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("预约名称")
private String name;
@ApiModelProperty("所属商户ID")
private Integer merchantId;
@ApiModelProperty("所属店铺ID")
private Integer storeId;
@ApiModelProperty("预约类型")
private String type;
@ApiModelProperty("图片地址")
private String logo;
@ApiModelProperty("关联商品ID")
private Integer goodsId;
@ApiModelProperty("类别ID")
private Integer cateId;
@ApiModelProperty("可预约日期")
private String serviceDates;
@ApiModelProperty("可预约日期,字符串")
private String dates = "";
@ApiModelProperty("可预约日期列表")
private List<DayDto> dateList;
@ApiModelProperty("可预约时间段")
private String serviceTimes;
@ApiModelProperty("可预约时间段列表")
private List<TimeDto> timeList;
@ApiModelProperty("可预约可预约时段")
private List<BookTimeDto> times;
@ApiModelProperty("可预约员工ID")
private String serviceStaffIds;
@ApiModelProperty("描述")
private String description;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("排序")
private Integer sort;
@ApiModelProperty("A正常D删除")
private String status;
}

View File

@ -0,0 +1,87 @@
package com.fuint.common.dto;
import java.io.Serializable;
import java.util.Date;
import com.fuint.repository.model.MtStore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 预约订单Dto
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class BookItemDto implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("所属商户ID")
private Integer merchantId;
@ApiModelProperty("所属店铺ID")
private Integer storeId;
@ApiModelProperty("所属店铺信息")
private MtStore storeInfo;
@ApiModelProperty("预约分类ID")
private Integer cateId;
@ApiModelProperty("预约项目ID")
private Integer bookId;
@ApiModelProperty("预约项目名称")
private String bookName;
@ApiModelProperty("预约用户ID")
private Integer userId;
@ApiModelProperty("订单商品ID")
private Integer goodsId;
@ApiModelProperty("已购商品名称")
private String goodsName;
@ApiModelProperty("核销码")
private String verifyCode;
@ApiModelProperty("预约联系人")
private String contact;
@ApiModelProperty("预约手机号")
private String mobile;
@ApiModelProperty("预约日期")
private String serviceDate;
@ApiModelProperty("预约时间段")
private String serviceTime;
@ApiModelProperty("预约备注")
private String remark;
@ApiModelProperty("预约员工ID")
private Integer serviceStaffId;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("A已提交B审核通过C审核未通过D删除E已完成")
private String status;
@ApiModelProperty("状态")
private String statusName;
}

View File

@ -0,0 +1,25 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 预约时段Dto
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class BookTimeDto implements Serializable {
@ApiModelProperty("时间段")
private String startTime;
@ApiModelProperty("时间段")
private String endTime;
@ApiModelProperty("可预订数量")
private String num;
}

View File

@ -0,0 +1,67 @@
package com.fuint.common.dto;
import com.fuint.repository.model.MtStaff;
import com.fuint.repository.model.MtStore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 分销提成提现实体
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class CommissionCashDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("结算单号")
private String settleNo;
@ApiModelProperty("结算uuid")
private String uuid;
@ApiModelProperty("商户ID")
private Integer merchantId;
@ApiModelProperty("店铺ID")
private Integer storeId;
@ApiModelProperty("所属店铺信息")
private MtStore storeInfo;
@ApiModelProperty("会员ID")
private Integer userId;
@ApiModelProperty("用户信息")
private OrderUserDto userInfo;
@ApiModelProperty("员工ID")
private Integer staffId;
@ApiModelProperty("所属店铺信息")
private MtStaff staffInfo;
@ApiModelProperty("金额")
private BigDecimal amount;
@ApiModelProperty("备注")
private String description;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("状态")
private String status;
}

View File

@ -0,0 +1,96 @@
package com.fuint.common.dto;
import com.fuint.repository.model.MtCommissionRule;
import com.fuint.repository.model.MtOrder;
import com.fuint.repository.model.MtStaff;
import com.fuint.repository.model.MtStore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 分销提成记录实体
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class CommissionLogDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("分佣类型")
private String type;
@ApiModelProperty("分佣对象")
private String target;
@ApiModelProperty("分佣类型名称")
private String typeName;
@ApiModelProperty("分佣等级")
private Integer level;
@ApiModelProperty("会员ID")
private Integer userId;
@ApiModelProperty("用户信息")
private OrderUserDto userInfo;
@ApiModelProperty("商户ID")
private Integer merchantId;
@ApiModelProperty("店铺ID")
private Integer storeId;
@ApiModelProperty("所属店铺信息")
private MtStore storeInfo;
@ApiModelProperty("员工ID")
private Integer staffId;
@ApiModelProperty("所属店铺信息")
private MtStaff staffInfo;
@ApiModelProperty("订单ID")
private Integer orderId;
@ApiModelProperty("订单信息")
private MtOrder orderInfo;
@ApiModelProperty("分佣金额")
private BigDecimal amount;
@ApiModelProperty("规则ID")
private Integer ruleId;
@ApiModelProperty("分佣规则信息")
private MtCommissionRule ruleInfo;
@ApiModelProperty("备注")
private String description;
@ApiModelProperty("提现记录ID")
private Integer cashId;
@ApiModelProperty("最后操作人")
private String isCash;
@ApiModelProperty("提现时间")
private Date cashTime;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("状态")
private String status;
}

View File

@ -0,0 +1,57 @@
package com.fuint.common.dto;
import com.fuint.repository.model.MtUser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 分销提成邀请记录实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class CommissionRelationDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("所属商户ID")
private Integer merchantId;
@ApiModelProperty("会员ID")
private Integer userId;
@ApiModelProperty("会员信息")
private MtUser userInfo;
@ApiModelProperty("邀请码")
private String inviteCode;
@ApiModelProperty("被邀请会员ID")
private Integer subUserId;
@ApiModelProperty("会员信息")
private MtUser subUserInfo;
@ApiModelProperty("等级")
private Integer level;
@ApiModelProperty("备注")
private String description;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("状态")
private String status;
}

View File

@ -0,0 +1,64 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 分销提成规则实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class CommissionRuleDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("规则名称")
private String name;
@ApiModelProperty("方案类型,goods:商品销售coupon卡券销售recharge会员充值")
private String type;
@ApiModelProperty("分佣对象,member:会员分销staff员工提成")
private String target;
@ApiModelProperty("商户ID")
private Integer merchantId;
@ApiModelProperty("店铺ID")
private Integer storeId;
@ApiModelProperty("适用店铺ID列表")
private List<Integer> storeIdList;
@ApiModelProperty("具体项目列表")
private List<CommissionRuleItemDto> detailList;
@ApiModelProperty("散客值")
private BigDecimal visitorVal;
@ApiModelProperty("会员值")
private BigDecimal memberVal;
@ApiModelProperty("备注")
private String description;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("状态")
private String status;
}

View File

@ -0,0 +1,40 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 分销提成规则项目实体
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class CommissionRuleItemDto implements Serializable {
@ApiModelProperty("商品ID")
private Integer goodsId;
@ApiModelProperty("商品名称")
private String goodsName;
@ApiModelProperty("商品logo")
private String logo;
@ApiModelProperty("商品价格")
private BigDecimal price;
@ApiModelProperty("方案类型,goods:商品销售coupon卡券销售recharge会员充值")
private String type;
@ApiModelProperty("提成方式")
private String method;
@ApiModelProperty("散客值")
private BigDecimal visitorVal;
@ApiModelProperty("会员值")
private BigDecimal memberVal;
}

View File

@ -0,0 +1,65 @@
package com.fuint.common.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.fuint.repository.model.MtCoupon;
import com.fuint.repository.model.MtStore;
import com.fuint.repository.model.MtUser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 核销卡券流水dto
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class ConfirmLogDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("核销编码")
private String code;
@ApiModelProperty("核销状态")
private String status;
@ApiModelProperty("会员卡券ID")
private Integer userCouponId;
@ApiModelProperty("卡券信息")
private MtCoupon couponInfo;
@ApiModelProperty("会员信息")
private MtUser userInfo;
@ApiModelProperty("核销店铺信息")
private MtStore storeInfo;
@JSONField(format="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("创建时间")
private Date createTime;
@JSONField(format="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("核销金额")
private BigDecimal amount;
@ApiModelProperty("核销uuid")
private String uuid;
@ApiModelProperty("核销备注")
private String remark;
@ApiModelProperty("最后操作人")
private String operator;
}

View File

@ -0,0 +1,28 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* 卡券导入单元实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class CouponCellDto {
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("商户ID")
private Integer merchantId;
@ApiModelProperty("分组ID")
private List<Integer> groupId;
@ApiModelProperty("发放数量")
private List<Integer> num;
}

View File

@ -0,0 +1,80 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 卡券实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class CouponDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("卡券名称")
private String name;
@ApiModelProperty("卡券类型")
private String type;
@ApiModelProperty("内容")
private Integer content;
@ApiModelProperty("状态")
private String status;
@ApiModelProperty("获取规则")
private String inRule;
@ApiModelProperty("使用规则")
private String outRule;
@ApiModelProperty("图片")
private String image;
@ApiModelProperty("面额")
private BigDecimal amount;
@ApiModelProperty("领取需要积分数量")
private Integer point;
@ApiModelProperty("卖点")
private String sellingPoint;
@ApiModelProperty("已领取、预存数量")
private Integer gotNum;
@ApiModelProperty("剩余数量")
private Integer leftNum;
@ApiModelProperty("发行数量")
private Integer total;
@ApiModelProperty("限制数量")
private Integer limitNum;
@ApiModelProperty("适用店铺")
private String storeNames;
@ApiModelProperty("是否领取")
private Boolean isReceive;
@ApiModelProperty("是否需要领取码")
private boolean needReceiveCode;
@ApiModelProperty("会员卡券ID")
private int userCouponId;
@ApiModelProperty("有效期")
private String effectiveDate;
@ApiModelProperty("卡券说明")
private String description;
}

View File

@ -0,0 +1,20 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 日期实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class DateDto {
@ApiModelProperty("开始时间")
private String startDate;
@ApiModelProperty("结束时间")
private String endDate;
}

View File

@ -0,0 +1,24 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 日期Dto
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class DayDto implements Serializable {
@ApiModelProperty("星期")
private String week;
@ApiModelProperty("日期")
private String date;
@ApiModelProperty("是否可预订")
private Boolean enable;
}

View File

@ -0,0 +1,27 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 订单物流信息dto
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class ExpressDto {
@ApiModelProperty("物流公司名称")
private String expressCompany;
@ApiModelProperty("物流公司编码")
private String expressCode;
@ApiModelProperty("物流单号")
private String expressNo;
@ApiModelProperty("发货时间")
private String expressTime;
}

View File

@ -0,0 +1,76 @@
package com.fuint.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 卡券转赠实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class GiveDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("获赠者会员ID")
private Integer userId;
@ApiModelProperty("店铺ID")
private Integer storeId;
@ApiModelProperty("赠送者会员ID")
private Integer giveUserId;
@ApiModelProperty("获赠者手机号")
private String mobile;
@ApiModelProperty("转赠者手机号")
private String userMobile;
@ApiModelProperty("分组ID逗号隔开")
private String groupIds;
@ApiModelProperty("分组名称,逗号隔开")
private String groupNames;
@ApiModelProperty("图片")
private String image;
@ApiModelProperty("券ID逗号隔开")
private String couponIds;
@ApiModelProperty("券名称,逗号隔开")
private String couponNames;
@ApiModelProperty("数量")
private Integer num;
@ApiModelProperty("总金额")
private BigDecimal money;
@ApiModelProperty("备注")
private String note;
@ApiModelProperty("留言")
private String message;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("赠送时间")
private String createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("更新时间")
private String updateTime;
@ApiModelProperty("状态A正常C取消 ")
private String status;
}

View File

@ -0,0 +1,47 @@
package com.fuint.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 转赠明细实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class GiveItemDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("赠予对象手机号")
private String mobile;
@ApiModelProperty("用户手机")
private String userMobile;
@ApiModelProperty("分组ID")
private Integer groupId;
@ApiModelProperty("分组名称")
private String groupName;
@ApiModelProperty("卡券ID")
private Integer couponId;
@ApiModelProperty("卡券名称")
private String couponName;
@ApiModelProperty("总金额")
private BigDecimal money;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("赠送时间")
private Date createTime;
}

View File

@ -0,0 +1,59 @@
package com.fuint.common.dto;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 商品分类DTO
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class GoodsCateDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("所属商户ID")
private Integer merchantId;
@ApiModelProperty("所属商户名称")
private String merchantName;
@ApiModelProperty("所属店铺ID")
private Integer storeId;
@ApiModelProperty("所属店铺名称")
private String storeName;
@ApiModelProperty("分类名称")
private String name;
@ApiModelProperty("LOGO地址")
private String logo;
@ApiModelProperty("分类描述")
private String description;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("创建时间")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("排序")
private Integer sort;
@ApiModelProperty("A正常D删除")
private String status;
}

View File

@ -0,0 +1,92 @@
package com.fuint.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 商品详情实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class GoodsDetailDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer goodsId;
@ApiModelProperty("商品名称")
private String name;
@ApiModelProperty("分类ID")
private Integer cateId;
@ApiModelProperty("商品条码")
private String goodsNo;
@ApiModelProperty("可否单规格")
private String isSingleSpec;
@ApiModelProperty("主图地址")
private String logo;
@ApiModelProperty("图片地址")
private List<String> images;
@ApiModelProperty("商品价格")
private BigDecimal price;
@ApiModelProperty("划线价格")
private BigDecimal linePrice;
@ApiModelProperty("库存")
private Double stock;
@ApiModelProperty("商品重量")
private BigDecimal weight;
@ApiModelProperty("初始销量")
private Double initSale;
@ApiModelProperty("商品卖点")
private String salePoint;
@ApiModelProperty("可否使用积分抵扣")
private String canUsePoint;
@ApiModelProperty("会员是否有折扣")
private String isMemberDiscount;
@ApiModelProperty("排序")
private Integer sort;
@ApiModelProperty("商品描述")
private String description;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("创建时间")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("状态A正常D删除")
private String status;
@ApiModelProperty("sku列表")
private List<GoodsSkuDto> skuList;
@ApiModelProperty("规格列表")
private List<GoodsSpecDto> specList;
}

View File

@ -0,0 +1,132 @@
package com.fuint.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fuint.repository.model.MtGoodsCate;
import com.fuint.repository.model.MtGoodsSku;
import com.fuint.repository.model.MtGoodsSpec;
import com.fuint.repository.model.MtStore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 商品DTO
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class GoodsDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("所属店铺ID")
private Integer storeId;
@ApiModelProperty("分配店铺ID集合")
private String storeIds;
@ApiModelProperty("所属店铺信息")
private MtStore storeInfo;
@ApiModelProperty("商品名称")
private String name;
@ApiModelProperty("商品类型")
private String type;
@ApiModelProperty("分类ID")
private Integer cateId;
@ApiModelProperty("预约项目ID")
private Integer bookId;
@ApiModelProperty("分类信息")
private MtGoodsCate cateInfo;
@ApiModelProperty("商品条码")
private String goodsNo;
@ApiModelProperty("可用平台0不限1仅会员端小程序和h52仅收银端")
private Integer platform;
@ApiModelProperty("可否单规格")
private String isSingleSpec;
@ApiModelProperty("主图地址")
private String logo;
@ApiModelProperty("图片地址")
private String images;
@ApiModelProperty("价格")
private BigDecimal price;
@ApiModelProperty("划线价格")
private BigDecimal linePrice;
@ApiModelProperty("成本价格")
private BigDecimal costPrice;
@ApiModelProperty("库存")
private Double stock;
@ApiModelProperty("数量")
private Double num;
@ApiModelProperty("服务时长")
private Integer serviceTime;
@ApiModelProperty("卡券ID")
private String couponIds;
@ApiModelProperty("重量")
private BigDecimal weight;
@ApiModelProperty("初始销量")
private Double initSale;
@ApiModelProperty("商品卖点")
private String salePoint;
@ApiModelProperty("可否使用积分抵扣")
private String canUsePoint;
@ApiModelProperty("会员是否有折扣")
private String isMemberDiscount;
@ApiModelProperty("排序")
private Integer sort;
@ApiModelProperty("商品描述")
private String description;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("创建时间")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("状态A正常D删除")
private String status;
@ApiModelProperty("skuId")
private Integer skuId;
@ApiModelProperty("sku列表")
private List<MtGoodsSku> skuList;
@ApiModelProperty("规格列表")
private List<MtGoodsSpec> specList;
}

View File

@ -0,0 +1,53 @@
package com.fuint.common.dto;
import com.fuint.repository.model.MtGoodsSpec;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
import java.math.BigDecimal;
/**
* 商品sku实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class GoodsSkuDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("sku编码")
private String skuNo;
@ApiModelProperty("图片")
private String logo;
@ApiModelProperty("商品ID")
private Integer goodsId;
@ApiModelProperty("规格ID")
private String specIds;
@ApiModelProperty("规格列表")
private List<MtGoodsSpec> specList;
@ApiModelProperty("库存")
private Double stock;
@ApiModelProperty("价格")
private BigDecimal price;
@ApiModelProperty("划线价格")
private BigDecimal linePrice;
@ApiModelProperty("成本价格")
private BigDecimal costPrice;
@ApiModelProperty("重量")
private BigDecimal weight;
}

View File

@ -0,0 +1,27 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 商品规格子类实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class GoodsSpecChildDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("规格名称")
private String name;
@ApiModelProperty("是否选择")
private boolean checked;
}

View File

@ -0,0 +1,28 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 商品规格实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class GoodsSpecDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer specId;
@ApiModelProperty("规格名称")
private String name;
@ApiModelProperty("规格值列表")
private List<GoodsSpecValueDto> valueList;
}

View File

@ -0,0 +1,28 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 商品规格项实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class GoodsSpecItemDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("规格名称")
private String name;
@ApiModelProperty("规格子类")
private List<GoodsSpecChildDto> child;
}

View File

@ -0,0 +1,27 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 商品规格值实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class GoodsSpecValueDto implements Serializable {
@ApiModelProperty("值ID")
private Integer specValueId;
@ApiModelProperty("规格名")
private String specName;
@ApiModelProperty("规格值")
private String specValue;
}

View File

@ -0,0 +1,34 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 商品排行DTO
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class GoodsTopDto implements Serializable {
@ApiModelProperty("商品ID")
private Integer id;
@ApiModelProperty("商品名称")
private String name;
@ApiModelProperty("商品条码")
private String goodsNo;
@ApiModelProperty("销售金额")
private BigDecimal amount;
@ApiModelProperty("销售数量")
private Integer num;
}

View File

@ -0,0 +1,31 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 卡券分组数据DTO
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class GroupDataDto implements Serializable {
@ApiModelProperty("发放数量")
private Integer sendNum;
@ApiModelProperty("未发放数量")
private Integer unSendNum;
@ApiModelProperty("使用数量")
private Integer useNum;
@ApiModelProperty("过期数量")
private Integer expireNum;
@ApiModelProperty("取消数量")
private Integer cancelNum;
}

View File

@ -0,0 +1,21 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 卡券分组数据DTO
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class GroupDataListDto {
@ApiModelProperty("键值")
private String key;
@ApiModelProperty("数据")
private GroupDataDto data;
}

View File

@ -0,0 +1,28 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 分组会员DTO
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class GroupMemberDto implements Serializable {
@ApiModelProperty("会员ID")
private Integer id;
@ApiModelProperty("会员名称")
private String name;
@ApiModelProperty("会员号")
private String userNo;
@ApiModelProperty("会员名称")
private String mobile;
}

View File

@ -0,0 +1,36 @@
package com.fuint.common.dto;
import com.fuint.repository.model.MtUser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* 收银挂单实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class HangUpDto {
@ApiModelProperty("挂单号")
private String hangNo;
@ApiModelProperty("是否空白")
private Boolean isEmpty;
@ApiModelProperty("会员信息")
private MtUser memberInfo;
@ApiModelProperty("件数")
private Double num;
@ApiModelProperty("金额")
private BigDecimal amount;
@ApiModelProperty("时间")
private String dateTime;
}

View File

@ -0,0 +1,38 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 消息体头信息
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class Head implements Serializable {
@ApiModelProperty("服务编号,用于确定唯一的服务")
private String serviceId;
@ApiModelProperty("授权Token信息")
private String token;
@ApiModelProperty("服务执行返回码(000000:正常)")
private String returnCode;
@ApiModelProperty("服务执行返回信息")
private String returnDesc;
@Override
public String toString() {
final StringBuilder sb = new StringBuilder("Head{");
sb.append("serviceId='").append(serviceId).append('\'');
sb.append(", token='").append(token).append('\'');
sb.append(", returnCode='").append(returnCode).append('\'');
sb.append(", returnDesc='").append(returnDesc).append('\'');
sb.append('}');
return sb.toString();
}
}

View File

@ -0,0 +1,48 @@
package com.fuint.common.dto;
import java.io.Serializable;
import java.util.Date;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 会员分组实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class MemberGroupDto implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("分组ID")
private Integer id;
@ApiModelProperty("分组名称")
private String name;
@ApiModelProperty("所属商户ID")
private Integer merchantId;
@ApiModelProperty("默认店铺")
private Integer storeId;
@ApiModelProperty("父ID")
private Integer parentId;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("状态A激活N禁用D删除")
private String status;
@ApiModelProperty("备注信息")
private String description;
@ApiModelProperty("最后操作人")
private String operator;
}

View File

@ -0,0 +1,34 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 会员排行DTO
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class MemberTopDto implements Serializable {
@ApiModelProperty("会员ID")
private Integer id;
@ApiModelProperty("会员名称")
private String name;
@ApiModelProperty("会员号")
private String userNo;
@ApiModelProperty("消费金额")
private BigDecimal amount;
@ApiModelProperty("购买数量")
private Integer num;
}

View File

@ -0,0 +1,68 @@
package com.fuint.common.dto;
import java.io.Serializable;
import java.util.Date;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 商户实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class MerchantDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("类型")
private String type;
@ApiModelProperty("微信小程序appId")
private String wxAppId;
@ApiModelProperty("微信小程序秘钥")
private String wxAppSecret;
@ApiModelProperty("微信公众号appId")
private String wxOfficialAppId;
@ApiModelProperty("微信公众号秘钥")
private String wxOfficialAppSecret;
@ApiModelProperty("商户号")
private String no;
@ApiModelProperty("商户名称")
private String name;
@ApiModelProperty("商户logo")
private String logo;
@ApiModelProperty("联系人姓名")
private String contact;
@ApiModelProperty("联系电话")
private String phone;
@ApiModelProperty("联系地址")
private String address;
@ApiModelProperty("备注信息")
private String description;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("状态A有效/启用D无效")
private String status;
@ApiModelProperty("最后操作人")
private String operator;
}

View File

@ -0,0 +1,34 @@
package com.fuint.common.dto;
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 商户设置实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class MerchantSettingDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("商户名称")
private String name;
@ApiModelProperty("商户logo")
private String logo;
@ApiModelProperty("联系人姓名")
private String contact;
@ApiModelProperty("联系电话")
private String phone;
@ApiModelProperty("营业状态")
private String status;
}

View File

@ -0,0 +1,24 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 短信发送返回实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class MessageResDto {
@ApiModelProperty("发送ID")
private String[] sendIds;
@ApiModelProperty("发送结果")
private Boolean result;
@ApiModelProperty("短信ID")
private String[] smsId;
}

View File

@ -0,0 +1,77 @@
package com.fuint.common.dto;
import com.fuint.repository.model.MtStore;
import com.fuint.repository.model.MtUser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 我的卡券DTO
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class MyCouponDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("卡券名称")
private String name;
@ApiModelProperty("核销编码")
private String code;
@ApiModelProperty("卡券类型")
private String type;
@ApiModelProperty("卡券内容")
private Integer content;
@ApiModelProperty("状态")
private String status;
@ApiModelProperty("卡券ID")
private Integer couponId;
@ApiModelProperty("使用规则")
private String useRule;
@ApiModelProperty("图片")
private String image;
@ApiModelProperty("面额")
private BigDecimal amount;
@ApiModelProperty("余额")
private BigDecimal balance;
@ApiModelProperty("剩余次数")
private Integer num;
@ApiModelProperty("是否可用")
private boolean canUse;
@ApiModelProperty("有效期")
private String effectiveDate;
@ApiModelProperty("提示信息")
private String tips;
@ApiModelProperty("使用时间")
private Date usedTime;
@ApiModelProperty("领券时间")
private Date createTime;
@ApiModelProperty("会员信息")
private MtUser userInfo;
@ApiModelProperty("使用店铺")
private MtStore storeInfo;
}

View File

@ -0,0 +1,37 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 导航栏实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class NavigationDto implements Serializable {
@ApiModelProperty("导航名称")
private String name;
@ApiModelProperty("导航提示")
private String tips;
@ApiModelProperty("URL")
private String url;
@ApiModelProperty("图标")
private String icon;
@ApiModelProperty("图标完整路径")
private String iconUrl;
@ApiModelProperty("导航排序")
private Integer sort;
@ApiModelProperty("状态")
private String status;
}

View File

@ -0,0 +1,51 @@
package com.fuint.common.dto;
import com.fuint.repository.model.MtCoupon;
import com.fuint.repository.model.MtStore;
import com.fuint.repository.model.MtUserGrade;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 开卡赠礼实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class OpenGiftDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("店铺信息")
private MtStore storeInfo;
@ApiModelProperty("会员等级信息")
private MtUserGrade gradeInfo;
@ApiModelProperty("赠送积分")
private Integer point;
@ApiModelProperty("卡券信息")
private MtCoupon couponInfo;
@ApiModelProperty("卡券数量")
private Integer couponNum;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("更新时间")
private String updateTime;
@ApiModelProperty("状态")
private String status;
@ApiModelProperty("最后操作人")
private String operator;
}

View File

@ -0,0 +1,33 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 开通微信会员卡实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class OpenWxCardDto {
@ApiModelProperty("会员编码")
private String code;
@ApiModelProperty("会员openId")
private String openId;
@ApiModelProperty("时间戳")
private String timestamp;
@ApiModelProperty("随机字符串")
private String nonceStr;
@ApiModelProperty("签名")
private String signature;
@ApiModelProperty("微信会员卡ID")
private String cardId;
}

View File

@ -0,0 +1,127 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 订单实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class OrderDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("订单类型")
private String type;
@ApiModelProperty("下单平台")
private String platform;
@ApiModelProperty("支付类型")
private String payType;
@ApiModelProperty("订单类型名称")
private String orderMode;
@ApiModelProperty("核销码")
private String verifyCode;
@ApiModelProperty("订单号")
private String orderSn;
@ApiModelProperty("卡券ID")
private Integer couponId;
@ApiModelProperty("购物车ID")
private String cartIds;
@ApiModelProperty("商品ID")
private Integer goodsId;
@ApiModelProperty("skuID")
private Integer skuId;
@ApiModelProperty("购买数量")
private Double buyNum;
@ApiModelProperty("会员ID")
private Integer userId;
@ApiModelProperty("是否游客")
private String isVisitor;
@ApiModelProperty("店铺ID")
private Integer storeId;
@ApiModelProperty("商户ID")
private Integer merchantId;
@ApiModelProperty("员工ID")
private Integer staffId;
@ApiModelProperty("订单金额")
private BigDecimal amount;
@ApiModelProperty("支付金额")
private BigDecimal payAmount;
@ApiModelProperty("使用积分数量")
private Integer usePoint;
@ApiModelProperty("积分金额")
private BigDecimal pointAmount;
@ApiModelProperty("折扣金额")
private BigDecimal discount;
@ApiModelProperty("配送费用")
private BigDecimal deliveryFee;
@ApiModelProperty("物流信息")
private ExpressDto expressInfo;
@ApiModelProperty("订单参数")
private String param;
@ApiModelProperty("用户备注")
private String remark;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("支付时间")
private Date payTime;
@ApiModelProperty("订单状态")
private String status;
@ApiModelProperty("支付状态")
private String payStatus;
@ApiModelProperty(value="结算状态")
private String settleStatus;
@ApiModelProperty("核销状态")
private String confirmStatus;
@ApiModelProperty("核销时间")
private Date confirmTime;
@ApiModelProperty("核销备注")
private String confirmRemark;
@ApiModelProperty("最后操作人")
private String operator;
}

View File

@ -0,0 +1,55 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 订单商品实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class OrderGoodsDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("商品ID")
private Integer goodsId;
@ApiModelProperty("预约项目ID")
private Integer bookId;
@ApiModelProperty("我的预约ID")
private Integer myBookId;
@ApiModelProperty("订单类型")
private String type;
@ApiModelProperty("商品名称")
private String name;
@ApiModelProperty("价格")
private String price;
@ApiModelProperty("折扣")
private String discount;
@ApiModelProperty("购买数量")
private Double num;
@ApiModelProperty("图片")
private String image;
@ApiModelProperty("skuId")
private Integer skuId;
@ApiModelProperty("规格列表")
private List<GoodsSpecValueDto> specList;
}

View File

@ -0,0 +1,40 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 下单用户DTO
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class OrderUserDto implements Serializable {
@ApiModelProperty("会员ID")
private Integer id;
@ApiModelProperty("会员号")
private String no;
@ApiModelProperty("会员姓名")
private String name;
@ApiModelProperty("会员手机")
private String mobile;
@ApiModelProperty("证件类型")
private String cardType;
@ApiModelProperty("证件号")
private String cardNo;
@ApiModelProperty("地址")
private String address;
@ApiModelProperty("openId")
private String openId;
}

View File

@ -0,0 +1,120 @@
package com.fuint.common.dto;
import java.io.Serializable;
/**
* 消息体分页信息
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
public class Page implements Serializable {
private static final Long DEFAULT_PAGE_NO = 1L;
private static final Long DEFAULT_PAGE_SIZE = 100L;
private Long pageNo;// 页号
private Long pageSize;// 每页行数
private Long totalRows;// 总行数
private Long totalPages;// 总页数
private Boolean firstPage;// 是否首页
private Boolean lastPage;// 是否尾页
public Page() {
}
public Page(Long pageNo, Long pageSize) {
setPageNo(pageNo);
setPageSize(pageSize);
}
public Long getPageNo() {
return pageNo;
}
public void setPageNo(Long pageNo) {
if (pageNo == null || pageNo < 1) {
pageNo = DEFAULT_PAGE_NO;
} else if (totalPages != null && pageNo > totalPages) {
pageNo = totalPages;
}
this.pageNo = pageNo;
}
public Long getPageSize() {
return pageSize;
}
public void setPageSize(Long pageSize) {
if (pageSize == null) {
this.pageSize = DEFAULT_PAGE_SIZE;
} else if (pageSize < 1L) {
this.pageSize = 1L;
} else {
this.pageSize = pageSize;
}
}
public Long getTotalRows() {
return totalRows;
}
public void setTotalRows(Long totalRows) {
//总行数
this.totalRows = totalRows;
//总页数
this.totalPages = totalRows / this.pageSize;
if (totalRows % this.pageSize > 0) {
this.totalPages++;
}
//首页
if (this.pageNo <= 1) {
firstPage = true;
} else {
firstPage = false;
}
//尾页
if (this.pageNo >= this.totalPages) {
lastPage = true;
} else {
lastPage = false;
}
}
public Long getTotalPages() {
return totalPages;
}
public void setTotalPages(Long totalPages) {
this.totalPages = totalPages;
}
public Boolean isFirstPage() {
return firstPage;
}
public void setFirstPage(Boolean firstPage) {
this.firstPage = firstPage;
}
public Boolean isLastPage() {
return lastPage;
}
public void setLastPage(Boolean lastPage) {
this.lastPage = lastPage;
}
@Override
public String toString() {
final StringBuilder sb = new StringBuilder("Page{");
sb.append("pageNo=").append(pageNo);
sb.append(", pageSize=").append(pageSize);
sb.append(", totalRows=").append(totalRows);
sb.append(", totalPages=").append(totalPages);
sb.append(", firstPage=").append(firstPage);
sb.append(", lastPage=").append(lastPage);
sb.append('}');
return sb.toString();
}
}

View File

@ -0,0 +1,30 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 请求参数实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class ParamDto implements Serializable {
@ApiModelProperty("参数键值")
private String key;
@ApiModelProperty("参数名称")
private String name;
@ApiModelProperty("参数值")
private String value;
public ParamDto(String key, String name, String value) {
this.key = key;
this.name = name;
this.value = value;
}
}

View File

@ -0,0 +1,50 @@
package com.fuint.common.dto;
import com.fuint.repository.model.MtUser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 积分记录实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class PointDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("会员ID")
private Integer userId;
@ApiModelProperty("会员信息")
private MtUser userInfo;
@ApiModelProperty("订单号")
private String orderSn;
@ApiModelProperty("积分变化数量")
private Integer amount;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("备注说明")
private String description;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("状态A正常D删除")
private String status;
}

View File

@ -0,0 +1,22 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 预存规则实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class PreStoreRuleDto implements Serializable {
@ApiModelProperty("预存金额")
private String preStoreAmount;
@ApiModelProperty("目标金额")
private String targetAmount;
}

View File

@ -0,0 +1,26 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 充值规则实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class RechargeRuleDto implements Serializable {
@ApiModelProperty("充值金额")
private String rechargeAmount;
@ApiModelProperty("赠送金额")
private String giveAmount;
@ApiModelProperty("赠送卡券ID")
private String giveCouponIds;
}

View File

@ -0,0 +1,83 @@
package com.fuint.common.dto;
import com.fuint.repository.model.MtStore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* 售后实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class RefundDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("订单ID")
private Integer orderId;
@ApiModelProperty("商户ID")
private Integer merchantId;
@ApiModelProperty("店铺ID")
private Integer storeId;
@ApiModelProperty("退款金额")
private BigDecimal amount;
@ApiModelProperty("售后类型")
private String type;
@ApiModelProperty("会员ID")
private Integer userId;
@ApiModelProperty("用户备注")
private String remark;
@ApiModelProperty("物流公司名称")
private String expressName;
@ApiModelProperty("物流单号")
private String expressNo;
@ApiModelProperty("拒绝原因")
private String rejectReason;
@ApiModelProperty("申请凭证图片")
private List<String> imageList;
@ApiModelProperty("申请凭证图片")
private String images;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("订单详情")
private UserOrderDto orderInfo;
@ApiModelProperty("退货地址")
private AddressDto address;
@ApiModelProperty("店铺信息")
private MtStore storeInfo;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("更新时间")
private String updateTime;
@ApiModelProperty("状态")
private String status;
@ApiModelProperty("状态说明")
private String statusText;
}

View File

@ -0,0 +1,39 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 地区实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class RegionDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("父ID")
private Integer pid;
@ApiModelProperty("编码")
private String code;
@ApiModelProperty("层级")
private String level;
@ApiModelProperty("城市")
private List<RegionDto> city;
@ApiModelProperty("区域")
private List<RegionDto> region;
}

View File

@ -0,0 +1,120 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 卡券请求DTO
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class ReqCouponDto implements Serializable {
@ApiModelProperty("卡券ID")
private Integer id;
@ApiModelProperty("商户ID")
private Integer merchantId;
@ApiModelProperty("店铺ID")
private Integer storeId;
@ApiModelProperty("分组ID")
private Integer groupId;
@ApiModelProperty("类型")
private String type;
@ApiModelProperty("内容")
private Integer content;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("是否允许转赠")
private Integer isGive;
@ApiModelProperty("获得卡券所消耗积分")
private Integer point;
@ApiModelProperty("获得计次卡卡所消耗积分")
private Integer timerPoint;
@ApiModelProperty("领取码")
private String receiveCode;
@ApiModelProperty("使用专项")
private String useFor;
@ApiModelProperty("过期类型")
private String expireType;
@ApiModelProperty("有效天数")
private Integer expireTime;
@ApiModelProperty("计次卡领取码")
private String timerReceiveCode;
@ApiModelProperty("有效期开始时间")
private String beginTime;
@ApiModelProperty("有效期结束时间")
private String endTime;
@ApiModelProperty("价值金额")
private BigDecimal amount;
@ApiModelProperty("发放方式")
private String sendWay;
@ApiModelProperty("适用商品")
private String applyGoods;
@ApiModelProperty("每次发放数量")
private Integer sendNum;
@ApiModelProperty("发行总数量")
private Integer total;
@ApiModelProperty("每人最多拥有数量")
private Integer limitNum;
@ApiModelProperty("例外时间")
private String exceptTime;
@ApiModelProperty("适用店铺ID逗号分隔")
private String storeIds;
@ApiModelProperty("会员等级ID逗号分隔")
private String gradeIds;
@ApiModelProperty("适用商品")
private String goodsIds;
@ApiModelProperty("后台备注")
private String remarks;
@ApiModelProperty("图片")
private String image;
@ApiModelProperty("备注")
private String description;
@ApiModelProperty("预存规则")
private String inRule;
@ApiModelProperty("核销规则")
private String outRule;
@ApiModelProperty("操作人")
private String operator;
@ApiModelProperty("状态")
private String status;
}

View File

@ -0,0 +1,44 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 卡券分组请求DTO
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class ReqCouponGroupDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("商户ID")
private Integer merchantId;
@ApiModelProperty("店铺ID")
private Integer storeId;
@ApiModelProperty("分组名称")
private String name;
@ApiModelProperty("价值金额")
private BigDecimal money;
@ApiModelProperty("发行数量")
private Integer total;
@ApiModelProperty("分组描述")
private String description;
@ApiModelProperty("操作人")
private String operator;
@ApiModelProperty("状态")
private String status;
}

View File

@ -0,0 +1,29 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Map;
/**
* 请求返回结果
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class ReqResult implements Serializable {
@ApiModelProperty("返回代码")
private String code;
@ApiModelProperty("返回消息")
private String msg;
@ApiModelProperty("返回结果")
private boolean result;
@ApiModelProperty("返回数据")
private Map<String, Object> data;
}

View File

@ -0,0 +1,66 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 发放卡券记录请求DTO
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class ReqSendLogDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("商户ID")
private Integer merchantId;
@ApiModelProperty("店铺ID")
private Integer storeId;
@ApiModelProperty("类型1单用户发券2批量发券")
private Integer type;
@ApiModelProperty("会员ID")
private Integer userId;
@ApiModelProperty("导入文件名")
private String fileName;
@ApiModelProperty("导入文件路径")
private String filePath;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("分组ID")
private Integer groupId;
@ApiModelProperty("卡券ID")
private Integer couponId;
@ApiModelProperty("分组名称")
private String groupName;
@ApiModelProperty("发放数量")
private Integer sendNum;
@ApiModelProperty("发放时间")
private Date createTime;
@ApiModelProperty("操作人")
private String operator;
@ApiModelProperty("状态")
private String status;
@ApiModelProperty("uuid")
private String uuid;
}

View File

@ -0,0 +1,43 @@
package com.fuint.common.dto;
import com.fuint.repository.model.MtGoods;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 购物车返回DTO
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class ResCartDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("会员ID")
private Integer userId;
@ApiModelProperty("商品ID")
private Integer goodsId;
@ApiModelProperty("skuId")
private Integer skuId;
@ApiModelProperty("数量")
private Double num;
@ApiModelProperty("是否有效")
private Boolean isEffect;
@ApiModelProperty("商品规格")
private List<GoodsSpecValueDto> specList;
@ApiModelProperty("商品数据")
private MtGoods goodsInfo;
}

View File

@ -0,0 +1,33 @@
package com.fuint.common.dto;
import com.fuint.repository.model.MtGoods;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 商品分类返回DTO
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class ResCateDto implements Serializable {
@ApiModelProperty("分类ID")
private Integer cateId;
@ApiModelProperty("分类名称")
private String name;
@ApiModelProperty("logo")
private String logo;
@ApiModelProperty("商品列表")
private List<MtGoods> goodsList;
@ApiModelProperty("排序")
private Integer sort;
}

View File

@ -0,0 +1,33 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 角色信息实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class RoleDto {
@ApiModelProperty("账户主键ID")
private Long id;
@ApiModelProperty("商户ID")
private Integer merchantId;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("角色类型")
private String type;
@ApiModelProperty("备注")
private String description;
@ApiModelProperty("状态 : A有效 D无效")
private String status;
}

View File

@ -0,0 +1,58 @@
package com.fuint.common.dto;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.fuint.framework.pagination.PaginationResponse;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 结算实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class SettlementDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("结算单号")
private String settlementNo;
@ApiModelProperty("商户ID")
private Integer merchantId;
@ApiModelProperty("店铺ID")
private Integer storeId;
@ApiModelProperty("订单总金额")
private BigDecimal totalOrderAmount;
@ApiModelProperty("结算金额")
private BigDecimal amount;
@ApiModelProperty("结算订单")
private PaginationResponse<SettlementOrderDto> orderList;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("备注说明")
private String description;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("支付状态A待支付B已支付")
private String payStatus;
@ApiModelProperty("状态A正常D删除")
private String status;
}

View File

@ -0,0 +1,44 @@
package com.fuint.common.dto;
import java.io.Serializable;
import java.util.Date;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 结算订单表
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class SettlementOrderDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("结算ID")
private Integer settlementId;
@ApiModelProperty("订单ID")
private Integer orderId;
@ApiModelProperty("订单信息")
private UserOrderDto orderInfo;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("备注说明")
private String description;
@ApiModelProperty("最后操作人")
private String operator;
@ApiModelProperty("状态A正常D删除")
private String status;
}

View File

@ -0,0 +1,45 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 短信模板实体类
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class SmsTemplateDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("商户ID")
private Integer merchantId;
@ApiModelProperty("模板名称")
private String name;
@ApiModelProperty("模板英文名称")
private String uname;
@ApiModelProperty("模板编码")
private String code;
@ApiModelProperty("模板内容")
private String content;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("状态1正常2删除")
private String status;
}

View File

@ -0,0 +1,71 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 菜单信息实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class SourceDto implements Serializable {
@ApiModelProperty("自增ID")
private long id;
@ApiModelProperty("商户ID")
private Integer merchantId;
@ApiModelProperty("菜单名称")
private String name;
@ApiModelProperty("菜单名称(字母)")
private String ename;
@ApiModelProperty("节点是否打开")
private Boolean open;
@ApiModelProperty("是否菜单")
private int isMenu;
@ApiModelProperty("节点是否选中")
private Boolean checked;
@ApiModelProperty("url")
private String url;
@ApiModelProperty("路径")
private String path;
@ApiModelProperty("权限标识")
private String perms;
@ApiModelProperty("菜单级别")
private int level;
@ApiModelProperty("上级菜单")
private long parentId;
@ApiModelProperty("子菜单")
private List<SourceDto> children;
@ApiModelProperty("图标")
private String icon;
@ApiModelProperty("新图标")
private String newIcon;
@ApiModelProperty("描述信息")
private String description;
@ApiModelProperty("排序")
private String sort;
@ApiModelProperty("状态")
private String status;
}

View File

@ -0,0 +1,64 @@
package com.fuint.common.dto;
import com.fuint.repository.model.MtMerchant;
import com.fuint.repository.model.MtStore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 员工实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
* */
@Data
public class StaffDto implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("员工类别")
private Integer category;
@ApiModelProperty("用户ID")
private Integer userId;
@ApiModelProperty("手机号码")
private String mobile;
@ApiModelProperty("真实姓名")
private String realName;
@ApiModelProperty("微信号")
private String wechat;
@ApiModelProperty("商户ID")
private Integer merchantId;
@ApiModelProperty("店铺ID")
private Integer storeId;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("审核状态A审核通过U未审核D无效; ")
private String auditedStatus;
@ApiModelProperty("审核时间")
private Date auditedTime;
@ApiModelProperty("备注")
private String description;
@ApiModelProperty("商户信息")
private MtMerchant merchantInfo;
@ApiModelProperty("店铺信息")
private MtStore storeInfo;
}

View File

@ -0,0 +1,46 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 库存商品实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
* */
@Data
public class StockGoodsDto implements Serializable {
@ApiModelProperty("商品ID")
private Integer id;
@ApiModelProperty("店铺ID")
private Integer storeId;
@ApiModelProperty("商品名称")
private String name;
@ApiModelProperty("商品编码")
private String goodsNo;
@ApiModelProperty("商品分类ID")
private Integer cateId;
@ApiModelProperty("商品数量")
private Double num;
@ApiModelProperty("库存")
private Double stock;
@ApiModelProperty("skuId")
private Integer skuId;
@ApiModelProperty("商品logo")
private String logo;
@ApiModelProperty("状态A正常D删除")
private String status;
}

View File

@ -0,0 +1,46 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 店铺实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
* */
@Data
public class StoreDto extends StoreInfo implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("微信商户号")
private String wxMchId;
@ApiModelProperty("微信支付秘钥")
private String wxApiV2;
@ApiModelProperty("微信支付证书")
private String wxCertPath;
@ApiModelProperty("支付宝appId")
private String alipayAppId;
@ApiModelProperty("支付宝应用私钥")
private String alipayPrivateKey;
@ApiModelProperty("支付宝支付公钥")
private String alipayPublicKey;
@ApiModelProperty("银行名称")
private String bankName;
@ApiModelProperty("银行卡账户名")
private String bankCardName;
@ApiModelProperty("银行卡卡号")
private String bankCardNo;
}

View File

@ -0,0 +1,87 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 店铺信息
*
* Created by FSQ
* CopyRight https://www.fuint.cn
* */
@Data
public class StoreInfo implements Serializable {
@ApiModelProperty("自增ID")
private Integer id;
@ApiModelProperty("商户ID")
private Integer merchantId;
@ApiModelProperty("商户号")
private String merchantNo;
@ApiModelProperty("商户名称")
private String merchantName;
@ApiModelProperty("店铺名称")
private String name;
@ApiModelProperty("是否单店铺")
private String single;
@ApiModelProperty("店铺二维码")
private String qrCode;
@ApiModelProperty("店铺LOGO")
private String logo;
@ApiModelProperty("是否默认店铺")
private String isDefault;
@ApiModelProperty("联系人")
private String contact;
@ApiModelProperty("联系电话")
private String phone;
@ApiModelProperty("店铺地址")
private String address;
@ApiModelProperty("营业时间")
private String hours;
@ApiModelProperty("经度")
private String latitude;
@ApiModelProperty("纬度")
private String longitude;
@ApiModelProperty("距离")
private BigDecimal distance;
@ApiModelProperty("备注信息")
private String description;
@ApiModelProperty("营业执照")
private String license;
@ApiModelProperty("统一社会信用代码")
private String creditCode;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("更新时间")
private Date updateTime;
@ApiModelProperty("状态1正常2删除")
private String status;
@ApiModelProperty("最后操作人")
private String operator;
}

View File

@ -0,0 +1,38 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 小程序订阅消息dto
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class SubMessageDto implements Serializable {
@ApiModelProperty("键值")
private String key;
@ApiModelProperty("模板ID")
private String templateId;
@ApiModelProperty("TID")
private String tid;
@ApiModelProperty("标题")
private String title;
@ApiModelProperty("内容")
private String content;
@ApiModelProperty("状态")
private String status;
@ApiModelProperty("模板参数")
private List<ParamDto> params;
}

View File

@ -0,0 +1,21 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 时间Dto
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class TimeDto implements Serializable {
@ApiModelProperty("时间段")
private String time;
@ApiModelProperty("是否可预订")
private Boolean enable;
}

View File

@ -0,0 +1,28 @@
package com.fuint.common.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 登录Token实体
*
* Created by FSQ
* CopyRight https://www.fuint.cn
*/
@Data
public class TokenDto implements Serializable {
@ApiModelProperty("token")
private String token;
@ApiModelProperty("创建时间")
private Long tokenCreatedTime;
@ApiModelProperty("失效时间")
private Long tokenExpiryTime;
@ApiModelProperty("是否登录")
private String isLogin;
}

Some files were not shown because too many files have changed in this diff Show More