From 8e3966b54b4f59817309431b562f3c6986ec66ec Mon Sep 17 00:00:00 2001 From: zzs Date: Thu, 6 Mar 2025 15:44:20 +0800 Subject: [PATCH 1/5] feat:add phone query api --- .../controller/admin/user/UserController.java | 13 +++++++++++++ .../system/service/user/AdminUserService.java | 2 ++ .../service/user/AdminUserServiceImpl.java | 18 ++++++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/user/UserController.java b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/user/UserController.java index 00992cd..6f15e47 100644 --- a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/user/UserController.java +++ b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/user/UserController.java @@ -170,4 +170,17 @@ public class UserController { return success(userService.importUserList(list, updateSupport)); } + @GetMapping("/get/phone") + @Operation(summary = "手机号查询用户") + @Parameter(name = "phone", description = "手机号", required = true, example = "15898763434") + @PreAuthorize("@ss.hasPermission('system:user:query')") + public CommonResult getUser(@RequestParam("phone") String phone) { + AdminUserDO user = userService.getUserByPhone(phone); + if (user == null) { + return success(null); + } + // 拼接数据 + DeptDO dept = deptService.getDept(user.getDeptId()); + return success(UserConvert.INSTANCE.convert(user, dept)); + } } diff --git a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/user/AdminUserService.java b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/user/AdminUserService.java index 9b36a0b..1b022c4 100644 --- a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/user/AdminUserService.java +++ b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/user/AdminUserService.java @@ -214,4 +214,6 @@ public interface AdminUserService { */ AdminUserDO getUserByOpenId(String openId); + AdminUserDO getUserByPhone(String phone); + } diff --git a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/user/AdminUserServiceImpl.java b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/user/AdminUserServiceImpl.java index bd85c29..e52b493 100644 --- a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/user/AdminUserServiceImpl.java +++ b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/user/AdminUserServiceImpl.java @@ -529,4 +529,22 @@ public class AdminUserServiceImpl implements AdminUserService { return user; } } + + @Override + public AdminUserDO getUserByPhone(String phone) { + LambdaQueryWrapperX queryWrapperX = new LambdaQueryWrapperX<>(); + queryWrapperX.eq(AdminUserDO::getMobile, phone); + List users = userMapper.selectList(queryWrapperX); + if (users.isEmpty()) { + return null; + } + AdminUserDO user = users.get(0); + Integer status = user.getStatus(); + + if (Objects.equals(status, CommonStatusEnum.DISABLE.getStatus())) { + throw exception(AUTH_LOGIN_USER_DISABLED); + } else { + return user; + } + } } From fc9f6847162a19c67d9334221f1a617fca31be86 Mon Sep 17 00:00:00 2001 From: zzs Date: Thu, 6 Mar 2025 17:27:08 +0800 Subject: [PATCH 2/5] feat:add phone query api --- .../module/system/service/user/AdminUserServiceImpl.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/user/AdminUserServiceImpl.java b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/user/AdminUserServiceImpl.java index e52b493..a568c9f 100644 --- a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/user/AdminUserServiceImpl.java +++ b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/user/AdminUserServiceImpl.java @@ -538,13 +538,7 @@ public class AdminUserServiceImpl implements AdminUserService { if (users.isEmpty()) { return null; } - AdminUserDO user = users.get(0); - Integer status = user.getStatus(); - if (Objects.equals(status, CommonStatusEnum.DISABLE.getStatus())) { - throw exception(AUTH_LOGIN_USER_DISABLED); - } else { - return user; - } + return users.get(0); } } From 7d90fef64f298e1b93fd5bbb203bd00b1a7915c0 Mon Sep 17 00:00:00 2001 From: zzs Date: Mon, 10 Mar 2025 10:10:52 +0800 Subject: [PATCH 3/5] feat:export entry data --- .../src/main/resources/application.yml | 2 +- .../crm/ExcelTemplateController.java | 11 ++-- .../crm/vs/GenerateTemplateReqVo.java | 26 +++++++++ .../controller/crm/vs/RegionOptionItem.java | 21 ++++++++ .../crm/model/DealerRegistrationModel.java | 16 ++++-- .../crm/service/ExcelTemplateService.java | 54 +++++++++++++++++-- .../system/enums/DictTypeConstants.java | 2 + .../admin/dict/vo/data/DictDataSaveReqVO.java | 2 + .../system/service/dict/DictDataService.java | 4 ++ .../service/dict/DictDataServiceImpl.java | 12 +++++ 10 files changed, 137 insertions(+), 13 deletions(-) create mode 100644 ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/vs/GenerateTemplateReqVo.java create mode 100644 ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/vs/RegionOptionItem.java diff --git a/ensign-gateway/src/main/resources/application.yml b/ensign-gateway/src/main/resources/application.yml index ecd2503..3a2d479 100644 --- a/ensign-gateway/src/main/resources/application.yml +++ b/ensign-gateway/src/main/resources/application.yml @@ -21,7 +21,7 @@ spring: - id: crm-api-proxy # ???????? uri: http://127.0.0.1:38080 predicates: - - Path=/crm-api/proxy/file/** + - Path=/crm-api/proxy/** servlet: multipart: max-file-size: 20MB diff --git a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/ExcelTemplateController.java b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/ExcelTemplateController.java index d3fa2bb..397513d 100644 --- a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/ExcelTemplateController.java +++ b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/ExcelTemplateController.java @@ -1,13 +1,15 @@ package com.ensign.crm.module.crm.controller.crm; import com.ensign.crm.framework.common.pojo.CommonResult; +import com.ensign.crm.module.crm.controller.crm.vs.GenerateTemplateReqVo; import com.ensign.crm.module.crm.model.DealerRegistrationModel; import com.ensign.crm.module.crm.service.ExcelTemplateService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @@ -30,10 +32,11 @@ public class ExcelTemplateController { @Autowired private ExcelTemplateService excelTemplateService; - @GetMapping("/download-template") + @PostMapping("/download-template") @Operation(summary = "下载经销商登记引出模板") - public void generateTemplate(HttpServletResponse response) throws IOException { - excelTemplateService.generateDealerRegistration(response); + @Transactional + public void generateTemplate(@RequestBody GenerateTemplateReqVo presetData, HttpServletResponse response) throws IOException { + excelTemplateService.generateDealerRegistration(presetData, response); } @PostMapping("/upload/parsing") diff --git a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/vs/GenerateTemplateReqVo.java b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/vs/GenerateTemplateReqVo.java new file mode 100644 index 0000000..2cd7596 --- /dev/null +++ b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/vs/GenerateTemplateReqVo.java @@ -0,0 +1,26 @@ +package com.ensign.crm.module.crm.controller.crm.vs; + +import com.ensign.crm.module.crm.model.DealerRegistrationModel; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @Description: TODO + * @Date: 2025/3/10 9:14 + * @Created: by ZZSLL + */ + + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class GenerateTemplateReqVo { + + private List data; + + private List region; + +} diff --git a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/vs/RegionOptionItem.java b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/vs/RegionOptionItem.java new file mode 100644 index 0000000..0b98c9e --- /dev/null +++ b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/vs/RegionOptionItem.java @@ -0,0 +1,21 @@ +package com.ensign.crm.module.crm.controller.crm.vs; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Description: TODO + * @Date: 2025/3/10 9:15 + * @Created: by ZZSLL + */ + + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class RegionOptionItem { + private String label; + + private String value; +} diff --git a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/model/DealerRegistrationModel.java b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/model/DealerRegistrationModel.java index a8ff339..05f802c 100644 --- a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/model/DealerRegistrationModel.java +++ b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/model/DealerRegistrationModel.java @@ -5,6 +5,7 @@ import com.ensign.crm.framework.excel.core.annotations.DictFormat; import com.ensign.crm.framework.excel.core.annotations.ExcelColumnSelect; import com.ensign.crm.framework.excel.core.convert.DictConvert; import com.ensign.crm.module.system.enums.DictTypeConstants; +import com.fasterxml.jackson.annotation.JsonAlias; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -25,18 +26,22 @@ import lombok.experimental.Accessors; public class DealerRegistrationModel { @ExcelProperty("公司名称或客户姓名") - private String yem_tcompanyname_jxs; + @JsonAlias({"yem_tcompanyname", "yem_tcompanyname_jxs"}) + private String yem_tcompanyname; @ExcelProperty("客户联系人") - private String yem_customerlxr_jxs; + @JsonAlias({"yem_customerlxr_jxs", "yem_customerlxr"}) + private String yem_customerlxr; @ExcelProperty("客户联系方式") - private String yem_customercontact_jxs; + @JsonAlias({"yem_customercontact_jxs", "yem_customercontact"}) + private String yem_customercontact; @ExcelProperty(value = "区域", converter = DictConvert.class) @DictFormat(DictTypeConstants.REGION_OPTION) @ExcelColumnSelect(dictType = DictTypeConstants.REGION_OPTION) - private String yem_region_jxs; + @JsonAlias({"yem_region_jxs", "yem_region_qy_number"}) + private String yem_region_qy_number; @ExcelProperty(value = "意向强度", converter = DictConvert.class) @DictFormat(DictTypeConstants.INTENTION_OPTION) @@ -44,6 +49,7 @@ public class DealerRegistrationModel { private String yem_intentionality; @ExcelProperty("转换客户") + @DictFormat(DictTypeConstants.BOOLEAN_OPTION) + @ExcelColumnSelect(dictType = DictTypeConstants.BOOLEAN_OPTION) private String yem_switching; - } diff --git a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/service/ExcelTemplateService.java b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/service/ExcelTemplateService.java index b71529c..64a7a9a 100644 --- a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/service/ExcelTemplateService.java +++ b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/service/ExcelTemplateService.java @@ -1,7 +1,15 @@ package com.ensign.crm.module.crm.service; +import com.ensign.crm.framework.common.enums.CommonStatusEnum; import com.ensign.crm.framework.excel.core.util.ExcelUtils; +import com.ensign.crm.module.crm.controller.crm.vs.GenerateTemplateReqVo; +import com.ensign.crm.module.crm.controller.crm.vs.RegionOptionItem; import com.ensign.crm.module.crm.model.DealerRegistrationModel; +import com.ensign.crm.module.system.controller.admin.dict.vo.data.DictDataSaveReqVO; +import com.ensign.crm.module.system.dal.dataobject.dict.DictDataDO; +import com.ensign.crm.module.system.enums.DictTypeConstants; +import com.ensign.crm.module.system.service.dict.DictDataService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -9,6 +17,8 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @Description: TODO @@ -19,15 +29,53 @@ import java.util.List; @Service public class ExcelTemplateService { + @Autowired + private DictDataService dictDataService; + /** * 经销商登记 * + * @param data * @param response */ - public void generateDealerRegistration(HttpServletResponse response) throws IOException { + public void generateDealerRegistration(GenerateTemplateReqVo data, HttpServletResponse response) throws IOException { + List region = data.getRegion(); + Map regionMap = region.stream().collect(Collectors.toMap(RegionOptionItem::getValue, RegionOptionItem::getLabel)); + List existData = dictDataService.getDictDataList(CommonStatusEnum.ENABLE.getStatus(), DictTypeConstants.REGION_OPTION); + List update = new ArrayList<>(); + List insert = new ArrayList<>(); + for (DictDataDO item : existData) { + String name = item.getLabel(); + String value = item.getValue(); + if (regionMap.containsKey(value)) { + if (!name.equals(regionMap.get(name))) { + item.setLabel(regionMap.get(value)); + update.add(item); + } + } + } - List emptyData = new ArrayList<>(); - ExcelUtils.write(response, "经销商登记引出模板.xlsx", "Sheet1", DealerRegistrationModel.class, emptyData); + Map existMap = existData.stream().collect(Collectors.toMap(DictDataDO::getValue, d -> d)); + List delete = existMap.entrySet().stream() + .filter(entry -> !regionMap.containsKey(entry.getKey())) + .map(Map.Entry::getValue) + .collect(Collectors.toList()); + + for (Map.Entry entry : regionMap.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue(); + + if (!existMap.containsKey(key)) { + insert.add(new RegionOptionItem(value, key)); + } + } + + dictDataService.updateById(update); + for (RegionOptionItem item : insert) { + dictDataService.createDictData(new DictDataSaveReqVO(null, 0, item.getLabel(), item.getValue(), DictTypeConstants.REGION_OPTION, CommonStatusEnum.ENABLE.getStatus(), null, null, null)); + } + dictDataService.deleteById(delete.stream().map(DictDataDO::getId).collect(Collectors.toSet())); + ExcelUtils.write(response, "经销商登记引出模板.xlsx", "Sheet1", DealerRegistrationModel.class, data.getData()); } public List parsingExcel(MultipartFile file) throws IOException { diff --git a/ensign-module-system/ensign-module-system-api/src/main/java/com/ensign/crm/module/system/enums/DictTypeConstants.java b/ensign-module-system/ensign-module-system-api/src/main/java/com/ensign/crm/module/system/enums/DictTypeConstants.java index 597433b..c909ff6 100644 --- a/ensign-module-system/ensign-module-system-api/src/main/java/com/ensign/crm/module/system/enums/DictTypeConstants.java +++ b/ensign-module-system/ensign-module-system-api/src/main/java/com/ensign/crm/module/system/enums/DictTypeConstants.java @@ -27,4 +27,6 @@ public interface DictTypeConstants { String REGION_OPTION = "crm_region_option"; String INTENTION_OPTION = "crm_intention_option"; + + String BOOLEAN_OPTION = "infra_boolean_string"; } diff --git a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/dict/vo/data/DictDataSaveReqVO.java b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/dict/vo/data/DictDataSaveReqVO.java index e23e22f..8ff4e5e 100644 --- a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/dict/vo/data/DictDataSaveReqVO.java +++ b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/controller/admin/dict/vo/data/DictDataSaveReqVO.java @@ -3,6 +3,7 @@ package com.ensign.crm.module.system.controller.admin.dict.vo.data; import com.ensign.crm.framework.common.enums.CommonStatusEnum; import com.ensign.crm.framework.common.validation.InEnum; import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -11,6 +12,7 @@ import javax.validation.constraints.Size; @Schema(description = "管理后台 - 字典数据创建/修改 Request VO") @Data +@AllArgsConstructor public class DictDataSaveReqVO { @Schema(description = "字典数据编号", example = "1024") diff --git a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/dict/DictDataService.java b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/dict/DictDataService.java index 56d04ce..ca1e38d 100644 --- a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/dict/DictDataService.java +++ b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/dict/DictDataService.java @@ -107,4 +107,8 @@ public interface DictDataService { */ List getDictDataListByDictType(String dictType); + + void updateById(List data); + + void deleteById(Collection ids); } diff --git a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/dict/DictDataServiceImpl.java b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/dict/DictDataServiceImpl.java index a3725c9..76be375 100644 --- a/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/dict/DictDataServiceImpl.java +++ b/ensign-module-system/ensign-module-system-biz/src/main/java/com/ensign/crm/module/system/service/dict/DictDataServiceImpl.java @@ -176,4 +176,16 @@ public class DictDataServiceImpl implements DictDataService { return list; } + + @Override + public void updateById(List data) { + dictDataMapper.updateById(data); + } + + @Override + public void deleteById(Collection ids) { + if (ids != null && !ids.isEmpty()) { + dictDataMapper.deleteByIds(ids); + } + } } From bbf9170a03db3229ccb06f95aeeab2c36067dd2a Mon Sep 17 00:00:00 2001 From: zzs Date: Mon, 10 Mar 2025 11:03:40 +0800 Subject: [PATCH 4/5] feat:export entry data --- .../crm/controller/crm/ExcelTemplateController.java | 2 +- .../module/crm/model/DealerRegistrationModel.java | 12 ++++++++---- .../crm/module/crm/service/ExcelTemplateService.java | 3 ++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/ExcelTemplateController.java b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/ExcelTemplateController.java index 397513d..7cf3478 100644 --- a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/ExcelTemplateController.java +++ b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/ExcelTemplateController.java @@ -41,7 +41,7 @@ public class ExcelTemplateController { @PostMapping("/upload/parsing") @Operation(summary = "解析经销商登记Excel数据") - public CommonResult> parsing(MultipartFile file) throws IOException { + public CommonResult> parsing(@RequestBody MultipartFile file) throws IOException { return CommonResult.success(excelTemplateService.parsingExcel(file)); } } diff --git a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/model/DealerRegistrationModel.java b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/model/DealerRegistrationModel.java index 05f802c..80a9d1a 100644 --- a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/model/DealerRegistrationModel.java +++ b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/model/DealerRegistrationModel.java @@ -6,6 +6,7 @@ import com.ensign.crm.framework.excel.core.annotations.ExcelColumnSelect; import com.ensign.crm.framework.excel.core.convert.DictConvert; import com.ensign.crm.module.system.enums.DictTypeConstants; import com.fasterxml.jackson.annotation.JsonAlias; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -27,29 +28,32 @@ public class DealerRegistrationModel { @ExcelProperty("公司名称或客户姓名") @JsonAlias({"yem_tcompanyname", "yem_tcompanyname_jxs"}) + @JsonProperty("yem_tcompanyname_jxs") private String yem_tcompanyname; @ExcelProperty("客户联系人") @JsonAlias({"yem_customerlxr_jxs", "yem_customerlxr"}) + @JsonProperty("yem_customerlxr_jxs") private String yem_customerlxr; @ExcelProperty("客户联系方式") @JsonAlias({"yem_customercontact_jxs", "yem_customercontact"}) + @JsonProperty("yem_customercontact_jxs") private String yem_customercontact; @ExcelProperty(value = "区域", converter = DictConvert.class) @DictFormat(DictTypeConstants.REGION_OPTION) @ExcelColumnSelect(dictType = DictTypeConstants.REGION_OPTION) - @JsonAlias({"yem_region_jxs", "yem_region_qy_number"}) - private String yem_region_qy_number; + @JsonAlias({"yem_region_jxs", "yem_region_qy_number", "yem_region_jxs_number"}) + private String yem_region_jxs_number; @ExcelProperty(value = "意向强度", converter = DictConvert.class) @DictFormat(DictTypeConstants.INTENTION_OPTION) @ExcelColumnSelect(dictType = DictTypeConstants.INTENTION_OPTION) private String yem_intentionality; - @ExcelProperty("转换客户") + @ExcelProperty(value = "转换客户", converter = DictConvert.class) @DictFormat(DictTypeConstants.BOOLEAN_OPTION) @ExcelColumnSelect(dictType = DictTypeConstants.BOOLEAN_OPTION) - private String yem_switching; + private Boolean yem_switching; } diff --git a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/service/ExcelTemplateService.java b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/service/ExcelTemplateService.java index 64a7a9a..3478807 100644 --- a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/service/ExcelTemplateService.java +++ b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/service/ExcelTemplateService.java @@ -79,6 +79,7 @@ public class ExcelTemplateService { } public List parsingExcel(MultipartFile file) throws IOException { - return ExcelUtils.read(file, DealerRegistrationModel.class); + List read = ExcelUtils.read(file, DealerRegistrationModel.class); + return read.stream().filter(d -> d.getYem_tcompanyname() != null && d.getYem_customerlxr() != null && d.getYem_customercontact() != null).collect(Collectors.toList()); } } From ef8c067f94899cfc9cf262042a03fdfed2ff9d13 Mon Sep 17 00:00:00 2001 From: zzs Date: Mon, 10 Mar 2025 11:39:33 +0800 Subject: [PATCH 5/5] feat:export entry data --- .../crm/module/crm/model/DealerRegistrationModel.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/model/DealerRegistrationModel.java b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/model/DealerRegistrationModel.java index 80a9d1a..2a26e16 100644 --- a/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/model/DealerRegistrationModel.java +++ b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/model/DealerRegistrationModel.java @@ -52,8 +52,8 @@ public class DealerRegistrationModel { @ExcelColumnSelect(dictType = DictTypeConstants.INTENTION_OPTION) private String yem_intentionality; - @ExcelProperty(value = "转换客户", converter = DictConvert.class) - @DictFormat(DictTypeConstants.BOOLEAN_OPTION) - @ExcelColumnSelect(dictType = DictTypeConstants.BOOLEAN_OPTION) - private Boolean yem_switching; +// @ExcelProperty(value = "转换客户", converter = DictConvert.class) +// @DictFormat(DictTypeConstants.BOOLEAN_OPTION) +// @ExcelColumnSelect(dictType = DictTypeConstants.BOOLEAN_OPTION) +// private Boolean yem_switching; }