From 5b3dde38edbf62acde8796ff4ed4300001743140 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 8 Aug 2022 15:05:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E6=8F=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/ReportEditFormDTO.java | 16 +++++++- .../constant/CustomerFunctionConstant.java | 3 ++ .../com/epmet/dao/IcCustomerReportDao.java | 5 +++ .../impl/IcCustomerReportServiceImpl.java | 40 +++++++++++++++++++ .../resources/mapper/IcCustomerReportDao.xml | 21 ++++++++++ 5 files changed, 83 insertions(+), 2 deletions(-) diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/ReportEditFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/ReportEditFormDTO.java index d1e72f7d15..3bb7871caa 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/ReportEditFormDTO.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/ReportEditFormDTO.java @@ -2,6 +2,7 @@ package com.epmet.dto.form; import lombok.Data; +import javax.validation.Valid; import javax.validation.constraints.NotBlank; import java.io.Serializable; import java.util.List; @@ -27,7 +28,18 @@ public class ReportEditFormDTO implements Serializable { @NotBlank(message = "reportId不能为空", groups = ReportEditForm.class) private String reportId; - private List customerIds; + @Valid + private List customerList; - private List categoryKeys; + + @Data + public static class CustomerReportEditForm implements Serializable{ + + private static final long serialVersionUID = 8154093835160706134L; + + private List categoryKeys; + + @NotBlank(message = "customerId不能为空", groups = ReportEditForm.class) + private String customerId; + } } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/CustomerFunctionConstant.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/CustomerFunctionConstant.java index 5d41b4453c..b5cbc36f11 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/CustomerFunctionConstant.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/CustomerFunctionConstant.java @@ -25,5 +25,8 @@ public interface CustomerFunctionConstant { String REPORT_CATEGORY = "jmreport_category"; + String REPORT_EDIT = "edit"; + String REPORT_ADD = "add"; + } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcCustomerReportDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcCustomerReportDao.java index 52513402d2..89b4578045 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcCustomerReportDao.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcCustomerReportDao.java @@ -4,6 +4,7 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.result.ReportResultDTO; import com.epmet.entity.IcCustomerReportEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -24,4 +25,8 @@ public interface IcCustomerReportDao extends BaseDao { */ List reportList(); + void delCustomerReport(@Param("customerIds") List customerIds); + + void delCustomerReportFun(@Param("reportIds") List reportIds); + } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcCustomerReportServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcCustomerReportServiceImpl.java index 33cd63ca07..07875f7537 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcCustomerReportServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcCustomerReportServiceImpl.java @@ -19,9 +19,11 @@ import com.epmet.dto.form.ReportEditFormDTO; import com.epmet.dto.result.PreviewReportResDTO; import com.epmet.dto.result.ReportResultDTO; import com.epmet.entity.IcCustomerReportEntity; +import com.epmet.entity.IcReportFunEntity; import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.feign.OperCrmOpenFeignClient; import com.epmet.service.IcCustomerReportService; +import com.epmet.service.IcReportFunService; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -29,6 +31,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -48,6 +51,8 @@ public class IcCustomerReportServiceImpl extends BaseServiceImpl getWrapper(Map params){ @@ -124,7 +129,42 @@ public class IcCustomerReportServiceImpl extends BaseServiceImpl entities = new ArrayList<>(); + List funEntities = new ArrayList<>(); + formDTO.getCustomerList().forEach(c -> { + IcCustomerReportEntity reportEntity = new IcCustomerReportEntity(); + reportEntity.setReportId(formDTO.getReportId()); + reportEntity.setCustomerId(c.getCustomerId()); + if (CollectionUtils.isNotEmpty(c.getCategoryKeys())){ + c.getCategoryKeys().forEach(key -> { + IcReportFunEntity funEntity = new IcReportFunEntity(); + funEntity.setCustomerReportId(formDTO.getReportId()); + funEntity.setFunCategoryKey(key); + funEntities.add(funEntity); + }); + } + entities.add(reportEntity); + }); + insetCustomerReportAndFun(entities,funEntities); + } + } + @Transactional(rollbackFor = Exception.class) + public void insetCustomerReportAndFun(List reportEntities,List funEntities){ + if (CollectionUtils.isNotEmpty(reportEntities)){ + insertBatch(reportEntities); + } + if (CollectionUtils.isNotEmpty(funEntities)){ + reportFunService.insertBatch(funEntities); + } } } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcCustomerReportDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcCustomerReportDao.xml index 2336b1dc3d..073fcbaa89 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcCustomerReportDao.xml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcCustomerReportDao.xml @@ -3,6 +3,27 @@ + + DELETE FROM ic_customer_report + + WHERE CUSTOMER_ID IN ( + + #{c} + + ) + + + + DELETE FROM ic_report_fun + + WHERE CUSTOMER_REPORT_ID IN ( + + #{r} + + ) + + +