提交 e4fec645 编写于 作者: minghao.wu's avatar minghao.wu

refactor: controller->service

上级 901372ef
流水线 #3083 已通过 于阶段
in 10 second
......@@ -9,8 +9,8 @@ import com.pica.cloud.foundation.utils.controller.BaseController;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import com.pica.cloud.online.exam.analysis.common.util.ReturnUtil;
import com.pica.cloud.online.exam.analysis.server.service.AntiSpamService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.tuple.Pair;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.*;
......@@ -36,31 +36,16 @@ public class AntiSpamController extends BaseController {
@RequestHeader String sysCode,
@RequestHeader String token) {
PicaUser user = fetchPicaUser();
if (user == null || user.getId().intValue() == 0) {
return ReturnUtil.getPicaResponse(PicaResultCode.LOGIN_FAILE);
}
StringBuilder sbContent = new StringBuilder();
/**
* type:0 不检测广告 其他: 检测广告, 默认不检测
*/
Integer type = 0;
Pair<String, Integer> params;
try {
JSONObject jsonObject = JSONObject.parseObject(content);
sbContent.append(jsonObject.get("content").toString());
type = (jsonObject.get("type") != null ? Integer.parseInt(jsonObject.get("type").toString()) : 0);
params = parseContentAndType(content);
} catch (Exception e) {
return ReturnUtil.getPicaResponse(PicaResultCode.PARAM_IS_INVALID);
}
return antiSpamService.processString(
user.getId(),
sysCode,
sbContent.toString(),
type != 0
);
return antiSpamService.processString(user.getId(), sysCode, params.getLeft(), params.getRight() != 0);
}
@LoginPermission
@ApiOperation(value = "内容检测", response = PicaResponse.class)
@RequestMapping(value = "/text/v1", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public PicaResponse processTextV1(@RequestBody String content,
......@@ -69,35 +54,21 @@ public class AntiSpamController extends BaseController {
return processText(content, sysCode, token);
}
@LoginPermission
@ApiOperation(value = "内容检测", response = PicaResponse.class)
@RequestMapping(value = "/text/v2", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public PicaResponse processTextV2(@RequestBody String content,
@RequestHeader String sysCode,
@RequestHeader String token) {
PicaUser user = fetchPicaUser();
if (user == null || user.getId().intValue() == 0) {
return ReturnUtil.getPicaResponse(PicaResultCode.LOGIN_FAILE);
}
StringBuilder sbContent = new StringBuilder();
/**
* type:0 不检测广告 其他: 检测广告, 默认不检测
*/
Integer type = 0;
Pair<String, Integer> params;
try {
JSONObject jsonObject = JSONObject.parseObject(content);
sbContent.append(jsonObject.get("content").toString());
type = (jsonObject.get("type") != null ? Integer.parseInt(jsonObject.get("type").toString()) : 0);
params = parseContentAndType(content);
} catch (Exception e) {
return ReturnUtil.getPicaResponse(PicaResultCode.PARAM_IS_INVALID);
}
return antiSpamService.processStringV2(
user.getId(),
sysCode,
sbContent.toString(),
type != 0
);
return antiSpamService.processStringV2(user.getId(), sysCode, params.getLeft(), params.getRight() != 0);
}
@LoginPermission
......@@ -106,14 +77,7 @@ public class AntiSpamController extends BaseController {
public PicaResponse processImage(@RequestBody String content,
@RequestHeader String sysCode,
@RequestHeader String token) {
if (token == null) {
return ReturnUtil.getPicaResponse(PicaResultCode.SYSTEM_NO_TOKEN);
}
PicaUser user = fetchPicaUser();
if (user == null || user.getId().intValue() == 0) {
return ReturnUtil.getPicaResponse(PicaResultCode.LOGIN_FAILE);
}
StringBuilder sbContent = new StringBuilder();
try {
JSONObject jsonObject = JSONObject.parseObject(content);
......@@ -128,4 +92,11 @@ public class AntiSpamController extends BaseController {
return ReturnUtil.getPicaResponse(PicaResultCode.SUCCESS);
}
public Pair<String, Integer> parseContentAndType(String content) {
JSONObject jsonObject = JSONObject.parseObject(content);
return Pair.of(jsonObject.get("content").toString(),
jsonObject.get("type") != null ? Integer.parseInt(jsonObject.get("type").toString()) : 0
);
}
}
package com.pica.cloud.online.exam.analysis.server.service;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import com.pica.cloud.online.exam.analysis.common.dto.*;
import com.pica.cloud.online.exam.analysis.server.entity.AnalysisRound;
import com.pica.cloud.online.exam.analysis.server.entity.AnalysisRoundExamTitle;
import com.pica.cloud.online.exam.analysis.server.entity.CHCAnalysis;
import com.pica.cloud.online.exam.analysis.server.entity.Reply;
import io.swagger.models.auth.In;
import org.omg.CORBA.INTERNAL;
import java.util.List;
import java.util.Optional;
/**
* @author wuminghao
......@@ -17,198 +20,109 @@ import java.util.List;
public interface CHCAnalysisService {
/**
* 获取消息详情
* @param analysisId
* 获取CHC活动详情
* @param analysisId 活动id
* @param user
* @return
*/
CHCAnalysisDto getActivityDetail(Integer analysisId, PicaUser user);
CHCAnalysisDto getCHCActivityDetail(Integer analysisId, PicaUser user);
/**
* 根据活动id获取活动详情
* @param analysisId
* 获取PSA活动详情
* @param analysisId 活动id
* @return
*/
CHCAnalysis getAnalysisById(Integer analysisId);
CHCAnalysisDto getPSAActivityDetail(Integer analysisId);
/**
* 根据活动id获取活动详情
* @param analysisId
* 获取轮详情
* @param roundId 轮id
* @return
*/
CHCAnalysisDto getCHCAnalysisDtoById(Integer analysisId);
RoundExamTitleDto getRoundDetail(Integer roundId);
/**
* 根据活动id获取活动详情
* @param analysisId
* @return
*/
CHCAnalysisDto getPSAAnalysisDtoById(Integer analysisId);
/**
* 根据活动id获取活动的轮数
* @param analysisId
* @return
*/
List<AnalysisRoundDto> getRoundListByAnalysisId(Integer analysisId);
/**
* 根据轮的id获取信息
* @param roundId
* @return
*/
RoundExamTitleDto getRoundExamTitleDtoById(Integer roundId);
/**
* 根据轮的id获取信息
* @param roundId
* @return
*/
AnalysisRound getRoundInfoById(Integer roundId);
/**
* 根据轮的id获取题目信息
* 获取轮详情V2
* @param roundId
* @return
*/
List<ExamTitleDto> getExamTitleListByRoundId(Integer roundId);
/**
* 获取当前的活动-轮-题目关联表
* @param analysisRoundExamTitleId
* @return
*/
AnalysisRoundExamTitle getAnanlysisRoundExamTitleById(Integer analysisRoundExamTitleId);
/**
* 获取考题信息
* @param analysisRoundExamTitleId
* @return
*/
ExamTitleDto getExamTitleDtoById(Integer analysisRoundExamTitleId);
RoundExamTitleV2Dto getRoundDetailV2(Integer roundId);
/**
* 获取当前题目的下一题目
* @param roundId 当前轮的id
* @param analysisRoundExamTitleId 当前题目的id
* @return 下一题目的id
*/
ExamTitleDto getNextExamTitleDtoById(Integer roundId, Integer analysisRoundExamTitleId);
/**
* 根据题目id获取回复信息
* @param analysisRoundExamTitleId
* @param userId
* @return
*/
List<ReplyDto> getReplyListDtoByExamTitleId(Integer analysisRoundExamTitleId, Integer userId);
/**
* 根据id获取reply
* @param replyId
* @return
*/
Reply getReplyById(Integer replyId);
/**
* 根据id获取下一条reply
* @param replyId
* @return
*/
Reply getNextReplyById(Integer replyId);
/**
* 根据reply获取replydto
* @param reply
* @param userId
* @return
*/
ReplyDto getReplyDtoByReply(Reply reply, Integer userId);
/**
* 插入点赞记录
* @param analysisId
* @param roundId
* 获取题目的回复列表
* @param examTitleId
* @param replyId
* @param user
* @return
*/
Integer insertStarRecord(Integer analysisId, Integer roundId, Integer examTitleId, Integer replyId, Integer userId);
ExamTitleReplyDto getReplyListByExamTitleId(Integer examTitleId, PicaUser user);
/**
* 取消点赞记录
* @param replyId
* @param userId
* @return
*/
Integer removeStarRecord(Integer replyId, Integer userId);
/**
* 增加解析
* @param examTitleId
* @param content
* @param userId
* @return
*/
Integer insertReply(Integer examTitleId, String content, Integer userId);
/**
* 获取我的评论状态
* 获取下一题的回复列表
* @param examTitleId
* @param userId
* @param user
* @return
*/
Integer getReplyStatus(Integer examTitleId, Integer userId);
ExamTitleReplyDto getNextReplyListByExamTitleId(Integer examTitleId, PicaUser user);
/**
* 获取我的评论详情
* @param examTitleId
* @param userId
* 获取回复的详情
* @param replyId 回复id
* @param user 用户
* @return
*/
Reply getReplyByExamTitleId(Integer examTitleId, Integer userId);
ExamTitleReplyDetailDto getReplyDetailByReplyId(Integer replyId, PicaUser user);
/**
* 根据考试id获取评论列表
* @param examTitleId
* 获取下一回复的详情
* @param replyId
* @param user
* @return
*/
List<Reply> getReplyList(Integer examTitleId);
ExamTitleReplyDetailDto getNextReplyDetailByReplyId(Integer replyId, PicaUser user);
/**
* 获取所有的历史轮详情
* @param analysisId
* 获取回复的详情
* @param examTitleId 题目id
* @param user 用户
* @return
*/
List<AnalysisRoundDto> getCHCHistoryRound(Integer analysisId);
ExamTitleReplyDetailDto getReplyDetailByExamTitleId(Integer examTitleId, PicaUser user);
/**
* 获取某一轮的最多得票数
* @param roundId
* 点赞
* @param user 用户
* @param analysisId 活动id
* @param roundId 轮id
* @param examTitleId 题目id
* @param replyId 回复id
* @return
*/
Integer getElectedStarCountByRoundId(Integer roundId);
PicaResponse starReply(PicaUser user, Integer analysisId, Integer roundId, Integer examTitleId, Integer replyId);
/**
* 获取被选中的医生id
* @param roundId
* 解析/回复某一个题目
* @param user 用户
* @param sysCode
* @param examTitleId 题目
* @param content 内容
* @param isAdFilterOpen 广告检测
* @return
*/
Integer getElectedDoctorIdByRoundId(Integer roundId);
PicaResponse reply(PicaUser user, String sysCode, Integer examTitleId, String content, Boolean isAdFilterOpen);
/**
* 根据医生id和轮id获取得赞数
* @param roundId
* @param doctorId
* 获取我的赞
* @param user 用户
* @param roundId 某轮的id
* @return
*/
Integer getStarCountByRoundIdAndDoctorId(Integer roundId, Integer doctorId);
MyStarDto myStar(PicaUser user, Optional<Integer> roundId);
/**
* 根据医生id和轮id获取得赞记录
* @param roundId
* @param doctorId
* 取消点赞
* @param replyId 活动id
* @param user 用户
* @return
*/
List<UserExamTitleDto> getMyStarRecordByRoundIdAndDoctorId(Integer roundId, Integer doctorId);
Integer removeStarRecord(Integer replyId, PicaUser user);
}
server.port=10902
server.context-path=/analysis
spring.application.name=${server.port}-pica-cloud-analysis
spring.application.name=${server.port}-pica-cloud-analysis_local
#config server settings
spring.cloud.config.name=com.pica.cloud.online.exam
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册