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
2e0c04db
Commit
2e0c04db
authored
Aug 13, 2019
by
周健威
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into 'master'
Dev-master-merge-0813 See merge request
!5
parents
fb35e713
0e1f8e85
Changes
69
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
69 changed files
with
1398 additions
and
140 deletions
+1398
-140
.gitignore
.gitignore
+1
-1
ResultCode.java
...thub/wxiaoqi/security/common/util/process/ResultCode.java
+26
-2
resultcod.properties
...common/src/main/resources/properties/resultcod.properties
+26
-1
TokenAop.java
...m/github/wxiaoqi/security/admin/support/aop/TokenAop.java
+2
-1
AppUserRelationBiz.java
...github/wxiaoqi/security/admin/biz/AppUserRelationBiz.java
+1
-1
WaterMQHandler.java
...github/wxiaoqi/security/admin/handler/WaterMQHandler.java
+1
-0
WalletJobHandler.java
...b/wxiaoqi/security/admin/jobhandler/WalletJobHandler.java
+1
-1
AppUserController.java
...github/wxiaoqi/security/admin/rest/AppUserController.java
+1
-1
UserController.java
...om/github/wxiaoqi/security/admin/rest/UserController.java
+6
-5
pom.xml
pom.xml
+1
-0
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
IntegralUserRecordBiz.java
...com/xxfc/platform/activity/biz/IntegralUserRecordBiz.java
+3
-2
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
BaseOrderBiz.java
...c/main/java/com/xxfc/platform/order/biz/BaseOrderBiz.java
+11
-11
OrderDepositRefundRecordBiz.java
.../xxfc/platform/order/biz/OrderDepositRefundRecordBiz.java
+6
-0
OrderRefundBiz.java
...main/java/com/xxfc/platform/order/biz/OrderRefundBiz.java
+8
-9
OrderVehicleCrosstownBiz.java
...com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
+1
-1
RentDepositJobHandler.java
...xxfc/platform/order/jobhandler/RentDepositJobHandler.java
+16
-7
BackStageOrderController.java
...om/xxfc/platform/order/rest/BackStageOrderController.java
+30
-5
BaseOrderController.java
...ava/com/xxfc/platform/order/rest/BaseOrderController.java
+1
-0
BaseOrderMapper.xml
...rder-server/src/main/resources/mapper/BaseOrderMapper.xml
+6
-2
TourGoodController.java
.../java/com/xxfc/platform/tour/rest/TourGoodController.java
+1
-1
TourGoodMapper.xml
...-tour-server/src/main/resources/mapper/TourGoodMapper.xml
+4
-1
MQSenderFeign.java
...java/com/xxfc/platform/universal/feign/MQSenderFeign.java
+3
-4
MQSenderController.java
...xfc/platform/universal/controller/MQSenderController.java
+1
-0
pom.xml
xx-user-behavior-collect/pom.xml
+18
-0
pom.xml
xx-user-behavior-collect/xx-user-behavior-api/pom.xml
+13
-0
BehaviorEnum.java
.../com/xxfc/platform/user/behavior/common/BehaviorEnum.java
+95
-0
IdentityEnum.java
.../com/xxfc/platform/user/behavior/common/IdentityEnum.java
+33
-0
ActivityBehaviorDTO.java
.../xxfc/platform/user/behavior/dto/ActivityBehaviorDTO.java
+15
-0
BehaviorTypeDTO.java
.../com/xxfc/platform/user/behavior/dto/BehaviorTypeDTO.java
+15
-0
CustomerBehaviorNoteDTO.java
...c/platform/user/behavior/dto/CustomerBehaviorNoteDTO.java
+42
-0
ActivityBehavior.java
.../xxfc/platform/user/behavior/entity/ActivityBehavior.java
+26
-0
BehaviorType.java
.../com/xxfc/platform/user/behavior/entity/BehaviorType.java
+26
-0
CustomerBehaviorNotes.java
.../platform/user/behavior/entity/CustomerBehaviorNotes.java
+78
-0
BehaviorNoteCollectVo.java
...xxfc/platform/user/behavior/vo/BehaviorNoteCollectVo.java
+46
-0
pom.xml
xx-user-behavior-collect/xx-user-behavior-server/pom.xml
+50
-0
UserBeHaviorApplication.java
.../xxfc/platform/user/behavior/UserBeHaviorApplication.java
+23
-0
ActivityBehaviorBiz.java
.../xxfc/platform/user/behavior/biz/ActivityBehaviorBiz.java
+23
-0
BehaviorTypeBiz.java
.../com/xxfc/platform/user/behavior/biz/BehaviorTypeBiz.java
+33
-0
CustomerBehaviorNotesBiz.java
.../platform/user/behavior/biz/CustomerBehaviorNotesBiz.java
+142
-0
SwaggerConfig.java
...com/xxfc/platform/user/behavior/config/SwaggerConfig.java
+57
-0
WebConfiguration.java
.../xxfc/platform/user/behavior/config/WebConfiguration.java
+22
-0
ActivityBehaviorMapper.java
...platform/user/behavior/mapper/ActivityBehaviorMapper.java
+26
-0
BehaviorTypeMapper.java
...xfc/platform/user/behavior/mapper/BehaviorTypeMapper.java
+14
-0
CustomerBehaviorNotesMapper.java
...orm/user/behavior/mapper/CustomerBehaviorNotesMapper.java
+21
-0
CustomerBehaviorNotesController.java
...m/user/behavior/rest/CustomerBehaviorNotesController.java
+41
-0
CustomerBehaviorNotesAdminController.java
...vior/rest/admin/CustomerBehaviorNotesAdminController.java
+32
-0
bootstrap.yml
.../xx-user-behavior-server/src/main/resources/bootstrap.yml
+26
-0
logback.xml
...ct/xx-user-behavior-server/src/main/resources/logback.xml
+49
-0
CustomerBehaviorNotesMapper.xml
...src/main/resources/mapper/CustomerBehaviorNotesMapper.xml
+33
-0
ResCode.java
...a/com/xxfc/platform/vehicle/constant/ResCode/ResCode.java
+1
-0
AddOrUpdateAccompanyingItem.java
...fc/platform/vehicle/pojo/AddOrUpdateAccompanyingItem.java
+3
-0
CompanyDetail.java
...in/java/com/xxfc/platform/vehicle/pojo/CompanyDetail.java
+8
-1
AccompanyingItemFindDTO.java
...fc/platform/vehicle/pojo/dto/AccompanyingItemFindDTO.java
+18
-0
AccompanyingItemBiz.java
...va/com/xxfc/platform/vehicle/biz/AccompanyingItemBiz.java
+4
-8
ConstantBiz.java
.../main/java/com/xxfc/platform/vehicle/biz/ConstantBiz.java
+2
-2
VehicleBiz.java
...c/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
+44
-35
VehicleBookHourInfoBiz.java
...com/xxfc/platform/vehicle/biz/VehicleBookHourInfoBiz.java
+3
-3
AccompanyingItemMapper.java
.../xxfc/platform/vehicle/mapper/AccompanyingItemMapper.java
+3
-6
AccompanyingItemController.java
...xfc/platform/vehicle/rest/AccompanyingItemController.java
+5
-17
AccompanyingItemMapper.xml
...rver/src/main/resources/mapper/AccompanyingItemMapper.xml
+5
-5
No files found.
.gitignore
View file @
2e0c04db
...
...
@@ -7,7 +7,7 @@ target/
.settings/
.classpath
ace-modules/ace-tool/src/main/resources/application-dev.yml
src/main/test/**
/
src/main/test/**
logs/**
xx-order/xx-order-server/logs/**
*.log
...
...
ace-common/src/main/java/com/github/wxiaoqi/security/common/util/process/ResultCode.java
View file @
2e0c04db
...
...
@@ -18,8 +18,32 @@ public class ResultCode {
// 车辆预定失败,请重试
public
static
int
BOOKED_FAILED_CODE
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"BOOKED_FAILED_CODE"
));
// 车辆预定失败,请重试
public
static
int
ONLY_BOOK_FROM_TODAY
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"BOOKED_FAILED_CODE"
));
//预定时间不能为空 DATE_TIME_IS_NULL
public
static
int
DATE_TIME_IS_NULL
=
Integer
.
valueOf
(
SystemProperty
.
getResultConfig
(
"DATE_TIME_IS_NULL"
));
// 预定时间不能小于当前时间
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 @
2e0c04db
...
...
@@ -214,7 +214,7 @@ BOOKED_FAILED_CODE = 4007
4007
=
车辆预定失败,请重试!
ONLY_BOOK_FROM_TODAY
=
4008
4008
=
预定时间不能小于当前时间
4008
=
取消或
预定时间不能小于当前时间
ADD_VEHICLE_FAIL
=
4009
4009
=
添加车辆失败,请重试
...
...
@@ -222,4 +222,29 @@ ADD_VEHICLE_FAIL = 4009
UPDATE_VEHICLE_FAIL
=
4010
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-api/src/main/java/com/github/wxiaoqi/security/admin/support/aop/TokenAop.java
View file @
2e0c04db
...
...
@@ -68,7 +68,8 @@ public class TokenAop {
if
(
AppUserDTO
.
class
.
equals
(
parameter
.
getType
())){
//token为空
if
(
StringUtils
.
isEmpty
(
token
)){
return
ObjectRestResponse
.
createFailedResult
(
4004
,
"token不能为空"
);
// return ObjectRestResponse.createFailedResult(4004,"token不能为空");
args
[
i
]=
new
AppUserDTO
();
}
args
[
i
]=
userFeign
.
userDetailByToken
(
token
).
getData
();
break
;
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/AppUserRelationBiz.java
View file @
2e0c04db
...
...
@@ -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 @
2e0c04db
...
...
@@ -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/jobhandler/
RentDeposi
tJobHandler.java
→
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/jobhandler/
Walle
tJobHandler.java
View file @
2e0c04db
...
...
@@ -20,7 +20,7 @@ import java.io.Serializable;
@JobHandler
(
value
=
"walletHandler"
)
@Component
@Slf4j
public
class
RentDeposi
tJobHandler
extends
IJobHandler
{
public
class
Walle
tJobHandler
extends
IJobHandler
{
@Autowired
MyWaterBiz
myWaterBiz
;
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/AppUserController.java
View file @
2e0c04db
...
...
@@ -153,7 +153,7 @@ public class AppUserController extends CommonBaseController{
UserMemberVo
memberVo
=
userMemberBiz
.
getMemberInfoByUserId
(
userid
);
if
(
memberVo
!=
null
){
BeanUtils
.
copyProperties
(
userDTO
,
memberVo
);
userDTO
.
setPayCount
(
orderFeign
.
baseOrderCount
(
SYS_TRUE
,
"
1,
4,5,6,7"
,
null
,
userid
).
getData
());
userDTO
.
setPayCount
(
orderFeign
.
baseOrderCount
(
SYS_TRUE
,
"4,5,6,7"
,
null
,
userid
).
getData
());
Integer
level
=
memberVo
.
getMemberLevel
();
BaseUserMemberLevel
memberLevel
=
userMemberLevelBiz
.
getLevel
(
level
);
if
(
memberLevel
!=
null
){
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/UserController.java
View file @
2e0c04db
...
...
@@ -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
()
);
}
}
}
...
...
pom.xml
View file @
2e0c04db
...
...
@@ -45,6 +45,7 @@
<module>
xx-im
</module>
<module>
xx-campsite
</module>
<module>
xx-activity
</module>
<module>
xx-user-behavior-collect
</module>
</modules>
<packaging>
pom
</packaging>
<developers>
...
...
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/dto/ActivityListDTO.java
0 → 100644
View file @
2e0c04db
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 @
2e0c04db
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 @
2e0c04db
...
...
@@ -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 @
2e0c04db
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 @
2e0c04db
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/biz/IntegralUserRecordBiz.java
View file @
2e0c04db
...
...
@@ -24,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.util.List
;
@Service
...
...
@@ -65,8 +66,8 @@ public class IntegralUserRecordBiz extends BaseBiz<IntegralUserRecordMapper, Int
if
(
integralUserRecord
.
getPoint
()
==
null
)
{
Integer
point
=
0
;
if
(
oldValue
.
getPoint
()
==
0
)
{
//没有基础分需要计算分数
//
Integer amount = Integer.parseInt(new BigDecimal(integralUserRecord.getAmount()).divide(new BigDecimal("100"), 0, BigDecimal.ROUND_DOWN).toString());
Integer
amount
=
Integer
.
parseInt
(
integralUserRecord
.
getAmount
());
Integer
amount
=
Integer
.
parseInt
(
new
BigDecimal
(
integralUserRecord
.
getAmount
()).
divide
(
new
BigDecimal
(
"100"
),
0
,
BigDecimal
.
ROUND_DOWN
).
toString
());
//
Integer amount = Integer.parseInt(integralUserRecord.getAmount());
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
oldValue
.
getOtherRule
());
log
.
info
(
"查询的其他规则json信息:jsonObject = {}"
,
jsonObject
);
if
(
jsonObject
==
null
)
{
...
...
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/mapper/ActivityPopularizeRelationMapper.java
View file @
2e0c04db
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 @
2e0c04db
...
...
@@ -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 @
2e0c04db
...
...
@@ -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 @
2e0c04db
<?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/biz/BaseOrderBiz.java
View file @
2e0c04db
...
...
@@ -435,27 +435,27 @@ public class BaseOrderBiz extends BaseBiz<BaseOrderMapper, BaseOrder> {
private
void
sendQueue
(
OrderMQDTO
orderMQDTO
,
Integer
sign
)
{
try
{
orderMQDTO
.
setSign
(
sign
);
//
SendMsgDTO sendMsgDTO = new SendMsgDTO(){{
//
setExchange(ORDER_TOPIC);
//
}};
//
sendMsgDTO.setJson(JSONUtil.toJsonStr(orderMQDTO));
SendMsgDTO
sendMsgDTO
=
new
SendMsgDTO
(){{
setExchange
(
ORDER_TOPIC
);
}};
sendMsgDTO
.
setJson
(
JSONUtil
.
toJsonStr
(
orderMQDTO
));
switch
(
sign
)
{
case
2
:
//
sendMsgDTO.setRoutKey(KEY_ORDER_CANCEL);
mqSenderFeign
.
sendMessage
(
ORDER_TOPIC
,
KEY_ORDER_CANCEL
,
JSONUtil
.
toJsonStr
(
orderMQDTO
));
sendMsgDTO
.
setRoutKey
(
KEY_ORDER_CANCEL
);
//
mqSenderFeign.sendMessage(ORDER_TOPIC, KEY_ORDER_CANCEL, JSONUtil.toJsonStr(orderMQDTO));
break
;
case
4
:
//
sendMsgDTO.setRoutKey(KEY_ORDER_PAY);
mqSenderFeign
.
sendMessage
(
ORDER_TOPIC
,
KEY_ORDER_PAY
,
JSONUtil
.
toJsonStr
(
orderMQDTO
));
sendMsgDTO
.
setRoutKey
(
KEY_ORDER_PAY
);
//
mqSenderFeign.sendMessage(ORDER_TOPIC, KEY_ORDER_PAY, JSONUtil.toJsonStr(orderMQDTO));
break
;
case
6
:
//
sendMsgDTO.setRoutKey(KEY_ORDER_FINLISH);
mqSenderFeign
.
sendMessage
(
ORDER_TOPIC
,
KEY_ORDER_FINLISH
,
JSONUtil
.
toJsonStr
(
orderMQDTO
));
sendMsgDTO
.
setRoutKey
(
KEY_ORDER_FINLISH
);
//
mqSenderFeign.sendMessage(ORDER_TOPIC, KEY_ORDER_FINLISH, JSONUtil.toJsonStr(orderMQDTO));
break
;
default
:
break
;
}
// mqSenderFeign.postSendMessage(BeanUtil.beanToMap(sendMsgDTO, Boolean.FALSE, Boolean.TRUE)
);
mqSenderFeign
.
postSendMessage
(
sendMsgDTO
);
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderDepositRefundRecordBiz.java
View file @
2e0c04db
...
...
@@ -169,4 +169,10 @@ public class OrderDepositRefundRecordBiz extends BaseBiz<DepositRefundRecordMapp
}
}
public
void
completeRecordStatus
(
Integer
crosstownId
,
DepositRefundStatus
depositRefundStatus
)
{
DepositRefundRecord
depositRefundRecord
=
findByCrossIdAndStatus
(
crosstownId
,
depositRefundStatus
.
getCode
());
depositRefundRecord
.
setIscomplete
(
Boolean
.
TRUE
);
updateSelectiveById
(
depositRefundRecord
);
}
}
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderRefundBiz.java
View file @
2e0c04db
...
...
@@ -28,7 +28,6 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
...
...
@@ -82,14 +81,14 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
//未退还, 进行挂起保留违章预备金 的退还
if
(
RefundStatusEnum
.
NONE
.
getCode
().
equals
(
orderMQDTO
.
getRefundStatus
()))
{
Integer
crosstownTypeEnum
;
Integer
depositRefundRecordStatus
;
DepositRefundStatus
depositRefundRecordStatus
;
//判断是否定损过
if
(
SYS_TRUE
.
equals
(
orderMQDTO
.
getOrderRentVehicleDetail
().
getFixedLossStatus
()))
{
crosstownTypeEnum
=
CrosstownTypeEnum
.
FIXED_LOSS
.
getCode
();
depositRefundRecordStatus
=
DepositRefundStatus
.
FIXLOSSREFUND
.
getCode
()
;
depositRefundRecordStatus
=
DepositRefundStatus
.
FIXLOSSREFUND
;
}
else
{
crosstownTypeEnum
=
CrosstownTypeEnum
.
ARRIVE
.
getCode
();
depositRefundRecordStatus
=
DepositRefundStatus
.
REFUNDARRIVAL
.
getCode
()
;
depositRefundRecordStatus
=
DepositRefundStatus
.
REFUNDARRIVAL
;
}
OrderVehicleCrosstown
crosstown
=
crosstownBiz
.
selectOne
(
new
OrderVehicleCrosstown
(){{
setOrderId
(
orderMQDTO
.
getId
());
...
...
@@ -111,7 +110,7 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
String
refundDesc
=
"退还押金:"
+
refundAmont
.
toString
()+
"(已扣除 违章预备金:"
+
illegalReserve
.
toString
();
try
{
if
(
null
!=
crosstown
.
getDedDetail
())
{
List
<
DedDetailDTO
>
dddList
=
JSONUtil
.
to
Bean
(
crosstown
.
getDedDetail
(),
List
.
class
);
List
<
DedDetailDTO
>
dddList
=
JSONUtil
.
to
List
(
JSONUtil
.
parseArray
(
crosstown
.
getDedDetail
()),
DedDetailDTO
.
class
);
for
(
DedDetailDTO
ddd
:
dddList
)
{
refundDesc
+=
", "
+
ddd
.
getDeductions
()+
":"
+
ddd
.
getCost
();
}
...
...
@@ -122,10 +121,10 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper,OrderRefund> {
refundDesc
+=
")"
;
refundTrigger
(
orderMQDTO
,
orderMQDTO
.
getOrderRentVehicleDetail
(),
illegalReserve
,
originalRefundAmount
,
refundAmont
,
refundDesc
,
RefundStatusEnum
.
RESIDUE_ILLEGAL
.
getCode
(),
RefundTypeEnum
.
PART_DEPOSIT
);
DepositRefundRecord
depositRefundRecord
=
orderDepositRefundRecordBiz
.
findByCrossIdAndStatus
(
crosstown
.
getId
(),
depositRefundRecordStatus
);
depositRefundRecord
.
setIscomplete
(
Boolean
.
TRUE
);
orderDepositRefundRecordBiz
.
updateSelectiveById
(
depositRefundRecord
);
//
DepositRefundRecord depositRefundRecord = orderDepositRefundRecordBiz.findByCrossIdAndStatus(crosstown.getId(), depositRefundRecordStatus);
//
depositRefundRecord.setIscomplete(Boolean.TRUE);
//
orderDepositRefundRecordBiz.updateSelectiveById(depositRefundRecord);
orderDepositRefundRecordBiz
.
completeRecordStatus
(
crosstown
.
getId
(),
depositRefundRecordStatus
);
orderMsgBiz
.
handelMsgDeposit
(
orderMQDTO
.
getOrderRentVehicleDetail
(),
orderMQDTO
,
userFeign
.
userDetailById
(
orderMQDTO
.
getUserId
()).
getData
());
}
// else {
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/biz/OrderVehicleCrosstownBiz.java
View file @
2e0c04db
...
...
@@ -187,7 +187,7 @@ public class OrderVehicleCrosstownBiz extends BaseBiz<OrderVehicaleCrosstownMapp
}
if
(
vehicle
.
getMileageLastUpdate
()
!=
null
)
{
//判断车辆公里数
if
(
orderVehicleCrosstownDto
.
getMileage
()
==
null
||
orderVehicleCrosstownDto
.
getMileage
()
<
vehicle
.
getMileageLastUpdate
())
{
if
(
orderVehicleCrosstownDto
.
getMileage
()
==
null
||
orderVehicleCrosstownDto
.
getMileage
()
<
=
vehicle
.
getMileageLastUpdate
())
{
return
ObjectRestResponse
.
createFailedResult
(
500
,
"请输入车辆仪表盘实际公里数!"
);
}
}
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/jobhandler/RentDepositJobHandler.java
View file @
2e0c04db
...
...
@@ -52,6 +52,9 @@ public class RentDepositJobHandler extends IJobHandler {
@Autowired
OrderVehicleCrosstownBiz
crosstownBiz
;
@Autowired
OrderDepositRefundRecordBiz
orderDepositRefundRecordBiz
;
@Autowired
OrderViolationBiz
orderViolationBiz
;
...
...
@@ -78,9 +81,9 @@ public class RentDepositJobHandler extends IJobHandler {
//三十天
List
<
BaseOrder
>
lists
=
baseOrderBiz
.
selectByExample
(
new
Example
.
Builder
(
BaseOrder
.
class
)
//订单已完成的租车订单
.
where
(
WeekendSqls
.<
BaseOrder
>
custom
().
andEqualTo
(
BaseOrder:
:
getType
,
OrderTypeEnum
.
RENT_VEHICLE
)
.
andEqualTo
(
BaseOrder:
:
getStatus
,
OrderStatusEnum
.
ORDER_FINISH
)
//已完成的订单
.
andEqualTo
(
BaseOrder:
:
getRefundStatus
,
RefundStatusEnum
.
RESIDUE_ILLEGAL
)
//已归还了部分押金
.
where
(
WeekendSqls
.<
BaseOrder
>
custom
().
andEqualTo
(
BaseOrder:
:
getType
,
OrderTypeEnum
.
RENT_VEHICLE
.
getCode
()
)
.
andEqualTo
(
BaseOrder:
:
getStatus
,
OrderStatusEnum
.
ORDER_FINISH
.
getCode
()
)
//已完成的订单
.
andEqualTo
(
BaseOrder:
:
getRefundStatus
,
RefundStatusEnum
.
RESIDUE_ILLEGAL
.
getCode
()
)
//已归还了部分押金
.
andLessThanOrEqualTo
(
BaseOrder:
:
getCrtTime
,
DateUtil
.
date
(
System
.
currentTimeMillis
()
-
(
rentDepositAutoRefundTime
*
60
*
1000
)))
// .andLike(BaseOrder::getId, "%"+ i)
).
build
());
...
...
@@ -109,14 +112,20 @@ public class RentDepositJobHandler extends IJobHandler {
setIsDel
(
SYS_FALSE
);
}});
String
refundDesc
=
"退还押金:"
;
BigDecimal
refundAmont
;
if
(
null
!=
orderViolation
)
{
//还车扣除款 剩余的 钱,再减去违章预备金
BigDecimal
refundAmont
=
orvd
.
getReturnPayResidue
().
subtract
(
orderViolation
.
getPrice
());
String
refundDesc
=
"退还押金:"
+
refundAmont
.
toString
()+
"(已扣除 违章扣款:"
+
refundAmont
.
toString
();
refundAmont
=
orvd
.
getReturnPayResidue
().
subtract
(
orderViolation
.
getPrice
());
refundDesc
+=
refundAmont
.
toString
()+
"(已扣除 违章扣款:"
+
refundAmont
.
toString
();
refundDesc
+=
")"
;
orderRefundBiz
.
refundTrigger
(
baseOrder
,
orvd
,
BigDecimal
.
ZERO
,
orvd
.
getReturnPayResidue
(),
refundAmont
,
refundDesc
,
RefundStatusEnum
.
REFUND_DEPOSIT
.
getCode
(),
RefundTypeEnum
.
RESIDUE_DEPOSIT
);
orderMsgBiz
.
handelMsgDeposit
(
orvd
,
baseOrder
,
userFeign
.
userDetailById
(
baseOrder
.
getUserId
()).
getData
());
}
else
{
refundAmont
=
orvd
.
getReturnPayResidue
();
refundDesc
+=
refundAmont
.
toString
();
}
orderRefundBiz
.
refundTrigger
(
baseOrder
,
orvd
,
BigDecimal
.
ZERO
,
orvd
.
getReturnPayResidue
(),
refundAmont
,
refundDesc
,
RefundStatusEnum
.
REFUND_DEPOSIT
.
getCode
(),
RefundTypeEnum
.
RESIDUE_DEPOSIT
);
orderDepositRefundRecordBiz
.
completeRecordStatus
(
crosstown
.
getId
(),
DepositRefundStatus
.
VIOLATIONARRIVAL
);
orderMsgBiz
.
handelMsgDeposit
(
orvd
,
baseOrder
,
userFeign
.
userDetailById
(
baseOrder
.
getUserId
()).
getData
());
}
//获取交车时间
...
...
xx-order/xx-order-server/src/main/java/com/xxfc/platform/order/rest/BackStageOrderController.java
View file @
2e0c04db
...
...
@@ -84,7 +84,7 @@ public class BackStageOrderController extends CommonBaseController implements Us
if
(
userDTO
==
null
)
{
return
ObjectRestResponse
.
succ
(
new
PageDataVO
<>());
}
if
(
dto
.
getType
()
!=
3
)
{
if
(
dto
.
getType
()
!=
null
&&
dto
.
getType
()
!=
3
)
{
List
<
BranchCompany
>
branchCompanies
=
vehicleFeign
.
companyAll
(
userDTO
.
getDataAll
(),
userDTO
.
getDataCompany
(),
userDTO
.
getDataZone
());
List
<
Integer
>
companyIds
=
branchCompanies
.
stream
().
map
(
BranchCompany:
:
getId
).
collect
(
Collectors
.
toList
());
dto
.
setCompanyIds
(
companyIds
);
...
...
@@ -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/java/com/xxfc/platform/order/rest/BaseOrderController.java
View file @
2e0c04db
...
...
@@ -205,6 +205,7 @@ public class BaseOrderController extends CommonBaseController implements UserRes
}
log
.
info
(
"no:"
+
no
+
",时间戳:"
+
System
.
currentTimeMillis
());
OrderPageVO
orderPageVO
=
page
.
getData
().
get
(
0
);
orderPageVO
.
setQrcodeStr
(
qrcodePrefix
);
orderPageVO
.
setItems
(
orderItemBiz
.
selectList
(
new
OrderItem
(){{
setOrderId
(
orderPageVO
.
getId
());
}}));
...
...
xx-order/xx-order-server/src/main/resources/mapper/BaseOrderMapper.xml
View file @
2e0c04db
...
...
@@ -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 @
2e0c04db
...
...
@@ -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
=
"100
.00
"
)
Double
distance
)
{
@RequestParam
(
value
=
"distance"
,
defaultValue
=
"100"
)
Double
distance
)
{
return
baseBiz
.
getGoodList
(
page
,
limit
,
query
,
latitude
,
longitude
,
tagId
,
distance
);
}
...
...
xx-tour/xx-tour-server/src/main/resources/mapper/TourGoodMapper.xml
View file @
2e0c04db
...
...
@@ -59,7 +59,10 @@
IFNULL(ROUND(( (2 * ASIN( SQRT( POW( SIN((latitude * PI() / 180.0- #{params.latitude}* PI() / 180.0)/2), 2)+COS( latitude * PI() / 180.0)*COS( #{params.latitude} * PI() / 180.0)
*POW(SIN((longitude * PI() / 180.0 - #{params.longitude}* PI() /180.0)/2),2))))*6378.137)*10000)/10000 ,0 ) AS distance
FROM tour_good_site WHERE type=2 ) gs ON t.id=gs.good_id
where t.is_del=0 AND t.status=1 and gs.distance
<
#{params.distance}
where t.is_del=0 AND t.status=1
<if
test=
"params.distance != null and params.distance != ''and params.distance >0"
>
and gs.distance
<
#{params.distance}
</if>
<if
test=
"params.query != null and params.query != ''"
>
and (t.`name` like CONCAT('%',#{params.query},'%') or t.introduce like CONCAT('%',#{params.query},'%'))
</if>
...
...
xx-universal/xx-universal-api/src/main/java/com/xxfc/platform/universal/feign/MQSenderFeign.java
View file @
2e0c04db
package
com
.
xxfc
.
platform
.
universal
.
feign
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.universal.dto.SendMsgDTO
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Map
;
...
...
@@ -15,6 +14,6 @@ public interface MQSenderFeign {
public
ObjectRestResponse
sendMessage
(
@RequestParam
(
value
=
"exchange"
)
String
exchange
,
@RequestParam
(
value
=
"routKey"
)
String
routKey
,
@RequestParam
(
value
=
"json"
)
String
json
);
@PostMapping
(
value
=
"/message/sendMessage"
)
public
ObjectRestResponse
postSendMessage
(
@Request
Param
(
"entity"
)
Map
<
String
,
Object
>
entity
);
public
ObjectRestResponse
postSendMessage
(
@Request
Body
SendMsgDTO
dto
);
}
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/controller/MQSenderController.java
View file @
2e0c04db
...
...
@@ -19,6 +19,7 @@ public class MQSenderController {
}
@PostMapping
(
value
=
"/sendMessage"
)
@ResponseBody
public
ObjectRestResponse
sendMessage
(
@RequestBody
SendMsgDTO
dto
)
{
return
mqServiceBiZ
.
sendMessage
(
dto
.
getExchange
(),
dto
.
getRoutKey
(),
dto
.
getJson
());
}
...
...
xx-user-behavior-collect/pom.xml
0 → 100644
View file @
2e0c04db
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
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>
ace-security
</artifactId>
<groupId>
com.github.wxiaoqi
</groupId>
<version>
2.0-SNAPSHOT
</version>
</parent>
<groupId>
com.xxfc.platform
</groupId>
<modules>
<module>
xx-user-behavior-api
</module>
<module>
xx-user-behavior-server
</module>
</modules>
<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
0 → 100644
View file @
2e0c04db
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
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>
<groupId>
com.xxfc.common
</groupId>
<artifactId>
xx-common-platform
</artifactId>
<version>
2.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
com.xxfc.platform
</groupId>
<artifactId>
xx-user-behavior-api
</artifactId>
</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
0 → 100644
View file @
2e0c04db
package
com
.
xxfc
.
platform
.
user
.
behavior
.
common
;
/**
* @author libin
* @version 1.0
* @description 用户行为枚举
* @data 2019/8/12 14:57
*/
public
enum
BehaviorEnum
{
/**
* 弹窗曝光
*/
DIALOG_WINDOW
(
0
,
"弹窗曝光"
),
/**
* 立即前往(弹窗)
*/
DIALOG_WINDOW_TO
(
1
,
"立即前往(弹窗)"
),
/**
* banner 点击
*/
BANNER_CLICK
(
2
,
"banner点击"
),
/**
* 精彩活动点击
*/
WONDERFUL_ACTIVITY_CLICK
(
3
,
"精彩活动点击"
),
/**
* 注册
*/
REGISTRY
(
4
,
"成功注册"
),
/**
* 活动页面访问量
*/
ACTIVITY_VISITS
(
5
,
"活动页面访问"
),
/**
* 领取任务
*/
CLAIM_TASK
(
6
,
"领取任务"
),
/**
* 分享
*/
SHARE
(
7
,
"成功分享"
),
/**
* App访问
*/
APP_VISIT_COUNT
(
8
,
"App访问量"
),
/**
* 成功邀请人数
*/
SUCCESS_INVIT
(
9
,
"成功邀请人数"
),
/**
* 成功邀请人数大于10
*/
SUCCESS_MORE_10_INVIT
(
10
,
"成功邀请人数大于10"
),
/**
* 立即领取(活动详情页)
*/
IMMEDIATELY_TO_RECEIVE
(
11
,
"立即领取(活动详情页)"
);
BehaviorEnum
(
int
code
,
String
name
)
{
this
.
code
=
code
;
this
.
name
=
name
;
}
private
int
code
;
private
String
name
;
public
int
getCode
()
{
return
code
;
}
public
void
setCode
(
int
code
)
{
this
.
code
=
code
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
}
xx-user-behavior-collect/xx-user-behavior-api/src/main/java/com/xxfc/platform/user/behavior/common/IdentityEnum.java
0 → 100644
View file @
2e0c04db
package
com
.
xxfc
.
platform
.
user
.
behavior
.
common
;
/**
* @author libin
* @version 1.0
* @description 身份枚举
* @data 2019/8/12 14:53
*/
public
enum
IdentityEnum
{
/**
* 游客
*/
VISITOR
(
1
),
/**
* app用户
*/
USER
(
2
);
private
int
code
;
IdentityEnum
(
int
code
){
this
.
code
=
code
;
}
public
int
getCode
()
{
return
code
;
}
public
void
setCode
(
int
code
)
{
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 @
2e0c04db
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/BehaviorTypeDTO.java
0 → 100644
View file @
2e0c04db
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/dto/CustomerBehaviorNoteDTO.java
0 → 100644
View file @
2e0c04db
package
com
.
xxfc
.
platform
.
user
.
behavior
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/12 14:13
*/
@Data
public
class
CustomerBehaviorNoteDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
"主键id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"用户id"
)
private
String
customerId
;
/**
* 访问者身份 {@link com.xxfc.platform.user.behavior.common.IdentityEnum}
*/
@ApiModelProperty
(
value
=
"1-游客;2-用户"
)
private
Integer
customerType
;
/**
* 行为类型 {@link com.xxfc.platform.user.behavior.common.BehaviorEnum}
*/
@ApiModelProperty
(
value
=
"行为类型(见枚举)"
)
private
Integer
type
;
@ApiModelProperty
(
value
=
"类型id"
)
private
Integer
typeId
;
@ApiModelProperty
(
value
=
"请求id"
)
private
String
requestId
;
}
xx-user-behavior-collect/xx-user-behavior-api/src/main/java/com/xxfc/platform/user/behavior/entity/ActivityBehavior.java
0 → 100644
View file @
2e0c04db
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/BehaviorType.java
0 → 100644
View file @
2e0c04db
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
0 → 100644
View file @
2e0c04db
package
com
.
xxfc
.
platform
.
user
.
behavior
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
import
java.util.Objects
;
/**
* 用户行为记录表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-08-12 14:03:55
*/
@Data
@Table
(
name
=
"customer_behavior_notes"
)
public
class
CustomerBehaviorNotes
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
@ApiModelProperty
(
"主键id"
)
private
Integer
id
;
@Column
(
name
=
"customer_id"
)
@ApiModelProperty
(
value
=
"用户id"
)
private
String
customerId
;
/**
* 访问者身份 {@link com.xxfc.platform.user.behavior.common.IdentityEnum}
*/
@Column
(
name
=
"customer_type"
)
@ApiModelProperty
(
value
=
"1-游客;2-用户"
)
private
Integer
customerType
;
/**
* 行为类型 {@link com.xxfc.platform.user.behavior.common.BehaviorEnum}
*/
@Column
(
name
=
"type"
)
@ApiModelProperty
(
value
=
"行为类型"
)
private
Integer
type
;
@Column
(
name
=
"type_id"
)
@ApiModelProperty
(
value
=
"类型id"
)
private
Integer
typeId
;
@Column
(
name
=
"crt_time"
)
@ApiModelProperty
(
value
=
"创建时间"
,
hidden
=
true
)
private
Long
crtTime
;
@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 @
2e0c04db
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 + 成功邀请人数 ,邀请人数>=10 ,App 访问量
* 行为
*/
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
0 → 100644
View file @
2e0c04db
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
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>
<groupId>
com.xxfc.common
</groupId>
<artifactId>
xx-common-platform-web
</artifactId>
<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.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.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
0 → 100644
View file @
2e0c04db
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
;
/**
* @author libin
* @version 1.0
* @description
* @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
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
UserBeHaviorApplication
.
class
,
args
);
}
}
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/biz/ActivityBehaviorBiz.java
0 → 100644
View file @
2e0c04db
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/BehaviorTypeBiz.java
0 → 100644
View file @
2e0c04db
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.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
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
){
List
<
BehaviorTypeDTO
>
behaviorTypeDTOS
=
new
ArrayList
<>();
List
<
BehaviorType
>
behaviorTypes
=
mapper
.
selectByIdList
(
typeIds
);
BehaviorTypeDTO
behaviorTypeDTO
;
for
(
BehaviorType
behaviorType
:
behaviorTypes
)
{
behaviorTypeDTO
=
new
BehaviorTypeDTO
();
BeanUtils
.
copyProperties
(
behaviorType
,
behaviorTypeDTO
);
behaviorTypeDTOS
.
add
(
behaviorTypeDTO
);
}
return
behaviorTypeDTOS
;
}
}
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/biz/CustomerBehaviorNotesBiz.java
0 → 100644
View file @
2e0c04db
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.BehaviorTypeDTO
;
import
com.xxfc.platform.user.behavior.dto.CustomerBehaviorNoteDTO
;
import
com.xxfc.platform.user.behavior.entity.CustomerBehaviorNotes
;
import
com.xxfc.platform.user.behavior.mapper.CustomerBehaviorNotesMapper
;
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.stream.Collectors
;
/**
* 用户行为记录表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-08-12 14:03:55
*/
@Service
@RequiredArgsConstructor
(
onConstructor
=
@__
({
@Autowired
}))
public
class
CustomerBehaviorNotesBiz
extends
BaseBiz
<
CustomerBehaviorNotesMapper
,
CustomerBehaviorNotes
>
{
private
final
ActivityFeign
activityFeign
;
private
final
BehaviorTypeBiz
behaviorTypeBiz
;
private
final
ActivityBehaviorBiz
activityBehaviorBiz
;
public
void
saveCustomerBehavior
(
CustomerBehaviorNoteDTO
customerBehaviorNoteDTO
)
{
CustomerBehaviorNotes
customerBehaviorNotes
=
new
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
<>();
List
<
CustomerBehaviorNotes
>
customerBehaviorNotes
=
mapper
.
selectByActivityIdAndTime
(
activityId
,
startTime
,
endTime
);
boolean
isEmpty
=
CollectionUtils
.
isEmpty
(
customerBehaviorNotes
);
List
<
ActivityPopularizeRelationDTO
>
popularizeRelations
=
new
ArrayList
<>();
Map
<
Integer
,
List
<
CustomerBehaviorNotes
>>
behaviorAndDataMap
=
null
;
if
(!
isEmpty
)
{
//邀请成功记录
popularizeRelations
=
activityFeign
.
findActivityPopularizeRelationByActivityIdAndTime
(
activityId
,
startTime
,
endTime
);
behaviorAndDataMap
=
customerBehaviorNotes
.
stream
().
collect
(
Collectors
.
groupingBy
(
CustomerBehaviorNotes:
:
getType
,
Collectors
.
toList
()));
}
//获取时间间隔
long
between_day
=
getBetween_day
(
activityId
,
startTime
,
endTime
);
between_day
=
Math
.
abs
(
between_day
)
==
0
?
1
:
Math
.
abs
(
between_day
);
List
<
ActivityBehaviorDTO
>
activityBehaviorDTOS
=
activityBehaviorBiz
.
findActivityBehaviorsByActivityId
(
activityId
);
List
<
Integer
>
behaviorTypeIds
=
activityBehaviorDTOS
.
stream
().
map
(
ActivityBehaviorDTO:
:
getBehaviorTypeId
).
collect
(
Collectors
.
toList
());
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
<
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
()));
if
(
isEmpty
)
{
behaviorNoteCollectVos
.
add
(
behaviorNoteCollectVo
);
continue
;
}
else
{
long
default_p_total
,
default_p_avg
,
default_u_total
,
default_u_avg
;
switch
(
behaviorEnum
)
{
case
SUCCESS_INVIT:
default_p_total
=
popularizeRelations
.
size
();
default_p_avg
=
(
default_p_total
/
between_day
);
default_u_total
=
default_p_total
;
default_u_avg
=
default_p_avg
;
break
;
case
SUCCESS_MORE_10_INVIT:
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
;
default_u_total
=
default_p_total
;
default_u_avg
=
default_p_avg
;
break
;
case
APP_VISIT_COUNT:
default_p_total
=
mapper
.
selectAppVvisitsByType
(
BehaviorEnum
.
APP_VISIT_COUNT
.
getCode
());
default_p_avg
=
default_p_total
/
between_day
;
default_u_total
=
default_p_total
;
default_u_avg
=
default_p_avg
;
break
;
default
:
//访问量
List
<
CustomerBehaviorNotes
>
customerBehaviors
=
behaviorAndDataMap
==
null
?
Collections
.
EMPTY_LIST
:
behaviorAndDataMap
.
get
(
behaviorEnum
.
getCode
());
boolean
typeIsEmpty
=
CollectionUtils
.
isEmpty
(
customerBehaviors
);
default_p_total
=
typeIsEmpty
?
0
:
customerBehaviors
.
size
();
default_p_avg
=
default_p_total
/
between_day
;
//用户访问量
Set
<
CustomerBehaviorNotes
>
customerBehaviorsSet
=
new
HashSet
<>(
typeIsEmpty
?
Collections
.
EMPTY_SET
:
customerBehaviors
);
default_u_total
=
customerBehaviorsSet
.
size
();
default_u_avg
=
default_u_total
/
between_day
;
break
;
}
behaviorNoteCollectVo
.
setP_count
(
default_p_total
);
behaviorNoteCollectVo
.
setP_avg_count
(
default_p_avg
);
behaviorNoteCollectVo
.
setU_count
(
default_u_total
);
behaviorNoteCollectVo
.
setU_avg_count
(
default_u_avg
);
behaviorNoteCollectVos
.
add
(
behaviorNoteCollectVo
);
}
}
return
behaviorNoteCollectVos
;
}
private
long
getBetween_day
(
Integer
activityId
,
Long
startTime
,
Long
endTime
)
{
long
between_day
=
0
;
if
(
startTime
!=
null
&&
endTime
!=
null
)
{
between_day
=
ChronoUnit
.
DAYS
.
between
(
Instant
.
ofEpochMilli
(
startTime
),
Instant
.
ofEpochMilli
(
endTime
));
}
else
{
ActivityListDTO
activityListDTO
=
activityFeign
.
findActivityStartTimeAndEndTimeById
(
activityId
);
if
(
startTime
!=
null
)
{
between_day
=
ChronoUnit
.
DAYS
.
between
(
Instant
.
ofEpochMilli
(
startTime
),
Instant
.
now
());
}
if
(
endTime
!=
null
)
{
between_day
=
ChronoUnit
.
DAYS
.
between
(
Instant
.
ofEpochMilli
(
activityListDTO
.
getActivity_startTime
()),
Instant
.
ofEpochMilli
(
endTime
));
}
if
(
startTime
==
null
&&
endTime
==
null
)
{
between_day
=
ChronoUnit
.
DAYS
.
between
(
Instant
.
ofEpochMilli
(
activityListDTO
.
getActivity_startTime
()),
Instant
.
now
());
}
}
return
between_day
;
}
}
\ No newline at end of file
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/config/SwaggerConfig.java
0 → 100644
View file @
2e0c04db
package
com
.
xxfc
.
platform
.
user
.
behavior
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
springfox.documentation.builders.ApiInfoBuilder
;
import
springfox.documentation.builders.ParameterBuilder
;
import
springfox.documentation.builders.RequestHandlerSelectors
;
import
springfox.documentation.schema.ModelRef
;
import
springfox.documentation.service.ApiInfo
;
import
springfox.documentation.service.Parameter
;
import
springfox.documentation.spi.DocumentationType
;
import
springfox.documentation.spring.web.plugins.Docket
;
import
springfox.documentation.swagger2.annotations.EnableSwagger2
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Description : swagger配置配置
* @Author : Mars
* @Date : 2017年9月6日
*/
@Configuration
@EnableSwagger2
public
class
SwaggerConfig
{
/**
* Every Docket bean is picked up by the swagger-mvc framework - allowing for multiple
* swagger groups i.e. same code base multiple swagger resource listings.
*/
@Bean
public
Docket
customDocket
()
{
ParameterBuilder
ticketPar
=
new
ParameterBuilder
();
List
<
Parameter
>
pars
=
new
ArrayList
<
Parameter
>();
ticketPar
.
name
(
"Authorization"
).
description
(
"user Authorization"
)
.
modelRef
(
new
ModelRef
(
"string"
)).
parameterType
(
"header"
)
//header中的ticket参数非必填,传空也可以
.
required
(
false
).
build
();
//根据每个方法名也知道当前方法在设置什么参数
pars
.
add
(
ticketPar
.
build
());
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
select
()
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.xxfc.platform.activity.rest"
))
.
build
()
.
globalOperationParameters
(
pars
)
.
apiInfo
(
apiInfo
());
}
ApiInfo
apiInfo
()
{
return
new
ApiInfoBuilder
()
.
title
(
"api swagger document"
)
.
description
(
"前后端联调swagger api 文档"
)
.
version
(
"2.1.5.5"
)
.
build
();
}
}
\ No newline at end of file
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/config/WebConfiguration.java
0 → 100644
View file @
2e0c04db
package
com
.
xxfc
.
platform
.
user
.
behavior
.
config
;
import
com.github.wxiaoqi.security.common.handler.GlobalExceptionHandler
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/12 15:27
*/
@Configuration
(
"campsiteWebConfig"
)
@Primary
public
class
WebConfiguration
implements
WebMvcConfigurer
{
@Bean
GlobalExceptionHandler
getGlobalExceptionHandler
()
{
return
new
GlobalExceptionHandler
();
}
}
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/mapper/ActivityBehaviorMapper.java
0 → 100644
View file @
2e0c04db
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 `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/BehaviorTypeMapper.java
0 → 100644
View file @
2e0c04db
package
com
.
xxfc
.
platform
.
user
.
behavior
.
mapper
;
import
com.xxfc.platform.user.behavior.entity.BehaviorType
;
import
tk.mybatis.mapper.additional.idlist.IdListMapper
;
import
tk.mybatis.mapper.common.Mapper
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/13 14:13
*/
public
interface
BehaviorTypeMapper
extends
Mapper
<
BehaviorType
>,
IdListMapper
<
BehaviorType
,
Integer
>
{
}
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/mapper/CustomerBehaviorNotesMapper.java
0 → 100644
View file @
2e0c04db
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
;
/**
* 用户行为记录表
*
* @author libin
* @email 18178966185@163.com
* @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
);
}
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/rest/CustomerBehaviorNotesController.java
0 → 100644
View file @
2e0c04db
package
com
.
xxfc
.
platform
.
user
.
behavior
.
rest
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.user.behavior.biz.CustomerBehaviorNotesBiz
;
import
com.xxfc.platform.user.behavior.common.IdentityEnum
;
import
com.xxfc.platform.user.behavior.dto.CustomerBehaviorNoteDTO
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Objects
;
/**
* @author libin
* @version 1.0
* @description 用户行为日志*记录
* @data 2019/8/12 14:14
*/
@RestController
@RequestMapping
(
"/customerBehaviorNotes"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
CustomerBehaviorNotesController
{
private
final
CustomerBehaviorNotesBiz
customerBehaviorNotesBiz
;
@PostMapping
(
"/app/unauth/save"
)
public
ObjectRestResponse
<
Void
>
saveCustomerBehavior
(
@RequestBody
CustomerBehaviorNoteDTO
customerBehaviorNoteDTO
,
AppUserDTO
appUserDTO
)
{
if
(
Objects
.
nonNull
(
appUserDTO
.
getUserid
()))
{
customerBehaviorNoteDTO
.
setCustomerId
(
String
.
valueOf
(
appUserDTO
.
getUserid
()));
customerBehaviorNoteDTO
.
setCustomerType
(
IdentityEnum
.
USER
.
getCode
());
}
else
{
customerBehaviorNoteDTO
.
setCustomerType
(
IdentityEnum
.
VISITOR
.
getCode
());
}
customerBehaviorNotesBiz
.
saveCustomerBehavior
(
customerBehaviorNoteDTO
);
return
ObjectRestResponse
.
succ
();
}
}
\ No newline at end of file
xx-user-behavior-collect/xx-user-behavior-server/src/main/java/com/xxfc/platform/user/behavior/rest/admin/CustomerBehaviorNotesAdminController.java
0 → 100644
View file @
2e0c04db
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.*
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description 用户行为日志*后台统计
* @data 2019/8/12 15:16
*/
@RestController
@RequestMapping
(
"/admin/customerBehaviorNotes"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
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/bootstrap.yml
0 → 100644
View file @
2e0c04db
spring
:
application
:
name
:
xx-user-behavior
profiles
:
active
:
dev
cloud
:
nacos
:
config
:
file-extension
:
yaml
---
spring
:
profiles
:
dev
cloud
:
nacos
:
config
:
server-addr
:
127.0.0.1:8848
#共用配置,暂定一个
shared-dataids
:
common-dev.yaml,mongodb-log-dev.yaml
---
spring
:
profiles
:
pro
cloud
:
nacos
:
config
:
server-addr
:
10.5.52.2:8848
\ No newline at end of file
xx-user-behavior-collect/xx-user-behavior-server/src/main/resources/logback.xml
0 → 100644
View file @
2e0c04db
<?xml version="1.0" encoding="UTF-8"?>
<configuration
debug=
"false"
>
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 -->
<property
name=
"LOG_HOME"
value=
"${system.log.path:-logs}"
/>
<!-- 彩色日志依赖的渲染类 -->
<conversionRule
conversionWord=
"clr"
converterClass=
"org.springframework.boot.logging.logback.ColorConverter"
/>
<conversionRule
conversionWord=
"wex"
converterClass=
"org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"
/>
<conversionRule
conversionWord=
"wEx"
converterClass=
"org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"
/>
<!-- 彩色日志格式 -->
<property
name=
"CONSOLE_LOG_PATTERN"
value=
"${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"
/>
<appender
name=
"STDOUT"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<!--1. 输出到控制台-->
<filter
class=
"com.github.wxiaoqi.security.common.filter.NacosLogFilter"
></filter>
<encoder>
<Pattern>
${CONSOLE_LOG_PATTERN}
</Pattern>
<charset>
UTF-8
</charset>
<!-- 设置字符集 -->
</encoder>
</appender>
<appender
name=
"SYSTEM_FILE"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!-- 按照每天生成日志文件 -->
<filter
class=
"com.github.wxiaoqi.security.common.filter.DenyFilter"
></filter>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<FileNamePattern>
${LOG_HOME}/sys.%d{yyyy-MM-dd}.log
</FileNamePattern>
<!--日志文件输出的文件名 -->
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<Pattern>
${CONSOLE_LOG_PATTERN}
</Pattern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
<appender
name=
"WEB_FILE"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!-- 按照每天生成日志文件 -->
<filter
class=
"com.github.wxiaoqi.security.common.filter.AcceptFilter"
></filter>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
<FileNamePattern>
${LOG_HOME}/log.%d{yyyy-MM-dd}.log
</FileNamePattern>
<!--日志文件输出的文件名 -->
<MaxHistory>
30
</MaxHistory>
<!--日志文件保留天数 -->
</rollingPolicy>
<encoder
class=
"ch.qos.logback.classic.encoder.PatternLayoutEncoder"
>
<Pattern>
${CONSOLE_LOG_PATTERN}
</Pattern>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
</encoder>
</appender>
<root
level=
"INFO"
>
<appender-ref
ref=
"STDOUT"
/>
<appender-ref
ref=
"SYSTEM_FILE"
/>
<appender-ref
ref=
"WEB_FILE"
/>
</root>
</configuration>
\ No newline at end of file
xx-user-behavior-collect/xx-user-behavior-server/src/main/resources/mapper/CustomerBehaviorNotesMapper.xml
0 → 100644
View file @
2e0c04db
<?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.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"
/>
<result
property=
"customerType"
column=
"customer_type"
/>
<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>
</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 @
2e0c04db
...
...
@@ -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-api/src/main/java/com/xxfc/platform/vehicle/pojo/AddOrUpdateAccompanyingItem.java
View file @
2e0c04db
...
...
@@ -2,6 +2,8 @@ package com.xxfc.platform.vehicle.pojo;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
AddOrUpdateAccompanyingItem
{
...
...
@@ -17,6 +19,7 @@ public class AddOrUpdateAccompanyingItem {
*/
private
Integer
type
;
private
BigDecimal
price
;
/**
* 备注
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/CompanyDetail.java
View file @
2e0c04db
...
...
@@ -17,7 +17,14 @@ public class CompanyDetail extends BranchCompany {
// if(0 != detailAddrStr.length()) {
//
// }
detailAddrStr
.
append
(
sysRegion
.
getName
());
String
name
=
sysRegion
.
getName
()
.
replace
(
"省"
,
""
)
.
replace
(
"市"
,
""
)
.
replace
(
"县"
,
""
)
.
replace
(
"区"
,
""
);
if
(
!
detailAddrStr
.
toString
().
contains
(
name
))
{
detailAddrStr
.
append
(
sysRegion
.
getName
());
}
}
}
...
...
xx-vehicle/xx-vehicle-api/src/main/java/com/xxfc/platform/vehicle/pojo/dto/AccompanyingItemFindDTO.java
0 → 100644
View file @
2e0c04db
package
com
.
xxfc
.
platform
.
vehicle
.
pojo
.
dto
;
import
com.github.wxiaoqi.security.common.vo.PageParam
;
import
lombok.Data
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/12 16:08
*/
@Data
public
class
AccompanyingItemFindDTO
extends
PageParam
{
private
String
name
;
private
Integer
type
;
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/AccompanyingItemBiz.java
View file @
2e0c04db
...
...
@@ -13,7 +13,7 @@ import com.xxfc.platform.vehicle.constant.RedisKey;
import
com.xxfc.platform.vehicle.entity.AccompanyingItem
;
import
com.xxfc.platform.vehicle.mapper.AccompanyingItemMapper
;
import
com.xxfc.platform.vehicle.pojo.AddOrUpdateAccompanyingItem
;
import
com.xxfc.platform.vehicle.pojo.
QueryAccompanyItemVo
;
import
com.xxfc.platform.vehicle.pojo.
dto.AccompanyingItemFindDTO
;
import
com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.BeanUtils
;
...
...
@@ -29,7 +29,6 @@ import javax.annotation.Resource;
import
java.util.ArrayList
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
@Service
...
...
@@ -69,15 +68,12 @@ public class AccompanyingItemBiz extends BaseBiz<AccompanyingItemMapper, Accompa
/**
* 按页查询,
* 注意,此处一共名称的模糊查询是预测其数据量较少,有变化后考虑加入全文索引
* @param queryAccompanyItemVo
* @return
* @throws Exception
*/
public
PageDataVO
<
AccompanyingItem
>
getByPage
(
QueryAccompanyItemVo
queryAccompanyItemVo
)
throws
Exception
{
Map
<
String
,
String
>
params
=
BeanUtils
.
describe
(
queryAccompanyItemVo
);
PageHelper
.
startPage
(
queryAccompanyItemVo
.
getPage
(),
queryAccompanyItemVo
.
getLimit
());
List
<
AccompanyingItem
>
accompanyingItems
=
mapper
.
getAllByPage
(
params
);
public
PageDataVO
<
AccompanyingItem
>
getByPage
(
AccompanyingItemFindDTO
accompanyingItemFindDTO
){
PageHelper
.
startPage
(
accompanyingItemFindDTO
.
getPage
(),
accompanyingItemFindDTO
.
getLimit
());
List
<
AccompanyingItem
>
accompanyingItems
=
mapper
.
getAllPageByNameOrType
(
accompanyingItemFindDTO
.
getName
(),
accompanyingItemFindDTO
.
getType
());
PageInfo
<
AccompanyingItem
>
accompanyingItemsPageInfo
=
new
PageInfo
<>(
accompanyingItems
);
return
PageDataVO
.
pageInfo
(
accompanyingItemsPageInfo
);
}
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/ConstantBiz.java
View file @
2e0c04db
...
...
@@ -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
){
...
...
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBiz.java
View file @
2e0c04db
This diff is collapsed.
Click to expand it.
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/biz/VehicleBookHourInfoBiz.java
View file @
2e0c04db
...
...
@@ -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
BaseException
(
ResultCode
.
getMsg
(
ResultCode
.
ONLY_BOOK_FROM_TODAY
)
);
throw
new
BaseException
(
ResultCode
.
ONLY_BOOK_FROM_TODAY
);
}
if
(
bookStartDate
.
compareTo
(
bookEndDate
)
>
0
)
{
throw
new
BaseException
(
"预定开始日期不能大于结束日期!"
);
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/mapper/AccompanyingItemMapper.java
View file @
2e0c04db
package
com
.
xxfc
.
platform
.
vehicle
.
mapper
;
import
com.xxfc.platform.vehicle.entity.AccompanyingItem
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
import
java.util.Map
;
public
interface
AccompanyingItemMapper
extends
Mapper
<
AccompanyingItem
>
{
public
List
<
AccompanyingItem
>
getAllByPage
(
Map
<
String
,
String
>
params
);
public
List
<
AccompanyingItem
>
getByIdList
(
List
<
Integer
>
idList
);
public
Integer
updateStatusById
(
AccompanyingItem
accompanyingItem
);
List
<
AccompanyingItem
>
getAllPageByNameOrType
(
@Param
(
"name"
)
String
name
,
@Param
(
"type"
)
Integer
type
);
List
<
AccompanyingItem
>
getByIdList
(
List
<
Integer
>
idList
);
}
xx-vehicle/xx-vehicle-server/src/main/java/com/xxfc/platform/vehicle/rest/AccompanyingItemController.java
View file @
2e0c04db
package
com
.
xxfc
.
platform
.
vehicle
.
rest
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONException
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.vehicle.biz.AccompanyingItemBiz
;
import
com.xxfc.platform.vehicle.common.BaseController
;
import
com.xxfc.platform.vehicle.common.CustomIllegalParamException
;
import
com.xxfc.platform.vehicle.common.RestResponse
;
import
com.xxfc.platform.vehicle.constant.ResCode.ResCode
;
import
com.xxfc.platform.vehicle.entity.AccompanyingItem
;
import
com.xxfc.platform.vehicle.pojo.AddOrUpdateAccompanyingItem
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.vehicle.pojo.QueryAccompanyItemVo
;
import
com.xxfc.platform.vehicle.pojo.dto.AccompanyingItemFindDTO
;
import
com.xxfc.platform.vehicle.pojo.vo.AccompanyingItemVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -46,17 +42,9 @@ public class AccompanyingItemController extends BaseController<AccompanyingItemB
}
@RequestMapping
(
value
=
"/page"
,
method
=
RequestMethod
.
GET
)
public
RestResponse
<
PageDataVO
<
AccompanyingItem
>>
getByPage
(
@RequestParam
String
queryAccompanyItemVoJson
)
throws
Exception
{
QueryAccompanyItemVo
queryAccompanyItemVo
=
null
;
try
{
queryAccompanyItemVo
=
JSON
.
parseObject
(
queryAccompanyItemVoJson
,
QueryAccompanyItemVo
.
class
);
return
RestResponse
.
data
(
baseBiz
.
getByPage
(
queryAccompanyItemVo
));
}
catch
(
JSONException
ex
)
{
return
RestResponse
.
code
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
());
}
catch
(
CustomIllegalParamException
ex
){
return
RestResponse
.
code
(
ResCode
.
INVALID_REST_REQ_PARAM
.
getCode
());
}
@RequestMapping
(
value
=
"/page"
,
method
=
RequestMethod
.
POST
)
public
RestResponse
<
PageDataVO
<
AccompanyingItem
>>
getByPage
(
@RequestBody
AccompanyingItemFindDTO
accompanyingItemFindDTO
){
return
RestResponse
.
data
(
baseBiz
.
getByPage
(
accompanyingItemFindDTO
));
}
@RequestMapping
(
value
=
""
,
method
=
RequestMethod
.
POST
)
...
...
xx-vehicle/xx-vehicle-server/src/main/resources/mapper/AccompanyingItemMapper.xml
View file @
2e0c04db
...
...
@@ -2,11 +2,11 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.xxfc.platform.vehicle.mapper.AccompanyingItemMapper"
>
<select
id=
"getAll
ByPag
e"
parameterType=
"java.util.Map"
resultType=
"com.xxfc.platform.vehicle.entity.AccompanyingItem"
>
<select
id=
"getAll
PageByNameOrTyp
e"
parameterType=
"java.util.Map"
resultType=
"com.xxfc.platform.vehicle.entity.AccompanyingItem"
>
select
`id`, `type`, `name`, `remark`, `create_time`, `update_time`
`id`, `type`, `name`, `remark`,
`price`,
`create_time`, `update_time`
from
vehicle.accompanying_item
`accompanying_item`
where
1 = 1
<if
test=
"name != null and name != ''"
>
...
...
@@ -24,9 +24,9 @@
<select
id=
"getByIdList"
parameterType=
"java.util.List"
resultType=
"com.xxfc.platform.vehicle.entity.AccompanyingItem"
>
select
`id`, `type`, `name`,
`remark`, `create_time`, `update_time`
`id`, `type`, `name`,
`price`,
`remark`, `create_time`, `update_time`
from
vehicle.
accompanying_item
accompanying_item
where `id` in
<foreach
collection=
"list"
index=
"i"
item=
"item"
open=
"("
close=
")"
separator=
","
>
#{item}
...
...
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