|
|
@@ -5,6 +5,7 @@ import com.sqx.modules.chats.entity.Chats;
|
|
|
import com.sqx.modules.chats.entity.ChatsContent;
|
|
|
import com.sqx.modules.chats.respository.ChatContentRepository;
|
|
|
import com.sqx.modules.chats.respository.ChatRepository;
|
|
|
+import com.sqx.modules.chats.respository.ChatsMapper;
|
|
|
import com.sqx.modules.chats.utils.DateUtil;
|
|
|
import com.sqx.modules.chats.utils.Result;
|
|
|
import com.sqx.modules.chats.utils.ResultUtil;
|
|
|
@@ -26,6 +27,8 @@ public class ChatsServiceImpl implements ChatsService {
|
|
|
@Autowired
|
|
|
private ChatRepository jpaRepository;
|
|
|
@Autowired
|
|
|
+ private ChatsMapper chatsMapper;
|
|
|
+ @Autowired
|
|
|
private ChatContentRepository chatContentRepository;
|
|
|
|
|
|
@Override
|
|
|
@@ -46,20 +49,59 @@ public class ChatsServiceImpl implements ChatsService {
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public Result findAll(Long storeId, String userName) {
|
|
|
+ public Result findAll(Long storeId, String userName,Long type,String starTime,String endTime) {
|
|
|
//构造自定义查询条件
|
|
|
- Specification<Chats> queryCondition = new Specification<Chats>() {
|
|
|
- @Override
|
|
|
- public Predicate toPredicate(Root<Chats> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
|
|
|
- List<Predicate> predicateList = new ArrayList<>();
|
|
|
- predicateList.add(criteriaBuilder.equal(root.get("storeId"), storeId));
|
|
|
- if (StringUtils.isNotEmpty(userName)){
|
|
|
- predicateList.add(criteriaBuilder.like(root.get("userName"), "%"+userName+"%"));
|
|
|
+// Specification<Chats> queryCondition = new Specification<Chats>() {
|
|
|
+// @Override
|
|
|
+// public Predicate toPredicate(Root<Chats> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
|
|
|
+// List<Predicate> predicateList = new ArrayList<>();
|
|
|
+// predicateList.add(criteriaBuilder.equal(root.get("storeId"), storeId));
|
|
|
+// if (StringUtils.isNotEmpty(userName)){
|
|
|
+// predicateList.add(criteriaBuilder.like(root.get("userName"), "%"+userName+"%"));
|
|
|
+// }
|
|
|
+// if (StringUtils.isNotEmpty(userName)){
|
|
|
+// predicateList.add(criteriaBuilder.like(root.get("userName"), "%"+userName+"%"));
|
|
|
+// }
|
|
|
+// if (StringUtils.isNotEmpty(userName)){
|
|
|
+// predicateList.add(criteriaBuilder.like(root.get("userName"), "%"+userName+"%"));
|
|
|
+// }
|
|
|
+// if (StringUtils.isNotEmpty(userName)){
|
|
|
+// predicateList.add(criteriaBuilder.like(root.get("userName"), "%"+userName+"%"));
|
|
|
+// }
|
|
|
+// return criteriaBuilder.and(predicateList.toArray(new Predicate[predicateList.size()]));
|
|
|
+// }
|
|
|
+// };
|
|
|
+ List<Chats> list = chatsMapper.findAll(storeId,userName,type,starTime,endTime);
|
|
|
+ //最新一条消息展示
|
|
|
+ List<ChatsContent> allContent = chatContentRepository.findAll();
|
|
|
+ for (Chats c : list) {
|
|
|
+ for (ChatsContent cc : allContent) {
|
|
|
+ if (c.getChatId().equals(cc.getChatId())){
|
|
|
+ c.setContent(cc.getContent());
|
|
|
+ c.setContentTime(cc.getCreateTime());
|
|
|
}
|
|
|
- return criteriaBuilder.and(predicateList.toArray(new Predicate[predicateList.size()]));
|
|
|
}
|
|
|
- };
|
|
|
- List<Chats> list = jpaRepository.findAll(queryCondition, Sort.by(new Sort.Order(Sort.Direction.DESC, "createTime")));
|
|
|
+ }
|
|
|
+ return ResultUtil.success(list);
|
|
|
+ }
|
|
|
+ @Override
|
|
|
+ public Result findRead(Long storeId, String userName,Long type,String starTime,String endTime) {
|
|
|
+ List<Chats> list = chatsMapper.findRead(storeId,userName,type,starTime,endTime);
|
|
|
+ //最新一条消息展示
|
|
|
+ List<ChatsContent> allContent = chatContentRepository.findAll();
|
|
|
+ for (Chats c : list) {
|
|
|
+ for (ChatsContent cc : allContent) {
|
|
|
+ if (c.getChatId().equals(cc.getChatId())){
|
|
|
+ c.setContent(cc.getContent());
|
|
|
+ c.setContentTime(cc.getCreateTime());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ResultUtil.success(list);
|
|
|
+ }
|
|
|
+ @Override
|
|
|
+ public Result findUnRead(Long storeId, String userName,Long type,String starTime,String endTime) {
|
|
|
+ List<Chats> list = chatsMapper.findUnRead(storeId,userName,type,starTime,endTime);
|
|
|
//最新一条消息展示
|
|
|
List<ChatsContent> allContent = chatContentRepository.findAll();
|
|
|
for (Chats c : list) {
|