Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
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
youjj
cloud-platform
Commits
260bab35
Commit
260bab35
authored
Aug 21, 2019
by
hezhen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
123
parent
a32ce978
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
282 additions
and
279 deletions
+282
-279
StringToolsUtil.java
.../github/wxiaoqi/security/common/util/StringToolsUtil.java
+39
-0
BranchCompanyStockApplyInfoBiz.java
.../platform/vehicle/biz/BranchCompanyStockApplyInfoBiz.java
+121
-0
BranchCompanyStockRightBiz.java
...xxfc/platform/vehicle/biz/BranchCompanyStockRightBiz.java
+59
-206
BranchCompanyStockRightMapper.java
...latform/vehicle/mapper/BranchCompanyStockRightMapper.java
+13
-1
BranchCompanyStockRightController.java
...tform/vehicle/rest/BranchCompanyStockRightController.java
+20
-59
BranchCompanyStockRightMapper.xml
...c/main/resources/mapper/BranchCompanyStockRightMapper.xml
+30
-13
No files found.
ace-common/src/main/java/com/github/wxiaoqi/security/common/util/StringToolsUtil.java
View file @
260bab35
...
...
@@ -40,4 +40,43 @@ public class StringToolsUtil {
String
REGEX_ID_CARD
=
"(^\\d{18}$)|(^\\d{15}$)"
;
return
Pattern
.
matches
(
REGEX_ID_CARD
,
idCard
);
}
public
static
boolean
isNumer
(
String
str
){
boolean
flag
=
false
;
try
{
if
(
StringUtils
.
isBlank
(
str
))
{
flag
=
false
;
}
Pattern
regex
=
Pattern
.
compile
(
"[0-9]*"
);
Matcher
m
=
regex
.
matcher
(
str
);
flag
=
m
.
matches
();
}
catch
(
Exception
e
){
flag
=
false
;
}
return
flag
;
}
public
static
boolean
isBigDecimal
(
String
str
)
{
if
(
str
==
null
||
str
.
trim
().
length
()
==
0
)
{
return
false
;
}
char
[]
chars
=
str
.
toCharArray
();
int
sz
=
chars
.
length
;
int
i
=
(
chars
[
0
]
==
'-'
)
?
1
:
0
;
if
(
i
==
sz
)
return
false
;
if
(
chars
[
i
]
==
'.'
)
return
false
;
//除了负号,第一位不能为'小数点'
boolean
radixPoint
=
false
;
for
(;
i
<
sz
;
i
++)
{
if
(
chars
[
i
]
==
'.'
)
{
if
(
radixPoint
)
return
false
;
radixPoint
=
true
;
}
else
if
(!(
chars
[
i
]
>=
'0'
&&
chars
[
i
]
<=
'9'
))
{
return
false
;
}
}
return
true
;
}
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/BranchCompanyStockApplyInfoBiz.java
0 → 100644
View file @
260bab35
package
com
.
xxfc
.
platform
.
vehicle
.
biz
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.xxfc.platform.vehicle.constant.BranchCompanyStockApplyState
;
import
com.xxfc.platform.vehicle.constant.ResCode.ResCode
;
import
com.xxfc.platform.vehicle.entity.BranchCompanyStockApplyInfo
;
import
com.xxfc.platform.vehicle.entity.BranchCompanyStockRight
;
import
com.xxfc.platform.vehicle.mapper.BranchCompanyStockApplyInfoMapper
;
import
com.xxfc.platform.vehicle.pojo.BranchCompanyStockApplyInfoVo
;
import
com.xxfc.platform.vehicle.pojo.BranchCompanyStockApplyVo
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Date
;
@Service
public
class
BranchCompanyStockApplyInfoBiz
extends
BaseBiz
<
BranchCompanyStockApplyInfoMapper
,
BranchCompanyStockApplyInfo
>
{
@Autowired
BranchCompanyStockRightBiz
branchCompanyStockRightBiz
;
/**
* 申请购买
* @param applyVo
*/
public
void
apply
(
BranchCompanyStockApplyVo
applyVo
)
{
BranchCompanyStockRight
stockInfo
=
branchCompanyStockRightBiz
.
selectById
(
applyVo
.
getCompanyId
());
if
(
stockInfo
==
null
)
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_UNEXIST
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_UNEXIST
.
getCode
());
}
if
(
stockInfo
.
getBalance
()
<=
0
)
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_NO_BALANCE
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_NO_BALANCE
.
getCode
());
}
if
(
stockInfo
.
getBalance
()
<
applyVo
.
getCount
())
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH
.
getCode
());
}
BranchCompanyStockApplyInfo
applyInfo
=
new
BranchCompanyStockApplyInfo
();
BeanUtils
.
copyProperties
(
applyVo
,
applyInfo
);
applyInfo
.
setState
(
BranchCompanyStockApplyState
.
Apply
.
getCode
());
applyInfo
.
setCreateTime
(
new
Date
());
mapper
.
insertSelective
(
applyInfo
);
}
public
PageInfo
<
BranchCompanyStockApplyInfoVo
>
selectApplyAll
(
Integer
page
,
Integer
limit
)
{
PageHelper
.
startPage
(
page
,
limit
);
return
new
PageInfo
<>(
mapper
.
selectVoAll
());
}
/**
* 取消申请,修改申请状态
* @param applyId
*/
public
void
cancelApply
(
Integer
applyId
)
{
BranchCompanyStockApplyInfo
applyInfo
=
mapper
.
selectByPrimaryKey
(
applyId
);
if
(
applyInfo
==
null
)
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST
.
getCode
());
}
applyInfo
.
setState
(
BranchCompanyStockApplyState
.
Cancel
.
getCode
());
applyInfo
.
setUpdateTime
(
new
Date
());
mapper
.
updateByPrimaryKeySelective
(
applyInfo
);
}
/**
* 确认申请购买股权,修改库存
* @param applyId
*/
@Transactional
public
void
buy
(
Integer
applyId
)
{
BranchCompanyStockApplyInfo
applyInfo
=
mapper
.
selectByPrimaryKey
(
applyId
);
if
(
applyInfo
==
null
)
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST
.
getCode
());
}
if
(!
applyInfo
.
getState
().
equals
(
BranchCompanyStockApplyState
.
Apply
.
getCode
()))
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_APPLY_INFO_STATE_LOCKED
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_APPLY_INFO_STATE_LOCKED
.
getCode
());
}
BranchCompanyStockRight
stockInfo
=
branchCompanyStockRightBiz
.
selectById
(
applyInfo
.
getCompanyId
());
if
(
stockInfo
==
null
)
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_UNEXIST
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_UNEXIST
.
getCode
());
}
if
(
stockInfo
.
getBalance
()
<
applyInfo
.
getCount
())
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH
.
getCode
());
}
int
result
=
branchCompanyStockRightBiz
.
updateBalance
(
applyInfo
.
getCompanyId
(),
stockInfo
.
getBalance
()
-
applyInfo
.
getCount
(),
stockInfo
.
getBalance
());
if
(
result
==
0
)
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH
.
getCode
());
}
applyInfo
.
setState
(
BranchCompanyStockApplyState
.
Buy
.
getCode
());
applyInfo
.
setUpdateTime
(
new
Date
());
mapper
.
updateByPrimaryKey
(
applyInfo
);
}
public
BranchCompanyStockApplyInfo
getApplyById
(
Integer
id
)
{
return
mapper
.
selectByPrimaryKey
(
id
);
}
public
void
updateApply
(
BranchCompanyStockApplyInfo
applyInfo
)
{
mapper
.
updateByPrimaryKeySelective
(
applyInfo
);
}
public
void
deleteApply
(
Integer
id
)
{
mapper
.
deleteByPrimaryKey
(
id
);
}
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/BranchCompanyStockRightBiz.java
View file @
260bab35
...
...
@@ -3,84 +3,47 @@ package com.xxfc.platform.vehicle.biz;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.StringToolsUtil
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.constant.BranchCompanyStockApplyState
;
import
com.xxfc.platform.vehicle.constant.RedisKey
;
import
com.xxfc.platform.vehicle.constant.ResCode.ResCode
;
import
com.xxfc.platform.vehicle.entity.BranchCompanyStockApplyInfo
;
import
com.xxfc.platform.vehicle.entity.BranchCompanyStockInfo
;
import
com.xxfc.platform.vehicle.entity.BranchCompanyStockRight
;
import
com.xxfc.platform.vehicle.mapper.*
;
import
com.xxfc.platform.vehicle.pojo.BranchCompanyStockApplyInfoVo
;
import
com.xxfc.platform.vehicle.pojo.BranchCompanyStockApplyVo
;
import
com.xxfc.platform.vehicle.pojo.BranchCompanyStockInfoVo
;
import
com.xxfc.platform.vehicle.pojo.BranchCompanyStockSearchVo
;
import
com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo
;
import
com.xxfc.platform.vehicle.util.excel.ExcelImport
;
import
org.apache.commons.io.FileUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.joda.time.DateTime
;
import
org.joda.time.format.DateTimeFormat
;
import
org.joda.time.format.DateTimeFormatter
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.multipart.MultipartFile
;
import
tk.mybatis.mapper.entity.Example
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.File
;
import
java.io.IOException
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
@Service
public
class
BranchCompanyStockRightBiz
extends
BaseBiz
<
BranchCompanyStockRightMapper
,
BranchCompanyStockRight
>
{
public
static
final
DateTimeFormatter
DEFAULT_DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM-dd"
);
public
static
final
DateTimeFormatter
YEARMONTH_DATE_TIME_FORMATTER
=
DateTimeFormat
.
forPattern
(
"yyyy-MM"
);
@Value
(
"${branchCompanyStockPic.baseUploadPath:/data/branchCompanyStock/upload/}"
)
private
String
baseUploadPath
;
@Autowired
private
RedisTemplate
customRedisTemplate
;
BranchCompanyBiz
branchCompanyBiz
;
@Autowired
BranchCompanyStock
InfoMapper
branchCompanyStockInfoMapper
;
BranchCompanyStock
ApplyInfoBiz
branchCompanyStockApplyInfoBiz
;
@Autowired
BranchCompanyMapper
branchCompanyMapper
;
@Autowired
BranchCompanyStockApplyInfoMapper
branchCompanyStockApplyInfoMapper
;
@Autowired
SysRegionMapper
sysRegionMapper
;
public
PageInfo
<
BranchCompanyStockInfoVo
>
selectAll
(
Integer
page
,
Integer
limit
)
{
PageHelper
.
startPage
(
page
,
limit
);
return
new
PageInfo
<>(
branchCompanyStockInfoMapper
.
selectVoAll
());
}
@Value
(
"${branchCompanyPic.stock}"
)
private
String
companyPic
;
//获取股权列表
public
PageInfo
<
BranchCompanyStockInfoRightVo
>
search
(
BranchCompanyStockSearchVo
searchVo
)
{
PageHelper
.
startPage
(
searchVo
.
getPage
(),
searchVo
.
getLimit
());
return
new
PageInfo
<>(
mapper
.
search
(
searchVo
));
}
//更新股权
public
ObjectRestResponse
updStockInfo
(
BranchCompanyStockInfoRightVo
stockInfoVo
)
{
if
(
stockInfoVo
==
null
||
stockInfoVo
.
getCompanyId
()==
null
||
stockInfoVo
.
getCompanyId
()==
0
){
...
...
@@ -105,96 +68,42 @@ public class BranchCompanyStockRightBiz extends BaseBiz<BranchCompanyStockRightM
return
ObjectRestResponse
.
succ
();
}
/**
* 申请购买
* @param applyVo
*/
public
void
apply
(
BranchCompanyStockApplyVo
applyVo
)
{
BranchCompanyStockInfo
stockInfo
=
branchCompanyStockInfoMapper
.
selectByPrimaryKey
(
applyVo
.
getCompanyId
());
if
(
stockInfo
==
null
)
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_UNEXIST
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_UNEXIST
.
getCode
());
}
if
(
stockInfo
.
getBalance
()
<=
0
)
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_NO_BALANCE
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_NO_BALANCE
.
getCode
());
}
if
(
stockInfo
.
getBalance
()
<
applyVo
.
getCount
())
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH
.
getCode
());
//检查是否存在分公司
public
boolean
checkInfo
(
Integer
id
,
Integer
companyId
)
{
Example
example
=
new
Example
(
BranchCompanyStockRight
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andEqualTo
(
"companyId"
,
companyId
);
if
(
id
!=
null
&&
id
>
0
){
criteria
.
andNotEqualTo
(
"id"
,
id
);
}
BranchCompanyStockApplyInfo
applyInfo
=
new
BranchCompanyStockApplyInfo
();
BeanUtils
.
copyProperties
(
applyVo
,
applyInfo
);
applyInfo
.
setState
(
BranchCompanyStockApplyState
.
Apply
.
getCode
());
applyInfo
.
setCreateTime
(
new
Date
());
branchCompanyStockApplyInfoMapper
.
insertSelective
(
applyInfo
);
List
<
BranchCompanyStockRight
>
list
=
mapper
.
selectByExample
(
example
);
if
(
list
.
size
()>
0
)
return
false
;
return
true
;
}
public
PageInfo
<
BranchCompanyStockApplyInfoVo
>
selectApplyAll
(
Integer
page
,
Integer
limit
)
{
PageHelper
.
startPage
(
page
,
limit
);
return
new
PageInfo
<>(
branchCompanyStockApplyInfoMapper
.
selectVoAll
());
}
/**
* 取消申请,修改申请状态
* @param applyId
*/
public
void
cancelApply
(
Integer
applyId
)
{
BranchCompanyStockApplyInfo
applyInfo
=
branchCompanyStockApplyInfoMapper
.
selectByPrimaryKey
(
applyId
);
if
(
applyInfo
==
null
)
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST
.
getCode
());
}
applyInfo
.
setState
(
BranchCompanyStockApplyState
.
Cancel
.
getCode
());
applyInfo
.
setUpdateTime
(
new
Date
());
branchCompanyStockApplyInfoMapper
.
updateByPrimaryKey
(
applyInfo
);
//获取股权信息
public
BranchCompanyStockInfoRightVo
getInfoById
(
Integer
id
)
{
return
mapper
.
selectInfoById
(
id
);
}
/**
* 确认申请购买股权,修改库存
* @param applyId
*/
@Transactional
public
void
buy
(
Integer
applyId
)
{
BranchCompanyStockApplyInfo
applyInfo
=
branchCompanyStockApplyInfoMapper
.
selectByPrimaryKey
(
applyId
);
if
(
applyInfo
==
null
)
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST
.
getCode
());
}
if
(!
applyInfo
.
getState
().
equals
(
BranchCompanyStockApplyState
.
Apply
.
getCode
()))
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_APPLY_INFO_STATE_LOCKED
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_APPLY_INFO_STATE_LOCKED
.
getCode
());
}
BranchCompanyStockInfo
stockInfo
=
branchCompanyStockInfoMapper
.
selectByPrimaryKey
(
applyInfo
.
getCompanyId
());
if
(
stockInfo
==
null
)
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_UNEXIST
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_UNEXIST
.
getCode
());
}
if
(
stockInfo
.
getBalance
()
<
applyInfo
.
getCount
())
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH
.
getCode
());
}
int
result
=
branchCompanyStockInfoMapper
.
updateBalance
(
applyInfo
.
getCompanyId
(),
stockInfo
.
getBalance
()
-
applyInfo
.
getCount
(),
stockInfo
.
getBalance
());
if
(
result
==
0
)
{
throw
new
BaseException
(
ResCode
.
BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH
.
getDesc
(),
ResCode
.
BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH
.
getCode
());
}
applyInfo
.
setState
(
BranchCompanyStockApplyState
.
Buy
.
getCode
());
applyInfo
.
setUpdateTime
(
new
Date
());
branchCompanyStockApplyInfoMapper
.
updateByPrimaryKey
(
applyInfo
);
}
/**
* 获取所有的股权单价
* @return
*/
public
List
<
Integer
>
getAllPrice
()
{
return
branchCompanyStockInfoM
apper
.
selectAllPrice
();
return
m
apper
.
selectAllPrice
();
}
public
BranchCompanyStockInfo
selectById
(
Integer
id
)
{
return
branchCompanyStockInfoMapper
.
selectByPrimaryKey
(
id
);
}
//更新股份
public
int
updateBalance
(
Integer
companyId
,
Integer
balance
,
Integer
lastBalance
){
return
mapper
.
updateBalance
(
companyId
,
balance
,
lastBalance
);
}
//删除股权
public
void
delete
(
Integer
id
)
{
BranchCompanyStockRight
stockRight
=
new
BranchCompanyStockRight
();
stockRight
.
setId
(
id
);
...
...
@@ -202,110 +111,54 @@ public class BranchCompanyStockRightBiz extends BaseBiz<BranchCompanyStockRightM
mapper
.
updateByPrimaryKeySelective
(
stockRight
);
}
public
BranchCompanyStockApplyInfo
getApplyById
(
Integer
id
)
{
return
branchCompanyStockApplyInfoMapper
.
selectByPrimaryKey
(
id
);
}
public
void
updateApply
(
BranchCompanyStockApplyInfo
applyInfo
)
{
branchCompanyStockApplyInfoMapper
.
updateByPrimaryKeySelective
(
applyInfo
);
}
public
void
deleteApply
(
Integer
id
)
{
branchCompanyStockApplyInfoMapper
.
deleteByPrimaryKey
(
id
);
}
/**
* 写入上传文件,返回相对路径
* @param file
* @return
*/
public
RestResponse
<
String
>
uploadCompanyPic
(
MultipartFile
file
)
throws
Exception
{
//创建本日存放目录
DateTime
now
=
DateTime
.
now
();
String
dirPathToday
=
File
.
separator
+
now
.
toString
(
DEFAULT_DATE_TIME_FORMATTER
);
String
redisNoKey
=
RedisKey
.
UPLOAD_FILE_NO_PREFIX
+
now
.
toString
(
DEFAULT_DATE_TIME_FORMATTER
);
Long
no
=
customRedisTemplate
.
opsForValue
().
increment
(
redisNoKey
);
if
(
no
.
equals
(
1
l
)){
customRedisTemplate
.
expire
(
redisNoKey
,
1
,
TimeUnit
.
DAYS
);
}
String
fileName
=
file
.
getOriginalFilename
();
String
realFileRelPath
=
dirPathToday
+
File
.
separator
+
no
+
fileName
.
substring
(
fileName
.
lastIndexOf
(
"."
));
//文件存放路径
String
filePath
=
baseUploadPath
+
realFileRelPath
;
//将文件写入指定位置
FileUtils
.
copyInputStreamToFile
(
file
.
getInputStream
(),
new
File
(
filePath
));
return
RestResponse
.
suc
(
realFileRelPath
);
}
public
ResponseEntity
<
byte
[]>
downloadCompanyPic
(
String
realFileRelPath
)
throws
IOException
{
String
filePath
=
baseUploadPath
+
realFileRelPath
;
File
file
=
new
File
(
filePath
);
//新建一个文件
HttpHeaders
headers
=
new
HttpHeaders
();
//http头信息
String
downloadFileName
=
new
String
(
file
.
getName
());
//设置编码
headers
.
setContentDispositionFormData
(
"attachment"
,
downloadFileName
);
headers
.
setContentType
(
MediaType
.
APPLICATION_OCTET_STREAM
);
return
new
ResponseEntity
<
byte
[]>(
FileUtils
.
readFileToByteArray
(
file
),
headers
,
HttpStatus
.
CREATED
);
}
public
RestResponse
<
String
>
importExcel
(
MultipartFile
multipartfile
,
HttpServletRequest
request
){
//导入
public
ObjectRestResponse
<
String
>
importExcel
(
MultipartFile
multipartfile
,
HttpServletRequest
request
){
try
{
List
<
String
[]>
readExcel
=
ExcelImport
.
getExcelData
(
multipartfile
);
if
(
readExcel
.
size
()<
4
){
return
RestResponse
.
codeAndMessage
(
1001
,
"导入不能没数据!!!"
);
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
NULL_CODE
,
"导入不能没数据!!!"
);
}
List
<
BranchCompanyStock
Info
>
list
=
new
ArrayList
<>();
List
<
BranchCompanyStock
Right
>
list
=
new
ArrayList
<>();
for
(
int
i
=
3
;
i
<
readExcel
.
size
();
i
++)
{
BranchCompanyStockInfo
stockInfoVo
=
new
BranchCompanyStockInfo
();
String
[]
str
=
readExcel
.
get
(
i
);
String
province
=
str
[
2
];
String
city
=
str
[
3
];
Integer
addr_province
=
sysRegionMapper
.
getNumber
(
province
);
Integer
addr_city
=
sysRegionMapper
.
getNumber
(
city
);
String
company_name
=
str
[
5
];
String
str6
=
str
[
6
];
if
(
StringUtils
.
isNotBlank
(
str6
)){
if
(
str6
.
contains
(
"万港币/股"
)){
str6
=
str6
.
replace
(
"万港币/股"
,
""
);
}
else
{
str6
=
str6
.
replace
(
"万/股"
,
""
);
}
}
else
{
str6
=
"0"
;
BranchCompanyStockRight
stockInfoVo
=
new
BranchCompanyStockRight
();
String
[]
str
=
readExcel
.
get
(
i
);
String
companyName
=
str
[
2
];
Integer
companyId
=
mapper
.
getCompanyInfo
(
companyName
);
if
(
companyId
==
null
||
companyId
==
0
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
FAILED_CODE
,
"第"
+
(
i
+
1
)
+
"行的"
+
companyName
+
"不匹配"
);
}
String
str3
=
str
[
3
];
if
(
StringUtils
.
isBlank
(
str3
))
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
FAILED_CODE
,
"第"
+
(
i
+
1
)
+
"行的股价不能为空"
);
}
if
(
str3
.
contains
(
"万港币/股"
))
{
str3
=
str3
.
replace
(
"万港币/股"
,
""
);
}
else
{
str3
=
str3
.
replace
(
"万/股"
,
""
);
}
if
(!
StringToolsUtil
.
isBigDecimal
(
str3
)||!
StringToolsUtil
.
isNumer
(
str
[
4
])||!
StringToolsUtil
.
isNumer
(
str
[
5
])){
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
FAILED_CODE
,
"第"
+
(
i
+
1
)
+
"行的数据格式不对"
);
}
BigDecimal
price
=
new
BigDecimal
(
str
6
);
BigDecimal
price
=
new
BigDecimal
(
str
3
);
price
=
price
.
multiply
(
new
BigDecimal
(
"10000"
));
Integer
balance
=
Integer
.
parseInt
(
str
[
8
]);
Integer
total
=
Integer
.
parseInt
(
str
[
7
])+
balance
;
stockInfoVo
.
setCompanyName
(
company_name
);
Integer
balance
=
Integer
.
parseInt
(
str
[
4
]);
Integer
total
=
Integer
.
parseInt
(
str
[
5
])+
balance
;
stockInfoVo
.
setPrice
(
price
);
stockInfoVo
.
setBalance
(
balance
);
stockInfoVo
.
setTotal
(
total
);
stockInfoVo
.
setState
(
2
);
stockInfoVo
.
setAddrProvince
(
addr_province
);
stockInfoVo
.
setAddrCity
(
addr_city
);
stockInfoVo
.
setCompanyPic
(
"/2019-04-30/2.jpg"
);
stockInfoVo
.
setCompanyPic
(
companyPic
);
stockInfoVo
.
setCompanyId
(
companyId
);
list
.
add
(
stockInfoVo
);
//branchCompanyStockInfoMapper.insertSelective(stockInfoVo);
}
branchCompanyStockInfoM
apper
.
addCompamyList
(
list
);
m
apper
.
addCompamyList
(
list
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
return
RestResponse
.
codeAndMessage
(
10001
,
"网络异常!"
);
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
FAILED_CODE
,
"网络异常!"
);
}
return
RestResponse
.
su
c
();
return
ObjectRestResponse
.
suc
c
();
}
public
boolean
checkInfo
(
Integer
id
,
Integer
companyId
)
{
Example
example
=
new
Example
(
BranchCompanyStockRight
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andEqualTo
(
"companyId"
,
companyId
);
if
(
id
!=
null
&&
id
>
0
){
criteria
.
andNotEqualTo
(
"id"
,
id
);
}
List
<
BranchCompanyStockRight
>
list
=
mapper
.
selectByExample
(
example
);
if
(
list
.
size
()>
0
)
return
false
;
return
true
;
}
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/mapper/BranchCompanyStockRightMapper.java
View file @
260bab35
...
...
@@ -4,13 +4,25 @@ package com.xxfc.platform.vehicle.mapper;
import
com.xxfc.platform.vehicle.entity.BranchCompanyStockRight
;
import
com.xxfc.platform.vehicle.pojo.BranchCompanyStockSearchVo
;
import
com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
public
interface
BranchCompanyStockRightMapper
extends
Mapper
<
BranchCompanyStockRight
>
{
//获取股权列表
List
<
BranchCompanyStockInfoRightVo
>
search
(
BranchCompanyStockSearchVo
searchVo
);
//获取股价列表
List
<
Integer
>
selectAllPrice
();
//获取一条记录
BranchCompanyStockInfoRightVo
selectInfoById
(
@Param
(
"id"
)
Integer
id
);
//修改股权
int
updateBalance
(
@Param
(
"companyId"
)
Integer
companyId
,
@Param
(
"balance"
)
Integer
balance
,
@Param
(
"lastBalance"
)
Integer
lastBalance
);
//批量添加
int
addCompamyList
(
@Param
(
"list"
)
List
<
BranchCompanyStockRight
>
list
);
Integer
getCompanyInfo
(
@Param
(
"name"
)
String
name
);
}
\ No newline at end of file
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/BranchCompanyStockRightController.java
View file @
260bab35
...
...
@@ -4,8 +4,8 @@ import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.xxfc.platform.vehicle.biz.BranchCompanyStockApplyInfoBiz
;
import
com.xxfc.platform.vehicle.biz.BranchCompanyStockRightBiz
;
import
com.xxfc.platform.vehicle.biz.BranchCompanyStockService
;
import
com.xxfc.platform.vehicle.common.BaseController
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.constant.ResCode.ResCode
;
...
...
@@ -13,8 +13,8 @@ import com.xxfc.platform.vehicle.entity.BranchCompanyStockApplyInfo;
import
com.xxfc.platform.vehicle.pojo.BranchCompanyStockApplyVo
;
import
com.xxfc.platform.vehicle.pojo.BranchCompanyStockSearchVo
;
import
com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
@@ -26,31 +26,18 @@ import javax.servlet.http.HttpServletRequest;
@RequestMapping
(
"branchCompany/stock/right"
)
public
class
BranchCompanyStockRightController
extends
BaseController
<
BranchCompanyStockRightBiz
>
{
private
static
Integer
MAX_DRIVING_LICENSE_SIZE
=
10
*
1024
*
1024
;
//10M
@Autowired
BranchCompanyStockService
branchCompanyStockService
;
BranchCompanyStockApplyInfoBiz
branchCompanyStockApplyInfoBiz
;
/**
* 分页获取
* @param page
* @param limit
* @return
*/
@GetMapping
(
"page"
)
public
RestResponse
page
(
Integer
page
,
Integer
limit
)
{
if
(
page
==
null
||
limit
==
null
)
{
page
=
1
;
limit
=
10
;
}
return
RestResponse
.
suc
(
baseBiz
.
selectAll
(
page
,
limit
));
}
/**
* 搜索
* @param searchVo
* @return
*/
@ApiOperation
(
value
=
"获取股权列表"
)
@GetMapping
(
"search"
)
public
RestResponse
search
(
BranchCompanyStockSearchVo
searchVo
)
{
if
(
searchVo
.
getPage
()
==
null
||
searchVo
.
getLimit
()
==
null
)
{
...
...
@@ -60,26 +47,18 @@ public class BranchCompanyStockRightController extends BaseController<BranchComp
return
RestResponse
.
suc
(
baseBiz
.
search
(
searchVo
));
}
@GetMapping
(
"{id}"
)
public
RestResponse
get
(
@PathVariable
(
"id"
)
Integer
id
)
{
if
(
id
==
null
)
{
return
RestResponse
.
codeAndMessage
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
(),
ResCode
.
INVALID_REST_REQ_PARAM
.
getDesc
());
}
return
RestResponse
.
suc
(
branchCompanyStockService
.
selectById
(
id
));
}
@ApiOperation
(
value
=
"获取股权信息"
)
@GetMapping
(
"info/{id}"
)
public
RestResponse
getInfo
(
@PathVariable
(
"id"
)
Integer
id
)
{
if
(
id
==
null
)
{
return
RestResponse
.
codeAndMessage
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
(),
ResCode
.
INVALID_REST_REQ_PARAM
.
getDesc
());
}
return
RestResponse
.
suc
(
b
ranchCompanyStockService
.
getInfoById
(
id
));
return
RestResponse
.
suc
(
b
aseBiz
.
getInfoById
(
id
));
}
/**
*
更新
*
编辑
* @return
*/
@RequestMapping
(
value
=
"/updStockInfo"
,
method
=
RequestMethod
.
POST
)
...
...
@@ -91,7 +70,7 @@ public class BranchCompanyStockRightController extends BaseController<BranchComp
}
/**
*
更新
*
新增
* @return
*/
@RequestMapping
(
value
=
"/addStockInfo"
,
method
=
RequestMethod
.
POST
)
...
...
@@ -113,24 +92,6 @@ public class BranchCompanyStockRightController extends BaseController<BranchComp
return
ObjectRestResponse
.
succ
();
}
@RequestMapping
(
value
=
"/upload/companyPic"
,
method
=
RequestMethod
.
POST
)
public
RestResponse
uploadCompanyPic
(
@RequestParam
(
"file"
)
MultipartFile
file
)
throws
Exception
{
String
contentType
=
file
.
getContentType
();
//图片文件类型
if
(!
contentType
.
equals
(
"image/jpeg"
)
&&
!
contentType
.
equals
(
"image/gif"
)){
return
RestResponse
.
code
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
());
}
if
(
file
.
getSize
()
>
MAX_DRIVING_LICENSE_SIZE
){
return
RestResponse
.
code
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
());
}
return
branchCompanyStockService
.
uploadCompanyPic
(
file
);
}
@IgnoreUserToken
@RequestMapping
(
value
=
"/download/companyPic"
,
method
=
RequestMethod
.
GET
)
public
ResponseEntity
<
byte
[]>
downloadDrivingLicense
(
@RequestParam
(
"realFileRelPath"
)
String
realFileRelPath
)
throws
Exception
{
return
branchCompanyStockService
.
downloadCompanyPic
(
realFileRelPath
);
}
/**
* 申请购买
...
...
@@ -143,7 +104,7 @@ public class BranchCompanyStockRightController extends BaseController<BranchComp
return
RestResponse
.
codeAndMessage
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
(),
ResCode
.
INVALID_REST_REQ_PARAM
.
getDesc
());
}
branchCompanyStock
Service
.
apply
(
applyVo
);
branchCompanyStock
ApplyInfoBiz
.
apply
(
applyVo
);
return
RestResponse
.
suc
();
}
...
...
@@ -153,7 +114,7 @@ public class BranchCompanyStockRightController extends BaseController<BranchComp
page
=
1
;
limit
=
10
;
}
return
RestResponse
.
suc
(
branchCompanyStock
Service
.
selectApplyAll
(
page
,
limit
));
return
RestResponse
.
suc
(
branchCompanyStock
ApplyInfoBiz
.
selectApplyAll
(
page
,
limit
));
}
@GetMapping
(
"apply/{id}"
)
...
...
@@ -162,7 +123,7 @@ public class BranchCompanyStockRightController extends BaseController<BranchComp
return
RestResponse
.
codeAndMessage
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
(),
ResCode
.
INVALID_REST_REQ_PARAM
.
getDesc
());
}
return
RestResponse
.
suc
(
branchCompanyStock
Service
.
getApplyById
(
id
));
return
RestResponse
.
suc
(
branchCompanyStock
ApplyInfoBiz
.
getApplyById
(
id
));
}
@PutMapping
(
"apply"
)
...
...
@@ -171,7 +132,7 @@ public class BranchCompanyStockRightController extends BaseController<BranchComp
return
RestResponse
.
codeAndMessage
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
(),
ResCode
.
INVALID_REST_REQ_PARAM
.
getDesc
());
}
branchCompanyStock
Service
.
updateApply
(
applyInfo
);
branchCompanyStock
ApplyInfoBiz
.
updateApply
(
applyInfo
);
return
RestResponse
.
suc
();
}
...
...
@@ -181,7 +142,7 @@ public class BranchCompanyStockRightController extends BaseController<BranchComp
return
RestResponse
.
codeAndMessage
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
(),
ResCode
.
INVALID_REST_REQ_PARAM
.
getDesc
());
}
branchCompanyStock
Service
.
deleteApply
(
id
);
branchCompanyStock
ApplyInfoBiz
.
deleteApply
(
id
);
return
RestResponse
.
suc
();
}
...
...
@@ -195,7 +156,7 @@ public class BranchCompanyStockRightController extends BaseController<BranchComp
return
RestResponse
.
codeAndMessage
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
(),
ResCode
.
INVALID_REST_REQ_PARAM
.
getDesc
());
}
branchCompanyStock
Service
.
cancelApply
(
applyId
);
branchCompanyStock
ApplyInfoBiz
.
cancelApply
(
applyId
);
return
RestResponse
.
suc
();
}
...
...
@@ -208,13 +169,13 @@ public class BranchCompanyStockRightController extends BaseController<BranchComp
return
RestResponse
.
codeAndMessage
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
(),
ResCode
.
INVALID_REST_REQ_PARAM
.
getDesc
());
}
branchCompanyStock
Service
.
buy
(
applyId
);
branchCompanyStock
ApplyInfoBiz
.
buy
(
applyId
);
return
RestResponse
.
suc
();
}
@GetMapping
(
"allPrice"
)
public
RestResponse
getAllPrice
()
{
return
RestResponse
.
suc
(
b
ranchCompanyStockService
.
getAllPrice
());
return
RestResponse
.
suc
(
b
aseBiz
.
getAllPrice
());
}
...
...
@@ -225,9 +186,9 @@ public class BranchCompanyStockRightController extends BaseController<BranchComp
* @return
*/
@PostMapping
(
"importExcel"
)
public
RestResponse
importExcel
(
@RequestParam
(
value
=
"file"
)
MultipartFile
multipartfile
,
HttpServletRequest
request
)
{
return
b
ranchCompanyStockService
.
importExcel
(
multipartfile
,
request
);
public
ObjectRestResponse
<
String
>
importExcel
(
@RequestParam
(
value
=
"file"
)
MultipartFile
multipartfile
,
HttpServletRequest
request
)
{
return
b
aseBiz
.
importExcel
(
multipartfile
,
request
);
}
}
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/BranchCompanyStockRightMapper.xml
View file @
260bab35
...
...
@@ -3,14 +3,11 @@
<mapper
namespace=
"com.xxfc.platform.vehicle.mapper.BranchCompanyStockRightMapper"
>
<update
id=
"updateBalance"
>
update branch_company_stock_info
update branch_company_stock_info
_right
set balance = #{balance}
where id = #{companyId} and balance = #{lastBalance}
</update>
<select
id=
"selectVoAll"
resultType=
"com.xxfc.platform.vehicle.pojo.BranchCompanyStockInfoVo"
>
select *
from branch_company_stock_info
</select>
<select
id=
"search"
resultType=
"com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo"
>
SELECT
distinct r.company_id as companyId,
...
...
@@ -29,7 +26,7 @@
branch_company_stock_info_right r
LEFT JOIN branch_company c ON r.company_id = c.id
<trim
prefix=
"where"
suffixOverrides=
"and"
>
c.is_del = 0
c.is_del = 0
and
<if
test=
"companyName != null"
>
c.name like CONCAT('%',#{companyName},'%')
</if>
...
...
@@ -46,21 +43,41 @@
r.price
<
= #{priceEnd} and
</if>
</trim>
order by rank
desc
order by rank
DESC,price DESC
</select>
<select
id=
"selectAllPrice"
resultType=
"int"
>
select distinct price from branch_company_stock_info order by price
select distinct price from branch_company_stock_info_right where is_del=0 order by price
</select>
<select
id=
"selectInfoById"
resultType=
"com.xxfc.platform.vehicle.pojo.vo.BranchCompanyStockInfoRightVo"
>
SELECT
distinct r.company_id as companyId,
r.id,
r.balance,
r.company_pic as companyPic,
r.info,
r.price,
r.rank,
r.total,
r.state,
c.addr_city AS addrCity,
c.addr_province AS addrProvince,
c.`name` AS companyName
FROM
branch_company_stock_info_right r
LEFT JOIN branch_company c ON r.company_id = c.id
where c.is_del = 0 and r.id=#{id} and r.is_del=0
</select>
<select
id=
"selectInfoById"
resultType=
"String"
>
select info from branch_company_stock_info where id = #{id}
<select
id=
"getCompanyInfo"
resultType=
"Integer"
>
SELECT id FROM branch_company WHERE `name`=#{name} and is_del=0 limit 1
</select>
<insert
id=
"addCompamyList"
parameterType=
"java.util.List"
>
insert into branch_company_stock_info (
balance,total,price,company_name,addr_province,addr_city,state,company_pic
insert into branch_company_stock_info
_right
(
company_id,balance,total,price,state,company_pic,crt_time,upd_time
) VALUES
<foreach
collection =
"list"
item=
"item"
index=
"index"
separator =
","
>
(#{item.
balance},#{item.total},#{item.price},#{item.companyName},#{item.addrProvince},#{item.addrCity},#{item.state},#{item.companyPic
})
(#{item.
companyId},#{item.balance},#{item.total},#{item.price},#{item.state},#{item.companyPic},#{item.crtTime},#{item.updTime
})
</foreach>
</insert>
</mapper>
\ No newline at end of file
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