package com.mandi.system.service.impl; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; import javax.annotation.Resource; import javax.transaction.Transactional; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import com.mandi.common.BasicMethod; import com.mandi.dao.common.Daomethod; import com.mandi.dao.common.ObjectResult; import com.mandi.dao.common.PageRequest; import com.mandi.dao.common.PageResult; import com.mandi.fendan.mapper.Fd_CompanyMapper; import com.mandi.fendan.persist.Fd_Company; import com.mandi.system.mapper.FduserMapper; import com.mandi.system.mapper.LoginMapper; import com.mandi.system.persist.Login; import com.mandi.system.persist.LoginSide; import com.mandi.system.persist.User; import com.mandi.system.persist.UserType; import com.mandi.system.service.IFdUserService; @Service public class FdUserService implements IFdUserService{ @Resource private FduserMapper uper; @Resource private LoginMapper lper; @Resource private Fd_CompanyMapper fdcper; @Override @Transactional(rollbackOn=Exception.class) public ObjectResult<Login> loginUser(String username, String password,String ipadd)throws Exception { ObjectResult<Login> orr=new ObjectResult<Login>(); User u=uper.getbyUname(username); if(u==null){ orr.setCode(1); orr.setErrmsg("用户åä¸å˜åœ¨ï¼Œè¯·é‡æ–°ç™»å½•ï¼"); return orr; } if(!u.isState()){ orr.setCode(1); orr.setErrmsg("该账å·å·²ç¦æ¢ç™»å½•ï¼"); return orr; } if(!BasicMethod.encryptSHA(password).equals(u.getPassword())){ orr.setCode(1); orr.setErrmsg("密ç 䏿£ç¡®è¯·é‡æ–°ç™»å½•ï¼"); return orr; } Fd_Company fd=fdcper.getByCompanyNo(u.getCompanyNo()); Login lg=new Login(); lg.setDepart(0); if(fd!=null){ lg.setDepartname(fd.getName()); lg.setDepartno(fd.getCompanyNo()); } lg.setId(0); lg.setIpaddr(ipadd); lg.setLoginside(LoginSide.back); lg.setLogintime(new Date()); lg.setPhone(u.getPhone()); lg.setUserid(u.getId()); lg.setUsername(u.getUsername()); lg.setWorkername(u.getName()); lg.setWorkerno(u.getUtype()+""); lper.insert(lg); orr.setCode(0); orr.setItem(lg); return orr; } @Override public ObjectResult<Boolean> logout(Login login) { ObjectResult<Boolean> or=new ObjectResult<Boolean>(); if(login==null){ or.setCode(1); or.setErrmsg("ä¸å˜åœ¨ç™»å½•ä¿¡æ¯!"); return or; } int i=lper.logout(login.getId()); if(i>0){ or.setCode(0); }else{ or.setCode(2); or.setErrmsg("ä¸èƒ½ä¿å˜ç™»å½•退出信æ¯!"); } return or; } @Override public ObjectResult<Boolean> saveState(String id, boolean state,Login lg) { ObjectResult<Boolean> orr=new ObjectResult<Boolean>(); if(lg==null){ orr.setCode(1); orr.setErrmsg("è´¦å·å·²é€€å‡º,è¯·é‡æ–°ç™»å½•è´¦å·!"); return orr; } if(!UserType.admin.toString().equals(lg.getWorkerno())){ orr.setCode(1); orr.setErrmsg("登录账å·ä¸æ˜¯ç®¡ç†å‘˜ä¸èƒ½æ“作!"); return orr; } User u=uper.getbyId(id); if(u==null){ orr.setCode(1); orr.setErrmsg("该用户ä¸å˜åœ¨ï¼Œä¸èƒ½æ“作!"); return orr; } u.setState(state); uper.updatebyId(u); orr.setCode(0); orr.setItem(state); return orr; } @Override @Transactional(rollbackOn=Exception.class) public ObjectResult<User> saveUser(User u,Login lg) throws Exception { ObjectResult<User> orr=new ObjectResult<User>(); if(lg==null){ orr.setCode(1); orr.setErrmsg("è´¦å·å·²é€€å‡º,è¯·é‡æ–°ç™»å½•è´¦å·!"); return orr; } if(!UserType.admin.toString().equals(lg.getWorkerno())){ orr.setCode(1); orr.setErrmsg("登录账å·ä¸æ˜¯ç®¡ç†å‘˜ä¸èƒ½æ“作!"); return orr; } if(u==null){ orr.setCode(1); orr.setErrmsg("用户对象为空,ä¸èƒ½ä¿å˜!"); return orr; } if(StringUtils.isEmpty(u.getUsername())){ orr.setCode(1); orr.setErrmsg("用户å为空,ä¸èƒ½ä¿å˜!"); return orr; } if(StringUtils.isEmpty(u.getName())){ orr.setCode(1); orr.setErrmsg("用户姓å为空,ä¸èƒ½ä¿å˜!"); return orr; } // Fd_Company fdc=fdcper.getByCompanyNo(u.getCompanyNo()); // if(fdc==null){ // orr.setCode(1); // orr.setErrmsg("物æµå…¬å¸ä¸å˜åœ¨ï¼Œè¯·é€‰æ‹©æ£ç¡®çš„物æµå…¬å¸!"); // return orr; // } String id=u.getId(); User us1=uper.getbyId(id); User us2=uper.getbyUname(u.getUsername()); if(us2!=null){ if(us1!=null){ if(!us2.getId().equals(us1.getId())){ orr.setCode(1); orr.setErrmsg("该用户åå·²å˜åœ¨!"); return orr; } }else{ orr.setCode(1); orr.setErrmsg("该用户åå·²å˜åœ¨!"); return orr; } } if(us1!=null){ if(!StringUtils.isEmpty(u.getPassword())){ String encpwd=BasicMethod.encryptSHA(u.getPassword()); u.setPassword(encpwd); }else{ u.setPassword(us1.getPassword()); } uper.updatebyId(u); }else{ if(StringUtils.isEmpty(u.getPassword())){ orr.setCode(1); orr.setErrmsg("用户密ç 为空,ä¸èƒ½ä¿å˜!"); return orr; } String encpwd=BasicMethod.encryptSHA(u.getPassword()); u.setPassword(encpwd); u.setId(UUID.randomUUID()+""); uper.insert(u); } orr.setCode(0); orr.setItem(u); return orr; } @Override public PageResult<Map<String, Object>> getUserMlist(String searchword, String companyNo, PageRequest pr) { PageResult<Map<String, Object>> prr=new PageResult<Map<String,Object>>(); Map<String, Object> mp=new HashMap<String, Object>(); mp.put("pagesize",pr.getPageSize() ); mp.put("page",pr.getStart()); mp.put("keyword", searchword); mp.put("companyNo", companyNo); if(pr.isNeedPages()){ int cc=uper.getcount(mp); int pages=Daomethod.countpages(cc, pr.getPageSize()); prr.setPages(pages); } List<Map<String, Object>> ll=uper.getMList(mp); prr.setCode(0); prr.setList(ll); return prr; } @Override @Transactional(rollbackOn=Exception.class) public ObjectResult<Boolean> delUser(String id,Login lg) throws Exception { ObjectResult<Boolean> orr=new ObjectResult<Boolean>(); if(lg==null){ orr.setCode(1); orr.setErrmsg("è´¦å·å·²é€€å‡º,è¯·é‡æ–°ç™»å½•è´¦å·!"); return orr; } if(!UserType.admin.toString().equals(lg.getWorkerno())){ orr.setCode(1); orr.setErrmsg("登录账å·ä¸æ˜¯ç®¡ç†å‘˜ä¸èƒ½æ“作!"); return orr; } User u=uper.getbyId(id); if(u==null){ orr.setCode(1); orr.setErrmsg("用户ä¸å˜åœ¨ï¼Œä¸èƒ½åˆ 除!"); return orr; } uper.delbyId(id); orr.setCode(0); orr.setItem(true); return orr; } @Override public ObjectResult<User> getUser(String id) { ObjectResult<User> orr=new ObjectResult<User>(); User u=uper.getbyId(id); orr.setCode(0); orr.setItem(u); return orr; } @Override @Transactional(rollbackOn=Exception.class) public ObjectResult<Boolean> updateUserPwd(String oldpwd, String newpwd,Login lg) throws Exception { ObjectResult<Boolean> orr=new ObjectResult<Boolean>(); if(lg==null){ orr.setCode(1); orr.setErrmsg("è´¦å·å·²é€€å‡º,è¯·é‡æ–°ç™»å½•è´¦å·!"); return orr; } User u=uper.getbyId(lg.getUserid()); if(u==null){ orr.setCode(1); orr.setErrmsg("用户ä¸å˜åœ¨ï¼Œä¸èƒ½ä¿®æ”¹å¯†ç !"); return orr; } oldpwd=BasicMethod.encryptSHA(oldpwd); newpwd=BasicMethod.encryptSHA(newpwd); if(!u.getPassword().equals(oldpwd)){ orr.setCode(1); orr.setErrmsg("密ç 错误ä¸èƒ½ä¿®æ”¹!"); return orr; } u.setPassword(newpwd); uper.updatebyId(u); orr.setCode(0); orr.setItem(true); return orr; } }