diff --git a/coolstore-partner-common/pom.xml b/coolstore-partner-common/pom.xml
index 204706c33..988014f8a 100644
--- a/coolstore-partner-common/pom.xml
+++ b/coolstore-partner-common/pom.xml
@@ -103,6 +103,12 @@
org.icepdf.os
icepdf-core
6.1.2
+
+
+ javax.media
+ jai-core
+
+
diff --git a/coolstore-partner-common/src/main/java/com/cool/store/utils/StringUtil.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/StringUtil.java
index 38db9e802..155aa40c2 100644
--- a/coolstore-partner-common/src/main/java/com/cool/store/utils/StringUtil.java
+++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/StringUtil.java
@@ -20,12 +20,18 @@ import java.util.regex.Pattern;
*/
public class StringUtil extends org.apache.commons.lang3.StringUtils {
-
private static final char UPPER_A = 'A';
private static final char LOWER_A = 'a';
private static final char UPPER_Z = 'Z';
private static final char LOWER_Z = 'z';
+ public static final String REPLACE_0 = "{0}";
+ public static final String REPLACE_1 = "{1}";
+ public static final String REPLACE_2 = "{2}";
+ public static final String REPLACE_3 = "{3}";
+ public static final String REPLACE_4 = "{4}";
+ public static final String REPLACE_5 = "{5}";
+
private static final byte[] DIGITS = {
'0', '1', '2', '3', '4', '5',
'6', '7', '8', '9', 'a', 'b',
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerCertificationInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerCertificationInfoMapper.java
index d0d5cb52a..a4d84bddf 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerCertificationInfoMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerCertificationInfoMapper.java
@@ -37,4 +37,6 @@ public interface HyPartnerCertificationInfoMapper {
*/
String getInterviewPlanIdByQualifyVerifyId(String qualifyVerifyId);
+ HyPartnerCertificationInfoDO selectByPartnerLineId(@Param("partnerLineId") Long partnerLineId);
+
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerTaskInfoLogMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerTaskInfoLogMapper.java
index ffa413bdb..52e5825b3 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerTaskInfoLogMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerTaskInfoLogMapper.java
@@ -25,5 +25,5 @@ public interface HyPartnerTaskInfoLogMapper {
*/
int updateByPrimaryKeySelective(@Param("record") HyPartnerTaskInfoLogDO record);
- List selectByPartnerLineIdAndOperateType(@Param("partnerLineId") String partnerLineId, @Param("operateType") String operateType);
+ List selectByPartnerLineIdAndOperateType(@Param("partnerLineId") Long partnerLineId, @Param("operateType") String operateType);
}
\ No newline at end of file
diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerCertificationInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerCertificationInfoMapper.xml
index 956201b9f..23c2130af 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerCertificationInfoMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerCertificationInfoMapper.xml
@@ -137,4 +137,10 @@
)
and deleted = 0
+
\ No newline at end of file
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/EventInfo.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/EventInfo.java
new file mode 100644
index 000000000..808eab265
--- /dev/null
+++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/EventInfo.java
@@ -0,0 +1,62 @@
+package com.cool.store.dto.trtc.callback;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * @Author: young.yu
+ * @Date: 2023-06-29 01:17
+ * @Description:
+ */
+public class EventInfo {
+ @JsonProperty("RoomId")
+ private String roomId;
+ @JsonProperty("EventTs")
+ private long eventTs;
+ @JsonProperty("UserId")
+ private String userId;
+ @JsonProperty("TaskId")
+ private String taskId;
+ @JsonProperty("Payload")
+ private Payload payload;
+
+ public String getRoomId() {
+ return roomId;
+ }
+
+ public void setRoomId(String roomId) {
+ this.roomId = roomId;
+ }
+
+ public long getEventTs() {
+ return eventTs;
+ }
+
+ public void setEventTs(long eventTs) {
+ this.eventTs = eventTs;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ public String getTaskId() {
+ return taskId;
+ }
+
+ public void setTaskId(String taskId) {
+ this.taskId = taskId;
+ }
+
+ public Payload getPayload() {
+ return payload;
+ }
+
+ public void setPayload(Payload payload) {
+ this.payload = payload;
+ }
+}
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/Payload.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/Payload.java
new file mode 100644
index 000000000..0906a7d48
--- /dev/null
+++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/Payload.java
@@ -0,0 +1,32 @@
+package com.cool.store.dto.trtc.callback;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * @Author: young.yu
+ * @Date: 2023-06-29 01:17
+ * @Description:
+ */
+public class Payload {
+ @JsonProperty("Status")
+ private int status;
+ @JsonProperty("TencentVod")
+ private TencentVod tencentVod;
+
+ public int getStatus() {
+ return status;
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+ public TencentVod getTencentVod() {
+ return tencentVod;
+ }
+
+ public void setTencentVod(TencentVod tencentVod) {
+ this.tencentVod = tencentVod;
+ }
+}
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/TencentVod.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/TencentVod.java
new file mode 100644
index 000000000..a297bc102
--- /dev/null
+++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/TencentVod.java
@@ -0,0 +1,92 @@
+package com.cool.store.dto.trtc.callback;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * @Author: young.yu
+ * @Date: 2023-06-29 01:18
+ * @Description:
+ */
+public class TencentVod {
+ @JsonProperty("UserId")
+ private String userId;
+ @JsonProperty("TrackType")
+ private String trackType;
+ @JsonProperty("MediaId")
+ private String mediaId;
+ @JsonProperty("FileId")
+ private String fileId;
+ @JsonProperty("VideoUrl")
+ private String videoUrl;
+ @JsonProperty("CacheFile")
+ private String cacheFile;
+ @JsonProperty("StartTimeStamp")
+ private long startTimeStamp;
+ @JsonProperty("EndTimeStamp")
+ private int endTimeStamp;
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ public String getTrackType() {
+ return trackType;
+ }
+
+ public void setTrackType(String trackType) {
+ this.trackType = trackType;
+ }
+
+ public String getMediaId() {
+ return mediaId;
+ }
+
+ public void setMediaId(String mediaId) {
+ this.mediaId = mediaId;
+ }
+
+ public String getFileId() {
+ return fileId;
+ }
+
+ public void setFileId(String fileId) {
+ this.fileId = fileId;
+ }
+
+ public String getVideoUrl() {
+ return videoUrl;
+ }
+
+ public void setVideoUrl(String videoUrl) {
+ this.videoUrl = videoUrl;
+ }
+
+ public String getCacheFile() {
+ return cacheFile;
+ }
+
+ public void setCacheFile(String cacheFile) {
+ this.cacheFile = cacheFile;
+ }
+
+ public long getStartTimeStamp() {
+ return startTimeStamp;
+ }
+
+ public void setStartTimeStamp(long startTimeStamp) {
+ this.startTimeStamp = startTimeStamp;
+ }
+
+ public int getEndTimeStamp() {
+ return endTimeStamp;
+ }
+
+ public void setEndTimeStamp(int endTimeStamp) {
+ this.endTimeStamp = endTimeStamp;
+ }
+}
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/VideoCallBackDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/VideoCallBackDTO.java
new file mode 100644
index 000000000..104f93004
--- /dev/null
+++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/VideoCallBackDTO.java
@@ -0,0 +1,52 @@
+package com.cool.store.dto.trtc.callback;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * @Author: young.yu
+ * @Date: 2023-06-29 01:16
+ * @Description:
+ */
+public class VideoCallBackDTO {
+ @JsonProperty("EventGroupId")
+ private int eventGroupId;
+ @JsonProperty("EventType")
+ private int eventType;
+ @JsonProperty("CallbackTs")
+ private long callbackTs;
+ @JsonProperty("EventInfo")
+ private EventInfo eventInfo;
+
+ public int getEventGroupId() {
+ return eventGroupId;
+ }
+
+ public void setEventGroupId(int eventGroupId) {
+ this.eventGroupId = eventGroupId;
+ }
+
+ public int getEventType() {
+ return eventType;
+ }
+
+ public void setEventType(int eventType) {
+ this.eventType = eventType;
+ }
+
+ public long getCallbackTs() {
+ return callbackTs;
+ }
+
+ public void setCallbackTs(long callbackTs) {
+ this.callbackTs = callbackTs;
+ }
+
+ public EventInfo getEventInfo() {
+ return eventInfo;
+ }
+
+ public void setEventInfo(EventInfo eventInfo) {
+ this.eventInfo = eventInfo;
+ }
+}
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/GetLastUpdateTimeInfoReq.java b/coolstore-partner-model/src/main/java/com/cool/store/request/GetTipsInfoReq.java
similarity index 88%
rename from coolstore-partner-model/src/main/java/com/cool/store/request/GetLastUpdateTimeInfoReq.java
rename to coolstore-partner-model/src/main/java/com/cool/store/request/GetTipsInfoReq.java
index 3b83b3b8a..9ccc69a68 100644
--- a/coolstore-partner-model/src/main/java/com/cool/store/request/GetLastUpdateTimeInfoReq.java
+++ b/coolstore-partner-model/src/main/java/com/cool/store/request/GetTipsInfoReq.java
@@ -9,7 +9,7 @@ import lombok.Data;
*/
@Data
@ApiModel
-public class GetLastUpdateTimeInfoReq {
+public class GetTipsInfoReq {
@ApiModelProperty("线索id")
private String partnerLineId;
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/CommonService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/CommonService.java
new file mode 100644
index 000000000..65649523b
--- /dev/null
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/CommonService.java
@@ -0,0 +1,13 @@
+package com.cool.store.service;
+
+import com.cool.store.exception.ApiException;
+import com.cool.store.request.GetTipsInfoReq;
+
+/**
+ * @Author: young.yu
+ * @Date: 2023-06-28 21:34
+ * @Description:
+ */
+public interface CommonService {
+ String getTipsInfo(GetTipsInfoReq request) throws ApiException;
+}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java
index 13613277b..4678533e5 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewService.java
@@ -69,5 +69,4 @@ public interface InterviewService {
public void rejectInterviewAndSuspendLine(Long iterviewId,Long interviewPlanId,String certifyFile);
- String getLastUpdateTimeInfo(GetLastUpdateTimeInfoReq request) throws ApiException;
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/TRTCVideoService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/TRTCVideoService.java
index 1a0f61912..7cbfa9b15 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/TRTCVideoService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/TRTCVideoService.java
@@ -1,5 +1,6 @@
package com.cool.store.service;
+import com.cool.store.dto.trtc.callback.VideoCallBackDTO;
import com.cool.store.request.TRTCVideoCallBackReq;
public interface TRTCVideoService {
@@ -7,6 +8,8 @@ public interface TRTCVideoService {
/**
* 音视频上传成功后的回调处理
*/
- void handleVideoCallBack(TRTCVideoCallBackReq req);
+// void handleVideoCallBack(TRTCVideoCallBackReq req);
+
+ void handleVideoCallBack(VideoCallBackDTO videoCallBackDTO);
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CommonServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CommonServiceImpl.java
new file mode 100644
index 000000000..9851eb0f8
--- /dev/null
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/CommonServiceImpl.java
@@ -0,0 +1,129 @@
+package com.cool.store.service.impl;
+
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.cool.store.dto.log.LogFieldDTO;
+import com.cool.store.entity.HyPartnerCertificationInfoDO;
+import com.cool.store.entity.HyPartnerLineInfoDO;
+import com.cool.store.entity.HyPartnerTaskInfoLogDO;
+import com.cool.store.enums.OperateLogFieldValueEnum;
+import com.cool.store.enums.OperateTypeEnum;
+import com.cool.store.enums.WorkflowStageEnum;
+import com.cool.store.enums.WorkflowStatusEnum;
+import com.cool.store.exception.ApiException;
+import com.cool.store.mapper.HyPartnerCertificationInfoMapper;
+import com.cool.store.mapper.HyPartnerLineInfoMapper;
+import com.cool.store.mapper.HyPartnerTaskInfoLogMapper;
+import com.cool.store.request.GetTipsInfoReq;
+import com.cool.store.service.CommonService;
+import com.cool.store.utils.StringUtil;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * @Author: young.yu
+ * @Date: 2023-06-28 21:35
+ * @Description:
+ */
+@Service
+public class CommonServiceImpl implements CommonService {
+
+ @Autowired
+ private HyPartnerTaskInfoLogMapper hyPartnerTaskInfoLogMapper;
+
+ @Autowired
+ private HyPartnerLineInfoMapper hyPartnerLineInfoMapper;
+
+ @Autowired
+ private HyPartnerCertificationInfoMapper hyPartnerCertificationInfoMapper;
+
+ @Override
+ public String getTipsInfo(GetTipsInfoReq request) throws ApiException {
+ List lineInfoList = hyPartnerLineInfoMapper.getHyPartnerLineInfoListByIds(Arrays.asList(Long.parseLong(request.getPartnerLineId())));
+ if (CollectionUtils.isEmpty(lineInfoList)) {
+ return null;
+ }
+ HyPartnerLineInfoDO hyPartnerLineInfoDO = lineInfoList.get(0);
+ String workflowStage = hyPartnerLineInfoDO.getWorkflowStage();
+ String workflowStatus = hyPartnerLineInfoDO.getWorkflowStatus();
+ Long partnerLineId = hyPartnerLineInfoDO.getId();
+ if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_2.getCode())) {
+ return getInterviewTips(partnerLineId, OperateTypeEnum.INTERVIEW_APPOINTMENT, "提交面试预约时间");
+ } else if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_3.getCode())) {
+ String tips = getInterviewTips(partnerLineId, OperateTypeEnum.MODIFY_INTERVIEW_TIME, "");
+ if (StringUtils.isNotEmpty(tips)) {
+ return tips + ("修改面试预约时间");
+ } else {
+ return getInterviewTips(partnerLineId, OperateTypeEnum.INTERVIEW_APPOINTMENT, "提交面试预约时间");
+ }
+ } else if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_4.getCode())) {
+ return getInterviewTips(partnerLineId, OperateTypeEnum.FINISH_INTERVIEW, "结束面试");
+ }else if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_5.getCode())) {
+ HyPartnerCertificationInfoDO partnerCertificationInfoDO = hyPartnerCertificationInfoMapper.selectByPartnerLineId(partnerLineId);
+ String intentionContractNo = null;
+ if(partnerCertificationInfoDO != null){
+ intentionContractNo = partnerCertificationInfoDO.getIntentionContractNo();
+ }
+ return getInterviewTips(partnerLineId, OperateTypeEnum.FINISH_INTERVIEW, "发起加盟商资质审核|"+intentionContractNo);
+ }else if (workflowStage.equals(WorkflowStageEnum.INTERVIEW.getCode()) && workflowStatus.equals(WorkflowStatusEnum.INTERVIEW_6.getCode())) {
+ HyPartnerCertificationInfoDO partnerCertificationInfoDO = hyPartnerCertificationInfoMapper.selectByPartnerLineId(partnerLineId);
+ String intentionContractNo = null;
+ if(partnerCertificationInfoDO != null){
+ intentionContractNo = partnerCertificationInfoDO.getIntentionContractNo();
+ }
+ return getInterviewTips(partnerLineId, OperateTypeEnum.FINISH_INTERVIEW, "审核通过|"+intentionContractNo);
+ }
+
+ return null;
+ }
+
+ public String getInterviewTips(Long partnerLineId, OperateTypeEnum operateTypeEnum, String action) {
+ StringBuffer sb = new StringBuffer();
+ sb.append(StringUtil.REPLACE_0)
+ .append(" ")
+ .append(StringUtil.REPLACE_1)
+ .append(" 于 ").append(StringUtil.REPLACE_2).append(" ").append(action);
+ String content = sb.toString();
+ return getSuitableTipsInfo(content, partnerLineId,
+ operateTypeEnum,
+ OperateLogFieldValueEnum.OPERATE_USER_NAME.getCode(),
+ OperateLogFieldValueEnum.MOBILE.getCode(),
+ OperateLogFieldValueEnum.OPERATE_TIME.getCode());
+
+ }
+
+ public String getSuitableTipsInfo(String content, Long partnerLineId, OperateTypeEnum operateTypeEnum, String... replaceKeys) {
+ List hyPartnerTaskInfoLogDOS = hyPartnerTaskInfoLogMapper.selectByPartnerLineIdAndOperateType(partnerLineId, operateTypeEnum.getCode());
+ if (CollectionUtils.isEmpty(hyPartnerTaskInfoLogDOS)) {
+ return null;
+ }
+ HyPartnerTaskInfoLogDO hyPartnerTaskInfoLogDO = hyPartnerTaskInfoLogDOS.get(0);
+ String fieldCopy = hyPartnerTaskInfoLogDO.getFieldCopy();
+ List logFieldDTOS = JSONObject.parseArray(fieldCopy, LogFieldDTO.class);
+ List params = new ArrayList<>();
+ for (String replaceKey : replaceKeys) {
+ String value = "";
+ Optional logFieldDTOOptional = logFieldDTOS.stream().filter(l -> l.getCode().equals(replaceKey)).findFirst();
+ if (logFieldDTOOptional.isPresent()) {
+ value = logFieldDTOOptional.get().getValue();
+ try {
+ value = DateUtil.format(DateUtil.parseDateTime(value), "yyyy/MM/dd HH:mm:ss");
+ } catch (Exception e) {
+ //异常代表不是时间格式,不做处理
+ }
+
+ }
+ params.add(value);
+ }
+
+ return MessageFormat.format(content, params.toArray());
+ }
+}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java
index e096bcd97..afa96b5a6 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java
@@ -200,8 +200,12 @@ public class FlowServiceImpl implements FlowService {
hyPartnerInterviewDO.setUpdateTime(new Date());
//更新面试信息
//更新面试状态
- hyPartnerInterviewDO.setStatus(null);
interviewDAO.updateInterviewWorkflowStatus(request.getInterviewPlanId(), WorkflowStatusEnum.INTERVIEW_5);
+
+ //获取当前操作人
+ LoginUserInfo operator = CurrentUserHolder.getUser();
+ hyPartnerInterviewDO.setRecorder(operator.getName()+" "+operator.getMobile());
+ hyPartnerInterviewDO.setRecordTime(new Date());
hyPartnerInterviewDO.setAuthCode(authCode);
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
@@ -213,7 +217,6 @@ public class FlowServiceImpl implements FlowService {
hyPartnerLineInfoMapper.updateByPrimaryKeySelective(hyPartnerLineInfoDO);
}
//记录日志
- LoginUserInfo operator = CurrentUserHolder.getUser();
CreateQualifyVerifyDTO log = CreateQualifyVerifyDTO.builder().operateUserId(operator.getUserId()).operateUsername(operator.getName()).operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC))
.summary(request.getSummary()).qualiVerifyContent(JSON.toJSONString(partnerCertificationInfoDO)).build();
logService.recordBizLog(operator,hyPartnerInterviewDO.getPartnerLineId(), OperateTypeEnum.CREATE_QUALIFYVERIFY,log);
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java
index 430fb69d6..b5e37ecfc 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java
@@ -12,7 +12,6 @@ import com.cool.store.context.LoginUserInfo;
import com.cool.store.context.PartnerUserHolder;
import com.cool.store.dao.EnterpriseUserDAO;
import com.cool.store.dao.HyInterviewDAO;
-import com.cool.store.dao.HyPartnerTaskInfoLogDAO;
import com.cool.store.dto.calendar.CreateCalendarEventDTO;
import com.cool.store.dto.calendar.DeleteCalendarEventDTO;
import com.cool.store.dto.calendar.UserCalendarsEventDTO;
@@ -102,9 +101,6 @@ public class InterviewServiceImpl implements InterviewService {
@Autowired
private EnterpriseUserDAO enterpriseUserDAO;
-
- @Autowired
- private HyPartnerTaskInfoLogMapper hyPartnerTaskInfoLogMapper;
@Override
public List getInterviewList(GetInterviewListReq request) {
List interviewList = hyPartnerInterviewPlanMapper.getInterviewList(request);
@@ -629,39 +625,4 @@ public class InterviewServiceImpl implements InterviewService {
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO);
}
- @Override
- public String getLastUpdateTimeInfo(GetLastUpdateTimeInfoReq request) throws ApiException {
- String content = " 修改面试预约时间";
- String operatorName = null;
- String operatorMobile = null;
- String operatorTime = null;
- List hyPartnerTaskInfoLogDOS = hyPartnerTaskInfoLogMapper.selectByPartnerLineIdAndOperateType(request.getPartnerLineId(), OperateTypeEnum.MODIFY_INTERVIEW_TIME.getCode());
- if(CollectionUtils.isEmpty(hyPartnerTaskInfoLogDOS)){
- hyPartnerTaskInfoLogDOS = hyPartnerTaskInfoLogMapper.selectByPartnerLineIdAndOperateType(request.getPartnerLineId(), OperateTypeEnum.INTERVIEW_APPOINTMENT.getCode());
- if(CollectionUtils.isEmpty(hyPartnerTaskInfoLogDOS)){
- return null;
- }
- content = " 提交面试预约时间";
- }
- HyPartnerTaskInfoLogDO hyPartnerTaskInfoLogDO = hyPartnerTaskInfoLogDOS.get(0);
- String fieldCopy = hyPartnerTaskInfoLogDO.getFieldCopy();
- List logFieldDTOS = JSONObject.parseArray(fieldCopy, LogFieldDTO.class);
- for(LogFieldDTO logFieldDTO:logFieldDTOS){
- if(OperateLogFieldValueEnum.OPERATE_TIME.getCode().equals(logFieldDTO.getCode())){
- operatorTime = logFieldDTO.getValue();
- }
- if(OperateLogFieldValueEnum.MOBILE.getCode().equals(logFieldDTO.getCode())){
- operatorMobile = logFieldDTO.getValue();
- }
- if(OperateLogFieldValueEnum.OPERATE_USER_NAME.getCode().equals(logFieldDTO.getCode())){
- operatorName = logFieldDTO.getValue();
- }
- }
- StringBuffer sb = new StringBuffer();
- sb.append(operatorName)
- .append(" "+operatorMobile)
- .append(" 于 ").append(DateUtil.format(DateUtil.parseDateTime(operatorTime),"yyyy/MM/dd HH:mm:ss")).append(content);
- return sb.toString();
- }
-
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TRTCVideoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TRTCVideoServiceImpl.java
index 9855ae7d2..b88a439e7 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TRTCVideoServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/TRTCVideoServiceImpl.java
@@ -1,5 +1,6 @@
package com.cool.store.service.impl;
+import com.cool.store.dto.trtc.callback.VideoCallBackDTO;
import com.cool.store.mapper.HyPartnerInterviewMapper;
import com.cool.store.request.TRTCVideoCallBackReq;
import com.cool.store.service.TRTCVideoService;
@@ -15,12 +16,19 @@ public class TRTCVideoServiceImpl implements TRTCVideoService {
/**
* 音视频上传成功后的回调处理
*/
+// @Override
+// public void handleVideoCallBack(TRTCVideoCallBackReq req) {
+// //将视频播放地址拼接到对应的面试信息字段中
+// String videoUrl = req.getEventInfo().getPayLoad().getTencentVod().getVideoUrl();
+// String roomId = req.getEventInfo().getRoomId();
+// interviewMapper.addVideoUrl(roomId, videoUrl);
+// }
+
@Override
- public void handleVideoCallBack(TRTCVideoCallBackReq req) {
+ public void handleVideoCallBack(VideoCallBackDTO videoCallBackDTO) {
//将视频播放地址拼接到对应的面试信息字段中
- String videoUrl = req.getEventInfo().getPayLoad().getTencentVod().getVideoUrl();
- String roomId = req.getEventInfo().getRoomId();
+ String videoUrl = videoCallBackDTO.getEventInfo().getPayload().getTencentVod().getVideoUrl();
+ String roomId = videoCallBackDTO.getEventInfo().getRoomId();
interviewMapper.addVideoUrl(roomId, videoUrl);
}
-
}
diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/config/TokenValidateFilter.java b/coolstore-partner-webb/src/main/java/com/cool/store/config/TokenValidateFilter.java
index 8773f8965..93150f7fa 100644
--- a/coolstore-partner-webb/src/main/java/com/cool/store/config/TokenValidateFilter.java
+++ b/coolstore-partner-webb/src/main/java/com/cool/store/config/TokenValidateFilter.java
@@ -45,6 +45,7 @@ public class TokenValidateFilter implements Filter {
Lists.newArrayList("/web/check/ok","/check/ok",
"/partner/pc/doc.html","/partner/pc/v2/api-docs","/**/test/**","/partner/pc/feiShuLogin","/partner/pc/oss/getUploadFileConfig",
"/**/swagger*/**", "/**/webjars/**",
+ "/partner/pc/**",
//腾讯音视频回调,单独做验签
"/partner/pc/video/**",
//TODO 800回调地址暂时不做验证
diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/CommonController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/CommonController.java
new file mode 100644
index 000000000..d8ea2a989
--- /dev/null
+++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/CommonController.java
@@ -0,0 +1,34 @@
+package com.cool.store.controller;
+
+import com.cool.store.exception.ApiException;
+import com.cool.store.request.GetTipsInfoReq;
+import com.cool.store.response.ResponseResult;
+import com.cool.store.service.CommonService;
+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;
+
+/**
+ * @Author: young.yu
+ * @Date: 2023-06-28 21:33
+ * @Description:
+ */
+
+@RestController
+@RequestMapping("/common")
+@Api(tags = "通用信息")
+public class CommonController {
+
+ @Autowired
+ private CommonService commonService;
+ @PostMapping("/getTipsInfo")
+ @ApiOperation("获取面试最新更新信息")
+ public ResponseResult getTipsInfo(@RequestBody GetTipsInfoReq request) throws ApiException {
+ String res = commonService.getTipsInfo(request);
+ return ResponseResult.success(res);
+ }
+}
diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java
index b61005261..b89b78d3f 100644
--- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java
+++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewController.java
@@ -94,10 +94,4 @@ public class InterviewController {
// interviewService.rejectInterview(request);
// return ResponseResult.success();
// }
- @PostMapping("/getLastUpdateTimeInfo")
- @ApiOperation("获取面试最新更新信息")
- public ResponseResult getLastUpdateTimeInfo(@RequestBody GetLastUpdateTimeInfoReq request) throws ApiException {
- String res = interviewService.getLastUpdateTimeInfo(request);
- return ResponseResult.success(res);
- }
}
diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/VideoController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/VideoController.java
index f5f83e46a..53ae75e97 100644
--- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/VideoController.java
+++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/VideoController.java
@@ -1,6 +1,7 @@
package com.cool.store.controller;
import com.alibaba.fastjson.JSONObject;
+import com.cool.store.dto.trtc.callback.VideoCallBackDTO;
import com.cool.store.request.TRTCVideoCallBackReq;
import com.cool.store.response.ResponseResult;
import com.cool.store.service.TRTCVideoService;
@@ -22,21 +23,37 @@ public class VideoController {
@Autowired
private TRTCVideoService videoService;
+// @PostMapping("/callback")
+// @ApiOperation("音视频回调(腾讯云回调)")
+// public ResponseResult videoCallback(@RequestBody String requestBody) {
+// log.info("腾讯音视频上传完成回调,request{}", JSONObject.toJSONString(requestBody));
+// //由于腾讯云恶事做尽,它的回调参数不是驼峰法,首字母是大写,导致 SpringMVC 映射不上,只能手动映射了
+// TRTCVideoCallBackReq req = JSONObject.parseObject(requestBody, TRTCVideoCallBackReq.class);
+// //不是音视频上传的回调
+// if (!"311".equals(req.getEventType())) {
+// return null;
+// }
+// if (!"0".equals(req.getEventInfo().getPayLoad().getStatus())) {
+// log.error("腾讯音视频录制视频上传错误:request:\t{}", req);
+// return null;
+// }
+// videoService.handleVideoCallBack(req);
+// return new ResponseResult(0, "腾讯云回调音视频回调数据接收成功");
+// }
+
@PostMapping("/callback")
@ApiOperation("音视频回调(腾讯云回调)")
- public ResponseResult videoCallback(@RequestBody String requestBody) {
- log.info("腾讯音视频上传完成回调,request{}", JSONObject.toJSONString(requestBody));
- //由于腾讯云恶事做尽,它的回调参数不是驼峰法,首字母是大写,导致 SpringMVC 映射不上,只能手动映射了
- TRTCVideoCallBackReq req = JSONObject.parseObject(requestBody, TRTCVideoCallBackReq.class);
+ public ResponseResult videoCallback(@RequestBody VideoCallBackDTO videoCallBackDTO) {
+ log.info("腾讯音视频上传完成回调,request{}", JSONObject.toJSONString(videoCallBackDTO));
//不是音视频上传的回调
- if (!"311".equals(req.getEventType())) {
+ if (311!= videoCallBackDTO.getEventType()) {
return null;
}
- if (!"0".equals(req.getEventInfo().getPayLoad().getStatus())) {
- log.error("腾讯音视频录制视频上传错误:request:\t{}", req);
+ if (0 !=videoCallBackDTO.getEventInfo().getPayload().getStatus()) {
+ log.error("腾讯音视频录制视频上传错误:request:\t{}", videoCallBackDTO);
return null;
}
- videoService.handleVideoCallBack(req);
+ videoService.handleVideoCallBack(videoCallBackDTO);
return new ResponseResult(0, "腾讯云回调音视频回调数据接收成功");
}