123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- package com.tld.service.impl;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import com.tld.excel.ExcelUtils;
- import com.tld.mapper.UserMapper;
- import com.tld.model.User;
- import com.tld.service.UserService;
- import com.tld.util.*;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.text.SimpleDateFormat;
- import java.util.*;
- @Service
- public class UserServiceImpl implements UserService {
- @Autowired
- private UserMapper userMapper;
- @Resource
- private RedisUtil redisUtil;
- @Override
- public Map<String, Object> login(User user, HttpServletRequest request) {
- Map<String, Object> map = new HashMap<>();
- try{
- user.setPassword(DesEncry.encrypt(user.getPassword()));
- User user1 = userMapper.login(user);
- //获取用户ip3000
- String ipAddr = IpUtils.getIpAddr(request);
- if(null == user1){
- map.put("msg", "510");
- map.put("errMsg", "账号或密码错误");
- return map;
- } else {
- //token参数
- Map<String, String> tokenParam = new HashMap<String, String>(){{
- put("user_name", user.getUserName());
- put("userId", user.getId() + "");
- }};
- String token = JWTUtil.getToken(tokenParam); //生成token
- // String key = RedisPreEnum.JWT_TOKEN_PRE.getPre() + user1.getId();
- // Set<String> keys = redisUtil.keys(key + "*");
- // if(CollectionUtils.isEmpty(keys)){
- // redisUtil.add(key + ipAddr, user1, RedisPreEnum.JWT_TOKEN_PRE.getExpired());
- // } else {
- // //请空之前的key
- // for (String k : keys) {
- // redisUtil.delete(k);
- // }
- // //重新设置key
- // redisUtil.add(key + ipAddr, user1, RedisPreEnum.JWT_TOKEN_PRE.getExpired());
- // }
- // redisUtil.delete("verifyCode" + ipAddr);//删除指定ip的code
- user1.setToken(token);
- map.put("msg", "200");
- map.put("data", user1);
- return map;
- }
- } catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- @Override
- public Map<String, Object> getAllUser(User user) {
- Map<String, Object> map = new HashMap<>();
- try{
- PageHelper.startPage(user.getPage(), user.getLimit());
- // List<User> list = new ArrayList<>();
- // for(User user1 : userMapper.getAllUser(user)) {
- // user1.setPassword(DesDecry.decrypt(user1.getPassword()));
- // list.add(user1);
- // }
- PageInfo<User> pageInfo = new PageInfo<>(userMapper.getAllUser(user));
- map.put("data", pageInfo);
- map.put("msg", "200");
- } catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Map<String, Object> addUser(User user, HttpServletRequest request) {
- Map<String, Object> map = new HashMap<>();
- try{
- int count = userMapper.getUserIsNot(user);
- if(count > 0){
- map.put("msg", "510");
- map.put("errMsg", "用户名已存在");
- return map;
- }
- user.setPassword(DesEncry.encrypt(user.getPassword()));
- //新增用户
- user.setModifyUser(request.getHeader("userId"));//修改人
- userMapper.addUser(user);
- user.setCode(codeGenerate(user.getId() + ""));
- //修改用户编号
- userMapper.updateUser(user);
- map.put("msg", "200");
- } catch (Exception e) {
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Map<String, Object> delUser(String id) {
- Map<String, Object> map = new HashMap<>();
- try{
- userMapper.delUser(id);
- map.put("msg", "200");
- } catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Map<String, Object> updateUser(User user, HttpServletRequest request) {
- Map<String, Object> map = new HashMap<>();
- try{
- int count = userMapper.getUserIsNot(user);
- if(count > 0){
- map.put("msg", "510");
- map.put("errMsg", "用户名已存在");
- return map;
- }
- user.setPassword(DesEncry.encrypt(user.getPassword()));
- user.setModifyUser(request.getHeader("userId"));
- userMapper.updateUser(user);
- map.put("msg", "200");
- } catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- @Override
- public void userExport(User user, HttpServletResponse response) {
- try{
- //导出数据汇总
- List<List<Object>> sheetDataList = new ArrayList<>();
- //表头数据
- List<Object> head = Arrays.asList("用户编号", "用户名", "真实姓名","邮箱","电话", "手机", "部门", "角色");
- //查询数据
- PageHelper.startPage(1, 10);
- List<Map<String, Object>> list = userMapper.getUserExportData(user);
- sheetDataList.add(head);
- for(Map<String, Object> userMap : list){
- List<Object> listSheet = new ArrayList<>();
- for(String key: userMap.keySet()){
- listSheet.add(userMap.get(key));
- }
- sheetDataList.add(listSheet);
- }
- //当前时间
- Date time = new Date();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMddHHmmss");
- ExcelUtils.export(response, "用户数据导出" + sdf.format(time), sheetDataList);
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Map<String, Object> resetPassword(User user) {
- Map<String, Object> map = new HashMap<>();
- try{
- user.setPassword(DesEncry.encrypt("123456"));
- userMapper.updateUser(user);
- map.put("msg", "200");
- } catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Map<String, Object> updatePassword(User user) {
- Map<String, Object> map = new HashMap<>();
- try{
- User user1 = userMapper.getUser(user);
- if(!user.getPassword().equals(DesDecry.decrypt(user1.getPassword()))){
- map.put("msg", "500");
- map.put("errMsg", "密码错误");
- return map;
- }
- user.setPassword(DesEncry.encrypt(user.getNewPassword()));
- userMapper.updateUser(user);
- map.put("msg", "200");
- } catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- /**
- * 用户编号规则
- * @param id 参数
- * @return 返回结果
- */
- public String codeGenerate(String id){
- StringBuilder stringBuilder = new StringBuilder("YH");
- for(int i = 0; i < 6 - id.length(); i++){
- stringBuilder.append("0");
- }
- stringBuilder.append(id);
- return stringBuilder.toString();
- }
- }
|