Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation
This project
Loading...
Sign in
石磊
/
cihai
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 6818ac56
authored
Jan 10, 2018
by
侯昆
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
上传图片视频接口
1 parent
40103e31
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
162 additions
and
0 deletions
serverside/cihai-admin/src/main/java/com/dookay/cihai/admin/controller/WordRelateController.java
serverside/cihai-admin/src/main/resources/application.properties
serverside/cihai-app/src/main/java/com/dookay/cihai/app/controller/WordController.java
serverside/cihai-app/src/main/java/com/dookay/cihai/app/controller/dto/CharacterBaikeDTO.java
serverside/cihai-app/src/main/java/com/dookay/cihai/app/controller/dto/StatementBaikeDTO.java
serverside/cihai-core/src/main/java/com/dookay/cihai/core/word/query/WordQuery.java
serverside/cihai-admin/src/main/java/com/dookay/cihai/admin/controller/WordRelateController.java
0 → 100644
View file @
6818ac5
package
com
.
dookay
.
cihai
.
admin
.
controller
;
/*****************************************
* *
* @dookay.com Internet make it happen *
* ----------- ----------------------- *
* dddd ddddd Internet make it happen *
* o o o Internet make it happen *
* k k k Internet make it happen *
* a a a Internet make it happen *
* yyyy yyyyy Internet make it happen *
* ----------- ----------------------- *
* @dookay.com Internet make it happen *
* *
****************************************/
import
com.alibaba.fastjson.JSON
;
import
com.dookay.cihai.core.word.domain.WordDomain
;
import
com.dookay.cihai.core.word.query.WordQuery
;
import
com.dookay.cihai.core.word.service.IWordService
;
import
com.dookay.coral.common.core.exception.ServiceException
;
import
com.dookay.coral.common.core.utils.lang.StringUtils
;
import
com.dookay.coral.common.web.config.ResourcesMappingProperties
;
import
com.dookay.coral.common.web.controller.BaseController
;
import
com.dookay.coral.common.web.response.JsonResult
;
import
com.dookay.coral.common.web.utils.upload.model.ImageModel
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.IOException
;
import
java.net.URI
;
import
java.net.URISyntaxException
;
import
java.nio.file.Files
;
import
java.nio.file.Path
;
import
java.nio.file.Paths
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 词条相关控制器
*
* @author houkun
* @date 2018/1/9
*/
@RestController
@RequestMapping
(
"/api/word"
)
public
class
WordRelateController
extends
BaseController
{
@Autowired
private
IWordService
wordService
;
@Autowired
private
ResourcesMappingProperties
resourcesMappingProperties
;
/**
* 添加词条图片
*
* @author houkun
* @date 2018/1/9
*/
@RequestMapping
(
value
=
"/pic/add"
,
method
=
RequestMethod
.
POST
)
public
JsonResult
picAdd
(
String
word
,
MultipartFile
image
)
{
WordQuery
q
=
new
WordQuery
();
q
.
setWord
(
word
);
WordDomain
wordDomain
=
wordService
.
getFirst
(
q
);
if
(
wordDomain
==
null
)
{
return
errorResult
(
"词条不存在"
);
}
List
<
ImageModel
>
modelList
=
doUpload
(
word
,
image
);
List
<
ImageModel
>
current
=
ImageModel
.
toList
(
wordDomain
.
getBaikePhotos
());
current
.
addAll
(
modelList
);
wordDomain
.
setBaikePhotos
(
JSON
.
toJSONString
(
current
));
wordService
.
update
(
wordDomain
);
return
successResult
(
"success"
,
modelList
);
}
/**
* 上传
*
* @author houkun
* @date 2018/1/10
*/
private
List
<
ImageModel
>
doUpload
(
String
word
,
MultipartFile
image
)
{
List
<
ImageModel
>
modelList
=
new
ArrayList
<>();
String
prefix
=
"word/"
+
word
+
"/"
;
String
fileUploadPath
=
resourcesMappingProperties
.
getUploadsMapping
()
+
prefix
;
try
{
URI
uri
=
new
URI
(
fileUploadPath
+
image
.
getOriginalFilename
());
Path
path
=
Paths
.
get
(
uri
);
Files
.
write
(
path
,
image
.
getBytes
());
ImageModel
model
=
new
ImageModel
();
String
mapInnerPath
=
resourcesMappingProperties
.
getUploadsInner
();
String
fileServerPath
=
StringUtils
.
substring
(
mapInnerPath
,
0
,
StringUtils
.
lastIndexOf
(
mapInnerPath
,
'/'
)
+
1
)
+
prefix
+
image
.
getOriginalFilename
();
model
.
setFile
(
fileServerPath
);
model
.
setAlt
(
image
.
getOriginalFilename
());
modelList
.
add
(
model
);
}
catch
(
IOException
|
URISyntaxException
e
)
{
e
.
printStackTrace
();
throw
new
ServiceException
(
"保存错误"
);
}
return
modelList
;
}
/**
* 添加视频
*
* @param word
* @param video
* @return
* @author houkun
* @date 2018/1/10
*/
@RequestMapping
(
value
=
"/video/add"
,
method
=
RequestMethod
.
POST
)
public
JsonResult
videoAdd
(
String
word
,
MultipartFile
video
)
{
WordQuery
q
=
new
WordQuery
();
q
.
setWord
(
word
);
WordDomain
wordDomain
=
wordService
.
getFirst
(
q
);
if
(
wordDomain
==
null
)
{
return
errorResult
(
"词条不存在"
);
}
List
<
ImageModel
>
modelList
=
doUpload
(
word
,
video
);
List
<
ImageModel
>
current
=
ImageModel
.
toList
(
wordDomain
.
getBaikeVideo
());
current
.
addAll
(
modelList
);
wordDomain
.
setBaikeVideo
(
JSON
.
toJSONString
(
current
));
wordService
.
update
(
wordDomain
);
return
successResult
(
"success"
,
modelList
);
}
}
serverside/cihai-admin/src/main/resources/application.properties
View file @
6818ac5
...
@@ -20,3 +20,5 @@ spring.datasource.druid.filter.stat.enabled=false
...
@@ -20,3 +20,5 @@ spring.datasource.druid.filter.stat.enabled=false
# 设置扫描 mapper xml路径
# 设置扫描 mapper xml路径
mapper.mappers
=
com.dookay.coral.common.core.persistence.Mapper
mapper.mappers
=
com.dookay.coral.common.core.persistence.Mapper
mybatis.mapper-
locations
=
classpath*:mapper/*.xml
mybatis.mapper-
locations
=
classpath*:mapper/*.xml
security.basic.enabled
=
false
security.enable-
csrf
=
false
\ No newline at end of file
\ No newline at end of file
serverside/cihai-app/src/main/java/com/dookay/cihai/app/controller/WordController.java
View file @
6818ac5
...
@@ -22,6 +22,7 @@ import com.dookay.cihai.core.word.domain.WordDomain;
...
@@ -22,6 +22,7 @@ import com.dookay.cihai.core.word.domain.WordDomain;
import
com.dookay.cihai.core.word.service.IWordService
;
import
com.dookay.cihai.core.word.service.IWordService
;
import
com.dookay.coral.common.web.controller.BaseController
;
import
com.dookay.coral.common.web.controller.BaseController
;
import
com.dookay.coral.common.web.response.JsonResult
;
import
com.dookay.coral.common.web.response.JsonResult
;
import
com.dookay.coral.common.web.utils.upload.model.ImageModel
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PathVariable
;
...
@@ -90,4 +91,5 @@ public class WordController extends BaseController {
...
@@ -90,4 +91,5 @@ public class WordController extends BaseController {
WordDomain
statement
=
wordService
.
get
(
id
);
WordDomain
statement
=
wordService
.
get
(
id
);
return
successResult
(
"success"
,
StatementBaikeDTO
.
fromDomain
(
statement
));
return
successResult
(
"success"
,
StatementBaikeDTO
.
fromDomain
(
statement
));
}
}
}
}
serverside/cihai-app/src/main/java/com/dookay/cihai/app/controller/dto/CharacterBaikeDTO.java
View file @
6818ac5
...
@@ -16,6 +16,7 @@ package com.dookay.cihai.app.controller.dto;
...
@@ -16,6 +16,7 @@ package com.dookay.cihai.app.controller.dto;
import
com.dookay.cihai.core.word.domain.WordDomain
;
import
com.dookay.cihai.core.word.domain.WordDomain
;
import
com.dookay.coral.common.core.utils.lang.StringUtils
;
import
com.dookay.coral.common.core.utils.lang.StringUtils
;
import
com.dookay.coral.common.web.utils.upload.model.ImageModel
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.Arrays
;
import
java.util.Arrays
;
...
@@ -35,6 +36,8 @@ public class CharacterBaikeDTO {
...
@@ -35,6 +36,8 @@ public class CharacterBaikeDTO {
private
List
<
String
>
brief
;
private
List
<
String
>
brief
;
private
String
body
;
private
String
body
;
private
List
<
String
>
spell
;
private
List
<
String
>
spell
;
private
List
<
ImageModel
>
images
;
private
List
<
ImageModel
>
videos
;
public
static
CharacterBaikeDTO
fromDomain
(
WordDomain
word
)
{
public
static
CharacterBaikeDTO
fromDomain
(
WordDomain
word
)
{
CharacterBaikeDTO
dto
=
new
CharacterBaikeDTO
();
CharacterBaikeDTO
dto
=
new
CharacterBaikeDTO
();
...
@@ -51,6 +54,12 @@ public class CharacterBaikeDTO {
...
@@ -51,6 +54,12 @@ public class CharacterBaikeDTO {
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
dto
.
setSpell
(
spell
);
dto
.
setSpell
(
spell
);
dto
.
setBody
(
word
.
getBaikeParaphrase
());
dto
.
setBody
(
word
.
getBaikeParaphrase
());
if
(
StringUtils
.
isNotEmpty
(
word
.
getBaikePhotos
()))
{
dto
.
setImages
(
ImageModel
.
toList
(
word
.
getBaikePhotos
()));
}
if
(
StringUtils
.
isNotEmpty
(
word
.
getBaikeVideo
()))
{
dto
.
setVideos
(
ImageModel
.
toList
(
word
.
getBaikeVideo
()));
}
return
dto
;
return
dto
;
}
}
}
}
serverside/cihai-app/src/main/java/com/dookay/cihai/app/controller/dto/StatementBaikeDTO.java
View file @
6818ac5
...
@@ -16,6 +16,7 @@ package com.dookay.cihai.app.controller.dto;
...
@@ -16,6 +16,7 @@ package com.dookay.cihai.app.controller.dto;
import
com.dookay.cihai.core.word.domain.WordDomain
;
import
com.dookay.cihai.core.word.domain.WordDomain
;
import
com.dookay.coral.common.core.utils.lang.StringUtils
;
import
com.dookay.coral.common.core.utils.lang.StringUtils
;
import
com.dookay.coral.common.web.utils.upload.model.ImageModel
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.Arrays
;
import
java.util.Arrays
;
...
@@ -35,6 +36,8 @@ public class StatementBaikeDTO {
...
@@ -35,6 +36,8 @@ public class StatementBaikeDTO {
private
List
<
String
>
brief
;
private
List
<
String
>
brief
;
private
String
body
;
private
String
body
;
private
String
spell
;
private
String
spell
;
private
List
<
ImageModel
>
images
;
private
List
<
ImageModel
>
videos
;
public
static
StatementBaikeDTO
fromDomain
(
WordDomain
word
)
{
public
static
StatementBaikeDTO
fromDomain
(
WordDomain
word
)
{
StatementBaikeDTO
dto
=
new
StatementBaikeDTO
();
StatementBaikeDTO
dto
=
new
StatementBaikeDTO
();
...
@@ -47,6 +50,12 @@ public class StatementBaikeDTO {
...
@@ -47,6 +50,12 @@ public class StatementBaikeDTO {
dto
.
setBrief
(
brief
);
dto
.
setBrief
(
brief
);
dto
.
setSpell
(
word
.
getWordSpell
());
dto
.
setSpell
(
word
.
getWordSpell
());
dto
.
setBody
(
word
.
getBaikeParaphrase
());
dto
.
setBody
(
word
.
getBaikeParaphrase
());
if
(
StringUtils
.
isNotEmpty
(
word
.
getBaikePhotos
()))
{
dto
.
setImages
(
ImageModel
.
toList
(
word
.
getBaikePhotos
()));
}
if
(
StringUtils
.
isNotEmpty
(
word
.
getBaikeVideo
()))
{
dto
.
setVideos
(
ImageModel
.
toList
(
word
.
getBaikeVideo
()));
}
return
dto
;
return
dto
;
}
}
}
}
serverside/cihai-core/src/main/java/com/dookay/cihai/core/word/query/WordQuery.java
View file @
6818ac5
...
@@ -18,6 +18,7 @@ import java.util.List;
...
@@ -18,6 +18,7 @@ import java.util.List;
@Data
@Data
public
class
WordQuery
extends
Query
{
public
class
WordQuery
extends
Query
{
private
String
word
;
private
String
keyword
;
private
String
keyword
;
private
List
<
String
>
keywordList
;
private
List
<
String
>
keywordList
;
...
@@ -26,6 +27,9 @@ public class WordQuery extends Query {
...
@@ -26,6 +27,9 @@ public class WordQuery extends Query {
public
QueryCriteria
toCriteria
()
{
public
QueryCriteria
toCriteria
()
{
QueryCriteria
queryCriteria
=
new
QueryCriteria
(
WordDomain
.
class
);
QueryCriteria
queryCriteria
=
new
QueryCriteria
(
WordDomain
.
class
);
Example
.
Criteria
criteria
=
queryCriteria
.
createCriteria
();
Example
.
Criteria
criteria
=
queryCriteria
.
createCriteria
();
if
(
valid
(
word
))
{
criteria
.
andEqualTo
(
"word"
,
word
);
}
if
(
valid
(
keyword
))
{
if
(
valid
(
keyword
))
{
String
str
=
"%"
+
keyword
+
"%"
;
String
str
=
"%"
+
keyword
+
"%"
;
criteria
.
andCondition
(
String
.
format
(
"(word like '%s' or word_alias like '%s')"
,
str
,
str
));
criteria
.
andCondition
(
String
.
format
(
"(word like '%s' or word_alias like '%s')"
,
str
,
str
));
...
...
Write
Preview
Markdown
is supported
Attach a file
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 post a comment