1
0
mirror of https://github.com/chatopera/cosin.git synced 2025-08-05 20:41:34 +08:00

Fix TopicRepository related class

This commit is contained in:
dengchao@xgtl 2020-04-17 14:29:21 +08:00
parent 0a11285ac7
commit b4865d8869
5 changed files with 226 additions and 219 deletions

View File

@ -19,18 +19,22 @@ package com.chatopera.cc.persistence.impl;
import com.chatopera.cc.model.Topic; import com.chatopera.cc.model.Topic;
import com.chatopera.cc.persistence.es.TopicRepository; import com.chatopera.cc.persistence.es.TopicRepository;
import com.chatopera.cc.persistence.interfaces.DataExchangeInterface; import com.chatopera.cc.persistence.interfaces.DataExchangeInterface;
import org.springframework.beans.factory.annotation.Autowired; import lombok.RequiredArgsConstructor;
import org.springframework.lang.NonNull;
import org.springframework.lang.Nullable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@Service("topic") @Service("topic")
@RequiredArgsConstructor
public class TopicDataExchangeImpl implements DataExchangeInterface { public class TopicDataExchangeImpl implements DataExchangeInterface {
@Autowired @NonNull
private TopicRepository topicRes ; private final TopicRepository topicRes;
@Nullable
public Topic getDataByIdAndOrgi(String id, String orgi) { public Topic getDataByIdAndOrgi(String id, String orgi) {
return topicRes.findOne(id) ; return topicRes.findById(id).orElse(null);
} }
@Override @Override

View File

@ -20,17 +20,19 @@ import com.chatopera.cc.model.TopicItem;
import com.chatopera.cc.persistence.interfaces.DataExchangeInterface; import com.chatopera.cc.persistence.interfaces.DataExchangeInterface;
import com.chatopera.cc.persistence.repository.TopicItemRepository; import com.chatopera.cc.persistence.repository.TopicItemRepository;
import com.chatopera.cc.util.dsdata.process.TopicProcess; import com.chatopera.cc.util.dsdata.process.TopicProcess;
import org.springframework.beans.factory.annotation.Autowired; import lombok.RequiredArgsConstructor;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@Service("topicmore") @Service("topicmore")
@RequiredArgsConstructor
public class TopicMoreDataExchangeImpl implements DataExchangeInterface { public class TopicMoreDataExchangeImpl implements DataExchangeInterface {
@Autowired @NonNull
private TopicItemRepository topicItemRes ; private final TopicItemRepository topicItemRes;
@NonNull
private TopicProcess topicProcess = new TopicProcess(); private final TopicProcess topicProcess;
public TopicItem getDataByIdAndOrgi(String id, String orgi) { public TopicItem getDataByIdAndOrgi(String id, String orgi) {
return topicItemRes.findByIdAndOrgi(id, orgi); return topicItemRes.findByIdAndOrgi(id, orgi);

View File

@ -20,8 +20,9 @@ import java.io.Serializable;
import java.util.List; import java.util.List;
public interface DataExchangeInterface { public interface DataExchangeInterface {
public Serializable getDataByIdAndOrgi(String id, String orgi) ; Serializable getDataByIdAndOrgi(String id, String orgi);
public List<?> getListDataByIdAndOrgi(String id , String creater, String orgi) ;
public void process(Object data , String orgi) ; List<?> getListDataByIdAndOrgi(String id, String creater, String orgi);
void process(Object data, String orgi);
} }

View File

@ -21,19 +21,17 @@ import com.chatopera.cc.model.Topic;
import com.chatopera.cc.model.TopicItem; import com.chatopera.cc.model.TopicItem;
import com.chatopera.cc.persistence.es.TopicRepository; import com.chatopera.cc.persistence.es.TopicRepository;
import com.chatopera.cc.persistence.repository.TopicItemRepository; import com.chatopera.cc.persistence.repository.TopicItemRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.lang.NonNull;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@RequiredArgsConstructor
public class TopicProcess implements JPAProcess { public class TopicProcess implements JPAProcess {
private TopicRepository topicRes ; @NonNull
private final TopicRepository topicRes;
public TopicProcess(TopicRepository topicRes){
this.topicRes = topicRes ;
}
public TopicProcess(){}
@Override @Override
public void process(Object data) { public void process(Object data) {
@ -41,18 +39,20 @@ public class TopicProcess implements JPAProcess{
topicRes.save(topic); topicRes.save(topic);
this.process(data, topic.getOrgi()); this.process(data, topic.getOrgi());
} }
/** /**
* 只处理 类似问题 * 只处理 类似问题
* @param data
* @param orgi
*/ */
public void process(Object data, String orgi) { public void process(Object data, String orgi) {
Topic topic = (Topic) data; Topic topic = (Topic) data;
if (topic.getSilimar() != null && topic.getSilimar().size() > 0) { if (topic.getSilimar() != null && topic.getSilimar().size() > 0) {
TopicItemRepository topicItemRes = MainContext.getContext().getBean(TopicItemRepository.class); TopicItemRepository topicItemRes = MainContext.getContext().getBean(TopicItemRepository.class);
List<TopicItem> topicItemList = topicItemRes.findByTopicid(topic.getId()); List<TopicItem> topicItemList = topicItemRes.findByTopicid(topic.getId());
if(topicItemList!=null && topicItemList.size() > 0) { if (topicItemList == null) {
topicItemRes.delete(topicItemList); return;
}
if (topicItemList.size() > 0) {
topicItemRes.deleteAll(topicItemList);
} }
topicItemList.clear(); topicItemList.clear();
for (String item : topic.getSilimar()) { for (String item : topic.getSilimar()) {
@ -65,7 +65,7 @@ public class TopicProcess implements JPAProcess{
topicItemList.add(topicItem); topicItemList.add(topicItem);
} }
if (topicItemList.size() > 0) { if (topicItemList.size() > 0) {
topicItemRes.save(topicItemList) ; topicItemRes.saveAll(topicItemList);
} }
} }
} }