Service接口

import java.util.List;

import com.reptile.bean.sys.Module;
import com.reptile.formbean.TreeNode;
import com.reptile.formbean.sys.BeanModule;

/**
 * @ClassName IModuleService
 * @Description 模块Service接口
 * @author Bert
 * @date 2013-01-13
 */
public interface IModuleService {
    
    /**
     *
     * 获得菜单树
     * @return
     */
    public List<TreeNode> menuAllTree();
    
    /**
     *
     * 获得菜单树
     * @return
     */
    public List<TreeNode> Tree();
    
    /**
     * 获取一个moduleGrid
     * @return
     */
    public List<BeanModule> moduleGrid(String id);
    
    /**
     * 保存
     * @param model
     */
    public void save(BeanModule model);
    
    /**
     * 删除
     * @param id
     * @return
     */
    public Module remove(String id);
    
    /**
     * 修改一个菜单
     * @param id
     * @return
     */
    public void edit(BeanModule model);
    
    /**
     * 获得操作友限
     * @return
     */
    public List<Module> getModuleRole(String hql);
    
}




import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

import javax.inject.Inject;

import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;

import com.reptile.bean.sys.Module;
import com.reptile.dao.sys.IModuleDao;
import com.reptile.formbean.TreeNode;
import com.reptile.formbean.sys.BeanModule;
import com.reptile.service.sys.IModuleService;

/**
 * @ClassName MenuServiceImpl
 * @Description 模块Service接口实现
 * @author Bert
 * @date 2013-01-13
 */
@Service("moduleService")
public class ModuleServiceImpl implements IModuleService {

    private IModuleDao moduleDao;

    @Inject
    public void setModuleDao(IModuleDao moduleDao) {
        this.moduleDao = moduleDao;
    }

    @Override
    public List<TreeNode> menuAllTree() {
        LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>();
        orderby.put("sortNumber", "asc");
        List<Module> list = this.moduleDao.getScrollData(-1, -1, orderby).getResultlist();
        List<TreeNode> tree = new ArrayList<TreeNode>();
        if (list != null && list.size() > 0) {
            for (Module bean : list) {
                TreeNode node = new TreeNode();
                node.setId(bean.getId());
                node.setText(bean.getName());
                if (bean.getIconName() != null && !"".equals(bean.getIconName())) {
                    node.setIconCls(bean.getIconName().trim());
                } else {
                    node.setIconCls("");
                }
                if (bean.getModule() != null) {
                    node.setPid(bean.getModule().getId());
                }
                tree.add(node);
            }
        }
        return tree;
    }

    @Override
    public List<BeanModule> moduleGrid(String id) {
        StringBuffer whereJPQL = new StringBuffer();
        Map<String, Object> params = new HashMap<String, Object>();
        if (id != null && !"".equals(id)) {
            whereJPQL.append("o.module.id = :id");
            params.put("id", id);
        } else {
            whereJPQL.append("o.module is null");
        }
        LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>();
        orderby.put("sortNumber", "asc");
        List<Module> list = this.moduleDao.getScrollData(-1, -1, whereJPQL.toString(), params, orderby).getResultlist();
        return getFromModules(list);
    }

    /**
     * 组合树型表数据集合
     *
     * @param m
     * @return
     */
    private List<BeanModule> getFromModules(List<Module> list) {
        List<BeanModule> menuTree = new ArrayList<BeanModule>();
        if (list != null && list.size() > 0) {
            for (Module module : list) {
                BeanModule bm = new BeanModule();
                BeanUtils.copyProperties(module, bm);
                if (module.getModule() != null) {
                    bm.setPid(module.getModule().getId());
                    bm.setParentText(module.getModule().getName());
                }
                if (module.getModules() != null && module.getModules().size() > 0) {
                    bm.setState("closed");
                }
                if (module.getIconName() == null) {
                    bm.setIconCls("");
                } else {
                    bm.setIconCls(module.getIconName());
                }
                menuTree.add(bm);
            }
        }
        return menuTree;
    }

    @Override
    public List<TreeNode> Tree() {
        LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>();
        orderby.put("sortNumber", "asc");
        List<Module> list = this.moduleDao.getScrollData(-1, -1, orderby).getResultlist();
        List<TreeNode> tree = new ArrayList<TreeNode>();
        if (list != null && list.size() > 0) {
            for (Module bean : list) {
                TreeNode node = new TreeNode();
                node.setId(bean.getId());
                node.setText(bean.getName());
                if (bean.getIconName() != null && !"".equals(bean.getIconName())) {
                    node.setIconCls(bean.getIconName().trim());
                } else {
                    node.setIconCls("");
                }
                if (bean.getModule() != null) {
                    node.setPid(bean.getModule().getId());
                }
                tree.add(node);
            }
        }
        return tree;
    }

    @Override
    public void save(BeanModule model) {
        Module bean = new Module();
        BeanUtils.copyProperties(model, bean, new String[] { "id", "createdate" });
        if (model.getPid() != null && !"".equals(model.getPid())) {
            bean.setModule(this.moduleDao.get((Serializable) model.getPid()));
        }
        this.moduleDao.save(bean);
    }

    @Override
    public Module remove(String id) {
        return this.moduleDao.deleteById((Serializable) id);
    }

    @Override
    public void edit(BeanModule model) {
        Module bean = this.moduleDao.get((Serializable) model.getId());
        BeanUtils.copyProperties(model, bean, new String[] { "id", "createdate", "createUserNO" });
        if (model.getPid() != null && !"".equals(model.getPid())) {
            Module md = this.moduleDao.get((Serializable) model.getPid());
            if (md != null) {
                if (isDown(bean, md)) {// 要将当前节点修改到当前节点的子节点中
                    Set<Module> modules = bean.getModules();// 当前要修改的节点的所有下级节点
                    if (modules != null && modules.size() > 0) {
                        for (Module module : modules) {
                            if (module != null) {
                                module.setModule(null);
                            }
                        }
                    }
                }
                bean.setModule(md);
            }
        }
    }
    
    /**
     * 判断是否是将当前节点修改到当前节点的子节点
     * @param entity 根
     * @param bean 子
     * @return
     */
    private boolean isDown(Module entity, Module bean) {
        if (bean.getModule() != null) {
            if (bean.getModule().getId().equals(entity.getId())) {
                return true;
            } else {
                return isDown(entity, bean.getModule());
            }
        }
        return false;
    }

    @Override
    public List<Module> getModuleRole(String hql) {
        return this.moduleDao.executeHqlList("select m from Module m where m.id in ("+hql+") and m.type = 'button'");
    }

}




import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

import javax.inject.Inject;

import org.apache.commons.lang.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;

import com.reptile.basic.framework.model.PageView;
import com.reptile.basic.framework.model.QueryResult;
import com.reptile.bean.sys.Role;
import com.reptile.bean.sys.User;
import com.reptile.dao.sys.IRoleDao;
import com.reptile.dao.sys.IUserDao;
import com.reptile.formbean.DataGrid;
import com.reptile.formbean.PageModel;
import com.reptile.formbean.sys.UserCombogridModel;
import com.reptile.formbean.sys.UserModel;
import com.reptile.service.sys.IUserService;
import com.reptile.utils.EncryptUtils;
import com.reptile.utils.SessionUtils;

/**
 * @ClassName IUserService
 * @Description 登录用户Service接口现实
 * @author Bert
 * @date 2013-01-13
 */
@Service("userService")
public class UserServiceImpl implements IUserService {

    private IUserDao userDao;
    
    private IRoleDao roleDao;
    

    @Inject
    public void setUserDao(IUserDao userDao) {
        this.userDao = userDao;
    }
    
    @Inject    
    public void setRoleDao(IRoleDao roleDao) {
        this.roleDao = roleDao;
    }

    @Override
    public boolean userExist(String username){
        return this.userDao.userExist(username);
    }

    @Override
    public User save(UserModel model) {
        User bean = new User();
        BeanUtils.copyProperties(model, bean, new String[] { "id", "password","administrator", "createdate" });
        bean.setPassword(EncryptUtils.md5AndSha(model.getPassword()));
        bean.setCreateUserNO(SessionUtils.getUser().getUsername());
        return userDao.save(bean);
    }

    @Override
    public User login(String username, String password) {
        return this.userDao.login(username, password);
    }

    @Override
    public DataGrid<UserModel> list(PageModel pageModel, UserModel model) {
        DataGrid<UserModel> dg = new DataGrid<UserModel>();
        PageView<User> pageView = new PageView<User>(pageModel.getRows(), pageModel.getPage());
        StringBuffer whereJPQL = new StringBuffer();
        Map<String, Object> params = new HashMap<String, Object>();
        if (model.getUsername() != null && !"".equals(model.getUsername().trim())) {
            if (params.size() > 0)
                whereJPQL.append(" and ");
            whereJPQL.append("o.username like :username");
            params.put("username", "%" + model.getUsername().trim() + "%");
        }
        if (model.getCnname() != null && !"".equals(model.getCnname().trim())) {
            if (params.size() > 0)
                whereJPQL.append(" and ");
            whereJPQL.append("o.cnname like :cnname");
            params.put("cnname", "%" + model.getCnname().trim() + "%");
        }
        if(model.getSex() != null && !"".equals(model.getSex())){
            if(params.size() > 0 )
                whereJPQL.append(" and ");
            whereJPQL.append("o.sex = :sex");
            params.put("sex", model.getSex());
        }
        if(model.getTelephone() != null && !"".equals(model.getTelephone().trim())){
            if(params.size() > 0 )
                whereJPQL.append(" and ");
            whereJPQL.append("o.telephone = :telephone");
            params.put("telephone", model.getTelephone().trim());
        }
        if(model.getStartcreatedate()!=null && !"".equals(model.getStartcreatedate()) && model.getEndcreatedate() !=null && !"".equals(model.getEndcreatedate().trim())){
            if(params.size() > 0 )
                whereJPQL.append(" and ");
            whereJPQL.append("o.createdate >= :startcreatedate");
            params.put("startcreatedate", DateUtils.format(model.getStartcreatedate().trim()+" 00:00:00"));
            
            if(params.size() > 0 )
                whereJPQL.append(" and ");
            whereJPQL.append("o.createdate <= :endcreatedate");
            params.put("endcreatedate", DateUtils.format(model.getEndcreatedate().trim()+" 23:59:59"));
        }        
        LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>();
        orderby.put(pageModel.getSort(), pageModel.getOrder());
        QueryResult<User> result = userDao.getScrollData(pageView.getFirstResult(), pageView.getMaxresult(), whereJPQL.toString(), params, orderby);
        List<UserModel> modellist = new ArrayList<UserModel>();
        if (result.getResultlist() != null && result.getResultlist().size() > 0) {
            for (User user : result.getResultlist()) {
                UserModel userModel = new UserModel();
                BeanUtils.copyProperties(user, userModel);
                modellist.add(userModel);
            }
        }
        dg.setTotal(result.getTotalrecord());
        dg.setRows(modellist);
        return dg;
    }

    @Override
    public void remove(String ids) {
        String[] nids = ids.split(",");
        String hql = "delete User o where o.id in(";
        for(int i = 0; i< nids.length; i++){
            if(i>0){
                hql += ",";
            }
            hql += "'" + nids[i] + "'";
        }
        hql += ")";
        this.userDao.executeHql(hql);
    }

    @Override
    public void edit(UserModel model) {
        User bean = this.userDao.get((Serializable)model.getId());
        BeanUtils.copyProperties(model, bean, new String[]{"id","username","password","createdate","createUserNO"});
        bean.setUpdater(SessionUtils.getUser().getUsername());
        bean.setUpdateTime(new Date());
        this.userDao.update(bean);
    }
    
    @Override
    public DataGrid<UserCombogridModel> userCombogrid(PageModel pageModel) {
        DataGrid<UserCombogridModel> dg = new DataGrid<UserCombogridModel>();
        LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>();
        orderby.put(pageModel.getSort(), pageModel.getOrder());
        QueryResult<User> result = userDao.getScrollData(-1, -1, orderby);
        List<UserCombogridModel> modellist = new ArrayList<UserCombogridModel>();
        if (result.getResultlist() != null && result.getResultlist().size() > 0) {
            for (User user : result.getResultlist()) {
                UserCombogridModel userCombogrid = new UserCombogridModel();
                userCombogrid.setId(user.getId());
                userCombogrid.setCnname(user.getCnname());
                if (user.getSex() != null && !"".equals(user.getSex())) {
                    userCombogrid.setSex(user.getSex().getGender());
                }
                userCombogrid.setTelephone(user.getTelephone());
                userCombogrid.setEmail(user.getEmail());
                userCombogrid.setCreatedate(user.getCreatedate());        
                modellist.add(userCombogrid);
            }
        }

        dg.setTotal(result.getTotalrecord());
        dg.setRows(modellist);
        return dg;
    }

    @Override
    public DataGrid<UserCombogridModel> userCombogrid(PageModel pageModel, UserCombogridModel model) {
        DataGrid<UserCombogridModel> dg = new DataGrid<UserCombogridModel>();
        PageView<User> pageView = new PageView<User>(pageModel.getRows(), pageModel.getPage());
        StringBuffer whereJPQL = new StringBuffer();
        Map<String, Object> params = new HashMap<String, Object>();
/*
        if (model.getEnterpriseid() != null && !"".equals(model.getEnterpriseid().trim())) {
            if (params.size() > 0)
                whereJPQL.append(" and ");
            whereJPQL.append("o.department.enterprise.id  = :enid");
            params.put("enid", model.getEnterpriseid().trim());
        }
        if (model.getDepartmentid() != null && !"".equals(model.getDepartmentid().trim())) {
            if (params.size() > 0)
                whereJPQL.append(" and ");
            whereJPQL.append("o.department.id = :depid");
            params.put("depid",model.getDepartmentid());
        }
        */
        LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>();
        orderby.put(pageModel.getSort(), pageModel.getOrder());

        QueryResult<User> result = userDao.getScrollData(pageView.getFirstResult(), pageView.getMaxresult(), whereJPQL.toString(), params, orderby);
        List<UserCombogridModel> modellist = new ArrayList<UserCombogridModel>();

        if (result.getResultlist() != null && result.getResultlist().size() > 0) {
            for (User user : result.getResultlist()) {
                UserCombogridModel userCombogrid = new UserCombogridModel();
                userCombogrid.setId(user.getId());
                userCombogrid.setCnname(user.getCnname());
                if (user.getSex() != null && !"".equals(user.getSex())) {
                    userCombogrid.setSex(user.getSex().getGender());
                }
                userCombogrid.setTelephone(user.getTelephone());
                userCombogrid.setEmail(user.getEmail());
                userCombogrid.setCreatedate(user.getCreatedate());            
                modellist.add(userCombogrid);
            }
        }

        dg.setTotal(result.getTotalrecord());
        dg.setRows(modellist);
        return dg;
    }
    
    @Override
    public String getUpRoleBatch() {
        LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>();
        orderby.put("sortNumber", "asc");
        List<Role> role = this.roleDao.getScrollData(-1, -1, orderby).getResultlist();
        StringBuilder sb = new StringBuilder();
        sb.append("<table width=\"100%\" border=\"0\"><tr>");
        int i = 0;
        for (Role r : role) {
            sb.append("<td><input type=\"checkbox\" name=\"rids\" value=\"");
            sb.append(r.getId());
            sb.append("\" ");
            sb.append("/> ");
            sb.append(r.getName());
            sb.append("</td>");
            i++;
            if (i % 2 == 0)
                sb.append("</tr><tr>");
        }
        sb.append("</tr></table>");
        return sb.toString();
    }
    
    @Override
    public String getUpRole(String id) {
        StringBuilder sb = new StringBuilder();
        if(id != null && !"".equals(id)){
            User user = this.userDao.get((Serializable)id);
            LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>();
            orderby.put("sortNumber", "asc");
            List<Role> role = this.roleDao.getScrollData(-1, -1, orderby).getResultlist();
            
            sb.append("<table width=\"100%\" border=\"0\"><tr>");
            int i = 0;
            for (Role r : role) {
                sb.append("<td><input type=\"checkbox\" name=\"rids\" value=\"");
                sb.append(r.getId());
                sb.append("\" ");
                if (user.getRoles().contains(r)) {
                    sb.append(" checked ");
                }
                sb.append(" />  ");
                sb.append(r.getName());
                sb.append("</td>");
                i++;
                if (i % 2 == 0)
                    sb.append("</tr><tr>");
            }
            sb.append("</tr></table>");
        }
        return sb.toString();
    }

    @Override
    public void saveUpUserRole(UserModel model) {
        if(model.getIds() != null && !"".equals(model.getIds())){
            for(String id : model.getIds().split(",")){
                User user = this.userDao.get((Serializable) id);
                user.getRoles().clear();
                if(model.getRids() != null && model.getRids().length > 0){
                    Set<Role> role = new HashSet<Role>();
                    for(String rid : model.getRids()){
                        role.add(this.roleDao.get((Serializable) rid));
                        //user.addPrivilegeRole(new Role(rid));
                    }
                    user.setRoles(role);
                }
            }
        }
    }
    
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值