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
2a2f747c
You need to sign in or sign up before continuing.
Commit
2a2f747c
authored
Dec 27, 2019
by
guojuxing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
工单提交/查询/关闭
parent
0cb2b416
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
120 additions
and
13 deletions
+120
-13
UdeskStatusEnum.java
...src/main/java/com/gic/udesk/constant/UdeskStatusEnum.java
+16
-5
GicTicketDTO.java
...api/src/main/java/com/gic/udesk/dto/gic/GicTicketDTO.java
+26
-0
GicTicketApiService.java
.../main/java/com/gic/udesk/service/GicTicketApiService.java
+10
-0
GicTicketApiServiceImpl.java
...gic/udesk/service/outer/impl/GicTicketApiServiceImpl.java
+35
-3
UdeskConstant.java
...vice/src/main/java/com/gic/udesk/utils/UdeskConstant.java
+9
-0
GicTicketController.java
...ava/com/gic/udesk/web/controller/GicTicketController.java
+24
-5
No files found.
gic-platform-udesk-api/src/main/java/com/gic/udesk/constant/UdeskStatusEnum.java
View file @
2a2f747c
...
...
@@ -6,18 +6,21 @@ import java.util.List;
import
java.util.Map
;
public
enum
UdeskStatusEnum
{
OPEN
(
"open"
,
"开启"
),
SOLVING
(
"solving"
,
"解决中"
),
RESOLVED
(
"resolved"
,
"已解决"
),
CLOSED
(
"closed"
,
"已关闭"
);
OPEN
(
"open"
,
"开启"
,
1
),
SOLVING
(
"solving"
,
"解决中"
,
4
),
RESOLVED
(
"resolved"
,
"已解决"
,
2
),
CLOSED
(
"closed"
,
"已关闭"
,
3
);
private
String
code
;
private
String
message
;
private
UdeskStatusEnum
(
String
code
,
String
message
)
{
private
int
value
;
private
UdeskStatusEnum
(
String
code
,
String
message
,
int
value
)
{
this
.
code
=
code
;
this
.
message
=
message
;
this
.
value
=
value
;
}
public
static
List
<
Map
<
String
,
Object
>>
list
()
{
...
...
@@ -46,4 +49,12 @@ public enum UdeskStatusEnum {
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
}
public
int
getValue
()
{
return
value
;
}
public
void
setValue
(
int
value
)
{
this
.
value
=
value
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/dto/gic/GicTicketDTO.java
View file @
2a2f747c
...
...
@@ -32,6 +32,16 @@ public class GicTicketDTO implements Serializable{
private
String
status
;
/**
* 工单模板id
*/
private
Integer
template_id
;
/**
* 自定义字段的json字符串接收
*/
private
String
ticketFieldJsonStr
;
/**
* 自定义字段
*/
private
Map
<
String
,
String
>
ticket_field
;
...
...
@@ -75,4 +85,20 @@ public class GicTicketDTO implements Serializable{
public
void
setBusinessModuleType
(
Integer
businessModuleType
)
{
this
.
businessModuleType
=
businessModuleType
;
}
public
Integer
getTemplate_id
()
{
return
template_id
;
}
public
void
setTemplate_id
(
Integer
template_id
)
{
this
.
template_id
=
template_id
;
}
public
String
getTicketFieldJsonStr
()
{
return
ticketFieldJsonStr
;
}
public
void
setTicketFieldJsonStr
(
String
ticketFieldJsonStr
)
{
this
.
ticketFieldJsonStr
=
ticketFieldJsonStr
;
}
}
gic-platform-udesk-api/src/main/java/com/gic/udesk/service/GicTicketApiService.java
View file @
2a2f747c
...
...
@@ -47,4 +47,14 @@ public interface GicTicketApiService {
* @return com.gic.api.base.commons.ServiceResponse<com.gic.udesk.dto.gic.TicketRepliesDTO>
*/
ServiceResponse
<
TicketRepliesDTO
>
getTicketReplies
(
Integer
ticketId
,
Integer
currentPage
,
Integer
pageSize
);
/**
* 关闭工单
* @Title: closeTicket
* @Description:
* @author guojuxing
* @param ticketId
* @return com.gic.api.base.commons.ServiceResponse<java.lang.String>
*/
ServiceResponse
<
String
>
closeTicket
(
Integer
ticketId
);
}
gic-platform-udesk-service/src/main/java/com/gic/udesk/service/outer/impl/GicTicketApiServiceImpl.java
View file @
2a2f747c
...
...
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.PageHelperUtils
;
import
com.gic.enterprise.error.ErrorCode
;
import
com.gic.udesk.constant.UdeskStatusEnum
;
import
com.gic.udesk.dto.UdeskTicketDetailDTO
;
import
com.gic.udesk.dto.customfield.UdeskCustomFieldOptionDTO
;
import
com.gic.udesk.dto.gic.TicketRepliesDTO
;
...
...
@@ -43,6 +44,11 @@ public class GicTicketApiServiceImpl implements GicTicketApiService{
* udesk工单接口 (创建)
*/
private
static
final
String
UDESK_CREATE_TICKET
=
"/tickets/"
;
/**
* udesk工单接口 (更新)
*/
private
static
final
String
UDESK_UPDATE_TICKET
=
"/tickets/"
;
/**
* udesk工单详情接口路径
*/
...
...
@@ -55,11 +61,20 @@ public class GicTicketApiServiceImpl implements GicTicketApiService{
if
(
isNotRightBusinessModuleType
)
{
return
ServiceResponse
.
failure
(
ErrorCode
.
PARAMETER_ERROR
.
getCode
(),
"模块类型错误,数值非法"
);
}
String
params
=
JSON
.
toJSONString
(
gicTicketDTO
);
//设置模板ID
if
(
businessModuleType
.
intValue
()
==
1
)
{
gicTicketDTO
.
setTemplate_id
(
UdeskConstant
.
GIC_BASE_MODULE_TEMPLATE_ID
);
}
else
{
gicTicketDTO
.
setTemplate_id
(
UdeskConstant
.
APP_MODULE_TEMPLATE_ID
);
}
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>(
4
);
paramMap
.
put
(
"ticket"
,
gicTicketDTO
);
String
params
=
JSON
.
toJSONString
(
paramMap
);
LOGGER
.
info
(
"gic新建udesk工单,内容为:{}"
,
params
);
String
respStr
=
UdeskHttpClientUtil
.
p
u
tUdeskJsonFromJson
(
UDESK_CREATE_TICKET
,
params
);
LOGGER
.
info
(
"
更新
udesk工单,工单返回为:{}"
,
respStr
);
.
p
os
tUdeskJsonFromJson
(
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
)
{
Integer
ticketId
=
createResDTO
.
getTicket_id
();
...
...
@@ -118,6 +133,23 @@ public class GicTicketApiServiceImpl implements GicTicketApiService{
return
ServiceResponse
.
failure
(
ErrorCode
.
SYSTEM_ERROR
.
getCode
(),
"无数据"
);
}
@Override
public
ServiceResponse
<
String
>
closeTicket
(
Integer
ticketId
)
{
JSONObject
param
=
new
JSONObject
();
JSONObject
updateJson
=
new
JSONObject
();
updateJson
.
put
(
"status_id"
,
UdeskStatusEnum
.
CLOSED
.
getValue
());
param
.
put
(
"ticket"
,
updateJson
);
LOGGER
.
info
(
"更新udesk工单,工单Id:{},更新内容为:{}"
,
ticketId
,
param
.
toJSONString
());
String
updateTicketRespStr
=
UdeskHttpClientUtil
.
putUdeskJsonFromJson
(
UDESK_UPDATE_TICKET
+
ticketId
,
param
.
toJSONString
());
LOGGER
.
info
(
"更新udesk工单,工单返回为:{}"
,
updateTicketRespStr
);
UdeskTicketDetailDTO
updateDetail
=
JSON
.
parseObject
(
updateTicketRespStr
,
UdeskTicketDetailDTO
.
class
);
if
(
updateDetail
!=
null
&&
updateDetail
.
getCode
()
==
UdeskConstant
.
UDESK_SUCCESS_CODE
)
{
return
ServiceResponse
.
success
(
updateDetail
.
getMessage
());
}
return
ServiceResponse
.
failure
(
ErrorCode
.
SYSTEM_ERROR
.
getCode
(),
updateDetail
.
getMessage
());
}
/**
* udesk工单详情接口
* @param id
...
...
gic-platform-udesk-service/src/main/java/com/gic/udesk/utils/UdeskConstant.java
View file @
2a2f747c
...
...
@@ -136,9 +136,18 @@ public class UdeskConstant {
public
static
final
String
GIC_BASE_MODULE_SELECT
=
"SelectField_56661"
;
/**
* GIC后台对应的基础模块 模板ID
*/
public
static
final
Integer
GIC_BASE_MODULE_TEMPLATE_ID
=
97811
;
/**
* GIC应用模块工单 应用模块名称
*/
public
static
final
String
APP_MODULE_NAME
=
"TextField_101931"
;
/**
* GIC应用模块工单 模板ID
*/
public
static
Integer
APP_MODULE_TEMPLATE_ID
=
99311
;
/**
* udesk来源的类型异常
...
...
gic-platform-udesk-web/src/main/java/com/gic/udesk/web/controller/GicTicketController.java
View file @
2a2f747c
package
com
.
gic
.
udesk
.
web
.
controller
;
import
java.util.Map
;
import
javax.servlet.http.HttpServletRequest
;
import
com.gic.udesk.qo.TicketListQO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
...
...
@@ -17,11 +18,10 @@ import com.gic.commons.webapi.reponse.RestResponse;
import
com.gic.enterprise.ano.IgnoreLogin
;
import
com.gic.enterprise.error.ErrorCode
;
import
com.gic.enterprise.utils.ResultControllerUtils
;
import
com.gic.udesk.constant.AgentPermissionEnum
;
import
com.gic.udesk.constant.CalculateResultTypeEnum
;
import
com.gic.udesk.constant.CustomFieldContentTypeEnum
;
import
com.gic.udesk.constant.CustomerPermissionEnum
;
import
com.gic.udesk.constant.*
;
import
com.gic.udesk.dto.gic.GicTicketDTO
;
import
com.gic.udesk.dto.uploadfile.UploadFileDTO
;
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
;
...
...
@@ -65,12 +65,25 @@ public class GicTicketController {
return
ResultControllerUtils
.
commonResult
(
gicTicketApiService
.
getTicketReplies
(
ticketId
,
currentPage
,
pageSize
));
}
@RequestMapping
(
"/add-ticket"
)
@IgnoreLogin
public
RestResponse
addTicket
(
GicTicketDTO
dto
)
{
dto
.
setTicket_field
(
JSON
.
parseObject
(
dto
.
getTicketFieldJsonStr
(),
Map
.
class
));
return
ResultControllerUtils
.
commonResult
(
gicTicketApiService
.
saveTicket
(
dto
));
}
@RequestMapping
(
"/list-ticket"
)
@IgnoreLogin
public
RestResponse
page
(
TicketListQO
params
)
{
return
ResultControllerUtils
.
commonResult
(
gicTicketApiService
.
page
(
params
));
}
@RequestMapping
(
"/close-ticket"
)
@IgnoreLogin
public
RestResponse
closeTicket
(
Integer
ticketId
)
{
return
ResultControllerUtils
.
commonResult
(
gicTicketApiService
.
closeTicket
(
ticketId
));
}
@RequestMapping
(
"/ticket-upload-file"
)
@IgnoreLogin
public
RestResponse
getCustomFieldFromUdeskTemplates
(
HttpServletRequest
request
)
throws
Exception
{
...
...
@@ -114,6 +127,12 @@ public class GicTicketController {
return
RestResponse
.
success
(
CalculateResultTypeEnum
.
list
());
}
@RequestMapping
(
"/ticket-status-enum"
)
@IgnoreLogin
public
RestResponse
ticketStatusEnum
()
{
return
RestResponse
.
success
(
UdeskStatusEnum
.
list
());
}
/**
* udesk自定义字段 客户权限
* @return
...
...
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