diff --git a/admin/src/main/java/com/baiye/easyexcel/listener/CustomListener.java b/admin/src/main/java/com/baiye/easyexcel/listener/CustomListener.java index 8158854..cb48162 100644 --- a/admin/src/main/java/com/baiye/easyexcel/listener/CustomListener.java +++ b/admin/src/main/java/com/baiye/easyexcel/listener/CustomListener.java @@ -20,6 +20,7 @@ public class CustomListener extends AnalysisEventListener> public final LinkedList headInfo = new LinkedList<>(); + public Integer index = 0; /** * 监听类不被spring管理,选择手动注入service */ @@ -45,13 +46,16 @@ public class CustomListener extends AnalysisEventListener> String param = data.get(i); if (str.equals(UploadTemplateHeadConstant.HEAD_NID)) customDTO.setCustomNid(param); else if (str.equals(UploadTemplateHeadConstant.HEAD_REMARK)) customDTO.setRemark(param); - int index = userIdList.size() % (i+1); - customDTO.setDistributorId(userIdList.get(index)); } + customDTO.setDistributorId(userIdList.get(index)); customDTO.setCreateBy(clueRecordEntity.getCreateBy()); customDTO.setChannelType(2); customDTO.setChannelName(readFileDTO.getChannelName()); + customDTO.setEnrollStatus(1); + customDTO.setCustomType(1); + customDTO.setType(2); customService.add(customDTO); + index = (index < userIdList.size() - 1) ? index + 1 : 0; } @Override diff --git a/admin/src/main/java/com/baiye/modules/distribute/controller/CustomController.java b/admin/src/main/java/com/baiye/modules/distribute/controller/CustomController.java index bbab24f..a0859d7 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/controller/CustomController.java +++ b/admin/src/main/java/com/baiye/modules/distribute/controller/CustomController.java @@ -66,8 +66,6 @@ public class CustomController { return Boolean.TRUE.equals(customService.createByType(createCustomDTO)) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "添加失败"); } - - @PostMapping("/update") @Operation(summary = "修改客户", description = "修改客户") public R update(@Validated({UpdateGroup.class}) @RequestBody CustomDTO customDTO) { @@ -90,12 +88,11 @@ public class CustomController { @PostMapping("/audit") @Operation(summary = "审核表单") - public R audit(@Validated({SubmitGroup.class}) @RequestBody CustomDTO customDTO) { - Boolean result = customService.auditFormById(customDTO); + public R audit(@Validated({SubmitGroup.class}) @RequestBody ChangeCustomDTO dto) { + Boolean result = customService.auditFormById(dto); return Boolean.TRUE.equals(result) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "审核失败"); } - @ResponseExcel(name = "客户表单") @GetMapping("/export") public List exportI18nData(CustomQo customQo) { @@ -109,7 +106,6 @@ public class CustomController { } - @PostMapping("/reAudit") @Operation(summary = "表单重审") public R reAudit(@Validated({UpdateGroup.class}) @RequestBody ChangeCustomDTO dto) { @@ -117,7 +113,6 @@ public class CustomController { return Boolean.TRUE.equals(result) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "审核失败"); } - private void setQueryQo(CustomQo customQo) { Integer salesmanType = customQo.getSalesmanType(); // 查询属于自己的信息 @@ -133,10 +128,12 @@ public class CustomController { if (salesmanType == DefaultNumberConstants.TWO_NUMBER) { // 查询分发员 customQo.setDistributorId(SecurityUtils.getCurrentUserId()); + customQo.setType(2); } if (salesmanType == DefaultNumberConstants.THREE_NUMBER) { // 只查询复审员 customQo.setReviewUserId(SecurityUtils.getCurrentUserId()); + customQo.setType(3); } } } diff --git a/admin/src/main/java/com/baiye/modules/distribute/dto/ChangeCustomDTO.java b/admin/src/main/java/com/baiye/modules/distribute/dto/ChangeCustomDTO.java index 3aa14e9..caa2210 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/dto/ChangeCustomDTO.java +++ b/admin/src/main/java/com/baiye/modules/distribute/dto/ChangeCustomDTO.java @@ -29,5 +29,5 @@ public class ChangeCustomDTO { /** * 业务员用户ID */ - private List salesmanUserIdList; + private List salesmanUserId; } diff --git a/admin/src/main/java/com/baiye/modules/distribute/dto/ClueDTO.java b/admin/src/main/java/com/baiye/modules/distribute/dto/ClueDTO.java index 6a85f26..d23f54e 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/dto/ClueDTO.java +++ b/admin/src/main/java/com/baiye/modules/distribute/dto/ClueDTO.java @@ -1,9 +1,7 @@ package com.baiye.modules.distribute.dto; -import com.baiye.extend.mybatis.plus.converter.JsonStringArrayTypeHandler; import com.baiye.modules.distribute.entity.LabelEntity; import com.baiye.validation.group.UpdateGroup; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Builder; @@ -76,7 +74,6 @@ public class ClueDTO { @Schema(title = "客户资料") private String customInformation; - @TableField(value = "channel_identifying", typeHandler = JsonStringArrayTypeHandler.class) @Schema(title = "渠道标识") private List channelIdentifying; diff --git a/admin/src/main/java/com/baiye/modules/distribute/dto/CustomDTO.java b/admin/src/main/java/com/baiye/modules/distribute/dto/CustomDTO.java index 188fab7..5fdd50b 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/dto/CustomDTO.java +++ b/admin/src/main/java/com/baiye/modules/distribute/dto/CustomDTO.java @@ -2,7 +2,6 @@ package com.baiye.modules.distribute.dto; import com.baiye.modules.distribute.entity.CustomStoreEntity; import com.baiye.validation.group.CreateGroup; -import com.baiye.validation.group.SubmitGroup; import com.baiye.validation.group.UpdateGroup; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -15,7 +14,7 @@ import java.util.List; public class CustomDTO { @Schema(title = "ID") - @NotNull(message = "ID不能为空", groups = { UpdateGroup.class, SubmitGroup.class }) + @NotNull(message = "ID不能为空", groups = { UpdateGroup.class }) private Long customId; @Schema(title = "客户名称") @@ -51,8 +50,11 @@ public class CustomDTO { @Schema(title = "备注") private String remark; - @Schema(title = "客户类型 0:A型 1:B型") - @NotNull(message = "客户类型不能为空") + @Schema(description = "审核类型 2初审 3复审") + private Integer type; + + @Schema(title = "客户类型 0:地理 1:基本") + @NotNull(message = "客户类型不能为空", groups = { CreateGroup.class }) private Integer customType; @Schema(title = "门店信息") @@ -61,28 +63,21 @@ public class CustomDTO { @Schema(title = "创建人") private Long createBy; - @Schema(title = "客户资料") - private String customInformation; - @Schema(title = "渠道类型(1 手动创建 2文件上传 3飞鱼回传 4话单回传 5 api回传)") private Integer channelType; @Schema(title = "渠道名称") private String channelName; - @Schema(title = "复审员id") - private Long reviewUserId; - @Schema(title = "分发员id") private Long distributorId; - @Schema(title = "性别(0-男,1-女)") - private Integer sex; + @Schema(title = "业务员ID集合") + private List salesmanUserId; - @Schema(title = "业务员用户ID") - private List salesmanUserIdList; + @Schema(title = "客户资料") + private String customInformation; - @Schema(title = "分发员分发时状态:0-地理分发 1-基础分发 2-复审") - @NotNull(message = "状态不能为空", groups = { SubmitGroup.class }) - private Integer status; + @Schema(title = "性别(0-男,1-女)") + private Integer sex; } diff --git a/admin/src/main/java/com/baiye/modules/distribute/entity/ClueEntity.java b/admin/src/main/java/com/baiye/modules/distribute/entity/ClueEntity.java index 42e3e3d..2c1bbd8 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/entity/ClueEntity.java +++ b/admin/src/main/java/com/baiye/modules/distribute/entity/ClueEntity.java @@ -17,7 +17,7 @@ import java.util.List; @Getter @Setter @ToString -@TableName("tb_clue") +@TableName(value = "tb_clue", autoResultMap = true) @Schema(title = "线索") @TableAlias("ce") public class ClueEntity extends LogicDeletedBaseEntity { diff --git a/admin/src/main/java/com/baiye/modules/distribute/entity/CustomEntity.java b/admin/src/main/java/com/baiye/modules/distribute/entity/CustomEntity.java index ab16197..f946a94 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/entity/CustomEntity.java +++ b/admin/src/main/java/com/baiye/modules/distribute/entity/CustomEntity.java @@ -22,7 +22,7 @@ import java.util.List; */ @Getter @Setter -@TableName("tb_custom") +@TableName(value = "tb_custom", autoResultMap = true) @TableAlias("cm") @Validated @Schema(title = "客户表") diff --git a/admin/src/main/java/com/baiye/modules/distribute/mapper/ClueMapper.java b/admin/src/main/java/com/baiye/modules/distribute/mapper/ClueMapper.java index e8075d9..aae1a88 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/mapper/ClueMapper.java +++ b/admin/src/main/java/com/baiye/modules/distribute/mapper/ClueMapper.java @@ -3,13 +3,18 @@ package com.baiye.modules.distribute.mapper; import com.baiye.domain.PageParam; import com.baiye.domain.PageResult; import com.baiye.extend.mybatis.plus.conditions.query.LambdaAliasQueryWrapperX; +import com.baiye.extend.mybatis.plus.conditions.query.LambdaQueryWrapperX; import com.baiye.extend.mybatis.plus.mapper.ExtendMapper; import com.baiye.extend.mybatis.plus.toolkit.WrappersX; +import com.baiye.modules.distribute.converter.ClueConverter; +import com.baiye.modules.distribute.converter.PushLinkConverter; import com.baiye.modules.distribute.dto.HomePageDTO; import com.baiye.modules.distribute.entity.ClueEntity; +import com.baiye.modules.distribute.entity.PushLinkEntity; import com.baiye.modules.distribute.qo.ClueQo; import com.baiye.modules.distribute.qo.HomePageQo; import com.baiye.modules.distribute.vo.ClueVO; +import com.baiye.modules.distribute.vo.PushLinkVO; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; @@ -25,14 +30,13 @@ public interface ClueMapper extends ExtendMapper { List findUndistributedClueIds(@Param("list") List recordIdList); default PageResult queryPage(PageParam pageParam, ClueQo qo) { - IPage page = this.prodPage(pageParam); + IPage page = this.prodPage(pageParam); Wrapper wrapperX = this.buildQueryWrapper(qo); - this.selectByPage(page, wrapperX); - return new PageResult<>(page.getRecords(), page.getTotal()); + this.selectPage(page, wrapperX); + IPage convert = page.convert(ClueConverter.INSTANCE::poToExcelVo); + return new PageResult<>(convert.getRecords(), convert.getTotal()); } - IPage selectByPage(IPage page, @Param(Constants.WRAPPER) Wrapper wrapper); - /** * 查询新 * @param qo @@ -57,7 +61,8 @@ public interface ClueMapper extends ExtendMapper { * @return LambdaQueryWrapperX */ default Wrapper buildQueryWrapper(ClueQo qo) { - LambdaAliasQueryWrapperX wrapperX = WrappersX.lambdaAliasQueryX(ClueEntity.class); + + LambdaQueryWrapperX wrapperX = WrappersX.lambdaQueryX(ClueEntity.class); wrapperX.eqIfPresent(ClueEntity::getDeleted, 0) .eqIfPresent(ClueEntity::getNid, qo.getNid()) .eqIfPresent(ClueEntity::getClueId, qo.getClueId()) diff --git a/admin/src/main/java/com/baiye/modules/distribute/mapper/CustomMapper.java b/admin/src/main/java/com/baiye/modules/distribute/mapper/CustomMapper.java index fc5ff28..99d0265 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/mapper/CustomMapper.java +++ b/admin/src/main/java/com/baiye/modules/distribute/mapper/CustomMapper.java @@ -31,13 +31,11 @@ public interface CustomMapper extends ExtendMapper { IPage selectByPage(IPage page, @Param(Constants.WRAPPER) Wrapper wrapper, @Param("storeId") Long storeId); - /** * 查询最大编号 */ String selectMaxBatchNoByCompanyId(@Param("code") String code, @Param("companyId") Long companyId); - /** * 根据 qo 构造查询 wrapper * @@ -54,6 +52,7 @@ public interface CustomMapper extends ExtendMapper { .eqIfPresent(CustomEntity::getCompanyId, qo.getCompanyId()) .eqIfPresent(CustomEntity::getCustomNid, qo.getCustomNid()) .eqIfPresent(CustomEntity::getReviewUserId, qo.getReviewUserId()) + .eqIfPresent(CustomEntity::getType, qo.getType()) .eqIfPresent(CustomEntity::getDistributorId, qo.getDistributorId()) .gtIfPresent(CustomEntity::getEnrollStatus, qo.getGreaterStatus()) .eqIfPresent(CustomEntity::getEnrollStatus, qo.getEnrollStatus()); @@ -66,6 +65,7 @@ public interface CustomMapper extends ExtendMapper { } return wrapperX; } + default List queryList(CustomQo customQo) { default List queryList(CustomQo customQo) { diff --git a/admin/src/main/java/com/baiye/modules/distribute/qo/CustomQo.java b/admin/src/main/java/com/baiye/modules/distribute/qo/CustomQo.java index 5c74078..d943fbf 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/qo/CustomQo.java +++ b/admin/src/main/java/com/baiye/modules/distribute/qo/CustomQo.java @@ -43,24 +43,21 @@ public class CustomQo { @Schema(title = "编号") private String batchNo; - @Schema(title = "门店id") private Long storeId; - @Schema(title = "备注") private String remark; @Schema(title = "复审员id") private Long reviewUserId; - @Schema(title = "复审员id") + @Schema(title = "分发员id") private Long distributorId; - @Parameter(description = "大于状态值") private Integer greaterStatus; - - + @Schema(description = "审核类型 2初审 3复审") + private Integer type; } diff --git a/admin/src/main/java/com/baiye/modules/distribute/service/CustomService.java b/admin/src/main/java/com/baiye/modules/distribute/service/CustomService.java index ec6f03b..27c1076 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/service/CustomService.java +++ b/admin/src/main/java/com/baiye/modules/distribute/service/CustomService.java @@ -45,7 +45,7 @@ public interface CustomService extends ExtendService { /** * 审批表单 */ - Boolean auditFormById(CustomDTO customDTO); + Boolean auditFormById(ChangeCustomDTO dto); /** * 重新审核操作 diff --git a/admin/src/main/java/com/baiye/modules/distribute/service/impl/ClueFileServiceImpl.java b/admin/src/main/java/com/baiye/modules/distribute/service/impl/ClueFileServiceImpl.java index 53975fe..6c049f8 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/service/impl/ClueFileServiceImpl.java +++ b/admin/src/main/java/com/baiye/modules/distribute/service/impl/ClueFileServiceImpl.java @@ -1,5 +1,6 @@ package com.baiye.modules.distribute.service.impl; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.poi.excel.ExcelReader; import com.alibaba.excel.EasyExcelFactory; import com.baiye.constant.DefaultNumberConstants; @@ -69,12 +70,16 @@ public class ClueFileServiceImpl implements ClueFileService { @Override public void readFile(ReadFileDTO readFileDTO) { - ClueRecordEntity clueRecordEntity = clueRecordService.getById(readFileDTO.getRecordId()); - try { - FileInputStream file = new FileInputStream(clueRecordEntity.getUrl()); - EasyExcelFactory.read(file, new CustomListener(customService, clueRecordEntity, readFileDTO)).build().readAll(); - } catch (FileNotFoundException e) { - log.error("========文件读取错误: {}==========", e.getMessage()); + ClueRecordEntity clueRecordEntity = clueRecordService.getBaseMapper().selectOne(new LambdaQueryWrapper() + .eq(ClueRecordEntity::getClueRecordId, readFileDTO.getRecordId()) + .eq(ClueRecordEntity::getCreateBy, SecurityUtils.getCurrentUserId())); + if (ObjectUtil.isNotNull(clueRecordEntity)){ + try { + FileInputStream file = new FileInputStream(clueRecordEntity.getUrl()); + EasyExcelFactory.read(file, new CustomListener(customService, clueRecordEntity, readFileDTO)).build().readAll(); + } catch (FileNotFoundException e) { + log.error("========文件读取错误: {}==========", e.getMessage()); + } } } diff --git a/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java b/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java index c357cc8..d71c69b 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java +++ b/admin/src/main/java/com/baiye/modules/distribute/service/impl/CustomServiceImpl.java @@ -30,7 +30,6 @@ import com.baiye.system.constant.LetterConst; import com.baiye.system.enums.RoleCodeEnum; import com.baiye.system.model.entity.SysUser; import com.baiye.system.service.SysUserRoleService; -import com.baiye.system.model.entity.SysUser; import com.baiye.system.service.SysUserService; import com.baiye.util.AESUtils; import com.baiye.utils.SerialCode; @@ -48,6 +47,7 @@ import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -67,13 +67,10 @@ public class CustomServiceImpl extends ExtendServiceImpl queryPage(PageParam pageParam, CustomQo qo) { - PageResult customVOPageResult = baseMapper.queryPage(pageParam, qo); - /*List records = customVOPageResult.getRecords(); - // 返回数据处理 - if (CollUtil.isNotEmpty(records)) { - for (CustomVO record : records) { - if (record.getEnrollStatus() == 2) { - StringBuilder stringBuilder = new StringBuilder(record.getCustomNid()); - record.setCustomNid(stringBuilder.replace(3, 7, "****").toString()); - } - } - }*/ - return customVOPageResult; + return baseMapper.queryPage(pageParam, qo); } @Override @@ -105,8 +91,10 @@ public class CustomServiceImpl extends ExtendServiceImpl customStoreEntities = customDTO.getCustomStoreEntities(); - customStoreEntities.forEach(c -> c.setCustomId(customEntity.getCustomId())); - customStoreService.saveBatch(customStoreEntities); + if (CollUtil.isNotEmpty(customStoreEntities)){ + customStoreEntities.forEach(c -> c.setCustomId(customEntity.getCustomId())); + customStoreService.saveBatch(customStoreEntities); + } return SqlHelper.retBool(insert); } @@ -125,6 +113,9 @@ public class CustomServiceImpl extends ExtendServiceImpl customStoreVOList = new ArrayList<>(); List customStores = customStoreService.selectListByCustomId(id); @@ -159,16 +150,13 @@ public class CustomServiceImpl extends ExtendServiceImpl salesmanUserIdList = customDTO.getSalesmanUserIdList(); - Long reviewUserId = customDTO.getReviewUserId(); + public Boolean auditFormById(ChangeCustomDTO dto) { + Integer status = dto.getStatus(); + List salesmanUserIdList = dto.getSalesmanUserId(); Long currentUserId = SecurityUtils.getCurrentUserId(); - CustomEntity updateCustomEntity = CustomConverter.INSTANCE.dtoToPo(customDTO); List list = Lists.newArrayList(); - CustomEntity customEntity = baseMapper.selectById(customId); + CustomEntity customEntity = baseMapper.selectById(dto.getCustomId()); if (ObjectUtil.isNotNull(customEntity)) { String phone = AESUtils.encrypt(customEntity.getCustomNid(), securityProperties.getPasswordSecretKey()); Long companyId = customEntity.getCompanyId(); @@ -178,7 +166,7 @@ public class CustomServiceImpl extends ExtendServiceImpl customStores = customStoreService.selectListByCustomId(customId); + List customStores = customStoreService.selectListByCustomId(dto.getCustomId()); if (CollUtil.isNotEmpty(customStores)) { for (CustomStoreEntity store : customStores) { Long clueId = IdUtil.getSnowflake(workerId, datacenterId).nextId(); @@ -188,8 +176,8 @@ public class CustomServiceImpl extends ExtendServiceImpl customStoreEntities = customDTO.getCustomStoreEntities(); - if (StringUtils.isBlank(economize) || StringUtils.isBlank(market)) - throw new BadRequestException("省市不能为空"); + if (StringUtils.isBlank(economize) || StringUtils.isBlank(market)) throw new BadRequestException("省市不能为空"); if (StringUtils.isBlank(detailAddress)) throw new BadRequestException("详细地址不能为空"); if (StringUtils.isBlank(radius)) throw new BadRequestException("半径不能为空"); if (CollUtil.isEmpty(customStoreEntities)) throw new BadRequestException("门店信息不能为空"); diff --git a/admin/src/main/java/com/baiye/modules/distribute/vo/ClueVO.java b/admin/src/main/java/com/baiye/modules/distribute/vo/ClueVO.java index 2472602..2a6cbab 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/vo/ClueVO.java +++ b/admin/src/main/java/com/baiye/modules/distribute/vo/ClueVO.java @@ -1,8 +1,11 @@ package com.baiye.modules.distribute.vo; import com.alibaba.excel.annotation.ExcelIgnore; +import com.baiye.extend.mybatis.plus.converter.JsonStringArrayTypeHandler; import com.baiye.modules.distribute.entity.ClueStageEntity; import com.baiye.modules.distribute.entity.LabelOrganizeEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -73,4 +76,16 @@ public class ClueVO { @Schema(title = "阶段信息") List clueStageEntities; + @Schema(title = "性别(0-男,1-女)") + private Integer sex; + + @Schema(title = "客户资料") + private String customInformation; + + @Schema(title = "渠道标识") + private List channelIdentifying; + + @Schema(title = "渠道类型渠道类型(1 手动创建 2文件上传 3飞鱼回传 4话单回传 5 api回传)") + private Integer channelType; + } diff --git a/admin/src/main/java/com/baiye/modules/distribute/vo/CustomVO.java b/admin/src/main/java/com/baiye/modules/distribute/vo/CustomVO.java index 391604e..ca46072 100644 --- a/admin/src/main/java/com/baiye/modules/distribute/vo/CustomVO.java +++ b/admin/src/main/java/com/baiye/modules/distribute/vo/CustomVO.java @@ -72,12 +72,18 @@ public class CustomVO { @Schema(title = "备注") private String remark; - @Schema(title = "客户类型 0:A型 1:B型") + @Schema(title = "客户类型 0:地理 1:基本") private Integer customType; - @Schema(title = "渠道类型") + @Schema(title = "渠道类型渠道类型(1 手动创建 2文件上传 3飞鱼回传 4话单回传 5 api回传)") private Integer channelType; - @Schema(title = "渠道标识") - private Integer channelFlag; + @Schema(title = "性别(0-男,1-女)") + private Integer sex; + + @Schema(title = "客户资料") + private String customInformation; + + @Schema(title = "业务员ID集合") + private List salesmanUserId; } diff --git a/admin/src/main/resources/mapper/ClueMapper.xml b/admin/src/main/resources/mapper/ClueMapper.xml index 1186cab..0c67f36 100644 --- a/admin/src/main/resources/mapper/ClueMapper.xml +++ b/admin/src/main/resources/mapper/ClueMapper.xml @@ -20,7 +20,12 @@ ce.create_time, ce.assigned_name, ce.clue_stage_id, - ce.clue_stage_name + ce.clue_stage_name, + ce.sex, + ce.custom_information, + ce.channel_identifying, + ce.channel_type + - SELECT FROM