| | |
| | | package com.yeshi.fanli.service.impl.msg; |
| | | |
| | | import com.yeshi.fanli.dao.user.msg.MsgOverViewsDao; |
| | | import com.yeshi.fanli.entity.bus.msg.MsgOverViews; |
| | | import com.yeshi.fanli.entity.bus.msg.*; |
| | | import com.yeshi.fanli.lijin.entity.MsgLijinVIPDetail; |
| | | import com.yeshi.fanli.lijin.service.MsgLijinVIPService; |
| | | import com.yeshi.fanli.lijin.service.impl.MsgLijinVIPServiceImpl; |
| | | import com.yeshi.fanli.service.inter.money.msg.MsgMoneyDetailService; |
| | | import com.yeshi.fanli.service.inter.msg.MsgOtherDetailService; |
| | | import com.yeshi.fanli.service.inter.msg.MsgOverViewsService; |
| | | import com.yeshi.fanli.service.inter.msg.UserSystemMsgService; |
| | | import com.yeshi.fanli.service.inter.order.msg.MsgOrderDetailService; |
| | | import com.yeshi.fanli.service.inter.user.invite.MsgInviteDetailService; |
| | | import com.yeshi.fanli.service.inter.user.msg.MsgAccountDetailService; |
| | | import org.springframework.data.mongodb.core.query.Criteria; |
| | | import org.springframework.data.mongodb.core.query.Query; |
| | | import org.springframework.data.mongodb.core.query.Update; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.io.Serializable; |
| | | import java.util.*; |
| | | |
| | | @Service |
| | | public class MsgOverViewsServiceImpl implements MsgOverViewsService { |
| | | |
| | | @Resource |
| | | private MsgOverViewsDao msgOverViewsDao; |
| | | @Resource |
| | | private MsgAccountDetailService msgAccountDetailService; |
| | | @Resource |
| | | private MsgInviteDetailService msgInviteDetailService; |
| | | @Resource |
| | | private MsgMoneyDetailService msgMoneyDetailService; |
| | | @Resource |
| | | private MsgOrderDetailService msgOrderDetailService; |
| | | @Resource |
| | | private MsgOtherDetailService msgOtherDetailService; |
| | | @Resource |
| | | private MsgLijinVIPService msgLijinVIPService; |
| | | @Resource |
| | | private UserSystemMsgService userSystemMsgService; |
| | | |
| | | @Override |
| | | public void save(MsgOverViews msgOverViews) { |
| | |
| | | } |
| | | |
| | | msgOverViewsDao.save(msgOverViews); |
| | | } |
| | | |
| | | @Override |
| | | public void updateTime(String id, Date updateTime) { |
| | | Update update = new Update(); |
| | | update.set("updateTime", updateTime); |
| | | Query query = new Query(); |
| | | query.addCriteria(Criteria.where("id").is(id)); |
| | | msgOverViewsDao.update(query, update); |
| | | } |
| | | |
| | | @Override |
| | |
| | | daoQuery.uid = uid; |
| | | return msgOverViewsDao.count(daoQuery); |
| | | } |
| | | |
| | | @Override |
| | | public List<Object> listDetail(List<MsgOverViews> msgList) { |
| | | Object[] objs = new Object[msgList.size()]; |
| | | //分类型查询详情 |
| | | Map<MsgTypeEnum, List<Long>> map = new HashMap<>(); |
| | | Map<String, Integer> positionMap = new HashMap<>(); |
| | | int p = 0; |
| | | for (MsgOverViews views : msgList) { |
| | | positionMap.put(views.getMsgType().name() + "#" + views.getIdentityCode(), p++); |
| | | if (map.get(views.getMsgType()) == null) { |
| | | map.put(views.getMsgType(), new ArrayList<>()); |
| | | } |
| | | map.get(views.getMsgType()).add(views.getIdentityCode()); |
| | | } |
| | | |
| | | for (Iterator<MsgTypeEnum> its = map.keySet().iterator(); its.hasNext(); ) { |
| | | MsgTypeEnum type = its.next(); |
| | | List<Long> ids = map.get(type); |
| | | if (type == MsgTypeEnum.lijinVip) { |
| | | List<MsgLijinVIPDetail> list = (msgLijinVIPService.listDetail(ids)); |
| | | for (MsgLijinVIPDetail detail : list) { |
| | | objs[positionMap.get(type.name() + "#" + detail.getId())] = detail; |
| | | } |
| | | } else if (type == MsgTypeEnum.money) { |
| | | List<MsgMoneyDetail> list = (msgMoneyDetailService.listDetail(ids)); |
| | | for (MsgMoneyDetail detail : list) { |
| | | objs[positionMap.get(type.name() + "#" + detail.getId())] = detail; |
| | | } |
| | | } else if (type == MsgTypeEnum.order) { |
| | | List<MsgOrderDetail> list = (msgOrderDetailService.listDetail(ids)); |
| | | for (MsgOrderDetail detail : list) { |
| | | objs[positionMap.get(type.name() + "#" + detail.getId())] = detail; |
| | | } |
| | | } else if (type == MsgTypeEnum.other) { |
| | | List<MsgOtherDetail> list = (msgOtherDetailService.listDetail(ids)); |
| | | for (MsgOtherDetail detail : list) { |
| | | objs[positionMap.get(type.name() + "#" + detail.getId())] = detail; |
| | | } |
| | | } else if (type == MsgTypeEnum.account) { |
| | | List<MsgAccountDetail> list = (msgAccountDetailService.listDetail(ids)); |
| | | for (MsgAccountDetail detail : list) { |
| | | objs[positionMap.get(type.name() + "#" + detail.getId())] = detail; |
| | | } |
| | | } else if (type == MsgTypeEnum.invite) { |
| | | List<MsgInviteDetail> list = (msgInviteDetailService.listDetail(ids)); |
| | | for (MsgInviteDetail detail : list) { |
| | | objs[positionMap.get(type.name() + "#" + detail.getId())] = detail; |
| | | } |
| | | } else if (type == MsgTypeEnum.system) { |
| | | List<UserSystemMsg> list = (userSystemMsgService.listDetail(ids)); |
| | | for (UserSystemMsg detail : list) { |
| | | objs[positionMap.get(type.name() + "#" + detail.getId())] = detail; |
| | | } |
| | | } |
| | | } |
| | | return Arrays.asList(objs); |
| | | } |
| | | |
| | | |
| | | } |