增加一个接口

This commit is contained in:
daihh
2023-02-02 10:44:05 +08:00
parent 76d96a7a72
commit 515f5b24e7
6 changed files with 95 additions and 7 deletions

View File

@@ -79,7 +79,9 @@ public class ArticleServiceImpl implements IArticleService{
// articles.add(article); // articles.add(article);
List<Article> tops =dao.findList(1, oc,FieldFilters.eq("status", Article.STATUS_PUBLISH), FieldFilters.eq("deleted", false), FieldFilters.eq("enabled", true), List<Article> tops =dao.findList(1, oc,FieldFilters.eq("status", Article.STATUS_PUBLISH), FieldFilters.eq("deleted", false), FieldFilters.eq("enabled", true),
FieldFilters.isNotNull("coverurl"),FieldFilters.ne("coverurl", "")); FieldFilters.isNotNull("coverurl"),FieldFilters.ne("coverurl", ""));
articles.add(tops.get(0));
Article first=tops.get(0);
articles.add(first);
QueryBuilder builder = QueryBuilder.from(Article.class); QueryBuilder builder = QueryBuilder.from(Article.class);
@@ -87,6 +89,7 @@ public class ArticleServiceImpl implements IArticleService{
builder.addFilter(FieldFilters.eq("status", Article.STATUS_PUBLISH)); builder.addFilter(FieldFilters.eq("status", Article.STATUS_PUBLISH));
builder.addFilter(FieldFilters.eq("enabled",true)); builder.addFilter(FieldFilters.eq("enabled",true));
builder.addFilter(FieldFilters.eq("deleted",false)); builder.addFilter(FieldFilters.eq("deleted",false));
builder.addFilter(FieldFilters.ne("id", first.getId()));//去除第一个
builder.setPageSize(3); builder.setPageSize(3);
List<Article> list = dao.findList(builder.builder()); List<Article> list = dao.findList(builder.builder());
articles.addAll(list); articles.addAll(list);

View File

@@ -22,6 +22,7 @@ import com.xboe.core.log.AutoLog;
import com.xboe.system.user.entity.Message; import com.xboe.system.user.entity.Message;
import com.xboe.system.user.service.IMessageService; import com.xboe.system.user.service.IMessageService;
import com.xboe.system.user.service.MessageSender; import com.xboe.system.user.service.MessageSender;
import com.xboe.system.user.vo.BatchMessage;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -108,7 +109,24 @@ public class MessageApi extends ApiBaseController {
@PostMapping("/batch-send") @PostMapping("/batch-send")
@AutoLog(module = "消息",action = "批量发送消息") @AutoLog(module = "消息",action = "批量发送消息")
public JsonResponse<Boolean> batchSave(@RequestBody Message message){ public JsonResponse<Boolean> batchSave(@RequestBody BatchMessage message){
if(message.getAcceptIds()==null || message.getAcceptIds().isEmpty()) {
return badRequest("无发送人信息");
}
if(message.getAcceptNames()==null || message.getAcceptNames().isEmpty()) {
return badRequest("无发送人姓名信息");
}
if(message.getAcceptIds().size()!=message.getAcceptNames().size()) {
return badRequest("发送人姓名信息不相符");
}
if(StringUtil.isBlank(message.getTitle())){
return badRequest("标题不能为空");
}
if(StringUtil.isBlank(message.getTitle())){ if(StringUtil.isBlank(message.getTitle())){
return badRequest("标题不能为空"); return badRequest("标题不能为空");
} }
@@ -116,10 +134,10 @@ public class MessageApi extends ApiBaseController {
return badRequest("内容不能为空"); return badRequest("内容不能为空");
} }
try { try {
message.setIsRead(false); //message.setIsRead(false);
message.setMsgType(1); // message.setMsgType(1);
message.setMsgTime(LocalDateTime.now()); // message.setMsgTime(LocalDateTime.now());
MessageSender.send(message); //MessageSender.send(message);
return success(true); return success(true);
} catch (Exception e) { } catch (Exception e) {
log.error("发布消息失败",e); log.error("发布消息失败",e);

View File

@@ -5,6 +5,7 @@ import java.util.Map;
import com.xboe.common.PageList; import com.xboe.common.PageList;
import com.xboe.system.user.entity.Message; import com.xboe.system.user.entity.Message;
import com.xboe.system.user.vo.BatchMessage;
/** /**
* 消息接口 * 消息接口
@@ -21,6 +22,12 @@ public interface IMessageService {
* */ * */
PageList<Message> queryMobile(int pageIndex,int pageSize,String aid,Boolean isRead); PageList<Message> queryMobile(int pageIndex,int pageSize,String aid,Boolean isRead);
/**
* 批量保存
* @param batch
*/
void batchSave(List<Message> list);
/** /**
* 删除消息 * 删除消息
* */ * */

View File

@@ -1,7 +1,12 @@
package com.xboe.system.user.service; package com.xboe.system.user.service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.xboe.common.utils.IDGenerator;
import com.xboe.system.user.entity.Message; import com.xboe.system.user.entity.Message;
/** /**
@@ -16,9 +21,44 @@ public class MessageSender {
public MessageSender(IMessageService service) { public MessageSender(IMessageService service) {
MessageSender.messageService=service; MessageSender.messageService=service;
} }
public static void send(Message msg) { public static void send(Message msg) {
if(messageService!=null){ if(messageService!=null){
messageService.save(msg); messageService.save(msg);
} }
} }
public static void batchSend(List<String> acceptIds,List<String> acceptNames, Message data) {
if(messageService!=null){
List<Message> msgList=new ArrayList<Message>();
int n=acceptIds.size();
LocalDateTime now=LocalDateTime.now();
for(int i=0;i<n;i++) {
String aid=acceptIds.get(i);
String aname=acceptNames.get(i);
Message msg=new Message();
msg.setId(IDGenerator.generate());
msg.setAcceptId(aid);
msg.setAcceptName(aname);
msg.setContent(data.getContent());
msg.setConType("0");
msg.setIsRead(false);
msg.setMsgTime(now);
msg.setMsgType(1);
msg.setPageParams(data.getPageParams());
msg.setPageType(data.getPageType());
msg.setPageUrl(data.getPageUrl());
msg.setRefId(data.getRefId());
msg.setRefType(data.getRefType());
msg.setSendAid(data.getSendAid());
msg.setSendName(data.getSendName());
msg.setSendType(1);
msg.setSource(data.getSource());
msg.setTitle(data.getTitle());
msg.setContent(data.getContent());
msgList.add(msg);
}
messageService.batchSave(msgList);
}
}
} }

View File

@@ -18,12 +18,12 @@ import com.xboe.core.orm.UpdateBuilder;
import com.xboe.system.user.dao.MessageDao; import com.xboe.system.user.dao.MessageDao;
import com.xboe.system.user.entity.Message; import com.xboe.system.user.entity.Message;
import com.xboe.system.user.service.IMessageService; import com.xboe.system.user.service.IMessageService;
import com.xboe.system.user.vo.BatchMessage;
/** /**
* 消息 * 消息
* */ * */
@Service @Service
@Transactional
public class MessageServiceImpl implements IMessageService { public class MessageServiceImpl implements IMessageService {
@Resource @Resource
@@ -61,11 +61,13 @@ public class MessageServiceImpl implements IMessageService {
} }
@Override @Override
@Transactional
public void delete(List<String> ids) { public void delete(List<String> ids) {
dao.deleteByFilter(FieldFilters.in("id",ids)); dao.deleteByFilter(FieldFilters.in("id",ids));
} }
@Override @Override
@Transactional
public Message detail(String id) { public Message detail(String id) {
Message message = dao.get(id); Message message = dao.get(id);
if(!message.getIsRead()){ if(!message.getIsRead()){
@@ -75,6 +77,7 @@ public class MessageServiceImpl implements IMessageService {
} }
@Override @Override
@Transactional
public void save(Message message) { public void save(Message message) {
dao.save(message); dao.save(message);
} }
@@ -89,6 +92,7 @@ public class MessageServiceImpl implements IMessageService {
} }
@Override @Override
@Transactional
public void updateIsRead(List<String> ids) { public void updateIsRead(List<String> ids) {
dao.update(UpdateBuilder.from(Message.class) dao.update(UpdateBuilder.from(Message.class)
.addUpdateField("isRead",true) .addUpdateField("isRead",true)
@@ -113,6 +117,7 @@ public class MessageServiceImpl implements IMessageService {
} }
@Override @Override
@Transactional
public void remove(String aid) { public void remove(String aid) {
dao.deleteByFilter(FieldFilters.eq("acceptId",aid)); dao.deleteByFilter(FieldFilters.eq("acceptId",aid));
} }
@@ -128,6 +133,7 @@ public class MessageServiceImpl implements IMessageService {
} }
@Override @Override
@Transactional
public void setReadByAcceptId(String aid) { public void setReadByAcceptId(String aid) {
dao.update("Update "+Message.class.getSimpleName()+" set isRead=?1 where acceptId=?2 and isRead=?3", true,aid,false); dao.update("Update "+Message.class.getSimpleName()+" set isRead=?1 where acceptId=?2 and isRead=?3", true,aid,false);
} }
@@ -137,4 +143,14 @@ public class MessageServiceImpl implements IMessageService {
dao.deleteByField("acceptId", aid); dao.deleteByField("acceptId", aid);
} }
@Override
@Transactional
public void batchSave(List<Message> list) {
// for(Message msg : list) {
//
// }
dao.saveList(list);
}
} }

View File

@@ -36,4 +36,8 @@ public class BatchMessage {
private Integer sendType; private Integer sendType;
private String title; private String title;
private String content;
private Integer source;
} }