Administrator
2022-09-14 58d006e05dcf2a20d0ec5367dd03d66a61db6849
提交 | 用户 | 时间
58d006 1 package com.mandi.system.service.impl;
A 2
3 import java.util.Date;
4 import java.util.HashMap;
5 import java.util.List;
6 import java.util.Map;
7 import java.util.UUID;
8
9 import javax.annotation.Resource;
10 import javax.transaction.Transactional;
11
12 import org.apache.commons.lang3.StringUtils;
13 import org.springframework.stereotype.Service;
14
15 import com.mandi.common.BasicMethod;
16 import com.mandi.dao.common.Daomethod;
17 import com.mandi.dao.common.ObjectResult;
18 import com.mandi.dao.common.PageRequest;
19 import com.mandi.dao.common.PageResult;
20 import com.mandi.fendan.mapper.Fd_CompanyMapper;
21 import com.mandi.fendan.persist.Fd_Company;
22 import com.mandi.system.mapper.FduserMapper;
23 import com.mandi.system.mapper.LoginMapper;
24 import com.mandi.system.persist.Login;
25 import com.mandi.system.persist.LoginSide;
26 import com.mandi.system.persist.User;
27 import com.mandi.system.persist.UserType;
28 import com.mandi.system.service.IFdUserService;
29
30 @Service
31 public class FdUserService implements IFdUserService{
32     @Resource
33     private FduserMapper uper;
34     @Resource
35     private LoginMapper lper;
36     @Resource
37     private Fd_CompanyMapper fdcper;
38     
39
40     @Override
41     @Transactional(rollbackOn=Exception.class)
42     public ObjectResult<Login> loginUser(String username, String password,String ipadd)throws Exception {
43         ObjectResult<Login> orr=new ObjectResult<Login>();
44         User u=uper.getbyUname(username);
45         if(u==null){
46             orr.setCode(1);
47             orr.setErrmsg("用户名不存在,请重新登录!");
48             return orr;
49         }
50         if(!u.isState()){
51             orr.setCode(1);
52             orr.setErrmsg("该账号已禁止登录!");
53             return orr;
54         }
55         if(!BasicMethod.encryptSHA(password).equals(u.getPassword())){
56             orr.setCode(1);
57             orr.setErrmsg("密码不正确请重新登录!");
58             return orr;
59         }
60         Fd_Company fd=fdcper.getByCompanyNo(u.getCompanyNo());
61         Login lg=new Login();
62         lg.setDepart(0);
63         if(fd!=null){
64             lg.setDepartname(fd.getName());
65             lg.setDepartno(fd.getCompanyNo());
66         }
67         lg.setId(0);
68         lg.setIpaddr(ipadd);
69         lg.setLoginside(LoginSide.back);
70         lg.setLogintime(new Date());
71         lg.setPhone(u.getPhone());
72         lg.setUserid(u.getId());
73         lg.setUsername(u.getUsername());
74         lg.setWorkername(u.getName());
75         lg.setWorkerno(u.getUtype()+"");
76         lper.insert(lg);
77         orr.setCode(0);
78         orr.setItem(lg);
79         return orr;
80     }
81
82
83     @Override
84     public ObjectResult<Boolean> logout(Login login) {
85         ObjectResult<Boolean> or=new ObjectResult<Boolean>();
86         if(login==null){
87             or.setCode(1);
88             or.setErrmsg("不存在登录信息!");
89             return or;
90         }
91         int i=lper.logout(login.getId());
92         if(i>0){
93             or.setCode(0);
94         }else{
95             or.setCode(2);
96             or.setErrmsg("不能保存登录退出信息!");
97         }
98         return or;
99     }
100
101
102     @Override
103     public ObjectResult<Boolean> saveState(String id, boolean state,Login lg) {
104         ObjectResult<Boolean> orr=new ObjectResult<Boolean>();
105         if(lg==null){
106             orr.setCode(1);
107             orr.setErrmsg("账号已退出,请重新登录账号!");
108             return orr;
109         }
110         if(!UserType.admin.toString().equals(lg.getWorkerno())){
111             orr.setCode(1);
112             orr.setErrmsg("登录账号不是管理员不能操作!");
113             return orr;
114         }
115         User u=uper.getbyId(id);
116         if(u==null){
117             orr.setCode(1);
118             orr.setErrmsg("该用户不存在,不能操作!");
119             return orr;
120         }
121         u.setState(state);
122         uper.updatebyId(u);
123         
124         orr.setCode(0);
125         orr.setItem(state);
126         return orr;
127     }
128
129
130     @Override
131     @Transactional(rollbackOn=Exception.class)
132     public ObjectResult<User> saveUser(User u,Login lg) throws Exception {
133         ObjectResult<User> orr=new ObjectResult<User>();
134         if(lg==null){
135             orr.setCode(1);
136             orr.setErrmsg("账号已退出,请重新登录账号!");
137             return orr;
138         }
139         if(!UserType.admin.toString().equals(lg.getWorkerno())){
140             orr.setCode(1);
141             orr.setErrmsg("登录账号不是管理员不能操作!");
142             return orr;
143         }
144         if(u==null){
145             orr.setCode(1);
146             orr.setErrmsg("用户对象为空,不能保存!");
147             return orr;
148         }
149         if(StringUtils.isEmpty(u.getUsername())){
150             orr.setCode(1);
151             orr.setErrmsg("用户名为空,不能保存!");
152             return orr;
153         }
154         if(StringUtils.isEmpty(u.getName())){
155             orr.setCode(1);
156             orr.setErrmsg("用户姓名为空,不能保存!");
157             return orr;
158         }
159 //        Fd_Company fdc=fdcper.getByCompanyNo(u.getCompanyNo());
160 //        if(fdc==null){
161 //            orr.setCode(1);
162 //            orr.setErrmsg("物流公司不存在,请选择正确的物流公司!");
163 //            return orr;
164 //        }
165         String id=u.getId();
166         User us1=uper.getbyId(id);
167         User us2=uper.getbyUname(u.getUsername());
168         if(us2!=null){
169             if(us1!=null){
170                 if(!us2.getId().equals(us1.getId())){
171                     orr.setCode(1);
172                     orr.setErrmsg("该用户名已存在!");
173                     return orr;
174                 }
175             }else{
176                 orr.setCode(1);
177                 orr.setErrmsg("该用户名已存在!");
178                 return orr;
179             }
180         }
181         if(us1!=null){
182             if(!StringUtils.isEmpty(u.getPassword())){
183                 String encpwd=BasicMethod.encryptSHA(u.getPassword());
184                 u.setPassword(encpwd);
185             }else{
186                 u.setPassword(us1.getPassword());
187             }
188             uper.updatebyId(u);
189         }else{
190             if(StringUtils.isEmpty(u.getPassword())){
191                 orr.setCode(1);
192                 orr.setErrmsg("用户密码为空,不能保存!");
193                 return orr;
194             }
195             String encpwd=BasicMethod.encryptSHA(u.getPassword());
196             u.setPassword(encpwd);
197             u.setId(UUID.randomUUID()+"");
198             uper.insert(u);
199         }
200         orr.setCode(0);
201         orr.setItem(u);
202         return orr;
203     }
204
205
206     @Override
207     public PageResult<Map<String, Object>> getUserMlist(String searchword,
208             String companyNo, PageRequest pr) {
209         PageResult<Map<String, Object>> prr=new PageResult<Map<String,Object>>();
210         
211         Map<String, Object> mp=new HashMap<String, Object>();
212         
213         mp.put("pagesize",pr.getPageSize() );
214         mp.put("page",pr.getStart());
215         mp.put("keyword", searchword);
216         mp.put("companyNo", companyNo);
217         if(pr.isNeedPages()){
218             int cc=uper.getcount(mp);
219             int pages=Daomethod.countpages(cc, pr.getPageSize());
220             prr.setPages(pages);
221         }
222         List<Map<String, Object>> ll=uper.getMList(mp);
223         prr.setCode(0);
224         prr.setList(ll);
225         return prr;
226     }
227
228
229     @Override
230     @Transactional(rollbackOn=Exception.class)
231     public ObjectResult<Boolean> delUser(String id,Login lg) throws Exception {
232         ObjectResult<Boolean> orr=new ObjectResult<Boolean>();
233         if(lg==null){
234             orr.setCode(1);
235             orr.setErrmsg("账号已退出,请重新登录账号!");
236             return orr;
237         }
238         if(!UserType.admin.toString().equals(lg.getWorkerno())){
239             orr.setCode(1);
240             orr.setErrmsg("登录账号不是管理员不能操作!");
241             return orr;
242         }
243         User u=uper.getbyId(id);
244         if(u==null){
245             orr.setCode(1);
246             orr.setErrmsg("用户不存在,不能删除!");
247             return orr;
248         }
249         uper.delbyId(id);
250         orr.setCode(0);
251         orr.setItem(true);
252         return orr;
253     }
254
255
256     @Override
257     public ObjectResult<User> getUser(String id) {
258         ObjectResult<User> orr=new ObjectResult<User>();
259         User u=uper.getbyId(id);
260         orr.setCode(0);
261         orr.setItem(u);
262         return orr;
263     }
264
265
266     @Override
267     @Transactional(rollbackOn=Exception.class)
268     public ObjectResult<Boolean> updateUserPwd(String oldpwd, String newpwd,Login lg)
269             throws Exception {
270         ObjectResult<Boolean> orr=new ObjectResult<Boolean>();
271         if(lg==null){
272             orr.setCode(1);
273             orr.setErrmsg("账号已退出,请重新登录账号!");
274             return orr;
275         }
276         User u=uper.getbyId(lg.getUserid());
277         if(u==null){
278             orr.setCode(1);
279             orr.setErrmsg("用户不存在,不能修改密码!");
280             return orr;
281         }
282         oldpwd=BasicMethod.encryptSHA(oldpwd);
283         newpwd=BasicMethod.encryptSHA(newpwd);
284         if(!u.getPassword().equals(oldpwd)){
285             orr.setCode(1);
286             orr.setErrmsg("密码错误不能修改!");
287             return orr;
288         }
289         u.setPassword(newpwd);
290         uper.updatebyId(u);
291         orr.setCode(0);
292         orr.setItem(true);
293         return orr;
294     }
295     
296     
297     
298
299 }