Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
4839d4c7
提交
4839d4c7
authored
10月 11, 2023
作者:
aiqingguo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
司机积分排名、统计
上级
8dbbaad5
隐藏空白字符变更
内嵌
并排
正在显示
29 个修改的文件
包含
879 行增加
和
1 行删除
+879
-1
IntegralTruckFeign.java
...in/java/com/clx/performance/feign/IntegralTruckFeign.java
+18
-0
IntegralNextWeekTruckInitMqParam.java
...erformance/param/mq/IntegralNextWeekTruckInitMqParam.java
+22
-0
IntegralOrderChildFinishMqParam.java
...performance/param/mq/IntegralOrderChildFinishMqParam.java
+22
-0
IntegralRealTimeStatisticsMqParam.java
...rformance/param/mq/IntegralRealTimeStatisticsMqParam.java
+22
-0
IntegralRecordAddMqParam.java
...om/clx/performance/param/mq/IntegralRecordAddMqParam.java
+26
-0
IntegralTruckProtectionCancelMqParam.java
...rmance/param/mq/IntegralTruckProtectionCancelMqParam.java
+23
-0
IntegralTuckAddMqParam.java
.../com/clx/performance/param/mq/IntegralTuckAddMqParam.java
+23
-0
IntegralWeekStatisticsMqParam.java
...x/performance/param/mq/IntegralWeekStatisticsMqParam.java
+22
-0
IntegralWeekTruckStatisticsMqParam.java
...formance/param/mq/IntegralWeekTruckStatisticsMqParam.java
+24
-0
IntegralRecordAddParam.java
.../com/clx/performance/param/pc/IntegralRecordAddParam.java
+31
-0
IntegralRecordVO.java
...main/java/com/clx/performance/vo/pc/IntegralRecordVO.java
+38
-0
IntegralTruckFeignController.java
...rmance/controller/feign/IntegralTruckFeignController.java
+32
-0
IntegralOrderController.java
...lx/performance/controller/pc/IntegralOrderController.java
+1
-0
IntegralRecordController.java
...x/performance/controller/pc/IntegralRecordController.java
+38
-0
IntegralStatisticsController.java
...rformance/controller/pc/IntegralStatisticsController.java
+10
-0
IntegralRecordDao.java
.../main/java/com/clx/performance/dao/IntegralRecordDao.java
+23
-0
IntegralRecordDaoImpl.java
...a/com/clx/performance/dao/impl/IntegralRecordDaoImpl.java
+36
-0
IntegralJob.java
...eb/src/main/java/com/clx/performance/job/IntegralJob.java
+68
-0
IntegraRecordMapper.java
.../java/com/clx/performance/mapper/IntegraRecordMapper.java
+32
-0
IntegralRecord.java
...c/main/java/com/clx/performance/model/IntegralRecord.java
+64
-0
IntegralMqService.java
...n/java/com/clx/performance/service/IntegralMqService.java
+8
-0
IntegralRecordService.java
...va/com/clx/performance/service/IntegralRecordService.java
+12
-0
IntegralStatisticsService.java
...om/clx/performance/service/IntegralStatisticsService.java
+3
-1
IntegralMqServiceImpl.java
...m/clx/performance/service/impl/IntegralMqServiceImpl.java
+39
-0
IntegralOrderServiceImpl.java
...lx/performance/service/impl/IntegralOrderServiceImpl.java
+53
-0
IntegralRecordServiceImpl.java
...x/performance/service/impl/IntegralRecordServiceImpl.java
+69
-0
IntegralStatisticsServiceImpl.java
...rformance/service/impl/IntegralStatisticsServiceImpl.java
+80
-0
IntegralTruckServiceImpl.java
...lx/performance/service/impl/IntegralTruckServiceImpl.java
+12
-0
IntegralRecordSqlProvider.java
...lx/performance/sqlProvider/IntegralRecordSqlProvider.java
+28
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/feign/IntegralTruckFeign.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
feign
;
import
com.clx.performance.param.pc.IntegralTruckAddParam
;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
@FeignClient
(
name
=
"clx-performance"
)
public
interface
IntegralTruckFeign
{
@ApiOperation
(
value
=
"新增车辆"
)
@PostMapping
(
"clx-performance/feign/integral/saveTruck"
)
Result
<
Void
>
saveTruck
(
@RequestBody
@Validated
IntegralTruckAddParam
param
);
}
performance-api/src/main/java/com/clx/performance/param/mq/IntegralNextWeekTruckInitMqParam.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
param
.
mq
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @Author: aiqingguo
* @Description: 下周车辆初始化
* @Date: 2023-7-26 14:39:49
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
IntegralNextWeekTruckInitMqParam
{
private
String
statisticsDate
;
//统计时间
}
performance-api/src/main/java/com/clx/performance/param/mq/IntegralOrderChildFinishMqParam.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
param
.
mq
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @Author: aiqingguo
* @Description: 运单结束
* @Date: 2023-10-11 17:30:05
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
IntegralOrderChildFinishMqParam
{
private
String
childNo
;
//运单编号
}
performance-api/src/main/java/com/clx/performance/param/mq/IntegralRealTimeStatisticsMqParam.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
param
.
mq
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @Author: aiqingguo
* @Description: 积分实时统计
* @Date: 2023-10-11 17:30:45
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
IntegralRealTimeStatisticsMqParam
{
private
String
truckNo
;
//车辆
}
performance-api/src/main/java/com/clx/performance/param/mq/IntegralRecordAddMqParam.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
param
.
mq
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @Author: aiqingguo
* @Description: 积分车辆新增
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
IntegralRecordAddMqParam
{
private
Integer
statisticsId
;
//统计id
private
Integer
type
;
//积分类型
private
String
truckNo
;
//车辆
private
Integer
integral
;
//积分
private
String
remark
;
//备注
}
performance-api/src/main/java/com/clx/performance/param/mq/IntegralTruckProtectionCancelMqParam.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
param
.
mq
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @Author: aiqingguo
* @Description: 车辆保护取消
* @Date: 2023-10-11 17:27:45
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
IntegralTruckProtectionCancelMqParam
{
private
String
statisticsDate
;
//统计时间
private
String
truckNo
;
//车辆
}
performance-api/src/main/java/com/clx/performance/param/mq/IntegralTuckAddMqParam.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
param
.
mq
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @Author: aiqingguo
* @Description: 积分车辆新增
* @Date: 2023-10-11 17:27:32
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
IntegralTuckAddMqParam
{
private
Integer
statisticsId
;
//统计id
private
String
truckNo
;
//车牌号
}
performance-api/src/main/java/com/clx/performance/param/mq/IntegralWeekStatisticsMqParam.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
param
.
mq
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @Author: aiqingguo
* @Description: 积分周统计
* @Date: 2023-10-11 17:32:41
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
IntegralWeekStatisticsMqParam
{
private
String
statisticsDate
;
//统计时间
}
performance-api/src/main/java/com/clx/performance/param/mq/IntegralWeekTruckStatisticsMqParam.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
param
.
mq
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @Author: aiqingguo
* @Description: 车辆周统计
* @Date: 2023-10-11 17:27:20
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
IntegralWeekTruckStatisticsMqParam
{
private
String
statisticsDate
;
//统计时间
private
String
truckNo
;
//车辆
}
performance-api/src/main/java/com/clx/performance/param/pc/IntegralRecordAddParam.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
param
.
pc
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.*
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
/**
* @Author: aiqingguo
* @Description: 新增积分
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public
class
IntegralRecordAddParam
{
@ApiModelProperty
(
value
=
"车牌"
,
example
=
"京A12345"
)
@NotBlank
(
message
=
"车牌号不能为空"
)
private
String
truckNo
;
@ApiModelProperty
(
value
=
"积分"
,
example
=
"1"
)
@NotNull
(
message
=
"积分不能为空"
)
private
Integer
integral
;
@ApiModelProperty
(
value
=
"原因"
,
example
=
"平台补偿"
)
@NotBlank
(
message
=
"原因不能为空"
)
private
String
remark
;
}
performance-api/src/main/java/com/clx/performance/vo/pc/IntegralRecordVO.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
vo
.
pc
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
/**
* @Author: aiqinguo
* @Description: 积分记录
* @Date: 2023-10-10 10:50:10
* @Version: 1.0
*/
@ApiModel
(
description
=
"积分记录"
)
@Getter
@Setter
@ToString
@NoArgsConstructor
public
class
IntegralRecordVO
{
@ApiModelProperty
(
value
=
"id"
,
example
=
""
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"车牌号"
,
example
=
""
)
private
String
truckNo
;
@ApiModelProperty
(
value
=
"获得积分"
,
example
=
""
)
private
Integer
integral
;
@ApiModelProperty
(
value
=
"类型"
,
example
=
""
)
private
Integer
type
;
@ApiModelProperty
(
value
=
"原因"
,
example
=
""
)
private
String
remark
;
@ApiModelProperty
(
value
=
"创建时间"
,
example
=
""
)
private
String
createTime
;
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/controller/feign/IntegralTruckFeignController.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
controller
.
feign
;
import
com.clx.performance.param.pc.IntegralTruckAddParam
;
import
com.clx.performance.service.IntegralTruckService
;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.AllArgsConstructor
;
import
org.springframework.validation.annotation.Validated
;
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
;
@RestController
@RequestMapping
(
"/feign/integral"
)
@Validated
@Api
(
tags
=
"积分车辆"
)
@AllArgsConstructor
public
class
IntegralTruckFeignController
{
private
final
IntegralTruckService
integralTruckService
;
@ApiOperation
(
value
=
"新增车辆"
)
@PostMapping
(
"/saveTruck"
)
Result
<
Void
>
saveTruck
(
@RequestBody
@Validated
IntegralTruckAddParam
param
){
integralTruckService
.
saveTruck
(
param
);
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/IntegralOrderController.java
浏览文件 @
4839d4c7
...
...
@@ -12,6 +12,7 @@ import io.swagger.annotations.ApiOperation;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
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
;
...
...
performance-web/src/main/java/com/clx/performance/controller/pc/IntegralRecordController.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
controller
.
pc
;
import
com.clx.performance.param.pc.IntegralRecordAddParam
;
import
com.clx.performance.service.IntegralRecordService
;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
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
;
@Slf4j
@RestController
@RequestMapping
(
value
=
"/pc/carrier/integral"
)
@Validated
@Api
(
tags
=
"承运端-积分记录"
)
@AllArgsConstructor
public
class
IntegralRecordController
{
@Autowired
private
IntegralRecordService
integralRecordService
;
@ApiOperation
(
value
=
"新增积分记录"
,
notes
=
"<br>By:艾庆国"
)
@PostMapping
(
value
=
"addIntegral"
)
public
Result
<
Void
>
addRecord
(
@RequestBody
@Validated
IntegralRecordAddParam
param
)
{
integralRecordService
.
addRecord
(
param
);
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/IntegralStatisticsController.java
浏览文件 @
4839d4c7
...
...
@@ -2,8 +2,10 @@ package com.clx.performance.controller.pc;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.param.pc.PageIntegralStatisticsParam
;
import
com.clx.performance.param.pc.pageIntegralStatisticsDetailParam
;
import
com.clx.performance.service.IntegralStatisticsService
;
import
com.clx.performance.utils.LocalDateTimeUtils
;
import
com.clx.performance.vo.pc.IntegralRecordVO
;
import
com.clx.performance.vo.pc.IntegralStatisticsVO
;
import
com.msl.common.base.PageData
;
import
com.msl.common.result.Result
;
...
...
@@ -46,5 +48,13 @@ public class IntegralStatisticsController {
}
@ApiOperation
(
value
=
"获取积分统计明细列表"
,
notes
=
"<br>By:艾庆国"
)
@PostMapping
(
value
=
"pageStatisticsDetailList"
)
public
Result
<
PageData
<
IntegralRecordVO
>>
pageStatisticsDetailList
(
@RequestBody
@Validated
pageIntegralStatisticsDetailParam
param
)
{
IPage
<
IntegralRecordVO
>
page
=
integralStatisticsService
.
pageStatisticsDetailList
(
param
);
return
Result
.
page
(
page
.
getRecords
(),
page
.
getTotal
(),
page
.
getPages
());
}
}
performance-web/src/main/java/com/clx/performance/dao/IntegralRecordDao.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
dao
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.mapper.IntegraRecordMapper
;
import
com.clx.performance.model.IntegralRecord
;
import
com.clx.performance.param.pc.pageIntegralStatisticsDetailParam
;
import
com.clx.performance.vo.pc.IntegralRecordVO
;
import
com.msl.common.dao.BaseDao
;
import
org.apache.ibatis.annotations.Param
;
/**
* @Author: aiqinguo
* @Description: 积分记录
* @Date: 2023-10-9 11:55:36
* @Version: 1.0
*/
public
interface
IntegralRecordDao
extends
BaseDao
<
IntegraRecordMapper
,
IntegralRecord
,
Integer
>
{
IPage
<
IntegralRecordVO
>
pageByParam
(
pageIntegralStatisticsDetailParam
param
);
Integer
sumIntegral
(
@Param
(
"statisticsId"
)
Integer
statisticsId
);
}
performance-web/src/main/java/com/clx/performance/dao/impl/IntegralRecordDaoImpl.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
dao
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dao.IntegralRecordDao
;
import
com.clx.performance.mapper.IntegraRecordMapper
;
import
com.clx.performance.model.IntegralRecord
;
import
com.clx.performance.param.pc.pageIntegralStatisticsDetailParam
;
import
com.clx.performance.vo.pc.IntegralRecordVO
;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
/**
* @Author: aiqinguo
* @Description: 积分记录
* @Date: 2023-10-9 12:00:54
* @Version: 1.0
*/
@Repository
public
class
IntegralRecordDaoImpl
extends
BaseDaoImpl
<
IntegraRecordMapper
,
IntegralRecord
,
Integer
>
implements
IntegralRecordDao
{
@Override
public
IPage
<
IntegralRecordVO
>
pageByParam
(
pageIntegralStatisticsDetailParam
param
)
{
return
baseMapper
.
pageByParam
(
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
()),
param
);
}
@Override
public
Integer
sumIntegral
(
Integer
statisticsId
)
{
return
Optional
.
ofNullable
(
getOne
(
qrWrapper
()
.
select
(
"sum(integral) as integral"
)
.
eq
(
"statistics_id"
,
statisticsId
))).
map
(
item
->
item
.
getIntegral
()).
orNull
();
}
}
performance-web/src/main/java/com/clx/performance/job/IntegralJob.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
job
;
import
com.msl.common.job.JobLog
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
@Slf4j
@Component
public
class
IntegralJob
{
/**
* 下周车辆初始化 (周三)
* @Scheduled(cron = "0 0 6 ? * 3")
*/
@XxlJob
(
"favoriteStatusSyncTask"
)
public
void
favoriteStatusSyncTask
()
{
try
{
}
catch
(
Exception
e
)
{
JobLog
.
error
(
"下周车辆初始化定时任务处理失败"
,
e
);
}
}
/**
* 下周车辆初始化 (周日)
* @Scheduled(cron = "0 0 22 ? * 7")
*/
@XxlJob
(
"favoriteStatusSyncTask1"
)
public
void
favoriteStatusSyncTask1
()
{
try
{
}
catch
(
Exception
e
)
{
JobLog
.
error
(
"下周车辆初始化定时任务处理失败"
,
e
);
}
}
/**
* 车辆周统计(结算上周积分) (周1)
* @Scheduled(cron = "0 0 1 ? * 1")
*/
@XxlJob
(
"weekTruckStatistics"
)
public
void
weekTruckStatistics
()
{
try
{
}
catch
(
Exception
e
)
{
JobLog
.
error
(
"车辆周统计(结算上周积分)定时任务处理失败"
,
e
);
}
}
/**
* 车辆保护期取消 (周一不处理)
* @Scheduled(cron = "0 0 6,18 ? * 2,3,4,5,6,7")
*/
@XxlJob
(
"truckProtectionCancel"
)
public
void
truckProtectionCancel
()
{
try
{
}
catch
(
Exception
e
)
{
JobLog
.
error
(
"车辆保护期取消定时任务处理失败"
,
e
);
}
}
}
performance-web/src/main/java/com/clx/performance/mapper/IntegraRecordMapper.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.model.IntegralRecord
;
import
com.clx.performance.param.pc.pageIntegralStatisticsDetailParam
;
import
com.clx.performance.sqlProvider.IntegralRecordSqlProvider
;
import
com.clx.performance.sqlProvider.IntegralTruckSqlProvider
;
import
com.clx.performance.vo.pc.IntegralRecordVO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.SelectProvider
;
/**
* @Author: aiqinguo
* @Description: 积分记录
* @Date: 2023-10-9 11:52:22
* @Version: 1.0
*/
@Mapper
public
interface
IntegraRecordMapper
extends
BaseMapper
<
IntegralRecord
>
{
/**
* @see IntegralRecordSqlProvider#pageByParam(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.pc.pageIntegralStatisticsDetailParam)
*/
@SelectProvider
(
type
=
IntegralTruckSqlProvider
.
class
,
method
=
"pageByParam"
)
IPage
<
IntegralRecordVO
>
pageByParam
(
@Param
(
"page"
)
Page
<
IntegralRecordVO
>
page
,
@Param
(
"param"
)
pageIntegralStatisticsDetailParam
param
);
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/model/IntegralRecord.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.msl.common.config.KeyColumn
;
import
com.msl.common.model.HasKey
;
import
lombok.*
;
/**
* @Author: aiqinguo
* @Description: 积分记录
* @Date: 2023-10-11 17:30:51
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName
(
autoResultMap
=
true
)
public
class
IntegralRecord
implements
HasKey
<
Integer
>
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
//id
private
Integer
statisticsId
;
//统计id
private
String
statisticsDate
;
//统计时间
private
String
truckNo
;
//车牌号
private
Integer
integral
;
//获得积分
private
Integer
type
;
//类型
private
String
remark
;
//原因
private
String
createTime
;
//创建时间
private
String
modifiedTime
;
//修改时间
@Getter
@AllArgsConstructor
public
enum
type
{
SYSTEM
(
1
,
"系统"
),
PROTECTION
(
2
,
"保护分"
),
PROTECTION_CANCEL
(
3
,
"保护分取消"
),
SETTLEMENT
(
4
,
"结算分"
),
BASE
(
5
,
"基础分"
),
ORDER_CHILD_COMPLETE
(
11
,
"运单完成"
),
ORDER_CHILD_COMPLETE_NUM
(
12
,
"运单完成数量"
),
ORDER_CHILD_COMPLETE_WATER
(
13
,
"流水单"
),
ORDER_CHILD_COMPLETE_SUPPORT
(
14
,
"支援单"
),
ORDER_CHILD_COMPLETE_TIMEOUT
(
15
,
"运单完成超时"
),
ORDER_CHILD_CANCEL
(
21
,
"运单取消"
),
ORDER_CHILD_CANCEL_TIMEOUT
(
22
,
"运单取消超时"
),
;
private
Integer
value
;
private
String
msg
;
}
@KeyColumn
(
"id"
)
@Override
public
Integer
gainKey
()
{
return
id
;
}
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/service/IntegralMqService.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
service
;
public
interface
IntegralMqService
{
void
truckAdd
(
Integer
statisticsId
,
String
truckNo
);
void
integralRecordAdd
(
Integer
statisticsId
,
String
truckNo
,
Integer
type
,
Integer
integral
,
String
remark
);
}
performance-web/src/main/java/com/clx/performance/service/IntegralRecordService.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
service
;
import
com.clx.performance.model.IntegralRecord
;
import
com.clx.performance.param.pc.IntegralRecordAddParam
;
public
interface
IntegralRecordService
{
void
addRecord
(
IntegralRecordAddParam
param
);
IntegralRecord
save
(
Integer
statisticsId
,
String
statisticsDate
,
String
truckNo
,
Integer
type
,
Integer
integral
,
String
remark
);
}
performance-web/src/main/java/com/clx/performance/service/IntegralStatisticsService.java
浏览文件 @
4839d4c7
...
...
@@ -2,12 +2,14 @@ package com.clx.performance.service;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.param.pc.PageIntegralStatisticsParam
;
import
com.clx.performance.param.pc.pageIntegralStatisticsDetailParam
;
import
com.clx.performance.vo.pc.IntegralRecordVO
;
import
com.clx.performance.vo.pc.IntegralStatisticsVO
;
public
interface
IntegralStatisticsService
{
IPage
<
IntegralStatisticsVO
>
pageStatisticsList
(
PageIntegralStatisticsParam
param
);
IPage
<
IntegralRecordVO
>
pageStatisticsDetailList
(
pageIntegralStatisticsDetailParam
param
);
int
protectionIntegralCalc
(
String
statisticsDate
);
int
protectionIntegralCalc
(
String
createTime
,
String
statisticsDate
);
...
...
performance-web/src/main/java/com/clx/performance/service/impl/IntegralMqServiceImpl.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.clx.performance.service.IntegralMqService
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
/**
* @Author: aiqingguo
* @Description: 司机积分 mq
* @Date: 2023-10-10 13:21:07
* @Version: 1.0
*/
@Slf4j
@Service
@AllArgsConstructor
public
class
IntegralMqServiceImpl
implements
IntegralMqService
{
/**
* 新增车辆 (manage)
*/
@Override
public
void
truckAdd
(
Integer
statisticsId
,
String
truckNo
){
}
/**
* 新增积分记录 (manage)
*/
@Override
public
void
integralRecordAdd
(
Integer
statisticsId
,
String
truckNo
,
Integer
type
,
Integer
integral
,
String
remark
){
}
}
performance-web/src/main/java/com/clx/performance/service/impl/IntegralOrderServiceImpl.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.dao.IntegralOrderDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.model.IntegralOrder
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.pc.IntegralOrderAddParam
;
import
com.clx.performance.param.pc.pageIntegralOrderParam
;
import
com.clx.performance.service.IntegralOrderService
;
import
com.clx.performance.vo.pc.IntegralOrderVO
;
import
com.msl.common.exception.ServiceSystemException
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
@Slf4j
@Service
@AllArgsConstructor
public
class
IntegralOrderServiceImpl
implements
IntegralOrderService
{
private
final
IntegralOrderDao
integralOrderDao
;
private
final
OrderGoodsDao
orderGoodsDao
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
addOrder
(
IntegralOrderAddParam
param
)
{
String
orderGoodsNo
=
param
.
getOrderGoodsNo
();
boolean
existFlag
=
integralOrderDao
.
existByOrderGoodsNo
(
orderGoodsNo
);
if
(
existFlag
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
INTEGRAL_ORDER_EXIST
);}
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderGoodsNo
).
orElseThrow
(
PerformanceResultEnum
.
ORDER_INVALID
);
IntegralOrder
order
=
new
IntegralOrder
();
order
.
setOrderGoodsNo
(
orderGoodsNo
);
order
.
setSendAddressId
(
orderGoods
.
getSendAddressId
());
order
.
setSendAddress
(
orderGoods
.
getSendAddressShorter
());
order
.
setReceiveAddressId
(
orderGoods
.
getReceiveAddressId
());
order
.
setReceiveAddress
(
orderGoods
.
getReceiveAddressShorter
());
order
.
setOrderType
(
param
.
getOrderType
());
order
.
setTruckEchelon
(
param
.
getTruckEchelon
());
integralOrderDao
.
saveEntity
(
order
);
}
@Override
public
IPage
<
IntegralOrderVO
>
pageOrderList
(
pageIntegralOrderParam
param
)
{
return
integralOrderDao
.
pageByParam
(
param
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/IntegralRecordServiceImpl.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.clx.performance.dao.IntegralRecordDao
;
import
com.clx.performance.dao.IntegralStatisticsDao
;
import
com.clx.performance.dao.IntegralTruckDao
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.model.IntegralRecord
;
import
com.clx.performance.model.IntegralStatistics
;
import
com.clx.performance.model.IntegralTruck
;
import
com.clx.performance.param.pc.IntegralRecordAddParam
;
import
com.clx.performance.service.IntegralMqService
;
import
com.clx.performance.service.IntegralRecordService
;
import
com.clx.performance.utils.LocalDateTimeUtils
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
@Slf4j
@Service
@AllArgsConstructor
public
class
IntegralRecordServiceImpl
implements
IntegralRecordService
{
private
final
IntegralRecordDao
integralRecordDao
;
private
final
IntegralTruckDao
integralTruckDao
;
private
final
IntegralStatisticsDao
integralStatisticsDao
;
private
final
IntegralMqService
integralMqService
;
@Override
public
void
addRecord
(
IntegralRecordAddParam
param
)
{
String
statisticsDate
=
LocalDateTimeUtils
.
getWeekStart
();
IntegralTruck
truck
=
integralTruckDao
.
getByTruckNo
(
param
.
getTruckNo
()).
orElseThrow
(
PerformanceResultEnum
.
INTEGRAL_TRUCK_NO_EXIST
);
// 查找最新统计
IntegralStatistics
statistics
=
integralStatisticsDao
.
selectByTruckNoAndStatisticsDate
(
param
.
getTruckNo
(),
statisticsDate
).
orElseThrow
(
PerformanceResultEnum
.
INTEGRAL_TRUCK_NO_EXIST
);
// 更新积分
statistics
.
setIntegral
(
statistics
.
getIntegral
()+
param
.
getIntegral
());
integralStatisticsDao
.
updateIntegral
(
statistics
);
truck
.
setIntegral
(
statistics
.
getIntegral
());
integralTruckDao
.
updateIntegral
(
truck
);
// 新增积分记录
IntegralRecord
record
=
save
(
statistics
.
getId
(),
statistics
.
getStatisticsDate
(),
statistics
.
getTruckNo
(),
IntegralRecord
.
type
.
SYSTEM
.
getValue
(),
param
.
getIntegral
(),
param
.
getRemark
());
// 发送mq (新增积分记录)
integralMqService
.
integralRecordAdd
(
record
.
getStatisticsId
(),
record
.
getTruckNo
(),
record
.
getType
(),
record
.
getIntegral
(),
record
.
getRemark
());
}
@Override
public
IntegralRecord
save
(
Integer
statisticsId
,
String
statisticsDate
,
String
truckNo
,
Integer
type
,
Integer
integral
,
String
remark
){
IntegralRecord
record
=
new
IntegralRecord
();
record
.
setStatisticsId
(
statisticsId
);
record
.
setStatisticsDate
(
statisticsDate
);
record
.
setTruckNo
(
truckNo
);
record
.
setType
(
type
);
record
.
setIntegral
(
integral
);
record
.
setRemark
(
remark
);
// 新增记录
integralRecordDao
.
saveEntity
(
record
);
return
record
;
}
}
performance-web/src/main/java/com/clx/performance/service/impl/IntegralStatisticsServiceImpl.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.dao.IntegralRecordDao
;
import
com.clx.performance.dao.IntegralStatisticsDao
;
import
com.clx.performance.dao.IntegralTruckDao
;
import
com.clx.performance.model.IntegralTruck
;
import
com.clx.performance.param.pc.PageIntegralStatisticsParam
;
import
com.clx.performance.param.pc.pageIntegralStatisticsDetailParam
;
import
com.clx.performance.service.IntegralStatisticsService
;
import
com.clx.performance.utils.LocalDateTimeUtils
;
import
com.clx.performance.vo.pc.IntegralRecordVO
;
import
com.clx.performance.vo.pc.IntegralStatisticsVO
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
java.time.Duration
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
@Slf4j
@Service
@AllArgsConstructor
public
class
IntegralStatisticsServiceImpl
implements
IntegralStatisticsService
{
private
final
IntegralStatisticsDao
integralStatisticsDao
;
private
final
IntegralRecordDao
integralRecordDao
;
private
IntegralTruckDao
integralTruckDao
;
/**
* 新手积分计算
*/
@Override
public
int
protectionIntegralCalc
(
String
statisticsDate
){
int
day
=
diffDay
(
statisticsDate
,
LocalDateTimeUtils
.
getStringDayStart
());
if
(
day
>=
7
)
{
return
0
;}
return
(
7
-
day
)*
30
;
}
@Override
public
IPage
<
IntegralStatisticsVO
>
pageStatisticsList
(
PageIntegralStatisticsParam
param
)
{
IPage
<
IntegralStatisticsVO
>
page
=
integralStatisticsDao
.
pageByParam
(
param
);
List
<
String
>
truckNoList
=
page
.
getRecords
().
stream
().
map
(
item
->
item
.
getTruckNo
()).
collect
(
Collectors
.
toList
());
if
(!
truckNoList
.
isEmpty
())
{
List
<
IntegralTruck
>
integralTruckList
=
integralTruckDao
.
listByTruckNoList
(
truckNoList
);
Map
<
String
,
Integer
>
echelonMap
=
integralTruckList
.
stream
().
collect
(
Collectors
.
toMap
(
item
->
item
.
getTruckNo
(),
item
->
item
.
getEchelon
()));
for
(
IntegralStatisticsVO
item
:
page
.
getRecords
())
{
item
.
setEchelon
(
echelonMap
.
get
(
item
.
getTruckNo
()));
}
}
return
page
;
}
@Override
public
IPage
<
IntegralRecordVO
>
pageStatisticsDetailList
(
pageIntegralStatisticsDetailParam
param
)
{
return
integralRecordDao
.
pageByParam
(
param
);
}
@Override
public
int
protectionIntegralCalc
(
String
createTime
,
String
statisticsDate
){
int
day
=
diffDay
(
LocalDateTimeUtils
.
getStringDayStart
(
createTime
),
statisticsDate
);
if
(
day
>=
7
)
{
return
0
;}
return
(
7
-
day
)*
30
;
}
private
int
diffDay
(
String
beginDate
,
String
endDate
){
long
day
=
Duration
.
between
(
LocalDateTimeUtils
.
parseTime
(
beginDate
),
LocalDateTimeUtils
.
parseTime
(
endDate
)).
toDays
();
return
Long
.
valueOf
(
day
).
intValue
();
}
}
performance-web/src/main/java/com/clx/performance/service/impl/IntegralTruckServiceImpl.java
浏览文件 @
4839d4c7
...
...
@@ -5,10 +5,13 @@ import com.clx.performance.dao.IntegralStatisticsDao;
import
com.clx.performance.dao.IntegralTruckDao
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.performance.model.IntegralRecord
;
import
com.clx.performance.model.IntegralStatistics
;
import
com.clx.performance.model.IntegralTruck
;
import
com.clx.performance.param.pc.IntegralTruckAddParam
;
import
com.clx.performance.param.pc.PageIntegralTruckParam
;
import
com.clx.performance.service.IntegralMqService
;
import
com.clx.performance.service.IntegralRecordService
;
import
com.clx.performance.service.IntegralStatisticsService
;
import
com.clx.performance.service.IntegralTruckService
;
import
com.clx.performance.utils.LocalDateTimeUtils
;
...
...
@@ -28,9 +31,11 @@ public class IntegralTruckServiceImpl implements IntegralTruckService {
private
final
IntegralTruckDao
integralTruckDao
;
private
final
IntegralStatisticsDao
integralStatisticsDao
;
private
final
IntegralRecordService
integralRecordService
;
private
final
IntegralStatisticsService
integralStatisticsService
;
private
final
DriverService
driverService
;
private
final
IntegralMqService
integralMqService
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
...
...
@@ -71,6 +76,13 @@ public class IntegralTruckServiceImpl implements IntegralTruckService {
truck
.
setIntegral
(
statistics
.
getIntegral
());
integralTruckDao
.
saveEntity
(
truck
);
// 新增积分记录
integralRecordService
.
save
(
statistics
.
getId
(),
statistics
.
getStatisticsDate
(),
statistics
.
getTruckNo
(),
IntegralRecord
.
type
.
PROTECTION
.
getValue
(),
protectionIntegral
,
"新用户"
);
integralRecordService
.
save
(
statistics
.
getId
(),
statistics
.
getStatisticsDate
(),
statistics
.
getTruckNo
(),
IntegralRecord
.
type
.
BASE
.
getValue
(),
baseIntegral
,
"基础分"
);
// 发送mq (车辆新增)
integralMqService
.
truckAdd
(
statistics
.
getId
(),
param
.
getTruckNo
());
}
@Override
...
...
performance-web/src/main/java/com/clx/performance/sqlProvider/IntegralRecordSqlProvider.java
0 → 100644
浏览文件 @
4839d4c7
package
com
.
clx
.
performance
.
sqlProvider
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.param.pc.pageIntegralStatisticsDetailParam
;
import
com.clx.performance.vo.pc.IntegralRecordVO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.jdbc.SQL
;
public
class
IntegralRecordSqlProvider
{
public
String
pageByParam
(
@Param
(
"page"
)
Page
<
IntegralRecordVO
>
page
,
@Param
(
"param"
)
pageIntegralStatisticsDetailParam
param
)
{
return
new
SQL
(){{
SELECT
(
" id, truck_no as truckNo, "
+
" statistics_id as statisticsId, statistics_date as statisticsDate, "
+
" integral, type, remark, "
+
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, "
+
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM
(
"integral_record"
);
WHERE
(
"statistics_id = #{param.statisticsId}"
);
ORDER_BY
(
"create_time desc"
);
}}.
toString
();
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论