package net.mengkang.demo.service; import net.mengkang.demo.bo.Icon; import net.mengkang.demo.dao.UserDao; import net.mengkang.demo.entity.User; import net.mengkang.demo.entity.UserLite; import net.mengkang.nettyrest.ApiProtocol; import java.util.ArrayList; import java.util.List; public class UserService extends BaseService { public UserService(ApiProtocol apiProtocol) { super(apiProtocol); } /** * Version compatibility demo * * @param uid * @return */ public User get(int uid) { if (apiProtocol.getBuild() > 105) { return getFromDatabase(uid); } return new User(uid, "xxx", 25); } public List<User> list() { if (apiProtocol.getBuild() > 105) { return getListFromDatabase(); } List<User> users = new ArrayList<User>(); users.add(new User(1, "mengkang.zhou", 25)); users.add(new User(2, "meng.zhou", 23)); return users; } public User getFromDatabase(int uid) { UserDao userDao = new UserDao(); UserLite userLite = userDao.get(uid); return exchange(userLite); } public List<User> getListFromDatabase() { List<UserLite> userLites = new UserDao().list(); List<User> users = new ArrayList<User>(); for (UserLite userLite : userLites) { users.add(exchange(userLite)); } return users; } public User exchange(UserLite userLite){ Icon icon = IconService.get(userLite.getIcon()); int age = (((int) (System.currentTimeMillis() / 1000)) - userLite.getBirthday()) / (24 * 3600 * 365); return new User(userLite.getId(), userLite.getName(), icon, age); } }