xzd-客户信息

This commit is contained in:
lg
2025-09-30 11:24:14 +08:00
parent cdd9266452
commit ed6b4c608f
87 changed files with 7682 additions and 0 deletions

View File

@ -278,6 +278,8 @@ springdoc:
packages-to-scan: org.dromara.app packages-to-scan: org.dromara.app
- group: 26.netty消息模块 - group: 26.netty消息模块
packages-to-scan: org.dromara.websocket packages-to-scan: org.dromara.websocket
- group: 27.新中大模块
packages-to-scan: org.dromara.xzd
# knife4j的增强配置不需要增强可以不配 # knife4j的增强配置不需要增强可以不配
knife4j: knife4j:
enable: true enable: true

View File

@ -0,0 +1,62 @@
package org.dromara.xzd.cotroller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.xzd.domain.dto.AddCorrespondentDto;
import org.dromara.xzd.domain.vo.XzdPoiAreaVo;
import org.dromara.xzd.service.IXzdCorrespondentList;
import org.dromara.xzd.service.IXzdPoiAreaService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/xzd/list")
public class XzdCorrespondentList {
private final IXzdCorrespondentList iXzdCorrespondentList;
/**
* 查询区域列表
*/
@SaCheckPermission("xzd:poiArea:list")
@GetMapping("/list")
public R<XzdPoiAreaVo> list() {
return iXzdCorrespondentList.queryPageList();
}
/**
* 客户信息添加
*/
@SaCheckPermission("xzd:poiArea:list")
@PostMapping("/addCorrespondent")
public R<String> addCorrespondent(@RequestBody AddCorrespondentDto dto) {
return iXzdCorrespondentList.addCorrespondent(dto);
}
/**
* 客户信息添加
*/
@SaCheckPermission("xzd:poiArea:list")
@PostMapping("/delCorrespondent")
public R<String> delCorrespondent(@RequestBody List<AddCorrespondentDto> dto) {
return iXzdCorrespondentList.delCorrespondent(dto);
}
}

View File

@ -0,0 +1,96 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 客户信息-地址信息2对象 xzd_address_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_address_info")
public class XzdAddressInfo extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 1客户 2供应商
*/
private String type;
/**
* 客户ID
*/
private Long customerinformationId;
/**
* 属性
*/
private String attribute;
/**
* 名称
*/
private String name;
/**
* 国家
*/
private String country;
/**
* 省州
*/
private String provinceState;
/**
* 县市
*/
private String countyCity;
/**
* 详细地址
*/
private String detailedAddress;
/**
* 邮编
*/
private String postalCode;
/**
* 电话
*/
private String telephone;
/**
* 手机
*/
private String mobilePhone;
/**
* 传真
*/
private String fax;
/**
* 区
*/
private String district;
}

View File

@ -0,0 +1,106 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 客户信息-业务信息7对象 xzd_business_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_business_info")
public class XzdBusinessInfo extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 1客户 2供应商
*/
private String type;
/**
* 客户ID
*/
private Long customerinformationId;
/**
* 销售类型
*/
private String salesType;
/**
* 订单类型
*/
private String orderType;
/**
* 退货时限
*/
private Long returnTimeLimit;
/**
* 退货率
*/
private Long returnRate;
/**
* 收货单位
*/
private String receivingUnit;
/**
* 运输方式
*/
private String transportationMode;
/**
* 配送路线
*/
private String distributionRoute;
/**
* 委托代销仓库
*/
private String consignmentWarehouse;
/**
* 订货周期(单位:天)
*/
private Long orderingCycle;
/**
* 到货天数
*/
private Long arrivalDays;
/**
* 发货单位
*/
private String shippingUnit;
/**
* 起始位置
*/
private String startLocation;
/**
* 条形码长度
*/
private Long barcodeLength;
}

View File

@ -0,0 +1,78 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 客户信息-证照信息4对象 xzd_certificate_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_certificate_info")
public class XzdCertificateInfo extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 1客户 2供应商
*/
private String type;
/**
* 客户ID
*/
private Long customerinformationId;
/**
* 证照名称
*/
private String certificateName;
/**
* 证照号码
*/
private String certificateNumber;
/**
* 生效日期
*/
private Date effectiveDate;
/**
* 截止日期
*/
private Date expirationDate;
/**
* 停用标志0未停用1已停用
*/
private Long disableFlag;
/**
* 附件
*/
private String attachment;
/**
* 备注
*/
private String remarks;
}

View File

@ -0,0 +1,121 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 客户信息-联系人信息3对象 xzd_contact
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_contact")
public class XzdContact extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 1客户 2供应商
*/
private String type;
/**
* 客户ID
*/
private Long customerinformationId;
/**
* 是否为主联系人01
*/
private Long isMainContact;
/**
* 姓名
*/
private String name;
/**
* 身份证
*/
private String idCard;
/**
* 性别
*/
private String gender;
/**
* 年龄
*/
private Long age;
/**
* 主要部门
*/
private String mainDepartment;
/**
* 主要职务
*/
private String mainPosition;
/**
* 手机
*/
private String mobilePhone;
/**
* 电子邮箱
*/
private String email;
/**
* 即时通讯
*/
private String instantMessaging;
/**
* 办公电话
*/
private String officePhone;
/**
* 传真
*/
private String fax;
/**
* 办公地点
*/
private String officeLocation;
/**
* 附件
*/
private String attachment;
/**
* 投标类型
*/
private String bidType;
/**
* 负责供应商子类型
*/
private String responsibleSubtype;
}

View File

@ -0,0 +1,76 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 客户信息-合同信息9对象 xzd_contract_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_contract_info")
public class XzdContractInfo extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 1客户 2供应商
*/
private String type;
/**
* 客户ID
*/
private Long customerinformationId;
/**
* 合同编号
*/
private String contractNumber;
/**
* 合同名称
*/
private String contractName;
/**
* 项目
*/
private String project;
/**
* 合同含税金额
*/
private Long contractTaxInclusiveAmount;
/**
* 合同类型
*/
private String contractType;
/**
* 录入组织
*/
private String entryOrganization;
/**
* 业务员
*/
private String salesman;
}

View File

@ -0,0 +1,123 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 客户信息-客户信息1对象 xzd_customer_detail
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_customer_detail")
public class XzdCustomerDetail extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 客户ID
*/
private Long customerinformationId;
/**
* 客户来源
*/
private String customerSource;
/**
* 客户类型
*/
private String customerType;
/**
* 客户等级
*/
private String customerLevel;
/**
* 重要程度
*/
private String importanceDegree;
/**
* 分管部门
*/
private String responsibleDepartment;
/**
* 分管业务员
*/
private String responsibleSalesman;
/**
* 归属组织
*/
private String belongingOrganization;
/**
* 冻结标志0未冻结1冻结
*/
private Long freezeFlag;
/**
* 冻结开始时间
*/
private Date freezeStartTime;
/**
* 冻结结束时间
*/
private Date freezeEndTime;
/**
* 经销商类型
*/
private String dealerType;
/**
* 经销等级
*/
private String dealerLevel;
/**
* 默认财务组织
*/
private String defaultFinanceOrganization;
/**
* 审核标志0未审核1已审核
*/
private Long auditFlag;
/**
* 总部/分支机构
*/
private String headquartersBranch;
/**
* 分支机构省
*/
private String branchProvince;
/**
* 分支机构市
*/
private String branchCity;
}

View File

@ -0,0 +1,248 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 客户信息对象 xzd_customerinformation
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_customerinformation")
public class XzdCustomerinformation extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 区域ID
*/
private Long poiAreaId;
/**
* 单位编号
*/
private String unitCode;
/**
* 单位名称
*/
private String unitName;
/**
* 单位属性
*/
private String unitProperty;
/**
* 简称
*/
private String shortName;
/**
* 英文简称
*/
private String englishShortName;
/**
* 助记码
*/
private String mnemonicCode;
/**
* 统一社会信用代码
*/
private String unifiedSocialCreditCode;
/**
* 税务登记号
*/
private String taxRegistrationNumber;
/**
* 证件类型
*/
private String certificateType;
/**
* 证件编号
*/
private String certificateNumber;
/**
* 国家
*/
private String country;
/**
* 省
*/
private String province;
/**
* 市
*/
private String city;
/**
* 区县
*/
private String districtCounty;
/**
* 行业类型
*/
private String industryType;
/**
* 上级单位
*/
private String superiorUnit;
/**
* 集团客户0=否1=是)
*/
private Long isGroupCustomer;
/**
* 工商变更时间
*/
private Date industrialCommercialChangeTime;
/**
* 备注
*/
private String remarks;
/**
* 内部0=否1=是)
*/
private Long isInternal;
/**
* 黑名单0=否1=是)
*/
private Long isBlacklist;
/**
* 直接客户0=否1=是)
*/
private Long isDirectCustomer;
/**
* 经销商0=否1=是)
*/
private Long isDealer;
/**
* 自动生成供应商0=否1=是)
*/
private Long isAutoSupplier;
/**
* 区号
*/
private String areaCode;
/**
* 单位成立日期
*/
private Date establishmentDate;
/**
* 纳税身份类型
*/
private String taxIdentityType;
/**
* 纳税人名称
*/
private String taxpayerName;
/**
* 税务银行行号
*/
private String taxBankCode;
/**
* 税务银行名称
*/
private String taxBankName;
/**
* 税务登记账号
*/
private String taxRegistrationAccount;
/**
* 税务登记地址
*/
private String taxRegistrationAddress;
/**
* 税务登记电话
*/
private String taxRegistrationPhone;
/**
* 注册资金
*/
private Long registeredCapital;
/**
* 注册时间
*/
private Date registrationTime;
/**
* 营业范围
*/
private String businessScope;
/**
* 法人代表
*/
private String legalRepresentative;
/**
* 行业地位(字典)
*/
private String industryStatus;
/**
* 企业性质(字典)
*/
private String enterpriseProperty;
/**
* 规模(字典)
*/
private String scale;
/**
* 网址
*/
private String website;
/**
* 邮箱
*/
private String mailbox;
}

View File

@ -0,0 +1,56 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 客户|供应商类型(公共)对象 xzd_customertype
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_customertype")
public class XzdCustomertype extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 1客户 2供应商
*/
private String type;
/**
* 父ID
*/
private Long pid;
/**
* 选择主类型1主类型0非主类型
*/
private Long isMainType;
/**
* 类型编码
*/
private String typeCode;
/**
* 客户类型
*/
private String customerType;
}

View File

@ -0,0 +1,45 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 客户信息-客户类型10对象 xzd_customertype_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_customertype_info")
public class XzdCustomertypeInfo extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 1客户 2供应商
*/
private String type;
/**
* 客户ID
*/
private Long customerinformationId;
/**
* 数据ID
*/
private Long customertypeId;
/**
* 是否主类0否 1是
*/
private String primaryClass;
}

View File

@ -0,0 +1,60 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 区域对象 xzd_poi_area
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_poi_area")
public class XzdPoiArea extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
private Long adcode;
/**
*
*/
private Long parentid;
/**
*
*/
private String citycode;
/**
*
*/
private String level;
/**
*
*/
private String name;
/**
*
*/
private String center;
/**
*
*/
private String islast;
}

View File

@ -0,0 +1,88 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 客户信息-项目信息8对象 xzd_project_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_project_info")
public class XzdProjectInfo extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 1客户 2供应商
*/
private String type;
/**
* 客户ID
*/
private Long customerinformationId;
/**
* 项目号
*/
private String projectNumber;
/**
* 项目名称
*/
private String projectName;
/**
* 项目简称
*/
private String projectAbbreviation;
/**
* 项目类型
*/
private String projectType;
/**
* 项目经理
*/
private String projectManager;
/**
* 项目状态
*/
private String projectStatus;
/**
* 业务员
*/
private String salesman;
/**
* 项目日期
*/
private Date projectDate;
/**
* 管理组织
*/
private String managementOrganization;
}

View File

@ -0,0 +1,66 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 客户信息-资质信息5对象 xzd_qualification_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_qualification_info")
public class XzdQualificationInfo extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 1客户 2供应商
*/
private String type;
/**
* 客户ID
*/
private Long customerinformationId;
/**
* 资质类别
*/
private String qualificationCategory;
/**
* 资质等级
*/
private String qualificationLevel;
/**
* 行业类型
*/
private String industryType;
/**
* 附件
*/
private String attachment;
/**
* 备注
*/
private String remarks;
}

View File

@ -0,0 +1,141 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 客户信息-结算信息6对象 xzd_settlement_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_settlement_info")
public class XzdSettlementInfo extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 1客户 2供应商
*/
private String type;
/**
* 客户ID
*/
private Long customerinformationId;
/**
* 结算单位
*/
private String settlementUnit;
/**
* 结算方式
*/
private String settlementMethod;
/**
* 结算币种
*/
private String settlementCurrency;
/**
* 开户银行
*/
private String openingBank;
/**
* 账号
*/
private String accountNumber;
/**
* 折扣方式
*/
private String discountMethod;
/**
* 默认扣率
*/
private Long defaultDeductionRate;
/**
* 开户行户名
*/
private String accountName;
/**
* 开户行省
*/
private String openingBankProvince;
/**
* 开户行市
*/
private String openingBankCity;
/**
* 开户行区县
*/
private String openingBankCountyDistrict;
/**
* 财务类型
*/
private String financialType;
/**
* 消费税率
*/
private Long consumptionTaxRate;
/**
* 回款天数
*/
private Long paymentDays;
/**
* 年利率
*/
private Long annualInterestRate;
/**
* 信用等级
*/
private String creditRating;
/**
* 信用期限
*/
private Long creditTerm;
/**
* 信用额度
*/
private Long creditLimit;
/**
* 默认付款天数
*/
private Long defaultPaymentDays;
/**
* 启用合同信用控制01
*/
private Long enableContractCreditControl;
}

View File

@ -0,0 +1,96 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdAddressInfo;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 客户信息-地址信息2业务对象 xzd_address_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdAddressInfo.class, reverseConvertGenerate = false)
public class XzdAddressInfoBo extends BaseEntity {
/**
* 主键ID
*/
private Long id;
/**
* 1客户 2供应商
*/
@NotBlank(message = "1客户 2供应商不能为空", groups = { AddGroup.class, EditGroup.class })
private String type;
/**
* 客户ID
*/
@NotNull(message = "客户ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long customerinformationId;
/**
* 属性
*/
private String attribute;
/**
* 名称
*/
private String name;
/**
* 国家
*/
private String country;
/**
* 省州
*/
private String provinceState;
/**
* 县市
*/
private String countyCity;
/**
* 详细地址
*/
private String detailedAddress;
/**
* 邮编
*/
private String postalCode;
/**
* 电话
*/
private String telephone;
/**
* 手机
*/
private String mobilePhone;
/**
* 传真
*/
private String fax;
/**
* 区
*/
private String district;
}

View File

@ -0,0 +1,107 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdBusinessInfo;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 客户信息-业务信息7业务对象 xzd_business_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdBusinessInfo.class, reverseConvertGenerate = false)
public class XzdBusinessInfoBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 1客户 2供应商
*/
@NotBlank(message = "1客户 2供应商不能为空", groups = { AddGroup.class, EditGroup.class })
private String type;
/**
* 客户ID
*/
@NotNull(message = "客户ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long customerinformationId;
/**
* 销售类型
*/
private String salesType;
/**
* 订单类型
*/
private String orderType;
/**
* 退货时限
*/
private Long returnTimeLimit;
/**
* 退货率
*/
private Long returnRate;
/**
* 收货单位
*/
private String receivingUnit;
/**
* 运输方式
*/
private String transportationMode;
/**
* 配送路线
*/
private String distributionRoute;
/**
* 委托代销仓库
*/
private String consignmentWarehouse;
/**
* 订货周期(单位:天)
*/
private Long orderingCycle;
/**
* 到货天数
*/
private Long arrivalDays;
/**
* 发货单位
*/
private String shippingUnit;
/**
* 起始位置
*/
private String startLocation;
/**
* 条形码长度
*/
private Long barcodeLength;
}

View File

@ -0,0 +1,79 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdCertificateInfo;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 客户信息-证照信息4业务对象 xzd_certificate_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdCertificateInfo.class, reverseConvertGenerate = false)
public class XzdCertificateInfoBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 1客户 2供应商
*/
@NotBlank(message = "1客户 2供应商不能为空", groups = { AddGroup.class, EditGroup.class })
private String type;
/**
* 客户ID
*/
@NotNull(message = "客户ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long customerinformationId;
/**
* 证照名称
*/
private String certificateName;
/**
* 证照号码
*/
private String certificateNumber;
/**
* 生效日期
*/
private Date effectiveDate;
/**
* 截止日期
*/
private Date expirationDate;
/**
* 停用标志0未停用1已停用
*/
private Long disableFlag;
/**
* 附件
*/
private String attachment;
/**
* 备注
*/
private String remarks;
}

View File

@ -0,0 +1,119 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdContact;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 客户信息-联系人信息3业务对象 xzd_contact
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdContact.class, reverseConvertGenerate = false)
public class XzdContactBo extends BaseEntity {
/**
*
*/
private Long id;
/**
* 1客户 2供应商
*/
private String type;
/**
* 客户ID
*/
private Long customerinformationId;
/**
* 是否为主联系人01
*/
private Long isMainContact;
/**
* 姓名
*/
private String name;
/**
* 身份证
*/
private String idCard;
/**
* 性别
*/
private String gender;
/**
* 年龄
*/
private Long age;
/**
* 主要部门
*/
private String mainDepartment;
/**
* 主要职务
*/
private String mainPosition;
/**
* 手机
*/
private String mobilePhone;
/**
* 电子邮箱
*/
private String email;
/**
* 即时通讯
*/
private String instantMessaging;
/**
* 办公电话
*/
private String officePhone;
/**
* 传真
*/
private String fax;
/**
* 办公地点
*/
private String officeLocation;
/**
* 附件
*/
private String attachment;
/**
* 投标类型
*/
private String bidType;
/**
* 负责供应商子类型
*/
private String responsibleSubtype;
}

View File

@ -0,0 +1,74 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdContractInfo;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 客户信息-合同信息9业务对象 xzd_contract_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdContractInfo.class, reverseConvertGenerate = false)
public class XzdContractInfoBo extends BaseEntity {
/**
*
*/
private Long id;
/**
* 1客户 2供应商
*/
private String type;
/**
* 客户ID
*/
private Long customerinformationId;
/**
* 合同编号
*/
private String contractNumber;
/**
* 合同名称
*/
private String contractName;
/**
* 项目
*/
private String project;
/**
* 合同含税金额
*/
private Long contractTaxInclusiveAmount;
/**
* 合同类型
*/
private String contractType;
/**
* 录入组织
*/
private String entryOrganization;
/**
* 业务员
*/
private String salesman;
}

View File

@ -0,0 +1,123 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdCustomerDetail;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 客户信息-客户信息1业务对象 xzd_customer_detail
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdCustomerDetail.class, reverseConvertGenerate = false)
public class XzdCustomerDetailBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 客户ID
*/
@NotNull(message = "客户ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long customerinformationId;
/**
* 客户来源
*/
private String customerSource;
/**
* 客户类型
*/
private String customerType;
/**
* 客户等级
*/
private String customerLevel;
/**
* 重要程度
*/
private String importanceDegree;
/**
* 分管部门
*/
private String responsibleDepartment;
/**
* 分管业务员
*/
private String responsibleSalesman;
/**
* 归属组织
*/
private String belongingOrganization;
/**
* 冻结标志0未冻结1冻结
*/
private Long freezeFlag;
/**
* 冻结开始时间
*/
private Date freezeStartTime;
/**
* 冻结结束时间
*/
private Date freezeEndTime;
/**
* 经销商类型
*/
private String dealerType;
/**
* 经销等级
*/
private String dealerLevel;
/**
* 默认财务组织
*/
private String defaultFinanceOrganization;
/**
* 审核标志0未审核1已审核
*/
private Long auditFlag;
/**
* 总部/分支机构
*/
private String headquartersBranch;
/**
* 分支机构省
*/
private String branchProvince;
/**
* 分支机构市
*/
private String branchCity;
}

View File

@ -0,0 +1,251 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdCustomerinformation;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 客户信息业务对象 xzd_customerinformation
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdCustomerinformation.class, reverseConvertGenerate = false)
public class XzdCustomerinformationBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 区域ID
*/
@NotNull(message = "区域ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long poiAreaId;
/**
* 单位编号
*/
@NotBlank(message = "单位编号不能为空", groups = { AddGroup.class, EditGroup.class })
private String unitCode;
/**
* 单位名称
*/
@NotBlank(message = "单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String unitName;
/**
* 单位属性
*/
@NotBlank(message = "单位属性不能为空", groups = { AddGroup.class, EditGroup.class })
private String unitProperty;
/**
* 简称
*/
private String shortName;
/**
* 英文简称
*/
private String englishShortName;
/**
* 助记码
*/
private String mnemonicCode;
/**
* 统一社会信用代码
*/
private String unifiedSocialCreditCode;
/**
* 税务登记号
*/
private String taxRegistrationNumber;
/**
* 证件类型
*/
private String certificateType;
/**
* 证件编号
*/
private String certificateNumber;
/**
* 国家
*/
private String country;
/**
* 省
*/
private String province;
/**
* 市
*/
private String city;
/**
* 区县
*/
private String districtCounty;
/**
* 行业类型
*/
private String industryType;
/**
* 上级单位
*/
private String superiorUnit;
/**
* 集团客户0=否1=是)
*/
private Long isGroupCustomer;
/**
* 工商变更时间
*/
private Date industrialCommercialChangeTime;
/**
* 备注
*/
private String remarks;
/**
* 内部0=否1=是)
*/
private Long isInternal;
/**
* 黑名单0=否1=是)
*/
private Long isBlacklist;
/**
* 直接客户0=否1=是)
*/
private Long isDirectCustomer;
/**
* 经销商0=否1=是)
*/
private Long isDealer;
/**
* 自动生成供应商0=否1=是)
*/
private Long isAutoSupplier;
/**
* 区号
*/
private String areaCode;
/**
* 单位成立日期
*/
private Date establishmentDate;
/**
* 纳税身份类型
*/
private String taxIdentityType;
/**
* 纳税人名称
*/
private String taxpayerName;
/**
* 税务银行行号
*/
private String taxBankCode;
/**
* 税务银行名称
*/
private String taxBankName;
/**
* 税务登记账号
*/
private String taxRegistrationAccount;
/**
* 税务登记地址
*/
private String taxRegistrationAddress;
/**
* 税务登记电话
*/
private String taxRegistrationPhone;
/**
* 注册资金
*/
private Long registeredCapital;
/**
* 注册时间
*/
private Date registrationTime;
/**
* 营业范围
*/
private String businessScope;
/**
* 法人代表
*/
private String legalRepresentative;
/**
* 行业地位(字典)
*/
private String industryStatus;
/**
* 企业性质(字典)
*/
private String enterpriseProperty;
/**
* 规模(字典)
*/
private String scale;
/**
* 网址
*/
private String website;
/**
* 邮箱
*/
private String mailbox;
}

View File

@ -0,0 +1,56 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdCustomertype;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 客户|供应商类型(公共)业务对象 xzd_customertype
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdCustomertype.class, reverseConvertGenerate = false)
public class XzdCustomertypeBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 1客户 2供应商
*/
@NotBlank(message = "1客户 2供应商不能为空", groups = { AddGroup.class, EditGroup.class })
private String type;
/**
* 父ID
*/
private Long pid;
/**
* 选择主类型1主类型0非主类型
*/
private Long isMainType;
/**
* 类型编码
*/
private String typeCode;
/**
* 客户类型
*/
private String customerType;
}

View File

@ -0,0 +1,46 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdCustomertypeInfo;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 客户信息-客户类型10业务对象 xzd_customertype_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdCustomertypeInfo.class, reverseConvertGenerate = false)
public class XzdCustomertypeInfoBo extends BaseEntity {
/**
* 1客户 2供应商
*/
private String type;
/**
* 客户ID
*/
private Long customerinformationId;
/**
* 数据ID
*/
@NotNull(message = "数据ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long customertypeId;
/**
* 是否主类0否 1是
*/
@NotBlank(message = "是否主类0否 1是不能为空", groups = { AddGroup.class, EditGroup.class })
private String primaryClass;
}

View File

@ -0,0 +1,59 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdPoiArea;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 区域业务对象 xzd_poi_area
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdPoiArea.class, reverseConvertGenerate = false)
public class XzdPoiAreaBo extends BaseEntity {
/**
*
*/
private Long adcode;
/**
*
*/
private Long parentid;
/**
*
*/
private String citycode;
/**
*
*/
private String level;
/**
*
*/
private String name;
/**
*
*/
private String center;
/**
*
*/
private String islast;
}

View File

@ -0,0 +1,89 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdProjectInfo;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 客户信息-项目信息8业务对象 xzd_project_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdProjectInfo.class, reverseConvertGenerate = false)
public class XzdProjectInfoBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 1客户 2供应商
*/
@NotBlank(message = "1客户 2供应商不能为空", groups = { AddGroup.class, EditGroup.class })
private String type;
/**
* 客户ID
*/
@NotNull(message = "客户ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long customerinformationId;
/**
* 项目号
*/
private String projectNumber;
/**
* 项目名称
*/
private String projectName;
/**
* 项目简称
*/
private String projectAbbreviation;
/**
* 项目类型
*/
private String projectType;
/**
* 项目经理
*/
private String projectManager;
/**
* 项目状态
*/
private String projectStatus;
/**
* 业务员
*/
private String salesman;
/**
* 项目日期
*/
private Date projectDate;
/**
* 管理组织
*/
private String managementOrganization;
}

View File

@ -0,0 +1,65 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdQualificationInfo;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 客户信息-资质信息5业务对象 xzd_qualification_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdQualificationInfo.class, reverseConvertGenerate = false)
public class XzdQualificationInfoBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 1客户 2供应商
*/
private String type;
/**
* 客户ID
*/
private Long customerinformationId;
/**
* 资质类别
*/
private String qualificationCategory;
/**
* 资质等级
*/
private String qualificationLevel;
/**
* 行业类型
*/
private String industryType;
/**
* 附件
*/
private String attachment;
/**
* 备注
*/
private String remarks;
}

View File

@ -0,0 +1,140 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdSettlementInfo;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 客户信息-结算信息6业务对象 xzd_settlement_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdSettlementInfo.class, reverseConvertGenerate = false)
public class XzdSettlementInfoBo extends BaseEntity {
/**
* 主键ID
*/
private Long id;
/**
* 1客户 2供应商
*/
private String type;
/**
* 客户ID
*/
private Long customerinformationId;
/**
* 结算单位
*/
private String settlementUnit;
/**
* 结算方式
*/
private String settlementMethod;
/**
* 结算币种
*/
@NotBlank(message = "结算币种不能为空", groups = { AddGroup.class, EditGroup.class })
private String settlementCurrency;
/**
* 开户银行
*/
private String openingBank;
/**
* 账号
*/
private String accountNumber;
/**
* 折扣方式
*/
private String discountMethod;
/**
* 默认扣率
*/
private Long defaultDeductionRate;
/**
* 开户行户名
*/
private String accountName;
/**
* 开户行省
*/
private String openingBankProvince;
/**
* 开户行市
*/
private String openingBankCity;
/**
* 开户行区县
*/
private String openingBankCountyDistrict;
/**
* 财务类型
*/
private String financialType;
/**
* 消费税率
*/
private Long consumptionTaxRate;
/**
* 回款天数
*/
private Long paymentDays;
/**
* 年利率
*/
private Long annualInterestRate;
/**
* 信用等级
*/
private String creditRating;
/**
* 信用期限
*/
private Long creditTerm;
/**
* 信用额度
*/
private Long creditLimit;
/**
* 默认付款天数
*/
private Long defaultPaymentDays;
/**
* 启用合同信用控制01
*/
private Long enableContractCreditControl;
}

View File

@ -0,0 +1,49 @@
package org.dromara.xzd.domain.dto;
import lombok.Data;
import org.dromara.xzd.domain.*;
import org.dromara.xzd.domain.bo.*;
import org.dromara.xzd.domain.vo.XzdPoiAreaVo;
import java.util.List;
@Data
public class AddCorrespondentDto {
// 客户信息
private XzdCustomerinformationBo xzdCustomerinformation;
// tab客户信息
private XzdCustomerDetailBo xzdCustomerDetail;
// 地址信息
private List<XzdAddressInfoBo> xzdAddressInfo;
// 联系人信息
private List<XzdContactBo> xzdContact;
// 证件信息
private List<XzdCertificateInfoBo> xzdCertificateInfo;
// 资质信息
private List<XzdQualificationInfoBo> xzdQualificationInfo;
// 结算信息
private XzdSettlementInfoBo xzdSettlementInfo;
// 业务信息
private XzdBusinessInfoBo xzdBusinessInfo;
// 项目信息
private XzdProjectInfoBo xzdProjectInfo;
// 合同信息
private XzdContractInfoBo xzdContractInfo;
// 客户类型信息
private List<XzdCustomertypeInfoBo> xzdCustomertypeInfo;
}

View File

@ -0,0 +1,20 @@
package org.dromara.xzd.domain.dto;
import lombok.Data;
@Data
public class XzdCustomertypeInfoDto {
// 客户id
private String customerinformationId;
// 数据id
private String dataId;
// 是否为主类
private String primaryClass;
}

View File

@ -0,0 +1,116 @@
package org.dromara.xzd.domain.vo;
import org.dromara.xzd.domain.XzdAddressInfo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 客户信息-地址信息2视图对象 xzd_address_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdAddressInfo.class)
public class XzdAddressInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 1客户 2供应商
*/
@ExcelProperty(value = "1客户 2供应商")
private String type;
/**
* 客户ID
*/
@ExcelProperty(value = "客户ID")
private Long customerinformationId;
/**
* 属性
*/
@ExcelProperty(value = "属性")
private String attribute;
/**
* 名称
*/
@ExcelProperty(value = "名称")
private String name;
/**
* 国家
*/
@ExcelProperty(value = "国家")
private String country;
/**
* 省州
*/
@ExcelProperty(value = "省州")
private String provinceState;
/**
* 县市
*/
@ExcelProperty(value = "县市")
private String countyCity;
/**
* 详细地址
*/
@ExcelProperty(value = "详细地址")
private String detailedAddress;
/**
* 邮编
*/
@ExcelProperty(value = "邮编")
private String postalCode;
/**
* 电话
*/
@ExcelProperty(value = "电话")
private String telephone;
/**
* 手机
*/
@ExcelProperty(value = "手机")
private String mobilePhone;
/**
* 传真
*/
@ExcelProperty(value = "传真")
private String fax;
/**
* 区
*/
@ExcelProperty(value = "")
private String district;
}

View File

@ -0,0 +1,129 @@
package org.dromara.xzd.domain.vo;
import org.dromara.xzd.domain.XzdBusinessInfo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 客户信息-业务信息7视图对象 xzd_business_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdBusinessInfo.class)
public class XzdBusinessInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 1客户 2供应商
*/
@ExcelProperty(value = "1客户 2供应商")
private String type;
/**
* 客户ID
*/
@ExcelProperty(value = "客户ID")
private Long customerinformationId;
/**
* 销售类型
*/
@ExcelProperty(value = "销售类型")
private String salesType;
/**
* 订单类型
*/
@ExcelProperty(value = "订单类型")
private String orderType;
/**
* 退货时限
*/
@ExcelProperty(value = "退货时限")
private Long returnTimeLimit;
/**
* 退货率
*/
@ExcelProperty(value = "退货率")
private Long returnRate;
/**
* 收货单位
*/
@ExcelProperty(value = "收货单位")
private String receivingUnit;
/**
* 运输方式
*/
@ExcelProperty(value = "运输方式")
private String transportationMode;
/**
* 配送路线
*/
@ExcelProperty(value = "配送路线")
private String distributionRoute;
/**
* 委托代销仓库
*/
@ExcelProperty(value = "委托代销仓库")
private String consignmentWarehouse;
/**
* 订货周期(单位:天)
*/
@ExcelProperty(value = "订货周期", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "单=位:天")
private Long orderingCycle;
/**
* 到货天数
*/
@ExcelProperty(value = "到货天数")
private Long arrivalDays;
/**
* 发货单位
*/
@ExcelProperty(value = "发货单位")
private String shippingUnit;
/**
* 起始位置
*/
@ExcelProperty(value = "起始位置")
private String startLocation;
/**
* 条形码长度
*/
@ExcelProperty(value = "条形码长度")
private Long barcodeLength;
}

View File

@ -0,0 +1,95 @@
package org.dromara.xzd.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.domain.XzdCertificateInfo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 客户信息-证照信息4视图对象 xzd_certificate_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdCertificateInfo.class)
public class XzdCertificateInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 1客户 2供应商
*/
@ExcelProperty(value = "1客户 2供应商")
private String type;
/**
* 客户ID
*/
@ExcelProperty(value = "客户ID")
private Long customerinformationId;
/**
* 证照名称
*/
@ExcelProperty(value = "证照名称")
private String certificateName;
/**
* 证照号码
*/
@ExcelProperty(value = "证照号码")
private String certificateNumber;
/**
* 生效日期
*/
@ExcelProperty(value = "生效日期")
private Date effectiveDate;
/**
* 截止日期
*/
@ExcelProperty(value = "截止日期")
private Date expirationDate;
/**
* 停用标志0未停用1已停用
*/
@ExcelProperty(value = "停用标志", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=未停用1已停用")
private Long disableFlag;
/**
* 附件
*/
@ExcelProperty(value = "附件")
private String attachment;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remarks;
}

View File

@ -0,0 +1,147 @@
package org.dromara.xzd.domain.vo;
import org.dromara.xzd.domain.XzdContact;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 客户信息-联系人信息3视图对象 xzd_contact
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdContact.class)
public class XzdContactVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 1客户 2供应商
*/
@ExcelProperty(value = "1客户 2供应商")
private String type;
/**
* 客户ID
*/
@ExcelProperty(value = "客户ID")
private Long customerinformationId;
/**
* 是否为主联系人01
*/
@ExcelProperty(value = "是否为主联系人", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=1")
private Long isMainContact;
/**
* 姓名
*/
@ExcelProperty(value = "姓名")
private String name;
/**
* 身份证
*/
@ExcelProperty(value = "身份证")
private String idCard;
/**
* 性别
*/
@ExcelProperty(value = "性别")
private String gender;
/**
* 年龄
*/
@ExcelProperty(value = "年龄")
private Long age;
/**
* 主要部门
*/
@ExcelProperty(value = "主要部门")
private String mainDepartment;
/**
* 主要职务
*/
@ExcelProperty(value = "主要职务")
private String mainPosition;
/**
* 手机
*/
@ExcelProperty(value = "手机")
private String mobilePhone;
/**
* 电子邮箱
*/
@ExcelProperty(value = "电子邮箱")
private String email;
/**
* 即时通讯
*/
@ExcelProperty(value = "即时通讯")
private String instantMessaging;
/**
* 办公电话
*/
@ExcelProperty(value = "办公电话")
private String officePhone;
/**
* 传真
*/
@ExcelProperty(value = "传真")
private String fax;
/**
* 办公地点
*/
@ExcelProperty(value = "办公地点")
private String officeLocation;
/**
* 附件
*/
@ExcelProperty(value = "附件")
private String attachment;
/**
* 投标类型
*/
@ExcelProperty(value = "投标类型")
private String bidType;
/**
* 负责供应商子类型
*/
@ExcelProperty(value = "负责供应商子类型")
private String responsibleSubtype;
}

View File

@ -0,0 +1,92 @@
package org.dromara.xzd.domain.vo;
import org.dromara.xzd.domain.XzdContractInfo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 客户信息-合同信息9视图对象 xzd_contract_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdContractInfo.class)
public class XzdContractInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 1客户 2供应商
*/
@ExcelProperty(value = "1客户 2供应商")
private String type;
/**
* 客户ID
*/
@ExcelProperty(value = "客户ID")
private Long customerinformationId;
/**
* 合同编号
*/
@ExcelProperty(value = "合同编号")
private String contractNumber;
/**
* 合同名称
*/
@ExcelProperty(value = "合同名称")
private String contractName;
/**
* 项目
*/
@ExcelProperty(value = "项目")
private String project;
/**
* 合同含税金额
*/
@ExcelProperty(value = "合同含税金额")
private Long contractTaxInclusiveAmount;
/**
* 合同类型
*/
@ExcelProperty(value = "合同类型")
private String contractType;
/**
* 录入组织
*/
@ExcelProperty(value = "录入组织")
private String entryOrganization;
/**
* 业务员
*/
@ExcelProperty(value = "业务员")
private String salesman;
}

View File

@ -0,0 +1,150 @@
package org.dromara.xzd.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.domain.XzdCustomerDetail;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 客户信息-客户信息1视图对象 xzd_customer_detail
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdCustomerDetail.class)
public class XzdCustomerDetailVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 客户ID
*/
@ExcelProperty(value = "客户ID")
private Long customerinformationId;
/**
* 客户来源
*/
@ExcelProperty(value = "客户来源")
private String customerSource;
/**
* 客户类型
*/
@ExcelProperty(value = "客户类型")
private String customerType;
/**
* 客户等级
*/
@ExcelProperty(value = "客户等级")
private String customerLevel;
/**
* 重要程度
*/
@ExcelProperty(value = "重要程度")
private String importanceDegree;
/**
* 分管部门
*/
@ExcelProperty(value = "分管部门")
private String responsibleDepartment;
/**
* 分管业务员
*/
@ExcelProperty(value = "分管业务员")
private String responsibleSalesman;
/**
* 归属组织
*/
@ExcelProperty(value = "归属组织")
private String belongingOrganization;
/**
* 冻结标志0未冻结1冻结
*/
@ExcelProperty(value = "冻结标志", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=未冻结1冻结")
private Long freezeFlag;
/**
* 冻结开始时间
*/
@ExcelProperty(value = "冻结开始时间")
private Date freezeStartTime;
/**
* 冻结结束时间
*/
@ExcelProperty(value = "冻结结束时间")
private Date freezeEndTime;
/**
* 经销商类型
*/
@ExcelProperty(value = "经销商类型")
private String dealerType;
/**
* 经销等级
*/
@ExcelProperty(value = "经销等级")
private String dealerLevel;
/**
* 默认财务组织
*/
@ExcelProperty(value = "默认财务组织")
private String defaultFinanceOrganization;
/**
* 审核标志0未审核1已审核
*/
@ExcelProperty(value = "审核标志", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=未审核1已审核")
private Long auditFlag;
/**
* 总部/分支机构
*/
@ExcelProperty(value = "总部/分支机构")
private String headquartersBranch;
/**
* 分支机构省
*/
@ExcelProperty(value = "分支机构省")
private String branchProvince;
/**
* 分支机构市
*/
@ExcelProperty(value = "分支机构市")
private String branchCity;
}

View File

@ -0,0 +1,307 @@
package org.dromara.xzd.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.domain.XzdCustomerinformation;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 客户信息视图对象 xzd_customerinformation
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdCustomerinformation.class)
public class XzdCustomerinformationVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 区域ID
*/
@ExcelProperty(value = "区域ID")
private Long poiAreaId;
/**
* 单位编号
*/
@ExcelProperty(value = "单位编号")
private String unitCode;
/**
* 单位名称
*/
@ExcelProperty(value = "单位名称")
private String unitName;
/**
* 单位属性
*/
@ExcelProperty(value = "单位属性")
private String unitProperty;
/**
* 简称
*/
@ExcelProperty(value = "简称")
private String shortName;
/**
* 英文简称
*/
@ExcelProperty(value = "英文简称")
private String englishShortName;
/**
* 助记码
*/
@ExcelProperty(value = "助记码")
private String mnemonicCode;
/**
* 统一社会信用代码
*/
@ExcelProperty(value = "统一社会信用代码")
private String unifiedSocialCreditCode;
/**
* 税务登记号
*/
@ExcelProperty(value = "税务登记号")
private String taxRegistrationNumber;
/**
* 证件类型
*/
@ExcelProperty(value = "证件类型")
private String certificateType;
/**
* 证件编号
*/
@ExcelProperty(value = "证件编号")
private String certificateNumber;
/**
* 国家
*/
@ExcelProperty(value = "国家")
private String country;
/**
* 省
*/
@ExcelProperty(value = "")
private String province;
/**
* 市
*/
@ExcelProperty(value = "")
private String city;
/**
* 区县
*/
@ExcelProperty(value = "区县")
private String districtCounty;
/**
* 行业类型
*/
@ExcelProperty(value = "行业类型")
private String industryType;
/**
* 上级单位
*/
@ExcelProperty(value = "上级单位")
private String superiorUnit;
/**
* 集团客户0=否1=是)
*/
@ExcelProperty(value = "集团客户", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0==否1=是")
private Long isGroupCustomer;
/**
* 工商变更时间
*/
@ExcelProperty(value = "工商变更时间")
private Date industrialCommercialChangeTime;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remarks;
/**
* 内部0=否1=是)
*/
@ExcelProperty(value = "内部", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0==否1=是")
private Long isInternal;
/**
* 黑名单0=否1=是)
*/
@ExcelProperty(value = "黑名单", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0==否1=是")
private Long isBlacklist;
/**
* 直接客户0=否1=是)
*/
@ExcelProperty(value = "直接客户", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0==否1=是")
private Long isDirectCustomer;
/**
* 经销商0=否1=是)
*/
@ExcelProperty(value = "经销商", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0==否1=是")
private Long isDealer;
/**
* 自动生成供应商0=否1=是)
*/
@ExcelProperty(value = "自动生成供应商", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0==否1=是")
private Long isAutoSupplier;
/**
* 区号
*/
@ExcelProperty(value = "区号")
private String areaCode;
/**
* 单位成立日期
*/
@ExcelProperty(value = "单位成立日期")
private Date establishmentDate;
/**
* 纳税身份类型
*/
@ExcelProperty(value = "纳税身份类型")
private String taxIdentityType;
/**
* 纳税人名称
*/
@ExcelProperty(value = "纳税人名称")
private String taxpayerName;
/**
* 税务银行行号
*/
@ExcelProperty(value = "税务银行行号")
private String taxBankCode;
/**
* 税务银行名称
*/
@ExcelProperty(value = "税务银行名称")
private String taxBankName;
/**
* 税务登记账号
*/
@ExcelProperty(value = "税务登记账号")
private String taxRegistrationAccount;
/**
* 税务登记地址
*/
@ExcelProperty(value = "税务登记地址")
private String taxRegistrationAddress;
/**
* 税务登记电话
*/
@ExcelProperty(value = "税务登记电话")
private String taxRegistrationPhone;
/**
* 注册资金
*/
@ExcelProperty(value = "注册资金")
private Long registeredCapital;
/**
* 注册时间
*/
@ExcelProperty(value = "注册时间")
private Date registrationTime;
/**
* 营业范围
*/
@ExcelProperty(value = "营业范围")
private String businessScope;
/**
* 法人代表
*/
@ExcelProperty(value = "法人代表")
private String legalRepresentative;
/**
* 行业地位(字典)
*/
@ExcelProperty(value = "行业地位", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "字=典")
private String industryStatus;
/**
* 企业性质(字典)
*/
@ExcelProperty(value = "企业性质", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "字=典")
private String enterpriseProperty;
/**
* 规模(字典)
*/
@ExcelProperty(value = "规模", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "字=典")
private String scale;
/**
* 网址
*/
@ExcelProperty(value = "网址")
private String website;
/**
* 邮箱
*/
@ExcelProperty(value = "邮箱")
private String mailbox;
}

View File

@ -0,0 +1,57 @@
package org.dromara.xzd.domain.vo;
import org.dromara.xzd.domain.XzdCustomertypeInfo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 客户信息-客户类型10视图对象 xzd_customertype_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdCustomertypeInfo.class)
public class XzdCustomertypeInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 1客户 2供应商
*/
@ExcelProperty(value = "1客户 2供应商")
private String type;
/**
* 客户ID
*/
@ExcelProperty(value = "客户ID")
private Long customerinformationId;
/**
* 数据ID
*/
@ExcelProperty(value = "数据ID")
private Long customertypeId;
/**
* 是否主类0否 1是
*/
@ExcelProperty(value = "是否主类", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=否,1=是")
private String primaryClass;
}

View File

@ -0,0 +1,69 @@
package org.dromara.xzd.domain.vo;
import org.dromara.xzd.domain.XzdCustomertype;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 客户|供应商类型(公共)视图对象 xzd_customertype
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdCustomertype.class)
public class XzdCustomertypeVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 1客户 2供应商
*/
@ExcelProperty(value = "1客户 2供应商")
private String type;
/**
* 父ID
*/
@ExcelProperty(value = "父ID")
private Long pid;
/**
* 选择主类型1主类型0非主类型
*/
@ExcelProperty(value = "选择主类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "1=主类型0非主类型")
private Long isMainType;
/**
* 类型编码
*/
@ExcelProperty(value = "类型编码")
private String typeCode;
/**
* 客户类型
*/
@ExcelProperty(value = "客户类型")
private String customerType;
}

View File

@ -0,0 +1,77 @@
package org.dromara.xzd.domain.vo;
import org.dromara.xzd.domain.XzdPoiArea;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 区域视图对象 xzd_poi_area
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdPoiArea.class)
public class XzdPoiAreaVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long adcode;
/**
*
*/
@ExcelProperty(value = "")
private Long parentid;
/**
*
*/
@ExcelProperty(value = "")
private String citycode;
/**
*
*/
@ExcelProperty(value = "")
private String level;
/**
*
*/
@ExcelProperty(value = "")
private String name;
/**
*
*/
@ExcelProperty(value = "")
private String center;
/**
*
*/
@ExcelProperty(value = "")
private String islast;
private List<XzdPoiAreaVo> children;
}

View File

@ -0,0 +1,106 @@
package org.dromara.xzd.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.domain.XzdProjectInfo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 客户信息-项目信息8视图对象 xzd_project_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdProjectInfo.class)
public class XzdProjectInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 1客户 2供应商
*/
@ExcelProperty(value = "1客户 2供应商")
private String type;
/**
* 客户ID
*/
@ExcelProperty(value = "客户ID")
private Long customerinformationId;
/**
* 项目号
*/
@ExcelProperty(value = "项目号")
private String projectNumber;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称")
private String projectName;
/**
* 项目简称
*/
@ExcelProperty(value = "项目简称")
private String projectAbbreviation;
/**
* 项目类型
*/
@ExcelProperty(value = "项目类型")
private String projectType;
/**
* 项目经理
*/
@ExcelProperty(value = "项目经理")
private String projectManager;
/**
* 项目状态
*/
@ExcelProperty(value = "项目状态")
private String projectStatus;
/**
* 业务员
*/
@ExcelProperty(value = "业务员")
private String salesman;
/**
* 项目日期
*/
@ExcelProperty(value = "项目日期")
private Date projectDate;
/**
* 管理组织
*/
@ExcelProperty(value = "管理组织")
private String managementOrganization;
}

View File

@ -0,0 +1,80 @@
package org.dromara.xzd.domain.vo;
import org.dromara.xzd.domain.XzdQualificationInfo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 客户信息-资质信息5视图对象 xzd_qualification_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdQualificationInfo.class)
public class XzdQualificationInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 1客户 2供应商
*/
@ExcelProperty(value = "1客户 2供应商")
private String type;
/**
* 客户ID
*/
@ExcelProperty(value = "客户ID")
private Long customerinformationId;
/**
* 资质类别
*/
@ExcelProperty(value = "资质类别")
private String qualificationCategory;
/**
* 资质等级
*/
@ExcelProperty(value = "资质等级")
private String qualificationLevel;
/**
* 行业类型
*/
@ExcelProperty(value = "行业类型")
private String industryType;
/**
* 附件
*/
@ExcelProperty(value = "附件")
private String attachment;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remarks;
}

View File

@ -0,0 +1,171 @@
package org.dromara.xzd.domain.vo;
import org.dromara.xzd.domain.XzdSettlementInfo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 客户信息-结算信息6视图对象 xzd_settlement_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdSettlementInfo.class)
public class XzdSettlementInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 1客户 2供应商
*/
@ExcelProperty(value = "1客户 2供应商")
private String type;
/**
* 客户ID
*/
@ExcelProperty(value = "客户ID")
private Long customerinformationId;
/**
* 结算单位
*/
@ExcelProperty(value = "结算单位")
private String settlementUnit;
/**
* 结算方式
*/
@ExcelProperty(value = "结算方式")
private String settlementMethod;
/**
* 结算币种
*/
@ExcelProperty(value = "结算币种")
private String settlementCurrency;
/**
* 开户银行
*/
@ExcelProperty(value = "开户银行")
private String openingBank;
/**
* 账号
*/
@ExcelProperty(value = "账号")
private String accountNumber;
/**
* 折扣方式
*/
@ExcelProperty(value = "折扣方式")
private String discountMethod;
/**
* 默认扣率
*/
@ExcelProperty(value = "默认扣率")
private Long defaultDeductionRate;
/**
* 开户行户名
*/
@ExcelProperty(value = "开户行户名")
private String accountName;
/**
* 开户行省
*/
@ExcelProperty(value = "开户行省")
private String openingBankProvince;
/**
* 开户行市
*/
@ExcelProperty(value = "开户行市")
private String openingBankCity;
/**
* 开户行区县
*/
@ExcelProperty(value = "开户行区县")
private String openingBankCountyDistrict;
/**
* 财务类型
*/
@ExcelProperty(value = "财务类型")
private String financialType;
/**
* 消费税率
*/
@ExcelProperty(value = "消费税率")
private Long consumptionTaxRate;
/**
* 回款天数
*/
@ExcelProperty(value = "回款天数")
private Long paymentDays;
/**
* 年利率
*/
@ExcelProperty(value = "年利率")
private Long annualInterestRate;
/**
* 信用等级
*/
@ExcelProperty(value = "信用等级")
private String creditRating;
/**
* 信用期限
*/
@ExcelProperty(value = "信用期限")
private Long creditTerm;
/**
* 信用额度
*/
@ExcelProperty(value = "信用额度")
private Long creditLimit;
/**
* 默认付款天数
*/
@ExcelProperty(value = "默认付款天数")
private Long defaultPaymentDays;
/**
* 启用合同信用控制01
*/
@ExcelProperty(value = "启用合同信用控制", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=1")
private Long enableContractCreditControl;
}

View File

@ -0,0 +1,25 @@
package org.dromara.xzd.enums;
public enum ZxdEnum {
TYPE_CORRESPONDENT("类型","1"),
TYPE_SUPPLIER("类型","2");
private final String TypeName;
private final String TypeValue;
public String getTypeName() {
return TypeName;
}
public String getTypeValue() {
return TypeValue;
}
ZxdEnum(String TypeName, String TypeValue) {
this.TypeName = TypeName;
this.TypeValue = TypeValue;
}
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdAddressInfo;
import org.dromara.xzd.domain.vo.XzdAddressInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 客户信息-地址信息2Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdAddressInfoMapper extends BaseMapperPlus<XzdAddressInfo, XzdAddressInfoVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdBusinessInfo;
import org.dromara.xzd.domain.vo.XzdBusinessInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 客户信息-业务信息7Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdBusinessInfoMapper extends BaseMapperPlus<XzdBusinessInfo, XzdBusinessInfoVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdCertificateInfo;
import org.dromara.xzd.domain.vo.XzdCertificateInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 客户信息-证照信息4Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdCertificateInfoMapper extends BaseMapperPlus<XzdCertificateInfo, XzdCertificateInfoVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdContact;
import org.dromara.xzd.domain.vo.XzdContactVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 客户信息-联系人信息3Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdContactMapper extends BaseMapperPlus<XzdContact, XzdContactVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdContractInfo;
import org.dromara.xzd.domain.vo.XzdContractInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 客户信息-合同信息9Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdContractInfoMapper extends BaseMapperPlus<XzdContractInfo, XzdContractInfoVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdCustomerDetail;
import org.dromara.xzd.domain.vo.XzdCustomerDetailVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 客户信息-客户信息1Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdCustomerDetailMapper extends BaseMapperPlus<XzdCustomerDetail, XzdCustomerDetailVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdCustomerinformation;
import org.dromara.xzd.domain.vo.XzdCustomerinformationVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 客户信息Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdCustomerinformationMapper extends BaseMapperPlus<XzdCustomerinformation, XzdCustomerinformationVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdCustomertypeInfo;
import org.dromara.xzd.domain.vo.XzdCustomertypeInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 客户信息-客户类型10Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdCustomertypeInfoMapper extends BaseMapperPlus<XzdCustomertypeInfo, XzdCustomertypeInfoVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdCustomertype;
import org.dromara.xzd.domain.vo.XzdCustomertypeVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 客户|供应商类型公共Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdCustomertypeMapper extends BaseMapperPlus<XzdCustomertype, XzdCustomertypeVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdPoiArea;
import org.dromara.xzd.domain.vo.XzdPoiAreaVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 区域Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdPoiAreaMapper extends BaseMapperPlus<XzdPoiArea, XzdPoiAreaVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdProjectInfo;
import org.dromara.xzd.domain.vo.XzdProjectInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 客户信息-项目信息8Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdProjectInfoMapper extends BaseMapperPlus<XzdProjectInfo, XzdProjectInfoVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdQualificationInfo;
import org.dromara.xzd.domain.vo.XzdQualificationInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 客户信息-资质信息5Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdQualificationInfoMapper extends BaseMapperPlus<XzdQualificationInfo, XzdQualificationInfoVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdSettlementInfo;
import org.dromara.xzd.domain.vo.XzdSettlementInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 客户信息-结算信息6Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdSettlementInfoMapper extends BaseMapperPlus<XzdSettlementInfo, XzdSettlementInfoVo> {
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdAddressInfoVo;
import org.dromara.xzd.domain.bo.XzdAddressInfoBo;
import org.dromara.xzd.domain.XzdAddressInfo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 客户信息-地址信息2Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdAddressInfoService extends IService<XzdAddressInfo>{
/**
* 查询客户信息-地址信息2
*
* @param id 主键
* @return 客户信息-地址信息2
*/
XzdAddressInfoVo queryById(Long id);
/**
* 分页查询客户信息-地址信息2列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-地址信息2分页列表
*/
TableDataInfo<XzdAddressInfoVo> queryPageList(XzdAddressInfoBo bo, PageQuery pageQuery);
/**
* 查询符合条件的客户信息-地址信息2列表
*
* @param bo 查询条件
* @return 客户信息-地址信息2列表
*/
List<XzdAddressInfoVo> queryList(XzdAddressInfoBo bo);
/**
* 新增客户信息-地址信息2
*
* @param bo 客户信息-地址信息2
* @return 是否新增成功
*/
Boolean insertByBo(XzdAddressInfoBo bo);
/**
* 修改客户信息-地址信息2
*
* @param bo 客户信息-地址信息2
* @return 是否修改成功
*/
Boolean updateByBo(XzdAddressInfoBo bo);
/**
* 校验并批量删除客户信息-地址信息2信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdBusinessInfoVo;
import org.dromara.xzd.domain.bo.XzdBusinessInfoBo;
import org.dromara.xzd.domain.XzdBusinessInfo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 客户信息-业务信息7Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdBusinessInfoService extends IService<XzdBusinessInfo>{
/**
* 查询客户信息-业务信息7
*
* @param id 主键
* @return 客户信息-业务信息7
*/
XzdBusinessInfoVo queryById(Long id);
/**
* 分页查询客户信息-业务信息7列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-业务信息7分页列表
*/
TableDataInfo<XzdBusinessInfoVo> queryPageList(XzdBusinessInfoBo bo, PageQuery pageQuery);
/**
* 查询符合条件的客户信息-业务信息7列表
*
* @param bo 查询条件
* @return 客户信息-业务信息7列表
*/
List<XzdBusinessInfoVo> queryList(XzdBusinessInfoBo bo);
/**
* 新增客户信息-业务信息7
*
* @param bo 客户信息-业务信息7
* @return 是否新增成功
*/
Boolean insertByBo(XzdBusinessInfoBo bo);
/**
* 修改客户信息-业务信息7
*
* @param bo 客户信息-业务信息7
* @return 是否修改成功
*/
Boolean updateByBo(XzdBusinessInfoBo bo);
/**
* 校验并批量删除客户信息-业务信息7信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdCertificateInfoVo;
import org.dromara.xzd.domain.bo.XzdCertificateInfoBo;
import org.dromara.xzd.domain.XzdCertificateInfo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 客户信息-证照信息4Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdCertificateInfoService extends IService<XzdCertificateInfo>{
/**
* 查询客户信息-证照信息4
*
* @param id 主键
* @return 客户信息-证照信息4
*/
XzdCertificateInfoVo queryById(Long id);
/**
* 分页查询客户信息-证照信息4列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-证照信息4分页列表
*/
TableDataInfo<XzdCertificateInfoVo> queryPageList(XzdCertificateInfoBo bo, PageQuery pageQuery);
/**
* 查询符合条件的客户信息-证照信息4列表
*
* @param bo 查询条件
* @return 客户信息-证照信息4列表
*/
List<XzdCertificateInfoVo> queryList(XzdCertificateInfoBo bo);
/**
* 新增客户信息-证照信息4
*
* @param bo 客户信息-证照信息4
* @return 是否新增成功
*/
Boolean insertByBo(XzdCertificateInfoBo bo);
/**
* 修改客户信息-证照信息4
*
* @param bo 客户信息-证照信息4
* @return 是否修改成功
*/
Boolean updateByBo(XzdCertificateInfoBo bo);
/**
* 校验并批量删除客户信息-证照信息4信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdContactVo;
import org.dromara.xzd.domain.bo.XzdContactBo;
import org.dromara.xzd.domain.XzdContact;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 客户信息-联系人信息3Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdContactService extends IService<XzdContact>{
/**
* 查询客户信息-联系人信息3
*
* @param id 主键
* @return 客户信息-联系人信息3
*/
XzdContactVo queryById(Long id);
/**
* 分页查询客户信息-联系人信息3列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-联系人信息3分页列表
*/
TableDataInfo<XzdContactVo> queryPageList(XzdContactBo bo, PageQuery pageQuery);
/**
* 查询符合条件的客户信息-联系人信息3列表
*
* @param bo 查询条件
* @return 客户信息-联系人信息3列表
*/
List<XzdContactVo> queryList(XzdContactBo bo);
/**
* 新增客户信息-联系人信息3
*
* @param bo 客户信息-联系人信息3
* @return 是否新增成功
*/
Boolean insertByBo(XzdContactBo bo);
/**
* 修改客户信息-联系人信息3
*
* @param bo 客户信息-联系人信息3
* @return 是否修改成功
*/
Boolean updateByBo(XzdContactBo bo);
/**
* 校验并批量删除客户信息-联系人信息3信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdContractInfoVo;
import org.dromara.xzd.domain.bo.XzdContractInfoBo;
import org.dromara.xzd.domain.XzdContractInfo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 客户信息-合同信息9Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdContractInfoService extends IService<XzdContractInfo>{
/**
* 查询客户信息-合同信息9
*
* @param id 主键
* @return 客户信息-合同信息9
*/
XzdContractInfoVo queryById(Long id);
/**
* 分页查询客户信息-合同信息9列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-合同信息9分页列表
*/
TableDataInfo<XzdContractInfoVo> queryPageList(XzdContractInfoBo bo, PageQuery pageQuery);
/**
* 查询符合条件的客户信息-合同信息9列表
*
* @param bo 查询条件
* @return 客户信息-合同信息9列表
*/
List<XzdContractInfoVo> queryList(XzdContractInfoBo bo);
/**
* 新增客户信息-合同信息9
*
* @param bo 客户信息-合同信息9
* @return 是否新增成功
*/
Boolean insertByBo(XzdContractInfoBo bo);
/**
* 修改客户信息-合同信息9
*
* @param bo 客户信息-合同信息9
* @return 是否修改成功
*/
Boolean updateByBo(XzdContractInfoBo bo);
/**
* 校验并批量删除客户信息-合同信息9信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,16 @@
package org.dromara.xzd.service;
import org.dromara.common.core.domain.R;
import org.dromara.xzd.domain.dto.AddCorrespondentDto;
import org.dromara.xzd.domain.vo.XzdPoiAreaVo;
import java.util.List;
public interface IXzdCorrespondentList {
R<XzdPoiAreaVo> queryPageList();
R<String> addCorrespondent(AddCorrespondentDto dto);
R<String> delCorrespondent(List<AddCorrespondentDto> dto);
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdCustomerDetailVo;
import org.dromara.xzd.domain.bo.XzdCustomerDetailBo;
import org.dromara.xzd.domain.XzdCustomerDetail;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 客户信息-客户信息1Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdCustomerDetailService extends IService<XzdCustomerDetail>{
/**
* 查询客户信息-客户信息1
*
* @param id 主键
* @return 客户信息-客户信息1
*/
XzdCustomerDetailVo queryById(Long id);
/**
* 分页查询客户信息-客户信息1列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-客户信息1分页列表
*/
TableDataInfo<XzdCustomerDetailVo> queryPageList(XzdCustomerDetailBo bo, PageQuery pageQuery);
/**
* 查询符合条件的客户信息-客户信息1列表
*
* @param bo 查询条件
* @return 客户信息-客户信息1列表
*/
List<XzdCustomerDetailVo> queryList(XzdCustomerDetailBo bo);
/**
* 新增客户信息-客户信息1
*
* @param bo 客户信息-客户信息1
* @return 是否新增成功
*/
Boolean insertByBo(XzdCustomerDetailBo bo);
/**
* 修改客户信息-客户信息1
*
* @param bo 客户信息-客户信息1
* @return 是否修改成功
*/
Boolean updateByBo(XzdCustomerDetailBo bo);
/**
* 校验并批量删除客户信息-客户信息1信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdCustomerinformationVo;
import org.dromara.xzd.domain.bo.XzdCustomerinformationBo;
import org.dromara.xzd.domain.XzdCustomerinformation;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 客户信息Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdCustomerinformationService extends IService<XzdCustomerinformation>{
/**
* 查询客户信息
*
* @param id 主键
* @return 客户信息
*/
XzdCustomerinformationVo queryById(Long id);
/**
* 分页查询客户信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息分页列表
*/
TableDataInfo<XzdCustomerinformationVo> queryPageList(XzdCustomerinformationBo bo, PageQuery pageQuery);
/**
* 查询符合条件的客户信息列表
*
* @param bo 查询条件
* @return 客户信息列表
*/
List<XzdCustomerinformationVo> queryList(XzdCustomerinformationBo bo);
/**
* 新增客户信息
*
* @param bo 客户信息
* @return 是否新增成功
*/
Boolean insertByBo(XzdCustomerinformationBo bo);
/**
* 修改客户信息
*
* @param bo 客户信息
* @return 是否修改成功
*/
Boolean updateByBo(XzdCustomerinformationBo bo);
/**
* 校验并批量删除客户信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdCustomertypeInfoVo;
import org.dromara.xzd.domain.bo.XzdCustomertypeInfoBo;
import org.dromara.xzd.domain.XzdCustomertypeInfo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 客户信息-客户类型10Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdCustomertypeInfoService extends IService<XzdCustomertypeInfo>{
/**
* 查询客户信息-客户类型10
*
* @param type 主键
* @return 客户信息-客户类型10
*/
XzdCustomertypeInfoVo queryById(String type);
/**
* 分页查询客户信息-客户类型10列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-客户类型10分页列表
*/
TableDataInfo<XzdCustomertypeInfoVo> queryPageList(XzdCustomertypeInfoBo bo, PageQuery pageQuery);
/**
* 查询符合条件的客户信息-客户类型10列表
*
* @param bo 查询条件
* @return 客户信息-客户类型10列表
*/
List<XzdCustomertypeInfoVo> queryList(XzdCustomertypeInfoBo bo);
/**
* 新增客户信息-客户类型10
*
* @param bo 客户信息-客户类型10
* @return 是否新增成功
*/
Boolean insertByBo(XzdCustomertypeInfoBo bo);
/**
* 修改客户信息-客户类型10
*
* @param bo 客户信息-客户类型10
* @return 是否修改成功
*/
Boolean updateByBo(XzdCustomertypeInfoBo bo);
/**
* 校验并批量删除客户信息-客户类型10信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdCustomertypeVo;
import org.dromara.xzd.domain.bo.XzdCustomertypeBo;
import org.dromara.xzd.domain.XzdCustomertype;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 客户|供应商类型公共Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdCustomertypeService extends IService<XzdCustomertype>{
/**
* 查询客户|供应商类型(公共)
*
* @param id 主键
* @return 客户|供应商类型(公共)
*/
XzdCustomertypeVo queryById(Long id);
/**
* 分页查询客户|供应商类型(公共)列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户|供应商类型(公共)分页列表
*/
TableDataInfo<XzdCustomertypeVo> queryPageList(XzdCustomertypeBo bo, PageQuery pageQuery);
/**
* 查询符合条件的客户|供应商类型(公共)列表
*
* @param bo 查询条件
* @return 客户|供应商类型(公共)列表
*/
List<XzdCustomertypeVo> queryList(XzdCustomertypeBo bo);
/**
* 新增客户|供应商类型(公共)
*
* @param bo 客户|供应商类型(公共)
* @return 是否新增成功
*/
Boolean insertByBo(XzdCustomertypeBo bo);
/**
* 修改客户|供应商类型(公共)
*
* @param bo 客户|供应商类型(公共)
* @return 是否修改成功
*/
Boolean updateByBo(XzdCustomertypeBo bo);
/**
* 校验并批量删除客户|供应商类型(公共)信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdPoiAreaVo;
import org.dromara.xzd.domain.bo.XzdPoiAreaBo;
import org.dromara.xzd.domain.XzdPoiArea;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 区域Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdPoiAreaService extends IService<XzdPoiArea>{
/**
* 查询区域
*
* @param adcode 主键
* @return 区域
*/
XzdPoiAreaVo queryById(Long adcode);
/**
* 分页查询区域列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 区域分页列表
*/
TableDataInfo<XzdPoiAreaVo> queryPageList(XzdPoiAreaBo bo, PageQuery pageQuery);
/**
* 查询符合条件的区域列表
*
* @param bo 查询条件
* @return 区域列表
*/
List<XzdPoiAreaVo> queryList(XzdPoiAreaBo bo);
/**
* 新增区域
*
* @param bo 区域
* @return 是否新增成功
*/
Boolean insertByBo(XzdPoiAreaBo bo);
/**
* 修改区域
*
* @param bo 区域
* @return 是否修改成功
*/
Boolean updateByBo(XzdPoiAreaBo bo);
/**
* 校验并批量删除区域信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdProjectInfoVo;
import org.dromara.xzd.domain.bo.XzdProjectInfoBo;
import org.dromara.xzd.domain.XzdProjectInfo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 客户信息-项目信息8Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdProjectInfoService extends IService<XzdProjectInfo>{
/**
* 查询客户信息-项目信息8
*
* @param id 主键
* @return 客户信息-项目信息8
*/
XzdProjectInfoVo queryById(Long id);
/**
* 分页查询客户信息-项目信息8列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-项目信息8分页列表
*/
TableDataInfo<XzdProjectInfoVo> queryPageList(XzdProjectInfoBo bo, PageQuery pageQuery);
/**
* 查询符合条件的客户信息-项目信息8列表
*
* @param bo 查询条件
* @return 客户信息-项目信息8列表
*/
List<XzdProjectInfoVo> queryList(XzdProjectInfoBo bo);
/**
* 新增客户信息-项目信息8
*
* @param bo 客户信息-项目信息8
* @return 是否新增成功
*/
Boolean insertByBo(XzdProjectInfoBo bo);
/**
* 修改客户信息-项目信息8
*
* @param bo 客户信息-项目信息8
* @return 是否修改成功
*/
Boolean updateByBo(XzdProjectInfoBo bo);
/**
* 校验并批量删除客户信息-项目信息8信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdQualificationInfoVo;
import org.dromara.xzd.domain.bo.XzdQualificationInfoBo;
import org.dromara.xzd.domain.XzdQualificationInfo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 客户信息-资质信息5Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdQualificationInfoService extends IService<XzdQualificationInfo>{
/**
* 查询客户信息-资质信息5
*
* @param id 主键
* @return 客户信息-资质信息5
*/
XzdQualificationInfoVo queryById(Long id);
/**
* 分页查询客户信息-资质信息5列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-资质信息5分页列表
*/
TableDataInfo<XzdQualificationInfoVo> queryPageList(XzdQualificationInfoBo bo, PageQuery pageQuery);
/**
* 查询符合条件的客户信息-资质信息5列表
*
* @param bo 查询条件
* @return 客户信息-资质信息5列表
*/
List<XzdQualificationInfoVo> queryList(XzdQualificationInfoBo bo);
/**
* 新增客户信息-资质信息5
*
* @param bo 客户信息-资质信息5
* @return 是否新增成功
*/
Boolean insertByBo(XzdQualificationInfoBo bo);
/**
* 修改客户信息-资质信息5
*
* @param bo 客户信息-资质信息5
* @return 是否修改成功
*/
Boolean updateByBo(XzdQualificationInfoBo bo);
/**
* 校验并批量删除客户信息-资质信息5信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,70 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdSettlementInfoVo;
import org.dromara.xzd.domain.bo.XzdSettlementInfoBo;
import org.dromara.xzd.domain.XzdSettlementInfo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 客户信息-结算信息6Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdSettlementInfoService extends IService<XzdSettlementInfo>{
/**
* 查询客户信息-结算信息6
*
* @param id 主键
* @return 客户信息-结算信息6
*/
XzdSettlementInfoVo queryById(Long id);
/**
* 分页查询客户信息-结算信息6列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-结算信息6分页列表
*/
TableDataInfo<XzdSettlementInfoVo> queryPageList(XzdSettlementInfoBo bo, PageQuery pageQuery);
/**
* 查询符合条件的客户信息-结算信息6列表
*
* @param bo 查询条件
* @return 客户信息-结算信息6列表
*/
List<XzdSettlementInfoVo> queryList(XzdSettlementInfoBo bo);
/**
* 新增客户信息-结算信息6
*
* @param bo 客户信息-结算信息6
* @return 是否新增成功
*/
Boolean insertByBo(XzdSettlementInfoBo bo);
/**
* 修改客户信息-结算信息6
*
* @param bo 客户信息-结算信息6
* @return 是否修改成功
*/
Boolean updateByBo(XzdSettlementInfoBo bo);
/**
* 校验并批量删除客户信息-结算信息6信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,143 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdAddressInfoBo;
import org.dromara.xzd.domain.vo.XzdAddressInfoVo;
import org.dromara.xzd.domain.XzdAddressInfo;
import org.dromara.xzd.mapper.XzdAddressInfoMapper;
import org.dromara.xzd.service.IXzdAddressInfoService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 客户信息-地址信息2Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdAddressInfoServiceImpl extends ServiceImpl<XzdAddressInfoMapper, XzdAddressInfo> implements IXzdAddressInfoService {
private final XzdAddressInfoMapper baseMapper;
/**
* 查询客户信息-地址信息2
*
* @param id 主键
* @return 客户信息-地址信息2
*/
@Override
public XzdAddressInfoVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询客户信息-地址信息2列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-地址信息2分页列表
*/
@Override
public TableDataInfo<XzdAddressInfoVo> queryPageList(XzdAddressInfoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdAddressInfo> lqw = buildQueryWrapper(bo);
Page<XzdAddressInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的客户信息-地址信息2列表
*
* @param bo 查询条件
* @return 客户信息-地址信息2列表
*/
@Override
public List<XzdAddressInfoVo> queryList(XzdAddressInfoBo bo) {
LambdaQueryWrapper<XzdAddressInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdAddressInfo> buildQueryWrapper(XzdAddressInfoBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdAddressInfo> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdAddressInfo::getId);
lqw.eq(StringUtils.isNotBlank(bo.getType()), XzdAddressInfo::getType, bo.getType());
lqw.eq(bo.getCustomerinformationId() != null, XzdAddressInfo::getCustomerinformationId, bo.getCustomerinformationId());
lqw.eq(StringUtils.isNotBlank(bo.getAttribute()), XzdAddressInfo::getAttribute, bo.getAttribute());
lqw.like(StringUtils.isNotBlank(bo.getName()), XzdAddressInfo::getName, bo.getName());
lqw.eq(StringUtils.isNotBlank(bo.getCountry()), XzdAddressInfo::getCountry, bo.getCountry());
lqw.eq(StringUtils.isNotBlank(bo.getProvinceState()), XzdAddressInfo::getProvinceState, bo.getProvinceState());
lqw.eq(StringUtils.isNotBlank(bo.getCountyCity()), XzdAddressInfo::getCountyCity, bo.getCountyCity());
lqw.eq(StringUtils.isNotBlank(bo.getDetailedAddress()), XzdAddressInfo::getDetailedAddress, bo.getDetailedAddress());
lqw.eq(StringUtils.isNotBlank(bo.getPostalCode()), XzdAddressInfo::getPostalCode, bo.getPostalCode());
lqw.eq(StringUtils.isNotBlank(bo.getTelephone()), XzdAddressInfo::getTelephone, bo.getTelephone());
lqw.eq(StringUtils.isNotBlank(bo.getMobilePhone()), XzdAddressInfo::getMobilePhone, bo.getMobilePhone());
lqw.eq(StringUtils.isNotBlank(bo.getFax()), XzdAddressInfo::getFax, bo.getFax());
lqw.eq(StringUtils.isNotBlank(bo.getDistrict()), XzdAddressInfo::getDistrict, bo.getDistrict());
return lqw;
}
/**
* 新增客户信息-地址信息2
*
* @param bo 客户信息-地址信息2
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdAddressInfoBo bo) {
XzdAddressInfo add = MapstructUtils.convert(bo, XzdAddressInfo.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改客户信息-地址信息2
*
* @param bo 客户信息-地址信息2
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdAddressInfoBo bo) {
XzdAddressInfo update = MapstructUtils.convert(bo, XzdAddressInfo.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdAddressInfo entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除客户信息-地址信息2信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,145 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdBusinessInfoBo;
import org.dromara.xzd.domain.vo.XzdBusinessInfoVo;
import org.dromara.xzd.domain.XzdBusinessInfo;
import org.dromara.xzd.mapper.XzdBusinessInfoMapper;
import org.dromara.xzd.service.IXzdBusinessInfoService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 客户信息-业务信息7Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdBusinessInfoServiceImpl extends ServiceImpl<XzdBusinessInfoMapper, XzdBusinessInfo> implements IXzdBusinessInfoService {
private final XzdBusinessInfoMapper baseMapper;
/**
* 查询客户信息-业务信息7
*
* @param id 主键
* @return 客户信息-业务信息7
*/
@Override
public XzdBusinessInfoVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询客户信息-业务信息7列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-业务信息7分页列表
*/
@Override
public TableDataInfo<XzdBusinessInfoVo> queryPageList(XzdBusinessInfoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdBusinessInfo> lqw = buildQueryWrapper(bo);
Page<XzdBusinessInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的客户信息-业务信息7列表
*
* @param bo 查询条件
* @return 客户信息-业务信息7列表
*/
@Override
public List<XzdBusinessInfoVo> queryList(XzdBusinessInfoBo bo) {
LambdaQueryWrapper<XzdBusinessInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdBusinessInfo> buildQueryWrapper(XzdBusinessInfoBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdBusinessInfo> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdBusinessInfo::getId);
lqw.eq(StringUtils.isNotBlank(bo.getType()), XzdBusinessInfo::getType, bo.getType());
lqw.eq(bo.getCustomerinformationId() != null, XzdBusinessInfo::getCustomerinformationId, bo.getCustomerinformationId());
lqw.eq(StringUtils.isNotBlank(bo.getSalesType()), XzdBusinessInfo::getSalesType, bo.getSalesType());
lqw.eq(StringUtils.isNotBlank(bo.getOrderType()), XzdBusinessInfo::getOrderType, bo.getOrderType());
lqw.eq(bo.getReturnTimeLimit() != null, XzdBusinessInfo::getReturnTimeLimit, bo.getReturnTimeLimit());
lqw.eq(bo.getReturnRate() != null, XzdBusinessInfo::getReturnRate, bo.getReturnRate());
lqw.eq(StringUtils.isNotBlank(bo.getReceivingUnit()), XzdBusinessInfo::getReceivingUnit, bo.getReceivingUnit());
lqw.eq(StringUtils.isNotBlank(bo.getTransportationMode()), XzdBusinessInfo::getTransportationMode, bo.getTransportationMode());
lqw.eq(StringUtils.isNotBlank(bo.getDistributionRoute()), XzdBusinessInfo::getDistributionRoute, bo.getDistributionRoute());
lqw.eq(StringUtils.isNotBlank(bo.getConsignmentWarehouse()), XzdBusinessInfo::getConsignmentWarehouse, bo.getConsignmentWarehouse());
lqw.eq(bo.getOrderingCycle() != null, XzdBusinessInfo::getOrderingCycle, bo.getOrderingCycle());
lqw.eq(bo.getArrivalDays() != null, XzdBusinessInfo::getArrivalDays, bo.getArrivalDays());
lqw.eq(StringUtils.isNotBlank(bo.getShippingUnit()), XzdBusinessInfo::getShippingUnit, bo.getShippingUnit());
lqw.eq(StringUtils.isNotBlank(bo.getStartLocation()), XzdBusinessInfo::getStartLocation, bo.getStartLocation());
lqw.eq(bo.getBarcodeLength() != null, XzdBusinessInfo::getBarcodeLength, bo.getBarcodeLength());
return lqw;
}
/**
* 新增客户信息-业务信息7
*
* @param bo 客户信息-业务信息7
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdBusinessInfoBo bo) {
XzdBusinessInfo add = MapstructUtils.convert(bo, XzdBusinessInfo.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改客户信息-业务信息7
*
* @param bo 客户信息-业务信息7
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdBusinessInfoBo bo) {
XzdBusinessInfo update = MapstructUtils.convert(bo, XzdBusinessInfo.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdBusinessInfo entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除客户信息-业务信息7信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,139 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdCertificateInfoBo;
import org.dromara.xzd.domain.vo.XzdCertificateInfoVo;
import org.dromara.xzd.domain.XzdCertificateInfo;
import org.dromara.xzd.mapper.XzdCertificateInfoMapper;
import org.dromara.xzd.service.IXzdCertificateInfoService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 客户信息-证照信息4Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdCertificateInfoServiceImpl extends ServiceImpl<XzdCertificateInfoMapper, XzdCertificateInfo> implements IXzdCertificateInfoService {
private final XzdCertificateInfoMapper baseMapper;
/**
* 查询客户信息-证照信息4
*
* @param id 主键
* @return 客户信息-证照信息4
*/
@Override
public XzdCertificateInfoVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询客户信息-证照信息4列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-证照信息4分页列表
*/
@Override
public TableDataInfo<XzdCertificateInfoVo> queryPageList(XzdCertificateInfoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdCertificateInfo> lqw = buildQueryWrapper(bo);
Page<XzdCertificateInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的客户信息-证照信息4列表
*
* @param bo 查询条件
* @return 客户信息-证照信息4列表
*/
@Override
public List<XzdCertificateInfoVo> queryList(XzdCertificateInfoBo bo) {
LambdaQueryWrapper<XzdCertificateInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdCertificateInfo> buildQueryWrapper(XzdCertificateInfoBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdCertificateInfo> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdCertificateInfo::getId);
lqw.eq(StringUtils.isNotBlank(bo.getType()), XzdCertificateInfo::getType, bo.getType());
lqw.eq(bo.getCustomerinformationId() != null, XzdCertificateInfo::getCustomerinformationId, bo.getCustomerinformationId());
lqw.like(StringUtils.isNotBlank(bo.getCertificateName()), XzdCertificateInfo::getCertificateName, bo.getCertificateName());
lqw.eq(StringUtils.isNotBlank(bo.getCertificateNumber()), XzdCertificateInfo::getCertificateNumber, bo.getCertificateNumber());
lqw.eq(bo.getEffectiveDate() != null, XzdCertificateInfo::getEffectiveDate, bo.getEffectiveDate());
lqw.eq(bo.getExpirationDate() != null, XzdCertificateInfo::getExpirationDate, bo.getExpirationDate());
lqw.eq(bo.getDisableFlag() != null, XzdCertificateInfo::getDisableFlag, bo.getDisableFlag());
lqw.eq(StringUtils.isNotBlank(bo.getAttachment()), XzdCertificateInfo::getAttachment, bo.getAttachment());
lqw.eq(StringUtils.isNotBlank(bo.getRemarks()), XzdCertificateInfo::getRemarks, bo.getRemarks());
return lqw;
}
/**
* 新增客户信息-证照信息4
*
* @param bo 客户信息-证照信息4
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdCertificateInfoBo bo) {
XzdCertificateInfo add = MapstructUtils.convert(bo, XzdCertificateInfo.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改客户信息-证照信息4
*
* @param bo 客户信息-证照信息4
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdCertificateInfoBo bo) {
XzdCertificateInfo update = MapstructUtils.convert(bo, XzdCertificateInfo.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdCertificateInfo entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除客户信息-证照信息4信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,148 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdContactBo;
import org.dromara.xzd.domain.vo.XzdContactVo;
import org.dromara.xzd.domain.XzdContact;
import org.dromara.xzd.mapper.XzdContactMapper;
import org.dromara.xzd.service.IXzdContactService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 客户信息-联系人信息3Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdContactServiceImpl extends ServiceImpl<XzdContactMapper, XzdContact> implements IXzdContactService {
private final XzdContactMapper baseMapper;
/**
* 查询客户信息-联系人信息3
*
* @param id 主键
* @return 客户信息-联系人信息3
*/
@Override
public XzdContactVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询客户信息-联系人信息3列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-联系人信息3分页列表
*/
@Override
public TableDataInfo<XzdContactVo> queryPageList(XzdContactBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdContact> lqw = buildQueryWrapper(bo);
Page<XzdContactVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的客户信息-联系人信息3列表
*
* @param bo 查询条件
* @return 客户信息-联系人信息3列表
*/
@Override
public List<XzdContactVo> queryList(XzdContactBo bo) {
LambdaQueryWrapper<XzdContact> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdContact> buildQueryWrapper(XzdContactBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdContact> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdContact::getId);
lqw.eq(StringUtils.isNotBlank(bo.getType()), XzdContact::getType, bo.getType());
lqw.eq(bo.getCustomerinformationId() != null, XzdContact::getCustomerinformationId, bo.getCustomerinformationId());
lqw.eq(bo.getIsMainContact() != null, XzdContact::getIsMainContact, bo.getIsMainContact());
lqw.like(StringUtils.isNotBlank(bo.getName()), XzdContact::getName, bo.getName());
lqw.eq(StringUtils.isNotBlank(bo.getIdCard()), XzdContact::getIdCard, bo.getIdCard());
lqw.eq(StringUtils.isNotBlank(bo.getGender()), XzdContact::getGender, bo.getGender());
lqw.eq(bo.getAge() != null, XzdContact::getAge, bo.getAge());
lqw.eq(StringUtils.isNotBlank(bo.getMainDepartment()), XzdContact::getMainDepartment, bo.getMainDepartment());
lqw.eq(StringUtils.isNotBlank(bo.getMainPosition()), XzdContact::getMainPosition, bo.getMainPosition());
lqw.eq(StringUtils.isNotBlank(bo.getMobilePhone()), XzdContact::getMobilePhone, bo.getMobilePhone());
lqw.eq(StringUtils.isNotBlank(bo.getEmail()), XzdContact::getEmail, bo.getEmail());
lqw.eq(StringUtils.isNotBlank(bo.getInstantMessaging()), XzdContact::getInstantMessaging, bo.getInstantMessaging());
lqw.eq(StringUtils.isNotBlank(bo.getOfficePhone()), XzdContact::getOfficePhone, bo.getOfficePhone());
lqw.eq(StringUtils.isNotBlank(bo.getFax()), XzdContact::getFax, bo.getFax());
lqw.eq(StringUtils.isNotBlank(bo.getOfficeLocation()), XzdContact::getOfficeLocation, bo.getOfficeLocation());
lqw.eq(StringUtils.isNotBlank(bo.getAttachment()), XzdContact::getAttachment, bo.getAttachment());
lqw.eq(StringUtils.isNotBlank(bo.getBidType()), XzdContact::getBidType, bo.getBidType());
lqw.eq(StringUtils.isNotBlank(bo.getResponsibleSubtype()), XzdContact::getResponsibleSubtype, bo.getResponsibleSubtype());
return lqw;
}
/**
* 新增客户信息-联系人信息3
*
* @param bo 客户信息-联系人信息3
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdContactBo bo) {
XzdContact add = MapstructUtils.convert(bo, XzdContact.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改客户信息-联系人信息3
*
* @param bo 客户信息-联系人信息3
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdContactBo bo) {
XzdContact update = MapstructUtils.convert(bo, XzdContact.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdContact entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除客户信息-联系人信息3信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,139 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdContractInfoBo;
import org.dromara.xzd.domain.vo.XzdContractInfoVo;
import org.dromara.xzd.domain.XzdContractInfo;
import org.dromara.xzd.mapper.XzdContractInfoMapper;
import org.dromara.xzd.service.IXzdContractInfoService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 客户信息-合同信息9Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdContractInfoServiceImpl extends ServiceImpl<XzdContractInfoMapper, XzdContractInfo> implements IXzdContractInfoService {
private final XzdContractInfoMapper baseMapper;
/**
* 查询客户信息-合同信息9
*
* @param id 主键
* @return 客户信息-合同信息9
*/
@Override
public XzdContractInfoVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询客户信息-合同信息9列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-合同信息9分页列表
*/
@Override
public TableDataInfo<XzdContractInfoVo> queryPageList(XzdContractInfoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdContractInfo> lqw = buildQueryWrapper(bo);
Page<XzdContractInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的客户信息-合同信息9列表
*
* @param bo 查询条件
* @return 客户信息-合同信息9列表
*/
@Override
public List<XzdContractInfoVo> queryList(XzdContractInfoBo bo) {
LambdaQueryWrapper<XzdContractInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdContractInfo> buildQueryWrapper(XzdContractInfoBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdContractInfo> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdContractInfo::getId);
lqw.eq(StringUtils.isNotBlank(bo.getType()), XzdContractInfo::getType, bo.getType());
lqw.eq(bo.getCustomerinformationId() != null, XzdContractInfo::getCustomerinformationId, bo.getCustomerinformationId());
lqw.eq(StringUtils.isNotBlank(bo.getContractNumber()), XzdContractInfo::getContractNumber, bo.getContractNumber());
lqw.like(StringUtils.isNotBlank(bo.getContractName()), XzdContractInfo::getContractName, bo.getContractName());
lqw.eq(StringUtils.isNotBlank(bo.getProject()), XzdContractInfo::getProject, bo.getProject());
lqw.eq(bo.getContractTaxInclusiveAmount() != null, XzdContractInfo::getContractTaxInclusiveAmount, bo.getContractTaxInclusiveAmount());
lqw.eq(StringUtils.isNotBlank(bo.getContractType()), XzdContractInfo::getContractType, bo.getContractType());
lqw.eq(StringUtils.isNotBlank(bo.getEntryOrganization()), XzdContractInfo::getEntryOrganization, bo.getEntryOrganization());
lqw.eq(StringUtils.isNotBlank(bo.getSalesman()), XzdContractInfo::getSalesman, bo.getSalesman());
return lqw;
}
/**
* 新增客户信息-合同信息9
*
* @param bo 客户信息-合同信息9
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdContractInfoBo bo) {
XzdContractInfo add = MapstructUtils.convert(bo, XzdContractInfo.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改客户信息-合同信息9
*
* @param bo 客户信息-合同信息9
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdContractInfoBo bo) {
XzdContractInfo update = MapstructUtils.convert(bo, XzdContractInfo.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdContractInfo entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除客户信息-合同信息9信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,221 @@
package org.dromara.xzd.service.impl;
import cn.hutool.core.bean.BeanUtil;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.system.domain.vo.SysOssVo;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.domain.*;
import org.dromara.xzd.domain.bo.*;
import org.dromara.xzd.domain.dto.AddCorrespondentDto;
import org.dromara.xzd.domain.vo.XzdPoiAreaVo;
import org.dromara.xzd.enums.ZxdEnum;
import org.dromara.xzd.mapper.XzdAddressInfoMapper;
import org.dromara.xzd.service.*;
import org.dromara.xzd.utilS.AreaUtil;
import org.dromara.xzd.utilS.IdWorker;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
@RequiredArgsConstructor
@Service
public class XzdCorrespondentListImp implements IXzdCorrespondentList {
private final AreaUtil areaUtil;
private final IXzdCustomerinformationService xzdCustomerinformationService;
private final IXzdCustomerDetailService xzdCustomerDetailService;
private final IXzdAddressInfoService xzdAddressInfoService;
private final SysOssServiceImpl sysOssService;
private final IXzdContactService xzdContactService;
private final IXzdCertificateInfoService xzdCertificateInfoService;
private final IXzdQualificationInfoService xzdQualificationInfoService;
private final IXzdSettlementInfoService xzdSettlementInfoService;
private final IXzdBusinessInfoService xzdBusinessInfoService;
private final IXzdProjectInfoService xzdProjectInfoService;
private final IXzdContractInfoService xzdContractInfoService;
private final IXzdCustomertypeInfoService xzdCustomertypeInfoService;
@Override
@Cacheable(cacheNames = "xzdquList")
public R<XzdPoiAreaVo> queryPageList() {
XzdPoiAreaVo xzdPoiAreaVo = new XzdPoiAreaVo();
XzdPoiAreaVo areaList = areaUtil.getAreaList(100000L, xzdPoiAreaVo);
return R.ok("成功",areaList);
}
@Override
public R<String> addCorrespondent(AddCorrespondentDto dto) {
// 客户信息添加 客户id
long id = IdWorker.getID();
dto.getXzdCustomerinformation().setId(id);
xzdCustomerinformationService.insertByBo(dto.getXzdCustomerinformation());
// tab客户信息添加
if (dto.getXzdCustomerDetail() != null){
dto.getXzdCustomerDetail().setId(IdWorker.getID());
dto.getXzdCustomerDetail().setCustomerinformationId(id);
xzdCustomerDetailService.insertByBo(dto.getXzdCustomerDetail());
}
// 地址信息添加
List<XzdAddressInfoBo> xzdAddressInfo = dto.getXzdAddressInfo();
if (xzdAddressInfo != null && xzdAddressInfo.size() > 0) {
Collection<XzdAddressInfo> collect = xzdAddressInfo.stream().map(xzdAddressInfoBo -> {
xzdAddressInfoBo.setCustomerinformationId(id);
xzdAddressInfoBo.setId(IdWorker.getID());
xzdAddressInfoBo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue());
XzdAddressInfo temp = new XzdAddressInfo();
BeanUtil.copyProperties(xzdAddressInfoBo, temp);
return temp;
}).collect(Collectors.toList());
xzdAddressInfoService.saveBatch(collect);
}
// 联系人信息添加
List<XzdContactBo> xzdContact = dto.getXzdContact();
if (xzdContact != null && xzdContact.isEmpty()) {
Collection<XzdContact> collect1 = xzdContact.stream().map(xzdContactBo -> {
xzdContactBo.setCustomerinformationId(id);
xzdContactBo.setId(IdWorker.getID());
xzdContactBo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue());
XzdContact temp = new XzdContact();
BeanUtil.copyProperties(xzdContactBo, temp);
return temp;
}).collect(Collectors.toList());
xzdContactService.saveBatch(collect1);
}
// 证件信息添加
List<XzdCertificateInfoBo> xzdCertificateInfo = dto.getXzdCertificateInfo();
if (xzdCertificateInfo != null && xzdCertificateInfo.size() > 0) {
List<XzdCertificateInfo> collect2 = xzdCertificateInfo.stream().map(xzdCertificateInfoBo -> {
xzdCertificateInfoBo.setId(IdWorker.getID());
xzdCertificateInfoBo.setCustomerinformationId(id);
xzdCertificateInfoBo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue());
XzdCertificateInfo info = new XzdCertificateInfo();
BeanUtil.copyProperties(xzdCertificateInfoBo, info);
return info;
}).collect((Collectors.toList()));
xzdCertificateInfoService.saveBatch(collect2);
}
// 资质信息添加
List<XzdQualificationInfoBo> xzdQualificationInfo = dto.getXzdQualificationInfo();
if (xzdQualificationInfo != null && xzdQualificationInfo.size() > 0) {
List<XzdQualificationInfo> collect3 = xzdQualificationInfo.stream().map(xzdQualificationInfoBo -> {
xzdQualificationInfoBo.setId(IdWorker.getID());
xzdQualificationInfoBo.setCustomerinformationId(id);
xzdQualificationInfoBo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue());
XzdQualificationInfo info = new XzdQualificationInfo();
BeanUtil.copyProperties(xzdQualificationInfoBo, info);
return info;
}).collect((Collectors.toList()));
xzdQualificationInfoService.saveBatch(collect3);
}
// 结算信息添加
XzdSettlementInfoBo xzdSettlementInfo = dto.getXzdSettlementInfo();
if (xzdSettlementInfo != null) {
xzdSettlementInfo.setId(IdWorker.getID());
xzdSettlementInfo.setCustomerinformationId(id);
xzdSettlementInfo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue());
XzdSettlementInfo info = new XzdSettlementInfo();
BeanUtil.copyProperties(xzdSettlementInfo, info);
xzdSettlementInfoService.save(info);
}
// 业务信息添加
XzdBusinessInfoBo xzdBusinessInfo = dto.getXzdBusinessInfo();
if (xzdBusinessInfo != null) {
xzdBusinessInfo.setId(IdWorker.getID());
xzdBusinessInfo.setCustomerinformationId(id);
xzdBusinessInfo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue());
XzdBusinessInfo info = new XzdBusinessInfo();
BeanUtil.copyProperties(xzdBusinessInfo, info);
xzdBusinessInfoService.save(info);
}
// 项目信息添加
XzdProjectInfoBo xzdProjectInfo = dto.getXzdProjectInfo();
if (xzdProjectInfo != null) {
xzdProjectInfo.setId(IdWorker.getID());
xzdProjectInfo.setCustomerinformationId(id);
xzdProjectInfo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue());
XzdProjectInfo info = new XzdProjectInfo();
BeanUtil.copyProperties(xzdProjectInfo, info);
xzdProjectInfoService.save(info);
}
// 合同信息添加
XzdContractInfoBo xzdContractInfo = dto.getXzdContractInfo();
if (xzdContractInfo != null) {
xzdContractInfo.setId(IdWorker.getID());
xzdContractInfo.setCustomerinformationId(id);
xzdContractInfo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue());
XzdContractInfo info = new XzdContractInfo();
BeanUtil.copyProperties(xzdContractInfo, info);
xzdContractInfoService.save(info);
}
// 客户类型添加
List<XzdCustomertypeInfoBo> xzdCustomertypeInfo = dto.getXzdCustomertypeInfo();
if (xzdCustomertypeInfo != null && xzdCustomertypeInfo.size() > 0) {
List<XzdCustomertypeInfo> collect = xzdCustomertypeInfo.stream().map(item -> {
item.setCustomertypeId(id);
item.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue());
XzdCustomertypeInfo info = new XzdCustomertypeInfo();
BeanUtil.copyProperties(item, info);
return info;
}).collect(Collectors.toList());
xzdCustomertypeInfoService.saveBatch(collect);
}
return R.ok("添加成功");
}
@Override
public R<String> delCorrespondent(List<AddCorrespondentDto> dto) {
return null;
}
}

View File

@ -0,0 +1,148 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdCustomerDetailBo;
import org.dromara.xzd.domain.vo.XzdCustomerDetailVo;
import org.dromara.xzd.domain.XzdCustomerDetail;
import org.dromara.xzd.mapper.XzdCustomerDetailMapper;
import org.dromara.xzd.service.IXzdCustomerDetailService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 客户信息-客户信息1Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdCustomerDetailServiceImpl extends ServiceImpl<XzdCustomerDetailMapper, XzdCustomerDetail> implements IXzdCustomerDetailService {
private final XzdCustomerDetailMapper baseMapper;
/**
* 查询客户信息-客户信息1
*
* @param id 主键
* @return 客户信息-客户信息1
*/
@Override
public XzdCustomerDetailVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询客户信息-客户信息1列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-客户信息1分页列表
*/
@Override
public TableDataInfo<XzdCustomerDetailVo> queryPageList(XzdCustomerDetailBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdCustomerDetail> lqw = buildQueryWrapper(bo);
Page<XzdCustomerDetailVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的客户信息-客户信息1列表
*
* @param bo 查询条件
* @return 客户信息-客户信息1列表
*/
@Override
public List<XzdCustomerDetailVo> queryList(XzdCustomerDetailBo bo) {
LambdaQueryWrapper<XzdCustomerDetail> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdCustomerDetail> buildQueryWrapper(XzdCustomerDetailBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdCustomerDetail> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdCustomerDetail::getId);
lqw.eq(bo.getCustomerinformationId() != null, XzdCustomerDetail::getCustomerinformationId, bo.getCustomerinformationId());
lqw.eq(StringUtils.isNotBlank(bo.getCustomerSource()), XzdCustomerDetail::getCustomerSource, bo.getCustomerSource());
lqw.eq(StringUtils.isNotBlank(bo.getCustomerType()), XzdCustomerDetail::getCustomerType, bo.getCustomerType());
lqw.eq(StringUtils.isNotBlank(bo.getCustomerLevel()), XzdCustomerDetail::getCustomerLevel, bo.getCustomerLevel());
lqw.eq(StringUtils.isNotBlank(bo.getImportanceDegree()), XzdCustomerDetail::getImportanceDegree, bo.getImportanceDegree());
lqw.eq(StringUtils.isNotBlank(bo.getResponsibleDepartment()), XzdCustomerDetail::getResponsibleDepartment, bo.getResponsibleDepartment());
lqw.eq(StringUtils.isNotBlank(bo.getResponsibleSalesman()), XzdCustomerDetail::getResponsibleSalesman, bo.getResponsibleSalesman());
lqw.eq(StringUtils.isNotBlank(bo.getBelongingOrganization()), XzdCustomerDetail::getBelongingOrganization, bo.getBelongingOrganization());
lqw.eq(bo.getFreezeFlag() != null, XzdCustomerDetail::getFreezeFlag, bo.getFreezeFlag());
lqw.eq(bo.getFreezeStartTime() != null, XzdCustomerDetail::getFreezeStartTime, bo.getFreezeStartTime());
lqw.eq(bo.getFreezeEndTime() != null, XzdCustomerDetail::getFreezeEndTime, bo.getFreezeEndTime());
lqw.eq(StringUtils.isNotBlank(bo.getDealerType()), XzdCustomerDetail::getDealerType, bo.getDealerType());
lqw.eq(StringUtils.isNotBlank(bo.getDealerLevel()), XzdCustomerDetail::getDealerLevel, bo.getDealerLevel());
lqw.eq(StringUtils.isNotBlank(bo.getDefaultFinanceOrganization()), XzdCustomerDetail::getDefaultFinanceOrganization, bo.getDefaultFinanceOrganization());
lqw.eq(bo.getAuditFlag() != null, XzdCustomerDetail::getAuditFlag, bo.getAuditFlag());
lqw.eq(StringUtils.isNotBlank(bo.getHeadquartersBranch()), XzdCustomerDetail::getHeadquartersBranch, bo.getHeadquartersBranch());
lqw.eq(StringUtils.isNotBlank(bo.getBranchProvince()), XzdCustomerDetail::getBranchProvince, bo.getBranchProvince());
lqw.eq(StringUtils.isNotBlank(bo.getBranchCity()), XzdCustomerDetail::getBranchCity, bo.getBranchCity());
return lqw;
}
/**
* 新增客户信息-客户信息1
*
* @param bo 客户信息-客户信息1
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdCustomerDetailBo bo) {
XzdCustomerDetail add = MapstructUtils.convert(bo, XzdCustomerDetail.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改客户信息-客户信息1
*
* @param bo 客户信息-客户信息1
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdCustomerDetailBo bo) {
XzdCustomerDetail update = MapstructUtils.convert(bo, XzdCustomerDetail.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdCustomerDetail entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除客户信息-客户信息1信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,173 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdCustomerinformationBo;
import org.dromara.xzd.domain.vo.XzdCustomerinformationVo;
import org.dromara.xzd.domain.XzdCustomerinformation;
import org.dromara.xzd.mapper.XzdCustomerinformationMapper;
import org.dromara.xzd.service.IXzdCustomerinformationService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 客户信息Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdCustomerinformationServiceImpl extends ServiceImpl<XzdCustomerinformationMapper, XzdCustomerinformation> implements IXzdCustomerinformationService {
private final XzdCustomerinformationMapper baseMapper;
/**
* 查询客户信息
*
* @param id 主键
* @return 客户信息
*/
@Override
public XzdCustomerinformationVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询客户信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息分页列表
*/
@Override
public TableDataInfo<XzdCustomerinformationVo> queryPageList(XzdCustomerinformationBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdCustomerinformation> lqw = buildQueryWrapper(bo);
Page<XzdCustomerinformationVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的客户信息列表
*
* @param bo 查询条件
* @return 客户信息列表
*/
@Override
public List<XzdCustomerinformationVo> queryList(XzdCustomerinformationBo bo) {
LambdaQueryWrapper<XzdCustomerinformation> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdCustomerinformation> buildQueryWrapper(XzdCustomerinformationBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdCustomerinformation> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdCustomerinformation::getId);
lqw.eq(bo.getPoiAreaId() != null, XzdCustomerinformation::getPoiAreaId, bo.getPoiAreaId());
lqw.eq(StringUtils.isNotBlank(bo.getUnitCode()), XzdCustomerinformation::getUnitCode, bo.getUnitCode());
lqw.like(StringUtils.isNotBlank(bo.getUnitName()), XzdCustomerinformation::getUnitName, bo.getUnitName());
lqw.eq(StringUtils.isNotBlank(bo.getUnitProperty()), XzdCustomerinformation::getUnitProperty, bo.getUnitProperty());
lqw.like(StringUtils.isNotBlank(bo.getShortName()), XzdCustomerinformation::getShortName, bo.getShortName());
lqw.like(StringUtils.isNotBlank(bo.getEnglishShortName()), XzdCustomerinformation::getEnglishShortName, bo.getEnglishShortName());
lqw.eq(StringUtils.isNotBlank(bo.getMnemonicCode()), XzdCustomerinformation::getMnemonicCode, bo.getMnemonicCode());
lqw.eq(StringUtils.isNotBlank(bo.getUnifiedSocialCreditCode()), XzdCustomerinformation::getUnifiedSocialCreditCode, bo.getUnifiedSocialCreditCode());
lqw.eq(StringUtils.isNotBlank(bo.getTaxRegistrationNumber()), XzdCustomerinformation::getTaxRegistrationNumber, bo.getTaxRegistrationNumber());
lqw.eq(StringUtils.isNotBlank(bo.getCertificateType()), XzdCustomerinformation::getCertificateType, bo.getCertificateType());
lqw.eq(StringUtils.isNotBlank(bo.getCertificateNumber()), XzdCustomerinformation::getCertificateNumber, bo.getCertificateNumber());
lqw.eq(StringUtils.isNotBlank(bo.getCountry()), XzdCustomerinformation::getCountry, bo.getCountry());
lqw.eq(StringUtils.isNotBlank(bo.getProvince()), XzdCustomerinformation::getProvince, bo.getProvince());
lqw.eq(StringUtils.isNotBlank(bo.getCity()), XzdCustomerinformation::getCity, bo.getCity());
lqw.eq(StringUtils.isNotBlank(bo.getDistrictCounty()), XzdCustomerinformation::getDistrictCounty, bo.getDistrictCounty());
lqw.eq(StringUtils.isNotBlank(bo.getIndustryType()), XzdCustomerinformation::getIndustryType, bo.getIndustryType());
lqw.eq(StringUtils.isNotBlank(bo.getSuperiorUnit()), XzdCustomerinformation::getSuperiorUnit, bo.getSuperiorUnit());
lqw.eq(bo.getIsGroupCustomer() != null, XzdCustomerinformation::getIsGroupCustomer, bo.getIsGroupCustomer());
lqw.eq(bo.getIndustrialCommercialChangeTime() != null, XzdCustomerinformation::getIndustrialCommercialChangeTime, bo.getIndustrialCommercialChangeTime());
lqw.eq(StringUtils.isNotBlank(bo.getRemarks()), XzdCustomerinformation::getRemarks, bo.getRemarks());
lqw.eq(bo.getIsInternal() != null, XzdCustomerinformation::getIsInternal, bo.getIsInternal());
lqw.eq(bo.getIsBlacklist() != null, XzdCustomerinformation::getIsBlacklist, bo.getIsBlacklist());
lqw.eq(bo.getIsDirectCustomer() != null, XzdCustomerinformation::getIsDirectCustomer, bo.getIsDirectCustomer());
lqw.eq(bo.getIsDealer() != null, XzdCustomerinformation::getIsDealer, bo.getIsDealer());
lqw.eq(bo.getIsAutoSupplier() != null, XzdCustomerinformation::getIsAutoSupplier, bo.getIsAutoSupplier());
lqw.eq(StringUtils.isNotBlank(bo.getAreaCode()), XzdCustomerinformation::getAreaCode, bo.getAreaCode());
lqw.eq(bo.getEstablishmentDate() != null, XzdCustomerinformation::getEstablishmentDate, bo.getEstablishmentDate());
lqw.eq(StringUtils.isNotBlank(bo.getTaxIdentityType()), XzdCustomerinformation::getTaxIdentityType, bo.getTaxIdentityType());
lqw.like(StringUtils.isNotBlank(bo.getTaxpayerName()), XzdCustomerinformation::getTaxpayerName, bo.getTaxpayerName());
lqw.eq(StringUtils.isNotBlank(bo.getTaxBankCode()), XzdCustomerinformation::getTaxBankCode, bo.getTaxBankCode());
lqw.like(StringUtils.isNotBlank(bo.getTaxBankName()), XzdCustomerinformation::getTaxBankName, bo.getTaxBankName());
lqw.eq(StringUtils.isNotBlank(bo.getTaxRegistrationAccount()), XzdCustomerinformation::getTaxRegistrationAccount, bo.getTaxRegistrationAccount());
lqw.eq(StringUtils.isNotBlank(bo.getTaxRegistrationAddress()), XzdCustomerinformation::getTaxRegistrationAddress, bo.getTaxRegistrationAddress());
lqw.eq(StringUtils.isNotBlank(bo.getTaxRegistrationPhone()), XzdCustomerinformation::getTaxRegistrationPhone, bo.getTaxRegistrationPhone());
lqw.eq(bo.getRegisteredCapital() != null, XzdCustomerinformation::getRegisteredCapital, bo.getRegisteredCapital());
lqw.eq(bo.getRegistrationTime() != null, XzdCustomerinformation::getRegistrationTime, bo.getRegistrationTime());
lqw.eq(StringUtils.isNotBlank(bo.getBusinessScope()), XzdCustomerinformation::getBusinessScope, bo.getBusinessScope());
lqw.eq(StringUtils.isNotBlank(bo.getLegalRepresentative()), XzdCustomerinformation::getLegalRepresentative, bo.getLegalRepresentative());
lqw.eq(StringUtils.isNotBlank(bo.getIndustryStatus()), XzdCustomerinformation::getIndustryStatus, bo.getIndustryStatus());
lqw.eq(StringUtils.isNotBlank(bo.getEnterpriseProperty()), XzdCustomerinformation::getEnterpriseProperty, bo.getEnterpriseProperty());
lqw.eq(StringUtils.isNotBlank(bo.getScale()), XzdCustomerinformation::getScale, bo.getScale());
lqw.eq(StringUtils.isNotBlank(bo.getWebsite()), XzdCustomerinformation::getWebsite, bo.getWebsite());
lqw.eq(StringUtils.isNotBlank(bo.getMailbox()), XzdCustomerinformation::getMailbox, bo.getMailbox());
return lqw;
}
/**
* 新增客户信息
*
* @param bo 客户信息
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdCustomerinformationBo bo) {
XzdCustomerinformation add = MapstructUtils.convert(bo, XzdCustomerinformation.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改客户信息
*
* @param bo 客户信息
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdCustomerinformationBo bo) {
XzdCustomerinformation update = MapstructUtils.convert(bo, XzdCustomerinformation.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdCustomerinformation entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除客户信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,133 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdCustomertypeInfoBo;
import org.dromara.xzd.domain.vo.XzdCustomertypeInfoVo;
import org.dromara.xzd.domain.XzdCustomertypeInfo;
import org.dromara.xzd.mapper.XzdCustomertypeInfoMapper;
import org.dromara.xzd.service.IXzdCustomertypeInfoService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 客户信息-客户类型10Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdCustomertypeInfoServiceImpl extends ServiceImpl<XzdCustomertypeInfoMapper, XzdCustomertypeInfo> implements IXzdCustomertypeInfoService {
private final XzdCustomertypeInfoMapper baseMapper;
/**
* 查询客户信息-客户类型10
*
* @param type 主键
* @return 客户信息-客户类型10
*/
@Override
public XzdCustomertypeInfoVo queryById(String type){
return baseMapper.selectVoById(type);
}
/**
* 分页查询客户信息-客户类型10列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-客户类型10分页列表
*/
@Override
public TableDataInfo<XzdCustomertypeInfoVo> queryPageList(XzdCustomertypeInfoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdCustomertypeInfo> lqw = buildQueryWrapper(bo);
Page<XzdCustomertypeInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的客户信息-客户类型10列表
*
* @param bo 查询条件
* @return 客户信息-客户类型10列表
*/
@Override
public List<XzdCustomertypeInfoVo> queryList(XzdCustomertypeInfoBo bo) {
LambdaQueryWrapper<XzdCustomertypeInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdCustomertypeInfo> buildQueryWrapper(XzdCustomertypeInfoBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdCustomertypeInfo> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getType()), XzdCustomertypeInfo::getType, bo.getType());
lqw.eq(bo.getCustomerinformationId() != null, XzdCustomertypeInfo::getCustomerinformationId, bo.getCustomerinformationId());
lqw.eq(bo.getCustomertypeId() != null, XzdCustomertypeInfo::getCustomertypeId, bo.getCustomertypeId());
lqw.eq(StringUtils.isNotBlank(bo.getPrimaryClass()), XzdCustomertypeInfo::getPrimaryClass, bo.getPrimaryClass());
return lqw;
}
/**
* 新增客户信息-客户类型10
*
* @param bo 客户信息-客户类型10
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdCustomertypeInfoBo bo) {
XzdCustomertypeInfo add = MapstructUtils.convert(bo, XzdCustomertypeInfo.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setType(add.getType());
}
return flag;
}
/**
* 修改客户信息-客户类型10
*
* @param bo 客户信息-客户类型10
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdCustomertypeInfoBo bo) {
XzdCustomertypeInfo update = MapstructUtils.convert(bo, XzdCustomertypeInfo.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdCustomertypeInfo entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除客户信息-客户类型10信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,135 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdCustomertypeBo;
import org.dromara.xzd.domain.vo.XzdCustomertypeVo;
import org.dromara.xzd.domain.XzdCustomertype;
import org.dromara.xzd.mapper.XzdCustomertypeMapper;
import org.dromara.xzd.service.IXzdCustomertypeService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 客户|供应商类型公共Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdCustomertypeServiceImpl extends ServiceImpl<XzdCustomertypeMapper, XzdCustomertype> implements IXzdCustomertypeService {
private final XzdCustomertypeMapper baseMapper;
/**
* 查询客户|供应商类型(公共)
*
* @param id 主键
* @return 客户|供应商类型(公共)
*/
@Override
public XzdCustomertypeVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询客户|供应商类型(公共)列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户|供应商类型(公共)分页列表
*/
@Override
public TableDataInfo<XzdCustomertypeVo> queryPageList(XzdCustomertypeBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdCustomertype> lqw = buildQueryWrapper(bo);
Page<XzdCustomertypeVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的客户|供应商类型(公共)列表
*
* @param bo 查询条件
* @return 客户|供应商类型(公共)列表
*/
@Override
public List<XzdCustomertypeVo> queryList(XzdCustomertypeBo bo) {
LambdaQueryWrapper<XzdCustomertype> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdCustomertype> buildQueryWrapper(XzdCustomertypeBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdCustomertype> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdCustomertype::getId);
lqw.eq(StringUtils.isNotBlank(bo.getType()), XzdCustomertype::getType, bo.getType());
lqw.eq(bo.getPid() != null, XzdCustomertype::getPid, bo.getPid());
lqw.eq(bo.getIsMainType() != null, XzdCustomertype::getIsMainType, bo.getIsMainType());
lqw.eq(StringUtils.isNotBlank(bo.getTypeCode()), XzdCustomertype::getTypeCode, bo.getTypeCode());
lqw.eq(StringUtils.isNotBlank(bo.getCustomerType()), XzdCustomertype::getCustomerType, bo.getCustomerType());
return lqw;
}
/**
* 新增客户|供应商类型(公共)
*
* @param bo 客户|供应商类型(公共)
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdCustomertypeBo bo) {
XzdCustomertype add = MapstructUtils.convert(bo, XzdCustomertype.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改客户|供应商类型(公共)
*
* @param bo 客户|供应商类型(公共)
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdCustomertypeBo bo) {
XzdCustomertype update = MapstructUtils.convert(bo, XzdCustomertype.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdCustomertype entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除客户|供应商类型(公共)信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,136 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdPoiAreaBo;
import org.dromara.xzd.domain.vo.XzdPoiAreaVo;
import org.dromara.xzd.domain.XzdPoiArea;
import org.dromara.xzd.mapper.XzdPoiAreaMapper;
import org.dromara.xzd.service.IXzdPoiAreaService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 区域Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdPoiAreaServiceImpl extends ServiceImpl<XzdPoiAreaMapper, XzdPoiArea> implements IXzdPoiAreaService {
private final XzdPoiAreaMapper baseMapper;
/**
* 查询区域
*
* @param adcode 主键
* @return 区域
*/
@Override
public XzdPoiAreaVo queryById(Long adcode){
return baseMapper.selectVoById(adcode);
}
/**
* 分页查询区域列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 区域分页列表
*/
@Override
public TableDataInfo<XzdPoiAreaVo> queryPageList(XzdPoiAreaBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdPoiArea> lqw = buildQueryWrapper(bo);
Page<XzdPoiAreaVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的区域列表
*
* @param bo 查询条件
* @return 区域列表
*/
@Override
public List<XzdPoiAreaVo> queryList(XzdPoiAreaBo bo) {
LambdaQueryWrapper<XzdPoiArea> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdPoiArea> buildQueryWrapper(XzdPoiAreaBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdPoiArea> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getAdcode() != null, XzdPoiArea::getAdcode, bo.getAdcode());
lqw.eq(bo.getParentid() != null, XzdPoiArea::getParentid, bo.getParentid());
lqw.eq(StringUtils.isNotBlank(bo.getCitycode()), XzdPoiArea::getCitycode, bo.getCitycode());
lqw.eq(StringUtils.isNotBlank(bo.getLevel()), XzdPoiArea::getLevel, bo.getLevel());
lqw.like(StringUtils.isNotBlank(bo.getName()), XzdPoiArea::getName, bo.getName());
lqw.eq(StringUtils.isNotBlank(bo.getCenter()), XzdPoiArea::getCenter, bo.getCenter());
lqw.eq(StringUtils.isNotBlank(bo.getIslast()), XzdPoiArea::getIslast, bo.getIslast());
return lqw;
}
/**
* 新增区域
*
* @param bo 区域
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdPoiAreaBo bo) {
XzdPoiArea add = MapstructUtils.convert(bo, XzdPoiArea.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setAdcode(add.getAdcode());
}
return flag;
}
/**
* 修改区域
*
* @param bo 区域
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdPoiAreaBo bo) {
XzdPoiArea update = MapstructUtils.convert(bo, XzdPoiArea.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdPoiArea entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除区域信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,141 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdProjectInfoBo;
import org.dromara.xzd.domain.vo.XzdProjectInfoVo;
import org.dromara.xzd.domain.XzdProjectInfo;
import org.dromara.xzd.mapper.XzdProjectInfoMapper;
import org.dromara.xzd.service.IXzdProjectInfoService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 客户信息-项目信息8Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdProjectInfoServiceImpl extends ServiceImpl<XzdProjectInfoMapper, XzdProjectInfo> implements IXzdProjectInfoService {
private final XzdProjectInfoMapper baseMapper;
/**
* 查询客户信息-项目信息8
*
* @param id 主键
* @return 客户信息-项目信息8
*/
@Override
public XzdProjectInfoVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询客户信息-项目信息8列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-项目信息8分页列表
*/
@Override
public TableDataInfo<XzdProjectInfoVo> queryPageList(XzdProjectInfoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdProjectInfo> lqw = buildQueryWrapper(bo);
Page<XzdProjectInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的客户信息-项目信息8列表
*
* @param bo 查询条件
* @return 客户信息-项目信息8列表
*/
@Override
public List<XzdProjectInfoVo> queryList(XzdProjectInfoBo bo) {
LambdaQueryWrapper<XzdProjectInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdProjectInfo> buildQueryWrapper(XzdProjectInfoBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdProjectInfo> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdProjectInfo::getId);
lqw.eq(StringUtils.isNotBlank(bo.getType()), XzdProjectInfo::getType, bo.getType());
lqw.eq(bo.getCustomerinformationId() != null, XzdProjectInfo::getCustomerinformationId, bo.getCustomerinformationId());
lqw.eq(StringUtils.isNotBlank(bo.getProjectNumber()), XzdProjectInfo::getProjectNumber, bo.getProjectNumber());
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdProjectInfo::getProjectName, bo.getProjectName());
lqw.eq(StringUtils.isNotBlank(bo.getProjectAbbreviation()), XzdProjectInfo::getProjectAbbreviation, bo.getProjectAbbreviation());
lqw.eq(StringUtils.isNotBlank(bo.getProjectType()), XzdProjectInfo::getProjectType, bo.getProjectType());
lqw.eq(StringUtils.isNotBlank(bo.getProjectManager()), XzdProjectInfo::getProjectManager, bo.getProjectManager());
lqw.eq(StringUtils.isNotBlank(bo.getProjectStatus()), XzdProjectInfo::getProjectStatus, bo.getProjectStatus());
lqw.eq(StringUtils.isNotBlank(bo.getSalesman()), XzdProjectInfo::getSalesman, bo.getSalesman());
lqw.eq(bo.getProjectDate() != null, XzdProjectInfo::getProjectDate, bo.getProjectDate());
lqw.eq(StringUtils.isNotBlank(bo.getManagementOrganization()), XzdProjectInfo::getManagementOrganization, bo.getManagementOrganization());
return lqw;
}
/**
* 新增客户信息-项目信息8
*
* @param bo 客户信息-项目信息8
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdProjectInfoBo bo) {
XzdProjectInfo add = MapstructUtils.convert(bo, XzdProjectInfo.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改客户信息-项目信息8
*
* @param bo 客户信息-项目信息8
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdProjectInfoBo bo) {
XzdProjectInfo update = MapstructUtils.convert(bo, XzdProjectInfo.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdProjectInfo entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除客户信息-项目信息8信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,137 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdQualificationInfoBo;
import org.dromara.xzd.domain.vo.XzdQualificationInfoVo;
import org.dromara.xzd.domain.XzdQualificationInfo;
import org.dromara.xzd.mapper.XzdQualificationInfoMapper;
import org.dromara.xzd.service.IXzdQualificationInfoService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 客户信息-资质信息5Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdQualificationInfoServiceImpl extends ServiceImpl<XzdQualificationInfoMapper, XzdQualificationInfo> implements IXzdQualificationInfoService {
private final XzdQualificationInfoMapper baseMapper;
/**
* 查询客户信息-资质信息5
*
* @param id 主键
* @return 客户信息-资质信息5
*/
@Override
public XzdQualificationInfoVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询客户信息-资质信息5列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-资质信息5分页列表
*/
@Override
public TableDataInfo<XzdQualificationInfoVo> queryPageList(XzdQualificationInfoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdQualificationInfo> lqw = buildQueryWrapper(bo);
Page<XzdQualificationInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的客户信息-资质信息5列表
*
* @param bo 查询条件
* @return 客户信息-资质信息5列表
*/
@Override
public List<XzdQualificationInfoVo> queryList(XzdQualificationInfoBo bo) {
LambdaQueryWrapper<XzdQualificationInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdQualificationInfo> buildQueryWrapper(XzdQualificationInfoBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdQualificationInfo> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdQualificationInfo::getId);
lqw.eq(StringUtils.isNotBlank(bo.getType()), XzdQualificationInfo::getType, bo.getType());
lqw.eq(bo.getCustomerinformationId() != null, XzdQualificationInfo::getCustomerinformationId, bo.getCustomerinformationId());
lqw.eq(StringUtils.isNotBlank(bo.getQualificationCategory()), XzdQualificationInfo::getQualificationCategory, bo.getQualificationCategory());
lqw.eq(StringUtils.isNotBlank(bo.getQualificationLevel()), XzdQualificationInfo::getQualificationLevel, bo.getQualificationLevel());
lqw.eq(StringUtils.isNotBlank(bo.getIndustryType()), XzdQualificationInfo::getIndustryType, bo.getIndustryType());
lqw.eq(StringUtils.isNotBlank(bo.getAttachment()), XzdQualificationInfo::getAttachment, bo.getAttachment());
lqw.eq(StringUtils.isNotBlank(bo.getRemarks()), XzdQualificationInfo::getRemarks, bo.getRemarks());
return lqw;
}
/**
* 新增客户信息-资质信息5
*
* @param bo 客户信息-资质信息5
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdQualificationInfoBo bo) {
XzdQualificationInfo add = MapstructUtils.convert(bo, XzdQualificationInfo.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改客户信息-资质信息5
*
* @param bo 客户信息-资质信息5
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdQualificationInfoBo bo) {
XzdQualificationInfo update = MapstructUtils.convert(bo, XzdQualificationInfo.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdQualificationInfo entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除客户信息-资质信息5信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,152 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdSettlementInfoBo;
import org.dromara.xzd.domain.vo.XzdSettlementInfoVo;
import org.dromara.xzd.domain.XzdSettlementInfo;
import org.dromara.xzd.mapper.XzdSettlementInfoMapper;
import org.dromara.xzd.service.IXzdSettlementInfoService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 客户信息-结算信息6Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdSettlementInfoServiceImpl extends ServiceImpl<XzdSettlementInfoMapper, XzdSettlementInfo> implements IXzdSettlementInfoService {
private final XzdSettlementInfoMapper baseMapper;
/**
* 查询客户信息-结算信息6
*
* @param id 主键
* @return 客户信息-结算信息6
*/
@Override
public XzdSettlementInfoVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询客户信息-结算信息6列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 客户信息-结算信息6分页列表
*/
@Override
public TableDataInfo<XzdSettlementInfoVo> queryPageList(XzdSettlementInfoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdSettlementInfo> lqw = buildQueryWrapper(bo);
Page<XzdSettlementInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的客户信息-结算信息6列表
*
* @param bo 查询条件
* @return 客户信息-结算信息6列表
*/
@Override
public List<XzdSettlementInfoVo> queryList(XzdSettlementInfoBo bo) {
LambdaQueryWrapper<XzdSettlementInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdSettlementInfo> buildQueryWrapper(XzdSettlementInfoBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdSettlementInfo> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdSettlementInfo::getId);
lqw.eq(StringUtils.isNotBlank(bo.getType()), XzdSettlementInfo::getType, bo.getType());
lqw.eq(bo.getCustomerinformationId() != null, XzdSettlementInfo::getCustomerinformationId, bo.getCustomerinformationId());
lqw.eq(StringUtils.isNotBlank(bo.getSettlementUnit()), XzdSettlementInfo::getSettlementUnit, bo.getSettlementUnit());
lqw.eq(StringUtils.isNotBlank(bo.getSettlementMethod()), XzdSettlementInfo::getSettlementMethod, bo.getSettlementMethod());
lqw.eq(StringUtils.isNotBlank(bo.getSettlementCurrency()), XzdSettlementInfo::getSettlementCurrency, bo.getSettlementCurrency());
lqw.eq(StringUtils.isNotBlank(bo.getOpeningBank()), XzdSettlementInfo::getOpeningBank, bo.getOpeningBank());
lqw.eq(StringUtils.isNotBlank(bo.getAccountNumber()), XzdSettlementInfo::getAccountNumber, bo.getAccountNumber());
lqw.eq(StringUtils.isNotBlank(bo.getDiscountMethod()), XzdSettlementInfo::getDiscountMethod, bo.getDiscountMethod());
lqw.eq(bo.getDefaultDeductionRate() != null, XzdSettlementInfo::getDefaultDeductionRate, bo.getDefaultDeductionRate());
lqw.like(StringUtils.isNotBlank(bo.getAccountName()), XzdSettlementInfo::getAccountName, bo.getAccountName());
lqw.eq(StringUtils.isNotBlank(bo.getOpeningBankProvince()), XzdSettlementInfo::getOpeningBankProvince, bo.getOpeningBankProvince());
lqw.eq(StringUtils.isNotBlank(bo.getOpeningBankCity()), XzdSettlementInfo::getOpeningBankCity, bo.getOpeningBankCity());
lqw.eq(StringUtils.isNotBlank(bo.getOpeningBankCountyDistrict()), XzdSettlementInfo::getOpeningBankCountyDistrict, bo.getOpeningBankCountyDistrict());
lqw.eq(StringUtils.isNotBlank(bo.getFinancialType()), XzdSettlementInfo::getFinancialType, bo.getFinancialType());
lqw.eq(bo.getConsumptionTaxRate() != null, XzdSettlementInfo::getConsumptionTaxRate, bo.getConsumptionTaxRate());
lqw.eq(bo.getPaymentDays() != null, XzdSettlementInfo::getPaymentDays, bo.getPaymentDays());
lqw.eq(bo.getAnnualInterestRate() != null, XzdSettlementInfo::getAnnualInterestRate, bo.getAnnualInterestRate());
lqw.eq(StringUtils.isNotBlank(bo.getCreditRating()), XzdSettlementInfo::getCreditRating, bo.getCreditRating());
lqw.eq(bo.getCreditTerm() != null, XzdSettlementInfo::getCreditTerm, bo.getCreditTerm());
lqw.eq(bo.getCreditLimit() != null, XzdSettlementInfo::getCreditLimit, bo.getCreditLimit());
lqw.eq(bo.getDefaultPaymentDays() != null, XzdSettlementInfo::getDefaultPaymentDays, bo.getDefaultPaymentDays());
lqw.eq(bo.getEnableContractCreditControl() != null, XzdSettlementInfo::getEnableContractCreditControl, bo.getEnableContractCreditControl());
return lqw;
}
/**
* 新增客户信息-结算信息6
*
* @param bo 客户信息-结算信息6
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdSettlementInfoBo bo) {
XzdSettlementInfo add = MapstructUtils.convert(bo, XzdSettlementInfo.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改客户信息-结算信息6
*
* @param bo 客户信息-结算信息6
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdSettlementInfoBo bo) {
XzdSettlementInfo update = MapstructUtils.convert(bo, XzdSettlementInfo.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdSettlementInfo entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除客户信息-结算信息6信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -0,0 +1,43 @@
package org.dromara.xzd.utilS;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.xzd.domain.bo.XzdPoiAreaBo;
import org.dromara.xzd.domain.vo.XzdPoiAreaVo;
import org.dromara.xzd.service.IXzdPoiAreaService;
import org.dromara.xzd.service.impl.XzdPoiAreaServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
@Slf4j
@RequiredArgsConstructor
@Component
public class AreaUtil {
private final IXzdPoiAreaService xzdPoiAreaService;
public XzdPoiAreaVo getAreaList(Long parentId,XzdPoiAreaVo vo) {
if (StringUtils.isEmpty(parentId.toString())) {
return null;
};
XzdPoiAreaBo xzdPoiAreaBo = new XzdPoiAreaBo();
xzdPoiAreaBo.setParentid(parentId);
List<XzdPoiAreaVo> xzdPoiAreaVos = xzdPoiAreaService.queryList(xzdPoiAreaBo);
if (xzdPoiAreaVos.size() > 0) {
xzdPoiAreaVos.forEach(xzdPoiAreaVo -> {
getAreaList(xzdPoiAreaVo.getAdcode(), xzdPoiAreaVo);
});
vo.setChildren(xzdPoiAreaVos);
}
return vo;
}
}

View File

@ -0,0 +1,66 @@
package org.dromara.xzd.utilS;
import java.lang.management.ManagementFactory;
import java.net.InetAddress;
import java.net.NetworkInterface;
/**
* <p>名称IdWorker.java</p>
* <p>描述分布式自增长ID</p>
* <pre>
* Twitter的 Snowflake JAVA实现方案
* </pre>
* 核心代码为其IdWorker这个类实现其原理结构如下我分别用一个0表示一位用—分割开部分的作用
* 1||0---0000000000 0000000000 0000000000 0000000000 0 --- 00000 ---00000 ---000000000000
* 在上面的字符串中第一位为未使用实际上也可作为long的符号位接下来的41位为毫秒级时间
* 然后5位datacenter标识位5位机器ID并不算标识符实际是为线程标识
* 然后12位该毫秒内的当前毫秒内的计数加起来刚好64位为一个Long型。
* 这样的好处是整体上按照时间自增排序并且整个分布式系统内不会产生ID碰撞由datacenter和机器ID作区分
* 并且效率较高经测试snowflake每秒能够产生26万ID左右完全满足需要。
* <p>
* 64位ID (42(毫秒)+5(机器ID)+5(业务编码)+12(重复累加))
*
* @author Polim
*/
public class IdWorker { // 起始时间戳
private static final long startTimeStamp = 1577808000000L;
// 机器ID
private static final long workID = 1L;
// 数据中心ID
private static final long dataCenterID = 1L;
// 序列号
private static long sequence = 0L;
// 数据中心ID移动位数
private static final long dataCenterIndex = 12L;
// 机器ID移动位数
private static final long workIDIndex = 17L;
// 时间戳移动位数
private static final long timeStampIndex = 22L;
// 记录上一次时间戳
private static long lastTimeStamp = -1L;
// 序列号掩码
private static final long sequenceMask = -1L ^ (-1L << 12);
public synchronized static long getID() {
long now = System.currentTimeMillis();
if (now < lastTimeStamp) {
throw new RuntimeException("时钟回拨异常");
}
if (now == lastTimeStamp) {
sequence = (sequence + 1) & sequenceMask;
if (sequence == 0L) {
try {
Thread.sleep(1L);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
now = System.currentTimeMillis();
}
} else {
sequence = 0L;
}
lastTimeStamp = now;
return ((now - startTimeStamp) << timeStampIndex) | (dataCenterID << dataCenterIndex) | (workID << workIDIndex) | sequence;
}
}