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
0c365595
Commit
0c365595
authored
Aug 14, 2019
by
周健威
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
9a7e6f13
e26419b9
Changes
48
Hide whitespace changes
Inline
Side-by-side
Showing
48 changed files
with
1032 additions
and
135 deletions
+1032
-135
ResultCode.java
...thub/wxiaoqi/security/common/util/process/ResultCode.java
+21
-0
resultcod.properties
...common/src/main/resources/properties/resultcod.properties
+24
-1
AppUserRelationBiz.java
...github/wxiaoqi/security/admin/biz/AppUserRelationBiz.java
+1
-1
WaterMQHandler.java
...github/wxiaoqi/security/admin/handler/WaterMQHandler.java
+1
-0
UserController.java
...om/github/wxiaoqi/security/admin/rest/UserController.java
+6
-5
ActivityListDTO.java
.../java/com/xxfc/platform/activity/dto/ActivityListDTO.java
+17
-0
ActivityPopularizeRelationDTO.java
.../platform/activity/dto/ActivityPopularizeRelationDTO.java
+31
-0
ActivityFeign.java
.../java/com/xxfc/platform/activity/feign/ActivityFeign.java
+16
-5
ActivityListBiz.java
.../java/com/xxfc/platform/activity/biz/ActivityListBiz.java
+13
-0
ActivityPopularizeRelationBiz.java
.../platform/activity/biz/ActivityPopularizeRelationBiz.java
+14
-0
ActivityPopularizeRelationMapper.java
...orm/activity/mapper/ActivityPopularizeRelationMapper.java
+7
-2
ActivityListController.java
...m/xxfc/platform/activity/rest/ActivityListController.java
+7
-0
ActivityPopularizeRelationController.java
...m/activity/rest/ActivityPopularizeRelationController.java
+13
-0
ActivityPopularizeRelationMapper.xml
...ain/resources/mapper/ActivityPopularizeRelationMapper.xml
+28
-0
BackStageOrderController.java
...om/xxfc/platform/order/rest/BackStageOrderController.java
+29
-4
BaseOrderMapper.xml
...rder-server/src/main/resources/mapper/BaseOrderMapper.xml
+6
-2
TourGoodController.java
.../java/com/xxfc/platform/tour/rest/TourGoodController.java
+1
-1
pom.xml
xx-user-behavior-collect/pom.xml
+4
-11
pom.xml
xx-user-behavior-collect/xx-user-behavior-api/pom.xml
+3
-9
BehaviorEnum.java
.../com/xxfc/platform/user/behavior/common/BehaviorEnum.java
+26
-6
ActivityBehaviorDTO.java
.../xxfc/platform/user/behavior/dto/ActivityBehaviorDTO.java
+15
-0
ActivityBehaviorRelationDTO.java
...atform/user/behavior/dto/ActivityBehaviorRelationDTO.java
+31
-0
BehaviorTypeDTO.java
.../com/xxfc/platform/user/behavior/dto/BehaviorTypeDTO.java
+15
-0
ActivityBehavior.java
.../xxfc/platform/user/behavior/entity/ActivityBehavior.java
+26
-0
ActivityBehaviorRelation.java
...atform/user/behavior/entity/ActivityBehaviorRelation.java
+42
-0
BehaviorType.java
.../com/xxfc/platform/user/behavior/entity/BehaviorType.java
+26
-0
CustomerBehaviorNotes.java
.../platform/user/behavior/entity/CustomerBehaviorNotes.java
+14
-0
BehaviorNoteCollectVo.java
...xxfc/platform/user/behavior/vo/BehaviorNoteCollectVo.java
+46
-0
pom.xml
xx-user-behavior-collect/xx-user-behavior-server/pom.xml
+29
-8
UserBeHaviorApplication.java
.../xxfc/platform/user/behavior/UserBeHaviorApplication.java
+2
-0
ActivityBehaviorBiz.java
.../xxfc/platform/user/behavior/biz/ActivityBehaviorBiz.java
+23
-0
ActivityBehaviorRelationBiz.java
...atform/user/behavior/biz/ActivityBehaviorRelationBiz.java
+23
-0
BehaviorTypeBiz.java
.../com/xxfc/platform/user/behavior/biz/BehaviorTypeBiz.java
+24
-0
CustomerBehaviorNotesBiz.java
.../platform/user/behavior/biz/CustomerBehaviorNotesBiz.java
+215
-6
ActivityBehaviorMapper.java
...platform/user/behavior/mapper/ActivityBehaviorMapper.java
+26
-0
ActivityBehaviorRelationMapper.java
.../user/behavior/mapper/ActivityBehaviorRelationMapper.java
+28
-0
BehaviorTypeMapper.java
...xfc/platform/user/behavior/mapper/BehaviorTypeMapper.java
+28
-0
CustomerBehaviorNotesMapper.java
...orm/user/behavior/mapper/CustomerBehaviorNotesMapper.java
+9
-1
CustomerBehaviorNotesController.java
...m/user/behavior/rest/CustomerBehaviorNotesController.java
+2
-2
CustomerBehaviorNotesAdminController.java
...vior/rest/admin/CustomerBehaviorNotesAdminController.java
+13
-3
CustomerBehaviorNotesMapper.xml
...src/main/resources/mapper/CustomerBehaviorNotesMapper.xml
+36
-1
ResCode.java
...a/com/xxfc/platform/vehicle/constant/ResCode/ResCode.java
+1
-0
ConstantBiz.java
.../main/java/com/xxfc/platform/vehicle/biz/ConstantBiz.java
+6
-6
SysRegionBiz.java
...main/java/com/xxfc/platform/vehicle/biz/SysRegionBiz.java
+2
-2
VehicleBiz.java
...c/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
+74
-46
VehicleBookHourInfoBiz.java
...com/xxfc/platform/vehicle/biz/VehicleBookHourInfoBiz.java
+4
-4
VehicleBookRecordBiz.java
...a/com/xxfc/platform/vehicle/biz/VehicleBookRecordBiz.java
+1
-2
VehicleCataController.java
...com/xxfc/platform/vehicle/rest/VehicleCataController.java
+3
-7
No files found.
ace-common/src/main/java/com/github/wxiaoqi/security/common/util/process/ResultCode.java
View file @
0c365595
...
...
@@ -23,6 +23,27 @@ public class ResultCode {
// 预定时间不能小于当前时间
public
static
int
ONLY_BOOK_FROM_TODAY
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"ONLY_BOOK_FROM_TODAY"
));
// 只能预定两个月内的车辆
public
static
int
ONLY_BOOK_TWO_MONTH
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"ONLY_BOOK_TWO_MONTH"
));
// 只能取消预定两个月内的车辆
public
static
int
ONLY_UNBOOK_TWO_MONTH
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"ONLY_UNBOOK_TWO_MONTH"
));
// 添加车辆太多
public
static
int
ADD_VEHICLE_MORE
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"ADD_VEHICLE_MORE"
));
// 停靠公司不能为空
public
static
int
RET_COMPANY_CAN_NOT_BE_NULL
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"RET_COMPANY_CAN_NOT_BE_NULL"
));
// 车牌不能为空
public
static
int
NUMBER_PLAT_CAN_NOT_BE_NULL
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"NUMBER_PLAT_CAN_NOT_BE_NULL"
));
// 选择日期不可取消预定
public
static
int
VEHICLE_CAN_NOT_UNBOOK
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"VEHICLE_CAN_NOT_UNBOOK"
));
//预定日期为空
public
static
int
BOOKED_DATE_IS_EMPTY
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"BOOKED_DATE_IS_EMPTY"
));
public
static
int
TODAY_CAN_NOT_BOOK
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"TODAY_CAN_NOT_BOOK"
));
// 添加车辆失败,请重试
public
static
int
ADD_VEHICLE_FAIL
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"ADD_VEHICLE_FAIL"
));
...
...
ace-common/src/main/resources/properties/resultcod.properties
View file @
0c365595
...
...
@@ -214,7 +214,7 @@ BOOKED_FAILED_CODE = 4007
4007
=
车辆预定失败,请重试!
ONLY_BOOK_FROM_TODAY
=
4008
4008
=
预定时间不能小于当前时间
4008
=
取消或
预定时间不能小于当前时间
ADD_VEHICLE_FAIL
=
4009
4009
=
添加车辆失败,请重试
...
...
@@ -225,3 +225,26 @@ UPDATE_VEHICLE_FAIL = 4010
DATE_TIME_IS_NULL
=
4011
4011
=
预定时间不能为空
ONLY_BOOK_TWO_MONTH
=
4012
4012
=
只能预定两月内的车辆
ONLY_UNBOOK_TWO_MONTH
=
4013
4013
=
只能取消预定两月内的车辆
VEHICLE_CAN_NOT_UNBOOK
=
4014
4014
=
选择日期不可取消预定
BOOKED_DATE_IS_EMPTY
=
4015
4015
=
预定日期为空
TODAY_CAN_NOT_BOOK
=
4016
4016
=
当天不可预定
ADD_VEHICLE_MORE
=
4017
4017
=
添加车辆过多,请分批添加
RET_COMPANY_CAN_NOT_BE_NULL
=
4018
4018
=
停靠公司不能为空
NUMBER_PLAT_CAN_NOT_BE_NULL
=
4019
4019
=
车牌不能为空
\ No newline at end of file
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserRelationBiz.java
View file @
0c365595
...
...
@@ -88,7 +88,7 @@ public class AppUserRelationBiz extends BaseBiz<AppUserRelationMapper,AppUserRel
}
else
{
//判断用户是否有有效的上线
log
.
info
(
"----userId==="
+
userId
+
"----bindTime===="
+
bindTime
+
"----relation.getBindTime()==="
+
relation
.
getBindTime
());
if
(
relation
.
getParentId
()==
null
||
relation
.
getParentId
()==
0
||(
relation
.
getIsForever
()!=
1
&&
relation
.
getBindTime
()<
bindTime
)){
if
(
relation
.
getParentId
()==
null
||
relation
.
getParentId
()==
0
||(
relation
.
getIsForever
()!=
1
&&
validTime
>
0
&&
relation
.
getBindTime
()<
bindTime
)){
relation
.
setParentId
(
parentId
);
relation
.
setBindType
(
type
);
relation
.
setBindTime
(
time
);
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/handler/WaterMQHandler.java
View file @
0c365595
...
...
@@ -42,6 +42,7 @@ public class WaterMQHandler {
*/
@RabbitListener
(
queues
=
ORDER_WATER_QUEUE
)
public
void
integralHandler
(
Message
message
,
@Headers
Map
<
String
,
Object
>
headers
,
Channel
channel
)
{
log
.
info
(
"拥金队列 messageJson:"
+
JSONUtil
.
parse
(
message
));
ExecutorService
executorService
=
Executors
.
newCachedThreadPool
();
executorService
.
execute
(
new
Runnable
()
{
@Override
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/UserController.java
View file @
0c365595
...
...
@@ -16,6 +16,7 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import
com.github.wxiaoqi.security.common.msg.TableResultResponse
;
import
com.github.wxiaoqi.security.common.rest.CommonBaseController
;
import
com.github.wxiaoqi.security.common.util.Query
;
import
com.xxfc.platform.vehicle.constant.ResCode.ResCode
;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -78,13 +79,13 @@ public class UserController extends CommonBaseController {
if
(
StringUtils
.
isNotBlank
(
username
))
{
List
<
User
>
list
=
userBiz
.
getCountByUsername
(
username
);
if
(
list
.
size
()
>
0
)
{
throw
new
RuntimeException
(
"用户名不能重复"
);
}
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
USER_IS_EXIST
.
getCode
(),
ResCode
.
USER_IS_EXIST
.
getDesc
()
);
}
}
userBiz
.
insertSelective
(
vo
);
//添加权限关系
groupBiz
.
modifyUserGroups
(
vo
.
getId
(),
vo
.
getMembers
());
return
new
ObjectRestResponse
();
return
ObjectRestResponse
.
succ
();
}
private
void
handleDataLimit
(
@RequestBody
UserVO
dto
)
{
...
...
@@ -166,12 +167,12 @@ public class UserController extends CommonBaseController {
if
(
StringUtils
.
isNotBlank
(
username
))
{
List
<
User
>
list
=
userBiz
.
getCountByUsername
(
username
);
if
(
list
.
size
()
>
1
)
{
throw
new
RuntimeException
(
"用户名不能重复"
);
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
USER_IS_EXIST
.
getCode
(),
ResCode
.
USER_IS_EXIST
.
getDesc
()
);
}
if
(
list
.
size
()
==
1
)
{
User
user
=
list
.
get
(
0
);
if
(!
user
.
getId
().
equals
(
vo
.
getId
()))
{
throw
new
RuntimeException
(
"用户名不能重复"
);
return
ObjectRestResponse
.
createFailedResult
(
ResCode
.
USER_IS_EXIST
.
getCode
(),
ResCode
.
USER_IS_EXIST
.
getDesc
()
);
}
}
}
...
...
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/dto/ActivityListDTO.java
0 → 100644
View file @
0c365595
package
com
.
xxfc
.
platform
.
activity
.
dto
;
import
lombok.Data
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/13 9:59
*/
@Data
public
class
ActivityListDTO
{
private
Long
activity_startTime
;
private
Long
activity_endTime
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/dto/ActivityPopularizeRelationDTO.java
0 → 100644
View file @
0c365595
package
com
.
xxfc
.
platform
.
activity
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/12 19:01
*/
@Data
public
class
ActivityPopularizeRelationDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主用户
*/
@ApiModelProperty
(
value
=
"主用户"
)
private
Integer
majorUserId
;
/**
* 次要用户
*/
@ApiModelProperty
(
value
=
"次要用户"
)
private
Integer
minorUserId
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/feign/ActivityFeign.java
View file @
0c365595
...
...
@@ -2,6 +2,8 @@ package com.xxfc.platform.activity.feign;
import
com.github.wxiaoqi.security.admin.dto.UserInfoDTO
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.dto.ActivityListDTO
;
import
com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO
;
import
com.xxfc.platform.activity.entity.IntegralUserTotal
;
import
com.xxfc.platform.activity.vo.UserCouponVo
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -46,18 +48,27 @@ public interface ActivityFeign {
@ApiOperation
(
"优惠卷取消使用"
)
@RequestMapping
(
value
=
"/user/cancelUse"
,
method
=
RequestMethod
.
POST
)
public
ObjectRestResponse
cancelUse
(
@RequestParam
(
value
=
"TickerNo"
,
defaultValue
=
""
)
String
TickerNo
);
public
ObjectRestResponse
cancelUse
(
@RequestParam
(
value
=
"TickerNo"
,
defaultValue
=
""
)
String
TickerNo
);
@ApiOperation
(
"新人有礼参加活动"
)
@RequestMapping
(
value
=
"/join/user"
,
method
=
RequestMethod
.
POST
)
public
ObjectRestResponse
join
(
@RequestParam
(
value
=
"userId"
,
defaultValue
=
"0"
)
Integer
userId
);
public
ObjectRestResponse
join
(
@RequestParam
(
value
=
"userId"
,
defaultValue
=
"0"
)
Integer
userId
);
@ApiModelProperty
(
"获取用户积分"
)
@GetMapping
(
value
=
"/user/info"
)
public
UserInfoDTO
getUserInfo
(
@RequestParam
(
"userId"
)
Integer
userId
);
@ApiOperation
(
"清除数据"
)
@GetMapping
(
"/activity_data/clear"
)
ObjectRestResponse
<
Void
>
clearDate
(
@RequestParam
(
value
=
"userIds"
)
List
<
Integer
>
userIds
);
@ApiOperation
(
"清除数据"
)
@GetMapping
(
"/activity_data/clear"
)
ObjectRestResponse
<
Void
>
clearDate
(
@RequestParam
(
value
=
"userIds"
)
List
<
Integer
>
userIds
);
@ApiOperation
(
"查询活动邀请数据"
)
@GetMapping
(
"/activityPopularizeRelation/activity_popularize"
)
List
<
ActivityPopularizeRelationDTO
>
findActivityPopularizeRelationByActivityIdAndTime
(
@RequestParam
(
value
=
"activityId"
)
Integer
activityId
,
@RequestParam
(
value
=
"startTime"
,
required
=
false
)
Long
startTime
,
@RequestParam
(
value
=
"endTime"
,
required
=
false
)
Long
endTime
);
@ApiOperation
(
"查询活动的时间"
)
@GetMapping
(
"/activityList/time/{activityId}"
)
ActivityListDTO
findActivityStartTimeAndEndTimeById
(
@PathVariable
(
value
=
"activityId"
)
Integer
activityId
);
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityListBiz.java
View file @
0c365595
package
com
.
xxfc
.
platform
.
activity
.
biz
;
import
com.xxfc.platform.activity.dto.ActivityListDTO
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.activity.entity.ActivityList
;
...
...
@@ -10,6 +12,7 @@ import tk.mybatis.mapper.weekend.WeekendSqls;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.List
;
import
java.util.Objects
;
/**
* 活动(活动列表)
...
...
@@ -30,4 +33,14 @@ public class ActivityListBiz extends BaseBiz<ActivityListMapper,ActivityList> {
List
<
ActivityList
>
activityLists
=
selectByExample
(
exa
);
return
activityLists
;
}
public
ActivityListDTO
findActivityStartTimeAndEndTimeById
(
Integer
activityId
)
{
ActivityListDTO
activityListDTO
=
new
ActivityListDTO
();
ActivityList
activityList
=
mapper
.
selectByPrimaryKey
(
activityId
);
if
(
Objects
.
nonNull
(
activityList
)){
activityListDTO
.
setActivity_startTime
(
activityList
.
getStartTime
());
activityListDTO
.
setActivity_endTime
(
activityList
.
getEndTime
());
}
return
activityListDTO
;
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityPopularizeRelationBiz.java
View file @
0c365595
package
com
.
xxfc
.
platform
.
activity
.
biz
;
import
com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeRelation
;
import
com.xxfc.platform.activity.mapper.ActivityPopularizeRelationMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 活动的参与者关系表
*
...
...
@@ -15,4 +20,13 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
*/
@Service
public
class
ActivityPopularizeRelationBiz
extends
BaseBiz
<
ActivityPopularizeRelationMapper
,
ActivityPopularizeRelation
>
{
public
List
<
ActivityPopularizeRelationDTO
>
findActivityPopularizeRelationsByActivityIdAndTime
(
Integer
activityId
,
Long
startTime
,
Long
endTime
)
{
List
<
ActivityPopularizeRelationDTO
>
activityPopularizeRelationDTOS
=
new
ArrayList
<>();
List
<
ActivityPopularizeRelationDTO
>
relations
=
mapper
.
findActivityPopularizeRelationsByActivityIdAndTime
(
activityId
,
startTime
,
endTime
);
if
(
CollectionUtils
.
isNotEmpty
(
relations
)){
activityPopularizeRelationDTOS
.
addAll
(
relations
);
}
return
activityPopularizeRelationDTOS
;
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/mapper/ActivityPopularizeRelationMapper.java
View file @
0c365595
package
com
.
xxfc
.
platform
.
activity
.
mapper
;
import
com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeRelation
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
* 活动的参与者关系表
*
*
* @author zjw
* @email 18178966185@163.com
* @date 2019-07-17 19:51:17
*/
public
interface
ActivityPopularizeRelationMapper
extends
Mapper
<
ActivityPopularizeRelation
>
{
List
<
ActivityPopularizeRelationDTO
>
findActivityPopularizeRelationsByActivityIdAndTime
(
@Param
(
"activityId"
)
Integer
activityId
,
@Param
(
"startTime"
)
Long
startTime
,
@Param
(
"endTime"
)
Long
endTime
);
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/ActivityListController.java
View file @
0c365595
...
...
@@ -4,12 +4,14 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.activity.biz.ActivityListBiz
;
import
com.xxfc.platform.activity.biz.HomeActivitiesBiz
;
import
com.xxfc.platform.activity.dto.ActivityListDTO
;
import
com.xxfc.platform.activity.entity.ActivityList
;
import
com.xxfc.platform.activity.entity.ActivityManagement
;
import
com.xxfc.platform.activity.entity.HomeActivities
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -34,4 +36,9 @@ public class ActivityListController extends BaseController<ActivityListBiz,Activ
// List<ActivityList> list= baseBiz.activities();
return
ObjectRestResponse
.
succ
(
activities
);
}
@GetMapping
(
"/time/{activityId}"
)
public
ActivityListDTO
findActivityStartTimeAndEndTimeById
(
@PathVariable
(
value
=
"activityId"
)
Integer
activityId
){
return
baseBiz
.
findActivityStartTimeAndEndTimeById
(
activityId
);
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/ActivityPopularizeRelationController.java
View file @
0c365595
...
...
@@ -2,13 +2,26 @@ package com.xxfc.platform.activity.rest;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.activity.biz.ActivityPopularizeRelationBiz
;
import
com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeRelation
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
@RestController
@RequestMapping
(
"activityPopularizeRelation"
)
public
class
ActivityPopularizeRelationController
extends
BaseController
<
ActivityPopularizeRelationBiz
,
ActivityPopularizeRelation
>
{
@GetMapping
(
"/activity_popularize"
)
public
List
<
ActivityPopularizeRelationDTO
>
findActivityPopularizeRelationByActivityIdAndTime
(
@RequestParam
(
value
=
"activityId"
)
Integer
activityId
,
@RequestParam
(
value
=
"startTime"
,
required
=
false
)
Long
startTime
,
@RequestParam
(
value
=
"endTime"
,
required
=
false
)
Long
endTime
){
return
baseBiz
.
findActivityPopularizeRelationsByActivityIdAndTime
(
activityId
,
startTime
,
endTime
);
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/resources/mapper/ActivityPopularizeRelationMapper.xml
0 → 100644
View file @
0c365595
<?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.xxfc.platform.activity.mapper.ActivityPopularizeRelationMapper"
>
<!-- 可根据自己的需求,是否要使用 -->
<resultMap
type=
"com.xxfc.platform.activity.entity.ActivityPopularizeRelation"
id=
"activityPopularizeRelationMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
<result
property=
"updTime"
column=
"upd_time"
/>
<result
property=
"popularizeId"
column=
"popularize_id"
/>
<result
property=
"majorUserId"
column=
"major_user_id"
/>
<result
property=
"minorUserId"
column=
"minor_user_id"
/>
</resultMap>
<select
id=
"findActivityPopularizeRelationsByActivityIdAndTime"
resultMap=
"activityPopularizeRelationMap"
>
select * from `activity_popularize_relation` where `popularize_id`=#{activityId}
<if
test=
"startTime != null and endTime !=null"
>
and `crt_time` between #{startTime} and #{endTime}
</if>
<if
test=
"startTime != null and endTime == null"
>
and
<![CDATA[ `crt_time` >= #{startTime}]]>
</if>
<if
test=
"endTime != null and startTime ==null"
>
and
<![CDATA[ `crt_time` <= #{endTime}]]>
</if>
</select>
</mapper>
\ No newline at end of file
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/BackStageOrderController.java
View file @
0c365595
...
...
@@ -97,12 +97,19 @@ public class BackStageOrderController extends CommonBaseController implements Us
if
(
userIds
!=
null
&&
userIds
.
size
()
>
0
)
{
ObjectRestResponse
<
List
<
AppUserVo
>>
objectRestResponse
=
userFeign
.
getByUserIds
(
userIds
);
log
.
info
(
"获取用户信息:objectRestResponse = {}"
,
objectRestResponse
.
getData
());
Map
<
String
,
AppUserVo
>
appUserVoMap
=
objectRestResponse
.
getData
()
==
null
?
new
HashMap
<
String
,
AppUserVo
>()
:
objectRestResponse
.
getData
().
parallelStream
().
collect
(
Collectors
.
toMap
(
v
->
v
.
getUserid
().
toString
().
trim
(),
v
->
v
));
Map
<
Integer
,
AppUserVo
>
appvoMap
=
new
HashMap
<
Integer
,
AppUserVo
>();
if
(
objectRestResponse
.
getData
()
!=
null
)
{
for
(
AppUserVo
appUserVo
:
objectRestResponse
.
getData
())
{
if
(
appUserVo
!=
null
)
{
appvoMap
.
put
(
appUserVo
.
getUserid
(),
appUserVo
);
}
}
}
for
(
OrderListVo
orderPageVO
:
list
)
{
AppUserVo
appUserVo
=
app
UserVoMap
.
get
(
orderPageVO
.
getUserId
().
toString
());
if
(
null
!=
appUserVo
)
{
AppUserVo
appUserVo
=
app
voMap
.
get
(
orderPageVO
.
getUserId
());
if
(
appUserVo
!=
null
)
{
orderPageVO
.
setTelephone
(
appUserVo
.
getUsername
());
orderPageVO
.
setUsername
(
appUserVo
.
getNickname
());
}
...
...
@@ -174,6 +181,24 @@ public class BackStageOrderController extends CommonBaseController implements Us
dto
.
setEndTime
(
new
Date
().
getTime
());
}
}
UserDTO
userDTO
=
getAdminUserInfo
();
if
(
userDTO
==
null
)
{
return
ObjectRestResponse
.
succ
(
new
PageDataVO
<>());
}
List
<
BranchCompany
>
branchCompanies
=
vehicleFeign
.
companyAll
(
userDTO
.
getDataAll
(),
userDTO
.
getDataCompany
(),
userDTO
.
getDataZone
());
List
<
Integer
>
companyIds
=
branchCompanies
.
stream
().
map
(
BranchCompany:
:
getId
).
collect
(
Collectors
.
toList
());
if
(
dto
.
getStartCompanyId
()
!=
null
)
{
if
(
companyIds
.
size
()
>
0
)
{
if
(
companyIds
.
contains
(
dto
.
getStartCompanyId
()))
{
companyIds
.
clear
();
companyIds
.
add
(
dto
.
getStartCompanyId
());
}
else
{
return
ObjectRestResponse
.
succ
();
}
}
else
{
companyIds
.
add
(
dto
.
getStartCompanyId
());
}
}
Query
query
=
new
Query
(
dto
);
PageDataVO
<
OrderPageVO
>
pageDataVO
=
PageDataVO
.
pageInfo
(
query
,
()
->
baseOrderBiz
.
getRentVehicle
(
query
.
getSuper
()));
for
(
OrderPageVO
orderPageVO
:
pageDataVO
.
getData
())
{
...
...
xx-order/xx-order-server/src/main/resources/mapper/BaseOrderMapper.xml
View file @
0c365595
...
...
@@ -192,8 +192,12 @@
<if
test=
"startTime != null and (status == 5 || status == 6 || status == -1)"
>
and r.end_time between #{startTime} and #{endTime}
</if>
<if
test=
"startCompanyId != null"
>
and r.start_company_id = #{startCompanyId}
<if
test=
"companyIds != null and companyIds.size > 0"
>
and r.start_company_id in
<foreach
collection=
"companyIds"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</if>
<if
test=
"status == 4"
>
order by r.start_time
...
...
xx-tour/xx-tour-server/src/main/java/com/xxfc/platform/tour/rest/TourGoodController.java
View file @
0c365595
...
...
@@ -36,7 +36,7 @@ public class TourGoodController extends BaseController<TourGoodBiz, TourGood> {
public
ObjectRestResponse
<
TourGood
>
getGoodList
(
@RequestParam
(
value
=
"page"
,
required
=
true
)
Integer
page
,
@RequestParam
(
value
=
"limit"
,
defaultValue
=
"10"
)
Integer
limit
,
@RequestParam
(
value
=
"query"
,
required
=
false
)
String
query
,
@RequestParam
(
value
=
"latitude"
,
required
=
false
)
Double
latitude
,
@RequestParam
(
value
=
"longitude"
,
required
=
false
)
Double
longitude
,
@RequestParam
(
value
=
"tagId"
,
required
=
false
)
Integer
tagId
,
@RequestParam
(
value
=
"distance"
,
defaultValue
=
"
0.
00"
)
Double
distance
)
{
@RequestParam
(
value
=
"distance"
,
defaultValue
=
"
1
00"
)
Double
distance
)
{
return
baseBiz
.
getGoodList
(
page
,
limit
,
query
,
latitude
,
longitude
,
tagId
,
distance
);
}
...
...
xx-user-behavior-collect/pom.xml
View file @
0c365595
...
...
@@ -7,19 +7,12 @@
<groupId>
com.github.wxiaoqi
</groupId>
<version>
2.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
xx-user-behavior-collect
</artifactId>
<packaging>
pom
</packaging>
<groupId>
com.xxfc.platform
</groupId>
<modules>
<module>
xx-user-behavior-api
</module>
<module>
xx-user-behavior-server
</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
</plugins>
</build>
<modelVersion>
4.0.0
</modelVersion>
<packaging>
pom
</packaging>
<artifactId>
xx-behavior
</artifactId>
</project>
\ No newline at end of file
xx-user-behavior-collect/xx-user-behavior-api/pom.xml
View file @
0c365595
...
...
@@ -3,17 +3,11 @@
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<
artifactId>
xx-user-behavior-collect
</artifact
Id>
<
groupId>
com.github.wxiaoqi
</group
Id>
<
groupId>
com.xxfc.common
</group
Id>
<
artifactId>
xx-common-platform
</artifact
Id>
<version>
2.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
com.xxfc.platform
</groupId>
<artifactId>
xx-user-behavior-api
</artifactId>
<dependencies>
<dependency>
<groupId>
com.xxfc.common
</groupId>
<artifactId>
xx-common-platform
</artifactId>
<version>
2.0-SNAPSHOT
</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
xx-user-behavior-collect/xx-user-behavior-api/src/main/java/com/xxfc/platform/user/behavior/common/BehaviorEnum.java
View file @
0c365595
...
...
@@ -16,7 +16,7 @@ public enum BehaviorEnum {
/**
* 立即前往(弹窗)
*/
DIALOG_WINDOW_TO
(
1
,
"立即前往"
),
DIALOG_WINDOW_TO
(
1
,
"立即前往
(弹窗)
"
),
/**
* banner 点击
...
...
@@ -31,22 +31,42 @@ public enum BehaviorEnum {
/**
* 注册
*/
REGISTRY
(
4
,
"注册"
),
REGISTRY
(
4
,
"成功注册"
),
/**
* 活动页面访问量
*/
ACTIVITY_VISITS
(
5
,
"活动页面访问"
),
/**
* 领取任务
*/
CLAIM_TASK
(
5
,
"领取任务"
),
CLAIM_TASK
(
6
,
"领取任务"
),
/**
* 分享
*/
SHARE
(
6
,
"分享"
),
SHARE
(
7
,
"成功分享"
),
/**
* App访问
*/
APP_VISIT_COUNT
(
8
,
"App访问量"
),
/**
* 成功邀请人数
*/
SUCCESS_INVIT
(
9
,
"成功邀请人数"
),
/**
* 成功邀请人数大于10
*/
SUCCESS_MORE_10_INVIT
(
10
,
"成功邀请人数大于10"
),
/**
*
邀请
*
立即领取(活动详情页)
*/
I
NVITATION
(
7
,
"邀请
"
);
I
MMEDIATELY_TO_RECEIVE
(
11
,
"立即领取(活动详情页)
"
);
BehaviorEnum
(
int
code
,
String
name
)
{
this
.
code
=
code
;
...
...
xx-user-behavior-collect/xx-user-behavior-api/src/main/java/com/xxfc/platform/user/behavior/dto/ActivityBehaviorDTO.java
0 → 100644
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
dto
;
import
lombok.Data
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/13 14:16
*/
@Data
public
class
ActivityBehaviorDTO
{
private
Integer
activityId
;
private
Integer
behaviorTypeId
;
}
xx-user-behavior-collect/xx-user-behavior-api/src/main/java/com/xxfc/platform/user/behavior/dto/ActivityBehaviorRelationDTO.java
0 → 100644
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
dto
;
import
lombok.Data
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/13 17:05
*/
@Data
public
class
ActivityBehaviorRelationDTO
{
/**
* @see com.xxfc.platform.user.behavior.common.BehaviorEnum
* 行为类型
*/
private
Integer
type
;
/**
* 业务id (banner 精彩活动 app弹窗)
*/
private
Integer
bizId
;
/**
* 活动id
*/
private
Integer
activityId
;
}
xx-user-behavior-collect/xx-user-behavior-api/src/main/java/com/xxfc/platform/user/behavior/dto/BehaviorTypeDTO.java
0 → 100644
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
dto
;
import
lombok.Data
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/13 14:16
*/
@Data
public
class
BehaviorTypeDTO
{
private
String
name
;
private
Integer
code
;
}
xx-user-behavior-collect/xx-user-behavior-api/src/main/java/com/xxfc/platform/user/behavior/entity/ActivityBehavior.java
0 → 100644
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
entity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/13 14:02
*/
@Data
@Table
(
name
=
"activity_behavior"
)
public
class
ActivityBehavior
{
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
private
Integer
id
;
@Column
(
name
=
"activity_id"
)
private
Integer
activityId
;
@Column
(
name
=
"behavior_type_id"
)
private
Integer
behaviorTypeId
;
}
xx-user-behavior-collect/xx-user-behavior-api/src/main/java/com/xxfc/platform/user/behavior/entity/ActivityBehaviorRelation.java
0 → 100644
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
entity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/13 17:05
*/
@Data
@Table
(
name
=
"activity_behavior_relation"
)
public
class
ActivityBehaviorRelation
{
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
private
Integer
id
;
/**
* @see com.xxfc.platform.user.behavior.common.BehaviorEnum
* 行为类型
*/
private
Integer
type
;
/**
* 业务id (banner 精彩活动 app弹窗)
*/
@Column
(
name
=
"biz_id"
)
private
Integer
bizId
;
/**
* 活动id
*/
@Column
(
name
=
"activity_id"
)
private
Integer
activityId
;
}
xx-user-behavior-collect/xx-user-behavior-api/src/main/java/com/xxfc/platform/user/behavior/entity/BehaviorType.java
0 → 100644
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
entity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/13 14:02
*/
@Data
@Table
(
name
=
"behavior_type"
)
public
class
BehaviorType
{
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
private
Integer
id
;
@Column
(
name
=
"name"
)
private
String
name
;
@Column
(
name
=
"code"
)
private
Integer
code
;
}
xx-user-behavior-collect/xx-user-behavior-api/src/main/java/com/xxfc/platform/user/behavior/entity/CustomerBehaviorNotes.java
View file @
0c365595
...
...
@@ -8,6 +8,7 @@ import javax.persistence.GeneratedValue;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
import
java.util.Objects
;
/**
...
...
@@ -61,4 +62,17 @@ public class CustomerBehaviorNotes implements Serializable {
@Column
(
name
=
"request_id"
)
@ApiModelProperty
(
value
=
"请求id"
)
private
String
requestId
;
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
CustomerBehaviorNotes
that
=
(
CustomerBehaviorNotes
)
o
;
return
Objects
.
equals
(
customerId
,
that
.
customerId
);
}
@Override
public
int
hashCode
()
{
return
Objects
.
hash
(
customerId
);
}
}
xx-user-behavior-collect/xx-user-behavior-api/src/main/java/com/xxfc/platform/user/behavior/vo/BehaviorNoteCollectVo.java
0 → 100644
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/12 18:32
*/
@Data
@Builder
(
toBuilder
=
true
)
@NoArgsConstructor
@AllArgsConstructor
public
class
BehaviorNoteCollectVo
implements
Serializable
{
/**
* @see com.xxfc.platform.user.behavior.common.BehaviorEnum
* 行为
*/
private
String
behavior
;
/**
* 日访问数
*/
private
long
p_count
;
/**
* 日平均访问数
*/
private
long
p_avg_count
;
/**
* 用户每日访问总数
*/
private
long
u_count
;
/**
* 用户每日平均访问总数
*/
private
long
u_avg_count
;
}
xx-user-behavior-collect/xx-user-behavior-server/pom.xml
View file @
0c365595
...
...
@@ -3,27 +3,48 @@
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<
artifactId>
xx-user-behavior-collect
</artifact
Id>
<
groupId>
com.github.wxiaoqi
</group
Id>
<
groupId>
com.xxfc.common
</group
Id>
<
artifactId>
xx-common-platform-web
</artifact
Id>
<version>
2.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
com.xxfc.platform
</groupId>
<artifactId>
xx-user-behavior-server
</artifactId>
<dependencies>
<!-- 自己项目 -->
<dependency>
<groupId>
com.xxfc.
common
</groupId>
<artifactId>
xx-
common-platform-web
</artifactId>
<groupId>
com.xxfc.
platform
</groupId>
<artifactId>
xx-
user-behavior-api
</artifactId>
<version>
2.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
com.github.wxiaoqi
</groupId>
<artifactId>
ace-admin-api
</artifactId>
<version>
2.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
com.github.wxiaoqi
</groupId>
<artifactId>
xx-user-behavior-api
</artifactId>
<version>
2.0-SNAPSHOT
</version>
</dependency>
<groupId>
com.xxfc.platform
</groupId>
<artifactId>
xx-activity-api
</artifactId>
<version>
2.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<configuration>
<source>
1.8
</source>
<target>
1.8
</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/UserBeHaviorApplication.java
View file @
0c365595
...
...
@@ -3,6 +3,7 @@ package com.xxfc.platform.user.behavior;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
import
tk.mybatis.spring.annotation.MapperScan
;
/**
...
...
@@ -12,6 +13,7 @@ import tk.mybatis.spring.annotation.MapperScan;
* @data 2019/8/12 10:04
*/
@EnableDiscoveryClient
@EnableFeignClients
(
basePackages
=
"com.xxfc.platform.*.feign"
)
@MapperScan
(
basePackages
=
"com.xxfc.platform.user.behavior.mapper"
)
@SpringBootApplication
public
class
UserBeHaviorApplication
{
...
...
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/biz/ActivityBehaviorBiz.java
0 → 100644
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
biz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.user.behavior.dto.ActivityBehaviorDTO
;
import
com.xxfc.platform.user.behavior.entity.ActivityBehavior
;
import
com.xxfc.platform.user.behavior.mapper.ActivityBehaviorMapper
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/13 14:10
*/
@Service
public
class
ActivityBehaviorBiz
extends
BaseBiz
<
ActivityBehaviorMapper
,
ActivityBehavior
>
{
public
List
<
ActivityBehaviorDTO
>
findActivityBehaviorsByActivityId
(
Integer
activityId
){
return
mapper
.
selectbyActivityId
(
activityId
);
}
}
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/biz/ActivityBehaviorRelationBiz.java
0 → 100644
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
biz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.user.behavior.dto.ActivityBehaviorRelationDTO
;
import
com.xxfc.platform.user.behavior.entity.ActivityBehaviorRelation
;
import
com.xxfc.platform.user.behavior.mapper.ActivityBehaviorRelationMapper
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/13 17:12
*/
@Service
public
class
ActivityBehaviorRelationBiz
extends
BaseBiz
<
ActivityBehaviorRelationMapper
,
ActivityBehaviorRelation
>
{
public
List
<
ActivityBehaviorRelationDTO
>
findActivityBehaviorRelationsByActivityId
(
Integer
activityId
){
return
mapper
.
selectAllByActivityId
(
activityId
);
}
}
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/biz/BehaviorTypeBiz.java
0 → 100644
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
biz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.user.behavior.dto.BehaviorTypeDTO
;
import
com.xxfc.platform.user.behavior.entity.BehaviorType
;
import
com.xxfc.platform.user.behavior.mapper.BehaviorTypeMapper
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/13 14:09
*/
@Service
public
class
BehaviorTypeBiz
extends
BaseBiz
<
BehaviorTypeMapper
,
BehaviorType
>
{
public
List
<
BehaviorTypeDTO
>
findBehaviorTypesByIds
(
List
<
Integer
>
typeIds
){
return
mapper
.
selectAllByIdList
(
typeIds
);
}
}
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/biz/CustomerBehaviorNotesBiz.java
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
biz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.activity.dto.ActivityListDTO
;
import
com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO
;
import
com.xxfc.platform.activity.feign.ActivityFeign
;
import
com.xxfc.platform.user.behavior.common.BehaviorEnum
;
import
com.xxfc.platform.user.behavior.dto.ActivityBehaviorDTO
;
import
com.xxfc.platform.user.behavior.dto.ActivityBehaviorRelationDTO
;
import
com.xxfc.platform.user.behavior.dto.BehaviorTypeDTO
;
import
com.xxfc.platform.user.behavior.dto.CustomerBehaviorNoteDTO
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.user.behavior.entity.CustomerBehaviorNotes
;
import
com.xxfc.platform.user.behavior.mapper.CustomerBehaviorNotesMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.user.behavior.vo.BehaviorNoteCollectVo
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.Instant
;
import
java.time.temporal.ChronoUnit
;
import
java.util.*
;
import
java.util.concurrent.atomic.AtomicLong
;
import
java.util.stream.Collectors
;
/**
* 用户行为记录表
...
...
@@ -18,12 +32,207 @@ import java.time.Instant;
* @date 2019-08-12 14:03:55
*/
@Service
public
class
CustomerBehaviorNotesBiz
extends
BaseBiz
<
CustomerBehaviorNotesMapper
,
CustomerBehaviorNotes
>
{
@RequiredArgsConstructor
(
onConstructor
=
@__
({
@Autowired
}))
public
class
CustomerBehaviorNotesBiz
extends
BaseBiz
<
CustomerBehaviorNotesMapper
,
CustomerBehaviorNotes
>
{
private
final
ActivityFeign
activityFeign
;
private
final
BehaviorTypeBiz
behaviorTypeBiz
;
private
final
ActivityBehaviorBiz
activityBehaviorBiz
;
private
final
ActivityBehaviorRelationBiz
activityBehaviorRelationBiz
;
public
void
saveCustomerBehavior
(
CustomerBehaviorNoteDTO
customerBehaviorNoteDTO
)
{
CustomerBehaviorNotes
customerBehaviorNotes
=
new
CustomerBehaviorNotes
();
BeanUtils
.
copyProperties
(
customerBehaviorNoteDTO
,
customerBehaviorNotes
);
BeanUtils
.
copyProperties
(
customerBehaviorNoteDTO
,
customerBehaviorNotes
);
customerBehaviorNotes
.
setCrtTime
(
Instant
.
now
().
toEpochMilli
());
mapper
.
insertSelective
(
customerBehaviorNotes
);
}
public
List
<
BehaviorNoteCollectVo
>
findBehaviorCollectByActivityId
(
Integer
activityId
,
Long
startTime
,
Long
endTime
)
{
List
<
BehaviorNoteCollectVo
>
behaviorNoteCollectVos
=
new
ArrayList
<>();
//获取时间间隔
AtomicLong
startAtomic
=
new
AtomicLong
(
startTime
==
null
?
0
:
startTime
);
AtomicLong
endAtomic
=
new
AtomicLong
(
endTime
==
null
?
0
:
endTime
);
long
between_day
=
getBetweenDayAndprocessStartTimeAndEndTime
(
activityId
,
startAtomic
,
endAtomic
);
between_day
=
Math
.
abs
(
between_day
)
==
0
?
1
:
Math
.
abs
(
between_day
);
List
<
CustomerBehaviorNotes
>
customerBehaviorNotes
=
mapper
.
selectByActivityIdAndTime
(
activityId
,
startAtomic
.
get
(),
endAtomic
.
get
());
boolean
isEmpty
=
CollectionUtils
.
isEmpty
(
customerBehaviorNotes
);
List
<
ActivityPopularizeRelationDTO
>
popularizeRelations
=
new
ArrayList
<>();
Map
<
Integer
,
List
<
CustomerBehaviorNotes
>>
behaviorAndDataMap
=
null
;
if
(!
isEmpty
)
{
//邀请成功记录
popularizeRelations
=
activityFeign
.
findActivityPopularizeRelationByActivityIdAndTime
(
activityId
,
startAtomic
.
get
(),
endAtomic
.
get
());
behaviorAndDataMap
=
customerBehaviorNotes
.
stream
().
collect
(
Collectors
.
groupingBy
(
CustomerBehaviorNotes:
:
getType
,
Collectors
.
toList
()));
}
//根据活动id查询出对应业务id
List
<
ActivityBehaviorRelationDTO
>
activityBehaviorRelations
=
activityBehaviorRelationBiz
.
findActivityBehaviorRelationsByActivityId
(
activityId
);
List
<
Integer
>
bizIds
=
activityBehaviorRelations
.
stream
().
map
(
ActivityBehaviorRelationDTO:
:
getBizId
).
collect
(
Collectors
.
toList
());
//根据业务id查询出行为记录
Map
<
Integer
,
List
<
CustomerBehaviorNotes
>>
behaviorTypeAndDataOfBizMap
=
new
HashMap
<>();
if
(
CollectionUtils
.
isNotEmpty
(
bizIds
))
{
List
<
CustomerBehaviorNotes
>
customerBehaviorNotesbiz
=
mapper
.
selectAllByTypeIdsAndTime
(
bizIds
,
startAtomic
.
get
(),
endAtomic
.
get
());
//业务数据转换map
if
(
CollectionUtils
.
isNotEmpty
(
customerBehaviorNotesbiz
))
{
behaviorTypeAndDataOfBizMap
=
customerBehaviorNotesbiz
.
stream
().
collect
(
Collectors
.
groupingBy
(
CustomerBehaviorNotes:
:
getType
,
Collectors
.
toList
()));
}
}
//根据活动id查询活动行为
List
<
ActivityBehaviorDTO
>
activityBehaviorDTOS
=
activityBehaviorBiz
.
findActivityBehaviorsByActivityId
(
activityId
);
if
(
CollectionUtils
.
isEmpty
(
activityBehaviorDTOS
)){
return
Collections
.
EMPTY_LIST
;
}
List
<
Integer
>
behaviorTypeIds
=
activityBehaviorDTOS
.
stream
().
map
(
ActivityBehaviorDTO:
:
getBehaviorTypeId
).
collect
(
Collectors
.
toList
());
//根据活动行为ids查询行为
List
<
BehaviorTypeDTO
>
behaviorTypeDTOS
=
behaviorTypeBiz
.
findBehaviorTypesByIds
(
behaviorTypeIds
);
List
<
Integer
>
behaviorCodes
=
behaviorTypeDTOS
.
stream
().
map
(
BehaviorTypeDTO:
:
getCode
).
collect
(
Collectors
.
toList
());
//过滤出活动行为的枚举类
Set
<
BehaviorEnum
>
behaviorEnums
=
EnumSet
.
allOf
(
BehaviorEnum
.
class
).
stream
().
filter
(
behaviorEnum
->
behaviorCodes
.
contains
(
behaviorEnum
.
getCode
())).
collect
(
Collectors
.
toSet
());
//数据转换为行为码与行为名称Map
Map
<
Integer
,
String
>
codeAndName
=
behaviorTypeDTOS
.
stream
().
collect
(
Collectors
.
toMap
(
BehaviorTypeDTO:
:
getCode
,
BehaviorTypeDTO:
:
getName
));
BehaviorNoteCollectVo
behaviorNoteCollectVo
;
for
(
BehaviorEnum
behaviorEnum
:
behaviorEnums
)
{
behaviorNoteCollectVo
=
new
BehaviorNoteCollectVo
();
behaviorNoteCollectVo
.
setBehavior
(
codeAndName
.
get
(
behaviorEnum
.
getCode
()));
long
default_p_total
,
default_p_avg
;
ActionAcount
actionAcount
;
switch
(
behaviorEnum
)
{
case
SUCCESS_INVIT:
actionAcount
=
new
ActionAcount
();
default_p_total
=
popularizeRelations
.
size
();
default_p_avg
=
(
default_p_total
/
between_day
);
actionAcount
.
setDefault_p_total
(
default_p_total
);
actionAcount
.
setDefault_p_avg
(
default_p_avg
);
actionAcount
.
setDefault_u_total
(
default_p_total
);
actionAcount
.
setDefault_u_avg
(
default_p_avg
);
break
;
case
SUCCESS_MORE_10_INVIT:
actionAcount
=
new
ActionAcount
();
default_p_total
=
popularizeRelations
.
stream
().
collect
(
Collectors
.
groupingBy
(
ActivityPopularizeRelationDTO:
:
getMajorUserId
,
Collectors
.
counting
())).
values
().
stream
().
filter
(
x
->
x
>=
10
).
count
();
default_p_avg
=
default_p_total
/
between_day
;
actionAcount
.
setDefault_p_total
(
default_p_total
);
actionAcount
.
setDefault_p_avg
(
default_p_avg
);
actionAcount
.
setDefault_u_total
(
default_p_total
);
actionAcount
.
setDefault_u_avg
(
default_p_avg
);
break
;
case
APP_VISIT_COUNT:
actionAcount
=
new
ActionAcount
();
default_p_total
=
mapper
.
selectAppVvisitsByType
(
BehaviorEnum
.
APP_VISIT_COUNT
.
getCode
());
default_p_avg
=
default_p_total
/
between_day
;
actionAcount
.
setDefault_p_total
(
default_p_total
);
actionAcount
.
setDefault_p_avg
(
default_p_avg
);
actionAcount
.
setDefault_u_total
(
default_p_total
);
actionAcount
.
setDefault_u_avg
(
default_p_avg
);
break
;
case
BANNER_CLICK:
case
WONDERFUL_ACTIVITY_CLICK:
case
DIALOG_WINDOW_TO:
case
DIALOG_WINDOW:
actionAcount
=
new
ActionAcount
(
between_day
,
behaviorTypeAndDataOfBizMap
).
invoke
(
behaviorEnum
);
break
;
default
:
actionAcount
=
new
ActionAcount
(
between_day
,
behaviorAndDataMap
).
invoke
(
behaviorEnum
);
break
;
}
behaviorNoteCollectVo
.
setP_count
(
actionAcount
.
getDefault_p_total
());
behaviorNoteCollectVo
.
setP_avg_count
(
actionAcount
.
getDefault_p_avg
());
behaviorNoteCollectVo
.
setU_count
(
actionAcount
.
getDefault_u_total
());
behaviorNoteCollectVo
.
setU_avg_count
(
actionAcount
.
getDefault_u_avg
());
behaviorNoteCollectVos
.
add
(
behaviorNoteCollectVo
);
}
return
behaviorNoteCollectVos
;
}
private
long
getBetweenDayAndprocessStartTimeAndEndTime
(
Integer
activityId
,
AtomicLong
startTime
,
AtomicLong
endTime
)
{
if
(
startTime
.
get
()
==
0
||
endTime
.
get
()
==
0
)
{
ActivityListDTO
activityListDTO
=
activityFeign
.
findActivityStartTimeAndEndTimeById
(
activityId
);
Instant
now
=
Instant
.
now
();
if
(
startTime
.
get
()
!=
0
)
{
endTime
.
set
(
now
.
toEpochMilli
());
}
if
(
endTime
.
get
()
!=
0
)
{
startTime
.
set
(
activityListDTO
.
getActivity_startTime
());
}
if
(
startTime
.
get
()
==
0
&&
endTime
.
get
()
==
0
)
{
startTime
.
set
(
activityListDTO
.
getActivity_startTime
());
endTime
.
set
(
now
.
toEpochMilli
());
}
}
return
ChronoUnit
.
DAYS
.
between
(
Instant
.
ofEpochMilli
(
startTime
.
get
()),
Instant
.
ofEpochMilli
(
endTime
.
get
()));
}
private
class
ActionAcount
{
private
long
between_day
;
private
Map
<
Integer
,
List
<
CustomerBehaviorNotes
>>
behaviorMap
;
private
long
default_p_total
;
private
long
default_p_avg
;
private
long
default_u_total
;
private
long
default_u_avg
;
public
ActionAcount
(
long
between_day
,
Map
<
Integer
,
List
<
CustomerBehaviorNotes
>>
behaviorMap
)
{
this
.
between_day
=
between_day
;
this
.
behaviorMap
=
behaviorMap
;
}
public
ActionAcount
()
{
}
public
ActionAcount
invoke
(
BehaviorEnum
behaviorEnum
)
{
List
<
CustomerBehaviorNotes
>
behaviorTypeData
=
behaviorMap
.
get
(
behaviorEnum
.
getCode
());
boolean
isEmpty
=
CollectionUtils
.
isEmpty
(
behaviorTypeData
);
default_p_total
=
isEmpty
?
0
:
behaviorTypeData
.
size
();
default_p_avg
=
default_p_total
/
between_day
;
Set
<
CustomerBehaviorNotes
>
behaviorTypeDataSet
=
new
HashSet
<>(
isEmpty
?
Collections
.
EMPTY_SET
:
behaviorTypeData
);
default_u_total
=
behaviorTypeDataSet
.
size
();
default_u_avg
=
default_u_total
/
between_day
;
return
this
;
}
public
long
getDefault_p_total
()
{
return
default_p_total
;
}
public
long
getDefault_p_avg
()
{
return
default_p_avg
;
}
public
long
getDefault_u_total
()
{
return
default_u_total
;
}
public
long
getDefault_u_avg
()
{
return
default_u_avg
;
}
public
void
setBetween_day
(
long
between_day
)
{
this
.
between_day
=
between_day
;
}
public
void
setBehaviorMap
(
Map
<
Integer
,
List
<
CustomerBehaviorNotes
>>
behaviorMap
)
{
this
.
behaviorMap
=
behaviorMap
;
}
public
void
setDefault_p_total
(
long
default_p_total
)
{
this
.
default_p_total
=
default_p_total
;
}
public
void
setDefault_p_avg
(
long
default_p_avg
)
{
this
.
default_p_avg
=
default_p_avg
;
}
public
void
setDefault_u_total
(
long
default_u_total
)
{
this
.
default_u_total
=
default_u_total
;
}
public
void
setDefault_u_avg
(
long
default_u_avg
)
{
this
.
default_u_avg
=
default_u_avg
;
}
}
}
\ No newline at end of file
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/mapper/ActivityBehaviorMapper.java
0 → 100644
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
mapper
;
import
com.xxfc.platform.user.behavior.dto.ActivityBehaviorDTO
;
import
com.xxfc.platform.user.behavior.entity.ActivityBehavior
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Result
;
import
org.apache.ibatis.annotations.Results
;
import
org.apache.ibatis.annotations.Select
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/13 14:10
*/
public
interface
ActivityBehaviorMapper
extends
Mapper
<
ActivityBehavior
>
{
@Select
(
"select `activity_id`,`behavior_type_id` from `activity_behavior` where `activity_id`=#{activityId}"
)
@Results
(
value
=
{
@Result
(
column
=
"activity_id"
,
property
=
"activityId"
),
@Result
(
column
=
"behavior_type_id"
,
property
=
"behaviorTypeId"
)
})
List
<
ActivityBehaviorDTO
>
selectbyActivityId
(
@Param
(
"activityId"
)
Integer
activityId
);
}
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/mapper/ActivityBehaviorRelationMapper.java
0 → 100644
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
mapper
;
import
com.xxfc.platform.user.behavior.dto.ActivityBehaviorRelationDTO
;
import
com.xxfc.platform.user.behavior.entity.ActivityBehaviorRelation
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Result
;
import
org.apache.ibatis.annotations.Results
;
import
org.apache.ibatis.annotations.Select
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/13 17:11
*/
public
interface
ActivityBehaviorRelationMapper
extends
Mapper
<
ActivityBehaviorRelation
>
{
@Select
(
"select `type`,`biz_id`,`activity_id` from `activity_behavior_relation` where `activity_id`=#{activityId}"
)
@Results
(
value
=
{
@Result
(
property
=
"type"
,
column
=
"type"
),
@Result
(
property
=
"bizId"
,
column
=
"biz_id"
),
@Result
(
property
=
"activityId"
,
column
=
"activity_id"
)
})
List
<
ActivityBehaviorRelationDTO
>
selectAllByActivityId
(
@Param
(
"activityId"
)
Integer
activityId
);
}
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/mapper/BehaviorTypeMapper.java
0 → 100644
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
mapper
;
import
com.xxfc.platform.user.behavior.dto.BehaviorTypeDTO
;
import
com.xxfc.platform.user.behavior.entity.BehaviorType
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Result
;
import
org.apache.ibatis.annotations.Results
;
import
org.apache.ibatis.annotations.Select
;
import
tk.mybatis.mapper.additional.idlist.IdListMapper
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/13 14:13
*/
public
interface
BehaviorTypeMapper
extends
Mapper
<
BehaviorType
>,
IdListMapper
<
BehaviorType
,
Integer
>
{
@Select
(
"<script>select `name`,`code` from behavior_type where `id` in <foreach collection='typeIds' open='(' item='typeId' separator=',' close=')'> #{typeId}</foreach></script>"
)
@Results
(
value
=
{
@Result
(
column
=
"name"
,
property
=
"name"
),
@Result
(
column
=
"code"
,
property
=
"code"
)
})
List
<
BehaviorTypeDTO
>
selectAllByIdList
(
@Param
(
"typeIds"
)
List
<
Integer
>
typeIds
);
}
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/mapper/CustomerBehaviorNotesMapper.java
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
mapper
;
import
com.xxfc.platform.user.behavior.entity.CustomerBehaviorNotes
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
* 用户行为记录表
*
...
...
@@ -11,5 +14,10 @@ import tk.mybatis.mapper.common.Mapper;
* @date 2019-08-12 14:03:55
*/
public
interface
CustomerBehaviorNotesMapper
extends
Mapper
<
CustomerBehaviorNotes
>
{
List
<
CustomerBehaviorNotes
>
selectByActivityIdAndTime
(
@Param
(
"activityId"
)
Integer
activityId
,
@Param
(
"startTime"
)
Long
startTime
,
@Param
(
"endTime"
)
Long
endTime
);
long
selectAppVvisitsByType
(
@Param
(
"code"
)
int
code
);
List
<
CustomerBehaviorNotes
>
selectAllByTypeIdsAndTime
(
@Param
(
"bizIds"
)
List
<
Integer
>
bizIds
,
@Param
(
"startTime"
)
Long
startTime
,
@Param
(
"endTime"
)
Long
endTime
);
}
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/rest/CustomerBehaviorNotesController.java
View file @
0c365595
...
...
@@ -21,13 +21,13 @@ import java.util.Objects;
* @data 2019/8/12 14:14
*/
@RestController
@RequestMapping
(
"customerBehaviorNotes"
)
@RequestMapping
(
"
/
customerBehaviorNotes"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
CustomerBehaviorNotesController
{
private
final
CustomerBehaviorNotesBiz
customerBehaviorNotesBiz
;
@PostMapping
(
"app/unauth/save"
)
@PostMapping
(
"
/
app/unauth/save"
)
public
ObjectRestResponse
<
Void
>
saveCustomerBehavior
(
@RequestBody
CustomerBehaviorNoteDTO
customerBehaviorNoteDTO
,
AppUserDTO
appUserDTO
)
{
if
(
Objects
.
nonNull
(
appUserDTO
.
getUserid
()))
{
customerBehaviorNoteDTO
.
setCustomerId
(
String
.
valueOf
(
appUserDTO
.
getUserid
()));
...
...
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/rest/admin/CustomerBehaviorNotesAdminController.java
View file @
0c365595
package
com
.
xxfc
.
platform
.
user
.
behavior
.
rest
.
admin
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.user.behavior.biz.CustomerBehaviorNotesBiz
;
import
com.xxfc.platform.user.behavior.vo.BehaviorNoteCollectVo
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
用户行为日志*后台统计
* @description 用户行为日志*后台统计
* @data 2019/8/12 15:16
*/
@RestController
...
...
@@ -19,4 +22,11 @@ public class CustomerBehaviorNotesAdminController {
private
final
CustomerBehaviorNotesBiz
customerBehaviorNotesBiz
;
@GetMapping
(
"/collect/{activityId}"
)
public
ObjectRestResponse
<
List
<
BehaviorNoteCollectVo
>>
findCollectByActivityId
(
@PathVariable
(
value
=
"activityId"
)
Integer
activityId
,
@RequestParam
(
value
=
"startTime"
,
required
=
false
)
Long
startTime
,
@RequestParam
(
value
=
"endTime"
,
required
=
false
)
Long
endTime
)
{
List
<
BehaviorNoteCollectVo
>
behaviorNoteCollectVos
=
customerBehaviorNotesBiz
.
findBehaviorCollectByActivityId
(
activityId
,
startTime
,
endTime
);
return
ObjectRestResponse
.
succ
(
behaviorNoteCollectVos
);
}
}
xx-user-behavior-collect/xx-user-behavior-server/src/main/resources/mapper/CustomerBehaviorNotesMapper.xml
View file @
0c365595
...
...
@@ -3,7 +3,7 @@
<mapper
namespace=
"com.xxfc.platform.user.behavior.mapper.CustomerBehaviorNotesMapper"
>
<!-- 可根据自己的需求,是否要使用 -->
<!-- 可根据自己的需求,是否要使用 -->
<resultMap
type=
"com.xxfc.platform.user.behavior.entity.CustomerBehaviorNotes"
id=
"customerBehaviorNotesMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"customerId"
column=
"customer_id"
/>
...
...
@@ -11,5 +11,40 @@
<result
property=
"type"
column=
"type"
/>
<result
property=
"typeId"
column=
"type_id"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
<result
property=
"requestId"
column=
"request_id"
/>
</resultMap>
<select
id=
"selectByActivityIdAndTime"
resultMap=
"customerBehaviorNotesMap"
>
select * from `customer_behavior_notes` where `type_id`=#{activityId}
<if
test=
"startTime != null and endTime !=null"
>
and `crt_time` between #{startTime} and #{endTime}
</if>
<if
test=
"startTime != null and endTime == null"
>
and
<![CDATA[`crt_time` >= #{startTime}]]>
</if>
<if
test=
"endTime != null and startTime == null"
>
and
<![CDATA[ `crt_time` <= #{endTime}]]>
</if>
</select>
<select
id=
"selectAppVvisitsByType"
resultType=
"long"
>
select count(id) from `customer_behavior_notes` where `type`=#{code}
</select>
<select
id=
"selectAllByTypeIdsAndTime"
resultMap=
"customerBehaviorNotesMap"
>
select * from `customer_behavior_notes` where `type_id` in
<foreach
collection=
"bizIds"
item=
"bizId"
open=
"("
close=
")"
separator=
","
>
#{bizId}
</foreach>
<if
test=
"startTime != null != null and endTime !=null"
>
and `crt_time` between #{startTime} and #{endTime}
</if>
<if
test=
"startTime != null and endTime == null"
>
and
<![CDATA[`crt_time` >= #{startTime}]]>
</if>
<if
test=
"endTime != null and startTime == null"
>
and
<![CDATA[ `crt_time` <= #{endTime}]]>
</if>
and `type` in(0,1,2,3)
</select>
</mapper>
\ No newline at end of file
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/constant/ResCode/ResCode.java
View file @
0c365595
...
...
@@ -53,6 +53,7 @@ public enum ResCode {
ORDER_DETAIL_IS_NOT_EXIST
(
10001
,
"订单详情不可查询"
),
YOU_AUTH_FAIL
(-
2
,
"无权限查看此信息"
),
ORDER_IS_NOT_PAY
(
10002
,
"订单未支付"
),
USER_IS_EXIST
(
10003
,
"用户名已存在"
);
;
/**
* 返回码
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/ConstantBiz.java
View file @
0c365595
...
...
@@ -2,9 +2,9 @@ package com.xxfc.platform.vehicle.biz;
import
com.alibaba.fastjson.JSON
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.xxfc.platform.vehicle.common.CustomIllegalParamException
;
import
com.xxfc.platform.vehicle.constant.ConstantType
;
import
com.xxfc.platform.vehicle.constant.RedisKey
;
import
com.xxfc.platform.vehicle.entity.Constant
;
...
...
@@ -159,7 +159,7 @@ public class ConstantBiz extends BaseBiz<ConstantMapper,Constant> {
return
Boolean
.
FALSE
;
}
if
(
constants
.
size
()>
MAX_BATCH_SIZE_CONSTANT_UPDATE
){
throw
new
IllegalArgument
Exception
(
" exceed max batch size"
);
throw
new
Base
Exception
(
" exceed max batch size"
);
}
return
Boolean
.
TRUE
;
...
...
@@ -198,7 +198,7 @@ public class ConstantBiz extends BaseBiz<ConstantMapper,Constant> {
return
0
;
}
if
(
codes
.
size
()>
MAX_BATCH_SIZE_CONSTANT_UPDATE
){
throw
new
IllegalArgument
Exception
(
" exceed max batch size"
);
throw
new
Base
Exception
(
" exceed max batch size"
);
}
List
<
String
>
delCodes
=
Lists
.
newArrayList
();
for
(
Integer
code:
codes
){
...
...
@@ -242,12 +242,12 @@ public class ConstantBiz extends BaseBiz<ConstantMapper,Constant> {
*/
public
Boolean
checkIfExists
(
Integer
type
,
Integer
code
){
if
(!
ConstantType
.
exists
(
type
)){
throw
new
CustomIllegalParam
Exception
(
" no such type of constant"
);
throw
new
Base
Exception
(
" no such type of constant"
);
}
List
<
ConstantVo
>
constantVoList
=
getAllConstantByType
(
type
);
if
(
CollectionUtils
.
isEmpty
(
constantVoList
)){
throw
new
CustomIllegalParam
Exception
(
" no such code of constant in relative type"
);
throw
new
Base
Exception
(
" no such code of constant in relative type"
);
}
for
(
ConstantVo
constantVo:
constantVoList
){
...
...
@@ -255,7 +255,7 @@ public class ConstantBiz extends BaseBiz<ConstantMapper,Constant> {
return
Boolean
.
TRUE
;
}
}
throw
new
CustomIllegalParam
Exception
(
" no such code of constant in relative type"
);
throw
new
Base
Exception
(
" no such code of constant in relative type"
);
}
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/SysRegionBiz.java
View file @
0c365595
...
...
@@ -3,8 +3,8 @@ package com.xxfc.platform.vehicle.biz;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.google.common.collect.Lists
;
import
com.xxfc.platform.vehicle.common.CustomIllegalParamException
;
import
com.xxfc.platform.vehicle.constant.RedisKey
;
import
com.xxfc.platform.vehicle.constant.RegionType
;
import
com.xxfc.platform.vehicle.entity.SysRegion
;
...
...
@@ -42,7 +42,7 @@ public class SysRegionBiz extends BaseBiz<SysRegionMapper, SysRegion> {
public
List
<
SysRegion
>
getRegionsByCodes
(
List
<
Long
>
ids
){
List
<
String
>
redisCacheKeys
=
Lists
.
newArrayList
();
if
(
CollectionUtils
.
isEmpty
(
ids
)){
throw
new
CustomIllegalParam
Exception
(
"empty id list"
);
throw
new
Base
Exception
(
"empty id list"
);
}
for
(
Long
id:
ids
){
redisCacheKeys
.
add
(
RedisKey
.
SYS_REGION_CACHE_PREFIX
+
id
);
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
View file @
0c365595
...
...
@@ -208,7 +208,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
public
RestResponse
add
(
List
<
AddOrUpdateVehicleVo
>
addOrUpdateVehicleVoList
)
throws
Exception
{
if
(
addOrUpdateVehicleVoList
.
size
()>
MAX_BATCH_SIZE_VEHICLE
){
throw
new
CustomIllegalParamException
(
"添加的车辆数量过多!"
);
throw
new
BaseException
(
ResultCode
.
ADD_VEHICLE_MORE
);
}
for
(
AddOrUpdateVehicleVo
addOrUpdateVehicleVo:
addOrUpdateVehicleVoList
)
{
...
...
@@ -217,7 +217,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
BeanUtilsBean
.
getInstance
().
copyProperties
(
vehicle
,
addOrUpdateVehicleVo
);
if
(
addOrUpdateVehicleVo
.
getParkBranchCompanyId
()==
null
)
{
throw
new
CustomIllegalParamException
(
"停靠公司不能为空"
);
throw
new
BaseException
(
ResultCode
.
RET_COMPANY_CAN_NOT_BE_NULL
);
}
vehicle
.
setId
(
UUID
.
randomUUID
().
toString
());
...
...
@@ -251,7 +251,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
// }
if
(
addOrUpdateVehicleVo
.
getNumberPlate
()
==
null
){
throw
new
CustomIllegalParamException
(
"车牌不能为空"
);
throw
new
BaseException
(
ResultCode
.
NUMBER_PLAT_CAN_NOT_BE_NULL
);
}
List
<
Vehicle
>
vehicles
=
mapper
.
lockByCode
(
addOrUpdateVehicleVo
);
return
vehicles
;
...
...
@@ -265,14 +265,14 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
@Transactional
public
RestResponse
update
(
List
<
AddOrUpdateVehicleVo
>
addOrUpdateVehicleVoList
)
throws
Exception
{
if
(
addOrUpdateVehicleVoList
.
size
()>
MAX_BATCH_SIZE_VEHICLE
){
throw
new
CustomIllegalParamException
(
"exceed max batch size"
);
throw
new
BaseException
(
ResultCode
.
ADD_VEHICLE_MORE
);
}
for
(
AddOrUpdateVehicleVo
addOrUpdateVehicleVo:
addOrUpdateVehicleVoList
){
Vehicle
vehicle
=
new
Vehicle
();
BeanUtilsBean
.
getInstance
().
copyProperties
(
vehicle
,
addOrUpdateVehicleVo
);
if
(
addOrUpdateVehicleVo
.
getParkBranchCompanyId
()==
null
)
{
throw
new
CustomIllegalParamException
(
"Stop at branch office cannot be empty"
);
throw
new
BaseException
(
ResultCode
.
RET_COMPANY_CAN_NOT_BE_NULL
);
}
//悲观锁,检查是否已存在车牌或编码
...
...
@@ -305,7 +305,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
*/
public
RestResponse
discard
(
List
<
String
>
idList
){
if
(
idList
.
size
()>
MAX_BATCH_SIZE_VEHICLE
){
throw
new
CustomIllegalParamException
(
"exceed max batch size"
);
throw
new
BaseException
(
ResultCode
.
ADD_VEHICLE_MORE
);
}
Map
<
String
,
Object
>
params
=
Maps
.
newHashMap
();
params
.
put
(
"idList"
,
idList
);
...
...
@@ -341,7 +341,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
//转换日期范围为列表,并检查是否合法
fillDateList4DatePeriod
(
yearMonthAndDate
,
startDay
,
endDay
);
if
(
yearMonthAndDate
.
size
()>
3
){
//连续的日期最多夸3个月
throw
new
CustomIllegalParamException
(
" you can only within 2 month"
);
throw
new
BaseException
(
ResultCode
.
ONLY_BOOK_TWO_MONTH
);
}
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry:
yearMonthAndDate
.
entrySet
()){
Boolean
rsEach
=
applyVehicle4EmployeePerMonth
(
bookVehicleVo
.
getVehicleId
(),
entry
.
getValue
(),
entry
.
getKey
());
...
...
@@ -427,7 +427,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
//转换日期范围为列表,并检查是否合法
fillDateList4DatePeriod
(
yearMonthAndDate
,
startDay
,
endDay
);
if
(
yearMonthAndDate
.
size
()>
3
){
//连续的日期最多夸3个月
throw
new
CustomIllegalParamException
(
" 只可以预约两个月内的车辆"
);
throw
new
BaseException
(
ResultCode
.
ONLY_BOOK_TWO_MONTH
);
}
//检查车辆是否可以预定
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry:
yearMonthAndDate
.
entrySet
()){
...
...
@@ -470,7 +470,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
//修改相关车辆预定记录
Boolean
hasSuc
=
bookedVehicle
(
bookVehicleVo
);
if
(!
hasSuc
){
throw
new
BaseException
(
"车辆预定失败"
);
throw
new
BaseException
(
ResultCode
.
BOOKED_FAILED_CODE
);
}
//添加随车物品
...
...
@@ -511,7 +511,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
//转换日期范围为列表,并检查是否合法
fillDateList4DatePeriod
(
yearMonthAndDate
,
startDay
,
endDay
);
if
(
yearMonthAndDate
.
size
()>
3
){
//连续的日期最多夸3个月
throw
new
CustomIllegalParamException
(
" 只可以预约两个月内的车辆"
);
throw
new
BaseException
(
ResultCode
.
ONLY_BOOK_TWO_MONTH
);
}
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry:
yearMonthAndDate
.
entrySet
()){
Boolean
rsEach
=
applyVehicle4EmployeePerMonth
(
bookVehicleVo
.
getVehicleId
(),
entry
.
getValue
(),
entry
.
getKey
());
...
...
@@ -603,14 +603,15 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
*/
@Transactional
public
RestResponse
<
Integer
>
reviewVehicleBooking
(
Integer
operatorId
,
Long
bookRecordId
,
Integer
rsStatus
,
String
userName
)
throws
Exception
{
try
{
//获取相关申请记录
VehicleBookRecord
vehicleBookRecord
=
vehicleBookRecordBiz
.
selectById
(
bookRecordId
);
//申请记录验证
if
(
vehicleBookRecord
==
null
){
throw
new
CustomIllegalParamException
(
" invalid book record"
);
return
RestResponse
.
codeAndMessage
(
ResCode
.
VEHICLE_BOOK_RECORD_IS_NOT_EXIST
.
getCode
(),
ResCode
.
VEHICLE_BOOK_RECORD_IS_NOT_EXIST
.
getDesc
()
);
}
if
(
!
VehicleBookRecordStatus
.
APPLY
.
getCode
().
equals
(
vehicleBookRecord
.
getStatus
())){
return
RestResponse
.
code
(
ResCode
.
VEHICLE_BOOKED_RECORD_ALREADY_CHANGED
.
getCode
());
if
(
VehicleBookRecordStatus
.
APPROVE
.
getCode
().
equals
(
vehicleBookRecord
.
getStatus
())){
return
RestResponse
.
code
AndMessage
(
ResCode
.
VEHICLE_BOOKED_RECORD_ALREADY_CHANGED
.
getCode
(),
ResCode
.
VEHICLE_BOOKED_RECORD_ALREADY_CHANGED
.
getDesc
());
}
//转换为相应预定参数
BookVehicleVO
bookVehicleVo
=
new
BookVehicleVO
();
...
...
@@ -633,24 +634,31 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
// }
// vehicleBookHourInfoBiz.delete(vehicleBookRecord.getVehicleId(),list);
// }
//成功后修改预定记录状态
Map
<
String
,
Object
>
updateParam
=
Maps
.
newHashMap
();
updateParam
.
put
(
"id"
,
bookRecordId
);
updateParam
.
put
(
"status"
,
rsStatus
);
updateParam
.
put
(
"reviewerApply"
,
operatorId
);
updateParam
.
put
(
"reviewerNameApply"
,
userName
);
updateParam
.
put
(
"statusCondition"
,
VehicleBookRecordStatus
.
APPLY
.
getCode
());
Integer
effected
=
vehicleBookRecordBiz
.
changeRecordStatus
(
updateParam
);
if
(
effected
==
0
){
//修改失败,手动回滚
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
//手动回滚
return
RestResponse
.
code
(
ResCode
.
VEHICLE_BOOKED_RECORD_ALREADY_CHANGED
.
getCode
());
}
else
if
(
VehicleBookRecordStatus
.
REJECTED
.
getCode
().
equals
(
rsStatus
)){
//拒绝,则释放bookinfo
bookVehicleVo
.
setUnbookStartDate
(
bookVehicleVo
.
getBookStartDate
());
bookVehicleVo
.
setUnbookEndDate
(
bookVehicleVo
.
getBookEndDate
());
Boolean
hasSuc
=
unbookVehicle
(
bookVehicleVo
);
//成功后修改预定记录状态
Map
<
String
,
Object
>
updateParam
=
Maps
.
newHashMap
();
updateParam
.
put
(
"id"
,
bookRecordId
);
updateParam
.
put
(
"status"
,
rsStatus
);
updateParam
.
put
(
"reviewerApply"
,
operatorId
);
updateParam
.
put
(
"reviewerNameApply"
,
userName
);
updateParam
.
put
(
"statusCondition"
,
VehicleBookRecordStatus
.
APPLY
.
getCode
());
Integer
effected
=
vehicleBookRecordBiz
.
changeRecordStatus
(
updateParam
);
if
(
effected
==
0
){
//修改失败,手动回滚
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
//手动回滚
return
RestResponse
.
code
(
ResCode
.
VEHICLE_BOOKED_RECORD_ALREADY_CHANGED
.
getCode
());
}
else
if
(
VehicleBookRecordStatus
.
REJECTED
.
getCode
().
equals
(
rsStatus
)){
//拒绝,则释放bookinfo
bookVehicleVo
.
setUnbookStartDate
(
bookVehicleVo
.
getBookStartDate
());
bookVehicleVo
.
setUnbookEndDate
(
bookVehicleVo
.
getBookEndDate
());
Boolean
hasSuc
=
unbookVehicle
(
bookVehicleVo
);
if
(
hasSuc
)
{
return
RestResponse
.
suc
();
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
RestResponse
.
codeAndMessage
(
1325
,
e
.
getMessage
());
}
return
RestResponse
.
suc
(
);
return
RestResponse
.
codeAndMessage
(
1325
,
"取消预定失败"
);
}
/**
...
...
@@ -663,7 +671,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
VehicleBookRecord
vehicleBookRecord
=
vehicleBookRecordBiz
.
selectById
(
bookRecordId
);
//申请记录验证
if
(
vehicleBookRecord
==
null
){
throw
new
CustomIllegalParamException
(
" invalid book record"
);
return
RestResponse
.
codeAndMessage
(
ResCode
.
VEHICLE_BOOK_RECORD_IS_NOT_EXIST
.
getCode
(),
ResCode
.
VEHICLE_BOOK_RECORD_IS_NOT_EXIST
.
getDesc
()
);
}
//已通过审核的可以取消预定
if
(!
VehicleBookRecordStatus
.
APPROVE
.
getCode
().
equals
(
vehicleBookRecord
.
getStatus
())){
...
...
@@ -679,7 +687,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
//取消预定
Boolean
hasSuc
=
unbookVehicle
(
bookVehicleVo
);
if
(!
hasSuc
){
throw
new
IllegalArgumentException
(
" invalid book record "
);
return
RestResponse
.
codeAndMessage
(
ResCode
.
VEHICLE_BOOK_RECORD_IS_NOT_EXIST
.
getCode
(),
ResCode
.
VEHICLE_BOOK_RECORD_IS_NOT_EXIST
.
getDesc
()
);
}
//修改预定状态,写入取消人
Map
<
String
,
Object
>
updateParam
=
Maps
.
newHashMap
();
...
...
@@ -751,7 +759,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
//转换日期范围为列表,并检查是否合法
fillDateList4DatePeriod
(
yearMonthAndDate
,
startDay
,
endDay
);
if
(
yearMonthAndDate
.
size
()>
3
){
//连续的日期最多夸3个月
throw
new
CustomIllegalParamException
(
" 只可以预约两个月内的车辆"
);
throw
new
BaseException
(
ResultCode
.
ONLY_BOOK_TWO_MONTH
);
}
Boolean
rs
=
Boolean
.
TRUE
;
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry:
yearMonthAndDate
.
entrySet
()){
...
...
@@ -789,7 +797,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
params
.
put
(
"yearMonth"
,
yearMonth
);
//加入更新条件
if
(
CollectionUtils
.
isEmpty
(
bookedDates
)){
throw
new
CustomIllegalParamException
(
" there are no day to book"
);
throw
new
BaseException
(
ResultCode
.
BOOKED_DATE_IS_EMPTY
);
}
Map
<
String
,
List
<
String
>>
yearMonthAndDate
=
new
HashMap
<>();
yearMonthAndDate
.
put
(
vehicleBookInfo
.
getYearMonth
(),
bookedDates
);
...
...
@@ -830,8 +838,27 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
for
(
DateTime
curDate
=
startDay
;
curDate
.
compareTo
(
endDay
)<=
0
;
curDate
=
curDate
.
plusDays
(
1
)){
String
curDateStr
=
curDate
.
toString
(
DEFAULT_DATE_TIME_FORMATTER
);
if
(
curDateStr
.
compareTo
(
DateTime
.
now
().
toString
(
DEFAULT_DATE_TIME_FORMATTER
))<
0
){
throw
new
CustomIllegalParamException
(
"只可以取消当前时间之后的车辆"
);
throw
new
BaseException
(
ResultCode
.
ONLY_BOOK_FROM_TODAY
);
}
String
curYearMonth
=
curDate
.
toString
(
YEARMONTH_DATE_TIME_FORMATTER
);
if
(!
yearMonthAndDate
.
containsKey
(
curYearMonth
)){
yearMonthAndDate
.
put
(
curYearMonth
,
Lists
.
newArrayList
());
}
List
<
String
>
curBookedDateList
=
yearMonthAndDate
.
get
(
curYearMonth
);
curBookedDateList
.
add
(
curDateStr
);
}
if
(
yearMonthAndDate
.
size
()>
3
){
//连续的日期最多夸3个月
throw
new
BaseException
(
" 只可以预约两个月内的车辆"
);
}
}
private
void
uinbookDateList4DatePeriod
(
Map
<
String
,
List
<
String
>>
yearMonthAndDate
,
DateTime
startDay
,
DateTime
endDay
){
for
(
DateTime
curDate
=
startDay
;
curDate
.
compareTo
(
endDay
)<=
0
;
curDate
=
curDate
.
plusDays
(
1
)){
String
curDateStr
=
curDate
.
toString
(
DEFAULT_DATE_TIME_FORMATTER
);
// if(curDateStr.compareTo(DateTime.now().toString(DEFAULT_DATE_TIME_FORMATTER))<0){
// throw new BaseException("只可以取消当前时间之后的车辆");
// }
String
curYearMonth
=
curDate
.
toString
(
YEARMONTH_DATE_TIME_FORMATTER
);
if
(!
yearMonthAndDate
.
containsKey
(
curYearMonth
)){
yearMonthAndDate
.
put
(
curYearMonth
,
Lists
.
newArrayList
());
...
...
@@ -841,7 +868,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
}
if
(
yearMonthAndDate
.
size
()>
3
){
//连续的日期最多夸3个月
throw
new
CustomIllegalParamException
(
" 只可以预约两个月内的车辆"
);
throw
new
BaseException
(
ResultCode
.
ONLY_BOOK_TWO_MONTH
);
}
}
...
...
@@ -850,17 +877,17 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
* @return
*/
@Transactional
public
Boolean
unbookVehicle
(
BookVehicleVO
bookVehicleVo
){
public
Boolean
unbookVehicle
(
BookVehicleVO
bookVehicleVo
)
throws
Exception
{
//提取日期参数,改为每月一份
//提取日期和相应的预定目标日期
Map
<
String
,
List
<
String
>>
yearMonthAndDate
=
Maps
.
newHashMap
();
DateTime
startDay
=
DateTime
.
parse
(
bookVehicleVo
.
getUnbookStartDate
(),
DEFAULT_DATE_TIME_FORMATTER
);
DateTime
endDay
=
DateTime
.
parse
(
bookVehicleVo
.
getUnbookEndDate
(),
DEFAULT_DATE_TIME_FORMATTER
);
//转换日期范围为列表,并检查是否合法
fill
DateList4DatePeriod
(
yearMonthAndDate
,
startDay
,
endDay
);
uinbook
DateList4DatePeriod
(
yearMonthAndDate
,
startDay
,
endDay
);
if
(
yearMonthAndDate
.
size
()>
3
){
//连续的日期最多夸3个月
throw
new
CustomIllegalParamException
(
" 只可以预约两个月内的车辆"
);
throw
new
BaseException
(
ResultCode
.
ONLY_UNBOOK_TWO_MONTH
);
}
Boolean
rs
=
Boolean
.
TRUE
;
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry:
yearMonthAndDate
.
entrySet
()){
...
...
@@ -881,7 +908,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
params
.
put
(
"yearMonth"
,
yearMonth
);
//加入更新条件
if
(
CollectionUtils
.
isEmpty
(
unbookDates
)){
throw
new
CustomIllegalParamException
(
" 车辆不可预定"
);
throw
new
BaseException
(
ResultCode
.
VEHICLE_CAN_NOT_UNBOOK
);
}
Map
<
String
,
List
<
String
>>
yearMonthAndDate
=
new
HashMap
<>();
yearMonthAndDate
.
put
(
yearMonth
,
unbookDates
);
...
...
@@ -908,7 +935,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
public
void
fillBookedDateSearchParam
(
Map
<
String
,
Object
>
params
,
Map
<
String
,
List
<
String
>>
yearMonthAndDate
,
Map
<
String
,
List
<
String
>>
yearMonthAndDateNotBooked
){
if
(
MapUtils
.
isEmpty
(
yearMonthAndDate
)&&
MapUtils
.
isEmpty
(
yearMonthAndDateNotBooked
)){
//没有预定信息查询条件
throw
new
CustomIllegalParamException
(
"没有预订信息!"
);
throw
new
BaseException
(
ResultCode
.
BOOKED_DATE_IS_EMPTY
);
}
Map
<
String
,
Map
<
String
,
Integer
>>
yearMonthAndParam
=
new
HashMap
<>();
...
...
@@ -953,7 +980,8 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
}
for
(
String
dateStr:
entry
.
getValue
())
{
//已预定作为条件,该位与1作与运算必定为1
if
(
bookedYearMonth
.
contains
(
dateStr
)){
throw
new
CustomIllegalParamException
(
"同一天既作为未预定查询条件又作为已预定查询条件"
);
log
.
info
(
"当天不可预定,日期为:dateStr = {}"
,
dateStr
);
throw
new
BaseException
(
ResultCode
.
TODAY_CAN_NOT_BOOK
);
}
DateTime
dateTime
=
DateTime
.
parse
(
dateStr
,
DEFAULT_DATE_TIME_FORMATTER
);
//仅对应位为1的整形值
...
...
@@ -1042,10 +1070,10 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
Map
<
String
,
List
<
String
>>
yearMonthAndDateNotBooked
=
new
HashMap
<>();
//未预定年月 - 未预定日期列表
classifyByYearMonth
(
notBookedDates
,
yearMonthAndDateNotBooked
,
allYearMonth
);
if
(
allYearMonth
.
size
()>
0
&&
params
.
get
(
"subordinateBranch"
)
==
null
){
throw
new
CustomIllegalParam
Exception
(
" <subordinateBranch> must included in params while using <bookedInfo> param. "
);
throw
new
Base
Exception
(
" <subordinateBranch> must included in params while using <bookedInfo> param. "
);
}
if
(
allYearMonth
.
size
()>
MAX_MONTH_COUNT_BOOKED_INFO_QUERY
){
throw
new
CustomIllegalParam
Exception
(
" only 3 month can be included <bookedInfo> param."
);
throw
new
Base
Exception
(
" only 3 month can be included <bookedInfo> param."
);
}
//加入预定信息查询条件
fillBookedDateSearchParam
(
params
,
yearMonthAndDate
,
yearMonthAndDateNotBooked
);
...
...
@@ -1141,7 +1169,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
Map
<
String
,
List
<
String
>>
yearMonthAndDateNotBooked
=
new
HashMap
<>();
//需比较未预定的年月 - 未预定日期列表 "2019-08-29"...."2019-09-04",
classifyByYearMonth
(
notBookedDates
,
yearMonthAndDateNotBooked
,
allYearMonth
);
if
(
allYearMonth
.
size
()>
MAX_MONTH_COUNT_BOOKED_INFO_QUERY
){
throw
new
CustomIllegalParam
Exception
(
" only 3 month can be included <bookedInfo> param."
);
throw
new
Base
Exception
(
" only 3 month can be included <bookedInfo> param."
);
}
//加入预定信息查询条件
...
...
@@ -1167,7 +1195,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> implements UserR
Map
<
String
,
List
<
String
>>
yearMonthAndDateNotBooked
=
new
HashMap
<>();
//未预定年月 - 未预定日期列表
classifyByYearMonth
(
notBookedDates
,
yearMonthAndDateNotBooked
,
allYearMonth
);
if
(
allYearMonth
.
size
()>
MAX_MONTH_COUNT_BOOKED_INFO_QUERY
){
throw
new
CustomIllegalParam
Exception
(
" only 3 month can be included <bookedInfo> param."
);
throw
new
Base
Exception
(
" only 3 month can be included <bookedInfo> param."
);
}
//加入预定信息查询条件
fillBookedDateSearchParam
(
params
,
yearMonthAndDate
,
yearMonthAndDateNotBooked
);
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBookHourInfoBiz.java
View file @
0c365595
...
...
@@ -3,10 +3,10 @@ package com.xxfc.platform.vehicle.biz;
import
com.ace.cache.annotation.Cache
;
import
com.ace.cache.annotation.CacheClear
;
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.google.common.collect.Maps
;
import
com.xxfc.platform.vehicle.common.CustomIllegalParamException
;
import
com.xxfc.platform.vehicle.constant.ResCode.ResCode
;
import
com.xxfc.platform.vehicle.entity.VehicleBookHourInfo
;
import
com.xxfc.platform.vehicle.mapper.VehicleBookHourInfoMapper
;
...
...
@@ -39,15 +39,15 @@ public class VehicleBookHourInfoBiz extends BaseBiz<VehicleBookHourInfoMapper, V
startDate
=
simpleDateFormat
.
parse
(
bookStartDate
);
endDate
=
simpleDateFormat
.
parse
(
bookEndDate
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
//判定时间是否合法
if
(
bookStartDate
.
compareTo
(
DateTime
.
now
().
toString
(
DEFAULT_DATE_TIME_FORMATTER
))
<
0
)
{
throw
new
CustomIllegalParamException
(
ResultCode
.
getMsg
(
ResultCode
.
ONLY_BOOK_FROM_TODAY
)
);
throw
new
BaseException
(
ResultCode
.
ONLY_BOOK_FROM_TODAY
);
}
if
(
bookStartDate
.
compareTo
(
bookEndDate
)
>
0
)
{
throw
new
CustomIllegalParamException
(
"预定开始日期不能大于结束日期!"
);
throw
new
BaseException
(
ResultCode
.
ONLY_BOOK_FROM_TODAY
);
}
Map
<
String
,
Integer
>
predictableHours
=
Maps
.
newHashMap
();
//预定开始小时
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBookRecordBiz.java
View file @
0c365595
...
...
@@ -12,7 +12,6 @@ import com.github.wxiaoqi.security.common.vo.PageDataVO;
import
com.google.common.collect.ImmutableMap
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.xxfc.platform.vehicle.common.CustomIllegalParamException
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.constant.BookType
;
import
com.xxfc.platform.vehicle.constant.RedisKey
;
...
...
@@ -273,7 +272,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
if
(
params
.
get
(
"selectedMonth"
)
!=
null
)
{
String
selectedMonth
=
(
String
)
params
.
get
(
"selectedMonth"
);
if
(
StringUtils
.
isBlank
(
selectedMonth
)){
throw
new
CustomIllegalParam
Exception
(
" no month selected "
);
throw
new
Base
Exception
(
" no month selected "
);
}
DateTime
selectedMonthDate
=
DateTime
.
parse
(
selectedMonth
,
YEARMONTH_DATE_TIME_FORMATTER
);
if
(
selectedMonthDate
.
compareTo
(
DateTime
.
now
().
plusMonths
(-
1
).
withDayOfMonth
(
1
).
withMillisOfDay
(
0
))
<
0
){
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/VehicleCataController.java
View file @
0c365595
...
...
@@ -9,16 +9,12 @@ import com.xxfc.platform.vehicle.biz.VehiclePlatCataBiz;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.common.VehicleBaseController
;
import
com.xxfc.platform.vehicle.entity.VehiclePlatCata
;
import
com.xxfc.platform.vehicle.pojo.
*
;
import
lombok.Data
;
import
com.xxfc.platform.vehicle.pojo.
Cascade
;
import
com.xxfc.platform.vehicle.pojo.CataVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.ibatis.annotations.Update
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.bind.annotation.*
;
import
sun.java2d.pipe.AATextRenderer
;
import
java.util.Arrays
;
@RestController
@RequestMapping
(
"/cata"
)
...
...
@@ -225,7 +221,7 @@ public class VehicleCataController extends VehicleBaseController<VehiclePlatCata
return RestResponse.data(baseBiz.getByPage(vehiclePageQueryVo));
} catch (JSONException ex) {
return RestResponse.code(ResCode.INVALID_REST_REQ_PARAM.getCode());
} catch (
CustomIllegalParam
Exception ex) {
} catch (
Base
Exception ex) {
return RestResponse.code(ResCode.INVALID_REST_REQ_PARAM.getCode());
}
}*/
...
...
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