Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
d22e0871
提交
d22e0871
authored
10月 30, 2023
作者:
huyufan
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/v5.7_break_contract_reverse_20231020' into…
Merge remote-tracking branch 'origin/v5.7_break_contract_reverse_20231020' into v5.7_break_contract_reverse_20231020
上级
efc87ccc
7f607da6
显示空白字符变更
内嵌
并排
正在显示
24 个修改的文件
包含
452 行增加
和
14 行删除
+452
-14
BreakContractOwnerRuleAddMqParam.java
...erformance/param/mq/BreakContractOwnerRuleAddMqParam.java
+22
-0
BreakContractOwnerRuleAddParam.java
...breakcontract/carrier/BreakContractOwnerRuleAddParam.java
+2
-4
PageBreakContractDriverRecordParam.java
...kcontract/carrier/PageBreakContractDriverRecordParam.java
+3
-0
PageBreakContractOwnerRecordParam.java
...akcontract/carrier/PageBreakContractOwnerRecordParam.java
+3
-0
BreakContractDriverRuleVO.java
...o/pc/breakcontract/carrier/BreakContractDriverRuleVO.java
+1
-0
BreakContractOwnerRuleVO.java
...vo/pc/breakcontract/carrier/BreakContractOwnerRuleVO.java
+2
-4
pom.xml
performance-web/pom.xml
+5
-0
BreakContractConfig.java
.../java/com/clx/performance/config/BreakContractConfig.java
+14
-0
RabbitBreakContractConfig.java
...com/clx/performance/config/RabbitBreakContractConfig.java
+64
-0
RabbitKeyBreakContractConstants.java
...performance/constant/RabbitKeyBreakContractConstants.java
+42
-0
BreakContractOwnerRuleDao.java
...formance/dao/breakcontract/BreakContractOwnerRuleDao.java
+2
-1
BreakContractOwnerRuleDaoImpl.java
...dao/impl/breakcontract/BreakContractOwnerRuleDaoImpl.java
+9
-1
DocumentService.java
...om/clx/performance/extranal/document/DocumentService.java
+13
-0
DocumentServiceImpl.java
...rformance/extranal/document/impl/DocumentServiceImpl.java
+43
-0
BreakContractDelayListener.java
...ce/listener/breakcontract/BreakContractDelayListener.java
+43
-0
BreakContractOwnerRuleAddListener.java
...ener/breakcontract/BreakContractOwnerRuleAddListener.java
+43
-0
BreakContractOwnerRule.java
...rformance/model/breakcontract/BreakContractOwnerRule.java
+4
-0
BreakContractMqHandlerService.java
.../service/breakcontract/BreakContractMqHandlerService.java
+9
-0
BreakContractMqService.java
...ormance/service/breakcontract/BreakContractMqService.java
+7
-0
BreakContractMqHandlerServiceImpl.java
...impl/breakcontract/BreakContractMqHandlerServiceImpl.java
+49
-0
BreakContractMqServiceImpl.java
...ervice/impl/breakcontract/BreakContractMqServiceImpl.java
+46
-0
BreakContractOwnerRuleServiceImpl.java
...impl/breakcontract/BreakContractOwnerRuleServiceImpl.java
+24
-4
BreakContractDriverRecordSqlProvider.java
...r/breakcontract/BreakContractDriverRecordSqlProvider.java
+1
-0
BreakContractOwnerRecordSqlProvider.java
...er/breakcontract/BreakContractOwnerRecordSqlProvider.java
+1
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/param/mq/BreakContractOwnerRuleAddMqParam.java
0 → 100644
浏览文件 @
d22e0871
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
BreakContractOwnerRuleAddMqParam
{
private
Integer
ruleId
;
//规则id
}
performance-api/src/main/java/com/clx/performance/param/pc/breakcontract/carrier/BreakContractOwnerRuleAddParam.java
浏览文件 @
d22e0871
package
com
.
clx
.
performance
.
param
.
pc
.
breakcontract
.
carrier
;
import
com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleVO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
...
...
@@ -8,6 +7,7 @@ import lombok.Setter;
import
lombok.ToString
;
import
javax.validation.constraints.NotNull
;
import
java.util.Map
;
/**
* @Author: aiqingguo
...
...
@@ -25,8 +25,6 @@ public class BreakContractOwnerRuleAddParam {
private
String
name
;
@ApiModelProperty
(
value
=
"自动规则"
)
private
BreakContractOwnerRuleVO
.
AutoRule
autoRule
;
@ApiModelProperty
(
value
=
"手动规则"
)
private
BreakContractOwnerRuleVO
.
ManualRule
manualRule
;
private
Map
<
String
,
String
>
rule
;
}
performance-api/src/main/java/com/clx/performance/param/pc/breakcontract/carrier/PageBreakContractDriverRecordParam.java
浏览文件 @
d22e0871
...
...
@@ -19,6 +19,9 @@ public class PageBreakContractDriverRecordParam extends PageParam {
@ApiModelProperty
(
"触发类型:1系统触发 2手动触发"
)
private
Integer
triggerType
;
@ApiModelProperty
(
value
=
"违约方类型:1平台 2货主 3司机"
,
example
=
"1"
)
private
Integer
breakContractPartyType
;
@ApiModelProperty
(
value
=
"开始时间"
,
example
=
""
)
private
String
beginTime
;
...
...
performance-api/src/main/java/com/clx/performance/param/pc/breakcontract/carrier/PageBreakContractOwnerRecordParam.java
浏览文件 @
d22e0871
...
...
@@ -19,6 +19,9 @@ public class PageBreakContractOwnerRecordParam extends PageParam {
@ApiModelProperty
(
"触发类型:1系统触发 2手动触发"
)
private
Integer
triggerType
;
@ApiModelProperty
(
value
=
"违约方类型:1平台 2货主 3司机"
,
example
=
"1"
)
private
Integer
breakContractPartyType
;
@ApiModelProperty
(
value
=
"开始时间"
,
example
=
""
)
private
String
beginTime
;
...
...
performance-api/src/main/java/com/clx/performance/vo/pc/breakcontract/carrier/BreakContractDriverRuleVO.java
浏览文件 @
d22e0871
...
...
@@ -8,6 +8,7 @@ import lombok.ToString;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
import
java.util.Map
;
/**
* @author liruixin
...
...
performance-api/src/main/java/com/clx/performance/vo/pc/breakcontract/carrier/BreakContractOwnerRuleVO.java
浏览文件 @
d22e0871
...
...
@@ -7,6 +7,7 @@ import lombok.Setter;
import
lombok.ToString
;
import
java.math.BigDecimal
;
import
java.util.Map
;
/**
* @author liruixin
...
...
@@ -36,11 +37,8 @@ public class BreakContractOwnerRuleVO {
@ApiModelProperty
(
"修改时间"
)
private
String
modifiedTime
;
@ApiModelProperty
(
value
=
"自动规则"
)
private
AutoRule
autoRule
;
@ApiModelProperty
(
value
=
"手动规则"
)
private
ManualRule
manualRule
;
private
Map
<
String
,
String
>
rule
;
@Getter
@Setter
...
...
performance-web/pom.xml
浏览文件 @
d22e0871
...
...
@@ -50,6 +50,11 @@
<artifactId>
user-sdk
</artifactId>
</dependency>
<dependency>
<groupId>
com.msl
</groupId>
<artifactId>
document-api
</artifactId>
</dependency>
<dependency>
<groupId>
com.msl
</groupId>
<artifactId>
msl-esign-v3-sdk
</artifactId>
...
...
performance-web/src/main/java/com/clx/performance/config/BreakContractConfig.java
0 → 100644
浏览文件 @
d22e0871
package
com
.
clx
.
performance
.
config
;
import
lombok.Getter
;
import
lombok.Setter
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.context.annotation.Configuration
;
@Configuration
@ConfigurationProperties
(
prefix
=
"break.contract"
)
@Getter
@Setter
public
class
BreakContractConfig
{
private
Long
templateNo
;
}
performance-web/src/main/java/com/clx/performance/config/RabbitBreakContractConfig.java
0 → 100644
浏览文件 @
d22e0871
package
com
.
clx
.
performance
.
config
;
import
com.clx.performance.constant.RabbitKeyBreakContractConstants
;
import
org.springframework.amqp.core.Binding
;
import
org.springframework.amqp.core.BindingBuilder
;
import
org.springframework.amqp.core.DirectExchange
;
import
org.springframework.amqp.core.Queue
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @Author: aiqingguo
* @Description: 违约 MQ
* @Date: 2023-10-12 16:27:30
* @Version: 1.0
*/
@Configuration
public
class
RabbitBreakContractConfig
{
@Bean
public
DirectExchange
breakContractDefaultExchange
()
{
return
new
DirectExchange
(
RabbitKeyBreakContractConstants
.
DEFAULT_EXCHANGE
);
}
@Bean
public
Queue
breakContractDefaultDelayQueue
()
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>(
8
);
params
.
put
(
"x-message-ttl"
,
15
*
60
*
1000
);
params
.
put
(
"x-max-length"
,
5000000
);
params
.
put
(
"x-dead-letter-exchange"
,
RabbitKeyBreakContractConstants
.
DEFAULT_EXCHANGE
);
params
.
put
(
"x-dead-letter-routing-key"
,
RabbitKeyBreakContractConstants
.
DEFAULT_DEAD_ROUTING_KEY
);
return
new
Queue
(
RabbitKeyBreakContractConstants
.
DEFAULT_DELAY_QUEUE
,
true
,
false
,
false
,
params
);
}
@Bean
public
Binding
breakContractDefaultDelayQueueBinding
()
{
return
BindingBuilder
.
bind
(
breakContractDefaultDelayQueue
()).
to
(
breakContractDefaultExchange
()).
with
(
RabbitKeyBreakContractConstants
.
DEFAULT_DELAY_ROUTING_KEY
);
}
@Bean
public
Queue
breakContractDefaultDeadQueue
()
{
return
new
Queue
(
RabbitKeyBreakContractConstants
.
DEFAULT_DEAD_QUEUE
);
}
@Bean
public
Binding
breakContractDefaultDeadQueueBinding
()
{
return
BindingBuilder
.
bind
(
breakContractDefaultDeadQueue
()).
to
(
breakContractDefaultExchange
()).
with
(
RabbitKeyBreakContractConstants
.
DEFAULT_DEAD_ROUTING_KEY
);
}
/**
* 货主规则新增
*/
@Bean
public
Queue
breakContractOwnerRuleAddQueue
()
{
return
new
Queue
(
RabbitKeyBreakContractConstants
.
OWNER_RULE_ADD_QUEUE
);
}
@Bean
public
Binding
breakContractOwnerRuleAddQueueBinding
()
{
return
BindingBuilder
.
bind
(
breakContractOwnerRuleAddQueue
()).
to
(
breakContractDefaultExchange
()).
with
(
RabbitKeyBreakContractConstants
.
OWNER_RULE_ADD_ROUTING_KEY
);
}
}
performance-web/src/main/java/com/clx/performance/constant/RabbitKeyBreakContractConstants.java
0 → 100644
浏览文件 @
d22e0871
package
com
.
clx
.
performance
.
constant
;
/**
* @Author: aiqingguo
* @Description: 违约-mq
* @Date: 2023-10-12 15:27:23
* @Version: 1.0
*/
public
class
RabbitKeyBreakContractConstants
{
private
static
final
String
PREFIX
=
"clx-performance.breakContract."
;
private
static
final
String
EXCHANGE
=
".exchange"
;
private
static
final
String
QUEUE
=
".queue"
;
private
static
final
String
QUEUE_ROUTING_KEY
=
".routing.key"
;
private
static
final
String
DELAY_QUEUE
=
".delay.queue"
;
private
static
final
String
DELAY_ROUTING_KEY
=
".delay.routing.key"
;
private
static
final
String
DEAD_QUEUE
=
".dead.queue"
;
private
static
final
String
DEAD_ROUTING_KEY
=
".dead.routing.key"
;
private
RabbitKeyBreakContractConstants
()
{
}
/**
* 缺省交换机
*/
public
static
final
String
DEFAULT_EXCHANGE
=
PREFIX
+
"default"
+
EXCHANGE
;
/**
* 缺省延迟队列
*/
public
static
final
String
DEFAULT_DELAY_QUEUE
=
PREFIX
+
"default"
+
DELAY_QUEUE
;
public
static
final
String
DEFAULT_DELAY_ROUTING_KEY
=
PREFIX
+
"default"
+
DELAY_ROUTING_KEY
;
public
static
final
String
DEFAULT_DEAD_QUEUE
=
PREFIX
+
"default"
+
DEAD_QUEUE
;
public
static
final
String
DEFAULT_DEAD_ROUTING_KEY
=
PREFIX
+
"default"
+
DEAD_ROUTING_KEY
;
/**
* 新增货主违约规则
*/
public
static
final
String
OWNER_RULE_ADD_QUEUE
=
PREFIX
+
"ownerRule.add"
+
QUEUE
;
public
static
final
String
OWNER_RULE_ADD_ROUTING_KEY
=
PREFIX
+
"ownerRule.add"
+
QUEUE_ROUTING_KEY
;
}
performance-web/src/main/java/com/clx/performance/dao/breakcontract/BreakContractOwnerRuleDao.java
浏览文件 @
d22e0871
...
...
@@ -18,7 +18,8 @@ import java.util.List;
*/
public
interface
BreakContractOwnerRuleDao
extends
BaseDao
<
BreakContractOwnerRuleMapper
,
BreakContractOwnerRule
,
Integer
>
{
boolean
updateRule
(
BreakContractOwnerRule
item
);
boolean
updateRuleStatus
(
BreakContractOwnerRule
item
);
boolean
updateFile
(
BreakContractOwnerRule
item
);
Optional
<
BreakContractOwnerRule
>
selectByName
(
String
name
);
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/breakcontract/BreakContractOwnerRuleDaoImpl.java
浏览文件 @
d22e0871
...
...
@@ -23,13 +23,21 @@ import java.util.List;
public
class
BreakContractOwnerRuleDaoImpl
extends
BaseDaoImpl
<
BreakContractOwnerRuleMapper
,
BreakContractOwnerRule
,
Integer
>
implements
BreakContractOwnerRuleDao
{
@Override
public
boolean
updateRule
(
BreakContractOwnerRule
item
)
{
public
boolean
updateRule
Status
(
BreakContractOwnerRule
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
BreakContractOwnerRule:
:
getId
,
item
.
getId
())
.
set
(
BreakContractOwnerRule:
:
getStatus
,
item
.
getStatus
())
);
}
@Override
public
boolean
updateFile
(
BreakContractOwnerRule
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
BreakContractOwnerRule:
:
getId
,
item
.
getId
())
.
set
(
BreakContractOwnerRule:
:
getFile
,
item
.
getFile
())
);
}
@Override
public
Optional
<
BreakContractOwnerRule
>
selectByName
(
String
name
)
{
return
Optional
.
of
(
name
)
...
...
performance-web/src/main/java/com/clx/performance/extranal/document/DocumentService.java
0 → 100644
浏览文件 @
d22e0871
package
com
.
clx
.
performance
.
extranal
.
document
;
import
com.msl.document.api.vo.ContractEvidenceRecordVo
;
import
java.util.Map
;
public
interface
DocumentService
{
Long
createContract
(
Long
templateNo
,
Map
<
String
,
String
>
map
);
ContractEvidenceRecordVo
getContractInfo
(
Long
evidenceNo
);
}
performance-web/src/main/java/com/clx/performance/extranal/document/impl/DocumentServiceImpl.java
0 → 100644
浏览文件 @
d22e0871
package
com
.
clx
.
performance
.
extranal
.
document
.
impl
;
import
com.clx.performance.extranal.document.DocumentService
;
import
com.msl.common.base.Optional
;
import
com.msl.common.enums.ResultCodeEnum
;
import
com.msl.common.result.Result
;
import
com.msl.document.api.feign.ContractEvidenceFeign
;
import
com.msl.document.api.feign.ContractTemplateFeign
;
import
com.msl.document.api.param.GenerateContractParam
;
import
com.msl.document.api.vo.ContractEvidenceRecordVo
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
java.util.Map
;
@Slf4j
@Service
@AllArgsConstructor
public
class
DocumentServiceImpl
implements
DocumentService
{
private
final
ContractTemplateFeign
contractTemplateFeign
;
private
final
ContractEvidenceFeign
contractEvidenceFeign
;
@Override
public
Long
createContract
(
Long
templateNo
,
Map
<
String
,
String
>
map
)
{
GenerateContractParam
param
=
new
GenerateContractParam
();
param
.
setTemplateNo
(
templateNo
);
param
.
setParametersValueMap
(
map
);
return
Optional
.
ofNullable
(
contractTemplateFeign
.
generateContract
(
param
))
.
filter
(
Result:
:
succeed
).
map
(
item
->
item
.
getData
()).
orElseThrow
(
ResultCodeEnum
.
FAIL
);
}
@Override
public
ContractEvidenceRecordVo
getContractInfo
(
Long
evidenceNo
)
{
return
Optional
.
ofNullable
(
contractEvidenceFeign
.
getContractEvidenceDetail
(
evidenceNo
))
.
filter
(
Result:
:
succeed
).
map
(
item
->
item
.
getData
()).
orElseThrow
(
ResultCodeEnum
.
FAIL
);
}
}
performance-web/src/main/java/com/clx/performance/listener/breakcontract/BreakContractDelayListener.java
0 → 100644
浏览文件 @
d22e0871
package
com
.
clx
.
performance
.
listener
.
breakcontract
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.clx.performance.common.MqDelay
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeyBreakContractConstants
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.MessageBuilder
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @Author: 艾庆国
* @Description: 违约 mq
* @Date: 2023-10-20 16:14:30
* @Version: 1.0
*/
@Slf4j
@Component
public
class
BreakContractDelayListener
{
@Autowired
private
RabbitTemplate
rabbitTemplate
;
@RabbitListener
(
queues
=
RabbitKeyBreakContractConstants
.
DEFAULT_DEAD_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"违约-延迟, message:{}"
,
message
);
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
MqDelay
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"违约-延迟 失败"
,
e
);
}
}
void
process
(
MqDelay
mq
){
Message
message
=
MessageBuilder
.
withBody
(
JSON
.
toJSONString
(
mq
.
getData
()).
getBytes
()).
build
();
rabbitTemplate
.
send
(
mq
.
getExchange
(),
mq
.
getRouterKey
(),
message
);
}
}
performance-web/src/main/java/com/clx/performance/listener/breakcontract/BreakContractOwnerRuleAddListener.java
0 → 100644
浏览文件 @
d22e0871
package
com
.
clx
.
performance
.
listener
.
breakcontract
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeyBreakContractConstants
;
import
com.clx.performance.param.mq.BreakContractOwnerRuleAddMqParam
;
import
com.clx.performance.service.breakcontract.BreakContractMqHandlerService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
/**
* @Author: 艾庆国
* @Description: 违约规则新增 mq
* @Date: 2023-10-20 11:45:08
* @Version: 1.0
*/
@Slf4j
@Component
public
class
BreakContractOwnerRuleAddListener
{
@Autowired
private
BreakContractMqHandlerService
breakContractMqHandlerService
;
@RabbitListener
(
queues
=
RabbitKeyBreakContractConstants
.
OWNER_RULE_ADD_QUEUE
)
public
void
process
(
Message
message
)
{
try
{
log
.
info
(
"违约-货主违约规则创建, message:{}"
,
new
String
(
message
.
getBody
()));
process
(
JSON
.
parseObject
(
new
String
(
message
.
getBody
()),
new
TypeReference
<
MqWrapper
<
BreakContractOwnerRuleAddMqParam
>>(){}).
getData
());
}
catch
(
Exception
e
){
log
.
info
(
"违约-货主违约规则创建 失败"
,
e
);
}
}
private
void
process
(
BreakContractOwnerRuleAddMqParam
mq
){
breakContractMqHandlerService
.
ownerRuleAdd
(
mq
);
}
}
performance-web/src/main/java/com/clx/performance/model/breakcontract/BreakContractOwnerRule.java
浏览文件 @
d22e0871
...
...
@@ -38,6 +38,10 @@ public class BreakContractOwnerRule implements HasKey<Integer> {
@ApiModelProperty
(
"规则json"
)
private
String
ruleJson
;
@TableField
(
"auto_rule_json"
)
@ApiModelProperty
(
"自动规则json"
)
private
String
autoRuleJson
;
@TableField
(
"status"
)
@ApiModelProperty
(
"状态:1启用 2禁用"
)
private
Integer
status
;
...
...
performance-web/src/main/java/com/clx/performance/service/breakcontract/BreakContractMqHandlerService.java
0 → 100644
浏览文件 @
d22e0871
package
com
.
clx
.
performance
.
service
.
breakcontract
;
import
com.clx.performance.param.mq.BreakContractOwnerRuleAddMqParam
;
public
interface
BreakContractMqHandlerService
{
void
ownerRuleAdd
(
BreakContractOwnerRuleAddMqParam
mq
);
}
performance-web/src/main/java/com/clx/performance/service/breakcontract/BreakContractMqService.java
0 → 100644
浏览文件 @
d22e0871
package
com
.
clx
.
performance
.
service
.
breakcontract
;
public
interface
BreakContractMqService
{
void
ownerRuleAdd
(
Integer
ruleId
);
}
performance-web/src/main/java/com/clx/performance/service/impl/breakcontract/BreakContractMqHandlerServiceImpl.java
0 → 100644
浏览文件 @
d22e0871
package
com
.
clx
.
performance
.
service
.
impl
.
breakcontract
;
import
com.alibaba.fastjson.JSON
;
import
com.clx.performance.config.BreakContractConfig
;
import
com.clx.performance.dao.breakcontract.BreakContractOwnerRuleDao
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.extranal.document.DocumentService
;
import
com.clx.performance.model.breakcontract.BreakContractOwnerRule
;
import
com.clx.performance.param.mq.BreakContractOwnerRuleAddMqParam
;
import
com.clx.performance.service.breakcontract.BreakContractMqHandlerService
;
import
com.msl.document.api.vo.ContractEvidenceRecordVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.Map
;
@Slf4j
@Service
public
class
BreakContractMqHandlerServiceImpl
implements
BreakContractMqHandlerService
{
@Autowired
private
BreakContractOwnerRuleDao
breakContractOwnerRuleDao
;
@Autowired
private
DocumentService
documentService
;
@Autowired
private
BreakContractConfig
breakContractConfig
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
ownerRuleAdd
(
BreakContractOwnerRuleAddMqParam
mq
)
{
BreakContractOwnerRule
rule
=
breakContractOwnerRuleDao
.
getEntityByKey
(
mq
.
getRuleId
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
Map
<
String
,
String
>
map
=
JSON
.
parseObject
(
rule
.
getRuleJson
(),
Map
.
class
);
// 创建合同
Long
contractNo
=
documentService
.
createContract
(
breakContractConfig
.
getTemplateNo
(),
map
);
ContractEvidenceRecordVo
contract
=
documentService
.
getContractInfo
(
contractNo
);
// 更新违约规则文档
rule
.
setFile
(
contract
.
getFileUrl
());
breakContractOwnerRuleDao
.
updateFile
(
rule
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/breakcontract/BreakContractMqServiceImpl.java
0 → 100644
浏览文件 @
d22e0871
package
com
.
clx
.
performance
.
service
.
impl
.
breakcontract
;
import
com.alibaba.fastjson.JSON
;
import
com.clx.performance.common.MqDelay
;
import
com.clx.performance.common.MqWrapper
;
import
com.clx.performance.constant.RabbitKeyBreakContractConstants
;
import
com.clx.performance.param.mq.BreakContractOwnerRuleAddMqParam
;
import
com.clx.performance.service.breakcontract.BreakContractMqService
;
import
com.clx.performance.service.impl.IntegralMqHandlerServiceImpl
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.core.MessageBuilder
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* @Author: aiqingguo
* @Description: 司机积分 mq
* @Date: 2023-10-10 13:21:07
* @Version: 1.0
*/
@Slf4j
@Service
public
class
BreakContractMqServiceImpl
implements
BreakContractMqService
{
@Autowired
private
RabbitTemplate
rabbitTemplate
;
@Autowired
private
IntegralMqHandlerServiceImpl
integralMqHandlerService
;
@Override
public
void
ownerRuleAdd
(
Integer
ruleId
)
{
BreakContractOwnerRuleAddMqParam
mq
=
new
BreakContractOwnerRuleAddMqParam
();
mq
.
setRuleId
(
ruleId
);
MqDelay
<
MqWrapper
<
BreakContractOwnerRuleAddMqParam
>>
delay
=
new
MqDelay
<>(
RabbitKeyBreakContractConstants
.
DEFAULT_EXCHANGE
,
RabbitKeyBreakContractConstants
.
OWNER_RULE_ADD_ROUTING_KEY
,
new
MqWrapper
<>(
mq
));
Message
message
=
MessageBuilder
.
withBody
(
JSON
.
toJSONString
(
new
MqWrapper
<>(
delay
)).
getBytes
()).
build
();
message
.
getMessageProperties
().
setExpiration
(
"5000"
);
rabbitTemplate
.
send
(
RabbitKeyBreakContractConstants
.
DEFAULT_EXCHANGE
,
RabbitKeyBreakContractConstants
.
DEFAULT_DELAY_ROUTING_KEY
,
message
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/breakcontract/BreakContractOwnerRuleServiceImpl.java
浏览文件 @
d22e0871
...
...
@@ -9,6 +9,7 @@ import com.clx.performance.model.breakcontract.BreakContractOwnerRule;
import
com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerRuleAddParam
;
import
com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerRuleStatusUpdateParam
;
import
com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRuleParam
;
import
com.clx.performance.service.breakcontract.BreakContractMqService
;
import
com.clx.performance.service.breakcontract.BreakContractOwnerRuleService
;
import
com.clx.performance.struct.breakcontract.BreakContractOwnerRuleStruct
;
import
com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleFileVO
;
...
...
@@ -17,8 +18,11 @@ import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleVO;
import
com.msl.common.exception.ServiceSystemException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author liruixin
...
...
@@ -33,7 +37,10 @@ public class BreakContractOwnerRuleServiceImpl implements BreakContractOwnerRul
private
BreakContractOwnerRuleDao
breakContractOwnerRuleDao
;
@Autowired
private
BreakContractOwnerRuleStruct
breakContractOwnerRuleStruct
;
@Autowired
private
BreakContractMqService
breakContractMqService
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
saveRule
(
BreakContractOwnerRuleAddParam
param
)
{
...
...
@@ -41,19 +48,31 @@ public class BreakContractOwnerRuleServiceImpl implements BreakContractOwnerRul
if
(
rule
!=
null
)
{
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
BREAK_CONTRACT_RULE_NAME_EXIST
);}
rule
=
new
BreakContractOwnerRule
();
rule
.
setRuleJson
(
JSON
.
toJSONString
(
param
));
rule
.
setName
(
param
.
getName
());
rule
.
setFile
(
"url"
);
rule
.
setRuleJson
(
JSON
.
toJSONString
(
param
.
getRule
()));
BreakContractOwnerRuleVO
.
AutoRule
autoRule
=
new
BreakContractOwnerRuleVO
.
AutoRule
();
autoRule
.
setOrderCancelRule
(
new
BreakContractOwnerRuleVO
.
OrderCancelRule
());
autoRule
.
setOrderAmountReduceRule
(
new
BreakContractOwnerRuleVO
.
OrderAmountReduceRule
());
autoRule
.
getOrderAmountReduceRule
().
setRatio
(
new
BigDecimal
(
param
.
getRule
().
get
(
"A-a"
)));
autoRule
.
getOrderCancelRule
().
setBeforeRatio
(
new
BigDecimal
(
param
.
getRule
().
get
(
"A-b"
)));
autoRule
.
getOrderCancelRule
().
setAfterRatio
(
new
BigDecimal
(
param
.
getRule
().
get
(
"A-c"
)));
autoRule
.
getOrderCancelRule
().
setAfterFigurePerHour
(
new
BigDecimal
(
param
.
getRule
().
get
(
"A-d"
)));
rule
.
setAutoRuleJson
(
JSON
.
toJSONString
(
autoRule
));
breakContractOwnerRuleDao
.
saveEntity
(
rule
);
breakContractMqService
.
ownerRuleAdd
(
rule
.
getId
());
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
updateStatus
(
BreakContractOwnerRuleStatusUpdateParam
param
)
{
BreakContractOwnerRule
rule
=
breakContractOwnerRuleDao
.
getEntityByKey
(
param
.
getId
()).
orElseThrow
(
PerformanceResultEnum
.
BREAK_CONTRACT_RULE_NO_FOUND
);
rule
.
setStatus
(
param
.
getStatus
());
breakContractOwnerRuleDao
.
updateRule
(
rule
);
breakContractOwnerRuleDao
.
updateRule
Status
(
rule
);
}
...
...
@@ -61,9 +80,10 @@ public class BreakContractOwnerRuleServiceImpl implements BreakContractOwnerRul
public
BreakContractOwnerRuleVO
getRuleInfo
(
Integer
id
)
{
BreakContractOwnerRule
rule
=
breakContractOwnerRuleDao
.
getEntityByKey
(
id
).
orElseThrow
(
PerformanceResultEnum
.
BREAK_CONTRACT_RULE_NO_FOUND
);
BreakContractOwnerRuleVO
vo
=
JSON
.
parseObject
(
rule
.
getRuleJson
(),
BreakContractOwnerRuleVO
.
class
);
BreakContractOwnerRuleVO
vo
=
new
BreakContractOwnerRuleVO
(
);
vo
.
setId
(
rule
.
getId
());
vo
.
setName
(
rule
.
getName
());
vo
.
setRule
(
JSON
.
parseObject
(
rule
.
getRuleJson
(),
Map
.
class
));
vo
.
setStatus
(
rule
.
getStatus
());
return
vo
;
...
...
performance-web/src/main/java/com/clx/performance/sqlProvider/breakcontract/BreakContractDriverRecordSqlProvider.java
浏览文件 @
d22e0871
...
...
@@ -31,6 +31,7 @@ public class BreakContractDriverRecordSqlProvider {
if
(
StringUtils
.
isNotBlank
(
param
.
getChildNo
()))
{
WHERE
(
"child_no = #{param.childNo}"
);}
if
(
Objects
.
nonNull
(
param
.
getTriggerType
()))
{
WHERE
(
"trigger_type = #{param.triggerType}"
);}
if
(
Objects
.
nonNull
(
param
.
getBreakContractPartyType
()))
{
WHERE
(
"break_contract_party_type = #{param.breakContractPartyType}"
);}
if
(
StringUtils
.
isNotBlank
(
param
.
getBeginTime
()))
{
WHERE
(
"create_time >= #{param.beginTime}"
);}
if
(
StringUtils
.
isNotBlank
(
param
.
getEndTime
()))
{
WHERE
(
"create_time <= #{param.endTime}"
);}
...
...
performance-web/src/main/java/com/clx/performance/sqlProvider/breakcontract/BreakContractOwnerRecordSqlProvider.java
浏览文件 @
d22e0871
...
...
@@ -27,6 +27,7 @@ public class BreakContractOwnerRecordSqlProvider {
if
(
StringUtils
.
isNotBlank
(
param
.
getOrderNo
()))
{
WHERE
(
"order_no = #{param.orderNo}"
);}
if
(
Objects
.
nonNull
(
param
.
getTriggerType
()))
{
WHERE
(
"trigger_type = #{param.triggerType}"
);}
if
(
Objects
.
nonNull
(
param
.
getBreakContractPartyType
()))
{
WHERE
(
"break_contract_party_type = #{param.breakContractPartyType}"
);}
if
(
StringUtils
.
isNotBlank
(
param
.
getBeginTime
()))
{
WHERE
(
"create_time >= #{param.beginTime}"
);}
if
(
StringUtils
.
isNotBlank
(
param
.
getEndTime
()))
{
WHERE
(
"create_time <= #{param.endTime}"
);}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论