package com.iamberry.rst.service.sys; import com.github.pagehelper.PageHelper; import com.iamberry.rst.core.page.PageRequest; import com.iamberry.rst.core.page.PagedResult; import com.iamberry.rst.core.sys.Admin; import com.iamberry.rst.core.sys.AdminPocess; import com.iamberry.rst.core.sys.Menu; import com.iamberry.rst.core.sys.Relu; import com.iamberry.rst.faces.sys.SysService; import com.iamberry.rst.service.sys.mapper.SysMapper; import com.iamberry.rst.util.PageUtil; import com.iamberry.wechat.tools.MD5Util; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.UUID; /** * @author 献 * @company 深圳爱贝源科技有限公司 * @website www.iamberry.com * @tel 18271840547 * @date 2017/5/12 */ @Service public class SysServiceImpl implements SysService { @Autowired private SysMapper sysMapper; @Override public String getSaltByLoginName(String loginName) { return sysMapper.getSaltByLoginName(loginName); } @Override public Admin get(Admin admin) { return sysMapper.get(admin); } @Override public List listPermissionShiro(Integer id) { return sysMapper.listPermissionSymbol(id); } @Override public List listMenu(Integer adminId) { return sysMapper.listMenuByAdmin(adminId); } @Override public Integer editAdmin(Admin admin) { // 不允许修改的内容:部门、使用状态、销售数量、登录账户 admin.setAdminDept(null); admin.setAdminSaleNum(null); admin.setAdminAccount(null); // 如果密码不为空,则表示需要修改密码 if (admin.getAdminPassword() != null) { String salt = UUID.randomUUID().toString().replaceAll("-", ""); if (salt.length() > 32) salt = salt.substring(0, 31); admin.setAdminPassword(MD5Util.MD5Encode(admin.getAdminPassword() + salt, "UTF-8")); admin.setAdminSalt(salt); } // 更新 Integer res = sysMapper.updateAdmin(admin); // 返回 if (res == null || res <= 0) return 0; return 1; } @Override public PagedResult listAdmin(PageRequest pageRequest) { // 开始分页(页数, 每页数据大小,是否需要总页数,即执行(select count())) PageHelper.startPage(pageRequest.getPageNO(), pageRequest.getPageSize(), pageRequest.isPageTotal()); List list = sysMapper.listAdmin(pageRequest.getData()); return PageUtil.getPage(list); } @Override public List listPermissions(Integer adminid) { return sysMapper.listPermissions(adminid); } @Override @Transactional(propagation = Propagation.REQUIRED) public Integer editAdminPermission(List pocesses, Integer adminId) { // 先执行删除 Integer delCount = sysMapper.delAdminPermission(adminId); // 然后添加 if (pocesses == null || pocesses.isEmpty()) { return 1; } Integer addCount = sysMapper.addPocessList(pocesses); if (addCount <= 0) { throw new RuntimeException("ADD_ERROR"); } return 1; } @Override public List ListSysRelu(Relu relu) { return sysMapper.ListSysRelu(relu); } @Override public Integer saveAdmin(Admin admin) { return sysMapper.saveAdmin(admin); } @Override public Admin getByOpenid(String openid) { return sysMapper.getByOpenid(openid); } @Override public Admin getByName(String adminName) { return sysMapper.getByName(adminName); } @Override public List listGetAdmin(Admin admin) { return sysMapper.listAdmin(admin); } @Override public List listSelectAdmin(Admin admin) { return sysMapper.listAdmin(admin); } @Override public Integer updateRelu(Relu relu) { return sysMapper.updateRelu(relu); } }