Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
8dbbaad5
提交
8dbbaad5
authored
10月 10, 2023
作者:
aiqingguo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
司机积分排名、统计
上级
d7a39aa6
显示空白字符变更
内嵌
并排
正在显示
35 个修改的文件
包含
1262 行增加
和
0 行删除
+1262
-0
PerformanceResultEnum.java
...java/com/clx/performance/enums/PerformanceResultEnum.java
+5
-0
IntegralOrderAddParam.java
...a/com/clx/performance/param/pc/IntegralOrderAddParam.java
+26
-0
IntegralTruckAddParam.java
...a/com/clx/performance/param/pc/IntegralTruckAddParam.java
+25
-0
PageIntegralStatisticsParam.java
...clx/performance/param/pc/PageIntegralStatisticsParam.java
+19
-0
PageIntegralTruckParam.java
.../com/clx/performance/param/pc/PageIntegralTruckParam.java
+26
-0
pageIntegralOrderParam.java
.../com/clx/performance/param/pc/pageIntegralOrderParam.java
+22
-0
pageIntegralStatisticsDetailParam.java
...rformance/param/pc/pageIntegralStatisticsDetailParam.java
+20
-0
IntegralOrderVO.java
.../main/java/com/clx/performance/vo/pc/IntegralOrderVO.java
+46
-0
IntegralStatisticsVO.java
.../java/com/clx/performance/vo/pc/IntegralStatisticsVO.java
+57
-0
IntegralTruckVO.java
.../main/java/com/clx/performance/vo/pc/IntegralTruckVO.java
+44
-0
IntegralOrderController.java
...lx/performance/controller/pc/IntegralOrderController.java
+49
-0
IntegralStatisticsController.java
...rformance/controller/pc/IntegralStatisticsController.java
+50
-0
IntegralTruckController.java
...lx/performance/controller/pc/IntegralTruckController.java
+70
-0
IntegralOrderDao.java
...c/main/java/com/clx/performance/dao/IntegralOrderDao.java
+23
-0
IntegralStatisticsDao.java
...n/java/com/clx/performance/dao/IntegralStatisticsDao.java
+34
-0
IntegralTruckDao.java
...c/main/java/com/clx/performance/dao/IntegralTruckDao.java
+35
-0
IntegralOrderDaoImpl.java
...va/com/clx/performance/dao/impl/IntegralOrderDaoImpl.java
+33
-0
IntegralStatisticsDaoImpl.java
...m/clx/performance/dao/impl/IntegralStatisticsDaoImpl.java
+70
-0
IntegralTruckDaoImpl.java
...va/com/clx/performance/dao/impl/IntegralTruckDaoImpl.java
+73
-0
DriverService.java
...java/com/clx/performance/extranal/user/DriverService.java
+3
-0
DriverServiceImpl.java
...clx/performance/extranal/user/impl/DriverServiceImpl.java
+7
-0
IntegralOrderMapper.java
.../java/com/clx/performance/mapper/IntegralOrderMapper.java
+39
-0
IntegralStatisticsMapper.java
.../com/clx/performance/mapper/IntegralStatisticsMapper.java
+51
-0
IntegralTruckMapper.java
.../java/com/clx/performance/mapper/IntegralTruckMapper.java
+38
-0
IntegralOrder.java
...rc/main/java/com/clx/performance/model/IntegralOrder.java
+57
-0
IntegralStatistics.java
...in/java/com/clx/performance/model/IntegralStatistics.java
+42
-0
IntegralTruck.java
...rc/main/java/com/clx/performance/model/IntegralTruck.java
+43
-0
IntegralOrderService.java
...ava/com/clx/performance/service/IntegralOrderService.java
+14
-0
IntegralStatisticsService.java
...om/clx/performance/service/IntegralStatisticsService.java
+15
-0
IntegralTruckService.java
...ava/com/clx/performance/service/IntegralTruckService.java
+17
-0
IntegralTruckServiceImpl.java
...lx/performance/service/impl/IntegralTruckServiceImpl.java
+105
-0
IntegralOrderSqlProvider.java
...clx/performance/sqlProvider/IntegralOrderSqlProvider.java
+33
-0
IntegralStatisticsSqlProvider.java
...erformance/sqlProvider/IntegralStatisticsSqlProvider.java
+29
-0
IntegralTruckSqlProvider.java
...clx/performance/sqlProvider/IntegralTruckSqlProvider.java
+36
-0
LocalDateTimeUtils.java
...in/java/com/clx/performance/utils/LocalDateTimeUtils.java
+6
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/PerformanceResultEnum.java
浏览文件 @
8dbbaad5
...
...
@@ -68,6 +68,11 @@ public enum PerformanceResultEnum implements ResultEnum {
ORDER_GOODS_ID_GENERATE_LOCK
(
1384
,
"货单编号ID获取锁出问题"
),
INTEGRAL_TRUCK_DRIVER_EXIST
(
1400
,
"车辆已添加"
),
INTEGRAL_ORDER_EXIST
(
1401
,
"货单已添加"
),
INTEGRAL_ORDER_NO_EXIST
(
1402
,
"货单不存在"
),
INTEGRAL_TRUCK_NO_EXIST
(
1403
,
"车辆不存在"
),
;
private
final
int
code
;
...
...
performance-api/src/main/java/com/clx/performance/param/pc/IntegralOrderAddParam.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
param
.
pc
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
@Getter
@Setter
@NoArgsConstructor
public
class
IntegralOrderAddParam
{
@ApiModelProperty
(
value
=
"货单编号"
,
example
=
"100000000000"
)
@NotBlank
(
message
=
"车牌号不能为空"
)
private
String
orderGoodsNo
;
@ApiModelProperty
(
value
=
"货单类型:1优质单 2普通单 3流水单 4支援单"
,
example
=
"1"
)
@NotNull
(
message
=
"货单类型不能为空"
)
private
Integer
orderType
;
@ApiModelProperty
(
value
=
"车辆梯队"
,
example
=
"1"
)
@NotNull
(
message
=
"车辆梯队不能为空"
)
private
Integer
truckEchelon
;
}
performance-api/src/main/java/com/clx/performance/param/pc/IntegralTruckAddParam.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
param
.
pc
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
javax.validation.constraints.NotBlank
;
@Getter
@Setter
@NoArgsConstructor
public
class
IntegralTruckAddParam
{
@ApiModelProperty
(
value
=
"车牌号"
,
example
=
"京A12345"
)
@NotBlank
(
message
=
"车牌号不能为空"
)
private
String
truckNo
;
@ApiModelProperty
(
value
=
"司机姓名"
,
example
=
"张三"
)
@NotBlank
(
message
=
"司机姓名不能为空"
)
private
String
driverName
;
@ApiModelProperty
(
value
=
"司机手机号"
,
example
=
"13000000000"
)
@NotBlank
(
message
=
"司机手机号不能为空"
)
private
String
driverMobile
;
}
performance-api/src/main/java/com/clx/performance/param/pc/PageIntegralStatisticsParam.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
param
.
pc
;
import
com.msl.common.base.PageParam
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
@Getter
@Setter
@NoArgsConstructor
public
class
PageIntegralStatisticsParam
extends
PageParam
{
@ApiModelProperty
(
value
=
"开始时间"
)
private
String
beginTime
;
@ApiModelProperty
(
value
=
"结束时间"
)
private
String
endTime
;
}
performance-api/src/main/java/com/clx/performance/param/pc/PageIntegralTruckParam.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
param
.
pc
;
import
com.msl.common.base.PageParam
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
@Getter
@Setter
@NoArgsConstructor
public
class
PageIntegralTruckParam
extends
PageParam
{
@ApiModelProperty
(
value
=
"车牌号"
,
example
=
"京A12345"
)
private
String
truckNo
;
@ApiModelProperty
(
value
=
"司机手机号码"
,
example
=
"13000000000"
)
private
String
driverMobile
;
@ApiModelProperty
(
value
=
"梯队:1第一梯队,2第二梯队"
,
example
=
"1"
)
private
Integer
echelon
;
@ApiModelProperty
(
value
=
"开始时间"
)
private
String
beginTime
;
@ApiModelProperty
(
value
=
"结束时间"
)
private
String
endTime
;
}
performance-api/src/main/java/com/clx/performance/param/pc/pageIntegralOrderParam.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
param
.
pc
;
import
com.msl.common.base.PageParam
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
@Getter
@Setter
@NoArgsConstructor
public
class
pageIntegralOrderParam
extends
PageParam
{
@ApiModelProperty
(
value
=
"货单编号"
,
example
=
"10000000000000"
)
private
String
orderGoodsNo
;
@ApiModelProperty
(
value
=
"开始时间"
)
private
String
beginTime
;
@ApiModelProperty
(
value
=
"结束时间"
)
private
String
endTime
;
}
performance-api/src/main/java/com/clx/performance/param/pc/pageIntegralStatisticsDetailParam.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
param
.
pc
;
import
com.msl.common.base.PageParam
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
javax.validation.constraints.NotNull
;
@Getter
@Setter
@NoArgsConstructor
public
class
pageIntegralStatisticsDetailParam
extends
PageParam
{
@ApiModelProperty
(
value
=
"统计id"
,
example
=
"1"
)
@NotNull
(
message
=
"统计id不为空"
)
private
Integer
statisticsId
;
}
performance-api/src/main/java/com/clx/performance/vo/pc/IntegralOrderVO.java
0 → 100644
浏览文件 @
8dbbaad5
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 09:47:04
* @Version: 1.0
*/
@ApiModel
(
description
=
"积分货单"
)
@Getter
@Setter
@ToString
@NoArgsConstructor
public
class
IntegralOrderVO
{
@ApiModelProperty
(
value
=
"id"
,
example
=
"1"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"货单编号"
,
example
=
"1000000000000"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"发货地址id"
,
example
=
"1"
)
private
Integer
sendAddressId
;
@ApiModelProperty
(
value
=
"发货地址"
,
example
=
"北京"
)
private
String
sendAddress
;
@ApiModelProperty
(
value
=
"收货地址id"
,
example
=
"2"
)
private
Integer
receiveAddressId
;
@ApiModelProperty
(
value
=
"收货地址"
,
example
=
"上海"
)
private
String
receiveAddress
;
@ApiModelProperty
(
value
=
"货单类型:1优质单 2普通单 3流水单 4支援单"
,
example
=
"1"
)
private
Integer
orderType
;
@ApiModelProperty
(
value
=
"车辆梯队"
,
example
=
"1"
)
private
Integer
truckEchelon
;
@ApiModelProperty
(
value
=
"创建时间"
,
example
=
""
)
private
String
createTime
;
@ApiModelProperty
(
value
=
"修改时间"
,
example
=
""
)
private
String
modifiedTime
;
}
\ No newline at end of file
performance-api/src/main/java/com/clx/performance/vo/pc/IntegralStatisticsVO.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
vo
.
pc
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.msl.common.utils.LocalDateTimeUtils
;
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 20:33:01
* @Version: 1.0
*/
@ApiModel
(
description
=
"积分排名统计"
)
@Getter
@Setter
@ToString
@NoArgsConstructor
public
class
IntegralStatisticsVO
{
@ApiModelProperty
(
value
=
"统计id"
,
example
=
""
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"车牌号"
,
example
=
""
)
private
String
truckNo
;
@ApiModelProperty
(
value
=
"统计时间(周一)"
,
example
=
""
)
private
String
statisticsDate
;
@ApiModelProperty
(
value
=
"统计时间"
,
example
=
""
)
private
String
statisticsDateStr
;
public
String
getStatisticsDateStr
()
{
return
statisticsDate
.
substring
(
0
,
10
)+
"到"
+
LocalDateTimeUtils
.
convertLocalDateTimeToDefaultString
(
LocalDateTimeUtils
.
covertStringToDefaultLocalDateTime
(
statisticsDate
).
plusDays
(
6
)).
substring
(
0
,
10
);
}
@ApiModelProperty
(
value
=
"积分"
,
example
=
""
)
private
Integer
integral
;
public
Integer
getIntegral
()
{
return
integral
+
integralBase
;
}
@ApiModelProperty
(
value
=
"排名"
,
example
=
""
)
private
Integer
rank
;
@ApiModelProperty
(
value
=
"梯队"
,
example
=
"1"
)
private
Integer
echelon
;
@ApiModelProperty
(
value
=
"创建时间"
,
example
=
""
)
private
String
createTime
;
@JsonIgnore
@ApiModelProperty
(
value
=
"本周基础分"
,
example
=
""
,
hidden
=
true
)
private
Integer
integralBase
;
}
\ No newline at end of file
performance-api/src/main/java/com/clx/performance/vo/pc/IntegralTruckVO.java
0 → 100644
浏览文件 @
8dbbaad5
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-9 13:36:29
* @Version: 1.0
*/
@ApiModel
(
description
=
"积分车辆"
)
@Getter
@Setter
@ToString
@NoArgsConstructor
public
class
IntegralTruckVO
{
@ApiModelProperty
(
value
=
"id"
,
example
=
""
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"车牌号"
,
example
=
"京A12345"
)
private
String
truckNo
;
@ApiModelProperty
(
value
=
"司机姓名"
,
example
=
"张三"
)
private
String
driverName
;
@ApiModelProperty
(
value
=
"司机手机号"
,
example
=
"13000000000"
)
private
String
driverMobile
;
@ApiModelProperty
(
value
=
"梯队"
,
example
=
"1"
)
private
Integer
echelon
;
@ApiModelProperty
(
value
=
"积分"
,
example
=
"1"
)
private
Integer
integral
;
@ApiModelProperty
(
value
=
"排名"
,
example
=
"1"
)
private
Integer
rank
;
@ApiModelProperty
(
value
=
"创建时间"
,
example
=
""
)
private
String
createTime
;
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/controller/pc/IntegralOrderController.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
controller
.
pc
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
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.base.PageData
;
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.validation.annotation.Validated
;
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
IntegralOrderController
{
private
final
IntegralOrderService
integralOrderService
;
@Deprecated
@ApiOperation
(
value
=
"新增货单"
,
notes
=
"<br>By:艾庆国"
)
// @PostMapping(value = "addOrder")
public
Result
<?>
addOrder
(
@RequestBody
@Validated
IntegralOrderAddParam
param
)
{
integralOrderService
.
addOrder
(
param
);
return
Result
.
ok
();
}
@Deprecated
@ApiOperation
(
value
=
"获取货单列表"
,
notes
=
"<br>By:艾庆国"
)
// @PostMapping(value = "pageOrderList")
public
Result
<
PageData
<
IntegralOrderVO
>>
pageOrderList
(
@RequestBody
@Validated
pageIntegralOrderParam
param
)
{
IPage
<
IntegralOrderVO
>
page
=
integralOrderService
.
pageOrderList
(
param
);
return
Result
.
page
(
page
.
getRecords
(),
page
.
getTotal
(),
page
.
getPages
());
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/IntegralStatisticsController.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
controller
.
pc
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.param.pc.PageIntegralStatisticsParam
;
import
com.clx.performance.service.IntegralStatisticsService
;
import
com.clx.performance.utils.LocalDateTimeUtils
;
import
com.clx.performance.vo.pc.IntegralStatisticsVO
;
import
com.msl.common.base.PageData
;
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.apache.commons.lang3.StringUtils
;
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
;
import
java.time.LocalDateTime
;
@Slf4j
@RestController
@RequestMapping
(
value
=
"/pc/carrier/integral"
)
@Validated
@Api
(
tags
=
"承运端-积分统计"
)
@AllArgsConstructor
public
class
IntegralStatisticsController
{
private
final
IntegralStatisticsService
integralStatisticsService
;
@ApiOperation
(
value
=
"获取积分统计列表"
,
notes
=
"<br>By:艾庆国"
)
@PostMapping
(
value
=
"pageStatisticsList"
)
public
Result
<
PageData
<
IntegralStatisticsVO
>>
pageStatisticsList
(
@RequestBody
@Validated
PageIntegralStatisticsParam
param
)
{
if
(
StringUtils
.
isNotBlank
(
param
.
getBeginTime
())){
param
.
setBeginTime
(
LocalDateTimeUtils
.
getWeekStart
(
param
.
getBeginTime
()));}
if
(
StringUtils
.
isNotBlank
(
param
.
getEndTime
())){
if
(
LocalDateTimeUtils
.
parseTime
(
param
.
getEndTime
()).
isAfter
(
LocalDateTime
.
now
())){
param
.
setEndTime
(
LocalDateTimeUtils
.
getWeekStart
());}
else
{
param
.
setEndTime
(
LocalDateTimeUtils
.
getWeekStart
(
param
.
getEndTime
()));}
}
else
{
param
.
setEndTime
(
LocalDateTimeUtils
.
getWeekStart
());}
IPage
<
IntegralStatisticsVO
>
page
=
integralStatisticsService
.
pageStatisticsList
(
param
);
return
Result
.
page
(
page
.
getRecords
(),
page
.
getTotal
(),
page
.
getPages
());
}
}
performance-web/src/main/java/com/clx/performance/controller/pc/IntegralTruckController.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
controller
.
pc
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.param.pc.IntegralTruckAddParam
;
import
com.clx.performance.param.pc.PageIntegralTruckParam
;
import
com.clx.performance.service.IntegralTruckService
;
import
com.clx.performance.vo.pc.IntegralTruckVO
;
import
com.msl.common.base.PageData
;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
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.*
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
@Slf4j
@RestController
@RequestMapping
(
value
=
"/pc/carrier/integral"
)
@Validated
@Api
(
tags
=
"承运端-积分车辆"
)
@AllArgsConstructor
public
class
IntegralTruckController
{
private
final
IntegralTruckService
integralTruckService
;
@Deprecated
@ApiOperation
(
value
=
"新增车辆"
,
notes
=
"<br>By:艾庆国"
)
// @PostMapping("/saveTruck")
public
Result
<
Void
>
saveTruck
(
@RequestBody
@Validated
IntegralTruckAddParam
param
)
{
integralTruckService
.
saveTruck
(
param
);
return
Result
.
ok
();
}
@Deprecated
@ApiOperation
(
value
=
"获取车辆列表"
,
notes
=
"<br>By:艾庆国"
)
// @PostMapping(value = "pageTruckList")
public
Result
<
PageData
<
IntegralTruckVO
>>
pageTruckList
(
@RequestBody
@Validated
PageIntegralTruckParam
param
)
{
IPage
<
IntegralTruckVO
>
page
=
integralTruckService
.
pageTruckList
(
param
);
return
Result
.
page
(
page
.
getRecords
(),
page
.
getTotal
(),
page
.
getPages
());
}
@ApiOperation
(
value
=
"查询车辆所属司机信息"
,
notes
=
"<br>By:艾庆国"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"truckNo"
,
value
=
"车牌号"
,
paramType
=
"query"
,
example
=
"京A123456"
)
})
@GetMapping
(
value
=
"getTruckDriverInfo"
)
public
Result
<
IntegralTruckVO
>
getTruckDriverInfo
(
@Validated
@NotBlank
(
message
=
"车牌不能为空"
)
String
truckNo
)
{
return
Result
.
ok
(
integralTruckService
.
getTruckDriverInfo
(
truckNo
));
}
@ApiOperation
(
value
=
"获取车辆数量"
,
notes
=
"<br>By:艾庆国"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"truckEchelon"
,
value
=
"车辆梯队"
,
paramType
=
"query"
,
example
=
"1"
)
})
@GetMapping
(
value
=
"getTruckCount"
)
public
Result
<
Integer
>
getTruckCount
(
@Validated
@NotNull
(
message
=
"车辆梯队不能为空"
)
Integer
truckEchelon
)
{
return
Result
.
ok
(
integralTruckService
.
getTruckCount
(
truckEchelon
));
}
}
performance-web/src/main/java/com/clx/performance/dao/IntegralOrderDao.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
dao
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.mapper.IntegralOrderMapper
;
import
com.clx.performance.model.IntegralOrder
;
import
com.clx.performance.param.pc.pageIntegralOrderParam
;
import
com.clx.performance.vo.pc.IntegralOrderVO
;
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
IntegralOrderDao
extends
BaseDao
<
IntegralOrderMapper
,
IntegralOrder
,
Integer
>
{
boolean
existByOrderGoodsNo
(
@Param
(
"orderGoodsNo"
)
String
orderGoodsNo
);
IPage
<
IntegralOrderVO
>
pageByParam
(
pageIntegralOrderParam
param
);
}
performance-web/src/main/java/com/clx/performance/dao/IntegralStatisticsDao.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
dao
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.mapper.IntegralStatisticsMapper
;
import
com.clx.performance.model.IntegralStatistics
;
import
com.clx.performance.param.pc.PageIntegralStatisticsParam
;
import
com.clx.performance.vo.pc.IntegralStatisticsVO
;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.BaseDao
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* @Author: aiqinguo
* @Description: 积分排名统计
* @Date: 2023-10-9 11:55:36
* @Version: 1.0
*/
public
interface
IntegralStatisticsDao
extends
BaseDao
<
IntegralStatisticsMapper
,
IntegralStatistics
,
Integer
>
{
boolean
updateIntegral
(
IntegralStatistics
item
);
boolean
batchUpdateRank
(
List
<
IntegralStatistics
>
list
);
Optional
<
IntegralStatistics
>
selectByTruckNoAndStatisticsDate
(
@Param
(
"truckNo"
)
String
truckNo
,
@Param
(
"statisticsDate"
)
String
statisticsDate
);
IPage
<
IntegralStatisticsVO
>
pageByParam
(
PageIntegralStatisticsParam
param
);
Optional
<
IntegralStatistics
>
selectById
(
Integer
id
);
List
<
IntegralStatistics
>
selectByStatisticsDate
(
@Param
(
"statisticsDate"
)
String
statisticsDate
);
}
performance-web/src/main/java/com/clx/performance/dao/IntegralTruckDao.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
dao
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.mapper.IntegralTruckMapper
;
import
com.clx.performance.model.IntegralTruck
;
import
com.clx.performance.param.pc.PageIntegralTruckParam
;
import
com.clx.performance.vo.pc.IntegralTruckVO
;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.BaseDao
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* @Author: aiqinguo
* @Description: 积分车辆
* @Date: 2023-10-9 11:55:36
* @Version: 1.0
*/
public
interface
IntegralTruckDao
extends
BaseDao
<
IntegralTruckMapper
,
IntegralTruck
,
Integer
>
{
boolean
updateIntegral
(
IntegralTruck
item
);
boolean
updateIntegralByTruckNo
(
String
truckNo
,
Integer
integral
);
boolean
existByTruckNo
(
@Param
(
"truckNo"
)
String
truckNo
);
IPage
<
IntegralTruckVO
>
pageByParam
(
PageIntegralTruckParam
param
);
long
countByTruckEchelon
(
@Param
(
"truckEchelon"
)
Integer
truckEchelon
);
Optional
<
IntegralTruck
>
getByTruckNo
(
@Param
(
"truckNo"
)
String
truckNo
);
List
<
IntegralTruck
>
listByTruckNoList
(
@Param
(
"truckNoList"
)
List
<
String
>
truckNoList
);
}
performance-web/src/main/java/com/clx/performance/dao/impl/IntegralOrderDaoImpl.java
0 → 100644
浏览文件 @
8dbbaad5
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.IntegralOrderDao
;
import
com.clx.performance.mapper.IntegralOrderMapper
;
import
com.clx.performance.model.IntegralOrder
;
import
com.clx.performance.param.pc.pageIntegralOrderParam
;
import
com.clx.performance.vo.pc.IntegralOrderVO
;
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
IntegralOrderDaoImpl
extends
BaseDaoImpl
<
IntegralOrderMapper
,
IntegralOrder
,
Integer
>
implements
IntegralOrderDao
{
@Override
public
boolean
existByOrderGoodsNo
(
String
orderGoodsNo
)
{
return
baseMapper
.
existByOrderGoodsNo
(
orderGoodsNo
)>
0
;
}
@Override
public
IPage
<
IntegralOrderVO
>
pageByParam
(
pageIntegralOrderParam
param
)
{
return
baseMapper
.
pageByParam
(
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
()),
param
);
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/IntegralStatisticsDaoImpl.java
0 → 100644
浏览文件 @
8dbbaad5
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.IntegralStatisticsDao
;
import
com.clx.performance.mapper.IntegralStatisticsMapper
;
import
com.clx.performance.model.IntegralStatistics
;
import
com.clx.performance.param.pc.PageIntegralStatisticsParam
;
import
com.clx.performance.vo.pc.IntegralStatisticsVO
;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* @Author: aiqinguo
* @Description: 积分排名统计
* @Date: 2023-10-9 12:00:54
* @Version: 1.0
*/
@Repository
public
class
IntegralStatisticsDaoImpl
extends
BaseDaoImpl
<
IntegralStatisticsMapper
,
IntegralStatistics
,
Integer
>
implements
IntegralStatisticsDao
{
@Override
public
boolean
updateIntegral
(
IntegralStatistics
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
IntegralStatistics:
:
getId
,
item
.
getId
())
.
set
(
IntegralStatistics:
:
getIntegral
,
item
.
getIntegral
())
);
}
@Override
public
boolean
batchUpdateRank
(
List
<
IntegralStatistics
>
list
)
{
return
baseMapper
.
batchUpdateRank
(
list
)>
0
;
}
@Override
public
Optional
<
IntegralStatistics
>
selectByTruckNoAndStatisticsDate
(
String
truckNo
,
String
statisticsDate
)
{
return
Optional
.
of
(
truckNo
)
.
map
(
item
->
lQrWrapper
()
.
eq
(
IntegralStatistics:
:
getTruckNo
,
item
)
.
eq
(
IntegralStatistics:
:
getStatisticsDate
,
statisticsDate
)
)
.
map
(
super
::
getOne
);
}
@Override
public
IPage
<
IntegralStatisticsVO
>
pageByParam
(
PageIntegralStatisticsParam
param
)
{
return
baseMapper
.
pageByParam
(
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
()),
param
);
}
@Override
public
Optional
<
IntegralStatistics
>
selectById
(
Integer
id
)
{
return
Optional
.
of
(
id
)
.
map
(
item
->
lQrWrapper
()
.
eq
(
IntegralStatistics:
:
getId
,
item
)
)
.
map
(
super
::
getOne
);
}
@Override
public
List
<
IntegralStatistics
>
selectByStatisticsDate
(
String
statisticsDate
)
{
return
list
(
lQrWrapper
()
.
eq
(
IntegralStatistics:
:
getStatisticsDate
,
statisticsDate
)
.
orderByDesc
(
IntegralStatistics:
:
getIntegral
));
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/IntegralTruckDaoImpl.java
0 → 100644
浏览文件 @
8dbbaad5
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.IntegralTruckDao
;
import
com.clx.performance.mapper.IntegralTruckMapper
;
import
com.clx.performance.model.IntegralTruck
;
import
com.clx.performance.param.pc.PageIntegralTruckParam
;
import
com.clx.performance.vo.pc.IntegralTruckVO
;
import
com.msl.common.base.Optional
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* @Author: aiqinguo
* @Description: 积分车辆
* @Date: 2023-10-9 12:00:54
* @Version: 1.0
*/
@Repository
public
class
IntegralTruckDaoImpl
extends
BaseDaoImpl
<
IntegralTruckMapper
,
IntegralTruck
,
Integer
>
implements
IntegralTruckDao
{
@Override
public
boolean
updateIntegral
(
IntegralTruck
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
IntegralTruck:
:
getId
,
item
.
getId
())
.
set
(
IntegralTruck:
:
getIntegral
,
item
.
getIntegral
())
);
}
@Override
public
boolean
updateIntegralByTruckNo
(
String
truckNo
,
Integer
integral
)
{
return
update
(
lUdWrapper
()
.
eq
(
IntegralTruck:
:
getTruckNo
,
truckNo
)
.
set
(
IntegralTruck:
:
getIntegral
,
integral
)
);
}
@Override
public
boolean
existByTruckNo
(
String
truckNo
)
{
return
baseMapper
.
existByTruckNo
(
truckNo
)>
0
;
}
@Override
public
IPage
<
IntegralTruckVO
>
pageByParam
(
PageIntegralTruckParam
param
)
{
return
baseMapper
.
pageByParam
(
Page
.
of
(
param
.
getPage
(),
param
.
getPageSize
()),
param
);
}
@Override
public
long
countByTruckEchelon
(
Integer
truckEchelon
)
{
return
count
(
lQrWrapper
()
.
eq
(
IntegralTruck:
:
getEchelon
,
truckEchelon
)
);
}
@Override
public
Optional
<
IntegralTruck
>
getByTruckNo
(
String
truckNo
)
{
return
Optional
.
of
(
truckNo
)
.
map
(
item
->
lQrWrapper
()
.
eq
(
IntegralTruck:
:
getTruckNo
,
item
)
)
.
map
(
super
::
getOne
);
}
@Override
public
List
<
IntegralTruck
>
listByTruckNoList
(
List
<
String
>
truckNoList
)
{
return
list
(
lQrWrapper
().
in
(
IntegralTruck:
:
getTruckNo
,
truckNoList
));
}
}
performance-web/src/main/java/com/clx/performance/extranal/user/DriverService.java
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
extranal
.
user
;
import
com.clx.user.vo.feign.DriverInfoFeignVo
;
import
com.clx.user.vo.feign.DriverTruckInfoFeignVo
;
import
com.msl.common.base.Optional
;
...
...
@@ -10,4 +11,6 @@ public interface DriverService {
void
updateOrderStatus
(
Long
driverUserNo
,
Integer
driverOrderStatus
,
Integer
truckId
,
Integer
truckOrderStatus
);
Optional
<
DriverInfoFeignVo
>
getTruckOwnInfo
(
String
truckNo
);
}
performance-web/src/main/java/com/clx/performance/extranal/user/impl/DriverServiceImpl.java
浏览文件 @
8dbbaad5
...
...
@@ -2,6 +2,7 @@ package com.clx.performance.extranal.user.impl;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.user.feign.DriverFeign
;
import
com.clx.user.vo.feign.DriverInfoFeignVo
;
import
com.clx.user.vo.feign.DriverTruckInfoFeignVo
;
import
com.msl.common.base.Optional
;
import
com.msl.common.enums.ResultCodeEnum
;
...
...
@@ -37,4 +38,10 @@ public class DriverServiceImpl implements DriverService {
.
filter
(
Result:
:
succeed
).
orElseThrow
(
ResultCodeEnum
.
FAIL
);
}
@Override
public
Optional
<
DriverInfoFeignVo
>
getTruckOwnInfo
(
String
truckNo
)
{
return
null
;
}
}
performance-web/src/main/java/com/clx/performance/mapper/IntegralOrderMapper.java
0 → 100644
浏览文件 @
8dbbaad5
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.IntegralOrder
;
import
com.clx.performance.param.pc.pageIntegralOrderParam
;
import
com.clx.performance.sqlProvider.IntegralOrderSqlProvider
;
import
com.clx.performance.sqlProvider.IntegralTruckSqlProvider
;
import
com.clx.performance.vo.pc.IntegralOrderVO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
org.apache.ibatis.annotations.SelectProvider
;
/**
* @Author: aiqinguo
* @Description: 积分货单
* @Date: 2023-10-9 11:52:22
* @Version: 1.0
*/
@Mapper
public
interface
IntegralOrderMapper
extends
BaseMapper
<
IntegralOrder
>
{
/**
* 查询是否存在(按货单编号)
*/
@Select
(
"SELECT IFNULL((SELECT 1 FROM integral_order WHERE order_goods_no=#{orderGoodsNo} LIMIT 1),0)"
)
int
existByOrderGoodsNo
(
@Param
(
"orderGoodsNo"
)
String
orderGoodsNo
);
/**
* @see IntegralOrderSqlProvider#pageByParam(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.pc.pageIntegralOrderParam)
*/
@SelectProvider
(
type
=
IntegralTruckSqlProvider
.
class
,
method
=
"pageByParam"
)
IPage
<
IntegralOrderVO
>
pageByParam
(
@Param
(
"page"
)
Page
<
IntegralOrderVO
>
page
,
@Param
(
"param"
)
pageIntegralOrderParam
param
);
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/mapper/IntegralStatisticsMapper.java
0 → 100644
浏览文件 @
8dbbaad5
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.IntegralStatistics
;
import
com.clx.performance.param.pc.PageIntegralStatisticsParam
;
import
com.clx.performance.sqlProvider.IntegralStatisticsSqlProvider
;
import
com.clx.performance.sqlProvider.IntegralTruckSqlProvider
;
import
com.clx.performance.vo.pc.IntegralStatisticsVO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.SelectProvider
;
import
org.apache.ibatis.annotations.Update
;
import
java.util.List
;
/**
* @Author: aiqinguo
* @Description: 积分排名统计
* @Date: 2023-10-9 11:52:22
* @Version: 1.0
*/
@Mapper
public
interface
IntegralStatisticsMapper
extends
BaseMapper
<
IntegralStatistics
>
{
/**
* @see IntegralStatisticsSqlProvider#pageByParam(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.pc.PageIntegralStatisticsParam)
*/
@SelectProvider
(
type
=
IntegralTruckSqlProvider
.
class
,
method
=
"pageByParam"
)
IPage
<
IntegralStatisticsVO
>
pageByParam
(
@Param
(
"page"
)
Page
<
IntegralStatisticsVO
>
page
,
@Param
(
"param"
)
PageIntegralStatisticsParam
param
);
/**
* 修改 (更新排名)
*/
@Update
(
"<script>"
+
"update integral_statistics "
+
" <trim prefix='set' suffixOverrides=','>"
+
" <trim prefix='rank = case' suffix='end,'>"
+
" <foreach collection='list' item='item' index='index'>when id = #{item.id} then #{item.rank} </foreach>"
+
" </trim>"
+
" </trim>"
+
"where id in <foreach collection='list' item='item' index='index' separator =',' open='(' close=')'>#{item.id} </foreach>"
+
"</script>"
)
int
batchUpdateRank
(
List
<
IntegralStatistics
>
list
);
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/mapper/IntegralTruckMapper.java
0 → 100644
浏览文件 @
8dbbaad5
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.IntegralTruck
;
import
com.clx.performance.param.pc.PageIntegralTruckParam
;
import
com.clx.performance.sqlProvider.IntegralTruckSqlProvider
;
import
com.clx.performance.vo.pc.IntegralTruckVO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
org.apache.ibatis.annotations.SelectProvider
;
/**
* @Author: aiqinguo
* @Description: 积分车辆
* @Date: 2023-10-9 11:52:22
* @Version: 1.0
*/
@Mapper
public
interface
IntegralTruckMapper
extends
BaseMapper
<
IntegralTruck
>
{
/**
* 查询是否存在(按车牌号)
*/
@Select
(
"SELECT IFNULL((SELECT 1 FROM integral_truck WHERE truck_no=#{truckNo} LIMIT 1),0)"
)
int
existByTruckNo
(
@Param
(
"truckNo"
)
String
truckNo
);
/**
* @see IntegralTruckSqlProvider#pageByParam(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.pc.PageIntegralTruckParam)
*/
@SelectProvider
(
type
=
IntegralTruckSqlProvider
.
class
,
method
=
"pageByParam"
)
IPage
<
IntegralTruckVO
>
pageByParam
(
@Param
(
"page"
)
Page
<
IntegralTruckVO
>
page
,
@Param
(
"param"
)
PageIntegralTruckParam
param
);
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/model/IntegralOrder.java
0 → 100644
浏览文件 @
8dbbaad5
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-10 20:31:14
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName
(
autoResultMap
=
true
)
public
class
IntegralOrder
implements
HasKey
<
Integer
>
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
//id
private
String
orderGoodsNo
;
//货单编号
private
Integer
sendAddressId
;
//发货地址id
private
String
sendAddress
;
//发货地址
private
Integer
receiveAddressId
;
//收货地址id
private
String
receiveAddress
;
//收货地址
private
Integer
orderType
;
//货单类型:1优质单 2普通单 3流水单 4支援单
private
Integer
truckEchelon
;
//车辆梯队
private
String
createTime
;
//创建时间
private
String
modifiedTime
;
//修改时间
@Getter
@AllArgsConstructor
public
enum
OrderType
{
HIGH_QUALITY
(
1
,
"优质单"
),
NORMAL
(
2
,
"普通单"
),
WATER
(
3
,
"流水单"
),
SUPPORT
(
4
,
"支援单"
),
;
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/model/IntegralStatistics.java
0 → 100644
浏览文件 @
8dbbaad5
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.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
/**
* @Author: aiqinguo
* @Description: 积分排名统计
* @Date: 2023-10-9 14:47:54
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName
(
autoResultMap
=
true
)
public
class
IntegralStatistics
implements
HasKey
<
Integer
>
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
//id
private
String
truckNo
;
//车牌号
private
String
statisticsDate
;
//统计时间(周一)
private
Integer
integralBase
;
//基础积分
private
Integer
integral
;
//积分
private
Integer
rank
;
//排名
private
String
createTime
;
//创建时间
private
String
modifiedTime
;
//修改时间
@KeyColumn
(
"id"
)
@Override
public
Integer
gainKey
()
{
return
id
;
}
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/model/IntegralTruck.java
0 → 100644
浏览文件 @
8dbbaad5
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.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
/**
* @Author: aiqinguo
* @Description: 积分车辆
* @Date: 2023-10-10 20:33:10
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
@TableName
(
autoResultMap
=
true
)
public
class
IntegralTruck
implements
HasKey
<
Integer
>
{
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
//id
private
String
truckNo
;
//车牌号
private
String
driverName
;
//司机姓名
private
String
driverMobile
;
//司机手机号
private
Integer
echelon
;
//梯队
private
Integer
integral
;
//积分
private
Integer
rank
;
//排名
private
String
createTime
;
//创建时间
private
String
modifiedTime
;
//修改时间
@KeyColumn
(
"id"
)
@Override
public
Integer
gainKey
()
{
return
id
;
}
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/service/IntegralOrderService.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.param.pc.IntegralOrderAddParam
;
import
com.clx.performance.param.pc.pageIntegralOrderParam
;
import
com.clx.performance.vo.pc.IntegralOrderVO
;
public
interface
IntegralOrderService
{
void
addOrder
(
IntegralOrderAddParam
param
);
IPage
<
IntegralOrderVO
>
pageOrderList
(
pageIntegralOrderParam
param
);
}
performance-web/src/main/java/com/clx/performance/service/IntegralStatisticsService.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.param.pc.PageIntegralStatisticsParam
;
import
com.clx.performance.vo.pc.IntegralStatisticsVO
;
public
interface
IntegralStatisticsService
{
IPage
<
IntegralStatisticsVO
>
pageStatisticsList
(
PageIntegralStatisticsParam
param
);
int
protectionIntegralCalc
(
String
statisticsDate
);
int
protectionIntegralCalc
(
String
createTime
,
String
statisticsDate
);
}
performance-web/src/main/java/com/clx/performance/service/IntegralTruckService.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.param.pc.IntegralTruckAddParam
;
import
com.clx.performance.param.pc.PageIntegralTruckParam
;
import
com.clx.performance.vo.pc.IntegralTruckVO
;
public
interface
IntegralTruckService
{
void
saveTruck
(
IntegralTruckAddParam
param
);
IPage
<
IntegralTruckVO
>
pageTruckList
(
PageIntegralTruckParam
param
);
IntegralTruckVO
getTruckDriverInfo
(
String
truckNo
);
Integer
getTruckCount
(
Integer
truckEchelon
);
}
performance-web/src/main/java/com/clx/performance/service/impl/IntegralTruckServiceImpl.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
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.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.IntegralStatisticsService
;
import
com.clx.performance.service.IntegralTruckService
;
import
com.clx.performance.utils.LocalDateTimeUtils
;
import
com.clx.performance.vo.pc.IntegralTruckVO
;
import
com.clx.user.vo.feign.DriverInfoFeignVo
;
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
IntegralTruckServiceImpl
implements
IntegralTruckService
{
private
final
IntegralTruckDao
integralTruckDao
;
private
final
IntegralStatisticsDao
integralStatisticsDao
;
private
final
IntegralStatisticsService
integralStatisticsService
;
private
final
DriverService
driverService
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
saveTruck
(
IntegralTruckAddParam
param
)
{
String
truckNo
=
param
.
getTruckNo
();
boolean
existFlag
=
integralTruckDao
.
existByTruckNo
(
truckNo
);
if
(
existFlag
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
INTEGRAL_TRUCK_DRIVER_EXIST
);}
IntegralTruck
truck
=
new
IntegralTruck
();
truck
.
setTruckNo
(
truckNo
);
truck
.
setDriverName
(
param
.
getDriverName
());
truck
.
setDriverMobile
(
param
.
getDriverMobile
());
truck
.
setEchelon
(
1
);
String
statisticsDate
=
LocalDateTimeUtils
.
getWeekStart
();
int
protectionIntegral
=
integralStatisticsService
.
protectionIntegralCalc
(
statisticsDate
);
int
baseIntegral
=
100
;
// 初始化统计
IntegralStatistics
statistics
=
new
IntegralStatistics
();
statistics
.
setTruckNo
(
truckNo
);
statistics
.
setStatisticsDate
(
statisticsDate
);
statistics
.
setIntegralBase
(
0
);
statistics
.
setIntegral
(
protectionIntegral
+
baseIntegral
);
//保护分+基础分
statistics
.
setRank
(
1
);
integralStatisticsDao
.
saveEntity
(
statistics
);
IntegralStatistics
statisticsNext
=
new
IntegralStatistics
();
statisticsNext
.
setTruckNo
(
truckNo
);
statisticsNext
.
setStatisticsDate
(
LocalDateTimeUtils
.
formatTime
(
LocalDateTimeUtils
.
parseTime
(
statistics
.
getStatisticsDate
()).
plusDays
(
7
)));
statisticsNext
.
setIntegralBase
(
0
);
statisticsNext
.
setIntegral
(
0
);
statisticsNext
.
setRank
(
1
);
integralStatisticsDao
.
saveEntity
(
statisticsNext
);
// 新增车辆
truck
.
setIntegral
(
statistics
.
getIntegral
());
integralTruckDao
.
saveEntity
(
truck
);
}
@Override
public
IPage
<
IntegralTruckVO
>
pageTruckList
(
PageIntegralTruckParam
param
)
{
return
integralTruckDao
.
pageByParam
(
param
);
}
@Override
public
IntegralTruckVO
getTruckDriverInfo
(
String
truckNo
)
{
IntegralTruckVO
truck
=
null
;
// 查询车辆信息
DriverInfoFeignVo
driverTruckInfoFeignVo
=
driverService
.
getTruckOwnInfo
(
truckNo
).
get
();
if
(
null
!=
driverTruckInfoFeignVo
)
{
truck
=
new
IntegralTruckVO
();
truck
.
setTruckNo
(
truckNo
);
truck
.
setDriverName
(
driverTruckInfoFeignVo
.
getName
());
truck
.
setDriverMobile
(
driverTruckInfoFeignVo
.
getMobile
());
}
return
truck
;
}
@Override
public
Integer
getTruckCount
(
Integer
truckEchelon
)
{
int
count
=
(
int
)
integralTruckDao
.
countByTruckEchelon
(
truckEchelon
);
return
count
;
}
}
performance-web/src/main/java/com/clx/performance/sqlProvider/IntegralOrderSqlProvider.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
sqlProvider
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.param.pc.pageIntegralOrderParam
;
import
com.clx.performance.vo.pc.IntegralOrderVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.jdbc.SQL
;
public
class
IntegralOrderSqlProvider
{
public
String
pageByParam
(
@Param
(
"page"
)
Page
<
IntegralOrderVO
>
page
,
@Param
(
"param"
)
pageIntegralOrderParam
param
)
{
return
new
SQL
(){{
SELECT
(
" id, order_goods_no, "
+
" send_address_id, send_address, "
+
" receive_address_id, receive_address, "
+
" order_type, truck_echelon, "
+
" 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_order"
);
if
(
StringUtils
.
isNotBlank
(
param
.
getOrderGoodsNo
()))
{
WHERE
(
"order_goods_no = #{param.orderGoodsNo}"
);}
if
(
StringUtils
.
isNotBlank
(
param
.
getBeginTime
()))
{
WHERE
(
"create_time >= #{param.beginTime}"
);}
if
(
StringUtils
.
isNotBlank
(
param
.
getEndTime
()))
{
WHERE
(
"create_time <= #{param.endTime}"
);}
ORDER_BY
(
"create_time desc"
);
}}.
toString
();
}
}
performance-web/src/main/java/com/clx/performance/sqlProvider/IntegralStatisticsSqlProvider.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
sqlProvider
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.param.pc.PageIntegralStatisticsParam
;
import
com.clx.performance.vo.pc.IntegralStatisticsVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.jdbc.SQL
;
public
class
IntegralStatisticsSqlProvider
{
public
String
pageByParam
(
@Param
(
"page"
)
Page
<
IntegralStatisticsVO
>
page
,
@Param
(
"param"
)
PageIntegralStatisticsParam
param
)
{
return
new
SQL
(){{
SELECT
(
" id, truck_no as truckNo, date_format(statistics_date, '%Y-%m-%d %H:%i:%s') as statisticsDate, "
+
" integral_base as integralBase, integral, rank, "
+
" 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_statistics"
);
if
(
StringUtils
.
isNotBlank
(
param
.
getBeginTime
()))
{
WHERE
(
"create_time >= #{param.beginTime}"
);}
if
(
StringUtils
.
isNotBlank
(
param
.
getEndTime
()))
{
WHERE
(
"create_time <= #{param.endTime}"
);}
ORDER_BY
(
"truck_no asc, statistics_date desc, integral desc "
);
}}.
toString
();
}
}
performance-web/src/main/java/com/clx/performance/sqlProvider/IntegralTruckSqlProvider.java
0 → 100644
浏览文件 @
8dbbaad5
package
com
.
clx
.
performance
.
sqlProvider
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.param.pc.PageIntegralTruckParam
;
import
com.clx.performance.vo.pc.IntegralTruckVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.jdbc.SQL
;
import
java.util.Objects
;
public
class
IntegralTruckSqlProvider
{
public
String
pageByParam
(
@Param
(
"page"
)
Page
<
IntegralTruckVO
>
page
,
@Param
(
"param"
)
PageIntegralTruckParam
param
)
{
return
new
SQL
(){{
SELECT
(
" id, truck_no, "
+
" driver_name, driver_mobile, "
+
" echelon, integral, rank, "
+
" 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_truck"
);
if
(
StringUtils
.
isNotBlank
(
param
.
getTruckNo
()))
{
WHERE
(
"truck_no = #{param.truckNo}"
);}
if
(
StringUtils
.
isNotBlank
(
param
.
getDriverMobile
()))
{
WHERE
(
"driver_mobile = #{param.driverMobile}"
);}
if
(!
Objects
.
isNull
(
param
.
getEchelon
()))
{
WHERE
(
"echelon = #{param.echelon}"
);}
if
(
StringUtils
.
isNotBlank
(
param
.
getBeginTime
()))
{
WHERE
(
"create_time >= #{param.beginTime}"
);}
if
(
StringUtils
.
isNotBlank
(
param
.
getEndTime
()))
{
WHERE
(
"create_time <= #{param.endTime}"
);}
ORDER_BY
(
"create_time desc"
);
}}.
toString
();
}
}
performance-web/src/main/java/com/clx/performance/utils/LocalDateTimeUtils.java
浏览文件 @
8dbbaad5
...
...
@@ -382,4 +382,10 @@ public class LocalDateTimeUtils {
return
localDateTime
;
}
public
static
String
getWeekStart
()
{
return
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
).
format
(
LocalDateTime
.
of
(
LocalDate
.
now
(),
LocalTime
.
MIN
).
with
(
TemporalAdjusters
.
previousOrSame
(
DayOfWeek
.
MONDAY
)));
}
public
static
String
getWeekStart
(
String
dateTime
)
{
return
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
).
format
(
LocalDateTime
.
of
(
parseLocalDate
(
dateTime
),
LocalTime
.
MIN
).
with
(
TemporalAdjusters
.
previousOrSame
(
DayOfWeek
.
MONDAY
)));
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论