项目整合完成
parent
75e758f17b
commit
e269fa19ec
@ -1,29 +0,0 @@
|
||||
package com.baiye.easyexcel.dto;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.*;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ClueListenerDto {
|
||||
|
||||
@ExcelProperty(value = "手机号")
|
||||
private String nid;
|
||||
|
||||
@ExcelProperty(value = "渠道来源")
|
||||
private String originName;
|
||||
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
@ExcelProperty(value = "日期(****/**/** 00:00:00)")
|
||||
private Date clueTime;
|
||||
|
||||
}
|
@ -1,74 +0,0 @@
|
||||
package com.baiye.event.system;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baiye.modules.distribute.entity.*;
|
||||
import com.baiye.modules.distribute.mapper.ClueMapper;
|
||||
import com.baiye.modules.distribute.mapper.ClueStageMapper;
|
||||
import com.baiye.modules.distribute.mapper.LabelMapper;
|
||||
import com.baiye.modules.distribute.mapper.LabelOrganizeMapper;
|
||||
import com.baiye.modules.distribute.service.ClueRecordService;
|
||||
import com.baiye.modules.distribute.service.DistributeTaskService;
|
||||
import com.baiye.security.util.SecurityUtils;
|
||||
import com.baiye.system.event.UserCreatedEvent;
|
||||
import com.baiye.system.event.UserDelEvent;
|
||||
import com.baiye.system.model.entity.SysUser;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* ApplicationEventPublisher使用 用户操作监听类
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
public class UserEventListener {
|
||||
|
||||
private final ClueRecordService clueRecordService;
|
||||
|
||||
private final DistributeTaskService distributeTaskService;
|
||||
|
||||
private final LabelMapper labelMapper;
|
||||
|
||||
private final LabelOrganizeMapper labelOrganizeMapper;
|
||||
|
||||
private final ClueStageMapper clueStageMapper;
|
||||
|
||||
private final ClueMapper clueMapper;
|
||||
|
||||
@EventListener(UserCreatedEvent.class)
|
||||
public void createUser(UserCreatedEvent userCreatedEvent) {
|
||||
log.info("==========创建用户 监听方法执行==========");
|
||||
SysUser sysUser = userCreatedEvent.getSysUser();
|
||||
if (SecurityUtils.getCurrentUserId() == 1 && sysUser != null) {
|
||||
// 创建默认的文件记录
|
||||
ClueRecordEntity entity = clueRecordService.addDefaultRecordService(sysUser.getUserId(), "资源推送", "资源推送");
|
||||
// 创建默认的执行任务
|
||||
distributeTaskService.addDefaultTask("资源推送", null, entity.getClueRecordId().toString(), sysUser.getUserId(), null);
|
||||
}
|
||||
}
|
||||
|
||||
@EventListener(UserDelEvent.class)
|
||||
public void delUser(UserDelEvent userDelEvent) {
|
||||
log.info("==========删除用户 监听方法执行==========");
|
||||
List<Long> delUserIdList = userDelEvent.getUserIdList();
|
||||
if (CollUtil.isNotEmpty(delUserIdList)) {
|
||||
//1、删除资源
|
||||
clueMapper.delete(new LambdaQueryWrapper<ClueEntity>().in(ClueEntity::getAssignedBy, delUserIdList));
|
||||
//2、删除用户的任务和上传记录
|
||||
BaseMapper<DistributeTaskEntity> taskMapper = distributeTaskService.getBaseMapper();
|
||||
taskMapper.delete(new LambdaQueryWrapper<DistributeTaskEntity>().eq(DistributeTaskEntity::getCreateBy, delUserIdList));
|
||||
BaseMapper<ClueRecordEntity> clueRecordMapper = clueRecordService.getBaseMapper();
|
||||
clueRecordMapper.delete(new LambdaQueryWrapper<ClueRecordEntity>().eq(ClueRecordEntity::getCreateBy, delUserIdList));
|
||||
//3、 删除用户标签和标签组 - 阶段信息
|
||||
labelMapper.delete(new LambdaQueryWrapper<LabelEntity>().eq(LabelEntity::getCreateBy, delUserIdList));
|
||||
labelOrganizeMapper.delete(new LambdaQueryWrapper<LabelOrganizeEntity>().eq(LabelOrganizeEntity::getCreateBy, delUserIdList));
|
||||
clueStageMapper.delete(new LambdaQueryWrapper<ClueStageEntity>().eq(ClueStageEntity::getCreateBy, delUserIdList));
|
||||
}
|
||||
}
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
package com.baiye.job;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baiye.modules.distribute.service.DistributeReportService;
|
||||
import com.dangdang.ddframe.job.api.ShardingContext;
|
||||
import com.dangdang.ddframe.job.api.simple.SimpleJob;
|
||||
import com.example.jobInstance.ElasticSimpleJob;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/8/14 导入分配统计 0/5 * * * * ?
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
@ElasticSimpleJob(jobName = "DistributeRecordReportJob", cron = "0 30 23 * * ?")
|
||||
public class DistributeRecordReportJob implements SimpleJob {
|
||||
|
||||
@Resource
|
||||
private DistributeReportService distributeReportService;
|
||||
|
||||
@Override
|
||||
public void execute(ShardingContext shardingContext) {
|
||||
log.info("流量分布定时任务开始-----{}", DateUtil.date());
|
||||
distributeReportService.distributeReport();
|
||||
log.info("流量分布定时任务结束-----{}", DateUtil.date());
|
||||
}
|
||||
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
package com.baiye.job;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baiye.constant.PrefixKeyConstant;
|
||||
import com.baiye.modules.distribute.entity.DistributeTaskEntity;
|
||||
import com.baiye.modules.distribute.mapper.DistributeTaskMapper;
|
||||
import com.baiye.utils.DateTimeToCronUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.example.entity.Job;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.boot.ApplicationArguments;
|
||||
import org.springframework.boot.ApplicationRunner;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 项目启动后执行 把定时任务加入到zookeeper中
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
public class JobApplicationRunner implements ApplicationRunner {
|
||||
|
||||
@Resource
|
||||
private DistributeTaskMapper distributeTaskMapper;
|
||||
|
||||
@Resource
|
||||
private MyJobService jobService;
|
||||
|
||||
@Override
|
||||
public void run(ApplicationArguments args) {
|
||||
log.info("==============项目启动,自动添加业务中定时任务==============");
|
||||
List<DistributeTaskEntity> distributeTaskEntities = distributeTaskMapper.selectList(
|
||||
new LambdaQueryWrapper<DistributeTaskEntity>().eq(DistributeTaskEntity::getDistributeTaskType, 1)
|
||||
.eq(DistributeTaskEntity::getTimeStatus, 1)
|
||||
.ne(DistributeTaskEntity::getExecuteStatus, 0));
|
||||
|
||||
if (CollUtil.isNotEmpty(distributeTaskEntities)) {
|
||||
for (DistributeTaskEntity distributeTaskEntity : distributeTaskEntities) {
|
||||
if (distributeTaskEntity != null && distributeTaskEntity.getStartTime() != null) {
|
||||
Job job = new Job();
|
||||
job.setJobName(PrefixKeyConstant.JOB_KEY + distributeTaskEntity.getDistributeTaskId());
|
||||
String cron = DateTimeToCronUtils.getCron(distributeTaskEntity.getStartTime(),
|
||||
DateTimeToCronUtils.EVERYDAY);
|
||||
job.setCron(cron);
|
||||
job.setJobClass("com.baiye.job.LinkWatchJob");
|
||||
jobService.addJob(job);
|
||||
// 暂停
|
||||
if (distributeTaskEntity.getExecuteStatus() == 3)
|
||||
jobService.pauseJob(job.getJobName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
package com.baiye.job;
|
||||
|
||||
import com.example.serive.impl.JobServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @Author YQY
|
||||
* @Date 2023/8/17
|
||||
*/
|
||||
@Service
|
||||
public class MyJobService extends JobServiceImpl {
|
||||
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
package com.baiye.job;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baiye.modules.distribute.service.OceanEngineClueService;
|
||||
import com.dangdang.ddframe.job.api.ShardingContext;
|
||||
import com.dangdang.ddframe.job.api.simple.SimpleJob;
|
||||
import com.example.jobInstance.ElasticSimpleJob;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/11/3
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
@ElasticSimpleJob(jobName = "OceanEngineClueJob", cron = "0 0/15 * * * ?")
|
||||
public class OceanEngineClueJob implements SimpleJob {
|
||||
|
||||
@Resource
|
||||
private OceanEngineClueService oceanEngineClueService;
|
||||
|
||||
@Override
|
||||
public void execute(ShardingContext shardingContext) {
|
||||
Date currentTime = DateUtil.date();
|
||||
Date startTime = DateUtil.beginOfMinute(DateUtil.offsetMinute(currentTime, -15));
|
||||
Date endTime = DateUtil.endOfMinute(DateUtil.offsetMinute(currentTime, -1));
|
||||
oceanEngineClueService.getFeiYuSource(startTime, endTime);
|
||||
}
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
package com.baiye.modules.auth;
|
||||
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class AccessTokenRequest extends BaseModel {
|
||||
private String appId;
|
||||
|
||||
private String secret;
|
||||
|
||||
private String grantType;
|
||||
|
||||
private String authCode;
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
package com.baiye.modules.auth;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class AccessTokenResponse extends OceanEngineResponse<AccessTokenResponse.Data> {
|
||||
|
||||
@lombok.Data
|
||||
public static class Data {
|
||||
|
||||
@JsonProperty("access_token")
|
||||
private String accessToken;
|
||||
|
||||
@JsonProperty("expires_in")
|
||||
private Long expiresIn;
|
||||
|
||||
@JsonProperty("refresh_token")
|
||||
private String refreshToken;
|
||||
|
||||
@JsonProperty("advertiser_id")
|
||||
private Long advertiserId;
|
||||
|
||||
@JsonProperty("advertiser_ids")
|
||||
private List<String> advertiserIds;
|
||||
|
||||
@JsonProperty("refresh_token_expires_in")
|
||||
private Long refreshTokenExpiresIn;
|
||||
}
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
package com.baiye.modules.auth;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class AuthAdvertiserRequest extends BaseModel {
|
||||
|
||||
private String accessToken;
|
||||
|
||||
private String appId;
|
||||
|
||||
private String secret;
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
package com.baiye.modules.auth;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class AuthAdvertiserResponse extends OceanEngineResponse<AuthAdvertiserResponse.Data> {
|
||||
@lombok.Data
|
||||
public static class Data {
|
||||
List<AuthAdvertiserInfo> list;
|
||||
}
|
||||
|
||||
@lombok.Data
|
||||
public static class AuthAdvertiserInfo {
|
||||
@JsonProperty("advertiser_id")
|
||||
private Long advertiserId;
|
||||
|
||||
@JsonProperty("advertiserName")
|
||||
private String advertiserName;
|
||||
|
||||
@JsonProperty("account_role")
|
||||
private String accountRole;
|
||||
|
||||
@JsonProperty("advertiser_role")
|
||||
private Integer advertiserRole;
|
||||
|
||||
@JsonProperty("is_valid")
|
||||
private Boolean isValid;
|
||||
}
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
package com.baiye.modules.auth;
|
||||
|
||||
|
||||
import com.google.gson.FieldNamingPolicy;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date 2022-9-14
|
||||
*/
|
||||
public class BaseModel {
|
||||
/**
|
||||
* Returns a JSON string corresponding to object state
|
||||
*
|
||||
* @return JSON representation
|
||||
*/
|
||||
|
||||
public String toJson() {
|
||||
GsonBuilder gsonBuilder = new GsonBuilder();
|
||||
gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
|
||||
Gson gson = gsonBuilder.create();
|
||||
return gson.toJson(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return toJson();
|
||||
}
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
package com.baiye.modules.auth;
|
||||
|
||||
import cn.hutool.core.text.CharSequenceUtil;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class OceanEngineResponse<T> {
|
||||
private T data;
|
||||
|
||||
@JsonProperty("code")
|
||||
private int code;
|
||||
|
||||
@JsonProperty("message")
|
||||
private String message;
|
||||
|
||||
@JsonProperty("request_id")
|
||||
private String requestId = CharSequenceUtil.EMPTY;
|
||||
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
package com.baiye.modules.auth;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class RefreshTokenRequest extends BaseModel {
|
||||
private String appId;
|
||||
|
||||
private String secret;
|
||||
|
||||
private String grantType;
|
||||
|
||||
private String refreshToken;
|
||||
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
package com.baiye.modules.auth;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class RefreshTokenResponse extends OceanEngineResponse<RefreshTokenResponse.Data> {
|
||||
|
||||
@lombok.Data
|
||||
public static class Data {
|
||||
@JsonProperty("access_token")
|
||||
private String accessToken;
|
||||
|
||||
@JsonProperty("expires_in")
|
||||
private Long expiresIn;
|
||||
|
||||
@JsonProperty("refresh_token")
|
||||
private String refreshToken;
|
||||
|
||||
@JsonProperty("refresh_token_expires_in")
|
||||
private Long refreshTokenExpiresIn;
|
||||
}
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
package com.baiye.modules.auth;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date : 2024/3/4
|
||||
*/
|
||||
@Data
|
||||
public class SendClueResponse {
|
||||
|
||||
@SerializedName("code")
|
||||
@JsonProperty("code")
|
||||
private int code;
|
||||
|
||||
@SerializedName("is_exist")
|
||||
@JsonProperty("is_exist")
|
||||
private Boolean isExist;
|
||||
|
||||
@SerializedName("message")
|
||||
@JsonProperty("message")
|
||||
private String message;
|
||||
}
|
@ -1,96 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baiye.common.excel.annotation.ResponseExcel;
|
||||
import com.baiye.constant.DefaultNumberConstants;
|
||||
import com.baiye.domain.PageParam;
|
||||
import com.baiye.domain.PageResult;
|
||||
import com.baiye.modules.distribute.dto.ClueDTO;
|
||||
import com.baiye.modules.distribute.entity.ClueEntity;
|
||||
import com.baiye.modules.distribute.qo.ClueQo;
|
||||
import com.baiye.modules.distribute.service.ClueService;
|
||||
import com.baiye.modules.distribute.vo.ClueVO;
|
||||
import com.baiye.notify.event.UserAnnouncementReadEvent;
|
||||
import com.baiye.result.BaseResultCode;
|
||||
import com.baiye.result.R;
|
||||
import com.baiye.security.util.SecurityUtils;
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import com.google.common.collect.Lists;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@Tag(name = "资源管理")
|
||||
@RequestMapping("/clue")
|
||||
public class ClueController {
|
||||
|
||||
private final ClueService clueService;
|
||||
|
||||
|
||||
private final ApplicationContext publisher;
|
||||
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "分页查询资源")
|
||||
public R<PageResult<ClueVO>> getClueRecordPage(@Validated PageParam pageParam, ClueQo qo) {
|
||||
setQueryQo(qo);
|
||||
return R.ok(clueService.queryPage(pageParam, qo));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@Operation(summary = "修改资源详细信息", description = "修改资源详细信息")
|
||||
public R<Object> update(@Validated({UpdateGroup.class}) @RequestBody ClueDTO clueEntity) {
|
||||
publisher.publishEvent(new UserAnnouncementReadEvent(clueEntity.getClueId(), SecurityUtils.getCurrentUserId()));
|
||||
return clueService.update(clueEntity) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "修改失败");
|
||||
}
|
||||
|
||||
@PostMapping("/updateClue")
|
||||
@Operation(summary = "修改资源", description = "修改资源")
|
||||
public R<Object> updateClue(@Validated({UpdateGroup.class}) @RequestBody ClueEntity clueEntity) {
|
||||
clueEntity.setIsNewClue(Boolean.FALSE);
|
||||
publisher.publishEvent(new UserAnnouncementReadEvent(clueEntity.getClueId(), SecurityUtils.getCurrentUserId()));
|
||||
return clueService.updateById(clueEntity) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "修改失败");
|
||||
}
|
||||
|
||||
@GetMapping("/details/{id}")
|
||||
@Operation(summary = "ID查询详情")
|
||||
public R<ClueVO> getClueDetails(@PathVariable("id") Long clueId, ClueQo 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 = "线索表单")
|
||||
@GetMapping("/export")
|
||||
public List<ClueVO> exportClueData(ClueQo qo) {
|
||||
setQueryQo(qo);
|
||||
List<ClueVO> list = clueService.queryList(qo);
|
||||
return CollUtil.isEmpty(list) ? Lists.newArrayList(new ClueVO()) : list;
|
||||
}
|
||||
|
||||
private void setQueryQo(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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.alibaba.excel.EasyExcel;
|
||||
import com.baiye.exception.BadRequestException;
|
||||
import com.baiye.modules.distribute.dto.ReadFileDTO;
|
||||
import com.baiye.modules.distribute.service.ClueFileService;
|
||||
import com.baiye.result.R;
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@Tag(name = "资源文件管理")
|
||||
@RequestMapping("/clueFile")
|
||||
public class ClueFileController {
|
||||
|
||||
private final ClueFileService clueFileService;
|
||||
|
||||
@PostMapping("/detection")
|
||||
@Operation(summary = "校验表头信息")
|
||||
public R<Map<String, Object>> detection(@RequestParam("file") MultipartFile file) {
|
||||
return R.ok(clueFileService.detection(file));
|
||||
}
|
||||
|
||||
@PostMapping("/readFile")
|
||||
@Operation(summary = "读取文件信息")
|
||||
public R<Object> readFile(@Validated({CreateGroup.class}) @RequestBody ReadFileDTO readFileDTO) {
|
||||
clueFileService.readFile(readFileDTO);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@GetMapping("/export")
|
||||
@Operation(summary = "导出模板")
|
||||
public void exportExcelTemplate(HttpServletResponse response) {
|
||||
try (InputStream inputStream = getClass().getResourceAsStream("/file/template.xlsx")) {
|
||||
String fileName = URLEncoder.encode("template.xlsx", "UTF-8");
|
||||
response.setContentType("application/vnd.ms-excel");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
|
||||
EasyExcel.write(response.getOutputStream()).withTemplate(inputStream).sheet().doWrite(new ArrayList<>());
|
||||
}catch (IOException e) {
|
||||
throw new BadRequestException("导出失败,请联系管理员");
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/generate")
|
||||
@Operation(summary = "生成秘钥")
|
||||
public R<Map<String, Object>> generateSecretKey() {
|
||||
return R.ok(clueFileService.generateSecretKey());
|
||||
}
|
||||
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.domain.SelectData;
|
||||
import com.baiye.modules.distribute.service.ClueRecordService;
|
||||
import com.baiye.modules.distribute.vo.ClueRecordVO;
|
||||
import com.baiye.modules.distribute.qo.ClueRecordQo;
|
||||
import com.baiye.domain.PageParam;
|
||||
import com.baiye.domain.PageResult;
|
||||
import com.baiye.result.BaseResultCode;
|
||||
import com.baiye.result.R;
|
||||
import com.baiye.security.util.SecurityUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@Tag(name = "文件上传记录API")
|
||||
@RequestMapping("/clueRecord")
|
||||
public class ClueRecordController {
|
||||
|
||||
private final ClueRecordService clueRecordService;
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "分页查询导入记录")
|
||||
public R<PageResult<ClueRecordVO>> getClueRecordPage(@Validated PageParam pageParam, ClueRecordQo qo) {
|
||||
return R.ok(clueRecordService.queryPage(pageParam, qo));
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
@Operation(summary = "ID删除记录并删除本地文件")
|
||||
public R<Void> deleteByUserId(@PathVariable("id") Long clueRecordId) {
|
||||
return clueRecordService.deleteByUserId(clueRecordId) ? R.ok()
|
||||
: R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "删除文件失败");
|
||||
}
|
||||
|
||||
@GetMapping("/select")
|
||||
@Operation(summary = "下拉列表数据")
|
||||
public R<List<SelectData<Void>>> listSelectData(ClueRecordQo qo) {
|
||||
qo.setCreateBy(SecurityUtils.getCurrentUserId());
|
||||
qo.setAllocationStatus(0);
|
||||
qo.setDistributeStatus(0);
|
||||
qo.setRecordType(0);
|
||||
return R.ok(clueRecordService.listSelectData(qo));
|
||||
}
|
||||
|
||||
}
|
@ -1,58 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.modules.distribute.entity.ClueStageEntity;
|
||||
import com.baiye.modules.distribute.service.ClueStageService;
|
||||
import com.baiye.result.BaseResultCode;
|
||||
import com.baiye.result.R;
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@Tag(name = "资源阶段API")
|
||||
@RequestMapping("/clueStage")
|
||||
public class ClueStageController {
|
||||
|
||||
private final ClueStageService clueStageService;
|
||||
|
||||
@GetMapping("/list")
|
||||
@Operation(summary = "列表")
|
||||
public R<Object> list() {
|
||||
return R.ok(clueStageService.listData());
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@Operation(summary = "新增线索阶段", description = "新增线索阶段")
|
||||
public R<Object> save(@Validated({ CreateGroup.class }) @RequestBody ClueStageEntity clueStageEntity) {
|
||||
return clueStageService.save(clueStageEntity) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "添加失败");
|
||||
}
|
||||
|
||||
@PostMapping("/addList")
|
||||
@Operation(summary = "批量新增线索阶段", description = "批量新增线索阶段")
|
||||
public R<Object> addList(@Valid @RequestBody List<ClueStageEntity> clueStageEntity) {
|
||||
return clueStageService.saveBatch(clueStageEntity) ? R.ok()
|
||||
: R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "添加失败");
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@Operation(summary = "修改线索阶段", description = "修改线索阶段")
|
||||
public R<Object> update(@Validated({ UpdateGroup.class }) @RequestBody ClueStageEntity clueStageEntity) {
|
||||
return clueStageService.updateById(clueStageEntity) ? R.ok()
|
||||
: R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "修改失败");
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
@Operation(summary = "ID删除线索阶段")
|
||||
public R<Void> deleteByUserId(@PathVariable("id") Long id) {
|
||||
return clueStageService.removeById(id) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "删除失败");
|
||||
}
|
||||
|
||||
}
|
@ -1,154 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baiye.common.excel.annotation.ResponseExcel;
|
||||
import com.baiye.constant.DefaultNumberConstants;
|
||||
import com.baiye.domain.PageParam;
|
||||
import com.baiye.domain.PageResult;
|
||||
import com.baiye.modules.distribute.converter.CustomConverter;
|
||||
import com.baiye.modules.distribute.dto.ChangeCustomDTO;
|
||||
import com.baiye.modules.distribute.dto.CreateCustomDTO;
|
||||
import com.baiye.modules.distribute.dto.CustomDTO;
|
||||
import com.baiye.modules.distribute.entity.CustomEntity;
|
||||
import com.baiye.modules.distribute.qo.CustomQo;
|
||||
import com.baiye.modules.distribute.service.CustomService;
|
||||
import com.baiye.modules.distribute.vo.CustomVO;
|
||||
import com.baiye.operation.annotation.DeleteOperationLogging;
|
||||
import com.baiye.result.BaseResultCode;
|
||||
import com.baiye.result.R;
|
||||
import com.baiye.security.util.SecurityUtils;
|
||||
import com.baiye.system.checker.AdminUserChecker;
|
||||
import com.baiye.system.service.SysUserService;
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import com.baiye.validation.group.SubmitGroup;
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@Tag(name = "客户管理")
|
||||
@RequestMapping("/custom")
|
||||
public class CustomController {
|
||||
|
||||
private final CustomService customService;
|
||||
|
||||
private final SysUserService sysUserService;
|
||||
|
||||
private final AdminUserChecker adminUserChecker;
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "分页查询客户信息")
|
||||
public R<PageResult<CustomVO>> queryPage(@Validated PageParam pageParam, CustomQo qo) {
|
||||
setQueryQo(qo);
|
||||
return R.ok(customService.queryPage(pageParam, qo));
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@Operation(summary = "新增客户", description = "新增客户")
|
||||
public R<Object> save(@Validated({CreateGroup.class}) @RequestBody CustomDTO customDTO) {
|
||||
return customService.add(customDTO) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "添加失败");
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/manual/create")
|
||||
@Operation(summary = "手动创建线索", description = "新增客户")
|
||||
public R<Object> manualCreate(@Validated({CreateGroup.class}) @RequestBody CreateCustomDTO createCustomDTO) {
|
||||
|
||||
return Boolean.TRUE.equals(customService.createByType(createCustomDTO)) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "添加失败");
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@Operation(summary = "修改客户", description = "修改客户")
|
||||
public R<Object> update(@Validated({UpdateGroup.class}) @RequestBody CustomDTO customDTO) {
|
||||
return customService.update(customDTO) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "修改失败");
|
||||
}
|
||||
|
||||
@GetMapping("/details")
|
||||
@Operation(summary = "ID查询详情")
|
||||
public R<CustomVO> getClueDetails(@RequestParam("id") Long id) {
|
||||
return R.ok(customService.details(id));
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
@DeleteOperationLogging(msg = "删除表单信息")
|
||||
@Operation(summary = "通过id删除系统角色", description = "通过id删除系统角色")
|
||||
public R<Boolean> removeById(@PathVariable("id") Long id) {
|
||||
Boolean result = customService.deleteApprovalFormById(id);
|
||||
return Boolean.TRUE.equals(result) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "删除表单失败");
|
||||
}
|
||||
|
||||
@PostMapping("/audit")
|
||||
@Operation(summary = "审核表单")
|
||||
public R<String> 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<CustomVO> exportI18nData(CustomQo customQo) {
|
||||
setQueryQo(customQo);
|
||||
List<CustomEntity> list = customService.queryList(customQo);
|
||||
if (CollUtil.isEmpty(list)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
// 转换为 excel vo 对象
|
||||
return list.stream().map(CustomConverter.INSTANCE::poToExcelVo).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/reAudit")
|
||||
@Operation(summary = "表单重审")
|
||||
public R<Boolean> reAudit(@Validated({UpdateGroup.class}) @RequestBody ChangeCustomDTO dto) {
|
||||
Boolean result = customService.reAuditFormById(dto);
|
||||
return Boolean.TRUE.equals(result) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "审核失败");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void setQueryQo(CustomQo customQo) {
|
||||
Integer salesmanType = customQo.getSalesmanType();
|
||||
// 查询属于自己的信息
|
||||
if (!adminUserChecker.isAdminUser(sysUserService.findById
|
||||
(SecurityUtils.getCurrentUserId()))) {
|
||||
customQo.setCompanyId(SecurityUtils.getWhichUserId());
|
||||
}
|
||||
if (ObjectUtil.isNotNull(salesmanType)) {
|
||||
if (salesmanType == DefaultNumberConstants.ONE_NUMBER) {
|
||||
// 查询当前用户自己的
|
||||
customQo.setCreateBy(SecurityUtils.getCurrentUserId());
|
||||
}
|
||||
if (salesmanType == DefaultNumberConstants.TWO_NUMBER) {
|
||||
// 查询分发员
|
||||
customQo.setDistributorId(SecurityUtils.getCurrentUserId());
|
||||
customQo.setType(2);
|
||||
}
|
||||
if (salesmanType == DefaultNumberConstants.THREE_NUMBER) {
|
||||
// 只查询复审员
|
||||
customQo.setReviewUserId(SecurityUtils.getCurrentUserId());
|
||||
customQo.setType(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@GetMapping("/recallForm")
|
||||
@Operation(summary = "表单撤回")
|
||||
public R<Boolean> recallForm(Long id) {
|
||||
Boolean result = customService.recallFormById(id);
|
||||
return Boolean.TRUE.equals(result) ? R.ok() : R.failed(BaseResultCode.LOGIC_CHECK_ERROR, "表单撤回失败");
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.domain.PageParam;
|
||||
import com.baiye.domain.PageResult;
|
||||
import com.baiye.modules.distribute.entity.DirectClueUserEntity;
|
||||
import com.baiye.modules.distribute.qo.DirectClueQo;
|
||||
import com.baiye.modules.distribute.service.DirectClueService;
|
||||
import com.baiye.modules.distribute.vo.DirectClueVO;
|
||||
import com.baiye.result.R;
|
||||
import com.baiye.security.util.SecurityUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@Tag(name = "直达线索")
|
||||
@RequestMapping("/directClue")
|
||||
public class DirectClueController {
|
||||
|
||||
private final DirectClueService directClueService;
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "分页查询资源")
|
||||
public R<PageResult<DirectClueVO>> getClueRecordPage(@Validated PageParam pageParam, DirectClueQo qo) {
|
||||
Long salesmanUserId = qo.getSalesmanUserId();
|
||||
Long distributeUserId = qo.getDistributeUserId();
|
||||
if (salesmanUserId == null && distributeUserId == null) qo.setCreateBy(SecurityUtils.getCurrentUserId());
|
||||
else qo.setCreateBy(SecurityUtils.getWhichUserId());
|
||||
|
||||
return R.ok(directClueService.queryPage(pageParam, qo));
|
||||
}
|
||||
|
||||
@PostMapping("/distribute")
|
||||
@Operation(summary = "分发员分发")
|
||||
public R<Object> distribute(@Valid @RequestBody List<DirectClueUserEntity> directClueUserList) {
|
||||
return R.ok(directClueService.distribute(directClueUserList));
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.modules.distribute.service.DistributeReportService;
|
||||
import com.baiye.result.R;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/8/11
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@Tag(name = "分配信息统计")
|
||||
@RequestMapping("/report")
|
||||
public class DistributeReportController {
|
||||
|
||||
private final DistributeReportService distributeReportService;
|
||||
|
||||
@GetMapping("/report")
|
||||
public void distributeReport() {
|
||||
distributeReportService.distributeReport();
|
||||
}
|
||||
|
||||
@GetMapping("/flow")
|
||||
@Operation(summary = "流量分布统计")
|
||||
public R<Object> reportFlow(@RequestParam(value = "userId", required = false) Long userId,
|
||||
@RequestParam(value = "channel", required = false) String channel,
|
||||
@RequestParam(value = "type", required = true) Integer type) {
|
||||
return R.ok(distributeReportService.reportFlow(userId, channel, type));
|
||||
}
|
||||
|
||||
}
|
@ -1,77 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.domain.PageParam;
|
||||
import com.baiye.domain.PageResult;
|
||||
import com.baiye.modules.distribute.dto.DistributeTaskDTO;
|
||||
import com.baiye.modules.distribute.entity.DistributeTaskEntity;
|
||||
import com.baiye.modules.distribute.qo.DistributeTaskQo;
|
||||
import com.baiye.modules.distribute.service.DistributeTaskService;
|
||||
import com.baiye.modules.distribute.vo.DistributeTaskVO;
|
||||
import com.baiye.result.BaseResultCode;
|
||||
import com.baiye.result.R;
|
||||
import com.baiye.security.util.SecurityUtils;
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@Tag(name = "分发任务管理")
|
||||
@RequestMapping("/distributeTask")
|
||||
public class DistributeTaskController {
|
||||
|
||||
private final DistributeTaskService distributeTaskService;
|
||||
|
||||
@PostMapping("/add")
|
||||
@Operation(summary = "新增分发任务", description = "新增分发任务")
|
||||
public R<Object> save(@Validated({ CreateGroup.class }) @RequestBody DistributeTaskDTO distributeTaskDTO) {
|
||||
return distributeTaskService.add(distributeTaskDTO) ? R.ok()
|
||||
: R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "添加失败");
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "分页查询分配任务")
|
||||
public R<PageResult<DistributeTaskVO>> getClueRecordPage(@Validated PageParam pageParam, DistributeTaskQo qo) {
|
||||
qo.setCreateBy(SecurityUtils.getCurrentUserId());
|
||||
return R.ok(distributeTaskService.queryPage(pageParam, qo));
|
||||
}
|
||||
|
||||
@GetMapping("/details")
|
||||
@Operation(summary = "ID查询详情")
|
||||
public R<DistributeTaskVO> getClueRecordPage(@RequestParam("id") Long id) {
|
||||
return R.ok(distributeTaskService.details(id));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@Operation(summary = "修改分发任务", description = "修改分发任务")
|
||||
public R<Object> update(@Validated({ UpdateGroup.class }) @RequestBody DistributeTaskDTO distributeTaskDTO) {
|
||||
return distributeTaskService.update(distributeTaskDTO) ? R.ok()
|
||||
: R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "修改失败");
|
||||
}
|
||||
|
||||
@PostMapping("/updateData")
|
||||
@Operation(summary = "修改", description = "修改")
|
||||
public R<Object> updateData(
|
||||
@Validated({ UpdateGroup.class }) @RequestBody DistributeTaskEntity distributeTaskEntity) {
|
||||
return distributeTaskService.updateData(distributeTaskEntity) ? R.ok()
|
||||
: R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "修改失败");
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
@Operation(summary = "ID删除任务")
|
||||
public R<Void> deleteByUserId(@PathVariable("id") Long taskId) {
|
||||
return distributeTaskService.del(taskId) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "删除失败");
|
||||
}
|
||||
|
||||
@GetMapping("/executeTask")
|
||||
@Operation(summary = "执行任务")
|
||||
public R<Boolean> executeTask(@RequestParam("id") Long taskId) {
|
||||
return distributeTaskService.executeTask(taskId) ? R.ok()
|
||||
: R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "执行失败");
|
||||
}
|
||||
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.domain.PageParam;
|
||||
import com.baiye.domain.PageResult;
|
||||
import com.baiye.modules.distribute.qo.FileContrastQo;
|
||||
import com.baiye.modules.distribute.service.FileContrastService;
|
||||
import com.baiye.modules.distribute.vo.FileContrastVO;
|
||||
import com.baiye.result.R;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date 2024-3-13
|
||||
*/
|
||||
|
||||
@RestController
|
||||
@Tag(name = "文件对比")
|
||||
@RequestMapping("/api/file/contrast")
|
||||
@RequiredArgsConstructor
|
||||
public class FileContrastController {
|
||||
|
||||
private final FileContrastService fileContrastService;
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "分页查询", description = "分页查询")
|
||||
public R<PageResult<FileContrastVO>> getSysConfigPage(@Validated PageParam pageParam, FileContrastQo fileContrastQo) {
|
||||
return R.ok(fileContrastService.queryPage(pageParam, fileContrastQo));
|
||||
}
|
||||
|
||||
|
||||
@Operation(summary = "创建任务")
|
||||
@PostMapping("/create")
|
||||
public R<Object> createTask(@RequestParam("files") List<MultipartFile> files,
|
||||
@RequestParam(value = "taskName") String taskName) {
|
||||
return Boolean.TRUE.equals(fileContrastService.createTask(files, taskName)) ? R.ok() : R.failed("上传失败");
|
||||
}
|
||||
|
||||
|
||||
@Operation(summary = "追加任务资源")
|
||||
@PostMapping("/addition")
|
||||
public R<Object> additionTaskSource(@RequestParam("files") List<MultipartFile> files,
|
||||
@RequestParam(value = "taskId") Long taskId) {
|
||||
return Boolean.TRUE.equals(fileContrastService.additionTaskSource(files, taskId)) ? R.ok() : R.failed("上传失败");
|
||||
}
|
||||
|
||||
|
||||
@Operation(summary = "任务对比")
|
||||
@PostMapping("/build")
|
||||
public R<Object> createTask(@RequestParam("files") List<MultipartFile> files,
|
||||
@RequestParam(value = "taskId") Long taskId) {
|
||||
return Boolean.TRUE.equals(fileContrastService.buildContrast(files, taskId)) ? R.ok() : R.failed("上传失败");
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.domain.PageParam;
|
||||
import com.baiye.domain.PageResult;
|
||||
import com.baiye.modules.distribute.qo.FileContrastQo;
|
||||
import com.baiye.modules.distribute.service.FileContrastRecordService;
|
||||
import com.baiye.modules.distribute.vo.FileContrastRecordVO;
|
||||
import com.baiye.result.R;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date 2024-3-13
|
||||
*/
|
||||
|
||||
@RestController
|
||||
@Tag(name = "文件对比")
|
||||
@RequestMapping("/api/file/contrast/record")
|
||||
@RequiredArgsConstructor
|
||||
public class FileContrastRecordController {
|
||||
|
||||
private final FileContrastRecordService fileContrastRecordService;
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "分页查询", description = "分页查询")
|
||||
public R<PageResult<FileContrastRecordVO>> getSysConfigPage(@Validated PageParam pageParam, FileContrastQo fileContrastQo) {
|
||||
return R.ok(fileContrastRecordService.queryPage(pageParam, fileContrastQo));
|
||||
}
|
||||
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.modules.distribute.qo.HomePageQo;
|
||||
import com.baiye.modules.distribute.service.HomepageService;
|
||||
import com.baiye.result.R;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/12/6
|
||||
* 首页统计
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/api/homePage")
|
||||
public class HomepageController {
|
||||
|
||||
private final HomepageService homepageService;
|
||||
|
||||
@GetMapping("/base")
|
||||
@Operation(description = "今日实时")
|
||||
public R<Object> baseCount() {
|
||||
return R.ok(homepageService.baseCount());
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/enter")
|
||||
@Operation(description = "渠道录入--管理员")
|
||||
public R<Object> channelEnterClue(@RequestBody HomePageQo homePageQo) {
|
||||
return R.ok(homepageService.channelEnterClue(homePageQo));
|
||||
}
|
||||
|
||||
@PostMapping("/assigned")
|
||||
@Operation(description = "渠道分发--管理员")
|
||||
public R<Object> channelAssignedClue(@RequestBody HomePageQo homePageQo) {
|
||||
return R.ok(homepageService.channelAssignedClue(homePageQo));
|
||||
}
|
||||
|
||||
@PostMapping("/export")
|
||||
@Operation(summary = "导出")
|
||||
public void channelClueExport(HttpServletResponse response, @RequestBody HomePageQo homePageQo) {
|
||||
homepageService.channelClueExport(response, homePageQo);
|
||||
}
|
||||
|
||||
@PostMapping("/distributors")
|
||||
@Operation(summary = "分发员")
|
||||
public R<Object> distributorsEnterClue(@RequestBody HomePageQo homePageQo) {
|
||||
return R.ok(homepageService.distributorsEnterClue(homePageQo));
|
||||
}
|
||||
|
||||
@PostMapping("/salesman")
|
||||
@Operation(summary = "业务员")
|
||||
public R<Object> salesmanEnterClue(@RequestBody HomePageQo homePageQo) {
|
||||
return R.ok(homepageService.salesmanEnterClue(homePageQo));
|
||||
}
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.domain.PageParam;
|
||||
import com.baiye.modules.distribute.entity.LabelOrganizeEntity;
|
||||
import com.baiye.modules.distribute.service.LabelOrganizeService;
|
||||
import com.baiye.modules.distribute.qo.LabelOrganizeQo;
|
||||
import com.baiye.result.BaseResultCode;
|
||||
import com.baiye.result.R;
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author YQY
|
||||
* @date 2021-12-10
|
||||
*/
|
||||
@Tag(name = "标签组管理")
|
||||
@RestController
|
||||
@RequestMapping("/labelOrganize")
|
||||
@RequiredArgsConstructor
|
||||
public class LabelOrganizeController {
|
||||
|
||||
private final LabelOrganizeService labelOrganizeService;
|
||||
|
||||
@PostMapping("/add")
|
||||
@Operation(summary = "新增标签组和标签", description = "新增标签组和标签")
|
||||
public R<Object> save(@Validated({ CreateGroup.class }) @RequestBody LabelOrganizeEntity labelOrganizeEntity) {
|
||||
labelOrganizeService.add(labelOrganizeEntity);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@Operation(summary = "修改标签组", description = "修改标签组")
|
||||
public R<Object> update(@Validated({ UpdateGroup.class }) @RequestBody LabelOrganizeEntity labelOrganizeEntity) {
|
||||
return labelOrganizeService.update(labelOrganizeEntity) ? R.ok()
|
||||
: R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "修改标签组失败");
|
||||
}
|
||||
|
||||
@DeleteMapping("/del")
|
||||
@Operation(summary = "删除标签组", description = "删除标签组")
|
||||
public R<Object> del(@RequestBody Set<Long> ids) {
|
||||
return labelOrganizeService.del(ids) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "删除标签组失败");
|
||||
}
|
||||
|
||||
@GetMapping("/list")
|
||||
@Operation(summary = "查询标签组列表", description = "查询标签组列表")
|
||||
public R<Object> listLabelOrganize(LabelOrganizeQo labelOrganizeQo) {
|
||||
return R.ok(labelOrganizeService.listLabelOrganize(labelOrganizeQo));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "分页查询标签组", description = "分页查询标签组")
|
||||
public R<Object> queryAll(@Validated PageParam pageParam, LabelOrganizeQo labelOrganizeQo) {
|
||||
return R.ok(labelOrganizeService.queryPage(pageParam, labelOrganizeQo));
|
||||
}
|
||||
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baiye.modules.auth.SendClueResponse;
|
||||
import com.baiye.modules.distribute.dto.PushClueDTO;
|
||||
import com.baiye.modules.distribute.service.BuildModelService;
|
||||
import com.baiye.modules.distribute.service.TripartiteService;
|
||||
import com.baiye.result.R;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date 2023-12-6
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/v1/build")
|
||||
public class ModelCallbackController {
|
||||
|
||||
private final BuildModelService buildModelService;
|
||||
|
||||
/**
|
||||
* 推送资源
|
||||
*/
|
||||
@PostMapping("/model/callback")
|
||||
public SendClueResponse pushClue( @RequestBody String body) {
|
||||
|
||||
SendClueResponse response = new SendClueResponse();
|
||||
// PushClueDTO clueDTO = BeanUtil.toBean(body, PushClueDTO.class);
|
||||
// return Boolean.TRUE.equals(buildModelService.callbackByNid(clueDTO)) ? R.ok("success") : R.failed("message callback failed");
|
||||
log.info("=============== the body {} ==============", JSONUtil.toJsonStr(body));
|
||||
response.setIsExist(Boolean.FALSE);
|
||||
response.setCode(200);
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
}
|
@ -1,75 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.domain.PageParam;
|
||||
import com.baiye.domain.PageResult;
|
||||
import com.baiye.modules.distribute.dto.OceanEngineTokenDto;
|
||||
import com.baiye.modules.distribute.qo.OceanEnginQo;
|
||||
import com.baiye.modules.distribute.service.OceanEngineClueService;
|
||||
import com.baiye.modules.distribute.service.OceanEngineService;
|
||||
import com.baiye.modules.distribute.vo.OceanEnginVO;
|
||||
import com.baiye.result.R;
|
||||
import com.baiye.security.util.SecurityUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* 巨量广告投放
|
||||
*
|
||||
* @author Enzo
|
||||
* @date : 2022/9/14
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/api/oceanEngine")
|
||||
public class OceanEngineController {
|
||||
|
||||
private final OceanEngineService oceanEngineService;
|
||||
|
||||
@GetMapping(value = "/url")
|
||||
public R<String> query(String authorizeName) {
|
||||
return R.ok(oceanEngineService.buildAuthorizationUrl(SecurityUtils.getCurrentUserId(), authorizeName));
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "分页查询", description = "分页查询")
|
||||
public R<PageResult<OceanEnginVO>> getSysConfigPage(@Validated PageParam pageParam, OceanEnginQo oceanEnginQo) {
|
||||
return R.ok(oceanEngineService.queryPage(pageParam, oceanEnginQo));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/add")
|
||||
public ResponseEntity<Object> save(@Validated @RequestBody OceanEngineTokenDto oceanEngineTokenDto) {
|
||||
oceanEngineTokenDto.setUserId(SecurityUtils.getCurrentUserId());
|
||||
String url = oceanEngineService.save(oceanEngineTokenDto);
|
||||
return new ResponseEntity<>(url, HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("update")
|
||||
public ResponseEntity<Object> update(Integer status, Long id) {
|
||||
oceanEngineService.updateAuthorizationStatus(status, id);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping(value = "/callback")
|
||||
public ResponseEntity<Void> callback(@RequestParam("state") String state, @RequestParam("auth_code") String authCode,
|
||||
HttpServletResponse response) throws IOException {
|
||||
log.info("================== the state as {},authCode as {} ================", state, authCode);
|
||||
oceanEngineService.processRequest(state, authCode);
|
||||
response.sendRedirect("https://byffp.top/dashboard");
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.modules.distribute.dto.DBPushClueDTO;
|
||||
import com.baiye.modules.distribute.dto.ReceivePushLeadsDTO;
|
||||
import com.baiye.modules.distribute.service.OutsideReqService;
|
||||
import com.baiye.result.BaseResultCode;
|
||||
import com.baiye.result.R;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/outside")
|
||||
public class OutsideReqController {
|
||||
|
||||
private final OutsideReqService outsideReqService;
|
||||
|
||||
/**
|
||||
* 推送资源
|
||||
*/
|
||||
@PostMapping("/pushClue/{appKey}")
|
||||
public R<Object> pushClue(@PathVariable("appKey") String appKey, @RequestBody DBPushClueDTO DBPushClueDTO) {
|
||||
outsideReqService.pushClue(appKey, DBPushClueDTO);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 接收外部推送的公共接口
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/pushLeads")
|
||||
public R<Object> externalPushClue(@RequestBody ReceivePushLeadsDTO receivePushLeadsDTO) {
|
||||
return outsideReqService.externalPushClue(receivePushLeadsDTO) ? R.ok()
|
||||
: R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "删除文件失败");
|
||||
}
|
||||
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.domain.PageParam;
|
||||
import com.baiye.domain.PageResult;
|
||||
import com.baiye.modules.distribute.entity.PushConfigEntity;
|
||||
import com.baiye.modules.distribute.qo.SendClueQo;
|
||||
import com.baiye.modules.distribute.service.PushClueService;
|
||||
import com.baiye.modules.distribute.service.PushConfigService;
|
||||
import com.baiye.modules.distribute.vo.PushClueInfoVo;
|
||||
import com.baiye.result.R;
|
||||
import com.baiye.security.util.SecurityUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date 2023-12-6
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/push/clue")
|
||||
public class PushClueController {
|
||||
|
||||
private final PushConfigService pushConfigService;
|
||||
|
||||
|
||||
private final PushClueService pushClueService;
|
||||
|
||||
@PostMapping("/config/add")
|
||||
@Operation(summary = "新增配置")
|
||||
public R<Object> addConfig(@RequestBody PushConfigEntity pushConfigEntity) {
|
||||
pushConfigService.addConfig(pushConfigEntity);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@GetMapping("/config/query")
|
||||
@Operation(summary = "新增配置")
|
||||
public R<Object> queryConfig() {
|
||||
return R.ok(pushConfigService.queryByUserId(SecurityUtils.getCurrentUserId()));
|
||||
}
|
||||
|
||||
@PostMapping("/config/update")
|
||||
@Operation(summary = "修改配置信息")
|
||||
public R<Object> updateConfig(@RequestBody PushConfigEntity pushConfigEntity) {
|
||||
pushConfigService.updateConfig(pushConfigEntity);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "分页查询资源")
|
||||
public R<PageResult<PushClueInfoVo>> getClueRecordPage(@Validated PageParam pageParam, SendClueQo qo) {
|
||||
qo.setAssignedBy(SecurityUtils.getCurrentUserId());
|
||||
|
||||
return R.ok(pushClueService.queryPage(pageParam, qo));
|
||||
}
|
||||
|
||||
}
|
@ -1,55 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.domain.PageParam;
|
||||
import com.baiye.domain.PageResult;
|
||||
import com.baiye.modules.distribute.dto.PushLinkDTO;
|
||||
import com.baiye.modules.distribute.qo.PushLinkQo;
|
||||
import com.baiye.modules.distribute.service.PushLinkService;
|
||||
import com.baiye.modules.distribute.vo.PushLinkVO;
|
||||
import com.baiye.result.BaseResultCode;
|
||||
import com.baiye.result.R;
|
||||
import com.baiye.security.util.SecurityUtils;
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@Tag(name = "推送配置")
|
||||
@RequestMapping("/pushLink")
|
||||
public class PushLinkController {
|
||||
|
||||
private final PushLinkService pushLinkService;
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "分页查询")
|
||||
public R<PageResult<PushLinkVO>> getClueRecordPage(@Validated PageParam pageParam, PushLinkQo qo) {
|
||||
qo.setCreateBy(SecurityUtils.getCurrentUserId());
|
||||
return R.ok(pushLinkService.queryPage(pageParam, qo));
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@Operation(summary = "新增(生成)链接", description = "新增(生成)链接")
|
||||
public R<String> save(@Validated({ CreateGroup.class }) @RequestBody PushLinkDTO pushLinkDTO) {
|
||||
return R.ok(pushLinkService.add(pushLinkDTO));
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/detail")
|
||||
@Operation(summary = "链接详情", description = "链接详情")
|
||||
public R<PushLinkVO> detail(Long id) {
|
||||
return R.ok(pushLinkService.pushDetail(id));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/update")
|
||||
@Operation(summary = "修改链接", description = "修改链接")
|
||||
public R<Object> update(@Validated({UpdateGroup.class}) @RequestBody PushLinkDTO pushLinkDTO) {
|
||||
return pushLinkService.update(pushLinkDTO) ? R.ok() : R.failed(BaseResultCode.UPDATE_DATABASE_ERROR, "修改失败");
|
||||
}
|
||||
|
||||
}
|
@ -1,94 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.domain.PageParam;
|
||||
import com.baiye.domain.PageResult;
|
||||
import com.baiye.modules.distribute.dto.StoreDTO;
|
||||
import com.baiye.modules.distribute.entity.StoreEntity;
|
||||
import com.baiye.modules.distribute.qo.StoreQo;
|
||||
import com.baiye.modules.distribute.service.StoreService;
|
||||
import com.baiye.modules.distribute.vo.StoreVO;
|
||||
import com.baiye.result.R;
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/9/5
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@Tag(name = "门店管理")
|
||||
@RequestMapping("/store")
|
||||
public class StoreController {
|
||||
|
||||
private final StoreService storeService;
|
||||
|
||||
@GetMapping("/queryPage")
|
||||
@Operation(summary = "分页查询门店")
|
||||
public R<PageResult<StoreVO>> queryStorePage(@Validated PageParam pageParam, StoreQo storeQo) {
|
||||
return R.ok(storeService.queryStorePage(pageParam, storeQo));
|
||||
}
|
||||
|
||||
@GetMapping("/queryAll")
|
||||
@Operation(summary = "不分页查询门店")
|
||||
public R<List<StoreVO>> queryStore(StoreQo storeQo) {
|
||||
return R.ok(storeService.queryStore(storeQo));
|
||||
}
|
||||
|
||||
@GetMapping("/queryRange")
|
||||
@Operation(summary = "查询范围内所有的门店")
|
||||
public R<List<StoreDTO>> queryRangeStore(@RequestParam("longitude") Double longitude,
|
||||
@RequestParam("latitude") Double latitude,
|
||||
@RequestParam("distance") Double distance) {
|
||||
return R.ok(storeService.queryRangeStore(longitude, latitude, distance));
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@Operation(summary = "新增门店信息")
|
||||
public R<Object> addStore(@Validated({CreateGroup.class}) @RequestBody StoreEntity storeEntity) {
|
||||
storeService.addStore(storeEntity);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@Operation(summary = "修改门店信息")
|
||||
public R<Object> updateStore(@Validated({UpdateGroup.class}) @RequestBody StoreEntity storeEntity) {
|
||||
storeService.updateStore(storeEntity);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
@Operation(summary = "删除门店信息")
|
||||
public R<Object> deleteStore(@PathVariable("id") Long storeId) {
|
||||
storeService.deleteStore(storeId);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@GetMapping("/reservation")
|
||||
@Operation(summary = "门店预约")
|
||||
public R<LinkedList<Map<String, Object>>> queryStoreReservation(@RequestParam(value = "startTime", required = false) String startTime,
|
||||
@RequestParam(value = "endTime", required = false) String endTime,
|
||||
@RequestParam("storeId") Long storeId) {
|
||||
return R.ok(storeService.queryStoreReservation(startTime, endTime, storeId));
|
||||
}
|
||||
|
||||
@GetMapping("/export")
|
||||
@Operation(summary = "门店预约详情导出")
|
||||
public void exportStoreDetails(HttpServletResponse response,
|
||||
@RequestParam(value = "startTime", required = false) String startTime,
|
||||
@RequestParam(value = "endTime", required = false) String endTime,
|
||||
@RequestParam("storeId") Long storeId) throws IOException {
|
||||
storeService.exportStoreDetails(response, startTime, endTime, storeId);
|
||||
}
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.modules.distribute.service.StoreUserService;
|
||||
import com.baiye.result.R;
|
||||
import com.baiye.system.model.dto.SysUserNameRoleDTO;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/9/15
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@Tag(name = "门店用户管理")
|
||||
@RequestMapping("/storeUser")
|
||||
public class StoreUserController {
|
||||
private final StoreUserService storeUserService;
|
||||
|
||||
@GetMapping("/queryAll")
|
||||
@Operation(summary = "查询门店业务员角色")
|
||||
public R<List<SysUserNameRoleDTO>> queryStore() {
|
||||
return R.ok(storeUserService.listByRoleCode());
|
||||
}
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import com.baiye.modules.distribute.entity.TagEntity;
|
||||
import com.baiye.modules.distribute.service.TagService;
|
||||
import com.baiye.result.R;
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date 2023-12-6
|
||||
*/
|
||||
|
||||
@RestController
|
||||
@Tag(name = "标签管理")
|
||||
@RequestMapping("/api/tag")
|
||||
@RequiredArgsConstructor
|
||||
public class TagController {
|
||||
|
||||
private final TagService tagService;
|
||||
|
||||
@PostMapping("/add")
|
||||
public R<Object> add(@Validated({CreateGroup.class}) @RequestBody TagEntity entity) {
|
||||
tagService.create(entity);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
public R<Object> update(@RequestBody List<TagEntity> list) {
|
||||
tagService.update(list);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@GetMapping("/list")
|
||||
public R<List<TagEntity>> list(@RequestParam(value = "routeStatus", required = false) Integer routeStatus,
|
||||
@RequestParam(value = "isSalesman", required = false) Boolean isSalesman) {
|
||||
return R.ok(tagService.selectList(routeStatus, isSalesman));
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
package com.baiye.modules.distribute.controller;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baiye.modules.distribute.dto.PushClueDTO;
|
||||
import com.baiye.modules.distribute.service.TripartiteService;
|
||||
import com.baiye.result.R;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date 2023-12-6
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/v1/tripartite")
|
||||
public class TripartiteController {
|
||||
|
||||
private final TripartiteService tripartiteService;
|
||||
|
||||
/**
|
||||
* 推送资源
|
||||
*/
|
||||
@PostMapping("/push/clue/{appKey}")
|
||||
public R<String> pushClue(@PathVariable("appKey") String appKey, @RequestBody PushClueDTO dto) {
|
||||
log.info("=============== the push appKey {},body {} ==============", appKey, JSONUtil.toJsonStr(dto));
|
||||
return Boolean.TRUE.equals(tripartiteService.callbackByAppKeyAndNid
|
||||
(appKey, dto)) ? R.ok("success") : R.failed("message callback failed");
|
||||
}
|
||||
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
package com.baiye.modules.distribute.converter;
|
||||
|
||||
import com.baiye.modules.distribute.dto.ClueDTO;
|
||||
import com.baiye.modules.distribute.entity.ClueEntity;
|
||||
import com.baiye.modules.distribute.vo.ClueVO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
@Mapper
|
||||
public interface ClueConverter {
|
||||
|
||||
ClueConverter INSTANCE = Mappers.getMapper(ClueConverter.class);
|
||||
|
||||
/**
|
||||
* 修改DTO 转 PO
|
||||
* @param dto 修改DTO
|
||||
* @return ClueEntity PO
|
||||
*/
|
||||
ClueEntity dtoToPo(ClueDTO dto);
|
||||
|
||||
|
||||
/**
|
||||
* 实体转vo
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
ClueVO poToExcelVo(ClueEntity entity);
|
||||
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
package com.baiye.modules.distribute.converter;
|
||||
|
||||
import com.baiye.modules.distribute.dto.CreateCustomDTO;
|
||||
import com.baiye.modules.distribute.dto.CustomDTO;
|
||||
import com.baiye.modules.distribute.entity.CustomEntity;
|
||||
import com.baiye.modules.distribute.vo.CustomVO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
@Mapper
|
||||
public interface CustomConverter {
|
||||
|
||||
CustomConverter INSTANCE = Mappers.getMapper(CustomConverter.class);
|
||||
|
||||
/**
|
||||
* 修改DTO 转 PO
|
||||
* @param dto 修改DTO
|
||||
* @return ClueEntity PO
|
||||
*/
|
||||
CustomEntity dtoToPo(CustomDTO dto);
|
||||
|
||||
/**
|
||||
* 修改DTO 转 PO
|
||||
* @param dto 修改DTO
|
||||
* @return ClueEntity PO
|
||||
*/
|
||||
CustomEntity dtoToPo(CreateCustomDTO dto);
|
||||
|
||||
|
||||
/**
|
||||
* 实体转vo
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
CustomVO poToExcelVo(CustomEntity entity);
|
||||
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
package com.baiye.modules.distribute.converter;
|
||||
|
||||
import com.baiye.modules.distribute.dto.DirectClueDTO;
|
||||
import com.baiye.modules.distribute.entity.DirectClueEntity;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
@Mapper
|
||||
public interface DirectClueConverter {
|
||||
|
||||
DirectClueConverter INSTANCE = Mappers.getMapper(DirectClueConverter.class);
|
||||
|
||||
/**
|
||||
* 修改DTO 转 PO
|
||||
* @param dto 修改DTO
|
||||
* @return ClueEntity PO
|
||||
*/
|
||||
DirectClueEntity dtoToPo(DirectClueDTO dto);
|
||||
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
package com.baiye.modules.distribute.converter;
|
||||
|
||||
import com.baiye.modules.distribute.entity.FileContrastRecordEntity;
|
||||
import com.baiye.modules.distribute.entity.FileContrastSourceEntity;
|
||||
import com.baiye.modules.distribute.vo.FileContrastRecordVO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date 2024-3-13
|
||||
*/
|
||||
@Mapper
|
||||
public interface FileContrasRecordConverter {
|
||||
|
||||
FileContrasRecordConverter INSTANCE = Mappers.getMapper(FileContrasRecordConverter.class);
|
||||
|
||||
|
||||
/**
|
||||
* 实体转vo
|
||||
*
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
FileContrastRecordVO entityToVo(FileContrastRecordEntity entity);
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
package com.baiye.modules.distribute.converter;
|
||||
|
||||
import com.baiye.modules.distribute.entity.FileContrastEntity;
|
||||
import com.baiye.modules.distribute.vo.FileContrastVO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date 2024-3-13
|
||||
*/
|
||||
@Mapper
|
||||
public interface FileContrastConverter {
|
||||
|
||||
FileContrastConverter INSTANCE = Mappers.getMapper(FileContrastConverter.class);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 实体转vo
|
||||
*
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
FileContrastVO entityToVo(FileContrastEntity entity);
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package com.baiye.modules.distribute.converter;
|
||||
|
||||
import com.baiye.modules.distribute.entity.OceanEngineToken;
|
||||
import com.baiye.modules.distribute.vo.OceanEnginVO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date 2023-11-6
|
||||
*/
|
||||
@Mapper
|
||||
public interface OceanEngineConverter {
|
||||
|
||||
OceanEngineConverter INSTANCE = Mappers.getMapper(OceanEngineConverter.class);
|
||||
|
||||
/**
|
||||
* 实体转Vo
|
||||
* @param token
|
||||
* @return
|
||||
*/
|
||||
OceanEnginVO entityToVo(OceanEngineToken token);
|
||||
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
package com.baiye.modules.distribute.converter;
|
||||
|
||||
import com.baiye.modules.distribute.entity.PushClueInfoEntity;
|
||||
import com.baiye.modules.distribute.vo.PushClueInfoVo;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
@Mapper
|
||||
public interface PushClueConverter {
|
||||
|
||||
PushClueConverter INSTANCE = Mappers.getMapper(PushClueConverter.class);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param clueInfo
|
||||
* @return
|
||||
*/
|
||||
PushClueInfoVo poToPageVo(PushClueInfoEntity clueInfo);
|
||||
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
package com.baiye.modules.distribute.converter;
|
||||
|
||||
import com.baiye.modules.distribute.dto.PushLinkDTO;
|
||||
import com.baiye.modules.distribute.entity.PushLinkEntity;
|
||||
import com.baiye.modules.distribute.vo.PushLinkVO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
@Mapper
|
||||
public interface PushLinkConverter {
|
||||
|
||||
PushLinkConverter INSTANCE = Mappers.getMapper(PushLinkConverter.class);
|
||||
|
||||
/**
|
||||
* 修改DTO 转 PO
|
||||
* @param dto 修改DTO
|
||||
* @return ClueEntity PO
|
||||
*/
|
||||
PushLinkEntity dtoToPo(PushLinkDTO dto);
|
||||
|
||||
|
||||
/**
|
||||
* 实体转vo
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
PushLinkVO entityToVo(PushLinkEntity entity);
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date : 2023/12/7
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
public class CallbackCustomDTO {
|
||||
|
||||
private Integer sex;
|
||||
|
||||
private String remark;
|
||||
|
||||
private Long companyId;
|
||||
|
||||
private String enterName;
|
||||
|
||||
private String customName;
|
||||
|
||||
private Integer customType;
|
||||
|
||||
private String customNid;
|
||||
|
||||
private Integer channelType;
|
||||
|
||||
private Long reportUserId;
|
||||
|
||||
private Long distributeId;
|
||||
|
||||
private String channelName;
|
||||
|
||||
private List<String> identifying;
|
||||
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import com.baiye.validation.group.SubmitGroup;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ChangeCustomDTO {
|
||||
|
||||
/**
|
||||
* 客户ID
|
||||
*/
|
||||
@NotNull(message = "ID不能为空", groups = { SubmitGroup.class })
|
||||
private Long customId;
|
||||
|
||||
/**
|
||||
* 状态: 0-地理分发 1-基础分发 2-复审
|
||||
*/
|
||||
@NotNull(message = "状态不能为空", groups = { SubmitGroup.class })
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 复审员用户ID
|
||||
*/
|
||||
private Long reviewUserId;
|
||||
|
||||
/**
|
||||
* 业务员用户ID
|
||||
*/
|
||||
private List<Long> salesmanUserId;
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @Author YQY
|
||||
* @Date 2023/8/15
|
||||
*/
|
||||
@Data
|
||||
public class ClueStageDTO {
|
||||
|
||||
@Schema(title = "ID")
|
||||
@NotNull(message = "ID不能为空", groups = { UpdateGroup.class })
|
||||
private Long clueStageId;
|
||||
|
||||
@Schema(title = "线索阶段名称")
|
||||
@NotNull(message = "线索阶段名称不能为空", groups = { CreateGroup.class })
|
||||
private String name;
|
||||
|
||||
@Schema(title = "线索阶段排序")
|
||||
@NotNull(message = "线索阶段排序不能为空", groups = { CreateGroup.class })
|
||||
private Integer sort;
|
||||
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springdoc.api.annotations.ParameterObject;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date 2023-10-20
|
||||
*/
|
||||
@Data
|
||||
@Schema(title = "对比dto")
|
||||
@ParameterObject
|
||||
public class ContrastDTO {
|
||||
private String nid;
|
||||
|
||||
private String remark;
|
||||
|
||||
private String isRepeat;
|
||||
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date 2023-12-6
|
||||
*/
|
||||
@Data
|
||||
public class CreateCustomDTO {
|
||||
|
||||
|
||||
public CreateCustomDTO() {
|
||||
}
|
||||
|
||||
@Schema(title = "客户名称")
|
||||
private String customName;
|
||||
|
||||
@Schema(title = "客户联系方式")
|
||||
@NotBlank(message = "客户联系方式不能为空", groups = {CreateGroup.class, UpdateGroup.class})
|
||||
private String customNid;
|
||||
|
||||
@Schema(title = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
@Schema(title = "渠道类型")
|
||||
private Integer channelType;
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class CustomStoreDTO {
|
||||
|
||||
@Schema(title = "ID")
|
||||
@NotNull(message = "ID不能为空", groups = { UpdateGroup.class })
|
||||
private Long customStoreId;
|
||||
|
||||
@Schema(title = "门店ID")
|
||||
@NotNull(message = "门店ID不能为空", groups = { CreateGroup.class })
|
||||
private Long storeId;
|
||||
|
||||
@Schema(title = "客户ID")
|
||||
@NotNull(message = "客户ID不能为空", groups = { CreateGroup.class })
|
||||
private Long customId;
|
||||
|
||||
@Schema(title = "门店名称")
|
||||
@NotNull(message = "门店名称不能为空", groups = { CreateGroup.class })
|
||||
private String storeName;
|
||||
|
||||
@Schema(title = "预约时间")
|
||||
@NotNull(message = "预约时间不能为空", groups = { CreateGroup.class })
|
||||
private String reservationTime;
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DBPushClueDTO {
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 人工评级
|
||||
*/
|
||||
private String empClientTypeName;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 人工评级推送的手机号, mobile就不是手机号字段了
|
||||
*/
|
||||
private String called;
|
||||
|
||||
/**
|
||||
* 太空猫传递的线索ID
|
||||
*/
|
||||
private Long variable;
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class DirectClueDTO {
|
||||
|
||||
@Schema(title = "ID")
|
||||
@NotNull(message = "ID不能为空", groups = { UpdateGroup.class })
|
||||
private Long directClueId;
|
||||
|
||||
@Schema(title = "有效状态 0:有效 1:无效")
|
||||
private Integer effectiveStatus;
|
||||
|
||||
@Schema(title = "标签")
|
||||
private List<String> clueLabel;
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class DistributeDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 6275518278441151400L;
|
||||
|
||||
@NotEmpty(message = "部门不能为空")
|
||||
private List<Long> deptIds;
|
||||
|
||||
@NotEmpty(message = "资源不能为空")
|
||||
private List<Long> resourceList;
|
||||
|
||||
@Schema(title = "是否权重分配")
|
||||
private Boolean isWeight;
|
||||
|
||||
@Schema(title = "权重")
|
||||
private List<Double> weights;
|
||||
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class DistributeResponseDTO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 2772000439619817023L;
|
||||
|
||||
@Schema(title = "部门id集合")
|
||||
private Long deptId;
|
||||
|
||||
@Schema(title = "分配资源")
|
||||
private List<Long> responseList;
|
||||
|
||||
}
|
@ -1,68 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springdoc.api.annotations.ParameterObject;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.hutool.core.date.DatePattern.NORM_DATETIME_PATTERN;
|
||||
|
||||
/**
|
||||
* @Author YQY
|
||||
* @Date 2023/8/11
|
||||
*/
|
||||
@Data
|
||||
@Schema(title = "分发任务查询对象")
|
||||
@ParameterObject
|
||||
public class DistributeTaskDTO {
|
||||
|
||||
@Schema(title = "分发任务ID")
|
||||
@NotNull(message = "分发ID不能为空", groups = { UpdateGroup.class })
|
||||
private Long distributeTaskId;
|
||||
|
||||
@Schema(title = "分发类型 0:手动分发 1:自动分发")
|
||||
@NotNull(message = "分发类型不能为空", groups = { CreateGroup.class })
|
||||
private Integer distributeTaskType;
|
||||
|
||||
@Schema(title = "任务名称")
|
||||
@NotBlank(message = "任务名称不能为空", groups = { CreateGroup.class })
|
||||
private String taskName;
|
||||
|
||||
@Schema(title = "分发规则 0:平均 1:权重")
|
||||
@NotNull(message = "请选择分发规则", groups = { CreateGroup.class })
|
||||
private Integer ruleStatus;
|
||||
|
||||
@Schema(title = "分发时间 0:实时 1:定时")
|
||||
private Integer timeStatus;
|
||||
|
||||
@Schema(title = "定时开始时间")
|
||||
@DateTimeFormat(pattern = NORM_DATETIME_PATTERN)
|
||||
@JsonFormat(pattern = NORM_DATETIME_PATTERN)
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@Schema(title = "文件规则前缀")
|
||||
private String fileRulePrefix;
|
||||
|
||||
@Schema(title = "上传文件记录ID “,”相隔")
|
||||
private List<Long> fileRecordIdList;
|
||||
|
||||
@Schema(title = "分发任务人员和权重")
|
||||
@NotEmpty(message = "分发任务人员不能为空", groups = { CreateGroup.class })
|
||||
private List<DistributeTaskUserDTO> users;
|
||||
|
||||
@Schema(title = "执行状态 0:未执行 1:执行中 2:已执行 3:暂停")
|
||||
private Integer executeStatus;
|
||||
|
||||
@Schema(title = "任务默认类型 0:默认 1:非默认")
|
||||
private Integer defaultType;
|
||||
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author YQY
|
||||
* @Date 2023/8/11
|
||||
*/
|
||||
@Data
|
||||
public class DistributeTaskUserDTO {
|
||||
|
||||
@Schema(title = "用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(title = "权重值")
|
||||
private Integer weight;
|
||||
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springdoc.api.annotations.ParameterObject;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/9/13
|
||||
*/
|
||||
@Data
|
||||
@Schema(title = "门店管理dto")
|
||||
@ParameterObject
|
||||
public class FileContrastDTO {
|
||||
|
||||
private MultipartFile[] files;
|
||||
|
||||
|
||||
@NotEmpty(message = "用户id不能为空")
|
||||
private List<Long> userIds;
|
||||
|
||||
@NotBlank(message = "任务名称不能为空")
|
||||
private String taskName;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/12/6
|
||||
*/
|
||||
@Data
|
||||
public class HomePageDTO {
|
||||
|
||||
private String createTime;
|
||||
|
||||
private Long assignedBy;
|
||||
|
||||
private String assignedName;
|
||||
|
||||
private Long createBy;
|
||||
|
||||
private String enterName;
|
||||
|
||||
private Integer num;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import cn.hutool.core.text.CharSequenceUtil;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/11/10
|
||||
*/
|
||||
@Data
|
||||
public class OceanEngineResponseDTO {
|
||||
private Object data;
|
||||
|
||||
@JsonProperty("code")
|
||||
private Integer code;
|
||||
|
||||
@JsonProperty("message")
|
||||
private String message;
|
||||
|
||||
@JsonProperty("request_id")
|
||||
private String requestId = CharSequenceUtil.EMPTY;
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date 2023-11-2
|
||||
*/
|
||||
@Data
|
||||
public class OceanEngineTokenDto implements Serializable {
|
||||
private static final long serialVersionUID = -7107014280197393381L;
|
||||
private Long userId;
|
||||
|
||||
private Long expiresIn;
|
||||
|
||||
private Long companyId;
|
||||
|
||||
private Integer status;
|
||||
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = "GMT+8")
|
||||
private Date authorizeTime;
|
||||
|
||||
@NotBlank
|
||||
private String authorizeName;
|
||||
|
||||
private Long refreshTokenExpiresIn;
|
||||
|
||||
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date 2023-12-6
|
||||
*/
|
||||
@Data
|
||||
public class PushClueDTO {
|
||||
|
||||
|
||||
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 人工审核推送手机号, mobile就不是手机号字段了
|
||||
*/
|
||||
private String called;
|
||||
|
||||
/**
|
||||
* 话单id
|
||||
*/
|
||||
private String recId;
|
||||
|
||||
/**
|
||||
* 太空猫传递的线索ID
|
||||
*/
|
||||
private Long variable;
|
||||
|
||||
/**
|
||||
* nid
|
||||
*/
|
||||
private String mobile;
|
||||
|
||||
|
||||
private String empClientTypeName;
|
||||
|
||||
|
||||
private Map<String, String> clientVariables;
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ReadFileDTO {
|
||||
|
||||
@Schema(title = "记录ID")
|
||||
private Long recordId;
|
||||
|
||||
@Schema(title = "渠道名称")
|
||||
@NotBlank(message = "渠道名称不能为空", groups = {CreateGroup.class})
|
||||
private String channelName;
|
||||
|
||||
@Schema(title = "分发人用户ID集合")
|
||||
@NotEmpty(message = "用户不能为空", groups = {CreateGroup.class})
|
||||
private List<Long> distributorsUserIdList;
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author YQY
|
||||
* @Date 2023/8/10
|
||||
*/
|
||||
@Data
|
||||
public class ReceivePushLeadsDTO {
|
||||
|
||||
private String appKey;
|
||||
|
||||
private List<String> clueList;
|
||||
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springdoc.api.annotations.ParameterObject;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/9/13
|
||||
*/
|
||||
@Data
|
||||
@Schema(title = "门店管理dto")
|
||||
@ParameterObject
|
||||
public class StoreDTO {
|
||||
@Schema(description = "门店名称")
|
||||
private String storeName;
|
||||
@Schema(description = "门店id")
|
||||
private Long id;
|
||||
@Schema(description = "纬度")
|
||||
private BigDecimal latitude;
|
||||
@Schema(description = "经度")
|
||||
private BigDecimal longitude;
|
||||
@Schema(description = "联系方式")
|
||||
private String nid;
|
||||
@Schema(description = "门店地址")
|
||||
private String address;
|
||||
@Schema(description = "距离/米")
|
||||
private Double distance;
|
||||
@Schema(description = "序号")
|
||||
private Integer index;
|
||||
@Schema(description = "区")
|
||||
private String county;
|
||||
@Schema(description = "详情")
|
||||
private String detail;
|
||||
@Schema(description = "营业开始时间")
|
||||
private String tradeStartTime;
|
||||
@Schema(description = "营业结束时间")
|
||||
private String tradeEndTime;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springdoc.api.annotations.ParameterObject;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date 2023-10-20
|
||||
*/
|
||||
@Data
|
||||
@Schema(title = "门店管理dto")
|
||||
@ParameterObject
|
||||
public class StoreUserDTO {
|
||||
@Schema(description = "门店名称")
|
||||
private String storeName;
|
||||
|
||||
@Schema(description = "用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "用户id")
|
||||
private Long storeId;
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
package com.baiye.modules.distribute.dto;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date : 2024/3/4
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
public class TripartiteDTO {
|
||||
|
||||
@SerializedName("timestamp")
|
||||
private Long timestamp;
|
||||
|
||||
@SerializedName("request_id")
|
||||
private String requestId;
|
||||
|
||||
@SerializedName("nid")
|
||||
private String nid;
|
||||
|
||||
@SerializedName("other_info")
|
||||
private String otherInfo;
|
||||
|
||||
}
|
@ -1,61 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baiye.extend.mybatis.plus.alias.TableAlias;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @Author YQY
|
||||
* @Date 2023/8/1
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("tb_clue_record")
|
||||
@Schema(title = "线索上传文件记录")
|
||||
@TableAlias("cr")
|
||||
public class ClueRecordEntity extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId
|
||||
@Schema(title = "线索上传文件记录ID")
|
||||
private Long clueRecordId;
|
||||
|
||||
@Schema(title = "上传状态 0:上传中 1:上传失败 2:上传成功")
|
||||
private Integer status = 0;
|
||||
|
||||
@Schema(title = "上传文件名")
|
||||
private String oldFileName;
|
||||
|
||||
@Schema(title = "存入路径")
|
||||
private String url;
|
||||
|
||||
@Schema(title = "备注")
|
||||
private String remark;
|
||||
|
||||
@Schema(title = "渠道类型")
|
||||
private String channelType;
|
||||
|
||||
@Schema(title = "渠道标识")
|
||||
private String channelIdentifying;
|
||||
|
||||
@Schema(title = "成功条数")
|
||||
private Integer successNum = 0;
|
||||
|
||||
@Schema(title = "失败条数")
|
||||
private Integer failNum = 0;
|
||||
|
||||
@Schema(title = "分配状态: 0:未分配 1:已分配")
|
||||
private Integer allocationStatus = 0;
|
||||
|
||||
@Schema(title = "记录类型 0:文件上传 1:资源推送")
|
||||
private Integer recordType = 0;
|
||||
|
||||
@Schema(title = "分发状态 0:未分发 1:已分发")
|
||||
private Integer distributeStatus = 0;
|
||||
|
||||
}
|
@ -1,39 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@TableName("tb_clue_stage")
|
||||
@Schema(title = "线索阶段表")
|
||||
@Validated
|
||||
public class ClueStageEntity extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId
|
||||
@Schema(title = "ID")
|
||||
@NotNull(message = "ID不能为空", groups = { UpdateGroup.class })
|
||||
private Long clueStageId;
|
||||
|
||||
@Schema(title = "线索阶段名称")
|
||||
@NotNull(message = "线索阶段名称不能为空", groups = { CreateGroup.class })
|
||||
private String name;
|
||||
|
||||
@Schema(title = "线索阶段排序")
|
||||
@NotNull(message = "线索阶段排序不能为空", groups = { CreateGroup.class })
|
||||
private Integer sort;
|
||||
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("tb_custom_store")
|
||||
@Validated
|
||||
@Schema(title = "客户表门店关联表")
|
||||
public class CustomStoreEntity extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId
|
||||
@Schema(title = "ID")
|
||||
@NotNull(message = "ID不能为空", groups = { UpdateGroup.class })
|
||||
private Long customStoreId;
|
||||
|
||||
@Schema(title = "门店ID")
|
||||
@NotNull(message = "门店不能为空")
|
||||
private Long storeId;
|
||||
|
||||
@Schema(title = "客户ID")
|
||||
private Long customId;
|
||||
|
||||
@Schema(title = "门店名称")
|
||||
@NotBlank(message = "门店名称不能为空")
|
||||
private String storeName;
|
||||
|
||||
@Schema(title = "预约日期")
|
||||
private LocalDateTime reservationDate;
|
||||
|
||||
@Schema(title = "预约时间")
|
||||
private String reservationTime;
|
||||
}
|
@ -1,65 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baiye.extend.mybatis.plus.alias.TableAlias;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("tb_direct_clue")
|
||||
@TableAlias("dc")
|
||||
@Schema(title = "直达线索表")
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class DirectClueEntity extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId
|
||||
@Schema(title = "直达线索ID")
|
||||
private Long directClueId;
|
||||
|
||||
@Schema(title = "编号")
|
||||
private String batchNo;
|
||||
|
||||
@Schema(title = "客户名称")
|
||||
private String customName;
|
||||
|
||||
@Schema(title = "nid")
|
||||
private String nid;
|
||||
|
||||
@Schema(title = "来源 0:巨量")
|
||||
private Integer originType;
|
||||
|
||||
@Schema(title = "有效状态 0:有效 1:无效")
|
||||
private Integer effectiveStatus;
|
||||
|
||||
@Schema(title = "资源标签")
|
||||
private String clueLabelName;
|
||||
|
||||
@Schema(title = "分发状态 0:未分发 1:已分发")
|
||||
private Integer distributeType;
|
||||
|
||||
@Schema(title = "分发日期")
|
||||
private LocalDateTime distributeDate;
|
||||
|
||||
@Schema(title = "资源分发的分发员用户ID")
|
||||
private Long distributeUserId;
|
||||
|
||||
@Schema(title = "其它线索信息")
|
||||
private String otherClue;
|
||||
|
||||
public DirectClueEntity(String customName, String nid, String otherClue) {
|
||||
this.customName = customName;
|
||||
this.nid = nid;
|
||||
this.otherClue = otherClue;
|
||||
}
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("tb_direct_clue_user")
|
||||
@Schema(title = "直达线索表")
|
||||
public class DirectClueUserEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId
|
||||
@Schema(title = "直达线索用户关联表ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(title = "线索ID")
|
||||
@NotNull(message = "线索不能为空", groups = CreateGroup.class)
|
||||
private Long clueId;
|
||||
|
||||
@Schema(title = "用户ID")
|
||||
@NotNull(message = "用户不能为空", groups = CreateGroup.class)
|
||||
private Long userId;
|
||||
|
||||
@Schema(title = "用户名")
|
||||
private String userName;
|
||||
}
|
@ -1,70 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/8/11
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@TableName("tb_distribute_report_channel")
|
||||
@Schema(title = "导入线索分配统计-渠道")
|
||||
public class DistributeReportChannelEntity implements Serializable {
|
||||
|
||||
@TableId
|
||||
@Schema(title = "ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(title = "用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(title = "用户名")
|
||||
private String username;
|
||||
|
||||
@Schema(title = "渠道")
|
||||
private String channel;
|
||||
|
||||
@Schema(title = "当日量")
|
||||
private Integer todayNum = 0;
|
||||
|
||||
@Schema(title = "总量")
|
||||
private Integer totalNum = 0;
|
||||
|
||||
@Schema(title = "分配量")
|
||||
private Integer distributeNum = 0;
|
||||
|
||||
@Schema(title = "占比")
|
||||
private double ratio;
|
||||
|
||||
@Schema(title = "日环比")
|
||||
private double ratioDay;
|
||||
|
||||
@Schema(title = "统计日期")
|
||||
private Date createTime;
|
||||
|
||||
public DistributeReportChannelEntity createDistributeReportChannel(Long userId, String username, String channel,
|
||||
Integer todayNum, Integer totalNum, Integer distributeNum, Double ratio, Double ratioDay) {
|
||||
this.setUserId(userId);
|
||||
this.setUsername(username);
|
||||
this.setChannel(channel);
|
||||
this.setTodayNum(todayNum);
|
||||
this.setTotalNum(totalNum);
|
||||
this.setDistributeNum(distributeNum);
|
||||
this.setRatio(ratio);
|
||||
this.setRatioDay(ratioDay);
|
||||
this.setCreateTime(DateUtil.date());
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/8/11
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@TableName("tb_distribute_report")
|
||||
@Schema(title = "导入线索分配统计")
|
||||
public class DistributeReportEntity implements Serializable {
|
||||
|
||||
@TableId
|
||||
@Schema(title = "ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(title = "用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(title = "用户名")
|
||||
private String username;
|
||||
|
||||
@Schema(title = "渠道")
|
||||
private String channel;
|
||||
|
||||
@Schema(title = "总量")
|
||||
private Integer todayNum = 0;
|
||||
|
||||
@Schema(title = "占比")
|
||||
private double ratio;
|
||||
|
||||
@Schema(title = "日环比")
|
||||
private double ratioDay;
|
||||
|
||||
@Schema(title = "统计日期")
|
||||
private Date createTime;
|
||||
|
||||
public DistributeReportEntity createDistributeReport(Long userId, String username, String channel, Integer todayNum,
|
||||
Double ratio, Double ratioDay) {
|
||||
this.setUserId(userId);
|
||||
this.setUsername(username);
|
||||
this.setChannel(channel);
|
||||
this.setTodayNum(todayNum);
|
||||
this.setRatio(ratio);
|
||||
this.setRatioDay(ratioDay);
|
||||
this.setCreateTime(DateUtil.date());
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/8/11
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@TableName("tb_distribute_report_user")
|
||||
@Schema(title = "导入线索分配统计-用户")
|
||||
public class DistributeReportUserEntity implements Serializable {
|
||||
|
||||
@TableId
|
||||
@Schema(title = "ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(title = "用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(title = "用户名")
|
||||
private String username;
|
||||
|
||||
@Schema(title = "当日量")
|
||||
private Integer todayNum = 0;
|
||||
|
||||
@Schema(title = "总量")
|
||||
private Integer totalNum = 0;
|
||||
|
||||
@Schema(title = "分配量")
|
||||
private Integer distributeNum = 0;
|
||||
|
||||
@Schema(title = "占比")
|
||||
private double ratio;
|
||||
|
||||
@Schema(title = "日环比")
|
||||
private double ratioDay;
|
||||
|
||||
@Schema(title = "统计日期")
|
||||
private Date createTime;
|
||||
|
||||
public DistributeReportUserEntity createDistributeReportUser(Long userId, String username, Integer todayNum,
|
||||
Integer totalNum, Integer distributeNum, Double ratio, Double ratioDay) {
|
||||
this.setUserId(userId);
|
||||
this.setUsername(username);
|
||||
this.setTodayNum(todayNum);
|
||||
this.setTotalNum(totalNum);
|
||||
this.setDistributeNum(distributeNum);
|
||||
this.setRatio(ratio);
|
||||
this.setRatioDay(ratioDay);
|
||||
this.setCreateTime(DateUtil.date());
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baiye.extend.mybatis.plus.alias.TableAlias;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @Author YQY
|
||||
* @Date 2023/8/11
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@TableName("tb_distribute_task")
|
||||
@Schema(title = "分发任务")
|
||||
@TableAlias("dt")
|
||||
public class DistributeTaskEntity extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId
|
||||
@Schema(title = "分发任务ID")
|
||||
private Long distributeTaskId;
|
||||
|
||||
@Schema(title = "分发类型 0:手动分发 1:自动分发")
|
||||
private Integer distributeTaskType;
|
||||
|
||||
@Schema(title = "任务名称")
|
||||
private String taskName;
|
||||
|
||||
@Schema(title = "分发规则 0:平均 1:权重")
|
||||
private Integer ruleStatus;
|
||||
|
||||
@Schema(title = "分发时间 0:实时 1:定时")
|
||||
private Integer timeStatus;
|
||||
|
||||
@Schema(title = "定时开始时间")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@Schema(title = "文件规则前缀")
|
||||
private String fileRulePrefix;
|
||||
|
||||
@Schema(title = "上传文件记录ID “,”相隔")
|
||||
private String fileRecordId;
|
||||
|
||||
@Schema(title = "执行状态 0:未执行 1:执行中 2:已执行 3:暂停")
|
||||
private Integer executeStatus;
|
||||
|
||||
@Schema(title = "任务默认类型 0:默认 1:非默认")
|
||||
private Integer defaultType;
|
||||
|
||||
@Schema(title = "任务执行次数")
|
||||
private Integer executeNum;
|
||||
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* @Author YQY
|
||||
* @Date 2023/8/11
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@TableName("tb_distribute_task_user")
|
||||
@Schema(title = "分发任务用户权重表")
|
||||
public class DistributeTaskUserEntity extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId
|
||||
@Schema(title = "ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(title = "分发任务ID")
|
||||
private Long distributeTaskId;
|
||||
|
||||
@Schema(title = "用户ID")
|
||||
private Long userId;
|
||||
|
||||
@Schema(title = "权重值")
|
||||
private Integer weight;
|
||||
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baiye.extend.mybatis.plus.alias.TableAlias;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date : 2024-3-13
|
||||
*/
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@TableAlias("fl")
|
||||
@Schema(title = "文件上传对比")
|
||||
@TableName(value = "tb_file_contrast_task" ,autoResultMap = true)
|
||||
public class FileContrastEntity extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 7079254193191231031L;
|
||||
|
||||
@TableId
|
||||
@Schema(title = "ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(title = "任务名称")
|
||||
private String taskName;
|
||||
|
||||
@Schema(title = "对比状态")
|
||||
private Integer status;
|
||||
|
||||
@Schema(title = "对比数量")
|
||||
private Integer contrastNum;
|
||||
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baiye.extend.mybatis.plus.alias.TableAlias;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date : 2024-3-13
|
||||
*/
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@TableAlias("fs")
|
||||
@Schema(title = "文件上传对比")
|
||||
@TableName(value = "tb_file_contrast_record", autoResultMap = true)
|
||||
public class FileContrastRecordEntity extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1272925960799071730L;
|
||||
|
||||
@TableId
|
||||
@Schema(title = "ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(title = "任务id")
|
||||
private Long taskId;
|
||||
|
||||
@Schema(title = "对比数量")
|
||||
private Integer contrastNum;
|
||||
|
||||
@Schema(title = "对比状态")
|
||||
private Integer status;
|
||||
|
||||
@Schema(title = "文件地址")
|
||||
private String filePath;
|
||||
|
||||
@Schema(title = "下载地址")
|
||||
private String downPath;
|
||||
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baiye.extend.mybatis.plus.alias.TableAlias;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date : 2024-3-13
|
||||
*/
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@TableAlias("fs")
|
||||
@Schema(title = "文件上传对比")
|
||||
@TableName(value = "tb_file_contrast_source" ,autoResultMap = true)
|
||||
public class FileContrastSourceEntity extends BaseEntity {
|
||||
|
||||
|
||||
private static final long serialVersionUID = -2751989800003535012L;
|
||||
|
||||
@TableId
|
||||
@Schema(title = "ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(title = "任务id")
|
||||
private Long taskId;
|
||||
|
||||
@Schema(title = "nid")
|
||||
private String nid;
|
||||
|
||||
@Schema(title = "备注")
|
||||
private String remark;
|
||||
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@TableName("tb_label")
|
||||
@Schema(title = "标签管理")
|
||||
public class LabelEntity extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId
|
||||
@Schema(title = "ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(title = "标签名称")
|
||||
private String labelName;
|
||||
|
||||
@Schema(title = "标签类型")
|
||||
private Integer type;
|
||||
|
||||
@Schema(title = "所属标签组ID")
|
||||
private Long labelOrganizeId;
|
||||
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baiye.extend.mybatis.plus.alias.TableAlias;
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@TableName("tb_label_organize")
|
||||
@Schema(title = "标签组管理")
|
||||
@TableAlias("lo")
|
||||
public class LabelOrganizeEntity extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId
|
||||
@Schema(title = "ID")
|
||||
@NotNull(message = "组ID不能为空", groups = { UpdateGroup.class })
|
||||
private Long id;
|
||||
|
||||
@Schema(title = "标签组名称")
|
||||
@NotNull(message = "标签组名称不能为空", groups = { CreateGroup.class })
|
||||
private String name;
|
||||
|
||||
@Schema(title = "是否启用标签组 0:不启用 1:启用")
|
||||
@NotNull(message = "请选择是否启用标签组", groups = { CreateGroup.class })
|
||||
private Integer isEnable = 1;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<String> labelList;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<LabelEntity> labelEntityList;
|
||||
|
||||
@TableField(exist = false)
|
||||
private Set<Long> delLabelId;
|
||||
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/11/2
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@TableName(value = "tb_ocean_engine_source", autoResultMap = true)
|
||||
public class OceanEngineSourceEntity extends BaseEntity {
|
||||
|
||||
@TableId
|
||||
@Schema(title = "id")
|
||||
private Long id;
|
||||
|
||||
@Schema(title = "user_id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(title = "content")
|
||||
private String content;
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.extend.mybatis.plus.converter.JsonStringArrayTypeHandler;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date : 2023-11-2
|
||||
*/
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@TableName(value = "tb_ocean_engine_token", autoResultMap = true)
|
||||
public class OceanEngineToken {
|
||||
|
||||
@TableId
|
||||
@Schema(title = "id")
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "status")
|
||||
private Integer status;
|
||||
|
||||
|
||||
@Schema(name = "user_id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(name = "authorize_name")
|
||||
private String authorizeName;
|
||||
|
||||
@Schema(name = "company_id")
|
||||
private Long companyId;
|
||||
|
||||
@Schema(name = "access_token")
|
||||
private String accessToken;
|
||||
|
||||
@Schema(name = "refresh_token")
|
||||
private String refreshToken;
|
||||
|
||||
@TableField(value = "advertiser_ids", typeHandler = JsonStringArrayTypeHandler.class)
|
||||
@Schema(name = "advertiser_ids")
|
||||
private List<String> advertiserIds;
|
||||
|
||||
@Schema(name = "expires_in")
|
||||
private Long expiresIn;
|
||||
|
||||
@Schema(name = "refresh_token_expires_in")
|
||||
private Long refreshTokenExpiresIn;
|
||||
|
||||
@Schema(name = "authorize_time")
|
||||
private Date authorizeTime;
|
||||
|
||||
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date : 2024/3/1
|
||||
*/
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@TableName("tb_push_task_user")
|
||||
@Schema(title = "推送线索表")
|
||||
public class PushClueInfoEntity extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 1087915923814826863L;
|
||||
|
||||
@TableId
|
||||
@Schema(title = "ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(title = "用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(title = "线索id")
|
||||
private Long clueId;
|
||||
|
||||
@Schema(title = "请求id")
|
||||
private String requestId;
|
||||
|
||||
@Schema(title = "推送内容")
|
||||
private String pushInfo;
|
||||
|
||||
@Schema(title = "推送状态")
|
||||
private Integer pushStatus;
|
||||
|
||||
@Schema(title = "返回消息")
|
||||
private String pushResult;
|
||||
|
||||
@Schema(title = "推送次数")
|
||||
private Integer sendNum;
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date : 2024/3/1
|
||||
*/
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@TableName("tb_push_config")
|
||||
@Schema(title = "推送配置表")
|
||||
public class PushConfigEntity extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = -6950203949409966313L;
|
||||
|
||||
@TableId
|
||||
@Schema(title = "id")
|
||||
private Long id;
|
||||
|
||||
@Schema(title = "用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(title = "是否启用")
|
||||
private Integer status;
|
||||
|
||||
@Schema(title = "推送链接")
|
||||
private String pushUrl;
|
||||
}
|
@ -1,86 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.LogicDeletedBaseEntity;
|
||||
import com.baiye.extend.mybatis.plus.alias.TableAlias;
|
||||
import com.baiye.validation.group.CreateGroup;
|
||||
import com.baiye.validation.group.UpdateGroup;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/9/5
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("tb_store")
|
||||
@Schema(title = "门店")
|
||||
@TableAlias("st")
|
||||
public class StoreEntity extends LogicDeletedBaseEntity {
|
||||
|
||||
@TableId
|
||||
@Schema(description = "ID")
|
||||
@Parameter(description = "id")
|
||||
@NotNull(message = "ID不能为空", groups = {UpdateGroup.class})
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "门店名称")
|
||||
@NotNull(message = "门店名称不能为空", groups = {CreateGroup.class})
|
||||
private String storeName;
|
||||
|
||||
@Schema(description = "门店类型 0-直营店 1-加盟店")
|
||||
@NotNull(message = "门店类型不能为空", groups = {CreateGroup.class})
|
||||
private Integer storeType;
|
||||
|
||||
@Schema(description = "门店状态 0-正常 1-未营业")
|
||||
@NotNull(message = "门店状态不能为空", groups = {CreateGroup.class})
|
||||
private Integer storeStatus;
|
||||
@Schema(description = "nid")
|
||||
private String nid;
|
||||
@Schema(description = "省份")
|
||||
@NotNull(message = "省份不能为空", groups = {CreateGroup.class})
|
||||
private String province;
|
||||
|
||||
@Schema(description = "城市")
|
||||
@NotNull(message = "城市不能为空", groups = {CreateGroup.class})
|
||||
private String city;
|
||||
|
||||
@Schema(description = "区县")
|
||||
@NotNull(message = "区县不能为空", groups = {CreateGroup.class})
|
||||
private String county;
|
||||
|
||||
@Schema(description = "详细地址")
|
||||
private String detail;
|
||||
|
||||
@Schema(description = "营业开始时间")
|
||||
@NotNull(message = "营业时间不能为空", groups = {CreateGroup.class})
|
||||
private String tradeStartTime;
|
||||
|
||||
@Schema(description = "营业结束时间")
|
||||
@NotNull(message = "营业时间不能为空", groups = {CreateGroup.class})
|
||||
private String tradeEndTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
@Schema(description = "地址")
|
||||
private String address;
|
||||
|
||||
@TableField(exist = false)
|
||||
@Schema(description = "关联的坐席")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "经度")
|
||||
@NotNull(message = "经度不能为空", groups = {CreateGroup.class})
|
||||
private BigDecimal longitude;
|
||||
|
||||
@Schema(description = "玮度")
|
||||
@NotNull(message = "玮度不能为空", groups = {CreateGroup.class})
|
||||
private BigDecimal latitude;
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.LogicDeletedBaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
|
||||
/**
|
||||
* @author wjt
|
||||
* @date 2023/9/15
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("tb_store_user")
|
||||
@Schema(title = "门店账号关联")
|
||||
public class StoreUserEntity extends LogicDeletedBaseEntity {
|
||||
|
||||
@TableId
|
||||
@Schema(description = "ID")
|
||||
@Parameter(description = "id")
|
||||
private Long id;
|
||||
|
||||
|
||||
@Schema(description = "门店id")
|
||||
private Long storeId;
|
||||
|
||||
|
||||
@Schema(description = "用户id")
|
||||
private Long userId;
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date : 2023/12/6
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@TableName(value = "tb_channel_tag", autoResultMap = true)
|
||||
public class TagEntity extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 8752729281820146291L;
|
||||
|
||||
@TableId
|
||||
@Schema(name = "id")
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "route_name")
|
||||
private String routeName;
|
||||
|
||||
@Schema(name = "route_status")
|
||||
private Integer routeStatus = 1;
|
||||
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
package com.baiye.modules.distribute.entity;
|
||||
|
||||
import com.baiye.entity.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @Author YQY
|
||||
* @Date 2023/8/9
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("tb_user_secret_key")
|
||||
@Schema(title = "用户appKey和秘钥对应表")
|
||||
public class UserSecretKeyEntity extends BaseEntity {
|
||||
|
||||
@TableId
|
||||
@Schema(title = "ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(title = "appKey")
|
||||
private String appKey;
|
||||
|
||||
@Schema(title = "私钥")
|
||||
private String privateKey;
|
||||
|
||||
@Schema(title = "公钥")
|
||||
private String publicKey;
|
||||
|
||||
}
|
@ -1,96 +0,0 @@
|
||||
package com.baiye.modules.distribute.mapper;
|
||||
|
||||
import com.baiye.domain.PageParam;
|
||||
import com.baiye.domain.PageResult;
|
||||
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.dto.HomePageDTO;
|
||||
import com.baiye.modules.distribute.entity.ClueEntity;
|
||||
import com.baiye.modules.distribute.qo.ClueQo;
|
||||
import com.baiye.modules.distribute.qo.HomePageQo;
|
||||
import com.baiye.modules.distribute.vo.ClueVO;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ClueMapper extends ExtendMapper<ClueEntity> {
|
||||
|
||||
List<Long> findUndistributedClueIds(@Param("list") List<Long> recordIdList);
|
||||
|
||||
default PageResult<ClueVO> queryPage(PageParam pageParam, ClueQo qo) {
|
||||
IPage<ClueEntity> page = this.prodPage(pageParam);
|
||||
Wrapper<ClueEntity> wrapperX = this.buildQueryWrapper(qo);
|
||||
this.selectPage(page, wrapperX);
|
||||
IPage<ClueVO> convert = page.convert(ClueConverter.INSTANCE::poToExcelVo);
|
||||
return new PageResult<>(convert.getRecords(), convert.getTotal());
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询新
|
||||
* @param qo
|
||||
* @return
|
||||
*/
|
||||
default List<ClueVO> queryList(ClueQo qo) {
|
||||
Wrapper<ClueEntity> wrapperX = buildQueryWrapper(qo);
|
||||
return this.selectListByQo(wrapperX);
|
||||
}
|
||||
|
||||
/**
|
||||
* 条件查询
|
||||
* @param wrapperX
|
||||
* @return
|
||||
*/
|
||||
List<ClueVO> selectListByQo(@Param(Constants.WRAPPER) Wrapper<ClueEntity> wrapperX);
|
||||
|
||||
|
||||
/**
|
||||
* 根据 qo 构造查询 wrapper
|
||||
* @param qo 查询条件
|
||||
* @return LambdaQueryWrapperX
|
||||
*/
|
||||
default Wrapper<ClueEntity> buildQueryWrapper(ClueQo qo) {
|
||||
|
||||
LambdaQueryWrapperX<ClueEntity> wrapperX = WrappersX.lambdaQueryX(ClueEntity.class);
|
||||
wrapperX.eqIfPresent(ClueEntity::getDeleted, 0)
|
||||
.eqIfPresent(ClueEntity::getNid, qo.getNid())
|
||||
.eqIfPresent(ClueEntity::getClueId, qo.getClueId())
|
||||
.eqIfPresent(ClueEntity::getCreateBy, qo.getCreateBy())
|
||||
.likeIfPresent(ClueEntity::getClueLabelName, qo.getClueLabelName())
|
||||
.eqIfPresent(ClueEntity::getAssignedBy, qo.getAssignedBy())
|
||||
.eqIfPresent(ClueEntity::getCompanyId, qo.getCompanyId())
|
||||
.eqIfPresent(ClueEntity::getCustomId, qo.getCustomId())
|
||||
.inIfPresent(ClueEntity::getAssignedBy, (Object[]) qo.getSalesmanArray())
|
||||
.orderByDesc(ClueEntity::getCreateTime);
|
||||
if (StringUtils.isNotBlank(qo.getStartTime()) && StringUtils.isNotBlank(qo.getEndTime())) {
|
||||
wrapperX.between(ClueEntity::getCreateTime, qo.getStartTime(), qo.getEndTime());
|
||||
}
|
||||
return wrapperX;
|
||||
}
|
||||
|
||||
|
||||
|
||||
List<HomePageDTO> selectDetailByChannelAndAssigned(@Param("qo") HomePageQo homePageQo);
|
||||
|
||||
Integer addCount(@Param("date") String date, @Param("companyId") Long companyId);
|
||||
|
||||
List<HomePageDTO> distributorsAssignedClueByTime(@Param("qo") HomePageQo homePageQo);
|
||||
|
||||
List<Long> findCustomId(@Param("assignedBy") Long assignedBy, @Param("createBy")Long createBy);
|
||||
|
||||
/**
|
||||
* 线索id分配人员查询
|
||||
*
|
||||
* @param id
|
||||
* @param createBy
|
||||
* @param num
|
||||
* @return
|
||||
*/
|
||||
List<ClueVO> findCustomIdAndCreate(@Param("customId") Long id, @Param("createBy") Long createBy,@Param("num") Integer num);
|
||||
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
package com.baiye.modules.distribute.mapper;
|
||||
|
||||
import com.baiye.domain.SelectData;
|
||||
import com.baiye.modules.distribute.entity.ClueRecordEntity;
|
||||
import com.baiye.modules.distribute.vo.ClueRecordVO;
|
||||
import com.baiye.modules.distribute.qo.ClueRecordQo;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
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.mapper.ExtendMapper;
|
||||
import com.baiye.extend.mybatis.plus.toolkit.WrappersX;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ClueRecordMapper extends ExtendMapper<ClueRecordEntity> {
|
||||
|
||||
default PageResult<ClueRecordVO> queryPage(PageParam pageParam, ClueRecordQo qo) {
|
||||
IPage<ClueRecordVO> page = this.prodPage(pageParam);
|
||||
|
||||
LambdaAliasQueryWrapperX<ClueRecordEntity> wrapperX = WrappersX.lambdaAliasQueryX(ClueRecordEntity.class);
|
||||
wrapperX.likeIfPresent(ClueRecordEntity::getOldFileName, qo.getOldFileName())
|
||||
.likeIfPresent(ClueRecordEntity::getChannelType, qo.getChannelType())
|
||||
.eqIfPresent(ClueRecordEntity::getStatus, qo.getStatus())
|
||||
.eqIfPresent(ClueRecordEntity::getAllocationStatus, qo.getAllocationStatus())
|
||||
.eqIfPresent(ClueRecordEntity::getDistributeStatus, qo.getDistributeStatus())
|
||||
.eqIfPresent(ClueRecordEntity::getCreateBy, qo.getCreateBy())
|
||||
.orderByDesc(ClueRecordEntity::getCreateTime);
|
||||
|
||||
if (StringUtils.isNotBlank(qo.getStartTime()) && StringUtils.isNotBlank(qo.getEndTime())) {
|
||||
wrapperX.between(ClueRecordEntity::getCreateTime, qo.getStartTime(), qo.getEndTime());
|
||||
}
|
||||
this.selectByPage(page, wrapperX);
|
||||
return new PageResult<>(page.getRecords(), page.getTotal());
|
||||
}
|
||||
|
||||
IPage<ClueRecordVO> selectByPage(IPage<ClueRecordVO> page,
|
||||
@Param(Constants.WRAPPER) Wrapper<ClueRecordEntity> wrapper);
|
||||
|
||||
void updateAllocationStatusAndDistributeStatus(@Param("list") List<Long> recordIdList,
|
||||
@Param("status") Integer status, @Param("distributeStatus") Integer distributeStatus);
|
||||
|
||||
void updateDistributeStatus(@Param("list") List<Long> recordIdList, @Param("status") Integer status);
|
||||
|
||||
List<SelectData<Void>> listSelectData(@Param("qo") ClueRecordQo qo);
|
||||
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue