|
@@ -77,12 +77,47 @@ public class MessageServiceImpl implements MessageService {
|
|
|
|
|
|
@Override
|
|
|
public ReturnMsg addMessage(Message message) {
|
|
|
- return null;
|
|
|
+ if(message != null){
|
|
|
+ List<String> staff_list = new ArrayList<>();
|
|
|
+ if (message.getPipeline().equals("instation")) {
|
|
|
+ String staff = message.getStaff();
|
|
|
+ if(staff.equals("all")){
|
|
|
+ staff_list = userMapper.selectList(null).stream().map(Users::getName).collect(Collectors.toList());
|
|
|
+ }else if(staff.split(":")[0].equals("company")){
|
|
|
+ staff_list = userMapper.selectList(new LambdaQueryWrapper<Users>().eq(Users::getCompany,staff.split(":")[1]))
|
|
|
+ .stream().map(Users::getName).collect(Collectors.toList());
|
|
|
+ }else if(staff.split(":")[0].equals("role")){
|
|
|
+ staff_list = userMapper.selectList(new LambdaQueryWrapper<Users>().eq(Users::getRole,staff.split(":")[1]))
|
|
|
+ .stream().map(Users::getName).collect(Collectors.toList());
|
|
|
+ }else{
|
|
|
+ return ReturnMsg.fail("无效的人员配置");
|
|
|
+ }
|
|
|
+ //修改数据库
|
|
|
+ if(message.getSend_time().equals("immediately")){
|
|
|
+ message.setSend_time(new Date()+"");
|
|
|
+ JSONObject json = new JSONObject();
|
|
|
+ json.put("staff",staff_list);
|
|
|
+ json.put("name",message.getName());
|
|
|
+ json.put("title",message.getTitle());
|
|
|
+ json.put("content",message.getContent());
|
|
|
+ json.put("style",message.getStyle());
|
|
|
+ json.put("time",message.getSend_time());
|
|
|
+ amqpTemplate.convertAndSend("message",json);
|
|
|
+ }
|
|
|
+ messageMapper.insert(message);
|
|
|
+ //
|
|
|
+ return ReturnMsg.ok();
|
|
|
+ }else{
|
|
|
+ return ReturnMsg.fail("仅支持站内通知 instation");
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ return ReturnMsg.fail("参数不能为空");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public ReturnMsg editMessage(Message message) {
|
|
|
- if(message == null&&message.getId()!=null){
|
|
|
+ if(message != null&&message.getId()!=null){
|
|
|
List<String> staff_list = new ArrayList<>();
|
|
|
if (message.getPipeline().equals("instation")) {
|
|
|
String staff = message.getStaff();
|