|
@@ -3,14 +3,18 @@ package com.persagy.dmp.rwd.edit.service;
|
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
|
import com.persagy.common.criteria.CriteriaUtils;
|
|
|
import com.persagy.common.criteria.JacksonCriteria;
|
|
|
+import com.persagy.common.web.MapResponse;
|
|
|
import com.persagy.common.web.PagedResponse;
|
|
|
+import com.persagy.dmp.rwd.edit.config.web.UserUtils;
|
|
|
import com.persagy.dmp.rwd.edit.entity.QRwdeditRefTypeInfos;
|
|
|
import com.persagy.dmp.rwd.edit.entity.RwdeditRefTypeInfos;
|
|
|
+import com.persagy.dmp.rwd.edit.repository.RwdeditRefTypeInfosRepository;
|
|
|
import com.querydsl.core.types.dsl.BooleanExpression;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import javax.transaction.Transactional;
|
|
|
import java.util.LinkedList;
|
|
|
import java.util.List;
|
|
|
|
|
@@ -21,6 +25,9 @@ public class RwdeditRefTypeInfosService {
|
|
|
@Autowired
|
|
|
private CriteriaUtils criteriaUtils;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ RwdeditRefTypeInfosRepository repository;
|
|
|
+
|
|
|
private List<BooleanExpression> parse(ObjectNode object) {
|
|
|
List<BooleanExpression> list = new LinkedList<>();
|
|
|
QRwdeditRefTypeInfos qt = QRwdeditRefTypeInfos.rwdeditRefTypeInfos;
|
|
@@ -34,5 +41,85 @@ public class RwdeditRefTypeInfosService {
|
|
|
public PagedResponse<RwdeditRefTypeInfos> query(JacksonCriteria criteria) {
|
|
|
return criteriaUtils.query(QRwdeditRefTypeInfos.rwdeditRefTypeInfos, this::parse, criteria);
|
|
|
}
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ public MapResponse create(RwdeditRefTypeInfos refTypeInfos) {
|
|
|
+ MapResponse response = new MapResponse();
|
|
|
+ String refKey = refTypeInfos.getRefKey();
|
|
|
+ String code = refTypeInfos.getCode();
|
|
|
+ if (refKey == null) {
|
|
|
+ response.setFail("refKey is required");
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+ if (code == null) {
|
|
|
+ response.setFail("code is required");
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+ JacksonCriteria criteria = JacksonCriteria.newInstance();
|
|
|
+ criteria.add("refKey", refKey);
|
|
|
+ criteria.add("code", code);
|
|
|
+ Long count = query(criteria).getCount();
|
|
|
+ if (count != 0L) {
|
|
|
+ response.setFail("refKey and code is exists");
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+ refTypeInfos.setCreateUser(UserUtils.currentUserId());
|
|
|
+ repository.save(refTypeInfos);
|
|
|
+ response.add("refKey", refKey);
|
|
|
+ response.add("code", code);
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ public MapResponse update(RwdeditRefTypeInfos refTypeInfos) {
|
|
|
+ MapResponse response = new MapResponse();
|
|
|
+ String refKey = refTypeInfos.getRefKey();
|
|
|
+ String code = refTypeInfos.getCode();
|
|
|
+ if (refKey == null) {
|
|
|
+ response.setFail("refKey is required");
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+ if (code == null) {
|
|
|
+ response.setFail("code is required");
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+ JacksonCriteria criteria = JacksonCriteria.newInstance();
|
|
|
+ criteria.add("refKey", refKey);
|
|
|
+ criteria.add("code", code);
|
|
|
+ Long count = query(criteria).getCount();
|
|
|
+ if (count == 0L) {
|
|
|
+ response.setFail("refKey and code not exists");
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+ refTypeInfos.setUpdateUser(UserUtils.currentUserId());
|
|
|
+ repository.save(refTypeInfos);
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ public MapResponse delete(RwdeditRefTypeInfos refTypeInfos) {
|
|
|
+ MapResponse response = new MapResponse();
|
|
|
+ String refKey = refTypeInfos.getRefKey();
|
|
|
+ String code = refTypeInfos.getCode();
|
|
|
+ if (refKey == null) {
|
|
|
+ response.setFail("refKey is required");
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+ if (code == null) {
|
|
|
+ response.setFail("code is required");
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+ JacksonCriteria criteria = JacksonCriteria.newInstance();
|
|
|
+ criteria.add("refKey", refKey);
|
|
|
+ criteria.add("code", code);
|
|
|
+ PagedResponse<RwdeditRefTypeInfos> query = query(criteria);
|
|
|
+ Long count = query.getCount();
|
|
|
+ if (count == 0L) {
|
|
|
+ response.setFail("refKey and code not exists");
|
|
|
+ return response;
|
|
|
+ }
|
|
|
+ repository.delete(query.getData().get(0));
|
|
|
+ return response;
|
|
|
+ }
|
|
|
}
|
|
|
|