Commit 4e2d277b authored by jiaorz's avatar jiaorz

Merge branch 'master-bacground-im' into dev

parents f7d8f557 35e4382b
...@@ -19,17 +19,25 @@ public class AddMsgParam extends BaseExample { ...@@ -19,17 +19,25 @@ public class AddMsgParam extends BaseExample {
private int visible=1;// 默认 1 公开 2 私密 3 部分好友可见 4 不给谁看 private int visible=1;// 默认 1 公开 2 私密 3 部分好友可见 4 不给谁看
private String lable;// 标签(目前用于短视频标签) private String lable;// 标签(目前用于短视频标签)
private String musicId;// 短视频的音乐Id private String musicId;// 短视频的音乐Id
private String nickname;
private String sdkUrl;// sdk分享url private String sdkUrl;// sdk分享url
private String sdkIcon;// sdk分享icon private String sdkIcon;// sdk分享icon
private String sdkTitle;// sdk分享title private String sdkTitle;// sdk分享title
private Integer userId;
private List<Integer> userLook;//谁可以看的玩家id private List<Integer> userLook;//谁可以看的玩家id
private List<Integer> userNotLook;//谁不能看的玩家id private List<Integer> userNotLook;//谁不能看的玩家id
private List<Integer> userRemindLook;//提醒谁看的玩家id private List<Integer> userRemindLook;//提醒谁看的玩家id
private int isAllowComment;// 是否允许评论 0:允许 1:禁止评论 private int isAllowComment;// 是否允许评论 0:允许 1:禁止评论
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getAddress() { public String getAddress() {
return address; return address;
} }
...@@ -202,6 +210,14 @@ public class AddMsgParam extends BaseExample { ...@@ -202,6 +210,14 @@ public class AddMsgParam extends BaseExample {
return musicId; return musicId;
} }
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public void setMusicId(String musicId) { public void setMusicId(String musicId) {
this.musicId = musicId; this.musicId = musicId;
} }
......
...@@ -41,7 +41,7 @@ public class Msg { ...@@ -41,7 +41,7 @@ public class Msg {
private List<Integer> userLook;//选中可见的朋友列表 private List<Integer> userLook;//选中可见的朋友列表
private List<Integer> userNotLook;//选中不可见的朋友列表 private List<Integer> userNotLook;//选中不可见的朋友列表
private List<Integer> userRemindLook;//@提醒朋友列表 private List<Integer> userRemindLook;//@提醒朋友列表
private Integer source; //来源,1、后台创建, 2、APP用户上传
private @Reference List<CommentVo> comments;// 评论列表 private @Reference List<CommentVo> comments;// 评论列表
private @Reference List<Givegift> gifts;// 礼物列表 private @Reference List<Givegift> gifts;// 礼物列表
private @Reference List<PraiseVo> praises;// 赞列表 private @Reference List<PraiseVo> praises;// 赞列表
...@@ -54,6 +54,21 @@ public class Msg { ...@@ -54,6 +54,21 @@ public class Msg {
private String fileName;// 原文件名称 private String fileName;// 原文件名称
public String getPic() {
return pic;
}
public void setPic(String pic) {
this.pic = pic;
}
public Integer getSource() {
return source;
}
public void setSource(Integer source) {
this.source = source;
}
public int getIsCollect() { public int getIsCollect() {
return isCollect; return isCollect;
...@@ -530,7 +545,7 @@ public class Msg { ...@@ -530,7 +545,7 @@ public class Msg {
} }
public static Msg build(User user, AddMsgParam param) { public static Msg build(Integer userId, String nickname, AddMsgParam param) {
Body body = new Body(); Body body = new Body();
body.title = param.getTitle();// 标题 body.title = param.getTitle();// 标题
body.text = param.getText();// 文字内容 body.text = param.getText();// 文字内容
...@@ -568,11 +583,11 @@ public class Msg { ...@@ -568,11 +583,11 @@ public class Msg {
Msg entity = new Msg(); Msg entity = new Msg();
entity.id = ObjectId.get(); entity.id = ObjectId.get();
entity.userId = user.getId(); entity.userId = userId;
if("10000" ==user.getId().toString()) if("10000" ==userId.toString())
entity.nickname ="客服公众号"; entity.nickname ="客服公众号";
else else
entity.nickname = user.getNickname(); entity.nickname = nickname;
entity.flag = param.getFlag();// 1=求职消息、2=招聘消息、3=普通消息 entity.flag = param.getFlag();// 1=求职消息、2=招聘消息、3=普通消息
if(0==param.getVisible()) if(0==param.getVisible())
param.setVisible(1); param.setVisible(1);
......
package com.xxfc.platform.im.model;
import lombok.Data;
import org.bson.types.ObjectId;
import org.mongodb.morphia.annotations.Entity;
import org.mongodb.morphia.annotations.Id;
@Data
@Entity(value="musicInfo",noClassnameStored=true)
public class MusicInfo {
@Id
private ObjectId id;
public String cover; // 封面图地址
public long length; // 音乐长度
public String name; // 音乐名称
public String nikeName; // 创作人
public String path; // 音乐地址
private int useCount;//使用 数量
}
...@@ -3,6 +3,7 @@ package com.xxfc.platform.im.biz; ...@@ -3,6 +3,7 @@ package com.xxfc.platform.im.biz;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.bean.copier.CopyOptions;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.vo.ImiVo; import com.github.wxiaoqi.security.admin.vo.ImiVo;
...@@ -10,19 +11,16 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; ...@@ -10,19 +11,16 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.mongodb.client.result.DeleteResult; import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult;
import com.xxfc.platform.im.dto.CommentVo; import com.xxfc.platform.im.dto.CommentVo;
import com.xxfc.platform.im.dto.PraiseVo; import com.xxfc.platform.im.dto.PraiseVo;
import com.xxfc.platform.im.dto.QuestionParamDto; import com.xxfc.platform.im.dto.QuestionParamDto;
import com.xxfc.platform.im.model.Comment; import com.xxfc.platform.im.model.*;
import com.xxfc.platform.im.model.Msg;
import com.xxfc.platform.im.model.Praise;
import com.xxfc.platform.im.vo.MsgVo; import com.xxfc.platform.im.vo.MsgVo;
import com.xxfc.platform.universal.constant.DictionaryKey; import com.xxfc.platform.universal.constant.DictionaryKey;
import com.xxfc.platform.universal.constant.ResCode;
import com.xxfc.platform.universal.entity.Dictionary; import com.xxfc.platform.universal.entity.Dictionary;
import com.xxfc.platform.universal.feign.ThirdFeign; import com.xxfc.platform.universal.feign.ThirdFeign;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.bson.types.ObjectId; import org.bson.types.ObjectId;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -32,12 +30,12 @@ import org.springframework.data.domain.Sort; ...@@ -32,12 +30,12 @@ import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
import static com.xxfc.platform.universal.constant.DictionaryKey.IM_TYPE; import static com.xxfc.platform.universal.constant.DictionaryKey.IM_TYPE;
@Service @Service
...@@ -280,6 +278,9 @@ public class MsgBiz { ...@@ -280,6 +278,9 @@ public class MsgBiz {
//String address = AddressUtils.getMapaddress(msg.getLatitude().toString(), msg.getLongitude().toString()); //String address = AddressUtils.getMapaddress(msg.getLatitude().toString(), msg.getLongitude().toString());
msgVo.setAddress(msg.getLocation()); msgVo.setAddress(msg.getLocation());
msgVo.setMsgId(msg.getId().toString()); msgVo.setMsgId(msg.getId().toString());
if(msg.getSource() == null) { //默认是2 兼容以前数据
msgVo.setSource(2);
}
} }
msgVoList.add(msgVo); msgVoList.add(msgVo);
} }
...@@ -333,4 +334,53 @@ public class MsgBiz { ...@@ -333,4 +334,53 @@ public class MsgBiz {
return number; return number;
} }
/**
* 后台管理接口
*/
/**
* 新增消息接口
* @param param
* @return
*/
public Msg add(AddMsgParam param) {
//去redis根据userId是否有数据
//设置一些列参数
Msg entity = Msg.build(param.getUserId(), param.getNickname(), param);
// 保存商务圈消息
mongoTemplate.save(entity);
// 如果musicId不为空维护音乐使用次数
if(!StringUtils.isEmpty(param.getMusicId())){
updateUseCount(new ObjectId(param.getMusicId()));
}
if(null != param.getUserRemindLook()){
if(null != param.getUserNotLook()){
List<Integer> collect = param.getUserRemindLook().stream().filter(item -> param.getUserNotLook().contains(item)).collect(Collectors.toList());
log.info("朋友圈提醒朋友列表:{}, 不给看列表:{}, 交集列表:{}",param.getUserRemindLook(),param.getUserNotLook(), JSONObject.toJSONString(collect));
param.getUserRemindLook().removeAll(collect);
if(null == param.getUserRemindLook()){
return entity;
}
}
}
return entity;
}
//修改音乐使用次数
public void updateUseCount(ObjectId id){
Query query = new Query(Criteria.where("_id").is(id));
MusicInfo musicInfo = mongoTemplate.findOne(query, MusicInfo.class, "musicInfo");
if (musicInfo != null) {
Update update = new Update();
update.push("useCount", musicInfo.getUseCount() + 1);
UpdateResult updateResult = mongoTemplate.updateFirst(query, update, MusicInfo.class, "musicInfo");
log.info("修改音乐使用次数: updateResult = {}", updateResult);
}
}
} }
...@@ -2,11 +2,9 @@ package com.xxfc.platform.im.rest; ...@@ -2,11 +2,9 @@ package com.xxfc.platform.im.rest;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.im.biz.MsgBiz; import com.xxfc.platform.im.biz.MsgBiz;
import com.xxfc.platform.im.model.AddMsgParam;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequestMapping("msg") @RequestMapping("msg")
...@@ -40,4 +38,10 @@ public class MsgController { ...@@ -40,4 +38,10 @@ public class MsgController {
public ObjectRestResponse deleteByIds(String ids) { public ObjectRestResponse deleteByIds(String ids) {
return msgBiz.deleteByList(ids); return msgBiz.deleteByList(ids);
} }
@PostMapping(value = "/bg/app/unauth/addMsg")
public ObjectRestResponse addMsg(@RequestBody AddMsgParam param) {
return ObjectRestResponse.succ(msgBiz.add(param));
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment