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;
|
}
|
|
|
|
|
}
|