Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cust-api
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李伟
cust-api
Commits
0d9e7a09
Commit
0d9e7a09
authored
Jan 15, 2025
by
gaoyingwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加 百度内容审核
parent
22c03e42
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
296 additions
and
25 deletions
+296
-25
application-dev-conf.yml
config/application-dev-conf.yml
+4
-0
application-test-conf.yml
config/application-test-conf.yml
+5
-0
pom.xml
pom.xml
+8
-0
FaceVerifyAliComp.java
...rg/rcisoft/alibaba/faceVerify/bean/FaceVerifyAliComp.java
+1
-1
FaceVerifyRedisBean.java
.../rcisoft/alibaba/faceVerify/bean/FaceVerifyRedisBean.java
+1
-1
FaceVerifyController.java
...t/alibaba/faceVerify/controller/FaceVerifyController.java
+2
-2
FaceVerifyService.java
...rcisoft/alibaba/faceVerify/service/FaceVerifyService.java
+1
-2
FaceVerifyServiceImpl.java
...libaba/faceVerify/service/impl/FaceVerifyServiceImpl.java
+4
-8
ContentCensorClientConfig.java
...cisoft/baidu/censor/config/ContentCensorClientConfig.java
+46
-0
CensorResult.java
src/main/java/org/rcisoft/baidu/censor/dto/CensorResult.java
+23
-0
ContentCensorService.java
...rg/rcisoft/baidu/censor/service/ContentCensorService.java
+34
-0
ContentCensorServiceImpl.java
...t/baidu/censor/service/impl/ContentCensorServiceImpl.java
+123
-0
MemInfoServiceImpl.java
...oft/business/memInfo/service/impl/MemInfoServiceImpl.java
+2
-11
OpmArticleServiceImpl.java
...siness/opmArticle/service/impl/OpmArticleServiceImpl.java
+42
-0
No files found.
config/application-dev-conf.yml
View file @
0d9e7a09
...
@@ -190,3 +190,7 @@ faceverfiy:
...
@@ -190,3 +190,7 @@ faceverfiy:
ipDayCount
:
10
ipDayCount
:
10
ipMinCount
:
3
ipMinCount
:
3
censor
:
appId
:
117081917
apiKey
:
g02V7qqYkEOFhhysnQYzBhL6
secretKey
:
5WVLmoZvgrBIeh2bTbvuSukY0zCbNcLh
config/application-test-conf.yml
View file @
0d9e7a09
...
@@ -179,3 +179,8 @@ faceverfiy:
...
@@ -179,3 +179,8 @@ faceverfiy:
idCardMinCount
:
3
idCardMinCount
:
3
ipDayCount
:
10
ipDayCount
:
10
ipMinCount
:
3
ipMinCount
:
3
censor
:
appId
:
117081917
apiKey
:
g02V7qqYkEOFhhysnQYzBhL6
secretKey
:
5WVLmoZvgrBIeh2bTbvuSukY0zCbNcLh
pom.xml
View file @
0d9e7a09
...
@@ -168,6 +168,14 @@
...
@@ -168,6 +168,14 @@
<artifactId>
cloudauth20190307
</artifactId>
<artifactId>
cloudauth20190307
</artifactId>
<version>
3.4.0
</version>
<version>
3.4.0
</version>
</dependency>
</dependency>
<!--百度内容审核SDK-->
<dependency>
<groupId>
com.baidu.aip
</groupId>
<artifactId>
java-sdk
</artifactId>
<version>
4.15.7
</version>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
...
...
src/main/java/org/rcisoft/
business
/faceVerify/bean/FaceVerifyAliComp.java
→
src/main/java/org/rcisoft/
alibaba
/faceVerify/bean/FaceVerifyAliComp.java
View file @
0d9e7a09
package
org
.
rcisoft
.
business
.
faceVerify
.
bean
;
package
org
.
rcisoft
.
alibaba
.
faceVerify
.
bean
;
import
lombok.Data
;
import
lombok.Data
;
...
...
src/main/java/org/rcisoft/
business
/faceVerify/bean/FaceVerifyRedisBean.java
→
src/main/java/org/rcisoft/
alibaba
/faceVerify/bean/FaceVerifyRedisBean.java
View file @
0d9e7a09
package
org
.
rcisoft
.
business
.
faceVerify
.
bean
;
package
org
.
rcisoft
.
alibaba
.
faceVerify
.
bean
;
/**
/**
* Created with family.
* Created with family.
...
...
src/main/java/org/rcisoft/
business
/faceVerify/controller/FaceVerifyController.java
→
src/main/java/org/rcisoft/
alibaba
/faceVerify/controller/FaceVerifyController.java
View file @
0d9e7a09
package
org
.
rcisoft
.
business
.
faceVerify
.
controller
;
package
org
.
rcisoft
.
alibaba
.
faceVerify
.
controller
;
/*固定导入*/
/*固定导入*/
...
@@ -6,7 +6,7 @@ package org.rcisoft.business.faceVerify.controller;
...
@@ -6,7 +6,7 @@ package org.rcisoft.business.faceVerify.controller;
import
com.aliyun.cloudauth20190307.models.InitFaceVerifyRequest
;
import
com.aliyun.cloudauth20190307.models.InitFaceVerifyRequest
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.Operation
;
import
jakarta.servlet.http.HttpServletRequest
;
import
jakarta.servlet.http.HttpServletRequest
;
import
org.rcisoft.
business
.faceVerify.service.FaceVerifyService
;
import
org.rcisoft.
alibaba
.faceVerify.service.FaceVerifyService
;
import
org.rcisoft.business.memInfo.entity.MemInfo
;
import
org.rcisoft.business.memInfo.entity.MemInfo
;
import
org.rcisoft.core.anno.CyOpeLogAnno
;
import
org.rcisoft.core.anno.CyOpeLogAnno
;
import
org.rcisoft.core.constant.CyMessCons
;
import
org.rcisoft.core.constant.CyMessCons
;
...
...
src/main/java/org/rcisoft/
business
/faceVerify/service/FaceVerifyService.java
→
src/main/java/org/rcisoft/
alibaba
/faceVerify/service/FaceVerifyService.java
View file @
0d9e7a09
package
org
.
rcisoft
.
business
.
faceVerify
.
service
;
package
org
.
rcisoft
.
alibaba
.
faceVerify
.
service
;
import
com.aliyun.cloudauth20190307.models.InitFaceVerifyRequest
;
import
com.aliyun.cloudauth20190307.models.InitFaceVerifyRequest
;
import
jakarta.servlet.http.HttpServletRequest
;
import
jakarta.servlet.http.HttpServletRequest
;
import
org.rcisoft.business.memInfo.entity.MemInfo
;
import
org.rcisoft.business.memInfo.entity.MemInfo
;
import
org.rcisoft.core.model.CyPersistModel
;
import
java.util.Map
;
import
java.util.Map
;
...
...
src/main/java/org/rcisoft/
business
/faceVerify/service/impl/FaceVerifyServiceImpl.java
→
src/main/java/org/rcisoft/
alibaba
/faceVerify/service/impl/FaceVerifyServiceImpl.java
View file @
0d9e7a09
package
org
.
rcisoft
.
business
.
faceVerify
.
service
.
impl
;
package
org
.
rcisoft
.
alibaba
.
faceVerify
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.aliyun.cloudauth20190307.Client
;
import
com.aliyun.cloudauth20190307.Client
;
...
@@ -11,16 +11,13 @@ import com.aliyun.teautil.models.RuntimeOptions;
...
@@ -11,16 +11,13 @@ import com.aliyun.teautil.models.RuntimeOptions;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
jakarta.servlet.http.HttpServletRequest
;
import
jakarta.servlet.http.HttpServletRequest
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.rcisoft.
business
.faceVerify.bean.FaceVerifyAliComp
;
import
org.rcisoft.
alibaba
.faceVerify.bean.FaceVerifyAliComp
;
import
org.rcisoft.
business
.faceVerify.bean.FaceVerifyRedisBean
;
import
org.rcisoft.
alibaba
.faceVerify.bean.FaceVerifyRedisBean
;
import
org.rcisoft.
business
.faceVerify.service.FaceVerifyService
;
import
org.rcisoft.
alibaba
.faceVerify.service.FaceVerifyService
;
import
org.rcisoft.business.memInfo.dao.MemInfoRepository
;
import
org.rcisoft.business.memInfo.dao.MemInfoRepository
;
import
org.rcisoft.business.memInfo.entity.MemInfo
;
import
org.rcisoft.business.memInfo.entity.MemInfo
;
import
org.rcisoft.business.memInfo.service.MemInfoService
;
import
org.rcisoft.core.constant.CySmsLoginCons
;
import
org.rcisoft.core.exception.CyServiceException
;
import
org.rcisoft.core.exception.CyServiceException
;
import
org.rcisoft.core.jwt.util.CyJwtUtil
;
import
org.rcisoft.core.jwt.util.CyJwtUtil
;
import
org.rcisoft.core.model.CyPersistModel
;
import
org.rcisoft.core.service.CyRedisService
;
import
org.rcisoft.core.service.CyRedisService
;
import
org.rcisoft.core.util.CyAESUtils
;
import
org.rcisoft.core.util.CyAESUtils
;
import
org.rcisoft.core.util.CyAddressUtils
;
import
org.rcisoft.core.util.CyAddressUtils
;
...
@@ -29,7 +26,6 @@ import org.rcisoft.core.util.TimeUtil;
...
@@ -29,7 +26,6 @@ import org.rcisoft.core.util.TimeUtil;
import
org.rcisoft.sys.rbac.user.dao.SysUserRbacRepository
;
import
org.rcisoft.sys.rbac.user.dao.SysUserRbacRepository
;
import
org.rcisoft.sys.rbac.user.entity.SysUserRbac
;
import
org.rcisoft.sys.rbac.user.entity.SysUserRbac
;
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.Propagation
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
src/main/java/org/rcisoft/baidu/censor/config/ContentCensorClientConfig.java
0 → 100644
View file @
0d9e7a09
package
org
.
rcisoft
.
baidu
.
censor
.
config
;
import
com.baidu.aip.contentcensor.AipContentCensor
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
@Configuration
public
class
ContentCensorClientConfig
{
/**
* 百度云审核的AppID
*/
@Value
(
"${censor.appId}"
)
String
appId
;
/**
* 百度云审核的Api Key
*/
@Value
(
"${censor.apiKey}"
)
String
apiKey
;
/**
* 百度云审核的Secret Key
*/
@Value
(
"${censor.secretKey}"
)
String
secretKey
;
@Bean
(
name
=
"commonTextCensorClient"
)
AipContentCensor
commonTextCensorClient
()
{
/**
* 可以选择在客户端中添加参数,参考 https://ai.baidu.com/ai-doc/ANTIPORN/ik3h6xdze
* 如:
* // 可选:设置网络连接参数
* client.setConnectionTimeoutInMillis(2000);
* client.setSocketTimeoutInMillis(60000);
*
* // 可选:设置代理服务器地址, http和socket二选一,或者均不设置
* client.setHttpProxy("proxy_host", proxy_port); // 设置http代理
* client.setSocketProxy("proxy_host", proxy_port); // 设置socket代理
*
* // 可选:设置log4j日志输出格式,若不设置,则使用默认配置
* // 也可以直接通过jvm启动参数设置此环境变量
* System.setProperty("aip.log4j.conf", "path/to/your/log4j.properties");
*/
return
new
AipContentCensor
(
appId
,
apiKey
,
secretKey
);
}
}
src/main/java/org/rcisoft/baidu/censor/dto/CensorResult.java
0 → 100644
View file @
0d9e7a09
package
org
.
rcisoft
.
baidu
.
censor
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
CensorResult
{
/**
* 内容是否审核通过
*/
Boolean
isPass
;
/**
* 审核失败原因
*/
String
errorMsg
;
}
src/main/java/org/rcisoft/baidu/censor/service/ContentCensorService.java
0 → 100644
View file @
0d9e7a09
package
org
.
rcisoft
.
baidu
.
censor
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
org.rcisoft.baidu.censor.dto.CensorResult
;
import
org.rcisoft.business.memInfo.entity.ArticleExamStatus
;
import
org.rcisoft.business.memInfo.entity.MemInfo
;
import
org.rcisoft.business.memInfo.entity.opmArticleDTO
;
import
org.rcisoft.business.memInfo.entity.peopleNumberDTO
;
import
org.rcisoft.core.model.CyPageInfo
;
import
org.rcisoft.core.model.CyPersistModel
;
import
java.util.List
;
/**
* Created by cy on 2024年12月20日 下午3:35:34.
*/
public
interface
ContentCensorService
{
/**
* 获取常规文本审核结果
*
* @param content 内容
* @return 百度内容审核JSON
*/
public
CensorResult
getCommonTextCensorResult
(
String
content
);
/**
* 获取照片审核结果
*
* @param imageUrl 图片Url
* @return 百度图片审核JSON
*/
public
CensorResult
getImageCensorResult
(
String
imageUrl
);
}
src/main/java/org/rcisoft/baidu/censor/service/impl/ContentCensorServiceImpl.java
0 → 100644
View file @
0d9e7a09
package
org
.
rcisoft
.
baidu
.
censor
.
service
.
impl
;
import
cn.hutool.json.JSON
;
import
cn.hutool.json.JSONUtil
;
import
com.baidu.aip.contentcensor.AipContentCensor
;
import
com.baidu.aip.contentcensor.EImgType
;
import
lombok.extern.slf4j.Slf4j
;
import
org.json.JSONArray
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
org.rcisoft.baidu.censor.dto.CensorResult
;
import
org.rcisoft.baidu.censor.service.ContentCensorService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
@Service
@Transactional
(
readOnly
=
true
,
propagation
=
Propagation
.
NOT_SUPPORTED
)
@Slf4j
public
class
ContentCensorServiceImpl
implements
ContentCensorService
{
/**
* 百度文本审核,识别审核结果的JSON KEY
*/
final
public
static
String
CENSOR_CONCLUSION_TYPE_KEY
=
"conclusionType"
;
//审核结果
final
public
static
String
CENSOR_CONCLUSION_KEY
=
"conclusion"
;
//请求唯一id
final
public
static
String
CENSOR_LOG_ID_KEY
=
"log_id"
;
// @Resource(name = "commonTextCensorClient")
@Autowired
AipContentCensor
commonTextCensorClient
;
/**
* 获取常规文本审核结果
*
* @param content 内容
* @return 百度内容审核JSON
*/
@Override
public
CensorResult
getCommonTextCensorResult
(
String
content
)
{
//如果内容为空,则直接返回
if
(
content
==
null
||
content
.
isEmpty
())
{
return
getCensorResult
(
null
);
}
try
{
JSONObject
response
=
commonTextCensorClient
.
textCensorUserDefined
(
content
);
return
getCensorResult
(
response
);
}
catch
(
Exception
exception
)
{
log
.
error
(
"失败"
+
exception
);
return
getCensorResult
(
null
);
}
}
/**
* 获取照片审核结果
*
* @param imageUrl 图片Url
* @return 百度图片审核JSON
*/
@Override
public
CensorResult
getImageCensorResult
(
String
imageUrl
)
{
//如果内容为空,则直接返回
if
(
imageUrl
==
null
||
imageUrl
.
isEmpty
())
{
return
getCensorResult
(
null
);
}
try
{
JSONObject
response
=
commonTextCensorClient
.
imageCensorUserDefined
(
imageUrl
,
EImgType
.
URL
,
null
);
return
getCensorResult
(
response
);
}
catch
(
Exception
exception
)
{
log
.
error
(
"失败"
+
exception
);
return
getCensorResult
(
null
);
}
}
/**
* 获取审核结果
*
* @param clientJsonObject 百度审核的JSON字段
* @return 审核结果
*/
private
CensorResult
getCensorResult
(
JSONObject
clientJsonObject
)
{
//获取代表审核结果的字段
//审核结果类型,可取值1.合规,2.不合规,3.疑似,4.审核失败
int
conclusionType
=
4
;
//如果是null就直接判定为失败
if
(
clientJsonObject
!=
null
)
{
try
{
conclusionType
=
clientJsonObject
.
getInt
(
CENSOR_CONCLUSION_TYPE_KEY
);
log
.
info
(
"审核结果"
+
clientJsonObject
.
getString
(
CENSOR_CONCLUSION_KEY
));
log
.
info
(
"请求唯一id"
+
clientJsonObject
.
getString
(
CENSOR_LOG_ID_KEY
));
boolean
isPass
=
conclusionType
==
1
;
List
<
String
>
msg
=
new
ArrayList
<>();
if
(
clientJsonObject
.
has
(
"data"
))
{
JSONArray
array
=
clientJsonObject
.
getJSONArray
(
"data"
);
for
(
int
i
=
0
;
i
<
array
.
length
();
i
++)
{
cn
.
hutool
.
json
.
JSONObject
json
=
JSONUtil
.
parseObj
(
array
.
get
(
i
).
toString
());
msg
.
add
(
json
.
getStr
(
"msg"
));
}
}
return
new
CensorResult
(
isPass
,
String
.
join
(
","
,
msg
)
);
}
catch
(
JSONException
e
)
{
log
.
error
(
""
+
e
);
return
new
CensorResult
(
false
,
"获取审核结果失败"
);
}
}
else
return
new
CensorResult
(
false
,
"获取审核结果失败"
);
}
}
src/main/java/org/rcisoft/business/memInfo/service/impl/MemInfoServiceImpl.java
View file @
0d9e7a09
package
org
.
rcisoft
.
business
.
memInfo
.
service
.
impl
;
package
org
.
rcisoft
.
business
.
memInfo
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
jakarta.servlet.http.HttpServletRequest
;
import
jakarta.servlet.http.HttpServletRequest
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.rcisoft.business.cmsActivity.entity.CmsActivity
;
import
org.rcisoft.alibaba.faceVerify.bean.FaceVerifyAliComp
;
import
org.rcisoft.business.faceVerify.bean.FaceVerifyAliComp
;
import
org.rcisoft.alibaba.faceVerify.bean.FaceVerifyRedisBean
;
import
org.rcisoft.business.faceVerify.bean.FaceVerifyRedisBean
;
import
org.rcisoft.business.memInfo.bean.MemberGenerateBean
;
import
org.rcisoft.business.memInfo.bean.MemberGenerateBean
;
import
org.rcisoft.business.memInfo.entity.ArticleExamStatus
;
import
org.rcisoft.business.memInfo.entity.ArticleExamStatus
;
import
org.rcisoft.business.memInfo.entity.opmArticleDTO
;
import
org.rcisoft.business.memInfo.entity.opmArticleDTO
;
import
org.rcisoft.business.memInfo.entity.peopleNumberDTO
;
import
org.rcisoft.business.memInfo.entity.peopleNumberDTO
;
import
org.rcisoft.core.constant.CyDelStaCons
;
import
org.rcisoft.core.constant.CyDelStaCons
;
import
org.rcisoft.core.constant.CyFlagStaCons
;
import
org.rcisoft.core.constant.CyFlagStaCons
;
import
org.rcisoft.core.constant.CySmsLoginCons
;
import
org.rcisoft.core.exception.CyServiceException
;
import
org.rcisoft.core.exception.CyServiceException
;
import
org.rcisoft.core.result.enums.CyResSysExcEnum
;
import
org.rcisoft.core.service.CyRedisService
;
import
org.rcisoft.core.service.CyRedisService
;
import
org.rcisoft.core.util.*
;
import
org.rcisoft.core.util.*
;
import
org.rcisoft.core.aop.CyPageUtilAsp
;
import
org.rcisoft.core.model.CyPersistModel
;
import
org.rcisoft.core.model.CyPersistModel
;
import
org.rcisoft.business.memInfo.dao.MemInfoRepository
;
import
org.rcisoft.business.memInfo.dao.MemInfoRepository
;
import
org.rcisoft.business.memInfo.entity.MemInfo
;
import
org.rcisoft.business.memInfo.entity.MemInfo
;
import
org.rcisoft.business.memInfo.service.MemInfoService
;
import
org.rcisoft.business.memInfo.service.MemInfoService
;
import
org.rcisoft.core.service.CyBaseService
;
import
org.rcisoft.sys.constant.CyUserCons
;
import
org.rcisoft.sys.constant.CyUserCons
;
import
org.rcisoft.sys.rbac.user.dao.SysUserRbacRepository
;
import
org.rcisoft.sys.rbac.user.dao.SysUserRbacRepository
;
...
@@ -43,7 +35,6 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -43,7 +35,6 @@ import org.springframework.transaction.annotation.Transactional;
import
org.rcisoft.core.model.CyPageInfo
;
import
org.rcisoft.core.model.CyPageInfo
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.Month
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
...
src/main/java/org/rcisoft/business/opmArticle/service/impl/OpmArticleServiceImpl.java
View file @
0d9e7a09
package
org
.
rcisoft
.
business
.
opmArticle
.
service
.
impl
;
package
org
.
rcisoft
.
business
.
opmArticle
.
service
.
impl
;
import
cn.hutool.json.JSONArray
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.rcisoft.baidu.censor.dto.CensorResult
;
import
org.rcisoft.baidu.censor.service.ContentCensorService
;
import
org.rcisoft.business.opmArticle.dao.OpmArticleRepository
;
import
org.rcisoft.business.opmArticle.dao.OpmArticleRepository
;
import
org.rcisoft.business.opmArticle.entity.ArticleCommentVO
;
import
org.rcisoft.business.opmArticle.entity.ArticleCommentVO
;
import
org.rcisoft.business.opmArticle.entity.LikeDTO
;
import
org.rcisoft.business.opmArticle.entity.LikeDTO
;
...
@@ -13,7 +17,11 @@ import org.rcisoft.business.opmArticle.service.OpmArticleService;
...
@@ -13,7 +17,11 @@ import org.rcisoft.business.opmArticle.service.OpmArticleService;
import
org.rcisoft.core.exception.CyServiceException
;
import
org.rcisoft.core.exception.CyServiceException
;
import
org.rcisoft.core.model.CyPageInfo
;
import
org.rcisoft.core.model.CyPageInfo
;
import
org.rcisoft.core.model.CyPersistModel
;
import
org.rcisoft.core.model.CyPersistModel
;
import
org.rcisoft.core.service.CyFileStorageService
;
import
org.rcisoft.core.util.CyUserUtil
;
import
org.rcisoft.core.util.CyUserUtil
;
import
org.rcisoft.sys.dictionary.entity.DictData
;
import
org.rcisoft.sys.dictionary.service.DictionaryService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Isolation
;
import
org.springframework.transaction.annotation.Isolation
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Propagation
;
...
@@ -30,6 +38,12 @@ import java.util.List;
...
@@ -30,6 +38,12 @@ import java.util.List;
@Slf4j
@Slf4j
public
class
OpmArticleServiceImpl
extends
ServiceImpl
<
OpmArticleRepository
,
OpmArticle
>
implements
OpmArticleService
{
public
class
OpmArticleServiceImpl
extends
ServiceImpl
<
OpmArticleRepository
,
OpmArticle
>
implements
OpmArticleService
{
@Autowired
private
DictionaryService
dictionaryService
;
@Autowired
private
ContentCensorService
contentCensorService
;
@Autowired
private
CyFileStorageService
cyFileStorageService
;
/**
/**
* 保存 opmArticle管理
* 保存 opmArticle管理
* @param opmArticle
* @param opmArticle
...
@@ -38,6 +52,34 @@ public class OpmArticleServiceImpl extends ServiceImpl<OpmArticleRepository, Opm
...
@@ -38,6 +52,34 @@ public class OpmArticleServiceImpl extends ServiceImpl<OpmArticleRepository, Opm
@Transactional
(
propagation
=
Propagation
.
REQUIRED
,
isolation
=
Isolation
.
DEFAULT
)
@Transactional
(
propagation
=
Propagation
.
REQUIRED
,
isolation
=
Isolation
.
DEFAULT
)
@Override
@Override
public
CyPersistModel
persist
(
OpmArticle
opmArticle
){
public
CyPersistModel
persist
(
OpmArticle
opmArticle
){
//从redis获取动态审核配置 0:自动审核,1:人工审核
List
<
DictData
>
articleAudit
=
dictionaryService
.
selectByTypes
(
"article_audit_config"
);
String
style
=
articleAudit
.
get
(
0
).
getDictValue
();
if
(
"0"
.
equals
(
style
))
{
//调用百度,自动审核
boolean
flag
=
false
;
CensorResult
result
=
contentCensorService
.
getCommonTextCensorResult
(
opmArticle
.
getContent
());
flag
=
result
.
getIsPass
();
List
<
String
>
msg
=
new
ArrayList
<>();
if
(!
flag
)
msg
.
add
(
result
.
getErrorMsg
());
if
(
StringUtils
.
isNotBlank
(
opmArticle
.
getPictureId
())){
JSONArray
ids
=
JSONUtil
.
parseObj
(
opmArticle
.
getPictureId
()).
getJSONArray
(
"id"
);
for
(
Object
id
:
ids
)
{
String
url
=
cyFileStorageService
.
getOssUrl
((
Integer
)
id
);
CensorResult
imgResult
=
contentCensorService
.
getImageCensorResult
(
url
);
if
(!
imgResult
.
getIsPass
())
msg
.
add
(
result
.
getErrorMsg
());
flag
=
flag
&&
imgResult
.
getIsPass
();
}
}
if
(
flag
)
opmArticle
.
setExamStatus
(
"1"
);
else
{
opmArticle
.
setExamStatus
(
"3"
);
opmArticle
.
setRemarks
(
String
.
join
(
","
,
msg
));
}
}
//增加操作
//增加操作
int
line
=
baseMapper
.
insert
(
opmArticle
);
int
line
=
baseMapper
.
insert
(
opmArticle
);
log
.
debug
(
CyUserUtil
.
getAuthenUsername
()+
"新增了ID为"
+
log
.
debug
(
CyUserUtil
.
getAuthenUsername
()+
"新增了ID为"
+
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment