Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner
This commit is contained in:
@@ -86,6 +86,18 @@
|
|||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- TRTC 生成 userSig 依赖 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.github.tencentyun</groupId>
|
||||||
|
<artifactId>tls-sig-api-v2</artifactId>
|
||||||
|
<version>2.0</version>
|
||||||
|
</dependency>
|
||||||
|
<!-- OpenPDF -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.github.librepdf</groupId>
|
||||||
|
<artifactId>openpdf</artifactId>
|
||||||
|
<version>1.3.30</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
@@ -52,6 +52,10 @@ public enum ErrorCodeEnum {
|
|||||||
|
|
||||||
|
|
||||||
LINE_ID_IS_NOT_EXIST(500001, "线索ID不存在!", null),
|
LINE_ID_IS_NOT_EXIST(500001, "线索ID不存在!", null),
|
||||||
|
WORK_FLOW_STAGE_PASS_ERROR(500002, "通过错误,非对应阶段!", null),
|
||||||
|
PARTNER_USER_NOT_EXIST(500002, "加盟商用户信息不存在!", null),
|
||||||
|
|
||||||
|
INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null),
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package com.cool.store.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: young.yu
|
||||||
|
* @Date: 2023-06-13 20:22
|
||||||
|
* @Description: 面试状态枚举
|
||||||
|
*/
|
||||||
|
public enum InteviewStatusEnum {
|
||||||
|
WAIT_APPOINTMENT(0, "待预约"),
|
||||||
|
|
||||||
|
WAIT_APPOINTMENT_TIME_CONFIRM(1, "面试时间待审核"),
|
||||||
|
WAIT_INTERVIEW(2, "待面试"),
|
||||||
|
INTERVIEWING(3, "已开始"),
|
||||||
|
WAIT_AUDIT(4, "待审核"),
|
||||||
|
AUDITING(5, "审批中"),
|
||||||
|
AUDIT_PASS(6, "审批通过"),
|
||||||
|
REFUSE(7, "拒绝");
|
||||||
|
|
||||||
|
private Integer code;
|
||||||
|
|
||||||
|
private String message;
|
||||||
|
|
||||||
|
InteviewStatusEnum(Integer code, String message) {
|
||||||
|
this.code = code;
|
||||||
|
this.message = message;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMessage() {
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.cool.store.enums;
|
package com.cool.store.enums;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author suzhuhong
|
* @Author suzhuhong
|
||||||
* @Date 2023/6/9 16:17
|
* @Date 2023/6/9 16:17
|
||||||
@@ -21,6 +23,18 @@ public enum WorkflowStageEnum {
|
|||||||
this.message = message;
|
this.message = message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 每个大节点对应的子节点最后一个流程
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static final HashMap<String,String> getWorkflowStageMap(){
|
||||||
|
HashMap<String, String> result = new HashMap<>();
|
||||||
|
result.put(INTENT.getCode(),WorkflowStatusEnum.INTENT_3.getCode());
|
||||||
|
result.put(RESERVATION.getCode(),WorkflowStatusEnum.RESERVATION_6.getCode());
|
||||||
|
result.put(INTERVIEW.getCode(),WorkflowStatusEnum.INTERVIEW_6.getCode());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public String getCode() {
|
public String getCode() {
|
||||||
return code;
|
return code;
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.cool.store.utils;
|
package com.cool.store.utils;
|
||||||
|
|
||||||
|
import java.time.*;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@@ -32,4 +34,22 @@ public class CoolDateUtils {
|
|||||||
now.set(Calendar.DATE, now.get(Calendar.DATE) + day);
|
now.set(Calendar.DATE, now.get(Calendar.DATE) + day);
|
||||||
return now.getTime();
|
return now.getTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* n天后 的最大时间 20230613 2天后最大时间---->2023-06-15 23:59:59
|
||||||
|
* @param day
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static Date getDateFormatDay(int day){
|
||||||
|
LocalDate today = LocalDate.now();
|
||||||
|
LocalDate thirdDay = today.plusDays(day);
|
||||||
|
LocalDateTime thirdDayMidnight = LocalDateTime.of(thirdDay, LocalTime.MIDNIGHT);
|
||||||
|
LocalDateTime thirdDay235959 = thirdDayMidnight.with(LocalTime.MAX);
|
||||||
|
ZonedDateTime zonedDateTime = ZonedDateTime.of(thirdDay235959, ZoneId.systemDefault());
|
||||||
|
return Date.from(zonedDateTime.toInstant());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,117 @@
|
|||||||
|
package com.cool.store.utils;
|
||||||
|
|
||||||
|
import com.lowagie.text.Document;
|
||||||
|
import com.lowagie.text.Font;
|
||||||
|
import com.lowagie.text.Image;
|
||||||
|
import com.lowagie.text.Paragraph;
|
||||||
|
import com.lowagie.text.pdf.*;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用 OpenPDF 封装的 pdf 工具类
|
||||||
|
*/
|
||||||
|
public class PDFUtils {
|
||||||
|
|
||||||
|
private static final int[] A4Size = {595, 842};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置 pdf 背景图片(A4)
|
||||||
|
* 每页都需要单独设置
|
||||||
|
*/
|
||||||
|
public static void setBackgroundImgA4(Document document, Image image) {
|
||||||
|
//图片顶格
|
||||||
|
image.setAbsolutePosition(0, 0);
|
||||||
|
//填满 A4 大小的页面
|
||||||
|
image.scaleAbsolute(A4Size[0], A4Size[1]);
|
||||||
|
document.add(image);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置 pdf 背景图片
|
||||||
|
* 每页都需要单独设置
|
||||||
|
*/
|
||||||
|
public static void setBackgroundImg(Document document, Image image, int width, int height) {
|
||||||
|
//图片顶格
|
||||||
|
image.setAbsolutePosition(0, 0);
|
||||||
|
image.scaleAbsolute(width, height);
|
||||||
|
document.add(image);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将文本放在 pdf 的绝对位置上来抠模板(不指定字体,默认为 OpenPDF 自带的 STSong-Light Normal)
|
||||||
|
* @param reader PdfReader 流
|
||||||
|
* @param outputStream 输出流
|
||||||
|
* @param x 左边距
|
||||||
|
* @param y 下边距
|
||||||
|
* @param content 要插入的文本
|
||||||
|
* @param fontSize 字体大小
|
||||||
|
* @param color 文本颜色
|
||||||
|
*/
|
||||||
|
public static void putParagraphAbsolutely(PdfReader reader, OutputStream outputStream, float x, float y, String content, float fontSize, Color color) {
|
||||||
|
try {
|
||||||
|
BaseFont baseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
|
||||||
|
addContent(reader, outputStream, content, x, y, baseFont, fontSize, 0, color);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 指定字体的文本绝对位置插入方法
|
||||||
|
* @param reader PdfReader 流
|
||||||
|
* @param outputStream 输出流
|
||||||
|
* @param x 左边距
|
||||||
|
* @param y 下边距
|
||||||
|
* @param content 要插入的文本
|
||||||
|
* @param baseFont 字体设置(如果不使用 OpenPDF 自带的字体,就需要将字体文件放在项目路径下)
|
||||||
|
* 自定义字体方式
|
||||||
|
* ttf 字体
|
||||||
|
* 1. BaseFont baseFont = BaseFont.createFont("arial.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
|
||||||
|
* ttc 字体(包含了两种字体,所以需要选择 0 或 1)
|
||||||
|
* 2. BaseFont baseFont = BaseFont.createFont("simsun.ttc,0", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
|
||||||
|
* @param fontSize 字体大小
|
||||||
|
* @param fontStyle 字体风格()
|
||||||
|
* NORMAL = 0; BOLD = 1; ITALIC = 2; UNDERLINE = 4; STRIKETHRU = 8; BOLDITALIC = BOLD | ITALIC;
|
||||||
|
* @param color 字体颜色
|
||||||
|
*/
|
||||||
|
public static void putParagraphAbsolutely(PdfReader reader, OutputStream outputStream, float x, float y, String content, BaseFont baseFont, float fontSize, int fontStyle, Color color) {
|
||||||
|
addContent(reader, outputStream, content, x, y, baseFont, fontSize, fontStyle, color);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 插入文本的 raw 方法
|
||||||
|
* @param reader PDF 读取流
|
||||||
|
* @param outputStream 输出流
|
||||||
|
* @param content 插入文本
|
||||||
|
* @param x 左边距
|
||||||
|
* @param y 下边距
|
||||||
|
* @param baseFont 字体和编码设置
|
||||||
|
* @param fontSize 字体大小
|
||||||
|
* @param fontStyle 字体风格
|
||||||
|
* @param color 字体颜色
|
||||||
|
*/
|
||||||
|
private static void addContent(PdfReader reader, OutputStream outputStream, String content, float x, float y, BaseFont baseFont, float fontSize, int fontStyle, Color color) {
|
||||||
|
try {
|
||||||
|
//生成 paragraph 并放在正确位置
|
||||||
|
//抠模板
|
||||||
|
PdfStamper stamper = new PdfStamper(reader, outputStream);
|
||||||
|
PdfContentByte over = stamper.getOverContent(1);
|
||||||
|
Font font = new Font(baseFont, fontSize, fontStyle, color);
|
||||||
|
Paragraph insertContent = new Paragraph(content, font);
|
||||||
|
|
||||||
|
ColumnText columnText = new ColumnText(over);
|
||||||
|
// llx 和 urx 最小的值决定离左边的距离. lly 和 ury 最大的值决定离下边的距离
|
||||||
|
columnText.setSimpleColumn(x, y, Float.MAX_VALUE, Float.MIN_VALUE);
|
||||||
|
columnText.addElement(insertContent);
|
||||||
|
columnText.go();
|
||||||
|
stamper.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
package com.cool.store.utils;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.RandomUtil;
|
||||||
|
import com.lowagie.text.Document;
|
||||||
|
import com.lowagie.text.Image;
|
||||||
|
import com.lowagie.text.pdf.PdfReader;
|
||||||
|
import com.lowagie.text.pdf.PdfWriter;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
import java.io.*;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
|
||||||
|
//生成资格面试通过函的工具
|
||||||
|
public class PassLetterUtils {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成通过函的方法
|
||||||
|
* 返回通过函编码
|
||||||
|
* @param partnerName 加盟商姓名
|
||||||
|
* @param verifyCity 审批城市
|
||||||
|
* @param passTime 审批通过时间
|
||||||
|
*/
|
||||||
|
public static String genPassLetter(String partnerName, String passCode, String verifyCity, DateTime passTime) {
|
||||||
|
String randomNum = RandomUtil.randomNumbers(5);
|
||||||
|
if (ObjectUtil.isEmpty(passCode)) {
|
||||||
|
passCode = "HSAY" + DateUtil.format(passTime, "yyMMdd") + "-" + randomNum;
|
||||||
|
}
|
||||||
|
String passTimeStr = DateUtil.format(passTime, "yyyy年MM月dd日");
|
||||||
|
Document document = new Document();
|
||||||
|
try {
|
||||||
|
//1. 创建 pdf document
|
||||||
|
// ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||||
|
FileOutputStream outputStream = new FileOutputStream("passLetter.pdf");
|
||||||
|
PdfWriter.getInstance(document, outputStream);
|
||||||
|
document.open();
|
||||||
|
|
||||||
|
//2. 添加背景图片
|
||||||
|
Image img = Image.getInstance(PassLetterUtils.class.getResource("/static/passLetterBg.jpg").toString());
|
||||||
|
PDFUtils.setBackgroundImgA4(document, img);
|
||||||
|
document.close();
|
||||||
|
|
||||||
|
//3. 填写通过函模板信息
|
||||||
|
addContentToPdf(partnerName + " 先生/女士", 122, 640);
|
||||||
|
addContentToPdf(passCode, 122, 558);
|
||||||
|
addContentToPdf(verifyCity, 155, 494);
|
||||||
|
addContentToPdf("60天", 135, 450);
|
||||||
|
addContentToPdf(passTimeStr, 393, 152);
|
||||||
|
return passCode;
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void addContentToPdf(String content, float x, float y) {
|
||||||
|
try {
|
||||||
|
PdfReader pdfReader = new PdfReader(Files.newInputStream(Paths.get("passLetter.pdf")));
|
||||||
|
OutputStream outputStream = Files.newOutputStream(Paths.get("passLetter.pdf"));
|
||||||
|
PDFUtils.putParagraphAbsolutely(pdfReader, outputStream, x, y, content, 20, new Color(255, 82,25));
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package com.cool.store.utils;
|
||||||
|
|
||||||
|
import com.tencentyun.TLSSigAPIv2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 腾讯实时音视频TRTC工具类
|
||||||
|
*/
|
||||||
|
public class TRTCUtils {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 默认过期时间 30 s
|
||||||
|
*/
|
||||||
|
private static final Long expired = 30L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成 userSig 用于进入会议
|
||||||
|
* 详见 https://cloud.tencent.com/document/product/647/17275#.E8.B0.83.E8.AF.95.E8.B7.91.E9.80.9A.E9.98.B6.E6.AE.B5.E5.A6.82.E4.BD.95.E8.AE.A1.E7.AE.97-UserSig.EF.BC.9F
|
||||||
|
*/
|
||||||
|
public static String genUserSig(Long sdkAppId, String key, String userId) {
|
||||||
|
TLSSigAPIv2 tlsSigAPIv2 = new TLSSigAPIv2(sdkAppId, key);
|
||||||
|
return tlsSigAPIv2.genUserSig(userId, expired);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String genUserSig(Long sdkAppId, String key, String userId, Long expiredTime) {
|
||||||
|
TLSSigAPIv2 tlsSigAPIv2 = new TLSSigAPIv2(sdkAppId, key);
|
||||||
|
return tlsSigAPIv2.genUserSig(userId, expiredTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -6,6 +6,7 @@ import com.cool.store.dto.content.ContentQueryListDto;
|
|||||||
import com.cool.store.dto.content.ContentUpdateDto;
|
import com.cool.store.dto.content.ContentUpdateDto;
|
||||||
import com.cool.store.entity.HyContentInfoDO;
|
import com.cool.store.entity.HyContentInfoDO;
|
||||||
import com.cool.store.mapper.HyContentInfoMapper;
|
import com.cool.store.mapper.HyContentInfoMapper;
|
||||||
|
import com.cool.store.vo.HyContentInfoVO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
@@ -36,7 +37,7 @@ public class ContentDAO {
|
|||||||
contentInfoMapper.updateByPrimaryKeySelective(hyContentInfoDO);
|
contentInfoMapper.updateByPrimaryKeySelective(hyContentInfoDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<HyContentInfoDO> queryContentList(ContentQueryListDto dto) {
|
public List<HyContentInfoVO> queryContentList(ContentQueryListDto dto) {
|
||||||
return contentInfoMapper.queryContentList(dto);
|
return contentInfoMapper.queryContentList(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,11 +28,11 @@ public class HyOpenAreaInfoDAO {
|
|||||||
return hyOpenAreaInfoMapper.queryKeyOpenArea();
|
return hyOpenAreaInfoMapper.queryKeyOpenArea();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<HyOpenAreaInfoDO> queryByKeyword(String keyword){
|
public List<HyOpenAreaInfoDO> queryByKeyword(String keyword,Boolean filterData){
|
||||||
if (StringUtils.isEmpty(keyword)){
|
if (StringUtils.isEmpty(keyword)){
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
return hyOpenAreaInfoMapper.queryByKeyword(keyword);
|
return hyOpenAreaInfoMapper.queryByKeyword(keyword,filterData);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<HyOpenAreaInfoDO> queryFirstLevel(){
|
public List<HyOpenAreaInfoDO> queryFirstLevel(){
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package com.cool.store.dao;
|
||||||
|
|
||||||
|
import com.cool.store.entity.HyPartnerBaseInfoDO;
|
||||||
|
import com.cool.store.mapper.HyPartnerBaseInfoMapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author suzhuhong
|
||||||
|
* @Date 2023/6/13 20:25
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Repository
|
||||||
|
public class HyPartnerBaseInfoDAO {
|
||||||
|
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
HyPartnerBaseInfoMapper hyPartnerBaseInfoMapper;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public int insertSelective( HyPartnerBaseInfoDO record){
|
||||||
|
return hyPartnerBaseInfoMapper.insertSelective(record);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* 默认更新方法,根据主键更新,不会把null值更新到数据库,避免覆盖之前有值的
|
||||||
|
* dateTime:2023-05-29 03:51
|
||||||
|
*/
|
||||||
|
public int updateByPrimaryKeySelective(HyPartnerBaseInfoDO record){
|
||||||
|
return hyPartnerBaseInfoMapper.updateByPrimaryKeySelective(record);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int updateByPartnerId(String userName,String mobile,String partnerId){
|
||||||
|
return hyPartnerBaseInfoMapper.updateByPartnerId(userName,mobile,partnerId);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -125,4 +125,7 @@ public class HyPartnerLineInfoDAO {
|
|||||||
return hyPartnerLineInfoMapper.joinAndRemoveBlack(lineId,status,joinReason,removeReason);
|
return hyPartnerLineInfoMapper.joinAndRemoveBlack(lineId,status,joinReason,removeReason);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,11 @@ public class HyPartnerUserInfoDAO {
|
|||||||
HyPartnerUserInfoMapper hyPartnerUserInfoMapper;
|
HyPartnerUserInfoMapper hyPartnerUserInfoMapper;
|
||||||
|
|
||||||
|
|
||||||
|
public int updateByPrimaryKeySelective(HyPartnerUserInfoDO hyPartnerUserInfoDO){
|
||||||
|
return hyPartnerUserInfoMapper.updateByPrimaryKeySelective(hyPartnerUserInfoDO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据PartnerId查询用户
|
* 根据PartnerId查询用户
|
||||||
* @param partnerId
|
* @param partnerId
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.cool.store.mapper;
|
|||||||
|
|
||||||
import com.cool.store.dto.content.ContentQueryListDto;
|
import com.cool.store.dto.content.ContentQueryListDto;
|
||||||
import com.cool.store.entity.HyContentInfoDO;
|
import com.cool.store.entity.HyContentInfoDO;
|
||||||
|
import com.cool.store.vo.HyContentInfoVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -36,7 +37,7 @@ public interface HyContentInfoMapper {
|
|||||||
* 分页查询动态列表
|
* 分页查询动态列表
|
||||||
* 根据传入参数匹配
|
* 根据传入参数匹配
|
||||||
*/
|
*/
|
||||||
List<HyContentInfoDO> queryContentList(ContentQueryListDto dto);
|
List<HyContentInfoVO> queryContentList(ContentQueryListDto dto);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据contentId查询动态详情
|
* 根据contentId查询动态详情
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ public interface HyOpenAreaInfoMapper {
|
|||||||
* 查询所有
|
* 查询所有
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<HyOpenAreaInfoDO> queryByKeyword(@Param("keyword") String keyword);
|
List<HyOpenAreaInfoDO> queryByKeyword(@Param("keyword") String keyword, @Param("filterData") Boolean filterData);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询所有一级城市 (所有省份+直辖市)
|
* 查询所有一级城市 (所有省份+直辖市)
|
||||||
|
|||||||
@@ -22,4 +22,15 @@ public interface HyPartnerBaseInfoMapper {
|
|||||||
* dateTime:2023-05-29 03:51
|
* dateTime:2023-05-29 03:51
|
||||||
*/
|
*/
|
||||||
int updateByPrimaryKeySelective(@Param("record") HyPartnerBaseInfoDO record);
|
int updateByPrimaryKeySelective(@Param("record") HyPartnerBaseInfoDO record);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据加盟商ID修改用户名称与手机号
|
||||||
|
* @param userName
|
||||||
|
* @param mobile
|
||||||
|
* @param partnerId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int updateByPartnerId(@Param("userName") String userName,
|
||||||
|
@Param("mobile") String mobile,
|
||||||
|
@Param("partnerId") String partnerId);
|
||||||
}
|
}
|
||||||
@@ -2,6 +2,7 @@ package com.cool.store.mapper;
|
|||||||
|
|
||||||
import com.cool.store.entity.HyPartnerInterviewDO;
|
import com.cool.store.entity.HyPartnerInterviewDO;
|
||||||
import com.cool.store.vo.PartnerInterviewInfoVO;
|
import com.cool.store.vo.PartnerInterviewInfoVO;
|
||||||
|
import com.cool.store.vo.PartnerPassLetterDetailVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -31,4 +32,40 @@ public interface HyPartnerInterviewMapper {
|
|||||||
*/
|
*/
|
||||||
PartnerInterviewInfoVO queryByPartnerId(@Param("partnerId") String partnerId);
|
PartnerInterviewInfoVO queryByPartnerId(@Param("partnerId") String partnerId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改面试状态
|
||||||
|
* 预约状态 0 待预约;1待面试;2已开始;3待审核;4审批中;5审批通过;6拒绝
|
||||||
|
*/
|
||||||
|
int updateInterviewStatus(@Param("interviewId") String interviewId, @Param("status") Integer status);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改面试实际开始时间
|
||||||
|
* @param dateTime "yyyy-MM-dd HH:mm:ss"
|
||||||
|
*/
|
||||||
|
int updateActualStartTime(@Param("interviewId") String interviewId, @Param("dateTime") String dateTime);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改加盟商或面试官进入面试时间
|
||||||
|
* @param userType 1.面试官2.加盟商3.其他
|
||||||
|
* @param dateTime "yyyy-MM-dd HH:mm:ss"
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int updateEnterTime(@Param("interviewId") String interviewId, @Param("userType") Integer userType, @Param("dateTime") String dateTime);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将加盟商是否参会修改为参会
|
||||||
|
* 0未参加,1参加
|
||||||
|
*/
|
||||||
|
int updateWhetherPartnerEnter(@Param("interviewId") String interviewId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据会议 id 查询面试官 id
|
||||||
|
*/
|
||||||
|
String getInterviewerByInterviewId(@Param("interviewId") String interviewId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取通知函详情
|
||||||
|
*/
|
||||||
|
PartnerPassLetterDetailVO getPassLetterDetail(@Param("interviewId") String interviewId);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,8 @@ package com.cool.store.mapper;
|
|||||||
import com.cool.store.dto.partner.PartnerInterviewInfoDTO;
|
import com.cool.store.dto.partner.PartnerInterviewInfoDTO;
|
||||||
import com.cool.store.dto.partner.SpecialDateRangeInterviewCountDTO;
|
import com.cool.store.dto.partner.SpecialDateRangeInterviewCountDTO;
|
||||||
import com.cool.store.entity.HyPartnerInterviewPlanDO;
|
import com.cool.store.entity.HyPartnerInterviewPlanDO;
|
||||||
|
import com.cool.store.request.GetInterviewListReq;
|
||||||
|
import com.cool.store.vo.interview.InterviewVO;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@@ -50,7 +52,6 @@ public interface HyPartnerInterviewPlanMapper {
|
|||||||
@Param("currentDate") String currentDate,
|
@Param("currentDate") String currentDate,
|
||||||
@Param("startTime") String startTime,
|
@Param("startTime") String startTime,
|
||||||
@Param("endTime") String endTime);
|
@Param("endTime") String endTime);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询面试列表
|
* 查询面试列表
|
||||||
* @param userId
|
* @param userId
|
||||||
@@ -70,4 +71,20 @@ public interface HyPartnerInterviewPlanMapper {
|
|||||||
PageInfo<PartnerInterviewInfoDTO> getPartnerInterviewInfoList(@Param("userId") String userId,
|
PageInfo<PartnerInterviewInfoDTO> getPartnerInterviewInfoList(@Param("userId") String userId,
|
||||||
@Param("workflowStage") String workflowStage ,
|
@Param("workflowStage") String workflowStage ,
|
||||||
@Param("workflowStatus") String workflowStatus);
|
@Param("workflowStatus") String workflowStatus);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询面试列表
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<InterviewVO> getInterviewList(@Param("record") GetInterviewListReq request);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询面试详情
|
||||||
|
*
|
||||||
|
* @param interviewId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
InterviewVO getInterviewInfo(String interviewId);
|
||||||
}
|
}
|
||||||
@@ -17,8 +17,14 @@
|
|||||||
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.cool.store.entity.HyContentInfoDO">
|
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.cool.store.entity.HyContentInfoDO">
|
||||||
<result column="content" jdbcType="LONGVARCHAR" property="content" />
|
<result column="content" jdbcType="LONGVARCHAR" property="content" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap id="HyContentInfoVOList" type="com.cool.store.vo.HyContentInfoVO">
|
||||||
|
<association property="updateUserName" column="update_user_id" select="getUpdateUserName"></association>
|
||||||
|
<association property="updateUserPhone" column="update_user_id" select="getUpdateUserPhone"></association>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id, content_title, subject, content_type, cover, status, deleted, create_time, update_time,
|
id, content_title, subject, content_type, cover, content, status, deleted, create_time, update_time,
|
||||||
create_user_id, update_user_id
|
create_user_id, update_user_id
|
||||||
</sql>
|
</sql>
|
||||||
<sql id="Blob_Column_List">
|
<sql id="Blob_Column_List">
|
||||||
@@ -42,9 +48,6 @@
|
|||||||
<if test="record.status != null">
|
<if test="record.status != null">
|
||||||
status,
|
status,
|
||||||
</if>
|
</if>
|
||||||
<if test="record.deleted != null">
|
|
||||||
deleted,
|
|
||||||
</if>
|
|
||||||
<if test="record.createTime != null">
|
<if test="record.createTime != null">
|
||||||
create_time,
|
create_time,
|
||||||
</if>
|
</if>
|
||||||
@@ -143,8 +146,8 @@
|
|||||||
</set>
|
</set>
|
||||||
where id = #{contentId}
|
where id = #{contentId}
|
||||||
</update>
|
</update>
|
||||||
<select id="queryContentList" resultType="com.cool.store.entity.HyContentInfoDO">
|
<select id="queryContentList" resultMap="HyContentInfoVOList">
|
||||||
select <include refid="Base_Column_List"></include>
|
select <include refid="Base_Column_List"></include>, update_user_id updateUserId
|
||||||
from hy_content_info
|
from hy_content_info
|
||||||
where deleted = 0
|
where deleted = 0
|
||||||
<if test="contentTitle != null and contentTitle != ''">
|
<if test="contentTitle != null and contentTitle != ''">
|
||||||
@@ -156,6 +159,24 @@
|
|||||||
<if test="contentType != null and contentType != ''">
|
<if test="contentType != null and contentType != ''">
|
||||||
and content_type = #{contentType}
|
and content_type = #{contentType}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="startTime != null and startTime != ''">
|
||||||
|
and update_time >= #{startTime}
|
||||||
|
</if>
|
||||||
|
<if test="endTime != null and endTime != ''">
|
||||||
|
and update_time <= #{endTime}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
<select id="getUpdateUserName" resultType="string">
|
||||||
|
select name
|
||||||
|
from enterprise_user
|
||||||
|
where deleted = 0
|
||||||
|
and user_id = #{updateUserId}
|
||||||
|
</select>
|
||||||
|
<select id="getUpdateUserPhone" resultType="string">
|
||||||
|
select mobile
|
||||||
|
from enterprise_user
|
||||||
|
where deleted = 0
|
||||||
|
and user_id = #{updateUserId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 查询动态详情 -->
|
<!-- 查询动态详情 -->
|
||||||
|
|||||||
@@ -133,6 +133,9 @@
|
|||||||
select * from
|
select * from
|
||||||
hy_open_area_info
|
hy_open_area_info
|
||||||
where area_path like concat('%',#{keyword},'%')
|
where area_path like concat('%',#{keyword},'%')
|
||||||
|
<if test="filterData!=null and filterData==true">
|
||||||
|
and province_city_flag = 1
|
||||||
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -202,4 +202,18 @@
|
|||||||
</set>
|
</set>
|
||||||
where id = #{record.id}
|
where id = #{record.id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
<update id="updateByPartnerId">
|
||||||
|
update hy_partner_base_info
|
||||||
|
<set>
|
||||||
|
<if test="userName != null and userName!=''">
|
||||||
|
username = #{record.username},
|
||||||
|
</if>
|
||||||
|
<if test="mobile != null and mobile!=''">
|
||||||
|
mobile = #{record.mobile},
|
||||||
|
</if>
|
||||||
|
where partner_id = #{partnerId}
|
||||||
|
</set>
|
||||||
|
</update>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -34,6 +34,11 @@
|
|||||||
<association property="interviewerName" column="interviewerId" select="queryInterviewerName" javaType="string"/>
|
<association property="interviewerName" column="interviewerId" select="queryInterviewerName" javaType="string"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap id="passLetterDetail" type="com.cool.store.vo.PartnerPassLetterDetailVO">
|
||||||
|
<association property="partnerName" column="partner_id" select="queryPartnerName"></association>
|
||||||
|
<association property="verifyCity" column="partner_id" select="getVerifyCity"></association>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id, status, partner_line_id, interview_plan_id, partner_id, deadline, interviewer,
|
id, status, partner_line_id, interview_plan_id, partner_id, deadline, interviewer,
|
||||||
recorder, process_info, record_time, summary, auth_code, pass_file_url, expiry_date,
|
recorder, process_info, record_time, summary, auth_code, pass_file_url, expiry_date,
|
||||||
@@ -261,4 +266,68 @@
|
|||||||
WHERE deleted = 0
|
WHERE deleted = 0
|
||||||
AND user_id = #{interview}
|
AND user_id = #{interview}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 修改面试状态 -->
|
||||||
|
<update id="updateInterviewStatus">
|
||||||
|
UPDATE hy_partner_interview
|
||||||
|
SET `status` = #{status}
|
||||||
|
WHERE id = #{interviewId}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 修改面试实际开始时间 -->
|
||||||
|
<update id="updateActualStartTime">
|
||||||
|
UPDATE hy_partner_interview_plan
|
||||||
|
SET actual_start_time = IF(actual_start_time IS NULL, #{dateTime}, actual_start_time)
|
||||||
|
WHERE id = (
|
||||||
|
SELECT interview_plan_id
|
||||||
|
FROM hy_partner_interview
|
||||||
|
WHERE id = #{interviewId}
|
||||||
|
)
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 修改面试官或加盟商入会时间 -->
|
||||||
|
<update id="updateEnterTime">
|
||||||
|
UPDATE hy_partner_interview
|
||||||
|
<set>
|
||||||
|
<if test="userType != null and userType == 1">
|
||||||
|
interviewer_enter_time = IF(interviewer_enter_time IS NULL, #{dateTime}, interviewer_enter_time),
|
||||||
|
</if>
|
||||||
|
<if test="userType != null and userType == 2">
|
||||||
|
partner_enter_time = IF(partner_enter_time IS NULL, #{dateTime}, partner_enter_time)
|
||||||
|
</if>
|
||||||
|
</set>
|
||||||
|
WHERE id = 1
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 修改加盟商参会状态为参加 -->
|
||||||
|
<update id="updateWhetherPartnerEnter">
|
||||||
|
UPDATE hy_partner_interview_plan
|
||||||
|
SET is_partner_interview = 1
|
||||||
|
WHERE id = (
|
||||||
|
SELECT interview_plan_id
|
||||||
|
FROM hy_partner_interview
|
||||||
|
WHERE id = #{interviewId}
|
||||||
|
)
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 根据会议 id 获取面试官 id -->
|
||||||
|
<select id="getInterviewerByInterviewId" resultType="java.lang.String">
|
||||||
|
SELECT interviewer
|
||||||
|
FROM hy_partner_interview
|
||||||
|
WHERE id = #{interviewId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 获取通知函详情 -->
|
||||||
|
<select id="getPassLetterDetail" resultMap="passLetterDetail">
|
||||||
|
SELECT pass_code, pass_file_url, expiry_date, partner_id
|
||||||
|
FROM hy_partner_interview
|
||||||
|
WHERE id = #{interviewId}
|
||||||
|
</select>
|
||||||
|
<!-- 获取意向开店区域 -->
|
||||||
|
<select id="getVerifyCity" resultType="string">
|
||||||
|
SELECT want_shop_area
|
||||||
|
FROM hy_partner_intent_info
|
||||||
|
WHERE partner_id = #{partner_id}
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -237,4 +237,65 @@
|
|||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getInterviewList" resultType="com.cool.store.vo.interview.InterviewVO">
|
||||||
|
select hpip.id as interviewId,
|
||||||
|
hpui.username as partnerName,
|
||||||
|
hpui.mobile as partnerMobile,
|
||||||
|
hpip.room_id as roomId,
|
||||||
|
hpip.start_time as startTime,
|
||||||
|
hpui.username as interviewerName,
|
||||||
|
hpui.mobile as interviewerMobile,
|
||||||
|
hpip.room_status as roomStatus,
|
||||||
|
hpip.end_time as endTime
|
||||||
|
from hy_partner_interview_plan hpip
|
||||||
|
left join hy_partner_line_info hpll on hpip.partner_line_id = hpll.id
|
||||||
|
left join hy_partner_user_info hpui on hpui.partner_id = hpip.partner_id
|
||||||
|
<where>
|
||||||
|
<if test="record.partnerName !=null and partnerName!=''">
|
||||||
|
hpui.username like concat('%',#{record.partnerName},'%')
|
||||||
|
</if>
|
||||||
|
<if test="record.partnerMobile !=null and partnerMobile!=''">
|
||||||
|
hpui.mobile like concat('%',#{record.partnerMobile},'%')
|
||||||
|
</if>
|
||||||
|
<if test="record.roomId !=null and roomId!=''">
|
||||||
|
hpip.room_id = #{record.roomId}
|
||||||
|
</if>
|
||||||
|
<if test="record.interviewerName !=null and interviewerName!=''">
|
||||||
|
hpui.username like concat('%',#{record.interviewerName},'%')
|
||||||
|
</if>
|
||||||
|
<if test="record.interviewerMobile !=null and interviewerMobile!=''">
|
||||||
|
hpui.mobile like concat('%',#{record.interviewerMobile},'%')
|
||||||
|
</if>
|
||||||
|
<if test="record.roomStatus !=null and roomStatus!=''">
|
||||||
|
hpip.room_status = #{record.roomStatus}
|
||||||
|
</if>
|
||||||
|
<if test="record.startTime !=null and startTime!=''">
|
||||||
|
hpip.start_time <= #{record.startTime}
|
||||||
|
</if>
|
||||||
|
<if test="record.endTime !=null and endTime!=''">
|
||||||
|
hpip.end_time >= #{record.endTime}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<select id="getInterviewInfo" resultType="com.cool.store.vo.interview.InterviewVO">
|
||||||
|
select hpip.id as interviewId,
|
||||||
|
hpui.username as partnerName,
|
||||||
|
hpui.mobile as partnerMobile,
|
||||||
|
hpip.room_id as roomId,
|
||||||
|
hpip.start_time as startTime,
|
||||||
|
hpui.username as interviewerName,
|
||||||
|
hpui.mobile as interviewerMobile,
|
||||||
|
hpip.room_status as roomStatus,
|
||||||
|
hpip.end_time as endTime,
|
||||||
|
hpip.partner_id as partnerId,
|
||||||
|
hpip.interviewer as interviewerId,
|
||||||
|
hpi.status as status
|
||||||
|
from hy_partner_interview_plan hpip
|
||||||
|
left join hy_partner_line_info hpll on hpip.partner_line_id = hpll.id
|
||||||
|
left join hy_partner_user_info hpui on hpui.partner_id = hpip.partner_id
|
||||||
|
left join hy_partner_interview hpi on hpip.id = hpi.interview_plan_id
|
||||||
|
where hpip.id = #{interviewId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -295,7 +295,8 @@
|
|||||||
a.workflow_status as workflowStatus,
|
a.workflow_status as workflowStatus,
|
||||||
a.partner_id as partnerUserId,
|
a.partner_id as partnerUserId,
|
||||||
a.investment_manager as investmentManager,
|
a.investment_manager as investmentManager,
|
||||||
b.user_portrait as user_portrait
|
b.user_portrait as user_portrait,
|
||||||
|
b.id as partnerBaseInfoId
|
||||||
from hy_partner_line_info a inner join hy_partner_base_info b
|
from hy_partner_line_info a inner join hy_partner_base_info b
|
||||||
on a.id = b.partner_line_id
|
on a.id = b.partner_line_id
|
||||||
<where>
|
<where>
|
||||||
|
|||||||
@@ -18,4 +18,10 @@ public class ContentQueryListDto extends PageBasicInfo {
|
|||||||
@ApiModelProperty("类型,默认选中全部时不传值")
|
@ApiModelProperty("类型,默认选中全部时不传值")
|
||||||
private String contentType;
|
private String contentType;
|
||||||
|
|
||||||
|
@ApiModelProperty("筛选开始时间")
|
||||||
|
private String startTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("筛选结束时间")
|
||||||
|
private String endTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.cool.store.dto.partner;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class EnterInterviewDto {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "会议id", required = true)
|
||||||
|
private String interviewId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "用户id", required = true)
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "1.面试官2.加盟商3.其他", required = true)
|
||||||
|
private Integer userType;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -13,6 +13,9 @@ public class PartnerLineInfoAndBaseInfoDTO {
|
|||||||
@ApiModelProperty("线索ID")
|
@ApiModelProperty("线索ID")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty("加盟申请基本信息 添加tags使用该ID")
|
||||||
|
private Long partnerBaseInfoId;
|
||||||
|
|
||||||
@ApiModelProperty("hy_partner_user_info.partner_id")
|
@ApiModelProperty("hy_partner_user_info.partner_id")
|
||||||
private String partnerId;
|
private String partnerId;
|
||||||
|
|
||||||
|
|||||||
@@ -40,10 +40,10 @@ public class HyContentInfoDO implements Serializable {
|
|||||||
private Integer deleted;
|
private Integer deleted;
|
||||||
|
|
||||||
@ApiModelProperty("创建时间")
|
@ApiModelProperty("创建时间")
|
||||||
private Date createTime;
|
private String createTime;
|
||||||
|
|
||||||
@ApiModelProperty("更新时间")
|
@ApiModelProperty("更新时间")
|
||||||
private Date updateTime;
|
private String updateTime;
|
||||||
|
|
||||||
@ApiModelProperty("新建人ID")
|
@ApiModelProperty("新建人ID")
|
||||||
private String createUserId;
|
private String createUserId;
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ import java.util.List;
|
|||||||
@ApiModel
|
@ApiModel
|
||||||
public class AddTagsRequest {
|
public class AddTagsRequest {
|
||||||
|
|
||||||
@ApiModelProperty("线索ID")
|
@ApiModelProperty("加盟申请基本信息ID")
|
||||||
private Long lineId;
|
private Long partnerBaseInfoId;
|
||||||
@ApiModelProperty("标签列表")
|
@ApiModelProperty("标签列表")
|
||||||
private List<String> Tags;
|
private List<String> Tags;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ import lombok.Data;
|
|||||||
@ApiModel
|
@ApiModel
|
||||||
public class BaseUserInfoRequest {
|
public class BaseUserInfoRequest {
|
||||||
|
|
||||||
@ApiModelProperty("ID")
|
@ApiModelProperty("partnerId")
|
||||||
private Long id;
|
private String partnerId;
|
||||||
|
|
||||||
@ApiModelProperty("手机号")
|
@ApiModelProperty("手机号")
|
||||||
private String mobile;
|
private String mobile;
|
||||||
@@ -25,11 +25,11 @@ public class BaseUserInfoRequest {
|
|||||||
@ApiModelProperty("常驻区域")
|
@ApiModelProperty("常驻区域")
|
||||||
private String liveArea;
|
private String liveArea;
|
||||||
|
|
||||||
@ApiModelProperty("意向开店区域")
|
@ApiModelProperty("意向开店区域ID")
|
||||||
private String wantShopArea;
|
private String wantShopArea;
|
||||||
|
|
||||||
@ApiModelProperty("意向开店区域ID")
|
@ApiModelProperty("意向开店区域Name")
|
||||||
private Long wantShopAreaId;
|
private Long wantShopAreaName;
|
||||||
|
|
||||||
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
|
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
|
||||||
private Integer acceptAdjustType;
|
private Integer acceptAdjustType;
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
|
|||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author suzhuhong
|
* @Author suzhuhong
|
||||||
* @Date 2023/5/31 11:01
|
* @Date 2023/5/31 11:01
|
||||||
@@ -21,7 +23,7 @@ public class CloseFollowRequest {
|
|||||||
@ApiModelProperty("真实拒绝原因")
|
@ApiModelProperty("真实拒绝原因")
|
||||||
private String rejectRealReason;
|
private String rejectRealReason;
|
||||||
@ApiModelProperty("证明文件与凭证")
|
@ApiModelProperty("证明文件与凭证")
|
||||||
private String certifyFile;
|
private List<String> certifyFile;
|
||||||
@ApiModelProperty("通过原因")
|
@ApiModelProperty("通过原因")
|
||||||
private String passReason;
|
private String passReason;
|
||||||
@ApiModelProperty("通过-pass 拒绝-reject")
|
@ApiModelProperty("通过-pass 拒绝-reject")
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.cool.store.request;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: young.yu
|
||||||
|
* @Date: 2023-06-09 15:41
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel
|
||||||
|
public class EntrustOthersReq {
|
||||||
|
@ApiModelProperty("会议编号")
|
||||||
|
private String interviewId;
|
||||||
|
|
||||||
|
@ApiModelProperty("新面试官编号")
|
||||||
|
private String newInterviewerId;
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.cool.store.request;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: young.yu
|
||||||
|
* @Date: 2023-06-12 17:43
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel
|
||||||
|
public class FinishInterviewReq {
|
||||||
|
@ApiModelProperty("会议编号")
|
||||||
|
private String interviewId;
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package com.cool.store.request;
|
||||||
|
|
||||||
|
import com.cool.store.common.PageBasicInfo;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: young.yu
|
||||||
|
* @Date: 2023-06-06 15:50
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel
|
||||||
|
public class GetInterviewListReq extends PageBasicInfo {
|
||||||
|
@ApiModelProperty("加盟商姓名")
|
||||||
|
private String partnerName;
|
||||||
|
@ApiModelProperty("加盟商手机号")
|
||||||
|
private String partnerMobile;
|
||||||
|
@ApiModelProperty("房间号")
|
||||||
|
private String roomId;
|
||||||
|
@ApiModelProperty("面试官姓名")
|
||||||
|
private String interviewerName;
|
||||||
|
@ApiModelProperty("面试官手机号")
|
||||||
|
private String interviewerMobile;
|
||||||
|
@ApiModelProperty("房间状态:0待开放;1已开放; 2已关闭")
|
||||||
|
private Integer roomStatus;
|
||||||
|
@ApiModelProperty("开始时间")
|
||||||
|
private String startTime;
|
||||||
|
@ApiModelProperty("结束时间")
|
||||||
|
private String endTime;
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.cool.store.request;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: young.yu
|
||||||
|
* @Date: 2023-06-12 17:43
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel
|
||||||
|
public class ModifyInterviewTimeReq {
|
||||||
|
@ApiModelProperty("会议编号")
|
||||||
|
private String interviewId;
|
||||||
|
@ApiModelProperty("新预约开始时间")
|
||||||
|
private String newStartBookingTime;
|
||||||
|
@ApiModelProperty("新预约结束时间")
|
||||||
|
private String newEndBookingTime;
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.cool.store.request;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: young.yu
|
||||||
|
* @Date: 2023-06-09 15:41
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel
|
||||||
|
public class QueryByInterviewIdReq {
|
||||||
|
@ApiModelProperty("会议编号")
|
||||||
|
private String interviewId;
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
package com.cool.store.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class HyContentInfoVO {
|
||||||
|
|
||||||
|
@ApiModelProperty("")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty("内容标题")
|
||||||
|
private String contentTitle;
|
||||||
|
|
||||||
|
@ApiModelProperty("栏目CODE")
|
||||||
|
private String subject;
|
||||||
|
|
||||||
|
@ApiModelProperty("类型 image-图文 video-视频")
|
||||||
|
private String contentType;
|
||||||
|
|
||||||
|
@ApiModelProperty("封面URL")
|
||||||
|
private String cover;
|
||||||
|
|
||||||
|
@ApiModelProperty("状态 0-启用 1-禁用")
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
@ApiModelProperty("创建时间")
|
||||||
|
private String createTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("更新时间")
|
||||||
|
private String updateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("新建人ID")
|
||||||
|
private String createUserId;
|
||||||
|
|
||||||
|
@ApiModelProperty("更新人ID")
|
||||||
|
private String updateUserId;
|
||||||
|
|
||||||
|
@ApiModelProperty("更新人姓名")
|
||||||
|
private String updateUserName;
|
||||||
|
|
||||||
|
@ApiModelProperty("更新人电话")
|
||||||
|
private String updateUserPhone;
|
||||||
|
|
||||||
|
@ApiModelProperty("图文内容或者视频文件URL")
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.cool.store.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class PartnerEnterInterviewVO {
|
||||||
|
|
||||||
|
@ApiModelProperty("userSig 进入会议需要的用户签名")
|
||||||
|
private String userSign;
|
||||||
|
|
||||||
|
@ApiModelProperty("面试官id")
|
||||||
|
private String interviewerId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -18,6 +18,8 @@ public class PartnerLineInfoAndBaseInfoVO {
|
|||||||
@ApiModelProperty("线索ID")
|
@ApiModelProperty("线索ID")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
private Long partnerBaseInfoId;
|
||||||
|
|
||||||
@ApiModelProperty("流程阶段:1意向申请审核;2预约面试时间;3加盟资格面试;4分配选址开发经理;5商圈点位评估;6上传店铺租赁信息;7完善加盟签约信息;8支付加盟费用;9签订加盟合同")
|
@ApiModelProperty("流程阶段:1意向申请审核;2预约面试时间;3加盟资格面试;4分配选址开发经理;5商圈点位评估;6上传店铺租赁信息;7完善加盟签约信息;8支付加盟费用;9签订加盟合同")
|
||||||
private String workflowStage;
|
private String workflowStage;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package com.cool.store.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class PartnerPassLetterDetailVO {
|
||||||
|
|
||||||
|
@ApiModelProperty("加盟商姓名")
|
||||||
|
private String partnerName;
|
||||||
|
|
||||||
|
@ApiModelProperty("编码")
|
||||||
|
private String passCode;
|
||||||
|
|
||||||
|
@ApiModelProperty("审核城市")
|
||||||
|
private String verifyCity;
|
||||||
|
|
||||||
|
@ApiModelProperty("函文件URL")
|
||||||
|
private String passFileUrl;
|
||||||
|
|
||||||
|
@ApiModelProperty("生成日期:YYYY-MM-DD")
|
||||||
|
private String createTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("有效期截至")
|
||||||
|
private String expiryDate;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,145 @@
|
|||||||
|
package com.cool.store.vo.interview;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.annotation.JSONField;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: young.yu
|
||||||
|
* @Date: 2023-06-08 16:26
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
@ApiModel(description = "面试信息")
|
||||||
|
public class InterviewVO {
|
||||||
|
@ApiModelProperty(value = "会议id", required = true)
|
||||||
|
private String interviewId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "加盟商用户编号")
|
||||||
|
private String partnerId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "被面试人姓名", required = true)
|
||||||
|
private String partnerName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "被面试人手机号", required = true)
|
||||||
|
private String partnerMobile;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "房间号", required = true)
|
||||||
|
private String roomId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "会议计划开始时间", required = true, example = "2023-06-03 10:00")
|
||||||
|
private String startTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "面试官人员编号")
|
||||||
|
private String interviewerId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "面试官姓名", required = true)
|
||||||
|
private String interviewerName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "面试官手机号", required = true)
|
||||||
|
private String interviewerMobile;
|
||||||
|
@ApiModelProperty(value = "房间状态(0待开放;1已开放;2已关闭)", required = true)
|
||||||
|
private String roomStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "会议结束时间", required = true, example = "2023-06-03 12:00")
|
||||||
|
private String endTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "预约状态 0 待预约;1待面试;2已开始;3待审核;4审批中;5审批通过;6拒绝", required = true)
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
|
||||||
|
public String getPartnerId() {
|
||||||
|
return partnerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPartnerId(String partnerId) {
|
||||||
|
this.partnerId = partnerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInterviewerId() {
|
||||||
|
return interviewerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInterviewerId(String interviewerId) {
|
||||||
|
this.interviewerId = interviewerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(Integer status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInterviewId() {
|
||||||
|
return interviewId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInterviewId(String interviewId) {
|
||||||
|
this.interviewId = interviewId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPartnerName() {
|
||||||
|
return partnerName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPartnerName(String partnerName) {
|
||||||
|
this.partnerName = partnerName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPartnerMobile() {
|
||||||
|
return partnerMobile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPartnerMobile(String partnerMobile) {
|
||||||
|
this.partnerMobile = partnerMobile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRoomId() {
|
||||||
|
return roomId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRoomId(String roomId) {
|
||||||
|
this.roomId = roomId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStartTime() {
|
||||||
|
return startTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStartTime(String startTime) {
|
||||||
|
this.startTime = startTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInterviewerName() {
|
||||||
|
return interviewerName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInterviewerName(String interviewerName) {
|
||||||
|
this.interviewerName = interviewerName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInterviewerMobile() {
|
||||||
|
return interviewerMobile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInterviewerMobile(String interviewerMobile) {
|
||||||
|
this.interviewerMobile = interviewerMobile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRoomStatus() {
|
||||||
|
return roomStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRoomStatus(String roomStatus) {
|
||||||
|
this.roomStatus = roomStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEndTime() {
|
||||||
|
return endTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEndTime(String endTime) {
|
||||||
|
this.endTime = endTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,6 +4,7 @@ import com.cool.store.dto.content.ContentAddDto;
|
|||||||
import com.cool.store.dto.content.ContentQueryListDto;
|
import com.cool.store.dto.content.ContentQueryListDto;
|
||||||
import com.cool.store.dto.content.ContentUpdateDto;
|
import com.cool.store.dto.content.ContentUpdateDto;
|
||||||
import com.cool.store.entity.HyContentInfoDO;
|
import com.cool.store.entity.HyContentInfoDO;
|
||||||
|
import com.cool.store.vo.HyContentInfoVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -31,7 +32,7 @@ public interface ContentService {
|
|||||||
/**
|
/**
|
||||||
* 查询动态列表
|
* 查询动态列表
|
||||||
*/
|
*/
|
||||||
List<HyContentInfoDO> queryContentList(ContentQueryListDto dto);
|
List<HyContentInfoVO> queryContentList(ContentQueryListDto dto);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询动态详情
|
* 查询动态详情
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
package com.cool.store.service;
|
||||||
|
|
||||||
|
import com.cool.store.request.EntrustOthersReq;
|
||||||
|
import com.cool.store.request.FinishInterviewReq;
|
||||||
|
import com.cool.store.request.GetInterviewListReq;
|
||||||
|
import com.cool.store.request.ModifyInterviewTimeReq;
|
||||||
|
import com.cool.store.vo.interview.InterviewVO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: young.yu
|
||||||
|
* @Date: 2023-06-06 15:01
|
||||||
|
* @Description :面试service
|
||||||
|
*/
|
||||||
|
public interface InterviewService {
|
||||||
|
List<InterviewVO> getInterviewList(GetInterviewListReq request);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据面试会议id查询面试信息
|
||||||
|
* @param interviewId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
InterviewVO getInterviewInfo(String interviewId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 委托他人
|
||||||
|
* @param request
|
||||||
|
*/
|
||||||
|
void entrustOthers(EntrustOthersReq request);
|
||||||
|
/**
|
||||||
|
* 修改面试时间
|
||||||
|
* @param request
|
||||||
|
*/
|
||||||
|
void modifyInterviewTime(ModifyInterviewTimeReq request);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结束面试
|
||||||
|
* @param request
|
||||||
|
*/
|
||||||
|
void finishInterview(FinishInterviewReq request);
|
||||||
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
package com.cool.store.service;
|
package com.cool.store.service;
|
||||||
|
|
||||||
|
import com.cool.store.dto.partner.EnterInterviewDto;
|
||||||
|
import com.cool.store.vo.PartnerEnterInterviewVO;
|
||||||
import com.cool.store.vo.PartnerInterviewInfoVO;
|
import com.cool.store.vo.PartnerInterviewInfoVO;
|
||||||
|
import com.cool.store.vo.PartnerPassLetterDetailVO;
|
||||||
|
|
||||||
public interface PartnerInterviewService {
|
public interface PartnerInterviewService {
|
||||||
|
|
||||||
@@ -11,4 +14,17 @@ public interface PartnerInterviewService {
|
|||||||
*/
|
*/
|
||||||
PartnerInterviewInfoVO queryByPartnerId(String partnerId);
|
PartnerInterviewInfoVO queryByPartnerId(String partnerId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 进入面试间的方法
|
||||||
|
* 修改一些面试状态
|
||||||
|
* 最后返回 userSign 用于进入腾讯云音视频房间
|
||||||
|
* @return userSign 进入视频所需签名
|
||||||
|
*/
|
||||||
|
PartnerEnterInterviewVO enterInterviewRoom(EnterInterviewDto dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取通知函详情
|
||||||
|
*/
|
||||||
|
PartnerPassLetterDetailVO passLetterDetail(String interviewId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import com.cool.store.dto.content.ContentUpdateDto;
|
|||||||
import com.cool.store.entity.HyContentInfoDO;
|
import com.cool.store.entity.HyContentInfoDO;
|
||||||
import com.cool.store.mapper.HyContentInfoMapper;
|
import com.cool.store.mapper.HyContentInfoMapper;
|
||||||
import com.cool.store.service.ContentService;
|
import com.cool.store.service.ContentService;
|
||||||
|
import com.cool.store.vo.HyContentInfoVO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -60,7 +61,7 @@ public class ContentServiceImpl implements ContentService {
|
|||||||
* 查询动态列表
|
* 查询动态列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<HyContentInfoDO> queryContentList(ContentQueryListDto dto) {
|
public List<HyContentInfoVO> queryContentList(ContentQueryListDto dto) {
|
||||||
return contentInfoMapper.queryContentList(dto);
|
return contentInfoMapper.queryContentList(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,102 @@
|
|||||||
|
package com.cool.store.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.convert.Convert;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.cool.store.entity.HyPartnerInterviewDO;
|
||||||
|
import com.cool.store.entity.HyPartnerInterviewPlanDO;
|
||||||
|
import com.cool.store.mapper.HyPartnerInterviewMapper;
|
||||||
|
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
|
||||||
|
import com.cool.store.request.EntrustOthersReq;
|
||||||
|
import com.cool.store.request.FinishInterviewReq;
|
||||||
|
import com.cool.store.request.GetInterviewListReq;
|
||||||
|
import com.cool.store.request.ModifyInterviewTimeReq;
|
||||||
|
import com.cool.store.service.InterviewService;
|
||||||
|
import com.cool.store.vo.interview.InterviewVO;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: young.yu
|
||||||
|
* @Date: 2023-06-06 15:19
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class InterviewServiceImpl implements InterviewService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private HyPartnerInterviewPlanMapper hyPartnerInterviewPlanMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private HyPartnerInterviewMapper hyPartnerInterviewMapper;
|
||||||
|
@Override
|
||||||
|
public List<InterviewVO> getInterviewList(GetInterviewListReq request) {
|
||||||
|
List<InterviewVO> interviewList = hyPartnerInterviewPlanMapper.getInterviewList(request);
|
||||||
|
return interviewList;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public InterviewVO getInterviewInfo(String interviewId) {
|
||||||
|
return hyPartnerInterviewPlanMapper.getInterviewInfo(interviewId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void entrustOthers(EntrustOthersReq request) {
|
||||||
|
//TODO 1.原面试官日程删除
|
||||||
|
|
||||||
|
//TODO 2.新面试官日程新增
|
||||||
|
|
||||||
|
//TODO 3.面试信息变更
|
||||||
|
|
||||||
|
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
|
||||||
|
record.setId(Long.valueOf(request.getInterviewId()));
|
||||||
|
record.setInterviewer(request.getInterviewId());
|
||||||
|
record.setUpdateTime(new Date());
|
||||||
|
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(record);
|
||||||
|
|
||||||
|
|
||||||
|
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
|
||||||
|
hyPartnerInterviewDO.setInterviewPlanId(Long.valueOf(request.getInterviewId()));
|
||||||
|
hyPartnerInterviewDO.setInterviewer(request.getNewInterviewerId());
|
||||||
|
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||||
|
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void modifyInterviewTime(ModifyInterviewTimeReq request) {
|
||||||
|
//TODO 修改面试时间
|
||||||
|
|
||||||
|
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
|
||||||
|
record.setId(Long.valueOf(request.getInterviewId()));
|
||||||
|
record.setStartTime(Convert.toDate(request.getNewStartBookingTime()));
|
||||||
|
record.setUpdateTime(new Date());
|
||||||
|
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(record);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void finishInterview(FinishInterviewReq request) {
|
||||||
|
//更新面试计划信息
|
||||||
|
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
|
||||||
|
record.setId(Long.valueOf(request.getInterviewId()));
|
||||||
|
record.setRoomStatus(0);
|
||||||
|
record.setUpdateTime(new Date());
|
||||||
|
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(record);
|
||||||
|
|
||||||
|
//更新面试信息
|
||||||
|
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
|
||||||
|
hyPartnerInterviewDO.setInterviewPlanId(Long.valueOf(request.getInterviewId()));
|
||||||
|
hyPartnerInterviewDO.setStatus(3);
|
||||||
|
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||||
|
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,10 +1,26 @@
|
|||||||
package com.cool.store.service.impl;
|
package com.cool.store.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.RandomUtil;
|
||||||
|
import com.cool.store.dto.partner.EnterInterviewDto;
|
||||||
|
import com.cool.store.enums.ErrorCodeEnum;
|
||||||
|
import com.cool.store.exception.ServiceException;
|
||||||
import com.cool.store.mapper.HyPartnerInterviewMapper;
|
import com.cool.store.mapper.HyPartnerInterviewMapper;
|
||||||
import com.cool.store.service.PartnerInterviewService;
|
import com.cool.store.service.PartnerInterviewService;
|
||||||
|
import com.cool.store.utils.PDFUtils;
|
||||||
|
import com.cool.store.utils.PassLetterUtils;
|
||||||
|
import com.cool.store.utils.TRTCUtils;
|
||||||
|
import com.cool.store.vo.PartnerEnterInterviewVO;
|
||||||
import com.cool.store.vo.PartnerInterviewInfoVO;
|
import com.cool.store.vo.PartnerInterviewInfoVO;
|
||||||
|
import com.cool.store.vo.PartnerPassLetterDetailVO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class PartnerInterviewServiceImpl implements PartnerInterviewService {
|
public class PartnerInterviewServiceImpl implements PartnerInterviewService {
|
||||||
@@ -12,8 +28,15 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private HyPartnerInterviewMapper interviewMapper;
|
private HyPartnerInterviewMapper interviewMapper;
|
||||||
|
|
||||||
|
@Value("${trtc.sdkAppId}")
|
||||||
|
private Long sdkAppId;
|
||||||
|
|
||||||
|
@Value("${trtc.secretKey}")
|
||||||
|
private String key;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 加盟商查询面试信息
|
* 加盟商查询面试信息
|
||||||
|
*
|
||||||
* @param partnerId
|
* @param partnerId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -22,4 +45,70 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
|
|||||||
return interviewMapper.queryByPartnerId(partnerId);
|
return interviewMapper.queryByPartnerId(partnerId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 进入面试间的方法
|
||||||
|
* 修改一些面试状态
|
||||||
|
* 最后返回 userSign 用于进入腾讯云音视频房间
|
||||||
|
*
|
||||||
|
* @return userSign 进入视频所需签名
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public PartnerEnterInterviewVO enterInterviewRoom(EnterInterviewDto dto) {
|
||||||
|
try {
|
||||||
|
//1. 将面试状态改为 --> 2已开始
|
||||||
|
interviewMapper.updateInterviewStatus(dto.getInterviewId(), 2);
|
||||||
|
//3. 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改
|
||||||
|
interviewMapper.updateActualStartTime(dto.getInterviewId(), DateUtil.now());
|
||||||
|
//4. 修改加盟商或面试官进入面试时间
|
||||||
|
interviewMapper.updateEnterTime(dto.getInterviewId(), dto.getUserType(), DateUtil.now());
|
||||||
|
//5. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段
|
||||||
|
interviewMapper.updateWhetherPartnerEnter(dto.getInterviewId());
|
||||||
|
//6. 查询对应的面试官id
|
||||||
|
String interviewId = interviewMapper.getInterviewerByInterviewId(dto.getInterviewId());
|
||||||
|
//生成 userSign
|
||||||
|
String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId());
|
||||||
|
PartnerEnterInterviewVO vo = new PartnerEnterInterviewVO();
|
||||||
|
vo.setUserSign(userSig);
|
||||||
|
vo.setInterviewerId(interviewId);
|
||||||
|
return vo;
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new ServiceException(ErrorCodeEnum.INTERVIEW_ENTER_FAIL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取通知函详情
|
||||||
|
* TODO 暂时将生成通过函文件的功能放在这里方便测试和联调,审批通过的回调方法完成后应该放到该方法中
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public PartnerPassLetterDetailVO passLetterDetail(String interviewId) {
|
||||||
|
PartnerPassLetterDetailVO vo = interviewMapper.getPassLetterDetail(interviewId);
|
||||||
|
//有效期为审批通过次日起第 60 天的 23:59:59,由此倒推 createTime
|
||||||
|
DateTime expiryDate = DateUtil.parseDate(vo.getExpiryDate());
|
||||||
|
DateTime createTime = DateUtil.offsetDay(expiryDate, -61);
|
||||||
|
vo.setCreateTime(DateUtil.format(createTime, "yyyy-MM-dd"));
|
||||||
|
//解析意向开店区域为市级行政区
|
||||||
|
String verifyCity = vo.getVerifyCity();
|
||||||
|
if (verifyCity == null) {
|
||||||
|
String passCode = PassLetterUtils.genPassLetter(vo.getPartnerName(), verifyCity, vo.getPassCode(), createTime);
|
||||||
|
vo.setPassCode(passCode);
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
String[] split = verifyCity.split("/");
|
||||||
|
//根据长度来取市级行政区域
|
||||||
|
if (split.length == 2) {
|
||||||
|
vo.setVerifyCity(split[1]);
|
||||||
|
} else if (split.length == 3) {
|
||||||
|
vo.setVerifyCity(split[1]);
|
||||||
|
} else if (split.length == 4) {
|
||||||
|
vo.setVerifyCity(split[2]);
|
||||||
|
} else {
|
||||||
|
System.out.println("wrong");
|
||||||
|
}
|
||||||
|
String passCode = PassLetterUtils.genPassLetter(vo.getPartnerName(), verifyCity, vo.getPassCode(), createTime);
|
||||||
|
vo.setPassCode(passCode);
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package com.cool.store.Service;
|
||||||
|
|
||||||
|
import com.cool.store.request.AddTagsRequest;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author suzhuhong
|
||||||
|
* @Date 2023/6/13 21:37
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
public interface HyPartnerBaseInfoService {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加标签
|
||||||
|
* @param addTagsRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Boolean addTags(AddTagsRequest addTagsRequest);
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.cool.store.Service;
|
package com.cool.store.Service;
|
||||||
|
|
||||||
|
import com.cool.store.request.BaseUserInfoRequest;
|
||||||
import com.cool.store.vo.PartnerIntentApplyInfoVO;
|
import com.cool.store.vo.PartnerIntentApplyInfoVO;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
|
|
||||||
@@ -28,4 +29,11 @@ public interface HyPartnerIntentInfoService {
|
|||||||
*/
|
*/
|
||||||
PartnerIntentApplyInfoVO getPartnerIntentApplyInfo(Long lineId);
|
PartnerIntentApplyInfoVO getPartnerIntentApplyInfo(Long lineId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 员工端 修改加盟商意向信息
|
||||||
|
* @param baseUserInfoRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.cool.store.Service;
|
package com.cool.store.Service;
|
||||||
|
|
||||||
|
import com.cool.store.request.CloseFollowRequest;
|
||||||
import com.cool.store.request.LineRequest;
|
import com.cool.store.request.LineRequest;
|
||||||
import com.cool.store.vo.BlackListVO;
|
import com.cool.store.vo.BlackListVO;
|
||||||
import com.cool.store.vo.PartnerLineInfoAndBaseInfoVO;
|
import com.cool.store.vo.PartnerLineInfoAndBaseInfoVO;
|
||||||
@@ -90,5 +91,13 @@ public interface HyPartnerLineInfoService {
|
|||||||
*/
|
*/
|
||||||
Boolean removeBlackList( Long lineId, Integer status, String removeReason);
|
Boolean removeBlackList( Long lineId, Integer status, String removeReason);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结束或者通过线索
|
||||||
|
* @param userId
|
||||||
|
* @param closeFollowRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Boolean closeOrPassFollow(String userId,CloseFollowRequest closeFollowRequest);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package com.cool.store.Service;
|
||||||
|
|
||||||
|
import com.cool.store.vo.OpenAreaTreeVO;
|
||||||
|
import com.cool.store.vo.OpenAreaVO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author suzhuhong
|
||||||
|
* @Date 2023/6/13 22:11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
public interface OpenAreaService {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据关键字搜索
|
||||||
|
* @param keyword
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<OpenAreaTreeVO> queryByKeyword(String keyword);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询字列表
|
||||||
|
* @param type
|
||||||
|
* @param parentId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<OpenAreaVO> getChildrenList(String type, Long parentId);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package com.cool.store.Service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.cool.store.Service.HyPartnerBaseInfoService;
|
||||||
|
import com.cool.store.dao.HyPartnerBaseInfoDAO;
|
||||||
|
import com.cool.store.entity.HyPartnerBaseInfoDO;
|
||||||
|
import com.cool.store.request.AddTagsRequest;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author suzhuhong
|
||||||
|
* @Date 2023/6/13 21:37
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean addTags(AddTagsRequest addTagsRequest) {
|
||||||
|
HyPartnerBaseInfoDO hyPartnerBaseInfoDO = new HyPartnerBaseInfoDO();
|
||||||
|
hyPartnerBaseInfoDO.setId(addTagsRequest.getPartnerBaseInfoId());
|
||||||
|
hyPartnerBaseInfoDO.setUserPortrait(CollectionUtils.isNotEmpty(addTagsRequest.getTags())? JSONObject.toJSONString(addTagsRequest.getTags()):"");
|
||||||
|
hyPartnerBaseInfoDAO.updateByPrimaryKeySelective(hyPartnerBaseInfoDO);
|
||||||
|
return Boolean.TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@ package com.cool.store.Service.impl;
|
|||||||
|
|
||||||
import com.cool.store.Service.HyPartnerIntentInfoService;
|
import com.cool.store.Service.HyPartnerIntentInfoService;
|
||||||
import com.cool.store.constants.CommonConstants;
|
import com.cool.store.constants.CommonConstants;
|
||||||
|
import com.cool.store.dao.HyPartnerBaseInfoDAO;
|
||||||
import com.cool.store.dao.HyPartnerIntentInfoDAO;
|
import com.cool.store.dao.HyPartnerIntentInfoDAO;
|
||||||
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
||||||
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
||||||
@@ -13,6 +14,8 @@ import com.cool.store.enums.ErrorCodeEnum;
|
|||||||
import com.cool.store.enums.WorkflowStageEnum;
|
import com.cool.store.enums.WorkflowStageEnum;
|
||||||
import com.cool.store.enums.WorkflowStatusEnum;
|
import com.cool.store.enums.WorkflowStatusEnum;
|
||||||
import com.cool.store.exception.ServiceException;
|
import com.cool.store.exception.ServiceException;
|
||||||
|
import com.cool.store.mapper.HyPartnerBaseInfoMapper;
|
||||||
|
import com.cool.store.request.BaseUserInfoRequest;
|
||||||
import com.cool.store.vo.PartnerIntentApplyInfoVO;
|
import com.cool.store.vo.PartnerIntentApplyInfoVO;
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
@@ -39,6 +42,8 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
|||||||
HyPartnerUserInfoDAO hyPartnerUserInfoDAO;
|
HyPartnerUserInfoDAO hyPartnerUserInfoDAO;
|
||||||
@Resource
|
@Resource
|
||||||
HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
|
HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
|
||||||
|
@Resource
|
||||||
|
HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageInfo<PartnerIntentApplyInfoVO> getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber) {
|
public PageInfo<PartnerIntentApplyInfoVO> getPartnerIntentApplyList(String userId, String type, Integer pageSize, Integer pageNumber) {
|
||||||
@@ -82,6 +87,24 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic
|
|||||||
return partnerIntentApplyInfoVO;
|
return partnerIntentApplyInfoVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean updatePartnerIntentInfo(BaseUserInfoRequest baseUserInfoRequest) {
|
||||||
|
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(String.valueOf(baseUserInfoRequest.getPartnerId()));
|
||||||
|
if (hyPartnerUserInfoDO==null){
|
||||||
|
throw new ServiceException(ErrorCodeEnum.PARTNER_USER_NOT_EXIST);
|
||||||
|
}
|
||||||
|
hyPartnerUserInfoDO.setUsername(baseUserInfoRequest.getUsername());
|
||||||
|
hyPartnerUserInfoDO.setMobile(baseUserInfoRequest.getMobile());
|
||||||
|
hyPartnerUserInfoDO.setLiveArea(baseUserInfoRequest.getLiveArea());
|
||||||
|
hyPartnerUserInfoDO.setWantShopArea(baseUserInfoRequest.getWantShopArea());
|
||||||
|
hyPartnerUserInfoDO.setAcceptAdjustType(baseUserInfoRequest.getAcceptAdjustType());
|
||||||
|
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO);
|
||||||
|
|
||||||
|
//修改意向申请信息中的加盟商名称与手机号
|
||||||
|
hyPartnerBaseInfoDAO.updateByPartnerId(baseUserInfoRequest.getUsername(),baseUserInfoRequest.getMobile(),baseUserInfoRequest.getPartnerId());
|
||||||
|
return Boolean.TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* partnerIntentApplyInfoDTOToVo
|
* partnerIntentApplyInfoDTOToVo
|
||||||
* @param partnerIntentApplyInfoDTO
|
* @param partnerIntentApplyInfoDTO
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.cool.store.Service.impl;
|
package com.cool.store.Service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.alibaba.fastjson.JSONPObject;
|
||||||
import com.cool.store.Service.HyPartnerLineInfoService;
|
import com.cool.store.Service.HyPartnerLineInfoService;
|
||||||
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
||||||
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
||||||
@@ -14,6 +16,7 @@ import com.cool.store.enums.LineStatusEnum;
|
|||||||
import com.cool.store.enums.WorkflowStageEnum;
|
import com.cool.store.enums.WorkflowStageEnum;
|
||||||
import com.cool.store.enums.WorkflowStatusEnum;
|
import com.cool.store.enums.WorkflowStatusEnum;
|
||||||
import com.cool.store.exception.ServiceException;
|
import com.cool.store.exception.ServiceException;
|
||||||
|
import com.cool.store.request.CloseFollowRequest;
|
||||||
import com.cool.store.request.LineRequest;
|
import com.cool.store.request.LineRequest;
|
||||||
import com.cool.store.utils.CoolDateUtils;
|
import com.cool.store.utils.CoolDateUtils;
|
||||||
import com.cool.store.utils.StringUtil;
|
import com.cool.store.utils.StringUtil;
|
||||||
@@ -23,11 +26,16 @@ import com.cool.store.vo.PartnerLineInfoVO;
|
|||||||
import com.cool.store.vo.StageCountVO;
|
import com.cool.store.vo.StageCountVO;
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.LocalTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@@ -188,7 +196,44 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean closeOrPassFollow(String userId,CloseFollowRequest closeFollowRequest) {
|
||||||
|
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(closeFollowRequest.getLineId());
|
||||||
|
if (hyPartnerLineInfoDO==null){
|
||||||
|
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
|
||||||
|
}
|
||||||
|
if (WorkflowStageEnum.INTENT.getCode().equals(hyPartnerLineInfoDO.getWorkflowStage())){
|
||||||
|
throw new ServiceException(ErrorCodeEnum.WORK_FLOW_STAGE_PASS_ERROR);
|
||||||
|
}
|
||||||
|
//通过
|
||||||
|
if ("pass".equals(closeFollowRequest.getType())){
|
||||||
|
hyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.RESERVATION.getCode());
|
||||||
|
hyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.RESERVATION_0.getCode());
|
||||||
|
hyPartnerLineInfoDO.setDeadline(CoolDateUtils.getDateFormatDay(2));
|
||||||
|
hyPartnerLineInfoDO.setPassReason(closeFollowRequest.getPassReason());
|
||||||
|
if (CollectionUtils.isNotEmpty(closeFollowRequest.getCertifyFile())){
|
||||||
|
hyPartnerLineInfoDO.setCertifyFile(JSONObject.toJSONString(closeFollowRequest.getCertifyFile()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//拒绝
|
||||||
|
if ("reject".equals(closeFollowRequest.getType())){
|
||||||
|
//当前节点 拒绝的子状态
|
||||||
|
String workflowStatus = WorkflowStageEnum.getWorkflowStageMap().get(hyPartnerLineInfoDO.getWorkflowStage());
|
||||||
|
hyPartnerLineInfoDO.setWorkflowStatus(workflowStatus);
|
||||||
|
//15天 冷静期
|
||||||
|
// TODO: 2023/6/13 冷静期
|
||||||
|
hyPartnerLineInfoDO.setDeadline(CoolDateUtils.getDateBefore(new Date(),15));
|
||||||
|
hyPartnerLineInfoDO.setRejectPublicReason(closeFollowRequest.getRejectPublicReason());
|
||||||
|
hyPartnerLineInfoDO.setRejectRealReason(closeFollowRequest.getRejectRealReason());
|
||||||
|
if (CollectionUtils.isNotEmpty(closeFollowRequest.getCertifyFile())){
|
||||||
|
hyPartnerLineInfoDO.setCertifyFile(JSONObject.toJSONString(closeFollowRequest.getCertifyFile()));
|
||||||
|
}
|
||||||
|
hyPartnerLineInfoDO.setLineStatus(LineStatusEnum.PUBLIC_SEAS.getCode());
|
||||||
|
}
|
||||||
|
hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
|
||||||
|
return Boolean.TRUE;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* convertPartnerBlackListDTOToVo
|
* convertPartnerBlackListDTOToVo
|
||||||
* @param partnerBlackListDTO
|
* @param partnerBlackListDTO
|
||||||
@@ -221,6 +266,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|||||||
partnerLineInfoAndBaseInfoVO.setPartnerUserId(partnerLineInfoAndBaseInfoDTO.getPartnerId());
|
partnerLineInfoAndBaseInfoVO.setPartnerUserId(partnerLineInfoAndBaseInfoDTO.getPartnerId());
|
||||||
partnerLineInfoAndBaseInfoVO.setInvestmentManager(partnerLineInfoAndBaseInfoDTO.getInvestmentManager());
|
partnerLineInfoAndBaseInfoVO.setInvestmentManager(partnerLineInfoAndBaseInfoDTO.getInvestmentManager());
|
||||||
partnerLineInfoAndBaseInfoVO.setUserPortrait(partnerLineInfoAndBaseInfoDTO.getUserPortrait());
|
partnerLineInfoAndBaseInfoVO.setUserPortrait(partnerLineInfoAndBaseInfoDTO.getUserPortrait());
|
||||||
|
partnerLineInfoAndBaseInfoVO.setPartnerBaseInfoId(partnerLineInfoAndBaseInfoDTO.getPartnerBaseInfoId());
|
||||||
partnerLineInfoAndBaseInfoVO.setWorkflowStage(partnerLineInfoAndBaseInfoDTO.getWorkflowStage());
|
partnerLineInfoAndBaseInfoVO.setWorkflowStage(partnerLineInfoAndBaseInfoDTO.getWorkflowStage());
|
||||||
partnerLineInfoAndBaseInfoVO.setWorkflowStatus(partnerLineInfoAndBaseInfoDTO.getWorkflowStatus());
|
partnerLineInfoAndBaseInfoVO.setWorkflowStatus(partnerLineInfoAndBaseInfoDTO.getWorkflowStatus());
|
||||||
return partnerLineInfoAndBaseInfoVO;
|
return partnerLineInfoAndBaseInfoVO;
|
||||||
|
|||||||
@@ -0,0 +1,137 @@
|
|||||||
|
package com.cool.store.Service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.cool.store.Service.OpenAreaService;
|
||||||
|
import com.cool.store.dao.HyOpenAreaInfoDAO;
|
||||||
|
import com.cool.store.entity.HyOpenAreaInfoDO;
|
||||||
|
import com.cool.store.vo.OpenAreaTreeVO;
|
||||||
|
import com.cool.store.vo.OpenAreaVO;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author suzhuhong
|
||||||
|
* @Date 2023/6/13 22:11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class OpenAreaServiceImpl implements OpenAreaService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<OpenAreaTreeVO> queryByKeyword(String keyword) {
|
||||||
|
//先查出所有的一级菜单
|
||||||
|
List<HyOpenAreaInfoDO> openArea = hyOpenAreaInfoDAO.queryFirstLevel();
|
||||||
|
Map<Long, HyOpenAreaInfoDO> longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
|
||||||
|
|
||||||
|
//查询关键字下所有的数据 原始的数据
|
||||||
|
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,Boolean.TRUE);
|
||||||
|
Set<Long> longSet = hyOpenAreaInfoDOS.stream().map(HyOpenAreaInfoDO::getId).collect(Collectors.toSet());
|
||||||
|
|
||||||
|
hyOpenAreaInfoDOS.stream().forEach(x->{
|
||||||
|
Long parentId = x.getParentId();
|
||||||
|
|
||||||
|
if (parentId!=null&&!longSet.contains(parentId)){
|
||||||
|
//添加到集合中
|
||||||
|
longSet.add(x.getParentId());
|
||||||
|
HyOpenAreaInfoDO hyOpenAreaInfoDO = longHyOpenAreaInfoDOMap.get(parentId);
|
||||||
|
hyOpenAreaInfoDOS.add(hyOpenAreaInfoDO);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
JSONArray objects = buildTree(JSONArray.parseArray(JSONObject.toJSONString(hyOpenAreaInfoDOS)), "id", "parentId","childNode" );
|
||||||
|
List<OpenAreaTreeVO> openAreaTreeVOS = JSONObject.parseArray(objects.toJSONString(), OpenAreaTreeVO.class);
|
||||||
|
return openAreaTreeVOS;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<OpenAreaVO> getChildrenList(String type, Long parentId) {
|
||||||
|
List<HyOpenAreaInfoDO> childrenList = hyOpenAreaInfoDAO.getChildrenList(type, parentId);
|
||||||
|
List<OpenAreaVO> result = new ArrayList<>();
|
||||||
|
childrenList.stream().forEach(x->{
|
||||||
|
OpenAreaVO openAreaVO = convertDoToVo(x);
|
||||||
|
result.add(openAreaVO);
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private OpenAreaVO convertDoToVo(HyOpenAreaInfoDO hyOpenAreaInfoDO){
|
||||||
|
OpenAreaVO openAreaVO = new OpenAreaVO();
|
||||||
|
openAreaVO.setId(hyOpenAreaInfoDO.getId());
|
||||||
|
openAreaVO.setAreaName(hyOpenAreaInfoDO.getAreaName());
|
||||||
|
openAreaVO.setParentId(hyOpenAreaInfoDO.getParentId());
|
||||||
|
openAreaVO.setAreaPath(hyOpenAreaInfoDO.getAreaPath());
|
||||||
|
openAreaVO.setAreaStatus(hyOpenAreaInfoDO.getAreaStatus());
|
||||||
|
openAreaVO.setBackgroundBanner(hyOpenAreaInfoDO.getBackgroundBanner());
|
||||||
|
openAreaVO.setDetailBanner(hyOpenAreaInfoDO.getDetailBanner());
|
||||||
|
return openAreaVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建树
|
||||||
|
* @param arr
|
||||||
|
* @param id
|
||||||
|
* @param pid
|
||||||
|
* @param child
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static JSONArray buildTree(JSONArray arr, String id, String pid, String child) {
|
||||||
|
//新建一个JSONArray来接收组装成树形结构的返回值
|
||||||
|
JSONArray jsonArray = new JSONArray();
|
||||||
|
//新建一个JSONObject对象
|
||||||
|
JSONObject hash = new JSONObject();
|
||||||
|
//将数组转换为object格式
|
||||||
|
for (int i = 0; i < arr.size(); i++) {
|
||||||
|
//获取当前的JSON对象
|
||||||
|
JSONObject json = (JSONObject) arr.get(i);
|
||||||
|
//把当前id作为键,当前JSON对象作为值 put回hash这个Object对象中
|
||||||
|
//这里的put方法类似于map的put方法
|
||||||
|
hash.put(json.getString(id), json);
|
||||||
|
}
|
||||||
|
//遍历结果集
|
||||||
|
for (int j = 0; j < arr.size(); j++) {
|
||||||
|
//单条记录
|
||||||
|
JSONObject aVal = (JSONObject) arr.get(j);
|
||||||
|
//在hash中取出key为单条记录中pid的值
|
||||||
|
String pidStr = "";
|
||||||
|
//如果父级id不等于null
|
||||||
|
if (aVal.get(pid) != null) {
|
||||||
|
pidStr = aVal.get(pid).toString();
|
||||||
|
}
|
||||||
|
//从hash这个对象中获取父级对象 parent
|
||||||
|
JSONObject hashParent = (JSONObject) hash.get(pidStr);
|
||||||
|
//如果记录的pid存在,则说明它有父节点,将她添加到孩子节点的集合中
|
||||||
|
if (hashParent != null) {
|
||||||
|
//检查是否有child属性
|
||||||
|
if (hashParent.get(child) != null) {
|
||||||
|
//有子节点 则先将子节点取出
|
||||||
|
JSONArray children = (JSONArray) hashParent.get(child);
|
||||||
|
//然后把当前这个对象放进子节点之中
|
||||||
|
children.add(aVal);
|
||||||
|
//最后把子节点在放回父节点之中
|
||||||
|
hashParent.put(child, children);
|
||||||
|
} else {
|
||||||
|
//无子节点 则新建一个子节点
|
||||||
|
JSONArray children = new JSONArray();
|
||||||
|
//然后再把当前对象放进去
|
||||||
|
children.add(aVal);
|
||||||
|
//最后在放回父节点之中
|
||||||
|
hashParent.put(child, children);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
jsonArray.add(aVal);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return jsonArray;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,6 +6,7 @@ import com.cool.store.dto.content.ContentUpdateDto;
|
|||||||
import com.cool.store.entity.HyContentInfoDO;
|
import com.cool.store.entity.HyContentInfoDO;
|
||||||
import com.cool.store.response.ResponseResult;
|
import com.cool.store.response.ResponseResult;
|
||||||
import com.cool.store.service.ContentService;
|
import com.cool.store.service.ContentService;
|
||||||
|
import com.cool.store.vo.HyContentInfoVO;
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
@@ -43,10 +44,10 @@ public class ContentController {
|
|||||||
|
|
||||||
@PostMapping("/queryContentList")
|
@PostMapping("/queryContentList")
|
||||||
@ApiOperation("查询动态列表")
|
@ApiOperation("查询动态列表")
|
||||||
public ResponseResult<PageInfo<HyContentInfoDO>> queryContentList(@RequestBody ContentQueryListDto dto) {
|
public ResponseResult<PageInfo<HyContentInfoVO>> queryContentList(@RequestBody ContentQueryListDto dto) {
|
||||||
PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
|
PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
|
||||||
List<HyContentInfoDO> list = contentService.queryContentList(dto);
|
List<HyContentInfoVO> list = contentService.queryContentList(dto);
|
||||||
PageInfo<HyContentInfoDO> page = new PageInfo<>(list);
|
PageInfo<HyContentInfoVO> page = new PageInfo<>(list);
|
||||||
return ResponseResult.success(page);
|
return ResponseResult.success(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
package com.cool.store.controller;
|
package com.cool.store.controller;
|
||||||
|
|
||||||
import com.cool.store.Service.DeskService;
|
import com.cool.store.Service.*;
|
||||||
import com.cool.store.Service.HyPartnerIntentInfoService;
|
|
||||||
import com.cool.store.Service.HyPartnerInterviewPlanService;
|
|
||||||
import com.cool.store.Service.HyPartnerLineInfoService;
|
|
||||||
import com.cool.store.enums.LineStatusEnum;
|
import com.cool.store.enums.LineStatusEnum;
|
||||||
import com.cool.store.request.*;
|
import com.cool.store.request.*;
|
||||||
import com.cool.store.response.ResponseResult;
|
import com.cool.store.response.ResponseResult;
|
||||||
@@ -36,6 +33,10 @@ public class DeskController {
|
|||||||
HyPartnerInterviewPlanService hyPartnerInterviewPlanService;
|
HyPartnerInterviewPlanService hyPartnerInterviewPlanService;
|
||||||
@Resource
|
@Resource
|
||||||
HyPartnerLineInfoService hyPartnerLineInfoService;
|
HyPartnerLineInfoService hyPartnerLineInfoService;
|
||||||
|
@Resource
|
||||||
|
HyPartnerBaseInfoService hyPartnerBaseInfoService;
|
||||||
|
@Resource
|
||||||
|
OpenAreaService openAreaService;
|
||||||
|
|
||||||
|
|
||||||
@GetMapping(path = "/interviewSchedule")
|
@GetMapping(path = "/interviewSchedule")
|
||||||
@@ -222,25 +223,23 @@ public class DeskController {
|
|||||||
|
|
||||||
@PostMapping(path = "/closeOrPassFollow")
|
@PostMapping(path = "/closeOrPassFollow")
|
||||||
@ApiOperation("意向申请审核 结束跟进/通过流程")
|
@ApiOperation("意向申请审核 结束跟进/通过流程")
|
||||||
public ResponseResult<Boolean> closeFollow(@RequestBody CloseFollowRequest closeFollowRequest){
|
public ResponseResult<Boolean> closeOrPassFollow(@RequestBody CloseFollowRequest closeFollowRequest){
|
||||||
|
|
||||||
|
String userId = "";
|
||||||
return ResponseResult.success();
|
return ResponseResult.success(hyPartnerLineInfoService.closeOrPassFollow(userId,closeFollowRequest));
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping(path = "/changeIntentInfo")
|
@PostMapping(path = "/changeIntentInfo")
|
||||||
@ApiOperation("员工端变更C端用户意向信息")
|
@ApiOperation("员工端变更C端用户意向信息")
|
||||||
public ResponseResult<Boolean> changeIntentInfo( @RequestBody BaseUserInfoRequest baseUserInfoRequest){
|
public ResponseResult<Boolean> changeIntentInfo( @RequestBody BaseUserInfoRequest baseUserInfoRequest){
|
||||||
|
return ResponseResult.success(hyPartnerIntentInfoService.updatePartnerIntentInfo(baseUserInfoRequest));
|
||||||
return ResponseResult.success();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@PostMapping(path = "/addTags")
|
@PostMapping(path = "/addTags")
|
||||||
@ApiOperation("添加标签接口")
|
@ApiOperation("添加标签接口")
|
||||||
public ResponseResult<Boolean> addTags(@RequestBody AddTagsRequest addTagsRequest){
|
public ResponseResult<Boolean> addTags(@RequestBody AddTagsRequest addTagsRequest){
|
||||||
|
return ResponseResult.success(hyPartnerBaseInfoService.addTags(addTagsRequest));
|
||||||
return ResponseResult.success();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -258,16 +257,25 @@ public class DeskController {
|
|||||||
|
|
||||||
|
|
||||||
@GetMapping(path = "/getOpenAreaTree")
|
@GetMapping(path = "/getOpenAreaTree")
|
||||||
@ApiOperation("开放城市树")
|
@ApiOperation("开放城市树-搜索城市")
|
||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@ApiImplicitParam(name = "parentId", value = "父区域名称", required = false),
|
|
||||||
@ApiImplicitParam(name = "type", value = "可预约-reservation 可申请-apply ", required = false),
|
|
||||||
@ApiImplicitParam(name = "keyWord", value = "搜索关键字", required = false)
|
@ApiImplicitParam(name = "keyWord", value = "搜索关键字", required = false)
|
||||||
})
|
})
|
||||||
public ResponseResult<List<OpenAreaVO>> getOpenAreaTree(@RequestParam(value = "parentId",required = false)Long parentId,
|
public ResponseResult<List<OpenAreaTreeVO>> getOpenAreaTree(@RequestParam(value = "keyWord",required = false)String keyWord){
|
||||||
@RequestParam(value = "type",required = false)String type,
|
|
||||||
@RequestParam(value = "keyWord",required = false)String keyWord){
|
return ResponseResult.success(openAreaService.queryByKeyword(keyWord));
|
||||||
return ResponseResult.success();
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping(path = "/getOpenAreaList")
|
||||||
|
@ApiOperation("开放城市树-子列表")
|
||||||
|
@ApiImplicitParams({
|
||||||
|
@ApiImplicitParam(name = "parentId", value = "父区域名称", required = false),
|
||||||
|
@ApiImplicitParam(name = "type", value = "可预约-reservation 可申请-apply ", required = false)
|
||||||
|
})
|
||||||
|
public ResponseResult<List<OpenAreaVO>> getOpenAreaList(@RequestParam(value = "parentId",required = false)Long parentId,
|
||||||
|
@RequestParam(value = "type",required = false)String type){
|
||||||
|
return ResponseResult.success(openAreaService.getChildrenList(type,parentId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,70 @@
|
|||||||
|
package com.cool.store.controller;
|
||||||
|
|
||||||
|
import com.cool.store.request.*;
|
||||||
|
import com.cool.store.response.ResponseResult;
|
||||||
|
import com.cool.store.service.InterviewService;
|
||||||
|
import com.cool.store.vo.interview.InterviewVO;
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: young.yu
|
||||||
|
* @Date: 2023-06-06 15:22
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/interview")
|
||||||
|
@Api(tags = "面试信息")
|
||||||
|
public class InterviewController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private InterviewService interviewService;
|
||||||
|
|
||||||
|
@PostMapping("/list")
|
||||||
|
@ApiOperation("获取面试信息列表")
|
||||||
|
public ResponseResult<PageInfo<InterviewVO>> getInterviewList(@RequestBody GetInterviewListReq request) {
|
||||||
|
PageHelper.startPage(request.getPageNum(), request.getPageSize());
|
||||||
|
List<InterviewVO> interviewList = interviewService.getInterviewList(request);
|
||||||
|
return ResponseResult.success(new PageInfo<>(interviewList));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/queryByInterviewId")
|
||||||
|
@ApiOperation("根据面试会议id查询面试信息")
|
||||||
|
public ResponseResult<InterviewVO> queryByInterviewId(@RequestBody QueryByInterviewIdReq request) {
|
||||||
|
InterviewVO interviewVO = interviewService.getInterviewInfo(request.getInterviewId());
|
||||||
|
return ResponseResult.success(interviewVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/entrustOthers")
|
||||||
|
@ApiOperation("委托他人")
|
||||||
|
public ResponseResult entrustOthers(@RequestBody EntrustOthersReq request) {
|
||||||
|
interviewService.entrustOthers(request);
|
||||||
|
return ResponseResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/modifyInterviewTime")
|
||||||
|
@ApiOperation("修改面试时间")
|
||||||
|
public ResponseResult modifyInterviewTime(@RequestBody ModifyInterviewTimeReq request) {
|
||||||
|
interviewService.modifyInterviewTime(request);
|
||||||
|
return ResponseResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/finish")
|
||||||
|
@ApiOperation("修改面试时间")
|
||||||
|
public ResponseResult finishInterview(@RequestBody FinishInterviewReq request) {
|
||||||
|
interviewService.finishInterview(request);
|
||||||
|
return ResponseResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -48,3 +48,7 @@ oss.accessKeySecret=FFsl8d9batprJ0vXr0k4Y8ada40Wm2
|
|||||||
oss.endpoint=oss-cn-hangzhou.aliyuncs.com
|
oss.endpoint=oss-cn-hangzhou.aliyuncs.com
|
||||||
oss.bucket=cool-store-hsay
|
oss.bucket=cool-store-hsay
|
||||||
corp.id = 171cddee76471740
|
corp.id = 171cddee76471740
|
||||||
|
|
||||||
|
#TRTC
|
||||||
|
trtc.sdkAppId=1400811820
|
||||||
|
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
|
||||||
@@ -47,4 +47,8 @@ oss.accessKeyId=LTAI5tKSnAbkEbmT6CeBwNN3
|
|||||||
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
||||||
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
||||||
oss.bucket=vec-coolstore
|
oss.bucket=vec-coolstore
|
||||||
corp.id = 171cddee76471740
|
corp.id = 171cddee76471740
|
||||||
|
|
||||||
|
#TRTC
|
||||||
|
trtc.sdkAppId=1400811820
|
||||||
|
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
|
||||||
@@ -47,4 +47,8 @@ oss.accessKeyId=LTAI5tKSnAbkEbmT6CeBwNN3
|
|||||||
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
||||||
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
||||||
oss.bucket=vec-coolstore
|
oss.bucket=vec-coolstore
|
||||||
corp.id = 171cddee76471740
|
corp.id = 171cddee76471740
|
||||||
|
|
||||||
|
#TRTC
|
||||||
|
trtc.sdkAppId=1400811820
|
||||||
|
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
|
||||||
@@ -49,4 +49,8 @@ oss.accessKeyId=LTAI5tRSXy2MrqaaBJ6gReur
|
|||||||
oss.accessKeySecret=FFsl8d9batprJ0vXr0k4Y8ada40Wm2
|
oss.accessKeySecret=FFsl8d9batprJ0vXr0k4Y8ada40Wm2
|
||||||
oss.endpoint=oss-cn-hangzhou.aliyuncs.com
|
oss.endpoint=oss-cn-hangzhou.aliyuncs.com
|
||||||
oss.bucket=vec-coolstore
|
oss.bucket=vec-coolstore
|
||||||
corp.id = 171cddee76471740
|
corp.id = 171cddee76471740
|
||||||
|
|
||||||
|
#TRTC
|
||||||
|
trtc.sdkAppId=1400811820
|
||||||
|
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
|
||||||
@@ -47,4 +47,8 @@ oss.accessKeyId=LTAI5tKSnAbkEbmT6CeBwNN3
|
|||||||
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
||||||
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
||||||
oss.bucket=vec-coolstore
|
oss.bucket=vec-coolstore
|
||||||
corp.id = 171cddee76471740
|
corp.id = 171cddee76471740
|
||||||
|
|
||||||
|
#TRTC
|
||||||
|
trtc.sdkAppId=1400811820
|
||||||
|
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
|
||||||
@@ -47,4 +47,8 @@ oss.accessKeyId=LTAI5tKSnAbkEbmT6CeBwNN3
|
|||||||
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
||||||
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
||||||
oss.bucket=vec-coolstore
|
oss.bucket=vec-coolstore
|
||||||
corp.id = 171cddee76471740
|
corp.id = 171cddee76471740
|
||||||
|
|
||||||
|
#TRTC
|
||||||
|
trtc.sdkAppId=1400811820
|
||||||
|
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
|
||||||
@@ -47,4 +47,8 @@ oss.accessKeyId=LTAI5tKSnAbkEbmT6CeBwNN3
|
|||||||
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
||||||
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
||||||
oss.bucket=vec-coolstore
|
oss.bucket=vec-coolstore
|
||||||
corp.id = 171cddee76471740
|
corp.id = 171cddee76471740
|
||||||
|
|
||||||
|
#TRTC
|
||||||
|
trtc.sdkAppId=1400811820
|
||||||
|
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
|
||||||
@@ -1,15 +1,26 @@
|
|||||||
package com.cool.store.controller;
|
package com.cool.store.controller;
|
||||||
|
|
||||||
|
import com.cool.store.dto.partner.EnterInterviewDto;
|
||||||
import com.cool.store.response.ResponseResult;
|
import com.cool.store.response.ResponseResult;
|
||||||
import com.cool.store.service.PartnerInterviewService;
|
import com.cool.store.service.PartnerInterviewService;
|
||||||
|
import com.cool.store.utils.PDFUtils;
|
||||||
|
import com.cool.store.vo.PartnerEnterInterviewVO;
|
||||||
import com.cool.store.vo.PartnerInterviewInfoVO;
|
import com.cool.store.vo.PartnerInterviewInfoVO;
|
||||||
|
import com.cool.store.vo.PartnerPassLetterDetailVO;
|
||||||
|
import com.lowagie.text.Document;
|
||||||
|
import com.lowagie.text.Image;
|
||||||
|
import com.lowagie.text.pdf.PdfWriter;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.apache.tomcat.util.http.fileupload.IOUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import javax.servlet.ServletOutputStream;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.*;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
|
||||||
@Api(tags = "加盟商资格面试")
|
@Api(tags = "加盟商资格面试")
|
||||||
@RestController
|
@RestController
|
||||||
@@ -25,4 +36,16 @@ public class InterviewController {
|
|||||||
return ResponseResult.success(interviewService.queryByPartnerId(partnerId));
|
return ResponseResult.success(interviewService.queryByPartnerId(partnerId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/enter")
|
||||||
|
@ApiOperation("进入面试间")
|
||||||
|
public ResponseResult<PartnerEnterInterviewVO> enterInterviewRoom(@RequestBody EnterInterviewDto dto) {
|
||||||
|
return ResponseResult.success(interviewService.enterInterviewRoom(dto));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/passLetter/detail")
|
||||||
|
@ApiOperation("通过函详情")
|
||||||
|
public ResponseResult<PartnerPassLetterDetailVO> passLetterDetail(@RequestParam String interviewId) {
|
||||||
|
return ResponseResult.success(interviewService.passLetterDetail(interviewId));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ public class OpenAreaServiceImpl implements OpenAreaService {
|
|||||||
Map<Long, HyOpenAreaInfoDO> longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
|
Map<Long, HyOpenAreaInfoDO> longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
|
||||||
|
|
||||||
//查询关键字下所有的数据 原始的数据
|
//查询关键字下所有的数据 原始的数据
|
||||||
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword);
|
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,Boolean.FALSE);
|
||||||
|
|
||||||
Map<Long, HyOpenAreaInfoDO> hyMap = hyOpenAreaInfoDOS.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
|
Map<Long, HyOpenAreaInfoDO> hyMap = hyOpenAreaInfoDOS.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
|
||||||
|
|
||||||
|
|||||||
@@ -47,4 +47,8 @@ oss.accessKeyId=LTAI5tRSXy2MrqaaBJ6gReur
|
|||||||
oss.accessKeySecret=FFsl8d9batprJ0vXr0k4Y8ada40Wm2
|
oss.accessKeySecret=FFsl8d9batprJ0vXr0k4Y8ada40Wm2
|
||||||
oss.endpoint=oss-cn-hangzhou.aliyuncs.com
|
oss.endpoint=oss-cn-hangzhou.aliyuncs.com
|
||||||
oss.bucket=cool-store-hsay
|
oss.bucket=cool-store-hsay
|
||||||
corp.id = 171cddee76471740
|
corp.id = 171cddee76471740
|
||||||
|
|
||||||
|
#TRTC
|
||||||
|
trtc.sdkAppId=1400811820
|
||||||
|
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
|
||||||
@@ -47,4 +47,8 @@ oss.accessKeyId=LTAI5tKSnAbkEbmT6CeBwNN3
|
|||||||
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
||||||
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
||||||
oss.bucket=vec-coolstore
|
oss.bucket=vec-coolstore
|
||||||
corp.id = 171cddee76471740
|
corp.id = 171cddee76471740
|
||||||
|
|
||||||
|
#TRTC
|
||||||
|
trtc.sdkAppId=1400811820
|
||||||
|
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
|
||||||
@@ -45,4 +45,8 @@ oss.accessKeyId=LTAI5tKSnAbkEbmT6CeBwNN3
|
|||||||
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
||||||
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
||||||
oss.bucket=vec-coolstore
|
oss.bucket=vec-coolstore
|
||||||
corp.id = 171cddee76471740
|
corp.id = 171cddee76471740
|
||||||
|
|
||||||
|
#TRTC
|
||||||
|
trtc.sdkAppId=1400811820
|
||||||
|
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
|
||||||
@@ -51,3 +51,7 @@ oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
|||||||
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
||||||
oss.bucket=vec-coolstore
|
oss.bucket=vec-coolstore
|
||||||
corp.id = 171cddee76471740
|
corp.id = 171cddee76471740
|
||||||
|
|
||||||
|
#TRTC
|
||||||
|
trtc.sdkAppId=1400811820
|
||||||
|
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
|
||||||
|
|||||||
@@ -45,4 +45,8 @@ oss.accessKeyId=LTAI5tKSnAbkEbmT6CeBwNN3
|
|||||||
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
||||||
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
||||||
oss.bucket=vec-coolstore
|
oss.bucket=vec-coolstore
|
||||||
corp.id = 171cddee76471740
|
corp.id = 171cddee76471740
|
||||||
|
|
||||||
|
#TRTC
|
||||||
|
trtc.sdkAppId=1400811820
|
||||||
|
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
|
||||||
@@ -45,4 +45,8 @@ oss.accessKeyId=LTAI5tKSnAbkEbmT6CeBwNN3
|
|||||||
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
||||||
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
||||||
oss.bucket=vec-coolstore
|
oss.bucket=vec-coolstore
|
||||||
corp.id = 171cddee76471740
|
corp.id = 171cddee76471740
|
||||||
|
|
||||||
|
#TRTC
|
||||||
|
trtc.sdkAppId=1400811820
|
||||||
|
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
|
||||||
@@ -45,4 +45,8 @@ oss.accessKeyId=LTAI5tKSnAbkEbmT6CeBwNN3
|
|||||||
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
oss.accessKeySecret=PbXOzUFwAvZ2K5zIawwa7NAJE2pFXS
|
||||||
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
oss.endpoint=oss-cn-shanghai.aliyuncs.com
|
||||||
oss.bucket=vec-coolstore
|
oss.bucket=vec-coolstore
|
||||||
corp.id = 171cddee76471740
|
corp.id = 171cddee76471740
|
||||||
|
|
||||||
|
#TRTC
|
||||||
|
trtc.sdkAppId=1400811820
|
||||||
|
trtc.secretKey=4854bab106c2ca2a2fda16a8c966933e28a078a34e458999d6227e8cd8ab8219
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 942 KiB |
Reference in New Issue
Block a user