Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
fac123cc
提交
fac123cc
authored
9月 19, 2023
作者:
huyufan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
开发:货单保存相关
上级
33f23456
显示空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
560 行增加
和
7 行删除
+560
-7
OrderInfo.java
...nce-api/src/main/java/com/clx/order/common/OrderInfo.java
+235
-0
OrderGoodsChildParams.java
...main/java/com/clx/order/params/OrderGoodsChildParams.java
+54
-0
OrderGoodsParams.java
.../src/main/java/com/clx/order/params/OrderGoodsParams.java
+17
-0
PageCarrierOrderListParam.java
.../java/com/clx/order/params/PageCarrierOrderListParam.java
+41
-0
pom.xml
performance-web/pom.xml
+11
-0
PerformanceApplication.java
...main/java/com/clx/performance/PerformanceApplication.java
+3
-3
OrderGoodsIdGenerate.java
...a/com/clx/performance/component/OrderGoodsIdGenerate.java
+42
-0
MybatisPlusConfig.java
...in/java/com/clx/performance/config/MybatisPlusConfig.java
+1
-1
RedisConstants.java
...ain/java/com/clx/performance/constant/RedisConstants.java
+7
-0
GoodsOrderController.java
...m/clx/performance/controller/pc/GoodsOrderController.java
+121
-2
OrderGoodsDao.java
.../src/main/java/com/clx/performance/dao/OrderGoodsDao.java
+1
-0
OrderGoodsDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderGoodsDaoImpl.java
+7
-1
OrderGoodsMapper.java
...ain/java/com/clx/performance/mapper/OrderGoodsMapper.java
+5
-0
OrderGoods.java
...b/src/main/java/com/clx/performance/model/OrderGoods.java
+4
-0
OrderGoodsSqlProvider.java
...om/clx/performance/sqlProvider/OrderGoodsSqlProvider.java
+11
-0
没有找到文件。
performance-api/src/main/java/com/clx/order/common/OrderInfo.java
0 → 100644
浏览文件 @
fac123cc
package
com
.
clx
.
order
.
common
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* @author kavin
* Date 2023-09-09
* Time 10:48
*/
@Data
public
class
OrderInfo
{
private
Integer
id
;
@ApiModelProperty
(
value
=
"货主用户编号"
)
private
Long
ownerUserNo
;
@ApiModelProperty
(
value
=
"订单编号"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"剩余吨数"
)
private
BigDecimal
residueWeight
;
@ApiModelProperty
(
value
=
"拉运类型 0单次拉运 1长期拉运"
)
private
Integer
transportType
;
@ApiModelProperty
(
value
=
"长协合同编号"
)
private
String
longTermContractNo
;
@ApiModelProperty
(
value
=
"货物类型编码"
)
private
String
goodsTypeCode
;
@ApiModelProperty
(
value
=
"货物类型名称"
)
private
String
goodsTypeName
;
@ApiModelProperty
(
value
=
"货物名称"
)
private
String
goodsName
;
@ApiModelProperty
(
value
=
"货物型号"
)
private
String
goodsModel
;
@ApiModelProperty
(
value
=
"拉运重量(吨)"
)
private
BigDecimal
transportWeight
;
@ApiModelProperty
(
value
=
"向下浮动量(吨)"
)
private
BigDecimal
downFloatWeight
;
@ApiModelProperty
(
value
=
"向上浮动量(吨)"
)
private
BigDecimal
upFloatWeight
;
@ApiModelProperty
(
value
=
"是否可超吨 0 否 1 是"
)
private
Integer
overWeight
;
@ApiModelProperty
(
value
=
"损耗单价(元)"
)
private
BigDecimal
lossPrice
;
@ApiModelProperty
(
value
=
"联系人id(货主方)"
)
private
Integer
contactId
;
@ApiModelProperty
(
value
=
"联系人(货主方)"
)
private
String
contactOwner
;
@ApiModelProperty
(
value
=
"联系电话(货主方)"
)
private
String
contactPhoneOwner
;
@ApiModelProperty
(
value
=
"发货-地址id"
)
private
Integer
sendAddressId
;
@ApiModelProperty
(
value
=
"发货-地址简称"
)
private
String
sendAddressShorter
;
@ApiModelProperty
(
value
=
"发货-场地类型id"
)
private
Integer
sendSiteTypeId
;
@ApiModelProperty
(
value
=
"发货-场地类型"
)
private
String
sendSiteType
;
@ApiModelProperty
(
value
=
"发货-是否可超标准 0 否 1 是"
)
private
Integer
sendOverStandard
;
@ApiModelProperty
(
value
=
"发货-预估装车时长(小时)"
)
private
BigDecimal
sendEstimatedLoadingTime
;
@ApiModelProperty
(
value
=
"发货-是否需要系统排队 0 否 1 是"
)
private
Integer
sendWaitSystem
;
@ApiModelProperty
(
value
=
"发货-排队系统名称"
)
private
String
sendWaitSystemName
;
@ApiModelProperty
(
"发货-预估排队时长"
)
private
BigDecimal
sendEstimatedWaitTime
;
@ApiModelProperty
(
"发货-煤源生产情况 1 现产现装 2 存煤"
)
private
Integer
sendCoalSourceProductSituation
;
@ApiModelProperty
(
"发货-现产现装效率(车/小时)"
)
private
BigDecimal
sendProductLoadEfficiency
;
@ApiModelProperty
(
"发货-司机到达货源地范围(千米)"
)
private
BigDecimal
sendDriverArriveRange
;
@ApiModelProperty
(
"发货-过磅费(元)"
)
private
BigDecimal
sendPoundFee
;
@ApiModelProperty
(
"发货-其他过磅费(元)"
)
private
BigDecimal
sendOtherPoundFee
;
@ApiModelProperty
(
"发货-装卸费(元)"
)
private
BigDecimal
sendLoadFee
;
@ApiModelProperty
(
"发货-其他装卸费(元)"
)
private
BigDecimal
sendOtherLoadFee
;
@ApiModelProperty
(
"发货-其他费用 数据样例: [{'fee':500,'remark':'其他费用备注'}]"
)
private
String
sendOtherFee
;
@ApiModelProperty
(
"发货-货源地开支金额起"
)
private
BigDecimal
sendPayFeeBegin
;
@ApiModelProperty
(
"发货-货源地开支金额止"
)
private
BigDecimal
sendPayFeeEnd
;
@ApiModelProperty
(
"收货-地址id"
)
private
Integer
reveiveAddressId
;
@ApiModelProperty
(
"收货-地址简称"
)
private
String
reveiveAddressShorter
;
@ApiModelProperty
(
"收货-场地类型id"
)
private
Integer
reveiveSiteTypeId
;
@ApiModelProperty
(
"收货-场地类型"
)
private
String
reveiveSiteType
;
@ApiModelProperty
(
"收货-是否可超标准 0 否 1 是"
)
private
Integer
reveiveOverStandard
;
@ApiModelProperty
(
"收货-预估装车时长(小时)"
)
private
BigDecimal
reveiveEstimatedLoadingTime
;
@ApiModelProperty
(
"收货-是否需要系统排队 0 否 1 是"
)
private
Integer
reveiveWaitSystem
;
@ApiModelProperty
(
"收货-排队系统名称"
)
private
String
reveiveWaitSystemName
;
@ApiModelProperty
(
"收货-司机到达目的地范围(千米)"
)
private
BigDecimal
reveiveDriverArriveRange
;
@ApiModelProperty
(
"收发地磅差"
)
private
BigDecimal
reveivePoundDiff
;
@ApiModelProperty
(
"收货-过磅费(元)"
)
private
BigDecimal
reveivePoundFee
;
@ApiModelProperty
(
"收货-其他过磅费(元)"
)
private
BigDecimal
reveiveOtherPoundFee
;
@ApiModelProperty
(
"收货-装卸费(元)"
)
private
BigDecimal
reveiveLoadFee
;
@ApiModelProperty
(
"收货-其他装卸费(元)"
)
private
BigDecimal
reveiveOtherLoadFee
;
@ApiModelProperty
(
"收货-其他费用 数据样例: [{'fee':500,'remark':'其他费用备注'}]"
)
private
String
reveiveOtherFee
;
@ApiModelProperty
(
"收货-收货地开支金额起"
)
private
BigDecimal
reveivePayFeeBegin
;
@ApiModelProperty
(
"收货-收货地开支金额止"
)
private
BigDecimal
reveivePayFeeEnd
;
@ApiModelProperty
(
"用车需求: 1平台车辆 2部分平台车辆 3自有车辆"
)
private
Integer
truckDemand
;
@ApiModelProperty
(
"平台承运吨数"
)
private
BigDecimal
platformCarryWeight
;
@ApiModelProperty
(
"自有车辆(辆)"
)
private
Integer
ownerTruckNumber
;
@ApiModelProperty
(
"车型要求数组"
)
private
String
truckModelList
;
@ApiModelProperty
(
"拉运开始时间"
)
private
LocalDateTime
transportBeginTime
;
@ApiModelProperty
(
"拉运结束时间"
)
private
LocalDateTime
transportEndTime
;
@ApiModelProperty
(
"可装车时间段开始"
)
private
String
loadBeginTime
;
@ApiModelProperty
(
"可装车时间段结束"
)
private
String
loadEndTime
;
@ApiModelProperty
(
"可卸车时间段开始"
)
private
String
unloadBeginTime
;
@ApiModelProperty
(
"可卸车时间段结束"
)
private
String
unloadEndTime
;
@ApiModelProperty
(
"意向运费"
)
private
BigDecimal
intentionFreightPrice
;
@ApiModelProperty
(
"有效运费"
)
private
BigDecimal
validFreightPrice
;
@ApiModelProperty
(
"订单状态: 0待报价 1客户确认中 2报价已确认 3平台已承接 4已取消 5暂停 6拒绝承运 7 挂单中 8运输中 9订单已完成 10 已失效"
)
private
Integer
orderStatus
;
@ApiModelProperty
(
"报价状态:2确认报价 3驳回报价"
)
private
Integer
quotationStatus
;
@ApiModelProperty
(
"备注"
)
private
String
remark
;
@ApiModelProperty
(
"创建时间"
)
private
LocalDateTime
createTime
;
@ApiModelProperty
(
"修改时间"
)
private
LocalDateTime
modifiedTime
;
}
performance-api/src/main/java/com/clx/order/params/OrderGoodsChildParams.java
0 → 100644
浏览文件 @
fac123cc
package
com
.
clx
.
order
.
params
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
@Getter
@Setter
public
class
OrderGoodsChildParams
{
@ApiModelProperty
(
"挂单运费"
)
private
BigDecimal
pendingOrderFreight
;
@ApiModelProperty
(
"提取方式 1提取全部 2提取部分"
)
private
Integer
extractWay
;
@ApiModelProperty
(
"提取吨数"
)
private
BigDecimal
extractWeight
;
@ApiModelProperty
(
"需要车辆/辆"
)
private
Integer
needTruckNum
;
@ApiModelProperty
(
"挂单方式 1公开派单 2定向派单"
)
private
Integer
pendingOrderWay
;
@ApiModelProperty
(
value
=
"最晚到达货源地时间/运单的最晚装货时间"
,
example
=
"2023-09-09 12:00:01"
,
required
=
true
)
private
String
lastArriveSendTime
;
@ApiModelProperty
(
value
=
"挂单时间"
,
example
=
"2023-09-09 12:00:01"
,
required
=
true
)
private
String
pendingOrderTime
;
@ApiModelProperty
(
"高级物流经理id"
)
private
Integer
seniorLogisticsManagerId
;
@ApiModelProperty
(
"高级物流经理姓名"
)
private
String
seniorLogisticsManagerName
;
@ApiModelProperty
(
value
=
"定向运单失效时间"
,
example
=
"2023-09-09 12:00:01"
,
required
=
true
)
private
String
directionalExpireTime
;
@ApiModelProperty
(
"创建人用户编号"
)
private
Long
userNo
;
@ApiModelProperty
(
"创建人姓名"
)
private
String
userName
;
}
performance-api/src/main/java/com/clx/order/params/OrderGoodsParams.java
0 → 100644
浏览文件 @
fac123cc
package
com
.
clx
.
order
.
params
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.util.List
;
@Data
public
class
OrderGoodsParams
{
@ApiModelProperty
(
"订单编号"
)
@NotBlank
(
message
=
"订单编号不能为空"
)
private
String
orderNo
;
private
List
<
OrderGoodsChildParams
>
orderGoodsChildParams
;
}
performance-api/src/main/java/com/clx/order/params/PageCarrierOrderListParam.java
0 → 100644
浏览文件 @
fac123cc
package
com
.
clx
.
order
.
params
;
import
com.msl.common.base.PageParam
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public
class
PageCarrierOrderListParam
extends
PageParam
{
@ApiModelProperty
(
value
=
"订单编号"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"联系人(货主)id"
)
private
Integer
contactId
;
@ApiModelProperty
(
value
=
"订单状态:2报价已确认 3平台已承接 7 挂单中 8运输中"
)
private
Integer
orderStatus
;
@ApiModelProperty
(
value
=
"开始时间"
,
example
=
"2023-09-09 12:00:01"
,
required
=
true
)
private
String
beginTime
;
@ApiModelProperty
(
value
=
"结束"
,
example
=
"2023-09-09 12:00:01"
,
required
=
true
)
private
String
endTime
;
@ApiModelProperty
(
value
=
"时间类型: 1创建时间 2拉运开始时间 3拉运结束时间 "
)
@NotNull
(
message
=
"时间类型不能为空"
)
private
Integer
timeType
;
@ApiModelProperty
(
value
=
"用车类型: 1平台车辆 2部分平台车辆 3自有车辆"
)
private
Integer
truckDemand
;
}
performance-web/pom.xml
浏览文件 @
fac123cc
...
...
@@ -32,6 +32,12 @@
<version>
0.0.1-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.clx.cy
</groupId>
<artifactId>
order-api
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.msl
</groupId>
<artifactId>
user-sdk
</artifactId>
...
...
@@ -194,6 +200,11 @@
<version>
1.0
</version>
</dependency>
<dependency>
<groupId>
org.redisson
</groupId>
<artifactId>
redisson
</artifactId>
<version>
3.13.6
</version>
</dependency>
</dependencies>
...
...
performance-web/src/main/java/com/clx/performance/
Order
Application.java
→
performance-web/src/main/java/com/clx/performance/
Performance
Application.java
浏览文件 @
fac123cc
...
...
@@ -16,12 +16,12 @@ import org.springframework.scheduling.annotation.EnableAsync;
// @ComponentScan("com.msl.common.utils.*"),
//})
@ComponentScan
({
"com.clx.performance.*"
,
"com.msl.*"
})
@EnableFeignClients
(
basePackages
=
{
"com.msl.*"
,
"com.clx.performance.*"
})
@EnableFeignClients
(
basePackages
=
{
"com.msl.*"
,
"com.clx.performance.*"
,
"com.clx.order.*"
})
@ViewScan
(
basePackage
=
"com.clx.user.view"
)
public
class
Order
Application
{
public
class
Performance
Application
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
Order
Application
.
class
,
args
);
SpringApplication
.
run
(
Performance
Application
.
class
,
args
);
}
}
performance-web/src/main/java/com/clx/performance/component/OrderGoodsIdGenerate.java
0 → 100644
浏览文件 @
fac123cc
package
com
.
clx
.
performance
.
component
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.msl.common.utils.DateUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Component
;
import
java.time.LocalDate
;
@Component
public
class
OrderGoodsIdGenerate
{
@Autowired
private
RedisTemplate
<
String
,
String
>
redisTemplate
;
@Autowired
private
OrderGoodsDao
orderGoodsDao
;
public
int
getOrderGoodsId
(
String
type
,
Integer
size
)
{
int
baseStart
=
Integer
.
parseInt
(
DateUtils
.
formatDate
(
LocalDate
.
now
(),
"yyyyMMdd"
)
+
"00001"
);
Object
o
=
redisTemplate
.
opsForHash
().
get
(
"performance:orderGoodsId:"
,
type
);
if
(
o
==
null
)
{
int
maxOrderGoodsId
=
orderGoodsDao
.
getMaxOrderGoodsId
(
type
);
if
(
baseStart
>
maxOrderGoodsId
)
{
redisTemplate
.
opsForHash
().
put
(
"performance:orderGoodsId:"
,
type
,
baseStart
+
size
);
return
baseStart
;
}
else
{
int
orderGoodsId
=
maxOrderGoodsId
+
1
;
redisTemplate
.
opsForHash
().
put
(
"performance:orderGoodsId:"
,
type
,
orderGoodsId
+
size
);
return
orderGoodsId
;
}
}
else
{
int
redisOrderGoodsId
=
Integer
.
parseInt
(
o
.
toString
());
int
orderGoodsId
=
redisOrderGoodsId
+
1
;
redisTemplate
.
opsForHash
().
put
(
"performance:orderGoodsId:"
,
type
,
orderGoodsId
+
size
);
return
orderGoodsId
;
}
}
}
performance-web/src/main/java/com/clx/performance/config/MybatisPlusConfig.java
浏览文件 @
fac123cc
...
...
@@ -12,7 +12,7 @@ import org.springframework.context.annotation.Configuration;
import
org.springframework.context.annotation.Profile
;
@Configuration
@MapperScan
(
"com.clx.
order
.mapper"
)
@MapperScan
(
"com.clx.
performance
.mapper"
)
public
class
MybatisPlusConfig
{
/**
...
...
performance-web/src/main/java/com/clx/performance/constant/RedisConstants.java
0 → 100644
浏览文件 @
fac123cc
package
com
.
clx
.
performance
.
constant
;
public
class
RedisConstants
{
public
static
final
String
ORDER_NO_BLOCK
=
"performance:order_no_block:"
;
}
performance-web/src/main/java/com/clx/performance/controller/pc/GoodsOrderController.java
浏览文件 @
fac123cc
package
com
.
clx
.
performance
.
controller
.
pc
;
import
cn.hutool.json.JSONUtil
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.param.feign.FeignPageCarrierOrderListParam
;
import
com.clx.order.params.OrderGoodsChildParams
;
import
com.clx.order.params.OrderGoodsParams
;
import
com.clx.order.params.PageCarrierOrderListParam
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.order.vo.feign.FeignPageOrderVO
;
import
com.clx.performance.component.OrderGoodsIdGenerate
;
import
com.clx.performance.constant.RedisConstants
;
import
com.clx.performance.mapper.OrderGoodsMapper
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.service.OrderGoodsService
;
import
com.msl.common.base.PageData
;
import
com.msl.common.convertor.aspect.UnitCovert
;
import
com.msl.common.result.Result
;
import
com.msl.common.utils.DateUtils
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RedissonClient
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
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.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
/**
* @ClassName GoodsOrderController
* @Description
...
...
@@ -30,11 +54,106 @@ public class GoodsOrderController {
@Autowired
OrderGoodsService
orderGoodsService
;
@ApiOperation
(
value
=
"提交货单"
,
notes
=
"<br>By:刘海泉"
)
@Autowired
OrderGoodsMapper
orderGoodsMapper
;
@Autowired
private
RedisTemplate
<
String
,
Object
>
redisTemplate
;
@Autowired
private
RedissonClient
redissonClient
;
@Autowired
private
OrderFeign
orderFeign
;
@Autowired
private
OrderGoodsIdGenerate
orderGoodsIdGenerate
;
@ApiOperation
(
value
=
"提交货单"
,
notes
=
"<br>By:刘海泉"
)
@PostMapping
(
"/saveGoodsOrder"
)
public
Result
saveGoodName
(
@RequestBody
@Validated
String
msg
)
{
public
Result
<
Object
>
saveGoodName
(
@RequestBody
@Validated
OrderGoodsParams
orderGoodsParams
)
{
String
orderNo
=
orderGoodsParams
.
getOrderNo
();
RLock
rLock
=
null
;
try
{
//1. 加分布式锁通过订单ID
//获取锁
rLock
=
redissonClient
.
getLock
(
RedisConstants
.
ORDER_NO_BLOCK
+
orderNo
);
//设置超时
rLock
.
lock
(
1
,
TimeUnit
.
MINUTES
);
//2. 通过OrderNo 查询订单信息
FeignOrderVO
orderInfo
=
orderFeign
.
getOrderInfoFeign
(
orderNo
);
//1平台车辆 2部分平台车辆 3自有车辆
Integer
truckDemand
=
orderInfo
.
getTruckDemand
();
if
(
truckDemand
!=
3
)
{
List
<
OrderGoodsChildParams
>
childParamsList
=
orderGoodsParams
.
getOrderGoodsChildParams
();
BigDecimal
childSum
=
childParamsList
.
stream
().
map
(
OrderGoodsChildParams:
:
getExtractWeight
).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
if
(
orderInfo
.
getResidueWeight
().
compareTo
(
childSum
)
<
0
)
{
throw
new
RuntimeException
(
"当前货单总吨数已超订单总吨数"
);
}
LocalDateTime
now
=
LocalDateTime
.
now
();
int
beginOrderGoodsId
=
orderGoodsIdGenerate
.
getOrderGoodsId
(
"pt"
,
childParamsList
.
size
());
for
(
OrderGoodsChildParams
child
:
childParamsList
)
{
OrderGoods
orderGoods
=
new
OrderGoods
();
//提取吨数
orderGoods
.
setExtractWeight
(
child
.
getExtractWeight
());
orderGoods
.
setExtractWeight
(
child
.
getExtractWeight
());
//提取方式 1提取全部 2提取部分
Integer
extractWay
=
child
.
getExtractWay
();
orderGoods
.
setExtractWay
(
extractWay
);
//需要车辆
orderGoods
.
setNeedTruckNum
(
child
.
getNeedTruckNum
());
//挂单方式
orderGoods
.
setPendingOrderWay
(
child
.
getPendingOrderWay
());
//挂单时间
orderGoods
.
setPendingOrderTime
(
DateUtils
.
parseDateTime
(
child
.
getPendingOrderTime
()).
get
());
orderGoods
.
setPendingOrderFreight
(
child
.
getPendingOrderFreight
());
orderGoods
.
setLastArriveSendTime
(
DateUtils
.
parseDateTime
(
child
.
getLastArriveSendTime
()).
get
());
//定向运单失效时间
orderGoods
.
setDirectionalExpireTime
(
DateUtils
.
parseDateTime
(
child
.
getDirectionalExpireTime
()).
get
());
orderGoods
.
setSeniorLogisticsManagerId
(
child
.
getSeniorLogisticsManagerId
());
orderGoods
.
setSeniorLogisticsManagerName
(
child
.
getSeniorLogisticsManagerName
());
orderGoods
.
setOrderNo
(
orderNo
);
orderGoods
.
setOrderGoodsType
(
"PT"
);
orderGoods
.
setOrderGoodsNo
(
"PT"
+
beginOrderGoodsId
);
orderGoods
.
setOrderGoodsStatus
(
10
);
orderGoods
.
setSendAddressId
(
orderInfo
.
getSendAddressId
());
orderGoods
.
setSendAddressShorter
(
orderInfo
.
getSendAddressShorter
());
//收发货经纬度
orderGoods
.
setSendLongitude
(
orderInfo
.
getSendLongitude
());
orderGoods
.
setSendLatitude
(
orderInfo
.
getSendLatitude
());
orderGoods
.
setReceiveLatitude
(
orderInfo
.
getReveiveLatitude
());
orderGoods
.
setReceiveLongitude
(
orderInfo
.
getReveiveLongitude
());
orderGoods
.
setGoodsName
(
orderInfo
.
getGoodsName
());
orderGoods
.
setCreateTime
(
now
);
orderGoods
.
setModifiedTime
(
now
);
beginOrderGoodsId
=
beginOrderGoodsId
+
1
;
orderGoodsMapper
.
insert
(
orderGoods
);
}
}
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
finally
{
try
{
if
(
rLock
!=
null
&&
rLock
.
isLocked
())
{
rLock
.
unlock
();
}
log
.
info
(
"锁释放完成"
);
}
catch
(
Exception
e
)
{
log
.
error
(
"redis 分布式锁释放异常!"
,
e
);
}
}
return
Result
.
ok
();
}
@PostMapping
(
"/pageCarrierOrderList"
)
@UnitCovert
(
param
=
false
)
public
Result
<
PageData
<
FeignPageOrderVO
>>
pageCarrierOrderList
(
@RequestBody
@Validated
PageCarrierOrderListParam
param
)
{
Result
<
PageData
<
FeignPageOrderVO
>>
dataResult
=
orderFeign
.
pageCarrierOrderList
(
JSONUtil
.
parse
(
param
).
toString
());
return
dataResult
;
}
}
performance-web/src/main/java/com/clx/performance/dao/OrderGoodsDao.java
浏览文件 @
fac123cc
...
...
@@ -10,4 +10,5 @@ import com.clx.performance.model.OrderGoods;
* Time 16:45
*/
public
interface
OrderGoodsDao
extends
BaseDao
<
OrderGoodsMapper
,
OrderGoods
,
Integer
>
{
Integer
getMaxOrderGoodsId
(
String
type
);
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsDaoImpl.java
浏览文件 @
fac123cc
package
com
.
clx
.
performance
.
dao
.
impl
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.msl.common.dao.BaseDao
;
import
com.msl.common.dao.impl.BaseDaoImpl
;
import
com.clx.performance.mapper.OrderGoodsMapper
;
...
...
@@ -12,5 +13,10 @@ import org.springframework.stereotype.Repository;
* Time 16:45
*/
@Repository
public
class
OrderGoodsDaoImpl
extends
BaseDaoImpl
<
OrderGoodsMapper
,
OrderGoods
,
Integer
>
implements
BaseDao
<
OrderGoodsMapper
,
OrderGoods
,
Integer
>
{
public
class
OrderGoodsDaoImpl
extends
BaseDaoImpl
<
OrderGoodsMapper
,
OrderGoods
,
Integer
>
implements
OrderGoodsDao
{
@Override
public
Integer
getMaxOrderGoodsId
(
String
type
)
{
return
baseMapper
.
getMaxOrderGoodsId
(
type
);
}
}
performance-web/src/main/java/com/clx/performance/mapper/OrderGoodsMapper.java
浏览文件 @
fac123cc
...
...
@@ -2,6 +2,8 @@ package com.clx.performance.mapper;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.sqlProvider.OrderGoodsSqlProvider
;
import
org.apache.ibatis.annotations.SelectProvider
;
/**
* @author kavin
...
...
@@ -9,4 +11,7 @@ import com.clx.performance.model.OrderGoods;
* Time 16:45
*/
public
interface
OrderGoodsMapper
extends
BaseMapper
<
OrderGoods
>
{
@SelectProvider
(
type
=
OrderGoodsSqlProvider
.
class
,
method
=
"getMaxOrderGoodsId"
)
Integer
getMaxOrderGoodsId
(
String
type
);
}
performance-web/src/main/java/com/clx/performance/model/OrderGoods.java
浏览文件 @
fac123cc
...
...
@@ -31,6 +31,10 @@ public class OrderGoods implements HasKey<Integer> {
@ApiModelProperty
(
"订单编号"
)
private
String
orderNo
;
@TableField
(
"order_goods_type"
)
@ApiModelProperty
(
"货单编号类型"
)
private
String
orderGoodsType
;
@TableField
(
"order_goods_no"
)
@ApiModelProperty
(
"货单编号"
)
private
String
orderGoodsNo
;
...
...
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderGoodsSqlProvider.java
0 → 100644
浏览文件 @
fac123cc
package
com
.
clx
.
performance
.
sqlProvider
;
public
class
OrderGoodsSqlProvider
{
public
String
getMaxOrderGoodsId
(
String
type
)
{
return
"SELECT s.order_goods_no FROM `order_goods` s WHERE s. id = ( SELECT max(id) FROM order_goods where order_goods_type = "
+
type
+
")"
;
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论