feat(settlement): 更新分销结算逻辑支持固定金额和百分比两种佣金类型
- 替换 CommissionRateConfig 为 CommissionConfig,支持 commissionType 字段区分固定金额和百分比模式 - 新增 calcMoneyByCommissionType 方法,根据 commissionType 计算佣金金额 - 修改 findOrderSingleGoods 为 findOrderSingleGoodsInfo,返回商品信息和数量 - 更新日志输出格式,显示商品数量和佣金类型信息 - 调整信用分销商佣金方法参数,传递商品数量和佣金配置对象 - 新增 OrderGoodsInfo 和 CommissionConfig 内部类定义 - 实现固定金额模式按件计算佣金的逻辑 - 添加安全数值处理方法 safeValue 和 safePositive - 更新佣金注释构建方法,显示佣金类型和具体数值信息
This commit is contained in:
@@ -86,13 +86,15 @@ public class BatchImportSupport {
|
||||
SFunction<T, String> nameGetter,
|
||||
SFunction<T, Integer> companyIdGetter,
|
||||
BiConsumer<T, Integer> companyIdSetter,
|
||||
SFunction<T, Boolean> hasDataGetter,
|
||||
BiConsumer<T, Boolean> hasDataSetter,
|
||||
SFunction<T, Integer> tenantIdGetter,
|
||||
Supplier<T> patchFactory) {
|
||||
boolean onlyNullFlag = (onlyNull == null) || Boolean.TRUE.equals(onlyNull);
|
||||
|
||||
// 1) 读取待处理数据(仅取必要字段,避免一次性拉全表字段)
|
||||
var query = service.lambdaQuery()
|
||||
.select(idGetter, nameGetter, companyIdGetter, tenantIdGetter)
|
||||
.select(idGetter, nameGetter, companyIdGetter, hasDataGetter, tenantIdGetter)
|
||||
.eq(currentTenantId != null, tenantIdGetter, currentTenantId)
|
||||
.isNotNull(nameGetter);
|
||||
if (onlyNullFlag) {
|
||||
@@ -191,12 +193,17 @@ public class BatchImportSupport {
|
||||
matched++;
|
||||
|
||||
Integer oldCompanyId = row != null ? companyIdGetter.apply(row) : null;
|
||||
Boolean oldHasData = row != null ? hasDataGetter.apply(row) : null;
|
||||
boolean needUpdate;
|
||||
if (onlyNullFlag) {
|
||||
needUpdate = oldCompanyId != null && oldCompanyId == 0;
|
||||
} else {
|
||||
needUpdate = oldCompanyId == null || !companyId.equals(oldCompanyId);
|
||||
}
|
||||
// 若已匹配到企业,但 hasData 未标记,则也需要回填 hasData=1
|
||||
if (!Boolean.TRUE.equals(oldHasData)) {
|
||||
needUpdate = true;
|
||||
}
|
||||
if (!needUpdate) {
|
||||
continue;
|
||||
}
|
||||
@@ -208,6 +215,7 @@ public class BatchImportSupport {
|
||||
T patch = patchFactory.get();
|
||||
idSetter.accept(patch, id);
|
||||
companyIdSetter.accept(patch, companyId);
|
||||
hasDataSetter.accept(patch, Boolean.TRUE);
|
||||
updates.add(patch);
|
||||
if (updates.size() >= batchSize) {
|
||||
List<T> batch = new ArrayList<>(updates);
|
||||
|
||||
@@ -165,6 +165,8 @@ public class CreditAdministrativeLicenseController extends BaseController {
|
||||
CreditAdministrativeLicense::getName,
|
||||
CreditAdministrativeLicense::getCompanyId,
|
||||
CreditAdministrativeLicense::setCompanyId,
|
||||
CreditAdministrativeLicense::getHasData,
|
||||
CreditAdministrativeLicense::setHasData,
|
||||
CreditAdministrativeLicense::getTenantId,
|
||||
CreditAdministrativeLicense::new
|
||||
);
|
||||
|
||||
@@ -165,6 +165,8 @@ public class CreditBankruptcyController extends BaseController {
|
||||
CreditBankruptcy::getParty,
|
||||
CreditBankruptcy::getCompanyId,
|
||||
CreditBankruptcy::setCompanyId,
|
||||
CreditBankruptcy::getHasData,
|
||||
CreditBankruptcy::setHasData,
|
||||
CreditBankruptcy::getTenantId,
|
||||
CreditBankruptcy::new
|
||||
);
|
||||
|
||||
@@ -164,6 +164,8 @@ public class CreditBranchController extends BaseController {
|
||||
CreditBranch::getName,
|
||||
CreditBranch::getCompanyId,
|
||||
CreditBranch::setCompanyId,
|
||||
CreditBranch::getHasData,
|
||||
CreditBranch::setHasData,
|
||||
CreditBranch::getTenantId,
|
||||
CreditBranch::new
|
||||
);
|
||||
|
||||
@@ -161,6 +161,8 @@ public class CreditBreachOfTrustController extends BaseController {
|
||||
CreditBreachOfTrust::getPlaintiffAppellant,
|
||||
CreditBreachOfTrust::getCompanyId,
|
||||
CreditBreachOfTrust::setCompanyId,
|
||||
CreditBreachOfTrust::getHasData,
|
||||
CreditBreachOfTrust::setHasData,
|
||||
CreditBreachOfTrust::getTenantId,
|
||||
CreditBreachOfTrust::new
|
||||
);
|
||||
|
||||
@@ -164,6 +164,8 @@ public class CreditCaseFilingController extends BaseController {
|
||||
CreditCaseFiling::getAppellee,
|
||||
CreditCaseFiling::getCompanyId,
|
||||
CreditCaseFiling::setCompanyId,
|
||||
CreditCaseFiling::getHasData,
|
||||
CreditCaseFiling::setHasData,
|
||||
CreditCaseFiling::getTenantId,
|
||||
CreditCaseFiling::new
|
||||
);
|
||||
|
||||
@@ -164,6 +164,8 @@ public class CreditCompetitorController extends BaseController {
|
||||
CreditCompetitor::getName,
|
||||
CreditCompetitor::getCompanyId,
|
||||
CreditCompetitor::setCompanyId,
|
||||
CreditCompetitor::getHasData,
|
||||
CreditCompetitor::setHasData,
|
||||
CreditCompetitor::getTenantId,
|
||||
CreditCompetitor::new
|
||||
);
|
||||
|
||||
@@ -164,6 +164,8 @@ public class CreditCourtAnnouncementController extends BaseController {
|
||||
CreditCourtAnnouncement::getAppellee,
|
||||
CreditCourtAnnouncement::getCompanyId,
|
||||
CreditCourtAnnouncement::setCompanyId,
|
||||
CreditCourtAnnouncement::getHasData,
|
||||
CreditCourtAnnouncement::setHasData,
|
||||
CreditCourtAnnouncement::getTenantId,
|
||||
CreditCourtAnnouncement::new
|
||||
);
|
||||
|
||||
@@ -165,6 +165,8 @@ public class CreditCourtSessionController extends BaseController {
|
||||
CreditCourtSession::getAppellee,
|
||||
CreditCourtSession::getCompanyId,
|
||||
CreditCourtSession::setCompanyId,
|
||||
CreditCourtSession::getHasData,
|
||||
CreditCourtSession::setHasData,
|
||||
CreditCourtSession::getTenantId,
|
||||
CreditCourtSession::new
|
||||
);
|
||||
|
||||
@@ -160,6 +160,8 @@ public class CreditCustomerController extends BaseController {
|
||||
CreditCustomer::getName,
|
||||
CreditCustomer::getCompanyId,
|
||||
CreditCustomer::setCompanyId,
|
||||
CreditCustomer::getHasData,
|
||||
CreditCustomer::setHasData,
|
||||
CreditCustomer::getTenantId,
|
||||
CreditCustomer::new
|
||||
);
|
||||
|
||||
@@ -164,6 +164,8 @@ public class CreditDeliveryNoticeController extends BaseController {
|
||||
CreditDeliveryNotice::getOtherPartiesThirdParty,
|
||||
CreditDeliveryNotice::getCompanyId,
|
||||
CreditDeliveryNotice::setCompanyId,
|
||||
CreditDeliveryNotice::getHasData,
|
||||
CreditDeliveryNotice::setHasData,
|
||||
CreditDeliveryNotice::getTenantId,
|
||||
CreditDeliveryNotice::new
|
||||
);
|
||||
|
||||
@@ -164,6 +164,8 @@ public class CreditExternalController extends BaseController {
|
||||
CreditExternal::getName,
|
||||
CreditExternal::getCompanyId,
|
||||
CreditExternal::setCompanyId,
|
||||
CreditExternal::getHasData,
|
||||
CreditExternal::setHasData,
|
||||
CreditExternal::getTenantId,
|
||||
CreditExternal::new
|
||||
);
|
||||
|
||||
@@ -165,6 +165,8 @@ public class CreditFinalVersionController extends BaseController {
|
||||
CreditFinalVersion::getAppellee,
|
||||
CreditFinalVersion::getCompanyId,
|
||||
CreditFinalVersion::setCompanyId,
|
||||
CreditFinalVersion::getHasData,
|
||||
CreditFinalVersion::setHasData,
|
||||
CreditFinalVersion::getTenantId,
|
||||
CreditFinalVersion::new
|
||||
);
|
||||
|
||||
@@ -165,6 +165,8 @@ public class CreditGqdjController extends BaseController {
|
||||
CreditGqdj::getAppellee,
|
||||
CreditGqdj::getCompanyId,
|
||||
CreditGqdj::setCompanyId,
|
||||
CreditGqdj::getHasData,
|
||||
CreditGqdj::setHasData,
|
||||
CreditGqdj::getTenantId,
|
||||
CreditGqdj::new
|
||||
);
|
||||
|
||||
@@ -164,6 +164,8 @@ public class CreditHistoricalLegalPersonController extends BaseController {
|
||||
CreditHistoricalLegalPerson::getName,
|
||||
CreditHistoricalLegalPerson::getCompanyId,
|
||||
CreditHistoricalLegalPerson::setCompanyId,
|
||||
CreditHistoricalLegalPerson::getHasData,
|
||||
CreditHistoricalLegalPerson::setHasData,
|
||||
CreditHistoricalLegalPerson::getTenantId,
|
||||
CreditHistoricalLegalPerson::new
|
||||
);
|
||||
|
||||
@@ -174,6 +174,8 @@ public class CreditJudgmentDebtorController extends BaseController {
|
||||
CreditJudgmentDebtor::getName,
|
||||
CreditJudgmentDebtor::getCompanyId,
|
||||
CreditJudgmentDebtor::setCompanyId,
|
||||
CreditJudgmentDebtor::getHasData,
|
||||
CreditJudgmentDebtor::setHasData,
|
||||
CreditJudgmentDebtor::getTenantId,
|
||||
CreditJudgmentDebtor::new
|
||||
);
|
||||
|
||||
@@ -165,6 +165,8 @@ public class CreditJudicialDocumentController extends BaseController {
|
||||
CreditJudicialDocument::getAppellee,
|
||||
CreditJudicialDocument::getCompanyId,
|
||||
CreditJudicialDocument::setCompanyId,
|
||||
CreditJudicialDocument::getHasData,
|
||||
CreditJudicialDocument::setHasData,
|
||||
CreditJudicialDocument::getTenantId,
|
||||
CreditJudicialDocument::new
|
||||
);
|
||||
|
||||
@@ -163,6 +163,8 @@ public class CreditJudiciaryController extends BaseController {
|
||||
CreditJudiciary::getName,
|
||||
CreditJudiciary::getCompanyId,
|
||||
CreditJudiciary::setCompanyId,
|
||||
CreditJudiciary::getHasData,
|
||||
CreditJudiciary::setHasData,
|
||||
CreditJudiciary::getTenantId,
|
||||
CreditJudiciary::new
|
||||
);
|
||||
|
||||
@@ -164,6 +164,8 @@ public class CreditMediationController extends BaseController {
|
||||
CreditMediation::getAppellee,
|
||||
CreditMediation::getCompanyId,
|
||||
CreditMediation::setCompanyId,
|
||||
CreditMediation::getHasData,
|
||||
CreditMediation::setHasData,
|
||||
CreditMediation::getTenantId,
|
||||
CreditMediation::new
|
||||
);
|
||||
|
||||
@@ -164,6 +164,8 @@ public class CreditNearbyCompanyController extends BaseController {
|
||||
CreditNearbyCompany::getName,
|
||||
CreditNearbyCompany::getCompanyId,
|
||||
CreditNearbyCompany::setCompanyId,
|
||||
CreditNearbyCompany::getHasData,
|
||||
CreditNearbyCompany::setHasData,
|
||||
CreditNearbyCompany::getTenantId,
|
||||
CreditNearbyCompany::new
|
||||
);
|
||||
|
||||
@@ -164,6 +164,8 @@ public class CreditPatentController extends BaseController {
|
||||
CreditPatent::getPatentApplicant,
|
||||
CreditPatent::getCompanyId,
|
||||
CreditPatent::setCompanyId,
|
||||
CreditPatent::getHasData,
|
||||
CreditPatent::setHasData,
|
||||
CreditPatent::getTenantId,
|
||||
CreditPatent::new
|
||||
);
|
||||
|
||||
@@ -164,6 +164,8 @@ public class CreditRiskRelationController extends BaseController {
|
||||
CreditRiskRelation::getMainBodyName,
|
||||
CreditRiskRelation::getCompanyId,
|
||||
CreditRiskRelation::setCompanyId,
|
||||
CreditRiskRelation::getHasData,
|
||||
CreditRiskRelation::setHasData,
|
||||
CreditRiskRelation::getTenantId,
|
||||
CreditRiskRelation::new
|
||||
);
|
||||
|
||||
@@ -164,6 +164,8 @@ public class CreditSupplierController extends BaseController {
|
||||
CreditSupplier::getSupplier,
|
||||
CreditSupplier::getCompanyId,
|
||||
CreditSupplier::setCompanyId,
|
||||
CreditSupplier::getHasData,
|
||||
CreditSupplier::setHasData,
|
||||
CreditSupplier::getTenantId,
|
||||
CreditSupplier::new
|
||||
);
|
||||
|
||||
@@ -164,6 +164,8 @@ public class CreditSuspectedRelationshipController extends BaseController {
|
||||
CreditSuspectedRelationship::getName,
|
||||
CreditSuspectedRelationship::getCompanyId,
|
||||
CreditSuspectedRelationship::setCompanyId,
|
||||
CreditSuspectedRelationship::getHasData,
|
||||
CreditSuspectedRelationship::setHasData,
|
||||
CreditSuspectedRelationship::getTenantId,
|
||||
CreditSuspectedRelationship::new
|
||||
);
|
||||
|
||||
@@ -175,6 +175,8 @@ public class CreditUserController extends BaseController {
|
||||
CreditUser::getWinningName,
|
||||
CreditUser::getCompanyId,
|
||||
CreditUser::setCompanyId,
|
||||
CreditUser::getHasData,
|
||||
CreditUser::setHasData,
|
||||
CreditUser::getTenantId,
|
||||
CreditUser::new
|
||||
);
|
||||
|
||||
@@ -165,6 +165,8 @@ public class CreditXgxfController extends BaseController {
|
||||
CreditXgxf::getDataType,
|
||||
CreditXgxf::getCompanyId,
|
||||
CreditXgxf::setCompanyId,
|
||||
CreditXgxf::getHasData,
|
||||
CreditXgxf::setHasData,
|
||||
CreditXgxf::getTenantId,
|
||||
CreditXgxf::new
|
||||
);
|
||||
|
||||
@@ -59,6 +59,9 @@ public class CreditAdministrativeLicense implements Serializable {
|
||||
@Schema(description = "数据来源单位")
|
||||
private String dataSourceUnit;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -46,6 +46,9 @@ public class CreditBankruptcy implements Serializable {
|
||||
@Schema(description = "公开日期")
|
||||
private String publicDate;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -46,6 +46,9 @@ public class CreditBranch implements Serializable {
|
||||
@Schema(description = "状态")
|
||||
private String statusText;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -73,6 +73,9 @@ public class CreditBreachOfTrust implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -70,6 +70,9 @@ public class CreditCaseFiling implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -65,6 +65,9 @@ public class CreditCompetitor implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String mainCompanyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -70,6 +70,9 @@ public class CreditCourtAnnouncement implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -70,6 +70,9 @@ public class CreditCourtSession implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -55,6 +55,9 @@ public class CreditCustomer implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -71,6 +71,9 @@ public class CreditDeliveryNotice implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -82,6 +82,9 @@ public class CreditExternal implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -64,6 +64,9 @@ public class CreditFinalVersion implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -70,6 +70,9 @@ public class CreditGqdj implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -40,6 +40,9 @@ public class CreditHistoricalLegalPerson implements Serializable {
|
||||
@Schema(description = "链接")
|
||||
private String url;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -65,6 +65,9 @@ public class CreditJudgmentDebtor implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -73,6 +73,9 @@ public class CreditJudicialDocument implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -86,6 +86,9 @@ public class CreditJudiciary implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -70,6 +70,9 @@ public class CreditMediation implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -194,6 +194,9 @@ public class CreditNearbyCompany implements Serializable {
|
||||
@Schema(description = "是否小微企业")
|
||||
private String smallEnterprise;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -58,6 +58,9 @@ public class CreditPatent implements Serializable {
|
||||
@Schema(description = "链接")
|
||||
private String url;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -54,6 +54,9 @@ public class CreditRiskRelation implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -55,6 +55,9 @@ public class CreditSupplier implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -55,6 +55,9 @@ public class CreditSuspectedRelationship implements Serializable {
|
||||
@Schema(description = "链接")
|
||||
private String url;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -82,6 +82,9 @@ public class CreditUser implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
@@ -82,6 +82,9 @@ public class CreditXgxf implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String companyName;
|
||||
|
||||
@Schema(description = "是否有数据")
|
||||
private Boolean hasData;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String comments;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user