Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
midjourney-proxy
Overview
Overview
Details
Activity
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
徐少华
midjourney-proxy
Commits
ca5aa2de
Commit
ca5aa2de
authored
May 19, 2020
by
裴大威
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add updateNoISBNBookGeneratorQrcode
parent
53475176
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
214 additions
and
1 deletions
+214
-1
BookGroupBiz.java
...src/main/java/com/pcloud/book/group/biz/BookGroupBiz.java
+4
-1
BookGroupBizImpl.java
...java/com/pcloud/book/group/biz/impl/BookGroupBizImpl.java
+0
-0
BookBusinessConstants.java
...com/pcloud/book/group/constant/BookBusinessConstants.java
+4
-0
BookGroupDao.java
...src/main/java/com/pcloud/book/group/dao/BookGroupDao.java
+4
-0
BookGroupDaoImpl.java
...java/com/pcloud/book/group/dao/impl/BookGroupDaoImpl.java
+8
-0
BookGroupFacadeImpl.java
...om/pcloud/book/group/facade/impl/BookGroupFacadeImpl.java
+0
-0
BookExcelReader.java
...ain/java/com/pcloud/book/group/tools/BookExcelReader.java
+138
-0
ExcelDataVO.java
...k/src/main/java/com/pcloud/book/group/vo/ExcelDataVO.java
+37
-0
BookProps.java
.../main/java/com/pcloud/book/util/properties/BookProps.java
+11
-0
BookGroupMapper.xml
...-book/src/main/resources/mapper/group/BookGroupMapper.xml
+8
-0
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/BookGroupBiz.java
View file @
ca5aa2de
...
...
@@ -60,6 +60,9 @@ import com.pcloud.common.page.PageBean;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -69,7 +72,7 @@ import java.util.Map;
*/
public
interface
BookGroupBiz
{
String
updateNoISBNBookGeneratorQrcode
(
MultipartFile
file
);
/**
* 查询编辑是否有此社群书
* @param bookId
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/biz/impl/BookGroupBizImpl.java
View file @
ca5aa2de
This source diff could not be displayed because it is too large. You can
view the blob
instead.
pcloud-service-book/src/main/java/com/pcloud/book/group/constant/BookBusinessConstants.java
View file @
ca5aa2de
...
...
@@ -11,6 +11,10 @@ import java.util.concurrent.ConcurrentHashMap;
public
class
BookBusinessConstants
{
/**
* 生成无书号二维码路由
**/
public
static
final
String
NO_ISBN_QRCODE_URI
=
"/group/info?rayBookId="
;
/**
* 需更新微信群信息
*/
public
static
final
Map
<
String
,
AutoUpdateGroupNumDTO
>
GROUP_NUM_DTO_MAP
=
new
ConcurrentHashMap
<>(
128
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/BookGroupDao.java
View file @
ca5aa2de
...
...
@@ -309,6 +309,10 @@ public interface BookGroupDao extends BaseDao<BookGroup> {
void
updateSubjectByProLabel
(
Long
proLebelId
,
Long
subjectId
);
void
updateGradeByDepLabel
(
Long
depLabelId
,
Long
graLabelId
);
Long
getOldDataMax
();
void
insertOldData
(
Long
id
);
public
Long
getBookGroupId4OldData
(
Long
raysBookId
);
Long
getIdByBookNameAndJoinGroupType
(
String
bookName
,
Integer
joinGroupType
);
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/dao/impl/BookGroupDaoImpl.java
View file @
ca5aa2de
...
...
@@ -367,6 +367,14 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
public
Long
getBookGroupId4OldData
(
Long
raysBookId
)
{
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getBookGroupId4OldData"
),
raysBookId
);
}
@Override
public
Long
getOldDataMax
()
{
return
getSessionTemplate
().
selectOne
(
getStatement
(
"getOldDataMax"
));
}
@Override
public
void
insertOldData
(
Long
id
)
{
getSessionTemplate
().
insert
(
getStatement
(
"insertOldData"
),
id
);
}
@Override
public
Long
getIdByBookNameAndJoinGroupType
(
String
bookName
,
Integer
joinGroupType
)
{
...
...
pcloud-service-book/src/main/java/com/pcloud/book/group/facade/impl/BookGroupFacadeImpl.java
View file @
ca5aa2de
This diff is collapsed.
Click to expand it.
pcloud-service-book/src/main/java/com/pcloud/book/group/tools/BookExcelReader.java
0 → 100644
View file @
ca5aa2de
package
com
.
pcloud
.
book
.
group
.
tools
;
import
com.pcloud.book.group.vo.ExcelDataVO
;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook
;
import
org.apache.poi.ss.usermodel.Cell
;
import
org.apache.poi.ss.usermodel.Row
;
import
org.apache.poi.ss.usermodel.Sheet
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.text.DecimalFormat
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
lombok.extern.slf4j.Slf4j
;
@Slf4j
public
class
BookExcelReader
{
public
static
List
<
ExcelDataVO
>
readExcel
(
MultipartFile
file
)
throws
IOException
{
//获取文件名称
try
(
InputStream
in
=
file
.
getInputStream
())
{
// 读取excel中的数据
Workbook
workbook
=
judegExcelEdition
(
file
.
getOriginalFilename
())
?
new
XSSFWorkbook
(
in
)
:
new
HSSFWorkbook
(
in
);
return
parseExcel
(
workbook
);
}
}
private
static
boolean
judegExcelEdition
(
String
fileName
)
{
return
!
fileName
.
matches
(
"^.+\\.(?i)(xls)$"
);
}
private
static
List
<
ExcelDataVO
>
parseExcel
(
Workbook
workbook
)
{
List
<
ExcelDataVO
>
resultDataList
=
new
ArrayList
<>();
// 解析sheet
for
(
int
sheetNum
=
0
;
sheetNum
<
workbook
.
getNumberOfSheets
();
sheetNum
++)
{
Sheet
sheet
=
workbook
.
getSheetAt
(
sheetNum
);
// 校验sheet是否合法
if
(
sheet
==
null
)
{
continue
;
}
// 获取第一行数据
int
firstRowNum
=
sheet
.
getFirstRowNum
();
Row
firstRow
=
sheet
.
getRow
(
firstRowNum
);
if
(
null
==
firstRow
)
{
log
.
warn
(
"解析Excel失败,在第一行没有读取到任何数据!"
);
}
// 解析每一行的数据,构造数据对象
int
rowStart
=
firstRowNum
+
1
;
int
rowEnd
=
sheet
.
getPhysicalNumberOfRows
();
for
(
int
rowNum
=
rowStart
;
rowNum
<
rowEnd
;
rowNum
++)
{
Row
row
=
sheet
.
getRow
(
rowNum
);
if
(
null
==
row
)
{
continue
;
}
ExcelDataVO
resultData
=
convertRowToData
(
row
);
resultDataList
.
add
(
resultData
);
}
}
return
resultDataList
;
}
private
static
String
convertCellValueToString
(
Cell
cell
)
{
if
(
cell
==
null
)
{
return
null
;
}
String
returnValue
=
null
;
switch
(
cell
.
getCellType
())
{
case
Cell
.
CELL_TYPE_NUMERIC
:
//数字
Double
doubleValue
=
cell
.
getNumericCellValue
();
// 格式化科学计数法,取一位整数
DecimalFormat
df
=
new
DecimalFormat
(
"0"
);
returnValue
=
df
.
format
(
doubleValue
);
break
;
case
Cell
.
CELL_TYPE_STRING
:
//字符串
returnValue
=
cell
.
getStringCellValue
();
break
;
case
Cell
.
CELL_TYPE_BOOLEAN
:
//布尔
boolean
booleanValue
=
cell
.
getBooleanCellValue
();
returnValue
=
Boolean
.
toString
(
booleanValue
);
break
;
case
Cell
.
CELL_TYPE_BLANK
:
// 空值
break
;
case
Cell
.
CELL_TYPE_FORMULA
:
// 公式
returnValue
=
cell
.
getCellFormula
();
break
;
case
Cell
.
CELL_TYPE_ERROR
:
// 故障
break
;
default
:
break
;
}
return
returnValue
;
}
private
static
ExcelDataVO
convertRowToData
(
Row
row
)
{
ExcelDataVO
resultData
=
new
ExcelDataVO
();
Cell
cell
;
int
cellNum
=
0
;
// 序号
cell
=
row
.
getCell
(
cellNum
++);
String
num
=
convertCellValueToString
(
cell
);
resultData
.
setNum
(
Integer
.
parseInt
(
num
));
// 出版社名称
cell
=
row
.
getCell
(
cellNum
++);
String
agentName
=
convertCellValueToString
(
cell
);
resultData
.
setAgentName
(
agentName
);
// 书名
cell
=
row
.
getCell
(
cellNum
++);
String
bookName
=
convertCellValueToString
(
cell
);
resultData
.
setBookName
(
bookName
);
// isbn
cell
=
row
.
getCell
(
cellNum
++);
String
isbn
=
convertCellValueToString
(
cell
);
resultData
.
setIsbn
(
isbn
);
// 分类
cell
=
row
.
getCell
(
cellNum
++);
String
type
=
convertCellValueToString
(
cell
);
resultData
.
setType
(
type
);
// 二维码数量
cell
=
row
.
getCell
(
cellNum
++);
String
qrcodeNum
=
convertCellValueToString
(
cell
);
resultData
.
setQrcodeNum
(
Objects
.
isNull
(
qrcodeNum
)
?
0
:
Integer
.
parseInt
(
qrcodeNum
));
return
resultData
;
}
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/group/vo/ExcelDataVO.java
0 → 100644
View file @
ca5aa2de
package
com
.
pcloud
.
book
.
group
.
vo
;
import
lombok.Data
;
@Data
public
class
ExcelDataVO
{
/**
* 序号
*/
private
Integer
num
;
/**
* 出版社名称
*/
private
String
agentName
;
/**
* 书名
*/
private
String
bookName
;
/**
* isbn
*/
private
String
isbn
;
/**
* 分类
*/
private
String
type
;
/**
* 二维码数量
*/
private
Integer
qrcodeNum
;
}
pcloud-service-book/src/main/java/com/pcloud/book/util/properties/BookProps.java
View file @
ca5aa2de
...
...
@@ -36,6 +36,8 @@ public class BookProps {
private
static
String
systemEnv
;
private
static
String
wechatDomain
;
public
static
String
getJisuAppKey
()
{
return
jisuAppKey
;
}
...
...
@@ -81,4 +83,13 @@ public class BookProps {
public
void
setSystemEnv
(
String
systemEnv
)
{
BookProps
.
systemEnv
=
systemEnv
;
}
public
static
String
getWechatDomain
()
{
return
wechatDomain
;
}
@Value
(
"${wechat.group.link.prefix}"
)
public
void
setWechatDomain
(
String
wechatDomain
)
{
BookProps
.
wechatDomain
=
wechatDomain
;
}
}
pcloud-service-book/src/main/resources/mapper/group/BookGroupMapper.xml
View file @
ca5aa2de
...
...
@@ -948,6 +948,14 @@
SELECT book_group_id FROM book_group_old_data WHERE rays_book_id = #{raysBookId}
</select>
<select
id=
"getOldDataMax"
resultType=
"Long"
>
SELECT max(rays_book_id) FROM book_group_old_data
</select>
<insert
id=
"insertOldData"
parameterType=
"Long"
>
insert into book_group_old_data (rays_book_id) value (#{id})
</insert>
<select
id=
"getIdByBookNameAndJoinGroupType"
resultType=
"long"
parameterType=
"map"
>
select
t.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