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
912438e7
Commit
912438e7
authored
Oct 31, 2019
by
jiaorz
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
2ad1b101
28e83adb
Changes
21
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
732 additions
and
64 deletions
+732
-64
UserBo.java
...ain/java/com/github/wxiaoqi/security/admin/bo/UserBo.java
+26
-0
UserFeign.java
...va/com/github/wxiaoqi/security/admin/feign/UserFeign.java
+9
-0
AppUserManageVo.java
...com/github/wxiaoqi/security/admin/vo/AppUserManageVo.java
+15
-0
AppUserLoginBiz.java
...om/github/wxiaoqi/security/admin/biz/AppUserLoginBiz.java
+74
-5
AppUserRelationBiz.java
...github/wxiaoqi/security/admin/biz/AppUserRelationBiz.java
+4
-2
AppUserLoginMapper.java
...hub/wxiaoqi/security/admin/mapper/AppUserLoginMapper.java
+5
-0
AppUserRelationMapper.java
.../wxiaoqi/security/admin/mapper/AppUserRelationMapper.java
+3
-0
AppUserController.java
...github/wxiaoqi/security/admin/rest/AppUserController.java
+28
-26
AppUserDetailMapper.xml
...e-admin/src/main/resources/mapper/AppUserDetailMapper.xml
+21
-1
AppUserLoginMapper.xml
...ce-admin/src/main/resources/mapper/AppUserLoginMapper.xml
+29
-1
AppUserRelationMapper.xml
...admin/src/main/resources/mapper/AppUserRelationMapper.xml
+7
-0
MemberOrderBo.java
.../java/com/xxfc/platform/order/pojo/dto/MemberOrderBo.java
+49
-0
MemberOrderFindDTO.java
.../com/xxfc/platform/order/pojo/dto/MemberOrderFindDTO.java
+41
-0
MemberOrderStatisticsBo.java
...xxfc/platform/order/pojo/dto/MemberOrderStatisticsBo.java
+32
-0
MemberOrderPageVo.java
...va/com/xxfc/platform/order/pojo/vo/MemberOrderPageVo.java
+18
-0
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+18
-0
BaseOrderMapper.java
.../java/com/xxfc/platform/order/mapper/BaseOrderMapper.java
+5
-0
OrderMemberController.java
...a/com/xxfc/platform/order/rest/OrderMemberController.java
+27
-8
OrderMemberService.java
...a/com/xxfc/platform/order/service/OrderMemberService.java
+254
-15
BaseOrderMapper.xml
...rder-server/src/main/resources/mapper/BaseOrderMapper.xml
+66
-5
VehicleCataController.java
...com/xxfc/platform/vehicle/rest/VehicleCataController.java
+1
-1
No files found.
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/bo/UserBo.java
0 → 100644
View file @
912438e7
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
bo
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/30 17:42
*/
@Data
public
class
UserBo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@JSONField
(
serialize
=
false
)
private
String
orderNo
;
private
Integer
userId
;
private
String
phone
;
private
String
name
;
private
String
leaderName
;
private
String
leaderPhone
;
private
Integer
facilitateId
;
private
String
facilitateName
;
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/feign/UserFeign.java
View file @
912438e7
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
feign
;
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
feign
;
import
com.github.wxiaoqi.security.admin.bo.UserBo
;
import
com.github.wxiaoqi.security.admin.dto.UserMemberDTO
;
import
com.github.wxiaoqi.security.admin.dto.UserMemberDTO
;
import
com.github.wxiaoqi.security.admin.entity.AppUserLogin
;
import
com.github.wxiaoqi.security.admin.entity.AppUserLogin
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
...
@@ -129,4 +130,12 @@ public interface UserFeign {
...
@@ -129,4 +130,12 @@ public interface UserFeign {
@GetMapping
(
"/app/user/finduserIdsByphones"
)
@GetMapping
(
"/app/user/finduserIdsByphones"
)
Map
<
String
,
Integer
>
findAppusersByUserNames
(
@RequestParam
(
value
=
"phones"
)
List
<
String
>
phones
);
Map
<
String
,
Integer
>
findAppusersByUserNames
(
@RequestParam
(
value
=
"phones"
)
List
<
String
>
phones
);
@GetMapping
(
value
=
"/app/user/users"
)
List
<
Integer
>
findAppUserIds
(
@RequestParam
(
value
=
"phone"
,
required
=
false
)
String
phone
,
@RequestParam
(
value
=
"leaderPhone"
,
required
=
false
)
String
leaderPhone
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
);
@PostMapping
(
value
=
"/app/user/users/info"
)
List
<
UserBo
>
findUserDetailByUserBo
(
@RequestBody
(
required
=
false
)
List
<
UserBo
>
userBos
);
}
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/vo/AppUserManageVo.java
View file @
912438e7
...
@@ -171,4 +171,19 @@ public class AppUserManageVo {
...
@@ -171,4 +171,19 @@ public class AppUserManageVo {
* 身份信息
* 身份信息
*/
*/
private
String
positionName
;
private
String
positionName
;
/**
* 上级名称
*/
private
String
nameOfSuperior
;
/**
* 上级id
*/
private
Integer
parentId
;
/**
* 上级手机号
*/
private
String
superiorMobileNumber
;
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserLoginBiz.java
View file @
912438e7
...
@@ -4,17 +4,22 @@ import com.ace.cache.annotation.Cache;
...
@@ -4,17 +4,22 @@ import com.ace.cache.annotation.Cache;
import
com.ace.cache.annotation.CacheClear
;
import
com.ace.cache.annotation.CacheClear
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.admin.dto.AccountBindDTO
;
import
com.github.wxiaoqi.security.admin.dto.AccountBindDTO
;
import
com.github.wxiaoqi.security.admin.bo.UserBo
;
import
com.github.wxiaoqi.security.admin.entity.AppUserDetail
;
import
com.github.wxiaoqi.security.admin.entity.AppUserLogin
;
import
com.github.wxiaoqi.security.admin.entity.AppUserLogin
;
import
com.github.wxiaoqi.security.admin.entity.AppUserRelation
;
import
com.github.wxiaoqi.security.admin.mapper.AppUserLoginMapper
;
import
com.github.wxiaoqi.security.admin.mapper.AppUserLoginMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant
;
import
com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant
;
import
com.github.wxiaoqi.security.common.constant.UserConstant
;
import
com.github.wxiaoqi.security.common.constant.UserConstant
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
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.xxfc.platform.im.utils.StringUtil
;
import
com.xxfc.platform.universal.entity.IdInformation
;
import
com.xxfc.platform.universal.entity.IdInformation
;
import
com.xxfc.platform.universal.feign.MQSenderFeign
;
import
com.xxfc.platform.universal.feign.MQSenderFeign
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
;
import
org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -24,9 +29,7 @@ import tk.mybatis.mapper.entity.Example;
...
@@ -24,9 +29,7 @@ import tk.mybatis.mapper.entity.Example;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.time.Instant
;
import
java.time.Instant
;
import
java.util.HashMap
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.Executors
;
import
java.util.function.Function
;
import
java.util.function.Function
;
...
@@ -57,6 +60,9 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
...
@@ -57,6 +60,9 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
@Autowired
@Autowired
private
AppUserAlipayBiz
appUserAlipayBiz
;
private
AppUserAlipayBiz
appUserAlipayBiz
;
@Autowired
private
AppUserRelationBiz
appUserRelationBiz
;
@Transactional
(
rollbackFor
=
Exception
.
class
,
propagation
=
Propagation
.
REQUIRED
)
@Transactional
(
rollbackFor
=
Exception
.
class
,
propagation
=
Propagation
.
REQUIRED
)
@Override
@Override
public
void
insertSelective
(
AppUserLogin
entity
)
{
public
void
insertSelective
(
AppUserLogin
entity
)
{
...
@@ -325,7 +331,7 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
...
@@ -325,7 +331,7 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
public
List
<
AppUserLogin
>
getUserByUsernameAndRealName
(
String
username
,
String
realName
)
{
public
List
<
AppUserLogin
>
getUserByUsernameAndRealName
(
String
username
,
String
realName
)
{
return
mapper
.
getUserByUsernameAndRealName
(
username
,
realName
);
return
mapper
.
getUserByUsernameAndRealName
(
username
,
realName
);
}
}
...
@@ -397,4 +403,67 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
...
@@ -397,4 +403,67 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
appUserLogin
.
setUpdatetime
(
Instant
.
now
().
getEpochSecond
());
appUserLogin
.
setUpdatetime
(
Instant
.
now
().
getEpochSecond
());
mapper
.
updateByPrimaryKeySelective
(
appUserLogin
);
mapper
.
updateByPrimaryKeySelective
(
appUserLogin
);
}
}
public
List
<
Integer
>
findAppuser
(
String
phone
,
String
leaderPhone
,
String
name
)
{
List
<
Integer
>
memberIds
=
null
;
//1.根据leader手机号查询userid
boolean
isNoNullLeaderPhone
=
StringUtils
.
isNotEmpty
(
leaderPhone
)
&&
leaderPhone
.
trim
().
length
()>
0
;
if
(
isNoNullLeaderPhone
)
{
List
<
AppUserLogin
>
appUserLogins
=
mapper
.
selectbyPhones
(
Arrays
.
asList
(
leaderPhone
));
Integer
leaderId
=
null
;
if
(
CollectionUtils
.
isEmpty
(
appUserLogins
))
{
return
Collections
.
EMPTY_LIST
;
}
leaderId
=
appUserLogins
.
get
(
0
).
getId
();
//2.根据leader userId查询下级 userid
if
(
Objects
.
nonNull
(
leaderId
))
{
List
<
AppUserRelation
>
appUserRelationList
=
appUserRelationBiz
.
findMemberPageByLeaderId
(
leaderId
);
if
(
CollectionUtils
.
isEmpty
(
appUserRelationList
)){
return
Collections
.
EMPTY_LIST
;
}
memberIds
=
appUserRelationList
.
stream
().
map
(
AppUserRelation:
:
getUserId
).
collect
(
Collectors
.
toList
());
}
}
List
<
Integer
>
userIds
=
mapper
.
findAppUser
(
phone
,
name
,
memberIds
);
return
userIds
==
null
?
Collections
.
EMPTY_LIST
:
userIds
;
}
public
List
<
UserBo
>
findUserDetailInfo
(
List
<
UserBo
>
userBos
)
{
Map
<
String
,
Integer
>
userIdAndFacilitateIdMap
=
userBos
.
stream
().
filter
(
x
->
Objects
.
nonNull
(
x
.
getFacilitateId
())).
collect
(
Collectors
.
toMap
(
UserBo:
:
getOrderNo
,
UserBo:
:
getFacilitateId
));
List
<
Integer
>
userIdList
=
userBos
.
stream
().
map
(
UserBo:
:
getUserId
).
distinct
().
collect
(
Collectors
.
toList
());
//查询上级人
List
<
AppUserRelation
>
appUserRelationList
=
appUserRelationBiz
.
findLeaderByUserIds
(
userIdList
);
Map
<
Integer
,
Integer
>
memberIdAndParentMap
=
appUserRelationList
.
stream
().
collect
(
Collectors
.
toMap
(
AppUserRelation:
:
getUserId
,
AppUserRelation:
:
getParentId
));
List
<
Integer
>
uids
=
new
ArrayList
<>();
uids
.
addAll
(
userIdAndFacilitateIdMap
==
null
?
Collections
.
EMPTY_LIST
:
userIdList
);
uids
.
addAll
(
userIdAndFacilitateIdMap
==
null
?
Collections
.
EMPTY_LIST
:
userIdAndFacilitateIdMap
.
values
());
uids
.
addAll
(
memberIdAndParentMap
==
null
?
Collections
.
EMPTY_LIST
:
memberIdAndParentMap
.
values
());
List
<
UserBo
>
userBoList
=
mapper
.
selectByUserIds
(
uids
);
Map
<
Integer
,
UserBo
>
userMap
=
userBoList
==
null
?
Collections
.
EMPTY_MAP
:
userBoList
.
stream
().
collect
(
Collectors
.
toMap
(
UserBo:
:
getUserId
,
Function
.
identity
()));
if
(
userMap
.
isEmpty
()){
return
Collections
.
EMPTY_LIST
;
}
for
(
UserBo
userBo
:
userBos
)
{
UserBo
bo
=
userMap
.
get
(
userBo
.
getUserId
());
if
(
Objects
.
nonNull
(
bo
))
{
userBo
.
setPhone
(
bo
.
getPhone
());
userBo
.
setName
(
bo
.
getName
());
}
Integer
leaderId
=
memberIdAndParentMap
.
get
(
userBo
.
getUserId
());
UserBo
leader
=
userMap
.
get
(
leaderId
);
if
(
Objects
.
nonNull
(
leader
))
{
userBo
.
setLeaderName
(
leader
.
getName
());
userBo
.
setLeaderPhone
(
leader
.
getPhone
());
}
UserBo
facilitate
=
userMap
.
get
(
userBo
.
getFacilitateId
());
if
(
Objects
.
nonNull
(
facilitate
))
{
userBo
.
setFacilitateName
(
facilitate
.
getName
());
}
}
return
userBos
;
}
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserRelationBiz.java
View file @
912438e7
...
@@ -335,7 +335,9 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel
...
@@ -335,7 +335,9 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel
}
}
public
List
<
AppUserRelation
>
findLeaderByUserIds
(
List
<
Integer
>
userIds
)
{
List
<
AppUserRelation
>
appUserRelationList
=
mapper
.
selectByUserIds
(
userIds
);
return
appUserRelationList
==
null
?
Collections
.
EMPTY_LIST
:
appUserRelationList
;
}
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/mapper/AppUserLoginMapper.java
View file @
912438e7
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
mapper
;
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
mapper
;
import
com.github.wxiaoqi.security.admin.bo.UserBo
;
import
com.github.wxiaoqi.security.admin.entity.AppUserLogin
;
import
com.github.wxiaoqi.security.admin.entity.AppUserLogin
;
import
com.github.wxiaoqi.security.admin.entity.AppUserManage
;
import
com.github.wxiaoqi.security.admin.entity.AppUserManage
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
...
@@ -31,4 +32,8 @@ public interface AppUserLoginMapper extends Mapper<AppUserLogin>, SelectByIdList
...
@@ -31,4 +32,8 @@ public interface AppUserLoginMapper extends Mapper<AppUserLogin>, SelectByIdList
List
<
AppUserLogin
>
getUserByUsernameAndRealName
(
@Param
(
"username"
)
String
username
,
@Param
(
"realName"
)
String
realName
);
List
<
AppUserLogin
>
getUserByUsernameAndRealName
(
@Param
(
"username"
)
String
username
,
@Param
(
"realName"
)
String
realName
);
List
<
Integer
>
findAppUser
(
@Param
(
"phone"
)
String
phone
,
@Param
(
"name"
)
String
name
,
@Param
(
"memberIds"
)
List
<
Integer
>
memberIds
);
List
<
UserBo
>
selectByUserIds
(
@Param
(
"userIds"
)
List
<
Integer
>
uids
);
}
}
\ No newline at end of file
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/mapper/AppUserRelationMapper.java
View file @
912438e7
...
@@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Param;
...
@@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Param;
import
tk.mybatis.mapper.common.Mapper
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
/**
/**
* 用户关系表
* 用户关系表
...
@@ -20,4 +21,6 @@ public interface AppUserRelationMapper extends Mapper<AppUserRelation> {
...
@@ -20,4 +21,6 @@ public interface AppUserRelationMapper extends Mapper<AppUserRelation> {
//获取有效的下级
//获取有效的下级
public
int
countByParentId
(
@Param
(
"parentId"
)
Integer
parentId
,
@Param
(
"bindTime"
)
Long
bindTime
);
public
int
countByParentId
(
@Param
(
"parentId"
)
Integer
parentId
,
@Param
(
"bindTime"
)
Long
bindTime
);
List
<
AppUserRelation
>
selectByUserIds
(
@Param
(
"userIds"
)
List
<
Integer
>
userIds
);
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/AppUserController.java
View file @
912438e7
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
rest
;
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
rest
;
import
com.github.wxiaoqi.security.admin.biz.*
;
import
com.github.wxiaoqi.security.admin.biz.*
;
import
com.github.wxiaoqi.security.admin.bo.UserBo
;
import
com.github.wxiaoqi.security.admin.dto.AccountBindDTO
;
import
com.github.wxiaoqi.security.admin.dto.AccountBindDTO
;
import
com.github.wxiaoqi.security.admin.entity.*
;
import
com.github.wxiaoqi.security.admin.entity.*
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
...
@@ -23,8 +24,6 @@ import com.xxfc.platform.order.feign.OrderFeign;
...
@@ -23,8 +24,6 @@ import com.xxfc.platform.order.feign.OrderFeign;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -72,9 +71,6 @@ public class AppUserController extends CommonBaseController{
...
@@ -72,9 +71,6 @@ public class AppUserController extends CommonBaseController{
@Autowired
@Autowired
private
OrderFeign
orderFeign
;
private
OrderFeign
orderFeign
;
@Autowired
private
AppUserAlipayBiz
appUserAlipayBiz
;
@GetMapping
(
"page"
)
@GetMapping
(
"page"
)
...
@@ -160,6 +156,7 @@ public class AppUserController extends CommonBaseController{
...
@@ -160,6 +156,7 @@ public class AppUserController extends CommonBaseController{
String
icon
=
memberLevel
.
getIcon
();
String
icon
=
memberLevel
.
getIcon
();
userDTO
.
setIcon
(
icon
);
userDTO
.
setIcon
(
icon
);
userDTO
.
setBigIcon
(
memberLevel
.
getBigIcon
());
userDTO
.
setBigIcon
(
memberLevel
.
getBigIcon
());
userDTO
.
setItemImg
(
memberLevel
.
getItemImg
());
}
}
}
}
}
}
...
@@ -167,14 +164,7 @@ public class AppUserController extends CommonBaseController{
...
@@ -167,14 +164,7 @@ public class AppUserController extends CommonBaseController{
if
(
userPosition
!=
null
&&
userPosition
.
getLevel
()>
0
){
if
(
userPosition
!=
null
&&
userPosition
.
getLevel
()>
0
){
userDTO
.
setPositionName
(
userPosition
.
getName
());
userDTO
.
setPositionName
(
userPosition
.
getName
());
}
}
List
<
AppUserAlipay
>
appUserAlipays
=
appUserAlipayBiz
.
getByUserId
(
request
);
long
count
=
appUserAlipays
.
stream
().
filter
(
appUserAlipay
->
appUserAlipay
.
getType
()
==
1
).
count
();
userDTO
.
setIsBindAliPay
(
count
>
0
);
userDTO
.
setId
(
id
);
userDTO
.
setId
(
id
);
userDTO
.
setAliPayNickName
(
userDTO
.
getIsBindAliPay
()?
appUserAlipays
.
get
(
0
).
getNickname
():
""
);
AppUserLogin
appUserLogin
=
appUserLoginBiz
.
selectById
(
userid
);
userDTO
.
setIsBindWx
(
StringUtils
.
isNotEmpty
(
appUserLogin
.
getWxOpenid
()));
userDTO
.
setIsBindQQ
(
StringUtils
.
isNotEmpty
(
appUserLogin
.
getOpenid
()));
return
ObjectRestResponse
.
succ
(
userDTO
);
return
ObjectRestResponse
.
succ
(
userDTO
);
}
}
...
@@ -212,9 +202,10 @@ public class AppUserController extends CommonBaseController{
...
@@ -212,9 +202,10 @@ public class AppUserController extends CommonBaseController{
* @throws Exception
* @throws Exception
*/
*/
@PostMapping
(
"/edit"
)
@PostMapping
(
"/edit"
)
public
ObjectRestResponse
edit
(
@RequestBody
AppUserVo
userVo
,
HttpServletRequest
request
)
throws
Exception
{
public
ObjectRestResponse
edit
(
@RequestBody
AppUserVo
userVo
)
throws
Exception
{
String
id
=
userAuthUtil
.
getInfoFromToken
(
userAuthConfig
.
getToken
(
request
)).
getId
();
if
(
userVo
==
null
||
userVo
.
getId
()==
null
){
userVo
.
setUserid
(
Integer
.
valueOf
(
id
));
return
ObjectRestResponse
.
createFailedResult
(
ResultCode
.
NULL_CODE
,
"参数为空"
);
}
userDetailBiz
.
updUuserInfoById
(
userVo
);
userDetailBiz
.
updUuserInfoById
(
userVo
);
Integer
userid
=
userVo
.
getUserid
();
Integer
userid
=
userVo
.
getUserid
();
if
(
userid
!=
null
){
if
(
userid
!=
null
){
...
@@ -224,13 +215,8 @@ public class AppUserController extends CommonBaseController{
...
@@ -224,13 +215,8 @@ public class AppUserController extends CommonBaseController{
appUserLogin
.
setOpenid
(
userVo
.
getOpenid
());
appUserLogin
.
setOpenid
(
userVo
.
getOpenid
());
appUserLogin
.
setId
(
userid
);
appUserLogin
.
setId
(
userid
);
appUserLogin
.
setUsername
(
userVo
.
getUsername
());
appUserLogin
.
setUsername
(
userVo
.
getUsername
());
appUserLoginBiz
.
updateAppuserLogin
(
appUserLogin
);
appUserLoginBiz
.
bindOpenid
(
appUserLogin
);
//支付宝绑定
if
(
StringUtils
.
isNotEmpty
(
userVo
.
getAliCode
())
&&
userVo
.
getAliCode
().
trim
().
length
()>
0
){
appUserAlipayBiz
.
getUserInfo
(
userVo
.
getAliCode
(),
request
);
}
}
}
return
ObjectRestResponse
.
succ
();
return
ObjectRestResponse
.
succ
();
}
}
...
@@ -339,7 +325,7 @@ public class AppUserController extends CommonBaseController{
...
@@ -339,7 +325,7 @@ public class AppUserController extends CommonBaseController{
}
}
@PostMapping
(
"/bind"
)
@PostMapping
(
"/bind"
)
private
ObjectRestResponse
accountBinding
(
@RequestBody
AccountBindDTO
accountBindDTO
,
HttpServletRequest
request
){
private
ObjectRestResponse
accountBinding
(
@RequestBody
AccountBindDTO
accountBindDTO
,
HttpServletRequest
request
){
try
{
try
{
IJWTInfo
infoFromToken
=
userAuthUtil
.
getInfoFromToken
(
userAuthConfig
.
getToken
(
request
));
IJWTInfo
infoFromToken
=
userAuthUtil
.
getInfoFromToken
(
userAuthConfig
.
getToken
(
request
));
return
appUserLoginBiz
.
bindAccount
(
accountBindDTO
,
Integer
.
valueOf
(
infoFromToken
.
getId
()),
request
);
return
appUserLoginBiz
.
bindAccount
(
accountBindDTO
,
Integer
.
valueOf
(
infoFromToken
.
getId
()),
request
);
...
@@ -347,4 +333,20 @@ public class AppUserController extends CommonBaseController{
...
@@ -347,4 +333,20 @@ public class AppUserController extends CommonBaseController{
throw
new
BaseException
(
ex
);
throw
new
BaseException
(
ex
);
}
}
}
}
@GetMapping
(
"/users"
)
List
<
Integer
>
findAppUserIds
(
@RequestParam
(
value
=
"phone"
,
required
=
false
)
String
phone
,
@RequestParam
(
value
=
"leaderPhone"
,
required
=
false
)
String
leaderPhone
,
@RequestParam
(
value
=
"name"
,
required
=
false
)
String
name
)
{
return
appUserLoginBiz
.
findAppuser
(
phone
,
leaderPhone
,
name
);
}
@PostMapping
(
"/users/info"
)
List
<
UserBo
>
findUserDetailByUserBo
(
@RequestBody
(
required
=
false
)
List
<
UserBo
>
userBos
)
{
return
appUserLoginBiz
.
findUserDetailInfo
(
userBos
);
}
}
}
ace-modules/ace-admin/src/main/resources/mapper/AppUserDetailMapper.xml
View file @
912438e7
...
@@ -82,7 +82,10 @@
...
@@ -82,7 +82,10 @@
m.recent_recharge as recentRecharge,
m.recent_recharge as recentRecharge,
m.name as memberName,
m.name as memberName,
ul.username as inviter,
ul.username as inviter,
aup.name as `positionName`
aup.name as `positionName`,
p.nameOfSuperior,
p.username AS superiorMobileNumber,
p.parent_id as parentId
from
from
app_user_login l
app_user_login l
inner join
inner join
...
@@ -123,6 +126,23 @@
...
@@ -123,6 +126,23 @@
left join
left join
`app_user_position` as aup
`app_user_position` as aup
on aup.id = d.position_id
on aup.id = d.position_id
left join (
SELECT
r.user_id,
r.parent_id,
l.username,
IFNULL(d.realname,d.nickname) as nameOfSuperior
FROM
app_user_relation r
LEFT JOIN app_user_login l ON r.parent_id = l.id
LEFT JOIN app_user_detail d ON l.id = d.userid
WHERE
l.isdel = 0
AND
r.is_del = 0
) p
on
l.id=p.user_id
where l.isdel = 0
where l.isdel = 0
<if
test=
"mobile !=null and mobile !='' "
>
<if
test=
"mobile !=null and mobile !='' "
>
and l.username like CONCAT('%',#{mobile},'%')
and l.username like CONCAT('%',#{mobile},'%')
...
...
ace-modules/ace-admin/src/main/resources/mapper/AppUserLoginMapper.xml
View file @
912438e7
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<mapper
namespace=
"com.github.wxiaoqi.security.admin.mapper.AppUserLoginMapper"
>
<mapper
namespace=
"com.github.wxiaoqi.security.admin.mapper.AppUserLoginMapper"
>
<select
id=
"selectbyPhones"
resultType=
"com.github.wxiaoqi.security.admin.entity.AppUserLogin"
>
<select
id=
"selectbyPhones"
resultType=
"com.github.wxiaoqi.security.admin.entity.AppUserLogin"
>
select `id`,`username` from `app_user_login` where `username` in
select `id`,`username` from `app_user_login` where `
isdel`=0 and `
username` in
<foreach
collection=
"phones"
item=
"phone"
open=
"("
close=
")"
separator=
","
>
<foreach
collection=
"phones"
item=
"phone"
open=
"("
close=
")"
separator=
","
>
#{phone}
#{phone}
</foreach>
</foreach>
...
@@ -27,4 +27,32 @@
...
@@ -27,4 +27,32 @@
and d.realname like concat('%',#{realName},'%')
and d.realname like concat('%',#{realName},'%')
</if>
</if>
</select>
</select>
<select
id=
"findAppUser"
resultType=
"integer"
>
select aul.`id` from (select `id` from `app_user_login` where `isdel`=0
<if
test=
"phone!=null and phone!=''"
>
and `username`=#{phone}
</if>
<if
test=
"memberIds!=null and memberIds.size()>0"
>
and `id` IN
<foreach
collection=
"memberIds"
item=
"userId"
separator=
","
open=
"("
close=
")"
>
#{userId}
</foreach>
</if>
) AS `aul`
INNER JOIN
`app_user_detail` AS `aud` ON aud.userid=aul.id
<if
test=
"name!=null and name!=''"
>
and ( aud.realname like CONCAT('%',#{name},'%') OR aud.nickname like CONCAT('%',#{name},'%'))
</if>
</select>
<select
id=
"selectByUserIds"
resultType=
"com.github.wxiaoqi.security.admin.bo.UserBo"
>
select aul.`id` AS `userId`,aul.username AS `phone`,IFNULL(aud.realname,aud.nickname) AS `name` from ( select `id`,`username` from `app_user_login` where `isdel`=0 and `id` IN
<foreach
collection=
"userIds"
item=
"uid"
separator=
","
open=
"("
close=
")"
>
#{uid}
</foreach>
) AS `aul`
INNER JOIN
`app_user_detail` AS `aud` ON aud.userid=aul.id
</select>
</mapper>
</mapper>
\ No newline at end of file
ace-modules/ace-admin/src/main/resources/mapper/AppUserRelationMapper.xml
View file @
912438e7
...
@@ -14,4 +14,11 @@
...
@@ -14,4 +14,11 @@
and (is_forever=1 or bind_time>#{bindTime})
and (is_forever=1 or bind_time>#{bindTime})
</if>
</if>
</select>
</select>
<select
id=
"selectByUserIds"
resultType=
"com.github.wxiaoqi.security.admin.entity.AppUserRelation"
>
select `user_id`,`parent_id` from `app_user_relation` where `is_del`=0 and `user_id` IN
<foreach
collection=
"userIds"
item=
"userId"
separator=
","
open=
"("
close=
")"
>
#{userId}
</foreach>
</select>
</mapper>
</mapper>
\ No newline at end of file
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/dto/MemberOrderBo.java
0 → 100644
View file @
912438e7
package
com
.
xxfc
.
platform
.
order
.
pojo
.
dto
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/30 15:48
*/
@Data
public
class
MemberOrderBo
{
private
Integer
id
;
private
String
orderNo
;
private
Date
creatTime
;
private
Integer
status
;
private
String
name
;
private
BigDecimal
goodsAmount
;
private
Integer
userId
;
private
String
userName
;
private
String
phone
;
private
String
leaderName
;
private
String
leaderPhone
;
private
Integer
memberLevel
;
/**
* 促成人
*/
@JSONField
(
serialize
=
false
)
private
Integer
facilitateId
;
private
String
facilitateName
;
private
String
facilitatePhone
;
/**
* 订单金额
*/
private
BigDecimal
orderAmount
;
/**
* 优惠金额
*/
private
BigDecimal
couponAmount
;
private
BigDecimal
realAmount
;
private
Long
payTime
;
private
Integer
hasPay
;
private
String
desc
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/dto/MemberOrderFindDTO.java
0 → 100644
View file @
912438e7
package
com
.
xxfc
.
platform
.
order
.
pojo
.
dto
;
import
com.github.wxiaoqi.security.common.vo.PageParam
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/30 14:48
*/
@Data
public
class
MemberOrderFindDTO
extends
PageParam
{
private
String
orderNo
;
private
String
name
;
private
String
phone
;
private
Integer
state
;
private
Integer
level
;
/**
* 下单的开始时间
*/
private
Date
startOrderTime
;
private
Date
endOrderTime
;
/**
* 支付的开始时间
*/
private
Long
startPayTime
;
private
Long
endPayTime
;
private
String
leaderPhone
;
/**
* 促成人的手机号
*/
private
String
facilitatePhone
;
private
Boolean
isExport
;
private
List
<
Integer
>
userIds
;
private
Boolean
isPay
;
private
String
levelName
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/dto/MemberOrderStatisticsBo.java
0 → 100644
View file @
912438e7
package
com
.
xxfc
.
platform
.
order
.
pojo
.
dto
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/30 14:48
*/
@Data
public
class
MemberOrderStatisticsBo
{
private
Integer
orderNum
;
private
BigDecimal
totalAmount
;
/**
* 钻石
*/
private
Integer
diamondOrderNum
;
private
BigDecimal
totalDiamondAmount
;
/**
* 黄金
*/
private
Integer
goldOrderNum
;
private
BigDecimal
totalGoldAmount
;
/**
* 普通
*/
private
Integer
generalOrderNum
;
private
BigDecimal
totalGeneralAmount
;
}
xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/pojo/vo/MemberOrderPageVo.java
0 → 100644
View file @
912438e7
package
com
.
xxfc
.
platform
.
order
.
pojo
.
vo
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.order.pojo.dto.MemberOrderBo
;
import
com.xxfc.platform.order.pojo.dto.MemberOrderStatisticsBo
;
import
lombok.Data
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/30 15:58
*/
@Data
public
class
MemberOrderPageVo
{
private
MemberOrderStatisticsBo
memberOrderStatisticsBo
;
private
PageDataVO
<
MemberOrderBo
>
memberOrderPage
;
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
View file @
912438e7
...
@@ -16,6 +16,7 @@ import com.github.wxiaoqi.security.common.exception.BaseException;
...
@@ -16,6 +16,7 @@ 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.util.Query
;
import
com.github.wxiaoqi.security.common.util.Query
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.order.biz.inner.OrderCalculateBiz
;
import
com.xxfc.platform.order.biz.inner.OrderCalculateBiz
;
...
@@ -26,6 +27,8 @@ import com.xxfc.platform.order.mapper.BaseOrderMapper;
...
@@ -26,6 +27,8 @@ import com.xxfc.platform.order.mapper.BaseOrderMapper;
import
com.xxfc.platform.order.pojo.DedDetailDTO
;
import
com.xxfc.platform.order.pojo.DedDetailDTO
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.account.OrderAccountDetail
;
import
com.xxfc.platform.order.pojo.calculate.InProgressVO
;
import
com.xxfc.platform.order.pojo.calculate.InProgressVO
;
import
com.xxfc.platform.order.pojo.dto.MemberOrderBo
;
import
com.xxfc.platform.order.pojo.dto.MemberOrderFindDTO
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
com.xxfc.platform.order.pojo.mq.OrderMQDTO
;
import
com.xxfc.platform.order.pojo.order.OrderListVo
;
import
com.xxfc.platform.order.pojo.order.OrderListVo
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
...
@@ -141,6 +144,17 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
...
@@ -141,6 +144,17 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
return
mapper
.
getTourList
(
paramMap
);
return
mapper
.
getTourList
(
paramMap
);
}
}
public
PageDataVO
<
MemberOrderBo
>
findMemberOrderPage
(
MemberOrderFindDTO
memberOrderFindDTO
){
return
PageDataVO
.
pageInfo
(
memberOrderFindDTO
.
getPage
(),
memberOrderFindDTO
.
getLimit
(),()->
mapper
.
findMemberOrders
(
memberOrderFindDTO
));
}
public
List
<
MemberOrderBo
>
findMemberOrders
(
MemberOrderFindDTO
memberOrderFindDTO
)
{
return
mapper
.
findMemberOrders
(
memberOrderFindDTO
);
}
// public List<MemberOrderBo>
/**
/**
* 获取订单详情
* 获取订单详情
*
*
...
@@ -692,6 +706,8 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
...
@@ -692,6 +706,8 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
}
}
}
}
// /**
// /**
// * 更新(不成功抛异常)
// * 更新(不成功抛异常)
// * @param baseOrder
// * @param baseOrder
...
@@ -764,6 +780,8 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
...
@@ -764,6 +780,8 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> implements
return
userFeign
;
return
userFeign
;
}
}
/**
/**
* 订单查询类
* 订单查询类
*/
*/
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/mapper/BaseOrderMapper.java
View file @
912438e7
package
com
.
xxfc
.
platform
.
order
.
mapper
;
package
com
.
xxfc
.
platform
.
order
.
mapper
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.pojo.dto.MemberOrderBo
;
import
com.xxfc.platform.order.pojo.dto.MemberOrderFindDTO
;
import
com.xxfc.platform.order.pojo.order.OrderListVo
;
import
com.xxfc.platform.order.pojo.order.OrderListVo
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
com.xxfc.platform.order.pojo.order.OrderPageVO
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.Mapper
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
...
@@ -32,4 +35,6 @@ public interface BaseOrderMapper extends Mapper<BaseOrder> {
...
@@ -32,4 +35,6 @@ public interface BaseOrderMapper extends Mapper<BaseOrder> {
public
List
<
OrderPageVO
>
selectAllTourOrder
(
Map
<
String
,
Object
>
paramMap
);
public
List
<
OrderPageVO
>
selectAllTourOrder
(
Map
<
String
,
Object
>
paramMap
);
List
<
MemberOrderBo
>
findMemberOrders
(
MemberOrderFindDTO
memberOrderFindDTO
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/OrderMemberController.java
View file @
912438e7
...
@@ -9,23 +9,24 @@ import com.github.wxiaoqi.security.common.rest.BaseController;
...
@@ -9,23 +9,24 @@ import com.github.wxiaoqi.security.common.rest.BaseController;
import
com.xxfc.platform.order.biz.OrderMemberDetailBiz
;
import
com.xxfc.platform.order.biz.OrderMemberDetailBiz
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderMemberDetail
;
import
com.xxfc.platform.order.entity.OrderMemberDetail
;
import
com.xxfc.platform.order.pojo.dto.MemberOrderFindDTO
;
import
com.xxfc.platform.order.pojo.order.add.AddMemberDTO
;
import
com.xxfc.platform.order.pojo.order.add.AddMemberDTO
;
import
com.xxfc.platform.order.pojo.order.MemberBO
;
import
com.xxfc.platform.order.pojo.order.MemberBO
;
import
com.xxfc.platform.order.pojo.vo.MemberOrderPageVo
;
import
com.xxfc.platform.order.service.OrderMemberService
;
import
com.xxfc.platform.order.service.OrderMemberService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
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.RequestMethod
;
import
javax.servlet.http.HttpServletResponse
;
import
org.springframework.web.bind.annotation.ResponseBody
;
@Controller
@Controller
@RequestMapping
(
"orderMember"
)
@RequestMapping
(
"orderMember"
)
@Api
(
value
=
"会员订单"
,
tags
=
{
"会员订单"
})
@Api
(
value
=
"会员订单"
,
tags
=
{
"会员订单"
})
@IgnoreClientToken
@IgnoreClientToken
public
class
OrderMemberController
extends
BaseController
<
OrderMemberDetailBiz
,
OrderMemberDetail
>
{
public
class
OrderMemberController
extends
BaseController
<
OrderMemberDetailBiz
,
OrderMemberDetail
>
{
@Autowired
@Autowired
OrderMemberService
orderMemberService
;
OrderMemberService
orderMemberService
;
...
@@ -33,10 +34,10 @@ public class OrderMemberController extends BaseController<OrderMemberDetailBiz,O
...
@@ -33,10 +34,10 @@ public class OrderMemberController extends BaseController<OrderMemberDetailBiz,O
@Autowired
@Autowired
UserFeign
userFeign
;
UserFeign
userFeign
;
@RequestMapping
(
value
=
"add"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"add"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
@ResponseBody
@ApiOperation
(
value
=
"确认会员订单"
)
@ApiOperation
(
value
=
"确认会员订单"
)
public
ObjectRestResponse
<
BaseOrder
>
add
(
@RequestBody
AddMemberDTO
dto
){
public
ObjectRestResponse
<
BaseOrder
>
add
(
@RequestBody
AddMemberDTO
dto
)
{
MemberBO
bo
=
BeanUtil
.
toBean
(
dto
,
MemberBO
.
class
);
MemberBO
bo
=
BeanUtil
.
toBean
(
dto
,
MemberBO
.
class
);
//查询会员等级实体
//查询会员等级实体
...
@@ -52,4 +53,22 @@ public class OrderMemberController extends BaseController<OrderMemberDetailBiz,O
...
@@ -52,4 +53,22 @@ public class OrderMemberController extends BaseController<OrderMemberDetailBiz,O
return
ObjectRestResponse
.
succ
(
bo
.
getOrder
());
return
ObjectRestResponse
.
succ
(
bo
.
getOrder
());
}
}
/**
* 会员订单列表
*
* @param memberOrderFindDTO
* @return
*/
@PostMapping
(
"/page"
)
@ResponseBody
public
ObjectRestResponse
<
MemberOrderPageVo
>
listMemberOrderPage
(
@RequestBody
MemberOrderFindDTO
memberOrderFindDTO
)
{
MemberOrderPageVo
memberOrderPageVo
=
orderMemberService
.
listMemberOrderPage
(
memberOrderFindDTO
);
return
ObjectRestResponse
.
succ
(
memberOrderPageVo
);
}
@PostMapping
(
"/export"
)
@ResponseBody
public
void
exportMemberOrders
(
@RequestBody
MemberOrderFindDTO
memberOrderFindDTO
,
HttpServletResponse
response
){
// orderMemberService.exportMemberOrderData(memberOrderFindDTO);
}
}
}
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/service/OrderMemberService.java
View file @
912438e7
package
com
.
xxfc
.
platform
.
order
.
service
;
package
com
.
xxfc
.
platform
.
order
.
service
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.poi.excel.ExcelUtil
;
import
cn.hutool.poi.excel.ExcelWriter
;
import
com.github.wxiaoqi.security.admin.bo.UserBo
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface
;
import
com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
import
com.github.wxiaoqi.security.auth.client.config.UserAuthConfig
;
import
com.github.wxiaoqi.security.common.context.BaseContextHandler
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.util.excel.ExcelExport
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.util.process.ResultCode
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.order.biz.BaseOrderBiz
;
import
com.xxfc.platform.order.biz.OrderCostDetailBiz
;
import
com.xxfc.platform.order.biz.OrderCostDetailBiz
;
import
com.xxfc.platform.order.biz.OrderMemberDetailBiz
;
import
com.xxfc.platform.order.biz.OrderMemberDetailBiz
;
import
com.xxfc.platform.order.biz.OrderTemplateBiz
;
import
com.xxfc.platform.order.biz.OrderTemplateBiz
;
import
com.xxfc.platform.order.contant.enumerate.ItemTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.ItemTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderStatusEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.contant.enumerate.OrderTypeEnum
;
import
com.xxfc.platform.order.entity.BaseOrder
;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.entity.OrderItem
;
import
com.xxfc.platform.order.pojo.dto.MemberOrderBo
;
import
com.xxfc.platform.order.pojo.dto.MemberOrderFindDTO
;
import
com.xxfc.platform.order.pojo.dto.MemberOrderStatisticsBo
;
import
com.xxfc.platform.order.pojo.order.MemberBO
;
import
com.xxfc.platform.order.pojo.order.MemberBO
;
import
com.xxfc.platform.order.pojo.price.OrderPriceVO
;
import
com.xxfc.platform.order.pojo.price.OrderPriceVO
;
import
com.xxfc.platform.order.pojo.vo.MemberOrderPageVo
;
import
com.xxfc.platform.tour.feign.TourFeign
;
import
com.xxfc.platform.tour.feign.TourFeign
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.constant.DictionaryKey
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
com.xxfc.platform.vehicle.feign.VehicleFeign
;
import
lombok.extern.log4j.Log4j
;
import
lombok.extern.log4j.Log4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.ss.usermodel.*
;
import
org.apache.poi.ss.util.CellRangeAddress
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.PostConstruct
;
import
javax.annotation.PostConstruct
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.FileOutputStream
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.time.Instant
;
import
java.util.HashMap
;
import
java.time.LocalDate
;
import
java.util.HashSet
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
...
@@ -51,6 +69,12 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
...
@@ -51,6 +69,12 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
@Autowired
@Autowired
ThirdFeign
thirdFeign
;
ThirdFeign
thirdFeign
;
@Autowired
private
BaseOrderBiz
baseOrderBiz
;
@Autowired
private
UserFeign
userFeign
;
private
static
Integer
IS_CHILD
=
1
;
private
static
Integer
IS_CHILD
=
1
;
private
static
Integer
LEVEL_DEFAULT
=
0
;
private
static
Integer
LEVEL_DEFAULT
=
0
;
...
@@ -73,7 +97,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
...
@@ -73,7 +97,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
public
HttpServletRequest
request
;
public
HttpServletRequest
request
;
@PostConstruct
@PostConstruct
public
void
init
(){
public
void
init
()
{
this
.
orderTypeEnum
=
OrderTypeEnum
.
MEMBER
;
this
.
orderTypeEnum
=
OrderTypeEnum
.
MEMBER
;
}
}
...
@@ -82,8 +106,8 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
...
@@ -82,8 +106,8 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
super
.
initDetail
(
bo
);
super
.
initDetail
(
bo
);
initDictionary
();
initDictionary
();
BaseUserMemberLevel
buml
=
userFeign
.
level
(
bo
.
getMemberLevel
());
BaseUserMemberLevel
buml
=
userFeign
.
level
(
bo
.
getMemberLevel
());
if
(!
bo
.
getMemberLevelId
().
equals
(
buml
.
getId
()))
{
if
(!
bo
.
getMemberLevelId
().
equals
(
buml
.
getId
()))
{
throw
new
BaseException
(
ResultCode
.
PARAM_ILLEGAL_CODE
,
new
HashSet
<
String
>(){{
throw
new
BaseException
(
ResultCode
.
PARAM_ILLEGAL_CODE
,
new
HashSet
<
String
>()
{{
add
(
"MemberLevelId 和 MemberLevel不对称"
);
add
(
"MemberLevelId 和 MemberLevel不对称"
);
}});
}});
}
}
...
@@ -94,7 +118,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
...
@@ -94,7 +118,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
public
void
initDictionary
()
{
public
void
initDictionary
()
{
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
dictionaryMap
=
thirdFeign
.
dictionaryGetAll4Map
().
getData
();
this
.
autoCancelTime
=
Long
.
valueOf
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_MEMBER
).
getDetail
());
this
.
autoCancelTime
=
Long
.
valueOf
(
dictionaryMap
.
get
(
APP_ORDER
+
"_"
+
DictionaryKey
.
ACT_MEMBER
).
getDetail
());
}
}
@Override
@Override
...
@@ -110,7 +134,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
...
@@ -110,7 +134,7 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
BigDecimal
amount
=
memberItem
.
getTotalAmount
();
BigDecimal
amount
=
memberItem
.
getTotalAmount
();
//如果有使用优惠券,则扣减
//如果有使用优惠券,则扣减
if
(
BigDecimal
.
ZERO
.
compareTo
(
bo
.
getOrder
().
getCouponAmount
())
<
0
)
{
if
(
BigDecimal
.
ZERO
.
compareTo
(
bo
.
getOrder
().
getCouponAmount
())
<
0
)
{
activityFeign
.
use
(
bo
.
getOrder
().
getUserId
(),
bo
.
getTickerNo
(),
bo
.
getOrder
().
getNo
(),
channel
,
amount
,
ActivityFeign
.
TYPE_USE
);
activityFeign
.
use
(
bo
.
getOrder
().
getUserId
(),
bo
.
getTickerNo
(),
bo
.
getOrder
().
getNo
(),
channel
,
amount
,
ActivityFeign
.
TYPE_USE
);
}
}
...
@@ -144,9 +168,9 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
...
@@ -144,9 +168,9 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
goodsAmount
=
goodsAmount
.
add
(
memberOrderItem
.
getCalculateAmount
(
Boolean
.
TRUE
));
goodsAmount
=
goodsAmount
.
add
(
memberOrderItem
.
getCalculateAmount
(
Boolean
.
TRUE
));
//vehicleAmount 优惠券处理
//vehicleAmount 优惠券处理
if
(
null
!=
detail
.
getTickerNo
()
&&
detail
.
getTickerNo
().
size
()
>
0
)
{
if
(
null
!=
detail
.
getTickerNo
()
&&
detail
.
getTickerNo
().
size
()
>
0
)
{
couponAmount
=
activityFeign
.
use
(
detail
.
getOrder
().
getUserId
(),
detail
.
getTickerNo
(),
detail
.
getOrder
().
getNo
(),
channel
,
goodsAmount
,
ActivityFeign
.
TYPE_NO_USE
);
couponAmount
=
activityFeign
.
use
(
detail
.
getOrder
().
getUserId
(),
detail
.
getTickerNo
(),
detail
.
getOrder
().
getNo
(),
channel
,
goodsAmount
,
ActivityFeign
.
TYPE_NO_USE
);
if
(
couponAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
if
(
couponAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
detail
.
getOrder
().
setCouponTickerNos
(
detail
.
getTickerNo
().
stream
().
collect
(
Collectors
.
joining
(
","
)));
detail
.
getOrder
().
setCouponTickerNos
(
detail
.
getTickerNo
().
stream
().
collect
(
Collectors
.
joining
(
","
)));
detail
.
getOrder
().
setHasDiscount
(
SYS_TRUE
);
detail
.
getOrder
().
setHasDiscount
(
SYS_TRUE
);
memberOrderItem
.
handleCouponAmount
(
couponAmount
);
memberOrderItem
.
handleCouponAmount
(
couponAmount
);
...
@@ -167,4 +191,219 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
...
@@ -167,4 +191,219 @@ public class OrderMemberService extends AbstractOrderHandle<OrderMemberDetailBiz
return
opv
;
return
opv
;
}
}
/**
* 导出数据
* @param memberOrderFindDTO
*/
public
void
exportMemberOrderData
(
MemberOrderFindDTO
memberOrderFindDTO
)
throws
Exception
{
MemberOrderPageVo
memberOrderPageVo
=
listMemberOrderPage
(
memberOrderFindDTO
);
List
<
MemberOrderBo
>
memberOrderBoList
=
memberOrderPageVo
.
getMemberOrderPage
().
getData
();
MemberOrderStatisticsBo
memberOrderStatisticsBo
=
memberOrderPageVo
.
getMemberOrderStatisticsBo
();
FileOutputStream
fileOutputStream
=
new
FileOutputStream
(
"ts.xlsx"
);
ExcelExport
excelExport
=
new
ExcelExport
();
Workbook
workbook
=
excelExport
.
getWorkbook
();
Sheet
sheet
=
workbook
.
createSheet
();
CellStyle
cellStyleHeader01
=
workbook
.
createCellStyle
();
cellStyleHeader01
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
sheet
.
autoSizeColumn
(
9
);
Row
row1
=
sheet
.
createRow
(
0
);
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"YYYYMMddHHmmss"
);
createHeader
(
row1
,
0
,
new
String
[]{
dateTimeFormatter
.
format
(
LocalDateTime
.
now
())+
"会员订单列表"
},
cellStyleHeader01
);
CellRangeAddress
cellRangeAddress
=
new
CellRangeAddress
(
0
,
0
,
0
,
9
);
sheet
.
addMergedRegion
(
cellRangeAddress
);
Row
row2
=
sheet
.
createRow
(
1
);
Cell
row2_cell1
=
row2
.
createCell
(
0
);
row2_cell1
.
setCellValue
(
"统计"
);
row2_cell1
.
setCellStyle
(
cellStyleHeader01
);
CellRangeAddress
cellRangeAddress2
=
new
CellRangeAddress
(
1
,
2
,
0
,
0
);
sheet
.
addMergedRegion
(
cellRangeAddress2
);
String
[]
header2
=
new
String
[]{
"会员订单总数(单)"
,
"会员订单总额(元)"
,
"钻石会员订单(单)"
,
"钻石会员订单总额(元)"
,
"黄金会员订单(单)"
,
"黄金会员订单总额(元)"
,
"普通会员订单(单)"
,
"普通会员订单总额(元)"
};
createHeader
(
row2
,
1
,
header2
,
cellStyleHeader01
);
String
[]
countData
=
getData
(
memberOrderStatisticsBo
);
Row
row4
=
sheet
.
createRow
(
2
);
createCellCount
(
row4
,
1
,
countData
,
cellStyleHeader01
);
Row
row5
=
sheet
.
createRow
(
4
);
String
[]
header3
=
new
String
[]{
"订单号"
,
"创建时间"
,
"订单状态"
,
"名称"
,
"用户姓名"
,
"手机号"
,
"上级姓名/手机号"
,
"促成人姓名/手机号"
,
"订单价格(元)"
,
"优惠金额(元)"
,
"实付金额(元)"
,
"支付时间"
};
CellRangeAddress
cellRangeAddress3
=
new
CellRangeAddress
(
3
,
3
,
0
,
header3
.
length
);
sheet
.
addMergedRegion
(
cellRangeAddress3
);
createHeader
(
row5
,
0
,
header3
,
cellStyleHeader01
);
workbook
.
write
(
fileOutputStream
);
fileOutputStream
.
close
();
workbook
.
close
();
}
private
String
[]
getData
(
MemberOrderStatisticsBo
memberOrderStatisticsBo
){
String
totalAmount
=
String
.
valueOf
(
memberOrderStatisticsBo
.
getTotalAmount
());
String
totalDiamondAmount
=
String
.
valueOf
(
memberOrderStatisticsBo
.
getDiamondOrderNum
());
String
totalGoldAmount
=
String
.
valueOf
(
memberOrderStatisticsBo
.
getTotalGoldAmount
());
String
totalGeneralAmount
=
String
.
valueOf
(
memberOrderStatisticsBo
.
getTotalGeneralAmount
());
return
new
String
[]{
totalAmount
,
totalDiamondAmount
,
totalGoldAmount
,
totalGeneralAmount
};
}
private
void
createHeader
(
Row
row
,
int
cellStartIndex
,
String
[]
header
,
CellStyle
cellStyle
){
for
(
int
i
=
0
;
i
<
header
.
length
;
i
++){
Cell
cell
=
row
.
createCell
(
cellStartIndex
);
cell
.
setCellValue
(
header
[
i
]);
cell
.
setCellStyle
(
cellStyle
);
cellStartIndex
+=
1
;
}
}
private
void
createCellCount
(
Row
row
,
int
CellStartIndex
,
String
[]
data
,
CellStyle
cellStyle
){
for
(
int
i
=
CellStartIndex
,
y
=
0
;
i
<
data
.
length
;
i
++,
y
++){
Cell
cell
=
row
.
createCell
(
i
);
cell
.
setCellValue
(
Objects
.
toString
(
data
[
y
]));
cell
.
setCellStyle
(
cellStyle
);
}
}
public
MemberOrderPageVo
listMemberOrderPage
(
MemberOrderFindDTO
memberOrderFindDTO
)
{
MemberOrderPageVo
memberOrderPageVo
=
new
MemberOrderPageVo
();
MemberOrderStatisticsBo
memberOrderStatisticsBo
=
new
MemberOrderStatisticsBo
();
List
<
Integer
>
userIds
=
new
ArrayList
<>();
PageDataVO
<
MemberOrderBo
>
pageDataVO
=
new
PageDataVO
<>();
pageDataVO
.
setPageNum
(
memberOrderFindDTO
.
getPage
());
pageDataVO
.
setPageSize
(
memberOrderFindDTO
.
getLimit
());
pageDataVO
.
setData
(
Collections
.
EMPTY_LIST
);
String
name
=
memberOrderFindDTO
.
getLevel
()==
null
?
""
:
memberOrderFindDTO
.
getLevel
()==
1
?
"普通"
:
memberOrderFindDTO
.
getLevel
()==
2
?
"黄金"
:
memberOrderFindDTO
.
getLevel
()==
3
?
"钻石"
:
null
;
memberOrderFindDTO
.
setLevelName
(
name
);
if
(
Objects
.
nonNull
(
memberOrderFindDTO
.
getEndPayTime
())){
Long
payEndTime
=
memberOrderFindDTO
.
getEndPayTime
()+(
1000
*
60
*
60
*
24
);
memberOrderFindDTO
.
setEndPayTime
(
payEndTime
);
}
boolean
isNoNullUserName
=
StringUtils
.
isNotEmpty
(
memberOrderFindDTO
.
getName
())
&&
memberOrderFindDTO
.
getName
().
trim
().
length
()
>
0
;
boolean
isNoNullPhone
=
StringUtils
.
isNotEmpty
(
memberOrderFindDTO
.
getPhone
())
&&
memberOrderFindDTO
.
getPhone
().
trim
().
length
()
>
0
;
boolean
isNoNullLeaderPhone
=
StringUtils
.
isNotEmpty
(
memberOrderFindDTO
.
getLeaderPhone
())
&&
memberOrderFindDTO
.
getLeaderPhone
().
trim
().
length
()
>
0
;
if
(
isNoNullLeaderPhone
||
isNoNullPhone
||
isNoNullUserName
)
{
userIds
=
userFeign
.
findAppUserIds
(
memberOrderFindDTO
.
getPhone
(),
memberOrderFindDTO
.
getLeaderPhone
(),
memberOrderFindDTO
.
getName
());
if
(
CollectionUtils
.
isEmpty
(
userIds
)){
memberOrderPageVo
.
setMemberOrderStatisticsBo
(
memberOrderStatisticsBo
);
memberOrderPageVo
.
setMemberOrderPage
(
pageDataVO
);
return
memberOrderPageVo
;
}
}
if
(
memberOrderFindDTO
.
getPage
()
==
1
){
memberOrderFindDTO
.
setUserIds
(
userIds
);
memberOrderFindDTO
.
setIsPay
(
true
);
List
<
MemberOrderBo
>
baseOrders
=
baseOrderBiz
.
findMemberOrders
(
memberOrderFindDTO
);
memberOrderStatisticsBo
=
getMemberOrderStatisticsBo
(
baseOrders
);
}
memberOrderFindDTO
.
setIsPay
(
false
);
memberOrderPageVo
.
setMemberOrderStatisticsBo
(
memberOrderStatisticsBo
);
List
<
MemberOrderBo
>
memberOrderBoList
;
if
(!
memberOrderFindDTO
.
getIsExport
()){
memberOrderFindDTO
.
setUserIds
(
userIds
);
pageDataVO
=
baseOrderBiz
.
findMemberOrderPage
(
memberOrderFindDTO
);
memberOrderBoList
=
pageDataVO
.
getData
();
if
(
CollectionUtils
.
isEmpty
(
memberOrderBoList
)){
memberOrderPageVo
.
setMemberOrderStatisticsBo
(
memberOrderStatisticsBo
);
memberOrderPageVo
.
setMemberOrderPage
(
pageDataVO
);
return
memberOrderPageVo
;
}
}
else
{
memberOrderFindDTO
.
setUserIds
(
userIds
);
memberOrderBoList
=
baseOrderBiz
.
findMemberOrders
(
memberOrderFindDTO
);
}
memberOrderBoList
=
getUserBos
(
memberOrderBoList
);
pageDataVO
.
setData
(
memberOrderBoList
);
memberOrderPageVo
.
setMemberOrderPage
(
pageDataVO
);
return
memberOrderPageVo
;
}
private
List
<
MemberOrderBo
>
getUserBos
(
List
<
MemberOrderBo
>
memberOrderBoList
)
{
List
<
UserBo
>
userBos
=
memberOrderBoList
.
stream
().
map
(
x
->
{
UserBo
userBo
=
new
UserBo
();
userBo
.
setUserId
(
x
.
getUserId
());
userBo
.
setOrderNo
(
x
.
getOrderNo
());
userBo
.
setFacilitateId
(
x
.
getFacilitateId
());
return
userBo
;
}).
collect
(
Collectors
.
toList
());
List
<
UserBo
>
userDTOList
=
userFeign
.
findUserDetailByUserBo
(
userBos
);
Map
<
String
,
UserBo
>
userBoMap
=
userDTOList
.
stream
().
collect
(
Collectors
.
toMap
(
UserBo:
:
getOrderNo
,
Function
.
identity
()));
for
(
MemberOrderBo
memberOrderBo
:
memberOrderBoList
)
{
UserBo
userBo
=
userBoMap
.
get
(
memberOrderBo
.
getOrderNo
());
if
(
Objects
.
nonNull
(
userBo
))
{
memberOrderBo
.
setUserName
(
userBo
.
getName
());
memberOrderBo
.
setPhone
(
userBo
.
getPhone
());
memberOrderBo
.
setLeaderName
(
userBo
.
getLeaderName
());
memberOrderBo
.
setLeaderPhone
(
userBo
.
getLeaderPhone
());
memberOrderBo
.
setFacilitateName
(
userBo
.
getFacilitateName
());
memberOrderBo
.
setCouponAmount
(
memberOrderBo
.
getCouponAmount
()
==
null
?
BigDecimal
.
ZERO
:
memberOrderBo
.
getCouponAmount
());
memberOrderBo
.
setRealAmount
(
memberOrderBo
.
getRealAmount
()
==
null
?
BigDecimal
.
ZERO
:
memberOrderBo
.
getRealAmount
());
}
}
return
memberOrderBoList
;
}
private
MemberOrderStatisticsBo
getMemberOrderStatisticsBo
(
List
<
MemberOrderBo
>
baseOrders
){
MemberOrderStatisticsBo
memberOrderStatisticsBo
=
new
MemberOrderStatisticsBo
();
baseOrders
.
stream
().
peek
(
x
->{
if
(
x
.
getName
().
contains
(
"黄金"
)){
x
.
setDesc
(
"黄金"
);
}
if
(
x
.
getName
().
contains
(
"钻石"
)){
x
.
setDesc
(
"钻石"
);
}
if
(
x
.
getName
().
contains
(
"普通"
)){
x
.
setDesc
(
"普通"
);
}
}).
count
();
Map
<
String
,
List
<
MemberOrderBo
>>
baseOrderMap
=
baseOrders
.
stream
().
collect
(
Collectors
.
groupingBy
(
MemberOrderBo:
:
getDesc
,
Collectors
.
toList
()));
Map
<
String
,
List
<
MemberOrderBo
>>
baseOrderHasPayMap
=
baseOrders
.
stream
().
filter
(
x
->
x
.
getHasPay
()==
1
).
collect
(
Collectors
.
groupingBy
(
MemberOrderBo:
:
getDesc
,
Collectors
.
toList
()));
memberOrderStatisticsBo
.
setOrderNum
(
baseOrders
.
size
());
BigDecimal
totalAmount
=
baseOrders
.
stream
().
filter
(
x
->
x
.
getHasPay
()==
1
).
map
(
MemberOrderBo:
:
getOrderAmount
).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
memberOrderStatisticsBo
.
setTotalAmount
(
totalAmount
);
List
<
MemberOrderBo
>
diamondOrders
=
baseOrderMap
.
get
(
levelEnum
.
DIAMOND
.
getDesc
());
memberOrderStatisticsBo
.
setDiamondOrderNum
(
diamondOrders
==
null
?
0
:
diamondOrders
.
size
());
List
<
MemberOrderBo
>
diamondHashPayOrders
=
baseOrderHasPayMap
.
get
(
levelEnum
.
DIAMOND
.
getDesc
());
diamondHashPayOrders
=
diamondHashPayOrders
==
null
?
Collections
.
EMPTY_LIST
:
diamondHashPayOrders
;
BigDecimal
diamondAmount
=
diamondHashPayOrders
.
stream
().
map
(
MemberOrderBo:
:
getOrderAmount
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
memberOrderStatisticsBo
.
setTotalDiamondAmount
(
diamondAmount
);
List
<
MemberOrderBo
>
goldOrders
=
baseOrderMap
.
get
(
levelEnum
.
GOLD
.
getDesc
());
memberOrderStatisticsBo
.
setGoldOrderNum
(
goldOrders
==
null
?
0
:
goldOrders
.
size
());
List
<
MemberOrderBo
>
goldHasPayOrders
=
baseOrderHasPayMap
.
get
(
levelEnum
.
GOLD
.
getDesc
());
goldHasPayOrders
=
goldHasPayOrders
==
null
?
Collections
.
EMPTY_LIST
:
goldHasPayOrders
;
BigDecimal
goldAmount
=
goldHasPayOrders
.
stream
().
map
(
MemberOrderBo:
:
getOrderAmount
).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
memberOrderStatisticsBo
.
setTotalGoldAmount
(
goldAmount
);
List
<
MemberOrderBo
>
generalOrders
=
baseOrderMap
.
get
(
levelEnum
.
GENERAL
.
getDesc
());
memberOrderStatisticsBo
.
setGeneralOrderNum
(
generalOrders
==
null
?
0
:
generalOrders
.
size
());
List
<
MemberOrderBo
>
generalHasPayOrders
=
baseOrderMap
.
get
(
levelEnum
.
GENERAL
.
getDesc
());
generalHasPayOrders
=
generalHasPayOrders
==
null
?
Collections
.
EMPTY_LIST
:
generalHasPayOrders
;
BigDecimal
generalAmount
=
generalHasPayOrders
.
stream
().
map
(
MemberOrderBo:
:
getOrderAmount
).
reduce
(
BigDecimal
.
ZERO
,
(
x
,
y
)
->
x
.
add
(
y
));
memberOrderStatisticsBo
.
setTotalGeneralAmount
(
generalAmount
);
return
memberOrderStatisticsBo
;
}
private
enum
levelEnum
{
DIAMOND
(
"钻石"
),
GOLD
(
"黄金"
),
GENERAL
(
"普通"
);
levelEnum
(
String
desc
)
{
this
.
desc
=
desc
;
}
private
String
desc
;
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
}
}
}
xx-order/xx-order-server/src/main/resources/mapper/BaseOrderMapper.xml
View file @
912438e7
...
@@ -153,7 +153,8 @@
...
@@ -153,7 +153,8 @@
or t.start_time between #{startTime} and #{endTime})
or t.start_time between #{startTime} and #{endTime})
</if>
</if>
<if
test=
"vehicleIds != null and vehicleIds.size() > 0"
>
<if
test=
"vehicleIds != null and vehicleIds.size() > 0"
>
AND r.vehicle_id IN
<foreach
collection=
"vehicleIds"
item=
"vehicleId"
open=
"("
close=
")"
separator=
","
>
AND r.vehicle_id IN
<foreach
collection=
"vehicleIds"
item=
"vehicleId"
open=
"("
close=
")"
separator=
","
>
#{vehicleId}
#{vehicleId}
</foreach>
</foreach>
</if>
</if>
...
@@ -282,4 +283,64 @@
...
@@ -282,4 +283,64 @@
and r.start_time between #{startTime} and #{endTime}
and r.start_time between #{startTime} and #{endTime}
</if>
</if>
</select>
</select>
<select
id=
"findMemberOrders"
resultType=
"com.xxfc.platform.order.pojo.dto.MemberOrderBo"
>
SELECT
`id`,
`no` AS `orderNo`,
`name`,
`status`,
`goods_amount` AS `goodsAmount`,
`real_amount` AS `realAmount`,
`order_amount` AS `orderAmount`,
`crt_time` AS `creatTime`,
`pay_time` AS `payTime`,
`coupon_amount` AS `couponAmount`,
`user_id` AS `userId`,
`has_pay` AS `hasPay`,
`member_level` AS `memberLevel`,
`facilitate_id` AS `facilitateId`,
`facilitate_phone` AS `facilitatePhone`
FROM
`base_order`
WHERE
type = 3
<if
test=
"orderNo!=null and orderNo!=''"
>
and `no`=#{orderNo}
</if>
<if
test=
"state!=null"
>
and `status`=#{state}
</if>
<if
test=
"facilitatePhone!=null and facilitatePhone!=''"
>
and `facilitate_phone`=#{facilitatePhone}
</if>
<if
test=
"startOrderTime!=null and endOrderTime!=null"
>
and `crt_time` between #{startOrderTime} and #{endOrderTime}
</if>
<if
test=
"startOrderTime!=null and endOrderTime==null"
>
and `crt_time`
<![CDATA[>=#{startOrderTime}]]>
</if>
<if
test=
"endOrderTime!=null and startOrderTime==null"
>
and `crt_time`
<![CDATA[<=#{endOrderTime}]]>
</if>
<if
test=
"startPayTime!=null and endPayTime!=null"
>
and `pay_time` between #{startPayTime} and #{endPayTime}
</if>
<if
test=
"startPayTime!=null and endPayTime==null"
>
and `pay_time`
<![CDATA[>=#{startPayTime}]]>
</if>
<if
test=
"endPayTime!=null and startPayTime==null"
>
and `pay_time`
<![CDATA[<=#{endPayTime}]]>
</if>
<if
test=
"levelName!=null and levelName!=''"
>
and `name` like CONCAT('%',#{levelName},'%')
</if>
<if
test=
"userIds!=null and userIds.size()>0"
>
and `user_id` IN
<foreach
collection=
"userIds"
item=
"userId"
separator=
","
open=
"("
close=
")"
>
#{userId}
</foreach>
</if>
ORDER BY `crt_time` DESC
</select>
</mapper>
</mapper>
\ No newline at end of file
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleCataController.java
View file @
912438e7
...
@@ -225,7 +225,7 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
...
@@ -225,7 +225,7 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
try {
try {
vehiclePageQueryVo = JSON.parseObject(vehiclePageQueryVoJson, VehiclePageQueryVo.class);
vehiclePageQueryVo = JSON.parseObject(vehiclePageQueryVoJson, VehiclePageQueryVo.class);
User
DTO
userDTO = userFeign.userinfoByToken(userAuthConfig.getToken(request)).getData();
User
Bo
userDTO = userFeign.userinfoByToken(userAuthConfig.getToken(request)).getData();
if (userDTO != null) {
if (userDTO != null) {
if (userDTO.getDataAll() == 2) {
if (userDTO.getDataAll() == 2) {
List<Integer> companyList = vehicleBiz.dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
List<Integer> companyList = vehicleBiz.dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
...
...
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