mirror of
https://github.com/chatopera/cosin.git
synced 2025-08-01 16:38:02 +08:00
Fix QuickReplyRepository related class
This commit is contained in:
parent
226171df3d
commit
d6984af676
@ -22,15 +22,17 @@ import com.chatopera.cc.persistence.es.QuickReplyRepository;
|
||||
import com.chatopera.cc.util.Menu;
|
||||
import com.chatopera.cc.util.RestResult;
|
||||
import com.chatopera.cc.util.RestResultType;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.lang.NonNull;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.server.ResponseStatusException;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.validation.Valid;
|
||||
@ -41,22 +43,23 @@ import javax.validation.Valid;
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api/quickreply")
|
||||
@RequiredArgsConstructor
|
||||
public class ApiQuickReplyController extends Handler {
|
||||
|
||||
@Autowired
|
||||
private QuickReplyRepository quickReplyRepository;
|
||||
@NonNull
|
||||
private final QuickReplyRepository quickReplyRepository;
|
||||
|
||||
/**
|
||||
* 返回快捷回复列表,cate为分类id,通过/api/quicktype 获取分类id,支持分页,分页参数为 p=1&ps=50,默认分页尺寸为 20条每页
|
||||
* @param request
|
||||
* @param cate 搜索分类id,精确搜索,通过/api/quicktype 获取分类id
|
||||
* @return
|
||||
*
|
||||
* @param cate 搜索分类id,精确搜索,通过/api/quicktype 获取分类id
|
||||
*/
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@Menu(type = "apps", subtype = "quickreply", access = true)
|
||||
public ResponseEntity<RestResult> list(HttpServletRequest request, String id, @Valid String cate, @Valid String q, Integer p, Integer ps) {
|
||||
if (StringUtils.isNotBlank(id)) {
|
||||
return new ResponseEntity<>(new RestResult(RestResultType.OK, quickReplyRepository.findOne(id)), HttpStatus.OK);
|
||||
return new ResponseEntity<>(new RestResult(RestResultType.OK, quickReplyRepository.findById(id)
|
||||
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, String.format("Quick reply %s not found", id)))), HttpStatus.OK);
|
||||
}
|
||||
|
||||
Page<QuickReply> replyList = quickReplyRepository.getByOrgiAndCate(getOrgi(request), cate, q,
|
||||
@ -66,9 +69,6 @@ public class ApiQuickReplyController extends Handler {
|
||||
|
||||
/**
|
||||
* 新增或修改快捷回复
|
||||
* @param request
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(method = RequestMethod.PUT)
|
||||
@Menu(type = "apps", subtype = "quickreply", access = true)
|
||||
@ -83,21 +83,13 @@ public class ApiQuickReplyController extends Handler {
|
||||
|
||||
/**
|
||||
* 删除用户,只提供 按照用户ID删除
|
||||
* @param request
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(method = RequestMethod.DELETE)
|
||||
@Menu(type = "apps", subtype = "quickreply", access = true)
|
||||
public ResponseEntity<RestResult> delete(HttpServletRequest request, @Valid String id) {
|
||||
public ResponseEntity<RestResult> delete(@Valid String id) {
|
||||
RestResult result = new RestResult(RestResultType.OK);
|
||||
if (!StringUtils.isBlank(id)) {
|
||||
QuickReply reply = quickReplyRepository.findOne(id);
|
||||
if (reply != null) {
|
||||
quickReplyRepository.delete(reply);
|
||||
} else {
|
||||
return new ResponseEntity<>(new RestResult(RestResultType.ORGAN_DELETE), HttpStatus.OK);
|
||||
}
|
||||
quickReplyRepository.deleteById(id);
|
||||
}
|
||||
return new ResponseEntity<>(result, HttpStatus.OK);
|
||||
}
|
||||
|
@ -1,111 +1,105 @@
|
||||
/*
|
||||
* Copyright (C) 2017 优客服-多渠道客服系统
|
||||
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.chatopera.cc.controller.api;
|
||||
|
||||
import com.chatopera.cc.controller.Handler;
|
||||
import com.chatopera.cc.model.QuickType;
|
||||
import com.chatopera.cc.persistence.es.QuickReplyRepository;
|
||||
import com.chatopera.cc.persistence.repository.QuickTypeRepository;
|
||||
import com.chatopera.cc.util.Menu;
|
||||
import com.chatopera.cc.util.RestResult;
|
||||
import com.chatopera.cc.util.RestResultType;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.validation.Valid;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 快捷回复分类服务
|
||||
* 快捷回复分类管理功能
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api/quicktype")
|
||||
public class ApiQuickTypeController extends Handler {
|
||||
|
||||
@Autowired
|
||||
private QuickTypeRepository quickTypeRepository;
|
||||
|
||||
@Autowired
|
||||
private QuickReplyRepository quickReplyRepository;
|
||||
|
||||
/**
|
||||
* 返回快捷回复分类列表
|
||||
* @param request
|
||||
* @param quicktype 搜索pub,pri
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@Menu(type = "apps", subtype = "quicktype", access = true)
|
||||
public ResponseEntity<RestResult> list(HttpServletRequest request, @Valid String id, @Valid String quicktype) {
|
||||
if (StringUtils.isNotBlank(id)) {
|
||||
return new ResponseEntity<>(new RestResult(RestResultType.OK, quickTypeRepository.findOne(id)), HttpStatus.OK);
|
||||
}
|
||||
List<QuickType> quickTypeList = quickTypeRepository.findByOrgiAndQuicktype(getOrgi(request), quicktype);
|
||||
return new ResponseEntity<>(new RestResult(RestResultType.OK, quickTypeList), HttpStatus.OK);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增或修改快捷回复分类
|
||||
* @param request
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(method = RequestMethod.PUT)
|
||||
@Menu(type = "apps", subtype = "quicktype", access = true)
|
||||
public ResponseEntity<RestResult> put(HttpServletRequest request, @Valid QuickType quickType) {
|
||||
if (quickType != null && !StringUtils.isBlank(quickType.getName())) {
|
||||
quickType.setOrgi(getOrgi(request));
|
||||
quickType.setCreater(getUser(request).getId());
|
||||
quickType.setCreatetime(new Date());
|
||||
if (StringUtils.isNotBlank(quickType.getId())) {
|
||||
quickType.setUpdatetime(new Date());
|
||||
}
|
||||
quickType = quickTypeRepository.save(quickType);
|
||||
}
|
||||
return new ResponseEntity<>(new RestResult(RestResultType.OK, quickType), HttpStatus.OK);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除分类,并且删除分类下的快捷回复
|
||||
* @param request
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(method = RequestMethod.DELETE)
|
||||
@Menu(type = "apps", subtype = "reply", access = true)
|
||||
public ResponseEntity<RestResult> delete(HttpServletRequest request, @Valid String id) {
|
||||
RestResult result = new RestResult(RestResultType.OK);
|
||||
if (!StringUtils.isBlank(id)) {
|
||||
QuickType quickType = quickTypeRepository.findOne(id);
|
||||
if (quickType != null) {
|
||||
quickReplyRepository.deleteByCate(quickType.getId(), quickType.getOrgi());
|
||||
quickTypeRepository.delete(quickType);
|
||||
} else {
|
||||
return new ResponseEntity<>(new RestResult(RestResultType.ORGAN_DELETE), HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
return new ResponseEntity<>(result, HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Copyright (C) 2017 优客服-多渠道客服系统
|
||||
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.chatopera.cc.controller.api;
|
||||
|
||||
import com.chatopera.cc.controller.Handler;
|
||||
import com.chatopera.cc.model.QuickType;
|
||||
import com.chatopera.cc.persistence.es.QuickReplyRepository;
|
||||
import com.chatopera.cc.persistence.repository.QuickTypeRepository;
|
||||
import com.chatopera.cc.util.Menu;
|
||||
import com.chatopera.cc.util.RestResult;
|
||||
import com.chatopera.cc.util.RestResultType;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.lang.NonNull;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.server.ResponseStatusException;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.validation.Valid;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 快捷回复分类服务
|
||||
* 快捷回复分类管理功能
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api/quicktype")
|
||||
@RequiredArgsConstructor
|
||||
public class ApiQuickTypeController extends Handler {
|
||||
|
||||
@NonNull
|
||||
private final QuickTypeRepository quickTypeRepository;
|
||||
|
||||
@NonNull
|
||||
private final QuickReplyRepository quickReplyRepository;
|
||||
|
||||
/**
|
||||
* 返回快捷回复分类列表
|
||||
*
|
||||
* @param quicktype 搜索pub,pri
|
||||
*/
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@Menu(type = "apps", subtype = "quicktype", access = true)
|
||||
public ResponseEntity<RestResult> list(HttpServletRequest request, @Valid String id, @Valid String quicktype) {
|
||||
if (StringUtils.isNotBlank(id)) {
|
||||
return new ResponseEntity<>(new RestResult(RestResultType.OK, quickTypeRepository.findById(id)
|
||||
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, String.format("Quick type %s not found", id)))), HttpStatus.OK);
|
||||
}
|
||||
List<QuickType> quickTypeList = quickTypeRepository.findByOrgiAndQuicktype(getOrgi(request), quicktype);
|
||||
return new ResponseEntity<>(new RestResult(RestResultType.OK, quickTypeList), HttpStatus.OK);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增或修改快捷回复分类
|
||||
*/
|
||||
@RequestMapping(method = RequestMethod.PUT)
|
||||
@Menu(type = "apps", subtype = "quicktype", access = true)
|
||||
public ResponseEntity<RestResult> put(HttpServletRequest request, @Valid QuickType quickType) {
|
||||
if (quickType != null && !StringUtils.isBlank(quickType.getName())) {
|
||||
quickType.setOrgi(getOrgi(request));
|
||||
quickType.setCreater(getUser(request).getId());
|
||||
quickType.setCreatetime(new Date());
|
||||
if (StringUtils.isNotBlank(quickType.getId())) {
|
||||
quickType.setUpdatetime(new Date());
|
||||
}
|
||||
quickType = quickTypeRepository.save(quickType);
|
||||
}
|
||||
return new ResponseEntity<>(new RestResult(RestResultType.OK, quickType), HttpStatus.OK);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除分类,并且删除分类下的快捷回复
|
||||
*/
|
||||
@RequestMapping(method = RequestMethod.DELETE)
|
||||
@Menu(type = "apps", subtype = "reply", access = true)
|
||||
public ResponseEntity<RestResult> delete(@Valid String id) {
|
||||
RestResult result = new RestResult(RestResultType.OK);
|
||||
if (!StringUtils.isBlank(id)) {
|
||||
quickTypeRepository.findById(id).ifPresent(quickType -> {
|
||||
quickReplyRepository.deleteByCate(quickType.getId(), quickType.getOrgi());
|
||||
quickTypeRepository.delete(quickType);
|
||||
});
|
||||
}
|
||||
return new ResponseEntity<>(result, HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
@ -1,40 +1,39 @@
|
||||
/*
|
||||
* Copyright (C) 2017 优客服-多渠道客服系统
|
||||
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.chatopera.cc.util.dsdata.process;
|
||||
|
||||
import com.chatopera.cc.model.QuickReply;
|
||||
import com.chatopera.cc.persistence.es.QuickReplyRepository;
|
||||
|
||||
public class QuickReplyProcess implements JPAProcess{
|
||||
|
||||
private QuickReplyRepository quickReplyRes ;
|
||||
|
||||
public QuickReplyProcess(QuickReplyRepository quickReplyRes){
|
||||
this.quickReplyRes = quickReplyRes ;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(Object data) {
|
||||
quickReplyRes.save((QuickReply)data) ;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void end() {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
/*
|
||||
* Copyright (C) 2017 优客服-多渠道客服系统
|
||||
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.chatopera.cc.util.dsdata.process;
|
||||
|
||||
import com.chatopera.cc.model.QuickReply;
|
||||
import com.chatopera.cc.persistence.es.QuickReplyRepository;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.lang.NonNull;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
public class QuickReplyProcess implements JPAProcess {
|
||||
@NonNull
|
||||
private final QuickReplyRepository quickReplyRes;
|
||||
|
||||
@Override
|
||||
public void process(Object data) {
|
||||
quickReplyRes.save((QuickReply) data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void end() {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user