package net.changwoo.chat.service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import net.changwoo.chat.dao.JoinDao; import net.changwoo.chat.dao.MessageDao; import net.changwoo.chat.dao.RoomDao; import net.changwoo.x1wins.dao.UserDao; import net.changwoo.chat.entity.Join; import net.changwoo.chat.entity.Message; import net.changwoo.chat.entity.Room; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class ChatServiceImpl implements ChatService { @Autowired MessageDao messageDao; @Autowired JoinDao joinDao; @Autowired RoomDao roomDao; @Autowired UserDao userDao; int DELETE_VALUE; int EXIST_VALUE; public ChatServiceImpl(){ DELETE_VALUE = 0; EXIST_VALUE = 1; } public int saveMessage(Message message) throws Exception { // TODO Auto-generated method stub return messageDao.save(message); } public List findMessage(int roomid) throws Exception { List list = new ArrayList(); Map roomidMap = new HashMap(); roomidMap.put("propertyName", "roomid"); roomidMap.put("value", roomid); list.add(roomidMap); List messages = messageDao.findAllByProperty(list); return messages; } public int saveJoin(Join join) throws Exception { return joinDao.save(join); } public List findUserJoins(int userid) throws Exception { Map param = new HashMap(); param.put("propertyName", "userid"); param.put("value", userid); // Map param2 = new HashMap(); // param2.put("propertyName", "joinStatus");//java entity bean property name // param2.put("value", EXIST_VALUE); List list = new ArrayList(); list.add(param); // list.add(param2); List joins = joinDao.findAllByProperty(list); return joins; } public List findRoomJoins(int roomid) throws Exception { Map param = new HashMap(); param.put("propertyName", "roomid"); param.put("value", roomid); Map param2 = new HashMap(); param2.put("propertyName", "joinStatus");//java entity bean property name param2.put("value", EXIST_VALUE); List list = new ArrayList(); list.add(param); list.add(param2); List joins = joinDao.findAllByProperty(list); return joins; } public void deleteJoin(int userid, int roomid) throws Exception { Map param1 = new HashMap(); param1.put("propertyName", "userid"); param1.put("value", userid); Map param2 = new HashMap(); param2.put("propertyName", "roomid"); param2.put("value", roomid); List list = new ArrayList(); list.add(param1); list.add(param2); Join join = joinDao.findAllByProperty(list).get(0); join.setJoinStatus(DELETE_VALUE); joinDao.update(join); } public int saveRoom(Room room) throws Exception { //save room int result = roomDao.save(room); //join int roomid = room.getId(); int userid = room.getMasterUserid(); Join join = new Join(); join.setRoomid(roomid); join.setUserid(userid); joinDao.save(join); return result; } public List findRooms() throws Exception { Map param2 = new HashMap(); param2.put("propertyName", "openStatus");//java entity bean property name param2.put("value", EXIST_VALUE); List list = new ArrayList(); list.add(param2); List rooms = roomDao.findAllByProperty(list); return rooms; } public void updateRoom(Room room) throws Exception { //validation need roomDao.update(room); } public void deleteRoom(int userid, int roomid) throws Exception { Map param1 = new HashMap(); param1.put("propertyName", "masterUserid"); param1.put("value", userid); Map param2 = new HashMap(); param2.put("propertyName", "id"); param2.put("value", roomid); List list = new ArrayList(); list.add(param1); list.add(param2); Room room = roomDao.findAllByProperty(list).get(0); room.setOpenStatus(DELETE_VALUE); roomDao.update(room); } }