From ca256a28a14a6fb0a232abe47ee9a062b7abc83e Mon Sep 17 00:00:00 2001 From: lg Date: Wed, 8 Oct 2025 19:35:40 +0800 Subject: [PATCH] =?UTF-8?q?xzd-=E5=AE=A2=E6=88=B7=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mybatis/core/domain/BaseEntity.java | 1 + .../xzd/cotroller/XzdCorrespondentList.java | 45 +++- .../xzd/domain/bo/XzdAddressInfoBo.java | 2 - .../xzd/domain/bo/XzdBusinessInfoBo.java | 3 - .../xzd/domain/bo/XzdCertificateInfoBo.java | 3 - .../xzd/domain/bo/XzdCustomerDetailBo.java | 2 - .../domain/bo/XzdCustomerinformationBo.java | 2 - .../xzd/domain/bo/XzdCustomertypeInfoBo.java | 2 - .../xzd/domain/bo/XzdProjectInfoBo.java | 3 - .../xzd/domain/bo/XzdQualificationInfoBo.java | 1 - .../xzd/domain/bo/XzdSettlementInfoBo.java | 1 - .../xzd/domain/dto/AddCorrespondentDto.java | 1 + .../xzd/domain/dto/XzdClienteleListDto.java | 44 ++++ .../xzd/domain/vo/XzdClienteleListSumVo.java | 11 + .../xzd/domain/vo/XzdClienteleListVo.java | 164 ++++++++++++++ .../mapper/XzdCustomerinformationMapper.java | 21 ++ .../xzd/service/IXzdCorrespondentList.java | 6 + .../xzd/service/IXzdCustomertypeService.java | 6 + .../service/impl/XzdCorrespondentListImp.java | 211 +++++++++++++++++- .../impl/XzdCustomertypeServiceImpl.java | 20 ++ .../java/org/dromara/xzd/utilS/AreaUtil.java | 25 ++- .../xzd/XzdCustomerinformationMapper.xml | 101 +++++++++ 22 files changed, 643 insertions(+), 32 deletions(-) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/dto/XzdClienteleListDto.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdClienteleListSumVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdClienteleListVo.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/XzdCustomerinformationMapper.xml diff --git a/xinnengyuan/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/domain/BaseEntity.java b/xinnengyuan/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/domain/BaseEntity.java index 13a79416..556e0f2b 100644 --- a/xinnengyuan/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/domain/BaseEntity.java +++ b/xinnengyuan/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/core/domain/BaseEntity.java @@ -8,6 +8,7 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Date; import java.util.HashMap; import java.util.Map; diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/cotroller/XzdCorrespondentList.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/cotroller/XzdCorrespondentList.java index 5e37342a..37c341b5 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/cotroller/XzdCorrespondentList.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/cotroller/XzdCorrespondentList.java @@ -4,9 +4,17 @@ package org.dromara.xzd.cotroller; import cn.dev33.satoken.annotation.SaCheckPermission; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.xzd.domain.XzdCustomertype; import org.dromara.xzd.domain.dto.AddCorrespondentDto; +import org.dromara.xzd.domain.dto.XzdClienteleListDto; +import org.dromara.xzd.domain.vo.XzdClienteleListSumVo; +import org.dromara.xzd.domain.vo.XzdClienteleListVo; +import org.dromara.xzd.domain.vo.XzdCustomertypeVo; import org.dromara.xzd.domain.vo.XzdPoiAreaVo; import org.dromara.xzd.service.IXzdCorrespondentList; +import org.dromara.xzd.service.IXzdCustomertypeInfoService; +import org.dromara.xzd.service.IXzdCustomertypeService; import org.dromara.xzd.service.IXzdPoiAreaService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -22,10 +30,15 @@ public class XzdCorrespondentList { private final IXzdCorrespondentList iXzdCorrespondentList; + + + + private final IXzdCustomertypeService iXzdCustomertypeService; + /** * 查询区域列表 */ - @SaCheckPermission("xzd:poiArea:list") +// @SaCheckPermission("xzd:poiArea:list") @GetMapping("/list") public R list() { return iXzdCorrespondentList.queryPageList(); @@ -35,7 +48,7 @@ public class XzdCorrespondentList { /** * 客户信息添加 */ - @SaCheckPermission("xzd:poiArea:list") + @SaCheckPermission("xzd:poiArea:add") @PostMapping("/addCorrespondent") public R addCorrespondent(@RequestBody AddCorrespondentDto dto) { return iXzdCorrespondentList.addCorrespondent(dto); @@ -43,9 +56,9 @@ public class XzdCorrespondentList { /** - * 客户信息添加 + * 客户信息删除 */ - @SaCheckPermission("xzd:poiArea:list") + @SaCheckPermission("xzd:poiArea:del") @PostMapping("/delCorrespondent") public R delCorrespondent(@RequestBody List dto) { return iXzdCorrespondentList.delCorrespondent(dto); @@ -53,6 +66,30 @@ public class XzdCorrespondentList { + /** + * 客户信息列表 + */ + @SaCheckPermission("xzd:poiArea:list") + @PostMapping("/queryCustomertype") + public R queryCustomertype(@RequestBody XzdClienteleListDto dto, PageQuery pageQuery) { + return iXzdCorrespondentList.queryCustomertype(dto, pageQuery); + } + + + /** + * 客户类型列表 + */ + @SaCheckPermission("xzd:poiArea:list") + @PostMapping("/queryCustomertypeList") + public R> queryCustomertypeList() { + return iXzdCustomertypeService.queryCustomertypeList(); + } + + + + + + diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdAddressInfoBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdAddressInfoBo.java index 6ca5cebc..2ffafc57 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdAddressInfoBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdAddressInfoBo.java @@ -28,13 +28,11 @@ public class XzdAddressInfoBo extends BaseEntity { /** * 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; /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdBusinessInfoBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdBusinessInfoBo.java index 2a940ca8..b4924da2 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdBusinessInfoBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdBusinessInfoBo.java @@ -23,19 +23,16 @@ 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; /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCertificateInfoBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCertificateInfoBo.java index 2cca316f..e0561e1a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCertificateInfoBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCertificateInfoBo.java @@ -25,19 +25,16 @@ 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; /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCustomerDetailBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCustomerDetailBo.java index 0283130f..13c80041 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCustomerDetailBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCustomerDetailBo.java @@ -25,13 +25,11 @@ 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; /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCustomerinformationBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCustomerinformationBo.java index bf245945..b434ef3a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCustomerinformationBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCustomerinformationBo.java @@ -25,13 +25,11 @@ 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; /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCustomertypeInfoBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCustomertypeInfoBo.java index 7db21d16..014e46ac 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCustomertypeInfoBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdCustomertypeInfoBo.java @@ -33,13 +33,11 @@ public class XzdCustomertypeInfoBo extends BaseEntity { /** * 数据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; diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdProjectInfoBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdProjectInfoBo.java index 93c2ac8c..4bc720a3 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdProjectInfoBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdProjectInfoBo.java @@ -25,19 +25,16 @@ 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; /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdQualificationInfoBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdQualificationInfoBo.java index 1266a61f..a1b0cb01 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdQualificationInfoBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdQualificationInfoBo.java @@ -23,7 +23,6 @@ public class XzdQualificationInfoBo extends BaseEntity { /** * */ - @NotNull(message = "不能为空", groups = { EditGroup.class }) private Long id; /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSettlementInfoBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSettlementInfoBo.java index 697ad042..131b39f2 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSettlementInfoBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/bo/XzdSettlementInfoBo.java @@ -48,7 +48,6 @@ public class XzdSettlementInfoBo extends BaseEntity { /** * 结算币种 */ - @NotBlank(message = "结算币种不能为空", groups = { AddGroup.class, EditGroup.class }) private String settlementCurrency; /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/dto/AddCorrespondentDto.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/dto/AddCorrespondentDto.java index bbe13c06..c6fbfb96 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/dto/AddCorrespondentDto.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/dto/AddCorrespondentDto.java @@ -2,6 +2,7 @@ package org.dromara.xzd.domain.dto; import lombok.Data; +import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.xzd.domain.*; import org.dromara.xzd.domain.bo.*; import org.dromara.xzd.domain.vo.XzdPoiAreaVo; diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/dto/XzdClienteleListDto.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/dto/XzdClienteleListDto.java new file mode 100644 index 00000000..f1f2d4e0 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/dto/XzdClienteleListDto.java @@ -0,0 +1,44 @@ +package org.dromara.xzd.domain.dto; + + +import jakarta.validation.constraints.NotBlank; +import lombok.Data; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; + +@Data +public class XzdClienteleListDto { + + +//XzdCustomerinformationBo + /** + * 单位编号 + */ + private String unitCode; + + + /** + * 单位名称 + */ + private String unitName; + + /** + * 统一社会信用代码 + */ + private String unifiedSocialCreditCode; + +// XzdCustomerinformationBo + + /** + * 分管部门 + */ + private String responsibleDepartment; + + + /** + * 分管业务员 + */ + private String responsibleSalesman; + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdClienteleListSumVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdClienteleListSumVo.java new file mode 100644 index 00000000..fd1ed5be --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdClienteleListSumVo.java @@ -0,0 +1,11 @@ +package org.dromara.xzd.domain.vo; + +import lombok.Data; + +import java.util.List; + +@Data +public class XzdClienteleListSumVo { + private Integer sum; + private List xzdClienteleListVo; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdClienteleListVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdClienteleListVo.java new file mode 100644 index 00000000..9d8e316a --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/domain/vo/XzdClienteleListVo.java @@ -0,0 +1,164 @@ +package org.dromara.xzd.domain.vo; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.xzd.domain.bo.XzdCustomerDetailBo; + +import java.util.Date; + + +@Data +public class XzdClienteleListVo { + + +// 未找到字段 审核人,冻结人,工作流标志,是否加入黑名单,变更状态 + + +// XzdCustomerinformationBo + /** + * 单位编号 + */ + private String unitCode; + + /** + * 单位名称 + */ + private String unitName; + + /** + * 集团客户(0=否,1=是) + */ + private Long isGroupCustomer; + + /** + * 黑名单(0=否,1=是) + */ + private Long isBlacklist; + + /** + * 备注 + */ + private String remarks; + + /** + * 统一社会信用代码 + */ + private String unifiedSocialCreditCode; + + /** + * 创建者 + */ + private Long createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + + //XzdCustomerDetailBo + + + /** + * 客户来源 + */ + private String customerSource; + + + /** + * 客户类型 + */ + private String customerType; + + /** + * 客户等级 + */ + private String customerLevel; + + /** + * 经销商类型 + */ + private String dealerType; + + + /** + * 经销等级 + */ + private String dealerLevel; + + /** + * 重要程度 + */ + private String importanceDegree; + + + + /** + * 归属组织 + */ + private String belongingOrganization; + + + /** + * 分管部门 + */ + private String responsibleDepartment; + + + /** + * 分管业务员 + */ + private String responsibleSalesman; + + + +//XzdSettlementInfoBo + + /** + * 开户银行 + */ + private String openingBank; + + + /** + * 账号 + */ + private String accountNumber; + + +// XzdContactBo + + /** + * 办公地点(主联系人地址) + */ + private String officeLocation; + + /** + * 手机 + */ + private String mobilePhone; + + + + /** + * 姓名 + */ + private String name; + + + + + + + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdCustomerinformationMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdCustomerinformationMapper.java index 548ac6bc..ee983cc8 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdCustomerinformationMapper.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/mapper/XzdCustomerinformationMapper.java @@ -1,9 +1,15 @@ package org.dromara.xzd.mapper; +import org.apache.ibatis.annotations.Param; +import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.xzd.domain.XzdCustomerinformation; +import org.dromara.xzd.domain.dto.XzdClienteleListDto; +import org.dromara.xzd.domain.vo.XzdClienteleListVo; import org.dromara.xzd.domain.vo.XzdCustomerinformationVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import java.util.List; + /** * 客户信息Mapper接口 * @@ -12,4 +18,19 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; */ public interface XzdCustomerinformationMapper extends BaseMapperPlus { + /** + * 查询客户信息列表 + * + * @param + * @return + */ + List queryCustomertype(@Param("dto") XzdClienteleListDto dto, @Param("pageSize") Integer pageSize,@Param("offset") Integer offset); + + /** + * 查询客户信息列表总数 + * + * @param + * @return + */ + Integer queryCustomertypeSum(@Param("dto") XzdClienteleListDto dto); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdCorrespondentList.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdCorrespondentList.java index 1674d707..ecaf1a4f 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdCorrespondentList.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdCorrespondentList.java @@ -1,7 +1,11 @@ package org.dromara.xzd.service; import org.dromara.common.core.domain.R; +import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.xzd.domain.dto.AddCorrespondentDto; +import org.dromara.xzd.domain.dto.XzdClienteleListDto; +import org.dromara.xzd.domain.vo.XzdClienteleListSumVo; +import org.dromara.xzd.domain.vo.XzdClienteleListVo; import org.dromara.xzd.domain.vo.XzdPoiAreaVo; import java.util.List; @@ -13,4 +17,6 @@ public interface IXzdCorrespondentList { R addCorrespondent(AddCorrespondentDto dto); R delCorrespondent(List dto); + + R queryCustomertype(XzdClienteleListDto dto, PageQuery pageQuery); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdCustomertypeService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdCustomertypeService.java index 861286c5..f6b59eda 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdCustomertypeService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/IXzdCustomertypeService.java @@ -1,5 +1,7 @@ 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.XzdCustomertypeVo; import org.dromara.xzd.domain.bo.XzdCustomertypeBo; import org.dromara.xzd.domain.XzdCustomertype; @@ -67,4 +69,8 @@ public interface IXzdCustomertypeService extends IService{ * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + R> queryCustomertype(); + + R> queryCustomertypeList(); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdCorrespondentListImp.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdCorrespondentListImp.java index c9b53b15..aa89eecb 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdCorrespondentListImp.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdCorrespondentListImp.java @@ -4,26 +4,35 @@ package org.dromara.xzd.service.impl; import cn.hutool.core.bean.BeanUtil; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.domain.R; -import org.dromara.system.domain.vo.SysOssVo; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.satoken.utils.LoginHelper; 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.dto.XzdClienteleListDto; +import org.dromara.xzd.domain.vo.XzdClienteleListSumVo; +import org.dromara.xzd.domain.vo.XzdClienteleListVo; import org.dromara.xzd.domain.vo.XzdPoiAreaVo; import org.dromara.xzd.enums.ZxdEnum; -import org.dromara.xzd.mapper.XzdAddressInfoMapper; +import org.dromara.xzd.mapper.XzdCustomerinformationMapper; 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.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.stream.Collectors; +@Slf4j @RequiredArgsConstructor @Service public class XzdCorrespondentListImp implements IXzdCorrespondentList { @@ -56,6 +65,8 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { private final IXzdCustomertypeInfoService xzdCustomertypeInfoService; + private final XzdCustomerinformationMapper xzdCustomerinformationMapper; + @@ -76,12 +87,18 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { // 客户信息添加 客户id long id = IdWorker.getID(); dto.getXzdCustomerinformation().setId(id); + dto.getXzdCustomerinformation().setCreateDept(LoginHelper.getDeptId()); + dto.getXzdCustomerinformation().setCreateBy((LoginHelper.getUserId())); +// dto.getXzdCustomerinformation().setCreateTime(LocalDateTime.now()); xzdCustomerinformationService.insertByBo(dto.getXzdCustomerinformation()); // tab客户信息添加 if (dto.getXzdCustomerDetail() != null){ dto.getXzdCustomerDetail().setId(IdWorker.getID()); dto.getXzdCustomerDetail().setCustomerinformationId(id); + dto.getXzdCustomerDetail().setCreateDept(LoginHelper.getDeptId()); + dto.getXzdCustomerDetail().setCreateBy((LoginHelper.getUserId())); +// dto.getXzdCustomerDetail().setCreateTime(LocalDateTime.now()); xzdCustomerDetailService.insertByBo(dto.getXzdCustomerDetail()); } // 地址信息添加 @@ -90,6 +107,9 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { Collection collect = xzdAddressInfo.stream().map(xzdAddressInfoBo -> { xzdAddressInfoBo.setCustomerinformationId(id); xzdAddressInfoBo.setId(IdWorker.getID()); + xzdAddressInfoBo.setCreateDept(LoginHelper.getDeptId()); + xzdAddressInfoBo.setCreateBy((LoginHelper.getUserId())); +// xzdAddressInfoBo.setCreateTime(LocalDateTime.now()); xzdAddressInfoBo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue()); XzdAddressInfo temp = new XzdAddressInfo(); BeanUtil.copyProperties(xzdAddressInfoBo, temp); @@ -105,6 +125,9 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { Collection collect1 = xzdContact.stream().map(xzdContactBo -> { xzdContactBo.setCustomerinformationId(id); xzdContactBo.setId(IdWorker.getID()); + xzdContactBo.setCreateDept(LoginHelper.getDeptId()); + xzdContactBo.setCreateBy((LoginHelper.getUserId())); +// xzdContactBo.setCreateTime(LocalDateTime.now()); xzdContactBo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue()); XzdContact temp = new XzdContact(); BeanUtil.copyProperties(xzdContactBo, temp); @@ -120,6 +143,9 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { List collect2 = xzdCertificateInfo.stream().map(xzdCertificateInfoBo -> { xzdCertificateInfoBo.setId(IdWorker.getID()); xzdCertificateInfoBo.setCustomerinformationId(id); + xzdCertificateInfoBo.setCreateDept(LoginHelper.getDeptId()); + xzdCertificateInfoBo.setCreateBy((LoginHelper.getUserId())); +// xzdCertificateInfoBo.setCreateTime(LocalDateTime.now()); xzdCertificateInfoBo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue()); XzdCertificateInfo info = new XzdCertificateInfo(); @@ -128,8 +154,6 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { }).collect((Collectors.toList())); xzdCertificateInfoService.saveBatch(collect2); - - } @@ -140,6 +164,10 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { xzdQualificationInfoBo.setId(IdWorker.getID()); xzdQualificationInfoBo.setCustomerinformationId(id); xzdQualificationInfoBo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue()); + xzdQualificationInfoBo.setCreateBy((LoginHelper.getUserId())); +// xzdQualificationInfoBo.setCreateTime(LocalDateTime.now()); + xzdQualificationInfoBo.setUpdateBy((LoginHelper.getUserId())); + XzdQualificationInfo info = new XzdQualificationInfo(); BeanUtil.copyProperties(xzdQualificationInfoBo, info); return info; @@ -154,6 +182,9 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { if (xzdSettlementInfo != null) { xzdSettlementInfo.setId(IdWorker.getID()); xzdSettlementInfo.setCustomerinformationId(id); + xzdSettlementInfo.setCreateDept(LoginHelper.getDeptId()); + xzdSettlementInfo.setCreateBy((LoginHelper.getUserId())); +// xzdSettlementInfo.setCreateTime(LocalDateTime.now()); xzdSettlementInfo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue()); XzdSettlementInfo info = new XzdSettlementInfo(); BeanUtil.copyProperties(xzdSettlementInfo, info); @@ -166,6 +197,9 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { if (xzdBusinessInfo != null) { xzdBusinessInfo.setId(IdWorker.getID()); xzdBusinessInfo.setCustomerinformationId(id); + xzdBusinessInfo.setCreateDept(LoginHelper.getDeptId()); + xzdBusinessInfo.setCreateBy((LoginHelper.getUserId())); +// xzdBusinessInfo.setCreateTime(LocalDateTime.now()); xzdBusinessInfo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue()); XzdBusinessInfo info = new XzdBusinessInfo(); BeanUtil.copyProperties(xzdBusinessInfo, info); @@ -179,6 +213,9 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { if (xzdProjectInfo != null) { xzdProjectInfo.setId(IdWorker.getID()); xzdProjectInfo.setCustomerinformationId(id); + xzdProjectInfo.setCreateDept(LoginHelper.getDeptId()); + xzdProjectInfo.setCreateBy((LoginHelper.getUserId())); +// xzdProjectInfo.setCreateTime(LocalDateTime.now()); xzdProjectInfo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue()); XzdProjectInfo info = new XzdProjectInfo(); BeanUtil.copyProperties(xzdProjectInfo, info); @@ -190,6 +227,9 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { XzdContractInfoBo xzdContractInfo = dto.getXzdContractInfo(); if (xzdContractInfo != null) { xzdContractInfo.setId(IdWorker.getID()); + xzdContractInfo.setCreateDept(LoginHelper.getDeptId()); + xzdContractInfo.setCreateBy((LoginHelper.getUserId())); +// xzdContractInfo.setCreateTime(LocalDateTime.now()); xzdContractInfo.setCustomerinformationId(id); xzdContractInfo.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue()); XzdContractInfo info = new XzdContractInfo(); @@ -204,6 +244,9 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { if (xzdCustomertypeInfo != null && xzdCustomertypeInfo.size() > 0) { List collect = xzdCustomertypeInfo.stream().map(item -> { item.setCustomertypeId(id); + item.setCreateDept(LoginHelper.getDeptId()); + item.setCreateBy((LoginHelper.getUserId())); +// item.setCreateTime(LocalDateTime.now()); item.setType(ZxdEnum.TYPE_CORRESPONDENT.getTypeValue()); XzdCustomertypeInfo info = new XzdCustomertypeInfo(); BeanUtil.copyProperties(item, info); @@ -215,7 +258,163 @@ public class XzdCorrespondentListImp implements IXzdCorrespondentList { } @Override - public R delCorrespondent(List dto) { - return null; + public R delCorrespondent(List dtos) { + if (dtos != null && dtos.size() > 0) { + dtos.forEach(item -> { + delCorrespondentVoid(item); + + }); + + } + + return R.ok("删除成功"); + + } + + @Override + public R queryCustomertype(XzdClienteleListDto dto, PageQuery pageQuery) { + XzdClienteleListSumVo xzdClienteleListSumVo = new XzdClienteleListSumVo(); + + try { + Integer offset = (pageQuery.getPageNum() - 1) * pageQuery.getPageSize(); +// 查询数据 + List res = xzdCustomerinformationMapper.queryCustomertype(dto,pageQuery.getPageSize(),offset); +// 查询总数 + Integer i = xzdCustomerinformationMapper.queryCustomertypeSum(dto); + xzdClienteleListSumVo.setSum(i); + xzdClienteleListSumVo.setXzdClienteleListVo(res); + return R.ok(xzdClienteleListSumVo); + + } catch (Exception e) { + return R.warn("查询失败"); + } + } + + public void delCorrespondentVoid(AddCorrespondentDto dto){ + +// 客户信息 + if( dto.getXzdCustomerinformation() != null){ + xzdCustomerinformationService.removeById(dto.getXzdCustomerinformation().getId()); + } +// tab客户信息 + if (dto.getXzdCustomerDetail() != null){ + xzdCustomerDetailService.removeById(dto.getXzdCustomerDetail().getId()); + } + // 地址信息 + List xzdAddressInfo = dto.getXzdAddressInfo(); + if (xzdAddressInfo != null && xzdAddressInfo.size() > 0) { + xzdAddressInfoService.removeByIds(xzdAddressInfo); + } + + + // 联系人信息添加 + List xzdContact = dto.getXzdContact(); + if (xzdContact != null && xzdContact.isEmpty()) { + Collection collect1 = xzdContact.stream().map(xzdContactBo -> { +// 删除附件 + if (!StringUtils.isEmpty(xzdContactBo.getAttachment())){ + List collect = Arrays.stream(xzdContactBo.getAttachment().split(",")).map(item -> { + return Long.parseLong(item); + }).collect(Collectors.toList()); + sysOssService.deleteWithValidByIds(collect, false); + log.info("删除联系人附件成功"); + } + XzdContact temp = new XzdContact(); + BeanUtil.copyProperties(xzdContactBo, temp); + return temp; + }).collect(Collectors.toList()); + + xzdContactService.removeByIds(collect1); + } + + // 证件信息 + List xzdCertificateInfo = dto.getXzdCertificateInfo(); + if (xzdCertificateInfo != null && xzdCertificateInfo.size() > 0) { + List collect2 = xzdCertificateInfo.stream().map(xzdCertificateInfoBo -> { + String attachment = xzdCertificateInfoBo.getAttachment(); + if (!StringUtils.isEmpty(attachment)){ + List collect = Arrays.stream(attachment.split(",")).map(item -> { + return Long.parseLong(item); + }).collect((Collectors.toList())); + sysOssService.deleteWithValidByIds(collect, false); + log.info("删除证件信息附件成功"); + } + + XzdCertificateInfo info = new XzdCertificateInfo(); + BeanUtil.copyProperties(xzdCertificateInfoBo, info); + return info; + + }).collect((Collectors.toList())); + xzdCertificateInfoService.removeByIds(collect2); + } + + + // 资质信息 + List xzdQualificationInfo = dto.getXzdQualificationInfo(); + if (xzdQualificationInfo != null && xzdQualificationInfo.size() > 0) { + List collect3 = xzdQualificationInfo.stream().map(xzdQualificationInfoBo -> { + String attachment = xzdQualificationInfoBo.getAttachment(); + if (!StringUtils.isEmpty(attachment)){ + List collect = Arrays.stream(attachment.split(",")).map(item -> { + return Long.parseLong(item); + }).collect((Collectors.toList())); + sysOssService.deleteWithValidByIds(collect, false); + log.info("删除资质信息附件成功"); + } + + XzdQualificationInfo info = new XzdQualificationInfo(); + BeanUtil.copyProperties(xzdQualificationInfoBo, info); + return info; + }).collect((Collectors.toList())); + xzdQualificationInfoService.removeByIds(collect3); + + } + + + // 结算信息 + XzdSettlementInfoBo xzdSettlementInfo = dto.getXzdSettlementInfo(); + if (xzdSettlementInfo != null) { + + xzdSettlementInfoService.removeById(xzdSettlementInfo); + } + + + // 业务信息 + XzdBusinessInfoBo xzdBusinessInfo = dto.getXzdBusinessInfo(); + if (xzdBusinessInfo != null) { + xzdBusinessInfoService.removeById(xzdBusinessInfo); + } + + + // 项目信息 + + XzdProjectInfoBo xzdProjectInfo = dto.getXzdProjectInfo(); + if (xzdProjectInfo != null) { + xzdProjectInfoService.removeById(xzdProjectInfo); + } + + + // 合同信息 + XzdContractInfoBo xzdContractInfo = dto.getXzdContractInfo(); + if (xzdContractInfo != null) { + xzdContractInfoService.removeById(xzdContractInfo); + } + + + // 客户类型 + + List xzdCustomertypeInfo = dto.getXzdCustomertypeInfo(); + if (xzdCustomertypeInfo != null && xzdCustomertypeInfo.size() > 0) { + xzdCustomertypeInfoService.removeByIds(xzdCustomertypeInfo); + } + + + } + + + + + + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdCustomertypeServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdCustomertypeServiceImpl.java index 8d310380..334589df 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdCustomertypeServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/service/impl/XzdCustomertypeServiceImpl.java @@ -1,6 +1,8 @@ package org.dromara.xzd.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.dromara.common.core.domain.R; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -9,6 +11,7 @@ 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.dromara.xzd.domain.dto.AddCorrespondentDto; import org.springframework.stereotype.Service; import org.dromara.xzd.domain.bo.XzdCustomertypeBo; import org.dromara.xzd.domain.vo.XzdCustomertypeVo; @@ -132,4 +135,21 @@ public class XzdCustomertypeServiceImpl extends ServiceImpl 0; } + + @Override + public R> queryCustomertype() { + + return null; + } + + @Override + public R> queryCustomertypeList() { + + QueryWrapper xzdCustomertypeQueryWrapper = new QueryWrapper<>(); + xzdCustomertypeQueryWrapper.eq("type",1); + List vos = baseMapper.selectVoList(xzdCustomertypeQueryWrapper); + + + return R.ok(vos); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/utilS/AreaUtil.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/utilS/AreaUtil.java index 5b637ea9..8caf2e2a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/utilS/AreaUtil.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/xzd/utilS/AreaUtil.java @@ -1,17 +1,23 @@ package org.dromara.xzd.utilS; +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.utils.StringUtils; +import org.dromara.xzd.domain.XzdPoiArea; import org.dromara.xzd.domain.bo.XzdPoiAreaBo; import org.dromara.xzd.domain.vo.XzdPoiAreaVo; +import org.dromara.xzd.mapper.XzdPoiAreaMapper; 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.HashMap; import java.util.List; +import java.util.stream.Collectors; @Slf4j @@ -21,6 +27,7 @@ public class AreaUtil { private final IXzdPoiAreaService xzdPoiAreaService; + private final XzdPoiAreaMapper xzdPoiAreaMapper; public XzdPoiAreaVo getAreaList(Long parentId,XzdPoiAreaVo vo) { @@ -28,9 +35,21 @@ public class AreaUtil { if (StringUtils.isEmpty(parentId.toString())) { return null; }; - XzdPoiAreaBo xzdPoiAreaBo = new XzdPoiAreaBo(); - xzdPoiAreaBo.setParentid(parentId); - List xzdPoiAreaVos = xzdPoiAreaService.queryList(xzdPoiAreaBo); + QueryWrapper queryWrapper = new QueryWrapper<>(); + + queryWrapper.eq("parentid", parentId).orderByAsc("adcode"); + + List xzdPoiAreaVos = xzdPoiAreaMapper.selectList(queryWrapper).stream().map(xzdPoiArea -> { + XzdPoiAreaVo xzdPoiAreaBo= new XzdPoiAreaVo(); + BeanUtil.copyProperties(xzdPoiArea, xzdPoiAreaBo); + return xzdPoiAreaBo; + }).collect(Collectors.toList()); + + + +// xzdPoiAreaBo.setParentid(parentId); +// List xzdPoiAreaVos = xzdPoiAreaService.queryList(xzdPoiAreaBo); + if (xzdPoiAreaVos.size() > 0) { xzdPoiAreaVos.forEach(xzdPoiAreaVo -> { getAreaList(xzdPoiAreaVo.getAdcode(), xzdPoiAreaVo); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/XzdCustomerinformationMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/XzdCustomerinformationMapper.xml new file mode 100644 index 00000000..aaf9119c --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/xzd/XzdCustomerinformationMapper.xml @@ -0,0 +1,101 @@ + + + + + + + +