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
82fcad23
Commit
82fcad23
authored
Dec 24, 2019
by
hezhen
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://113.105.137.151:22280/youjj/cloud-platform
into dev
parents
4e169c9c
c5233d1a
Changes
31
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
914 additions
and
89 deletions
+914
-89
AppAuthServiceImpl.java
...xiaoqi/security/auth/service/impl/AppAuthServiceImpl.java
+1
-0
IdentityLevel.java
...aoqi/security/admin/constant/enumerate/IdentityLevel.java
+56
-0
StaffChangeStatusEnum.java
...urity/admin/constant/enumerate/StaffChangeStatusEnum.java
+47
-0
AppShareholderDetailDTO.java
...b/wxiaoqi/security/admin/dto/AppShareholderDetailDTO.java
+62
-0
AppShareholderDetailFindDTO.java
...iaoqi/security/admin/dto/AppShareholderDetailFindDTO.java
+13
-0
AppShareholderDetail.java
...b/wxiaoqi/security/admin/entity/AppShareholderDetail.java
+58
-0
AppShareholderDetailVo.java
...hub/wxiaoqi/security/admin/vo/AppShareholderDetailVo.java
+52
-0
AppUserPositionTempVo.java
...thub/wxiaoqi/security/admin/vo/AppUserPositionTempVo.java
+2
-1
AppShareholderDetailBiz.java
...b/wxiaoqi/security/admin/biz/AppShareholderDetailBiz.java
+254
-0
AppUserPositionTempBiz.java
...ub/wxiaoqi/security/admin/biz/AppUserPositionTempBiz.java
+59
-30
BaseUserMemberExportBiz.java
...b/wxiaoqi/security/admin/biz/BaseUserMemberExportBiz.java
+5
-1
AppShareholderDetailMapper.java
...oqi/security/admin/mapper/AppShareholderDetailMapper.java
+16
-0
AppShareholderDetailController.java
...rity/admin/rest/admin/AppShareholderDetailController.java
+75
-0
StaffStatisticsAdminController.java
...rity/admin/rest/admin/StaffStatisticsAdminController.java
+4
-5
AppShareholderDetailMapper.xml
.../src/main/resources/mapper/AppShareholderDetailMapper.xml
+31
-0
ActivityPopularizeBiz.java
...com/xxfc/platform/activity/biz/ActivityPopularizeBiz.java
+12
-10
CompanyPerformanceBo.java
...java/com/xxfc/platform/order/bo/CompanyPerformanceBo.java
+4
-0
OrderMemberReceivedStatisticsSignEnum.java
...tant/enumerate/OrderMemberReceivedStatisticsSignEnum.java
+24
-0
OrderReceivedStatisticsSignEnum.java
...er/contant/enumerate/OrderReceivedStatisticsSignEnum.java
+24
-0
OrderRentVehicleReceivedStatisticsSignEnum.java
...enumerate/OrderRentVehicleReceivedStatisticsSignEnum.java
+25
-1
OrderTourReceivedStatisticsSignEnum.java
...ontant/enumerate/OrderTourReceivedStatisticsSignEnum.java
+23
-0
OrderReceivedStatisticsBiz.java
...m/xxfc/platform/order/biz/OrderReceivedStatisticsBiz.java
+9
-12
OrderMemberController.java
...a/com/xxfc/platform/order/rest/OrderMemberController.java
+0
-1
CompanyOrderReceivedStatiscsAdminController.java
...ckground/CompanyOrderReceivedStatiscsAdminController.java
+15
-7
OrderReceivedStatisticsAdminController.java
...st/background/OrderReceivedStatisticsAdminController.java
+15
-6
StaffStatisticsAdminController.java
...order/rest/background/StaffStatisticsAdminController.java
+3
-1
OrderReceivedStatisticsMapper.xml
...c/main/resources/mapper/OrderReceivedStatisticsMapper.xml
+15
-3
ServiceTest.java
xx-order/xx-order-server/src/test/java/ServiceTest.java
+4
-4
ClickWordCaptcha.java
...com/xxfc/platform/universal/service/ClickWordCaptcha.java
+2
-3
VehicleActiveService.java
...a/com/xxfc/platform/vehicle/biz/VehicleActiveService.java
+3
-3
VehicleController.java
...ava/com/xxfc/platform/vehicle/rest/VehicleController.java
+1
-1
No files found.
ace-auth/ace-auth-server/src/main/java/com/github/wxiaoqi/security/auth/service/impl/AppAuthServiceImpl.java
View file @
82fcad23
...
@@ -67,6 +67,7 @@ public class AppAuthServiceImpl implements AuthService {
...
@@ -67,6 +67,7 @@ public class AppAuthServiceImpl implements AuthService {
}
}
@Override
@Override
public
JSONObject
sendsms
(
String
username
,
Integer
type
,
String
pointList
)
throws
Exception
{
public
JSONObject
sendsms
(
String
username
,
Integer
type
,
String
pointList
)
throws
Exception
{
pointList
=
pointList
==
null
?
" "
:
pointList
;
return
userService
.
sendsms
(
username
,
type
,
pointList
);
return
userService
.
sendsms
(
username
,
type
,
pointList
);
}
}
...
...
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/constant/enumerate/IdentityLevel.java
0 → 100644
View file @
82fcad23
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
constant
.
enumerate
;
import
java.util.Arrays
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description 身份等级
* @data 2019/12/21 16:51
*/
public
enum
IdentityLevel
{
HEADQUARTERS_SHAREHOLDER
(
1
,
"总部股东"
),
BRANCH_SHAREHOLDER
(
2
,
"分公司股东"
),
PARTNER
(
3
,
"合伙人"
),
STAFF
(
4
,
"员工"
),
DEPUTY
(
5
,
"代理人"
),
COMMON_USER
(
0
,
"普通用户"
);
private
int
level
;
private
String
name
;
/**
* 股东
*/
private
static
List
<
Integer
>
shareholeders
;
/**
* 员工
*/
private
static
List
<
Integer
>
employees
;
static
{
shareholeders
=
Arrays
.
asList
(
HEADQUARTERS_SHAREHOLDER
.
getLevel
(),
BRANCH_SHAREHOLDER
.
getLevel
());
employees
=
Arrays
.
asList
(
PARTNER
.
getLevel
(),
STAFF
.
getLevel
(),
DEPUTY
.
getLevel
(),
COMMON_USER
.
getLevel
());
}
IdentityLevel
(
int
level
,
String
name
)
{
this
.
level
=
level
;
this
.
name
=
name
;
}
public
int
getLevel
()
{
return
level
;
}
public
void
setLevel
(
int
level
)
{
this
.
level
=
level
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/constant/enumerate/StaffChangeStatusEnum.java
0 → 100644
View file @
82fcad23
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
constant
.
enumerate
;
import
java.util.Arrays
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description 员工变更状态
* @data 2019/12/21 18:14
*/
public
enum
StaffChangeStatusEnum
{
INDUCTION
(
1
,
"入职"
),
JOB_CHANGE
(
2
,
"职位变更"
),
IDENTITY_CHANE
(
3
,
"身份变更"
),
COMPANY_CHANGE
(
4
,
"公司所属变更"
),
JOB_SEPARATION
(
5
,
"离职(状态更改)"
),
REINSTATED
(
6
,
"复职(状态更改)"
);
private
int
code
;
private
String
desc
;
public
static
List
<
Integer
>
needChangePostionsStatus
;
static
{
needChangePostionsStatus
=
Arrays
.
asList
(
INDUCTION
.
getCode
(),
IDENTITY_CHANE
.
getCode
(),
JOB_SEPARATION
.
getCode
(),
REINSTATED
.
getCode
());
}
StaffChangeStatusEnum
(
int
code
,
String
desc
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
int
getCode
()
{
return
code
;
}
public
void
setCode
(
int
code
)
{
this
.
code
=
code
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/dto/AppShareholderDetailDTO.java
0 → 100644
View file @
82fcad23
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.sql.Timestamp
;
import
java.util.Date
;
import
java.util.Map
;
@Data
public
class
AppShareholderDetailDTO
{
private
Integer
id
;
@ApiModelProperty
(
"用户id"
)
private
Integer
userId
;
@ApiModelProperty
(
"公司名称"
)
private
String
companyName
;
@ApiModelProperty
(
"公司ID"
)
private
Integer
companyId
;
@ApiModelProperty
(
"用户手机号"
)
private
String
phone
;
@ApiModelProperty
(
"股东名称"
)
private
String
name
;
@ApiModelProperty
(
"持股状态 0:持股中 1:已退股"
)
private
Integer
isQuit
;
@ApiModelProperty
(
"创建时间"
)
private
Long
crtTime
;
@ApiModelProperty
(
"更新时间"
)
private
Long
updTime
;
@ApiModelProperty
(
"实际入股时间时间"
)
private
Date
relTime
;
@ApiModelProperty
(
"持股数"
)
private
Integer
userNumber
;
@ApiModelProperty
(
"公司集合"
)
private
Map
<
Integer
,
String
>
companyMap
;
@ApiModelProperty
(
"股东身份ID"
)
private
Integer
positionId
;
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/dto/AppShareholderDetailFindDTO.java
0 → 100644
View file @
82fcad23
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
dto
;
import
com.github.wxiaoqi.security.common.vo.PageParam
;
import
lombok.Data
;
@Data
public
class
AppShareholderDetailFindDTO
extends
PageParam
{
private
String
phone
;
private
String
name
;
private
Integer
status
;
private
Integer
companyId
;
private
Integer
positionId
;
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/entity/AppShareholderDetail.java
0 → 100644
View file @
82fcad23
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.util.Date
;
@Table
(
name
=
"app_shareholder_detail"
)
@Data
public
class
AppShareholderDetail
{
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
//此处加上注解
private
Integer
id
;
@ApiModelProperty
(
"用户id"
)
@Column
(
name
=
"user_id"
)
private
Integer
userId
;
@ApiModelProperty
(
"公司名称"
)
@Column
(
name
=
"company_name"
)
private
String
companyName
;
@ApiModelProperty
(
"公司ID"
)
@Column
(
name
=
"company_id"
)
private
Integer
companyId
;
@ApiModelProperty
(
"用户手机号"
)
@Column
(
name
=
"phone"
)
private
String
phone
;
@ApiModelProperty
(
"股东名称"
)
@Column
(
name
=
"name"
)
private
String
name
;
@ApiModelProperty
(
"持股状态 0:持股中 1:已退股"
)
@Column
(
name
=
"is_quit"
)
private
Integer
isQuit
;
@ApiModelProperty
(
"创建时间"
)
@Column
(
name
=
"crt_time"
)
private
Long
crtTime
;
@ApiModelProperty
(
"更新时间"
)
@Column
(
name
=
"upd_time"
)
private
Long
updTime
;
@ApiModelProperty
(
"实际入股时间时间"
)
@Column
(
name
=
"rel_time"
)
private
Date
relTime
;
@Column
(
name
=
"position_id"
)
private
Integer
positionId
;
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/vo/AppShareholderDetailVo.java
0 → 100644
View file @
82fcad23
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.sql.Timestamp
;
import
java.util.Date
;
import
java.util.Map
;
@Data
public
class
AppShareholderDetailVo
{
private
Integer
id
;
@ApiModelProperty
(
"用户id"
)
private
Integer
userId
;
@ApiModelProperty
(
"公司名称"
)
private
String
companyName
;
@ApiModelProperty
(
"公司ID"
)
private
Integer
companyId
;
@ApiModelProperty
(
"用户手机号"
)
private
String
phone
;
@ApiModelProperty
(
"股东名称"
)
private
String
name
;
@ApiModelProperty
(
"持股状态 0:持股中 1:已退股"
)
private
Integer
isQuit
;
@ApiModelProperty
(
"创建时间"
)
private
Long
crtTime
;
@ApiModelProperty
(
"更新时间"
)
private
Long
updTime
;
@ApiModelProperty
(
"实际入股时间"
)
private
Date
relTime
;
@ApiModelProperty
(
"持股数"
)
private
Integer
userNumber
;
@ApiModelProperty
(
"公司集合"
)
private
Map
<
Integer
,
String
>
companyMap
;
@ApiModelProperty
(
"股东身份ID"
)
private
Integer
positionId
;
@ApiModelProperty
(
"股东身份名称"
)
private
String
positionName
;
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/vo/AppUserPositionTempVo.java
View file @
82fcad23
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
vo
;
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
vo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Builder
;
...
@@ -21,6 +20,8 @@ public class AppUserPositionTempVo {
...
@@ -21,6 +20,8 @@ public class AppUserPositionTempVo {
private
Integer
id
;
private
Integer
id
;
private
Integer
userId
;
@ApiModelProperty
(
value
=
"手机号码"
)
@ApiModelProperty
(
value
=
"手机号码"
)
private
String
phone
;
private
String
phone
;
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppShareholderDetailBiz.java
0 → 100644
View file @
82fcad23
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
biz
;
import
com.github.wxiaoqi.security.admin.dto.AppShareholderDetailDTO
;
import
com.github.wxiaoqi.security.admin.dto.AppShareholderDetailFindDTO
;
import
com.github.wxiaoqi.security.admin.entity.AppShareholderDetail
;
import
com.github.wxiaoqi.security.admin.entity.AppUserDetail
;
import
com.github.wxiaoqi.security.admin.entity.AppUserLogin
;
import
com.github.wxiaoqi.security.admin.entity.AppUserPosition
;
import
com.github.wxiaoqi.security.admin.mapper.AppShareholderDetailMapper
;
import
com.github.wxiaoqi.security.admin.vo.AppShareholderDetailVo
;
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.process.ResultCode
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.vehicle.entity.BranchCompany
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
tk.mybatis.mapper.entity.Example
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.concurrent.CountDownLatch
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
java.util.stream.Collectors
;
@Slf4j
@Transactional
@Service
(
"appShareholderDetailBiz"
)
public
class
AppShareholderDetailBiz
extends
BaseBiz
<
AppShareholderDetailMapper
,
AppShareholderDetail
>
{
@Autowired
private
VehicleFeign
vehicleFeign
;
@Autowired
private
AppUserDetailBiz
detailBiz
;
@Autowired
private
AppUserLoginBiz
loginBiz
;
@Autowired
private
AppUserPositionBiz
appUserPositionBiz
;
@Autowired
private
ThreadPoolTaskExecutor
threadPoolTaskExecutor
;
public
static
int
HEADQUARTERS_SHAREHOLDER
=
1
;
public
static
int
BRANCH_HEADQUARTERS_SHAREHOLDER
=
2
;
private
final
int
BORDER_NUM
=
250
;
public
Integer
findShareholderByUserIdOrPhone
(
Integer
userId
,
String
phone
)
{
return
mapper
.
selectShareHolderByUserIdOrPhone
(
userId
,
phone
);
}
/**
* 新增股东
* zuoyh
*
* @param appShareholderDetailDTO
* @param updUserId
* @return
*/
public
ObjectRestResponse
add
(
AppShareholderDetailDTO
appShareholderDetailDTO
,
Integer
updUserId
)
{
if
(
appShareholderDetailDTO
==
null
||
StringUtils
.
isBlank
(
appShareholderDetailDTO
.
getName
())
||
StringUtils
.
isBlank
(
appShareholderDetailDTO
.
getPhone
())
||
appShareholderDetailDTO
.
getCompanyMap
().
size
()
==
0
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
NOTEXIST_CODE
,
"参数不能为空"
);
}
AppShareholderDetail
appShareholderDetail
=
new
AppShareholderDetail
();
Map
<
Integer
,
String
>
companyMap
=
appShareholderDetailDTO
.
getCompanyMap
();
for
(
Integer
companyId
:
companyMap
.
keySet
())
{
String
companyName
=
companyMap
.
get
(
companyId
);
if
(!(
companyId
!=
null
&&
companyId
>
0
&&
StringUtils
.
isNotBlank
(
companyName
)))
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
NOTEXIST_CODE
,
"分公司不存在"
);
BranchCompany
branchCompany
=
vehicleFeign
.
companyId
(
companyName
);
if
(
branchCompany
==
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
NOTEXIST_CODE
,
"分公司不存在"
);
}
Integer
positionId
=
branchCompany
.
getId
().
equals
(
1
)
?
HEADQUARTERS_SHAREHOLDER
:
BRANCH_HEADQUARTERS_SHAREHOLDER
;
//用户表更改其身份
Integer
userId
=
0
;
//登陆表查询用户手机号
AppUserLogin
userLogin
=
loginBiz
.
checkeUserLogin
(
appShareholderDetailDTO
.
getPhone
());
if
(
userLogin
!=
null
)
{
userId
=
userLogin
.
getId
();
//关联查询detail表 获取身份
AppUserDetail
appUserDetail
=
detailBiz
.
checkeIsAppUser
(
userId
);
if
(!(
appUserDetail
.
getPositionId
().
equals
(
1
)))
{
if
(
positionId
.
equals
(
1
))
{
detailBiz
.
updateUserPositionByUserId
(
userId
,
positionId
);
}
}
}
Integer
id
=
appShareholderDetailDTO
.
getId
()
==
null
?
0
:
appShareholderDetailDTO
.
getId
();
BeanUtils
.
copyProperties
(
appShareholderDetailDTO
,
appShareholderDetail
);
appShareholderDetail
.
setPositionId
(
positionId
);
appShareholderDetailDTO
.
setUserId
(
userId
);
//插入
if
(
id
==
null
||
id
==
0
)
{
insertSelective
(
appShareholderDetail
);
//編輯
}
else
{
updateSelectiveById
(
appShareholderDetail
);
}
}
return
ObjectRestResponse
.
succ
();
}
/**
* 分页查询
*/
public
PageDataVO
<
AppShareholderDetailVo
>
findWithPage
(
AppShareholderDetailFindDTO
appShareholderDetailFindDTO
)
{
PageDataVO
<
AppShareholderDetailVo
>
dataVO
=
new
PageDataVO
<>();
Example
example
=
new
Example
(
AppShareholderDetail
.
class
);
Example
.
Criteria
criteria
=
example
.
createCriteria
();
if
(
StringUtils
.
isNotEmpty
(
appShareholderDetailFindDTO
.
getName
()))
{
example
.
createCriteria
().
andEqualTo
(
"name"
,
String
.
format
(
"%%%s%%"
,
appShareholderDetailFindDTO
.
getName
().
trim
()));
}
if
(
StringUtils
.
isNotEmpty
(
appShareholderDetailFindDTO
.
getPhone
()))
{
example
.
createCriteria
().
andEqualTo
(
"phone"
,
appShareholderDetailFindDTO
.
getPhone
());
}
if
(
Objects
.
nonNull
(
appShareholderDetailFindDTO
.
getCompanyId
()))
{
example
.
createCriteria
().
andEqualTo
(
"companyId"
,
appShareholderDetailFindDTO
.
getCompanyId
());
}
if
(
Objects
.
nonNull
(
appShareholderDetailFindDTO
.
getPositionId
()))
{
example
.
createCriteria
().
andEqualTo
(
"positionId"
,
appShareholderDetailFindDTO
.
getPositionId
());
}
example
.
setOrderByClause
(
"crt_time desc"
);
PageDataVO
<
AppShareholderDetail
>
pageDataVO
=
PageDataVO
.
pageInfo
(
appShareholderDetailFindDTO
.
getPage
(),
appShareholderDetailFindDTO
.
getLimit
(),
()
->
mapper
.
selectByExample
(
example
));
List
<
AppShareholderDetail
>
data
=
pageDataVO
.
getData
();
if
(
CollectionUtils
.
isEmpty
(
data
))
{
dataVO
.
setData
(
Collections
.
EMPTY_LIST
);
dataVO
.
setPageNum
(
appShareholderDetailFindDTO
.
getPage
());
dataVO
.
setPageSize
(
appShareholderDetailFindDTO
.
getLimit
());
return
dataVO
;
}
List
<
Integer
>
postionIds
=
data
.
stream
().
map
(
AppShareholderDetail:
:
getPositionId
).
collect
(
Collectors
.
toList
());
Map
<
Integer
,
AppUserPosition
>
postionMap
=
appUserPositionBiz
.
findPostionIdAndPostionMapByIds
(
postionIds
);
List
<
AppShareholderDetailVo
>
AppShareholderDetailVos
=
new
ArrayList
<>();
AppShareholderDetailVo
appShareholderDetailVo
;
for
(
AppShareholderDetail
appShareholderDetail
:
data
)
{
appShareholderDetailVo
=
new
AppShareholderDetailVo
();
String
postionName
=
postionMap
==
null
?
""
:
postionMap
.
get
(
appShareholderDetail
.
getPositionId
())
==
null
?
""
:
postionMap
.
get
(
appShareholderDetail
.
getPositionId
()).
getName
();
appShareholderDetailVo
.
setPositionName
(
postionName
);
AppShareholderDetailVos
.
add
(
appShareholderDetailVo
);
}
dataVO
.
setPageSize
(
pageDataVO
.
getPageSize
());
dataVO
.
setPageNum
(
pageDataVO
.
getPageNum
());
dataVO
.
setData
(
AppShareholderDetailVos
);
dataVO
.
setTotalCount
(
pageDataVO
.
getTotalCount
());
dataVO
.
setTotalPage
(
pageDataVO
.
getTotalPage
());
return
dataVO
;
}
/**
* 批量导入
*/
@Transactional
(
rollbackFor
=
Exception
.
class
,
propagation
=
Propagation
.
REQUIRED
)
public
int
importShareholder
(
List
<
String
[]>
shareholderData
,
Integer
userId
,
String
userName
)
{
List
<
AppShareholderDetail
>
appShareholderDetail
=
new
ArrayList
<>();
Integer
discount
=
0
;
AtomicInteger
counter
=
new
AtomicInteger
(
0
);
int
threadNums
=
shareholderData
.
size
()
/
BORDER_NUM
==
0
?
1
:
shareholderData
.
size
()
/
BORDER_NUM
;
CountDownLatch
latch
=
new
CountDownLatch
(
threadNums
);
for
(
int
i
=
0
;
i
<
threadNums
;
i
++)
{
int
startIndex
=
i
*
BORDER_NUM
;
int
endIndex
=
i
==
(
threadNums
-
1
)
?
shareholderData
.
size
()
:
(
i
+
1
)
*
BORDER_NUM
;
List
<
String
[]>
subResultDate
=
shareholderData
.
subList
(
startIndex
,
endIndex
);
threadPoolTaskExecutor
.
execute
(()
->
{
wrapperData
(
subResultDate
,
discount
,
counter
);
latch
.
countDown
();
});
try
{
latch
.
await
();
}
catch
(
InterruptedException
e
)
{
throw
new
BaseException
(
"导入数据失败"
);
}
}
return
appShareholderDetail
.
size
();
}
/**
* @param subResultDate
* @param discount
* @param counter
*/
private
void
wrapperData
(
List
<
String
[]>
subResultDate
,
Integer
discount
,
AtomicInteger
counter
)
{
for
(
String
[]
data
:
subResultDate
)
{
String
name
=
data
[
0
];
String
phone
=
data
[
1
];
String
companyName
=
data
[
2
];
String
Time
=
data
[
3
];
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
try
{
Date
relTime
=
formatter
.
parse
(
Time
);
BranchCompany
branchCompany
=
vehicleFeign
.
companyId
(
companyName
);
if
(
branchCompany
!=
null
)
{
Integer
positionId
=
branchCompany
.
getId
().
equals
(
1
)
?
HEADQUARTERS_SHAREHOLDER
:
BRANCH_HEADQUARTERS_SHAREHOLDER
;
AppShareholderDetailDTO
appShareholderDetailDTO
=
new
AppShareholderDetailDTO
();
//用户表更改其身份
Integer
userId
=
0
;
//登陆表查询用户手机号
AppUserLogin
userLogin
=
loginBiz
.
checkeUserLogin
(
phone
);
if
(
userLogin
!=
null
)
{
userId
=
userLogin
.
getId
();
appShareholderDetailDTO
.
setUserId
(
userId
);
//关联查询detail表 获取身份
AppUserDetail
appUserDetail
=
detailBiz
.
checkeIsAppUser
(
userId
);
if
(!(
appUserDetail
.
getPositionId
().
equals
(
1
)))
{
if
(
positionId
.
equals
(
1
))
{
detailBiz
.
updateUserPositionByUserId
(
userId
,
positionId
);
}
}
}
appShareholderDetailDTO
.
setUserId
(
userId
);
appShareholderDetailDTO
.
setPositionId
(
positionId
);
appShareholderDetailDTO
.
setCompanyId
(
branchCompany
.
getId
());
appShareholderDetailDTO
.
setCompanyName
(
branchCompany
.
getName
());
appShareholderDetailDTO
.
setName
(
name
);
appShareholderDetailDTO
.
setPhone
(
phone
);
appShareholderDetailDTO
.
setRelTime
(
relTime
);
appShareholderDetailDTO
.
setIsQuit
(
0
);
appShareholderDetailDTO
.
setCrtTime
(
System
.
currentTimeMillis
());
AppShareholderDetail
appShareholderDetail
=
new
AppShareholderDetail
();
BeanUtils
.
copyProperties
(
appShareholderDetailDTO
,
appShareholderDetail
);
mapper
.
insertSelective
(
appShareholderDetail
);
}
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
}
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserPositionTempBiz.java
View file @
82fcad23
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
biz
;
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
biz
;
import
com.github.wxiaoqi.security.admin.constant.enumerate.StaffChangeStatusEnum
;
import
com.github.wxiaoqi.security.admin.dto.AppUserPositionChangeRecordDTO
;
import
com.github.wxiaoqi.security.admin.dto.AppUserPositionChangeRecordDTO
;
import
com.github.wxiaoqi.security.admin.dto.AppUserPositionTempDTO
;
import
com.github.wxiaoqi.security.admin.dto.AppUserPositionTempDTO
;
import
com.github.wxiaoqi.security.admin.dto.AppUserPositionTempFindDTO
;
import
com.github.wxiaoqi.security.admin.dto.AppUserPositionTempFindDTO
;
...
@@ -26,7 +27,6 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -26,7 +27,6 @@ import org.springframework.transaction.annotation.Transactional;
import
tk.mybatis.mapper.entity.Example
;
import
tk.mybatis.mapper.entity.Example
;
import
java.sql.Timestamp
;
import
java.sql.Timestamp
;
import
java.time.Instant
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -66,6 +66,9 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
...
@@ -66,6 +66,9 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
@Autowired
@Autowired
AppUserPositionChangeRecordBiz
appUserPositionChangeRecordBiz
;
AppUserPositionChangeRecordBiz
appUserPositionChangeRecordBiz
;
@Autowired
private
AppShareholderDetailBiz
appShareholderDetailBiz
;
public
ObjectRestResponse
add
(
AppUserPositionTempDTO
appUserPositionTempDTO
,
Integer
updUserId
)
{
public
ObjectRestResponse
add
(
AppUserPositionTempDTO
appUserPositionTempDTO
,
Integer
updUserId
)
{
if
(
appUserPositionTempDTO
==
null
||
StringUtils
.
isBlank
(
appUserPositionTempDTO
.
getPhone
())
||
StringUtils
.
isBlank
(
appUserPositionTempDTO
.
getName
())
if
(
appUserPositionTempDTO
==
null
||
StringUtils
.
isBlank
(
appUserPositionTempDTO
.
getPhone
())
||
StringUtils
.
isBlank
(
appUserPositionTempDTO
.
getName
())
...
@@ -109,14 +112,12 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
...
@@ -109,14 +112,12 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
updateSelectiveById
(
userPositionTemp
);
updateSelectiveById
(
userPositionTemp
);
}
}
if
(
userId
!=
0
)
{
if
(
userId
!=
0
)
{
//更改用户身份信息
detailBiz
.
updateUserPositionByUserId
(
userId
,
appUserPositionTempDTO
.
getPositionId
());
detailBiz
.
updateUserPositionByUserId
(
userId
,
appUserPositionTempDTO
.
getPositionId
());
}
}
return
ObjectRestResponse
.
succ
();
return
ObjectRestResponse
.
succ
();
}
}
public
void
updateAppuserPostionStatusById
(
Integer
id
,
int
status
)
{
public
void
updateAppuserPostionStatusById
(
Integer
id
,
int
status
)
{
AppUserPositionTemp
appUserPositionTemp
=
new
AppUserPositionTemp
();
AppUserPositionTemp
appUserPositionTemp
=
new
AppUserPositionTemp
();
appUserPositionTemp
.
setId
(
id
);
appUserPositionTemp
.
setId
(
id
);
...
@@ -315,30 +316,35 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
...
@@ -315,30 +316,35 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
public
void
setPostionIdByPhone
(
String
phone
)
{
public
void
setPostionIdByPhone
(
String
phone
)
{
try
{
try
{
Example
example
=
new
Example
(
AppUserPositionTemp
.
class
);
example
.
createCriteria
().
andEqualTo
(
"phone"
,
phone
).
andEqualTo
(
"isDel"
,
0
);
List
<
AppUserPositionTemp
>
list
=
selectByExample
(
example
);
if
(
CollectionUtils
.
isEmpty
(
list
))
{
log
.
info
(
"----用户无身份----phone==="
+
phone
);
return
;
}
AppUserPositionTemp
positionTemp
=
list
.
get
(
0
);
if
(
positionTemp
.
getUserId
()
>
0
)
{
log
.
info
(
"----用户已存在身份----phone==="
+
phone
);
return
;
}
//根据手机号查询userId
//根据手机号查询userId
AppUserLogin
userLogin
=
loginBiz
.
checkeUserLogin
(
phone
);
AppUserLogin
userLogin
=
loginBiz
.
checkeUserLogin
(
phone
);
Integer
userId
=
userLogin
.
getId
();
if
(
userLogin
==
null
)
{
if
(
userLogin
==
null
)
{
log
.
info
(
"----用户不存在----phone==="
+
phone
);
log
.
info
(
"----用户不存在----phone==="
+
phone
);
return
;
return
;
}
}
Integer
userId
=
userLogin
.
getId
();
Integer
postionId
=
appShareholderDetailBiz
.
findShareholderByUserIdOrPhone
(
null
,
phone
);
positionTemp
.
setUserId
(
userId
);
if
(
Objects
.
isNull
(
postionId
))
{
int
num
=
updateSelectiveByIdRe
(
positionTemp
);
Example
example
=
new
Example
(
AppUserPositionTemp
.
class
);
if
(
num
>
0
)
{
example
.
createCriteria
().
andEqualTo
(
"phone"
,
phone
).
andEqualTo
(
"isDel"
,
0
);
Integer
postionId
=
positionTemp
.
getPositionId
();
List
<
AppUserPositionTemp
>
list
=
selectByExample
(
example
);
log
.
info
(
"----用户---postionId===="
+
postionId
+
"----phone==="
+
phone
);
if
(
CollectionUtils
.
isEmpty
(
list
))
{
log
.
info
(
"----用户无身份----phone==="
+
phone
);
return
;
}
AppUserPositionTemp
positionTemp
=
list
.
get
(
0
);
if
(
positionTemp
.
getUserId
()
>
0
)
{
log
.
info
(
"----用户已存在身份----phone==="
+
phone
);
return
;
}
positionTemp
.
setUserId
(
userId
);
int
num
=
updateSelectiveByIdRe
(
positionTemp
);
if
(
num
>
0
)
{
postionId
=
positionTemp
.
getPositionId
();
log
.
info
(
"----用户---postionId===="
+
postionId
+
"----phone==="
+
phone
);
detailBiz
.
updateUserPositionByUserId
(
userId
,
postionId
);
}
}
else
{
detailBiz
.
updateUserPositionByUserId
(
userId
,
postionId
);
detailBiz
.
updateUserPositionByUserId
(
userId
,
postionId
);
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
@@ -405,11 +411,31 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
...
@@ -405,11 +411,31 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
appUserPositionTempDTO
.
setPositionId
(
6
);
appUserPositionTempDTO
.
setPositionId
(
6
);
appUserPositionChangeRecordBiz
.
addPositionChangeRecord
(
userPositionTemp
,
oldData
,
operatorId
,
appUserPositionTempDTO
.
getRelTime
());
appUserPositionChangeRecordBiz
.
addPositionChangeRecord
(
userPositionTemp
,
oldData
,
operatorId
,
appUserPositionTempDTO
.
getRelTime
());
}
}
//用户表更改其身份
if
(
Objects
.
nonNull
(
appUserPositionTempDTO
.
getUserId
()))
{
AppUserDetail
appUserDetail
=
detailBiz
.
checkeIsAppUser
(
userPositionTemp
.
getUserId
());
if
(
StaffChangeStatusEnum
.
needChangePostionsStatus
.
contains
(
changeStatus
))
{
if
(
appUserDetail
!=
null
)
{
//用户表更改其身份
loginBiz
.
updateUserPosition
(
appUserDetail
.
getId
(),
appUserPositionTempDTO
.
getPositionId
());
AppUserDetail
appUserDetail
=
detailBiz
.
checkeIsAppUser
(
userPositionTemp
.
getUserId
());
//1.查询股东表 根据userid 或 手机号
Integer
postionId
=
appShareholderDetailBiz
.
findShareholderByUserIdOrPhone
(
appUserPositionTempDTO
.
getUserId
(),
appUserPositionTempDTO
.
getPhone
());
//离职
if
(
StaffChangeStatusEnum
.
JOB_SEPARATION
.
getCode
()
==
changeStatus
)
{
if
(
Objects
.
isNull
(
postionId
))
{
//更改为普通用户 6
loginBiz
.
updateUserPosition
(
appUserDetail
.
getUserid
(),
6
);
}
}
//身份变更
if
(
StaffChangeStatusEnum
.
IDENTITY_CHANE
.
getCode
()
==
changeStatus
)
{
//不是离职状态下
if
(
Objects
.
nonNull
(
userPositionTemp
.
getIsQuit
())
&&
userPositionTemp
.
getIsQuit
()!=
1
){
postionId
=
Objects
.
nonNull
(
postionId
)
?
postionId
:
appUserPositionTempDTO
.
getPositionId
();
//更改为股东身份
loginBiz
.
updateUserPosition
(
appUserDetail
.
getUserid
(),
postionId
);
}
}
}
}
}
return
ObjectRestResponse
.
succ
();
return
ObjectRestResponse
.
succ
();
}
}
...
@@ -426,14 +452,17 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
...
@@ -426,14 +452,17 @@ public class AppUserPositionTempBiz extends BaseBiz<AppUserPositionTempMapper, A
userPositionTemp
.
setUpdTime
(
System
.
currentTimeMillis
());
userPositionTemp
.
setUpdTime
(
System
.
currentTimeMillis
());
appUserPositionChangeRecordBiz
.
andAddJoinJobRecord
(
appUserPositionTempDTO
,
operatorId
);
appUserPositionChangeRecordBiz
.
andAddJoinJobRecord
(
appUserPositionTempDTO
,
operatorId
);
//用户表更改其身份
//用户表更改其身份
AppUserDetail
appUserDetail
=
detailBiz
.
checkeIsAppUser
(
userPositionTemp
.
getUserId
());
if
(
Objects
.
nonNull
(
appUserPositionTempDTO
.
getUserId
()))
{
if
(
appUserDetail
!=
null
)
{
AppUserDetail
appUserDetail
=
detailBiz
.
checkeIsAppUser
(
userPositionTemp
.
getUserId
());
loginBiz
.
updateUserPosition
(
appUserDetail
.
getId
(),
appUserPositionTempDTO
.
getPositionId
());
if
(
appUserDetail
!=
null
)
{
Integer
postionId
=
appShareholderDetailBiz
.
findShareholderByUserIdOrPhone
(
appUserPositionTempDTO
.
getUserId
(),
appUserPositionTempDTO
.
getPhone
());
postionId
=
Objects
.
isNull
(
postionId
)
?
appUserPositionTempDTO
.
getPositionId
()
:
postionId
;
loginBiz
.
updateUserPosition
(
appUserDetail
.
getUserid
(),
postionId
);
}
}
}
return
ObjectRestResponse
.
succ
();
return
ObjectRestResponse
.
succ
();
}
}
/**
/**
* 查询员工信息变更记录表
* 查询员工信息变更记录表
*/
*/
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/BaseUserMemberExportBiz.java
View file @
82fcad23
...
@@ -107,6 +107,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
...
@@ -107,6 +107,7 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
List
<
BaseUserMemberLevel
>
levesls
=
userMemberLevelBiz
.
getLevesls
();
List
<
BaseUserMemberLevel
>
levesls
=
userMemberLevelBiz
.
getLevesls
();
Map
<
Integer
,
BaseUserMemberLevel
>
levelAndbaseUserMemberMap
=
levesls
.
parallelStream
().
collect
(
Collectors
.
toMap
(
BaseUserMemberLevel:
:
getLevel
,
Function
.
identity
()));
Map
<
Integer
,
BaseUserMemberLevel
>
levelAndbaseUserMemberMap
=
levesls
.
parallelStream
().
collect
(
Collectors
.
toMap
(
BaseUserMemberLevel:
:
getLevel
,
Function
.
identity
()));
Map
<
String
,
Integer
>
leavelNameAndLeaveMap
=
levelAndbaseUserMemberMap
.
values
().
parallelStream
().
collect
(
Collectors
.
toMap
(
BaseUserMemberLevel:
:
getName
,
BaseUserMemberLevel:
:
getLevel
));
Map
<
String
,
Integer
>
leavelNameAndLeaveMap
=
levelAndbaseUserMemberMap
.
values
().
parallelStream
().
collect
(
Collectors
.
toMap
(
BaseUserMemberLevel:
:
getName
,
BaseUserMemberLevel:
:
getLevel
));
List
<
String
>
phones
=
userMemberData
.
stream
().
map
(
x
->
x
[
0
]).
distinct
().
collect
(
Collectors
.
toList
());
List
<
String
>
phones
=
userMemberData
.
stream
().
map
(
x
->
x
[
0
]).
distinct
().
collect
(
Collectors
.
toList
());
Map
<
String
,
Integer
>
phoneAndUserIdMap
=
appUserLoginBiz
.
findPhoneAndUserIdMapByPhones
(
phones
);
Map
<
String
,
Integer
>
phoneAndUserIdMap
=
appUserLoginBiz
.
findPhoneAndUserIdMapByPhones
(
phones
);
Set
<
Map
.
Entry
<
String
,
Integer
>>
leaveNameAndLeaveEntry
=
leavelNameAndLeaveMap
.
entrySet
();
Set
<
Map
.
Entry
<
String
,
Integer
>>
leaveNameAndLeaveEntry
=
leavelNameAndLeaveMap
.
entrySet
();
...
@@ -145,7 +146,10 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
...
@@ -145,7 +146,10 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
return
baseUserMemberExports
.
size
();
return
baseUserMemberExports
.
size
();
}
}
private
void
wrapperData
(
List
<
String
[]>
userMemberData
,
Integer
userId
,
String
userName
,
List
<
BaseUserMemberExport
>
baseUserMemberExports
,
Map
<
Integer
,
BaseUserMemberLevel
>
levelAndbaseUserMemberMap
,
Map
<
String
,
Integer
>
phoneAndUserIdMap
,
Set
<
Map
.
Entry
<
String
,
Integer
>>
leaveNameAndLeaveEntry
,
Integer
memberLevel
,
Integer
discount
,
AtomicInteger
counter
,
Map
<
Integer
,
UserMemberDTO
>
numAndUserMemberMap
)
{
private
void
wrapperData
(
List
<
String
[]>
userMemberData
,
Integer
userId
,
String
userName
,
List
<
BaseUserMemberExport
>
baseUserMemberExports
,
Map
<
Integer
,
BaseUserMemberLevel
>
levelAndbaseUserMemberMap
,
Map
<
String
,
Integer
>
phoneAndUserIdMap
,
Set
<
Map
.
Entry
<
String
,
Integer
>>
leaveNameAndLeaveEntry
,
Integer
memberLevel
,
Integer
discount
,
AtomicInteger
counter
,
Map
<
Integer
,
UserMemberDTO
>
numAndUserMemberMap
)
{
for
(
String
[]
data
:
userMemberData
)
{
for
(
String
[]
data
:
userMemberData
)
{
String
phone
=
data
[
0
];
String
phone
=
data
[
0
];
String
memberLevelName
=
data
[
1
];
String
memberLevelName
=
data
[
1
];
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/mapper/AppShareholderDetailMapper.java
0 → 100644
View file @
82fcad23
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
mapper
;
import
com.github.wxiaoqi.security.admin.entity.AppShareholderDetail
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.Mapper
;
/**
* @author zuoyihang
* @version 1.0
* @description
* @data 2019/12/21 18:30
*/
public
interface
AppShareholderDetailMapper
extends
Mapper
<
AppShareholderDetail
>
{
Integer
selectShareHolderByUserIdOrPhone
(
@Param
(
"userId"
)
Integer
userId
,
@Param
(
"phone"
)
String
phone
);
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/admin/AppShareholderDetailController.java
0 → 100644
View file @
82fcad23
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
rest
.
admin
;
import
com.github.wxiaoqi.security.admin.biz.AppShareholderDetailBiz
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
import
com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil
;
import
com.github.wxiaoqi.security.auth.common.util.jwt.IJWTInfo
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.vehicle.util.excel.ExcelImport
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestPart
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
@Slf4j
@RestController
@RequestMapping
(
"/admin/appShareholder"
)
@Api
(
"后台*会员管理"
)
public
class
AppShareholderDetailController
{
@Autowired
private
UserAuthUtil
userAuthUtil
;
@Autowired
private
UserAuthConfig
userAuthConfig
;
@Autowired
private
AppShareholderDetailBiz
appShareholderDetailBiz
;
@ApiOperation
(
"批量导入股东"
)
@PostMapping
(
"/appShareholder/export"
)
public
ObjectRestResponse
importAppShareholder
(
@RequestPart
(
"file"
)
MultipartFile
appShareholderExcel
,
HttpServletRequest
request
)
{
try
{
IJWTInfo
infoFromToken
=
userAuthUtil
.
getInfoFromToken
(
userAuthConfig
.
getToken
(
request
));
List
<
String
[]>
appShareholderData
=
ExcelImport
.
getExcelData
(
appShareholderExcel
);
if
(
appShareholderData
.
size
()
<
1
)
{
return
ObjectRestResponse
.
createFailedResult
(
1001
,
"导入不能没数据!!!"
);
}
appShareholderData
.
remove
(
0
);
try
{
int
effectSize
=
appShareholderDetailBiz
.
importShareholder
(
appShareholderData
,
Integer
.
valueOf
(
infoFromToken
.
getId
()),
infoFromToken
.
getUniqueName
());
return
ObjectRestResponse
.
succ
(
effectSize
);
}
catch
(
BaseException
ex
)
{
return
ObjectRestResponse
.
createDefaultFail
();
}
}
catch
(
Exception
e
)
{
throw
new
BaseException
(
e
);
}
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/admin/StaffStatisticsAdminController.java
View file @
82fcad23
...
@@ -5,10 +5,8 @@ import com.github.wxiaoqi.security.admin.dto.StaffStatisticsFindDTO;
...
@@ -5,10 +5,8 @@ import com.github.wxiaoqi.security.admin.dto.StaffStatisticsFindDTO;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
...
@@ -22,7 +20,7 @@ import java.util.Map;
...
@@ -22,7 +20,7 @@ import java.util.Map;
* @description
* @description
* @data 2019/11/26 16:59
* @data 2019/11/26 16:59
*/
*/
@
Rest
Controller
@Controller
@RequestMapping
(
"/staff_statistics"
)
@RequestMapping
(
"/staff_statistics"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
StaffStatisticsAdminController
{
public
class
StaffStatisticsAdminController
{
...
@@ -30,6 +28,7 @@ public class StaffStatisticsAdminController {
...
@@ -30,6 +28,7 @@ public class StaffStatisticsAdminController {
private
final
StaffStatisticsBiz
staffStatisticsBiz
;
private
final
StaffStatisticsBiz
staffStatisticsBiz
;
@PostMapping
(
"/page"
)
@PostMapping
(
"/page"
)
@ResponseBody
public
ObjectRestResponse
<
Map
<
String
,
Object
>>
lisetStaffStatisticsWithPage
(
@RequestBody
StaffStatisticsFindDTO
staffStatisticsFindDTO
){
public
ObjectRestResponse
<
Map
<
String
,
Object
>>
lisetStaffStatisticsWithPage
(
@RequestBody
StaffStatisticsFindDTO
staffStatisticsFindDTO
){
Map
<
String
,
Object
>
result
=
staffStatisticsBiz
.
listStaffStatisticsWithPage
(
staffStatisticsFindDTO
);
Map
<
String
,
Object
>
result
=
staffStatisticsBiz
.
listStaffStatisticsWithPage
(
staffStatisticsFindDTO
);
return
ObjectRestResponse
.
succ
(
result
);
return
ObjectRestResponse
.
succ
(
result
);
...
...
ace-modules/ace-admin/src/main/resources/mapper/AppShareholderDetailMapper.xml
0 → 100644
View file @
82fcad23
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.github.wxiaoqi.security.admin.mapper.AppShareholderDetailMapper"
>
<resultMap
id=
"appShareholderDetailMap"
type=
"com.github.wxiaoqi.security.admin.entity.AppShareholderDetail"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"companyName"
column=
"company_name"
/>
<result
property=
"userId"
column=
"user_id"
/>
<result
property=
"phone"
column=
"phone"
/>
<result
property=
"companyId"
column=
"company_id"
/>
<result
property=
"name"
column=
"name"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
<result
property=
"isQuit"
column=
"is_quit"
/>
<result
property=
"updTime"
column=
"upd_time"
/>
<result
property=
"positionId"
column=
"position_id"
/>
</resultMap>
<select
id=
"selectShareHolderByUserIdOrPhone"
resultType=
"java.lang.Integer"
>
select min(`position_id`) from `app_shareholder_detail` where `is_quit`=0
<choose>
<when
test=
"userId != null and (phone == null or phone != '')"
>
and `user_id`=#{userId}
</when>
<when
test=
"phone != null and phone != '' and userId == null"
>
and `phone`=#{phone}
</when>
<otherwise>
and `user_id`=#{userId}
</otherwise>
</choose>
</select>
</mapper>
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityPopularizeBiz.java
View file @
82fcad23
...
@@ -119,17 +119,20 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper, Act
...
@@ -119,17 +119,20 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper, Act
Integer
num
=
relationBiz
.
getByUserIdAndPopularizeId
(
activityPopularizeRelation
);
Integer
num
=
relationBiz
.
getByUserIdAndPopularizeId
(
activityPopularizeRelation
);
double
amount
=
0
;
double
amount
=
0
;
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
activityPopularizeItem
.
getDetail
());
if
(
num
<=
10
)
{
if
(
jsonObject
!=
null
&&
StringUtils
.
isNotBlank
(
jsonObject
.
getString
(
"detail"
)))
{
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
activityPopularizeItem
.
getDetail
());
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
jsonObject
.
getString
(
"detail"
));
if
(
jsonObject
!=
null
&&
StringUtils
.
isNotBlank
(
jsonObject
.
getString
(
"detail"
)))
{
if
(
jsonArray
!=
null
)
{
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
jsonObject
.
getString
(
"detail"
));
JSONObject
jsonObject1
=
jsonArray
.
getJSONObject
(
num
-
1
);
if
(
jsonArray
!=
null
)
{
if
(
jsonObject1
!=
null
)
{
JSONObject
jsonObject1
=
jsonArray
.
getJSONObject
(
num
-
1
);
double
amountString
=
jsonObject1
.
getDouble
(
"amount"
);
if
(
jsonObject1
!=
null
)
{
amount
=
amount
+
amountString
;
double
amountString
=
jsonObject1
.
getDouble
(
"amount"
);
amount
=
amount
+
amountString
;
}
}
}
}
}
}
}
double
a
=
amount
;
double
a
=
amount
;
//添加活动关系
//添加活动关系
relationBiz
.
insertSelective
(
new
ActivityPopularizeRelation
()
{{
relationBiz
.
insertSelective
(
new
ActivityPopularizeRelation
()
{{
...
@@ -185,9 +188,8 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper, Act
...
@@ -185,9 +188,8 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper, Act
//已完成,设置为活动结束
//已完成,设置为活动结束
activityPopularize
.
setStatus
(
1
);
activityPopularize
.
setStatus
(
1
);
popularizeBiz
.
updateSelectiveByIdRe
(
activityPopularize
);
popularizeBiz
.
updateSelectiveByIdRe
(
activityPopularize
);
return
;
}
}
if
(
userNumber
>
=
10
&&
limitNumber
<
activityPopularize
.
getNumLimit
())
{
if
(
userNumber
=
=
10
&&
limitNumber
<
activityPopularize
.
getNumLimit
())
{
apLogDTO
.
setStatus
(
SYS_TRUE
);
apLogDTO
.
setStatus
(
SYS_TRUE
);
popularizeLogBiz
.
updateSelectiveById
(
BeanUtil
.
toBean
(
apLogDTO
,
ActivityPopularizeLog
.
class
));
popularizeLogBiz
.
updateSelectiveById
(
BeanUtil
.
toBean
(
apLogDTO
,
ActivityPopularizeLog
.
class
));
activityPopularizeUser
.
setStatus
(
SYS_TRUE
);
activityPopularizeUser
.
setStatus
(
SYS_TRUE
);
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/bo/CompanyPerformanceBo.java
View file @
82fcad23
...
@@ -31,6 +31,7 @@ public class CompanyPerformanceBo {
...
@@ -31,6 +31,7 @@ public class CompanyPerformanceBo {
private
BigDecimal
travelAmount
;
private
BigDecimal
travelAmount
;
private
BigDecimal
noDeductibleAmount
;
private
BigDecimal
noDeductibleAmount
;
private
BigDecimal
depositAmount
;
private
BigDecimal
depositAmount
;
private
BigDecimal
depositRefundAmount
;
private
Integer
rentDays
;
private
Integer
rentDays
;
private
BigDecimal
extralAmount
;
private
BigDecimal
extralAmount
;
private
Integer
departureNum
;
private
Integer
departureNum
;
...
@@ -38,6 +39,9 @@ public class CompanyPerformanceBo {
...
@@ -38,6 +39,9 @@ public class CompanyPerformanceBo {
private
String
startDate
;
private
String
startDate
;
private
String
endDate
;
private
String
endDate
;
private
String
dateStr
;
private
String
dateStr
;
private
BigDecimal
lossSpecifiedAmount
;
private
BigDecimal
lateFeeAmount
;
public
BigDecimal
getMemberAmount
()
{
public
BigDecimal
getMemberAmount
()
{
return
memberAmount
==
null
?
BigDecimal
.
ZERO
:
memberAmount
;
return
memberAmount
==
null
?
BigDecimal
.
ZERO
:
memberAmount
;
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderMemberReceivedStatisticsSignEnum.java
View file @
82fcad23
...
@@ -5,7 +5,9 @@ import com.xxfc.platform.order.entity.OrderReceivedStatisticsBase;
...
@@ -5,7 +5,9 @@ import com.xxfc.platform.order.entity.OrderReceivedStatisticsBase;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -127,6 +129,28 @@ public enum OrderMemberReceivedStatisticsSignEnum{
...
@@ -127,6 +129,28 @@ public enum OrderMemberReceivedStatisticsSignEnum{
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
return
resultMap
;
}
}
},
MEMBER_AVG_AMOUNT
(
"dh_mavga"
,
"会员订单金额arpu"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
AtomicReference
<
Integer
>
divisorAtomicReference
=
new
AtomicReference
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderMemberReceivedStatistics
>
orderMemberReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
Integer
divisor
=
divisorAtomicReference
.
get
();
if
(
Objects
.
isNull
(
divisor
)){
divisor
=
orderMemberReceivedStatisticsList
.
get
(
0
).
getDivisor
();
divisorAtomicReference
.
set
(
divisor
);
}
BigDecimal
avgAmount
=
orderMemberReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
).
divide
(
new
BigDecimal
(
divisor
),
2
,
RoundingMode
.
HALF_UP
);
OrderMemberReceivedStatistics
orderMemberReceivedStatistics
=
orderMemberReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderMemberReceivedStatistics
,
avgAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
};
};
private
String
sign
;
private
String
sign
;
private
String
desc
;
private
String
desc
;
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderReceivedStatisticsSignEnum.java
View file @
82fcad23
...
@@ -5,7 +5,9 @@ import com.xxfc.platform.order.entity.OrderReceivedStatisticsBase;
...
@@ -5,7 +5,9 @@ import com.xxfc.platform.order.entity.OrderReceivedStatisticsBase;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -63,6 +65,28 @@ public enum OrderReceivedStatisticsSignEnum {
...
@@ -63,6 +65,28 @@ public enum OrderReceivedStatisticsSignEnum {
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
return
resultMap
;
}
}
},
ORDER_AVG_AMOUNT
(
"ad_oavga"
,
"订单金额arpu"
){
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
AtomicReference
<
Integer
>
divisorAtomicReference
=
new
AtomicReference
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderReceivedStatistics
>
orderReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
Integer
divisor
=
divisorAtomicReference
.
get
();
if
(
Objects
.
isNull
(
divisor
)){
divisor
=
orderReceivedStatisticsList
.
get
(
0
).
getDivisor
();
divisorAtomicReference
.
set
(
divisor
);
}
BigDecimal
avgAmount
=
orderReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
).
divide
(
new
BigDecimal
(
divisor
),
2
,
RoundingMode
.
HALF_UP
);
OrderReceivedStatistics
orderReceivedStatistics
=
orderReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
avgAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
};
};
private
String
sign
;
private
String
sign
;
private
String
desc
;
private
String
desc
;
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderRentVehicleReceivedStatisticsSignEnum.java
View file @
82fcad23
...
@@ -5,6 +5,7 @@ import com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics;
...
@@ -5,6 +5,7 @@ import com.xxfc.platform.order.entity.OrderRentVehicleReceivedStatistics;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.function.Function
;
import
java.util.function.Function
;
...
@@ -70,7 +71,30 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
...
@@ -70,7 +71,30 @@ public enum OrderRentVehicleReceivedStatisticsSignEnum{
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
return
resultMap
;
}
}
};
},
RENT_VEHICLE_AVG_AMOUNT
(
"bd_rvavga"
,
"租车金额arpu"
)
{
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
AtomicReference
<
Integer
>
divisorAtomicReference
=
new
AtomicReference
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)->{
List
<
OrderRentVehicleReceivedStatistics
>
orderRentVehicleReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
Integer
divisor
=
divisorAtomicReference
.
get
();
if
(
Objects
.
isNull
(
divisor
)){
divisor
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
).
getDivisor
();
divisorAtomicReference
.
set
(
divisor
);
}
BigDecimal
avgAmount
=
orderRentVehicleReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
).
divide
(
new
BigDecimal
(
divisor
),
2
,
RoundingMode
.
HALF_UP
);
OrderRentVehicleReceivedStatistics
orderReceivedStatistics
=
orderRentVehicleReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
avgAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
};
private
String
sign
;
private
String
sign
;
private
String
desc
;
private
String
desc
;
private
static
Map
<
String
,
OrderRentVehicleReceivedStatisticsSignEnum
>
orderRentVehicleReceivedStatisticsSignEnumMap
;
private
static
Map
<
String
,
OrderRentVehicleReceivedStatisticsSignEnum
>
orderRentVehicleReceivedStatisticsSignEnumMap
;
...
...
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/contant/enumerate/OrderTourReceivedStatisticsSignEnum.java
View file @
82fcad23
...
@@ -5,6 +5,7 @@ import com.xxfc.platform.order.entity.OrderTourReceivedStatistics;
...
@@ -5,6 +5,7 @@ import com.xxfc.platform.order.entity.OrderTourReceivedStatistics;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
com.xxfc.platform.order.pojo.vo.OrderReceivedStatisticsVo
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.function.Function
;
import
java.util.function.Function
;
...
@@ -70,6 +71,28 @@ public enum OrderTourReceivedStatisticsSignEnum {
...
@@ -70,6 +71,28 @@ public enum OrderTourReceivedStatisticsSignEnum {
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
return
resultMap
;
}
}
},
TOUR_AVG_AMOUNT
(
"ce_tavga"
,
"旅游金额arpu"
)
{
@Override
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
wrapToMap
(
Map
<
Object
,
List
<
OrderReceivedStatisticsBase
>>
orderMap
)
{
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
resultMap
=
new
HashMap
<>();
AtomicReference
<
Integer
>
divisorAtomicReference
=
new
AtomicReference
<>();
List
<
OrderReceivedStatisticsVo
>
orderReceivedStatisticsVos
=
new
ArrayList
<>();
orderMap
.
forEach
((
K
,
V
)
->
{
List
<
OrderTourReceivedStatistics
>
orderTourReceivedStatisticsList
=
ReceivedStatisticsEnum
.
convertToTargetBean
(
V
);
Integer
divisor
=
divisorAtomicReference
.
get
();
if
(
Objects
.
isNull
(
divisor
)){
divisor
=
orderTourReceivedStatisticsList
.
get
(
0
).
getDivisor
();
divisorAtomicReference
.
set
(
divisor
);
}
BigDecimal
avgAmount
=
orderTourReceivedStatisticsList
.
stream
().
map
(
x
->
x
.
getTotalAmount
()).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
).
divide
(
new
BigDecimal
(
divisor
),
2
,
RoundingMode
.
HALF_UP
);
OrderTourReceivedStatistics
orderReceivedStatistics
=
orderTourReceivedStatisticsList
.
get
(
0
);
OrderReceivedStatisticsVo
receivedStatisticsVo
=
ReceivedStatisticsEnum
.
createOrderReceivedStatistics
(
orderReceivedStatistics
,
avgAmount
,
null
);
orderReceivedStatisticsVos
.
add
(
receivedStatisticsVo
);
});
resultMap
.
put
(
getSign
(),
orderReceivedStatisticsVos
);
return
resultMap
;
}
};
};
private
String
sign
;
private
String
sign
;
private
String
desc
;
private
String
desc
;
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderReceivedStatisticsBiz.java
View file @
82fcad23
...
@@ -27,8 +27,6 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -27,8 +27,6 @@ import org.springframework.transaction.annotation.Transactional;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.ServletOutputStream
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.CountDownLatch
;
import
java.util.concurrent.CountDownLatch
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -54,7 +52,6 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
...
@@ -54,7 +52,6 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
private
List
<
String
>
orderRentVehicleSigns
;
private
List
<
String
>
orderRentVehicleSigns
;
private
List
<
String
>
orderTourSigns
;
private
List
<
String
>
orderTourSigns
;
private
Map
<
String
,
String
>
signAndDescMap
;
private
Map
<
String
,
String
>
signAndDescMap
;
private
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
);
private
final
ThreadPoolTaskExecutor
executor
;
private
final
ThreadPoolTaskExecutor
executor
;
...
@@ -181,15 +178,15 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
...
@@ -181,15 +178,15 @@ public class OrderReceivedStatisticsBiz extends BaseBiz<OrderReceivedStatisticsM
firstCell
.
setCellValue
(
DateUtil
.
format
(
orderReceivedStatisticsVo
.
getDate
(),
"yyyy.MM.dd"
));
firstCell
.
setCellValue
(
DateUtil
.
format
(
orderReceivedStatisticsVo
.
getDate
(),
"yyyy.MM.dd"
));
}
}
if
(
ReceivedStatisticsEnum
.
WEEK
.
getWayCode
()
==
statisticalWay
)
{
if
(
ReceivedStatisticsEnum
.
WEEK
.
getWayCode
()
==
statisticalWay
)
{
LocalDate
localDate
=
LocalDate
.
of
(
Integer
.
valueOf
(
orderReceivedStatisticsVo
.
getYear
()),
Integer
.
valueOf
(
orderReceivedStatisticsVo
.
getMonth
().
replace
(
orderReceivedStatisticsVo
.
getYear
(),
""
)),
1
);
Calendar
cal
=
Calendar
.
getInstance
(
);
int
dayOfYear
=
localDate
.
getDayOfYear
(
);
cal
.
setFirstDayOfWeek
(
Calendar
.
MONDAY
);
int
days
=
Integer
.
valueOf
(
orderReceivedStatisticsVo
.
getWeekOfYear
().
replace
(
orderReceivedStatisticsVo
.
getYear
(),
""
))
*
7
;
cal
.
set
(
Calendar
.
YEAR
,
Integer
.
valueOf
(
orderReceivedStatisticsVo
.
getYear
()))
;
int
betweenDays
=
days
-
dayOfYear
;
cal
.
set
(
Calendar
.
WEEK_OF_YEAR
,
Integer
.
valueOf
(
orderReceivedStatisticsVo
.
getWeekOfYear
().
replace
(
""
+
orderReceivedStatisticsVo
.
getYear
(),
""
)))
;
LocalDate
endLocalDate
=
localDate
.
withDayOfMonth
(
betweenDays
);
cal
.
set
(
Calendar
.
DAY_OF_WEEK
,
cal
.
getFirstDayOfWeek
()
);
LocalDate
startLocalDate
=
endLocalDate
.
minusDays
(
6
);
Date
startDate
=
cal
.
getTime
(
);
String
startDateStr
=
startLocalDate
.
format
(
dateTimeFormatter
);
cal
.
add
(
Calendar
.
DAY_OF_WEEK
,
6
);
String
endDateStr
=
endLocalDate
.
format
(
dateTimeFormatter
);
Date
endDate
=
cal
.
getTime
(
);
firstCell
.
setCellValue
(
String
.
format
(
"%s~%s"
,
startDateStr
,
endDateStr
));
firstCell
.
setCellValue
(
String
.
format
(
"%s~%s"
,
DateUtil
.
format
(
startDate
,
"yyyy-MM-dd"
),
DateUtil
.
format
(
endDate
,
"yyyy-MM-dd"
)
));
}
}
if
(
ReceivedStatisticsEnum
.
MONTH
.
getWayCode
()
==
statisticalWay
)
{
if
(
ReceivedStatisticsEnum
.
MONTH
.
getWayCode
()
==
statisticalWay
)
{
StringBuilder
sb
=
new
StringBuilder
(
orderReceivedStatisticsVo
.
getMonth
());
StringBuilder
sb
=
new
StringBuilder
(
orderReceivedStatisticsVo
.
getMonth
());
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderMemberController.java
View file @
82fcad23
...
@@ -76,7 +76,6 @@ public class OrderMemberController extends BaseController<OrderMemberDetailBiz,
...
@@ -76,7 +76,6 @@ public class OrderMemberController extends BaseController<OrderMemberDetailBiz,
}
}
@PostMapping
(
"/export"
)
@PostMapping
(
"/export"
)
@ResponseBody
public
void
exportMemberOrders
(
@RequestBody
MemberOrderFindDTO
memberOrderFindDTO
,
HttpServletResponse
response
){
public
void
exportMemberOrders
(
@RequestBody
MemberOrderFindDTO
memberOrderFindDTO
,
HttpServletResponse
response
){
try
{
try
{
String
name
=
DateTimeFormatter
.
ofPattern
(
"YYYYMMddHHmmss"
).
format
(
LocalDateTime
.
now
());
String
name
=
DateTimeFormatter
.
ofPattern
(
"YYYYMMddHHmmss"
).
format
(
LocalDateTime
.
now
());
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/background/CompanyOrderReceivedStatiscsAdminController.java
View file @
82fcad23
package
com
.
xxfc
.
platform
.
order
.
rest
.
background
;
package
com
.
xxfc
.
platform
.
order
.
rest
.
background
;
import
cn.hutool.core.date.DateUtil
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.order.biz.CompanyPerformanceBiz
;
import
com.xxfc.platform.order.biz.CompanyPerformanceBiz
;
import
com.xxfc.platform.order.pojo.dto.CompanyPerformanceFindDTO
;
import
com.xxfc.platform.order.bo.CompanyPerformanceBo
;
import
com.xxfc.platform.order.bo.CompanyPerformanceBo
;
import
com.xxfc.platform.order.pojo.dto.CompanyPerformanceFindDTO
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeFormatter
;
import
java.util.Date
;
/**
/**
* @author libin
* @author libin
...
@@ -27,7 +27,7 @@ import java.time.format.DateTimeFormatter;
...
@@ -27,7 +27,7 @@ import java.time.format.DateTimeFormatter;
* @data 2019/11/23 14:32
* @data 2019/11/23 14:32
*/
*/
@Slf4j
@Slf4j
@
Rest
Controller
@Controller
@RequestMapping
(
"/statistics"
)
@RequestMapping
(
"/statistics"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
CompanyOrderReceivedStatiscsAdminController
{
public
class
CompanyOrderReceivedStatiscsAdminController
{
...
@@ -35,7 +35,15 @@ public class CompanyOrderReceivedStatiscsAdminController {
...
@@ -35,7 +35,15 @@ public class CompanyOrderReceivedStatiscsAdminController {
private
final
CompanyPerformanceBiz
companyPerformanceBiz
;
private
final
CompanyPerformanceBiz
companyPerformanceBiz
;
@PostMapping
(
"/company_performance"
)
@PostMapping
(
"/company_performance"
)
@ResponseBody
public
ObjectRestResponse
<
PageDataVO
<
CompanyPerformanceBo
>>
companyPerformance
(
@RequestBody
CompanyPerformanceFindDTO
companyPerformanceFindDTO
){
public
ObjectRestResponse
<
PageDataVO
<
CompanyPerformanceBo
>>
companyPerformance
(
@RequestBody
CompanyPerformanceFindDTO
companyPerformanceFindDTO
){
if
(
companyPerformanceFindDTO
.
getStartDate
()
==
null
&&
companyPerformanceFindDTO
.
getEndDate
()==
null
){
Date
date
=
new
Date
();
Date
startDate
=
DateUtil
.
beginOfMonth
(
date
).
toJdkDate
();
Date
endDate
=
DateUtil
.
endOfMonth
(
date
).
toJdkDate
();
companyPerformanceFindDTO
.
setStartDate
(
startDate
);
companyPerformanceFindDTO
.
setEndDate
(
endDate
);
}
PageDataVO
<
CompanyPerformanceBo
>
dataVO
=
companyPerformanceBiz
.
selectCompanyPerformancePage
(
companyPerformanceFindDTO
);
PageDataVO
<
CompanyPerformanceBo
>
dataVO
=
companyPerformanceBiz
.
selectCompanyPerformancePage
(
companyPerformanceFindDTO
);
return
ObjectRestResponse
.
succ
(
dataVO
);
return
ObjectRestResponse
.
succ
(
dataVO
);
}
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/background/OrderReceivedStatisticsAdminController.java
View file @
82fcad23
package
com
.
xxfc
.
platform
.
order
.
rest
.
background
;
package
com
.
xxfc
.
platform
.
order
.
rest
.
background
;
import
cn.hutool.core.date.DateUtil
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.common.annotation.BeanValid
;
import
com.github.wxiaoqi.security.common.annotation.BeanValid
;
import
com.github.wxiaoqi.security.common.annotation.SimpleValid
;
import
com.github.wxiaoqi.security.common.annotation.SimpleValid
;
...
@@ -13,16 +14,16 @@ import io.swagger.annotations.ApiOperation;
...
@@ -13,16 +14,16 @@ import io.swagger.annotations.ApiOperation;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.http.MediaType
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeFormatter
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -34,7 +35,7 @@ import java.util.Map;
...
@@ -34,7 +35,7 @@ import java.util.Map;
*/
*/
@Slf4j
@Slf4j
@Api
(
tags
=
"订单统计"
)
@Api
(
tags
=
"订单统计"
)
@
Rest
Controller
@Controller
@RequestMapping
(
"admin/order/received_statistics"
)
@RequestMapping
(
"admin/order/received_statistics"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
OrderReceivedStatisticsAdminController
{
public
class
OrderReceivedStatisticsAdminController
{
...
@@ -42,14 +43,22 @@ public class OrderReceivedStatisticsAdminController {
...
@@ -42,14 +43,22 @@ public class OrderReceivedStatisticsAdminController {
@ApiOperation
(
"订单统计"
)
@ApiOperation
(
"订单统计"
)
@PostMapping
(
""
)
@PostMapping
(
""
)
@ResponseBody
public
ObjectRestResponse
<
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>>
orderReceivedStatistics
(
@RequestBody
@SimpleValid
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
,
UserDTO
userDTO
){
public
ObjectRestResponse
<
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>>
orderReceivedStatistics
(
@RequestBody
@SimpleValid
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
,
UserDTO
userDTO
){
orderReceivedStatisticsFindDTO
.
setCompanyId
(
Arrays
.
asList
(
userDTO
.
getCompanyId
()));
orderReceivedStatisticsFindDTO
.
setCompanyId
(
Arrays
.
asList
(
userDTO
.
getCompanyId
()));
if
(
orderReceivedStatisticsFindDTO
.
getStartDate
()==
null
&&
orderReceivedStatisticsFindDTO
.
getEndDate
()==
null
){
Date
date
=
new
Date
();
Date
startDate
=
DateUtil
.
beginOfMonth
(
date
).
toJdkDate
();
Date
endDate
=
DateUtil
.
endOfMonth
(
date
).
toJdkDate
();
orderReceivedStatisticsFindDTO
.
setStartDate
(
startDate
);
orderReceivedStatisticsFindDTO
.
setEndDate
(
endDate
);
}
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
orderReceivedStatisticsPageVo
=
orderReceivedStatisticsBiz
.
getOrderReceivedStatisticsResult
(
orderReceivedStatisticsFindDTO
);
Map
<
String
,
List
<
OrderReceivedStatisticsVo
>>
orderReceivedStatisticsPageVo
=
orderReceivedStatisticsBiz
.
getOrderReceivedStatisticsResult
(
orderReceivedStatisticsFindDTO
);
return
ObjectRestResponse
.
succ
(
orderReceivedStatisticsPageVo
);
return
ObjectRestResponse
.
succ
(
orderReceivedStatisticsPageVo
);
}
}
@ApiOperation
(
"订单统计excel导出下载"
)
@ApiOperation
(
"订单统计excel导出下载"
)
@PostMapping
(
value
=
"/export"
,
produces
=
"application/vnd.ms-excel;charset=utf-8"
)
@PostMapping
(
value
=
"/export"
,
produces
=
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
)
public
ObjectRestResponse
<
Void
>
exportOrderReceivedStatistics
(
@RequestBody
@BeanValid
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
,
UserDTO
userDTO
,
HttpServletResponse
response
){
public
ObjectRestResponse
<
Void
>
exportOrderReceivedStatistics
(
@RequestBody
@BeanValid
OrderReceivedStatisticsFindDTO
orderReceivedStatisticsFindDTO
,
UserDTO
userDTO
,
HttpServletResponse
response
){
try
{
try
{
orderReceivedStatisticsFindDTO
.
setCompanyId
(
Arrays
.
asList
(
userDTO
.
getCompanyId
()));
orderReceivedStatisticsFindDTO
.
setCompanyId
(
Arrays
.
asList
(
userDTO
.
getCompanyId
()));
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/background/StaffStatisticsAdminController.java
View file @
82fcad23
...
@@ -8,6 +8,7 @@ import com.xxfc.platform.order.pojo.bo.StaffStatisticsTotalBo;
...
@@ -8,6 +8,7 @@ import com.xxfc.platform.order.pojo.bo.StaffStatisticsTotalBo;
import
com.xxfc.platform.order.pojo.vo.StaffStatisticsVo
;
import
com.xxfc.platform.order.pojo.vo.StaffStatisticsVo
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
/**
/**
...
@@ -16,7 +17,7 @@ import org.springframework.web.bind.annotation.*;
...
@@ -16,7 +17,7 @@ import org.springframework.web.bind.annotation.*;
* @description
* @description
* @data 2019/11/25 12:39
* @data 2019/11/25 12:39
*/
*/
@
Rest
Controller
@Controller
@RequestMapping
(
"/admin/staff_statistics"
)
@RequestMapping
(
"/admin/staff_statistics"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
StaffStatisticsAdminController
{
public
class
StaffStatisticsAdminController
{
...
@@ -24,6 +25,7 @@ public class StaffStatisticsAdminController {
...
@@ -24,6 +25,7 @@ public class StaffStatisticsAdminController {
private
final
StaffStatisticsBiz
staffStatisticsBiz
;
private
final
StaffStatisticsBiz
staffStatisticsBiz
;
@PostMapping
(
"/total_statistics"
)
@PostMapping
(
"/total_statistics"
)
@ResponseBody
public
ObjectRestResponse
<
StaffStatisticsTotalBo
>
staffStatisticsWithTotal
(
@RequestBody
StaffStatisticsFindDTO
staffStatisticsFindDTO
)
{
public
ObjectRestResponse
<
StaffStatisticsTotalBo
>
staffStatisticsWithTotal
(
@RequestBody
StaffStatisticsFindDTO
staffStatisticsFindDTO
)
{
StaffStatisticsTotalBo
staffStatisticsTotalVo
=
staffStatisticsBiz
.
staffStatisticsWithTotal
(
staffStatisticsFindDTO
);
StaffStatisticsTotalBo
staffStatisticsTotalVo
=
staffStatisticsBiz
.
staffStatisticsWithTotal
(
staffStatisticsFindDTO
);
return
ObjectRestResponse
.
succ
(
staffStatisticsTotalVo
);
return
ObjectRestResponse
.
succ
(
staffStatisticsTotalVo
);
...
...
xx-order/xx-order-server/src/main/resources/mapper/OrderReceivedStatisticsMapper.xml
View file @
82fcad23
...
@@ -135,7 +135,10 @@
...
@@ -135,7 +135,10 @@
SUM(`travel_amount`-`travel_refund_amount` ) AS `travelAmount`,
SUM(`travel_amount`-`travel_refund_amount` ) AS `travelAmount`,
SUM(`rent_vehicle_amount`-`rent_vehicle_refund_amount`) AS `rentVehilceAmount`,
SUM(`rent_vehicle_amount`-`rent_vehicle_refund_amount`) AS `rentVehilceAmount`,
SUM(`no_deductible_amount` - `no_deductible_refund_amount`) as `noDeductibleAmount`,
SUM(`no_deductible_amount` - `no_deductible_refund_amount`) as `noDeductibleAmount`,
SUM(`deposit_amount` - `deposit_refund_amount`) as `depositAmount`
SUM(`deposit_amount` - `deposit_refund_amount`) as `depositAmount`,
SUM(`deposit_refund_amount`) as `depositRefundAmount`,
SUM(`loss_specified_amount`) as `lossSpecifiedAmount`,
SUM(`late_fee_amount`) as `lateFeeAmount`
FROM
FROM
`order_received_statistics` WHERE `has_pay`=1
`order_received_statistics` WHERE `has_pay`=1
<if
test=
"companyName!=null and companyName!=''"
>
<if
test=
"companyName!=null and companyName!=''"
>
...
@@ -163,6 +166,7 @@
...
@@ -163,6 +166,7 @@
`company_id` ,
`company_id` ,
`year`,
`year`,
`date`
`date`
order by `company_id`,`date` desc
<if
test=
"page!=null and limit!=null"
>
<if
test=
"page!=null and limit!=null"
>
limit #{startIndex},#{endInex}
limit #{startIndex},#{endInex}
</if>
</if>
...
@@ -220,7 +224,10 @@
...
@@ -220,7 +224,10 @@
SUM(`travel_amount`-`travel_refund_amount` ) AS `travelAmount`,
SUM(`travel_amount`-`travel_refund_amount` ) AS `travelAmount`,
SUM(`rent_vehicle_amount`-`rent_vehicle_refund_amount`) AS `rentVehilceAmount`,
SUM(`rent_vehicle_amount`-`rent_vehicle_refund_amount`) AS `rentVehilceAmount`,
SUM(`no_deductible_amount` - `no_deductible_refund_amount`) as `noDeductibleAmount`,
SUM(`no_deductible_amount` - `no_deductible_refund_amount`) as `noDeductibleAmount`,
SUM(`deposit_amount` - `deposit_refund_amount`) as `depositAmount`
SUM(`deposit_amount` - `deposit_refund_amount`) as `depositAmount`,
SUM(`deposit_refund_amount`) as `depositRefundAmount`,
SUM(`loss_specified_amount`) as `lossSpecifiedAmount`,
SUM(`late_fee_amount`) as `lateFeeAmount`
FROM
FROM
`order_received_statistics` WHERE `has_pay`=1
`order_received_statistics` WHERE `has_pay`=1
<if
test=
"companyName!=null and companyName!=''"
>
<if
test=
"companyName!=null and companyName!=''"
>
...
@@ -248,6 +255,7 @@
...
@@ -248,6 +255,7 @@
company_id,
company_id,
`year`,
`year`,
`month`
`month`
order by `company_id`, `month` desc
<if
test=
"page!=null and limit!=null"
>
<if
test=
"page!=null and limit!=null"
>
limit #{startIndex},#{endInex}
limit #{startIndex},#{endInex}
</if>
</if>
...
@@ -304,7 +312,10 @@
...
@@ -304,7 +312,10 @@
SUM(`travel_amount`-`travel_refund_amount` ) AS `travelAmount`,
SUM(`travel_amount`-`travel_refund_amount` ) AS `travelAmount`,
SUM(`rent_vehicle_amount`-`rent_vehicle_refund_amount`) AS `rentVehilceAmount`,
SUM(`rent_vehicle_amount`-`rent_vehicle_refund_amount`) AS `rentVehilceAmount`,
SUM(`no_deductible_amount` - `no_deductible_refund_amount`) as `noDeductibleAmount`,
SUM(`no_deductible_amount` - `no_deductible_refund_amount`) as `noDeductibleAmount`,
SUM(`deposit_amount` - `deposit_refund_amount`) as `depositAmount`
SUM(`deposit_amount` - `deposit_refund_amount`) as `depositAmount`,
SUM(`deposit_refund_amount`) as `depositRefundAmount`,
SUM(`loss_specified_amount`) as `lossSpecifiedAmount`,
SUM(`late_fee_amount`) as `lateFeeAmount`
FROM
FROM
`order_received_statistics` WHERE `has_pay`=1
`order_received_statistics` WHERE `has_pay`=1
<if
test=
"companyName!=null and companyName!=''"
>
<if
test=
"companyName!=null and companyName!=''"
>
...
@@ -332,6 +343,7 @@
...
@@ -332,6 +343,7 @@
company_id,
company_id,
`year`,
`year`,
`week_of_year`
`week_of_year`
order by `company_id`,`week_of_year` desc
<if
test=
"page!=null and limit!=null"
>
<if
test=
"page!=null and limit!=null"
>
limit #{startIndex},#{endInex}
limit #{startIndex},#{endInex}
</if>
</if>
...
...
xx-order/xx-order-server/src/test/java/ServiceTest.java
View file @
82fcad23
...
@@ -127,13 +127,13 @@ public class ServiceTest {
...
@@ -127,13 +127,13 @@ public class ServiceTest {
public
void
testOrderReceivedStatisticsJobHandler
(){
public
void
testOrderReceivedStatisticsJobHandler
(){
cn
.
hutool
.
core
.
date
.
DateTime
dateTime
=
DateUtil
.
parse
(
"2019-11-29"
,
"yyyy-MM-dd"
);
cn
.
hutool
.
core
.
date
.
DateTime
dateTime
=
DateUtil
.
parse
(
"2019-11-29"
,
"yyyy-MM-dd"
);
// cn.hutool.core.date.DateTime offset = DateUtil.offset(dateTime, DateField.DAY_OF_MONTH, 1);
// cn.hutool.core.date.DateTime offset = DateUtil.offset(dateTime, DateField.DAY_OF_MONTH, 1);
orderReceivedStatisticsJobHandler
.
execute
(
"2019-11-15"
);
//
orderReceivedStatisticsJobHandler.execute("2019-11-15");
/*
LocalDate startLocalDate = LocalDate.of(2019, 10, 01);
LocalDate
startLocalDate
=
LocalDate
.
of
(
2019
,
10
,
01
);
LocalDate endLocalDate = LocalDate.of(2019,12,
19
);
LocalDate
endLocalDate
=
LocalDate
.
of
(
2019
,
12
,
20
);
while
(
startLocalDate
.
isBefore
(
endLocalDate
)){
while
(
startLocalDate
.
isBefore
(
endLocalDate
)){
String
dateStr
=
startLocalDate
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
));
String
dateStr
=
startLocalDate
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
));
startLocalDate
=
startLocalDate
.
plusDays
(
1
);
startLocalDate
=
startLocalDate
.
plusDays
(
1
);
orderReceivedStatisticsJobHandler
.
execute
(
dateStr
);
orderReceivedStatisticsJobHandler
.
execute
(
dateStr
);
}
*/
}
}
}
}
}
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/service/ClickWordCaptcha.java
View file @
82fcad23
...
@@ -29,7 +29,6 @@ public class ClickWordCaptcha extends AbstractCaptcha {
...
@@ -29,7 +29,6 @@ public class ClickWordCaptcha extends AbstractCaptcha {
private
static
int
HAN_ZI_SIZE_HALF
=
60
;
private
static
int
HAN_ZI_SIZE_HALF
=
60
;
@Override
@Override
public
ClickWordCaptchaVO
create
(
CaptchaBaseParam
captchaParam
)
{
public
ClickWordCaptchaVO
create
(
CaptchaBaseParam
captchaParam
)
{
if
(
captchaParam
==
null
if
(
captchaParam
==
null
...
@@ -88,10 +87,10 @@ public class ClickWordCaptcha extends AbstractCaptcha {
...
@@ -88,10 +87,10 @@ public class ClickWordCaptcha extends AbstractCaptcha {
}
while
(!
currentWords
.
contains
(
word
));
}
while
(!
currentWords
.
contains
(
word
));
//随机字体坐标
//随机字体坐标
Point
point
=
randomWordPoint
(
width
,
height
,
i
,
wordCount
);
Point
point
=
randomWordPoint
(
900
,
478
,
i
,
wordCount
);
//随机字体颜色
//随机字体颜色
if
(
isFontColorRandom
()
){
if
(
true
){
backgroundGraphics
.
setColor
(
new
Color
(
RandomUtils
.
getRandomInt
(
1
,
255
),
RandomUtils
.
getRandomInt
(
1
,
255
),
RandomUtils
.
getRandomInt
(
1
,
255
)));
backgroundGraphics
.
setColor
(
new
Color
(
RandomUtils
.
getRandomInt
(
1
,
255
),
RandomUtils
.
getRandomInt
(
1
,
255
),
RandomUtils
.
getRandomInt
(
1
,
255
)));
}
else
{
}
else
{
backgroundGraphics
.
setColor
(
Color
.
BLACK
);
backgroundGraphics
.
setColor
(
Color
.
BLACK
);
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleActiveService.java
View file @
82fcad23
...
@@ -104,9 +104,9 @@ public class VehicleActiveService {
...
@@ -104,9 +104,9 @@ public class VehicleActiveService {
vehicleBookRecord
=
vehicleBookRecordBiz
.
selectById
(
departureVo
.
getBookRecordId
());
vehicleBookRecord
=
vehicleBookRecordBiz
.
selectById
(
departureVo
.
getBookRecordId
());
updateBookRecordStatus
(
vehicleBookRecord
,
1
);
updateBookRecordStatus
(
vehicleBookRecord
,
1
);
}
}
if
(
vehicleBookRecord
!=
null
)
{
//
if (vehicleBookRecord != null) {
vehicle
.
setParkBranchCompanyId
(
vehicleBookRecord
.
getRetCompany
());
//
vehicle.setParkBranchCompanyId(vehicleBookRecord.getRetCompany());
}
//
}
vehicleMapper
.
updateByPrimaryKeySelective
(
vehicle
);
vehicleMapper
.
updateByPrimaryKeySelective
(
vehicle
);
VehicleDepartureLogVo
vehicleDepartureLogVo
=
vehicleDepartureLogMapper
.
selectByBookRecordId
(
departureVo
.
getBookRecordId
());
VehicleDepartureLogVo
vehicleDepartureLogVo
=
vehicleDepartureLogMapper
.
selectByBookRecordId
(
departureVo
.
getBookRecordId
());
if
(
vehicleDepartureLogVo
!=
null
)
{
if
(
vehicleDepartureLogVo
!=
null
)
{
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleController.java
View file @
82fcad23
...
@@ -351,7 +351,7 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
...
@@ -351,7 +351,7 @@ public class VehicleController extends BaseController<VehicleBiz> implements Use
oldValue
.
setRetCompany
(
vehicleBookRecord
.
getRetCompany
());
oldValue
.
setRetCompany
(
vehicleBookRecord
.
getRetCompany
());
BookRecordUpdateLog
bookRecordUpdateLog
=
new
BookRecordUpdateLog
();
BookRecordUpdateLog
bookRecordUpdateLog
=
new
BookRecordUpdateLog
();
bookRecordUpdateLog
.
setBookRecordId
(
vehicleBookRecord
.
getId
());
bookRecordUpdateLog
.
setBookRecordId
(
vehicleBookRecord
.
getId
());
bookRecordUpdateLog
.
setOldRetCompanyId
(
vehicleBookRecord
.
getRetCompany
());
bookRecordUpdateLog
.
setOldRetCompanyId
(
oldValue
.
getRetCompany
());
bookRecordUpdateLog
.
setNewRetCompanyId
(
vehicleBookRecord
.
getRetCompany
());
bookRecordUpdateLog
.
setNewRetCompanyId
(
vehicleBookRecord
.
getRetCompany
());
bookRecordUpdateLog
.
setOperaterId
(
userDTO
.
getId
());
bookRecordUpdateLog
.
setOperaterId
(
userDTO
.
getId
());
bookRecordUpdateLog
.
setOperaterName
(
userDTO
.
getName
());
bookRecordUpdateLog
.
setOperaterName
(
userDTO
.
getName
());
...
...
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