修改逻辑代码

master
bynt 10 months ago
parent 590033e4f2
commit 4167aa9a01

@ -15,6 +15,7 @@
*/ */
package com.baiye.enums; package com.baiye.enums;
import com.baiye.constant.DefaultNumberConstants;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
@ -42,6 +43,16 @@ public enum SalesManEnum {
*/ */
FIRST_INSTANCE(20L, 2), FIRST_INSTANCE(20L, 2),
/**
*
*/
SALESMAN(23L, 4),
/**
*
*/
EXECUTIVE(14L, 0),
/** /**
* *
*/ */
@ -59,6 +70,7 @@ public enum SalesManEnum {
return salesManEnum.getType(); return salesManEnum.getType();
} }
} }
return 0; return DefaultNumberConstants.MINUS_ONE_NUMBER;
} }
} }

@ -54,6 +54,16 @@
<artifactId>spring-webmvc</artifactId> <artifactId>spring-webmvc</artifactId>
</dependency> </dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
<dependency>
<groupId>com.baiye</groupId>
<artifactId>common-util</artifactId>
</dependency>
<!-- 测试使用 --> <!-- 测试使用 -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>

@ -0,0 +1,50 @@
package com.baiye.common.excel.converters;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.converters.ReadConverterContext;
import com.alibaba.excel.converters.WriteConverterContext;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.baiye.util.AESUtils;
import java.util.Objects;
/**
* @author Enzo
* @date : 2023/12/8
*/
public class BooleanStringConverter implements Converter<String> {
@Override
public Class<?> supportJavaTypeKey() {
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
/**
*
*
* @param context
* @return
*/
@Override
public String convertToJavaData(ReadConverterContext<?> context) {
return context.getReadCellData().getStringValue().equals(Boolean.TRUE.toString()) ? "是" : "否";
}
/**
*
*
* @return
*/
@Override
public WriteCellData<?> convertToExcelData(WriteConverterContext<String> context) {
return new WriteCellData<>(Boolean.parseBoolean(context.getValue()) ? "是" : "否");
}
}

@ -0,0 +1,45 @@
package com.baiye.common.excel.converters;
import cn.hutool.json.JSONUtil;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.converters.ReadConverterContext;
import com.alibaba.excel.converters.WriteConverterContext;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.data.WriteCellData;
/**
* @author Enzo
* @date : 2023/12/8
*/
public class CustomStringStringConverter implements Converter<String> {
@Override
public Class<?> supportJavaTypeKey() {
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
/**
*
*
* @param context
* @return
*/
@Override
public String convertToJavaData(ReadConverterContext<?> context) {
return "自定义:" + context.getReadCellData().getStringValue();
}
/**
*
*
* @return
*/
@Override
public WriteCellData<?> convertToExcelData(WriteConverterContext<String> context) {
return new WriteCellData<>(JSONUtil.toJsonStr(context.getValue()));
}
}

@ -0,0 +1,51 @@
package com.baiye.common.excel.converters;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.converters.ReadConverterContext;
import com.alibaba.excel.converters.WriteConverterContext;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.baiye.util.AESUtils;
import java.util.Objects;
/**
* @author Enzo
* @date : 2023/12/8
*/
public class NidStringConverter implements Converter<String> {
@Override
public Class<?> supportJavaTypeKey() {
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
/**
*
*
* @param context
* @return
*/
@Override
public String convertToJavaData(ReadConverterContext<?> context) {
return Objects.requireNonNull(AESUtils.encrypt(context.getReadCellData().getStringValue(), "==ad-distribute="));
}
/**
*
*
* @return
*/
@Override
public WriteCellData<?> convertToExcelData(WriteConverterContext<String> context) {
return ObjectUtil.isNotNull(context.getValue()) ? new WriteCellData<>
(AESUtils.decrypt(context.getValue(), "==ad-distribute=")) : new WriteCellData<>(CharSequenceUtil.EMPTY);
}
}

@ -3,11 +3,14 @@ package hccake.ballcat.excel.application;
import com.baiye.common.excel.annotation.ResponseExcel; import com.baiye.common.excel.annotation.ResponseExcel;
import com.baiye.common.excel.annotation.Sheet; import com.baiye.common.excel.annotation.Sheet;
import com.baiye.common.excel.head.EmptyHeadGenerator; import com.baiye.common.excel.head.EmptyHeadGenerator;
import org.apache.commons.compress.utils.Lists;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
/** /**
@ -27,7 +30,7 @@ public class ExcelExportTestController {
data.setPassword("password" + i); data.setPassword("password" + i);
dataList.add(data); dataList.add(data);
} }
return dataList; return new ArrayList<>(Collections.singletonList(new DemoData()));
} }
@ResponseExcel(name = "test-export", template = "template.xlsx", headGenerator = EmptyHeadGenerator.class) @ResponseExcel(name = "test-export", template = "template.xlsx", headGenerator = EmptyHeadGenerator.class)

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.ListUtil; import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baiye.constant.DefaultNumberConstants; import com.baiye.constant.DefaultNumberConstants;
import com.baiye.domain.PageParam; import com.baiye.domain.PageParam;
@ -140,7 +141,7 @@ public class SysUserServiceImpl extends ExtendServiceImpl<SysUserMapper, SysUser
public UserInfoDTO findUserInfo(SysUser sysUser) { public UserInfoDTO findUserInfo(SysUser sysUser) {
UserInfoDTO userInfoDTO = new UserInfoDTO(); UserInfoDTO userInfoDTO = new UserInfoDTO();
userInfoDTO.setSysUser(sysUser); userInfoDTO.setSysUser(sysUser);
userInfoDTO.setSalesmanType(0); userInfoDTO.setSalesmanType(DefaultNumberConstants.MINUS_ONE_NUMBER);
Boolean isAdmin = Boolean.FALSE; Boolean isAdmin = Boolean.FALSE;
// 超级管理员拥有所有角色 // 超级管理员拥有所有角色
List<SysRole> roleList; List<SysRole> roleList;
@ -150,11 +151,12 @@ public class SysUserServiceImpl extends ExtendServiceImpl<SysUserMapper, SysUser
roleList = sysUserRoleService.listRoles(sysUser.getUserId()); roleList = sysUserRoleService.listRoles(sysUser.getUserId());
// 判断用户角色 // 判断用户角色
Set<Long> roleIdSet = roleList.stream().map(SysRole::getId).collect(Collectors.toSet()); Set<Long> roleIdSet = roleList.stream().map(SysRole::getId).collect(Collectors.toSet());
if (Boolean.FALSE.equals(isAdmin) if (Boolean.FALSE.equals(isAdmin)) {
&& adminUserChecker.isSalesman(roleIdSet)) {
for (Long id : roleIdSet) { for (Long id : roleIdSet) {
if (SalesManEnum.find(id) > 0) { Integer type = SalesManEnum.find(id);
userInfoDTO.setSalesmanType(SalesManEnum.find(id)); if (ObjectUtil.isNotNull(type)
&& type > DefaultNumberConstants.MINUS_ONE_NUMBER) {
userInfoDTO.setSalesmanType(type);
break; break;
} }
} }
@ -548,9 +550,9 @@ public class SysUserServiceImpl extends ExtendServiceImpl<SysUserMapper, SysUser
if (sysUser.getChargingStatus() == 1) { if (sysUser.getChargingStatus() == 1) {
Integer residueClueNum = balanceVO.getResidueClueNum(); Integer residueClueNum = balanceVO.getResidueClueNum();
if (residueClueNum < 1) { if (residueClueNum < 1) {
if (StringUtils.isNotBlank(storeName)){ if (StringUtils.isNotBlank(storeName)) {
throw new BadRequestException("用户" + balanceVO.getUsername() + "\n店铺:" + storeName + "\n可用数量不足!"); throw new BadRequestException("用户" + balanceVO.getUsername() + "\n店铺:" + storeName + "\n可用数量不足!");
} else{ } else {
throw new BadRequestException("用户" + balanceVO.getUsername() + "\n可用数量不足!"); throw new BadRequestException("用户" + balanceVO.getUsername() + "\n可用数量不足!");
} }
} }

@ -1,19 +1,16 @@
package com.baiye.modules.distribute.controller; package com.baiye.modules.distribute.controller;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baiye.common.excel.annotation.ResponseExcel; import com.baiye.common.excel.annotation.ResponseExcel;
import com.baiye.constant.DefaultNumberConstants;
import com.baiye.domain.PageParam; import com.baiye.domain.PageParam;
import com.baiye.domain.PageResult; import com.baiye.domain.PageResult;
import com.baiye.modules.distribute.converter.ClueConverter;
import com.baiye.modules.distribute.converter.CustomConverter;
import com.baiye.modules.distribute.dto.ClueDTO; import com.baiye.modules.distribute.dto.ClueDTO;
import com.baiye.modules.distribute.entity.ClueEntity; import com.baiye.modules.distribute.entity.ClueEntity;
import com.baiye.modules.distribute.entity.CustomEntity;
import com.baiye.modules.distribute.qo.ClueQo; import com.baiye.modules.distribute.qo.ClueQo;
import com.baiye.modules.distribute.qo.CustomQo;
import com.baiye.modules.distribute.service.ClueService; import com.baiye.modules.distribute.service.ClueService;
import com.baiye.modules.distribute.vo.ClueVO; import com.baiye.modules.distribute.vo.ClueVO;
import com.baiye.modules.distribute.vo.CustomVO;
import com.baiye.notify.event.UserAnnouncementReadEvent; import com.baiye.notify.event.UserAnnouncementReadEvent;
import com.baiye.result.BaseResultCode; import com.baiye.result.BaseResultCode;
import com.baiye.result.R; import com.baiye.result.R;
@ -27,9 +24,7 @@ import org.springframework.context.ApplicationContext;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@ -42,9 +37,18 @@ public class ClueController {
private final ApplicationContext publisher; private final ApplicationContext publisher;
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "分页查询资源") @Operation(summary = "分页查询资源")
public R<PageResult<ClueVO>> getClueRecordPage(@Validated PageParam pageParam, ClueQo qo) { public R<PageResult<ClueVO>> getClueRecordPage(@Validated PageParam pageParam, ClueQo qo) {
if (ObjectUtil.isNotNull(qo.getSalesmanType())) {
if (qo.getSalesmanType() == DefaultNumberConstants.FOUR_NUMBER) {
qo.setAssignedBy(SecurityUtils.getCurrentUserId());
}
if (qo.getSalesmanType() == DefaultNumberConstants.ZERO_NUMBER) {
qo.setCompanyId(SecurityUtils.getCurrentUserId());
}
}
return R.ok(clueService.queryPage(pageParam, qo)); return R.ok(clueService.queryPage(pageParam, qo));
} }
@ -69,11 +73,19 @@ public class ClueController {
return R.ok(clueService.details(clueId, qo)); return R.ok(clueService.details(clueId, qo));
} }
@Operation(summary = "修改是否有效")
@GetMapping("/changeIsEffective")
public R<Object> update(Long id, Integer effective) {
clueService.changeEffective(id, effective);
return R.ok();
}
@ResponseExcel(name = "线索表单") @ResponseExcel(name = "线索表单")
@GetMapping("/export") @GetMapping("/export")
public List<ClueVO> exportClueData(ClueQo qo) { public List<ClueVO> exportClueData(ClueQo qo) {
List<ClueVO> list = clueService.queryList(qo); List<ClueVO> list = clueService.queryList(qo);
return CollUtil.isEmpty(list) ? Lists.newArrayList() : list; return CollUtil.isEmpty(list) ? Lists.newArrayList(new ClueVO()) : list;
} }
} }

@ -65,9 +65,12 @@ public class ClueEntity extends LogicDeletedBaseEntity {
@Schema(title = "资源所打的阶段名称") @Schema(title = "资源所打的阶段名称")
private String clueStageName; private String clueStageName;
@Schema(title = "资源线索ID") @Schema(title = "是否新线索")
private Boolean isNewClue; private Boolean isNewClue;
@Schema(title = "是否有效")
private Boolean isEffective;
@Schema(title = "太空猫传递的线索ID") @Schema(title = "太空猫传递的线索ID")
private Long variable; private Long variable;

@ -14,7 +14,7 @@ import java.util.List;
@Getter @Getter
@Setter @Setter
@TableName(value = "tb_push_link",autoResultMap = true) @TableName(value = "tb_push_link", autoResultMap = true)
@Schema(title = "推送链接") @Schema(title = "推送链接")
@TableAlias("pl") @TableAlias("pl")
public class PushLinkEntity extends BaseEntity { public class PushLinkEntity extends BaseEntity {

@ -2,28 +2,22 @@ package com.baiye.modules.distribute.mapper;
import com.baiye.domain.PageParam; import com.baiye.domain.PageParam;
import com.baiye.domain.PageResult; 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.conditions.query.LambdaQueryWrapperX;
import com.baiye.extend.mybatis.plus.mapper.ExtendMapper; import com.baiye.extend.mybatis.plus.mapper.ExtendMapper;
import com.baiye.extend.mybatis.plus.toolkit.WrappersX; import com.baiye.extend.mybatis.plus.toolkit.WrappersX;
import com.baiye.modules.distribute.converter.ClueConverter; 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.dto.HomePageDTO;
import com.baiye.modules.distribute.entity.ClueEntity; 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.ClueQo;
import com.baiye.modules.distribute.qo.HomePageQo; import com.baiye.modules.distribute.qo.HomePageQo;
import com.baiye.modules.distribute.vo.ClueVO; 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.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map;
public interface ClueMapper extends ExtendMapper<ClueEntity> { public interface ClueMapper extends ExtendMapper<ClueEntity> {
@ -52,7 +46,7 @@ public interface ClueMapper extends ExtendMapper<ClueEntity> {
* @param wrapperX * @param wrapperX
* @return * @return
*/ */
List<ClueVO> selectListByQo(Wrapper<ClueEntity> wrapperX); List<ClueVO> selectListByQo(@Param(Constants.WRAPPER) Wrapper<ClueEntity> wrapperX);
/** /**

@ -31,4 +31,7 @@ public class ClueQo {
@Schema(title = "资源标签") @Schema(title = "资源标签")
private String clueLabelName; private String clueLabelName;
@Schema(title = "业务类型")
private Integer salesmanType;
} }

@ -50,4 +50,12 @@ public interface ClueService extends ExtendService<ClueEntity> {
* @return * @return
*/ */
List<ClueVO> queryList(ClueQo qo); List<ClueVO> queryList(ClueQo qo);
/**
*
* @param id
* @param effective
* @return
*/
Boolean changeEffective(Long id, Integer effective);
} }

@ -9,6 +9,7 @@ import com.baiye.constant.DefaultNumberConstants;
import com.baiye.domain.PageParam; import com.baiye.domain.PageParam;
import com.baiye.domain.PageResult; import com.baiye.domain.PageResult;
import com.baiye.extend.mybatis.plus.service.impl.ExtendServiceImpl; import com.baiye.extend.mybatis.plus.service.impl.ExtendServiceImpl;
import com.baiye.extend.mybatis.plus.toolkit.WrappersX;
import com.baiye.modules.distribute.converter.ClueConverter; import com.baiye.modules.distribute.converter.ClueConverter;
import com.baiye.modules.distribute.dto.ClueDTO; import com.baiye.modules.distribute.dto.ClueDTO;
import com.baiye.modules.distribute.entity.*; import com.baiye.modules.distribute.entity.*;
@ -22,9 +23,11 @@ import com.baiye.modules.distribute.vo.ClueVO;
import com.baiye.notify.event.StationNotifyPushEvent; import com.baiye.notify.event.StationNotifyPushEvent;
import com.baiye.notify.model.domain.AnnouncementNotifyInfo; import com.baiye.notify.model.domain.AnnouncementNotifyInfo;
import com.baiye.security.util.SecurityUtils; import com.baiye.security.util.SecurityUtils;
import com.baiye.system.model.entity.SysMenu;
import com.baiye.util.AESUtils; import com.baiye.util.AESUtils;
import com.baiye.util.MobileUtil; import com.baiye.util.MobileUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -106,7 +109,7 @@ public class ClueServiceImpl extends ExtendServiceImpl<ClueMapper, ClueEntity> i
@Override @Override
public PageResult<ClueVO> queryPage(PageParam pageParam, ClueQo qo) { public PageResult<ClueVO> queryPage(PageParam pageParam, ClueQo qo) {
qo.setAssignedBy(SecurityUtils.getCurrentUserId());
// 扩展数据 // 扩展数据
if (qo.getNid() != null) { if (qo.getNid() != null) {
qo.setNid(AESUtils.encrypt(qo.getNid(), securityProperties.getPasswordSecretKey())); qo.setNid(AESUtils.encrypt(qo.getNid(), securityProperties.getPasswordSecretKey()));
@ -226,4 +229,11 @@ public class ClueServiceImpl extends ExtendServiceImpl<ClueMapper, ClueEntity> i
return clueVOList; return clueVOList;
} }
@Override
public Boolean changeEffective(Long id, Integer effective) {
LambdaUpdateWrapper<ClueEntity> wrapper = Wrappers.lambdaUpdate(ClueEntity.class)
.set(ClueEntity::getIsEffective, effective).eq(ClueEntity::getClueId, id);
return SqlHelper.retBool(this.baseMapper.update(null,wrapper));
}
} }

@ -1,6 +1,10 @@
package com.baiye.modules.distribute.vo; package com.baiye.modules.distribute.vo;
import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baiye.common.excel.converters.BooleanStringConverter;
import com.baiye.common.excel.converters.CustomStringStringConverter;
import com.baiye.common.excel.converters.NidStringConverter;
import com.baiye.extend.mybatis.plus.converter.JsonStringArrayTypeHandler; import com.baiye.extend.mybatis.plus.converter.JsonStringArrayTypeHandler;
import com.baiye.modules.distribute.entity.ClueStageEntity; import com.baiye.modules.distribute.entity.ClueStageEntity;
import com.baiye.modules.distribute.entity.LabelOrganizeEntity; import com.baiye.modules.distribute.entity.LabelOrganizeEntity;
@ -19,16 +23,21 @@ public class ClueVO {
@Schema(title = "线索ID") @Schema(title = "线索ID")
private String clueId; private String clueId;
@Schema(title = "线索来源") @ExcelProperty(value = "是否有效", converter = BooleanStringConverter.class, index = 4)
private String originName; @Schema(title = "是否有效")
private Boolean isEffective;
@Schema(title = "手机号") @Schema(title = "手机号")
@ExcelProperty(value = "手机号",converter = NidStringConverter.class, index = 0)
private String nid; private String nid;
@Schema(title = "线索时间") @Schema(title = "线索来源")
private String clueTime; @ExcelProperty(value = "线索来源", index = 1)
private String originName;
@Schema(title = "线索备注") @Schema(title = "线索备注")
@ExcelProperty(value = "线索备注", index = 2)
private String remark; private String remark;
@ExcelIgnore @ExcelIgnore
@ -36,18 +45,29 @@ public class ClueVO {
private Long clueRecordId; private Long clueRecordId;
@Schema(title = "其它资源字段") @Schema(title = "其它资源字段")
@ExcelIgnore
// @ExcelProperty(value = "其它资源字段", index = 4)
private String otherClue; private String otherClue;
@ExcelIgnore
@Schema(title = "分配人用户ID") @Schema(title = "分配人用户ID")
private Long assignedBy; private Long assignedBy;
@ExcelIgnore
@Schema(title = "线索时间")
private String clueTime;
@Schema(title = "资源标签") @Schema(title = "资源标签")
@ExcelProperty(value = "资源标签", index = 5)
private String clueLabel; private String clueLabel;
@ExcelIgnore
@Schema(title = "资源标签名称") @Schema(title = "资源标签名称")
private String clueLabelName; private String clueLabelName;
@Schema(title = "创建时间") @Schema(title = "创建时间")
@ExcelProperty(value = "线索时间", index = 3)
private LocalDateTime createTime; private LocalDateTime createTime;
@ExcelIgnore @ExcelIgnore
@ -58,9 +78,11 @@ public class ClueVO {
@Schema(title = "资源线索ID") @Schema(title = "资源线索ID")
private Long clueStageId; private Long clueStageId;
@ExcelIgnore
@Schema(title = "资源线索名称") @Schema(title = "资源线索名称")
private String clueStageName; private String clueStageName;
@ExcelProperty(value = "资源标签集合", converter = CustomStringStringConverter.class, index = 6)
@Schema(title = "资源标签集合") @Schema(title = "资源标签集合")
private List<String> clueLabelList; private List<String> clueLabelList;

@ -2,10 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.baiye.modules.distribute.mapper.ClueMapper"> <mapper namespace="com.baiye.modules.distribute.mapper.ClueMapper">
<sql id="Base_Alias_Column_List"> <sql id="Base_Alias_Column_List">
ce ce.clue_id,
.
clue_id
,
ce.is_new_clue, ce.is_new_clue,
ce.origin_name, ce.origin_name,
ce.nid, ce.nid,

Loading…
Cancel
Save