Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
ims
Commits
2600132a
提交
2600132a
authored
12月 29, 2023
作者:
刘明祎-运维用途
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop'
上级
f28e9d11
73814cc7
流水线
#7795
已通过 于阶段
in 2 分 41 秒
变更
19
流水线
1
显示空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
1124 行增加
和
16 行删除
+1124
-16
TeamMessageDO.java
...c/main/java/com/mmc/csf/infomation/dto/TeamMessageDO.java
+29
-0
MyPublishQO.java
.../src/main/java/com/mmc/csf/infomation/qo/MyPublishQO.java
+3
-0
PersonSendOrderVO.java
...ain/java/com/mmc/csf/infomation/vo/PersonSendOrderVO.java
+33
-0
RequirementsInfoVO.java
...in/java/com/mmc/csf/infomation/vo/RequirementsInfoVO.java
+5
-1
kustomization.yaml
kustomization/overlays/dev/kustomization.yaml
+1
-1
RequirementsController.java
...om/mmc/csf/release/controller/RequirementsController.java
+67
-1
RequirementsDao.java
...rc/main/java/com/mmc/csf/release/dao/RequirementsDao.java
+105
-1
PersonSendOrderDO.java
...mmc/csf/release/entity/information/PersonSendOrderDO.java
+57
-0
RequirementsInfoDO.java
...c/csf/release/entity/requirements/RequirementsInfoDO.java
+9
-0
RequirementsServiceDO.java
...sf/release/entity/requirements/RequirementsServiceDO.java
+12
-1
ServiceIdEnum.java
...rc/main/java/com/mmc/csf/release/enums/ServiceIdEnum.java
+2
-2
UserAppApi.java
...e/src/main/java/com/mmc/csf/release/feign/UserAppApi.java
+7
-0
UserAppApiHystrix.java
.../com/mmc/csf/release/feign/hystrix/UserAppApiHystrix.java
+11
-0
RequirementsService.java
...java/com/mmc/csf/release/service/RequirementsService.java
+36
-0
RequirementsServiceImpl.java
...mmc/csf/release/service/impl/RequirementsServiceImpl.java
+243
-6
MyTask.java
...ervice/src/main/java/com/mmc/csf/release/util/MyTask.java
+33
-0
ScheduledTaskUtil.java
...main/java/com/mmc/csf/release/util/ScheduledTaskUtil.java
+54
-0
SmsUtil.java
...rvice/src/main/java/com/mmc/csf/release/util/SmsUtil.java
+119
-0
RequirementsDao.xml
...rc/main/resources/mapper/requirements/RequirementsDao.xml
+298
-3
没有找到文件。
csf-common/csf-common-model/src/main/java/com/mmc/csf/infomation/dto/TeamMessageDO.java
0 → 100644
浏览文件 @
2600132a
package
com
.
mmc
.
csf
.
infomation
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @author han
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
TeamMessageDO
{
/**
* 飞手ID
*/
private
Integer
pilotId
;
/**
* 飞手的用户ID
*/
private
Integer
pilotUserId
;
/**
* 飞手的团队管理员ID
*/
private
Integer
pilotMessageId
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/infomation/qo/MyPublishQO.java
浏览文件 @
2600132a
package
com
.
mmc
.
csf
.
infomation
.
qo
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.mmc.csf.release.model.group.Freeze
;
import
com.mmc.csf.release.model.group.Page
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -40,6 +41,8 @@ public class MyPublishQO {
@ApiModelProperty
(
value
=
"描述"
,
example
=
"hh"
)
private
String
requireDescription
;
@JsonIgnore
private
int
type
;
public
void
buildCurrentPage
()
{
this
.
pageNo
=
(
pageNo
-
1
)
*
pageSize
;
}
...
...
csf-common/csf-common-model/src/main/java/com/mmc/csf/infomation/vo/PersonSendOrderVO.java
0 → 100644
浏览文件 @
2600132a
package
com
.
mmc
.
csf
.
infomation
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
* @author han
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
PersonSendOrderVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"服务需求订单id"
)
@NotNull
(
message
=
"id不能为空"
)
private
Integer
requirementsInfoId
;
@ApiModelProperty
(
value
=
"派单飞手id"
)
private
Integer
pilotCertificationId
;
@ApiModelProperty
(
value
=
"派单飞手用户id"
)
private
Integer
pilotCertificationUserId
;
@ApiModelProperty
(
value
=
"是否是管理员派单"
)
private
int
isAdminSend
;
}
csf-common/csf-common-model/src/main/java/com/mmc/csf/infomation/vo/RequirementsInfoVO.java
浏览文件 @
2600132a
...
...
@@ -31,6 +31,8 @@ public class RequirementsInfoVO implements Serializable {
@NotNull
(
message
=
"id不能为空"
,
groups
=
{
Update
.
class
})
private
Integer
id
;
private
Integer
tempId
;
@ApiModelProperty
(
value
=
"需求发布id"
,
hidden
=
true
)
private
Integer
requirementsInfoId
;
...
...
@@ -79,7 +81,6 @@ public class RequirementsInfoVO implements Serializable {
@ApiModelProperty
(
value
=
"描述图片"
,
example
=
"http://,http://"
,
required
=
false
)
private
String
requireUrl
;
@ApiModelProperty
(
value
=
"发布者姓名"
,
example
=
"张三"
)
// @NotNull(message = "发布者姓名不能为空", groups = {Insert.class})
private
String
publishName
;
...
...
@@ -197,4 +198,7 @@ public class RequirementsInfoVO implements Serializable {
@ApiModelProperty
(
value
=
"后台修改后的金额"
)
private
BigDecimal
changedOrderAmount
;
@ApiModelProperty
(
value
=
"管理员操作"
)
private
int
teamStatus
;
}
kustomization/overlays/dev/kustomization.yaml
浏览文件 @
2600132a
...
...
@@ -18,4 +18,4 @@ patches:
images
:
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/ims
newTag
:
da7a362b93628d503ae6873ee076f5687a6b5044
newTag
:
6f3ad603703d1d0435d83e3e6bf472d8e0467c50
release-service/src/main/java/com/mmc/csf/release/controller/RequirementsController.java
浏览文件 @
2600132a
...
...
@@ -177,6 +177,13 @@ public class RequirementsController extends BaseController {
return
ResultBody
.
success
(
requirementsService
.
myPublish
(
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
(),
param
));
}
@ApiOperation
(
value
=
"小程序——我的发布(需要派单列表)"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"mySendPublish"
)
public
ResultBody
<
RequirementsInfoVO
>
mySendPublish
(
HttpServletRequest
request
,
@Validated
(
value
=
{
Page
.
class
})
@ApiParam
(
value
=
"我的发单"
,
required
=
true
)
@RequestBody
MyPublishQO
param
)
{
return
ResultBody
.
success
(
requirementsService
.
mySendPublish
(
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
(),
param
));
}
@ApiOperation
(
value
=
"new——小程序-—服务订单--我的抢单"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
...
...
@@ -356,17 +363,75 @@ public class RequirementsController extends BaseController {
return
requirementsService
.
deleteRequire
(
requirementsInfoId
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
());
}
@ApiOperation
(
value
=
"小程序—获取子订单详细信息"
)
@ApiOperation
(
value
=
"小程序—
抢单——
获取子订单详细信息"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"selectRequireSonInfo"
)
public
ResultBody
<
RequirementsInfoVO
>
selectRequireSonInfo
(
HttpServletRequest
request
,
@Validated
(
value
=
{
Page
.
class
})
@ApiParam
(
value
=
"查询所有子订单信息"
,
required
=
true
)
@RequestBody
MyPublishQO
param
)
{
param
.
setType
(
0
);
return
ResultBody
.
success
(
requirementsService
.
selectRequireSonInfo
(
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
(),
param
));
}
@ApiOperation
(
value
=
"小程序——派单——获取子订单信息"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"selectRequireInfo"
)
public
ResultBody
<
RequirementsInfoVO
>
selectRequireInfo
(
HttpServletRequest
request
,
@Validated
(
value
=
{
Page
.
class
})
@ApiParam
(
value
=
"查询所有子订单信息"
,
required
=
true
)
@RequestBody
MyPublishQO
param
)
{
param
.
setType
(
1
);
return
ResultBody
.
success
(
requirementsService
.
selectRequireSonInfo
(
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
(),
param
));
}
@ApiOperation
(
value
=
"小程序—发单方(同意/拒绝)该飞手"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"agreeOrRefusePilot"
)
public
ResultBody
agreeOrRefusePilot
(
@Validated
@RequestBody
AgreeOrRefusePilotQO
param
)
{
return
requirementsService
.
agreeOrRefusePilot
(
param
);
}
@ApiOperation
(
value
=
"飞手派单"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"/personSendOrder"
)
public
ResultBody
personSendOrder
(
HttpServletRequest
request
,
@RequestBody
PersonSendOrderVO
personSendOrderVO
)
{
return
requirementsService
.
personSendOrder
(
personSendOrderVO
,
this
.
getUserLoginInfoFromRedis
(
request
).
getToken
());
}
@ApiOperation
(
value
=
"管理员派单派单"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"/adminSendOrder"
)
public
ResultBody
adminSendOrder
(
HttpServletRequest
request
,
@RequestBody
PersonSendOrderVO
personSendOrderVO
)
{
personSendOrderVO
.
setIsAdminSend
(
1
);
return
requirementsService
.
personSendOrder
(
personSendOrderVO
,
this
.
getUserLoginInfoFromRedis
(
request
).
getToken
());
}
@ApiOperation
(
value
=
"团队派单"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"/teamSendOrder"
)
public
ResultBody
teamSendOrder
(
HttpServletRequest
request
,
@ApiParam
(
value
=
"父订单id"
)
@RequestParam
Integer
fatherRequireId
,
@ApiParam
(
value
=
"团队管理员的id"
)
@RequestParam
Integer
messageId
)
{
return
requirementsService
.
teamSendOrder
(
fatherRequireId
,
messageId
,
this
.
getUserLoginInfoFromRedis
(
request
).
getToken
());
}
@ApiOperation
(
value
=
"我的派单列表——待确认"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"mySendOderList"
)
public
ResultBody
<
RequirementsInfoVO
>
mySendOderList
(
HttpServletRequest
request
,
@Validated
(
value
=
{
Page
.
class
})
@ApiParam
(
value
=
"我的抢单"
,
required
=
true
)
@RequestBody
MyPreemptQO
param
)
{
return
ResultBody
.
success
(
requirementsService
.
mySendOderList
(
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
(),
param
));
// return ResultBody.success(requirementsService.mySendOderList(337, param));
}
@ApiOperation
(
value
=
"我的派单——去确认"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"orderConfirmationByPilot"
)
public
ResultBody
orderConfirmationByPilot
(
HttpServletRequest
request
,
@ApiParam
(
value
=
"派单id"
)
@RequestParam
Integer
tempId
,
@ApiParam
(
value
=
"确认状态:1同意,2不同意"
)
@RequestParam
Integer
status
)
{
return
requirementsService
.
orderConfirmationByPilot
(
tempId
,
status
,
this
.
getUserLoginInfoFromRedis
(
request
).
getToken
());
}
@ApiOperation
(
value
=
"管理员确认(拒绝)派单"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"adminAgreeOrder"
)
public
ResultBody
adminAgreeOrder
(
HttpServletRequest
request
,
@ApiParam
(
value
=
"派单id"
)
@RequestParam
Integer
requireId
,
@ApiParam
(
value
=
"确认状态:1同意,2不同意"
)
@RequestParam
Integer
status
)
{
return
requirementsService
.
orderConfirmationByTeam
(
requireId
,
status
,
this
.
getUserLoginInfoFromRedis
(
request
).
getToken
());
}
}
\ No newline at end of file
release-service/src/main/java/com/mmc/csf/release/dao/RequirementsDao.java
浏览文件 @
2600132a
...
...
@@ -4,8 +4,11 @@ import com.mmc.csf.infomation.dto.*;
import
com.mmc.csf.infomation.qo.*
;
import
com.mmc.csf.infomation.vo.LiabilityProblemVO
;
import
com.mmc.csf.infomation.vo.ServiceSettleAccountsVO
;
import
com.mmc.csf.release.entity.information.PersonSendOrderDO
;
import
com.mmc.csf.release.entity.requirements.*
;
import
io.swagger.models.auth.In
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.math.BigDecimal
;
import
java.util.List
;
...
...
@@ -95,6 +98,7 @@ public interface RequirementsDao {
RequirementsInfoDO
detailPublish
(
Integer
id
);
RequirementsInfoDO
detailSendPublish
(
Integer
id
);
/**
* 获取被拒绝飞手具体订单信息
* @param id 订单id
...
...
@@ -136,6 +140,15 @@ public interface RequirementsDao {
List
<
RequirementsInfoDO
>
myPublish
(
MyPublishQO
param
);
int
mySendPublishCount
(
MyPublishQO
param
);
/**
* 获取需要管理员(飞手团队后台账号对应的小程序用户id) 同意或者指派的订单
* @param param 条件
* @return {@link List}<{@link RequirementsInfoDO}>
*/
List
<
RequirementsInfoDO
>
mySendPublish
(
MyPublishQO
param
);
List
<
RequirementsInfoDO
>
myPreempt
(
MyPreemptQO
param
);
RequirementsServiceDO
droneFlyerCancel
(
Integer
requirementsInfoId
,
Integer
userAccountId
);
...
...
@@ -319,7 +332,7 @@ public interface RequirementsDao {
* @param requirementsId 订单id
* @return {@link Integer}
*/
Integer
selectRequirementsNum
(
Integer
requirementsId
);
int
selectRequirementsNum
(
Integer
requirementsId
);
/**
* 根据父订单id查询不满足状态条件的子订单数量
...
...
@@ -354,6 +367,14 @@ public interface RequirementsDao {
RequirementsServicePilotInfoDO
selectPilotInfoByRequireId
(
Integer
requireId
);
/**
* 获取临时表对应的订单信息
* @param requireId
* @return {@link RequirementsServicePilotInfoDO}
*/
RequirementsServicePilotInfoDO
selectTempPilotInfoByRequireId
(
Integer
requireId
);
/**
* 根据流程id查询订单所处状态
* @param serviceFlowId
...
...
@@ -401,4 +422,87 @@ public interface RequirementsDao {
* @return {@link Integer}
*/
Integer
getPilotUserIdByRequireId
(
Integer
requireId
);
/**
* 根据飞手进行派单操作
*/
Integer
personSendOrder
(
PersonSendOrderDO
personSendOrderDO
);
/**
* 查询父订单下面的所有子订单id
*/
List
<
Integer
>
selectAllSuborder
(
Integer
fatherRequireId
);
/**
* 修改info表中的状态
*/
Integer
updateInfoStatus
(
@Param
(
"id"
)
Integer
requireId
,
@Param
(
"status"
)
Integer
status
);
/**
* 查询飞手是否重复派单
*/
Integer
isReSendOrder
(
Integer
requireId
);
Integer
reSendOrder
(
@Param
(
"requireId"
)
Integer
requireId
,
@Param
(
"userAccountId"
)
Integer
userAccountId
);
/**
* 查询飞手订单是否被抢
*/
Integer
isLootedByPilot
(
Integer
requireId
);
/**
* 查询团队订单是否被抢
*/
Integer
isLootedByTeam
(
Integer
requireId
);
/**
* 查询是否是团队派单
*/
Integer
isTeamSendOrder
(
@Param
(
"requireId"
)
Integer
requireId
);
/**
* 查询派单信息
*/
PersonSendOrderDO
selectSendOrderById
(
Integer
id
);
/**
* 飞手是否确认接单
*/
Integer
orderConfirmationByPilot
(
@Param
(
"id"
)
Integer
id
,
@Param
(
"status"
)
Integer
status
);
/**
* 查询飞手是否重复确认
*/
Integer
isReConfirm
(
Integer
id
);
void
updateSendOrder
(
PersonSendOrderDO
personSendOrderDO
);
void
deleteSendOrder
(
Integer
requirementsInfoId
);
/**
* 管理员确认接单
*/
Integer
orderConfirmationByTeam
(
@Param
(
"id"
)
Integer
id
,
@Param
(
"status"
)
Integer
status
);
/**
* 飞手拒绝后订单发往抢单大厅
*/
Integer
updateCount
(
Integer
id
);
/**
* 根据飞手ID查询派单的列表数量
*/
Integer
mySendOderListCount
(
MyPreemptQO
param
);
/**
* 根据飞手ID查询派单的列表
*/
List
<
RequirementsInfoDO
>
mySendOderList
(
MyPreemptQO
param
);
/**
* 根据订单id查询发单用户的id
*/
Integer
selectSenderId
(
Integer
id
);
/**
* 修改
* @param requireId
* @param num
*/
void
updateOrderRequireNum
(
Integer
requireId
,
int
num
);
}
release-service/src/main/java/com/mmc/csf/release/entity/information/PersonSendOrderDO.java
0 → 100644
浏览文件 @
2600132a
package
com
.
mmc
.
csf
.
release
.
entity
.
information
;
import
com.mmc.csf.infomation.vo.IndustryCaseVO
;
import
com.mmc.csf.infomation.vo.PersonSendOrderVO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author han
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
PersonSendOrderDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
Integer
id
;
/**
* 服务需求订单id
*/
private
Integer
requirementsInfoId
;
/**
* 派单飞手id
*/
private
Integer
pilotCertificationId
;
/**
* 派单飞手用户id
*/
private
Integer
pilotCertificationUserId
;
/**
* 派单飞手用户id
*/
private
Integer
teamId
;
/**
* 派单飞手用户id
*/
private
Integer
teamUserId
;
/**
* 创建时间
*/
private
Date
createTime
;
public
PersonSendOrderDO
(
PersonSendOrderVO
personSendOrderVO
){
this
.
requirementsInfoId
=
personSendOrderVO
.
getRequirementsInfoId
();
this
.
pilotCertificationId
=
personSendOrderVO
.
getPilotCertificationId
();
this
.
pilotCertificationUserId
=
personSendOrderVO
.
getPilotCertificationUserId
();
}
}
release-service/src/main/java/com/mmc/csf/release/entity/requirements/RequirementsInfoDO.java
浏览文件 @
2600132a
...
...
@@ -28,6 +28,9 @@ import java.util.Date;
public
class
RequirementsInfoDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1811974173256250060L
;
private
Integer
id
;
private
Integer
tempId
;
private
Integer
requirementTypeId
;
private
Integer
userAccountId
;
private
Integer
provinceCode
;
...
...
@@ -183,6 +186,8 @@ public class RequirementsInfoDO implements Serializable {
@ApiModelProperty
(
value
=
"订单的父订单id"
)
private
Integer
fatherRequireId
;
@ApiModelProperty
(
value
=
"管理员操作"
)
private
int
teamStatus
;
public
RequirementsInfoVO
buildRequirementsInfoVO
()
{
return
RequirementsInfoVO
.
builder
().
id
(
this
.
id
).
requirementTypeId
(
this
.
requirementTypeId
).
userAccountId
(
this
.
userAccountId
).
publishName
(
this
.
publishName
)
...
...
@@ -221,6 +226,10 @@ public class RequirementsInfoDO implements Serializable {
.
repertory
(
this
.
repertory
)
.
requireNum
(
this
.
requireNum
)
.
serviceFlowId
(
this
.
serviceFlowId
)
.
teamStatus
(
this
.
teamStatus
)
.
tempId
(
this
.
tempId
)
.
pilotCertificationId
(
this
.
pilotCertificationId
)
.
pilotCertificationUserId
(
this
.
pilotCertificationUserId
)
.
build
();
}
...
...
release-service/src/main/java/com/mmc/csf/release/entity/requirements/RequirementsServiceDO.java
浏览文件 @
2600132a
...
...
@@ -3,6 +3,7 @@ package com.mmc.csf.release.entity.requirements;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.mmc.csf.config.IsNullConvertZero
;
import
com.mmc.csf.infomation.dto.PilotCertificationInteriorDTO
;
import
com.mmc.csf.release.entity.information.PersonSendOrderDO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
...
...
@@ -89,5 +90,15 @@ public class RequirementsServiceDO implements Serializable {
this
.
requirementsInfoId
=
requirementsInfoDO
.
getId
();
}
/**
* 派单信息同步
*/
public
RequirementsServiceDO
(
PersonSendOrderDO
personSendOrderDO
){
this
.
requirementsInfoId
=
personSendOrderDO
.
getRequirementsInfoId
();
this
.
pilotCertificationId
=
personSendOrderDO
.
getPilotCertificationId
();
this
.
pilotCertificationUserId
=
personSendOrderDO
.
getPilotCertificationUserId
();
this
.
teamUserId
=
personSendOrderDO
.
getTeamUserId
();
this
.
teamId
=
personSendOrderDO
.
getTeamId
();
this
.
serviceFlowId
=
2
;
}
}
release-service/src/main/java/com/mmc/csf/release/enums/ServiceIdEnum.java
浏览文件 @
2600132a
...
...
@@ -7,8 +7,8 @@ package com.mmc.csf.release.enums;
*/
public
enum
ServiceIdEnum
{
WAIT_CHANGE_AMOUNT
(
12
,
"等待修改金额"
),
DETAIL_COMPLETE
(
4
,
"任务已完成"
)
;
DETAIL_COMPLETE
(
4
,
"任务已完成"
)
,
SENDING_OUT_ORDERS
(
13
,
"派单中"
);
private
Integer
code
;
private
String
name
;
...
...
release-service/src/main/java/com/mmc/csf/release/feign/UserAppApi.java
浏览文件 @
2600132a
...
...
@@ -3,6 +3,7 @@ package com.mmc.csf.release.feign;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.infomation.dto.PilotCertificationInteriorDTO
;
import
com.mmc.csf.infomation.dto.TeamMessageDO
;
import
com.mmc.csf.infomation.dto.UserAccountSimpleDTO
;
import
com.mmc.csf.infomation.dto.UserBaseInfoDTO
;
import
com.mmc.csf.release.auth.qo.BUserAccountQO
;
...
...
@@ -93,4 +94,10 @@ public interface UserAppApi {
@PostMapping
(
"/userapp/wx/send"
)
ResultBody
feignSendWxMsg
(
@RequestHeader
(
"token"
)
String
token
,
@RequestBody
WxMsgVO
ws
);
@GetMapping
(
"/userapp/pilot/selectPilotTeamManagerId"
)
Integer
selectPilotTeamManagerId
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
Integer
pilotUserId
);
@GetMapping
(
"/userapp/pilot/getPilotApplyPhone"
)
String
getPilotApplyPhone
(
@RequestHeader
(
"token"
)
String
token
,
@RequestParam
Integer
userAccountId
);
}
release-service/src/main/java/com/mmc/csf/release/feign/hystrix/UserAppApiHystrix.java
浏览文件 @
2600132a
...
...
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.common.util.web.ResultEnum
;
import
com.mmc.csf.infomation.dto.PilotCertificationInteriorDTO
;
import
com.mmc.csf.infomation.dto.TeamMessageDO
;
import
com.mmc.csf.infomation.dto.UserAccountSimpleDTO
;
import
com.mmc.csf.infomation.dto.UserBaseInfoDTO
;
import
com.mmc.csf.release.auth.qo.BUserAccountQO
;
...
...
@@ -89,5 +90,15 @@ public class UserAppApiHystrix implements UserAppApi {
return
null
;
}
@Override
public
Integer
selectPilotTeamManagerId
(
String
token
,
Integer
pilotUserId
)
{
return
null
;
}
@Override
public
String
getPilotApplyPhone
(
String
token
,
Integer
userAccountId
)
{
return
null
;
}
}
release-service/src/main/java/com/mmc/csf/release/service/RequirementsService.java
浏览文件 @
2600132a
...
...
@@ -5,6 +5,7 @@ import com.mmc.csf.common.util.web.ResultBody;
import
com.mmc.csf.infomation.dto.*
;
import
com.mmc.csf.infomation.qo.*
;
import
com.mmc.csf.infomation.vo.*
;
import
com.mmc.csf.release.entity.information.PersonSendOrderDO
;
import
com.mmc.csf.release.entity.requirements.ServiceRequirementsDO
;
import
javax.servlet.http.HttpServletRequest
;
...
...
@@ -71,6 +72,14 @@ public interface RequirementsService {
PageResult
myPublish
(
Integer
userAccountId
,
MyPublishQO
param
);
/**
* 需要指派或者需要同意派单的列表
* @param adminUserId 用户的id
* @param param 查询的条件
* @return {@link PageResult}
*/
PageResult
mySendPublish
(
Integer
adminUserId
,
MyPublishQO
param
);
ResultBody
<
RequirementsInfoVO
>
grabTheOrder
(
GrabTheOrderVO
grabTheOrderVO
,
HttpServletRequest
request
);
ResultBody
arriveAtTheScene
(
ServiceArriveSceneVO
serviceArriveSceneVO
);
...
...
@@ -134,10 +143,37 @@ public interface RequirementsService {
*/
PageResult
selectRequireSonInfo
(
Integer
userAccountId
,
MyPublishQO
param
);
/**
* 同意或者拒绝飞手接单
* @param param 参数
* @return {@link ResultBody}
*/
ResultBody
agreeOrRefusePilot
(
AgreeOrRefusePilotQO
param
);
/**
* 根据飞手进行派单操作
*/
ResultBody
personSendOrder
(
PersonSendOrderVO
personSendOrderVO
,
String
token
);
/**
* 根据团队进行派单操作
*/
ResultBody
teamSendOrder
(
Integer
fatherRequireId
,
Integer
messageId
,
String
token
);
/**
* 飞手确认接单
*/
ResultBody
orderConfirmationByPilot
(
Integer
id
,
Integer
status
,
String
token
);
/**
* 管理员确认接单
*/
ResultBody
orderConfirmationByTeam
(
Integer
id
,
Integer
status
,
String
token
);
/**
* 个人飞手派单的订单列表
*/
PageResult
mySendOderList
(
Integer
userAccountId
,
MyPreemptQO
param
);
}
release-service/src/main/java/com/mmc/csf/release/service/impl/RequirementsServiceImpl.java
浏览文件 @
2600132a
...
...
@@ -15,6 +15,7 @@ import com.mmc.csf.release.constant.*;
import
com.mmc.csf.release.controller.countDown.RedisUtil
;
import
com.mmc.csf.release.dao.OrderAmountDetailDao
;
import
com.mmc.csf.release.dao.RequirementsDao
;
import
com.mmc.csf.release.entity.information.PersonSendOrderDO
;
import
com.mmc.csf.release.entity.requirements.*
;
import
com.mmc.csf.release.feign.PmsAppApi
;
import
com.mmc.csf.release.feign.UserAppApi
;
...
...
@@ -22,12 +23,15 @@ import com.mmc.csf.release.industry.IndustryTypeDTO;
import
com.mmc.csf.release.industry.UserPayInfoVO
;
import
com.mmc.csf.release.service.RequirementsService
;
import
com.mmc.csf.release.util.RestTemplateUtil
;
import
com.mmc.csf.release.util.SmsUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.gavaghan.geodesy.Ellipsoid
;
import
org.gavaghan.geodesy.GeodeticCalculator
;
import
org.gavaghan.geodesy.GeodeticCurve
;
import
org.gavaghan.geodesy.GlobalCoordinates
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.http.*
;
...
...
@@ -59,6 +63,7 @@ public class RequirementsServiceImpl implements RequirementsService {
@Autowired
private
RequirementsDao
requirementsDao
;
@Qualifier
(
"com.mmc.csf.release.feign.UserAppApi"
)
@Autowired
private
UserAppApi
userAppApi
;
...
...
@@ -71,6 +76,7 @@ public class RequirementsServiceImpl implements RequirementsService {
@Value
(
"${iuav.omsapp.url}"
)
private
String
omsApp
;
@Qualifier
(
"com.mmc.csf.release.feign.PmsAppApi"
)
@Autowired
private
PmsAppApi
pmsAppApi
;
...
...
@@ -91,6 +97,8 @@ public class RequirementsServiceImpl implements RequirementsService {
@Autowired
private
OrderAmountDetailDao
orderAmountDetailDao
;
@Override
public
ResultBody
listType
(
Integer
id
)
{
List
<
RequirementsTypeDO
>
requirementsTypeDOList
=
requirementsDao
.
listTypeReq
(
id
);
...
...
@@ -221,11 +229,15 @@ public class RequirementsServiceImpl implements RequirementsService {
if
(
pilotStatus
!=
null
&&
pilotStatus
==
11
)
{
//获取被拒绝订单详情
requirementsInfoDO
=
requirementsDao
.
selectDetailRefusePilotInfo
(
id
);
requirementsInfoVO
=
requirementsInfoDO
.
buildRequirementsInfoVO
();
}
else
{
Integer
integer
=
requirementsDao
.
selectServiceIdByRequireId
(
id
);
if
(
13
==
integer
){
requirementsInfoDO
=
requirementsDao
.
detailSendPublish
(
id
);
}
else
{
requirementsInfoDO
=
requirementsDao
.
detailPublish
(
id
);
requirementsInfoVO
=
requirementsInfoDO
.
buildRequirementsInfoVO
();
requirementsInfoDO
=
requirementsDao
.
detailPublish
(
id
);}
}
requirementsInfoVO
=
requirementsInfoDO
.
buildRequirementsInfoVO
();
if
(
userAccountId
.
equals
(
requirementsInfoVO
.
getUserAccountId
()))
{
requirementsInfoVO
.
setParamMoney
(
BigDecimal
.
valueOf
(
0.00
));
}
else
if
(!
userAccountId
.
equals
(
requirementsInfoVO
.
getUserAccountId
()))
{
...
...
@@ -1022,7 +1034,7 @@ public class RequirementsServiceImpl implements RequirementsService {
public
String
getStableAccessToken
()
{
//token有效期为7200s,需要保存起来,先从redis中获取accessToken,没有则请求获取
String
accessToken
=
stringRedisTemplate
.
opsForValue
().
get
(
WxConstant
.
IUAV_MINI_PROGRAM_STABLE_ACCESS_TOKEN
);
if
(
org
.
apache
.
commons
.
lang
.
StringUtils
.
isBlank
(
accessToken
))
{
if
(
StringUtils
.
isBlank
(
accessToken
))
{
Map
<
String
,
String
>
params
=
new
HashMap
<
String
,
String
>();
params
.
put
(
"grant_type"
,
"client_credential"
);
params
.
put
(
"appid"
,
userSystemConstant
.
getWxAppId
());
...
...
@@ -2901,6 +2913,27 @@ public class RequirementsServiceImpl implements RequirementsService {
}
@Override
public
PageResult
mySendPublish
(
Integer
userAccountId
,
MyPublishQO
param
)
{
Integer
pageNo
=
param
.
getPageNo
();
param
.
buildCurrentPage
();
param
.
setUserAccountId
(
userAccountId
);
int
count
=
requirementsDao
.
mySendPublishCount
(
param
);
List
<
RequirementsInfoDO
>
requirementsInfoDOS
=
requirementsDao
.
mySendPublish
(
param
);
List
<
RequirementsInfoVO
>
collect
=
requirementsInfoDOS
.
stream
().
map
(
RequirementsInfoDO:
:
buildRequirementsInfoVO
).
collect
(
Collectors
.
toList
());
List
<
IndustryTypeDTO
>
industryTypeDTOS
=
listIndustry
();
for
(
RequirementsInfoVO
requirementsInfoVO
:
collect
)
{
for
(
IndustryTypeDTO
industryTypeDTO
:
industryTypeDTOS
)
{
if
(
requirementsInfoVO
.
getServiceId
()
!=
null
&&
requirementsInfoVO
.
getServiceId
().
equals
(
industryTypeDTO
.
getId
()))
{
requirementsInfoVO
.
setServiceName
(
industryTypeDTO
.
getTypeName
());
}
}
}
return
PageResult
.
buildPage
(
pageNo
,
param
.
getPageSize
(),
count
,
collect
);
}
@Override
public
ServiceRequirementsDO
getRepertory
(
GrabTheOrderVO
grabTheOrderVO
,
HttpServletRequest
request
)
{
return
requirementsDao
.
grabTheOrder
(
grabTheOrderVO
.
getRequirementsInfoId
());
...
...
@@ -3237,13 +3270,23 @@ public class RequirementsServiceImpl implements RequirementsService {
int
count
=
requirementsDao
.
myPublishcount
(
param
);
List
<
RequirementsInfoDO
>
requirementsInfoDOS
=
requirementsDao
.
selectRequireSonInfo
(
param
);
for
(
RequirementsInfoDO
requirementsInfoDO
:
requirementsInfoDOS
)
{
if
(
requirementsInfoDO
.
getServiceFlowId
()
!=
1
&&
requirementsInfoDO
.
getServiceFlowId
()
!=
7
)
{
RequirementsServicePilotInfoDO
pilotInfo
=
requirementsDao
.
selectPilotInfoByRequireId
(
requirementsInfoDO
.
getId
());
if
(
requirementsInfoDO
.
getServiceFlowId
()
!=
1
&&
requirementsInfoDO
.
getServiceFlowId
()
!=
7
)
{
String
orderStatus
=
requirementsInfoDO
.
getOrderStatus
();
RequirementsServicePilotInfoDO
pilotInfo
=
null
;
//140是派单的状态
if
(
param
.
getType
()
!=
140
)
{
pilotInfo
=
requirementsDao
.
selectPilotInfoByRequireId
(
requirementsInfoDO
.
getId
());
}
else
{
pilotInfo
=
requirementsDao
.
selectTempPilotInfoByRequireId
(
requirementsInfoDO
.
getId
());
}
if
(
pilotInfo
!=
null
)
{
requirementsInfoDO
.
setPilotCertificationId
(
pilotInfo
.
getPilotCertificationId
());
requirementsInfoDO
.
setPilotCertificationUserId
(
pilotInfo
.
getPilotCertificationUserId
());
}
}
}
List
<
RequirementsInfoVO
>
collect
=
requirementsInfoDOS
.
stream
().
map
(
RequirementsInfoDO:
:
buildRequirementsInfoVO
).
collect
(
Collectors
.
toList
());
List
<
IndustryTypeDTO
>
industryTypeDTOS
=
listIndustry
();
...
...
@@ -3257,6 +3300,7 @@ public class RequirementsServiceImpl implements RequirementsService {
return
PageResult
.
buildPage
(
pageNo
,
param
.
getPageSize
(),
count
,
collect
);
}
@Override
public
ResultBody
agreeOrRefusePilot
(
AgreeOrRefusePilotQO
param
)
{
//判断飞手是否被同意 2就是该抵达现场下一步流程
...
...
@@ -3280,6 +3324,180 @@ public class RequirementsServiceImpl implements RequirementsService {
return
ResultBody
.
success
();
}
@Override
public
ResultBody
personSendOrder
(
PersonSendOrderVO
personSendOrderVO
,
String
token
)
{
// if(requirementsDao.isReSendOrder(personSendOrderVO.getRequirementsInfoId() )!= 0){
// return ResultBody.error("重复派单");
// }
if
(
requirementsDao
.
isLootedByPilot
(
personSendOrderVO
.
getRequirementsInfoId
())
==
0
&&
personSendOrderVO
.
getIsAdminSend
()==
0
){
return
ResultBody
.
error
(
"该订单已经被抢,无法继续派单"
);
}
if
(
requirementsDao
.
reSendOrder
(
personSendOrderVO
.
getRequirementsInfoId
(),
personSendOrderVO
.
getPilotCertificationUserId
())
==
1
){
return
ResultBody
.
error
(
"飞手拒绝过该订单或者已经派单,不能重复派单"
);
}
PersonSendOrderDO
personSendOrderDO
=
null
;
String
pilotPhone
=
userAppApi
.
getPilotApplyPhone
(
token
,
personSendOrderVO
.
getPilotCertificationUserId
());
// 1、是否是团队派单
if
(
requirementsDao
.
isTeamSendOrder
(
personSendOrderVO
.
getRequirementsInfoId
())
!=
0
){
personSendOrderDO
=
new
PersonSendOrderDO
(
personSendOrderVO
);
requirementsDao
.
updateSendOrder
(
personSendOrderDO
);
SmsUtil
.
sendPilotOrder
(
pilotPhone
);
requirementsDao
.
updateOrderRequireNum
(
personSendOrderVO
.
getRequirementsInfoId
(),
0
);
return
ResultBody
.
success
(
"派单成功,等待飞手确认"
);
}
// 2、直接给飞手派单
Integer
managerId
=
userAppApi
.
selectPilotTeamManagerId
(
token
,
personSendOrderVO
.
getPilotCertificationUserId
());
// 修改info表中的状态为13派单中
requirementsDao
.
updateInfoStatus
(
personSendOrderVO
.
getRequirementsInfoId
(),
13
);
if
(
managerId
!=
null
){
personSendOrderDO
=
new
PersonSendOrderDO
();
personSendOrderDO
.
setRequirementsInfoId
(
personSendOrderVO
.
getRequirementsInfoId
());
personSendOrderDO
.
setTeamUserId
(
managerId
);
requirementsDao
.
personSendOrder
(
personSendOrderDO
);
// TODO 定时器、发送短信、公众号通知
String
managerPhone
=
userAppApi
.
getPilotApplyPhone
(
token
,
managerId
);
SmsUtil
.
sendPilotOrder
(
managerPhone
);
requirementsDao
.
updateOrderRequireNum
(
personSendOrderVO
.
getRequirementsInfoId
(),
0
);
return
ResultBody
.
success
(
"派单飞手拥有团队,等待团队管理员确认后重新给您分配飞手"
);
}
else
{
personSendOrderDO
=
new
PersonSendOrderDO
(
personSendOrderVO
);
requirementsDao
.
personSendOrder
(
personSendOrderDO
);
// TODO 定时器 发送短信、公众号通知
SmsUtil
.
sendPilotOrder
(
pilotPhone
);
requirementsDao
.
updateOrderRequireNum
(
personSendOrderVO
.
getRequirementsInfoId
(),
0
);
// scheduledTaskUtil.create(personSendOrderVO);
return
ResultBody
.
success
(
"派单成功,等待飞手确认"
);
}
}
@Override
public
ResultBody
teamSendOrder
(
Integer
fatherRequireId
,
Integer
managerId
,
String
token
)
{
if
(
requirementsDao
.
isLootedByPilot
(
fatherRequireId
)
==
1
){
return
ResultBody
.
error
(
"该订单的子订单已经被抢,无法继续派单"
);
}
// 查询所有的子订单id
List
<
Integer
>
ids
=
requirementsDao
.
selectAllSuborder
(
fatherRequireId
);
requirementsDao
.
updateInfoStatus
(
fatherRequireId
,
13
);
PersonSendOrderDO
personSendOrderDO
=
new
PersonSendOrderDO
();
personSendOrderDO
.
setTeamUserId
(
managerId
);
personSendOrderDO
.
setRequirementsInfoId
(
fatherRequireId
);
requirementsDao
.
personSendOrder
(
personSendOrderDO
);
for
(
Integer
id
:
ids
)
{
personSendOrderDO
.
setRequirementsInfoId
(
id
);
requirementsDao
.
personSendOrder
(
personSendOrderDO
);
// 修改info表中的状态为13派单中
requirementsDao
.
updateInfoStatus
(
id
,
13
);
//修改子订单所需人数
requirementsDao
.
updateOrderRequireNum
(
id
,
0
);
}
String
managerPhone
=
userAppApi
.
getPilotApplyPhone
(
token
,
managerId
);
SmsUtil
.
sendPilotOrder
(
managerPhone
);
requirementsDao
.
updateOrderRequireNum
(
fatherRequireId
,
0
);
return
ResultBody
.
success
(
"等待团队管理员确认"
);
}
@Override
public
ResultBody
orderConfirmationByPilot
(
Integer
id
,
Integer
status
,
String
token
)
{
// if(requirementsDao.isReConfirm(id) != 0){
// return ResultBody.error("重复确认");
// }
requirementsDao
.
orderConfirmationByPilot
(
id
,
status
);
PersonSendOrderDO
personSendOrderDO
=
requirementsDao
.
selectSendOrderById
(
id
);
// 飞手同意接单
if
(
status
==
1
){
RequirementsServiceDO
requirementsServiceDO
=
new
RequirementsServiceDO
(
personSendOrderDO
);
// 同步派单信息到抢单表中
requirementsDao
.
insertService
(
requirementsServiceDO
);
// SmsUtil.sendPassPilotApply(phone);
// TODO 公众号通知
// 修改info表中的状态为2等待抵达任务地点
requirementsDao
.
updateInfoStatus
(
personSendOrderDO
.
getRequirementsInfoId
(),
2
);
Integer
userId
=
requirementsDao
.
selectSenderId
(
personSendOrderDO
.
getRequirementsInfoId
());
String
userPhone
=
userAppApi
.
getPilotApplyPhone
(
token
,
userId
);
SmsUtil
.
sendGetOrder
(
userPhone
);
return
ResultBody
.
success
(
"飞手已接单"
);
}
if
(
personSendOrderDO
.
getTeamUserId
()
!=
null
){
PersonSendOrderDO
orderDO
=
new
PersonSendOrderDO
();
orderDO
.
setRequirementsInfoId
(
personSendOrderDO
.
getRequirementsInfoId
());
orderDO
.
setTeamUserId
(
personSendOrderDO
.
getTeamUserId
());
requirementsDao
.
personSendOrder
(
orderDO
);
// TODO 公众号通知
String
managerPhone
=
userAppApi
.
getPilotApplyPhone
(
token
,
personSendOrderDO
.
getTeamUserId
());
SmsUtil
.
sendRefuseManager
(
managerPhone
);
return
ResultBody
.
success
(
"飞手拒绝派单,需要管理员继续派单"
);
}
// 订单发往抢单大厅
requirementsDao
.
updateCount
(
personSendOrderDO
.
getRequirementsInfoId
());
// TODO 公众号通知
// 修改info表中的状态为1等待抢单
requirementsDao
.
updateInfoStatus
(
personSendOrderDO
.
getRequirementsInfoId
(),
1
);
Integer
userId
=
requirementsDao
.
selectSenderId
(
personSendOrderDO
.
getRequirementsInfoId
());
String
userPhone
=
userAppApi
.
getPilotApplyPhone
(
token
,
userId
);
SmsUtil
.
sendRefuseUser
(
userPhone
);
requirementsDao
.
updateOrderRequireNum
(
personSendOrderDO
.
getRequirementsInfoId
(),
0
);
return
ResultBody
.
success
(
"飞手已拒绝接单,订单发往抢单大厅"
);
}
@Override
public
ResultBody
orderConfirmationByTeam
(
Integer
id
,
Integer
status
,
String
token
)
{
//查询订单所需总人数 大于1说明是一个多人订单
requirementsDao
.
orderConfirmationByTeam
(
id
,
status
);
int
requirementsNum
=
requirementsDao
.
selectRequirementsNum
(
id
);
if
(
requirementsNum
==
1
){
if
(
requirementsDao
.
isReConfirm
(
id
)
!=
0
){
return
ResultBody
.
error
(
"重复确认"
);
}
requirementsDao
.
orderConfirmationByTeam
(
id
,
status
);
}
else
if
(
requirementsNum
>
1
)
{
// 查询所有的子订单id
List
<
Integer
>
ids
=
requirementsDao
.
selectAllSuborder
(
id
);
PersonSendOrderDO
personSendOrderDO
=
null
;
//每一个子订单都要同意下
for
(
Integer
i
:
ids
)
{
requirementsDao
.
orderConfirmationByTeam
(
i
,
status
);
//如果拒绝的话还要发往抢单大厅
if
(
status
==
2
)
{
requirementsDao
.
updateOrderRequireNum
(
i
,
1
);
}
}
}
// 管理员同意接单
if
(
status
==
1
){
// TODO 发送短信、公众号通知
return
ResultBody
.
success
(
"团队管理员已接单,正在为您分配飞手"
);
}
Integer
userId
=
requirementsDao
.
selectSenderId
(
id
);
String
userPhone
=
userAppApi
.
getPilotApplyPhone
(
token
,
userId
);
SmsUtil
.
sendManagerRefuseOrder
(
userPhone
);
requirementsDao
.
updateOrderRequireNum
(
id
,
requirementsNum
);
// TODO 发送短信、公众号通知
return
ResultBody
.
success
(
"团队管理员已拒绝接单,订单发往抢单大厅"
);
}
@Override
public
PageResult
mySendOderList
(
Integer
userAccountId
,
MyPreemptQO
param
)
{
Integer
pageNo
=
param
.
getPageNo
();
param
.
buildCurrentPage
();
param
.
setUserAccountId
(
userAccountId
);
int
count
=
requirementsDao
.
mySendOderListCount
(
param
);
List
<
RequirementsInfoDO
>
requirementsInfoDOS
=
requirementsDao
.
mySendOderList
(
param
);
List
<
RequirementsInfoVO
>
collect
=
requirementsInfoDOS
.
stream
().
map
(
RequirementsInfoDO:
:
buildRequirementsInfoVO
).
collect
(
Collectors
.
toList
());
List
<
IndustryTypeDTO
>
industryTypeDTOS
=
listIndustry
();
for
(
RequirementsInfoVO
requirementsInfoVO
:
collect
)
{
for
(
IndustryTypeDTO
industryTypeDTO
:
industryTypeDTOS
)
{
if
(
requirementsInfoVO
.
getServiceId
()
!=
null
&&
requirementsInfoVO
.
getServiceId
().
equals
(
industryTypeDTO
.
getId
()))
{
requirementsInfoVO
.
setServiceName
(
industryTypeDTO
.
getTypeName
());
}
}
}
return
PageResult
.
buildPage
(
pageNo
,
param
.
getPageSize
(),
count
,
collect
);
}
public
UserAccountSimpleDTO
feignGetUserSimpleInfo
(
Integer
userAccountId
,
HttpServletRequest
request
)
{
String
token
=
request
.
getHeader
(
"token"
);
HttpHeaders
headers
=
new
HttpHeaders
();
...
...
@@ -3535,6 +3753,25 @@ public class RequirementsServiceImpl implements RequirementsService {
}
return
rs
.
toString
();
}
public
JSONObject
spellMsg
(
String
name
,
String
result
){
JSONObject
data
=
new
JSONObject
();
//订单编号{{thing3.DATA}}
JSONObject
thing3
=
new
JSONObject
();
thing3
.
put
(
"value"
,
name
);
data
.
put
(
"thing3"
,
thing3
);
//审核时间{{time6.DATA}}
JSONObject
time6
=
new
JSONObject
();
time6
.
put
(
"value"
,
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
).
format
(
new
Date
()));
data
.
put
(
"time6"
,
time6
);
//审核结果{{thing5.DATA}}
JSONObject
thing5
=
new
JSONObject
();
thing5
.
put
(
"value"
,
result
);
data
.
put
(
"thing5"
,
thing5
);
return
data
;
}
}
release-service/src/main/java/com/mmc/csf/release/util/MyTask.java
0 → 100644
浏览文件 @
2600132a
package
com
.
mmc
.
csf
.
release
.
util
;
import
com.mmc.csf.infomation.vo.PersonSendOrderVO
;
import
com.mmc.csf.release.dao.RequirementsDao
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Component
;
import
java.io.Serializable
;
import
java.util.TimerTask
;
@Component
public
class
MyTask
extends
TimerTask
implements
Serializable
{
private
final
RequirementsDao
requirementsDao
;
private
PersonSendOrderVO
personSendOrderVO
;
public
MyTask
(
RequirementsDao
requirementsDao
)
{
this
.
requirementsDao
=
requirementsDao
;
}
public
void
setPersonSendOrderVO
(
PersonSendOrderVO
personSendOrderVO
)
{
this
.
personSendOrderVO
=
personSendOrderVO
;
}
private
static
final
long
serialVersionUID
=
1L
;
@Override
public
void
run
()
{
requirementsDao
.
deleteSendOrder
(
personSendOrderVO
.
getRequirementsInfoId
());
System
.
out
.
println
(
"定时任务执行完毕!"
);
}
}
release-service/src/main/java/com/mmc/csf/release/util/ScheduledTaskUtil.java
0 → 100644
浏览文件 @
2600132a
package
com
.
mmc
.
csf
.
release
.
util
;
import
com.mmc.csf.infomation.vo.PersonSendOrderVO
;
import
com.mmc.csf.release.dao.RequirementsDao
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer
;
import
org.springframework.scheduling.TaskScheduler
;
import
org.springframework.scheduling.support.CronTrigger
;
import
org.springframework.stereotype.Component
;
import
java.time.Instant
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ScheduledFuture
;
import
java.util.concurrent.TimeUnit
;
@Component
public
class
ScheduledTaskUtil
{
@Autowired
private
RedisTemplate
<
String
,
Object
>
redisTemplate
;
@Autowired
private
TaskScheduler
taskScheduler
;
@Autowired
private
RequirementsDao
requirementsDao
;
private
final
Map
<
Integer
,
ScheduledFuture
<?>>
scheduledTasks
=
new
ConcurrentHashMap
<>();
public
void
create
(
PersonSendOrderVO
personSendOrderVO
){
long
delay
=
10000
;
// 延迟5s开始执行
MyTask
task
=
new
MyTask
(
requirementsDao
);
task
.
setPersonSendOrderVO
(
personSendOrderVO
);
redisTemplate
.
setValueSerializer
(
new
GenericJackson2JsonRedisSerializer
());
redisTemplate
.
opsForValue
().
set
(
"task"
+
personSendOrderVO
.
getRequirementsInfoId
(),
task
,
delay
,
TimeUnit
.
MILLISECONDS
);
// 使用TaskScheduler执行定时任务
System
.
out
.
println
(
"定时任务已开启"
);
ScheduledFuture
<?>
scheduledFuture
=
taskScheduler
.
schedule
(
task
,
Instant
.
now
().
plusMillis
(
delay
));
scheduledTasks
.
put
(
personSendOrderVO
.
getRequirementsInfoId
(),
scheduledFuture
);
}
public
void
destroy
(
Integer
requireId
){
redisTemplate
.
setValueSerializer
(
new
GenericJackson2JsonRedisSerializer
());
MyTask
task
=
(
MyTask
)
redisTemplate
.
opsForValue
().
get
(
"task"
+
requireId
);
ScheduledFuture
<?>
scheduledFuture
=
scheduledTasks
.
get
(
requireId
);
if
(
task
!=
null
&&
scheduledFuture
!=
null
)
{
scheduledFuture
.
cancel
(
false
);
redisTemplate
.
delete
(
"task"
+
requireId
);
scheduledTasks
.
remove
(
requireId
);
System
.
out
.
println
(
"定时任务已取消"
);
}
}
}
release-service/src/main/java/com/mmc/csf/release/util/SmsUtil.java
0 → 100644
浏览文件 @
2600132a
package
com
.
mmc
.
csf
.
release
.
util
;
import
com.aliyun.dysmsapi20170525.models.SendSmsRequest
;
import
com.aliyun.dysmsapi20170525.models.SendSmsResponse
;
import
com.aliyun.teaopenapi.models.Config
;
import
com.google.gson.Gson
;
/**
* @author: zj
* @Date: 2023/7/25 17:00
*/
public
class
SmsUtil
{
public
static
String
ALIYUN_OSS_ACCESS_KEY_ID
=
"LTAI5tS3GNPRZAkG9LCQBZmc"
;
public
static
String
ALIYUN_OSS_ACCESS_KEY_SECRET
=
"ZkPrv1u2mN2DmOIc7GfPKRuy4Risqe"
;
public
static
String
CLOUD_JOIN_WEBSITE
=
"云享飞"
;
private
static
String
ENDPOINT
=
"dysmsapi.aliyuncs.com"
;
/**
*
* 加盟审核通过
*/
private
static
String
COOPERATION_TEMPLATE_PASS_CODE_0
=
"SMS_461986130"
;
private
static
String
COOPERATION_TEMPLATE_PASS_CODE_2
=
"SMS_462240459"
;
private
static
String
COOPERATION_TEMPLATE_PASS_CODE_3
=
"SMS_462620535"
;
private
static
String
COOPERATION_TEMPLATE_PASS_CODE_4
=
"SMS_462605558"
;
private
static
String
COOPERATION_TEMPLATE_PASS_CODE_5
=
"SMS_464125992"
;
private
static
String
COOPERATION_TEMPLATE_PASS_CODE_6
=
"SMS_464380042"
;
private
static
String
COOPERATION_TEMPLATE_PASS_CODE_7
=
"SMS_464335035"
;
private
static
String
COOPERATION_TEMPLATE_PASS_CODE_8
=
"SMS_464386188"
;
private
static
String
COOPERATION_TEMPLATE_PASS_CODE_9
=
"SMS_464401213"
;
private
static
String
COOPERATION_TEMPLATE_PASS_CODE_10
=
"SMS_464371178"
;
private
static
String
COOPERATION_TEMPLATE_PASS_CODE_11
=
"SMS_464371179"
;
private
static
String
COOPERATION_TEMPLATE_PASS_CODE_12
=
"SMS_464321248"
;
//短信验证码模板
private
static
String
VERIFYCODE
=
"SMS_211825548"
;
/**
* 加盟审核未通过
*/
private
static
String
COOPERATION_TEMPLATE_CODE_1
=
"SMS_462095054"
;
public
static
String
sendPassCooperationApply
(
String
phone
)
{
return
send
(
CLOUD_JOIN_WEBSITE
,
COOPERATION_TEMPLATE_PASS_CODE_5
,
null
,
phone
);
}
public
static
String
sendNotPassCooperationApply
(
String
phone
)
{
return
send
(
CLOUD_JOIN_WEBSITE
,
COOPERATION_TEMPLATE_CODE_1
,
null
,
phone
);
}
// 飞手审核通过通知
public
static
String
sendPassPilotApply
(
String
phone
)
{
return
send
(
CLOUD_JOIN_WEBSITE
,
COOPERATION_TEMPLATE_PASS_CODE_6
,
null
,
phone
);
}
//飞手提现通知
public
static
String
sendPassWithdrawalApply
(
String
phone
)
{
return
send
(
CLOUD_JOIN_WEBSITE
,
COOPERATION_TEMPLATE_PASS_CODE_7
,
null
,
phone
);
}
//飞手订单派送
public
static
String
sendPilotOrder
(
String
phone
)
{
return
send
(
CLOUD_JOIN_WEBSITE
,
COOPERATION_TEMPLATE_PASS_CODE_8
,
null
,
phone
);
}
//管理员拒绝接单
public
static
String
sendManagerRefuseOrder
(
String
phone
)
{
return
send
(
CLOUD_JOIN_WEBSITE
,
COOPERATION_TEMPLATE_PASS_CODE_9
,
null
,
phone
);
}
//飞手拒绝接用户的订单
public
static
String
sendRefuseUser
(
String
phone
)
{
return
send
(
CLOUD_JOIN_WEBSITE
,
COOPERATION_TEMPLATE_PASS_CODE_10
,
null
,
phone
);
}
//飞手拒绝管理员派单
public
static
String
sendRefuseManager
(
String
phone
)
{
return
send
(
CLOUD_JOIN_WEBSITE
,
COOPERATION_TEMPLATE_PASS_CODE_11
,
null
,
phone
);
}
//飞手接单
public
static
String
sendGetOrder
(
String
phone
)
{
return
send
(
CLOUD_JOIN_WEBSITE
,
COOPERATION_TEMPLATE_PASS_CODE_12
,
null
,
phone
);
}
public
static
String
send
(
String
TemplateCode
,
String
param
,
String
phone
)
{
return
send
(
CLOUD_JOIN_WEBSITE
,
TemplateCode
,
param
,
phone
);
}
public
static
String
send
(
String
signName
,
String
TemplateCode
,
String
param
,
String
phone
)
{
Config
config
=
new
Config
().
setAccessKeyId
(
ALIYUN_OSS_ACCESS_KEY_ID
).
setAccessKeySecret
(
ALIYUN_OSS_ACCESS_KEY_SECRET
);
config
.
endpoint
=
ENDPOINT
;
com
.
aliyun
.
dysmsapi20170525
.
Client
client
=
null
;
SendSmsRequest
request
=
new
SendSmsRequest
();
request
.
setPhoneNumbers
(
phone
);
request
.
setSignName
(
signName
);
request
.
setTemplateCode
(
TemplateCode
);
if
(
param
!=
null
)
{
request
.
setTemplateParam
(
param
);
}
SendSmsResponse
response
=
null
;
try
{
client
=
new
com
.
aliyun
.
dysmsapi20170525
.
Client
(
config
);
response
=
client
.
sendSms
(
request
);
}
catch
(
Exception
e
)
{
return
e
.
getMessage
();
}
return
new
Gson
().
toJson
(
response
.
body
);
}
/**
* 短信验证码
* @param verifyCode
* @param phone
* @return
*/
public
static
String
verifyCode
(
String
verifyCode
,
String
phone
){
return
send
(
VERIFYCODE
,
"{\"code\":\""
+
verifyCode
+
"\"}"
,
phone
);
}
}
release-service/src/main/resources/mapper/requirements/RequirementsDao.xml
浏览文件 @
2600132a
...
...
@@ -599,7 +599,11 @@
wechat_pay_order_number, service_flow_id, preempt_total_amount, openid,
create_time, update_time, preempt_phone)
VALUES (#{requirementsInfoId}, #{pilotCertificationId}, #{pilotCertificationUserId},
#{teamId}, #{teamUserId}, #{cashAmount}, #{weChat}, #{salaryAmount}, #{wechatPayOrderNumber},10,
#{teamId}, #{teamUserId}, #{cashAmount}, #{weChat}, #{salaryAmount}, #{wechatPayOrderNumber},
CASE #{serviceFlowId}
when null then 10
else #{serviceFlowId} end
,
#{preemptTotalAmount}, #{openid}, NOW(), NOW(), #{phoneNum});
</insert>
...
...
@@ -749,7 +753,8 @@
rau.update_order_amount,
ri.repertory,
rs.pilot_certification_id,
rs.pilot_certification_user_id
rs.pilot_certification_user_id,
ri.create_time
FROM
requirements_info ri
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
...
...
@@ -792,6 +797,7 @@
SELECT
ri.id,
ri.task_title,
ri.create_time,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
...
...
@@ -1622,7 +1628,7 @@
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
# left join requirements_service rs on ri.id = rs.requirements_info_id
WHERE ri.
user_account_id = #{userAccountId} and ri.
is_deleted!=1
WHERE ri.is_deleted!=1
<if
test=
" requirementsInfoId != null "
>
and ri.father_require_id=#{requirementsInfoId}
</if>
...
...
@@ -1655,11 +1661,65 @@
<update
id=
"setWorkTimeByPilot"
>
update order_amount_detail set work_date = NOW() where requirements_info_id = #{requireId}
</update>
<update
id=
"orderConfirmationByPilot"
>
update requirements_service_temp
set pilot_status = #{status}
where id = #{id} and is_deleted=0
</update>
<update
id=
"orderConfirmationByTeam"
>
update requirements_service_temp
set team_status = #{status}
where requirements_info_id = #{id} and is_deleted=0
</update>
<update
id=
"updateCount"
>
update requirements_info
set repertory = #{status}
where id = #{id}
</update>
<update
id=
"updateInfoStatus"
>
update requirements_info
set service_flow_id = #{status}
where id = #{id}
</update>
<update
id=
"updateSendOrder"
>
update requirements_service_temp
set pilot_certification_id = #{pilotCertificationId},
pilot_certification_user_id = #{pilotCertificationUserId}
where requirements_info_id = #{requirementsInfoId} and is_deleted=0
</update>
<update
id=
"deleteSendOrder"
>
update requirements_service_temp
set is_deleted = 1
where requirements_info_id = #{requirementsInfoId} and is_deleted=0
</update>
<update
id=
"updateOrderRequireNum"
>
update requirements_info
set repertory = #{num}
where id = #{requireId}
</update>
<insert
id=
"insertAgreePilotOrder"
>
insert into agree_pilot_order(require_info_id, service_flow_id, pilot_certification_user_id, create_time)
values(#{requireInfoId},#{serviceFlowId},#{pilotCertificationUserId},NOW())
</insert>
<insert
id=
"personSendOrder"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into requirements_service_temp
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"requirementsInfoId != null"
>
requirements_info_id,
</if>
<if
test=
"pilotCertificationId != null"
>
pilot_certification_id,
</if>
<if
test=
"pilotCertificationUserId != null"
>
pilot_certification_user_id,
</if>
<if
test=
"teamId != null"
>
team_id,
</if>
<if
test=
"teamUserId != null"
>
team_user_id
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"requirementsInfoId != null"
>
#{requirementsInfoId,jdbcType=INTEGER},
</if>
<if
test=
"pilotCertificationId != null"
>
#{pilotCertificationId,jdbcType=INTEGER},
</if>
<if
test=
"pilotCertificationUserId != null"
>
#{pilotCertificationUserId,jdbcType=INTEGER},
</if>
<if
test=
"teamId != null"
>
#{teamId,jdbcType=INTEGER},
</if>
<if
test=
"teamUserId != null"
>
#{teamUserId,jdbcType=INTEGER}
</if>
</trim>
</insert>
<select
id=
"selectServiceIdByRequireIdAndUserId"
resultType=
"java.lang.Integer"
>
select service_flow_id from agree_pilot_order
...
...
@@ -1847,7 +1907,242 @@
<select
id=
"getPilotUserIdByRequireId"
resultType=
"java.lang.Integer"
>
select pilot_certification_user_id from requirements_service where requirements_info_id = #{requireId} and service_flow_id not in (7 , 11)
</select>
<select
id=
"isReSendOrder"
resultType=
"java.lang.Integer"
>
select count(*)
from requirements_service_temp
where requirements_info_id = #{requireId} and is_deleted = 0
</select>
<select
id=
"selectSendOrderById"
resultType=
"com.mmc.csf.release.entity.information.PersonSendOrderDO"
>
select *
from requirements_service_temp
where id = #{id} and is_deleted=0
</select>
<select
id=
"isReConfirm"
resultType=
"java.lang.Integer"
>
select pilot_status
from requirements_service_temp
where id = #{id} and is_deleted = 0
</select>
<select
id=
"mySendOderListCount"
resultType=
"java.lang.Integer"
>
SELECT
count(*)
FROM
requirements_info ri
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
INNER JOIN requirements_service_temp rs ON ri.id = rs.requirements_info_id
WHERE rs.pilot_certification_user_id = #{userAccountId} AND rs.is_deleted !=1
<if
test=
" requirementsInfoId != null "
>
and ri.id=#{requirementsInfoId}
</if>
<if
test=
"requireDescription!=null and requireDescription!='' "
>
and ri.require_description like CONCAT("%",#{requireDescription},"%")
</if>
</select>
<select
id=
"mySendOderList"
resultType=
"com.mmc.csf.release.entity.requirements.RequirementsInfoDO"
>
SELECT
ri.id,
rs.id as tempId,
ri.create_time,
ri.task_title,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
ri.longitude,
ri.latitude,
ri.require_url,
ri.require_description,
ri.requirement_type_id,
ri.user_account_id,
rt.type_name AS requirementTypeName,
ri.publish_phone,
ri.publisher_number,
ri.service_id,
ra.total_amount,
ri.insurance,
ri.publish,
ra.order_level,
ra.order_amount,
rau.update_order_amount
FROM
requirements_info ri
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
# TODO 可能会有问题 删除的
# LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
INNER JOIN requirements_service_temp rs ON ri.id = rs.requirements_info_id
WHERE rs.pilot_certification_user_id = #{userAccountId} AND rs.is_deleted !=1 AND rs.pilot_status = 0
<if
test=
" requirementsInfoId != null "
>
and ri.id=#{requirementsInfoId}
</if>
<if
test=
"requireDescription!=null and requireDescription!='' "
>
and ri.require_description like CONCAT("%",#{requireDescription},"%")
</if>
ORDER BY ri.id desc
limit #{pageNo}, #{pageSize}
</select>
<select
id=
"reSendOrder"
resultType=
"java.lang.Integer"
>
select count(*) from requirements_service_temp where requirements_info_id = #{requireId} and pilot_certification_user_id = #{userAccountId} and is_deleted=0
</select>
<select
id=
"isTeamSendOrder"
resultType=
"java.lang.Integer"
>
select count(*)
from requirements_service_temp
where requirements_info_id = #{requireId} and team_user_id is not null and is_deleted=0;
</select>
<select
id=
"mySendPublish"
resultType=
"com.mmc.csf.release.entity.requirements.RequirementsInfoDO"
>
SELECT
ri.id,
rs.id as requireTempId,
ri.task_title,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
ri.longitude,
ri.latitude,
ri.require_url,
ri.require_description,
ri.requirement_type_id,
ri.user_account_id,
rt.type_name AS requirementTypeName,
ri.publish_phone,
ri.publisher_number,
ri.service_id,
ra.total_amount,
ri.insurance,
ra.order_level,
ra.order_amount,
sf.doing,
sf.waiting,
sf.user_port,
sf.flyer_port,
sf.order_status,
ri.publish,
ri.require_num,
rau.update_order_amount,
ri.repertory,
rs.pilot_certification_id,
rs.pilot_certification_user_id,
rs.team_status,
ri.create_time
FROM
requirements_info ri
left join requirements_service_temp rs on ri.id = rs.requirements_info_id
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
WHERE rs.team_user_id = #{userAccountId} and ri.is_deleted!=1 and rs.is_deleted=0
and father_require_id = 0
and rs.pilot_certification_user_id is null
<if
test=
" requirementsInfoId != null "
>
and ri.id=#{requirementsInfoId}
</if>
<if
test=
"requireDescription!=null and requireDescription!='' "
>
and ri.require_description like CONCAT("%",#{requireDescription},"%")
</if>
ORDER BY ri.id desc
limit #{pageNo}, #{pageSize}
</select>
<select
id=
"mySendPublishCount"
resultType=
"java.lang.Integer"
>
SELECT
count(rs.id)
FROM
requirements_service_temp rs
left join requirements_info ri on ri.id = rs.requirements_info_id
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
WHERE ri.user_account_id = #{userAccountId} and ri.is_deleted!=1 and rs.is_deleted=0
and father_require_id = 0
and rs.pilot_certification_user_id is null
<if
test=
" requirementsInfoId != null "
>
and ri.id=#{requirementsInfoId}
</if>
<if
test=
"requireDescription!=null and requireDescription!='' "
>
and ri.require_description like CONCAT("%",#{requireDescription},"%")
</if>
</select>
<select
id=
"selectAllSuborder"
resultType=
"java.lang.Integer"
>
select id
from requirements_info
where father_require_id = #{fatherRequireId} and is_deleted = 0
</select>
<select
id=
"selectSenderId"
resultType=
"java.lang.Integer"
>
select user_account_id
from requirements_info
where id = #{id}
</select>
<select
id=
"selectTempPilotInfoByRequireId"
resultType=
"com.mmc.csf.release.entity.requirements.RequirementsServicePilotInfoDO"
>
select pilot_certification_id,pilot_certification_user_id
from requirements_service_temp
where is_deleted != 1
and requirements_info_id = #{requireId}
</select>
<select
id=
"isLootedByPilot"
resultType=
"java.lang.Integer"
>
select repertory
from requirements_info
where id = #{requireId}
</select>
<select
id=
"isLootedByTeam"
resultType=
"java.lang.Integer"
>
select count(*)
from requirements_info
where id = #{requireId} and repertory = require_num
</select>
<select
id=
"detailSendPublish"
resultType=
"com.mmc.csf.release.entity.requirements.RequirementsInfoDO"
>
SELECT ri.id,
rs.id as tempId,
ri.task_title,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
ri.longitude,
ri.latitude,
ri.require_url,
ri.require_description,
ri.requirement_type_id,
ri.user_account_id,
rt.type_name AS requirementTypeName,
ri.publish_phone,
ri.publisher_number,
ri.service_id,
ri.repertory,
ri.require_num,
ri.father_require_id,
ra.total_amount,
ri.insurance,
sf.doing,
sf.waiting,
sf.user_port,
sf.flyer_port,
sf.order_status,
ri.publish,
ra.order_amount,
rau.update_order_amount,
ra.reason,
ra.url,
ra.order_level,
rau.reason AS afterModificationReason,
rau.url AS afterModificationUrl,
rs.pilot_certification_user_id AS pilotCertificationUserId,
rs.pilot_certification_id,
rs.team_status
FROM requirements_info ri
LEFT JOIN requirements_type rt
ON rt.id = ri.requirement_type_id
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_service_temp rs ON rs.requirements_info_id = ri.id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
AND ra.user_account_id = ri.user_account_id
WHERE ri.id = #{id} and rs.is_deleted=0
</select>
<delete
id=
"deleteRequirementsServiceInfo"
>
delete from requirements_service where requirements_info_id = #{requireId} and pilot_certification_user_id = #{userAccountId}
</delete>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论