## 初始化;

This commit is contained in:
jiangchao 2025-03-23 09:44:16 +08:00
parent 5d928496c7
commit 820b4adc29
4282 changed files with 479948 additions and 29 deletions

46
.gitignore vendored Normal file
View File

@ -0,0 +1,46 @@
######################################################################
# Build Tools
.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar
target/
!.mvn/wrapper/maven-wrapper.jar
######################################################################
# IDE
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### JRebel ###
rebel.xml
### NetBeans ###
nbproject/private/
build/*
nbbuild/
dist/
nbdist/
.nb-gradle/
######################################################################
# Others
*.log
*.xml.versionsBackup
*.swp
!*/build/*.java
!*/build/*.html
!*/build/*.xml

View File

@ -1,37 +1,62 @@
# java-retail-app
## maven 模块说明:
#### 介绍
新零售后台接口
### code-util实体代码生成器
#### 软件架构
软件架构说明
### hzs-apiRPC调用接口
hzs-api-activity -- 活动服务接口以及RPC传输数据DTO实体
hzs-api-bonus -- 奖金服务接口以及RPC传输数据DTO实体
hzs-api-member -- 会员服务接口以及RPC传输数据DTO实体
hzs-api-report -- 报表服务接口以及RPC传输数据DTO实体
hzs-api-sale -- 销售、供应链服务接口以及RPC传输数据DTO实体
hzs-api-system -- 系统基础服务接口以及RPC传输数据DTO实体
hzs-api-third -- 三方服务接口以及RPC传输数据DTO实体
### hzs-business业务相关服务
hzs-business-activity -- 活动服务(所有活动等) 8095
hzs-business-bonus -- 奖金服务(奖金计算等) 8098
hzs-business-common -- 业务服务公共类(工具类)
hzs-business-member -- 会员服务(会员、账户、银行等) 8092
hzs-business-report -- 报表服务(统计分析、仪表盘等) 8097
hzs-business-sale -- 销售服务(订单、商品、邮费、仓库进销存等) 8093
hzs-business-system -- 系统基础服务(基础配置、自定义配置等) 8091
hzs-business-scm -- 进销存服务(进销存功能等) 8099
### hzs-common基础公用组件
hzs-common-core -- 核心公用组件、缓存操作等
hzs-common-domain -- 系统对应数据库实体以及扩展分类
hzs-common-security -- security用户鉴权依赖组件
### hzs-gateway统一网关入口
hzs-gateway -- 统一网关 8080
### hzs-third三方服务
hzs-third -- 三方服务支付、短信、邮件、物流以及MQ等异步接收消息处理 8082
### 订单编号获取方法
方法CommonUtil.createSerialNumber("")
前缀枚举EOrderPrefix
### 枚举类添加
枚举类添加时对应的国际化翻译key值需要在 EnumsPrefixConstants 常量中添加对应的前缀
### 用户ID转用户处理
数据库中保存用户ID转化为用户实际调用 IBusinessCommonService 接口中的方法进行统一转换处理
### 枚举返回处理
后台接口返回枚举列表时,统一在 EnumsController 中进行添加处理
### 日志拦截处理
后台管理端controller层涉及到的操作方法需要添加 @Log 注解,用于记录管理后操作日志
#### 安装教程
1. xxxx
2. xxxx
3. xxxx
## 分支说明:
#### 使用说明
### 日志拦截处理
dev_inter分支: 为当前研发主分支正常需求迭代以及非紧急BUG修改都提交到该分支正常进行迭代开发。
1. xxxx
2. xxxx
3. xxxx
### 日志拦截处理
pre分支预上线测试分支由 dev_inter 分支中提交内容提取合并而来,该分支进行测试并测试通过后进行上线。
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
### 日志拦截处理
release分支线上分支pre 分支上线稳定后,将 pre 分支合并到该分支做为线上稳定分支。如果有加急BUG需要上线从此分支拉取临时上线分支进行上线上线成功后合并回本分支。

12
bin/clean.bat Normal file
View File

@ -0,0 +1,12 @@
@echo off
echo.
echo [信息] 清理工程target生成路径。
echo.
%~d0
cd %~dp0
cd ..
call mvn clean
pause

12
bin/package.bat Normal file
View File

@ -0,0 +1,12 @@
@echo off
echo.
echo [信息] 打包Web工程生成war/jar包文件。
echo.
%~d0
cd %~dp0
cd ..
call mvn clean package -Dmaven.test.skip=true
pause

14
bin/run-auth.bat Normal file
View File

@ -0,0 +1,14 @@
@echo off
echo.
echo [信息] 使用Jar命令运行Auth工程。
echo.
cd %~dp0
cd ../ruoyi-auth/target
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-auth.jar
cd bin
pause

14
bin/run-gateway.bat Normal file
View File

@ -0,0 +1,14 @@
@echo off
echo.
echo [信息] 使用Jar命令运行Gateway工程。
echo.
cd %~dp0
cd ../ruoyi-gateway/target
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-gateway.jar
cd bin
pause

14
bin/run-modules-file.bat Normal file
View File

@ -0,0 +1,14 @@
@echo off
echo.
echo [信息] 使用Jar命令运行Modules-File工程。
echo.
cd %~dp0
cd ../ruoyi-modules/ruoyi-file/target
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-modules-file.jar
cd bin
pause

14
bin/run-modules-gen.bat Normal file
View File

@ -0,0 +1,14 @@
@echo off
echo.
echo [信息] 使用Jar命令运行Modules-Gen工程。
echo.
cd %~dp0
cd ../ruoyi-modules/ruoyi-gen/target
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-modules-gen.jar
cd bin
pause

14
bin/run-modules-job.bat Normal file
View File

@ -0,0 +1,14 @@
@echo off
echo.
echo [信息] 使用Jar命令运行Modules-Job工程。
echo.
cd %~dp0
cd ../ruoyi-modules/ruoyi-job/target
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-modules-job.jar
cd bin
pause

View File

@ -0,0 +1,14 @@
@echo off
echo.
echo [信息] 使用Jar命令运行Modules-System工程。
echo.
cd %~dp0
cd ../ruoyi-modules/ruoyi-system/target
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-modules-system.jar
cd bin
pause

14
bin/run-monitor.bat Normal file
View File

@ -0,0 +1,14 @@
@echo off
echo.
echo [信息] 使用Jar命令运行Monitor工程。
echo.
cd %~dp0
cd ../ruoyi-visual/ruoyi-monitor/target
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -Dfile.encoding=utf-8 %JAVA_OPTS% -jar ruoyi-visual-monitor.jar
cd bin
pause

46
code-util/pom.xml Normal file
View File

@ -0,0 +1,46 @@
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.hzs</groupId>
<artifactId>hzs</artifactId>
<version>3.1.0-SNAPSHOT</version>
</parent>
<artifactId>code-util</artifactId>
<description>
code-util
</description>
<dependencies>
<!-- oracle驱动 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.1.0</version>
</dependency>
<!-- mybatis plus 代码生成器 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.0</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,148 @@
package com;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.ArrayList;
import java.util.List;
public class CodeGenerator {
public static void main(String[] args) {
// 模块名称包名
String moduleName = "com.hzs.common.domain";
// 表名
String[] tables = {"SA_TICKET"};
// 生成实体是否继承统一父类
boolean superBool = true;
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
String projectPath = System.getProperty("user.dir");
// 全局配置
GlobalConfig globalConfig = new GlobalConfig();
// 输出目录
globalConfig.setOutputDir(projectPath + "/code-util/src/main/java")
// 作者
.setAuthor("hzs")
// 时间使用Date
.setDateType(DateType.ONLY_DATE)
// // 生成实体后缀追加 Entity
// .setEntityName("%sEntity")
// 生成文件覆盖旧文件
.setFileOverride(true)
// 生成BaseResultMap
.setBaseResultMap(true)
// 生成通用查询结果列
.setBaseColumnList(true);
mpg.setGlobalConfig(globalConfig);
// 数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
// dsc.setSchemaName("public");
dataSourceConfig.setUrl("jdbc:oracle:thin:@39.107.153.159:1521/orcl")
.setDriverName("oracle.jdbc.driver.OracleDriver")
.setUsername("hzs_retail")
.setPassword("123456")
.setDbType(DbType.ORACLE);
mpg.setDataSource(dataSourceConfig);
// 包配置
PackageConfig packageConfig = new PackageConfig();
// 模块名称
packageConfig.setModuleName(moduleName)
.setParent("com.hzs");
mpg.setPackageInfo(packageConfig);
// 自定义配置
InjectionConfig cfg = new InjectionConfig() {
@Override
public void initMap() {
// to do nothing
}
};
// 如果模板引擎是 freemarker
String templatePath = "/templates/mapper.xml.ftl";
// 如果模板引擎是 velocity
// String templatePath = "/templates/mapper.xml.vm";
// 自定义输出配置
List<FileOutConfig> focList = new ArrayList<>();
// 自定义配置会被优先输出
focList.add(new FileOutConfig(templatePath) {
@Override
public String outputFile(TableInfo tableInfo) {
// 自定义输出文件名 如果你 Entity 设置了前后缀此处注意 xml 的名称会跟着发生变化
return projectPath + "/code-util/src/main/resources/mapper/" + packageConfig.getModuleName()
+ "/" + tableInfo.getMapperName() + StringPool.DOT_XML;
}
});
/*
cfg.setFileCreate(new IFileCreate() {
@Override
public boolean isCreate(ConfigBuilder configBuilder, FileType fileType, String filePath) {
// 判断自定义文件夹是否需要创建
checkDir("调用默认方法创建的目录,自定义目录用");
if (fileType == FileType.MAPPER) {
// 已经生成 mapper 文件判断存在不想重新生成返回 false
return !new File(filePath).exists();
}
// 允许生成模板文件
return true;
}
});
*/
cfg.setFileOutConfigList(focList);
mpg.setCfg(cfg);
// 配置模板
TemplateConfig templateConfig = new TemplateConfig();
// 配置自定义输出模板
//指定自定义模板路径注意不要带上.ftl/.vm, 会根据使用的模板引擎自动识别
// templateConfig.setEntity("templates/entity2.java");
// templateConfig.setService();
// templateConfig.setController();
templateConfig.setXml(null);
mpg.setTemplate(templateConfig);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
// 下划线转驼峰
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
if (superBool) {
// entity 继承父类
strategy.setSuperEntityClass("com.hzs.common.core.web.domain.BaseEntity");
// 写于父类中的公共字段多个用逗号间隔
strategy.setSuperEntityColumns("DEL_FLAG", "PK_CREATOR", "CREATION_TIME", "PK_MODIFIED", "MODIFIED_TIME", "PK_COUNTRY");
}
// 开启lombok
strategy.setEntityLombokModel(true);
// rest风格
strategy.setRestControllerStyle(true);
// // controller 继承父粝
// strategy.setSuperControllerClass("com.hzs.framework.web.controller.BaseController");
// 表名多个用逗号间隔
strategy.setInclude(tables);
strategy.setControllerMappingHyphenStyle(true);
// 设置表前缀
strategy.setTablePrefix(packageConfig.getModuleName() + "_");
mpg.setStrategy(strategy);
// 使用 freemarker 需要指定
mpg.setTemplateEngine(new FreemarkerTemplateEngine());
mpg.execute();
}
}

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.hzs</groupId>
<artifactId>hzs-api</artifactId>
<version>3.1.0-SNAPSHOT</version>
</parent>
<artifactId>hzs-api-bonus</artifactId>
<description>
hzs-api-bonus奖金服务
</description>
<dependencies>
<dependency>
<groupId>com.hzs</groupId>
<artifactId>hzs-api-system</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,88 @@
package com.hzs.bonus.settle;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.bonus.CuMemberRetail;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.order.SaOrder;
import java.util.Date;
/**
* @description: 奖金结算
* @author: sui q
* @time: 2023/9/18 14:24
* @classname: IMemberBonusSettleApi
* @package_name: com.hzs.bonus.settle
* version 1.0.0
*/
public interface IMemberSettleBonusApi {
/**
* 根据秒结算会员奖金
* @param orderCode 订单
* @return: List<SaOrderExt>
* @Author: sui q
* @Date: 2023/2/1 21:27
*/
R<Boolean> calculateCumberBonusBySecond(String orderCode);
/*
* @description: 定时任务每天自动计算奖金
* @author: sui q
* @date: 2023/4/10 14:23
* @param: null null
**/
R<Boolean> autoCalculateBonus(Date settleDate);
/*
* @description: 备份网体
* @author: sui q
* @date: 2024/11/15 10:10
* @param: null null
**/
void backupsSettleBonusEveryday();
/*
* @description: 定时任务每天自动公布奖金
* @author: sui q
* @date: 2023/4/10 14:23
* @param: null null
**/
void autoPublishBonus();
/*
* @description: 定时任务每天自动发放奖金
* @author: sui q
* @date: 2023/4/10 14:23
* @param: null null
**/
void autoGrantBonus();
/*
* @description: 每日生成业绩月表统计数据
* @author: sui q
* @date: 2023/9/1 9:50
* @param: null null
**/
void insertCuMemberAchieveByEveryDay();
/*
* @description: 退单回退业绩
* @author: sui q
* @date: 2023/9/22 9:27
* @param: null null
**/
Boolean chargeBackSaOrder(SaOrder saOrder);
void calculateCuMemberRetailRangeBonusBySaOrder();
/*
* @description: 根据会员查询会员的 大小区盒数业绩
* @author: sui q
* @date: 2025/2/20 15:10
* @param: null null
**/
R<CuMemberRetail> queryValidateBoxOrAchieve(Long pkMember);
}

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.hzs</groupId>
<artifactId>hzs-api</artifactId>
<version>3.1.0-SNAPSHOT</version>
</parent>
<artifactId>hzs-api-member</artifactId>
<description>
hzs-api-member会员服务
</description>
<dependencies>
<dependency>
<groupId>com.hzs</groupId>
<artifactId>hzs-api-system</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,29 @@
package com.hzs.bonus.detail;
import com.hzs.common.core.domain.R;
import java.util.Date;
import java.util.List;
/**
* @description: 新零售会员区域考核dubbo服务
* @author: zhang jing
* @date: 2025/3/7 10:36
* @param:
* @return:
**/
public interface ICuRegionAssessApi {
/**
* @description: 定时处理会员收益区域处理前三天
* @author: zhang jing
* @date: 2025/3/7 10:45
* @param: [startDate]
* @return: com.hzs.common.core.domain.R<?>
**/
R<?> validateHandAreaAssess(Date startDate,Date endDate);
}

View File

@ -0,0 +1,43 @@
package com.hzs.member.account;
import com.hzs.common.core.domain.R;
import com.hzs.member.account.dto.BusinessCommissionDTO;
import com.hzs.member.account.dto.MemberBalanceDTO;
import java.util.List;
/**
* 业务办理扣费
* @Description:
* @Author: ljc
* @Time: 2023/1/7 15:38
* @Classname: IBusinessCommission
* @Package_name: com.hzs.member.account
*/
public interface IBusinessCommission {
/**
* 业务办理扣费提交
*
* @param businessCommissionDTO 业务办理入参
* @return Integer
*/
R businessCommissionSubmit(BusinessCommissionDTO businessCommissionDTO);
/**
* 业务办理扣费驳回
*
* @param businessCommissionDTO 业务办理入参
* @return Integer
*/
R businessCommissionReject(BusinessCommissionDTO businessCommissionDTO);
/**
* 查询余额不足的用户信息
*
* @param businessCommissionDTO 业务参数
* @return List<MemberBalanceDTO>
*/
R<List<MemberBalanceDTO>> selectBalanceNotEnoughMember(BusinessCommissionDTO businessCommissionDTO);
}

View File

@ -0,0 +1,31 @@
package com.hzs.member.account;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.EApproveStatus;
import com.hzs.member.account.dto.BusinessCommissionDTO;
/**
* @description: 会员交易明细API
* @author: zhang jing
* @date: 2023/7/28 14:37
* @param:
* @return:
**/
public interface ICuMemberTradeServiceApi {
/**
* @description: 业务办理扣费提交
* @author: zhang jing
* @date: 2023/7/28 14:38
* @param: [businessCommissionDTO, eApproveStatus]
* @return: com.hzs.common.core.domain.R<java.lang.Boolean>
**/
R<Boolean> businessCommissionSubmit(BusinessCommissionDTO businessCommissionDTO);
/**
* @description: 业务办理扣费驳回
* @author: zhang jing
* @date: 2023/7/29 11:55
* @param: [businessCommissionDTO]
* @return: com.hzs.common.core.domain.R<java.lang.Boolean>
**/
R<Boolean> businessCommissionReject(BusinessCommissionDTO businessCommissionDTO);
}

View File

@ -0,0 +1,24 @@
package com.hzs.member.account;
import com.hzs.common.core.domain.R;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
/**
* @Description: 会员钱包审核接口
* @Author: ljc
* @Time: 2022/9/24 13:48
* @Classname: IMemberAccountAuditServiceApi
* @Package_name: com.hzs.member.account
*/
public interface IMemberAccountAuditServiceApi {
/**
* 审核流程(审批流调用业务模块)
*
* @param approvalBusinessResultDTO 业务审批操作DTO
* @return Integer
*/
R auditProcess(ApprovalBusinessResultDTO approvalBusinessResultDTO);
}

View File

@ -0,0 +1,99 @@
package com.hzs.member.account;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.account.CuMemberAccount;
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
import com.hzs.common.domain.sale.order.SaOrder;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description: 会员账户提供api操作实体
* @Author: sui q
* @Time: 2022/9/5 14:27
* @Classname: IMemberAccountServiceApi
* @PackageName: com.hzs.member.account
*/
public interface IMemberAccountServiceApi {
/**
* 查询会员账户状态账户信息
*
* @param cuMemberAccount 会员账户条件信息
* @return: List<CuMemberAccountExt>
* @Author: sui q
* @Date: 2022/9/5 11:57
*/
R<List<CuMemberAccountExt>> queryMemberAccountByCondition(CuMemberAccount cuMemberAccount);
/**
* 根据会员id 列表查询账户信息
*
* @param pkMemberList 列表
* @return: List<CuMemberAccount>
* @Author: sui q
* @Date: 2023/3/25 16:28
*/
R<List<CuMemberAccount>> queryCuMemberAccountByPkMembers(List<Long> pkMemberList);
/**
* 校验订单调换货物余额是否足够
*
* @param saOrder 订单
* @param updateOrder 新订单
* @return
*/
R orderChangeProductPre(SaOrder saOrder, SaOrder updateOrder);
/**
* 订单调换货物扣费处理
*
* @param saOrder 订单
* @param updateOrder 新订单
* @param userId 操作人ID
* @param obj 追加后续业务实体
* @return
*/
R orderChangeProduct(SaOrder saOrder, SaOrder updateOrder, Long userId, Object obj);
/**
* 订单退单
*
* @param saOrder 退单订单
* @param userId 操作用户ID
* @param changeAmount 变动金额除订单退回外又追加的补偿或者扣款 -- 非必传
* @param changeRemark 变动备注 -- 非必传
* @return
*/
R orderReturn(SaOrder saOrder, Long userId, BigDecimal changeAmount, String changeRemark);
/**
* 订单退单注册会员
*
* @param pkMemberList 会员ID列表
* @param userId 操作用户ID
*/
R orderReturnMember(List<Long> pkMemberList, Long userId);
/**
* 订单自提退邮费
*
* @param pkMember 会员ID
* @param pkCountry 所属国家
* @param pkRate 汇率
* @param postage 邮费
* @param userId 操作人ID
* @return
*/
R orderSelfDeliver(Long pkMember, Integer pkRate, Integer pkCountry, BigDecimal postage, Long userId);
/**
* 扣款并插入明细
*
* @param saOrder 订单
* @param cuMemberAccount 会员账户
*/
R insertMemberTrade(SaOrder saOrder, CuMemberAccountExt cuMemberAccount);
}

View File

@ -0,0 +1,21 @@
package com.hzs.member.account;
import com.hzs.common.core.domain.R;
import com.hzs.member.account.dto.CuMemberBankParam;
/**
* @Description: 银行卡操作API
* @Author: ljc
* @Time: 2022/11/11 17:07
* @Classname: IMemberBankServiceApi
* @Package_name: com.hzs.member.account
*/
public interface IMemberBankServiceApi {
/**
* 添加银行卡信息
*
* @param cuMemberBankParam 银行上信息
* @return R
*/
R addBankInfo(CuMemberBankParam cuMemberBankParam);
}

View File

@ -0,0 +1,41 @@
package com.hzs.member.account;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.account.CuMemberRecharge;
import java.util.Date;
/**
* 会员模块定时任务
*
* @Description:
* @Author: ljc
* @Time: 2023/4/12 10:38
* @Classname: IMemberJobServiceApi
* @Package_name: com.hzs.member.account
*/
public interface IMemberJobServiceApi {
/**
* 定时插入账户详情数据
*
* @return
*/
R insertAccountDetail();
/**
* 自动提现
*
* @return
*/
R automaticWithdrawal();
/**
* 查询充值金额总和
*
* @param startDate 开始时暗
* @param endDate 结速时间
* @return R<CuMemberRecharge>
*/
R<CuMemberRecharge> selectRechargeTotalAmount(Date startDate, Date endDate);
}

View File

@ -0,0 +1,76 @@
package com.hzs.member.account;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.EApproveOperation;
import com.hzs.common.domain.member.account.CuMemberRecharge;
import com.hzs.common.domain.member.account.CuMemberTrade;
import com.hzs.common.domain.member.account.CuMemberTradeExt;
import com.hzs.member.account.dto.BusinessCommissionDTO;
import com.hzs.member.account.dto.MemberBalanceDTO;
import java.util.List;
/**
* 会员端在线支付 回调插入交易流水更新余额
*
* @Description:
* @Author: ljc
* @Time: 2023/3/8 18:23
* @Classname: IMemberTradeServiceApi
* @Package_name: com.hzs.member.account
*/
public interface IMemberTradeServiceApi {
/**
* 会员端在线支付 回调插入交易流水更新余额
*
* @param rechargeCode 充值单号
* @return R
*/
R saveMemberOnlineTradeAndAccount(String rechargeCode);
/**
* 会员端在线支付更新审批状态
*
* @param rechargeCode 充值单号
* @param eApproveOperation 审批状态 充值成功审核通过 充值失败 审核驳回
* @param pkMember 会员ID
* @return Integer
*/
R<?> updateOnlineRechargeByRechargeCode(String rechargeCode, EApproveOperation eApproveOperation, Long pkMember);
/**
* 根据单号与用户ID 查询预充值金额
*
* @param rechargeCode 充值单号
* @param pkMember 用户ID
* @return R
*/
R<CuMemberRecharge> selectMemberRechargeByCodeAndPkMember(String rechargeCode, Long pkMember);
/**
* 查询余额不足的用户信息
*
* @param businessCommissionDTO 业务参数
* @return List<MemberBalanceDTO>
*/
List<MemberBalanceDTO> selectBalanceNotEnoughMember(BusinessCommissionDTO businessCommissionDTO);
/**
* 业务办理扣费提交
*
* @param businessCommissionDTO 业务办理入参
* @return Integer
*/
R<Boolean> businessCommissionSubmit(BusinessCommissionDTO businessCommissionDTO);
/**
* 查询会员订单产生的最新交易明细
*
* @param pkMember 会员
* @param sourceCode 来源单号
* @param tradeClassify 交易分类
* @return
*/
R<List<CuMemberTrade>> querySourceCodeLastTrade(Long pkMember, String sourceCode, Integer tradeClassify);
}

View File

@ -0,0 +1,58 @@
package com.hzs.member.account.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* 业务手续费扣款
*
* @Description:
* @Author: ljc
* @Time: 2023/1/6 15:15
* @Classname: BusinessCommissionDTO
* @Package_name: com.hzs.member.account.dto
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class BusinessCommissionDTO implements Serializable {
private static final long serialVersionUID = -7044355732653916051L;
/**
* 扣款币种类型
*/
private Integer pkAccount;
/**
* 业务类型 扣款必传参数
*/
private Integer tradeType;
/**
* 业务编号扣款必传参数
*/
private String tradeCode;
/**
* 国家扣款必传参数
*/
private Integer pkCountry;
/**
* 创建人ID扣款必传参数
*/
private Long pkCreator;
/**
* 会员手续费
*/
private List<MemberAmountDTO> memberAmountDTOList;
}

View File

@ -0,0 +1,63 @@
package com.hzs.member.account.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* <p>
* 会员信息-银行卡信息
* </p>
*
* @author hzs
* @since 2022-08-31
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CuMemberBankParam implements Serializable {
private static final long serialVersionUID = -7463678186844161121L;
/**
* 银行名称
*/
private String bankName;
/**
* 支行名称
*/
private String subBankName;
/**
* 开户姓名
*/
private String accountName;
/**
* 银行卡号
*/
private String cardNumber;
/**
* 身份证号
*/
private String idCard;
/**
* 手机号
*/
private String phone;
/**
* 国家ID
*/
private Integer pkCountry;
/**
* 会员ID
*/
private Long pkMember;
}

View File

@ -0,0 +1,63 @@
package com.hzs.member.account.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 会员业务手续费
*
* @Description:
* @Author: ljc
* @Time: 2023/1/6 15:15
* @Classname: BusinessCommissionDTO
* @Package_name: com.hzs.member.account.dto
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MemberAmountDTO implements Serializable {
private static final long serialVersionUID = -7044355732653916051L;
/**
* 国家兼容字段多国家扣费
*/
private Integer pkCountry;
/**
* 扣款币种类型兼容字段多国家扣费
*/
private Integer pkAccount;
/**
* 会员编号
*/
private Long pkMember;
/**
* 扣款金额
*/
private BigDecimal tradeAmount;
/**
* 业务类型 扣款必传参数
*/
private Integer businessType;
/**
* 可提现金额扣费兼容字段
*/
private BigDecimal withdrawBalance;
/**
* 可消费金额扣费兼容字段
*/
private BigDecimal consumeBalance;
}

View File

@ -0,0 +1,41 @@
package com.hzs.member.account.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 用户余额
*
* @Description:
* @Author: ljc
* @Time: 2023/1/7 15:12
* @Classname: MemberBalanceDTO
* @Package_name: com.hzs.member.account.dto
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MemberBalanceDTO implements Serializable {
private static final long serialVersionUID = -1359299682132267529L;
/**
* 会员编号
*/
private String memberCode;
/**
* 会员姓名
*/
private String memberName;
/**
* 余额未扣款之前
*/
private BigDecimal banlance;
}

View File

@ -0,0 +1,74 @@
package com.hzs.member.account.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* 办理业务专用会员余额
*
* @Description:
* @Author: zhangjing
* @Time: 2023/1/7 15:12
* @Classname: MemberBalanceDTO
* @Package_name: com.hzs.member.account.dto
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MemberBusinessBalanceDTO implements Serializable {
private static final long serialVersionUID = -7044355732653916051L;
/**
* 扣款币种类型
*/
private Integer pkAccount;
/**
* 业务类型 扣款必传参数
*/
private Integer businessType;
/**
* 业务编号扣款必传参数
*/
private String tradeCode;
/**
* 国家扣款必传参数
*/
private Integer pkCountry;
/**
* 创建人ID扣款必传参数
*/
private Long pkCreator;
/**
* 会员编号
*/
private String memberCode;
/**
* 会员姓名
*/
private String memberName;
/**
* 余额未扣款之前
*/
private BigDecimal banlance;
/**
* 扣款金额
*/
private BigDecimal tradeAmount;
/**
* 会员编号
*/
private Long pkMember;
}

View File

@ -0,0 +1,47 @@
package com.hzs.member.account.dto;
import com.hzs.common.domain.sale.order.SaOrder;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description: 订单退单扣款DTO
* @Author: jiang chao
* @Time: 2023/4/4 11:40
* @Classname: ReturnOrderDTO
* @PackageName: com.hzs.member.account.dto
*/
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class OrderReturnPaymentDTO implements Serializable {
private static final long serialVersionUID = -8842651861054394386L;
/**
* 订单编号
*/
private String orderCode;
/**
* 退还金额
*/
private BigDecimal returnAmount;
/**
* 退单备注
*/
private String returnRemark;
/**
* 订单信息
*/
private SaOrder saOrder;
}

View File

@ -0,0 +1,24 @@
package com.hzs.member.achieve;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
/**
* @Description: 会员结算期间api接口
* @Author: zhangjing
* @Time: 2022/10/26 15:12
* @Classname: IMemberAchieveServiceAPI
* @PackageName: com.hzs.member.achieve
*/
public interface ICuMemberSettlePeriodServiceApi {
/**
* @description: 根据日期获得日期对应的期间
* @author: zhang jing
* @date: 2023/8/26 10:25
* @param: [date]
* @return: com.hzs.common.core.domain.R<com.hzs.common.domain.member.achieve.CuMemberSettlePeriod>
**/
R<CuMemberSettlePeriod> getCuMemberSettlePeriodByDate(String date);
}

View File

@ -0,0 +1,29 @@
package com.hzs.member.achieve;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.base.CuMember;
import java.util.Date;
/**
* @Description: 提供查询实时会员业绩的api接口
* @Author: sui q
* @Time: 2022/10/26 15:12
* @Classname: IMemberAchieveServiceAPI
* @PackageName: com.hzs.member.achieve
*/
public interface IMemberAchieveServiceApi {
/**
* 查询会员的安置部门
*
* @param cuMember 推荐会员主键 公司 会员名称 手机号
* @param isFirst 是否首单
* @param isFirstAchieve 是否首购业绩
* @return: CuMemberAchieve
* @Author: sui q
* @Date: 2022/10/26 15:04
*/
R<CuMember> queryCuMemberAchieveByPkMember(CuMember cuMember, Boolean isFirst, Boolean isFirstAchieve);
}

View File

@ -0,0 +1,24 @@
package com.hzs.member.address;
import com.hzs.common.core.domain.R;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
/**
* @description: 会员礼包收货地址修改回调接口
* @author: zhang jing
* @date: 2022/10/22 15:04
* @param:
* @return:
**/
public interface ICuMemberGiftServiceApi {
/**
* 审核流程(审批流调用业务模块)
*
* @param approvalBusinessResultDTO 业务审批操作DTO
* @return Integer
*/
R auditProcess(ApprovalBusinessResultDTO approvalBusinessResultDTO);
}

View File

@ -0,0 +1,22 @@
package com.hzs.member.base;
import com.hzs.common.core.domain.R;
import com.hzs.member.base.dto.CuAwardsControlDTO;
import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam;
import java.util.List;
/**
* 真实奖衔控制服务接口
*/
public interface ICuAwardsControlServiceApi {
/**
* 查询真实奖衔控制审核列表
*
* @param analysisBusinessAppealParam
* @return
*/
R<List<CuAwardsControlDTO>> awardsControlList(AnalysisBusinessAppealParam analysisBusinessAppealParam);
}

View File

@ -0,0 +1,28 @@
package com.hzs.member.base;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.business.SignOnlineInfoVo;
import com.hzs.member.base.dto.CuMemberAchieveLogDTO;
import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam;
import java.util.List;
/**
* @description: 特殊业务-注水业绩
* @author: zhang jing
* @date: 2023/3/28 16:41
* @param:
* @return:
**/
public interface ICuMemberAchieveLogServiceApi {
/**
* 解析注水业绩诉求信息
*
* @param analysisBusinessAppealParam 业务信息
* @return R
*/
R<List<CuMemberAchieveLogDTO>> memberAchieveLog(AnalysisBusinessAppealParam analysisBusinessAppealParam);
}

View File

@ -0,0 +1,30 @@
package com.hzs.member.base;
import com.hzs.common.core.domain.R;
/**
* @description: 会员收益区域服务接口
* @author: zhang jing
* @date: 2024/12/30 15:01
* @param:
* @return:
**/
public interface ICuMemberRetailRegionServiceApi {
/**
* @description: 批量修改已到期的会员收益区域
* @author: zhang jing
* @date: 2024/12/30 15:22
* @param: []
* @return: com.hzs.common.core.domain.R<?>
**/
R<?> batchUpdateRetailRegion();
/**
* 处理重复区域
*
* @return
*/
R<?> handleRepeatRegion();
}

View File

@ -0,0 +1,26 @@
package com.hzs.member.base;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.detail.CuMemberLevel;
import java.util.List;
/**
* @Description: 会员等级相关dubbo服务
* @Author: jiang chao
* @Time: 2025/2/27 9:25
* @Classname: IMemberLevelServiceApi
* @PackageName: com.hzs.member.base
*/
public interface IMemberLevelServiceApi {
/**
* 获取会员升级记录
*
* @param pkMember 会员ID
* @param pkOrder 订单ID -- 可为空
* @return
*/
R<List<CuMemberLevel>> listMemberLevel(Long pkMember, Long pkOrder);
}

View File

@ -0,0 +1,503 @@
package com.hzs.member.base;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.base.CuMemberRegister;
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.member.swing.ext.CuMemberSwingNetExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.member.account.dto.BusinessCommissionDTO;
import com.hzs.member.base.dto.LoginMember;
import com.hzs.member.base.dto.ShowWaresDTO;
import com.hzs.member.base.dto.ZeroElementRevokeDTO;
import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
* 会员服务接口
*
* @Description:
* @Author:
* @Time: 2022/8/29 11:41
* @Classname: IMemberServiceApi
* @PackageName: com.hzs.member
*/
public interface IMemberServiceApi {
/**
* 通过会员编号查询会员信息
*
* @param memberCode 会员编号
* @return 结果
*/
R<LoginMember> getMemberInfo(String memberCode);
/**
* 根据会员ID获取会员信息查库
*
* @param memberId
* @return
*/
R<CuMemberExt> getMemberById(Long memberId);
/**
* 根据会员编号获取会员信息查库
*
* @param memberCode
* @return
*/
R<CuMemberExt> getMemberByCode(String memberCode);
/**
* 前台查询会员的方法通过传输不同的参数查询不同的会员
*
* @param cuMember 会员编号的传输值
* @return: R<CuMember>
* @Author: sui q
* @Date: 2022/8/29 11:46
*/
R<List<CuMemberExt>> getMemberInfo(CuMember cuMember);
/**
* 撤销注册订单需要更新会员单点撤单更新为死点
*
* @param pkApprove 审核人
* @param saOrder 销售订单
* @return: Boolean
* @Author: sui q
* @Date: 2022/10/22 16:43
*/
R<Boolean> singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO);
/**
* @description: 自助撤单-注册单撤单
* @author: zhang jing
* @date: 2023/11/23 16:04
* @param: [pkApprove, saOrder, businessCommissionDTO]
* @return: com.hzs.common.core.domain.R<java.lang.Boolean>
**/
R<Boolean> singleRevokeMemberBySelfRevokeOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO);
/**
* 撤销订单需要更新会员合并撤单直接删除会员
*
* @param pkApprove 审核人
* @param memberList 会员列表
* @param saOrderMap 销售订单
* @return: Boolean
* @Author: sui q
* @Date: 2022/10/22 16:43
*/
R<Boolean> mergeRevokeMemberByRegisterOrder(Long pkApprove, List<Long> memberList, Map<Long, SaOrderExt> saOrderMap, BusinessCommissionDTO businessCommissionDTO);
/**
* 普通撤单注销除注册专区的订单
*
* @param pkApprove 审核人
* @param saOrder 订单
* @param cuMember 修改后的会员
* @return: R<Boolean>
* @Author: sui q
* @Date: 2023/3/25 14:13
*/
R<Boolean> normalRevokeOrder(Long pkApprove, SaOrderExt saOrder, CuMember cuMember, BusinessCommissionDTO businessCommissionDTO);
/*
* @description: 撤销会员账户余额
* @author: sui q
* @date: 2025/2/21 10:28
* @param: null null
**/
R<Boolean> cancelMemberAccount(Long pkMember, SaOrder saOrder);
/**
* 查找安置人伞上会员信息
*
* @param memberId 编号安置人
* @Description:
* @return: List<CuMemberExt>
* @Author: sui q
* @Date: 2022/8/29 20:54
*/
R<List<CuMemberExt>> querySponsorOnUmbrella(Long memberId, String memberCode, String phone);
/**
* 查找安置人伞上会员信息
*
* @param memberId 编号安置人
* @Description:
* @return: List<CuMemberExt>
* @Author: sui q
* @Date: 2022/8/29 20:54
*/
R<List<CuMemberExt>> querySponsorOnUmbrella(Long memberId, List<String> memberCodeList);
/**
* 查找安置人伞下
*
* @param memberId 会员编号
* @Description:
* @return: List<CuMemberExt>
* @Author: sui q
* @Date: 2022/8/29 20:54
*/
R<List<CuMemberExt>> selectPlaceSponsorUnderUmbrellaByCondition(Long memberId, List<CuMemberExt> cuMemberExtList);
/**
* 查找安置人伞下
*
* @param memberId 安置人编号
* @Description:
* @return: List<CuMemberExt>
* @Author: sui q
* @Date: 2022/8/29 20:54
*/
R<List<CuMemberExt>> queryPlaceSponsorUnderUmbrella(Long memberId, String... placeParent);
/**
* 根据会员编号查找该会员编号极左极下的那个人
*
* @param memberId 会员编号
* @param placeDept 1代表左区极左极下2代表右区极左极下
* @return: CuMemberExt
* @Author: sui q
* @Date: 2022/9/1 20:36
*/
R<CuMemberExt> queryPlaceSponsorLastLeft(Long memberId, Integer placeDept);
/**
* 获取会员缓存
*
* @param memberCode 编号
* @return CuMember
*/
R<CuMember> getMember(String memberCode);
/**
* 获取会员缓存
*
* @param pkMember 会员主键
* @return CuMember
*/
R<CuMember> getMember(Long pkMember);
/**
* 获取会员缓存
*
* @param memberCode 会员编号
* @return CuMember
*/
R<CuMember> queryMember(String memberCode);
/*
* @description: 查询会员
* @author: sui q
* @date: 2023/4/25 10:32
* @param: null null
**/
R<CuMember> queryMember(Long pkMember);
/**
* 保存新会员信息,待支付订单
*
* @param cuMember 会员信息
* @return: R<Integer>
* @Author: sui q
* @Date: 2022/9/9 9:39
*/
R<Boolean> saveMember(CuMember cuMember);
/*
* @description: 查询网体是否存在推荐人
* @author: sui q
* @date: 2023/9/11 9:53
* @param: null null
**/
R<Integer> queryCuMemberByPkMember(Long pkReference);
/**
* 修改会员信息确认订单信息流水升级订单复购订单
*
* @param saOrder 订单信息
* @param cuMemberAccountExt 会员账户信息
* @return: Boolean
* @Author: sui q
* @Date: 2022/9/26 11:35
*/
R<Boolean> saveMember(SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt);
/**
* 修改会员信息确认订单信息流水升级订单复购订单
*
* @param cuMember 会员信息
* @param saOrder 订单信息
* @param cuMemberAccountExt 会员账户信息
* @return: Boolean
* @Author: sui q
* @Date: 2022/9/26 11:35
*/
R<Boolean> saveMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt);
/**
* 保存新会员信息支付订单
*
* @param cuMember 会员信息
* @param saOrder 订单信息
* @param isPay 是否支付
* @param cuMemberAccountExt 支付账号
* @return: R<Integer>
* @Author: sui q
* @Date: 2022/9/9 9:39
*/
R<Boolean> saveMember(CuMember cuMember, SaOrderExt saOrder, Boolean isPay, CuMemberAccountExt cuMemberAccountExt);
/**
* 处理新会员生成主键跟会员编号
*
* @param cuMember 会员
* @param isHaiFun 是否嗨粉
* @return: R<Boolean>
* @Author: sui q
* @Date: 2022/9/30 17:30
*/
R<CuMember> createMemberIdAndCode(CuMember cuMember, Boolean isHaiFun);
/**
* 创建注册会员编号放入会员编号批次占用
*
* @param cuMember 会员信息
* @return
*/
R<CuMember> createRegisterMemberCode(CuMember cuMember);
/**
* 创建空单注册会员
*
* @param member
* @return
*/
R<CuMember> createEmptyOrderMember(CuMemberExt member);
/**
* 校验会员下的安置人推荐人是否存在
*
* @param pkMember 会员ID
* @return
*/
R<Boolean> checkLowerMember(Long pkMember);
/**
* 取消用户取消注册相关订单同步取消用户
*
* @param pkMember
* @return
*/
R<Boolean> cancelMember(Long pkMember);
/**
* 根据会员ID列表查询会员
*
* @param pkMemberList 会员ID列表 -- 必传
* @param pkCountry 国家ID -- 非必传
* @return
*/
R<List<CuMemberExt>> findMemberByMemberId(List<Long> pkMemberList, Integer pkCountry);
/**
* 根据会员主键查询会员注册信息
*
* @param pkMember 会员主键
* @return: CuMemberRegister
* @Author: sui q
* @Date: 2023/3/29 18:33
*/
R<CuMemberRegister> queryCuMemberRegister(Long pkMember);
/*
* @description: 会员编号账户类型抽奖金额
* @author: sui q
* @date: 2023/4/25 16:31
* @param: null null
**/
R<Boolean> updateCuMemberAccountByDraw(Long pkMember, Integer pkCountry, Integer accountValue, BigDecimal rewardMoney);
/*
* @description: 会员抽奖购买抽奖次数支付金额
* @author: sui q
* @date: 2023/4/27 15:54
* @param: null null
**/
R<Boolean> updateCuMemberAccountByDraw(CuMemberAccountExt cuMemberAccountExt, BigDecimal payMoney);
/**
* 更新用户等级
*
* @param cuMember 用户信息
* @param saOrder 订单信息
* @param pkOldLevel 原等级
* @return R<Boolean>
*/
R<Boolean> updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
/**
* 校验是否血缘关系返回true则有血缘关系
*
* @param topCode 顶点编号
* @param userId 当前会员
* @return
*/
R<Boolean> checkParent(String topCode, Long userId);
/**
* @description: 获取奖衔的翻译KEY值
* @author: zhang jing
* @date: 2023/3/2 12:00
* @param: [pkCountry, pkId]
* @return: java.lang.Integer
**/
Integer getAwardsTranslateValue(Integer pkCountry, Integer pkId);
/**
* 查询全部
*
* @return
*/
R<List<CuMemberExt>> findAll();
/**
* 校验商品团队信息是否可见
*
* @param showWaresDTOS
* @return
*/
R<Map<Integer, Boolean>> checkIsShowWares(List<ShowWaresDTO> showWaresDTOS);
/**
* 清除会员编号占用数据
*
* @return
*/
R<Integer> clearMemberEmptyCode();
/**
* @description: 零元撤单签呈列表
* @author: zhang jing
* @date: 2023/10/27 16:25
* @param: [analysisBusinessAppealParam]
* @return: com.hzs.common.core.domain.R<com.hzs.member.base.dto.ZeroElementRevokeDTO>
**/
R<List<ZeroElementRevokeDTO>> zeroByBusinessList(AnalysisBusinessAppealParam analysisBusinessAppealParam);
/*
* @description: 查询系统中所有甩网数据
* @author: sui q
* @date: 2023/8/30 15:05
* @param: null null
**/
R<List<CuMemberSwingNetExt>> queryCuMemberSwingNetExt();
/**
* 查询菜单用户
*
* @param pkMember 会员ID
* @return
*/
R<CuMemberExt> getMenuMember(Long pkMember);
/**
* 根据会员编号获取推荐人信息
*
* @param memberCode 会员编号
* @return
*/
R<CuMember> getParentMember(String memberCode);
/**
* 查询同姓名同手机号指定等级会员数量
*
* @param memberName 会员姓名
* @param phone 手机号码
* @param pkGrade 结算等级
* @param pkCountry 所属国家
* @return
*/
R<Integer> countGradeMemberPoint(String memberName, String phone, Integer pkGrade, Integer pkCountry);
/**
* 查询新零售会员优先使用会员ID
*
* @param pkMember 会员ID
* @param memberCode 会员编号
* @return
*/
R<CuMember> getRetailMember(Long pkMember, String memberCode);
/**
* 新零售查询会员血缘伞上
* pkMembermemberCode必传一项
* topPkMembertopMemberCode必传一项
*
* @param pkMember 查询会员ID
* @param memberCode 查询会员编号
* @param topPkMember 顶点会员ID
* @param topMemberCode 顶点会员编号
* @return
*/
R<CuMember> getRetailTopMember(Long pkMember, String memberCode, Long topPkMember, String topMemberCode);
/**
* 生成新零新会员ID和编号
*
* @param cuMember 会员信息
* @return
*/
R<CuMember> createRetailMemberIdAndCode(CuMember cuMember);
/**
* 注册新零售会员
*
* @param cuMember 新会员
* @param saOrder 会员订单
* @param cuMemberAccountExt 扣款账户
* @return
*/
R<?> saveRetailMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt);
/**
* 升级新零售会员
*
* @param cuMember 升级会员
* @param saOrder 会员订单
* @param cuMemberAccountExt 扣款账户
* @return
*/
R<?> updateRetailMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt);
/**
* 新零售会员其它订单处理
*
* @param cuMember 购买会员
* @param saOrder 会员订单
* @param cuMemberAccountExt 扣款账户
* @param activateFlag 激活标记
* @return
*/
R<?> otherRetailMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt, Boolean activateFlag);
/**
* 校验注册关系是否跨团队
* 2024.12.24 修改为校验手机号必须唯一
*
* @param phone 联系方式
* @param parentCode 推荐编号
* @return 返回为null则正常否则则错误信息
*/
R<String> checkRegisterRelation(String phone, String parentCode);
}

View File

@ -0,0 +1,52 @@
package com.hzs.member.base;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.base.CuMemberTeam;
import com.hzs.common.domain.member.ext.CuMemberTeamExt;
import java.util.List;
import java.util.Map;
/**
* @description: 根据国家查询隶属团队配置列表api
* @author: zhang jing
* @date: 2022/9/29 15:31
* @param:
* @return:
**/
public interface IMemberTeamServiceApi {
/**
* @description: 根据国家查询隶属团队配置列表
* @author: zhang jing
* @date: 2022/9/29 15:31
* @param: [pkCountry]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.system.config.BdAwards>>
**/
R<List<CuMemberTeamExt>> queryCuMemberTeam(Integer pkCountry);
/**
* 根据体系id 查询是否有团队占用该体系
*
* @param pkVertex
* @return
*/
R<Boolean> checkVertex(Integer pkVertex);
/*
* @description: 根据主键获得所属团队
* @author: sui q
* @date: 2023/4/25 9:17
* @param: null null
**/
R<CuMemberTeamExt> getCuMemberTeamById(Long pkMember);
/**
* 查询体系团队map
*
* @param pkVertexList
* @return
*/
R<Map<Long, CuMemberTeam>> getTeamByVertexIds(List<Integer> pkVertexList);
}

View File

@ -0,0 +1,23 @@
package com.hzs.member.base;
import com.hzs.common.core.domain.R;
import com.hzs.member.base.dto.CuAwardsControlDTO;
import com.hzs.member.base.dto.UpPolicyCurrencyDTO;
import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam;
import java.util.List;
/**
* 修改政策币服务接口
*/
public interface IUpPolicyCurrencyServiceApi {
/**
* 查询修改政策币审核列表
*
* @param analysisBusinessAppealParam
* @return
*/
R<List<UpPolicyCurrencyDTO>> policyCurrencyList(AnalysisBusinessAppealParam analysisBusinessAppealParam);
}

View File

@ -0,0 +1,194 @@
package com.hzs.member.base.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* 真实奖衔控制表DTO
* </p>
*
* @author hzs
* @since 2022-08-22
*/
@Data
public class CuAwardsControlDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Long pkId;
/**
* 会员主键
*/
private Long pkMember;
/**
* 会员编号
*/
private String memberCode;
/**
* 会员姓名
*/
private String memberName;
/**
* 真实奖衔
*/
private Long realAwards;
/**
* 真实奖衔
*/
private Long realAwardsKey;
/**
* 真实奖衔
*/
private String realAwardsKeyVal;
/**
* 辅导奖衔
*/
private Long mentoringAward;
/**
* 辅导奖衔
*/
private Long mentoringAwardKey;
/**
* 辅导奖衔
*/
private String mentoringAwardKeyVal;
/**
* 分红奖衔
*/
private Long dividendAward;
/**
* 分红奖衔
*/
private Long dividendAwardKey;
/**
* 分红奖衔
*/
private String dividendAwardKeyVal;
/**
* 极差奖衔
*/
private Long extremeAwards;
/**
* 极差奖衔
*/
private Long extremeAwardsKey;
/**
* 极差奖衔
*/
private String extremeAwardsKeyVal;
/**
* 复购考核奖衔 REPLY_EXAM_AWARD
*/
private Long replyExamAward;
/**
* 复购考核奖衔
*/
private Long replyExamAwardKey;
/**
* 复购考核奖衔
*/
private String replyExamAwardKeyVal;
/**
* 分红考核奖衔 DIVVY_EXAM_AWARDS
*/
private Long divvyExamAwards;
/**
* 分红考核奖衔 DIVVY_EXAM_AWARDS
*/
private Long divvyExamAwardsKey;
/**
* 分红考核奖衔 DIVVY_EXAM_AWARDS
*/
private String divvyExamAwardsKeyVal;
/**
* 创建人ID
*/
@TableField("PK_CREATOR")
private Long pkCreator;
/**
* 创建时间
*/
@Excel(name = "创建时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
/**
* 修改人ID
*/
private Long pkModified;
/**
* 修改时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date modifiedTime;
/**
* 逻辑删除 (0=未删除1已删除)
*/
@JsonIgnore
private Integer delFlag;
/**
* 国家
*/
private Integer pkCountry;
/**
* 业务单号
*/
private String businessNo;
/**
* 审核状态 2 待审核 4 已驳回 5 已完成(审核成功) 枚举 EApproveStatus
*/
private Integer approveStatus;
/**
* 办理次数
*/
private Integer changeNumber;
/**
* 费用
*/
private BigDecimal cost;
/**
* 扣款币种类型
*/
private Integer pkAccount;
/**
* 扣款币种类型
*/
@Transaction(transactionKey = EnumsPrefixConstants.KEY_ACC)
private Integer pkAccountKey;
/**
* 扣款币种类型
*/
private String pkAccountKeyVal;
}

View File

@ -0,0 +1,70 @@
package com.hzs.member.base.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @Description: 创客空间补全资料DTO
* @Author: jiang chao
* @Time: 2024/6/7 11:12
* @Classname: CuMakerSpaceDTO
* @PackageName: com.hzs.member.base.dto
*/
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class CuMakerSpaceDTO implements Serializable {
/**
* 创客空间ID
*/
private Long pkId;
/**
* 店铺编号
*/
private String storeCode;
/**
* 会员ID
*/
private Long pkMember;
/**
* 会员编号
*/
private String memberCode;
/**
* 会员姓名
*/
private String memberName;
/**
* 法人身份证正面
*/
private String legalCardFront;
/**
* 法人身份证反面
*/
private String legalCardBack;
/**
* 营业执照
*/
private String license;
/**
* 店铺协议
*/
private List<String> storeAgreementList;
}

View File

@ -0,0 +1,202 @@
package com.hzs.member.base.dto;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* 注水业绩记录表DTO
* </p>
*
* @author hzs
* @since 2022-08-22
*/
@Data
public class CuMemberAchieveLogDTO implements Serializable {
private static final long serialVersionUID = 1L;
private Integer pkId;
/**
* 会员主键
*/
private Long pkMember;
/**
* 会员编号
*/
@Excel(name = "会员编号",sort = 1)
private String memberCode;
/**
* 会员姓名
*/
@Excel(name = "会员姓名",sort = 2)
private String memberName;
/**
* A左区结余 左区首购结余
*/
@Excel(name = "变更前左区首购结余",sort = 17)
private BigDecimal abalance;
/**
* B右区结余 右区首购结余
*/
@Excel(name = "变更前右区首购结余",sort = 18)
private BigDecimal bbalance;
/**
* A左区累计 左区真实业绩
*/
@Excel(name = "变更前左区真实业绩(PV)",sort = 13)
private BigDecimal asumRealPv;
/**
* 变更后A左区累计 变更后左区真实业绩
*/
@Excel(name = "变更后左区真实业绩(PV)",sort = 3)
private BigDecimal asumRealModifyPv;
/**
* B右区累计 右区真实业绩
*/
@Excel(name = "变更前右区真实业绩(PV)",sort = 14)
private BigDecimal bsumRealPv;
/**
* 变更后B右区累计 更后右区真实业绩
*/
@Excel(name = "变更后右区真实业绩(PV)",sort = 4)
private BigDecimal bsumRealModifyPv;
/**
* A左区首购业绩
*/
@Excel(name = "变更前左区首购业绩(PV)",sort = 15)
private BigDecimal afirstPv;
/**
* 变更后A左区 变更后左区首购业绩
*/
@Excel(name = "变更后左区首购业绩(PV)",sort = 5)
private BigDecimal afirstModifyPv;
/**
* B右区首购业绩
*/
@Excel(name = "变更前右区首购业绩(PV)",sort = 16)
private BigDecimal bfirstPv;
/**
* 变更后B右区 变更后右区首购业绩
*/
@Excel(name = "变更后右区首购业绩(PV)",sort = 6)
private BigDecimal bfirstModifyPv;
/**
* 变更后A左区首购结余
*/
@Excel(name = "变更后左区首购结余",sort = 7)
private BigDecimal repAFirstModifyBalance;
/**
* 变更后B右区首购结余
*/
@Excel(name = "变更后右区首购结余",sort = 8)
private BigDecimal repBFirstModifyBalance;
/**
* A左区复购结余 左区复购结余
*/
@Excel(name = "变更前左区复购结余",sort = 21)
private BigDecimal repABalance;
/**
* 变更后A左区复购结余
*/
@Excel(name = "变更后左区复购结余",sort = 11)
private BigDecimal repAModifyBalance;
/**
* B右区复购结余 右区复购结余
*/
@Excel(name = "变更前右区复购结余",sort = 22)
private BigDecimal repBBalance;
/**
* 变更后B右区复购结余
*/
@Excel(name = "变更后右区复购结余",sort = 12)
private BigDecimal repBModifyBalance;
/**
* A左区复购业绩累计业绩 左区复购业绩
*/
@Excel(name = "变更前左区复购业绩(PV)",sort = 19)
private BigDecimal repASumPv;
/**
* 变更后A左区复购业绩累计业绩
*/
@Excel(name = "变更后左区复购业绩(PV)",sort = 9)
private BigDecimal repAModifySumPv;
/**
* B右区复购业绩累计业绩 右区复购业绩
*/
@Excel(name = "变更前右区复购业绩(PV)",sort = 20)
private BigDecimal repBSumPv;
/**
* 变更后B右区复购业绩累计业绩
*/
@Excel(name = "变更后右区复购业绩(PV)",sort = 10)
private BigDecimal repBModifySumPv;
/**
* 国家
*/
private Integer pkCountry;
/**
* 注水方式 EInfusingWaterType 1 增加 2减少 3 最终
*/
private Integer infusingWaterType;
/**
* 注水备注
*/
private String remarks;
/**
* 业务单号
*/
private String businessNo;
/**
* 费用
*/
private BigDecimal cost;
/**
* 扣款币种类型
*/
private Integer pkAccount;
/**
* 扣款币种类型
*/
@Transaction(transactionKey = EnumsPrefixConstants.KEY_ACC)
private Integer pkAccountKey;
/**
* 扣款币种类型
*/
private String pkAccountKeyVal;
private String settleDateStr;
private String dueDateStr;
}

View File

@ -0,0 +1,76 @@
package com.hzs.member.base.dto;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hzs.common.domain.member.ext.CuMemberExt;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 会员用户信息
*
* @author hzs
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class LoginMember implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户唯一标识
*/
private String token;
/**
* 用户名id
*/
private Long pkId;
/**
* 用户名
*/
private String memberCode;
/**
* 登录IP地址
*/
private String ipaddr;
/**
* 登录时间
*/
private Long loginTime;
/**
* 过期时间
*/
private Long expireTime;
/**
* 登录类型使用 CuMemberExt 时需要根据此参数进行判断 -- ELoginType 枚举
*/
private String loginType;
/**
* 会员信息正式报单会员使用
*/
private CuMemberExt cuMember;
/**
* 结算国家此字段实体不存值只做部分业务传递参数使用
*/
@JsonIgnore
private Integer pkCountry;
/**
* 系统类型2=新零售3=美业
*/
private Integer systemType;
}

View File

@ -0,0 +1,44 @@
package com.hzs.member.base.dto;/**
* @Description:
* @Author: yuhui
* @Time: 2023/6/29 15:16
* @Classname: ShowWaresDTO
* @PackageName: com.hzs.member.base.dto
*/
import com.hzs.common.domain.sale.wares.BdWaresAuthority;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.member.base.dto
*@Author: yh
*@CreateTime: 2023-06-29 15:16
*@Description: TODO
*@Version: 1.0
*/
@Data
public class ShowWaresDTO implements Serializable {
/**
* 商品主键
*/
private Integer pkWares;
/**
* 登录用户
*/
private Long loginMember;
/**
* 登录编号
*/
private String loginMemberCode;
/**
* 商品团队信息
*/
private List<BdWaresAuthority> waresAuthorityList;
}

View File

@ -0,0 +1,80 @@
package com.hzs.member.base.dto;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
* 修改政策币表DTO
* </p>
*
* @author hzs
* @since 2022-08-22
*/
@Data
public class UpPolicyCurrencyDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Long pkId;
/**
* 会员主键
*/
private Long pkMember;
/**
* 会员编号
*/
private String memberCode;
/**
* 会员姓名
*/
private String memberName;
/**
* 费用
*/
private BigDecimal cost;
/**
* 扣款币种类型
*/
private Integer pkAccount;
/**
* 扣款币种类型
*/
private Integer pkAccountKey;
/**
* 扣款币种类型
*/
private String pkAccountKeyVal;
/**
* 政策币启用状态 0 已启用 1已禁用 EnableStatus
*/
private Integer enableStatus;
@Excel(name = "政策币启用")
private String enableStatusVal;
/**
* 政策币扣款比例(%)
*/
@Excel(name = "政策币扣款比例(%)")
private BigDecimal deductMoney;
/**
* 政策币转账状态 0 已启用 1已禁用 EnableStatus
*/
private Integer transfer;
@Excel(name = "政策币转账")
private String transferVal;
}

View File

@ -0,0 +1,107 @@
package com.hzs.member.base.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* 修改续约DTO
* </p>
*
* @author hzs
* @since 2022-08-22
*/
@Data
public class UpdateExpireStopDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Long pkId;
/**
* 会员主键
*/
private Long pkMember;
/**
* 会员编号
*/
private String memberCode;
/**
* 会员姓名
*/
private String memberName;
/**
* 费用
*/
private BigDecimal cost;
/**
* 扣款币种类型
*/
private Integer pkAccount;
/**
* 扣款币种类型
*/
private Integer pkAccountKey;
/**
* 续约年限
*/
private Integer years;
/**
* 扣款币种类型
*/
private String pkAccountKeyVal;
/**
* 联系方式
*/
private String phone;
/**
* 变更前有效期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date expireDateOld;
/**
* 变更后有效期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date expireDateNew;
/**
* 变更前休止期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date stopDateOld;
/**
* 变更后休止期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date stopDateNew;
/**
* 变更前有效状态 EExpireStatus
*/
private Integer expireStatusOld;
/**
* 变更后有效状态 EExpireStatus
*/
private Integer expireStatusNew;
/**
* 变更前有效状态 EExpireStatus
*/
private String expireStatusOldVal;
/**
* 变更后有效状态 EExpireStatus
*/
private String expireStatusNewVal;
}

View File

@ -0,0 +1,46 @@
package com.hzs.member.base.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 零元撤单DTO
* </p>
*
* @author hzs
* @since 2022-08-22
*/
@Data
public class ZeroElementRevokeDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 会员主键
*/
private Long pkId;
/**
* 会员编号
*/
private String memberCode;
/**
* 会员姓名
*/
private String memberName;
/**
* 联系方式
*/
private String phone;
/**
* 创建时间
*/
private String creationTime;
}

View File

@ -0,0 +1,55 @@
package com.hzs.member.cabin.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description: 生态科技仓开机DTO
* @Author: jiang chao
* @Time: 2023/8/11 15:27
* @Classname: CabinPowerOnDTO
* @PackageName: com.hzs.member.cabin.dto
*/
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class CabinPowerOnDTO implements Serializable {
private static final long serialVersionUID = -7306851441745688525L;
/**
* 三方套餐ID
*/
private Long packageId;
/**
* 三方设备编码
*/
private String serialNumber;
/**
* 使用次数
*/
private Integer num;
/**
* 使用时长
*/
private Integer time;
/**
* 会员ID
*/
private Long pkMember;
/**
* 创客空间ID
*/
private Long pkMakerSpace;
/**
* 设备条码
*/
private String barCode;
}

View File

@ -0,0 +1,52 @@
package com.hzs.member.detail;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.base.CuMemberRegister;
import com.hzs.common.domain.member.detail.CuMemberLevel;
import com.hzs.common.domain.member.detail.ext.CuMemberAwardsExt;
import java.util.List;
/**
* @Description: 会员升级记录dubbo服务
* @Author: jiang chao
* @Time: 2024/1/30 17:24
* @Classname: ICuMemberLevelServiceApi
* @PackageName: com.hzs.member.detail
*/
public interface ICuMemberDetailServiceApi {
/**
* 查询升级的最新一条
*
* @param pkMember 会员ID
* @param pkOrder 订单ID可为null
* @return
*/
R<CuMemberLevel> getLastUpgrade(Long pkMember, Long pkOrder);
/**
* 查询所有升级记录
*
* @param pkMember 会员ID
* @return
*/
R<List<CuMemberLevel>> getUpgradeList(Long pkMember);
/**
* 查询手动开通奖衔的最新一条
*
* @param pkMember 会员ID
* @return
*/
R<CuMemberAwardsExt> queryLastManualAwards(Long pkMember);
/**
* 查询会员注册信息
*
* @param pkMember 会员ID
* @return
*/
R<CuMemberRegister> getMemberRegister(Long pkMember);
}

View File

@ -0,0 +1,97 @@
package com.hzs.member.detail;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.detail.CuMemberServiceLog;
import com.hzs.common.domain.member.detail.CuMemberServiceLogExt;
import java.util.List;
/**
* @Description:
* @Author: sui q
* @Time: 2023/3/13 19:02
* @Classname: ICuMemberServiceLogServiceApi
* @PackageName: com.hzs.member.detail
*/
public interface ICuMemberServiceLogServiceApi {
/**
* 查询pk_id最大的业务办理
*
* @param pkMember 会员编号
* @param editTypeList 查询类型
* @return: List<CuMemberServiceLog>
* @Author: sui q
* @Date: 2023/3/13 18:51
*/
List<CuMemberServiceLog> queryMaxCuMemberServiceLog(Long pkMember, List<Integer> editTypeList);
/**
* 查询最大审核次数
*
* @param pkMember
* @param editType
* @return
*/
Integer selectByMaxApproveNumber(Long pkMember, Integer editType, Integer approveStatus);
/**
* 新增
*
* @param memberLog
* @return
*/
R<Boolean> insert(CuMemberServiceLog memberLog);
/**
* 根据业务单号查询
*
* @return
*/
R<CuMemberServiceLog> selectByBusinessNo(String businessNo);
/**
* 根据业务单号修改信息
*
* @param memberLog
* @return
*/
R<Boolean> updateByBusinessNo(CuMemberServiceLog memberLog);
/**
* @description: 根据业务单号查询业务日志
* @author: zhang jing
* @date: 2023/7/29 11:15
* @param: [businessNo]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.member.detail.CuMemberServiceLog>>
**/
R<List<CuMemberServiceLog>> selectCuMemberServiceLog(String businessNo);
/**
* 查询指定会员政策币信息
*
* @param pkMember 会员ID
* @return
*/
R<CuMemberServiceLogExt> queryPolicy(Long pkMember);
/**
* @param pkMember 会员主键 pkMember
* @param approvalBusiness 类型 EApprovalBusiness
* @param approveStatus 提交签呈状态 EApproveStatus
* @return
*/
R<Integer> queryCount(Long pkMember, Integer approvalBusiness, Integer approveStatus);
/**
* 查询最新一条变动记录
*
* @param pkMember 会员ID
* @param editType 业务类型
* @param approveStatus 审核状态
* @return
*/
R<CuMemberServiceLog> selectTopData(Long pkMember, int editType, int approveStatus);
}

View File

@ -0,0 +1,41 @@
package com.hzs.member.handlebusiness;
import com.hzs.common.core.domain.R;
import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
/**
* @Description:
* @Author: yuhui
* @Time: 2023/1/30 14:23
* @Classname: CuHandleBusinessServiceApi
* @PackageName: com.hzs.member.handleBusiness
*/
public interface ICuHandleBusinessServiceApi {
/**
* 解析业务诉求信息
*
* @param analysisBusinessAppealParam 业务信息
* @return R
*/
R analysisBusinessAppeal(AnalysisBusinessAppealParam analysisBusinessAppealParam);
/**
* 在线签呈 审批状态 同意/驳回
*
* @param approvalBusinessResultDTO
* @return
*/
R<?> signForApproval(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* @description: 特殊业务审批处理
* @author: zhang jing
* @date: 2023/5/16 20:07
* @param: [approvalBusinessResultDTO]
* @return: com.hzs.common.core.domain.R
**/
String auditProcess(ApprovalBusinessResultDTO approvalBusinessResultDTO);
}

View File

@ -0,0 +1,55 @@
package com.hzs.member.handlebusiness.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description:
* @Author: yuhui
* @Time: 2023/1/30 14:30
* @Classname: AnalysisBusinessAppealParam
* @PackageName: com.hzs.member.handleBusiness.dto
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AnalysisBusinessAppealParam implements Serializable {
private static final long serialVersionUID = -5213723839597032413L;
/**
* 批次单号大单号
*/
private String orderNumber;
/**
* 业务单号
*/
private String businessNo;
/**
* 类型
*/
private Integer editType;
/**
* 国家
*/
private Integer pkCountry;
/**
* 签呈来源1=后台2=前台
*/
private Integer signSource;
/**
* 涉及语言时dubbo服务本身不能传递语言Local涉及到跨服务需要手动传递
*/
private String toLanguageTag;
}

View File

@ -0,0 +1,50 @@
package com.hzs.member.handlebusiness.dto;
import lombok.Builder;
import lombok.Data;
import java.io.Serializable;
/**
* @Description: 认证DTO
* @Author: jiang chao
* @Time: 2023/4/18 17:38
* @Classname: AttestationDTO
* @PackageName: com.hzs.member.handlebusiness.dto
*/
@Builder
@Data
public class AttestationDTO implements Serializable {
private static final long serialVersionUID = -1486998523005023755L;
/**
* 会员编号
*/
private String memberCode;
/**
* 会员姓名
*/
private String memberName;
/**
* 真实奖衔
*/
private String awardVal;
/**
* 真实奖衔翻译ID
*/
private String awardTransactionVal;
/**
* 店铺类型
*/
private Integer storeType;
/**
* 店铺编号
*/
private String storeCode;
}

View File

@ -0,0 +1,48 @@
package com.hzs.member.handlebusiness.dto;
import lombok.Builder;
import lombok.Data;
import java.io.Serializable;
/**
* @description: 创客空间有舱,创客空间新协议DTO
* @author: zhang jing
* @date: 2024/6/14 11:52
* @param:
* @return:
**/
@Builder
@Data
public class MakerSpaceCabinAccordDTO implements Serializable {
private static final long serialVersionUID = -1486998523005023755L;
/**
* 会员编号
*/
private String memberCode;
/**
* 会员姓名
*/
private String memberName;
/**
* 是否有舱0=1=EStoreType EDealerYesNo
*/
private Integer cabinStatus;
private String cabinStatusVal;
/**
* 是否新协议0=1= EDealerYesNo
*/
private Integer protocolStatus;
private String protocolStatusVal;
/**
* 店铺编号
*/
private String storeCode;
}

View File

@ -0,0 +1,46 @@
package com.hzs.member.handlebusiness.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 空单注册DTO
* @Author: jiang chao
* @Time: 2023/7/26 13:47
* @Classname: EmptyMemberDTO
* @PackageName: com.hzs.member.handlebusiness.dto
*/
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
public class MemberEmptyDTO implements Serializable {
private static final long serialVersionUID = 8727503531014153860L;
/**
* 空单批次ID
*/
private Long pkMemberEmpty;
/**
* 生成批次
*/
private String businessCode;
/**
* 生成备注
*/
private String remark;
/**
* 生成日期
*/
private Date creationTime;
}

View File

@ -0,0 +1,33 @@
package com.hzs.member.handlebusiness.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @Description: 签呈审批
* @Author: yuhui
* @Time: 2023/2/1 11:47
* @Classname: PetitionApproval
* @PackageName: com.hzs.member.handleBusiness.dto
*/
@Data
public class PetitionApprovalParam implements Serializable {
private static final long serialVersionUID = 5671790367636231121L;
/**
* 通过 驳回 对应枚举: EApproveOperation
*/
private Integer approveOperationValue;
/**
* 业务编号
*/
private String businessNo;
/**
* 主旨类型 对应枚举 EApprovalBusiness
*/
private Integer approvalBusinessValue;
}

View File

@ -0,0 +1,31 @@
package com.hzs.member.self;
import com.hzs.common.core.domain.R;
import com.hzs.member.self.dto.SelfServiceDataDTO;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
/**
* 自助服务
*
* @Description:
* @Author: ljc
* @Time: 2023/4/19 16:09
* @Classname: ICuSelfServiceServiceApi
* @Package_name: com.hzs.member.self
*/
public interface ICuSelfServiceServiceApi {
/**
* 解析自助服务数据
*
* @param selfServiceDataDTO
* @return R
*/
R<?> analysisSelfServiceData(SelfServiceDataDTO selfServiceDataDTO);
/**
* 在线签呈 审批状态 同意/驳回
*/
R<?> onlineApproval(ApprovalBusinessResultDTO approvalBusinessResultDTO);
}

View File

@ -0,0 +1,199 @@
package com.hzs.member.self.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.web.domain.BaseApprovalEntity;
import com.hzs.member.account.dto.MemberAmountDTO;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Set;
/**
* <p>
* 自助服务日志表VO
* </p>
*
* @author hzs
* @since 2023-04-17
*/
@Data
public class SelfModifyAddressDTO extends BaseApprovalEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Long pkId;
/**
* 会员主键
*/
private Long pkMember;
/**
* 审批业务类型来源于 枚举 EApprovalBusiness
*/
private Integer editType;
/**
* 原值
*/
private String oldValue;
/**
* 新值
*/
private String newValue;
/**
* 业务单号
*/
private String businessNo;
/**
* 审核状态 0 待审核 1 审核通过 2 审核驳回 枚举 EModifyRecordStatus
*/
private Integer approveStatus;
/**
* 审核次数
*/
private Integer approveNumber;
/**
* 支付业务类型来源于枚举
*/
private Integer editTypePay;
/**
* 扣费金额
*/
private BigDecimal singleAmount;
/**
* 订单编号
*/
private String orderCode;
/**
* 订单id
*/
private Long pkOrder;
/**
* 创建人ID
*/
private Long pkCreator;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
/**
* 修改人ID
*/
private Long pkModified;
/**
* 修改时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date modifiedTime;
/**
* 逻辑删除 (0=未删除1已删除)
*/
private Integer delFlag;
/**
* 国家
*/
private Integer pkCountry;
/**
* 支付时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date payTime;
/**
* 收货地址ID
*/
private Long pkReceiving;
/**
* 收货人
*/
private String recName;
/**
* 手机
*/
private String recPhone;
/**
* 收货省
*/
private Integer recProvince;
/**
* 收货市
*/
private Integer recCity;
/**
* 收货县
*/
private Integer recCounty;
/**
* 详细地址
*/
private String recAddress;
/**
* 会员手续费
*/
List<MemberAmountDTO> memberAmountDTOList;
/**
* 错误信息
*/
private String errorMsg;
/**
* 业务涉及会员ID列表 -- 提交审核必传
*/
private Set<Long> pkMemberList;
/**
* 旧邮费
*/
private BigDecimal oldPostage;
/**
* 新邮费
*/
private BigDecimal newPostage;
/**
* 邮费
*/
private BigDecimal postage;
/**
* 备注
*/
private String selfRemark;
/**
* 扣款币种类型
*/
private Integer pkAccount;
/**
* 扣款币种翻译key
*/
@Transaction(transactionKey = EnumsPrefixConstants.KEY_ACC)
private Integer pkAccountKey;
/**
* 扣款币种翻译
*/
private String pkAccountKeyVal;
}

View File

@ -0,0 +1,42 @@
package com.hzs.member.self.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 自助服务解析DTO
*
* @Description:
* @Author: ljc
* @Time: 2023/4/19 16:20
* @Classname: selfServiceDataDTO
* @Package_name: com.hzs.member.self.dto
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SelfServiceDataDTO implements Serializable {
private static final long serialVersionUID = -7391351591016186401L;
/**
* 业务单号
*/
private String businessNo;
/**
* 业务类型
*/
private Integer editType;
/**
* 国家
*/
private Integer pkCountry;
}

View File

@ -0,0 +1,43 @@
package com.hzs.member.statis;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.achieve.CuMemberAchieve;
import com.hzs.common.domain.member.bonus.CuMemberBonus;
import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.member.self.dto.SelfServiceDataDTO;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
import java.util.Date;
/**
* @description: 奖金拨比统计
* @author: zhang jing
* @date: 2023/6/1 17:24
* @param:
* @return:
**/
public interface ICuBonusStatisServiceApi {
/**
* @description: 统计历史奖金拨比
* @author: zhang jing
* @date: 2023/10/19 9:29
* @param: [startDate, endDate]
* @return: com.hzs.common.core.domain.R
**/
R statisHistoryBonus(String startDate, String endDate);
/**
* @description: 删除奖金拨比统计数据
* @author: zhang jing
* @date: 2023/12/11 10:56
* @param: [startDate, endDate]
* @return: com.hzs.common.core.domain.R
**/
R delStatis(String startDate,String endDate);
}

View File

@ -0,0 +1,38 @@
package com.hzs.member.statis;
import com.hzs.common.core.domain.R;
/**
* @description: 顶点奖金拨比统计
* @author: zhang jing
* @date: 2023/6/1 17:24
* @param:
* @return:
**/
public interface ICuBonusVertexStatisServiceApi {
/**
* @description: 7天重算顶点奖金拨比统计
* @author: zhang jing
* @date: 2024/8/15 10:30
* @param: [startDate, endDate]
* @return: com.hzs.common.core.domain.R
**/
R anewStatisHistoryBonus(String startDate, String endDate);
/**
* @description: 删除奖金拨比统计数据
* @author: zhang jing
* @date: 2023/12/11 10:56
* @param: [startDate, endDate]
* @return: com.hzs.common.core.domain.R
**/
R delStatis(String startDate,String endDate);
}

View File

@ -0,0 +1,31 @@
package com.hzs.retail.member;
import com.hzs.common.core.domain.R;
import java.util.List;
/**
* @Description: 新零售会员dubbo服务
* @Author: jiang chao
* @Time: 2024/12/31 13:40
* @Classname: IMemberRetailApi
* @PackageName: com.hzs.retail.member
*/
public interface IMemberRetailApi {
/**
* 定时处理收益区域
*
* @return
*/
R<?> checkRegion();
/**
* 取消收益区域
*
* @param pkIdList 收益区域ID列表
*/
R<?> cancelRegion(List<Long> pkIdList);
}

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.hzs</groupId>
<artifactId>hzs-api</artifactId>
<version>3.1.0-SNAPSHOT</version>
</parent>
<artifactId>hzs-api-report</artifactId>
<description>
hzs-api-report报表服务
</description>
<dependencies>
<dependency>
<groupId>com.hzs</groupId>
<artifactId>hzs-api-system</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,37 @@
package com.hzs.report.stat;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.EApprovalBusiness;
import com.hzs.report.stat.dto.StatisticalLogDTO;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
import java.util.List;
/**
* @description: 统计分析
* @author: zhang jing
* @date: 2025/2/12 15:22
* @param:
* @return:
**/
public interface IMemberReportServiceApi {
/**
* @description: 定时任务批量处理统计会员以及伞下金额业绩盒数
* @author: zhang jing
* @date: 2025/2/13 10:41
* @param: []
* @return: com.hzs.common.core.domain.R
**/
R pushAmountBoxmethod();
/**
* @description: 定时任务7天重算直推会员金额业绩盒数
* @author: zhang jing
* @date: 2025/2/13 10:41
* @param: [startDateStr, endDateStr]
* @return: com.hzs.common.core.domain.R
**/
R repeatPushAmountBoxmethod(String startDateStr, String endDateStr);
}

View File

@ -0,0 +1,67 @@
package com.hzs.report.stat.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 修改政策币表DTO
*
* @author hzs
* @since 2022-08-22
*/
@Data
public class StatisticalLogDTO implements Serializable {
private static final long serialVersionUID = 1L;
private Long pkMember;
/**
* 会员编号
*/
private String memberCode;
/**
* 标题
*/
private String title;
/**
* 内容
*/
private String content;
/**
* 国家
*/
private Integer pkCountry;
/**
* 创建人
*/
private Long pkCreate;
/**
* 会员ID
*/
private List<Long> pkMemberList;
/**
* 业务单号
*/
private String businessNo;
/**
* 审核状态 2 待审核 4 已驳回 5 已完成(审核成功) 枚举 EApproveStatus
*/
private Integer approveStatus;
/**
* 错误信息
*/
private String errorMsg;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
}

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.hzs</groupId>
<artifactId>hzs-api</artifactId>
<version>3.1.0-SNAPSHOT</version>
</parent>
<artifactId>hzs-api-sale</artifactId>
<description>
hzs-api-sale销售服务
</description>
<dependencies>
<dependency>
<groupId>com.hzs</groupId>
<artifactId>hzs-api-system</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,35 @@
package com.hzs.activity.base;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.EApprovalBusiness;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
/**
* @Description: 活动审批相关服务入口
* @Author: jiang chao
* @Time: 2023/4/24 16:25
* @Classname: IActivityApprovalServiceApi
* @PackageName: com.hzs.activity
*/
public interface IActivityApprovalServiceApi {
/**
* 活动服务信息处理回调
*
* @param approvalBusinessResultDTO
* @return
*/
R<Boolean> approvalCallback(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* 活动服务信息签呈查询
*
* @param eApprovalBusiness 业务类型
* @param businessCode 业务单号
* @param pkCountry 所属国家
* @return
*/
R<?> queryApprovalData(EApprovalBusiness eApprovalBusiness, String businessCode, Integer pkCountry);
}

View File

@ -0,0 +1,72 @@
package com.hzs.activity.base;
import com.hzs.activity.dto.AcRecommendUpgradeDTO;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.activity.recommend.AcRepurCouponsRuleConfig;
import com.hzs.common.domain.activity.recommend.ext.AcRepurSharRuleConfigExt;
import com.hzs.common.domain.activity.tree.SaTreeOrder;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import java.util.Date;
import java.util.List;
/**
* @description: 所有活动的生效获得赠品入口
* @author: sui q
* @time: 2023/4/25 17:54
* @classname: IActivityGiftServiceApi
* @package_name: com.hzs.activity.base
* version 1.0.0
*/
public interface IActivityServiceApi {
/*
* @description: 处理活动
* @author: sui q
* @date: 2023/5/29 15:20
* @param: null null
**/
R<Boolean> handleActivity(SaOrderExt saOrderExt);
/*
* @description: 撤单时回退抽奖次数
* @author: sui q
* @date: 2023/5/9 9:46
* @param: null null
**/
R<Boolean> backGiveMemberDrawNum(SaOrderExt saOrderExt);
/*
* @description: 查询目前所有启用的复购券规则
* @author: sui q
* @date: 2023/4/28 15:47
* @param: null null
**/
R<List<AcRepurCouponsRuleConfig>> queryAcRepurchaseCouponsRule(Date settleDate);
/*
* @description: 查询复购券均分收益
* @author: sui q
* @date: 2023/5/5 16:29
* @param: null null
**/
R<List<AcRepurSharRuleConfigExt>> queryRepurSharRuleConfig(Date startDate, Date endDate);
/**
* 调用调用直推升级接口
*
* @param recommendUpgradeDTO 入参
* @return Boolean
*/
R<Boolean> invokeRecommendUpgrade(AcRecommendUpgradeDTO recommendUpgradeDTO);
/*
* @description: 查询沙棘种树订单
* @author: sui q
* @date: 2023/8/3 9:32
* @param: null null
**/
R<List<SaTreeOrder>> querySaTreeOrderByDate(Date startDate, Date endDate);
}

View File

@ -0,0 +1,68 @@
package com.hzs.activity.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 新人礼包活动礼包产品信息DOT
*
* @author hzs
* @since 2023-04-26
*/
@Data
public class AcPeopleGiftProductDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 领取价格
*/
private BigDecimal receivePrice;
/**
* 活动规则主键
*/
private Long pkNewPeople;
/**
* 活动基本主键
*/
private Long pkBaseId;
/**
* 产品图
*/
private String cover;
/**
* 数量
*/
private Integer quantity;
/**
* 产品价格
*/
private BigDecimal price;
/**
* 产品名称
*/
private String productName;
/**
* 订单主键
*/
private Integer pkProductId;
/**
* 产品规格冗余显示
*/
private String specsName;
/**
* 产品规格主键冗余显示
*/
private String specsNameId;
}

View File

@ -0,0 +1,39 @@
package com.hzs.activity.dto;
import com.hzs.common.core.enums.EOrderOperateStatus;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 直推-升级DTO
*
* @Description:
* @Author: ljc
* @Time: 2023/4/26 10:27
* @Classname: AcRepurchaseCouponsDTO
* @Package_name: com.hzs.activity.recommend.dto
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AcRecommendUpgradeDTO implements Serializable {
private static final long serialVersionUID = 9005728656479475728L;
/**
* 订单信息
*/
private SaOrderExt saOrderExt;
/**
* 订单操作状态
*/
private EOrderOperateStatus orderOperateStatus;
}

View File

@ -0,0 +1,26 @@
package com.hzs.activity.people;
import com.hzs.activity.dto.AcPeopleGiftProductDTO;
import com.hzs.common.core.domain.R;
import java.util.List;
/**
* @description: 新人礼包活动-保存业务数据
* @author: zhang jing
* @date: 2023/5/8 9:53
* @param:
* @return:
**/
public interface IAcPeopleServiceServiceApi {
/**
* @description: 根据活动规则查询礼包产品信息
* @author: zhang jing
* @date: 2023/5/10 15:16
* @param: [新人礼包规则id pkNewPeople]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.activity.dto.AcPeopleGiftProductDTO>>
**/
R<List<AcPeopleGiftProductDTO>> getGiftPackProductList(Long pkNewPeople);
}

View File

@ -0,0 +1,39 @@
package com.hzs.activity.pick;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.activity.pick.AcPickMemberLog;
import com.hzs.common.domain.activity.pick.ext.AcPickExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description: 提货相关dubbo服务入口
* @Author: jiang chao
* @Time: 2023/5/15 11:20
* @Classname: IAcPickServiceApi
* @PackageName: com.hzs.activity.base
*/
public interface IAcPickServiceApi {
/*
* @description: 查询会员提货使用记录
* @author: sui q
* @date: 2023/6/3 10:51
* @param: null null
**/
R<List<AcPickMemberLog>> queryPickMemberLog(List<SaOrderExt> saOrderExtList);
/**
* 根据订单查询邮费
*
* @param orderCode 订单编号
* @param recProvince
* @param recCity
* @param pkCountry 国家
* @return
*/
R<BigDecimal> queryOrderPostage(String orderCode, Integer recProvince, Integer recCity, Integer pkCountry);
}

View File

@ -0,0 +1,24 @@
package com.hzs.activity.pick;
import com.hzs.common.core.domain.R;
/**
* @description: 会员提货赠送活动日志接口服务
* @author: zhang jing
* @date: 2025/1/15 16:58
* @param:
* @return:
**/
public interface IAcRetailPickLogServiceApi {
/**
* @description: 处理会员提货赠送活动日志
* @author: zhang jing
* @date: 2025/1/15 17:13
* @param: []
* @return: com.hzs.common.core.domain.R<?>
**/
R<?> deliveryLog();
}

View File

@ -0,0 +1,23 @@
package com.hzs.retail.sale;
import com.hzs.common.core.domain.R;
/**
* @Description: 新零售订单dubbo服务
* @Author: jiang chao
* @Time: 2024/12/30 16:25
* @Classname: IRetailOrderServiceApi
* @PackageName: com.hzs.retail.sale
*/
public interface IRetailOrderServiceApi {
/**
* 在线支付回调
*
* @param pkMember 会员ID
* @param orderCode 订单编号
* @return
*/
R<?> onlinePaymentCallBack(Long pkMember, String orderCode);
}

View File

@ -0,0 +1,26 @@
package com.hzs.sale.deliver;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.sale.ext.SaDeliverExt;
import java.util.List;
/**
* @Description: 发货单相关dubbo接口
* @Author: jiang chao
* @Time: 2023/12/19 14:27
* @Classname: ISaDeliverServiceApi
* @PackageName: com.hzs.sale.deliver
*/
public interface ISaDeliverServiceApi {
/**
* 查询发货单+明细列表
*
* @param idList 发货单ID列表
* @param pkCountry 所属国家 -- 非必传
* @return
*/
R<List<SaDeliverExt>> queryDeliverList(List<Long> idList, Integer pkCountry);
}

View File

@ -0,0 +1,55 @@
package com.hzs.sale.order;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
import com.hzs.sale.order.dto.WaresOrderDTO;
import java.util.List;
/**
* @Description: 销售订单-明细表
* @Author: zhangjing
* @Time: 2023/11/16 20:06
* @Classname: ISaOrderItemsServiceApi
* @PackageName: com.hzs.sale.order.dto
*/
public interface ISaOrderItemsServiceApi {
/**
* @description: 根据订单id查询订单商品列表
* @author: zhang jing
* @date: 2023/11/16 9:23
* @param: [orderIdList]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.sale.order.dto.WaresOrderDTO>>
**/
R<List<WaresOrderDTO>> waresListByOrderId(List<Long> orderIdList);
/**
* 根据订单ID查询订单明细商品列表不添加删除标记
*
* @param orderId 订单ID
* @return
*/
R<List<WaresOrderDTO>> waresListByOrderId(Long orderId);
/**
* @description: 根据订单ID查询订单明细列表
* @author: zhang jing
* @date: 2023/11/16 9:33
* @param: [orderIdList, tOrderIdList]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.sale.ext.SaOrderItemsExt>>
**/
R<List<SaOrderItemsExt>> queryListByOrderId(List<Long> orderIdList, List<Long> tOrderIdList);
/**
* 订单明细退货
*
* @param orderItemsIdList 订单明细ID列表
* @param userId 操作人ID
* @param pkCountry 所属国家可为空
* @return
*/
R orderItemsReturn(List<Long> orderItemsIdList, Long userId, Integer pkCountry);
}

View File

@ -0,0 +1,278 @@
package com.hzs.sale.order;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
import com.hzs.common.domain.sale.ext.SaDeliverItemsExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.common.domain.sale.order.SaOrderItems;
import com.hzs.sale.order.dto.*;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @Description: 订单服务对外提供接口
* @Author: sui q
* @Time: 2022/11/2 16:29
* @Classname: ISaOrderServiceApi
* @PackageName: com.hzs.sale.order
*/
public interface ISaOrderServiceApi {
/**
* 查询时间范围内的所有订单按照订单时间排序,只能用于奖金结算
*
* @param startDate 开始日期
* @param endDate 结束日期
* @return: R<List < SaOrderExt>>
* @Author: sui q
* @Date: 2022/11/2 16:30
*/
R<List<SaOrderExt>> querySaOrderByDay(Date startDate, Date endDate);
/**
* 查询时间范围内的所有订单按照订单时间排序,只能用于奖金结算
*
* @param startDate 开始日期
* @param endDate 结束日期
* @return: R<List < SaOrderExt>>
* @Author: sui q
* @Date: 2022/11/2 16:30
*/
R<List<SaOrderExt>> queryRetailSaOrderByDay(Date startDate, Date endDate, String orderCode);
/**
* 查询时间范围内的所有订单按照订单时间排序,只能用于奖金结算
*
* @param startDate 开始日期
* @param endDate 结束日期
* @return: R<List < SaOrderExt>>
* @Author: sui q
* @Date: 2022/11/2 16:30
*/
R<List<SaOrderExt>> queryRepeatSaOrderByDay(Date startDate, Date endDate);
/*
* @description: 根据主键查询订单,需要查询del_flag=1的存在先撤单在退货
* @author: sui q
* @date: 2024/3/26 13:54
* @param: null null
**/
R<SaOrder> querySaOrderExtByPkId(Long pkId);
/*
* @description: 查询订单编号
* @author: sui q
* @date: 2023/7/31 16:48
* @param: null null
**/
R<SaOrderExt> querySaOrderByDay(Date startDate, Date endDate, String orderCode);
/*
* @description: 根据发货单查询销售订单
* @author: sui q
* @date: 2023/11/30 10:58
* @param: null null
**/
R<List<SaOrderExt>> querySaOrderByDeliverList(List<SaDeliverItemsExt> deliverItemExtList);
/**
* 查询时间范围内的所有订单按照订单时间排序不查询删除的用于云代奖金计算只需要主表
*
* @param startDate 开始日期
* @param endDate 结束日期
* @return: R<List < SaOrderExt>>
* @Author: sui q
* @Date: 2022/11/2 16:30
*/
R<List<SaOrder>> querySaOrderByDayForCloud(Date startDate, Date endDate, List<Integer> orderType);
/**
* 计算复购券分享奖金查询订单
*
* @param startDate 开始日期
* @param endDate 结束日期
* @param orderTypeList 订单类型
* @param orderAmount 订单金额
* @param orderAchieve 订单业绩
* @return: List<SaOrder>
* @Author: sui q
* @Date: 2023/1/5 13:57
*/
R<List<SaOrder>> querySaOrderByTimeForCouponShare(Date startDate, Date endDate, List<Integer> orderTypeList,
BigDecimal orderAmount, BigDecimal orderAchieve, Integer pkCountry);
/*
* @description: 计算店铺奖金查询订单
* @author: sui q
* @date: 2023/5/8 15:45
* @param: null null
**/
R<List<SaOrderExt>> querySaOrderByTimeForStore(Date startDate, Date endDate);
/**
* 根据订单ID查询订单详细列表
*
* @param pkOrderList 订单ID列表 -- 必传
* @param pkCountry 国家ID -- 非必传
* @return
*/
R<List<SaOrderItemsExt>> queryOrderItemsListByOrderId(List<Long> pkOrderList, Integer pkCountry);
/**
* 根据订单编号查询订单
*
* @param pkMember 会员主键
* @param orderCode 订单编号
* @return: R<BigDecimal>
* @Author: sui q
* @Date: 2023/3/15 17:39
*/
R<BigDecimal> querySaOrderByOrderCode(Long pkMember, String orderCode);
/**
* 根据订单编号查询订单信息
*
* @param orderCode 订单编号
* @param pkMember 会员主键
* @return
*/
R<SaOrderExt> queryOrderByCode(String orderCode, Long pkMember);
/**
* 空单注册审核通过
*
* @param approvalBusinessResultDTO
* @return
*/
R<Boolean> regEmptyOrderApproved(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* 空单注册审核驳回
*
* @param approvalBusinessResultDTO
* @return
*/
Boolean regEmptyOrderReject(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* @description: 自助服务-修改收货地址
* @author: zhang jing
* @date: 2023/4/18 17:27
* @param: [saOrder]
* @return: com.hzs.common.core.domain.R<java.lang.Boolean>
**/
R<Boolean> updateOrder(SaOrder saOrder);
/**
* 根据订单ID批量查询订单以及详情
*
* @param orderIdList 订单ID列表必传
* @param pkCountry 所属国家非必传
* @return
*/
R<List<SaOrderExt>> queryOrderListByIdList(List<Long> orderIdList, Integer pkCountry);
/**
* 定时关单 订单三十分钟未支付自动关闭
*/
void closeOrder();
/**
* 查询安置业绩 (个人目标)
*
* @param orderGoals 个人目标参数
* @return BigDecimal
*/
R<BigDecimal> selectPlaceAchieve(OrderGoalsDTO orderGoals);
/**
* 查询推荐人数(个人目标)
*
* @param orderGoals 个人目标参数
* @return BigDecimal
*/
R<Integer> selectRecommendNumber(OrderGoalsDTO orderGoals);
/*
* @description: 查询订单某段时间累计金额累计业绩
* @author: sui q
* @date: 2023/7/3 14:50
* @param: null null
**/
R<SaOrder> queryOrderTotalAchieveByTime(Date startDate, Date endDate);
/**
* 查询指定数量会员SEQ
*
* @param param
* @return
*/
R<List<Long>> querySeqList(Integer param);
/**
* @description: 自助服务-修改收货地址订单列表
* @author: zhang jing
* @date: 2023/11/15 17:28
* @param: [orderCode, editType, memberId, pkCountry]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.sale.ext.SaOrderExt>>
**/
R<List<SaOrderExt>> selfAddressOrderList(String orderCode, Integer editType, Long memberId, Integer pkCountry);
/**
* 批量保存订单
*
* @param orderList 订单列表需要pk_id
* @param orderItemsList 订单明细列表
* @return
*/
R<?> saveOrderBatch(List<SaOrder> orderList, List<SaOrderItems> orderItemsList);
/* 保存销售订单
* @description:
* @author: sui q
* @date: 2024/4/24 14:13
* @param: null null
**/
R<?> saveOrder(SaOrderExt saOrderExt);
/**
* 查询注册订单数量
*
* @param memberCodeList
* @return
*/
List<MemberFirstOrderDTO> checkMemberIsFirstOrder(List<String> memberCodeList);
/**
* 验证会员账户余额是否够支付
*
* @param cuMemberAccount 会员账户
* @param saOrder 订单信息
* @param orderItemList
* @return
*/
R<CuMemberAccountExt> queryOrderSpendDetails(CuMemberAccountExt cuMemberAccount, SaOrder saOrder, List<SaOrderItems> orderItemList);
/**
* 查询订单单品统计
*
* @return
*/
List<SingleItemStatDTO> singleItemStat(SingleItemStatParamDTO singleItemStatParamDTO);
/**
* 获取新零售在线支付订单
*
* @param pkMember 会员ID
* @param orderCode 订单编号
* @return
*/
R<BigDecimal> getRetailPayOrder(Long pkMember, String orderCode);
}

View File

@ -0,0 +1,40 @@
package com.hzs.sale.order.dto;/**
* @Description:
* @Author: yuhui
* @Time: 2023/11/25 16:41
* @Classname: MemberFirstOrderDTO
* @PackageName: com.hzs.sale.order.dto
*/
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.sale.order.dto
*@Author: yh
*@CreateTime: 2023-11-25 16:41
*@Description: TODO
*@Version: 1.0
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MemberFirstOrderDTO implements Serializable {
/**
* 会员编号
*/
private String memberCode ;
/**
* 订单数
*/
private Long orderCount ;
}

View File

@ -0,0 +1,57 @@
package com.hzs.sale.order.dto;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Description: 我的订单明细返回VO
* @Author: zhangjing
* @Time: 2023/11/16 16:13
* @Classname: MyOrderItemsDTO
* @PackageName: com.hzs.sale.order.vo
*/
@Data
public class MyOrderItemsDTO {
/**
* 产品名称
*/
private String productName;
/**
* 产品规格
*/
private String specsName;
/**
* 产品封面
*/
private String cover;
/**
* 价格
*/
private BigDecimal price;
/**
* pv
*/
private BigDecimal achievement;
/**
* bv
*/
private BigDecimal assAchievement;
/**
* 数量
*/
private Integer quantity;
/**
* 是否赠品0=1=
*/
private Integer isGift;
}

View File

@ -0,0 +1,46 @@
package com.hzs.sale.order.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 订单目标参数
* @Description:
* @Author: ljc
* @Time: 2023/5/18 17:35
* @Classname: OrderGoalsDTO
* @Package_name: com.hzs.sale.order.dto
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrderGoalsDTO implements Serializable {
private static final long serialVersionUID = 7855859842385975078L;
/**
* 会员ID
*/
private Long pkMember;
/**
* 国家ID
*/
private Integer pkCountry;
/**
* 开始时间
*/
private String startDate;
/**
* 结束时间
*/
private String endDate;
/**
* 安置部门
*/
private Integer placeDept;
}

View File

@ -0,0 +1,55 @@
package com.hzs.sale.order.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @Description: 订单明细表
* @Author: sui q
* @Time: 2022/9/2 16:59
* @Classname: OrderItemsParam
* @PackageName: com.hzs.sale.order.param
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrderItemsParamDTO implements Serializable {
private static final long serialVersionUID = -8705871455979314427L;
/**
* 三方商品主表主键
*/
private Long pkId;
/**
* 渠道 来源于EJxhhSource
*/
private Integer channel;
/**
* 商品编号
*/
private String waresCode;
/**
* 商品数量
*/
private Integer quantity;
/**
* 创客空间id
*/
private Long pkMakerSpace;
/**
* 商品明细
*/
private List<WaresItemsParamDTO> waresItemsParamList;
}

View File

@ -0,0 +1,347 @@
package com.hzs.sale.order.dto;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hzs.common.core.constant.msg.MemberMsgConstants;
import jdk.nashorn.internal.ir.annotations.Ignore;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* @author: zhangjing
* @time: 2023/11/16 16:50
* @description:
* @classname: OrderParamDTO
* @package_name: com.hzs.sale.order.dto
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrderParamDTO implements Serializable {
/**
* 订单编号
*/
private String orderCode;
/**
* 会员编号
*/
private Long pkMember;
/**
* 会员编号
*/
private String memberCode;
/**
* 会员姓名
*/
private String memberName;
/**
* 会员类型0.正常 1.空单 2.死点 4.嗨粉 5.商城小程序游客
*/
private Integer customerType;
/**
* 等级
*/
private Integer pkGrade;
/**
* 手机号码
*/
@Size(min = 1, max = 30, message = MemberMsgConstants.PHONE_LENGTH)
private String phone;
/**
* 证件号码
*/
private String idCard;
/**
* 性别0=未知,1=,2=
*/
private Integer sex;
/**
* 自然国家
*/
private Integer pkCountry;
/**
* 结算国家
*/
private Integer pkSettleCountry;
/**
* 创建人结算国家用于跨国报单
*/
@JsonIgnore
private Integer pkLoginSettleCountry;
/**
* 推荐人编号
*/
private String parent;
@JsonIgnore
private Long parentId;
/**
* 推荐人ID为防止之前业务有问题不使用上面的字段
*/
private Long pkParent;
/**
* 会员ID为防止之前业务有问题新添加会员ID字段
*/
private Long pkMemberId;
/**
* 推荐人姓名
*/
private String parentName;
/**
* 安置人编号
*/
private String placeParent;
@JsonIgnore
private Long placeParentId;
/**
* 安置人姓名
*/
private String placeParentName;
/**
* 安置人部门
*/
private Integer placeDept;
/**
* 报单中心编号
*/
private Long centerCodeId;
/**
* 报单中心名称
*/
private String centerName;
/**
* 升级会员编号需要验证安置线只能给自己的安置以下升级
*/
private String upgradeMemberCode;
/**
* 复购会员编号需要验证安置线只能给自己的安置以下升级
*/
private String repurchaseMemberCode;
/**
* 会员升级姓名
*/
private String upgradeMemberName;
/**
* 数据来源1=PC端,2=APP,3=H5
*/
private Integer source;
/**
* 收货人
*/
private String recName;
/**
* 收货电话
*/
private String recPhone;
/**
* 收货省
*/
private Integer recProvince;
/**
* 收货市
*/
private Integer recCity;
/**
* 收货县
*/
private Integer recCounty;
/**
* 收货地址
*/
private String recAddress;
/**
* 备注
*/
private String remark;
/**
* 配送中心
*/
private Integer deliveryCenter;
/**
* 配送省
*/
private Integer deliveryProvince;
/**
* 配送市
*/
private Integer deliveryCity;
/**
* 配送县
*/
private Integer deliveryCounty;
/**
* 发货方式
*/
private Integer deliveryWay;
/**
* 运输类型 1=陆运2=空运3=海运
*/
private Integer transType;
/**
* 运输类型 1=陆运2=空运3=海运
*/
private Integer tranType;
/**
* 登录密码
*/
@JsonIgnore
private String loginPwd;
/**
* 支付密码
*/
private String payPwd;
/**
* 邮箱
*/
private String email;
/**
* 所属专区
*/
private Integer specialArea;
/**
* 银行
*/
private Integer pkBank;
/**
* 支行名称
*/
private String subBankName;
/**
* 银行卡号
*/
private String cardNumber;
/**
* 会员店铺
*/
private Integer pkMemberStore;
/**
* 仓库
*/
private Integer pkStorehouse;
/**
* 新人礼包方案主键
*/
private Long pkNewPeople;
/**
* 邮费
*/
private BigDecimal postage = BigDecimal.ZERO;
/**
* 特殊邮费处理不参与复购300包邮的邮费
*/
private BigDecimal specialPostage = BigDecimal.ZERO;
/**
* 特殊邮费金额处理不参与复购300包邮的邮费
*/
private BigDecimal specialPostageAmount = BigDecimal.ZERO;
/**
* 订单商品明细
*/
private List<OrderItemsParamDTO> orderItemsParams;
/**
* 是否首单
*/
private Boolean isFirst = false;
/**
* 是否海粉订单
*/
@JsonIgnore
private Boolean isHaiFun = false;
/**
* 显示默认0=快速注册1=普通注册
*/
private Integer displayDefault;
/**
* @Description: 验证保存的必输字段
* @return: List
* @Author: sui q
* @Date: 2022/8/29 11:10
*/
@JsonIgnore
public List<String> getValidSaveField() {
List<String> fieldList = getValidConfirmField();
fieldList.add("payPwd");
return fieldList;
}
@JsonIgnore
public List<String> getFunValidConfirmField() {
List<String> fieldList = getList();
fieldList.add("memberName");
fieldList.add("phone");
fieldList.add("parent");
return fieldList;
}
@JsonIgnore
public List<String> getValidConfirmField() {
List<String> fieldList = getFunValidConfirmField();
fieldList.add("placeParent");
fieldList.add("placeDept");
return fieldList;
}
@Ignore
private List<String> getList() {
return new ArrayList<>();
}
}

View File

@ -0,0 +1,75 @@
package com.hzs.sale.order.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 生态科技能量仓DTO
*
* @Description:
* @Author: ljc
* @Time: 2024/8/23 11:54
* @Classname: SaCabinCardDetailDTO
* @Package_name: com.hzs.sale.order.dto
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SaCabinCardDetailDTO implements Serializable {
private static final long serialVersionUID = 6562913670401090689L;
/**
* 会员ID
*/
private Long pkMember;
/**
* 订单ID
*/
private Long pkOrder;
/**
* 创客空间会员ID
*/
private Long pkMakerMember;
/**
* 数量购买数量
*/
private Integer quantity;
/**
* 金额购买数量*1000
*/
private BigDecimal amount;
/**
* 订单类型 来源于枚举所属专区
*/
private Integer orderType;
/**
* 是否支付0=1=
*/
private Integer status;
/**
* 卡类型1=荟享卡2=钻石卡
*/
private Integer cardType;
/**
* 创客空间ID
*/
private Long pkMakerSpace;
}

View File

@ -0,0 +1,39 @@
package com.hzs.sale.order.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description:
* @Author: sui q
* @Time: 2022/12/30 17:14
* @Classname: SaOrderRangeDto
* @PackageName: com.hzs.sale.order.dto
*/
@Data
public class SaOrderRangeDto implements Serializable {
private Long pkOrderItems;
private String orderCode;
private Integer pkWaresSpecsSku;
private Integer quantity;
private BigDecimal orderPrice;
private BigDecimal orderAchieve;
private Integer pkRange;
private Integer rangeValue;
private BigDecimal rangePrice;
private BigDecimal rangeAchieve;
private Integer pkCountry;
}

View File

@ -0,0 +1,41 @@
package com.hzs.sale.order.dto;
import lombok.Builder;
import lombok.Data;
import java.io.Serializable;
/**
* @Description: 三方订单DTO
* @Author: jiang chao
* @Time: 2023/5/31 19:34
* @Classname: OrderDeliverDTO
* @PackageName: com.hzs.sale.third.dto
*/
@Builder
@Data
public class SaTOrderDTO implements Serializable {
private static final long serialVersionUID = 5770075023806535502L;
/**
* 订单编号
*/
private String orderCode;
/**
* 物流公司
*/
private String logisticsCompany;
/**
* 物流单号
*/
private String logisticsCode;
/**
* skuId
*/
private Long skuId;
}

View File

@ -0,0 +1,62 @@
package com.hzs.sale.order.dto;/**
* @Description:
* @Author: yuhui
* @Time: 2024/5/14 10:48
* @Classname: SingleItemStatDTO
* @PackageName: com.hzs.sale.order.dto
*/
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.sale.order.dto
*@Author: yh
*@CreateTime: 2024-05-14 10:48
*@Description: TODO
*@Version: 1.0
*/
@Data
public class SingleItemStatDTO implements Serializable {
/**
* 统计日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "日期",dateFormat = "yyyy-MM-dd")
private Date payTime;
/**
* 类型
*/
private Integer type;
/**
* 商品数量
*/
@Excel(name = "商品数量")
private Integer waresQuantity;
/**
* 产品数量
*/
@Excel(name = "产品数量")
private Integer productQuantity;
/**
* 赠品数量
*/
@Excel(name = "赠品数量")
private Integer giftQuantity;
/**
* 合计
*/
@Excel(name = "合计")
private Integer total;
}

View File

@ -0,0 +1,50 @@
package com.hzs.sale.order.dto;/**
* @Description:
* @Author: yuhui
* @Time: 2024/5/14 14:16
* @Classname: SingleItemStatParamDTO
* @PackageName: com.hzs.sale.order.dto
*/
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.sale.order.dto
*@Author: yh
*@CreateTime: 2024-05-14 14:16
*@Description: TODO
*@Version: 1.0
*/
@Data
public class SingleItemStatParamDTO implements Serializable {
/**
* sku编码
*/
private String skuCode;
/**
* 产品名称
*/
private String productName;
/**
* 订单类型
*/
private Integer orderType;
/**
* 统计开始时间
*/
private Date startPayDate;
/**
* 统计结束时间
*/
private Date endPayDate;
}

View File

@ -0,0 +1,33 @@
package com.hzs.sale.order.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description: 商品明细参数
* @Author: zhangjing
* @Time: 2022/9/15 17:00
* @Classname: WaresItemsParam
* @PackageName: com.hzs.sale.order.param
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class WaresItemsParamDTO implements Serializable {
/**
* sku主键
*/
private Integer pkWaresSpecsSku;
/**
* 商品数量
*/
private Integer quantity;
}

View File

@ -0,0 +1,332 @@
package com.hzs.sale.order.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @Description:
* @Author: zhangjong
* @Time: 2023/11/16 14:09
* @Classname: WaresOrderDTO
* @PackageName: com.hzs.sale.order.vo
*/
@Data
public class WaresOrderDTO implements Serializable {
/**
* 产品主图
*/
// @Excel(name = "产品主图")
private String cover1;
/**
* 产品名称
*/
// @Excel(name = "产品名称")
private String waresName;
/**
* 产品单价
*/
private BigDecimal productPrice;
/**
* 产品总价
*/
private BigDecimal productPriceTotal;
/**
* 产品编号
*/
// @Excel(name = "产品编号")
private String waresCode;
/**
* 产品规格
*/
// @Excel(name = "产品规格")
private String specsName;
/**
* 产品数量
*/
// @Excel(name = "产品数量")
private Integer quantity;
/**
* 订单编号
*/
@Excel(name = "订单编号")
private String orderCode;
private Integer orderType;
/**
* 订单类型
*/
@Excel(name = "订单类型")
private String orderTypeVal;
/**
* 订单类型
*/
private String orderTypeStr;
/**
* 会员编号
*/
@Excel(name = "会员编号")
private String memberCode;
/**
* 会员名称
*/
@Excel(name = "会员姓名")
private String memberName;
/**
* 联系电话
*/
@Excel(name = "联系方式")
private String phone;
/**
* 收货人
*/
@Excel(name = "收货人")
private String recName;
/**
* 收货电话
*/
@Excel(name = "收货电话")
private String recPhone;
/**
* 购买人编号
*/
@Excel(name = "购买人编号")
private String buyMemberCode;
/**
* 购买人姓名
*/
@Excel(name = "购买人姓名")
private String buyMemberName;
/**
* 物流单号用逗号间隔
*/
// @Excel(name = "物流单号")
private String logisticsCode;
/**
* 物流公司
*/
// @Excel(name = "物流公司")
private String logisticsCompany;
/**
* 省外键
*/
private Integer recProvince;
/**
* 省名称
*/
@Excel(name = "")
private String recProvinceName;
/**
* 市外键
*/
private Integer recCity;
/**
* 市名称
*/
@Excel(name = "")
private String recCityName;
/**
* 县外键
*/
private Integer recCountry;
/**
* 县名称
*/
@Excel(name = "区/县")
private String recCountryName;
/**
* 详细地址
*/
@Excel(name = "详细地址")
private String recAddress;
/**
* 订单金额
*/
@Excel(name = "订单金额")
private BigDecimal orderAmount;
/**
* 邮费
*/
@Excel(name = "订单邮费")
private BigDecimal postage;
/**
* 订单业绩
*/
@Excel(name = "订单业绩($)")
private BigDecimal orderAchieve;
/**
* 订单考核业绩原bv
*/
@Excel(name = "订单bv")
private BigDecimal orderAssAchieve;
/**
* 发货方式
*/
private Integer deliveryWay;
/**
* 发货方式 label
*/
@Excel(name = "发货方式")
private String deliveryWayStr;
/**
* 发货类型
*/
private Integer shippingChannel;
/**
* 发货类型 字符
*/
private String shippingChannelVal;
/**
* 发货类型 字符
*/
// @Excel(name = "发货类型")
private String shippingChannelStr;
/**
* 供应方式
*/
// @Excel(name = "供应方式")
private String operateScope;
/**
* 运输方式
*/
private Integer tranType;
/**
* 运输方式label
*/
// @Excel(name = "运输方式")
private String tranTypeStr;
/**
* 预售状态
*/
private Integer preSaleStatus;
/**
* 预售状态 字符
*/
// @Excel(name = "预售状态")
private String preSaleStatusStr;
/**
* 订单状态
*/
private Integer orderStatus;
/**
* 订单状态 label
*/
// @Excel(name = "订单状态")
private String orderStatusStr;
/**
* 支付方式
*/
private Integer payType;
/**
* 支付方式label
*/
@Excel(name = "支付方式")
private String payTypeStr;
/**
* 备注
*/
@Excel(name = "备注")
private String remark;
/**
* 开票备注
*/
// @Excel(name = "开票备注")
private String remarks;
/**
* 创建时间
*/
// @Excel(name = "创建时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
/**
* 支付时间
*/
@Excel(name = "支付时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date payTime;
/**
* 重量
*/
private BigDecimal weight;
/**
* 展示汇率
*/
private BigDecimal inExchangeRate;
/**
* 产品订单明细列表
*/
private List<MyOrderItemsDTO> productList;
/**
* 是否赠品0=1=
*/
private Integer isGift;
/**
* 是否换货0=1=
*/
private Integer exchangeGoods;
/**
* 商品id
*/
private Integer pkWares;
/**
* 订单主键
*/
private Long pkOrder;
/**
* 价格
*/
private BigDecimal price;
}

View File

@ -0,0 +1,29 @@
package com.hzs.sale.postage;
import com.hzs.common.core.domain.R;
import com.hzs.sale.postage.dto.PostageProductDTO;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description: 邮费服务API
* @Author: jiang chao
* @Time: 2023/4/25 14:40
* @Classname: IPostageServiceApi
* @PackageName: com.hzs.sale.postage
*/
public interface IPostageServiceApi {
/**
* 查询邮费
*
* @param pkId 邮费模板ID
* @param productList 产品列表
* @param province
* @param recCity
* @return
*/
R<BigDecimal> queryPostage(Integer pkId, List<PostageProductDTO> productList, Integer province, Integer recCity);
}

View File

@ -0,0 +1,35 @@
package com.hzs.sale.postage.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description: 邮费产品DOT
* @Author: jiang chao
* @Time: 2023/4/25 16:05
* @Classname: PostageProductDTO
* @PackageName: com.hzs.sale.postage.dto
*/
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class PostageProductDTO implements Serializable {
private static final long serialVersionUID = 2741810588349400005L;
/**
* 产品ID
*/
private Integer productId;
/**
* 产品数量
*/
private Integer quantity;
}

View File

@ -0,0 +1,72 @@
package com.hzs.sale.product;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.sale.classify.BdSpecs;
import com.hzs.common.domain.sale.ext.BdProductExt;
import com.hzs.common.domain.sale.product.BdProduct;
import com.hzs.common.domain.sale.product.BdProductSpecs;
import com.hzs.sale.product.dto.ProductDTO;
import com.hzs.sale.product.dto.ProductParamDTO;
import com.hzs.system.sys.dto.LoginUser;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* @Description:
* @Author: yuhui
* @Time: 2022/11/15 17:52
* @Classname: IProductServiceApi
* @PackageName: com.hzs.sale.product
*/
public interface IProductServiceApi {
/**
* 根据产品主键查询产品
*
* @param productId
* @return
*/
R<ProductDTO> getProduct(Integer productId);
/*
* @description: 根据规格主键查询产品
* @author: sui q
* @date: 2023/11/27 15:52
* @param: null null
**/
R<List<BdProductExt>> queryProductDtoById(List<BdProductSpecs> productSpecsList, Integer pkCountry);
/**
* 根据产品编号查询产品
*
* @param productCode 产品编号
* @return
*/
R<ProductDTO> getProduct(String productCode);
/*
* @description: 根据主键List查询规格
* @author: sui q
* @date: 2023/11/30 15:18
* @param: null null
**/
R<List<BdSpecs>> queryBdSpecsByIdList(List<Integer> idList);
/**
* 产品新增
* @param productParamDTO
* @return 编号
*/
R<String> saveProduct(ProductParamDTO productParamDTO, LoginUser loginUser);
/**
* 根据产品主键修改所关联商品是下架/预售
* @param productDTOList
* @return
*/
R<Boolean> updateWaresPreSaleStatus(List<ProductDTO> productDTOList);
}

View File

@ -0,0 +1,108 @@
package com.hzs.sale.product.dto;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description:
* @Author: yuhui
* @Time: 2022/11/15 17:53
* @Classname: ProductDTO
* @PackageName: com.hzs.sale.product.dto
*/
@Data
public class ProductDTO implements Serializable {
private static final long serialVersionUID = 8698477968986394339L;
private Integer productId;
/**
* 产品编号
*/
private String productCode;
/**
* 产品名称
*/
private String productName;
/**
* 翻译key
*/
private Integer pkTransactionKey;
/**
* 所属分类
*/
private Integer pkClassify;
/**
* 单位 来源于枚举单位
*/
private Integer unit;
/**
* 重量 以千克作为单位
*/
private BigDecimal weight;
/**
* 以厘米作为单位
*/
private BigDecimal length;
/**
* 以厘米作为单位
*/
private BigDecimal width;
/**
* 以厘米作为单位
*/
private BigDecimal height;
/**
* 邮费重量 以千克作为单位
*/
private BigDecimal postageWeight;
/**
* 建议零售价
*/
private BigDecimal retailPrice;
/**
* 启用状态 来源于枚举是否默认是
*/
private Integer enableState;
/**
* 封面图
*/
private String cover;
/**
* 保质期
*/
private Integer shelfLife;
/**
* 是否冷链
*/
private Integer isFresh;
/**
* 商品属性
*/
private Integer productAttr;
/**
* 发货渠道
*/
private Integer shippingChannel;
}

View File

@ -0,0 +1,252 @@
package com.hzs.sale.product.dto;/**
* @Description:
* @Author: yuhui
* @Time: 2024/3/23 16:27
* @Classname: ProductParamDTO
* @PackageName: com.hzs.sale.product.dto
*/
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.sale.product.dto
*@Author: yh
*@CreateTime: 2024-03-23 16:27
*@Description: TODO
*@Version: 1.0
*/
@Data
public class ProductParamDTO implements Serializable {
/**
* 商品主键
*/
private Integer pkId;
/**
* 产品编号
*/
private String productCode;
/**
* 产品名称
*/
private String productName;
/**
* 翻译key
*/
private Integer transactionKey;
/**
* 规格分类
*/
private Integer pkClassify;
/**
* 单位 来源于枚举单位
*/
private Integer unit;
/**
* 重量 以千克作为单位
*/
private BigDecimal weight;
/**
* 以厘米作为单位
*/
private BigDecimal length;
/**
* 以厘米作为单位
*/
private BigDecimal width;
/**
* 以厘米作为单位
*/
private BigDecimal height;
/**
* 邮费重量 以千克作为单位
*/
private BigDecimal postageWeight;
/**
* 建议零售价
*/
private BigDecimal retailPrice;
/**
* 启用状态 来源于枚举是否默认是
*/
private Integer enableState;
/**
* 封面图
*/
private String cover;
/**
* 保质期
*/
private Integer shelfLife;
/**
* 是否冷链
*/
private Integer isFresh;
/**
* 是否提货 来源于枚举是否默认否
*/
private Integer isPickUp;
/**
* 是否抽奖奖品 来源于枚举是否默认否
*/
private Integer isPrize;
/**
* 是否条码管理 来源于枚举是否默认否
*/
private Integer isBarCode;
/**
* 能否合并发货 来源于枚举是否默认是
*/
private Integer isMerge;
/**
* 来源于枚举是否默认是
*/
private Integer isGift;
/**
* 库存预警数量
*/
// private Long warningQuantity;
/**
* 是否陆运
*/
private Integer isLandTrans;
/**
* 是否空运
*/
private Integer isAirTrans;
/**
* 是否海运
*/
private Integer isOceanTrans;
/**
* 产品属性 枚举商品属性,1=实物商品2=虚拟商品
*/
private Integer productAttr;
/**
* 产品规格类型列表
*/
private List<Integer> pkSpecsType;
/**
* 排序值
*/
private Integer sort;
/**
* 发货渠道 1 总仓发货 2 一件代发
*/
private Integer shippingChannel;
/**
* 产品主键id列表
*/
List<Integer> productIds;
/**
* 海陆空运输方式筛选
*/
private Integer shippingType;
/**
* 开始创建时间
*/
private Date startCreateDate;
/**
* 结束创建时间
*/
private Date endCreateDate;
/**
* 产品编号
*/
List<String> productCodes;
private Integer pkCountry;
/**
* 复购类型
*/
private Integer repurchaseType;
/**
* 是否存在规格
*/
private Integer isExistSpecs;
/**
* 查询产品信息
*/
private String queryInfo;
/**
* 产品基础档案主键
*/
private Integer pkProductBas;
/**
* 数量
*/
private Integer quantity;
/**
* 创建时间
*/
private Date creationTime;
/**
* 创建人
*/
private Long pkCreator;
/**
* 供应商
*/
private Integer pkSupplier;
/**
* 供应商主键
*/
private Integer pkCubasdoc;
}

View File

@ -0,0 +1,38 @@
package com.hzs.sale.pub;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.EApprovalBusiness;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
/**
* @Description: 统一的销售服务回调审批成功入口
* @Author: sui q
* @Time: 2022/10/25 13:45
* @Classname: ISaleApprovalServiceApi
* @PackageName: com.hzs.sale.pub
*/
public interface ISaleApprovalServiceApi {
/**
* 提供销售模块统一的审核回调方法
*
* @param approvalBusinessResultDTO
* @return: void
* @Author: sui q
* @Date: 2022/10/22 14:48
*/
R<Boolean> approvalCallback(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* 销售模块签呈查询
*
* @param eApprovalBusiness 业务类型
* @param businessCode 业务单号
* @param toLanguageTag 涉及语言时dubbo服务本身不能传递语言Local涉及到跨服务需要手动传递
* @return
*/
R queryApprovalData(EApprovalBusiness eApprovalBusiness, String businessCode, String toLanguageTag);
}

View File

@ -0,0 +1,46 @@
package com.hzs.sale.pub.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @description: 在线签呈撤销订单
* @author: sui q
* @time: 2023/4/10 10:35
* @classname: CancelOrderDTO
* @package_name: com.hzs.sale.pub.dto
* version 1.0.0
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CancelOrderDTO implements Serializable {
/**
* 订单编号
*/
private String orderCode;
/**
* 会员编号
*/
private String memberCode;
/**
* 会员姓名
*/
private String memberName;
/**
* 旧订单调换货物明细列表
*/
private List<ChangeProductDetailDTO> cancelItemsList;
/**
* 撤单编号
*/
private String cancelOrderCode;
}

View File

@ -0,0 +1,48 @@
package com.hzs.sale.pub.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description: 订单修改地址DTO
* @Author: jiang chao
* @Time: 2023/2/3 10:52
* @Classname: OrderChangeDTO
* @PackageName: com.hzs.sale.pub.dto
*/
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class ChangeAddressDTO implements Serializable {
private static final long serialVersionUID = -2861980511542208860L;
/**
* 订单编号
*/
private String orderCode;
/**
* 会员编号
*/
private String memberCode;
/**
* 会员姓名
*/
private String memberName;
/**
* 旧地址明细
*/
private ChangeAddressDetailDTO oldItem;
/**
* 新地址明细
*/
private ChangeAddressDetailDTO newItem;
}

View File

@ -0,0 +1,38 @@
package com.hzs.sale.pub.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description: 订单修改地址明细DTO
* @Author: jiang chao
* @Time: 2023/3/20 17:55
* @Classname: ChangeAddressDetailDTO
* @PackageName: com.hzs.sale.pub.dto
*/
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class ChangeAddressDetailDTO implements Serializable {
private static final long serialVersionUID = -5030373379713540670L;
/**
* 收货人
*/
private String recName;
/**
* 收货电话
*/
private String recPhone;
/**
* 地址地址
*/
private String recAddress;
}

View File

@ -0,0 +1,59 @@
package com.hzs.sale.pub.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Description: 订单调换货物DTO
* @Author: jiang chao
* @Time: 2023/2/28 11:00
* @Classname: ChangeProductDTO
* @PackageName: com.hzs.sale.pub.dto
*/
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class ChangeProductDTO implements Serializable {
private static final long serialVersionUID = 2270151911648834777L;
/**
* 订单编号
*/
private String orderCode;
/**
* 会员编号
*/
private String memberCode;
/**
* 会员姓名
*/
private String memberName;
/**
* 旧邮费
*/
private BigDecimal oldPostage;
/**
* 新邮费
*/
private BigDecimal newPostage;
/**
* 旧订单调换货物明细列表
*/
private List<ChangeProductDetailDTO> oldItemList;
/**
* 新订单调换货物明细列表
*/
private List<ChangeProductDetailDTO> newItemList;
}

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