Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gic-platform-udesk
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
base_platform_enterprise
gic-platform-udesk
Commits
fa894032
Commit
fa894032
authored
Sep 24, 2020
by
陶光胜
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'developer' into 'master'
Developer See merge request
!3
parents
e0da0a03
9b736699
Hide whitespace changes
Inline
Side-by-side
Showing
78 changed files
with
1564 additions
and
356 deletions
+1564
-356
AgentPermissionEnum.java
...main/java/com/gic/udesk/constant/AgentPermissionEnum.java
+9
-0
CalculateResultTypeEnum.java
.../java/com/gic/udesk/constant/CalculateResultTypeEnum.java
+9
-0
CustomFieldContentTypeEnum.java
...va/com/gic/udesk/constant/CustomFieldContentTypeEnum.java
+42
-0
CustomerPermissionEnum.java
...n/java/com/gic/udesk/constant/CustomerPermissionEnum.java
+12
-0
UdeskStatusEnum.java
...src/main/java/com/gic/udesk/constant/UdeskStatusEnum.java
+19
-1
AttachmentDTO.java
...sk-api/src/main/java/com/gic/udesk/dto/AttachmentDTO.java
+11
-0
FollowerDTO.java
...desk-api/src/main/java/com/gic/udesk/dto/FollowerDTO.java
+11
-0
OrganizationDTO.java
...-api/src/main/java/com/gic/udesk/dto/OrganizationDTO.java
+15
-0
TapdBugBaseDTO.java
...k-api/src/main/java/com/gic/udesk/dto/TapdBugBaseDTO.java
+32
-0
TapdBugDTO.java
...udesk-api/src/main/java/com/gic/udesk/dto/TapdBugDTO.java
+59
-0
TapdBugUpdateDTO.java
...api/src/main/java/com/gic/udesk/dto/TapdBugUpdateDTO.java
+11
-0
TapdCustomFieldConfig.java
...rc/main/java/com/gic/udesk/dto/TapdCustomFieldConfig.java
+3
-0
TapdMessageDTO.java
...k-api/src/main/java/com/gic/udesk/dto/TapdMessageDTO.java
+19
-0
TapdRespBugDTO.java
...k-api/src/main/java/com/gic/udesk/dto/TapdRespBugDTO.java
+9
-0
TapdRespBugDataDTO.java
...i/src/main/java/com/gic/udesk/dto/TapdRespBugDataDTO.java
+10
-0
TapdRespCustomFieldDTO.java
...c/main/java/com/gic/udesk/dto/TapdRespCustomFieldDTO.java
+9
-0
TapdRespCustomFieldDataDTO.java
...in/java/com/gic/udesk/dto/TapdRespCustomFieldDataDTO.java
+10
-0
TicketDTO.java
...-udesk-api/src/main/java/com/gic/udesk/dto/TicketDTO.java
+46
-0
UdeskAgentReplyDTO.java
...i/src/main/java/com/gic/udesk/dto/UdeskAgentReplyDTO.java
+14
-0
UdeskCompanyDTO.java
...-api/src/main/java/com/gic/udesk/dto/UdeskCompanyDTO.java
+8
-0
UdeskRespReplyDTO.java
...pi/src/main/java/com/gic/udesk/dto/UdeskRespReplyDTO.java
+8
-0
UdeskTicketDetailDTO.java
...src/main/java/com/gic/udesk/dto/UdeskTicketDetailDTO.java
+9
-0
UdeskCustomFieldOptionDTO.java
.../gic/udesk/dto/customfield/UdeskCustomFieldOptionDTO.java
+9
-0
UdeskResCustomFieldDTO.java
...com/gic/udesk/dto/customfield/UdeskResCustomFieldDTO.java
+8
-0
UdeskResCustomFieldDataDTO.java
...gic/udesk/dto/customfield/UdeskResCustomFieldDataDTO.java
+18
-0
GicTicketDTO.java
...api/src/main/java/com/gic/udesk/dto/gic/GicTicketDTO.java
+22
-0
TicketCreateResDTO.java
...c/main/java/com/gic/udesk/dto/gic/TicketCreateResDTO.java
+12
-0
TicketRepliesAttachmentsDTO.java
...va/com/gic/udesk/dto/gic/TicketRepliesAttachmentsDTO.java
+12
-0
TicketRepliesAuthorDTO.java
...in/java/com/gic/udesk/dto/gic/TicketRepliesAuthorDTO.java
+14
-0
TicketRepliesDTO.java
...src/main/java/com/gic/udesk/dto/gic/TicketRepliesDTO.java
+9
-0
TicketRepliesDataDTO.java
...main/java/com/gic/udesk/dto/gic/TicketRepliesDataDTO.java
+17
-0
UdeskEnterpriseDTO.java
...c/main/java/com/gic/udesk/dto/gic/UdeskEnterpriseDTO.java
+23
-1
UdeskResTemplatesDTO.java
...ava/com/gic/udesk/dto/templates/UdeskResTemplatesDTO.java
+10
-0
UdeskResTemplatesDataDTO.java
...com/gic/udesk/dto/templates/UdeskResTemplatesDataDTO.java
+13
-0
UdeskTemplatesCustomFieldDTO.java
...gic/udesk/dto/templates/UdeskTemplatesCustomFieldDTO.java
+14
-0
UploadFileDTO.java
...main/java/com/gic/udesk/dto/uploadfile/UploadFileDTO.java
+8
-0
TapdMessageApiService.java
...ain/java/com/gic/udesk/service/TapdMessageApiService.java
+7
-1
UdeskBaseApiService.java
.../main/java/com/gic/udesk/service/UdeskBaseApiService.java
+7
-1
UdeskMessageApiService.java
...in/java/com/gic/udesk/service/UdeskMessageApiService.java
+15
-1
TabUdeskCustomersMapper.java
...ava/com/gic/udesk/dao/mapper/TabUdeskCustomersMapper.java
+14
-1
TabUdeskEnterpriseMapper.java
...va/com/gic/udesk/dao/mapper/TabUdeskEnterpriseMapper.java
+13
-1
TabUdeskExceptionMapper.java
...ava/com/gic/udesk/dao/mapper/TabUdeskExceptionMapper.java
+7
-1
TabUdeskMessageMapper.java
.../java/com/gic/udesk/dao/mapper/TabUdeskMessageMapper.java
+7
-1
TabUdeskTapdRelMapper.java
.../java/com/gic/udesk/dao/mapper/TabUdeskTapdRelMapper.java
+18
-2
TabUdeskTicketMapper.java
...n/java/com/gic/udesk/dao/mapper/TabUdeskTicketMapper.java
+13
-1
TabUdeskCustomers.java
...src/main/java/com/gic/udesk/entity/TabUdeskCustomers.java
+5
-1
TabUdeskEnterprise.java
...rc/main/java/com/gic/udesk/entity/TabUdeskEnterprise.java
+5
-1
TabUdeskException.java
...src/main/java/com/gic/udesk/entity/TabUdeskException.java
+5
-1
TabUdeskMessage.java
...e/src/main/java/com/gic/udesk/entity/TabUdeskMessage.java
+5
-1
TabUdeskTapdRel.java
...e/src/main/java/com/gic/udesk/entity/TabUdeskTapdRel.java
+5
-1
TabUdeskTicket.java
...ce/src/main/java/com/gic/udesk/entity/TabUdeskTicket.java
+5
-1
UdeskCustomersService.java
...ain/java/com/gic/udesk/service/UdeskCustomersService.java
+26
-3
UdeskEnterpriseService.java
...in/java/com/gic/udesk/service/UdeskEnterpriseService.java
+13
-2
UdeskExceptionService.java
...ain/java/com/gic/udesk/service/UdeskExceptionService.java
+7
-1
UdeskMessageService.java
.../main/java/com/gic/udesk/service/UdeskMessageService.java
+12
-1
UdeskTapdRelService.java
.../main/java/com/gic/udesk/service/UdeskTapdRelService.java
+10
-3
UdeskTicketService.java
...c/main/java/com/gic/udesk/service/UdeskTicketService.java
+31
-2
UdeskCustomersServiceImpl.java
...com/gic/udesk/service/impl/UdeskCustomersServiceImpl.java
+7
-1
UdeskEnterpriseServiceImpl.java
...om/gic/udesk/service/impl/UdeskEnterpriseServiceImpl.java
+7
-1
UdeskExceptionServiceImpl.java
...com/gic/udesk/service/impl/UdeskExceptionServiceImpl.java
+7
-1
UdeskMessageServiceImpl.java
...a/com/gic/udesk/service/impl/UdeskMessageServiceImpl.java
+7
-1
UdeskTapdRelServiceImpl.java
...a/com/gic/udesk/service/impl/UdeskTapdRelServiceImpl.java
+9
-3
UdeskTicketServiceImpl.java
...va/com/gic/udesk/service/impl/UdeskTicketServiceImpl.java
+7
-1
GicTicketApiServiceImpl.java
...gic/udesk/service/outer/impl/GicTicketApiServiceImpl.java
+39
-34
TapdConfigApiServiceImpl.java
...ic/udesk/service/outer/impl/TapdConfigApiServiceImpl.java
+15
-6
TapdMessageApiServiceImpl.java
...c/udesk/service/outer/impl/TapdMessageApiServiceImpl.java
+98
-27
UdeskBaseApiServiceImpl.java
...gic/udesk/service/outer/impl/UdeskBaseApiServiceImpl.java
+7
-1
UdeskMessageApiServiceImpl.java
.../udesk/service/outer/impl/UdeskMessageApiServiceImpl.java
+317
-224
UdeskConstant.java
...vice/src/main/java/com/gic/udesk/utils/UdeskConstant.java
+15
-0
UdeskHttpClientUtil.java
...rc/main/java/com/gic/udesk/utils/UdeskHttpClientUtil.java
+17
-12
UdeskUtils.java
...service/src/main/java/com/gic/udesk/utils/UdeskUtils.java
+7
-1
VersionReport3Enum.java
...in/java/com/gic/udesk/utils/field/VersionReport3Enum.java
+79
-0
VersionReportEnum.java
...ain/java/com/gic/udesk/utils/field/VersionReportEnum.java
+84
-0
GicTicketController.java
...ava/com/gic/udesk/web/controller/GicTicketController.java
+13
-2
MessageController.java
.../java/com/gic/udesk/web/controller/MessageController.java
+7
-1
TapdConfigController.java
...va/com/gic/udesk/web/controller/TapdConfigController.java
+7
-1
UdeskHttpClientUtil.java
...ain/java/com/gic/udesk/web/utils/UdeskHttpClientUtil.java
+14
-8
UdeskUtils.java
...web/src/main/java/com/gic/udesk/web/utils/UdeskUtils.java
+7
-1
No files found.
gic-platform-udesk-api/src/main/java/com/gic/udesk/constant/AgentPermissionEnum.java
View file @
fa894032
...
...
@@ -13,8 +13,17 @@ import java.util.Map;
* @date 2019/12/25 2:36 PM
*/
public
enum
AgentPermissionEnum
{
/**
* 客服可见,但不可编辑
*/
READONLY
(
"readonly"
,
"客服可见,但不可编辑"
),
/**
* 客服可编辑
*/
READWRITE
(
"readwrite"
,
"客服可编辑"
),
/**
* 客服必填
*/
MUST
(
"must"
,
"客服必填"
);
private
String
code
;
...
...
gic-platform-udesk-api/src/main/java/com/gic/udesk/constant/CalculateResultTypeEnum.java
View file @
fa894032
...
...
@@ -13,8 +13,17 @@ import java.util.Map;
* @date 2019/12/25 2:36 PM
*/
public
enum
CalculateResultTypeEnum
{
/**
* 数字
*/
NUMERIC
(
"numeric"
,
"数字"
),
/**
* 时长
*/
DURATION
(
"duration"
,
"时长"
),
/**
* 百分比
*/
PERCENTAGE
(
"percentage"
,
"百分比"
);
private
String
code
;
...
...
gic-platform-udesk-api/src/main/java/com/gic/udesk/constant/CustomFieldContentTypeEnum.java
View file @
fa894032
...
...
@@ -13,19 +13,61 @@ import java.util.Map;
* @date 2019/12/25 2:34 PM
*/
public
enum
CustomFieldContentTypeEnum
{
/**
* 单行文本
*/
TEXT
(
"text"
,
"单行文本"
),
/**
* 多行文本
*/
AREA_TEXT
(
"area_text"
,
"多行文本"
),
/**
* 日期
*/
DATE
(
"date"
,
"日期"
),
/**
* 时间
*/
TIME
(
"time"
,
"时间"
),
/**
* 日期时间
*/
DATE_TIME
(
"datetime"
,
"日期时间"
),
/**
* 超链接
*/
LINK
(
"link"
,
"超链接"
),
/**
* 地理位置
*/
LOCATION
(
"location"
,
"地理位置"
),
/**
* 正整数
*/
NUMBER
(
"number"
,
"正整数"
),
/**
* 数值
*/
NUMERIC
(
"numeric"
,
"数值"
),
/**
* 下拉列表
*/
DROPLIST
(
"droplist"
,
"下拉列表"
),
/**
* 单选
*/
RADIO
(
"radio"
,
"单选"
),
/**
* 多选
*/
CHECKBOX
(
"checkbox"
,
"多选"
),
/**
* 级联
*/
CHAINED_DROPLIST
(
"chained_droplist"
,
"级联"
),
/**
* 计算字段
*/
CALCULATE
(
"calculate"
,
"计算字段"
);
private
String
code
;
...
...
gic-platform-udesk-api/src/main/java/com/gic/udesk/constant/CustomerPermissionEnum.java
View file @
fa894032
...
...
@@ -13,9 +13,21 @@ import java.util.Map;
* @date 2019/12/25 2:36 PM
*/
public
enum
CustomerPermissionEnum
{
/**
* 客户不可见
*/
NONE
(
"none"
,
"客户不可见"
),
/**
* 客户可见,但不可编辑
*/
READONLY
(
"readonly"
,
"客户可见,但不可编辑"
),
/**
* 客户可编辑
*/
READWRITE
(
"readwrite"
,
"客户可编辑"
),
/**
* 客户必填
*/
MUST
(
"must"
,
"客户必填"
);
private
String
code
;
...
...
gic-platform-udesk-api/src/main/java/com/gic/udesk/constant/UdeskStatusEnum.java
View file @
fa894032
...
...
@@ -4,11 +4,29 @@ import java.util.ArrayList;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* udesk的客服工单状态
* @ClassName: UdeskStatusEnum
* @Description:
* @author guojuxing
* @date 2020/9/18 9:51 AM
*/
public
enum
UdeskStatusEnum
{
/**
* 开启
*/
OPEN
(
"open"
,
"开启"
,
1
),
/**
* 解决中
*/
SOLVING
(
"solving"
,
"解决中"
,
4
),
/**
* 已解决
*/
RESOLVED
(
"resolved"
,
"已解决"
,
2
),
/**
* 已关闭
*/
CLOSED
(
"closed"
,
"已关闭"
,
3
);
private
String
code
;
...
...
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/AttachmentDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
;
import
java.io.Serializable
;
import
com.gic.commons.annotation.SkipNamingCheck
;
/**
* 附件
* @ClassName: AttachmentDTO
...
...
@@ -8,6 +10,7 @@ import java.io.Serializable;
* @author guojuxing
* @date 2019/12/23 3:05 PM
*/
@SkipNamingCheck
public
class
AttachmentDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
6369929530568254062L
;
...
...
@@ -36,4 +39,12 @@ public class AttachmentDTO implements Serializable{
public
void
setUrl
(
String
url
)
{
this
.
url
=
url
;
}
@Override
public
String
toString
()
{
return
"AttachmentDTO{"
+
"file_name='"
+
file_name
+
'\''
+
", url='"
+
url
+
'\''
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/FollowerDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
/**
* 关注者
...
...
@@ -8,6 +10,7 @@ import java.io.Serializable;
* @author guojuxing
* @date 2019/12/23 3:06 PM
*/
@SkipNamingCheck
public
class
FollowerDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
6806790410409455090L
;
...
...
@@ -36,4 +39,12 @@ public class FollowerDTO implements Serializable{
public
void
setNick_name
(
String
nick_name
)
{
this
.
nick_name
=
nick_name
;
}
@Override
public
String
toString
()
{
return
"FollowerDTO{"
+
"id="
+
id
+
", nick_name='"
+
nick_name
+
'\''
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/OrganizationDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
import
java.util.Map
;
...
...
@@ -10,6 +12,7 @@ import java.util.Map;
* @author guojuxing
* @date 2019/12/23 3:07 PM
*/
@SkipNamingCheck
public
class
OrganizationDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
3042952127522207394L
;
...
...
@@ -90,4 +93,16 @@ public class OrganizationDTO implements Serializable{
public
void
setCustom_fields
(
Map
<
String
,
String
>
custom_fields
)
{
this
.
custom_fields
=
custom_fields
;
}
@Override
public
String
toString
()
{
return
"OrganizationDTO{"
+
"id="
+
id
+
", name='"
+
name
+
'\''
+
", domains='"
+
domains
+
'\''
+
", description='"
+
description
+
'\''
+
", token='"
+
token
+
'\''
+
", custom_fields="
+
custom_fields
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/TapdBugBaseDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
/**
* 缺陷基类
...
...
@@ -8,6 +10,7 @@ import java.io.Serializable;
* @author guojuxing
* @date 2019/12/23 3:08 PM
*/
@SkipNamingCheck
public
class
TapdBugBaseDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
996019256030454386L
;
...
...
@@ -261,4 +264,33 @@ public class TapdBugBaseDTO implements Serializable{
public
void
setWorkspace_id
(
String
workspace_id
)
{
this
.
workspace_id
=
workspace_id
;
}
@Override
public
String
toString
()
{
return
"TapdBugBaseDTO{"
+
"id='"
+
id
+
'\''
+
", title='"
+
title
+
'\''
+
", description='"
+
description
+
'\''
+
", priority='"
+
priority
+
'\''
+
", severity='"
+
severity
+
'\''
+
", status='"
+
status
+
'\''
+
", reporter='"
+
reporter
+
'\''
+
", bugtype='"
+
bugtype
+
'\''
+
", current_owner='"
+
current_owner
+
'\''
+
", originphase='"
+
originphase
+
'\''
+
", testtype='"
+
testtype
+
'\''
+
", frequency='"
+
frequency
+
'\''
+
", custom_field_one='"
+
custom_field_one
+
'\''
+
", custom_field_two='"
+
custom_field_two
+
'\''
+
", custom_field_three='"
+
custom_field_three
+
'\''
+
", custom_field_four='"
+
custom_field_four
+
'\''
+
", custom_field_five='"
+
custom_field_five
+
'\''
+
", custom_field_6='"
+
custom_field_6
+
'\''
+
", custom_field_7='"
+
custom_field_7
+
'\''
+
", custom_field_8='"
+
custom_field_8
+
'\''
+
", custom_field_9='"
+
custom_field_9
+
'\''
+
", custom_field_10='"
+
custom_field_10
+
'\''
+
", workspace_id='"
+
workspace_id
+
'\''
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/TapdBugDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
/**
...
...
@@ -9,6 +11,7 @@ import java.io.Serializable;
* @author guojuxing
* @date 2019/12/23 3:09 PM
*/
@SkipNamingCheck
public
class
TapdBugDTO
extends
TapdBugBaseDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1194893729619773267L
;
...
...
@@ -501,4 +504,60 @@ public class TapdBugDTO extends TapdBugBaseDTO implements Serializable{
public
void
setCustom_field_15
(
String
custom_field_15
)
{
this
.
custom_field_15
=
custom_field_15
;
}
@Override
public
String
toString
()
{
return
"TapdBugDTO{"
+
"module='"
+
module
+
'\''
+
", deadline='"
+
deadline
+
'\''
+
", created='"
+
created
+
'\''
+
", resolved='"
+
resolved
+
'\''
+
", closed='"
+
closed
+
'\''
+
", modified='"
+
modified
+
'\''
+
", lastmodify='"
+
lastmodify
+
'\''
+
", auditer='"
+
auditer
+
'\''
+
", de='"
+
de
+
'\''
+
", version_test='"
+
version_test
+
'\''
+
", version_report='"
+
version_report
+
'\''
+
", version_close='"
+
version_close
+
'\''
+
", version_fix='"
+
version_fix
+
'\''
+
", baseline_find='"
+
baseline_find
+
'\''
+
", baseline_join='"
+
baseline_join
+
'\''
+
", baseline_close='"
+
baseline_close
+
'\''
+
", baseline_test='"
+
baseline_test
+
'\''
+
", sourcephase='"
+
sourcephase
+
'\''
+
", te='"
+
te
+
'\''
+
", iteration_id='"
+
iteration_id
+
'\''
+
", resolution='"
+
resolution
+
'\''
+
", source='"
+
source
+
'\''
+
", confirmer='"
+
confirmer
+
'\''
+
", milestone='"
+
milestone
+
'\''
+
", participator='"
+
participator
+
'\''
+
", closer='"
+
closer
+
'\''
+
", platform='"
+
platform
+
'\''
+
", os='"
+
os
+
'\''
+
", testphase='"
+
testphase
+
'\''
+
", cc='"
+
cc
+
'\''
+
", regression_number='"
+
regression_number
+
'\''
+
", flows='"
+
flows
+
'\''
+
", feature='"
+
feature
+
'\''
+
", testmode='"
+
testmode
+
'\''
+
", estimate='"
+
estimate
+
'\''
+
", issue_id='"
+
issue_id
+
'\''
+
", created_from='"
+
created_from
+
'\''
+
", in_progress_time='"
+
in_progress_time
+
'\''
+
", verify_time='"
+
verify_time
+
'\''
+
", reject_time='"
+
reject_time
+
'\''
+
", reopen_time='"
+
reopen_time
+
'\''
+
", audit_time='"
+
audit_time
+
'\''
+
", suspend_time='"
+
suspend_time
+
'\''
+
", due='"
+
due
+
'\''
+
", begin='"
+
begin
+
'\''
+
", custom_field_11='"
+
custom_field_11
+
'\''
+
", custom_field_12='"
+
custom_field_12
+
'\''
+
", custom_field_13='"
+
custom_field_13
+
'\''
+
", custom_field_14='"
+
custom_field_14
+
'\''
+
", custom_field_15='"
+
custom_field_15
+
'\''
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/TapdBugUpdateDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
/**
* @ClassName: TapdBugUpdateDTO
...
...
@@ -7,6 +9,7 @@ import java.io.Serializable;
* @author guojuxing
* @date 2019/12/23 3:11 PM
*/
@SkipNamingCheck
public
class
TapdBugUpdateDTO
extends
TapdBugBaseDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
2954842604288372658L
;
...
...
@@ -35,4 +38,12 @@ public class TapdBugUpdateDTO extends TapdBugBaseDTO implements Serializable{
public
void
setCurrent_user
(
String
current_user
)
{
this
.
current_user
=
current_user
;
}
@Override
public
String
toString
()
{
return
"TapdBugUpdateDTO{"
+
"project_id="
+
project_id
+
", current_user='"
+
current_user
+
'\''
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/TapdCustomFieldConfig.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
/**
* tapd自定义字段
...
...
@@ -8,6 +10,7 @@ import java.io.Serializable;
* @author guojuxing
* @date 2019/12/23 3:12 PM
*/
@SkipNamingCheck
public
class
TapdCustomFieldConfig
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
6242431131348000720L
;
...
...
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/TapdMessageDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
/**
* tapd监听发送的消息参数
...
...
@@ -8,6 +10,7 @@ import java.io.Serializable;
* @author guojuxing
* @date 2019/12/23 3:13 PM
*/
@SkipNamingCheck
public
class
TapdMessageDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1782405175563991216L
;
...
...
@@ -132,4 +135,20 @@ public class TapdMessageDTO implements Serializable{
public
void
setOld_title
(
String
old_title
)
{
this
.
old_title
=
old_title
;
}
@Override
public
String
toString
()
{
return
"TapdMessageDTO{"
+
"udeskId='"
+
udeskId
+
'\''
+
", id='"
+
id
+
'\''
+
", event='"
+
event
+
'\''
+
", created='"
+
created
+
'\''
+
", event_from='"
+
event_from
+
'\''
+
", event_id='"
+
event_id
+
'\''
+
", current_user='"
+
current_user
+
'\''
+
", workspace_id='"
+
workspace_id
+
'\''
+
", change_fields='"
+
change_fields
+
'\''
+
", old_title='"
+
old_title
+
'\''
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/TapdRespBugDTO.java
View file @
fa894032
...
...
@@ -40,4 +40,13 @@ public class TapdRespBugDTO implements Serializable{
public
void
setData
(
TapdRespBugDataDTO
data
)
{
this
.
data
=
data
;
}
@Override
public
String
toString
()
{
return
"TapdRespBugDTO{"
+
"status="
+
status
+
", info='"
+
info
+
'\''
+
", data="
+
data
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/TapdRespBugDataDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
/**
* 接收新增TAPD的bug返回data
...
...
@@ -8,6 +10,7 @@ import java.io.Serializable;
* @author guojuxing
* @date 2019/12/23 3:28 PM
*/
@SkipNamingCheck
public
class
TapdRespBugDataDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
9113924195626824396L
;
...
...
@@ -20,4 +23,11 @@ public class TapdRespBugDataDTO implements Serializable{
public
void
setBug
(
TapdBugDTO
bug
)
{
Bug
=
bug
;
}
@Override
public
String
toString
()
{
return
"TapdRespBugDataDTO{"
+
"Bug="
+
Bug
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/TapdRespCustomFieldDTO.java
View file @
fa894032
...
...
@@ -42,4 +42,13 @@ public class TapdRespCustomFieldDTO implements Serializable{
public
void
setData
(
List
<
TapdRespCustomFieldDataDTO
>
data
)
{
this
.
data
=
data
;
}
@Override
public
String
toString
()
{
return
"TapdRespCustomFieldDTO{"
+
"status="
+
status
+
", info='"
+
info
+
'\''
+
", data="
+
data
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/TapdRespCustomFieldDataDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
/**
* TAPD自定义字段返回data
...
...
@@ -8,6 +10,7 @@ import java.io.Serializable;
* @author guojuxing
* @date 2019/12/23 3:29 PM
*/
@SkipNamingCheck
public
class
TapdRespCustomFieldDataDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
6070115012514102123L
;
...
...
@@ -20,4 +23,11 @@ public class TapdRespCustomFieldDataDTO implements Serializable{
public
void
setCustomFieldConfig
(
TapdCustomFieldConfig
customFieldConfig
)
{
CustomFieldConfig
=
customFieldConfig
;
}
@Override
public
String
toString
()
{
return
"TapdRespCustomFieldDataDTO{"
+
"CustomFieldConfig="
+
CustomFieldConfig
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/TicketDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -11,6 +13,7 @@ import java.util.Map;
* @author guojuxing
* @date 2019/12/23 3:32 PM
*/
@SkipNamingCheck
public
class
TicketDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1316075989331518774L
;
...
...
@@ -494,4 +497,47 @@ public class TicketDTO implements Serializable{
public
void
setIm_sub_session_id
(
Integer
im_sub_session_id
)
{
this
.
im_sub_session_id
=
im_sub_session_id
;
}
@Override
public
String
toString
()
{
return
"TicketDTO{"
+
"id="
+
id
+
", field_num='"
+
field_num
+
'\''
+
", subject='"
+
subject
+
'\''
+
", content='"
+
content
+
'\''
+
", content_type='"
+
content_type
+
'\''
+
", user_id="
+
user_id
+
", user_name='"
+
user_name
+
'\''
+
", user_email='"
+
user_email
+
'\''
+
", user_cellphone='"
+
user_cellphone
+
'\''
+
", organization_id="
+
organization_id
+
", assignee_id="
+
assignee_id
+
", assignee_name='"
+
assignee_name
+
'\''
+
", assignee_avatar='"
+
assignee_avatar
+
'\''
+
", user_group_id="
+
user_group_id
+
", user_group_name='"
+
user_group_name
+
'\''
+
", template_id="
+
template_id
+
", priority='"
+
priority
+
'\''
+
", status='"
+
status
+
'\''
+
", status_en='"
+
status_en
+
'\''
+
", platform='"
+
platform
+
'\''
+
", satisfaction='"
+
satisfaction
+
'\''
+
", custom_fields="
+
custom_fields
+
", tags='"
+
tags
+
'\''
+
", followers="
+
followers
+
", creator_id="
+
creator_id
+
", created_at='"
+
created_at
+
'\''
+
", updated_at='"
+
updated_at
+
'\''
+
", solving_at='"
+
solving_at
+
'\''
+
", resolved_at='"
+
resolved_at
+
'\''
+
", closed_at='"
+
closed_at
+
'\''
+
", solved_deadline='"
+
solved_deadline
+
'\''
+
", replied_at='"
+
replied_at
+
'\''
+
", agent_replied_at='"
+
agent_replied_at
+
'\''
+
", customer_replied_at='"
+
customer_replied_at
+
'\''
+
", replied_by='"
+
replied_by
+
'\''
+
", attachments="
+
attachments
+
", im_sub_session_id="
+
im_sub_session_id
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/UdeskAgentReplyDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
/**
* udesk客户回复
...
...
@@ -8,6 +10,7 @@ import java.io.Serializable;
* @author guojuxing
* @date 2019/12/23 3:34 PM
*/
@SkipNamingCheck
public
class
UdeskAgentReplyDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
4964133303321416857L
;
...
...
@@ -75,4 +78,15 @@ public class UdeskAgentReplyDTO implements Serializable{
public
void
setNew_reply
(
String
new_reply
)
{
this
.
new_reply
=
new_reply
;
}
@Override
public
String
toString
()
{
return
"UdeskAgentReplyDTO{"
+
"id="
+
id
+
", num='"
+
num
+
'\''
+
", agent_id="
+
agent_id
+
", function_type='"
+
function_type
+
'\''
+
", new_reply='"
+
new_reply
+
'\''
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/UdeskCompanyDTO.java
View file @
fa894032
...
...
@@ -36,4 +36,12 @@ public class UdeskCompanyDTO implements Serializable{
public
void
setOrganization
(
OrganizationDTO
organization
)
{
this
.
organization
=
organization
;
}
@Override
public
String
toString
()
{
return
"UdeskCompanyDTO{"
+
"code="
+
code
+
", organization="
+
organization
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/UdeskRespReplyDTO.java
View file @
fa894032
...
...
@@ -36,4 +36,12 @@ public class UdeskRespReplyDTO implements Serializable{
public
void
setData
(
Object
data
)
{
this
.
data
=
data
;
}
@Override
public
String
toString
()
{
return
"UdeskRespReplyDTO{"
+
"code="
+
code
+
", data="
+
data
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/UdeskTicketDetailDTO.java
View file @
fa894032
...
...
@@ -49,4 +49,13 @@ public class UdeskTicketDetailDTO implements Serializable{
public
void
setTicket
(
TicketDTO
ticket
)
{
this
.
ticket
=
ticket
;
}
@Override
public
String
toString
()
{
return
"UdeskTicketDetailDTO{"
+
"code="
+
code
+
", message='"
+
message
+
'\''
+
", ticket="
+
ticket
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/customfield/UdeskCustomFieldOptionDTO.java
View file @
fa894032
...
...
@@ -42,4 +42,13 @@ public class UdeskCustomFieldOptionDTO implements Serializable{
public
void
setSubs
(
List
<
UdeskCustomFieldOptionDTO
>
subs
)
{
this
.
subs
=
subs
;
}
@Override
public
String
toString
()
{
return
"UdeskCustomFieldOptionDTO{"
+
"title='"
+
title
+
'\''
+
", value='"
+
value
+
'\''
+
", subs="
+
subs
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/customfield/UdeskResCustomFieldDTO.java
View file @
fa894032
...
...
@@ -35,4 +35,12 @@ public class UdeskResCustomFieldDTO implements Serializable{
public
void
setFields
(
List
<
UdeskResCustomFieldDataDTO
>
fields
)
{
this
.
fields
=
fields
;
}
@Override
public
String
toString
()
{
return
"UdeskResCustomFieldDTO{"
+
"code="
+
code
+
", fields="
+
fields
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/customfield/UdeskResCustomFieldDataDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
.
customfield
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
import
java.util.List
;
...
...
@@ -10,6 +12,7 @@ import java.util.List;
* @author guojuxing
* @date 2019/12/25 10:11 AM
*/
@SkipNamingCheck
public
class
UdeskResCustomFieldDataDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
831985526535468454L
;
...
...
@@ -121,4 +124,19 @@ public class UdeskResCustomFieldDataDTO implements Serializable{
public
void
setCalculate_result_type
(
String
calculate_result_type
)
{
this
.
calculate_result_type
=
calculate_result_type
;
}
@Override
public
String
toString
()
{
return
"UdeskResCustomFieldDataDTO{"
+
"id="
+
id
+
", field_name='"
+
field_name
+
'\''
+
", field_label='"
+
field_label
+
'\''
+
", content_type='"
+
content_type
+
'\''
+
", comment='"
+
comment
+
'\''
+
", options="
+
options
+
", customer_permission='"
+
customer_permission
+
'\''
+
", agent_permission='"
+
agent_permission
+
'\''
+
", calculate_result_type='"
+
calculate_result_type
+
'\''
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/gic/GicTicketDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
.
gic
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
import
java.util.Map
;
...
...
@@ -10,6 +12,7 @@ import java.util.Map;
* @author guojuxing
* @date 2019/12/26 4:11 PM
*/
@SkipNamingCheck
public
class
GicTicketDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
478265380664580136L
;
...
...
@@ -166,4 +169,23 @@ public class GicTicketDTO implements Serializable{
public
void
setType_content
(
String
type_content
)
{
this
.
type_content
=
type_content
;
}
@Override
public
String
toString
()
{
return
"GicTicketDTO{"
+
"businessModuleType="
+
businessModuleType
+
", type='"
+
type
+
'\''
+
", type_content='"
+
type_content
+
'\''
+
", subject='"
+
subject
+
'\''
+
", content='"
+
content
+
'\''
+
", status='"
+
status
+
'\''
+
", template_id="
+
template_id
+
", ticketFieldJsonStr='"
+
ticketFieldJsonStr
+
'\''
+
", ticket_field="
+
ticket_field
+
", gicEnterpriseId="
+
gicEnterpriseId
+
", gicUserId="
+
gicUserId
+
", gicUserName='"
+
gicUserName
+
'\''
+
", gicEnterpriseName='"
+
gicEnterpriseName
+
'\''
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/gic/TicketCreateResDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
.
gic
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
/**
* 工单创建返回信息
...
...
@@ -8,6 +10,7 @@ import java.io.Serializable;
* @author guojuxing
* @date 2019/12/26 4:48 PM
*/
@SkipNamingCheck
public
class
TicketCreateResDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
5033595896326990325L
;
...
...
@@ -49,4 +52,13 @@ public class TicketCreateResDTO implements Serializable{
public
void
setTicket_id
(
Integer
ticket_id
)
{
this
.
ticket_id
=
ticket_id
;
}
@Override
public
String
toString
()
{
return
"TicketCreateResDTO{"
+
"code="
+
code
+
", message='"
+
message
+
'\''
+
", ticket_id="
+
ticket_id
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/gic/TicketRepliesAttachmentsDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
.
gic
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
/**
* 附件相关内容
...
...
@@ -8,6 +10,7 @@ import java.io.Serializable;
* @author guojuxing
* @date 2019/12/26 5:55 PM
*/
@SkipNamingCheck
public
class
TicketRepliesAttachmentsDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
3349387219138928011L
;
...
...
@@ -47,4 +50,13 @@ public class TicketRepliesAttachmentsDTO implements Serializable{
public
void
setFile_size
(
Integer
file_size
)
{
this
.
file_size
=
file_size
;
}
@Override
public
String
toString
()
{
return
"TicketRepliesAttachmentsDTO{"
+
"url='"
+
url
+
'\''
+
", file_name='"
+
file_name
+
'\''
+
", file_size="
+
file_size
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/gic/TicketRepliesAuthorDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
.
gic
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
/**
* 回复者信息
...
...
@@ -8,6 +10,7 @@ import java.io.Serializable;
* @author guojuxing
* @date 2019/12/26 5:57 PM
*/
@SkipNamingCheck
public
class
TicketRepliesAuthorDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
6306676280816731296L
;
...
...
@@ -71,4 +74,15 @@ public class TicketRepliesAuthorDTO implements Serializable{
public
void
setNick_name
(
String
nick_name
)
{
this
.
nick_name
=
nick_name
;
}
@Override
public
String
toString
()
{
return
"TicketRepliesAuthorDTO{"
+
"id="
+
id
+
", user_type='"
+
user_type
+
'\''
+
", email='"
+
email
+
'\''
+
", avatar='"
+
avatar
+
'\''
+
", nick_name='"
+
nick_name
+
'\''
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/gic/TicketRepliesDTO.java
View file @
fa894032
...
...
@@ -49,4 +49,13 @@ public class TicketRepliesDTO implements Serializable{
public
void
setReplies
(
List
<
TicketRepliesDataDTO
>
replies
)
{
this
.
replies
=
replies
;
}
@Override
public
String
toString
()
{
return
"TicketRepliesDTO{"
+
"code="
+
code
+
", meta="
+
meta
+
", replies="
+
replies
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/gic/TicketRepliesDataDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
.
gic
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -11,6 +13,7 @@ import java.util.List;
* @author guojuxing
* @date 2019/12/26 5:52 PM
*/
@SkipNamingCheck
public
class
TicketRepliesDataDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
4610262435451102033L
;
...
...
@@ -114,4 +117,18 @@ public class TicketRepliesDataDTO implements Serializable{
public
void
setAuthor
(
TicketRepliesAuthorDTO
author
)
{
this
.
author
=
author
;
}
@Override
public
String
toString
()
{
return
"TicketRepliesDataDTO{"
+
"id="
+
id
+
", content='"
+
content
+
'\''
+
", content_format='"
+
content_format
+
'\''
+
", created_at="
+
created_at
+
", function_type='"
+
function_type
+
'\''
+
", cc='"
+
cc
+
'\''
+
", attachments="
+
attachments
+
", author="
+
author
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/gic/UdeskEnterpriseDTO.java
View file @
fa894032
...
...
@@ -2,7 +2,13 @@ package com.gic.udesk.dto.gic;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* gic提交工单
* @ClassName: UdeskEnterpriseDTO
* @Description:
* @author guojuxing
* @date 2020/9/18 10:06 AM
*/
public
class
UdeskEnterpriseDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
727703112120773752L
;
...
...
@@ -136,4 +142,20 @@ public class UdeskEnterpriseDTO implements Serializable{
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
@Override
public
String
toString
()
{
return
"UdeskEnterpriseDTO{"
+
"id="
+
id
+
", businessModule='"
+
businessModule
+
'\''
+
", businessModuleName='"
+
businessModuleName
+
'\''
+
", businessType="
+
businessType
+
", ticketId="
+
ticketId
+
", ticketNum='"
+
ticketNum
+
'\''
+
", ticketTitle='"
+
ticketTitle
+
'\''
+
", ticketStatus='"
+
ticketStatus
+
'\''
+
", createTime="
+
createTime
+
", updateTime="
+
updateTime
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/templates/UdeskResTemplatesDTO.java
View file @
fa894032
...
...
@@ -63,4 +63,14 @@ public class UdeskResTemplatesDTO implements Serializable{
public
void
setTemplates
(
List
<
UdeskResTemplatesDataDTO
>
templates
)
{
this
.
templates
=
templates
;
}
@Override
public
String
toString
()
{
return
"UdeskResTemplatesDTO{"
+
"code="
+
code
+
", message='"
+
message
+
'\''
+
", count="
+
count
+
", templates="
+
templates
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/templates/UdeskResTemplatesDataDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
.
templates
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
import
java.util.List
;
...
...
@@ -10,6 +12,7 @@ import java.util.List;
* @author guojuxing
* @date 2019/12/24 5:56 PM
*/
@SkipNamingCheck
public
class
UdeskResTemplatesDataDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
9123464445959278485L
;
...
...
@@ -63,4 +66,14 @@ public class UdeskResTemplatesDataDTO implements Serializable{
public
void
setCustom_fields
(
List
<
UdeskTemplatesCustomFieldDTO
>
custom_fields
)
{
this
.
custom_fields
=
custom_fields
;
}
@Override
public
String
toString
()
{
return
"UdeskResTemplatesDataDTO{"
+
"id="
+
id
+
", name='"
+
name
+
'\''
+
", description='"
+
description
+
'\''
+
", custom_fields="
+
custom_fields
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/templates/UdeskTemplatesCustomFieldDTO.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dto
.
templates
;
import
com.gic.commons.annotation.SkipNamingCheck
;
import
java.io.Serializable
;
/**
* 工单模板中的自定义字段
...
...
@@ -8,6 +10,7 @@ import java.io.Serializable;
* @author guojuxing
* @date 2019/12/24 5:58 PM
*/
@SkipNamingCheck
public
class
UdeskTemplatesCustomFieldDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7814797970459011762L
;
/**
...
...
@@ -72,4 +75,15 @@ public class UdeskTemplatesCustomFieldDTO implements Serializable{
public
void
setField_comment
(
String
field_comment
)
{
this
.
field_comment
=
field_comment
;
}
@Override
public
String
toString
()
{
return
"UdeskTemplatesCustomFieldDTO{"
+
"field_id='"
+
field_id
+
'\''
+
", field_name='"
+
field_name
+
'\''
+
", field_title='"
+
field_title
+
'\''
+
", field_type='"
+
field_type
+
'\''
+
", field_comment='"
+
field_comment
+
'\''
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/uploadfile/UploadFileDTO.java
View file @
fa894032
...
...
@@ -34,4 +34,12 @@ public class UploadFileDTO implements Serializable{
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
}
@Override
public
String
toString
()
{
return
"UploadFileDTO{"
+
"code="
+
code
+
", message='"
+
message
+
'\''
+
'}'
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/service/TapdMessageApiService.java
View file @
fa894032
package
com
.
gic
.
udesk
.
service
;
import
com.gic.api.base.commons.ServiceResponse
;
/**
* 监听tapd消息
* @ClassName: TapdMessageApiService
* @Description:
* @author guojuxing
* @date 2020/9/18 10:01 AM
*/
public
interface
TapdMessageApiService
{
/**
* tapd监听消息处理
...
...
gic-platform-udesk-api/src/main/java/com/gic/udesk/service/UdeskBaseApiService.java
View file @
fa894032
...
...
@@ -8,7 +8,13 @@ import com.gic.udesk.dto.customfield.UdeskCustomFieldOptionDTO;
import
com.gic.udesk.dto.customfield.UdeskResCustomFieldDataDTO
;
import
com.gic.udesk.dto.templates.UdeskResTemplatesDTO
;
import
org.springframework.web.multipart.MultipartFile
;
/**
* 异常接口
* @ClassName: UdeskBaseApiService
* @Description:
* @author guojuxing
* @date 2020/9/18 10:07 AM
*/
public
interface
UdeskBaseApiService
{
/**
...
...
gic-platform-udesk-api/src/main/java/com/gic/udesk/service/UdeskMessageApiService.java
View file @
fa894032
...
...
@@ -2,7 +2,13 @@ package com.gic.udesk.service;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.udesk.dto.UdeskMessageDTO
;
/**
* 监听udesk消息
* @ClassName: UdeskMessageApiService
* @Description:
* @author guojuxing
* @date 2020/9/18 10:00 AM
*/
public
interface
UdeskMessageApiService
{
/**
...
...
@@ -15,5 +21,13 @@ public interface UdeskMessageApiService {
*/
ServiceResponse
<
String
>
saveUdeskMessage
(
UdeskMessageDTO
messageDTO
);
/**
* 监听处理udesk消息(不同步到tapd)
* @Title: saveUdeskMessageNoTapd
* @Description:
* @author guojuxing
* @param messageDTO
* @return com.gic.api.base.commons.ServiceResponse<java.lang.String>
*/
ServiceResponse
<
String
>
saveUdeskMessageNoTapd
(
UdeskMessageDTO
messageDTO
);
}
gic-platform-udesk-service/src/main/java/com/gic/udesk/dao/mapper/TabUdeskCustomersMapper.java
View file @
fa894032
...
...
@@ -2,7 +2,13 @@ package com.gic.udesk.dao.mapper;
import
com.gic.udesk.entity.TabUdeskCustomers
;
import
org.apache.ibatis.annotations.Param
;
/**
* gic客户工单
* @ClassName: TabUdeskCustomersMapper
* @Description:
* @author guojuxing
* @date 2020/9/18 10:25 AM
*/
public
interface
TabUdeskCustomersMapper
{
/**
* 根据主键删除
...
...
@@ -52,5 +58,11 @@ public interface TabUdeskCustomersMapper {
*/
int
updateByPrimaryKey
(
TabUdeskCustomers
record
);
/**
* countCustomerId
* @param enterpriseId
* @param userId
* @return
*/
TabUdeskCustomers
countCustomerId
(
@Param
(
"enterpriseId"
)
Integer
enterpriseId
,
@Param
(
"userId"
)
Integer
userId
);
}
\ No newline at end of file
gic-platform-udesk-service/src/main/java/com/gic/udesk/dao/mapper/TabUdeskEnterpriseMapper.java
View file @
fa894032
...
...
@@ -5,7 +5,13 @@ import com.gic.udesk.qo.TicketListQO;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* gic客户工单
* @ClassName: TabUdeskEnterpriseMapper
* @Description:
* @author guojuxing
* @date 2020/9/18 10:28 AM
*/
public
interface
TabUdeskEnterpriseMapper
{
/**
* 根据主键删除
...
...
@@ -31,6 +37,12 @@ public interface TabUdeskEnterpriseMapper {
*/
int
insertSelective
(
TabUdeskEnterprise
record
);
/**
* 更新udesk工单状态
* @param ticketId
* @param status
* @return
*/
int
updateStatus
(
@Param
(
"ticketId"
)
Integer
ticketId
,
@Param
(
"status"
)
String
status
);
/**
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/dao/mapper/TabUdeskExceptionMapper.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dao
.
mapper
;
import
com.gic.udesk.entity.TabUdeskException
;
/**
* 客服工单异常消息
* @ClassName: TabUdeskExceptionMapper
* @Description:
* @author guojuxing
* @date 2020/9/18 10:28 AM
*/
public
interface
TabUdeskExceptionMapper
{
/**
* 根据主键删除
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/dao/mapper/TabUdeskMessageMapper.java
View file @
fa894032
package
com
.
gic
.
udesk
.
dao
.
mapper
;
import
com.gic.udesk.entity.TabUdeskMessage
;
/**
* udesk消息
* @ClassName: TabUdeskMessageMapper
* @Description:
* @author guojuxing
* @date 2020/9/18 10:28 AM
*/
public
interface
TabUdeskMessageMapper
{
/**
* 根据主键删除
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/dao/mapper/TabUdeskTapdRelMapper.java
View file @
fa894032
...
...
@@ -4,7 +4,13 @@ import com.gic.udesk.entity.TabUdeskTapdRel;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* udesk和tapd关联字段接口
* @ClassName: TabUdeskTapdRelMapper
* @Description:
* @author guojuxing
* @date 2020/9/18 10:12 AM
*/
public
interface
TabUdeskTapdRelMapper
{
/**
* 根据主键删除
...
...
@@ -64,5 +70,14 @@ public interface TabUdeskTapdRelMapper {
*/
List
<
TabUdeskTapdRel
>
list
(
TabUdeskTapdRel
record
);
int
deleteByWorkspaceId
(
@Param
(
"relType"
)
int
relType
,
@Param
(
"workspace_id"
)
String
workspace_id
);
/**
* 根据项目删除
* @Title: deleteByWorkspaceId
* @Description:
* @author guojuxing
* @param relType
* @param workspaceId
* @return int
*/
int
deleteByWorkspaceId
(
@Param
(
"relType"
)
int
relType
,
@Param
(
"workspace_id"
)
String
workspaceId
);
}
\ No newline at end of file
gic-platform-udesk-service/src/main/java/com/gic/udesk/dao/mapper/TabUdeskTicketMapper.java
View file @
fa894032
...
...
@@ -3,7 +3,13 @@ package com.gic.udesk.dao.mapper;
import
com.gic.udesk.entity.TabUdeskTicket
;
import
java.util.List
;
/**
* 客服工单
* @ClassName: TabUdeskTicketMapper
* @Description:
* @author guojuxing
* @date 2020/9/18 10:28 AM
*/
public
interface
TabUdeskTicketMapper
{
/**
* 根据主键删除
...
...
@@ -53,5 +59,10 @@ public interface TabUdeskTicketMapper {
*/
int
updateByPrimaryKey
(
TabUdeskTicket
record
);
/**
* 查询客服工单
* @param params
* @return
*/
List
<
TabUdeskTicket
>
list
(
TabUdeskTicket
params
);
}
\ No newline at end of file
gic-platform-udesk-service/src/main/java/com/gic/udesk/entity/TabUdeskCustomers.java
View file @
fa894032
...
...
@@ -3,7 +3,11 @@ package com.gic.udesk.entity;
import
java.util.Date
;
/**
* tab_udesk_customers
* gic客户工单
* @ClassName: TabUdeskCustomers
* @Description:
* @author guojuxing
* @date 2020/9/18 10:35 AM
*/
public
class
TabUdeskCustomers
{
/**
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/entity/TabUdeskEnterprise.java
View file @
fa894032
...
...
@@ -3,7 +3,11 @@ package com.gic.udesk.entity;
import
java.util.Date
;
/**
* tab_udesk_enterprise
* gic客户工单
* @ClassName: TabUdeskEnterprise
* @Description:
* @author guojuxing
* @date 2020/9/18 10:29 AM
*/
public
class
TabUdeskEnterprise
{
/**
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/entity/TabUdeskException.java
View file @
fa894032
...
...
@@ -3,7 +3,11 @@ package com.gic.udesk.entity;
import
java.util.Date
;
/**
* tab_udesk_exception
* udesk接口异常信息
* @ClassName: TabUdeskException
* @Description:
* @author guojuxing
* @date 2020/9/18 10:29 AM
*/
public
class
TabUdeskException
{
/**
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/entity/TabUdeskMessage.java
View file @
fa894032
...
...
@@ -3,7 +3,11 @@ package com.gic.udesk.entity;
import
java.util.Date
;
/**
* tab_udesk_message
* udesk消息
* @ClassName: TabUdeskMessage
* @Description:
* @author guojuxing
* @date 2020/9/18 10:34 AM
*/
public
class
TabUdeskMessage
{
/**
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/entity/TabUdeskTapdRel.java
View file @
fa894032
...
...
@@ -5,7 +5,11 @@ import com.gic.udesk.utils.UdeskConstant;
import
java.util.Date
;
/**
* tab_udesk_tapd_rel
* udesk和tapd关联字典
* @ClassName: TabUdeskTapdRel
* @Description:
* @author guojuxing
* @date 2020/9/18 10:33 AM
*/
public
class
TabUdeskTapdRel
{
/**
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/entity/TabUdeskTicket.java
View file @
fa894032
...
...
@@ -3,7 +3,11 @@ package com.gic.udesk.entity;
import
java.util.Date
;
/**
* tab_udesk_ticket
* 客服工单
* @ClassName: TabUdeskTicket
* @Description:
* @author guojuxing
* @date 2020/9/18 10:29 AM
*/
public
class
TabUdeskTicket
{
/**
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/UdeskCustomersService.java
View file @
fa894032
package
com
.
gic
.
udesk
.
service
;
import
com.gic.udesk.entity.TabUdeskCustomers
;
/**
*
* @ClassName: UdeskCustomersService
* @Description:
* @author guojuxing
* @date 2020/9/18 10:21 AM
*/
public
interface
UdeskCustomersService
{
/**
* save
* @Title: save
* @Description:
* @author guojuxing
* @param enterpriseId
* @param customerId
* @param userId
* @return int
*/
int
save
(
Integer
enterpriseId
,
Integer
customerId
,
Integer
userId
);
/**
* hasCustomerId
* @Title: hasCustomerId
* @Description:
* @author guojuxing
* @param enterpriseId
* @param userId
* @return com.gic.udesk.entity.TabUdeskCustomers
*/
TabUdeskCustomers
hasCustomerId
(
Integer
enterpriseId
,
Integer
userId
);
}
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/UdeskEnterpriseService.java
View file @
fa894032
...
...
@@ -3,7 +3,13 @@ package com.gic.udesk.service;
import
com.gic.udesk.entity.TabUdeskEnterprise
;
import
com.gic.udesk.qo.TicketListQO
;
import
com.github.pagehelper.Page
;
/**
* gic客户工单
* @ClassName: UdeskEnterpriseService
* @Description:
* @author guojuxing
* @date 2020/9/18 10:26 AM
*/
public
interface
UdeskEnterpriseService
{
/**
...
...
@@ -26,7 +32,12 @@ public interface UdeskEnterpriseService {
*/
int
close
(
Integer
ticketId
);
/**
* 更新gic客户工单状态
* @param ticketId
* @param status
* @return
*/
int
updateStatus
(
Integer
ticketId
,
String
status
);
/**
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/UdeskExceptionService.java
View file @
fa894032
package
com
.
gic
.
udesk
.
service
;
import
com.gic.udesk.entity.TabUdeskException
;
/**
* 客服工单异常信息
* @ClassName: UdeskExceptionService
* @Description:
* @author guojuxing
* @date 2020/9/18 10:29 AM
*/
public
interface
UdeskExceptionService
{
/**
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/UdeskMessageService.java
View file @
fa894032
package
com
.
gic
.
udesk
.
service
;
import
com.gic.udesk.entity.TabUdeskMessage
;
/**
* udesk消息
* @ClassName: UdeskMessageService
* @Description:
* @author guojuxing
* @date 2020/9/18 10:30 AM
*/
public
interface
UdeskMessageService
{
/**
* 新增消息
...
...
@@ -13,5 +19,10 @@ public interface UdeskMessageService {
*/
int
save
(
TabUdeskMessage
record
);
/**
* 更新消息
* @param record
* @return
*/
int
update
(
TabUdeskMessage
record
);
}
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/UdeskTapdRelService.java
View file @
fa894032
...
...
@@ -3,7 +3,13 @@ package com.gic.udesk.service;
import
com.gic.udesk.entity.TabUdeskTapdRel
;
import
java.util.List
;
/**
* udesk和tapd关联字典
* @ClassName: UdeskTapdRelService
* @Description:
* @author guojuxing
* @date 2020/9/18 10:17 AM
*/
public
interface
UdeskTapdRelService
{
/**
...
...
@@ -11,6 +17,7 @@ public interface UdeskTapdRelService {
* @Title: list
* @Description:
* @author guojuxing
* @param record
* @return java.util.List<com.gic.udesk.entity.TabUdeskTapdRel>
*/
List
<
TabUdeskTapdRel
>
list
(
TabUdeskTapdRel
record
);
...
...
@@ -31,8 +38,8 @@ public interface UdeskTapdRelService {
* @Description:
* @author guojuxing
* @param relType 关联类型
* @param workspace
_i
d tapd项目id
* @param workspace
I
d tapd项目id
* @return int
*/
int
deleteByWorkspaceId
(
int
relType
,
String
workspace
_i
d
);
int
deleteByWorkspaceId
(
int
relType
,
String
workspace
I
d
);
}
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/UdeskTicketService.java
View file @
fa894032
...
...
@@ -3,10 +3,32 @@ package com.gic.udesk.service;
import
com.gic.udesk.entity.TabUdeskTicket
;
import
java.util.List
;
/**
* 客服工单接口
* @ClassName: UdeskTicketService
* @Description:
* @author guojuxing
* @date 2020/9/18 10:19 AM
*/
public
interface
UdeskTicketService
{
/**
* save
* @Title: save
* @Description:
* @author guojuxing
* @param record
* @return int
*/
int
save
(
TabUdeskTicket
record
);
/**
* update
* @Title: update
* @Description:
* @author guojuxing
* @param record
* @return int
*/
int
update
(
TabUdeskTicket
record
);
/**
...
...
@@ -18,6 +40,13 @@ public interface UdeskTicketService {
* @return com.gic.udesk.entity.TabUdeskTicket
*/
TabUdeskTicket
getById
(
Integer
id
);
/**
* list
* @Title: list
* @Description:
* @author guojuxing
* @param params
* @return java.util.List<com.gic.udesk.entity.TabUdeskTicket>
*/
List
<
TabUdeskTicket
>
list
(
TabUdeskTicket
params
);
}
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/impl/UdeskCustomersServiceImpl.java
View file @
fa894032
...
...
@@ -7,7 +7,13 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
/**
* gic客户工单
* @ClassName: UdeskCustomersServiceImpl
* @Description:
* @author guojuxing
* @date 2020/9/18 10:35 AM
*/
@Service
(
"udeskCustomersService"
)
public
class
UdeskCustomersServiceImpl
implements
UdeskCustomersService
{
@Autowired
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/impl/UdeskEnterpriseServiceImpl.java
View file @
fa894032
...
...
@@ -12,7 +12,13 @@ import org.springframework.stereotype.Service;
import
java.util.Date
;
import
java.util.List
;
/**
* gic工单
* @ClassName: UdeskEnterpriseServiceImpl
* @Description:
* @author guojuxing
* @date 2020/9/18 10:36 AM
*/
@Service
(
"udeskEnterpriseService"
)
public
class
UdeskEnterpriseServiceImpl
implements
UdeskEnterpriseService
{
@Autowired
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/impl/UdeskExceptionServiceImpl.java
View file @
fa894032
...
...
@@ -7,7 +7,13 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
/**
* 客服工单异常信息
* @ClassName: UdeskExceptionServiceImpl
* @Description:
* @author guojuxing
* @date 2020/9/18 10:30 AM
*/
@Service
(
"udeskExceptionService"
)
public
class
UdeskExceptionServiceImpl
implements
UdeskExceptionService
{
@Autowired
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/impl/UdeskMessageServiceImpl.java
View file @
fa894032
...
...
@@ -7,7 +7,13 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
/**
* udesk消息
* @ClassName: UdeskMessageServiceImpl
* @Description:
* @author guojuxing
* @date 2020/9/18 10:30 AM
*/
@Service
(
"udeskMessageService"
)
public
class
UdeskMessageServiceImpl
implements
UdeskMessageService
{
@Autowired
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/impl/UdeskTapdRelServiceImpl.java
View file @
fa894032
...
...
@@ -8,7 +8,13 @@ import org.springframework.stereotype.Service;
import
java.util.Date
;
import
java.util.List
;
/**
* udesk和tapd关联字典
* @ClassName: UdeskTapdRelServiceImpl
* @Description:
* @author guojuxing
* @date 2020/9/18 10:35 AM
*/
@Service
(
"udeskTapdRelService"
)
public
class
UdeskTapdRelServiceImpl
implements
UdeskTapdRelService
{
@Autowired
...
...
@@ -28,7 +34,7 @@ public class UdeskTapdRelServiceImpl implements UdeskTapdRelService{
}
@Override
public
int
deleteByWorkspaceId
(
int
relType
,
String
workspace
_i
d
)
{
return
tabUdeskTapdRelMapper
.
deleteByWorkspaceId
(
relType
,
workspace
_i
d
);
public
int
deleteByWorkspaceId
(
int
relType
,
String
workspace
I
d
)
{
return
tabUdeskTapdRelMapper
.
deleteByWorkspaceId
(
relType
,
workspace
I
d
);
}
}
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/impl/UdeskTicketServiceImpl.java
View file @
fa894032
...
...
@@ -8,7 +8,13 @@ import org.springframework.stereotype.Service;
import
java.util.Date
;
import
java.util.List
;
/**
* 客服工单
* @ClassName: UdeskTicketServiceImpl
* @Description:
* @author guojuxing
* @date 2020/9/18 10:35 AM
*/
@Service
(
"udeskTicketService"
)
public
class
UdeskTicketServiceImpl
implements
UdeskTicketService
{
@Autowired
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/outer/impl/GicTicketApiServiceImpl.java
View file @
fa894032
...
...
@@ -30,7 +30,13 @@ import java.util.ArrayList;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* gic工单
* @ClassName: GicTicketApiServiceImpl
* @Description:
* @author guojuxing
* @date 2020/9/18 10:41 AM
*/
@Service
(
"gicTicketApiService"
)
public
class
GicTicketApiServiceImpl
implements
GicTicketApiService
{
private
static
final
Logger
LOGGER
=
LogManager
.
getLogger
(
GicTicketApiServiceImpl
.
class
);
...
...
@@ -74,7 +80,6 @@ public class GicTicketApiServiceImpl implements GicTicketApiService{
}
else
{
gicTicketDTO
.
setTemplate_id
(
UdeskConstant
.
APP_MODULE_TEMPLATE_ID
);
}
//查询有无客户ID
Integer
gicEnterpriseId
=
gicTicketDTO
.
getGicEnterpriseId
();
Integer
gicUserId
=
gicTicketDTO
.
getGicUserId
();
...
...
@@ -92,8 +97,7 @@ public class GicTicketApiServiceImpl implements GicTicketApiService{
customerSub
.
put
(
"nick_name"
,
gicUserName
);
customer
.
put
(
"customer"
,
customerSub
);
LOGGER
.
info
(
"gic新建udesk客户,内容为:{}"
,
customer
.
toJSONString
());
String
customerStr
=
UdeskHttpClientUtil
.
postUdeskJsonFromJson
(
CUSTOMERS
,
customer
.
toJSONString
());
String
customerStr
=
UdeskHttpClientUtil
.
postUdeskJsonFromJson
(
CUSTOMERS
,
customer
.
toJSONString
());
LOGGER
.
info
(
"gic新建udesk客户,返回为:{}"
,
customerStr
);
JSONObject
customerRes
=
JSONObject
.
parseObject
(
customerStr
);
if
(
customerRes
!=
null
)
{
...
...
@@ -101,10 +105,8 @@ public class GicTicketApiServiceImpl implements GicTicketApiService{
JSONObject
customerObj
=
customerRes
.
getJSONObject
(
"customer"
);
if
(
code
==
UdeskConstant
.
UDESK_SUCCESS_CODE
)
{
int
customerId
=
customerObj
.
getIntValue
(
"id"
);
gicTicketDTO
.
setType
(
"customer_id"
);
gicTicketDTO
.
setType_content
(
customerId
+
""
);
//保存到
udeskCustomersService
.
save
(
gicEnterpriseId
,
customerId
,
gicUserId
);
}
else
{
...
...
@@ -112,13 +114,11 @@ public class GicTicketApiServiceImpl implements GicTicketApiService{
}
}
}
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>(
4
);
paramMap
.
put
(
"ticket"
,
gicTicketDTO
);
String
params
=
JSON
.
toJSONString
(
paramMap
);
LOGGER
.
info
(
"gic新建udesk工单,内容为:{}"
,
params
);
String
respStr
=
UdeskHttpClientUtil
.
postUdeskJsonFromJson
(
UDESK_CREATE_TICKET
,
params
);
String
respStr
=
UdeskHttpClientUtil
.
postUdeskJsonFromJson
(
UDESK_CREATE_TICKET
,
params
);
LOGGER
.
info
(
"gic新建udesk工单,工单返回为:{}"
,
respStr
);
TicketCreateResDTO
createResDTO
=
JSON
.
parseObject
(
respStr
,
TicketCreateResDTO
.
class
);
if
(
createResDTO
!=
null
&&
createResDTO
.
getCode
()
==
UdeskConstant
.
UDESK_SUCCESS_CODE
)
{
...
...
@@ -127,26 +127,7 @@ public class GicTicketApiServiceImpl implements GicTicketApiService{
String
detailStr
=
this
.
getUdeskTicketDetail
(
ticketId
.
toString
());
UdeskTicketDetailDTO
detail
=
JSON
.
parseObject
(
detailStr
,
UdeskTicketDetailDTO
.
class
);
if
(
detail
.
getCode
()
==
UdeskConstant
.
UDESK_SUCCESS_CODE
)
{
TabUdeskEnterprise
record
=
new
TabUdeskEnterprise
();
//工单ID
record
.
setTicketId
(
ticketId
);
record
.
setEnterpriseId
(
gicEnterpriseId
);
//工单编号
record
.
setTicketNum
(
detail
.
getTicket
().
getField_num
());
//工单标题
record
.
setTicketTitle
(
gicTicketDTO
.
getSubject
());
//业务模块类型 1:基础模块 2:应用模块
record
.
setBusinessType
(
gicTicketDTO
.
getBusinessModuleType
());
//业务模块ID
if
(
businessModuleType
.
intValue
()
==
1
)
{
String
businessModuleValue
=
gicTicketDTO
.
getTicket_field
().
get
(
UdeskConstant
.
GIC_BASE_MODULE_SELECT
);
record
.
setBusinessModule
(
businessModuleValue
);
record
.
setBusinessModuleName
(
getBusinessModuleName
(
businessModuleValue
));
}
else
{
record
.
setBusinessModule
(
gicTicketDTO
.
getTicket_field
().
get
(
UdeskConstant
.
APP_MODULE_NAME
));
record
.
setBusinessModuleName
(
gicTicketDTO
.
getTicket_field
().
get
(
UdeskConstant
.
APP_MODULE_NAME
));
}
udeskEnterpriseService
.
save
(
record
);
udeskEnterpriseService
.
save
(
setUdeskEnterprise
(
ticketId
,
gicEnterpriseId
,
detail
,
gicTicketDTO
));
return
ServiceResponse
.
success
(
ticketId
);
}
else
{
return
ServiceResponse
.
failure
(
ErrorCode
.
SYSTEM_ERROR
.
getCode
(),
detail
.
getMessage
());
...
...
@@ -156,6 +137,30 @@ public class GicTicketApiServiceImpl implements GicTicketApiService{
}
}
private
TabUdeskEnterprise
setUdeskEnterprise
(
Integer
ticketId
,
Integer
gicEnterpriseId
,
UdeskTicketDetailDTO
detail
,
GicTicketDTO
gicTicketDTO
)
{
Integer
businessModuleType
=
gicTicketDTO
.
getBusinessModuleType
();
TabUdeskEnterprise
record
=
new
TabUdeskEnterprise
();
//工单ID
record
.
setTicketId
(
ticketId
);
record
.
setEnterpriseId
(
gicEnterpriseId
);
//工单编号
record
.
setTicketNum
(
detail
.
getTicket
().
getField_num
());
//工单标题
record
.
setTicketTitle
(
gicTicketDTO
.
getSubject
());
//业务模块类型 1:基础模块 2:应用模块
record
.
setBusinessType
(
gicTicketDTO
.
getBusinessModuleType
());
//业务模块ID
if
(
businessModuleType
.
intValue
()
==
1
)
{
String
businessModuleValue
=
gicTicketDTO
.
getTicket_field
().
get
(
UdeskConstant
.
GIC_BASE_MODULE_SELECT
);
record
.
setBusinessModule
(
businessModuleValue
);
record
.
setBusinessModuleName
(
getBusinessModuleName
(
businessModuleValue
));
}
else
{
record
.
setBusinessModule
(
gicTicketDTO
.
getTicket_field
().
get
(
UdeskConstant
.
APP_MODULE_NAME
));
record
.
setBusinessModuleName
(
gicTicketDTO
.
getTicket_field
().
get
(
UdeskConstant
.
APP_MODULE_NAME
));
}
return
record
;
}
@Override
public
ServiceResponse
<
Page
<
UdeskEnterpriseDTO
>>
page
(
TicketListQO
params
)
{
com
.
github
.
pagehelper
.
Page
<
TabUdeskEnterprise
>
page
=
udeskEnterpriseService
.
page
(
params
);
...
...
@@ -245,20 +250,20 @@ public class GicTicketApiServiceImpl implements GicTicketApiService{
private
String
getBusinessModuleName
(
String
businessModule
)
{
String
[]
arr
=
businessModule
.
split
(
","
);
//第一层级
String
name
1
=
""
;
String
name
OfFirstMenu
=
""
;
//第二层级
String
name
2
=
""
;
String
name
OfSecondMenu
=
""
;
ServiceResponse
<
List
<
UdeskCustomFieldOptionDTO
>>
result
=
udeskBaseApiService
.
getGicServiceSelect
();
if
(
result
.
isSuccess
())
{
List
<
UdeskCustomFieldOptionDTO
>
list
=
result
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
for
(
UdeskCustomFieldOptionDTO
optionDTO
:
list
)
{
if
(
optionDTO
.
getValue
().
equals
(
arr
[
0
]))
{
name
1
=
optionDTO
.
getTitle
();
name
OfFirstMenu
=
optionDTO
.
getTitle
();
if
(
CollectionUtils
.
isNotEmpty
(
optionDTO
.
getSubs
()))
{
for
(
UdeskCustomFieldOptionDTO
subDTO
:
optionDTO
.
getSubs
())
{
if
(
subDTO
.
getValue
().
equals
(
arr
[
1
]))
{
name
2
=
subDTO
.
getTitle
();
name
OfSecondMenu
=
subDTO
.
getTitle
();
break
;
}
}
...
...
@@ -266,7 +271,7 @@ public class GicTicketApiServiceImpl implements GicTicketApiService{
break
;
}
}
return
name
1
+
"/"
+
name2
;
return
name
OfFirstMenu
+
"/"
+
nameOfSecondMenu
;
}
}
return
null
;
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/outer/impl/TapdConfigApiServiceImpl.java
View file @
fa894032
...
...
@@ -20,7 +20,13 @@ import org.springframework.stereotype.Service;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* tapd字典
* @ClassName: TapdConfigApiServiceImpl
* @Description:
* @author guojuxing
* @date 2020/9/18 10:34 AM
*/
@Service
(
"tapdConfigApiService"
)
public
class
TapdConfigApiServiceImpl
implements
TapdConfigApiService
{
private
static
Logger
logger
=
LogManager
.
getLogger
(
TapdConfigApiServiceImpl
.
class
);
...
...
@@ -52,26 +58,29 @@ public class TapdConfigApiServiceImpl implements TapdConfigApiService {
for
(
TapdRespCustomFieldDataDTO
customField
:
customFieldData
)
{
TapdCustomFieldConfig
customFieldConfig
=
customField
.
getCustomFieldConfig
();
String
name
=
customFieldConfig
.
getName
();
String
custom
_field
=
customFieldConfig
.
getCustom_field
();
String
custom
FieldToCapture
=
customFieldConfig
.
getCustom_field
();
TabUdeskTapdRel
tabUdeskTapdRel
=
null
;
//tapd返回的自定义字段数据,没有不变化的ID,所以用名称来匹配
//tapd不同项目建立如录入客服这个自定义字段的时候,对应的key是不确定的,所以用名称来匹配,且用反射来获取值
switch
(
name
)
{
case
"提报人"
:
tabUdeskTapdRel
=
new
TabUdeskTapdRel
(
workspaceId
,
9
,
"getUserName"
,
"客户姓名"
,
"set"
+
captureName
(
custom
_field
),
"提报人"
);
"set"
+
captureName
(
custom
FieldToCapture
),
"提报人"
);
break
;
case
"录入客服"
:
tabUdeskTapdRel
=
new
TabUdeskTapdRel
(
workspaceId
,
9
,
"getServiceStaff"
,
"录入客服"
,
"set"
+
captureName
(
custom
_field
),
"录入客服"
);
"set"
+
captureName
(
custom
FieldToCapture
),
"录入客服"
);
break
;
case
"UDESK工单编号"
:
tabUdeskTapdRel
=
new
TabUdeskTapdRel
(
workspaceId
,
9
,
"getFieldNum"
,
"UDESK工单编号"
,
"set"
+
captureName
(
custom
_field
),
"UDESK工单编号"
);
"set"
+
captureName
(
custom
FieldToCapture
),
"UDESK工单编号"
);
break
;
case
"公司信息"
:
tabUdeskTapdRel
=
new
TabUdeskTapdRel
(
workspaceId
,
9
,
"getOrganizationName"
,
"公司"
,
"set"
+
captureName
(
custom_field
),
"公司信息"
);
"set"
+
captureName
(
customFieldToCapture
),
"公司信息"
);
break
;
case
"是否客服内部已审核"
:
tabUdeskTapdRel
=
new
TabUdeskTapdRel
(
workspaceId
,
9
,
UdeskConstant
.
UDESK_SERVICE_AUDIT
,
"是否客服内部已审核"
,
"set"
+
captureName
(
customFieldToCapture
),
"是否客服内部已审核"
);
break
;
default
:
break
;
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/outer/impl/TapdMessageApiServiceImpl.java
View file @
fa894032
...
...
@@ -20,10 +20,14 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
/**
* tapd消息监听
* @ClassName: TapdMessageApiServiceImpl
* @Description:
* @author guojuxing
* @date 2020/9/18 10:42 AM
*/
@Service
(
"tapdMessageApiService"
)
public
class
TapdMessageApiServiceImpl
implements
TapdMessageApiService
{
private
static
Logger
logger
=
LogManager
.
getLogger
(
TapdMessageApiServiceImpl
.
class
);
...
...
@@ -59,6 +63,8 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
@Override
public
ServiceResponse
<
String
>
handleTapdMessage
(
String
tapdMessageStr
)
{
long
starTime
=
System
.
currentTimeMillis
();
//接收tapd消息数据
TapdMessageDTO
tapdMessageDTO
=
JSON
.
parseObject
(
tapdMessageStr
,
TapdMessageDTO
.
class
);
String
event
=
tapdMessageDTO
.
getEvent
();
...
...
@@ -71,6 +77,7 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
logger
.
info
(
"TAPD发送了缺陷删除事件,缺陷id:{} "
,
tapdMessageDTO
.
getId
());
handleResult
=
handleTapdBugDelete
(
tapdMessageDTO
);
}
logger
.
info
(
"tapd同步数据到udesk所花时间:{}"
,
System
.
currentTimeMillis
()
-
starTime
);
return
ServiceResponse
.
success
(
handleResult
);
}
...
...
@@ -94,30 +101,30 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
Integer
msgId
=
udeskMessageService
.
save
(
tabTapdMessage
);
logger
.
info
(
"消息{}保存成功"
,
tabTapdMessage
);
// 获取缺陷最新的内容
TapdBugDTO
latestBugFromT
APD
=
this
.
getLatestBugFromTAPD
(
tapdMessage
);
if
(
latestBugFromT
APD
==
null
)
{
TapdBugDTO
latestBugFromT
apd
=
this
.
getLatestBugFromTapd
(
tapdMessage
);
if
(
latestBugFromT
apd
==
null
)
{
return
msgId
.
toString
();
}
// 数据转换一下. priorityEN,取值: "",high-高 ..
String
priorityE
N
=
this
.
ensureFieldValueIsEn
(
latestBugFromTAPD
.
getPriority
(),
TAPD_FIELD_NAME_PRIORITY
,
String
priorityE
n
=
this
.
ensureFieldValueIsEn
(
latestBugFromTapd
.
getPriority
(),
TAPD_FIELD_NAME_PRIORITY
,
tapdMessage
);
if
(
priorityE
N
==
null
)
{
if
(
priorityE
n
==
null
)
{
return
msgId
.
toString
();
}
String
priorityC
N
=
udeskTapdRelMap
.
get
(
priorityEN
+
UdeskConstant
.
MAP_UDESK_NAME_SUFFIX
);
String
priorityC
n
=
udeskTapdRelMap
.
get
(
priorityEn
+
UdeskConstant
.
MAP_UDESK_NAME_SUFFIX
);
// severityEN,取值: "",advice-建议
String
severityE
N
=
this
.
ensureFieldValueIsEn
(
latestBugFromTAPD
.
getSeverity
(),
TAPD_FIELD_NAME_SEVERITY
,
String
severityE
n
=
this
.
ensureFieldValueIsEn
(
latestBugFromTapd
.
getSeverity
(),
TAPD_FIELD_NAME_SEVERITY
,
tapdMessage
);
if
(
severityE
N
==
null
)
{
if
(
severityE
n
==
null
)
{
return
msgId
.
toString
();
}
String
severityC
N
=
udeskTapdRelMap
.
get
(
severityEN
+
UdeskConstant
.
MAP_UDESK_NAME_SUFFIX
);
String
severityC
n
=
udeskTapdRelMap
.
get
(
severityEn
+
UdeskConstant
.
MAP_UDESK_NAME_SUFFIX
);
// 是否要更新中间件的数据库. 根据数据库表设计,数据库中ticket的status不会为null,priority、severity可能为null.
if
((
dataBaseTicket
.
getStatusTapd
().
equals
(
latestBugFromT
APD
.
getStatus
()))
if
((
dataBaseTicket
.
getStatusTapd
().
equals
(
latestBugFromT
apd
.
getStatus
()))
&&
((
dataBaseTicket
.
getPriority
()
==
null
?
""
:
dataBaseTicket
.
getPriority
())
.
equals
(
priorityC
N
==
null
?
""
:
priorityCN
))
.
equals
(
priorityC
n
==
null
?
""
:
priorityCn
))
&&
((
dataBaseTicket
.
getSeverity
()
==
null
?
""
:
dataBaseTicket
.
getSeverity
())
.
equals
((
severityC
N
==
null
?
""
:
severityCN
))))
{
.
equals
((
severityC
n
==
null
?
""
:
severityCn
))))
{
// 如果tapd最新的数据和数据库中的数据相同就不操作了,再完成消息处理
tabTapdMessage
.
setStatus
(
UdeskConstant
.
DELETED
);
udeskMessageService
.
update
(
tabTapdMessage
);
...
...
@@ -127,12 +134,13 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
JSONObject
updateTicketRequestBody
=
new
JSONObject
();
JSONObject
udeskTicketUpdate
=
new
JSONObject
();
JSONObject
customFields
=
new
JSONObject
();
udeskTicketUpdate
.
put
(
"status_id"
,
udeskTapdRelMap
.
get
(
latestBugFromTAPD
.
getStatus
()
+
UdeskConstant
.
MAP_UDESK_ID_VALUE_SUFFIX
));
udeskTicketUpdate
.
put
(
"priority_id"
,
udeskTapdRelMap
.
get
(
priorityEN
+
UdeskConstant
.
MAP_UDESK_ID_VALUE_SUFFIX
));
udeskTicketUpdate
.
put
(
"status_id"
,
udeskTapdRelMap
.
get
(
getUdeskStatusEnByTapdStatus
(
latestBugFromTapd
.
getStatus
())
+
UdeskConstant
.
MAP_UDESK_ID_VALUE_SUFFIX
));
udeskTicketUpdate
.
put
(
"priority_id"
,
udeskTapdRelMap
.
get
(
priorityEn
+
UdeskConstant
.
MAP_UDESK_ID_VALUE_SUFFIX
));
// key:value,value为null的话,不会被序列化. 为了防止误操作,如果TAPD的缺陷的严重程度为空,并不会去更新udesk中的严重程度.
customFields
.
put
(
UdeskConstant
.
UDESK_FIELD_SEVERITY
,
udeskTapdRelMap
.
get
(
severityE
N
+
UdeskConstant
.
MAP_UDESK_ID_VALUE_SUFFIX
));
udeskTapdRelMap
.
get
(
severityE
n
+
UdeskConstant
.
MAP_UDESK_ID_VALUE_SUFFIX
));
udeskTicketUpdate
.
put
(
"custom_fields"
,
customFields
);
updateTicketRequestBody
.
put
(
"ticket"
,
udeskTicketUpdate
);
// 更新udesk的工单
...
...
@@ -141,16 +149,16 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
return
msgId
.
toString
();
}
//同步到gic工单状态
String
statusEn
=
udeskTapdRelMap
.
get
(
latestBugFromT
APD
.
getStatus
()
+
UdeskConstant
.
MAP_UDESK_NAME_SUFFIX
);
String
statusEn
=
udeskTapdRelMap
.
get
(
latestBugFromT
apd
.
getStatus
()
+
UdeskConstant
.
MAP_UDESK_NAME_SUFFIX
);
if
(!
UdeskStatusEnum
.
CLOSED
.
getCode
().
equals
(
statusEn
))
{
udeskEnterpriseService
.
updateStatus
(
dataBaseTicket
.
getId
(),
statusEn
);
}
// 更新数据库中的数据 注: 放在udesk操作完成之后
dataBaseTicket
.
setStatusEn
(
udeskTapdRelMap
.
get
(
latestBugFromTAPD
.
getStatus
()
+
UdeskConstant
.
MAP_UDESK_NAME_SUFFIX
));
dataBaseTicket
.
setPriority
(
priorityC
N
);
dataBaseTicket
.
setSeverity
(
severityC
N
);
dataBaseTicket
.
setStatusTapd
(
latestBugFromT
APD
.
getStatus
());
dataBaseTicket
.
setStatusEn
(
udeskTapdRelMap
.
get
(
getUdeskStatusEnByTapdStatus
(
latestBugFromTapd
.
getStatus
())
+
UdeskConstant
.
MAP_UDESK_NAME_SUFFIX
));
dataBaseTicket
.
setPriority
(
priorityC
n
);
dataBaseTicket
.
setSeverity
(
severityC
n
);
dataBaseTicket
.
setStatusTapd
(
latestBugFromT
apd
.
getStatus
());
udeskTicketService
.
update
(
dataBaseTicket
);
//消息处理完成
tabTapdMessage
.
setStatus
(
UdeskConstant
.
DELETED
);
...
...
@@ -255,7 +263,7 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
* @param tapdMessage tapd的消息
* @return TapdBugDTO
*/
private
TapdBugDTO
getLatestBugFromT
APD
(
TapdMessageDTO
tapdMessage
)
{
private
TapdBugDTO
getLatestBugFromT
apd
(
TapdMessageDTO
tapdMessage
)
{
Map
<
String
,
Object
>
queryBugParamsMap
=
new
HashMap
<>(
4
);
queryBugParamsMap
.
put
(
"id"
,
tapdMessage
.
getId
());
queryBugParamsMap
.
put
(
"workspace_id"
,
tapdMessage
.
getWorkspace_id
());
...
...
@@ -360,4 +368,67 @@ public class TapdMessageApiServiceImpl implements TapdMessageApiService {
}
return
true
;
}
private
static
String
getUdeskStatusEnByTapdStatus
(
String
tapdStatus
)
{
logger
.
info
(
"tapd的bug单子状态是:"
+
tapdStatus
);
Set
<
String
>
open
=
new
HashSet
<>(
3
);
//新
open
.
add
(
"new"
);
//待确认
open
.
add
(
"unconfirmed"
);
//重新打开
open
.
add
(
"reopened"
);
if
(
open
.
contains
(
tapdStatus
))
{
return
"new"
;
}
Set
<
String
>
solving
=
new
HashSet
<>(
6
);
//接受/处理
solving
.
add
(
"in_progress"
);
//问题已修复
solving
.
add
(
"resolved"
);
//测试环境已验证
solving
.
add
(
"QA_audited"
);
//已更新
solving
.
add
(
"acknowledged"
);
//PM审核
solving
.
add
(
"PM_audited"
);
//跟踪
solving
.
add
(
"suspended"
);
if
(
solving
.
contains
(
tapdStatus
))
{
return
"unconfirmed"
;
}
//
Set
<
String
>
resolved
=
new
HashSet
<>(
5
);
//生产环境已验证
resolved
.
add
(
"verified"
);
//已拒绝
resolved
.
add
(
"rejected"
);
//PM拒绝
resolved
.
add
(
"PMM_audited"
);
//已转需求
resolved
.
add
(
"planning"
);
//需要创建人说明
resolved
.
add
(
"feedback"
);
if
(
resolved
.
contains
(
tapdStatus
))
{
return
"resolved"
;
}
Set
<
String
>
closed
=
new
HashSet
<>(
2
);
//已关闭
closed
.
add
(
"closed"
);
//修正数据后关闭
closed
.
add
(
"TM_audited"
);
if
(
closed
.
contains
(
tapdStatus
))
{
return
"closed"
;
}
return
tapdStatus
;
}
}
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/outer/impl/UdeskBaseApiServiceImpl.java
View file @
fa894032
...
...
@@ -31,7 +31,13 @@ import com.gic.udesk.service.UdeskExceptionService;
import
com.gic.udesk.service.UdeskTapdRelService
;
import
com.gic.udesk.utils.UdeskConstant
;
import
com.gic.udesk.utils.UdeskHttpClientUtil
;
/**
* 工单
* @ClassName: UdeskBaseApiServiceImpl
* @Description:
* @author guojuxing
* @date 2020/9/18 10:34 AM
*/
@Service
(
"udeskBaseApiService"
)
public
class
UdeskBaseApiServiceImpl
implements
UdeskBaseApiService
{
private
static
Logger
logger
=
LogManager
.
getLogger
(
UdeskBaseApiServiceImpl
.
class
);
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/outer/impl/UdeskMessageApiServiceImpl.java
View file @
fa894032
...
...
@@ -8,9 +8,12 @@ import java.util.Map;
import
javax.annotation.Resource
;
import
javax.validation.ConstraintViolationException
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.udesk.constant.UdeskStatusEnum
;
import
com.gic.udesk.entity.TabUdeskTapdRel
;
import
com.gic.udesk.service.*
;
import
com.gic.udesk.utils.field.VersionReport3Enum
;
import
com.gic.udesk.utils.field.VersionReportEnum
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
...
...
@@ -25,7 +28,13 @@ import com.gic.udesk.entity.TabUdeskMessage;
import
com.gic.udesk.entity.TabUdeskTicket
;
import
com.gic.udesk.utils.UdeskConstant
;
import
com.gic.udesk.utils.UdeskHttpClientUtil
;
/**
* udesk消息监听
* @ClassName: UdeskMessageApiServiceImpl
* @Description:
* @author guojuxing
* @date 2020/9/18 10:43 AM
*/
@Service
(
"udeskMessageApiService"
)
public
class
UdeskMessageApiServiceImpl
implements
UdeskMessageApiService
{
private
static
Logger
logger
=
LogManager
.
getLogger
(
UdeskMessageApiServiceImpl
.
class
);
...
...
@@ -67,6 +76,8 @@ public class UdeskMessageApiServiceImpl implements UdeskMessageApiService {
@Override
public
ServiceResponse
<
String
>
saveUdeskMessage
(
UdeskMessageDTO
messageDTO
)
{
long
starTime
=
System
.
currentTimeMillis
();
TabUdeskMessage
tabUdeskMessage
=
new
TabUdeskMessage
();
tabUdeskMessage
.
setEvent
(
messageDTO
.
getEvent
());
tabUdeskMessage
.
setMsgBody
(
messageDTO
.
getMsgBody
());
...
...
@@ -79,238 +90,274 @@ public class UdeskMessageApiServiceImpl implements UdeskMessageApiService {
logger
.
info
(
"消息为{}已经保存成功"
,
messageDTO
);
//创建工单消息
if
(
UdeskConstant
.
TICKET_CREATE
.
equals
(
messageDTO
.
getEvent
()))
{
//udesk工单ID
String
id
=
messageDTO
.
getMsgBody
();
//udesk工单详情接口
String
detailStr
=
this
.
getUdeskTicketDetail
(
id
);
UdeskTicketDetailDTO
detail
=
JSON
.
parseObject
(
detailStr
,
UdeskTicketDetailDTO
.
class
);
if
(
detail
.
getCode
()
==
UdeskConstant
.
UDESK_SUCCESS_CODE
)
{
//usesk工单信息
TicketDTO
ticket
=
detail
.
getTicket
();
//udesk自定义字段信息
Map
<
String
,
String
>
customFields
=
ticket
.
getCustom_fields
();
//udesk工单表实体
TabUdeskTicket
tabUdeskTicket
=
new
TabUdeskTicket
();
TapdBugDTO
tapdBug
=
new
TapdBugDTO
();
if
(
customFields
!=
null
)
{
//udesk客服名称--tapd创建人
String
staffValue
=
customFields
.
get
(
UdeskConstant
.
UDESK_FIELD_STAFF
);
tabUdeskTicket
.
setServiceStaff
(
udeskTapdRelMap
.
get
(
UdeskConstant
.
UDESK_FIELD_STAFF
+
":"
+
staffValue
));
//tapd项目ID
String
workspaceValue
=
customFields
.
get
(
UdeskConstant
.
UDESK_FIELD_WORKSPACE
);
tabUdeskTicket
.
setWorkspaceId
(
udeskTapdRelMap
.
get
(
UdeskConstant
.
UDESK_FIELD_WORKSPACE
+
":"
+
workspaceValue
));
//TPAD当前处理人
String
transactorValue
=
customFields
.
get
(
UdeskConstant
.
UDESK_FIELD_TRANSACTOR
);
if
(
StringUtils
.
isNotBlank
(
transactorValue
))
{
String
[]
transactors
=
transactorValue
.
split
(
","
);
StringBuilder
builder
=
new
StringBuilder
();
for
(
String
transactor
:
transactors
)
{
builder
.
append
(
udeskTapdRelMap
.
get
(
UdeskConstant
.
UDESK_FIELD_TRANSACTOR
+
":"
+
transactor
))
.
append
(
";"
);
}
tabUdeskTicket
.
setCurrentOwner
(
builder
.
toString
());
}
//填充部分自定义字段值
this
.
setUdeskCostomFields
(
tabUdeskTicket
,
tapdBug
,
customFields
);
}
//受理客服id
tabUdeskTicket
.
setAssigneeId
(
ticket
.
getAssignee_id
());
//受理客服姓名
tabUdeskTicket
.
setAssigneeName
(
ticket
.
getAssignee_name
());
//创建人id
tabUdeskTicket
.
setCreatorId
(
ticket
.
getCreator_id
());
//工单编号
tabUdeskTicket
.
setFieldNum
(
ticket
.
getField_num
());
//工单id
tabUdeskTicket
.
setId
(
ticket
.
getId
());
//客户所属公司id
Integer
organizationId
=
ticket
.
getOrganization_id
();
if
(
organizationId
!=
null
)
{
this
.
setOrganizationIdAndName
(
tabUdeskTicket
,
organizationId
);
}
//填充工单优先级中文名称
this
.
setPriority
(
ticket
,
tabUdeskTicket
,
tapdBug
);
tabUdeskTicket
.
setStatus
(
UdeskConstant
.
UNDELETED
);
//状态英文名称
tabUdeskTicket
.
setStatusEn
(
ticket
.
getStatus_en
());
//tapd状态值
tabUdeskTicket
.
setStatusTapd
(
udeskTapdRelMap
.
get
(
ticket
.
getStatus_en
()));
//标题
tabUdeskTicket
.
setSubject
(
ticket
.
getSubject
());
//客户id
tabUdeskTicket
.
setUserId
(
ticket
.
getUser_id
());
//客户姓名
tabUdeskTicket
.
setUserName
(
ticket
.
getUser_name
());
try
{
udeskTicketService
.
save
(
tabUdeskTicket
);
updateGicTicketStatus
(
Integer
.
parseInt
(
id
),
ticket
.
getStatus_en
());
logger
.
info
(
"工单id为{}已经保存成功"
,
ticket
.
getId
());
}
catch
(
DataIntegrityViolationException
|
ConstraintViolationException
e
)
{
logger
.
info
(
"工单id为{}已经保存失败,重复插入"
,
ticket
.
getId
(),
e
);
return
null
;
}
tapdBug
.
setTitle
(
ticket
.
getSubject
());
tapdBug
.
setCurrent_owner
(
tabUdeskTicket
.
getCurrentOwner
());
tapdBug
.
setReporter
(
UdeskConstant
.
TPAD_REPORTER
);
String
workspaceId
=
tabUdeskTicket
.
getWorkspaceId
();
tapdBug
.
setWorkspace_id
(
workspaceId
);
this
.
setTapdCustomField
(
workspaceId
,
tapdBug
,
tabUdeskTicket
);
tapdBug
.
setStatus
(
tabUdeskTicket
.
getStatusTapd
());
this
.
setDescription
(
ticket
,
tapdBug
);
String
bugStr
=
JSON
.
toJSONString
(
tapdBug
);
logger
.
info
(
"添加TAPDbug入参为{}"
,
bugStr
);
String
bugReturnStr
=
UdeskHttpClientUtil
.
postTapdJsonFromJson
(
TAPD_BUGS
,
bugStr
);
logger
.
info
(
"添加TAPDbug返回为{}"
,
bugReturnStr
);
TapdRespBugDTO
tapdRespBug
=
JSON
.
parseObject
(
bugReturnStr
,
TapdRespBugDTO
.
class
);
if
(
tapdRespBug
.
getStatus
()
==
UdeskConstant
.
TAPD_RESP_SUCCESS_STATUS
)
{
//tapd缺陷ID
String
bugId
=
tapdRespBug
.
getData
().
getBug
().
getId
();
tabUdeskTicket
.
setBugId
(
bugId
);
udeskTicketService
.
update
(
tabUdeskTicket
);
String
bugUrl
=
UdeskConstant
.
TAPD_HOST
+
workspaceId
+
TAPD_BUGS_URL_PART
+
bugId
;
//客服回复对象
UdeskAgentReplyDTO
reply
=
new
UdeskAgentReplyDTO
();
//客服id
reply
.
setAgent_id
(
Integer
.
valueOf
(
udeskTapdRelMap
.
get
(
UdeskConstant
.
UDESK_DEFAULT_AGENT
)));
//回复类型,"internal"内部备注/"external"外部评论
reply
.
setFunction_type
(
UdeskConstant
.
INTERNAL
);
//工单ID
reply
.
setId
(
ticket
.
getId
());
//回复内容
reply
.
setNew_reply
(
"TAPD的bug链接为:<a href=\""
+
bugUrl
+
"\" target=\"_blank\">"
+
bugUrl
+
"</a>"
);
//客服回复对象转为接口入参数
String
replyStr
=
JSON
.
toJSONString
(
reply
);
logger
.
info
(
"回复udesk工单bug链接入参为{}"
,
replyStr
);
String
replyRespStr
=
UdeskHttpClientUtil
.
postUdeskJsonFromJson
(
AGENT_REPLY
,
replyStr
);
logger
.
info
(
"回复udesk工单bug链接返回为{}"
,
replyRespStr
);
UdeskRespReplyDTO
replyDetail
=
JSON
.
parseObject
(
replyRespStr
,
UdeskRespReplyDTO
.
class
);
if
(
replyDetail
.
getCode
()
!=
UdeskConstant
.
UDESK_SUCCESS_CODE
)
{
String
exceptionRecord
=
"工单id为"
+
id
+
"回复udesk工单bug链接失败,返回为"
+
replyRespStr
;
logger
.
info
(
exceptionRecord
);
udeskBaseApiService
.
saveUdeskException
(
exceptionRecord
);
}
else
{
//消息删除status = 0
this
.
updateTabUdeskMessage
(
tabUdeskMessage
,
id
,
bugId
);
}
if
(!
"new"
.
equals
(
tapdBug
.
getStatus
())){
this
.
reSetTapdStatus
(
id
,
ticket
,
tapdBug
,
workspaceId
,
bugId
);
}
return
ServiceResponse
.
success
(
bugId
);
}
else
{
String
exceptionRecord
=
"工单id为"
+
id
+
"创建TAPDbug失败,返回为"
+
bugReturnStr
;
logger
.
info
(
exceptionRecord
);
udeskBaseApiService
.
saveTapdException
(
exceptionRecord
);
}
}
else
{
String
exceptionRecord
=
"工单id为"
+
id
+
"请求udesk工单详情异常,返回为"
+
detailStr
;
logger
.
info
(
exceptionRecord
);
udeskBaseApiService
.
saveUdeskException
(
exceptionRecord
);
ServiceResponse
<
String
>
udeskMessageOfCreateResult
=
udeskMessageOfCreate
(
messageDTO
,
tabUdeskMessage
);
if
(
udeskMessageOfCreateResult
!=
null
)
{
return
udeskMessageOfCreateResult
;
}
}
else
if
(
UdeskConstant
.
TICKET_UPDATE
.
equals
(
messageDTO
.
getEvent
()))
{
//更新消息
String
id
=
messageDTO
.
getMsgBody
();
String
detailStr
=
this
.
getUdeskTicketDetail
(
id
);
UdeskTicketDetailDTO
detail
=
JSON
.
parseObject
(
detailStr
,
UdeskTicketDetailDTO
.
class
);
logger
.
info
(
"工单详情{}"
,
detail
!=
null
?
JSON
.
toJSONString
(
detail
)
:
null
);
if
(
detail
.
getCode
()
==
UdeskConstant
.
UDESK_SUCCESS_CODE
)
{
//udesk接口查询的工单信息
TicketDTO
ticket
=
detail
.
getTicket
();
//数据库查询的工单记录信息
TabUdeskTicket
tabUdeskTicket
=
udeskTicketService
.
getById
(
Integer
.
parseInt
(
id
));
if
(
tabUdeskTicket
==
null
)
{
UdeskMessageDTO
createMessage
=
new
UdeskMessageDTO
();
//事件类型 创建/更新
createMessage
.
setEvent
(
UdeskConstant
.
TICKET_CREATE
);
//工单ID
createMessage
.
setMsgBody
(
id
);
createMessage
.
setSource
(
UdeskConstant
.
UDESK_UPDATE_CREATE
);
//消息主题
createMessage
.
setTopic
(
UdeskConstant
.
UDESK_TICKET_TOPIC
);
ServiceResponse
<
String
>
saveResult
=
this
.
saveUdeskMessage
(
createMessage
);
String
bugId
=
saveResult
.
getResult
();
//删除消息status = 0
ServiceResponse
<
String
>
udeskMessageOfUpdateResult
=
udeskMessageOfUpdate
(
messageDTO
,
tabUdeskMessage
);
if
(
udeskMessageOfUpdateResult
!=
null
)
{
return
udeskMessageOfUpdateResult
;
}
}
logger
.
info
(
"udesk同步数据到tapd所花时间:{}"
,
System
.
currentTimeMillis
()
-
starTime
);
return
null
;
}
private
ServiceResponse
<
String
>
udeskMessageOfCreate
(
UdeskMessageDTO
messageDTO
,
TabUdeskMessage
tabUdeskMessage
)
{
//udesk工单ID
String
id
=
messageDTO
.
getMsgBody
();
//udesk工单详情接口
String
detailStr
=
this
.
getUdeskTicketDetail
(
id
);
UdeskTicketDetailDTO
detail
=
JSON
.
parseObject
(
detailStr
,
UdeskTicketDetailDTO
.
class
);
if
(
detail
.
getCode
()
==
UdeskConstant
.
UDESK_SUCCESS_CODE
)
{
//usesk工单信息
TicketDTO
ticket
=
detail
.
getTicket
();
//udesk工单表实体
TabUdeskTicket
tabUdeskTicket
=
new
TabUdeskTicket
();
TapdBugDTO
tapdBug
=
new
TapdBugDTO
();
setTicket
(
ticket
,
tabUdeskTicket
,
tapdBug
,
id
);
try
{
udeskTicketService
.
save
(
tabUdeskTicket
);
updateGicTicketStatus
(
Integer
.
parseInt
(
id
),
ticket
.
getStatus_en
());
logger
.
info
(
"工单id为{}已经保存成功"
,
ticket
.
getId
());
}
catch
(
DataIntegrityViolationException
|
ConstraintViolationException
e
)
{
logger
.
info
(
"工单id为{}已经保存失败,重复插入"
,
ticket
.
getId
(),
e
);
return
null
;
}
String
workspaceId
=
tabUdeskTicket
.
getWorkspaceId
();
setTabBug
(
ticket
,
tabUdeskTicket
,
tapdBug
);
String
bugStr
=
JSON
.
toJSONString
(
tapdBug
);
logger
.
info
(
"添加TAPDbug入参为{}"
,
bugStr
);
String
bugReturnStr
=
UdeskHttpClientUtil
.
postTapdJsonFromJson
(
TAPD_BUGS
,
bugStr
);
logger
.
info
(
"添加TAPDbug返回为{}"
,
bugReturnStr
);
TapdRespBugDTO
tapdRespBug
=
JSON
.
parseObject
(
bugReturnStr
,
TapdRespBugDTO
.
class
);
if
(
tapdRespBug
.
getStatus
()
==
UdeskConstant
.
TAPD_RESP_SUCCESS_STATUS
)
{
//tapd缺陷ID
String
bugId
=
tapdRespBug
.
getData
().
getBug
().
getId
();
tabUdeskTicket
.
setBugId
(
bugId
);
udeskTicketService
.
update
(
tabUdeskTicket
);
String
bugUrl
=
UdeskConstant
.
TAPD_HOST
+
workspaceId
+
TAPD_BUGS_URL_PART
+
bugId
;
//客服回复对象
UdeskAgentReplyDTO
reply
=
new
UdeskAgentReplyDTO
();
//客服id
reply
.
setAgent_id
(
Integer
.
valueOf
(
udeskTapdRelMap
.
get
(
UdeskConstant
.
UDESK_DEFAULT_AGENT
)));
//回复类型,"internal"内部备注/"external"外部评论
reply
.
setFunction_type
(
UdeskConstant
.
INTERNAL
);
//工单ID
reply
.
setId
(
ticket
.
getId
());
//回复内容
reply
.
setNew_reply
(
"TAPD的bug链接为:<a href=\""
+
bugUrl
+
"\" target=\"_blank\">"
+
bugUrl
+
"</a>"
);
//客服回复对象转为接口入参数
String
replyStr
=
JSON
.
toJSONString
(
reply
);
logger
.
info
(
"回复udesk工单bug链接入参为{}"
,
replyStr
);
String
replyRespStr
=
UdeskHttpClientUtil
.
postUdeskJsonFromJson
(
AGENT_REPLY
,
replyStr
);
logger
.
info
(
"回复udesk工单bug链接返回为{}"
,
replyRespStr
);
UdeskRespReplyDTO
replyDetail
=
JSON
.
parseObject
(
replyRespStr
,
UdeskRespReplyDTO
.
class
);
if
(
replyDetail
.
getCode
()
!=
UdeskConstant
.
UDESK_SUCCESS_CODE
)
{
String
exceptionRecord
=
"工单id为"
+
id
+
"回复udesk工单bug链接失败,返回为"
+
replyRespStr
;
logger
.
info
(
exceptionRecord
);
udeskBaseApiService
.
saveUdeskException
(
exceptionRecord
);
}
else
{
//消息删除status = 0
this
.
updateTabUdeskMessage
(
tabUdeskMessage
,
id
,
bugId
);
return
ServiceResponse
.
success
(
bugId
);
}
TapdBugUpdateDTO
tapdBug
=
new
TapdBugUpdateDTO
();
//防止创建工单误触发更新
String
bugId
=
tabUdeskTicket
.
getBugId
();
if
(
StringUtils
.
isBlank
(
bugId
))
{
return
null
;
}
tapdBug
.
setId
(
bugId
);
tapdBug
.
setTitle
(
ticket
.
getSubject
());
tapdBug
.
setCurrent_user
(
UdeskConstant
.
TPAD_REPORTER
);
this
.
setDescription
(
ticket
,
tapdBug
);
//tapd项目ID
String
workspaceId
=
tabUdeskTicket
.
getWorkspaceId
();
tapdBug
.
setProject_id
(
Integer
.
valueOf
(
workspaceId
));
tapdBug
.
setWorkspace_id
(
workspaceId
);
tapdBug
.
setReporter
(
UdeskConstant
.
TPAD_REPORTER
);
//工单状态英文名称
String
statusEn
=
ticket
.
getStatus_en
();
//同步到gic工单状态
logger
.
info
(
"同步gic工单状态,ID:{}, 状态:{}"
,
Integer
.
parseInt
(
id
),
statusEn
);
updateGicTicketStatus
(
Integer
.
parseInt
(
id
),
statusEn
);
//如果udesk工单状态不等于本地数据库对应的工单状态
if
(
StringUtils
.
isNotBlank
(
statusEn
)
&&
!
statusEn
.
equals
(
tabUdeskTicket
.
getStatusEn
()))
{
if
(
UdeskConstant
.
CLOSED
.
equals
(
tabUdeskTicket
.
getStatusEn
()))
{
//本地工单状态如果是关闭状态,设置tapd缺陷 更新人(操作人)
tapdBug
.
setCurrent_owner
(
tabUdeskTicket
.
getCurrentOwner
());
}
//获取字典的状态值
String
tapdStatus
=
udeskTapdRelMap
.
get
(
statusEn
);
tabUdeskTicket
.
setStatusEn
(
statusEn
);
tabUdeskTicket
.
setStatusTapd
(
tapdStatus
);
//同步tapd缺陷状态
tapdBug
.
setStatus
(
tapdStatus
);
boolean
isNotNewTapdBug
=
!
"new"
.
equals
(
tapdBug
.
getStatus
());
if
(
isNotNewTapdBug
){
this
.
reSetTapdStatus
(
id
,
ticket
,
tapdBug
,
workspaceId
,
bugId
);
}
tabUdeskTicket
.
setSubject
(
ticket
.
getSubject
());
return
ServiceResponse
.
success
(
bugId
);
}
else
{
String
exceptionRecord
=
"工单id为"
+
id
+
"创建TAPDbug失败,返回为"
+
bugReturnStr
;
logger
.
info
(
exceptionRecord
);
udeskBaseApiService
.
saveTapdException
(
exceptionRecord
);
}
}
else
{
String
exceptionRecord
=
"工单id为"
+
id
+
"请求udesk工单详情异常,返回为"
+
detailStr
;
logger
.
info
(
exceptionRecord
);
udeskBaseApiService
.
saveUdeskException
(
exceptionRecord
);
}
return
null
;
}
this
.
setPriority
(
ticket
,
tabUdeskTicket
,
tapdBug
);
Integer
organizationId
=
ticket
.
getOrganization_id
();
if
(
organizationId
!=
null
&&
!
organizationId
.
equals
(
tabUdeskTicket
.
getOrganizationId
())){
this
.
setOrganizationIdAndName
(
tabUdeskTicket
,
organizationId
);
}
private
void
setTicket
(
TicketDTO
ticket
,
TabUdeskTicket
tabUdeskTicket
,
TapdBugDTO
tapdBug
,
String
id
)
{
//udesk自定义字段信息
Map
<
String
,
String
>
customFields
=
ticket
.
getCustom_fields
();
if
(
customFields
!=
null
)
{
//udesk客服名称--tapd创建人
String
staffValue
=
customFields
.
get
(
UdeskConstant
.
UDESK_FIELD_STAFF
);
tabUdeskTicket
.
setServiceStaff
(
udeskTapdRelMap
.
get
(
UdeskConstant
.
UDESK_FIELD_STAFF
+
":"
+
staffValue
));
//tapd项目ID
String
workspaceValue
=
customFields
.
get
(
UdeskConstant
.
UDESK_FIELD_WORKSPACE
);
tabUdeskTicket
.
setWorkspaceId
(
udeskTapdRelMap
.
get
(
UdeskConstant
.
UDESK_FIELD_WORKSPACE
+
":"
+
workspaceValue
));
//TPAD当前处理人
tabUdeskTicket
.
setCurrentOwner
(
getCurrentOwner
(
customFields
));
//发现版本添加
String
versionReportCode
=
customFields
.
get
(
UdeskConstant
.
UDESK_FIELD_VERSION_3
);
tapdBug
.
setVersion_report
(
VersionReport3Enum
.
getMessage
(
versionReportCode
));
//填充部分自定义字段值
this
.
setUdeskCostomFields
(
tabUdeskTicket
,
tapdBug
,
customFields
);
}
//受理客服id
tabUdeskTicket
.
setAssigneeId
(
ticket
.
getAssignee_id
());
//受理客服姓名
tabUdeskTicket
.
setAssigneeName
(
ticket
.
getAssignee_name
());
//创建人id
tabUdeskTicket
.
setCreatorId
(
ticket
.
getCreator_id
());
//工单编号
tabUdeskTicket
.
setFieldNum
(
ticket
.
getField_num
());
//工单id
tabUdeskTicket
.
setId
(
ticket
.
getId
());
//客户所属公司id
Integer
organizationId
=
ticket
.
getOrganization_id
();
if
(
organizationId
!=
null
)
{
this
.
setOrganizationIdAndName
(
tabUdeskTicket
,
organizationId
);
}
//填充工单优先级中文名称
this
.
setPriority
(
ticket
,
tabUdeskTicket
,
tapdBug
);
tabUdeskTicket
.
setStatus
(
UdeskConstant
.
UNDELETED
);
//状态英文名称
tabUdeskTicket
.
setStatusEn
(
ticket
.
getStatus_en
());
//tapd状态值
tabUdeskTicket
.
setStatusTapd
(
udeskTapdRelMap
.
get
(
ticket
.
getStatus_en
()));
//标题
tabUdeskTicket
.
setSubject
(
ticket
.
getSubject
());
//客户id
tabUdeskTicket
.
setUserId
(
ticket
.
getUser_id
());
//客户姓名
tabUdeskTicket
.
setUserName
(
ticket
.
getUser_name
());
}
Map
<
String
,
String
>
customFields
=
ticket
.
getCustom_fields
();
if
(
customFields
!=
null
){
this
.
setUdeskCostomFields
(
tabUdeskTicket
,
tapdBug
,
customFields
);
}
tabUdeskTicket
.
setUserName
(
ticket
.
getUser_name
());
this
.
setTapdCustomField
(
workspaceId
,
tapdBug
,
tabUdeskTicket
);
private
void
setTabBug
(
TicketDTO
ticket
,
TabUdeskTicket
tabUdeskTicket
,
TapdBugDTO
tapdBug
)
{
//udesk自定义字段信息
Map
<
String
,
String
>
customFields
=
ticket
.
getCustom_fields
();
String
workspaceId
=
tabUdeskTicket
.
getWorkspaceId
();
tapdBug
.
setTitle
(
ticket
.
getSubject
());
tapdBug
.
setCurrent_owner
(
tabUdeskTicket
.
getCurrentOwner
());
tapdBug
.
setReporter
(
UdeskConstant
.
TPAD_REPORTER
);
tapdBug
.
setWorkspace_id
(
workspaceId
);
this
.
setTapdCustomField
(
workspaceId
,
tapdBug
,
tabUdeskTicket
,
customFields
);
tapdBug
.
setStatus
(
tabUdeskTicket
.
getStatusTapd
());
this
.
setDescription
(
ticket
,
tapdBug
);
//udesk创建到tapd的缺陷,发现阶段值写死
tapdBug
.
setOriginphase
(
"生产环境"
);
}
udeskTicketService
.
update
(
tabUdeskTicket
);
String
bugStr
=
JSON
.
toJSONString
(
tapdBug
);
logger
.
info
(
"更新TAPDbug入参为{}"
,
bugStr
);
String
bugReturnStr
=
UdeskHttpClientUtil
.
postTapdJsonFromJson
(
TAPD_BUGS
,
bugStr
);
logger
.
info
(
"更新TAPDbug返回为{}"
,
bugReturnStr
);
TapdRespBugDTO
tapdRespBug
=
JSON
.
parseObject
(
bugReturnStr
,
TapdRespBugDTO
.
class
);
if
(
tapdRespBug
.
getStatus
()
==
UdeskConstant
.
TAPD_RESP_SUCCESS_STATUS
)
{
this
.
updateTabUdeskMessage
(
tabUdeskMessage
,
id
,
bugId
);
return
ServiceResponse
.
success
(
bugId
);
}
else
{
String
exceptionRecord
=
"工单id为"
+
id
+
"更新TAPDbug失败,返回为"
+
bugReturnStr
;
logger
.
info
(
exceptionRecord
);
udeskBaseApiService
.
saveTapdException
(
exceptionRecord
);
private
ServiceResponse
<
String
>
udeskMessageOfUpdate
(
UdeskMessageDTO
messageDTO
,
TabUdeskMessage
tabUdeskMessage
)
{
String
id
=
messageDTO
.
getMsgBody
();
String
detailStr
=
this
.
getUdeskTicketDetail
(
id
);
UdeskTicketDetailDTO
detail
=
JSON
.
parseObject
(
detailStr
,
UdeskTicketDetailDTO
.
class
);
logger
.
info
(
"工单详情{}"
,
detail
!=
null
?
JSON
.
toJSONString
(
detail
)
:
null
);
if
(
detail
.
getCode
()
==
UdeskConstant
.
UDESK_SUCCESS_CODE
)
{
TicketDTO
ticket
=
detail
.
getTicket
();
//数据库查询的工单记录信息
TabUdeskTicket
tabUdeskTicket
=
udeskTicketService
.
getById
(
Integer
.
parseInt
(
id
));
ServiceResponse
<
String
>
whenTicketIsNullResult
=
whenTicketIsNull
(
id
,
tabUdeskTicket
,
tabUdeskMessage
);
if
(
whenTicketIsNullResult
!=
null
)
{
return
whenTicketIsNullResult
;
}
TapdBugUpdateDTO
tapdBug
=
new
TapdBugUpdateDTO
();
//防止创建工单误触发更新
String
bugId
=
tabUdeskTicket
.
getBugId
();
if
(
StringUtils
.
isBlank
(
bugId
))
{
return
null
;
}
tapdBug
.
setId
(
bugId
);
tapdBug
.
setTitle
(
ticket
.
getSubject
());
tapdBug
.
setCurrent_user
(
UdeskConstant
.
TPAD_REPORTER
);
this
.
setDescription
(
ticket
,
tapdBug
);
//tapd项目ID
String
workspaceId
=
tabUdeskTicket
.
getWorkspaceId
();
tapdBug
.
setProject_id
(
Integer
.
valueOf
(
workspaceId
));
tapdBug
.
setWorkspace_id
(
workspaceId
);
tapdBug
.
setReporter
(
UdeskConstant
.
TPAD_REPORTER
);
//工单状态英文名称
String
statusEn
=
ticket
.
getStatus_en
();
//同步到gic工单状态
logger
.
info
(
"同步gic工单状态,ID:{}, 状态:{}"
,
Integer
.
parseInt
(
id
),
statusEn
);
updateGicTicketStatus
(
Integer
.
parseInt
(
id
),
statusEn
);
//如果udesk工单状态不等于本地数据库对应的工单状态
if
(
StringUtils
.
isNotBlank
(
statusEn
)
&&
!
statusEn
.
equals
(
tabUdeskTicket
.
getStatusEn
()))
{
if
(
UdeskConstant
.
CLOSED
.
equals
(
tabUdeskTicket
.
getStatusEn
()))
{
//本地工单状态如果是关闭状态,设置tapd缺陷 更新人(操作人)
tapdBug
.
setCurrent_owner
(
tabUdeskTicket
.
getCurrentOwner
());
}
//获取字典的状态值
String
tapdStatus
=
udeskTapdRelMap
.
get
(
statusEn
);
tabUdeskTicket
.
setStatusEn
(
statusEn
);
tabUdeskTicket
.
setStatusTapd
(
tapdStatus
);
//同步tapd缺陷状态
tapdBug
.
setStatus
(
tapdStatus
);
}
tabUdeskTicket
.
setSubject
(
ticket
.
getSubject
());
this
.
setPriority
(
ticket
,
tabUdeskTicket
,
tapdBug
);
Integer
organizationId
=
ticket
.
getOrganization_id
();
if
(
organizationId
!=
null
&&
!
organizationId
.
equals
(
tabUdeskTicket
.
getOrganizationId
())){
this
.
setOrganizationIdAndName
(
tabUdeskTicket
,
organizationId
);
}
Map
<
String
,
String
>
customFields
=
ticket
.
getCustom_fields
();
if
(
customFields
!=
null
){
this
.
setUdeskCostomFields
(
tabUdeskTicket
,
tapdBug
,
customFields
);
}
tabUdeskTicket
.
setUserName
(
ticket
.
getUser_name
());
this
.
setTapdCustomField
(
workspaceId
,
tapdBug
,
tabUdeskTicket
,
customFields
);
udeskTicketService
.
update
(
tabUdeskTicket
);
JSONObject
bugJson
=
(
JSONObject
)
JSONObject
.
toJSON
(
tapdBug
);
if
(
customFields
!=
null
)
{
//发现版本添加
String
versionReportCode
=
customFields
.
get
(
UdeskConstant
.
UDESK_FIELD_VERSION_3
);
bugJson
.
put
(
"version_report"
,
VersionReport3Enum
.
getMessage
(
versionReportCode
));
}
String
bugStr
=
bugJson
.
toJSONString
();
logger
.
info
(
"更新TAPDbug入参为{}"
,
bugStr
);
String
bugReturnStr
=
UdeskHttpClientUtil
.
postTapdJsonFromJson
(
TAPD_BUGS
,
bugStr
);
logger
.
info
(
"更新TAPDbug返回为{}"
,
bugReturnStr
);
TapdRespBugDTO
tapdRespBug
=
JSON
.
parseObject
(
bugReturnStr
,
TapdRespBugDTO
.
class
);
if
(
tapdRespBug
.
getStatus
()
==
UdeskConstant
.
TAPD_RESP_SUCCESS_STATUS
)
{
this
.
updateTabUdeskMessage
(
tabUdeskMessage
,
id
,
bugId
);
return
ServiceResponse
.
success
(
bugId
);
}
else
{
String
exceptionRecord
=
"工单id为"
+
id
+
"更新工单请求udesk工单详情异常,返回为"
+
detailStr
;
logger
.
info
(
exceptionRecord
);
udeskBaseApiService
.
saveUdeskException
(
exceptionRecord
);
saveException
(
"工单id为"
+
id
+
"更新TAPDbug失败,返回为"
+
bugReturnStr
);
}
}
else
{
saveException
(
"工单id为"
+
id
+
"更新工单请求udesk工单详情异常,返回为"
+
detailStr
);
}
return
null
;
}
private
ServiceResponse
<
String
>
whenTicketIsNull
(
String
id
,
TabUdeskTicket
tabUdeskTicket
,
TabUdeskMessage
tabUdeskMessage
)
{
if
(
tabUdeskTicket
==
null
)
{
UdeskMessageDTO
createMessage
=
new
UdeskMessageDTO
();
//事件类型 创建/更新
createMessage
.
setEvent
(
UdeskConstant
.
TICKET_CREATE
);
//工单ID
createMessage
.
setMsgBody
(
id
);
createMessage
.
setSource
(
UdeskConstant
.
UDESK_UPDATE_CREATE
);
//消息主题
createMessage
.
setTopic
(
UdeskConstant
.
UDESK_TICKET_TOPIC
);
ServiceResponse
<
String
>
saveResult
=
this
.
saveUdeskMessage
(
createMessage
);
String
bugId
=
saveResult
.
getResult
();
//删除消息status = 0
this
.
updateTabUdeskMessage
(
tabUdeskMessage
,
id
,
bugId
);
return
ServiceResponse
.
success
(
bugId
);
}
return
null
;
}
private
void
saveException
(
String
exceptionMessage
)
{
logger
.
info
(
exceptionMessage
);
udeskBaseApiService
.
saveTapdException
(
exceptionMessage
);
}
@Override
public
ServiceResponse
<
String
>
saveUdeskMessageNoTapd
(
UdeskMessageDTO
messageDTO
)
{
//创建工单消息
...
...
@@ -440,15 +487,29 @@ public class UdeskMessageApiServiceImpl implements UdeskMessageApiService {
* @param tapdBug
* @param tabUdeskTicket
*/
private
void
setTapdCustomField
(
String
workspaceId
,
TapdBugDTO
tapdBug
,
TabUdeskTicket
tabUdeskTicket
)
{
private
void
setTapdCustomField
(
String
workspaceId
,
TapdBugDTO
tapdBug
,
TabUdeskTicket
tabUdeskTicket
,
Map
<
String
,
String
>
customFields
)
{
TabUdeskTapdRel
params
=
new
TabUdeskTapdRel
();
params
.
setRelType
(
9
);
params
.
setWorkspaceId
(
workspaceId
);
List
<
TabUdeskTapdRel
>
udeskTapdRelList
=
udeskTapdRelService
.
list
(
params
);
for
(
TabUdeskTapdRel
tabUdeskTapdRel
:
udeskTapdRelList
)
{
try
{
Method
udeskMethod
=
TabUdeskTicket
.
class
.
getMethod
(
tabUdeskTapdRel
.
getUdeskIdKey
());
String
value
=
(
String
)
udeskMethod
.
invoke
(
tabUdeskTicket
);
String
value
;
if
(
UdeskConstant
.
UDESK_SERVICE_AUDIT
.
equals
(
tabUdeskTapdRel
.
getUdeskIdKey
()))
{
//是否客服内部已审核字段
value
=
customFields
.
get
(
UdeskConstant
.
UDESK_SERVICE_AUDIT
);
if
(
"0"
.
equals
(
value
))
{
value
=
"是"
;
}
else
if
(
"1"
.
equals
(
value
))
{
value
=
"否"
;
}
}
else
if
(
UdeskConstant
.
UDESK_FIELD_TRANSACTOR
.
equals
(
tabUdeskTapdRel
.
getUdeskIdKey
()))
{
//测试负责人
value
=
getCurrentOwner
(
customFields
);
}
else
{
Method
udeskMethod
=
TabUdeskTicket
.
class
.
getMethod
(
tabUdeskTapdRel
.
getUdeskIdKey
());
value
=
(
String
)
udeskMethod
.
invoke
(
tabUdeskTicket
);
}
Method
tapdMethod
=
TapdBugDTO
.
class
.
getMethod
(
tabUdeskTapdRel
.
getTapdId
(),
String
.
class
);
tapdMethod
.
invoke
(
tapdBug
,
value
);
}
catch
(
Exception
e
)
{
...
...
@@ -465,7 +526,7 @@ public class UdeskMessageApiServiceImpl implements UdeskMessageApiService {
* @param tapdBug
* @param tabUdeskTicket
*/
private
void
setTapdCustomField
(
String
workspaceId
,
TapdBugUpdateDTO
tapdBug
,
TabUdeskTicket
tabUdeskTicket
)
{
private
void
setTapdCustomField
(
String
workspaceId
,
TapdBugUpdateDTO
tapdBug
,
TabUdeskTicket
tabUdeskTicket
,
Map
<
String
,
String
>
customFields
)
{
TabUdeskTapdRel
params
=
new
TabUdeskTapdRel
();
params
.
setWorkspaceId
(
workspaceId
);
params
.
setRelType
(
9
);
...
...
@@ -476,8 +537,22 @@ public class UdeskMessageApiServiceImpl implements UdeskMessageApiService {
continue
;
}
try
{
Method
udeskMethod
=
TabUdeskTicket
.
class
.
getMethod
(
udeskIdKey
);
String
value
=
(
String
)
udeskMethod
.
invoke
(
tabUdeskTicket
);
String
value
;
if
(
UdeskConstant
.
UDESK_SERVICE_AUDIT
.
equals
(
tabUdeskTapdRel
.
getUdeskIdKey
()))
{
//是否客服内部已审核字段
value
=
customFields
.
get
(
UdeskConstant
.
UDESK_SERVICE_AUDIT
);
if
(
"0"
.
equals
(
value
))
{
value
=
"是"
;
}
else
if
(
"1"
.
equals
(
value
))
{
value
=
"否"
;
}
}
else
if
(
UdeskConstant
.
UDESK_FIELD_TRANSACTOR
.
equals
(
tabUdeskTapdRel
.
getUdeskIdKey
()))
{
//测试负责人
value
=
getCurrentOwner
(
customFields
);
}
else
{
Method
udeskMethod
=
TabUdeskTicket
.
class
.
getMethod
(
udeskIdKey
);
value
=
(
String
)
udeskMethod
.
invoke
(
tabUdeskTicket
);
}
Method
tapdMethod
=
TapdBugUpdateDTO
.
class
.
getMethod
(
tabUdeskTapdRel
.
getTapdId
(),
String
.
class
);
tapdMethod
.
invoke
(
tapdBug
,
value
);
}
catch
(
Exception
e
)
{
...
...
@@ -558,4 +633,22 @@ public class UdeskMessageApiServiceImpl implements UdeskMessageApiService {
udeskEnterpriseService
.
updateStatus
(
ticketId
,
status
);
}
}
/**
* 获取处理人
* @param customFields
* @return
*/
private
String
getCurrentOwner
(
Map
<
String
,
String
>
customFields
)
{
String
transactorValue
=
customFields
.
get
(
UdeskConstant
.
UDESK_FIELD_TRANSACTOR
);
if
(
StringUtils
.
isNotBlank
(
transactorValue
)){
String
[]
transactors
=
transactorValue
.
split
(
","
);
StringBuilder
builder
=
new
StringBuilder
();
for
(
String
transactor
:
transactors
)
{
builder
.
append
(
udeskTapdRelMap
.
get
(
UdeskConstant
.
UDESK_FIELD_TRANSACTOR
+
":"
+
transactor
)).
append
(
";"
);
}
return
builder
.
toString
();
}
return
null
;
}
}
gic-platform-udesk-service/src/main/java/com/gic/udesk/utils/UdeskConstant.java
View file @
fa894032
...
...
@@ -106,6 +106,16 @@ public class UdeskConstant {
public
static
final
String
UDESK_FIELD_WORKSPACE
=
"SelectField_19946"
;
/**
* 3.0生产:发现版本
*/
public
static
final
String
UDESK_FIELD_VERSION_3
=
"SelectField_69821"
;
/**
* udesk字段:发现版本
*/
public
static
final
String
UDESK_FIELD_VERSION
=
"SelectField_69731"
;
/**
* udesk字段发现阶段
*/
public
static
final
String
UDESK_FIELD_ORIGINPHASE
=
"SelectField_23551"
;
...
...
@@ -131,6 +141,11 @@ public class UdeskConstant {
public
static
final
String
UDESK_FIELD_TRANSACTOR
=
"SelectField_23591"
;
/**
* udesk字段:是否客服内部已审核
*/
public
static
final
String
UDESK_SERVICE_AUDIT
=
"SelectField_73261"
;
/**
* GIC后台对应的基础模块 级联字段
*/
public
static
final
String
GIC_BASE_MODULE_SELECT
=
"SelectField_56661"
;
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/utils/UdeskHttpClientUtil.java
View file @
fa894032
...
...
@@ -31,7 +31,13 @@ import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import
org.apache.http.util.EntityUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
/**
* udesk http链接工具
* @ClassName: UdeskHttpClientUtil
* @Description:
* @author guojuxing
* @date 2020/9/18 10:40 AM
*/
public
class
UdeskHttpClientUtil
{
private
static
final
Logger
logger
=
LogManager
.
getLogger
(
UdeskHttpClientUtil
.
class
);
...
...
@@ -65,7 +71,7 @@ public class UdeskHttpClientUtil {
param
.
put
(
"email"
,
UdeskConstant
.
EMAIL
);
param
.
put
(
"timestamp"
,
timeStamp
);
param
.
put
(
"sign"
,
UdeskUtils
.
getSign
(
timeStamp
));
url
=
UdeskConstant
.
UDESK_URI
+
getU
RL
(
url
,
param
);
url
=
UdeskConstant
.
UDESK_URI
+
getU
rl
(
url
,
param
);
logger
.
info
(
url
);
CloseableHttpResponse
response
=
null
;
try
{
...
...
@@ -158,7 +164,7 @@ public class UdeskHttpClientUtil {
param
.
put
(
"email"
,
UdeskConstant
.
EMAIL
);
param
.
put
(
"timestamp"
,
timeStamp
);
param
.
put
(
"sign"
,
UdeskUtils
.
getSign
(
timeStamp
));
url
=
UdeskConstant
.
UDESK_URI
+
getU
RL
(
url
,
param
);
url
=
UdeskConstant
.
UDESK_URI
+
getU
rl
(
url
,
param
);
logger
.
info
(
url
);
CloseableHttpResponse
response
=
null
;
try
{
...
...
@@ -179,7 +185,7 @@ public class UdeskHttpClientUtil {
public
static
String
getTapdJsonFromParam
(
String
url
,
Map
<
String
,
Object
>
param
)
{
CloseableHttpResponse
response
=
null
;
try
{
url
=
UdeskConstant
.
TAPD_URI
+
getU
RI
Builder
(
url
,
param
);
url
=
UdeskConstant
.
TAPD_URI
+
getU
ri
Builder
(
url
,
param
);
logger
.
info
(
url
);
HttpGet
httpGet
=
new
HttpGet
(
url
);
httpGet
.
setHeader
(
"Authorization"
,
UdeskConstant
.
TAPD_AUTH
);
...
...
@@ -220,7 +226,7 @@ public class UdeskHttpClientUtil {
* @return String
* @throws URISyntaxException
*/
private
static
String
getU
RI
Builder
(
String
uri
,
Map
<
String
,
Object
>
requestParams
)
throws
URISyntaxException
{
private
static
String
getU
ri
Builder
(
String
uri
,
Map
<
String
,
Object
>
requestParams
)
throws
URISyntaxException
{
URIBuilder
uriBuilder
=
new
URIBuilder
(
uri
);
if
(
requestParams
!=
null
&&
requestParams
.
size
()
>
0
)
{
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
requestParams
.
entrySet
())
{
...
...
@@ -236,21 +242,21 @@ public class UdeskHttpClientUtil {
/**
* 拼接URL
*/
private
static
String
getU
RL
(
String
url
,
Map
<
String
,
Object
>
param
)
{
private
static
String
getU
rl
(
String
url
,
Map
<
String
,
Object
>
param
)
{
if
(
param
!=
null
&&
param
.
size
()
>
0
)
{
StringBuilder
urlS
B
=
new
StringBuilder
(
url
);
StringBuilder
urlS
tringBuilder
=
new
StringBuilder
(
url
);
Set
<
Map
.
Entry
<
String
,
Object
>>
paramSet
=
param
.
entrySet
();
boolean
isFirst
=
true
;
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
paramSet
)
{
if
(
isFirst
)
{
urlS
B
.
append
(
"?"
);
urlS
tringBuilder
.
append
(
"?"
);
isFirst
=
false
;
}
else
{
urlS
B
.
append
(
"&"
);
urlS
tringBuilder
.
append
(
"&"
);
}
urlS
B
.
append
(
entry
.
getKey
()).
append
(
"="
).
append
(
entry
.
getValue
());
urlS
tringBuilder
.
append
(
entry
.
getKey
()).
append
(
"="
).
append
(
entry
.
getValue
());
}
return
urlS
B
.
toString
();
return
urlS
tringBuilder
.
toString
();
}
return
url
;
}
...
...
@@ -302,7 +308,6 @@ public class UdeskHttpClientUtil {
multipartEntityBuilder
.
addTextBody
(
"file_name"
,
fileName
);
HttpEntity
httpEntity
=
multipartEntityBuilder
.
build
();
httpPost
.
setEntity
(
httpEntity
);
// httpPost.setHeader("Content-Type", "application/octet-stream");
response
=
httpClient
.
execute
(
httpPost
);
return
response
;
}
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/utils/UdeskUtils.java
View file @
fa894032
package
com
.
gic
.
udesk
.
utils
;
import
org.apache.commons.codec.digest.DigestUtils
;
/**
* udesk密钥
* @ClassName: UdeskUtils
* @Description:
* @author guojuxing
* @date 2020/9/18 10:34 AM
*/
public
class
UdeskUtils
{
public
static
String
getSign
(
long
timeStamp
){
return
DigestUtils
.
sha1Hex
(
UdeskConstant
.
EMAIL
+
"&"
+
UdeskConstant
.
API_TOKEN
+
"&"
+
timeStamp
);
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/utils/field/VersionReport3Enum.java
0 → 100644
View file @
fa894032
package
com
.
gic
.
udesk
.
utils
.
field
;
/**
* 发现版本字段字典数据
* @ClassName: VersionReport3Enum
* @Description:
* @author guojuxing
* @date 2020/5/21 10:23 AM
*/
public
enum
VersionReport3Enum
{
/**
* 0_生产_会员
*/
MEMBER_3
(
"0"
,
"3.0_生产_会员"
),
/**
* 0_生产_企业
*/
ENTERPRISE_3
(
"1"
,
"3.0_生产_企业"
),
/**
* 0_生产_商品
*/
GOODS_3
(
"7"
,
"3.0_生产_商品"
),
/**
* 0_生产_营销
*/
MARKETING_E
(
"3"
,
"3.0_生产_营销"
),
/**
* 0_生产_商城
*/
MALL_3
(
"2"
,
"3.0_生产_商城"
),
/**
* 0_生产_运维
*/
OPERATION_3
(
"4"
,
"3.0_生产_运维"
),
/**
* 0_生产_数据
*/
DATA_3
(
"5"
,
"3.0_生产_数据"
),
/**
* 0_生产_移动
*/
MOBILE_3
(
"6"
,
"3.0_生产_移动"
),
/**
* 0_生产_微盟商城
*/
WM_MALL_3
(
"8"
,
"3.0_生产_微盟商城"
);
private
String
code
;
private
String
message
;
private
VersionReport3Enum
(
String
code
,
String
message
)
{
this
.
code
=
code
;
this
.
message
=
message
;
}
public
static
String
getMessage
(
String
code
)
{
for
(
VersionReport3Enum
versionReportEnum
:
values
())
{
if
(
versionReportEnum
.
getCode
().
equals
(
code
))
{
return
versionReportEnum
.
getMessage
();
}
}
return
null
;
}
public
String
getCode
()
{
return
code
;
}
public
void
setCode
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getMessage
()
{
return
message
;
}
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
}
}
gic-platform-udesk-service/src/main/java/com/gic/udesk/utils/field/VersionReportEnum.java
0 → 100644
View file @
fa894032
package
com
.
gic
.
udesk
.
utils
.
field
;
/**
* 发现版本字段字典数据
* @ClassName: VersionReportEnum
* @Description:
* @author guojuxing
* @date 2020/5/21 10:21 AM
*/
public
enum
VersionReportEnum
{
/**
* 4.0_测试_商品
*/
TEST_GOODS_4
(
"0"
,
"4.0_测试_商品"
),
/**
* 4.0_生产_商品
*/
GOODS_4
(
"1"
,
"4.0_生产_商品"
),
/**
* 0_生产_会员
*/
MEMBER_4
(
"2"
,
"4.0_生产_会员"
),
/**
* 0_测试_会员
*/
TEST_MEMBER_3
(
"3"
,
"3.0_测试_会员"
),
/**
* 0_生产_会员
*/
MEMBER_3
(
"4"
,
"3.0_生产_会员"
),
/**
* 0_测试_会员
*/
TEST_MEMBER_4
(
"5"
,
"4.0_测试_会员"
),
/**
* 0_测试_企业
*/
TEST_ENTERPRISE_4
(
"6"
,
"4.0_测试_企业"
),
/**
* 0_生产_企
*/
ENTERPRISE_4
(
"7"
,
"4.0_生产_企"
),
/**
* 0_测试_企业
*/
TEST_ENTERPRISE_3
(
"8"
,
"3.0_测试_企业"
),
/**
* 0_生产_企业
*/
ENTERPRISE_3
(
"9"
,
"3.0_生产_企业"
);
private
String
code
;
private
String
message
;
private
VersionReportEnum
(
String
code
,
String
message
)
{
this
.
code
=
code
;
this
.
message
=
message
;
}
public
static
String
getMessage
(
String
code
)
{
for
(
VersionReportEnum
versionReportEnum
:
values
())
{
if
(
versionReportEnum
.
getCode
().
equals
(
code
))
{
return
versionReportEnum
.
getMessage
();
}
}
return
null
;
}
public
String
getCode
()
{
return
code
;
}
public
void
setCode
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getMessage
()
{
return
message
;
}
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
}
}
gic-platform-udesk-web/src/main/java/com/gic/udesk/web/controller/GicTicketController.java
View file @
fa894032
...
...
@@ -27,7 +27,13 @@ import com.gic.udesk.qo.TicketListQO;
import
com.gic.udesk.service.GicTicketApiService
;
import
com.gic.udesk.service.UdeskBaseApiService
;
import
com.gic.udesk.web.utils.UdeskHttpClientUtil
;
/**
* gic工单
* @ClassName: GicTicketController
* @Description:
* @author guojuxing
* @date 2020/9/18 10:39 AM
*/
@RestController
public
class
GicTicketController
{
private
static
final
Logger
LOGGER
=
LogManager
.
getLogger
(
GicTicketController
.
class
);
...
...
@@ -37,6 +43,11 @@ public class GicTicketController {
@Autowired
private
GicTicketApiService
gicTicketApiService
;
/**
* udesk请求返回正确码
*/
public
static
final
int
UDESK_SUCCESS_CODE
=
1000
;
@RequestMapping
(
"/get-gic-service-select"
)
@IgnoreLogin
public
RestResponse
getGicServiceSelect
()
{
...
...
@@ -113,7 +124,7 @@ public class GicTicketController {
String
replyRespStr
=
UdeskHttpClientUtil
.
postUdeskJsonFromJsonForFile
(
"/tickets/upload_file"
,
Integer
.
parseInt
(
ticketId
),
file
);
LOGGER
.
info
(
"desk工单上传附件返回为{}"
,
replyRespStr
);
UploadFileDTO
result
=
JSON
.
parseObject
(
replyRespStr
,
UploadFileDTO
.
class
);
if
(
result
.
getCode
()
==
1000
)
{
if
(
result
.
getCode
()
==
UDESK_SUCCESS_CODE
)
{
return
RestResponse
.
success
();
}
return
RestResponse
.
failure
(
ErrorCode
.
SYSTEM_ERROR
.
getCode
(),
result
.
getMessage
());
...
...
gic-platform-udesk-web/src/main/java/com/gic/udesk/web/controller/MessageController.java
View file @
fa894032
...
...
@@ -15,7 +15,13 @@ import com.gic.udesk.constant.UdeskSharedConstant;
import
com.gic.udesk.dto.UdeskMessageDTO
;
import
com.gic.udesk.service.TapdMessageApiService
;
import
com.gic.udesk.service.UdeskMessageApiService
;
/**
* 监听消息
* @ClassName: MessageController
* @Description:
* @author guojuxing
* @date 2020/9/18 10:38 AM
*/
@RestController
public
class
MessageController
{
private
static
final
Logger
logger
=
LogManager
.
getLogger
(
MessageController
.
class
);
...
...
gic-platform-udesk-web/src/main/java/com/gic/udesk/web/controller/TapdConfigController.java
View file @
fa894032
...
...
@@ -11,7 +11,13 @@ import com.gic.commons.webapi.reponse.RestResponse;
import
com.gic.enterprise.ano.IgnoreLogin
;
import
com.gic.enterprise.utils.ResultControllerUtils
;
import
com.gic.udesk.service.TapdConfigApiService
;
/**
* tapd字典
* @ClassName: TapdConfigController
* @Description:
* @author guojuxing
* @date 2020/9/18 10:38 AM
*/
@RestController
public
class
TapdConfigController
{
...
...
gic-platform-udesk-web/src/main/java/com/gic/udesk/web/utils/UdeskHttpClientUtil.java
View file @
fa894032
...
...
@@ -32,7 +32,13 @@ import org.apache.http.util.EntityUtils;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.web.multipart.MultipartFile
;
/**
* 链接工具
* @ClassName: UdeskHttpClientUtil
* @Description:
* @author guojuxing
* @date 2020/9/18 10:39 AM
*/
public
class
UdeskHttpClientUtil
{
private
static
final
Logger
logger
=
LogManager
.
getLogger
(
UdeskHttpClientUtil
.
class
);
...
...
@@ -87,7 +93,7 @@ public class UdeskHttpClientUtil {
* @return String
* @throws URISyntaxException
*/
private
static
String
getU
RI
Builder
(
String
uri
,
Map
<
String
,
Object
>
requestParams
)
throws
URISyntaxException
{
private
static
String
getU
ri
Builder
(
String
uri
,
Map
<
String
,
Object
>
requestParams
)
throws
URISyntaxException
{
URIBuilder
uriBuilder
=
new
URIBuilder
(
uri
);
if
(
requestParams
!=
null
&&
requestParams
.
size
()
>
0
)
{
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
requestParams
.
entrySet
())
{
...
...
@@ -103,21 +109,21 @@ public class UdeskHttpClientUtil {
/**
* 拼接URL
*/
private
static
String
getU
RL
(
String
url
,
Map
<
String
,
Object
>
param
)
{
private
static
String
getU
rl
(
String
url
,
Map
<
String
,
Object
>
param
)
{
if
(
param
!=
null
&&
param
.
size
()
>
0
)
{
StringBuilder
urlS
B
=
new
StringBuilder
(
url
);
StringBuilder
urlS
tringBuilder
=
new
StringBuilder
(
url
);
Set
<
Map
.
Entry
<
String
,
Object
>>
paramSet
=
param
.
entrySet
();
boolean
isFirst
=
true
;
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
paramSet
)
{
if
(
isFirst
)
{
urlS
B
.
append
(
"?"
);
urlS
tringBuilder
.
append
(
"?"
);
isFirst
=
false
;
}
else
{
urlS
B
.
append
(
"&"
);
urlS
tringBuilder
.
append
(
"&"
);
}
urlS
B
.
append
(
entry
.
getKey
()).
append
(
"="
).
append
(
entry
.
getValue
());
urlS
tringBuilder
.
append
(
entry
.
getKey
()).
append
(
"="
).
append
(
entry
.
getValue
());
}
return
urlS
B
.
toString
();
return
urlS
tringBuilder
.
toString
();
}
return
url
;
}
...
...
gic-platform-udesk-web/src/main/java/com/gic/udesk/web/utils/UdeskUtils.java
View file @
fa894032
package
com
.
gic
.
udesk
.
web
.
utils
;
import
org.apache.commons.codec.digest.DigestUtils
;
/**
* udesk密钥
* @ClassName: UdeskUtils
* @Description:
* @author guojuxing
* @date 2020/9/18 10:39 AM
*/
public
class
UdeskUtils
{
public
static
String
getSign
(
long
timeStamp
){
return
DigestUtils
.
sha1Hex
(
"jingjiawei@demogic.com&2a83c020-2309-4064-b4eb-af1367425c99&"
+
timeStamp
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment