1
0
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:
dengchao@xgtl 2020-04-17 10:51:17 +08:00
parent 226171df3d
commit d6984af676
3 changed files with 156 additions and 171 deletions

View File

@ -22,15 +22,17 @@ import com.chatopera.cc.persistence.es.QuickReplyRepository;
import com.chatopera.cc.util.Menu; import com.chatopera.cc.util.Menu;
import com.chatopera.cc.util.RestResult; import com.chatopera.cc.util.RestResult;
import com.chatopera.cc.util.RestResultType; import com.chatopera.cc.util.RestResultType;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.lang.NonNull;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.server.ResponseStatusException;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid; import javax.validation.Valid;
@ -41,22 +43,23 @@ import javax.validation.Valid;
*/ */
@RestController @RestController
@RequestMapping("/api/quickreply") @RequestMapping("/api/quickreply")
@RequiredArgsConstructor
public class ApiQuickReplyController extends Handler { public class ApiQuickReplyController extends Handler {
@Autowired @NonNull
private QuickReplyRepository quickReplyRepository; private final QuickReplyRepository quickReplyRepository;
/** /**
* 返回快捷回复列表cate为分类id通过/api/quicktype 获取分类id支持分页分页参数为 p=1&ps=50默认分页尺寸为 20条每页 * 返回快捷回复列表cate为分类id通过/api/quicktype 获取分类id支持分页分页参数为 p=1&ps=50默认分页尺寸为 20条每页
* @param request *
* @param cate 搜索分类id精确搜索通过/api/quicktype 获取分类id * @param cate 搜索分类id精确搜索通过/api/quicktype 获取分类id
* @return
*/ */
@RequestMapping(method = RequestMethod.GET) @RequestMapping(method = RequestMethod.GET)
@Menu(type = "apps", subtype = "quickreply", access = true) @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) { public ResponseEntity<RestResult> list(HttpServletRequest request, String id, @Valid String cate, @Valid String q, Integer p, Integer ps) {
if (StringUtils.isNotBlank(id)) { 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, 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) @RequestMapping(method = RequestMethod.PUT)
@Menu(type = "apps", subtype = "quickreply", access = true) @Menu(type = "apps", subtype = "quickreply", access = true)
@ -83,21 +83,13 @@ public class ApiQuickReplyController extends Handler {
/** /**
* 删除用户只提供 按照用户ID删除 * 删除用户只提供 按照用户ID删除
* @param request
* @param id
* @return
*/ */
@RequestMapping(method = RequestMethod.DELETE) @RequestMapping(method = RequestMethod.DELETE)
@Menu(type = "apps", subtype = "quickreply", access = true) @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); RestResult result = new RestResult(RestResultType.OK);
if (!StringUtils.isBlank(id)) { if (!StringUtils.isBlank(id)) {
QuickReply reply = quickReplyRepository.findOne(id); quickReplyRepository.deleteById(id);
if (reply != null) {
quickReplyRepository.delete(reply);
} else {
return new ResponseEntity<>(new RestResult(RestResultType.ORGAN_DELETE), HttpStatus.OK);
}
} }
return new ResponseEntity<>(result, HttpStatus.OK); return new ResponseEntity<>(result, HttpStatus.OK);
} }

View File

@ -23,13 +23,15 @@ import com.chatopera.cc.persistence.repository.QuickTypeRepository;
import com.chatopera.cc.util.Menu; import com.chatopera.cc.util.Menu;
import com.chatopera.cc.util.RestResult; import com.chatopera.cc.util.RestResult;
import com.chatopera.cc.util.RestResultType; import com.chatopera.cc.util.RestResultType;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.lang.NonNull;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.server.ResponseStatusException;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid; import javax.validation.Valid;
@ -42,25 +44,26 @@ import java.util.List;
*/ */
@RestController @RestController
@RequestMapping("/api/quicktype") @RequestMapping("/api/quicktype")
@RequiredArgsConstructor
public class ApiQuickTypeController extends Handler { public class ApiQuickTypeController extends Handler {
@Autowired @NonNull
private QuickTypeRepository quickTypeRepository; private final QuickTypeRepository quickTypeRepository;
@Autowired @NonNull
private QuickReplyRepository quickReplyRepository; private final QuickReplyRepository quickReplyRepository;
/** /**
* 返回快捷回复分类列表 * 返回快捷回复分类列表
* @param request *
* @param quicktype 搜索pub,pri * @param quicktype 搜索pub,pri
* @return
*/ */
@RequestMapping(method = RequestMethod.GET) @RequestMapping(method = RequestMethod.GET)
@Menu(type = "apps", subtype = "quicktype", access = true) @Menu(type = "apps", subtype = "quicktype", access = true)
public ResponseEntity<RestResult> list(HttpServletRequest request, @Valid String id, @Valid String quicktype) { public ResponseEntity<RestResult> list(HttpServletRequest request, @Valid String id, @Valid String quicktype) {
if (StringUtils.isNotBlank(id)) { if (StringUtils.isNotBlank(id)) {
return new ResponseEntity<>(new RestResult(RestResultType.OK, quickTypeRepository.findOne(id)), HttpStatus.OK); 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); List<QuickType> quickTypeList = quickTypeRepository.findByOrgiAndQuicktype(getOrgi(request), quicktype);
return new ResponseEntity<>(new RestResult(RestResultType.OK, quickTypeList), HttpStatus.OK); return new ResponseEntity<>(new RestResult(RestResultType.OK, quickTypeList), HttpStatus.OK);
@ -68,9 +71,6 @@ public class ApiQuickTypeController extends Handler {
/** /**
* 新增或修改快捷回复分类 * 新增或修改快捷回复分类
* @param request
* @param user
* @return
*/ */
@RequestMapping(method = RequestMethod.PUT) @RequestMapping(method = RequestMethod.PUT)
@Menu(type = "apps", subtype = "quicktype", access = true) @Menu(type = "apps", subtype = "quicktype", access = true)
@ -89,22 +89,16 @@ public class ApiQuickTypeController extends Handler {
/** /**
* 删除分类并且删除分类下的快捷回复 * 删除分类并且删除分类下的快捷回复
* @param request
* @param id
* @return
*/ */
@RequestMapping(method = RequestMethod.DELETE) @RequestMapping(method = RequestMethod.DELETE)
@Menu(type = "apps", subtype = "reply", access = true) @Menu(type = "apps", subtype = "reply", access = true)
public ResponseEntity<RestResult> delete(HttpServletRequest request, @Valid String id) { public ResponseEntity<RestResult> delete(@Valid String id) {
RestResult result = new RestResult(RestResultType.OK); RestResult result = new RestResult(RestResultType.OK);
if (!StringUtils.isBlank(id)) { if (!StringUtils.isBlank(id)) {
QuickType quickType = quickTypeRepository.findOne(id); quickTypeRepository.findById(id).ifPresent(quickType -> {
if (quickType != null) {
quickReplyRepository.deleteByCate(quickType.getId(), quickType.getOrgi()); quickReplyRepository.deleteByCate(quickType.getId(), quickType.getOrgi());
quickTypeRepository.delete(quickType); quickTypeRepository.delete(quickType);
} else { });
return new ResponseEntity<>(new RestResult(RestResultType.ORGAN_DELETE), HttpStatus.OK);
}
} }
return new ResponseEntity<>(result, HttpStatus.OK); return new ResponseEntity<>(result, HttpStatus.OK);
} }

View File

@ -18,23 +18,22 @@ package com.chatopera.cc.util.dsdata.process;
import com.chatopera.cc.model.QuickReply; import com.chatopera.cc.model.QuickReply;
import com.chatopera.cc.persistence.es.QuickReplyRepository; import com.chatopera.cc.persistence.es.QuickReplyRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.lang.NonNull;
public class QuickReplyProcess implements JPAProcess{ @RequiredArgsConstructor
public class QuickReplyProcess implements JPAProcess {
@NonNull
private final QuickReplyRepository quickReplyRes;
private QuickReplyRepository quickReplyRes ; @Override
public void process(Object data) {
quickReplyRes.save((QuickReply) data);
}
public QuickReplyProcess(QuickReplyRepository quickReplyRes){ @Override
this.quickReplyRes = quickReplyRes ; public void end() {
}
@Override }
public void process(Object data) {
quickReplyRes.save((QuickReply)data) ;
}
@Override
public void end() {
}
} }